@they-juanreina/compost-cli 0.1.2 → 0.1.3

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 (209) 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/create.d.ts +1 -0
  6. package/dist/commands/create.d.ts.map +1 -1
  7. package/dist/commands/create.js +39 -1
  8. package/dist/commands/create.js.map +1 -1
  9. package/dist/commands/export.d.ts.map +1 -1
  10. package/dist/commands/export.js +47 -4
  11. package/dist/commands/export.js.map +1 -1
  12. package/dist/commands/import.d.ts +3 -0
  13. package/dist/commands/import.d.ts.map +1 -0
  14. package/dist/commands/import.js +59 -0
  15. package/dist/commands/import.js.map +1 -0
  16. package/dist/commands/init.d.ts.map +1 -1
  17. package/dist/commands/init.js +1 -0
  18. package/dist/commands/init.js.map +1 -1
  19. package/dist/commands/jobs.d.ts +3 -0
  20. package/dist/commands/jobs.d.ts.map +1 -0
  21. package/dist/commands/jobs.js +105 -0
  22. package/dist/commands/jobs.js.map +1 -0
  23. package/dist/commands/label.d.ts +3 -0
  24. package/dist/commands/label.d.ts.map +1 -0
  25. package/dist/commands/label.js +67 -0
  26. package/dist/commands/label.js.map +1 -0
  27. package/dist/commands/models.d.ts.map +1 -1
  28. package/dist/commands/models.js +2 -1
  29. package/dist/commands/models.js.map +1 -1
  30. package/dist/commands/recode.d.ts +3 -0
  31. package/dist/commands/recode.d.ts.map +1 -0
  32. package/dist/commands/recode.js +60 -0
  33. package/dist/commands/recode.js.map +1 -0
  34. package/dist/commands/reindex.d.ts.map +1 -1
  35. package/dist/commands/reindex.js +6 -4
  36. package/dist/commands/reindex.js.map +1 -1
  37. package/dist/commands/rerun.d.ts +3 -0
  38. package/dist/commands/rerun.d.ts.map +1 -0
  39. package/dist/commands/rerun.js +91 -0
  40. package/dist/commands/rerun.js.map +1 -0
  41. package/dist/commands/search.d.ts.map +1 -1
  42. package/dist/commands/search.js +2 -1
  43. package/dist/commands/search.js.map +1 -1
  44. package/dist/commands/secrets.d.ts +3 -0
  45. package/dist/commands/secrets.d.ts.map +1 -0
  46. package/dist/commands/secrets.js +143 -0
  47. package/dist/commands/secrets.js.map +1 -0
  48. package/dist/commands/setup.d.ts.map +1 -1
  49. package/dist/commands/setup.js +90 -1
  50. package/dist/commands/setup.js.map +1 -1
  51. package/dist/commands/status.d.ts.map +1 -1
  52. package/dist/commands/status.js +2 -1
  53. package/dist/commands/status.js.map +1 -1
  54. package/dist/commands/transcribe.d.ts.map +1 -1
  55. package/dist/commands/transcribe.js +13 -2
  56. package/dist/commands/transcribe.js.map +1 -1
  57. package/dist/commands/validate.d.ts.map +1 -1
  58. package/dist/commands/validate.js +29 -1
  59. package/dist/commands/validate.js.map +1 -1
  60. package/dist/engine.d.ts +23 -0
  61. package/dist/engine.d.ts.map +1 -0
  62. package/dist/engine.js +32 -0
  63. package/dist/engine.js.map +1 -0
  64. package/dist/exporters/prov.d.ts +11 -0
  65. package/dist/exporters/prov.d.ts.map +1 -0
  66. package/dist/exporters/prov.js +151 -0
  67. package/dist/exporters/prov.js.map +1 -0
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +6 -0
  70. package/dist/index.js.map +1 -1
  71. package/dist/lib/agreement.d.ts +77 -0
  72. package/dist/lib/agreement.d.ts.map +1 -0
  73. package/dist/lib/agreement.js +261 -0
  74. package/dist/lib/agreement.js.map +1 -0
  75. package/dist/lib/artifacts.d.ts +32 -1
  76. package/dist/lib/artifacts.d.ts.map +1 -1
  77. package/dist/lib/artifacts.js +156 -22
  78. package/dist/lib/artifacts.js.map +1 -1
  79. package/dist/lib/config.d.ts +3 -0
  80. package/dist/lib/config.d.ts.map +1 -1
  81. package/dist/lib/config.js.map +1 -1
  82. package/dist/lib/doctor.d.ts +3 -0
  83. package/dist/lib/doctor.d.ts.map +1 -1
  84. package/dist/lib/doctor.js +24 -1
  85. package/dist/lib/doctor.js.map +1 -1
  86. package/dist/lib/events.d.ts +34 -1
  87. package/dist/lib/events.d.ts.map +1 -1
  88. package/dist/lib/events.js +35 -1
  89. package/dist/lib/events.js.map +1 -1
  90. package/dist/lib/importTranscript.d.ts +16 -0
  91. package/dist/lib/importTranscript.d.ts.map +1 -0
  92. package/dist/lib/importTranscript.js +94 -0
  93. package/dist/lib/importTranscript.js.map +1 -0
  94. package/dist/lib/ingest.d.ts.map +1 -1
  95. package/dist/lib/ingest.js +12 -6
  96. package/dist/lib/ingest.js.map +1 -1
  97. package/dist/lib/journal.d.ts +13 -0
  98. package/dist/lib/journal.d.ts.map +1 -1
  99. package/dist/lib/journal.js +49 -2
  100. package/dist/lib/journal.js.map +1 -1
  101. package/dist/lib/legacyNative.d.ts +24 -0
  102. package/dist/lib/legacyNative.d.ts.map +1 -0
  103. package/dist/lib/legacyNative.js +51 -0
  104. package/dist/lib/legacyNative.js.map +1 -0
  105. package/dist/lib/provisionNative.js +1 -1
  106. package/dist/lib/provisionNative.js.map +1 -1
  107. package/dist/lib/queue.d.ts +25 -0
  108. package/dist/lib/queue.d.ts.map +1 -1
  109. package/dist/lib/queue.js +70 -3
  110. package/dist/lib/queue.js.map +1 -1
  111. package/dist/lib/reads.d.ts +24 -0
  112. package/dist/lib/reads.d.ts.map +1 -0
  113. package/dist/lib/reads.js +115 -0
  114. package/dist/lib/reads.js.map +1 -0
  115. package/dist/lib/recode.d.ts +19 -0
  116. package/dist/lib/recode.d.ts.map +1 -0
  117. package/dist/lib/recode.js +43 -0
  118. package/dist/lib/recode.js.map +1 -0
  119. package/dist/lib/rerun.d.ts +51 -0
  120. package/dist/lib/rerun.d.ts.map +1 -0
  121. package/dist/lib/rerun.js +166 -0
  122. package/dist/lib/rerun.js.map +1 -0
  123. package/dist/lib/retrieve.d.ts +8 -4
  124. package/dist/lib/retrieve.d.ts.map +1 -1
  125. package/dist/lib/retrieve.js +12 -2
  126. package/dist/lib/retrieve.js.map +1 -1
  127. package/dist/lib/schemas.generated.d.ts.map +1 -1
  128. package/dist/lib/schemas.generated.js +28 -0
  129. package/dist/lib/schemas.generated.js.map +1 -1
  130. package/dist/lib/secrets.d.ts +158 -0
  131. package/dist/lib/secrets.d.ts.map +1 -0
  132. package/dist/lib/secrets.js +507 -0
  133. package/dist/lib/secrets.js.map +1 -0
  134. package/dist/lib/seed.d.ts +5 -0
  135. package/dist/lib/seed.d.ts.map +1 -1
  136. package/dist/lib/seed.js +15 -2
  137. package/dist/lib/seed.js.map +1 -1
  138. package/dist/lib/session.d.ts +14 -0
  139. package/dist/lib/session.d.ts.map +1 -1
  140. package/dist/lib/session.js +47 -0
  141. package/dist/lib/session.js.map +1 -1
  142. package/dist/lib/setup.d.ts +5 -0
  143. package/dist/lib/setup.d.ts.map +1 -1
  144. package/dist/lib/setup.js +69 -6
  145. package/dist/lib/setup.js.map +1 -1
  146. package/dist/lib/setupWizard.d.ts +51 -0
  147. package/dist/lib/setupWizard.d.ts.map +1 -0
  148. package/dist/lib/setupWizard.js +223 -0
  149. package/dist/lib/setupWizard.js.map +1 -0
  150. package/dist/lib/speakers.d.ts +41 -0
  151. package/dist/lib/speakers.d.ts.map +1 -0
  152. package/dist/lib/speakers.js +78 -0
  153. package/dist/lib/speakers.js.map +1 -0
  154. package/dist/lib/status.d.ts.map +1 -1
  155. package/dist/lib/status.js +21 -0
  156. package/dist/lib/status.js.map +1 -1
  157. package/dist/lib/userConfig.d.ts +22 -0
  158. package/dist/lib/userConfig.d.ts.map +1 -0
  159. package/dist/lib/userConfig.js +67 -0
  160. package/dist/lib/userConfig.js.map +1 -0
  161. package/dist/lib/validate.d.ts +18 -0
  162. package/dist/lib/validate.d.ts.map +1 -1
  163. package/dist/lib/validate.js +70 -1
  164. package/dist/lib/validate.js.map +1 -1
  165. package/dist/lib/version.d.ts +30 -0
  166. package/dist/lib/version.d.ts.map +1 -0
  167. package/dist/lib/version.js +73 -0
  168. package/dist/lib/version.js.map +1 -0
  169. package/dist/llm/adapter.d.ts.map +1 -1
  170. package/dist/llm/adapter.js +2 -0
  171. package/dist/llm/adapter.js.map +1 -1
  172. package/dist/llm/providers/ollama.d.ts.map +1 -1
  173. package/dist/llm/providers/ollama.js +6 -0
  174. package/dist/llm/providers/ollama.js.map +1 -1
  175. package/dist/loops/ingest_watcher.d.ts.map +1 -1
  176. package/dist/loops/ingest_watcher.js +6 -3
  177. package/dist/loops/ingest_watcher.js.map +1 -1
  178. package/dist/loops/legacy_worker.d.ts +28 -1
  179. package/dist/loops/legacy_worker.d.ts.map +1 -1
  180. package/dist/loops/legacy_worker.js +81 -9
  181. package/dist/loops/legacy_worker.js.map +1 -1
  182. package/dist/loops/supervisor.d.ts +3 -0
  183. package/dist/loops/supervisor.d.ts.map +1 -1
  184. package/dist/loops/supervisor.js +11 -0
  185. package/dist/loops/supervisor.js.map +1 -1
  186. package/dist/loops/synthesis.d.ts.map +1 -1
  187. package/dist/loops/synthesis.js +15 -0
  188. package/dist/loops/synthesis.js.map +1 -1
  189. package/dist/loops/transcribe_worker.d.ts.map +1 -1
  190. package/dist/loops/transcribe_worker.js +2 -3
  191. package/dist/loops/transcribe_worker.js.map +1 -1
  192. package/dist/output.d.ts +13 -1
  193. package/dist/output.d.ts.map +1 -1
  194. package/dist/output.js +22 -2
  195. package/dist/output.js.map +1 -1
  196. package/dist/render/human.d.ts +20 -0
  197. package/dist/render/human.d.ts.map +1 -0
  198. package/dist/render/human.js +54 -0
  199. package/dist/render/human.js.map +1 -0
  200. package/dist/router.d.ts.map +1 -1
  201. package/dist/router.js +17 -2
  202. package/dist/router.js.map +1 -1
  203. package/package.json +12 -5
  204. package/templates/config.toml +6 -1
  205. package/transcriber/app/diarization.py +36 -6
  206. package/transcriber/app/legacy_cli.py +90 -0
  207. package/transcriber/app/pipeline.py +13 -7
  208. package/transcriber/app/prosody.py +5 -0
  209. package/transcriber/app/vad.py +82 -11
