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,169 @@
1
+ import { z } from "zod";
2
+ export declare const runStatusSchema: z.ZodEnum<{
3
+ failed: "failed";
4
+ planned: "planned";
5
+ running: "running";
6
+ completed: "completed";
7
+ incomplete: "incomplete";
8
+ }>;
9
+ export declare const questionKindSchema: z.ZodEnum<{
10
+ core: "core";
11
+ structure: "structure";
12
+ deep_dive: "deep_dive";
13
+ comparison: "comparison";
14
+ execution: "execution";
15
+ evidence_gap: "evidence_gap";
16
+ }>;
17
+ export declare const plannedQuestionSchema: z.ZodObject<{
18
+ id: z.ZodString;
19
+ kind: z.ZodEnum<{
20
+ core: "core";
21
+ structure: "structure";
22
+ deep_dive: "deep_dive";
23
+ comparison: "comparison";
24
+ execution: "execution";
25
+ evidence_gap: "evidence_gap";
26
+ }>;
27
+ prompt: z.ZodString;
28
+ objective: z.ZodString;
29
+ order: z.ZodNumber;
30
+ }, z.core.$strip>;
31
+ export declare const planningScopeSchema: z.ZodObject<{
32
+ maxQuestions: z.ZodOptional<z.ZodNumber>;
33
+ selectedFamilies: z.ZodOptional<z.ZodArray<z.ZodEnum<{
34
+ core: "core";
35
+ structure: "structure";
36
+ deep_dive: "deep_dive";
37
+ comparison: "comparison";
38
+ execution: "execution";
39
+ evidence_gap: "evidence_gap";
40
+ }>>>;
41
+ }, z.core.$strip>;
42
+ export declare const executionScopeSchema: z.ZodObject<{
43
+ questionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
44
+ fromQuestionId: z.ZodOptional<z.ZodString>;
45
+ limit: z.ZodOptional<z.ZodNumber>;
46
+ }, z.core.$strip>;
47
+ export declare const questionBatchSchema: z.ZodObject<{
48
+ id: z.ZodString;
49
+ type: z.ZodLiteral<"question_batch">;
50
+ topic: z.ZodString;
51
+ topicId: z.ZodOptional<z.ZodString>;
52
+ notebookBindingId: z.ZodString;
53
+ objective: z.ZodString;
54
+ intendedOutput: z.ZodOptional<z.ZodString>;
55
+ questionFamilies: z.ZodDefault<z.ZodArray<z.ZodString>>;
56
+ planningScope: z.ZodOptional<z.ZodObject<{
57
+ maxQuestions: z.ZodOptional<z.ZodNumber>;
58
+ selectedFamilies: z.ZodOptional<z.ZodArray<z.ZodEnum<{
59
+ core: "core";
60
+ structure: "structure";
61
+ deep_dive: "deep_dive";
62
+ comparison: "comparison";
63
+ execution: "execution";
64
+ evidence_gap: "evidence_gap";
65
+ }>>>;
66
+ }, z.core.$strip>>;
67
+ createdAt: z.ZodString;
68
+ questions: z.ZodArray<z.ZodObject<{
69
+ id: z.ZodString;
70
+ kind: z.ZodEnum<{
71
+ core: "core";
72
+ structure: "structure";
73
+ deep_dive: "deep_dive";
74
+ comparison: "comparison";
75
+ execution: "execution";
76
+ evidence_gap: "evidence_gap";
77
+ }>;
78
+ prompt: z.ZodString;
79
+ objective: z.ZodString;
80
+ order: z.ZodNumber;
81
+ }, z.core.$strip>>;
82
+ }, z.core.$strip>;
83
+ export declare const citationReferenceSchema: z.ZodObject<{
84
+ label: z.ZodString;
85
+ href: z.ZodOptional<z.ZodString>;
86
+ sourcePath: z.ZodOptional<z.ZodString>;
87
+ note: z.ZodOptional<z.ZodString>;
88
+ }, z.core.$strip>;
89
+ export declare const qaExchangeSchema: z.ZodObject<{
90
+ id: z.ZodString;
91
+ type: z.ZodLiteral<"qa_exchange">;
92
+ runId: z.ZodString;
93
+ topicId: z.ZodOptional<z.ZodString>;
94
+ notebookBindingId: z.ZodString;
95
+ questionId: z.ZodString;
96
+ question: z.ZodString;
97
+ answer: z.ZodString;
98
+ citations: z.ZodArray<z.ZodObject<{
99
+ label: z.ZodString;
100
+ href: z.ZodOptional<z.ZodString>;
101
+ sourcePath: z.ZodOptional<z.ZodString>;
102
+ note: z.ZodOptional<z.ZodString>;
103
+ }, z.core.$strip>>;
104
+ createdAt: z.ZodString;
105
+ answerSource: z.ZodLiteral<"notebooklm">;
106
+ }, z.core.$strip>;
107
+ export declare const runIndexSchema: z.ZodObject<{
108
+ id: z.ZodString;
109
+ type: z.ZodLiteral<"qa_run">;
110
+ topic: z.ZodString;
111
+ topicId: z.ZodOptional<z.ZodString>;
112
+ notebookBindingId: z.ZodString;
113
+ questionBatchId: z.ZodString;
114
+ status: z.ZodEnum<{
115
+ failed: "failed";
116
+ planned: "planned";
117
+ running: "running";
118
+ completed: "completed";
119
+ incomplete: "incomplete";
120
+ }>;
121
+ executionMode: z.ZodOptional<z.ZodEnum<{
122
+ attached_chrome: "attached_chrome";
123
+ fixture: "fixture";
124
+ }>>;
125
+ attachedChromeTargetId: z.ZodOptional<z.ZodString>;
126
+ createdAt: z.ZodString;
127
+ updatedAt: z.ZodString;
128
+ planningScope: z.ZodOptional<z.ZodObject<{
129
+ maxQuestions: z.ZodOptional<z.ZodNumber>;
130
+ selectedFamilies: z.ZodOptional<z.ZodArray<z.ZodEnum<{
131
+ core: "core";
132
+ structure: "structure";
133
+ deep_dive: "deep_dive";
134
+ comparison: "comparison";
135
+ execution: "execution";
136
+ evidence_gap: "evidence_gap";
137
+ }>>>;
138
+ }, z.core.$strip>>;
139
+ executionScope: z.ZodOptional<z.ZodObject<{
140
+ questionIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
141
+ fromQuestionId: z.ZodOptional<z.ZodString>;
142
+ limit: z.ZodOptional<z.ZodNumber>;
143
+ }, z.core.$strip>>;
144
+ completedQuestionIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
145
+ failedQuestionId: z.ZodOptional<z.ZodString>;
146
+ failureReason: z.ZodOptional<z.ZodString>;
147
+ outputArtifacts: z.ZodDefault<z.ZodArray<z.ZodString>>;
148
+ }, z.core.$strip>;
149
+ export declare const outputArtifactSchema: z.ZodObject<{
150
+ id: z.ZodString;
151
+ type: z.ZodLiteral<"output_artifact">;
152
+ runId: z.ZodString;
153
+ topicId: z.ZodOptional<z.ZodString>;
154
+ format: z.ZodEnum<{
155
+ brief: "brief";
156
+ outline: "outline";
157
+ }>;
158
+ createdAt: z.ZodString;
159
+ supportingExchangeIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
160
+ }, z.core.$strip>;
161
+ export type CitationReference = z.infer<typeof citationReferenceSchema>;
162
+ export type PlannedQuestion = z.infer<typeof plannedQuestionSchema>;
163
+ export type PlanningScope = z.infer<typeof planningScopeSchema>;
164
+ export type ExecutionScope = z.infer<typeof executionScopeSchema>;
165
+ export type QuestionBatch = z.infer<typeof questionBatchSchema>;
166
+ export type QAExchange = z.infer<typeof qaExchangeSchema>;
167
+ export type QARunIndex = z.infer<typeof runIndexSchema>;
168
+ export type OutputArtifact = z.infer<typeof outputArtifactSchema>;
169
+ export type RunStatus = z.infer<typeof runStatusSchema>;
@@ -0,0 +1,80 @@
1
+ import { z } from "zod";
2
+ export const runStatusSchema = z.enum(["planned", "running", "completed", "incomplete", "failed"]);
3
+ export const questionKindSchema = z.enum(["core", "structure", "deep_dive", "comparison", "execution", "evidence_gap"]);
4
+ export const plannedQuestionSchema = z.object({
5
+ id: z.string().min(1),
6
+ kind: questionKindSchema,
7
+ prompt: z.string().min(1),
8
+ objective: z.string().min(1),
9
+ order: z.number().int().nonnegative()
10
+ });
11
+ export const planningScopeSchema = z.object({
12
+ maxQuestions: z.number().int().positive().optional(),
13
+ selectedFamilies: z.array(questionKindSchema).min(1).optional()
14
+ });
15
+ export const executionScopeSchema = z.object({
16
+ questionIds: z.array(z.string().min(1)).min(1).optional(),
17
+ fromQuestionId: z.string().min(1).optional(),
18
+ limit: z.number().int().positive().optional()
19
+ });
20
+ export const questionBatchSchema = z.object({
21
+ id: z.string().min(1),
22
+ type: z.literal("question_batch"),
23
+ topic: z.string().min(1),
24
+ topicId: z.string().min(1).optional(),
25
+ notebookBindingId: z.string().min(1),
26
+ objective: z.string().min(1),
27
+ intendedOutput: z.string().min(1).optional(),
28
+ questionFamilies: z.array(z.string().min(1)).default([]),
29
+ planningScope: planningScopeSchema.optional(),
30
+ createdAt: z.string().datetime(),
31
+ questions: z.array(plannedQuestionSchema).min(1)
32
+ });
33
+ export const citationReferenceSchema = z.object({
34
+ label: z.string().min(1),
35
+ href: z.string().min(1).optional(),
36
+ sourcePath: z.string().min(1).optional(),
37
+ note: z.string().min(1).optional()
38
+ });
39
+ export const qaExchangeSchema = z.object({
40
+ id: z.string().min(1),
41
+ type: z.literal("qa_exchange"),
42
+ runId: z.string().min(1),
43
+ topicId: z.string().min(1).optional(),
44
+ notebookBindingId: z.string().min(1),
45
+ questionId: z.string().min(1),
46
+ question: z.string().min(1),
47
+ answer: z.string().min(1),
48
+ citations: z.array(citationReferenceSchema),
49
+ createdAt: z.string().datetime(),
50
+ answerSource: z.literal("notebooklm")
51
+ });
52
+ export const runIndexSchema = z.object({
53
+ id: z.string().min(1),
54
+ type: z.literal("qa_run"),
55
+ topic: z.string().min(1),
56
+ topicId: z.string().min(1).optional(),
57
+ notebookBindingId: z.string().min(1),
58
+ questionBatchId: z.string().min(1),
59
+ status: runStatusSchema,
60
+ executionMode: z.enum(["attached_chrome", "fixture"]).optional(),
61
+ attachedChromeTargetId: z.string().min(1).optional(),
62
+ createdAt: z.string().datetime(),
63
+ updatedAt: z.string().datetime(),
64
+ planningScope: planningScopeSchema.optional(),
65
+ executionScope: executionScopeSchema.optional(),
66
+ completedQuestionIds: z.array(z.string().min(1)).default([]),
67
+ failedQuestionId: z.string().min(1).optional(),
68
+ failureReason: z.string().min(1).optional(),
69
+ outputArtifacts: z.array(z.string().min(1)).default([])
70
+ });
71
+ export const outputArtifactSchema = z.object({
72
+ id: z.string().min(1),
73
+ type: z.literal("output_artifact"),
74
+ runId: z.string().min(1),
75
+ topicId: z.string().min(1).optional(),
76
+ format: z.enum(["brief", "outline"]),
77
+ createdAt: z.string().datetime(),
78
+ supportingExchangeIds: z.array(z.string().min(1)).default([])
79
+ });
80
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/schemas/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ export declare const sourceDocumentSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ type: z.ZodEnum<{
5
+ file: "file";
6
+ url: "url";
7
+ pdf: "pdf";
8
+ transcript: "transcript";
9
+ }>;
10
+ sourceUri: z.ZodString;
11
+ title: z.ZodString;
12
+ topicId: z.ZodOptional<z.ZodString>;
13
+ author: z.ZodOptional<z.ZodString>;
14
+ capturedAt: z.ZodString;
15
+ topicTags: z.ZodDefault<z.ZodArray<z.ZodString>>;
16
+ language: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strip>;
18
+ export type SourceDocument = z.infer<typeof sourceDocumentSchema>;
@@ -0,0 +1,13 @@
1
+ import { z } from "zod";
2
+ export const sourceDocumentSchema = z.object({
3
+ id: z.string().min(1),
4
+ type: z.enum(["url", "pdf", "file", "transcript"]),
5
+ sourceUri: z.string().min(1),
6
+ title: z.string().min(1),
7
+ topicId: z.string().min(1).optional(),
8
+ author: z.string().min(1).optional(),
9
+ capturedAt: z.string().datetime(),
10
+ topicTags: z.array(z.string().min(1)).default([]),
11
+ language: z.string().min(1).optional()
12
+ });
13
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/schemas/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAClD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,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,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { z } from "zod";
2
+ export declare const topicStatusSchema: z.ZodEnum<{
3
+ initialized: "initialized";
4
+ collecting_sources: "collecting_sources";
5
+ ready_for_planning: "ready_for_planning";
6
+ researched: "researched";
7
+ }>;
8
+ export declare const researchTopicSchema: z.ZodObject<{
9
+ id: z.ZodString;
10
+ type: z.ZodLiteral<"research_topic">;
11
+ name: z.ZodString;
12
+ goal: z.ZodOptional<z.ZodString>;
13
+ intendedOutput: z.ZodOptional<z.ZodString>;
14
+ status: z.ZodEnum<{
15
+ initialized: "initialized";
16
+ collecting_sources: "collecting_sources";
17
+ ready_for_planning: "ready_for_planning";
18
+ researched: "researched";
19
+ }>;
20
+ createdAt: z.ZodString;
21
+ updatedAt: z.ZodString;
22
+ }, z.core.$strip>;
23
+ export declare const topicCorpusManifestSchema: z.ZodObject<{
24
+ id: z.ZodString;
25
+ type: z.ZodLiteral<"topic_corpus">;
26
+ topicId: z.ZodString;
27
+ sourceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
28
+ notebookBindingIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
29
+ notebookSourceManifestIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
30
+ managedNotebookImportIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
31
+ runIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
32
+ createdAt: z.ZodString;
33
+ updatedAt: z.ZodString;
34
+ }, z.core.$strip>;
35
+ export type ResearchTopic = z.infer<typeof researchTopicSchema>;
36
+ export type TopicStatus = z.infer<typeof topicStatusSchema>;
37
+ export type TopicCorpusManifest = z.infer<typeof topicCorpusManifestSchema>;
@@ -0,0 +1,25 @@
1
+ import { z } from "zod";
2
+ export const topicStatusSchema = z.enum(["initialized", "collecting_sources", "ready_for_planning", "researched"]);
3
+ export const researchTopicSchema = z.object({
4
+ id: z.string().min(1),
5
+ type: z.literal("research_topic"),
6
+ name: z.string().min(1),
7
+ goal: z.string().min(1).optional(),
8
+ intendedOutput: z.string().min(1).optional(),
9
+ status: topicStatusSchema,
10
+ createdAt: z.string().datetime(),
11
+ updatedAt: z.string().datetime()
12
+ });
13
+ export const topicCorpusManifestSchema = z.object({
14
+ id: z.string().min(1),
15
+ type: z.literal("topic_corpus"),
16
+ topicId: z.string().min(1),
17
+ sourceIds: z.array(z.string().min(1)).default([]),
18
+ notebookBindingIds: z.array(z.string().min(1)).default([]),
19
+ notebookSourceManifestIds: z.array(z.string().min(1)).default([]),
20
+ managedNotebookImportIds: z.array(z.string().min(1)).default([]),
21
+ runIds: z.array(z.string().min(1)).default([]),
22
+ createdAt: z.string().datetime(),
23
+ updatedAt: z.string().datetime()
24
+ });
25
+ //# sourceMappingURL=topic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/schemas/topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC;AAEnH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,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,CAAC,QAAQ,EAAE;IAC5C,MAAM,EAAE,iBAAiB;IACzB,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,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACjD,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1D,yBAAyB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACjE,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "sourceloop",
3
+ "version": "0.1.1",
4
+ "description": "NotebookLM-centered research orchestration pipeline",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "bin": {
8
+ "sourceloop": "./dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "README.md"
13
+ ],
14
+ "scripts": {
15
+ "build": "tsc -p tsconfig.json",
16
+ "clean": "rm -rf dist coverage",
17
+ "dev": "tsx src/index.ts",
18
+ "prepack": "pnpm build",
19
+ "test": "vitest run",
20
+ "test:watch": "vitest"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/lteawoo/SourceLoop.git"
25
+ },
26
+ "homepage": "https://github.com/lteawoo/SourceLoop#readme",
27
+ "bugs": {
28
+ "url": "https://github.com/lteawoo/SourceLoop/issues"
29
+ },
30
+ "engines": {
31
+ "node": ">=24"
32
+ },
33
+ "dependencies": {
34
+ "commander": "^14.0.3",
35
+ "playwright": "^1.58.2",
36
+ "zod": "^4.3.6"
37
+ },
38
+ "devDependencies": {
39
+ "@types/node": "^25.5.0",
40
+ "tsx": "^4.21.0",
41
+ "typescript": "^6.0.2",
42
+ "vitest": "^4.1.2"
43
+ }
44
+ }