@they-juanreina/compost-cli 0.1.2 → 0.1.4

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 (313) hide show
  1. package/dist/commands/agreement.d.ts +3 -0
  2. package/dist/commands/agreement.d.ts.map +1 -0
  3. package/dist/commands/agreement.js +35 -0
  4. package/dist/commands/agreement.js.map +1 -0
  5. package/dist/commands/backup.d.ts +3 -0
  6. package/dist/commands/backup.d.ts.map +1 -0
  7. package/dist/commands/backup.js +31 -0
  8. package/dist/commands/backup.js.map +1 -0
  9. package/dist/commands/chat.d.ts.map +1 -1
  10. package/dist/commands/chat.js +3 -2
  11. package/dist/commands/chat.js.map +1 -1
  12. package/dist/commands/create.d.ts +1 -0
  13. package/dist/commands/create.d.ts.map +1 -1
  14. package/dist/commands/create.js +39 -1
  15. package/dist/commands/create.js.map +1 -1
  16. package/dist/commands/export.d.ts.map +1 -1
  17. package/dist/commands/export.js +47 -4
  18. package/dist/commands/export.js.map +1 -1
  19. package/dist/commands/import.d.ts +3 -0
  20. package/dist/commands/import.d.ts.map +1 -0
  21. package/dist/commands/import.js +64 -0
  22. package/dist/commands/import.js.map +1 -0
  23. package/dist/commands/ingest.d.ts.map +1 -1
  24. package/dist/commands/ingest.js +1 -0
  25. package/dist/commands/ingest.js.map +1 -1
  26. package/dist/commands/init.d.ts.map +1 -1
  27. package/dist/commands/init.js +2 -0
  28. package/dist/commands/init.js.map +1 -1
  29. package/dist/commands/jobs.d.ts +3 -0
  30. package/dist/commands/jobs.d.ts.map +1 -0
  31. package/dist/commands/jobs.js +105 -0
  32. package/dist/commands/jobs.js.map +1 -0
  33. package/dist/commands/label.d.ts +3 -0
  34. package/dist/commands/label.d.ts.map +1 -0
  35. package/dist/commands/label.js +67 -0
  36. package/dist/commands/label.js.map +1 -0
  37. package/dist/commands/models.d.ts.map +1 -1
  38. package/dist/commands/models.js +2 -1
  39. package/dist/commands/models.js.map +1 -1
  40. package/dist/commands/recode.d.ts +3 -0
  41. package/dist/commands/recode.d.ts.map +1 -0
  42. package/dist/commands/recode.js +60 -0
  43. package/dist/commands/recode.js.map +1 -0
  44. package/dist/commands/reindex.d.ts.map +1 -1
  45. package/dist/commands/reindex.js +19 -7
  46. package/dist/commands/reindex.js.map +1 -1
  47. package/dist/commands/rerun.d.ts +3 -0
  48. package/dist/commands/rerun.d.ts.map +1 -0
  49. package/dist/commands/rerun.js +91 -0
  50. package/dist/commands/rerun.js.map +1 -0
  51. package/dist/commands/search.d.ts.map +1 -1
  52. package/dist/commands/search.js +12 -1
  53. package/dist/commands/search.js.map +1 -1
  54. package/dist/commands/secrets.d.ts +3 -0
  55. package/dist/commands/secrets.d.ts.map +1 -0
  56. package/dist/commands/secrets.js +145 -0
  57. package/dist/commands/secrets.js.map +1 -0
  58. package/dist/commands/setup.d.ts.map +1 -1
  59. package/dist/commands/setup.js +95 -2
  60. package/dist/commands/setup.js.map +1 -1
  61. package/dist/commands/setupItem.d.ts +26 -0
  62. package/dist/commands/setupItem.d.ts.map +1 -0
  63. package/dist/commands/setupItem.js +145 -0
  64. package/dist/commands/setupItem.js.map +1 -0
  65. package/dist/commands/status.d.ts.map +1 -1
  66. package/dist/commands/status.js +2 -1
  67. package/dist/commands/status.js.map +1 -1
  68. package/dist/commands/transcribe.d.ts.map +1 -1
  69. package/dist/commands/transcribe.js +32 -4
  70. package/dist/commands/transcribe.js.map +1 -1
  71. package/dist/commands/validate.d.ts.map +1 -1
  72. package/dist/commands/validate.js +29 -1
  73. package/dist/commands/validate.js.map +1 -1
  74. package/dist/commands/watch.d.ts.map +1 -1
  75. package/dist/commands/watch.js +53 -6
  76. package/dist/commands/watch.js.map +1 -1
  77. package/dist/engine.d.ts +23 -0
  78. package/dist/engine.d.ts.map +1 -0
  79. package/dist/engine.js +32 -0
  80. package/dist/engine.js.map +1 -0
  81. package/dist/errors.d.ts +5 -1
  82. package/dist/errors.d.ts.map +1 -1
  83. package/dist/errors.js +6 -0
  84. package/dist/errors.js.map +1 -1
  85. package/dist/exporters/pdf.d.ts.map +1 -1
  86. package/dist/exporters/pdf.js +2 -1
  87. package/dist/exporters/pdf.js.map +1 -1
  88. package/dist/exporters/prov.d.ts +11 -0
  89. package/dist/exporters/prov.d.ts.map +1 -0
  90. package/dist/exporters/prov.js +151 -0
  91. package/dist/exporters/prov.js.map +1 -0
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +6 -0
  94. package/dist/index.js.map +1 -1
  95. package/dist/legacy_client.d.ts.map +1 -1
  96. package/dist/legacy_client.js +2 -1
  97. package/dist/legacy_client.js.map +1 -1
  98. package/dist/lib/agreement.d.ts +77 -0
  99. package/dist/lib/agreement.d.ts.map +1 -0
  100. package/dist/lib/agreement.js +261 -0
  101. package/dist/lib/agreement.js.map +1 -0
  102. package/dist/lib/artifacts.d.ts +35 -2
  103. package/dist/lib/artifacts.d.ts.map +1 -1
  104. package/dist/lib/artifacts.js +158 -29
  105. package/dist/lib/artifacts.js.map +1 -1
  106. package/dist/lib/backup.d.ts +37 -0
  107. package/dist/lib/backup.d.ts.map +1 -0
  108. package/dist/lib/backup.js +57 -0
  109. package/dist/lib/backup.js.map +1 -0
  110. package/dist/lib/childEnv.d.ts +13 -0
  111. package/dist/lib/childEnv.d.ts.map +1 -0
  112. package/dist/lib/childEnv.js +45 -0
  113. package/dist/lib/childEnv.js.map +1 -0
  114. package/dist/lib/config.d.ts +3 -0
  115. package/dist/lib/config.d.ts.map +1 -1
  116. package/dist/lib/config.js.map +1 -1
  117. package/dist/lib/doctor.d.ts +3 -0
  118. package/dist/lib/doctor.d.ts.map +1 -1
  119. package/dist/lib/doctor.js +24 -1
  120. package/dist/lib/doctor.js.map +1 -1
  121. package/dist/lib/events.d.ts +44 -1
  122. package/dist/lib/events.d.ts.map +1 -1
  123. package/dist/lib/events.js +55 -2
  124. package/dist/lib/events.js.map +1 -1
  125. package/dist/lib/importTranscript.d.ts +16 -0
  126. package/dist/lib/importTranscript.d.ts.map +1 -0
  127. package/dist/lib/importTranscript.js +94 -0
  128. package/dist/lib/importTranscript.js.map +1 -0
  129. package/dist/lib/ingest.d.ts.map +1 -1
  130. package/dist/lib/ingest.js +12 -6
  131. package/dist/lib/ingest.js.map +1 -1
  132. package/dist/lib/journal.d.ts +13 -4
  133. package/dist/lib/journal.d.ts.map +1 -1
  134. package/dist/lib/journal.js +53 -16
  135. package/dist/lib/journal.js.map +1 -1
  136. package/dist/lib/legacyNative.d.ts +17 -0
  137. package/dist/lib/legacyNative.d.ts.map +1 -0
  138. package/dist/lib/legacyNative.js +38 -0
  139. package/dist/lib/legacyNative.js.map +1 -0
  140. package/dist/lib/migrate.d.ts.map +1 -1
  141. package/dist/lib/migrate.js +9 -2
  142. package/dist/lib/migrate.js.map +1 -1
  143. package/dist/lib/nativeRuntime.d.ts +31 -0
  144. package/dist/lib/nativeRuntime.d.ts.map +1 -1
  145. package/dist/lib/nativeRuntime.js +38 -0
  146. package/dist/lib/nativeRuntime.js.map +1 -1
  147. package/dist/lib/pathSafe.d.ts +8 -0
  148. package/dist/lib/pathSafe.d.ts.map +1 -0
  149. package/dist/lib/pathSafe.js +12 -0
  150. package/dist/lib/pathSafe.js.map +1 -0
  151. package/dist/lib/provisionNative.d.ts.map +1 -1
  152. package/dist/lib/provisionNative.js +7 -3
  153. package/dist/lib/provisionNative.js.map +1 -1
  154. package/dist/lib/queue.d.ts +25 -0
  155. package/dist/lib/queue.d.ts.map +1 -1
  156. package/dist/lib/queue.js +70 -3
  157. package/dist/lib/queue.js.map +1 -1
  158. package/dist/lib/reads.d.ts +24 -0
  159. package/dist/lib/reads.d.ts.map +1 -0
  160. package/dist/lib/reads.js +115 -0
  161. package/dist/lib/reads.js.map +1 -0
  162. package/dist/lib/recode.d.ts +19 -0
  163. package/dist/lib/recode.d.ts.map +1 -0
  164. package/dist/lib/recode.js +43 -0
  165. package/dist/lib/recode.js.map +1 -0
  166. package/dist/lib/redact.d.ts +7 -0
  167. package/dist/lib/redact.d.ts.map +1 -0
  168. package/dist/lib/redact.js +45 -0
  169. package/dist/lib/redact.js.map +1 -0
  170. package/dist/lib/rerun.d.ts +51 -0
  171. package/dist/lib/rerun.d.ts.map +1 -0
  172. package/dist/lib/rerun.js +160 -0
  173. package/dist/lib/rerun.js.map +1 -0
  174. package/dist/lib/retrieve.d.ts +8 -4
  175. package/dist/lib/retrieve.d.ts.map +1 -1
  176. package/dist/lib/retrieve.js +14 -3
  177. package/dist/lib/retrieve.js.map +1 -1
  178. package/dist/lib/saturate.js +3 -3
  179. package/dist/lib/saturate.js.map +1 -1
  180. package/dist/lib/schemas.generated.d.ts.map +1 -1
  181. package/dist/lib/schemas.generated.js +28 -0
  182. package/dist/lib/schemas.generated.js.map +1 -1
  183. package/dist/lib/secrets.d.ts +158 -0
  184. package/dist/lib/secrets.d.ts.map +1 -0
  185. package/dist/lib/secrets.js +514 -0
  186. package/dist/lib/secrets.js.map +1 -0
  187. package/dist/lib/seed.d.ts +5 -0
  188. package/dist/lib/seed.d.ts.map +1 -1
  189. package/dist/lib/seed.js +15 -2
  190. package/dist/lib/seed.js.map +1 -1
  191. package/dist/lib/seedResolve.d.ts +5 -0
  192. package/dist/lib/seedResolve.d.ts.map +1 -1
  193. package/dist/lib/seedResolve.js +12 -3
  194. package/dist/lib/seedResolve.js.map +1 -1
  195. package/dist/lib/session.d.ts +14 -0
  196. package/dist/lib/session.d.ts.map +1 -1
  197. package/dist/lib/session.js +53 -4
  198. package/dist/lib/session.js.map +1 -1
  199. package/dist/lib/sessionId.d.ts +9 -0
  200. package/dist/lib/sessionId.d.ts.map +1 -0
  201. package/dist/lib/sessionId.js +37 -0
  202. package/dist/lib/sessionId.js.map +1 -0
  203. package/dist/lib/setup.d.ts +9 -0
  204. package/dist/lib/setup.d.ts.map +1 -1
  205. package/dist/lib/setup.js +97 -29
  206. package/dist/lib/setup.js.map +1 -1
  207. package/dist/lib/setupItem.d.ts +99 -0
  208. package/dist/lib/setupItem.d.ts.map +1 -0
  209. package/dist/lib/setupItem.js +262 -0
  210. package/dist/lib/setupItem.js.map +1 -0
  211. package/dist/lib/setupWizard.d.ts +53 -0
  212. package/dist/lib/setupWizard.d.ts.map +1 -0
  213. package/dist/lib/setupWizard.js +347 -0
  214. package/dist/lib/setupWizard.js.map +1 -0
  215. package/dist/lib/snap.d.ts.map +1 -1
  216. package/dist/lib/snap.js +5 -0
  217. package/dist/lib/snap.js.map +1 -1
  218. package/dist/lib/speakers.d.ts +41 -0
  219. package/dist/lib/speakers.d.ts.map +1 -0
  220. package/dist/lib/speakers.js +78 -0
  221. package/dist/lib/speakers.js.map +1 -0
  222. package/dist/lib/status.d.ts.map +1 -1
  223. package/dist/lib/status.js +21 -0
  224. package/dist/lib/status.js.map +1 -1
  225. package/dist/lib/stdin.d.ts +5 -0
  226. package/dist/lib/stdin.d.ts.map +1 -0
  227. package/dist/lib/stdin.js +12 -0
  228. package/dist/lib/stdin.js.map +1 -0
  229. package/dist/lib/transcribeNative.d.ts +4 -9
  230. package/dist/lib/transcribeNative.d.ts.map +1 -1
  231. package/dist/lib/transcribeNative.js +11 -26
  232. package/dist/lib/transcribeNative.js.map +1 -1
  233. package/dist/lib/userConfig.d.ts +22 -0
  234. package/dist/lib/userConfig.d.ts.map +1 -0
  235. package/dist/lib/userConfig.js +67 -0
  236. package/dist/lib/userConfig.js.map +1 -0
  237. package/dist/lib/validate.d.ts +18 -0
  238. package/dist/lib/validate.d.ts.map +1 -1
  239. package/dist/lib/validate.js +71 -1
  240. package/dist/lib/validate.js.map +1 -1
  241. package/dist/lib/version.d.ts +30 -0
  242. package/dist/lib/version.d.ts.map +1 -0
  243. package/dist/lib/version.js +65 -0
  244. package/dist/lib/version.js.map +1 -0
  245. package/dist/llm/adapter.d.ts +5 -0
  246. package/dist/llm/adapter.d.ts.map +1 -1
  247. package/dist/llm/adapter.js +27 -8
  248. package/dist/llm/adapter.js.map +1 -1
  249. package/dist/llm/http.d.ts +22 -1
  250. package/dist/llm/http.d.ts.map +1 -1
  251. package/dist/llm/http.js +52 -30
  252. package/dist/llm/http.js.map +1 -1
  253. package/dist/llm/providers/anthropic.d.ts.map +1 -1
  254. package/dist/llm/providers/anthropic.js +6 -9
  255. package/dist/llm/providers/anthropic.js.map +1 -1
  256. package/dist/llm/providers/ollama.d.ts.map +1 -1
  257. package/dist/llm/providers/ollama.js +8 -7
  258. package/dist/llm/providers/ollama.js.map +1 -1
  259. package/dist/llm/providers/openai_compatible.d.ts.map +1 -1
  260. package/dist/llm/providers/openai_compatible.js +2 -7
  261. package/dist/llm/providers/openai_compatible.js.map +1 -1
  262. package/dist/logging.d.ts.map +1 -1
  263. package/dist/logging.js +3 -1
  264. package/dist/logging.js.map +1 -1
  265. package/dist/loops/embed_worker.d.ts +3 -0
  266. package/dist/loops/embed_worker.d.ts.map +1 -1
  267. package/dist/loops/embed_worker.js +11 -4
  268. package/dist/loops/embed_worker.js.map +1 -1
  269. package/dist/loops/ingest_watcher.d.ts.map +1 -1
  270. package/dist/loops/ingest_watcher.js +6 -3
  271. package/dist/loops/ingest_watcher.js.map +1 -1
  272. package/dist/loops/legacy_worker.d.ts +28 -1
  273. package/dist/loops/legacy_worker.d.ts.map +1 -1
  274. package/dist/loops/legacy_worker.js +91 -10
  275. package/dist/loops/legacy_worker.js.map +1 -1
  276. package/dist/loops/supervisor.d.ts +7 -0
  277. package/dist/loops/supervisor.d.ts.map +1 -1
  278. package/dist/loops/supervisor.js +17 -2
  279. package/dist/loops/supervisor.js.map +1 -1
  280. package/dist/loops/synthesis.d.ts.map +1 -1
  281. package/dist/loops/synthesis.js +15 -0
  282. package/dist/loops/synthesis.js.map +1 -1
  283. package/dist/loops/transcribe_worker.d.ts +3 -0
  284. package/dist/loops/transcribe_worker.d.ts.map +1 -1
  285. package/dist/loops/transcribe_worker.js +15 -7
  286. package/dist/loops/transcribe_worker.js.map +1 -1
  287. package/dist/output.d.ts +13 -1
  288. package/dist/output.d.ts.map +1 -1
  289. package/dist/output.js +27 -6
  290. package/dist/output.js.map +1 -1
  291. package/dist/render/glyphs.d.ts +30 -0
  292. package/dist/render/glyphs.d.ts.map +1 -0
  293. package/dist/render/glyphs.js +38 -0
  294. package/dist/render/glyphs.js.map +1 -0
  295. package/dist/render/human.d.ts +22 -0
  296. package/dist/render/human.d.ts.map +1 -0
  297. package/dist/render/human.js +62 -0
  298. package/dist/render/human.js.map +1 -0
  299. package/dist/router.d.ts.map +1 -1
  300. package/dist/router.js +32 -4
  301. package/dist/router.js.map +1 -1
  302. package/dist/transcriber_client.d.ts.map +1 -1
  303. package/dist/transcriber_client.js +2 -1
  304. package/dist/transcriber_client.js.map +1 -1
  305. package/package.json +12 -5
  306. package/templates/AGENTS.md +1 -1
  307. package/templates/config.toml +6 -1
  308. package/transcriber/app/diarization.py +36 -6
  309. package/transcriber/app/legacy_cli.py +90 -0
  310. package/transcriber/app/pipeline.py +13 -7
  311. package/transcriber/app/prosody.py +5 -0
  312. package/transcriber/app/transcribe_cli.py +15 -1
  313. package/transcriber/app/vad.py +82 -11