@@ -0,0 +1,166 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { EventWriter, inputId } from '@they-juanreina/compost-provenance';
4
+ import Database from 'better-sqlite3';
5
+ import { CompostError } from '../errors.js';
6
+ import { HUMAN_REF_RE } from './artifacts.js';
7
+ /** Resolve an artifact ref (event ULID, human id, SHA prefix, or latest:<kind>) to
8
+ * its `create` event row. For a non-create event id, falls back to the artifact's
9
+ * create. Mirrors blame/endorse ref handling. */
10
+ function resolveCreateEvent(db, ref) {
11
+ const cols = 'id, artifact_kind, artifact_id, actor_type, model, input_id, payload';
12
+ // Direct event ULID.
13
+ if (/^[0-9A-HJKMNP-TV-Z]{26}$/.test(ref)) {
14
+ const row = db.prepare(`SELECT ${cols}, action FROM events WHERE id = ?`).get(ref);
15
+ if (row === undefined)
16
+ return undefined;
17
+ if (row.action === 'create')
18
+ return row;
19
+ return db
20
+ .prepare(`SELECT ${cols} FROM events WHERE artifact_id = ? AND action='create' ORDER BY ts, rowid LIMIT 1`)
21
+ .get(row.artifact_id);
22
+ }
23
+ // Human id (C-slug / H-NNN / T-slug) stored in create payload.id.
24
+ if (HUMAN_REF_RE.test(ref)) {
25
+ return db
26
+ .prepare(`SELECT ${cols} FROM events WHERE action='create' AND json_extract(payload, '$.id') = ? ORDER BY ts, rowid LIMIT 1`)
27
+ .get(ref);
28
+ }
29
+ // latest:<kind>=<seed>
30
+ const latest = /^latest:(\w+)=/.exec(ref);
31
+ if (latest) {
32
+ return db
33
+ .prepare(`SELECT ${cols} FROM events WHERE artifact_kind = ? AND action='create' ORDER BY ts DESC, rowid DESC LIMIT 1`)
34
+ .get(latest[1]);
35
+ }
36
+ // SHA256 prefix.
37
+ if (/^[a-f0-9]{8,64}$/i.test(ref)) {
38
+ return db
39
+ .prepare(`SELECT ${cols} FROM events WHERE artifact_id LIKE ? AND action='create' ORDER BY ts, rowid LIMIT 1`)
40
+ .get(`${ref.toLowerCase()}%`);
41
+ }
42
+ return undefined;
43
+ }
44
+ /** Shallow field-level diff between two payload objects. */
45
+ export function diffPayload(before, after) {
46
+ const a = (before ?? {});
47
+ const b = (after ?? {});
48
+ const keys = [...new Set([...Object.keys(a), ...Object.keys(b)])].sort();
49
+ const fields = [];
50
+ for (const field of keys) {
51
+ if (JSON.stringify(a[field]) !== JSON.stringify(b[field])) {
52
+ fields.push({ field, before: a[field], after: b[field] });
53
+ }
54
+ }
55
+ return { changed: fields.length > 0, fields };
56
+ }
57
+ /**
58
+ * Rerun an AI/agent generation from its captured inputs.
59
+ *
60
+ * Default (no apply): VERIFY — confirm the stored bundle hashes back to the
61
+ * event's input_id (the inputs are intact and reconstructable). With `apply`:
62
+ * REGENERATE via the injected generator, emit a new event chained to the original
63
+ * (parent_event), and diff the payloads. LLM regeneration is non-deterministic, so
64
+ * an `ai` diff is fuzzy; a deterministic `agent` reproduces exactly.
65
+ */
66
+ export async function rerunEvent(seedPath, opts) {
67
+ const eventsDb = join(seedPath, '.compost', 'events.sqlite');
68
+ if (!existsSync(eventsDb)) {
69
+ throw new CompostError('FILE_NOT_FOUND', 'No events.sqlite in seed; nothing to rerun.');
70
+ }
71
+ // Resolve target (read-only connection).
72
+ const rdb = new Database(eventsDb, { readonly: true, fileMustExist: true });
73
+ let target;
74
+ try {
75
+ target = resolveCreateEvent(rdb, opts.ref);
76
+ }
77
+ finally {
78
+ rdb.close();
79
+ }
80
+ if (target === undefined) {
81
+ throw new CompostError('FILE_NOT_FOUND', `No create event found for ref "${opts.ref}".`);
82
+ }
83
+ if (target.input_id === null) {
84
+ throw new CompostError('INVALID_INPUT', `Event ${target.id} has no captured inputs (input_id is NULL — pre-migration, or a hash-only host create). It cannot be rerun; only events whose inputs were captured are reconstructable.`);
85
+ }
86
+ // Load inputs + integrity-check via a writer connection (also used to append).
87
+ const writer = new EventWriter({ dbPath: eventsDb });
88
+ try {
89
+ const inputs = writer.readInputs(target.input_id);
90
+ if (inputs === undefined) {
91
+ throw new CompostError('INTERNAL', `input_id ${target.input_id} referenced by event ${target.id} is missing from ai_inputs.`);
92
+ }
93
+ const integrity_ok = inputId({
94
+ model: inputs.model,
95
+ params: inputs.params,
96
+ system_prompt: inputs.system_prompt,
97
+ prompt: inputs.prompt,
98
+ context: inputs.context,
99
+ }) === target.input_id;
100
+ const base = {
101
+ status: 'verified',
102
+ artifact_id: target.artifact_id,
103
+ artifact_kind: target.artifact_kind,
104
+ create_event_id: target.id,
105
+ actor_type: target.actor_type,
106
+ model: target.model,
107
+ integrity_ok,
108
+ };
109
+ if (opts.apply !== true) {
110
+ return {
111
+ ...base,
112
+ note: 'Verify-only. Pass --apply to regenerate the output under the (optionally overridden) model and diff it.',
113
+ };
114
+ }
115
+ if (opts.regenerate === undefined) {
116
+ throw new CompostError('CONFIG_ERROR', 'Regeneration is not wired for this actor type yet. Inputs are intact and reconstructable; --apply regeneration currently requires an injected generator (LLM path needs a configured provider).');
117
+ }
118
+ const newPayload = await opts.regenerate(inputs, {
119
+ actorType: target.actor_type,
120
+ ...(opts.modelOverride !== undefined ? { modelOverride: opts.modelOverride } : {}),
121
+ });
122
+ const appliedModel = opts.modelOverride ?? inputs.model;
123
+ // Emit the regenerated output, chained to the original create.
124
+ const rerunInputId = writer.recordInputs({
125
+ model: appliedModel,
126
+ params: inputs.params,
127
+ system_prompt: inputs.system_prompt,
128
+ prompt: inputs.prompt,
129
+ context: inputs.context,
130
+ });
131
+ const isAi = target.actor_type === 'ai';
132
+ const rerun = writer.appendEvent({
133
+ artifact_kind: target.artifact_kind,
134
+ artifact_id: target.artifact_id,
135
+ action: 'update',
136
+ actor_type: isAi ? 'ai' : 'agent',
137
+ actor_id: isAi ? appliedModel : `${target.model ?? 'agent'}`,
138
+ ...(isAi ? { model: appliedModel, prompt_hash: rerunInputId } : {}),
139
+ ...(!isAi ? { agent_name: 'rerun', agent_version: '0.1.0' } : {}),
140
+ input_id: rerunInputId,
141
+ parent_event: target.id,
142
+ batch_id: `rerun:${target.id}`,
143
+ payload: { rerun_of: target.id, ...newPayload },
144
+ });
145
+ return {
146
+ ...base,
147
+ status: 'regenerated',
148
+ regenerated_event_id: rerun.id,
149
+ applied_model: appliedModel,
150
+ diff: diffPayload(safeParse(target.payload), newPayload),
151
+ };
152
+ }
153
+ finally {
154
+ writer.close();
155
+ }
156
+ }
157
+ function safeParse(s) {
158
+ try {
159
+ const v = JSON.parse(s);
160
+ return v !== null && typeof v === 'object' ? v : {};
161
+ }
162
+ catch {
163
+ return {};
164
+ }
165
+ }
166
+ //# sourceMappingURL=rerun.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rerun.js","sourceRoot":"","sources":["../../src/lib/rerun.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,11 @@ import { type CompostConfig } from './config.js';
5
5
  * `compost chat` (retrieval + LLM synthesis). Extracted so the two commands
