@telora/daemon 0.19.82 → 0.19.91

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 (42) hide show
  1. package/build-info.json +2 -2
  2. package/dist/cli/session-state.d.ts +26 -0
  3. package/dist/cli/session-state.d.ts.map +1 -1
  4. package/dist/cli/session-state.js +53 -2
  5. package/dist/cli/session-state.js.map +1 -1
  6. package/dist/cli/verify-setup-config.d.ts +58 -0
  7. package/dist/cli/verify-setup-config.d.ts.map +1 -0
  8. package/dist/cli/verify-setup-config.js +105 -0
  9. package/dist/cli/verify-setup-config.js.map +1 -0
  10. package/dist/cli/verify-setup.d.ts +96 -0
  11. package/dist/cli/verify-setup.d.ts.map +1 -0
  12. package/dist/cli/verify-setup.js +175 -0
  13. package/dist/cli/verify-setup.js.map +1 -0
  14. package/dist/config.d.ts +29 -1
  15. package/dist/config.d.ts.map +1 -1
  16. package/dist/config.js +79 -23
  17. package/dist/config.js.map +1 -1
  18. package/dist/heartbeat.d.ts.map +1 -1
  19. package/dist/heartbeat.js +6 -0
  20. package/dist/heartbeat.js.map +1 -1
  21. package/dist/index.js +33 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/types/config.d.ts +35 -1
  24. package/dist/types/config.d.ts.map +1 -1
  25. package/dist/unified-engine-lifecycle.d.ts.map +1 -1
  26. package/dist/unified-engine-lifecycle.js +14 -2
  27. package/dist/unified-engine-lifecycle.js.map +1 -1
  28. package/dist/unified-init.d.ts.map +1 -1
  29. package/dist/unified-init.js +21 -1
  30. package/dist/unified-init.js.map +1 -1
  31. package/dist/unified-shell-status.d.ts +11 -0
  32. package/dist/unified-shell-status.d.ts.map +1 -1
  33. package/dist/unified-shell-status.js +30 -0
  34. package/dist/unified-shell-status.js.map +1 -1
  35. package/dist/unified-shell.d.ts.map +1 -1
  36. package/dist/unified-shell.js +13 -1
  37. package/dist/unified-shell.js.map +1 -1
  38. package/dist/verification-config.d.ts +45 -1
  39. package/dist/verification-config.d.ts.map +1 -1
  40. package/dist/verification-config.js +41 -0
  41. package/dist/verification-config.js.map +1 -1
  42. package/package.json +1 -1
