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,19 @@
1
+ import { z } from "zod";
2
+ export declare const workspaceConfigSchema: z.ZodObject<{
3
+ version: z.ZodLiteral<1>;
4
+ createdAt: z.ZodString;
5
+ paths: z.ZodObject<{
6
+ chromeProfiles: z.ZodString;
7
+ chromeTargets: z.ZodString;
8
+ topics: z.ZodString;
9
+ sources: z.ZodString;
10
+ notebookSources: z.ZodString;
11
+ notebookSetups: z.ZodString;
12
+ notebookImports: z.ZodString;
13
+ notebooks: z.ZodString;
14
+ bundles: z.ZodString;
15
+ runs: z.ZodString;
16
+ outputs: z.ZodString;
17
+ }, z.core.$strip>;
18
+ }, z.core.$strip>;
19
+ export type WorkspaceConfig = z.infer<typeof workspaceConfigSchema>;
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ export const workspaceConfigSchema = z.object({
3
+ version: z.literal(1),
4
+ createdAt: z.string().datetime(),
5
+ paths: z.object({
6
+ chromeProfiles: z.string().min(1),
7
+ chromeTargets: z.string().min(1),
8
+ topics: z.string().min(1),
9
+ sources: z.string().min(1),
10
+ notebookSources: z.string().min(1),
11
+ notebookSetups: z.string().min(1),
12
+ notebookImports: z.string().min(1),
13
+ notebooks: z.string().min(1),
14
+ bundles: z.string().min(1),
15
+ runs: z.string().min(1),
16
+ outputs: z.string().min(1)
17
+ })
18
+ });
19
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/workspace/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3B,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from "commander";
3
+ import { attachCommand } from "./commands/attach.js";
4
+ import { authCommand } from "./commands/auth.js";
5
+ import { chromeCommand } from "./commands/chrome.js";
6
+ import { composeCommand } from "./commands/compose.js";
7
+ import { doctorCommand } from "./commands/doctor.js";
8
+ import { ingestCommand } from "./commands/ingest.js";
9
+ import { importLatestCommand } from "./commands/import-latest.js";
10
+ import { initCommand } from "./commands/init.js";
11
+ import { notebookBindCommand } from "./commands/notebook-bind.js";
12
+ import { notebookCreateCommand } from "./commands/notebook-create.js";
13
+ import { notebookImportCommand } from "./commands/notebook-import.js";
14
+ import { notebookSourceCommand } from "./commands/notebook-source.js";
15
+ import { planCommand } from "./commands/plan.js";
16
+ import { runCommand } from "./commands/run.js";
17
+ import { statusCommand } from "./commands/status.js";
18
+ import { topicCommand } from "./commands/topic.js";
19
+ const program = new Command();
20
+ program
21
+ .name("sourceloop")
22
+ .description("NotebookLM-centered research orchestration pipeline")
23
+ .version("0.1.0");
24
+ program.addCommand(initCommand);
25
+ program.addCommand(statusCommand);
26
+ program.addCommand(doctorCommand);
27
+ program.addCommand(ingestCommand);
28
+ program.addCommand(importLatestCommand);
29
+ program.addCommand(topicCommand);
30
+ program.addCommand(chromeCommand);
31
+ program.addCommand(attachCommand);
32
+ program.addCommand(authCommand);
33
+ program.addCommand(notebookBindCommand);
34
+ program.addCommand(notebookCreateCommand);
35
+ program.addCommand(notebookImportCommand);
36
+ program.addCommand(notebookSourceCommand);
37
+ program.addCommand(planCommand);
38
+ program.addCommand(runCommand);
39
+ program.addCommand(composeCommand);
40
+ await program.parseAsync(process.argv);
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AAEnC,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function writeJsonOutput(payload: unknown): void;
2
+ export declare function writeTextOutput(message: string): void;
@@ -0,0 +1,7 @@
1
+ export function writeJsonOutput(payload) {
2
+ process.stdout.write(`${JSON.stringify(payload, null, 2)}\n`);
3
+ }
4
+ export function writeTextOutput(message) {
5
+ process.stdout.write(`${message}\n`);
6
+ }
7
+ //# sourceMappingURL=cli-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-output.js","sourceRoot":"","sources":["../../src/lib/cli-output.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function normalizeObsidianText(value: string | undefined, fallback?: string): string;
2
+ export declare function makeAliases(...values: Array<string | undefined>): string[];
3
+ export declare function makeTags(...values: Array<string | undefined>): string[];
4
+ export declare function summarizeQuestionTitle(prompt: string, fallback: string, maxLength?: number): string;
@@ -0,0 +1,23 @@
1
+ export function normalizeObsidianText(value, fallback = "") {
2
+ if (!value) {
3
+ return fallback;
4
+ }
5
+ return value.replace(/\s+/g, " ").trim();
6
+ }
7
+ export function makeAliases(...values) {
8
+ return [...new Set(values.map((value) => normalizeObsidianText(value)).filter(Boolean))];
9
+ }
10
+ export function makeTags(...values) {
11
+ return [...new Set(values.map((value) => normalizeObsidianText(value).toLowerCase().replace(/\s+/g, "-")).filter(Boolean))];
12
+ }
13
+ export function summarizeQuestionTitle(prompt, fallback, maxLength = 72) {
14
+ const normalized = normalizeObsidianText(prompt, fallback).replace(/[?!。.]+$/, "");
15
+ if (normalized.length <= maxLength) {
16
+ return normalized;
17
+ }
18
+ const trimmed = normalized.slice(0, maxLength);
19
+ const boundary = trimmed.lastIndexOf(" ");
20
+ const candidate = boundary > Math.floor(maxLength * 0.6) ? trimmed.slice(0, boundary) : trimmed;
21
+ return `${candidate.trim()}...`;
22
+ }
23
+ //# sourceMappingURL=obsidian.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"obsidian.js","sourceRoot":"","sources":["../../src/lib/obsidian.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,KAAyB,EAAE,QAAQ,GAAG,EAAE;IAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAG,MAAiC;IAC9D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAG,MAAiC;IAC3D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9H,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,QAAgB,EAAE,SAAS,GAAG,EAAE;IACrF,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACnF,IAAI,UAAU,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAChG,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC;AAClC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function slugify(value: string): string;
@@ -0,0 +1,10 @@
1
+ export function slugify(value) {
2
+ return value
3
+ .normalize("NFKC")
4
+ .toLowerCase()
5
+ .trim()
6
+ .replace(/[^\p{Letter}\p{Number}]+/gu, "-")
7
+ .replace(/^-+|-+$/g, "")
8
+ .replace(/-{2,}/g, "-");
9
+ }
10
+ //# sourceMappingURL=slugify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slugify.js","sourceRoot":"","sources":["../../src/lib/slugify.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAK;SACT,SAAS,CAAC,MAAM,CAAC;SACjB,WAAW,EAAE;SACb,IAAI,EAAE;SACN,OAAO,CAAC,4BAA4B,EAAE,GAAG,CAAC;SAC1C,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function writeJsonFile(filePath: string, value: unknown): Promise<void>;
@@ -0,0 +1,5 @@
1
+ import { writeFile } from "node:fs/promises";
2
+ export async function writeJsonFile(filePath, value) {
3
+ await writeFile(filePath, JSON.stringify(value, null, 2) + "\n", "utf8");
4
+ }
5
+ //# sourceMappingURL=write-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-json.js","sourceRoot":"","sources":["../../src/lib/write-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,QAAgB,EAAE,KAAc;IAClE,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,118 @@
1
+ import { z } from "zod";
2
+ export declare const chromeProfileIsolationSchema: z.ZodEnum<{
3
+ isolated: "isolated";
4
+ unknown: "unknown";
5
+ shared: "shared";
6
+ }>;
7
+ export declare const chromeAttachOwnershipSchema: z.ZodEnum<{
8
+ sourceloop_managed: "sourceloop_managed";
9
+ user_managed: "user_managed";
10
+ external: "external";
11
+ }>;
12
+ export declare const chromeNotebooklmReadinessSchema: z.ZodEnum<{
13
+ unknown: "unknown";
14
+ validated: "validated";
15
+ }>;
16
+ export declare const chromeProfileAttachTargetSchema: z.ZodObject<{
17
+ id: z.ZodString;
18
+ type: z.ZodLiteral<"chrome_attach_target">;
19
+ name: z.ZodString;
20
+ description: z.ZodOptional<z.ZodString>;
21
+ profileIsolation: z.ZodDefault<z.ZodEnum<{
22
+ isolated: "isolated";
23
+ unknown: "unknown";
24
+ shared: "shared";
25
+ }>>;
26
+ notebooklmReadiness: z.ZodDefault<z.ZodEnum<{
27
+ unknown: "unknown";
28
+ validated: "validated";
29
+ }>>;
30
+ notebooklmValidatedAt: z.ZodOptional<z.ZodString>;
31
+ createdAt: z.ZodString;
32
+ targetType: z.ZodLiteral<"profile">;
33
+ ownership: z.ZodDefault<z.ZodEnum<{
34
+ sourceloop_managed: "sourceloop_managed";
35
+ user_managed: "user_managed";
36
+ }>>;
37
+ profileDirPath: z.ZodString;
38
+ chromeExecutablePath: z.ZodOptional<z.ZodString>;
39
+ launchArgs: z.ZodDefault<z.ZodArray<z.ZodString>>;
40
+ remoteDebuggingPort: z.ZodOptional<z.ZodNumber>;
41
+ }, z.core.$strip>;
42
+ export declare const chromeEndpointAttachTargetSchema: z.ZodObject<{
43
+ id: z.ZodString;
44
+ type: z.ZodLiteral<"chrome_attach_target">;
45
+ name: z.ZodString;
46
+ description: z.ZodOptional<z.ZodString>;
47
+ profileIsolation: z.ZodDefault<z.ZodEnum<{
48
+ isolated: "isolated";
49
+ unknown: "unknown";
50
+ shared: "shared";
51
+ }>>;
52
+ notebooklmReadiness: z.ZodDefault<z.ZodEnum<{
53
+ unknown: "unknown";
54
+ validated: "validated";
55
+ }>>;
56
+ notebooklmValidatedAt: z.ZodOptional<z.ZodString>;
57
+ createdAt: z.ZodString;
58
+ targetType: z.ZodLiteral<"remote_debugging_endpoint">;
59
+ ownership: z.ZodDefault<z.ZodEnum<{
60
+ user_managed: "user_managed";
61
+ external: "external";
62
+ }>>;
63
+ endpoint: z.ZodString;
64
+ }, z.core.$strip>;
65
+ export declare const chromeAttachTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
66
+ id: z.ZodString;
67
+ type: z.ZodLiteral<"chrome_attach_target">;
68
+ name: z.ZodString;
69
+ description: z.ZodOptional<z.ZodString>;
70
+ profileIsolation: z.ZodDefault<z.ZodEnum<{
71
+ isolated: "isolated";
72
+ unknown: "unknown";
73
+ shared: "shared";
74
+ }>>;
75
+ notebooklmReadiness: z.ZodDefault<z.ZodEnum<{
76
+ unknown: "unknown";
77
+ validated: "validated";
78
+ }>>;
79
+ notebooklmValidatedAt: z.ZodOptional<z.ZodString>;
80
+ createdAt: z.ZodString;
81
+ targetType: z.ZodLiteral<"profile">;
82
+ ownership: z.ZodDefault<z.ZodEnum<{
83
+ sourceloop_managed: "sourceloop_managed";
84
+ user_managed: "user_managed";
85
+ }>>;
86
+ profileDirPath: z.ZodString;
87
+ chromeExecutablePath: z.ZodOptional<z.ZodString>;
88
+ launchArgs: z.ZodDefault<z.ZodArray<z.ZodString>>;
89
+ remoteDebuggingPort: z.ZodOptional<z.ZodNumber>;
90
+ }, z.core.$strip>, z.ZodObject<{
91
+ id: z.ZodString;
92
+ type: z.ZodLiteral<"chrome_attach_target">;
93
+ name: z.ZodString;
94
+ description: z.ZodOptional<z.ZodString>;
95
+ profileIsolation: z.ZodDefault<z.ZodEnum<{
96
+ isolated: "isolated";
97
+ unknown: "unknown";
98
+ shared: "shared";
99
+ }>>;
100
+ notebooklmReadiness: z.ZodDefault<z.ZodEnum<{
101
+ unknown: "unknown";
102
+ validated: "validated";
103
+ }>>;
104
+ notebooklmValidatedAt: z.ZodOptional<z.ZodString>;
105
+ createdAt: z.ZodString;
106
+ targetType: z.ZodLiteral<"remote_debugging_endpoint">;
107
+ ownership: z.ZodDefault<z.ZodEnum<{
108
+ user_managed: "user_managed";
109
+ external: "external";
110
+ }>>;
111
+ endpoint: z.ZodString;
112
+ }, z.core.$strip>], "targetType">;
113
+ export type ChromeAttachTarget = z.infer<typeof chromeAttachTargetSchema>;
114
+ export type ChromeProfileAttachTarget = z.infer<typeof chromeProfileAttachTargetSchema>;
115
+ export type ChromeEndpointAttachTarget = z.infer<typeof chromeEndpointAttachTargetSchema>;
116
+ export type ChromeProfileIsolation = z.infer<typeof chromeProfileIsolationSchema>;
117
+ export type ChromeAttachOwnership = z.infer<typeof chromeAttachOwnershipSchema>;
118
+ export type ChromeNotebooklmReadiness = z.infer<typeof chromeNotebooklmReadinessSchema>;
@@ -0,0 +1,33 @@
1
+ import { z } from "zod";
2
+ export const chromeProfileIsolationSchema = z.enum(["isolated", "unknown", "shared"]);
3
+ export const chromeAttachOwnershipSchema = z.enum(["sourceloop_managed", "user_managed", "external"]);
4
+ export const chromeNotebooklmReadinessSchema = z.enum(["unknown", "validated"]);
5
+ const attachTargetBaseSchema = z.object({
6
+ id: z.string().min(1),
7
+ type: z.literal("chrome_attach_target"),
8
+ name: z.string().min(1),
9
+ description: z.string().min(1).optional(),
10
+ profileIsolation: chromeProfileIsolationSchema.default("unknown"),
11
+ ownership: chromeAttachOwnershipSchema.default("external"),
12
+ notebooklmReadiness: chromeNotebooklmReadinessSchema.default("unknown"),
13
+ notebooklmValidatedAt: z.string().datetime().optional(),
14
+ createdAt: z.string().datetime()
15
+ });
16
+ export const chromeProfileAttachTargetSchema = attachTargetBaseSchema.extend({
17
+ targetType: z.literal("profile"),
18
+ ownership: chromeAttachOwnershipSchema.exclude(["external"]).default("user_managed"),
19
+ profileDirPath: z.string().min(1),
20
+ chromeExecutablePath: z.string().min(1).optional(),
21
+ launchArgs: z.array(z.string()).default([]),
22
+ remoteDebuggingPort: z.number().int().positive().optional()
23
+ });
24
+ export const chromeEndpointAttachTargetSchema = attachTargetBaseSchema.extend({
25
+ targetType: z.literal("remote_debugging_endpoint"),
26
+ ownership: chromeAttachOwnershipSchema.exclude(["sourceloop_managed"]).default("external"),
27
+ endpoint: z.string().url()
28
+ });
29
+ export const chromeAttachTargetSchema = z.discriminatedUnion("targetType", [
30
+ chromeProfileAttachTargetSchema,
31
+ chromeEndpointAttachTargetSchema
32
+ ]);
33
+ //# sourceMappingURL=attach.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attach.js","sourceRoot":"","sources":["../../src/schemas/attach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAEhF,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,gBAAgB,EAAE,4BAA4B,CAAC,OAAO,CAAC,SAAS,CAAC;IACjE,SAAS,EAAE,2BAA2B,CAAC,OAAO,CAAC,UAAU,CAAC;IAC1D,mBAAmB,EAAE,+BAA+B,CAAC,OAAO,CAAC,SAAS,CAAC;IACvE,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,sBAAsB,CAAC,MAAM,CAAC;IAC3E,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,SAAS,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACpF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC5D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,sBAAsB,CAAC,MAAM,CAAC;IAC5E,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC;IAClD,SAAS,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC1F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACzE,+BAA+B;IAC/B,gCAAgC;CACjC,CAAC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { z } from "zod";
2
+ export declare const managedNotebookSetupSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ type: z.ZodLiteral<"managed_notebook_setup">;
5
+ topicId: z.ZodString;
6
+ notebookBindingId: z.ZodString;
7
+ remoteNotebookId: z.ZodOptional<z.ZodString>;
8
+ name: z.ZodOptional<z.ZodString>;
9
+ attachTargetId: z.ZodString;
10
+ createdAt: z.ZodString;
11
+ updatedAt: z.ZodString;
12
+ }, z.core.$strip>;
13
+ export declare const managedNotebookImportStatusSchema: z.ZodEnum<{
14
+ queued: "queued";
15
+ imported: "imported";
16
+ failed: "failed";
17
+ }>;
18
+ export declare const managedNotebookImportSchema: z.ZodObject<{
19
+ id: z.ZodString;
20
+ type: z.ZodLiteral<"managed_notebook_import">;
21
+ topicId: z.ZodString;
22
+ notebookBindingId: z.ZodString;
23
+ managedNotebookSetupId: z.ZodString;
24
+ originType: z.ZodEnum<{
25
+ source_artifact: "source_artifact";
26
+ remote_url: "remote_url";
27
+ }>;
28
+ sourceId: z.ZodOptional<z.ZodString>;
29
+ sourceUri: z.ZodString;
30
+ title: z.ZodString;
31
+ importKind: z.ZodEnum<{
32
+ file_upload: "file_upload";
33
+ youtube_url: "youtube_url";
34
+ web_url: "web_url";
35
+ }>;
36
+ status: z.ZodEnum<{
37
+ queued: "queued";
38
+ imported: "imported";
39
+ failed: "failed";
40
+ }>;
41
+ failureReason: z.ZodOptional<z.ZodString>;
42
+ createdAt: z.ZodString;
43
+ updatedAt: z.ZodString;
44
+ }, z.core.$strip>;
45
+ export type ManagedNotebookSetup = z.infer<typeof managedNotebookSetupSchema>;
46
+ export type ManagedNotebookImport = z.infer<typeof managedNotebookImportSchema>;
47
+ export type ManagedNotebookImportStatus = z.infer<typeof managedNotebookImportStatusSchema>;
@@ -0,0 +1,30 @@
1
+ import { z } from "zod";
2
+ export const managedNotebookSetupSchema = z.object({
3
+ id: z.string().min(1),
4
+ type: z.literal("managed_notebook_setup"),
5
+ topicId: z.string().min(1),
6
+ notebookBindingId: z.string().min(1),
7
+ remoteNotebookId: z.string().min(1).optional(),
8
+ name: z.string().min(1).optional(),
9
+ attachTargetId: z.string().min(1),
10
+ createdAt: z.string().datetime(),
11
+ updatedAt: z.string().datetime()
12
+ });
13
+ export const managedNotebookImportStatusSchema = z.enum(["queued", "imported", "failed"]);
14
+ export const managedNotebookImportSchema = z.object({
15
+ id: z.string().min(1),
16
+ type: z.literal("managed_notebook_import"),
17
+ topicId: z.string().min(1),
18
+ notebookBindingId: z.string().min(1),
19
+ managedNotebookSetupId: z.string().min(1),
20
+ originType: z.enum(["source_artifact", "remote_url"]),
21
+ sourceId: z.string().min(1).optional(),
22
+ sourceUri: z.string().min(1),
23
+ title: z.string().min(1),
24
+ importKind: z.enum(["file_upload", "youtube_url", "web_url"]),
25
+ status: managedNotebookImportStatusSchema,
26
+ failureReason: z.string().min(1).optional(),
27
+ createdAt: z.string().datetime(),
28
+ updatedAt: z.string().datetime()
29
+ });
30
+ //# sourceMappingURL=managed-notebook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-notebook.js","sourceRoot":"","sources":["../../src/schemas/managed-notebook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACrD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,EAAE,iCAAiC;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from "zod";
2
+ export declare const notebookSourceKindSchema: z.ZodEnum<{
3
+ "youtube-playlist": "youtube-playlist";
4
+ "youtube-channel": "youtube-channel";
5
+ "document-set": "document-set";
6
+ "web-collection": "web-collection";
7
+ mixed: "mixed";
8
+ other: "other";
9
+ }>;
10
+ export declare const notebookSourceManifestSchema: z.ZodObject<{
11
+ id: z.ZodString;
12
+ type: z.ZodLiteral<"notebook_source_manifest">;
13
+ topicId: z.ZodString;
14
+ notebookBindingId: z.ZodString;
15
+ kind: z.ZodEnum<{
16
+ "youtube-playlist": "youtube-playlist";
17
+ "youtube-channel": "youtube-channel";
18
+ "document-set": "document-set";
19
+ "web-collection": "web-collection";
20
+ mixed: "mixed";
21
+ other: "other";
22
+ }>;
23
+ title: z.ZodString;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ itemCount: z.ZodOptional<z.ZodNumber>;
26
+ refs: z.ZodDefault<z.ZodArray<z.ZodString>>;
27
+ createdAt: z.ZodString;
28
+ updatedAt: z.ZodString;
29
+ }, z.core.$strip>;
30
+ export type NotebookSourceKind = z.infer<typeof notebookSourceKindSchema>;
31
+ export type NotebookSourceManifest = z.infer<typeof notebookSourceManifestSchema>;
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ export const notebookSourceKindSchema = z.enum([
3
+ "youtube-playlist",
4
+ "youtube-channel",
5
+ "document-set",
6
+ "web-collection",
7
+ "mixed",
8
+ "other"
9
+ ]);
10
+ export const notebookSourceManifestSchema = z.object({
11
+ id: z.string().min(1),
12
+ type: z.literal("notebook_source_manifest"),
13
+ topicId: z.string().min(1),
14
+ notebookBindingId: z.string().min(1),
15
+ kind: notebookSourceKindSchema,
16
+ title: z.string().min(1),
17
+ description: z.string().min(1).optional(),
18
+ itemCount: z.number().int().positive().optional(),
19
+ refs: z.array(z.string().min(1)).default([]),
20
+ createdAt: z.string().datetime(),
21
+ updatedAt: z.string().datetime()
22
+ });
23
+ //# sourceMappingURL=notebook-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook-source.js","sourceRoot":"","sources":["../../src/schemas/notebook-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC7C,kBAAkB;IAClB,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,OAAO;IACP,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,IAAI,EAAE,wBAAwB;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACjD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { z } from "zod";
2
+ export declare const notebookAccessModeSchema: z.ZodEnum<{
3
+ shared: "shared";
4
+ owner: "owner";
5
+ "chat-only": "chat-only";
6
+ }>;
7
+ export declare const notebookBindingSchema: z.ZodObject<{
8
+ id: z.ZodString;
9
+ type: z.ZodLiteral<"notebook_binding">;
10
+ name: z.ZodString;
11
+ topic: z.ZodString;
12
+ topicId: z.ZodOptional<z.ZodString>;
13
+ notebookUrl: z.ZodString;
14
+ remoteNotebookId: z.ZodOptional<z.ZodString>;
15
+ accessMode: z.ZodEnum<{
16
+ shared: "shared";
17
+ owner: "owner";
18
+ "chat-only": "chat-only";
19
+ }>;
20
+ description: z.ZodOptional<z.ZodString>;
21
+ topics: z.ZodDefault<z.ZodArray<z.ZodString>>;
22
+ attachTargetId: z.ZodOptional<z.ZodString>;
23
+ browserProfile: z.ZodOptional<z.ZodString>;
24
+ createdAt: z.ZodString;
25
+ }, z.core.$strip>;
26
+ export type NotebookBinding = z.infer<typeof notebookBindingSchema>;
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ export const notebookAccessModeSchema = z.enum(["owner", "shared", "chat-only"]);
3
+ export const notebookBindingSchema = z.object({
4
+ id: z.string().min(1),
5
+ type: z.literal("notebook_binding"),
6
+ name: z.string().min(1),
7
+ topic: z.string().min(1),
8
+ topicId: z.string().min(1).optional(),
9
+ notebookUrl: z.string().url(),
10
+ remoteNotebookId: z.string().min(1).optional(),
11
+ accessMode: notebookAccessModeSchema,
12
+ description: z.string().min(1).optional(),
13
+ topics: z.array(z.string().min(1)).default([]),
14
+ attachTargetId: z.string().min(1).optional(),
15
+ browserProfile: z.string().min(1).optional(),
16
+ createdAt: z.string().datetime()
17
+ });
18
+ //# sourceMappingURL=notebook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebook.js","sourceRoot":"","sources":["../../src/schemas/notebook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC7B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,UAAU,EAAE,wBAAwB;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}