@rubytech/create-maxy-code 0.1.214 → 0.1.219

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 (89) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/mcp-eager/dist/index.d.ts +0 -55
  3. package/payload/platform/lib/mcp-eager/dist/index.d.ts.map +1 -1
  4. package/payload/platform/lib/mcp-eager/dist/index.js +0 -76
  5. package/payload/platform/lib/mcp-eager/dist/index.js.map +1 -1
  6. package/payload/platform/lib/mcp-eager/src/index.ts +0 -101
  7. package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
  8. package/payload/platform/plugins/admin/PLUGIN.md +4 -1
  9. package/payload/platform/plugins/admin/hooks/__tests__/hook-emit-stale-lock-ttl.test.sh +102 -0
  10. package/payload/platform/plugins/admin/hooks/__tests__/post-tool-use-agent.test.sh +97 -1
  11. package/payload/platform/plugins/admin/hooks/__tests__/pre-tool-use-admin-tool-gate.test.sh +55 -74
  12. package/payload/platform/plugins/admin/hooks/lib/hook-emit.sh +58 -0
  13. package/payload/platform/plugins/admin/hooks/post-tool-use-agent.sh +100 -29
  14. package/payload/platform/plugins/admin/hooks/pre-tool-use.sh +0 -55
  15. package/payload/platform/plugins/admin/mcp/dist/__tests__/capabilities-here.test.d.ts +2 -0
  16. package/payload/platform/plugins/admin/mcp/dist/__tests__/capabilities-here.test.d.ts.map +1 -0
  17. package/payload/platform/plugins/admin/mcp/dist/__tests__/capabilities-here.test.js +130 -0
  18. package/payload/platform/plugins/admin/mcp/dist/__tests__/capabilities-here.test.js.map +1 -0
  19. package/payload/platform/plugins/admin/mcp/dist/index.js +63 -0
  20. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  21. package/payload/platform/plugins/admin/mcp/dist/lib/catalogue-census.d.ts +14 -0
  22. package/payload/platform/plugins/admin/mcp/dist/lib/catalogue-census.d.ts.map +1 -0
  23. package/payload/platform/plugins/admin/mcp/dist/lib/catalogue-census.js +50 -0
  24. package/payload/platform/plugins/admin/mcp/dist/lib/catalogue-census.js.map +1 -0
  25. package/payload/platform/plugins/admin/mcp/dist/tools/capabilities-here.d.ts +28 -0
  26. package/payload/platform/plugins/admin/mcp/dist/tools/capabilities-here.d.ts.map +1 -0
  27. package/payload/platform/plugins/admin/mcp/dist/tools/capabilities-here.js +68 -0
  28. package/payload/platform/plugins/admin/mcp/dist/tools/capabilities-here.js.map +1 -0
  29. package/payload/platform/plugins/admin/skills/capabilities-here/SKILL.md +31 -0
  30. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +39 -30
  31. package/payload/platform/plugins/browser/mcp/dist/index.js +19 -19
  32. package/payload/platform/plugins/browser/mcp/dist/index.js.map +1 -1
  33. package/payload/platform/plugins/docs/references/platform.md +28 -25
  34. package/payload/platform/plugins/docs/references/plugins-guide.md +2 -0
  35. package/payload/platform/plugins/email/mcp/dist/index.js +12 -12
  36. package/payload/platform/plugins/email/mcp/dist/index.js.map +1 -1
  37. package/payload/platform/plugins/memory/mcp/dist/index.js +8 -8
  38. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  39. package/payload/platform/plugins/url-get/mcp/dist/index.js +2 -2
  40. package/payload/platform/plugins/url-get/mcp/dist/index.js.map +1 -1
  41. package/payload/platform/scripts/check-architecture-skill-no-drift.mjs +89 -42
  42. package/payload/platform/scripts/check-roles-doc-completeness.mjs +96 -0
  43. package/payload/platform/scripts/check-specialist-tool-surface.mjs +1 -1
  44. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  45. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -0
  46. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  47. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts +0 -14
  48. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  49. package/payload/platform/services/claude-session-manager/dist/http-server.js +54 -21
  50. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  51. package/payload/platform/services/claude-session-manager/dist/index.js +20 -9
  52. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  53. package/payload/platform/services/claude-session-manager/dist/jsonl-tail.d.ts +21 -0
  54. package/payload/platform/services/claude-session-manager/dist/jsonl-tail.d.ts.map +1 -1
  55. package/payload/platform/services/claude-session-manager/dist/jsonl-tail.js +118 -1
  56. package/payload/platform/services/claude-session-manager/dist/jsonl-tail.js.map +1 -1
  57. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +1 -1
  58. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +1 -1
  59. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts +28 -17
  60. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
  61. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +110 -60
  62. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
  63. package/payload/platform/services/claude-session-manager/dist/rc-life.d.ts +4 -0
  64. package/payload/platform/services/claude-session-manager/dist/rc-life.d.ts.map +1 -0
  65. package/payload/platform/services/claude-session-manager/dist/rc-life.js +16 -0
  66. package/payload/platform/services/claude-session-manager/dist/rc-life.js.map +1 -0
  67. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.d.ts +80 -0
  68. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.d.ts.map +1 -0
  69. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.js +306 -0
  70. package/payload/platform/services/claude-session-manager/dist/rc-script-spawn.js.map +1 -0
  71. package/payload/platform/services/claude-session-manager/dist/specialist-drift.d.ts +9 -0
  72. package/payload/platform/services/claude-session-manager/dist/specialist-drift.d.ts.map +1 -1
  73. package/payload/platform/services/claude-session-manager/dist/specialist-drift.js +6 -2
  74. package/payload/platform/services/claude-session-manager/dist/specialist-drift.js.map +1 -1
  75. package/payload/platform/services/claude-session-manager/dist/systemd-scope.d.ts +12 -46
  76. package/payload/platform/services/claude-session-manager/dist/systemd-scope.d.ts.map +1 -1
  77. package/payload/platform/services/claude-session-manager/dist/systemd-scope.js +24 -73
  78. package/payload/platform/services/claude-session-manager/dist/systemd-scope.js.map +1 -1
  79. package/payload/platform/templates/agents/admin/IDENTITY.md +6 -4
  80. package/payload/platform/templates/specialists/agents/content-producer.md +1 -1
  81. package/payload/premium-plugins/writer-craft/mcp/dist/index.d.ts.map +1 -1
  82. package/payload/premium-plugins/writer-craft/mcp/dist/index.js +4 -5
  83. package/payload/premium-plugins/writer-craft/mcp/dist/index.js.map +1 -1
  84. package/payload/premium-plugins/writer-craft/mcp/src/index.ts +4 -5
  85. package/payload/premium-plugins/writer-craft/lib/mcp-eager/dist/index.d.ts +0 -116
  86. package/payload/premium-plugins/writer-craft/lib/mcp-eager/dist/index.d.ts.map +0 -1
  87. package/payload/premium-plugins/writer-craft/lib/mcp-eager/dist/index.js +0 -125
  88. package/payload/premium-plugins/writer-craft/lib/mcp-eager/dist/index.js.map +0 -1
  89. package/payload/premium-plugins/writer-craft/lib/mcp-eager/package.json +0 -7
