mirror of
https://github.com/getpaseo/paseo.git
synced 2026-11-11 02:46:29 +00:00
* feat(chat): fork assistant turns into new drafts Builds chat-history attachments on the daemon and routes them into draft composers so users can continue an assistant turn in an existing workspace tab or New Workspace. * fix(chat): clean up fork draft handling * fix(chat): address fork draft review feedback * fix(server): build fork context from bounded timeline * fix(app): restore assistant turn footer in streams * fix(app): preserve fork draft setup * fix(app): tighten assistant fork footers * fix(app): lock active fork draft handoff * fix(app): preserve attachment-only draft retries * fix(app): unify composer attachment scopes * fix(app): align chat history attachment labels * fix(app): centralize attachment pill content * fix(app): trim fork context for workspace naming
39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
import { useLocalSearchParams } from "expo-router";
|
|
import { HostRouteBootstrapBoundary } from "@/components/host-route-bootstrap-boundary";
|
|
import { NewWorkspaceScreen } from "@/screens/new-workspace-screen";
|
|
|
|
export default function NewWorkspaceRoute() {
|
|
const params = useLocalSearchParams<{
|
|
serverId?: string;
|
|
dir?: string;
|
|
name?: string;
|
|
projectId?: string;
|
|
draftId?: string;
|
|
}>();
|
|
const serverId = typeof params.serverId === "string" ? params.serverId : "";
|
|
const sourceDirectory = typeof params.dir === "string" ? params.dir : undefined;
|
|
const displayName = typeof params.name === "string" ? params.name : undefined;
|
|
const projectId = typeof params.projectId === "string" ? params.projectId : undefined;
|
|
const draftId = typeof params.draftId === "string" ? params.draftId : undefined;
|
|
const screenKey = JSON.stringify([
|
|
serverId,
|
|
sourceDirectory ?? null,
|
|
displayName ?? null,
|
|
projectId ?? null,
|
|
draftId ?? null,
|
|
]);
|
|
|
|
return (
|
|
<HostRouteBootstrapBoundary>
|
|
<NewWorkspaceScreen
|
|
key={screenKey}
|
|
serverId={serverId}
|
|
sourceDirectory={sourceDirectory}
|
|
displayName={displayName}
|
|
projectId={projectId}
|
|
draftId={draftId}
|
|
/>
|
|
</HostRouteBootstrapBoundary>
|
|
);
|
|
}
|