@@ -0,0 +1,175 @@
1
+ /**
2
+ * `telora-daemon verify-setup`: a guided, per-repo path to configure the
3
+ * default-on deterministic verification command for existing installs.
4
+ *
5
+ * Per configured product it detects a candidate command, offers a validation
6
+ * run (execute once, report exit code + runtime to size the timeout), and
7
+ * writes `products[].defaultVerification` -- or records an explicit review-only
8
+ * decline. Detection PROPOSES; nothing is auto-adopted: every write path
9
+ * requires an explicit operator confirmation (a vacuous pass would stamp a
10
+ * false "verified" signal).
11
+ *
12
+ * The per-product driver (`runVerifySetupForProduct`) is dependency-injected
13
+ * (ask / runCommand / write / out) so it is unit-testable without a TTY or a
14
+ * real subprocess. `runVerifySetupCommand` wires the real readline + child
15
+ * process + config writer for the CLI.
16
+ *
17
+ * @module cli/verify-setup
18
+ */
19
+ import { createInterface } from 'node:readline';
20
+ import { spawn } from 'node:child_process';
21
+ import { basename, resolve } from 'node:path';
22
+ import { homedir } from 'node:os';
23
+ import { loadConfig } from '../config.js';
24
+ import { detectVerifyCommand, writeVerifyConfig, } from './verify-setup-config.js';
25
+ /** Minimum timeout floor for a sized default-on run: 5 minutes. */
26
+ export const VERIFY_SETUP_MIN_TIMEOUT_MS = 5 * 60_000;
27
+ function isYes(answer) {
28
+ return answer.trim().toLowerCase().startsWith('y');
29
+ }
30
+ /**
31
+ * Size a timeout from an observed validation runtime: at least 2x the run, with
32
+ * a 5-minute floor, rounded up to whole seconds.
33
+ */
34
+ export function sizeTimeoutFromRuntime(durationMs) {
35
+ return Math.max(VERIFY_SETUP_MIN_TIMEOUT_MS, Math.ceil((durationMs * 2) / 1000) * 1000);
36
+ }
37
+ /**
38
+ * Prompt the operator for one product's verification entry: show a detected
39
+ * candidate, accept confirm/edit/skip/decline, optionally validate. Emits
40
+ * informational lines via io.out but performs NO write -- it returns the
41
+ * decision. Nothing is auto-adopted: a skip/empty answer returns `skip`; a
42
+ * non-zero validation exit returns `skip` unless the operator overrides.
43
+ */
44
+ export async function promptVerifyEntry(product, io) {
45
+ io.out(`\n=== ${basename(product.repoPath) || product.id} (${product.repoPath}) ===`);
46
+ const detected = detectVerifyCommand(product.repoPath);
47
+ if (detected) {
48
+ io.out(`Detected candidate: ${detected.command} [${detected.reason}]`);
49
+ }
50
+ else {
51
+ io.out('No verification command auto-detected for this repo.');
52
+ }
53
+ const menu = detected
54
+ ? '[c]onfirm detected / [e]dit / [s]kip / [d]ecline (review-only)'
55
+ : '[e]nter command / [s]kip / [d]ecline (review-only)';
56
+ const action = (await io.ask(`Action ${menu}`)).trim().toLowerCase();
57
+ // Skip / empty -> nothing configured.
58
+ if (action === '' || action.startsWith('s')) {
59
+ io.out('Skipped -- no config written.');
60
+ return { kind: 'skip' };
61
+ }
62
+ // Explicit review-only decline (a recorded decision).
63
+ if (action.startsWith('d')) {
64
+ return { kind: 'decline' };
65
+ }
66
+ // Resolve the command to configure.
67
+ let command;
68
+ if (action.startsWith('c') && detected) {
69
+ command = detected.command;
70
+ }
71
+ else if (action.startsWith('e')) {
72
+ command = (await io.ask('Verification command')).trim();
73
+ if (command === '') {
74
+ io.out('Empty command -- nothing written.');
75
+ return { kind: 'skip' };
76
+ }
77
+ }
78
+ else {
79
+ io.out('Unrecognized action -- nothing written.');
80
+ return { kind: 'skip' };
81
+ }
82
+ // Optional validation run: execute once, report exit + runtime, size timeout.
83
+ let timeoutMs;
84
+ if (isYes(await io.ask(`Run "${command}" once to validate?`))) {
85
+ io.out(`Running: ${command}`);
86
+ const { exitCode, durationMs } = await io.runCommand(command, product.repoPath);
87
+ io.out(`Exit code ${exitCode} in ${(durationMs / 1000).toFixed(1)}s`);
88
+ timeoutMs = sizeTimeoutFromRuntime(durationMs);
89
+ if (exitCode !== 0) {
90
+ if (!isYes(await io.ask('Command failed. Write config anyway?'))) {
91
+ io.out('Not written (non-zero exit, no override).');
92
+ return { kind: 'skip' };
93
+ }
94
+ }
95
+ }
96
+ return { kind: 'configure', entry: timeoutMs ? { command, timeoutMs } : { command } };
97
+ }
98
+ /**
99
+ * Drive the guided setup for ONE product and PERSIST the decision. Returns what
100
+ * was decided. Never writes config without an explicit confirm/edit/decline; a
101
+ * skip (or empty answer) writes nothing.
102
+ */
103
+ export async function runVerifySetupForProduct(product, io) {
104
+ const result = await promptVerifyEntry(product, io);
105
+ if (result.kind === 'skip')
106
+ return 'skipped';
107
+ if (result.kind === 'decline') {
108
+ io.write(product.id, { declined: true });
109
+ io.out('Recorded review-only decline.');
110
+ return 'declined';
111
+ }
112
+ io.write(product.id, result.entry);
113
+ io.out(`Configured: ${result.entry.command}`);
114
+ return 'configured';
115
+ }
116
+ /**
117
+ * Walk every product through the guided setup. Returns the per-product outcomes
118
+ * in order.
119
+ */
120
+ export async function runVerifySetup(products, io) {
121
+ const outcomes = [];
122
+ for (const product of products) {
123
+ outcomes.push(await runVerifySetupForProduct(product, io));
124
+ }
125
+ return outcomes;
126
+ }
127
+ // ── CLI wiring (real IO) ──
128
+ function makeReadlineAsk() {
129
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
130
+ const ask = (question) => new Promise((res) => rl.question(`${question}: `, (a) => res(a.trim())));
131
+ return { ask, close: () => rl.close() };
132
+ }
133
+ /** Run a verification command once in a repo, reporting exit code + runtime.
134
+ * Shared by the verify-setup CLI and the init wizard's validation step. */
135
+ export function runVerifyCommandOnce(command, repoPath) {
136
+ const startedAt = Date.now();
137
+ return new Promise((res) => {
138
+ const child = spawn(command, { cwd: repoPath, shell: true, stdio: 'inherit' });
139
+ child.on('close', (code) => res({ exitCode: code ?? 1, durationMs: Date.now() - startedAt }));
140
+ child.on('error', () => res({ exitCode: 1, durationMs: Date.now() - startedAt }));
141
+ });
142
+ }
143
+ /**
144
+ * CLI entry: load config, resolve its path, and walk each product through the
145
+ * guided setup with real readline + subprocess + config writer.
146
+ */
147
+ export async function runVerifySetupCommand(opts = {}) {
148
+ const config = loadConfig(opts.config);
149
+ const configPath = opts.config ?? resolve(homedir(), '.telora', 'daemon.json');
150
+ const products = config.products.map((p) => ({ id: p.id, repoPath: p.repoPath }));
151
+ if (products.length === 0) {
152
+ console.log('No products configured. Run `telora-daemon init` first.');
153
+ return;
154
+ }
155
+ const { ask, close } = makeReadlineAsk();
156
+ const io = {
157
+ ask,
158
+ runCommand: runVerifyCommandOnce,
159
+ write: (productId, entry) => writeVerifyConfig(configPath, productId, entry),
160
+ out: (line) => console.log(line),
161
+ };
162
+ try {
163
+ console.log(`Guided verification setup for ${products.length} product(s).`);
164
+ const outcomes = await runVerifySetup(products, io);
165
+ const counts = outcomes.reduce((acc, o) => {
166
+ acc[o] = (acc[o] ?? 0) + 1;
167
+ return acc;
168
+ }, {});
169
+ console.log(`\nDone. configured: ${counts.configured ?? 0}, declined: ${counts.declined ?? 0}, skipped: ${counts.skipped ?? 0}.`);
170
+ }
171
+ finally {
172
+ close();
173
+ }
174
+ }
175
+ //# sourceMappingURL=verify-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-setup.js","sourceRoot":"","sources":["../../src/cli/verify-setup.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -13,8 +13,29 @@
13
13
  * config file (the connect flow persists it to ~/.telora/daemon.json, mode 0600,
14
14
  * matching the security profile of .mcp.json which already stores the same secret).
