greprag 5.53.0 → 5.54.0

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 (69) hide show
  1. package/dist/codex-steering.js +33 -7
  2. package/dist/codex-steering.js.map +1 -1
  3. package/dist/commands/arm-reminder.js +1 -1
  4. package/dist/commands/arm-reminder.js.map +1 -1
  5. package/dist/commands/codex-delivery.d.ts +2 -1
  6. package/dist/commands/codex-delivery.js +130 -7
  7. package/dist/commands/codex-delivery.js.map +1 -1
  8. package/dist/commands/codex-doctor.js +28 -11
  9. package/dist/commands/codex-doctor.js.map +1 -1
  10. package/dist/commands/codex-supervisor.d.ts +6 -1
  11. package/dist/commands/codex-supervisor.js +37 -12
  12. package/dist/commands/codex-supervisor.js.map +1 -1
  13. package/dist/commands/codex-wake-test.d.ts +19 -0
  14. package/dist/commands/codex-wake-test.js +34 -0
  15. package/dist/commands/codex-wake-test.js.map +1 -1
  16. package/dist/commands/codex.js +46 -7
  17. package/dist/commands/codex.js.map +1 -1
  18. package/dist/commands/friction-reminder.d.ts +3 -4
  19. package/dist/commands/friction-reminder.js +42 -9
  20. package/dist/commands/friction-reminder.js.map +1 -1
  21. package/dist/commands/inbox-drain.js +9 -2
  22. package/dist/commands/inbox-drain.js.map +1 -1
  23. package/dist/commands/inbox-primer-reminder.d.ts +1 -1
  24. package/dist/commands/inbox-primer-reminder.js +3 -3
  25. package/dist/commands/inbox-primer-reminder.js.map +1 -1
  26. package/dist/commands/inbox-watch.d.ts +3 -0
  27. package/dist/commands/inbox-watch.js +9 -3
  28. package/dist/commands/inbox-watch.js.map +1 -1
  29. package/dist/commands/init.js +14 -0
  30. package/dist/commands/init.js.map +1 -1
  31. package/dist/commands/mechanic-live.d.ts +12 -0
  32. package/dist/commands/mechanic-live.js +91 -0
  33. package/dist/commands/mechanic-live.js.map +1 -0
  34. package/dist/commands/mechanic-manifest.d.ts +16 -0
  35. package/dist/commands/mechanic-manifest.js +81 -0
  36. package/dist/commands/mechanic-manifest.js.map +1 -0
  37. package/dist/commands/mechanic.d.ts +3 -0
  38. package/dist/commands/mechanic.js +62 -7
  39. package/dist/commands/mechanic.js.map +1 -1
  40. package/dist/commands/opencode-relay.js +10 -1
  41. package/dist/commands/opencode-relay.js.map +1 -1
  42. package/dist/commands/reminder-types.d.ts +6 -0
  43. package/dist/commands/status.d.ts +1 -0
  44. package/dist/commands/status.js +2 -0
  45. package/dist/commands/status.js.map +1 -1
  46. package/dist/guard.d.ts +9 -2
  47. package/dist/guard.js +12 -5
  48. package/dist/guard.js.map +1 -1
  49. package/dist/harness.d.ts +6 -0
  50. package/dist/harness.js +47 -0
  51. package/dist/harness.js.map +1 -0
  52. package/dist/hook.js +81 -4
  53. package/dist/hook.js.map +1 -1
  54. package/dist/index.js +12 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/mechanic-friction.d.ts +99 -0
  57. package/dist/mechanic-friction.js +371 -0
  58. package/dist/mechanic-friction.js.map +1 -0
  59. package/dist/mechanic-role.d.ts +20 -0
  60. package/dist/mechanic-role.js +107 -0
  61. package/dist/mechanic-role.js.map +1 -0
  62. package/dist/opencode-plugin.bundle.js +49 -15
  63. package/dist/session-id.d.ts +1 -1
  64. package/dist/session-id.js +2 -2
  65. package/dist/session-id.js.map +1 -1
  66. package/package.json +1 -1
  67. package/skill/greprag/SKILL.md +1 -1
  68. package/skill/greprag/docs/inbox-watch.md +3 -0
  69. package/skill/mechanic/SKILL.md +22 -0
package/dist/guard.js CHANGED
@@ -69,6 +69,7 @@ const path = __importStar(require("path"));
69
69
  const fs = __importStar(require("fs"));
70
70
  const proc_1 = require("./proc");
71
71
  const fix_trigger_1 = require("./fix-trigger");