@@ -1,4 +1,14 @@
1
- import { type Event, EventWriter } from '@they-juanreina/compost-provenance';
1
+ import { type AiInputBundle, type Event, EventWriter } from '@they-juanreina/compost-provenance';
2
+ import Database from 'better-sqlite3';
3
+ /** The canonical path to a seed's append-only event ledger — the single source
4
+ * of `<seed>/.compost/events.sqlite`, so a future relocation is one edit. */
5
+ export declare function eventsDbPath(seedPath: string): string;
6
+ /**
7
+ * Open a seed's event ledger read-only. Throws FILE_NOT_FOUND with the caller's
8
+ * message (each mutation phrases its own "nothing to endorse/reject/…") when the
9
+ * ledger doesn't exist yet — surfaced before better-sqlite3's raw open error.
10
+ */
11
+ export declare function openReadonlyEvents(seedPath: string, missingMsg: string): Database.Database;
2
12
  /** Open an EventWriter on a seed's .compost/events.sqlite. */
3
13
  export declare function openSeedEvents(seedPath: string): EventWriter;
4
14
  /** Content-address an artifact's initial state (SHA256 of canonical JSON). */
@@ -10,6 +20,10 @@ export declare function emitAgentCreate(writer: EventWriter, params: {
10
20
  agentName: string;
11
21
  agentVersion: string;
12
22
  batchId?: string;
23
+ /** Reconstructable inputs to this (deterministic) operation. When provided,
24
+ * persisted via recordInputs and linked as the event's input_id so the
25
+ * artifact can be regenerated by `compost rerun`. */
26
+ inputs?: AiInputBundle;
13
27
  }): Event;