6
6
  * never diverge on how the corpus is loaded, chunked, and ranked.
7
7
  *
8
- * Retrieval is BM25-only today: HybridRetriever's dense slot is null because
9
- * nothing reads the LanceDB index the embed-worker writes (#137). Wiring
10
- * LanceDBRetriever into this shared path is a follow-up that upgrades both
11
- * `search` and `chat` ranking at once see the tracking issue.
8
+ * Retrieval is hybrid: when a LanceDB index and an embeddings provider are
9
+ * both present, BM25 dense results are fused via RRF (HybridRetriever's dense
10
+ * slot is filled by buildDenseRetriever, which reads the index the embed-worker
11
+ * writes). When either is missing it falls back to BM25-only. `search` and
12
+ * `chat` share this path, so both rank the same way.
12
13
  */
13
14
  export interface LoadedCorpus {
14
15
  chunks: Chunk[];
@@ -27,6 +28,9 @@ export interface RetrieveOptions {
27
28
  /** Dense retriever (LanceDB). When provided, retrieval is BM25 ∪ dense fused
28
29
  * via RRF. When null/omitted, BM25-only. Inject via buildDenseRetriever. */
29
30
  dense?: DenseRetriever | null;
31
+ /** Collapse near-duplicate chunks covering the same region before the topK cut
32
+ * (#170). Default true; set false for the raw fused ranking. */
33
+ dedupe?: boolean;
30
34
  }
31
35
  export interface RetrieveResult {
32
36
  retrieved: ScoredChunk[];
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../../src/lib/retrieve.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,KAAK,EAGV,KAAK,cAAc,EACnB,KAAK,WAAW,EAGhB,KAAK,WAAW,EACjB,MAAM,mCAAmC,CAAA;AAG1C,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,aAAa,CAAA;AAE5D;;;;;;;;;GASG;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,WAAW,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAoB7D;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;gFAC4E;IAC5E,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,aAAa,CAAA;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,cAAc,CAAC,CAWzB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAyBhC"}
1
+ {"version":3,"file":"retrieve.d.ts","sourceRoot":"","sources":["../../src/lib/retrieve.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,KAAK,EAGV,KAAK,cAAc,EAEnB,KAAK,WAAW,EAGhB,KAAK,WAAW,EACjB,MAAM,mCAAmC,CAAA;AAG1C,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,aAAa,CAAA;AAE5D;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,WAAW,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CAoB7D;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;gFAC4E;IAC5E,KAAK,CAAC,EAAE,cAAc,GAAG,IAAI,CAAA;IAC7B;oEACgE;IAChE,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,MAAM,EAAE,YAAY,CAAA;IACpB,IAAI,EAAE,aAAa,CAAA;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,cAAc,CAAC,CAsBzB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAyBhC"}
@@ -1,6 +1,6 @@
1
1
  import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- import { BM25Index, chunkTranscript, HybridRetriever, openLanceDBForRead, } from '@they-juanreina/compost-retrieval';
3
+ import { BM25Index, chunkTranscript, dedupeByRegion, HybridRetriever, openLanceDBForRead, } from '@they-juanreina/compost-retrieval';
4
4
  import { LLMAdapter } from '../llm/adapter.js';
5
5
  import { loadConfig } from './config.js';
6
6
  /**
@@ -42,10 +42,20 @@ export async function retrieveChunks(seedPath, query, opts = {}) {
42
42
  const mode = dense ? 'hybrid' : 'bm25';
43
43
  if (corpus.chunks.length === 0)
44
44
  return { retrieved: [], corpus, mode };
45
+ const topK = opts.topK ?? 8;
45
46
  const bm25 = new BM25Index();
46
47
  bm25.addAll(corpus.chunks);
47
48
  const retriever = new HybridRetriever(bm25, dense);
48
- const retrieved = await retriever.retrieve(query, { topK: opts.topK ?? 8 });
49
+ if (opts.dedupe === false) {
50
+ const retrieved = await retriever.retrieve(query, { topK });
51
+ return { retrieved, corpus, mode };
52
+ }
53
+ // Over-fetch a pool, collapse same-region near-duplicates (#170), then cut to
54
+ // topK — so top-k holds topK *distinct* regions, not the same phrase repeated
55
+ // as a solo utterance + several overlapping windows.
56
+ const pool = Math.max(topK * 5, 50);
57
+ const fused = await retriever.retrieve(query, { topK: pool });
58
+ const retrieved = dedupeByRegion(fused).slice(0, topK);
49
59
  return { retrieved, corpus, mode };
50
60
  }
51
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"retrieve.js","sourceRoot":"","sources":["../../src/lib/retrieve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieve.js","sourceRoot":"","sources":["../../src/lib/retrieve.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.generated.d.ts","sourceRoot":"","sources":["../../src/lib/schemas.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAyDjD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAsDjD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CA0KjD,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmDnD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CA+IjD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CA6drD,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO/D,CAAA"}
1
+ {"version":3,"file":"schemas.generated.d.ts","sourceRoot":"","sources":["../../src/lib/schemas.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAyDjD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAsDjD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CA+KjD,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAmDnD,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CA+IjD,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAofrD,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO/D,CAAA"}
@@ -198,6 +198,11 @@ export const EVENTS_SCHEMA = {
198
198
  "type": "string",
199
199
  "description": "Required when actor_type=ai. The model that produced the suggestion (e.g. anthropic:claude-opus-4-7, ollama:llama3.1:8b)."
200
200
  },
201
+ "input_id": {
202
+ "type": "string",
203
+ "pattern": "^[a-f0-9]{64}$",
204
+ "description": "Content-address (sha256) of the persisted input bundle in the ai_inputs table that produced this event's output. Set on AI/agent generations whose inputs were captured; absent for researcher events and hash-only host-agent creates. Unlike prompt_hash (a one-way digest), the referenced bundle is reconstructable — it backs `compost rerun` and a PROV-O export's prov:used relations."
205
+ },
201
206
  "payload": {
202
207
  "description": "Action-specific JSON payload. The structure varies by (artifact_kind, action) pair and is validated separately by the CLI when serializing/deserializing.",
203
208
  "oneOf": [
@@ -517,6 +522,13 @@ export const TRANSCRIPT_SCHEMA = {
517
522
  "default": "session",
518
523
  "description": "session = recorded interview; document = legacy PDF/DOCX/PPTX/CSV normalized into a transcript-shaped doc."
519
524
  },
525
+ "status": {
526
+ "enum": [
527
+ "ok",
528
+ "needs_speaker_labels"
529
+ ],
530
+ "description": "Optional pipeline status. Absent ⇒ ok. The diarizer sets \"needs_speaker_labels\" when mean speaker-assignment confidence falls below its floor, queueing the session for human speaker labelling. Job-level failure (failed_transcription) is never written here — a failed run produces no transcript."
531
+ },
520
532
  "session_id": {
521
533
  "type": "string",
522
534
  "pattern": "^[A-Za-z0-9_-]+$",
@@ -667,6 +679,9 @@ export const TRANSCRIPT_SCHEMA = {
667
679
  "prosody": {
668
680
  "$ref": "#/$defs/prosody"
669
681
  },
682
+ "diarization": {
683
+ "$ref": "#/$defs/utteranceDiarization"
684
+ },
670
685
  "annotation": {
671
686
  "type": "string",
672
687
  "description": "Free-text editorial layer. May be human-authored, agent-authored, or AI-suggested. Provenance lives in .compost/events.sqlite — this field is a snapshot of current text only."
@@ -731,6 +746,19 @@ export const TRANSCRIPT_SCHEMA = {
731
746
  }
732
747
  }
733
748
  },
749
+ "utteranceDiarization": {
750
+ "type": "object",
751
+ "additionalProperties": false,
752
+ "description": "Per-utterance diarization metadata from the pyannote alignment. Distinct from prosody (acoustic hints); this records how the speaker_id was assigned.",
753
+ "properties": {
754
+ "confidence": {
755
+ "type": "number",
756
+ "minimum": 0,
757
+ "maximum": 1,
758
+ "description": "Fraction of this utterance's span overlapped by the winning speaker turn (0..1). 0.0 marks a nearest-turn fallback assignment (no verified overlap), which counts against the session's mean-confidence gate."
759
+ }
760
+ }
761
+ },
734
762
  "silence": {
735
763
  "type": "object",
736
764
  "required": [
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.generated.js","sourceRoot":"","sources":["../../src/lib/schemas.generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.generated.js","sourceRoot":"","sources":["../../src/lib/schemas.generated.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oBAAoB;AACpB,MAAM,CAAC,MAAM,aAAa,GAA4B;IACpD,SAAS,EAAE,8CAA8C;IACzD,KAAK,EAAE,4CAA4C;IACnD,OAAO,EAAE,yBAAyB;IAClC,aAAa,EAAE,oIAAoI;IACnJ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE;QACV,QAAQ;QACR,QAAQ;KACT;IACD,sBAAsB,EAAE,KAAK;IAC7B,YAAY,EAAE;QACZ,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;SACf;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,MAAM,EAAE,eAAe;aACxB;SACF;QACD,uBAAuB,EAAE;YACvB,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,kFAAkF;SAClG;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,OAAO;gBACP,cAAc;gBACd,YAAY;gBACZ,YAAY;aACb;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,OAAO,EAAE;oBACP,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,CAAC;iBACf;gBACD,cAAc,EAAE;oBACd,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,eAAe;iBAC3B;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;iBACjB;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,CAAC;iBACb;aACF;SACF;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAA4B;IACpD,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,4BAA4B;IACrC,aAAa,EAAE,mPAAmP;IAClQ,OAAO,EAAE;QACP;YACE,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,uIAAuI;YACtJ,kBAAkB,EAAE,GAAG;YACvB,QAAQ,EAAE,OAAO;SAClB;QACD;YACE,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,qHAAqH;YACpI,kBAAkB,EAAE,GAAG;YACvB,QAAQ,EAAE,OAAO;SAClB;QACD;YACE,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,mFAAmF;YAClG,kBAAkB,EAAE,IAAI;YACxB,QAAQ,EAAE,OAAO;SAClB;QACD;YACE,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,oEAAoE;YACnF,kBAAkB,EAAE,IAAI;YACxB,QAAQ,EAAE,OAAO;SAClB;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,aAAa,EAAE,qHAAqH;YACpI,kBAAkB,EAAE,GAAG;YACvB,QAAQ,EAAE,OAAO;SAClB;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,aAAa,EAAE,4GAA4G;YAC3H,kBAAkB,EAAE,GAAG;YACvB,QAAQ,EAAE,OAAO;SAClB;QACD;YACE,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,+FAA+F;YAC9G,kBAAkB,EAAE,GAAG;YACvB,QAAQ,EAAE,OAAO;SAClB;QACD;YACE,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,oIAAoI;YACnJ,kBAAkB,EAAE,IAAI;YACxB,QAAQ,EAAE,OAAO;SAClB;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAA4B;IACpD,SAAS,EAAE,8CAA8C;IACzD,KAAK,EAAE,2CAA2C;IAClD,OAAO,EAAE,0BAA0B;IACnC,aAAa,EAAE,uJAAuJ;IACtK,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE;QACV,IAAI;QACJ,IAAI;QACJ,eAAe;QACf,aAAa;QACb,QAAQ;QACR,YAAY;QACZ,UAAU;QACV,SAAS;KACV;IACD,sBAAsB,EAAE,KAAK;IAC7B,YAAY,EAAE;QACZ,IAAI,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,0BAA0B;YACrC,aAAa,EAAE,kEAAkE;SAClF;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,WAAW;YACrB,aAAa,EAAE,gDAAgD;SAChE;QACD,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,8OAA8O;SAC9P;QACD,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,gBAAgB;YAC3B,aAAa,EAAE,gFAAgF;SAChG;QACD,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN,QAAQ;gBACR,QAAQ;gBACR,SAAS;gBACT,QAAQ;gBACR,MAAM;gBACN,QAAQ;aACT;YACD,aAAa,EAAE,iJAAiJ;SACjK;QACD,YAAY,EAAE;YACZ,MAAM,EAAE;gBACN,YAAY;gBACZ,OAAO;gBACP,IAAI;aACL;YACD,aAAa,EAAE,oJAAoJ;SACpK;QACD,UAAU,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,uHAAuH;SACvI;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,wGAAwG;SACxH;QACD,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,yCAAyC;SACzD;QACD,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,gBAAgB;YAC3B,aAAa,EAAE,sIAAsI;SACtJ;QACD,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,2HAA2H;SAC3I;QACD,UAAU,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,gBAAgB;YAC3B,aAAa,EAAE,+XAA+X;SAC/Y;QACD,SAAS,EAAE;YACT,aAAa,EAAE,2JAA2J;YAC1K,OAAO,EAAE;gBACP;oBACE,MAAM,EAAE,QAAQ;iBACjB;gBACD;oBACE,MAAM,EAAE,OAAO;iBAChB;gBACD;oBACE,MAAM,EAAE,MAAM;iBACf;aACF;SACF;QACD,cAAc,EAAE;YACd,MAAM,EAAE;gBACN,QAAQ;gBACR,MAAM;aACP;YACD,SAAS,EAAE,0BAA0B;YACrC,aAAa,EAAE,4NAA4N;SAC5O;QACD,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,QAAQ;gBACR,MAAM;aACP;YACD,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,oGAAoG;SACpH;KACF;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE;gBACJ,YAAY,EAAE;oBACZ,YAAY,EAAE;wBACZ,OAAO,EAAE,OAAO;qBACjB;iBACF;gBACD,UAAU,EAAE;oBACV,YAAY;iBACb;aACF;YACD,MAAM,EAAE;gBACN,UAAU,EAAE;oBACV,YAAY;oBACZ,eAAe;iBAChB;aACF;SACF;QACD;YACE,IAAI,EAAE;gBACJ,YAAY,EAAE;oBACZ,YAAY,EAAE;wBACZ,OAAO,EAAE,IAAI;qBACd;iBACF;gBACD,UAAU,EAAE;oBACV,YAAY;iBACb;aACF;YACD,MAAM,EAAE;gBACN,UAAU,EAAE;oBACV,OAAO;oBACP,aAAa;iBACd;aACF;SACF;QACD;YACE,IAAI,EAAE;gBACJ,YAAY,EAAE;oBACZ,QAAQ,EAAE;wBACR,MAAM,EAAE;4BACN,SAAS;4BACT,QAAQ;4BACR,QAAQ;4BACR,QAAQ;yBACT;qBACF;iBACF;gBACD,UAAU,EAAE;oBACV,QAAQ;iBACT;aACF;YACD,MAAM,EAAE;gBACN,UAAU,EAAE;oBACV,cAAc;iBACf;aACF;SACF;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,SAAS,EAAE,KAAK;IAChB,OAAO,EAAE,+BAA+B;IACxC,aAAa,EAAE,+UAA+U;IAC9V,UAAU,EAAE;QACV;YACE,SAAS,EAAE,wBAAwB;YACnC,aAAa,EAAE,mIAAmI;YAClJ,iBAAiB,EAAE,IAAI;SACxB;QACD;YACE,SAAS,EAAE,uBAAuB;YAClC,aAAa,EAAE,mHAAmH;YAClI,iBAAiB,EAAE,IAAI;SACxB;QACD;YACE,SAAS,EAAE,kBAAkB;YAC7B,aAAa,EAAE,uFAAuF;YACtG,iBAAiB,EAAE,IAAI;SACxB;QACD;YACE,SAAS,EAAE,sBAAsB;YACjC,aAAa,EAAE,4FAA4F;YAC3G,iBAAiB,EAAE,IAAI;SACxB;QACD;YACE,SAAS,EAAE,WAAW;YACtB,aAAa,EAAE,qGAAqG;YACpH,iBAAiB,EAAE,IAAI;SACxB;QACD;YACE,SAAS,EAAE,aAAa;YACxB,aAAa,EAAE,8JAA8J;YAC7K,iBAAiB,EAAE,IAAI;SACxB;QACD;YACE,SAAS,EAAE,WAAW;YACtB,aAAa,EAAE,2HAA2H;YAC1I,iBAAiB,EAAE,IAAI;SACxB;QACD;YACE,SAAS,EAAE,QAAQ;YACnB,aAAa,EAAE,4GAA4G;YAC3H,iBAAiB,EAAE,IAAI;SACxB;QACD;YACE,SAAS,EAAE,UAAU;YACrB,aAAa,EAAE,6KAA6K;YAC5L,iBAAiB,EAAE,IAAI;SACxB;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAA4B;IACpD,SAAS,EAAE,8CAA8C;IACzD,KAAK,EAAE,4CAA4C;IACnD,OAAO,EAAE,yBAAyB;IAClC,aAAa,EAAE,oHAAoH;IACnI,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE;QACV,gBAAgB;QAChB,cAAc;QACd,MAAM;QACN,OAAO;KACR;IACD,sBAAsB,EAAE,KAAK;IAC7B,YAAY,EAAE;QACZ,gBAAgB,EAAE;YAChB,OAAO,EAAE,KAAK;SACf;QACD,cAAc,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,WAAW;SACtB;QACD,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,oDAAoD;SACpE;QACD,OAAO,EAAE;YACP,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,MAAM,EAAE,cAAc;aACvB;SACF;KACF;IACD,OAAO,EAAE;QACP,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,MAAM;gBACN,MAAM;gBACN,QAAQ;aACT;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;iBACjB;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE;wBACN,QAAQ;wBACR,MAAM;qBACP;oBACD,aAAa,EAAE,gFAAgF;iBAChG;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE;wBACP,MAAM,EAAE,QAAQ;qBACjB;iBACF;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE;wBACN,QAAQ;wBACR,MAAM;qBACP;iBACF;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,gBAAgB;iBACzB;aACF;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,UAAU;gBACV,YAAY;gBACZ,OAAO;gBACP,QAAQ;gBACR,QAAQ;gBACR,UAAU;gBACV,eAAe;aAChB;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,UAAU,EAAE;oBACV,MAAM,EAAE,uBAAuB;iBAChC;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;aACF;SACF;QACD,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,OAAO;gBACP,aAAa;gBACb,QAAQ;gBACR,OAAO;aACR;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,OAAO,EAAE;oBACP,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,aAAa,EAAE;oBACb,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;aACF;SACF;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACxD,SAAS,EAAE,8CAA8C;IACzD,KAAK,EAAE,gDAAgD;IACvD,OAAO,EAAE,yBAAyB;IAClC,aAAa,EAAE,yHAAyH;IACxI,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE;QACV,gBAAgB;QAChB,YAAY;QACZ,QAAQ;QACR,UAAU;QACV,aAAa;QACb,UAAU;QACV,UAAU;QACV,YAAY;QACZ,YAAY;KACb;IACD,sBAAsB,EAAE,KAAK;IAC7B,YAAY,EAAE;QACZ,gBAAgB,EAAE;YAChB,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,mEAAmE;SACnF;QACD,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,SAAS;gBACT,UAAU;aACX;YACD,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,4GAA4G;SAC5H;QACD,QAAQ,EAAE;YACR,MAAM,EAAE;gBACN,IAAI;gBACJ,sBAAsB;aACvB;YACD,aAAa,EAAE,0SAA0S;SAC1T;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,kBAAkB;YAC7B,aAAa,EAAE,6DAA6D;SAC7E;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,2DAA2D;SAC3E;QACD,UAAU,EAAE;YACV,MAAM,EAAE,QAAQ;YAChB,aAAa,EAAE,kDAAkD;SAClE;QACD,aAAa,EAAE;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC;SACb;QACD,UAAU,EAAE;YACV,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,OAAO;oBACP,OAAO;oBACP,UAAU;iBACX;aACF;YACD,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,IAAI;SACpB;QACD,UAAU,EAAE;YACV,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,MAAM,EAAE,iBAAiB;aAC1B;SACF;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,MAAM,EAAE,mBAAmB;aAC5B;SACF;QACD,UAAU,EAAE;YACV,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,iBAAiB;aAC1B;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,aAAa;aACtB;SACF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,eAAe;aACxB;SACF;QACD,eAAe,EAAE;YACf,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,MAAM,EAAE,4BAA4B;aACrC;YACD,aAAa,EAAE,qGAAqG;SACrH;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,oBAAoB;SAC7B;KACF;IACD,OAAO,EAAE;QACP,SAAS,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,IAAI;gBACJ,MAAM;aACP;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,IAAI,EAAE;oBACJ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,WAAW;oBACtB,aAAa,EAAE,sCAAsC;iBACtD;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;iBACjB;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE;wBACN,WAAW;wBACX,aAAa;wBACb,OAAO;qBACR;iBACF;aACF;SACF;QACD,WAAW,EAAE;YACX,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,IAAI;gBACJ,YAAY;gBACZ,MAAM;gBACN,UAAU;gBACV,QAAQ;gBACR,MAAM;aACP;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,IAAI,EAAE;oBACJ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,eAAe;oBAC1B,aAAa,EAAE,uCAAuC;iBACvD;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,WAAW;iBACvB;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;iBACjB;gBACD,aAAa,EAAE;oBACb,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;oBACZ,aAAa,EAAE,2FAA2F;iBAC3G;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE;wBACP,MAAM,EAAE,cAAc;qBACvB;iBACF;gBACD,SAAS,EAAE;oBACT,MAAM,EAAE,iBAAiB;iBAC1B;gBACD,aAAa,EAAE;oBACb,MAAM,EAAE,8BAA8B;iBACvC;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;oBAChB,aAAa,EAAE,gLAAgL;iBAChM;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE;wBACP,MAAM,EAAE,8BAA8B;qBACvC;iBACF;aACF;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,GAAG;gBACH,GAAG;gBACH,GAAG;aACJ;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,GAAG,EAAE;oBACH,MAAM,EAAE,QAAQ;iBACjB;gBACD,GAAG,EAAE;oBACH,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,GAAG,EAAE;oBACH,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,CAAC;iBACb;aACF;SACF;QACD,SAAS,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,sBAAsB,EAAE,KAAK;YAC7B,aAAa,EAAE,0GAA0G;YACzH,YAAY,EAAE;gBACZ,QAAQ,EAAE;oBACR,MAAM,EAAE;wBACN,KAAK;wBACL,QAAQ;wBACR,MAAM;qBACP;iBACF;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE;wBACN,MAAM;wBACN,QAAQ;wBACR,MAAM;qBACP;iBACF;gBACD,aAAa,EAAE;oBACb,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;aACF;SACF;QACD,sBAAsB,EAAE;YACtB,MAAM,EAAE,QAAQ;YAChB,sBAAsB,EAAE,KAAK;YAC7B,aAAa,EAAE,uJAAuJ;YACtK,YAAY,EAAE;gBACZ,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,CAAC;oBACZ,aAAa,EAAE,+MAA+M;iBAC/N;aACF;SACF;QACD,SAAS,EAAE;YACT,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,IAAI;gBACJ,UAAU;gBACV,QAAQ;gBACR,aAAa;gBACb,SAAS;aACV;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,IAAI,EAAE;oBACJ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,iBAAiB;iBAC7B;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,aAAa,EAAE;oBACb,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,SAAS,EAAE;oBACT,MAAM,EAAE;wBACN,gBAAgB;wBAChB,eAAe;wBACf,UAAU;wBACV,cAAc;qBACf;oBACD,aAAa,EAAE,6FAA6F;iBAC7G;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;iBACjB;aACF;SACF;QACD,KAAK,EAAE;YACL,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,IAAI;gBACJ,MAAM;gBACN,UAAU;gBACV,QAAQ;gBACR,QAAQ;aACT;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,IAAI,EAAE;oBACJ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,iBAAiB;iBAC7B;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE;wBACN,UAAU;wBACV,MAAM;wBACN,OAAO;wBACP,cAAc;wBACd,gBAAgB;wBAChB,gBAAgB;wBAChB,SAAS;wBACT,cAAc;qBACf;oBACD,aAAa,EAAE,wDAAwD;iBACxE;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE,wEAAwE;iBACxF;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,WAAW;iBACvB;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,CAAC;oBACZ,SAAS,EAAE,CAAC;iBACb;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;iBACjB;aACF;SACF;QACD,OAAO,EAAE;YACP,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,IAAI;gBACJ,OAAO;gBACP,MAAM;gBACN,SAAS;aACV;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,IAAI,EAAE;oBACJ,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,gBAAgB;iBAC5B;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;iBACb;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;oBAChB,aAAa,EAAE,wDAAwD;iBACxE;gBACD,SAAS,EAAE;oBACT,MAAM,EAAE;wBACN,wBAAwB;wBACxB,uBAAuB;wBACvB,kBAAkB;wBAClB,sBAAsB;wBACtB,WAAW;wBACX,aAAa;wBACb,WAAW;wBACX,QAAQ;wBACR,UAAU;qBACX;oBACD,aAAa,EAAE,kKAAkK;iBAClL;gBACD,qBAAqB,EAAE;oBACrB,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,eAAe;iBAC3B;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;oBAChB,aAAa,EAAE,oHAAoH;iBACpI;aACF;SACF;QACD,sBAAsB,EAAE;YACtB,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,SAAS;gBACT,MAAM;aACP;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,SAAS,EAAE;oBACT,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,oBAAoB;iBAChC;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE;wBACP,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,CAAC;qBACb;oBACD,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,CAAC;oBACb,aAAa,EAAE,gEAAgE;iBAChF;aACF;SACF;QACD,oBAAoB,EAAE;YACpB,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,SAAS;gBACT,cAAc;gBACd,MAAM;aACP;YACD,sBAAsB,EAAE,KAAK;YAC7B,YAAY,EAAE;gBACZ,SAAS,EAAE;oBACT,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,oBAAoB;iBAChC;gBACD,cAAc,EAAE;oBACd,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,eAAe;iBAC3B;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE;wBACP,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,CAAC;qBACb;oBACD,UAAU,EAAE,CAAC;oBACb,UAAU,EAAE,CAAC;iBACd;aACF;SACF;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,aAAa;aACd;YACD,sBAAsB,EAAE,KAAK;YAC7B,aAAa,EAAE,mIAAmI;YAClJ,YAAY,EAAE;gBACZ,aAAa,EAAE;oBACb,MAAM,EAAE,QAAQ;oBAChB,aAAa,EAAE,kFAAkF;iBAClG;gBACD,WAAW,EAAE;oBACX,MAAM,EAAE,QAAQ;iBACjB;gBACD,UAAU,EAAE;oBACV,MAAM,EAAE,QAAQ;iBACjB;gBACD,YAAY,EAAE;oBACZ,MAAM,EAAE,QAAQ;iBACjB;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,QAAQ;iBACjB;gBACD,kBAAkB,EAAE;oBAClB,MAAM,EAAE,QAAQ;iBACjB;gBACD,mBAAmB,EAAE;oBACnB,MAAM,EAAE,QAAQ;oBAChB,aAAa,EAAE,yJAAyJ;iBACzK;gBACD,8BAA8B,EAAE;oBAC9B,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,CAAC;oBACZ,aAAa,EAAE,yMAAyM;iBACzN;aACF;SACF;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAA4C;IAClE,oBAAoB,EAAE,aAAa;IACnC,oBAAoB,EAAE,aAAa;IACnC,oBAAoB,EAAE,aAAa;IACnC,sBAAsB,EAAE,eAAe;IACvC,oBAAoB,EAAE,aAAa;IACnC,wBAAwB,EAAE,iBAAiB;CAC5C,CAAA"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Secret resolution + storage (#236 readiness hardening).
3
+ *
4
+ * Secrets (HuggingFace token, LLM provider API keys) are NEVER written into a
5
+ * seed, `config.toml`, or the event ledger — `config.toml` stores only the
6
+ * *name* of an env var (`api_key_env`). This module adds two secure conveniences
7
+ * around the primary env-var mechanism, with a single documented precedence:
8
+ *
9
+ * 1. environment variable (process.env[name]) — primary, always wins
10
+ * 2. OS keychain (macOS `security` / Linux `secret-tool`)
11
+ * 3. ~/.compost/secrets.env (0600-enforced dotenv; refused if loose)
12
+ *
13
+ * The keychain tier shells out to the OS-native tool rather than pulling a
14
+ * native npm dependency — keeping the supply chain tight (see SECURITY.md).
15
+ * Where no keychain exists (Windows, headless Linux without libsecret) storage
16
+ * falls back to the 0600 dotenv. The dotenv is auto-loaded into `process.env`
17
+ * at CLI startup so file-stored secrets resolve everywhere the env var does,
18
+ * without the user editing a shell profile.
19
+ */
20
+ /** Keychain service name (macOS `-s` / Linux `service` attribute). */
21
+ export declare const KEYCHAIN_SERVICE = "compost";
22
+ /** Where a secret was resolved from. */
23
+ export type SecretSource = 'env' | 'keychain' | 'file';
24
+ export interface ResolvedSecret {
25
+ value: string;
26
+ source: SecretSource;
27
+ }
28
+ /**
29
+ * Well-known secret names. Used by `compost secrets list` (which never reads
30
+ * the value, only reports presence) and to decide what's worth probing in the
31
+ * keychain. Not a hard allow-list — `set`/`get`/`rm` accept any valid env name.
32
+ */
33
+ export declare const KNOWN_SECRET_NAMES: readonly ["HUGGINGFACE_TOKEN", "HF_TOKEN", "ANTHROPIC_API_KEY", "OPENAI_API_KEY"];
34
+ /** Default aliases checked alongside a primary name when resolving. */
35
+ export declare const HF_ALIASES: string[];
36
+ /** A pluggable keychain backend. Real impls shell out; tests inject a fake. */
37
+ export interface KeychainBackend {
38
+ /** Human label for messages, e.g. "macOS Keychain". */
39
+ readonly label: string;
40
+ /** Return the stored secret, or undefined if absent / the tool errors. */
41
+ get(name: string): string | undefined;
42
+ /** Store (or replace) the secret. Throws if the backend is unusable. */
43
+ set(name: string, value: string): void;
44
+ /** Remove the secret. Returns true if something was removed. */
45
+ del(name: string): boolean;
46
+ }
47
+ export interface SecretsDeps {
48
+ env?: NodeJS.ProcessEnv;
49
+ platform?: NodeJS.Platform;
50
+ /**
51
+ * Explicit `~/.compost` root override (tests, or a custom location). Wins over
52
+ * `$COMPOST_HOME` / `homedir()`.
53
+ */
54
+ home?: string;
55
+ /**
56
+ * Keychain backend. Omitted → auto-detected from the platform. Pass `null` to
57
+ * force "no keychain" (file-only) — used by tests and by `$COMPOST_NO_KEYCHAIN`.
58
+ */
59
+ keychain?: KeychainBackend | null;
60
+ }
61
+ /** Resolve the `~/.compost` root. `$COMPOST_HOME` overrides the default; an
62
+ * explicit `deps.home` overrides everything (mirrors nativeRuntime.ts). */
63
+ export declare function compostHome(deps?: SecretsDeps): string;
64
+ /** Path to the 0600 dotenv. `$COMPOST_SECRETS_ENV` points it at a custom file
65
+ * (e.g. an existing per-user dotenv) without moving the rest of `~/.compost`. */
66
+ export declare function secretsEnvPath(deps?: SecretsDeps): string;
67
+ export interface PermIssue {
68
+ path: string;
69
+ kind: 'file' | 'dir';
70
+ /** Octal perms as observed, e.g. "644". */
71
+ mode: string;
72
+ /** Copy-pasteable fix. */
73
+ fix: string;
74
+ detail: string;
75
+ }
76
+ /** POSIX-only secrecy test: a secret file must have no group/other bits. On
77
+ * Windows (ACL model) mode bits aren't meaningful, so we treat it as secure. */
78
+ export declare function fileIsSecure(path: string, platform?: NodeJS.Platform): boolean;
79
+ /** Validate an env-var-shaped secret name; throws INVALID_INPUT otherwise. */
80
+ export declare function assertSecretName(name: string): void;
81
+ /** Minimal dotenv parser (no dependency). Supports `KEY=value`, `export KEY=`,
82
+ * `#` comments, blank lines, and single/double-quoted values. Malformed lines
83
+ * are skipped rather than throwing — a secrets file should never hard-fail a
84
+ * CLI invocation. */
85
+ export declare function parseDotenv(text: string): Record<string, string>;
86
+ export interface SecretsFileRead {
87
+ path: string;
88
+ exists: boolean;
89
+ /** False when the file is group/world-accessible — we then refuse to read it. */
90
+ secure: boolean;
91
+ /** Parsed values; empty `{}` when the file is missing or refused. */
92
+ values: Record<string, string>;
93
+ }
94
+ /** Read the 0600 dotenv, refusing (without reading contents) when its perms are
95
+ * loose — so an insecure file can never leak its secrets through compost. */
96
+ export declare function readSecretsFile(deps?: SecretsDeps): SecretsFileRead;
97
+ /** Auto-detect the platform keychain, or null when none is usable. */
98
+ export declare function detectKeychain(deps?: SecretsDeps): KeychainBackend | null;
99
+ export interface ResolveOpts extends SecretsDeps {
100
+ /** Extra names to try (e.g. HF_TOKEN alongside HUGGINGFACE_TOKEN). */
101
+ aliases?: string[];
102
+ }
103
+ /** Resolve a secret by the documented precedence: env > keychain > 0600 file.
104
+ * Returns undefined when set nowhere (or only in an insecure, refused file). */
105
+ export declare function resolveSecret(name: string, opts?: ResolveOpts): ResolvedSecret | undefined;
106
+ export interface SetResult {
107
+ name: string;
108
+ stored_in: 'keychain' | 'file';
109
+ /** Keychain label, or the dotenv path. */
110
+ location: string;
111
+ /** Set when a keychain write was attempted but failed and we fell back. */
112
+ fallback_reason?: string;
113
+ }
114
+ /** Store a secret. Prefers the keychain; falls back to the 0600 dotenv when no
115
+ * keychain exists or a keychain write fails. */
116
+ export declare function setSecret(name: string, value: string, deps?: SecretsDeps): SetResult;
117
+ export interface RmResult {
118
+ name: string;
119
+ removed_from: SecretSource[];
120
+ }
121
+ /** Remove a secret from the keychain and the dotenv (env vars are the user's
122
+ * shell — we can't and don't touch those). */
123
+ export declare function rmSecret(name: string, deps?: SecretsDeps): RmResult;
124
+ export interface SecretListing {
125
+ name: string;
126
+ /** Sources that currently hold this secret (never the value itself). */
127
+ sources: SecretSource[];
128
+ }
129
+ /** List which secrets are set and where — never the values. Covers the
130
+ * well-known names plus anything found in the dotenv. */
131
+ export declare function listSecrets(deps?: SecretsDeps): {
132
+ items: SecretListing[];
133
+ file: SecretsFileRead;
134
+ };
135
+ export interface AutoloadResult {
136
+ path: string;
137
+ /** Names copied into the env (only those not already set). */
138
+ loaded: string[];
139
+ /** Why nothing loaded, when applicable. */
140
+ skipped: 'not-found' | 'insecure-perms' | null;
141
+ }
142
+ /** Load `~/.compost/secrets.env` into the environment at startup so file-stored
143
+ * secrets resolve everywhere an env var would — without editing a shell profile.
144
+ * Environment variables already set WIN (never overridden). An insecure file is
145
+ * refused (not read) with a warning, preserving the "0600 or it doesn't load"
146
+ * guarantee. Mutates `deps.env` (defaults to `process.env`). */
147
+ export declare function loadSecretsEnv(deps?: SecretsDeps & {
148
+ warn?: (msg: string) => void;
149
+ }): AutoloadResult;
150
+ /** Audit secret-storage permissions under `~/.compost`. Returns issues for:
151
+ * - the home dir if group/world-WRITABLE (someone could swap your secrets),
152
+ * - the managed `secrets.env` if group/world-accessible,
153
+ * - any secret-ish file (by path: token/secret/credential/.env/.key) that's
154
+ * group/world-readable — catches hand-rolled files like the world-readable
155
+ * `~/.compost/hf_token/compost.txt` a readiness test produced.
156
+ * POSIX-only; Windows uses ACLs, so it returns []. */
157
+ export declare function auditSecretsPerms(deps?: SecretsDeps): PermIssue[];
158
+ //# sourceMappingURL=secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/lib/secrets.ts"],"names":[],"mappings":"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"}