@@ -40,6 +40,7 @@ import { join, dirname } from 'node:path';
40
40
  import { readFileSync, writeFileSync, mkdirSync, renameSync } from 'node:fs';
41
41
  import { createConnection } from 'node:net';
42
42
  import { randomUUID } from 'node:crypto';
43
+ import { emitRcLife } from './rc-life.js';
43
44
  const TAG = '[claude-session-manager]';
44
45
  const BACKOFF_BASE_MS = 1_000;
45
46
  const BACKOFF_MAX_MS = 60_000;
@@ -195,6 +196,7 @@ export function startRcDaemon(deps) {
195
196
  // plugins' `${ACCOUNT_ID}`/`${NEO4J_*}` blocks resolve without a project file.
196
197
  deps.logger(`${TAG} rc-daemon mcp-channel=installed-plugins accountId=${deps.accountId} (no project .mcp.json; long-prefix only)`);
197
198
  const daemonEnv = buildDaemonEnv(deps);
199
+ const pidFileTimeoutMs = deps.pidFileTimeoutMs ?? 30_000;
198
200
  let stopped = false;
199
201
  let current = null;
200
202
  let backoffMs = BACKOFF_BASE_MS;
@@ -204,7 +206,7 @@ export function startRcDaemon(deps) {
204
206
  if (stopped || permanentlyFailed)
205
207
  return;
206
208
  const startedAt = now();
207
- let handle;
209
+ let pty;
208
210
  // Task 531 — unique unitToken per spawn attempt. A fixed token
209
211
  // (`'rc-daemon'`) reused on a fast restart races systemd's cleanup of
210
212
  // the prior transient scope: the next `systemd-run --user --scope
@@ -216,68 +218,106 @@ export function startRcDaemon(deps) {
216
218
  // greps still recognise the scope as the rc-daemon's.
217
219
  const unitToken = `rc-daemon-${randomUUID()}`;
218
220
  try {
219
- // Task 552 — filter env to strings; systemdSpawn's contract is
220
- // Record<string,string> and buildRcChildEnv may pass undefineds
221
- // through from the spread of process.env.
222
- const cleanEnv = {};
223
- for (const [k, v] of Object.entries(daemonEnv)) {
224
- if (typeof v === 'string')
225
- cleanEnv[k] = v;
226
- }
227
- handle = await deps.systemdSpawn({
228
- claudeBin: deps.claudeBin,
229
- // --no-create-session-in-dir: do not pre-create the daemon's in-dir
230
- // session. The daemon starts at platform boot, ahead of any operator
231
- // intent, so a pre-created session would sit idle until composer
232
- // creates a real on-demand session anyway.
233
- claudeArgs: ['rc', '--spawn', 'same-dir', '--no-create-session-in-dir', '--remote-control-session-name-prefix', deps.brandProductName],
234
- env: cleanEnv,
235
- cwd: deps.spawnCwd,
236
- unitToken,
237
- // Task 556 — per-spawn script(1) typescript capture file.
238
- captureFilePath: join(dirname(deps.claudeConfigDir), 'logs', `spawn-${unitToken}.log`),
239
- });
221
+ pty = deps.spawnPty(deps.claudeBin,
222
+ // --no-create-session-in-dir: do not pre-create the daemon's in-dir
223
+ // session. The daemon starts at platform boot, ahead of any operator
224
+ // intent, so a pre-created session would sit idle until composer
225
+ // creates a real on-demand session anyway.
226
+ ['rc', '--spawn', 'same-dir', '--no-create-session-in-dir', '--remote-control-session-name-prefix', deps.brandProductName], daemonEnv, unitToken);
240
227
  }
241
228
  catch (err) {
242
- deps.logger(`${TAG} rc-daemon spawn-failed err=${err instanceof Error ? err.message : String(err)}`);
229
+ const msg = err instanceof Error ? err.message : String(err);
230
+ deps.logger(`${TAG} rc-daemon spawn-failed err=${msg}`);
231
+ emitRcLife(deps.logger, 'spawn-failed', 'rc-daemon', 'node-pty', 'daemon', unitToken, { err: JSON.stringify(msg) });
243
232
  scheduleRestart(startedAt);
244
233
  return;
245
234
  }
246
- current = handle;
247
- deps.logger(`${TAG} rc-daemon start accountId=${deps.accountId} cwd=${deps.spawnCwd} pid=${handle.pid} model=${adminModel ?? 'default'} name-prefix=${deps.brandProductName} spawnMethod=systemd-scope`);
248
- // Task 552 exit detection via `handle.waitForExit()` polls
249
- // `systemctl --user is-active` and reads Result/ExecMainStatus on
250
- // exit. On fast-exit, `handle.readCaptureTail` reads the tail of the
251
- // per-spawn script(1) typescript for the self-diagnosing log line
252
- // (was a node-pty onData ring buffer pre-552; was a journal read
253
- // pre-556, which silently returned empty on scope units).
254
- void handle.waitForExit()
255
- .then(async (exit) => {
256
- if (current === handle)
257
- current = null;
258
- const ranMs = now() - startedAt;
259
- deps.logger(`${TAG} rc-daemon exit accountId=${deps.accountId} pid=${handle.pid} result=${exit.result} exitCode=${exit.exitCode ?? 'null'} execCode=${exit.code ?? 'null'} ranMs=${ranMs}`);
260
- if (ranMs < FAST_EXIT_THRESHOLD_MS) {
261
- let tail = '';
262
- try {
263
- tail = await handle.readCaptureTail(FAST_EXIT_OUTPUT_MAX_BYTES);
264
- }
265
- catch (err) {
266
- tail = `<readCaptureTail failed: ${err instanceof Error ? err.message : String(err)}>`;
267
- }
268
- const bytes = tail.length;
269
- const body = bytes > 0 ? tail : '<no child output captured>';
270
- deps.logger(`${TAG} rc-daemon fast-exit-output accountId=${deps.accountId} pid=${handle.pid} ranMs=${ranMs} bytes=${bytes} output<<<\n${body}\n>>>`);
235
+ current = pty;
236
+ deps.logger(`${TAG} rc-daemon start accountId=${deps.accountId} cwd=${deps.spawnCwd} pid=${pty.pid} model=${adminModel ?? 'default'} name-prefix=${deps.brandProductName} spawnMethod=node-pty`);
237
+ emitRcLife(deps.logger, 'spawned', 'rc-daemon', 'node-pty', 'daemon', unitToken, {
238
+ pid: pty.pid,
239
+ scopeUnit: `claude-session-${unitToken}.scope`,
240
+ });
241
+ // Ring buffer for the child's own stdout/stderr. Sized to fit a
242
+ // multi-line stack trace or single-instance/lock error without
243
+ // unbounded growth on a chatty boot sequence; the head wins because
244
+ // the bounded buffer truncates once full, capturing the early
245
+ // boot output that precedes a fast exit.
246
+ let outputBuf = '';
247
+ pty.onData((data) => {
248
+ if (outputBuf.length >= FAST_EXIT_OUTPUT_MAX_BYTES)
249
+ return;
250
+ const remaining = FAST_EXIT_OUTPUT_MAX_BYTES - outputBuf.length;
251
+ outputBuf += remaining >= data.length ? data : data.slice(0, remaining);
252
+ });
253
+ // Liveness poll — matches the rc-spawn arm's cadence so the endurance
254
+ // signature is directly comparable. Cleared on exit (below).
255
+ const livenessTimer = setInterval(() => {
256
+ if (current !== pty) {
257
+ clearInterval(livenessTimer);
258
+ return;
271
259
  }
272
- scheduleRestart(startedAt);
260
+ let pidAlive = false;
261
+ try {
262
+ process.kill(pty.pid, 0);
263
+ pidAlive = true;
264
+ }
265
+ catch {
266
+ pidAlive = false;
267
+ }
268
+ emitRcLife(deps.logger, 'liveness', 'rc-daemon', 'node-pty', 'daemon', unitToken, {
269
+ ageMs: now() - startedAt,
270
+ pidAlive,
271
+ remoteBound: true,
272
+ });
273
+ }, 15_000);
274
+ livenessTimer.unref?.();
275
+ // Task 573 — success signal is the on-disk PID file. `waitForPid`
276
+ // resolves once `claude rc` writes `<CLAUDE_CONFIG_DIR>/sessions/<pid>.json`.
277
+ // The fire-and-forget chain emits `op=pidfile-present` (success) or
278
+ // `op=wait-pid-failed` (timeout). Neither outcome aborts the
279
+ // supervised lifetime; the child may still be running with the file
280
+ // absent (logged failure surfaces it).
281
+ let pidFileSeen = false;
282
+ void deps.waitForPid(pty.pid, pidFileTimeoutMs)
283
+ .then((row) => {
284
+ pidFileSeen = true;
285
+ emitRcLife(deps.logger, 'pidfile-present', 'rc-daemon', 'node-pty', 'daemon', unitToken, {
286
+ pid: pty.pid,
287
+ path: row.pidFilePath ?? 'unknown',
288
+ ageMs: now() - startedAt,
289
+ });
273
290
  })
274
291
  .catch((err) => {
275
- // waitForExit polls until inactive; the only way it throws is a
276
- // systemctl runner that itself throws. Log and treat as exit so
277
- // supervision continues.
278
- if (current === handle)
292
+ emitRcLife(deps.logger, 'wait-pid-failed', 'rc-daemon', 'node-pty', 'daemon', unitToken, {
293
+ pid: pty.pid,
294
+ err: JSON.stringify(err instanceof Error ? err.message : String(err)),
295
+ });
296
+ });
297
+ pty.onExit((e) => {
298
+ if (current === pty)
279
299
  current = null;
280
- deps.logger(`${TAG} rc-daemon waitForExit-failed accountId=${deps.accountId} pid=${handle.pid} err=${err instanceof Error ? err.message : String(err)}`);
300
+ clearInterval(livenessTimer);
301
+ const ranMs = now() - startedAt;
302
+ const exitCode = e.exitCode ?? null;
303
+ const signal = e.signal ?? null;
304
+ deps.logger(`${TAG} rc-daemon exit accountId=${deps.accountId} pid=${pty.pid} exitCode=${exitCode ?? 'null'} signal=${signal ?? 'null'} ranMs=${ranMs}`);
305
+ emitRcLife(deps.logger, 'exit', 'rc-daemon', 'node-pty', 'daemon', unitToken, {
306
+ pid: pty.pid,
307
+ lifetimeMs: ranMs,
308
+ exitCode: exitCode ?? 'null',
309
+ signal: signal ?? 'null',
310
+ pidFileSeen,
311
+ });
312
+ if (ranMs < FAST_EXIT_THRESHOLD_MS) {
313
+ const bytes = outputBuf.length;
314
+ const body = bytes > 0 ? outputBuf : '<no child output captured>';
315
+ deps.logger(`${TAG} rc-daemon fast-exit-output accountId=${deps.accountId} pid=${pty.pid} ranMs=${ranMs} bytes=${bytes} output<<<\n${body}\n>>>`);
316
+ }
317
+ try {
318
+ pty.destroy?.();
319
+ }
320
+ catch { /* fd may already be gone */ }
281
321
  scheduleRestart(startedAt);
282
322
  });
283
323
  };
@@ -371,15 +411,25 @@ export function startRcDaemon(deps) {
371
411
  };
372
412
  void waitForNeo4jThenSpawn();
373
413
  return {
414
+ alive() {
415
+ return current ? 1 : 0;
416
+ },
374
417
  stop() {
375
418
  stopped = true;
376
419
  if (current) {
377
- // Task 552`handle.stop()` invokes `systemctl --user stop --no-block`
378
- // and (when the pid was captured) runs the SIGTERM→SIGKILL escalation
379
- // against the reparented pid if the scope was already collapsed. Fire
380
- // and forget: the manager is shutting down; the scope's
381
- // TimeoutStopSec=5 caps the in-cgroup escalation.
382
- void current.stop().catch(() => { });
420
+ // Task 573node-pty: send SIGTERM to the claude child and
421
+ // release the master fd. The scope's TimeoutStopSec=5 still
422
+ // caps any in-cgroup escalation systemd performs against the
423
+ // reparented pid when the manager exits; node-pty itself does
424
+ // not orchestrate SIGTERM→SIGKILL.
425
+ try {
426
+ current.kill('SIGTERM');
427
+ }
428
+ catch { /* already gone */ }
429
+ try {
430
+ current.destroy?.();
431
+ }
432
+ catch { /* fd may already be gone */ }
383
433
  current = null;
384
434
  }
385
435
  deps.logger(`${TAG} rc-daemon stopped accountId=${deps.accountId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"rc-daemon.js","sourceRoot":"","sources":["../src/rc-daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rc-daemon.js","sourceRoot":"","sources":["../src/rc-daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Logger } from './types.js';
2
+ export type RcSpawnMode = 'new' | 'resume';
3
+ export declare function emitRcLife(logger: Logger, op: string, source: 'rc-spawn' | 'rc-daemon', path: 'node-pty', mode: RcSpawnMode | 'daemon', unitToken: string, fields?: Record<string, string | number | boolean | null>): void;
4
+ //# sourceMappingURL=rc-life.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rc-life.d.ts","sourceRoot":"","sources":["../src/rc-life.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAA;AAE1C,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,UAAU,GAAG,WAAW,EAChC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,WAAW,GAAG,QAAQ,EAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAM,GAC5D,IAAI,CAMN"}
@@ -0,0 +1,16 @@
1
+ // Cross-arm `[rc-life]` log schema. One emitter shared by rc-spawn and
2
+ // rc-daemon so a single `grep '\[rc-life\]'` covers every spawn surface
3
+ // under one shape. Field order + null-handling stay identical between
4
+ // the arms.
5
+ //
6
+ // Task 573 — both arms spawn via node-pty + systemd-scope. `path` is
7
+ // therefore always `node-pty`; the parameter is preserved for log
8
+ // compatibility with prior tooling.
9
+ export function emitRcLife(logger, op, source, path, mode, unitToken, fields = {}) {
10
+ const base = `[rc-life] op=${op} source=${source} path=${path} mode=${mode} unitToken=${unitToken}`;
11
+ const extras = Object.entries(fields)
12
+ .map(([k, v]) => `${k}=${v === null ? 'null' : typeof v === 'string' && v.includes(' ') ? JSON.stringify(v) : v}`)
13
+ .join(' ');
14
+ logger(extras ? `${base} ${extras}` : base);
15
+ }
16
+ //# sourceMappingURL=rc-life.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rc-life.js","sourceRoot":"","sources":["../src/rc-life.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,wEAAwE;AACxE,sEAAsE;AACtE,YAAY;AACZ,EAAE;AACF,qEAAqE;AACrE,kEAAkE;AAClE,oCAAoC;AAMpC,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,EAAU,EACV,MAAgC,EAChC,IAAgB,EAChB,IAA4B,EAC5B,SAAiB,EACjB,SAA2D,EAAE;IAE7D,MAAM,IAAI,GAAG,gBAAgB,EAAE,WAAW,MAAM,SAAS,IAAI,SAAS,IAAI,cAAc,SAAS,EAAE,CAAA;IACnG,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjH,IAAI,CAAC,GAAG,CAAC,CAAA;IACZ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC"}
@@ -0,0 +1,80 @@
1
+ import type { Logger } from './types.js';
2
+ import type { SystemdScopeHandle } from './systemd-spawn.js';
3
+ export type RcSpawnMode = 'new' | 'resume';
4
+ export interface RcScriptSpawnDeps {
5
+ claudeBin: string;
6
+ spawnCwd: string;
7
+ accountId: string;
8
+ platformRoot: string;
9
+ claudeConfigDir: string;
10
+ brandedNeo4jUri: string;
11
+ brandedNeo4jPassword: string;
12
+ uiPort: string;
13
+ pidFileTimeoutMs: number;
14
+ logger: Logger;
15
+ systemdSpawn: (params: {
16
+ claudeBin: string;
17
+ claudeArgs: readonly string[];
18
+ env: Readonly<Record<string, string>>;
19
+ cwd: string;
20
+ unitToken: string;
21
+ captureFilePath: string;
22
+ }) => Promise<SystemdScopeHandle>;
23
+ /** waitForPid binding from the fs watcher (resolves once claude writes
24
+ * its pid file under sessions/<pid>.json). Injectable for tests. */
25
+ waitForPid: (pid: number, timeoutMs: number) => Promise<{
26
+ pidFilePath: string | null;
27
+ bridgeSessionId: string | null;
28
+ }>;
29
+ /** Injectable clock for tests. Defaults to Date.now. */
30
+ now?: () => number;
31
+ /** Liveness poll interval. Default 15_000 ms. Brief permits up to 30 s. */
32
+ livenessPollIntervalMs?: number;
33
+ }
34
+ export interface RcScriptSpawnRequest {
35
+ sessionId: string | null;
36
+ name: string | null;
37
+ }
38
+ export interface RcScriptSpawnResult {
39
+ spawnedPid: number;
40
+ sessionId: string | null;
41
+ unitToken: string;
42
+ mode: RcSpawnMode;
43
+ }
44
+ export interface RcScriptSpawnEntry {
45
+ unitToken: string;
46
+ pid: number;
47
+ sessionId: string | null;
48
+ mode: RcSpawnMode;
49
+ spawnedAt: number;
50
+ captureFilePath: string;
51
+ handle: SystemdScopeHandle;
52
+ pidFileSeen: boolean;
53
+ remoteBound: boolean;
54
+ exited: boolean;
55
+ }
56
+ /** For tests + the census sweep. Read-only iteration. */
57
+ export declare function forEachLiveScriptScopeRcSpawn(cb: (entry: RcScriptSpawnEntry) => void): void;
58
+ export declare function liveScriptScopeRcSpawnCount(): number;
59
+ /** Clear the tracker map. Test-only seam — production never calls. */
60
+ export declare function __resetScriptScopeRcSpawnsForTests(): void;
61
+ /** Schema-tagged line emitter. Every consumer of the cross-arm `[rc-life]`
62
+ * surface must use this so the field order + null-handling stays
63
+ * identical between rc-spawn and rc-daemon. */
64
+ export declare function emitRcLife(logger: Logger, op: string, source: 'rc-spawn' | 'rc-daemon', path: 'script-scope' | 'node-pty', mode: RcSpawnMode | 'daemon', unitToken: string, fields?: Record<string, string | number | boolean | null>): void;
65
+ /** Run the script-scope rc-spawn. Returns once `systemdSpawn` resolves
66
+ * (scope is active, cgroup pid captured). Liveness polling, pid-file
67
+ * binding, and exit observation run in the background — the route
68
+ * responds immediately with `spawnedPid` like the node-pty arm does. */
69
+ export declare function handleRcSpawnScriptScope(deps: RcScriptSpawnDeps, req: RcScriptSpawnRequest): Promise<RcScriptSpawnResult>;
70
+ /** Census sweep — reconciles expected (dashboard-initiated sessions) vs
71
+ * actual (live tracked entries). Detects a leaked entry whose pid is
72
+ * gone but the tracker still holds it, or a tracker whose handle's
73
+ * scope vanished without an exit event. Traffic-independent — runs on
74
+ * a timer in index.ts so a quiet failure surfaces within one interval.
75
+ *
76
+ * The daemon's live handle is supplied via `daemonAlive`; the daemon
77
+ * itself owns the canonical accounting (a single handle reference),
78
+ * but exposing it here keeps the schema unified. */
79
+ export declare function runRcLifeCensus(logger: Logger, daemonAlive: number): void;
80
+ //# sourceMappingURL=rc-script-spawn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rc-script-spawn.d.ts","sourceRoot":"","sources":["../src/rc-script-spawn.ts"],"names":[],"mappings":"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"}