create-interview-cockpit 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/template/client/package-lock.json +734 -1
- package/template/client/package.json +1 -0
- package/template/client/src/App.tsx +3 -0
- package/template/client/src/api.ts +321 -4
- package/template/client/src/components/AiSettingsModal.tsx +818 -425
- package/template/client/src/components/ChatMessage.tsx +34 -12
- package/template/client/src/components/ChatView.tsx +298 -121
- package/template/client/src/components/CodeContextPanel.tsx +419 -2
- package/template/client/src/components/CodeRunnerModal.tsx +1601 -120
- package/template/client/src/components/DocRefModal.tsx +55 -6
- package/template/client/src/components/FileAttachments.tsx +20 -4
- package/template/client/src/components/InfraLabModal.tsx +1706 -0
- package/template/client/src/components/LinkedConvosPicker.tsx +128 -0
- package/template/client/src/components/MarkdownRenderer.tsx +22 -8
- package/template/client/src/components/NotesModal.tsx +977 -0
- package/template/client/src/components/PlotEmbed.tsx +173 -0
- package/template/client/src/components/Sidebar.tsx +184 -0
- package/template/client/src/components/VizCraftEmbed.tsx +257 -13
- package/template/client/src/components/WorkspaceSwitcher.tsx +4 -0
- package/template/client/src/infraLab.ts +124 -0
- package/template/client/src/reactLab.ts +477 -0
- package/template/client/src/store.ts +219 -6
- package/template/client/src/types.ts +35 -3
- package/template/client/tsconfig.tsbuildinfo +1 -1
- package/template/server/src/google-drive.ts +37 -3
- package/template/server/src/index.ts +693 -52
- package/template/server/src/infra-runner.ts +1104 -0
- package/template/server/src/storage.ts +13 -3
|
@@ -45,6 +45,8 @@ export interface Topic {
|
|
|
45
45
|
id: string;
|
|
46
46
|
name: string;
|
|
47
47
|
contextFiles: ContextFile[];
|
|
48
|
+
/** Topic-wide system prompt prepended to every question's context in this topic. */
|
|
49
|
+
systemContext?: string;
|
|
48
50
|
createdAt: string;
|
|
49
51
|
}
|
|
50
52
|
|
|
@@ -56,8 +58,11 @@ export interface ContextFile {
|
|
|
56
58
|
createdAt: string;
|
|
57
59
|
/** Distinguishes how this file was added. 'upload' = user-uploaded doc,
|
|
58
60
|
* 'user' = code saved from Code Runner, 'ai' = AI-generated code block,
|
|
59
|
-
* 'sandbox' = paired server+client sandbox saved as JSON
|
|
60
|
-
|
|
61
|
+
* 'sandbox' = paired server+client sandbox saved as JSON,
|
|
62
|
+
* 'infra' = Terraform-style infra lab workspace saved as JSON,
|
|
63
|
+
* 'react' = React + TypeScript lab workspace,
|
|
64
|
+
* 'nextjs' = Next.js App Router lab workspace. */
|
|
65
|
+
origin?: "user" | "ai" | "upload" | "sandbox" | "infra" | "react" | "nextjs";
|
|
61
66
|
/** Language hint for code snippets (e.g. 'typescript', 'javascript'). */
|
|
62
67
|
language?: string;
|
|
63
68
|
/** Short display label for code snippets. */
|
|
@@ -107,7 +112,7 @@ export interface StoredCodeAnnotation {
|
|
|
107
112
|
export interface Question {
|
|
108
113
|
id: string;
|
|
109
114
|
topicId: string;
|
|
110
|
-
parentQuestionId?: string;
|
|
115
|
+
parentQuestionId?: string | null;
|
|
111
116
|
title: string;
|
|
112
117
|
systemContext: string;
|
|
113
118
|
codeContextFiles: string[];
|
|
@@ -117,6 +122,8 @@ export interface Question {
|
|
|
117
122
|
readingBookmark?: ReadingBookmark;
|
|
118
123
|
/** Code-line annotations keyed by file path. */
|
|
119
124
|
codeAnnotations?: { [filePath: string]: StoredCodeAnnotation[] };
|
|
125
|
+
/** IDs of sibling questions whose conversation history is injected as context. */
|
|
126
|
+
linkedConversationIds?: string[];
|
|
120
127
|
createdAt: string;
|
|
121
128
|
}
|
|
122
129
|
|
|
@@ -883,6 +890,8 @@ export interface AiSettings {
|
|
|
883
890
|
responseProfiles: Record<string, ResponseProfile>;
|
|
884
891
|
/** Full viz diagram spec reference — returned by the getVizGuide tool. */
|
|
885
892
|
vizGuide: string;
|
|
893
|
+
/** Full plotting spec reference — returned by the getPlotGuide tool. */
|
|
894
|
+
plotGuide: string;
|
|
886
895
|
/** All user-selectable prompt groups. Add new entries here to extend the UI. */
|
|
887
896
|
promptGroups: Record<string, PromptGroup>;
|
|
888
897
|
/** Gemini thinking budget in tokens. 0 = disabled. Only applies to Google models. */
|
|
@@ -900,6 +909,7 @@ const DEFAULT_AI_SETTINGS: AiSettings = {
|
|
|
900
909
|
normal: { maxOutputTokens: 3000, maxSteps: 5 },
|
|
901
910
|
},
|
|
902
911
|
vizGuide: "No viz guide configured.",
|
|
912
|
+
plotGuide: "No plot guide configured.",
|
|
903
913
|
promptGroups: {
|
|
904
914
|
length: {
|
|
905
915
|
label: "Response Length",
|