15
15
  */
16
- import type { DaemonConfig } from './types.js';
16
+ import type { DaemonConfig, DefaultVerificationConfig, DaemonProductEntry } from './types.js';
17
17
  import type { ProductEntry } from '@telora/daemon-core';
18
+ /**
19
+ * Resolve default-on verification carriage from the raw config file: the
20
+ * top-level global `defaultVerification` block and each product's per-product
21
+ * override (`products[].defaultVerification`), enriched onto the normalized
22
+ * products array.
23
+ *
24
+ * This is the SINGLE source of the file-level verification carriage. Both
25
+ * daemon-side entry points use it so they cannot drift:
26
+ * - `loadConfig` (this module) -- the CLI / subcommand config path.
27
+ * - `buildEngineRuntimeConfig` (unified-engine-lifecycle) -- the RUNNING focus
28
+ * engine's config path, which is built from `buildFocusConfig` (that omits
29
+ * defaultVerification) and must be enriched here or the file block never
30
+ * reaches the verification engine at all.
31
+ *
32
+ * Env overrides (TELORA_DEFAULT_VERIFY_*) are NOT applied here -- they stay
33
+ * global and are layered on at read time by `resolveDefaultVerification`.
34
+ */
35
+ export declare function resolveVerificationCarriage(fileConfig: Record<string, unknown>, baseProducts: readonly ProductEntry[]): {
36
+ defaultVerification?: DefaultVerificationConfig;
37
+ products: DaemonProductEntry[];
38
+ };
18
39
  /**
19
40
  * Load and validate daemon configuration.
20
41
  *
@@ -36,6 +57,13 @@ export declare function loadConfig(configPath?: string): DaemonConfig;
36
57
  * Per-product local-model fields (codexHome, defaultCodingEngine, codexModel)
37
58
  * are copied from the product entry; absent on the entry => undefined on the
38
59
  * config (cloud parity).
60
+ *
61
+ * The per-product `defaultVerification` override is resolved from the matching
62
+ * entry in `config.products` (the enriched DaemonProductEntry list) so a caller
63
+ * passing a plain ProductEntry still gets the override. When the product
64
+ * declares no override, the spread carries the top-level global block through
65
+ * (global fallback); env overrides are applied above both at read time by
66
+ * resolveDefaultVerification.
39
67
  */