72
+ const harness_1 = require("./harness");
72
73
  // ---------- Paths -----------------------------------------------------------
73
74
  function stateDir() {
74
75
  const home = process.env.HOME || process.env.USERPROFILE || '';
@@ -248,6 +249,7 @@ function runGuard(input, projectId) {
248
249
  const toolName = input.tool_name || '';
249
250
  const toolInput = (input.tool_input || {});
250
251
  const sessionId = (input.session_id || 'unknown').slice(0, 8);
252
+ const currentHarness = input.harness || (0, harness_1.inferCurrentHarness)() || 'claude-code';
251
253
  const nowMs = Date.now();
252
254
  const nowIso = new Date(nowMs).toISOString();
253
255
  const latchState = cache.latchState || {};
@@ -263,6 +265,8 @@ function runGuard(input, projectId) {
263
265
  const trigger = repair?.trigger;
264
266
  if (!trigger)
265
267
  continue;
268
+ if (!(0, harness_1.targetMatchesHarness)(repair.targetHarness, currentHarness))
269
+ continue;
266
270
  // Source gate (bridge): `state` rides this hot path; `ingress` fires off-path
267
271
  // (skip); legacy rows still require event === PreToolUse, unchanged.
268
272
  if (trigger.source === 'ingress')
@@ -448,11 +452,12 @@ async function flushTallySpools(apiUrl, apiKey) {
448
452
  // ---------- Boot pull + freshness (D1: ride existing hook calls) -------------
449
453
  /** GET the matchset and write the cache, preserving the local latch journal.
450
454
  * Hard 3s timeout; any failure leaves the existing cache untouched. */
451
- async function fetchAndCacheMatchset(apiUrl, apiKey, projectId) {
455
+ async function fetchAndCacheMatchset(apiUrl, apiKey, projectId, harness) {
452
456
  try {
453
457
  const ctrl = new AbortController();
454
458
  const timer = setTimeout(() => ctrl.abort(), 3000);
455
- const res = await fetch(`${apiUrl}/v1/fix/triggers/matchset?projectId=${encodeURIComponent(projectId)}`, { headers: { 'Authorization': `Bearer ${apiKey}` }, signal: ctrl.signal });
459
+ const currentHarness = harness || (0, harness_1.inferCurrentHarness)() || 'claude-code';
460
+ const res = await fetch(`${apiUrl}/v1/fix/triggers/matchset?projectId=${encodeURIComponent(projectId)}&harness=${encodeURIComponent(currentHarness)}`, { headers: { 'Authorization': `Bearer ${apiKey}` }, signal: ctrl.signal });
456
461
  clearTimeout(timer);
457
462
  if (!res.ok)
458
463
  return null;
@@ -463,6 +468,7 @@ async function fetchAndCacheMatchset(apiUrl, apiKey, projectId) {
463
468
  writeMatchsetCache(projectId, {
464
469
  triggersVersion: body.triggersVersion,
465
470
  repairs: Array.isArray(body.repairs) ? body.repairs : [],
471
+ harness: currentHarness,
466
472
  fetchedAt: new Date().toISOString(),
467
473
  latchState: prior?.latchState || {},
468
474
  stateValues: prior?.stateValues || {},
@@ -477,11 +483,12 @@ const REFRESH_MIN_AGE_MS = 120_000;
477
483
  /** UserPromptSubmit freshness leg: when the cache is stale (>2 min since last
478
484
  * server contact), spawn a detached `guard-refresh` child that re-fetches and
479
485
  * rewrites the cache iff triggersVersion changed. Never blocks the turn. */
480
- function maybeSpawnGuardRefresh(cwd, projectId) {
486
+ function maybeSpawnGuardRefresh(cwd, projectId, harness) {
481
487
  if (process.env.GREPRAG_GUARD_CHILD === '1')
482
488
  return; // no child-of-child loops
489
+ const currentHarness = harness || (0, harness_1.inferCurrentHarness)() || 'claude-code';
483
490
  const cache = readMatchsetCache(projectId);
484
- if (cache?.fetchedAt) {
491
+ if (cache?.fetchedAt && cache.harness === currentHarness) {
485
492
  const age = Date.now() - Date.parse(cache.fetchedAt);
486
493
  if (Number.isFinite(age) && age < REFRESH_MIN_AGE_MS)
487
494
  return;
@@ -490,7 +497,7 @@ function maybeSpawnGuardRefresh(cwd, projectId) {
490
497
  const hookJs = path.join(__dirname, 'hook.js');
491
498
  const child = (0, proc_1.safeSpawn)(process.execPath, [hookJs, 'guard-refresh'], {
492
499
  cwd, detached: true, stdio: 'ignore', windowsHide: true,
493
- env: { ...process.env, GREPRAG_GUARD_CHILD: '1' },
500
+ env: { ...process.env, GREPRAG_GUARD_CHILD: '1', GREPRAG_HARNESS: currentHarness },
494
501
  });
495
502
  child.unref();
496
503
  }
package/dist/guard.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type GrepRagHarness = 'claude-code' | 'codex' | 'opencode';
2
+ export type RepairTargetHarness = GrepRagHarness | 'all';
3
+ export declare const REPAIR_TARGET_HARNESSES: readonly RepairTargetHarness[];
4
+ export declare function normalizeHarness(raw: string | null | undefined): RepairTargetHarness | null;
5
+ export declare function inferCurrentHarness(): GrepRagHarness | null;
6
+ export declare function targetMatchesHarness(target: string | null | undefined, current: GrepRagHarness): boolean;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REPAIR_TARGET_HARNESSES = void 0;
4
+ exports.normalizeHarness = normalizeHarness;
5
+ exports.inferCurrentHarness = inferCurrentHarness;
6
+ exports.targetMatchesHarness = targetMatchesHarness;
7
+ exports.REPAIR_TARGET_HARNESSES = [
8
+ 'claude-code',
9
+ 'codex',
10
+ 'opencode',
11
+ 'all',
12
+ ];
13
+ function normalizeHarness(raw) {
14
+ const v = (raw || '').trim().toLowerCase();
15
+ if (!v)
16
+ return null;
17
+ if (v === 'claude' || v === 'claude_code' || v === 'claude-code')
18
+ return 'claude-code';
19
+ if (v === 'codex')
20
+ return 'codex';
21
+ if (v === 'opencode' || v === 'open-code' || v === 'open_code')
22
+ return 'opencode';
23
+ if (v === 'all' || v === 'any' || v === 'universal')
24
+ return 'all';
25
+ return null;
26
+ }
27
+ function inferCurrentHarness() {
28
+ if (process.env.GREPRAG_HARNESS) {
29
+ const h = normalizeHarness(process.env.GREPRAG_HARNESS);
30
+ if (h && h !== 'all')
31
+ return h;
32
+ }
33
+ if (process.env.CODEX_THREAD_ID)
34
+ return 'codex';
35
+ if (process.env.GREPRAG_OPENCODE_SESSION_ID || process.env.OPENCODE_SESSION_ID)
36
+ return 'opencode';
37
+ if (process.env.CLAUDE_CODE_SESSION_ID || process.env.CLAUDE_SESSION_ID)
38
+ return 'claude-code';
39
+ return null;
40
+ }
41
+ function targetMatchesHarness(target, current) {
42
+ const normalized = normalizeHarness(target);
43
+ if (!normalized)
44
+ return current === 'claude-code';
45
+ return normalized === 'all' || normalized === current;
46
+ }
47
+ //# sourceMappingURL=harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":";;;AAUA,4CAQC;AAED,kDASC;AAED,oDAOC;AAnCY,QAAA,uBAAuB,GAAmC;IACrE,aAAa;IACb,OAAO;IACP,UAAU;IACV,KAAK;CACN,CAAC;AAEF,SAAgB,gBAAgB,CAAC,GAA8B;IAC7D,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,aAAa;QAAE,OAAO,aAAa,CAAC;IACvF,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAClC,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,UAAU,CAAC;IAClF,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAClE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB;IACjC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK;YAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,OAAO,CAAC;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAAE,OAAO,UAAU,CAAC;IAClG,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAAE,OAAO,aAAa,CAAC;IAC9F,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,oBAAoB,CAClC,MAAiC,EACjC,OAAuB;IAEvB,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU;QAAE,OAAO,OAAO,KAAK,aAAa,CAAC;IAClD,OAAO,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,OAAO,CAAC;AACxD,CAAC"}
package/dist/hook.js CHANGED
@@ -46,6 +46,8 @@ const crypto = __importStar(require("crypto"));
46
46
  const proc_1 = require("./proc");
47
47
  const docptr_refs_1 = require("./docptr-refs");
48
48
  const project_anchor_1 = require("./project-anchor");
49
+ const mechanic_role_1 = require("./mechanic-role");
50
+ const mechanic_friction_1 = require("./mechanic-friction");
49
51
  const assistant_doctrine_1 = require("./assistant-doctrine");
50
52
  const session_id_1 = require("./session-id");
51
53
  // adr: adr/memory-provenance-capture.md — classify harness-injected user text
@@ -1508,7 +1510,7 @@ async function recap(input, mode = 'plain', opts = {}) {
1508
1510
  // (D1: no new round trips). Best-effort: a fetch failure leaves any prior
1509
1511
  // cache in place and never blocks the recap.
1510
1512
  try {
1511
- await (0, guard_1.fetchAndCacheMatchset)(cfg.apiUrl, cfg.apiKey, anchor.projectId);
1513
+ await (0, guard_1.fetchAndCacheMatchset)(cfg.apiUrl, cfg.apiKey, anchor.projectId, opts.platform || 'claude-code');
1512
1514
  }
1513
1515
  catch { /* fail-open */ }
1514
1516
  // Setup warning — surfaced at session start when the project's identity is
@@ -1599,6 +1601,18 @@ async function recap(input, mode = 'plain', opts = {}) {
1599
1601
  // Loaded once + re-fired on compact (recap matcher ''). The Mechanic kill switch drops
1600
1602
  // ONLY the mechanic announce; a missing session id drops ONLY watcher-arm.
1601
1603
  const announceShort = (0, session_id_1.truncateSessionId)(input.session_id) || '';
1604
+ const announceMechanicLive = (() => { try {
1605
+ return (0, mechanic_role_1.isMechanicProject)(anchor);
1606
+ }
1607
+ catch {
1608
+ return false;
1609
+ } })();
1610
+ const announceMechanic = (() => { try {
1611
+ return (0, mechanic_role_1.isMechanicSession)(anchor, announceShort);
1612
+ }
1613
+ catch {
1614
+ return false;
1615
+ } })();
1602
1616
  const announceEnv = {
1603
1617
  short: announceShort, turnCount: 0, stress: 0, armed: false, sessionUnread: 0,
1604
1618
  ownerPid: announceShort ? (0, watcher_registry_1.resolveClaudeOwnerPid)(announceShort) : null,
@@ -1609,6 +1623,8 @@ async function recap(input, mode = 'plain', opts = {}) {
1609
1623
  catch {
1610
1624
  return false;
1611
1625
  } })(),
1626
+ mechanic: announceMechanic,
1627
+ mechanicLive: announceMechanicLive,
1612
1628
  platform: opts.platform || 'claude-code',
1613
1629
  projectName: anchor.projectName,
1614
1630
  setupWarning,
@@ -1789,7 +1805,7 @@ async function notify(input, source = 'claude-code') {
1789
1805
  try {
1790
1806
  const anchor = (0, project_anchor_1.readAnchor)(input.cwd || process.cwd());
1791
1807
  if (anchor.projectId)
1792
- (0, guard_1.maybeSpawnGuardRefresh)(input.cwd || process.cwd(), anchor.projectId);
1808
+ (0, guard_1.maybeSpawnGuardRefresh)(input.cwd || process.cwd(), anchor.projectId, source);
1793
1809
  }
1794
1810
  catch { /* fail-open */ }
1795
1811
  if (source === 'codex') {
@@ -1849,6 +1865,33 @@ function recordFrictionFire(projectId, tier, turnCount) {
1849
1865
  }
1850
1866
  catch { /* counter is best-effort — never block the turn */ }
1851
1867
  }
1868
+ function mechanicLiveNoticePath(projectId, sessionId) {
1869
+ const home = process.env.HOME || process.env.USERPROFILE || '';
1870
+ return path.join(home, '.greprag', 'state', `mechanic-live-notice-${projectId}-${sessionId}.json`);
1871
+ }
1872
+ function mechanicLiveNoticeDue(input) {
1873
+ if (!input.projectId || !input.sessionId || !input.mechanicLive || input.mechanic)
1874
+ return false;
1875
+ const epoch = input.mechanicEpoch || `legacy:${input.mechanicSessionId || 'project-wide'}`;
1876
+ const key = `${epoch}:${input.mechanicSessionId || 'project-wide'}`;
1877
+ try {
1878
+ const file = mechanicLiveNoticePath(input.projectId, input.sessionId);
1879
+ try {
1880
+ const prior = JSON.parse(fs.readFileSync(file, 'utf-8'));
1881
+ if (prior.key === key)
1882
+ return false;
1883
+ }
1884
+ catch { /* no prior notice */ }
1885
+ const dir = path.dirname(file);
1886
+ if (!fs.existsSync(dir))
1887
+ fs.mkdirSync(dir, { recursive: true });
1888
+ fs.writeFileSync(file, JSON.stringify({ key, at: new Date().toISOString() }, null, 2) + '\n');
1889
+ return true;
1890
+ }
1891
+ catch {
1892
+ return false;
1893
+ }
1894
+ }
1852
1895
  /** The reminder-interrupt registry CONTAINER call (docs/reminder-interrupt.md §Registry
1853
1896
  * spec) — invoked from the proven-registered `notify` hook (claude-code path). Assembles
1854
1897
  * the live env (the ONLY i/o: armed via isLocallyArmed, this session's own unread, the
@@ -1869,10 +1912,21 @@ async function injectReminders(input, cfg, short, platform = 'claude-code') {
1869
1912
  const sessionUnread = (codex || armed) ? 0 : await fetchSessionUnread(cfg.apiUrl, cfg.apiKey, short);
1870
1913
  const ownerPid = (codex || armed) ? null : (0, watcher_registry_1.resolveClaudeOwnerPid)(short);
1871
1914
  let assistant = false;
1915
+ let mechanic = false;
1916
+ let mechanicLive = false;
1917
+ let mechanicEpoch = null;
1918
+ let mechanicSessionId = null;
1872
1919
  try {
1873
1920
  assistant = (0, project_anchor_1.isAssistantProject)(anchor);
1874
1921
  }
1875
1922
  catch { /* fail-open */ }
1923
+ try {
1924
+ mechanicLive = (0, mechanic_role_1.isMechanicProject)(anchor);
1925
+ mechanic = (0, mechanic_role_1.isMechanicSession)(anchor, short);
1926
+ mechanicEpoch = (0, mechanic_role_1.readMechanicRoleEpoch)(anchor);
1927
+ mechanicSessionId = (0, mechanic_role_1.readMechanicSessionId)(anchor);
1928
+ }
1929
+ catch { /* fail-open */ }
1876
1930
  // Stress/turnCount from the Stop-stashed state bag (no LLM/network here).
1877
1931
  const state = anchor.projectId
1878
1932
  ? ((0, guard_1.readMatchsetCache)(anchor.projectId)?.stateValues || {})
@@ -1887,7 +1941,16 @@ async function injectReminders(input, cfg, short, platform = 'claude-code') {
1887
1941
  // gone. docs/reminder-interrupt.md (the landed map: reminder ≠ knowledge injection).
1888
1942
  const env = {
1889
1943
  short, turnCount, stress, armed, sessionUnread,
1890
- ownerPid, alias: (0, session_id_1.readIdentityAlias)(), assistant, platform,
1944
+ ownerPid, alias: (0, session_id_1.readIdentityAlias)(), assistant, mechanic, mechanicLive,
1945
+ mechanicLiveNotice: mechanicLiveNoticeDue({
1946
+ projectId: anchor.projectId,
1947
+ sessionId: short,
1948
+ mechanic,
1949
+ mechanicLive,
1950
+ mechanicEpoch,
1951
+ mechanicSessionId,
1952
+ }),
1953
+ platform,
1891
1954
  };
1892
1955
  // UserPromptSubmit evaluates the prompt-source modules only (command-source
1893
1956
  // modules — the collision Match — run at PreToolUse). Kill switch drops ONLY
@@ -1903,8 +1966,22 @@ async function injectReminders(input, cfg, short, platform = 'claude-code') {
1903
1966
  const parts = fired.map(f => f.tier === 'ambient' ? f.line : (0, guard_1.wrapDirective)(f.line));
1904
1967
  // Fire-counter (adherence denominator) for the mechanic module — best-effort.
1905
1968
  const mf = fired.find(f => f.id === 'mechanic-friction');
1906
- if (mf && anchor.projectId)
1969
+ if (mf && mf.tier !== 'ambient' && anchor.projectId) {
1907
1970
  recordFrictionFire(anchor.projectId, mf.tier, turnCount);
1971
+ await (0, mechanic_friction_1.forwardStressMechanicFriction)({
1972
+ apiUrl: cfg.apiUrl,
1973
+ apiKey: cfg.apiKey,
1974
+ cwd,
1975
+ projectId: anchor.projectId,
1976
+ projectName: anchor.projectName,
1977
+ sourceSessionId: short,
1978
+ stress,
1979
+ stressScore: typeof state.stressScore === 'number' ? state.stressScore : null,
1980
+ turnCount,
1981
+ transcriptPath: input.transcript_path || null,
1982
+ platform,
1983
+ }).catch(() => undefined);
1984
+ }
1908
1985
  return parts.join('\n\n');
1909
1986
  }
1910
1987
  catch { /* fail-open — a reminder miss never breaks the turn */ }