sourceloop 0.1.1

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.
Files changed (173) hide show
  1. package/README.md +401 -0
  2. package/dist/commands/attach.d.ts +2 -0
  3. package/dist/commands/attach.js +103 -0
  4. package/dist/commands/attach.js.map +1 -0
  5. package/dist/commands/auth.d.ts +2 -0
  6. package/dist/commands/auth.js +33 -0
  7. package/dist/commands/auth.js.map +1 -0
  8. package/dist/commands/chrome.d.ts +2 -0
  9. package/dist/commands/chrome.js +30 -0
  10. package/dist/commands/chrome.js.map +1 -0
  11. package/dist/commands/compose.d.ts +2 -0
  12. package/dist/commands/compose.js +14 -0
  13. package/dist/commands/compose.js.map +1 -0
  14. package/dist/commands/doctor.d.ts +2 -0
  15. package/dist/commands/doctor.js +15 -0
  16. package/dist/commands/doctor.js.map +1 -0
  17. package/dist/commands/import-latest.d.ts +2 -0
  18. package/dist/commands/import-latest.js +42 -0
  19. package/dist/commands/import-latest.js.map +1 -0
  20. package/dist/commands/ingest.d.ts +2 -0
  21. package/dist/commands/ingest.js +14 -0
  22. package/dist/commands/ingest.js.map +1 -0
  23. package/dist/commands/init.d.ts +2 -0
  24. package/dist/commands/init.js +24 -0
  25. package/dist/commands/init.js.map +1 -0
  26. package/dist/commands/notebook-bind.d.ts +2 -0
  27. package/dist/commands/notebook-bind.js +39 -0
  28. package/dist/commands/notebook-bind.js.map +1 -0
  29. package/dist/commands/notebook-create.d.ts +2 -0
  30. package/dist/commands/notebook-create.js +39 -0
  31. package/dist/commands/notebook-create.js.map +1 -0
  32. package/dist/commands/notebook-import.d.ts +2 -0
  33. package/dist/commands/notebook-import.js +39 -0
  34. package/dist/commands/notebook-import.js.map +1 -0
  35. package/dist/commands/notebook-source.d.ts +2 -0
  36. package/dist/commands/notebook-source.js +71 -0
  37. package/dist/commands/notebook-source.js.map +1 -0
  38. package/dist/commands/plan.d.ts +9 -0
  39. package/dist/commands/plan.js +59 -0
  40. package/dist/commands/plan.js.map +1 -0
  41. package/dist/commands/run.d.ts +2 -0
  42. package/dist/commands/run.js +76 -0
  43. package/dist/commands/run.js.map +1 -0
  44. package/dist/commands/status.d.ts +2 -0
  45. package/dist/commands/status.js +15 -0
  46. package/dist/commands/status.js.map +1 -0
  47. package/dist/commands/topic.d.ts +2 -0
  48. package/dist/commands/topic.js +53 -0
  49. package/dist/commands/topic.js.map +1 -0
  50. package/dist/core/attach/launch-managed-chrome.d.ts +27 -0
  51. package/dist/core/attach/launch-managed-chrome.js +136 -0
  52. package/dist/core/attach/launch-managed-chrome.js.map +1 -0
  53. package/dist/core/attach/manage-targets.d.ts +49 -0
  54. package/dist/core/attach/manage-targets.js +179 -0
  55. package/dist/core/attach/manage-targets.js.map +1 -0
  56. package/dist/core/ingest/frontmatter.d.ts +4 -0
  57. package/dist/core/ingest/frontmatter.js +30 -0
  58. package/dist/core/ingest/frontmatter.js.map +1 -0
  59. package/dist/core/ingest/html-to-markdown.d.ts +5 -0
  60. package/dist/core/ingest/html-to-markdown.js +53 -0
  61. package/dist/core/ingest/html-to-markdown.js.map +1 -0
  62. package/dist/core/ingest/ingest-source.d.ts +11 -0
  63. package/dist/core/ingest/ingest-source.js +115 -0
  64. package/dist/core/ingest/ingest-source.js.map +1 -0
  65. package/dist/core/notebooklm/adapter.d.ts +17 -0
  66. package/dist/core/notebooklm/adapter.js +2 -0
  67. package/dist/core/notebooklm/adapter.js.map +1 -0
  68. package/dist/core/notebooklm/auth.d.ts +30 -0
  69. package/dist/core/notebooklm/auth.js +105 -0
  70. package/dist/core/notebooklm/auth.js.map +1 -0
  71. package/dist/core/notebooklm/browser-agent-adapter.d.ts +21 -0
  72. package/dist/core/notebooklm/browser-agent-adapter.js +37 -0
  73. package/dist/core/notebooklm/browser-agent-adapter.js.map +1 -0
  74. package/dist/core/notebooklm/browser-agent.d.ts +121 -0
  75. package/dist/core/notebooklm/browser-agent.js +1604 -0
  76. package/dist/core/notebooklm/browser-agent.js.map +1 -0
  77. package/dist/core/notebooklm/config.d.ts +20 -0
  78. package/dist/core/notebooklm/config.js +133 -0
  79. package/dist/core/notebooklm/config.js.map +1 -0
  80. package/dist/core/notebooklm/fixture-adapter.d.ts +13 -0
  81. package/dist/core/notebooklm/fixture-adapter.js +32 -0
  82. package/dist/core/notebooklm/fixture-adapter.js.map +1 -0
  83. package/dist/core/notebooklm/response-extraction.d.ts +23 -0
  84. package/dist/core/notebooklm/response-extraction.js +348 -0
  85. package/dist/core/notebooklm/response-extraction.js.map +1 -0
  86. package/dist/core/notebooks/bind-notebook.d.ts +21 -0
  87. package/dist/core/notebooks/bind-notebook.js +95 -0
  88. package/dist/core/notebooks/bind-notebook.js.map +1 -0
  89. package/dist/core/notebooks/manage-managed-notebooks.d.ts +70 -0
  90. package/dist/core/notebooks/manage-managed-notebooks.js +491 -0
  91. package/dist/core/notebooks/manage-managed-notebooks.js.map +1 -0
  92. package/dist/core/notebooks/manage-notebook-source-manifests.d.ts +25 -0
  93. package/dist/core/notebooks/manage-notebook-source-manifests.js +127 -0
  94. package/dist/core/notebooks/manage-notebook-source-manifests.js.map +1 -0
  95. package/dist/core/operator/workspace-operator.d.ts +82 -0
  96. package/dist/core/operator/workspace-operator.js +610 -0
  97. package/dist/core/operator/workspace-operator.js.map +1 -0
  98. package/dist/core/outputs/compose-run.d.ts +11 -0
  99. package/dist/core/outputs/compose-run.js +98 -0
  100. package/dist/core/outputs/compose-run.js.map +1 -0
  101. package/dist/core/runs/load-artifacts.d.ts +14 -0
  102. package/dist/core/runs/load-artifacts.js +51 -0
  103. package/dist/core/runs/load-artifacts.js.map +1 -0
  104. package/dist/core/runs/question-planner.d.ts +20 -0
  105. package/dist/core/runs/question-planner.js +276 -0
  106. package/dist/core/runs/question-planner.js.map +1 -0
  107. package/dist/core/runs/render-run-note.d.ts +13 -0
  108. package/dist/core/runs/render-run-note.js +111 -0
  109. package/dist/core/runs/render-run-note.js.map +1 -0
  110. package/dist/core/runs/run-qa.d.ts +28 -0
  111. package/dist/core/runs/run-qa.js +393 -0
  112. package/dist/core/runs/run-qa.js.map +1 -0
  113. package/dist/core/topics/manage-topics.d.ts +27 -0
  114. package/dist/core/topics/manage-topics.js +314 -0
  115. package/dist/core/topics/manage-topics.js.map +1 -0
  116. package/dist/core/vault/notes.d.ts +29 -0
  117. package/dist/core/vault/notes.js +147 -0
  118. package/dist/core/vault/notes.js.map +1 -0
  119. package/dist/core/vault/paths.d.ts +31 -0
  120. package/dist/core/vault/paths.js +44 -0
  121. package/dist/core/vault/paths.js.map +1 -0
  122. package/dist/core/workspace/bootstrap.d.ts +16 -0
  123. package/dist/core/workspace/bootstrap.js +443 -0
  124. package/dist/core/workspace/bootstrap.js.map +1 -0
  125. package/dist/core/workspace/constants.d.ts +3 -0
  126. package/dist/core/workspace/constants.js +16 -0
  127. package/dist/core/workspace/constants.js.map +1 -0
  128. package/dist/core/workspace/init-workspace.d.ts +15 -0
  129. package/dist/core/workspace/init-workspace.js +86 -0
  130. package/dist/core/workspace/init-workspace.js.map +1 -0
  131. package/dist/core/workspace/load-workspace.d.ts +6 -0
  132. package/dist/core/workspace/load-workspace.js +51 -0
  133. package/dist/core/workspace/load-workspace.js.map +1 -0
  134. package/dist/core/workspace/schema.d.ts +19 -0
  135. package/dist/core/workspace/schema.js +19 -0
  136. package/dist/core/workspace/schema.js.map +1 -0
  137. package/dist/index.d.ts +2 -0
  138. package/dist/index.js +41 -0
  139. package/dist/index.js.map +1 -0
  140. package/dist/lib/cli-output.d.ts +2 -0
  141. package/dist/lib/cli-output.js +7 -0
  142. package/dist/lib/cli-output.js.map +1 -0
  143. package/dist/lib/obsidian.d.ts +4 -0
  144. package/dist/lib/obsidian.js +23 -0
  145. package/dist/lib/obsidian.js.map +1 -0
  146. package/dist/lib/slugify.d.ts +1 -0
  147. package/dist/lib/slugify.js +10 -0
  148. package/dist/lib/slugify.js.map +1 -0
  149. package/dist/lib/write-json.d.ts +1 -0
  150. package/dist/lib/write-json.js +5 -0
  151. package/dist/lib/write-json.js.map +1 -0
  152. package/dist/schemas/attach.d.ts +118 -0
  153. package/dist/schemas/attach.js +33 -0
  154. package/dist/schemas/attach.js.map +1 -0
  155. package/dist/schemas/managed-notebook.d.ts +47 -0
  156. package/dist/schemas/managed-notebook.js +30 -0
  157. package/dist/schemas/managed-notebook.js.map +1 -0
  158. package/dist/schemas/notebook-source.d.ts +31 -0
  159. package/dist/schemas/notebook-source.js +23 -0
  160. package/dist/schemas/notebook-source.js.map +1 -0
  161. package/dist/schemas/notebook.d.ts +26 -0
  162. package/dist/schemas/notebook.js +18 -0
  163. package/dist/schemas/notebook.js.map +1 -0
  164. package/dist/schemas/run.d.ts +169 -0
  165. package/dist/schemas/run.js +80 -0
  166. package/dist/schemas/run.js.map +1 -0
  167. package/dist/schemas/source.d.ts +18 -0
  168. package/dist/schemas/source.js +13 -0
  169. package/dist/schemas/source.js.map +1 -0
  170. package/dist/schemas/topic.d.ts +37 -0
  171. package/dist/schemas/topic.js +25 -0
  172. package/dist/schemas/topic.js.map +1 -0
  173. package/package.json +44 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-operator.js","sourceRoot":"","sources":["../../../src/core/operator/workspace-operator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type OutputArtifact } from "../../schemas/run.js";