14
28
  /**
15
29
  * Author of a researcher- or AI-created artifact. A direct CLI invocation is a
@@ -30,7 +44,14 @@ export declare function emitCreate(writer: EventWriter, params: {
30
44
  artifactKind: string;
31
45
  initialState: Record<string, unknown>;
32
46
  author: Author;
47
+ /** Best-effort captured inputs for an AI create (the host agent may pass them
48
+ * via `compost create --inputs-file`). When provided, persisted and linked as
49
+ * the event's input_id; absent → only prompt_hash survives, as before. */
50
+ inputs?: AiInputBundle;
33
51
  }): Event;
52
+ /** Re-export so call sites can build bundles without importing the provenance
53
+ * package directly. */
54
+ export type { AiInputBundle };
34
55
  /** Emit a researcher `endorse` event chaining the artifact's create event.
35
56
  * Promotes an AI `[draft]` to endorsed (snapshot author becomes hybrid). */
36
57
  export declare function emitEndorse(writer: EventWriter, params: {
@@ -39,4 +60,26 @@ export declare function emitEndorse(writer: EventWriter, params: {
39
60
  parentEventId: string;
40
61
  researcherId: string;
41
62
  }): Event;
63
+ /** Emit a researcher `reject` event chaining the artifact's latest event.
64
+ * Archives the artifact (current_state preserved for audit) — the "delete" of
65
+ * the three-actor model, where nothing is ever truly deleted. */
66
+ export declare function emitReject(writer: EventWriter, params: {
67
+ artifactKind: string;
68
+ artifactId: string;
69
+ parentEventId: string;
70
+ researcherId: string;
71
+ note?: string;
72
+ }): Event;
73
+ /** Emit a researcher `update` event chaining the artifact's latest event. The
74
+ * payload is a field-level patch `{ field, before, after }` (the reducer applies
75
+ * only `after`) so the event log records what changed, not just the new state. */
76
+ export declare function emitUpdate(writer: EventWriter, params: {
77
+ artifactKind: string;
78
+ artifactId: string;
79
+ parentEventId: string;
80
+ author: Author;
81
+ field: string;
82
+ before: unknown;
83
+ after: unknown;
84
+ }): Event;
42
85
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/lib/events.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,KAAK,EAAmB,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAE7F,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAE5D;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,CAExD;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE;IACN,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GACA,KAAK,CAaP;AAED;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;6DAE6D;AAC7D,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtF,KAAK,CAaP;AAED;4EAC4E;AAC5E,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE;IACN,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB,GACA,KAAK,CAUP"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/lib/events.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,KAAK,EAEV,WAAW,EACZ,MAAM,oCAAoC,CAAA;AAC3C,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AAIrC;6EAC6E;AAC7E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAI1F;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAE5D;AAED,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,CAExD;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE;IACN,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;yDAEqD;IACrD,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB,GACA,KAAK,CAeP;AAED;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;6DAE6D;AAC7D,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE;IACN,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,MAAM,EAAE,MAAM,CAAA;IACd;;8EAE0E;IAC1E,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB,GACA,KAAK,CAeP;AAED;uBACuB;AACvB,YAAY,EAAE,aAAa,EAAE,CAAA;AAE7B;4EAC4E;AAC5E,wBAAgB,WAAW,CACzB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE;IACN,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB,GACA,KAAK,CAUP;AAED;;iEAEiE;AACjE,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE;IACN,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,GACA,KAAK,CAUP;AAED;;kFAEkF;AAClF,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE;IACN,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;CACf,GACA,KAAK,CAYP"}
@@ -1,9 +1,28 @@
1
1
  import { createHash } from 'node:crypto';
2
+ import { existsSync } from 'node:fs';
2
3
  import { join } from 'node:path';
3
- import { EventWriter } from '@they-juanreina/compost-provenance';
4
+ import { EventWriter, } from '@they-juanreina/compost-provenance';
5
+ import Database from 'better-sqlite3';
6
+ import { CompostError } from '../errors.js';
7
+ /** The canonical path to a seed's append-only event ledger — the single source
8
+ * of `<seed>/.compost/events.sqlite`, so a future relocation is one edit. */
9
+ export function eventsDbPath(seedPath) {
10
+ return join(seedPath, '.compost', 'events.sqlite');
11
+ }
12
+ /**
13
+ * Open a seed's event ledger read-only. Throws FILE_NOT_FOUND with the caller's
14
+ * message (each mutation phrases its own "nothing to endorse/reject/…") when the
15
+ * ledger doesn't exist yet — surfaced before better-sqlite3's raw open error.
16
+ */
17
+ export function openReadonlyEvents(seedPath, missingMsg) {
18
+ const p = eventsDbPath(seedPath);
19
+ if (!existsSync(p))
20
+ throw new CompostError('FILE_NOT_FOUND', missingMsg);
21
+ return new Database(p, { readonly: true, fileMustExist: true });
22
+ }
4
23
  /** Open an EventWriter on a seed's .compost/events.sqlite. */
5
24
  export function openSeedEvents(seedPath) {
6
- return new EventWriter({ dbPath: join(seedPath, '.compost', 'events.sqlite') });
25
+ return new EventWriter({ dbPath: eventsDbPath(seedPath) });
7
26
  }
8
27
  /** Content-address an artifact's initial state (SHA256 of canonical JSON). */
9
28
  export function artifactId(initialState) {
@@ -11,6 +30,7 @@ export function artifactId(initialState) {
11
30
  }
12
31
  /** Emit an agent-authored `create` event (used by ingest + ingest-watcher). */
13
32
  export function emitAgentCreate(writer, params) {
33
+ const input_id = params.inputs !== undefined ? writer.recordInputs(params.inputs) : undefined;
14
34
  const input = {
15
35
  artifact_kind: params.artifactKind,
16
36
  artifact_id: artifactId(params.initialState),
@@ -20,6 +40,7 @@ export function emitAgentCreate(writer, params) {
20
40
  agent_name: params.agentName,
21
41
  agent_version: params.agentVersion,
22
42
  payload: params.initialState,
43
+ ...(input_id !== undefined ? { input_id } : {}),
23
44
  ...(params.batchId !== undefined ? { batch_id: params.batchId } : {}),
24
45
  };
25
46
  return writer.appendEvent(input);
@@ -29,6 +50,7 @@ export function emitAgentCreate(writer, params) {
29
50
  * lives in initialState.id so blame can map between them. */
30
51
  export function emitCreate(writer, params) {
31
52
  const { author } = params;
53
+ const input_id = params.inputs !== undefined ? writer.recordInputs(params.inputs) : undefined;
32
54
  const input = {
33
55
  artifact_kind: params.artifactKind,
34
56
  artifact_id: artifactId(params.initialState),
@@ -38,6 +60,7 @@ export function emitCreate(writer, params) {
38
60
  payload: params.initialState,
39
61
  ...(author.model !== undefined ? { model: author.model } : {}),
40
62
  ...(author.promptHash !== undefined ? { prompt_hash: author.promptHash } : {}),
63
+ ...(input_id !== undefined ? { input_id } : {}),
41
64
  };
42
65
  return writer.appendEvent(input);
43
66
  }
@@ -54,4 +77,34 @@ export function emitEndorse(writer, params) {
54
77
  payload: { endorsed: true },
55
78
  });
56
79
  }
80
+ /** Emit a researcher `reject` event chaining the artifact's latest event.
81
+ * Archives the artifact (current_state preserved for audit) — the "delete" of
82
+ * the three-actor model, where nothing is ever truly deleted. */
83
+ export function emitReject(writer, params) {
84
+ return writer.appendEvent({
85
+ artifact_kind: params.artifactKind,
86
+ artifact_id: params.artifactId,
87
+ action: 'reject',
88
+ actor_type: 'researcher',
89
+ actor_id: params.researcherId,
90
+ parent_event: params.parentEventId,
91
+ payload: params.note !== undefined ? { note: params.note } : { rejected: true },
92
+ });
93
+ }
94
+ /** Emit a researcher `update` event chaining the artifact's latest event. The
95
+ * payload is a field-level patch `{ field, before, after }` (the reducer applies
96
+ * only `after`) so the event log records what changed, not just the new state. */
97
+ export function emitUpdate(writer, params) {
98
+ return writer.appendEvent({
99
+ artifact_kind: params.artifactKind,
100
+ artifact_id: params.artifactId,
101
+ action: 'update',
102
+ actor_type: params.author.actorType,
103
+ actor_id: params.author.actorId,
104
+ parent_event: params.parentEventId,
105
+ payload: { field: params.field, before: params.before, after: params.after },
106
+ ...(params.author.model !== undefined ? { model: params.author.model } : {}),
107
+ ...(params.author.promptHash !== undefined ? { prompt_hash: params.author.promptHash } : {}),
108
+ });
109
+ }
57
110
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/lib/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAA+B,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAE7F,8DAA8D;AAC9D,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC,CAAA;AACjF,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,UAAU,CAAC,YAAqB;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAChF,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAC7B,MAAmB,EACnB,MAMC;IAED,MAAM,KAAK,GAAe;QACxB,aAAa,EAAE,MAAM,CAAC,YAAY;QAClC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC;QAC5C,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,OAAO;QACnB,QAAQ,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,EAAE;QACtD,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,aAAa,EAAE,MAAM,CAAC,YAAY;QAClC,OAAO,EAAE,MAAM,CAAC,YAAY;QAC5B,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAA;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC;AAeD;;6DAE6D;AAC7D,MAAM,UAAU,UAAU,CACxB,MAAmB,EACnB,MAAuF;IAEvF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IACzB,MAAM,KAAK,GAAe;QACxB,aAAa,EAAE,MAAM,CAAC,YAAY;QAClC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC;QAC5C,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,QAAQ,EAAE,MAAM,CAAC,OAAO;QACxB,OAAO,EAAE,MAAM,CAAC,YAAY;QAC5B,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAA;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC;AAED;4EAC4E;AAC5E,MAAM,UAAU,WAAW,CACzB,MAAmB,EACnB,MAKC;IAED,OAAO,MAAM,CAAC,WAAW,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC,YAAY;QAClC,WAAW,EAAE,MAAM,CAAC,UAAU;QAC9B,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,MAAM,CAAC,YAAY;QAC7B,YAAY,EAAE,MAAM,CAAC,aAAa;QAClC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5B,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/lib/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Transcript } from './transcript.js';
2
+ /**
3
+ * Import an existing speaker + timestamp text transcript (#172) into compost's
4
+ * transcript schema. Recognizes the common shapes:
5
+ * [00:01:23] Name: text [01:23] Name: text
6
+ * 00:01:23 Name: text
7
+ * Name (01:23): text
8
+ * A line with no leading speaker/timestamp continues the previous utterance.
9
+ */
10
+ export interface ImportOptions {
11
+ sessionId: string;
12
+ source?: string;
13
+ language?: string;
14
+ }
15
+ export declare function parseTextTranscript(raw: string, opts: ImportOptions): Transcript;
16
+ //# sourceMappingURL=importTranscript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importTranscript.d.ts","sourceRoot":"","sources":["../../src/lib/importTranscript.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAA0C,MAAM,iBAAiB,CAAA;AAEzF;;;;;;;GAOG;AAEH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AA6CD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,UAAU,CA8DhF"}
@@ -0,0 +1,94 @@
1
+ import { CompostError } from '../errors.js';
2
+ // [ts] Name: text | ts Name: text | Name (ts): text
3
+ const BRACKET_RE = /^\[(\d{1,2}:)?(\d{1,2}):(\d{2})(?:\.\d+)?\]\s*([^:]{1,80}?):\s*(.*)$/;
4
+ const BARE_RE = /^(\d{1,2}:)?(\d{1,2}):(\d{2})\s+([^:]{1,80}?):\s*(.*)$/;
5
+ const PAREN_RE = /^([^:(]{1,80}?)\s*\((\d{1,2}:)?(\d{1,2}):(\d{2})\):\s*(.*)$/;
6
+ function toMs(h, m, s) {
7
+ const hours = h ? Number.parseInt(h, 10) : 0;
8
+ return (hours * 3600 + Number.parseInt(m, 10) * 60 + Number.parseInt(s, 10)) * 1000;
9
+ }
10
+ function parseLine(line) {
11
+ let m = BRACKET_RE.exec(line);
12
+ if (m)
13
+ return {
14
+ ms: toMs(m[1], m[2], m[3]),
15
+ speaker: m[4].trim(),
16
+ text: m[5].trim(),
17
+ };
18
+ m = BARE_RE.exec(line);
19
+ if (m)
20
+ return {
21
+ ms: toMs(m[1], m[2], m[3]),
22
+ speaker: m[4].trim(),
23
+ text: m[5].trim(),
24
+ };
25
+ m = PAREN_RE.exec(line);
26
+ if (m)
27
+ return {
28
+ ms: toMs(m[2], m[3], m[4]),
29
+ speaker: m[1].trim(),
30
+ text: m[5].trim(),
31
+ };
32
+ return null;
33
+ }
34
+ const TAIL_MS = 2000;
35
+ export function parseTextTranscript(raw, opts) {
36
+ const lines = raw.split(/\r?\n/);
37
+ const parsed = [];
38
+ for (const line of lines) {
39
+ if (line.trim() === '')
40
+ continue;
41
+ const hit = parseLine(line);
42
+ if (hit !== null) {
43
+ parsed.push(hit);
44
+ }
45
+ else if (parsed.length > 0) {
46
+ // Continuation of the previous utterance.
47
+ const prev = parsed[parsed.length - 1];
48
+ prev.text = `${prev.text} ${line.trim()}`.trim();
49
+ }
50
+ // A non-matching line before any speaker line is ignored (header/preamble).
51
+ }
52
+ if (parsed.length === 0) {
53
+ throw new CompostError('INVALID_INPUT', 'No "Name: text" lines with timestamps recognized. Expected e.g. "[00:01:23] Juan: ..." or "Juan (01:23): ...".');
54
+ }
55
+ // Assign stable speaker ids in first-seen order; first speaker = moderator.
56
+ const speakerId = new Map();
57
+ const speakers = [];
58
+ for (const p of parsed) {
59
+ if (!speakerId.has(p.speaker)) {
60
+ const id = `S${speakerId.size + 1}`;
61
+ speakerId.set(p.speaker, id);
62
+ speakers.push({
63
+ id,
64
+ name: p.speaker,
65
+ type: speakers.length === 0 ? 'moderator' : 'participant',
66
+ });
67
+ }
68
+ }
69
+ const utterances = parsed.map((p, i) => {
70
+ const next = parsed[i + 1];
71
+ const end_ms = next ? Math.max(next.ms, p.ms + 1) : p.ms + TAIL_MS;
72
+ return {
73
+ id: `U-${String(i + 1).padStart(4, '0')}`,
74
+ speaker_id: speakerId.get(p.speaker),
75
+ turn: i + 1,
76
+ start_ms: p.ms,
77
+ end_ms,
78
+ text: p.text,
79
+ };
80
+ });
81
+ return {
82
+ schema_version: '1.0',
83
+ kind: 'session',
84
+ session_id: opts.sessionId,
85
+ source: opts.source ?? `imported:${opts.sessionId}`,
86
+ language: opts.language ?? 'und',
87
+ duration_ms: utterances[utterances.length - 1]?.end_ms ?? 0,
88
+ modality: ['audio'],
89
+ speakers,
90
+ utterances,
91
+ provenance: { transcriber: 'compost-import@0.1.0' },
92
+ };
93
+ }
94
+ //# sourceMappingURL=importTranscript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importTranscript.js","sourceRoot":"","sources":["../../src/lib/importTranscript.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/lib/ingest.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AA4CD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAwCzE"}
1
+ {"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../src/lib/ingest.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AA4CD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CA8CzE"}
@@ -1,9 +1,9 @@
1
1
  import { existsSync, lstatSync, readdirSync } from 'node:fs';
2
- import { join } from 'node:path';
2
+ import { join, resolve } from 'node:path';
3
3
  import { CompostError } from '../errors.js';
4
4
  import { classify } from './dispatch.js';
5
5
  import { emitAgentCreate, openSeedEvents } from './events.js';
6
- import { JobQueue, stateDbPath } from './queue.js';
6
+ import { JobQueue, stateDbPath, toSeedRelative } from './queue.js';
7
7
  const AGENT_NAME = 'ingest';
8
8
  const AGENT_VERSION = '0.1.0';
9
9
  /**
@@ -55,9 +55,12 @@ function walk(path) {
55
55
  * Each newly-queued file emits an agent-authored `create` event.
56
56
  */
57
57
  export function ingestPath(seedPath, target) {
58
- if (!existsSync(target))
58
+ // Resolve against cwd FIRST: a cwd-relative target stored verbatim would be
59
+ // re-rooted under the seed by the workers (#240) and never found.
60
+ const absTarget = resolve(target);
61
+ if (!existsSync(absTarget))
59
62
  throw new CompostError('FILE_NOT_FOUND', `No such path: ${target}`);
60
- const { files, symlinksSkipped } = walk(target);
63
+ const { files, symlinksSkipped } = walk(absTarget);
61
64
  const queue = new JobQueue(stateDbPath(seedPath));
62
65
  const events = openSeedEvents(seedPath);
63
66
  try {
@@ -71,12 +74,15 @@ export function ingestPath(seedPath, target) {
71
74
  unsupported.push(file);
72
75
  continue;
73
76
  }
74
- const { id, inserted } = queue.enqueue(d.kind, file, { category: d.category, ext: d.ext });
77
+ // Seed-relative for in-seed files (survives a seed move, #240); files
78
+ // outside the seed stay absolute — they're machine-pinned regardless.
79
+ const stored = toSeedRelative(seedPath, file);
80
+ const { id, inserted } = queue.enqueue(d.kind, stored, { category: d.category, ext: d.ext });
75
81
  if (inserted) {
76
82
  queued += 1;
77
83
  emitAgentCreate(events, {
78
84
  artifactKind: 'ingest_job',
79
- initialState: { source_path: file, kind: d.kind, category: d.category },
85
+ initialState: { source_path: stored, kind: d.kind, category: d.category },
80
86
  agentName: AGENT_NAME,
81
87
  agentVersion: AGENT_VERSION,
82
88
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/lib/ingest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/lib/ingest.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,6 @@ export declare function parseVersions(content: string): {
8
8
  draft: string;
9
9
  versions: JournalVersion[];
10
10
  };
11
- /** Append the current draft as a timestamped version section (git-less
12
- * fallback). Returns the new file content. Idempotent if the draft is empty. */
13
- export declare function appendVersion(content: string, ts: string): string;
14
11
  export interface DiffLine {
15
12
  type: 'add' | 'del' | 'ctx';
16
13
  text: string;
@@ -19,5 +16,17 @@ export interface DiffLine {
19
16
  export declare function diffLines(a: string, b: string): DiffLine[];
20
17
  export declare function agentsPath(seedPath: string): string;
21
18
  export declare function readJournal(seedPath: string): string;
22
- export declare function saveJournalVersion(seedPath: string, ts: string): void;
19
+ export type JournalSaveMode = 'git' | 'append';
20
+ export interface JournalSaveResult {
21
+ mode: JournalSaveMode;
22
+ versions: number;
23
+ }
24
+ /**
25
+ * Save a new working draft of the seed's AGENTS.md and snapshot the prior one.
26
+ * When the seed lives inside a git work tree the snapshot is a commit; otherwise
27
+ * the prior draft is recorded as a timestamped inline version so history is
28
+ * never lost. The new draft always becomes the top section either way, so the
29
+ * version/diff UI keeps working. `ts` is supplied by the caller (no clock here).
30
+ */
31
+ export declare function saveJournal(seedPath: string, newDraft: string, ts: string): JournalSaveResult;
23
32
  //# sourceMappingURL=journal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/lib/journal.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED;mDACmD;AACnD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,CAqB5F;AAED;gFACgF;AAChF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAuC1D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAIrE"}
1
+ {"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/lib/journal.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED;mDACmD;AACnD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,CAqB5F;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;CACb;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAuC1D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpD;AA8BD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE9C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,CAoB7F"}
@@ -1,5 +1,7 @@
1
- import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
- import { join } from 'node:path';
1
+ import { spawnSync } from 'node:child_process';
2
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
3
+ import { dirname, join } from 'node:path';
4
+ import { scrubbedEnv } from './childEnv.js';
3
5
  // Prompt-journal version/diff logic (#62). The seed's .compost/AGENTS.md is
4
6
  // the prompt journal loops read. When git is initialized the web UI commits on
5
7
  // save; otherwise we append a timestamped version section so history is never
@@ -33,16 +35,6 @@ export function parseVersions(content) {
33
35
  versions: versions.map((v) => ({ ts: v.ts, body: v.body.trimEnd() })),
34
36
  };
35
37
  }
36
- /** Append the current draft as a timestamped version section (git-less
37
- * fallback). Returns the new file content. Idempotent if the draft is empty. */
38
- export function appendVersion(content, ts) {
39
- const { draft } = parseVersions(content);
40
- if (draft.trim().length === 0)
41
- return content;
42
- const marker = `<!-- compost:version ${ts} -->`;
43
- // The new draft stays at top; the snapshot is recorded below it.
44
- return `${draft}\n\n${marker}\n${draft}\n`;
45
- }
46
38
  /** A minimal line-level diff (LCS) between two versions, for the diff view. */
47
39
  export function diffLines(a, b) {
48
40
  const x = a.split('\n');
@@ -95,10 +87,55 @@ export function readJournal(seedPath) {
95
87
  const p = agentsPath(seedPath);
96
88
  return existsSync(p) ? readFileSync(p, 'utf8') : '';
97
89
  }
98
- export function saveJournalVersion(seedPath, ts) {
90
+ /** Compose an AGENTS.md from a working draft + recorded inline versions. The
91
+ * inverse of parseVersions, so save → load round-trips. */
92
+ function composeJournal(draft, versions) {
93
+ const head = `${draft.trimEnd()}\n`;
94
+ if (versions.length === 0)
95
+ return head;
96
+ const body = versions
97
+ .map((v) => `\n<!-- compost:version ${v.ts} -->\n${v.body.trimEnd()}\n`)
98
+ .join('');
99
+ return `${head}${body}`;
100
+ }
101
+ function isGitWorkTree(dir) {
102
+ const r = spawnSync('git', ['-C', dir, 'rev-parse', '--is-inside-work-tree'], {
103
+ encoding: 'utf8',
104
+ env: scrubbedEnv(),
105
+ });
106
+ return r.status === 0 && r.stdout.trim() === 'true';
107
+ }
108
+ function gitCommitFile(dir, file, message) {
109
+ // git needs no compost secrets — don't expose tokens to hooks/credential helpers.
110
+ spawnSync('git', ['-C', dir, 'add', '--', file], { encoding: 'utf8', env: scrubbedEnv() });
111
+ spawnSync('git', ['-C', dir, 'commit', '-m', message, '--', file], {
112
+ encoding: 'utf8',
113
+ env: scrubbedEnv(),
114
+ });
115
+ }
116
+ /**
117
+ * Save a new working draft of the seed's AGENTS.md and snapshot the prior one.
118
+ * When the seed lives inside a git work tree the snapshot is a commit; otherwise
119
+ * the prior draft is recorded as a timestamped inline version so history is
120
+ * never lost. The new draft always becomes the top section either way, so the
121
+ * version/diff UI keeps working. `ts` is supplied by the caller (no clock here).
122
+ */
123
+ export function saveJournal(seedPath, newDraft, ts) {
99
124
  const p = agentsPath(seedPath);
100
- if (!existsSync(p))
101
- return;
102
- writeFileSync(p, appendVersion(readFileSync(p, 'utf8'), ts), 'utf8');
125
+ mkdirSync(dirname(p), { recursive: true });
126
+ const prior = existsSync(p) ? readFileSync(p, 'utf8') : '';
127
+ const { draft: priorDraft, versions } = parseVersions(prior);
128
+ if (isGitWorkTree(seedPath)) {
129
+ // Git is the history store: write the new draft (preserving any pre-existing
130
+ // inline versions for back-compat) and commit.
131
+ writeFileSync(p, composeJournal(newDraft, versions), 'utf8');
132
+ gitCommitFile(seedPath, p, `journal: update AGENTS.md @ ${ts}`);
133
+ return { mode: 'git', versions: versions.length };
134
+ }
135
+ // Gitless: snapshot the prior draft as a timestamped inline version (newest
136
+ // first), then set the new draft on top.
137
+ const nextVersions = priorDraft.trim().length > 0 ? [{ ts, body: priorDraft }, ...versions] : versions;
138
+ writeFileSync(p, composeJournal(newDraft, nextVersions), 'utf8');
139
+ return { mode: 'append', versions: nextVersions.length };
103
140
  }
104
141
  //# sourceMappingURL=journal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journal.js","sourceRoot":"","sources":["../../src/lib/journal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal.js","sourceRoot":"","sources":["../../src/lib/journal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { LegacyIngestRequest, LegacyIngestResponse } from '../legacy_client.js';
2
+ import { type SpawnImpl } from './nativeRuntime.js';
3
+ export interface NativeLegacyOptions {
4
+ /** Path to a Python (3.11+) interpreter in a venv with the [legacy] deps. */
5
+ python: string;
6
+ /** Directory containing the `app` package (the transcriber/ root). */
7
+ transcriberDir: string;
8
+ spawnImpl?: SpawnImpl;
9
+ }
10
+ /**
11
+ * Native (host) legacy-ingest path (#184): shell out to `app.legacy_cli` so
12
+ * PDF/DOCX/PPTX/CSV/XLSX/TXT ingest works without the Docker transcriber. Returns
13
+ * the same shape as the `/legacy-ingest` route, so the legacy-worker is agnostic
14
+ * to which path ran. Throws CompostError on spawn failure / non-zero exit.
15
+ */
16
+ export declare function legacyIngestNative(req: LegacyIngestRequest, opts: NativeLegacyOptions): LegacyIngestResponse;
17
+ //# sourceMappingURL=legacyNative.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacyNative.d.ts","sourceRoot":"","sources":["../../src/lib/legacyNative.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAEpF,OAAO,EAAgB,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEjE,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,mBAAmB,GACxB,oBAAoB,CA8BtB"}
@@ -0,0 +1,38 @@
1
+ import { CompostError } from '../errors.js';
2
+ import { scrubbedEnv } from './childEnv.js';
3
+ import { runNativeCli } from './nativeRuntime.js';
4
+ /**
5
+ * Native (host) legacy-ingest path (#184): shell out to `app.legacy_cli` so
6
+ * PDF/DOCX/PPTX/CSV/XLSX/TXT ingest works without the Docker transcriber. Returns
7
+ * the same shape as the `/legacy-ingest` route, so the legacy-worker is agnostic
8
+ * to which path ran. Throws CompostError on spawn failure / non-zero exit.
9
+ */
10
+ export function legacyIngestNative(req, opts) {
11
+ const args = [
12
+ '-m',
13
+ 'app.legacy_cli',
14
+ '--seed-path',
15
+ req.seed_path,
16
+ '--source-path',
17
+ req.source_path,
18
+ ];
19
+ if (req.text_col !== undefined)
20
+ args.push('--text-col', req.text_col);
21
+ if (req.speaker_col !== undefined)
22
+ args.push('--speaker-col', req.speaker_col);
23
+ if (req.sheet !== undefined)
24
+ args.push('--sheet', req.sheet);
25
+ const { parsed, status, stderr } = runNativeCli(opts.python, args, {
26
+ cwd: opts.transcriberDir,
27
+ // Legacy document ingest needs no secrets — don't leak tokens to it (#236).
28
+ env: scrubbedEnv(),
29
+ label: 'legacy-ingest',
30
+ startHint: 'Run `compost setup` to provision the native venv, or start the Docker fallback.',
31
+ ...(opts.spawnImpl ? { spawnImpl: opts.spawnImpl } : {}),
32
+ });
33
+ if (status !== 0 || parsed.status === 'failed') {
34
+ throw new CompostError('PROVIDER_ERROR', `native legacy-ingest failed (${parsed.kind ?? 'error'}): ${parsed.error ?? stderr.slice(-400)}`);
35
+ }
36
+ return parsed;
37
+ }
38
+ //# sourceMappingURL=legacyNative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacyNative.js","sourceRoot":"","sources":["../../src/lib/legacyNative.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAA;AAUjE;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAwB,EACxB,IAAyB;IAEzB,MAAM,IAAI,GAAG;QACX,IAAI;QACJ,gBAAgB;QAChB,aAAa;QACb,GAAG,CAAC,SAAS;QACb,eAAe;QACf,GAAG,CAAC,WAAW;KAChB,CAAA;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrE,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;IAC9E,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;IAE5D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAE7C,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;QACnB,GAAG,EAAE,IAAI,CAAC,cAAc;QACxB,4EAA4E;QAC5E,GAAG,EAAE,WAAW,EAAE;QAClB,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE,iFAAiF;QAC5F,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC,CAAA;IACF,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,IAAI,YAAY,CACpB,gBAAgB,EAChB,gCAAgC,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CACjG,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/lib/migrate.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,EAAE,OAAO,CAAA;IACzB,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CA4C3D;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CAoDlF"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/lib/migrate.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB,EAAE,OAAO,CAAA;IACzB,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CA4C3D;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CA0DlF"}