40
68
  export declare function configForProduct(config: DaemonConfig, product: ProductEntry): DaemonConfig;
41
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,OAAO,KAAK,EAAE,YAAY,EAA+E,MAAM,YAAY,CAAC;AAC5H,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAyCxD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAqM5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CAa1F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE7F;AAqBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAuEzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAiCtD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,OAAO,KAAK,EAAE,YAAY,EAAoD,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChJ,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAoExD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,YAAY,EAAE,SAAS,YAAY,EAAE,GACpC;IAAE,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAYrF;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CA2L5D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CAkB1F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE7F;AAqBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAuEzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAiCtD"}
package/dist/config.js CHANGED
@@ -48,6 +48,60 @@ function resolveNum(name, envConfigVal, fileVal) {
48
48
  }
49
49
  return envDefault(name);
50
50
  }
51
+ /**
52
+ * Parse a raw `defaultVerification` block (from daemon.json -- either the
53
+ * top-level global slot or a per-product `products[].defaultVerification`
54
+ * override) into a typed DefaultVerificationConfig. Returns undefined when the
55
+ * raw value is not an object, so the caller falls through to the next
56
+ * precedence source (per-product => global => env/default). Applies the same
57
+ * field defaults at both levels so per-product and global blocks behave
58
+ * identically. Env overrides (TELORA_DEFAULT_VERIFY_*) are applied later, at
59
+ * read time, by resolveDefaultVerification -- they stay global and win over
60
+ * whichever file value configForProduct selects.
61
+ */
62
+ function parseVerifyBlock(raw) {
63
+ if (typeof raw !== 'object' || raw === null)
64
+ return undefined;
65
+ const v = raw;
66
+ return {
67
+ command: typeof v.command === 'string' ? v.command : '',
68
+ timeoutMs: typeof v.timeoutMs === 'number' && v.timeoutMs > 0
69
+ ? v.timeoutMs
70
+ : DEFAULT_VERIFY_TIMEOUT_MS,
71
+ maxConcurrent: typeof v.maxConcurrent === 'number' && v.maxConcurrent > 0
72
+ ? v.maxConcurrent
73
+ : DEFAULT_VERIFY_MAX_CONCURRENT,
74
+ // Explicit review-only decline marker (records a deliberate decision).
75
+ ...(v.declined === true ? { declined: true } : {}),
76
+ };
77
+ }
78
+ /**
79
+ * Resolve default-on verification carriage from the raw config file: the
80
+ * top-level global `defaultVerification` block and each product's per-product
81
+ * override (`products[].defaultVerification`), enriched onto the normalized
82
+ * products array.
83
+ *
84
+ * This is the SINGLE source of the file-level verification carriage. Both
85
+ * daemon-side entry points use it so they cannot drift:
86
+ * - `loadConfig` (this module) -- the CLI / subcommand config path.
87
+ * - `buildEngineRuntimeConfig` (unified-engine-lifecycle) -- the RUNNING focus
88
+ * engine's config path, which is built from `buildFocusConfig` (that omits
89
+ * defaultVerification) and must be enriched here or the file block never
90
+ * reaches the verification engine at all.
91
+ *
92
+ * Env overrides (TELORA_DEFAULT_VERIFY_*) are NOT applied here -- they stay
93
+ * global and are layered on at read time by `resolveDefaultVerification`.
94
+ */
95
+ export function resolveVerificationCarriage(fileConfig, baseProducts) {
96
+ const global = parseVerifyBlock(fileConfig.defaultVerification);
97
+ const rawProducts = Array.isArray(fileConfig.products) ? fileConfig.products : [];
98
+ const products = baseProducts.map((p) => {
99
+ const rawEntry = rawProducts.find((r) => typeof r === 'object' && r !== null && r.id === p.id);
100
+ const perProduct = parseVerifyBlock(rawEntry?.defaultVerification);
101
+ return perProduct ? { ...p, defaultVerification: perProduct } : { ...p };
102
+ });
103
+ return global ? { defaultVerification: global, products } : { products };
104
+ }
51
105
  /**
52
106
  * Load and validate daemon configuration.
53
107
  *
@@ -73,8 +127,13 @@ export function loadConfig(configPath) {
73
127
  const claudeCodePath = base.claudeCodePath || 'claude';
74
128
  const logDir = base.logDir || resolve(repoPath, '.telora', 'logs');
75
129
  const sessionTimeoutMs = base.sessionTimeoutMs ?? 3600000; // 1 hour
76
- // Resolve products array (always populated at runtime)
77
- const products = base.products ?? [];
130
+ // Resolve products array (always populated at runtime) plus default-on
131
+ // verification carriage (global block + per-product overrides) via the shared
132
+ // resolver -- the same one buildEngineRuntimeConfig uses for the running
133
+ // engine, so the two paths cannot drift. base.products is normalized by
134
+ // daemon-core (which cannot carry the daemon-only per-product field); the
135
+ // resolver matches raw entries back by id and enriches them.
136
+ const { defaultVerification, products } = resolveVerificationCarriage(fileConfig, base.products ?? []);
78
137
  // Validate required base fields
79
138
  const teloraUrl = base.teloraUrl;
80
139
  const trackerId = base.trackerId;
@@ -189,27 +248,12 @@ export function loadConfig(configPath) {
189
248
  : (typeof lacunaFile.source === 'string' && lacunaFile.source ? lacunaFile.source : envCfg.TELORA_LACUNA_SOURCE),
190
249
  readyTimeoutMs: resolveNum('TELORA_LACUNA_READY_TIMEOUT_MS', envCfg.TELORA_LACUNA_READY_TIMEOUT_MS, lacunaFile.readyTimeoutMs),
191
250
  };
192
- // Default-on deterministic verification (coding->verify edge). File-level
193
- // block only; env overrides (TELORA_DEFAULT_VERIFY_*) are applied by
194
- // resolveDefaultVerification in verification-config.ts at read time, so the
195
- // precedence env > file > default holds whether the config came through here
196
- // or through buildFocusConfig in daemon-core (which omits the field). Left
197
- // undefined when the file carries no block -- an absent block resolves to an
198
- // empty command (default-on path inert) unless an env var opts in.
199
- const verifyFile = (typeof fileConfig.defaultVerification === 'object' && fileConfig.defaultVerification !== null)
200
- ? fileConfig.defaultVerification
201
- : undefined;
202
- const defaultVerification = verifyFile
203
- ? {
204
- command: typeof verifyFile.command === 'string' ? verifyFile.command : '',
205
- timeoutMs: typeof verifyFile.timeoutMs === 'number' && verifyFile.timeoutMs > 0
206
- ? verifyFile.timeoutMs
207
- : DEFAULT_VERIFY_TIMEOUT_MS,
208
- maxConcurrent: typeof verifyFile.maxConcurrent === 'number' && verifyFile.maxConcurrent > 0
209
- ? verifyFile.maxConcurrent
210
- : DEFAULT_VERIFY_MAX_CONCURRENT,
211
- }
212
- : undefined;
251
+ // Default-on deterministic verification (coding->verify edge) was resolved
252
+ // above via resolveVerificationCarriage (global block + per-product
253
+ // overrides). Env overrides (TELORA_DEFAULT_VERIFY_*) are layered on at read
254
+ // time by resolveDefaultVerification, so precedence env > file > default holds
255
+ // whether config came through here or through the buildEngineRuntimeConfig
256
+ // boot path (which uses the same resolver).
213
257
  return {
214
258
  teloraUrl,
215
259
  trackerId,
@@ -246,8 +290,17 @@ export function loadConfig(configPath) {
246
290
  * Per-product local-model fields (codexHome, defaultCodingEngine, codexModel)
247
291
  * are copied from the product entry; absent on the entry => undefined on the
248
292
  * config (cloud parity).
293
+ *
294
+ * The per-product `defaultVerification` override is resolved from the matching
295
+ * entry in `config.products` (the enriched DaemonProductEntry list) so a caller
296
+ * passing a plain ProductEntry still gets the override. When the product
297
+ * declares no override, the spread carries the top-level global block through
298
+ * (global fallback); env overrides are applied above both at read time by
299
+ * resolveDefaultVerification.
249
300
  */