2
+ export type ComposeRunInput = {
3
+ runId: string;
4
+ format: "brief" | "outline";
5
+ cwd?: string;
6
+ };
7
+ export type ComposeRunResult = {
8
+ artifact: OutputArtifact;
9
+ markdownPath: string;
10
+ };
11
+ export declare function composeRun(input: ComposeRunInput): Promise<ComposeRunResult>;
@@ -0,0 +1,98 @@
1
+ import { mkdir, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { loadNotebookBinding, loadQuestionBatch, loadRunExchanges } from "../runs/load-artifacts.js";
4
+ import { buildRunIndexMarkdown } from "../runs/render-run-note.js";
5
+ import { getRunPaths } from "../vault/paths.js";
6
+ import { loadWorkspace } from "../workspace/load-workspace.js";
7
+ import { outputArtifactSchema, runIndexSchema } from "../../schemas/run.js";
8
+ import { toFrontmatterMarkdown } from "../ingest/frontmatter.js";
9
+ import { writeJsonFile } from "../../lib/write-json.js";
10
+ import { refreshTopicArtifacts } from "../topics/manage-topics.js";
11
+ import { loadChromeAttachTarget } from "../attach/manage-targets.js";
12
+ import { makeAliases, makeTags, normalizeObsidianText } from "../../lib/obsidian.js";
13
+ import { getExchangeNoteFromArtifact, getOutputNote, getQuestionsNote, getRunIndexNote, getTopicIndexNote, toWikiLink } from "../vault/notes.js";
14
+ export async function composeRun(input) {
15
+ const workspace = await loadWorkspace(input.cwd);
16
+ const { run, batch } = await loadQuestionBatch(input.runId, input.cwd);
17
+ const { binding } = await loadNotebookBinding(run.notebookBindingId, input.cwd);
18
+ const archivedExchanges = await loadRunExchanges(input.runId, input.cwd);
19
+ const exchanges = batch.questions
20
+ .map((question) => archivedExchanges.find((exchange) => exchange.questionId === question.id))
21
+ .filter((exchange) => Boolean(exchange));
22
+ if (exchanges.length === 0) {
23
+ throw new Error(`Run ${input.runId} has no archived exchanges to compose.`);
24
+ }
25
+ const runPaths = getRunPaths(workspace, input.runId);
26
+ await mkdir(runPaths.outputsDir, { recursive: true });
27
+ const artifact = outputArtifactSchema.parse({
28
+ id: `${run.id}-${input.format}`,
29
+ type: "output_artifact",
30
+ runId: run.id,
31
+ topicId: run.topicId,
32
+ format: input.format,
33
+ createdAt: new Date().toISOString(),
34
+ supportingExchangeIds: exchanges.map((exchange) => exchange.id)
35
+ });
36
+ const outputNote = getOutputNote(workspace, run, batch.topic, artifact);
37
+ const markdownPath = outputNote.absolutePath;
38
+ const jsonPath = path.join(runPaths.outputsDir, `${input.format}.json`);
39
+ await writeFile(markdownPath, buildOutputMarkdown(workspace, run, batch, artifact, exchanges), "utf8");
40
+ await writeJsonFile(jsonPath, artifact);
41
+ await updateRunOutputs(workspace, runPaths.indexJsonPath, run, batch, binding, artifact.id);
42
+ if (run.topicId) {
43
+ await refreshTopicArtifacts(run.topicId, input.cwd);
44
+ }
45
+ return { artifact, markdownPath };
46
+ }
47
+ async function updateRunOutputs(workspace, indexJsonPath, run, batch, binding, artifactId) {
48
+ const nextRun = runIndexSchema.parse({
49
+ ...run,
50
+ updatedAt: new Date().toISOString(),
51
+ outputArtifacts: [...new Set([...run.outputArtifacts, artifactId])]
52
+ });
53
+ await writeJsonFile(indexJsonPath, nextRun);
54
+ const runNote = getRunIndexNote(workspace, nextRun);
55
+ const attachTarget = nextRun.attachedChromeTargetId || binding.attachTargetId
56
+ ? (await loadChromeAttachTarget(nextRun.attachedChromeTargetId ?? binding.attachTargetId ?? "", workspace.rootDir).catch(() => undefined))?.target
57
+ : undefined;
58
+ await writeFile(runNote.absolutePath, buildRunIndexMarkdown({
59
+ workspace,
60
+ run: nextRun,
61
+ batch,
62
+ binding,
63
+ ...(attachTarget ? { attachTarget } : {})
64
+ }), "utf8");
65
+ }
66
+ function buildOutputMarkdown(workspace, run, batch, artifact, exchanges) {
67
+ const topicTitle = normalizeObsidianText(batch.topic, artifact.id);
68
+ const sections = exchanges.map((exchange) => artifact.format === "brief"
69
+ ? `## ${normalizeObsidianText(exchange.question, exchange.questionId)}\n\n### Summary\n${exchange.answer}\n\n### Support\n- ${toWikiLink(workspace, getExchangeNoteFromArtifact(workspace, exchange).absolutePath, getExchangeNoteFromArtifact(workspace, exchange).title)}`
70
+ : `## ${normalizeObsidianText(exchange.question, exchange.questionId)}\n\n- Key Answer: ${exchange.answer}\n- Evidence: ${toWikiLink(workspace, getExchangeNoteFromArtifact(workspace, exchange).absolutePath, getExchangeNoteFromArtifact(workspace, exchange).title)}`);
71
+ return toFrontmatterMarkdown({
72
+ type: "output",
73
+ title: getOutputNote(workspace, run, batch.topic, artifact).title,
74
+ aliases: makeAliases(artifact.id),
75
+ tags: makeTags("sourceloop", "research", "output", artifact.format),
76
+ format: artifact.format,
77
+ ...(artifact.topicId ? { topic: topicTitle } : {}),
78
+ created: artifact.createdAt,
79
+ updated: artifact.createdAt
80
+ }, `# ${artifact.format === "brief" ? "Brief" : "Outline"}: ${topicTitle}
81
+
82
+ ## Traceability
83
+ - Topic: ${artifact.topicId
84
+ ? toWikiLink(workspace, getTopicIndexNote(workspace, {
85
+ id: artifact.topicId,
86
+ type: "research_topic",
87
+ name: batch.topic,
88
+ status: "initialized",
89
+ createdAt: artifact.createdAt,
90
+ updatedAt: artifact.createdAt
91
+ }).absolutePath, topicTitle)
92
+ : "none"}
93
+ - Run: ${toWikiLink(workspace, getRunIndexNote(workspace, run).absolutePath, "Run")}
94
+ - Questions: ${toWikiLink(workspace, getQuestionsNote(workspace, batch).absolutePath, `${topicTitle} Questions`)}
95
+
96
+ ${sections.join("\n\n")}`);
97
+ }
98
+ //# sourceMappingURL=compose-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-run.js","sourceRoot":"","sources":["../../../src/core/outputs/compose-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { loadWorkspace } from "../workspace/load-workspace.js";
2
+ import { type NotebookBinding } from "../../schemas/notebook.js";
3
+ import { type QAExchange, type QARunIndex, type QuestionBatch } from "../../schemas/run.js";
4
+ export declare function loadNotebookBinding(bindingId: string, cwd?: string): Promise<{
5
+ workspace: Awaited<ReturnType<typeof loadWorkspace>>;
6
+ binding: NotebookBinding;
7
+ path: string;
8
+ }>;
9
+ export declare function loadQuestionBatch(runId: string, cwd?: string): Promise<{
10
+ workspace: Awaited<ReturnType<typeof loadWorkspace>>;
11
+ batch: QuestionBatch;
12
+ run: QARunIndex;
13
+ }>;
14
+ export declare function loadRunExchanges(runId: string, cwd?: string): Promise<QAExchange[]>;
@@ -0,0 +1,51 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { loadWorkspace } from "../workspace/load-workspace.js";
4
+ import { notebookBindingSchema } from "../../schemas/notebook.js";
5
+ import { questionBatchSchema, qaExchangeSchema, runIndexSchema } from "../../schemas/run.js";
6
+ import { getRunPaths, getVaultPaths } from "../vault/paths.js";
7
+ export async function loadNotebookBinding(bindingId, cwd) {
8
+ const workspace = await loadWorkspace(cwd);
9
+ const vault = getVaultPaths(workspace);
10
+ const bindingPath = path.join(vault.notebooksDir, `${bindingId}.json`);
11
+ const bindingRaw = await readFile(bindingPath, "utf8");
12
+ const binding = notebookBindingSchema.parse(JSON.parse(bindingRaw));
13
+ return { workspace, binding, path: bindingPath };
14
+ }
15
+ export async function loadQuestionBatch(runId, cwd) {
16
+ const workspace = await loadWorkspace(cwd);
17
+ const runPaths = getRunPaths(workspace, runId);
18
+ const [batchRaw, runRaw] = await Promise.all([
19
+ readFile(runPaths.questionsJsonPath, "utf8"),
20
+ readFile(runPaths.indexJsonPath, "utf8")
21
+ ]);
22
+ return {
23
+ workspace,
24
+ batch: questionBatchSchema.parse(JSON.parse(batchRaw)),
25
+ run: runIndexSchema.parse(JSON.parse(runRaw))
26
+ };
27
+ }
28
+ export async function loadRunExchanges(runId, cwd) {
29
+ const workspace = await loadWorkspace(cwd);
30
+ const runPaths = getRunPaths(workspace, runId);
31
+ try {
32
+ const files = await readDirJsonFiles(runPaths.exchangesDir);
33
+ const records = await Promise.all(files.map((filePath) => readFile(filePath, "utf8")));
34
+ return records.map((record) => qaExchangeSchema.parse(JSON.parse(record)));
35
+ }
36
+ catch (error) {
37
+ if (isMissingDirectoryError(error)) {
38
+ return [];
39
+ }
40
+ throw error;
41
+ }
42
+ }
43
+ async function readDirJsonFiles(directory) {
44
+ const { readdir } = await import("node:fs/promises");
45
+ const entries = await readdir(directory);
46
+ return entries.filter((entry) => entry.endsWith(".json")).map((entry) => path.join(directory, entry));
47
+ }
48
+ function isMissingDirectoryError(error) {
49
+ return Boolean(error && typeof error === "object" && "code" in error && error.code === "ENOENT");
50
+ }
51
+ //# sourceMappingURL=load-artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-artifacts.js","sourceRoot":"","sources":["../../../src/core/runs/load-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAwB,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAwD,MAAM,sBAAsB,CAAC;AACnJ,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,GAAY;IAEZ,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEpE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,GAAY;IAEZ,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC3C,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KACzC,CAAC,CAAC;IAEH,OAAO;QACL,SAAS;QACT,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,GAAY;IAChE,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACvF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;AACxG,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;AACnG,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { type PlannedQuestion, type PlanningScope, type QARunIndex, type QuestionBatch } from "../../schemas/run.js";
2
+ export type CreateQuestionPlanInput = {
3
+ topic?: string;
4
+ topicId?: string;
5
+ notebookBindingId?: string;
6
+ objective?: string;
7
+ maxQuestions?: number;
8
+ families?: string[];
9
+ cwd?: string;
10
+ };
11
+ export type CreateQuestionPlanResult = {
12
+ run: QARunIndex;
13
+ batch: QuestionBatch;
14
+ runDir: string;
15
+ runMarkdownPath: string;
16
+ questionsMarkdownPath: string;
17
+ };
18
+ export declare const DEFAULT_MAX_QUESTIONS = 10;
19
+ export declare function createQuestionPlan(input: CreateQuestionPlanInput): Promise<CreateQuestionPlanResult>;
20
+ export declare function buildPlannedQuestions(topic: string, objective: string, intendedOutput?: string, planningScope?: PlanningScope): PlannedQuestion[];
@@ -0,0 +1,276 @@
1
+ import { mkdir, writeFile } from "node:fs/promises";
2
+ import { randomUUID } from "node:crypto";
3
+ import { loadWorkspace } from "../workspace/load-workspace.js";
4
+ import { getRunPaths } from "../vault/paths.js";
5
+ import { questionBatchSchema, questionKindSchema, runIndexSchema } from "../../schemas/run.js";
6
+ import { toFrontmatterMarkdown } from "../ingest/frontmatter.js";
7
+ import { writeJsonFile } from "../../lib/write-json.js";
8
+ import { slugify } from "../../lib/slugify.js";
9
+ import { loadNotebookBinding } from "./load-artifacts.js";
10
+ import { listNotebookSourceManifests } from "../notebooks/manage-notebook-source-manifests.js";
11
+ import { listManagedNotebookImports } from "../notebooks/manage-managed-notebooks.js";
12
+ import { loadTopic, refreshTopicArtifacts } from "../topics/manage-topics.js";
13
+ import { loadChromeAttachTarget } from "../attach/manage-targets.js";
14
+ import { getVaultPaths } from "../vault/paths.js";
15
+ import path from "node:path";
16
+ import { readFile, readdir } from "node:fs/promises";
17
+ import { notebookBindingSchema } from "../../schemas/notebook.js";
18
+ import { makeAliases, makeTags, normalizeObsidianText, summarizeQuestionTitle } from "../../lib/obsidian.js";
19
+ import { getExchangeNote, getNotebookNote, getQuestionsNote, getRunIndexNote, getTopicIndexNote, toWikiLink } from "../vault/notes.js";
20
+ import { buildRunIndexMarkdown } from "./render-run-note.js";
21
+ export const DEFAULT_MAX_QUESTIONS = 10;
22
+ export async function createQuestionPlan(input) {
23
+ const workspace = await loadWorkspace(input.cwd);
24
+ const topicRecord = input.topicId ? await loadTopic(input.topicId, input.cwd) : undefined;
25
+ const notebookBindingId = input.notebookBindingId ??
26
+ (input.topicId ? await resolveNotebookBindingIdForTopic(workspace.rootDir, input.topicId) : undefined);
27
+ if (!notebookBindingId) {
28
+ throw new Error("Question planning requires a notebook binding. For the preferred flow, create a topic-bound notebook and plan by topic id.");
29
+ }
30
+ const { binding } = await loadNotebookBinding(notebookBindingId, input.cwd);
31
+ if (topicRecord) {
32
+ await preflightTopicPlanningContext(topicRecord.corpus, binding, input.cwd);
33
+ }
34
+ const timestamp = new Date();
35
+ const createdAt = timestamp.toISOString();
36
+ const topicName = normalizeObsidianText(topicRecord?.topic.name ?? input.topic ?? binding.topic);
37
+ const objective = input.objective ??
38
+ topicRecord?.topic.goal ??
39
+ `Research ${topicName} through a planned NotebookLM Q&A run.`;
40
+ const intendedOutput = topicRecord?.topic.intendedOutput;
41
+ const planningScope = normalizePlanningScope(input.maxQuestions, input.families);
42
+ const questions = buildPlannedQuestions(topicName, objective, intendedOutput, planningScope);
43
+ const questionFamilies = [...new Set(questions.map((question) => question.kind))];
44
+ const runId = buildRunId(topicName, timestamp);
45
+ const batch = questionBatchSchema.parse({
46
+ id: `batch-${runId}`,
47
+ type: "question_batch",
48
+ topic: topicName,
49
+ topicId: topicRecord?.topic.id,
50
+ notebookBindingId,
51
+ objective,
52
+ intendedOutput,
53
+ questionFamilies,
54
+ ...(planningScope ? { planningScope } : {}),
55
+ createdAt,
56
+ questions
57
+ });
58
+ const run = runIndexSchema.parse({
59
+ id: runId,
60
+ type: "qa_run",
61
+ topic: topicName,
62
+ topicId: topicRecord?.topic.id,
63
+ notebookBindingId,
64
+ questionBatchId: batch.id,
65
+ status: "planned",
66
+ ...(planningScope ? { planningScope } : {}),
67
+ createdAt,
68
+ updatedAt: createdAt,
69
+ completedQuestionIds: [],
70
+ outputArtifacts: []
71
+ });
72
+ const runPaths = getRunPaths(workspace, run.id);
73
+ const runNote = getRunIndexNote(workspace, run);
74
+ const questionsNote = getQuestionsNote(workspace, batch);
75
+ const attachTarget = binding.attachTargetId
76
+ ? (await loadChromeAttachTarget(binding.attachTargetId, input.cwd).catch(() => undefined))?.target
77
+ : undefined;
78
+ await mkdir(runPaths.exchangesDir, { recursive: true });
79
+ await mkdir(runPaths.outputsDir, { recursive: true });
80
+ await writeJsonFile(runPaths.indexJsonPath, run);
81
+ await writeJsonFile(runPaths.questionsJsonPath, batch);
82
+ await writeFile(runNote.absolutePath, buildRunIndexMarkdown({
83
+ workspace,
84
+ run,
85
+ batch,
86
+ binding,
87
+ ...(attachTarget ? { attachTarget } : {})
88
+ }), "utf8");
89
+ await writeFile(questionsNote.absolutePath, buildQuestionsMarkdown(workspace, batch, binding), "utf8");
90
+ if (topicRecord?.topic.id) {
91
+ await refreshTopicArtifacts(topicRecord.topic.id, input.cwd);
92
+ }
93
+ return {
94
+ run,
95
+ batch,
96
+ runDir: runPaths.runDir,
97
+ runMarkdownPath: runNote.absolutePath,
98
+ questionsMarkdownPath: questionsNote.absolutePath
99
+ };
100
+ }
101
+ async function preflightTopicPlanningContext(corpus, binding, cwd) {
102
+ if (binding.topicId && binding.topicId !== corpus.topicId) {
103
+ throw new Error(`Notebook binding ${binding.id} belongs to ${binding.topicId}, not topic ${corpus.topicId}.`);
104
+ }
105
+ if (!corpus.notebookBindingIds.includes(binding.id)) {
106
+ throw new Error(`Topic ${corpus.topicId} corpus does not include notebook binding ${binding.id}. Refresh or re-bind the notebook.`);
107
+ }
108
+ const notebookSourceManifests = await listNotebookSourceManifests(cwd);
109
+ const matchingNotebookEvidenceCount = notebookSourceManifests.filter((manifest) => corpus.notebookSourceManifestIds.includes(manifest.id) &&
110
+ manifest.notebookBindingId === binding.id).length;
111
+ const managedNotebookImports = await listManagedNotebookImports(cwd);
112
+ const matchingManagedEvidenceCount = managedNotebookImports.filter((managedImport) => corpus.managedNotebookImportIds.includes(managedImport.id) &&
113
+ managedImport.notebookBindingId === binding.id &&
114
+ managedImport.status === "imported").length;
115
+ const evidenceCount = corpus.sourceIds.length + matchingNotebookEvidenceCount + matchingManagedEvidenceCount;
116
+ if (evidenceCount === 0) {
117
+ throw new Error(`Topic ${corpus.topicId} has no declared evidence aligned to notebook binding ${binding.id}. Ingest topic-backed material, declare a notebook-source manifest, or import managed sources for this notebook before planning NotebookLM questions.`);
118
+ }
119
+ }
120
+ function buildRunId(topic, timestamp) {
121
+ const time = timestamp.toISOString().replace(/[:.]/g, "-");
122
+ return `run-${slugify(topic)}-${time}`;
123
+ }
124
+ export function buildPlannedQuestions(topic, objective, intendedOutput, planningScope) {
125
+ const prompts = [
126
+ {
127
+ kind: "core",
128
+ objective: `Identify the core concepts and framing for ${topic}.`,
129
+ prompt: `What are the core concepts, scope boundaries, and important definitions for ${topic}?`
130
+ },
131
+ {
132
+ kind: "structure",
133
+ objective: `Map the structure and major segments inside ${topic}.`,
134
+ prompt: `How is ${topic} structured into major segments, layers, or categories, and how do they relate to each other?`
135
+ },
136
+ {
137
+ kind: "deep_dive",
138
+ objective: `Find the major bottlenecks or constraints for ${topic}.`,
139
+ prompt: `What are the most important bottlenecks, constraints, or failure modes within ${topic}?`
140
+ },
141
+ {
142
+ kind: "deep_dive",
143
+ objective: `Identify structural risks or dependency constraints for ${topic}.`,
144
+ prompt: `What dependencies, hidden assumptions, or structural risks most affect outcomes in ${topic}?`
145
+ },
146
+ {
147
+ kind: "comparison",
148
+ objective: `Compare the major alternatives and trade-offs around ${topic}.`,
149
+ prompt: `What are the key alternatives, trade-offs, or contrasting approaches related to ${topic}?`
150
+ },
151
+ {
152
+ kind: "comparison",
153
+ objective: `Distinguish important sub-types or competing schools within ${topic}.`,
154
+ prompt: `Which competing approaches or schools of thought matter most within ${topic}, and when does each approach win or fail?`
155
+ },
156
+ {
157
+ kind: "execution",
158
+ objective: `Extract practical next steps for ${topic}.`,
159
+ prompt: `What practical steps, checklists, or execution guidance should someone follow for ${topic}${intendedOutput ? ` if the goal is ${intendedOutput}` : ""}?`
160
+ },
161
+ {
162
+ kind: "execution",
163
+ objective: `Connect the research topic to the intended human output.`,
164
+ prompt: `If someone wanted to turn ${topic} into ${intendedOutput ?? "a practical output"}, what structure or sequence would make the explanation most useful?`
165
+ },
166
+ {
167
+ kind: "evidence_gap",
168
+ objective: `Expose missing evidence and counterexamples around ${topic}.`,
169
+ prompt: `What evidence is missing, contested, or likely to be overstated in common narratives about ${topic}?`
170
+ },
171
+ {
172
+ kind: "evidence_gap",
173
+ objective: `Identify what would need verification before presenting ${topic} confidently.`,
174
+ prompt: `Which claims about ${topic} would require further verification, counterexamples, or direct source checking before reuse?`
175
+ }
176
+ ];
177
+ const filteredPrompts = prompts.filter((entry) => planningScope?.selectedFamilies?.length ? planningScope.selectedFamilies.includes(entry.kind) : true);
178
+ const scopedPrompts = planningScope?.maxQuestions !== undefined
179
+ ? filteredPrompts.slice(0, planningScope.maxQuestions)
180
+ : filteredPrompts;
181
+ return scopedPrompts.map((entry, index) => ({
182
+ id: `q${String(index + 1).padStart(2, "0")}-${randomUUID().replace(/-/g, "").slice(0, 6)}`,
183
+ kind: entry.kind,
184
+ prompt: entry.prompt,
185
+ objective: index === 0 ? objective : entry.objective,
186
+ order: index
187
+ }));
188
+ }
189
+ function normalizePlanningScope(maxQuestions, families) {
190
+ const selectedFamilies = families?.map((family) => questionKindSchema.parse(family));
191
+ const normalizedMaxQuestions = maxQuestions ?? DEFAULT_MAX_QUESTIONS;
192
+ const scope = {
193
+ maxQuestions: normalizedMaxQuestions,
194
+ ...(selectedFamilies && selectedFamilies.length > 0 ? { selectedFamilies } : {})
195
+ };
196
+ return scope;
197
+ }
198
+ function buildQuestionsMarkdown(workspace, batch, binding) {
199
+ const runId = batch.id.replace(/^batch-/, "");
200
+ const sections = batch.questions.flatMap((question) => {
201
+ const answerNote = getExchangeNote(workspace, runId, question);
202
+ return [
203
+ `## ${summarizeQuestionTitle(question.prompt, question.id)}`,
204
+ "",
205
+ `- Kind: ${question.kind}`,
206
+ `- Objective: ${question.objective}`,
207
+ `- Answer Note: ${toWikiLink(workspace, answerNote.absolutePath, answerNote.title)}`,
208
+ "",
209
+ question.prompt,
210
+ ""
211
+ ];
212
+ });
213
+ const topicTitle = normalizeObsidianText(batch.topic, batch.id);
214
+ return toFrontmatterMarkdown({
215
+ type: "questions",
216
+ title: `${topicTitle} Questions`,
217
+ aliases: makeAliases(batch.id),
218
+ tags: makeTags("sourceloop", "research", "questions", ...batch.questionFamilies),
219
+ topic: topicTitle,
220
+ objective: batch.objective,
221
+ ...(batch.intendedOutput ? { output: batch.intendedOutput } : {}),
222
+ families: batch.questionFamilies,
223
+ ...(batch.planningScope?.maxQuestions ? { max_questions: String(batch.planningScope.maxQuestions) } : {}),
224
+ ...(batch.planningScope?.selectedFamilies ? { selected_families: batch.planningScope.selectedFamilies } : {}),
225
+ created: batch.createdAt,
226
+ updated: batch.createdAt
227
+ }, [
228
+ `# ${topicTitle} Questions`,
229
+ "",
230
+ `## Context`,
231
+ `- Topic: ${batch.topicId
232
+ ? toWikiLink(workspace, getTopicIndexNote(workspace, {
233
+ id: batch.topicId,
234
+ type: "research_topic",
235
+ name: batch.topic,
236
+ status: "initialized",
237
+ createdAt: batch.createdAt,
238
+ updatedAt: batch.createdAt
239
+ }).absolutePath, topicTitle)
240
+ : topicTitle}`,
241
+ `- Notebook: ${toWikiLink(workspace, getNotebookNote(workspace, binding).absolutePath, getNotebookNote(workspace, binding).title)}`,
242
+ `- Planning Scope: ${describePlanningScope(batch)}`,
243
+ "",
244
+ ...sections
245
+ ].join("\n"));
246
+ }
247
+ function describePlanningScope(batch) {
248
+ const parts = [];
249
+ if (batch.planningScope?.maxQuestions !== undefined) {
250
+ parts.push(`max ${batch.planningScope.maxQuestions} questions`);
251
+ }
252
+ if (batch.planningScope?.selectedFamilies?.length) {
253
+ parts.push(`families: ${batch.planningScope.selectedFamilies.join(", ")}`);
254
+ }
255
+ return parts.length > 0 ? parts.join(" | ") : `default planner scope (${DEFAULT_MAX_QUESTIONS} questions)`;
256
+ }
257
+ async function resolveNotebookBindingIdForTopic(rootDir, topicId) {
258
+ const workspace = await loadWorkspace(rootDir);
259
+ const vault = getVaultPaths(workspace);
260
+ const entries = await readdir(vault.notebooksDir);
261
+ const notebookFiles = entries.filter((entry) => entry.endsWith(".json"));
262
+ const notebooks = await Promise.all(notebookFiles.map(async (entry) => notebookBindingSchema.parse(JSON.parse(await readFile(path.join(vault.notebooksDir, entry), "utf8")))));
263
+ const matches = notebooks.filter((binding) => binding.topicId === topicId);
264
+ if (matches.length === 0) {
265
+ throw new Error(`Topic ${topicId} does not have a bound notebook. Bind a NotebookLM notebook to this topic first.`);
266
+ }
267
+ if (matches.length > 1) {
268
+ throw new Error(`Topic ${topicId} has multiple notebook bindings. Select one explicitly with --notebook.`);
269
+ }
270
+ const [match] = matches;
271
+ if (!match) {
272
+ throw new Error(`Topic ${topicId} does not have a usable notebook binding.`);
273
+ }
274
+ return match.id;
275
+ }
276
+ //# sourceMappingURL=question-planner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"question-planner.js","sourceRoot":"","sources":["../../../src/core/runs/question-planner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ChromeAttachTarget } from "../../schemas/attach.js";
2
+ import type { NotebookBinding } from "../../schemas/notebook.js";
3
+ import type { QARunIndex, QuestionBatch } from "../../schemas/run.js";
4
+ import type { LoadedWorkspace } from "../workspace/load-workspace.js";
5
+ type BuildRunIndexMarkdownInput = {
6
+ workspace: LoadedWorkspace;
7
+ run: QARunIndex;
8
+ batch: QuestionBatch;
9
+ binding: NotebookBinding;
10
+ attachTarget?: ChromeAttachTarget;
11
+ };
12
+ export declare function buildRunIndexMarkdown(input: BuildRunIndexMarkdownInput): string;
13
+ export {};