250
301
  export function configForProduct(config, product) {
302
+ const entry = config.products.find((p) => p.id === product.id);
303
+ const perProductVerification = entry?.defaultVerification;
251
304
  return {
252
305
  ...config,
253
306
  productId: product.id,
@@ -259,6 +312,9 @@ export function configForProduct(config, product) {
259
312
  codexHome: product.codexHome,
260
313
  defaultCodingEngine: product.defaultCodingEngine,
261
314
  codexModel: product.codexModel,
315
+ // Per-product verification override wins; else the spread above already
316
+ // carried config.defaultVerification (global fallback).
317
+ ...(perProductVerification ? { defaultVerification: perProductVerification } : {}),
262
318
  };
263
319
  }
264
320
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAA4D,sBAAsB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEvJ,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA2B7D;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEpD;AAGD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAmB7C;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAkFD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7E;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAEhD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/D;AAGD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,YAAY,EAAE,iBAAiB,CAAA;CAAE,GAAG,IAAI,CAGlF;AA+GD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAcpD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAanD"}
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAA4D,sBAAsB,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGvJ,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA2B7D;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEpD;AAGD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC;AAmB7C;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAM1C;AAkFD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7E;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAEhD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/D;AAGD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,YAAY,EAAE,iBAAiB,CAAA;CAAE,GAAG,IAAI,CAGlF;AAqHD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAcpD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAanD"}
package/dist/heartbeat.js CHANGED
@@ -18,6 +18,7 @@ import { monitorEventLoopDelay } from 'node:perf_hooks';
18
18
  import { sendHeartbeat, sendDisconnect, getCompletedSessionAggregates } from './supabase.js';
19
19
  import { getRunningAgents, getSessionCounters, setSessionCounters, recordSessionCompleted, recordActivity, getLastActivityAt } from './agent-state.js';
20
20
  import { safeInterval, healthEvents, getReadOnlyModeState } from '@telora/daemon-core';
21
+ import { buildProductPostureMap } from './verification-config.js';
21
22
  import { computeBranchStatus } from './branch-status.js';
22
23
  import { getProductBranchConfig } from './queries/products.js';
23
24
  import { probeAllBackends } from './backends/index.js';
@@ -222,6 +223,11 @@ async function doHeartbeat() {
222
223
  metadata.latestAvailableVersion = latestAvailableVersion;
223
224
  }
224
225
  metadata.maxTotalSessions = config.maxTotalSessions;
226
+ // Publish per-product verification posture ({ [productId]: { posture, command } })
227
+ // so the web app's product settings can surface how each product's deliveries
228
+ // are gated -- posture is local daemon.json config the app cannot otherwise see.
229
+ // Declarative state, derived at read time; never an escalation.
230
+ metadata.verificationPostures = buildProductPostureMap(config.products, config.defaultVerification);
225
231
  // Publish which engines are installed + authenticated on this host so the
226
232
  // app's engine picker can grey out unavailable ones (probe is cached).
227
233
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -51,6 +51,9 @@ import { runHarnessAdd } from './cli/harness-add.js';
51
51
  import { runOpenCommand } from './cli/open.js';
52
52
  import { runSessionState } from './cli/session-state.js';
53
53
  import { runBackfillFrtProse } from './cli/backfill-frt-prose.js';
54
+ import { runVerifySetupCommand } from './cli/verify-setup.js';
55
+ import { loadUnifiedConfig } from '@telora/daemon-core';
56
+ import { formatVerificationPostureLines } from './unified-shell-status.js';
54
57
  import { getDaemonStatus, stopDaemon, startDaemonBackground, resolveDaemonLogPath, rebuildDaemon, autoRebuildIfNeeded, waitForHealthy, cleanStalePidFile, } from './daemon-process.js';
55
58
  import { tailFile, followFile } from './daemon-logs.js';
56
59
  import { reapAndClearWorkerPidfile } from './worker-pidfile.js';
@@ -380,6 +383,22 @@ async function main() {
380
383
  const logPath = status.logPath ?? resolveDaemonLogPath();
381
384
  console.log(`Log file: ${logPath}`);
382
385
  console.log(`Version: v${pkg.version}`);
386
+ // Per-product verification posture (configured / declined / unconfigured)
387
+ // so an operator sees how deliveries are gated straight from `status`.
388
+ // Derived from config; best-effort so a config-load hiccup never breaks
389
+ // the status readout.
390
+ try {
391
+ const cfg = loadUnifiedConfig();
392
+ const postureLines = formatVerificationPostureLines(cfg);
393
+ if (postureLines.length > 0) {
394
+ console.log('');
395
+ for (const line of postureLines)
396
+ console.log(line);
397
+ }
398
+ }
399
+ catch {
400
+ // Non-fatal: skip posture when config cannot be loaded.
401
+ }
383
402
  // Staleness signal: warn when the RUNNING daemon (version stamped into
384
403
  // daemon.meta.json at its startup -- possibly a different install than
385
404
  // this CLI) is behind the latest published release. Silent when up to
@@ -460,6 +479,20 @@ async function main() {
460
479
  process.exit(1);
461
480
  }
462
481
  });
482
+ // ── verify-setup: guided per-product deterministic-verification config ──
483
+ program
484
+ .command('verify-setup')
485
+ .description('Guided setup of the default-on verification command per product (detect, validate, write)')
486
+ .option('--config <path>', 'Path to daemon.json (default: ~/.telora/daemon.json)')
487
+ .action(async (opts) => {
488
+ try {
489
+ await runVerifySetupCommand({ config: opts.config });
490
+ }
491
+ catch (err) {
492
+ console.error(err instanceof Error ? err.message : String(err));
493
+ process.exit(1);
494
+ }
495
+ });
463
496
  // ── connect: redeem a Telora connect token and start the daemon ──────
464
497
  program
465
498
  .command('connect <token>')