ferrycat 0.3.2 → 0.4.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.
package/dist/schemas.d.ts CHANGED
@@ -249,6 +249,7 @@ export declare const WorkerCommandShape: {
249
249
  interval_ms: z.ZodOptional<z.ZodNumber>;
250
250
  exec: z.ZodOptional<z.ZodString>;
251
251
  exec_file: z.ZodOptional<z.ZodString>;
252
+ pass_env: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
252
253
  };
253
254
  export declare const WorkerCommandSchema: z.ZodObject<{
254
255
  agent_id: z.ZodOptional<z.ZodString>;
@@ -257,6 +258,7 @@ export declare const WorkerCommandSchema: z.ZodObject<{
257
258
  interval_ms: z.ZodOptional<z.ZodNumber>;
258
259
  exec: z.ZodOptional<z.ZodString>;
259
260
  exec_file: z.ZodOptional<z.ZodString>;
261
+ pass_env: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
260
262
  }, "strict", z.ZodTypeAny, {
261
263
  agent_id?: string | undefined;
262
264
  exec?: string | undefined;
@@ -264,6 +266,7 @@ export declare const WorkerCommandSchema: z.ZodObject<{
264
266
  once?: boolean | undefined;
265
267
  interval_ms?: number | undefined;
266
268
  exec_file?: string | undefined;
269
+ pass_env?: string[] | undefined;
267
270
  }, {
268
271
  agent_id?: string | undefined;
269
272
  exec?: string | undefined;
@@ -271,4 +274,229 @@ export declare const WorkerCommandSchema: z.ZodObject<{
271
274
  once?: boolean | undefined;
272
275
  interval_ms?: number | undefined;
273
276
  exec_file?: string | undefined;
277
+ pass_env?: string[] | undefined;
274
278
  }>;
279
+ export declare const HandlerDefinitionSchema: z.ZodObject<{
280
+ exec_file: z.ZodString;
281
+ pass_env: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
282
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
283
+ }, "strict", z.ZodTypeAny, {
284
+ exec_file: string;
285
+ pass_env?: string[] | undefined;
286
+ args?: string[] | undefined;
287
+ }, {
288
+ exec_file: string;
289
+ pass_env?: string[] | undefined;
290
+ args?: string[] | undefined;
291
+ }>;
292
+ export declare const AgentConfigSchema: z.ZodObject<{
293
+ handlers: z.ZodRecord<z.ZodEnum<["code_review", "architecture_audit", "implementation", "test_generation"]>, z.ZodObject<{
294
+ exec_file: z.ZodString;
295
+ pass_env: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
296
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
297
+ }, "strict", z.ZodTypeAny, {
298
+ exec_file: string;
299
+ pass_env?: string[] | undefined;
300
+ args?: string[] | undefined;
301
+ }, {
302
+ exec_file: string;
303
+ pass_env?: string[] | undefined;
304
+ args?: string[] | undefined;
305
+ }>>;
306
+ default_handler: z.ZodOptional<z.ZodObject<{
307
+ exec_file: z.ZodString;
308
+ pass_env: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
309
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
310
+ }, "strict", z.ZodTypeAny, {
311
+ exec_file: string;
312
+ pass_env?: string[] | undefined;
313
+ args?: string[] | undefined;
314
+ }, {
315
+ exec_file: string;
316
+ pass_env?: string[] | undefined;
317
+ args?: string[] | undefined;
318
+ }>>;
319
+ }, "strict", z.ZodTypeAny, {
320
+ handlers: Partial<Record<"code_review" | "architecture_audit" | "implementation" | "test_generation", {
321
+ exec_file: string;
322
+ pass_env?: string[] | undefined;
323
+ args?: string[] | undefined;
324
+ }>>;
325
+ default_handler?: {
326
+ exec_file: string;
327
+ pass_env?: string[] | undefined;
328
+ args?: string[] | undefined;
329
+ } | undefined;
330
+ }, {
331
+ handlers: Partial<Record<"code_review" | "architecture_audit" | "implementation" | "test_generation", {
332
+ exec_file: string;
333
+ pass_env?: string[] | undefined;
334
+ args?: string[] | undefined;
335
+ }>>;
336
+ default_handler?: {
337
+ exec_file: string;
338
+ pass_env?: string[] | undefined;
339
+ args?: string[] | undefined;
340
+ } | undefined;
341
+ }>;
342
+ export declare const DaemonConfigSchema: z.ZodEffects<z.ZodObject<{
343
+ lock_id: z.ZodDefault<z.ZodString>;
344
+ lease_ttl_sec: z.ZodDefault<z.ZodNumber>;
345
+ heartbeat_interval_ms: z.ZodDefault<z.ZodNumber>;
346
+ poll_interval_ms: z.ZodDefault<z.ZodNumber>;
347
+ notify: z.ZodDefault<z.ZodBoolean>;
348
+ }, "strict", z.ZodTypeAny, {
349
+ lock_id: string;
350
+ lease_ttl_sec: number;
351
+ heartbeat_interval_ms: number;
352
+ poll_interval_ms: number;
353
+ notify: boolean;
354
+ }, {
355
+ lock_id?: string | undefined;
356
+ lease_ttl_sec?: number | undefined;
357
+ heartbeat_interval_ms?: number | undefined;
358
+ poll_interval_ms?: number | undefined;
359
+ notify?: boolean | undefined;
360
+ }>, {
361
+ lock_id: string;
362
+ lease_ttl_sec: number;
363
+ heartbeat_interval_ms: number;
364
+ poll_interval_ms: number;
365
+ notify: boolean;
366
+ }, {
367
+ lock_id?: string | undefined;
368
+ lease_ttl_sec?: number | undefined;
369
+ heartbeat_interval_ms?: number | undefined;
370
+ poll_interval_ms?: number | undefined;
371
+ notify?: boolean | undefined;
372
+ }>;
373
+ export declare const FerryCatConfigFileSchema: z.ZodObject<{
374
+ version: z.ZodDefault<z.ZodLiteral<1>>;
375
+ daemon: z.ZodDefault<z.ZodEffects<z.ZodObject<{
376
+ lock_id: z.ZodDefault<z.ZodString>;
377
+ lease_ttl_sec: z.ZodDefault<z.ZodNumber>;
378
+ heartbeat_interval_ms: z.ZodDefault<z.ZodNumber>;
379
+ poll_interval_ms: z.ZodDefault<z.ZodNumber>;
380
+ notify: z.ZodDefault<z.ZodBoolean>;
381
+ }, "strict", z.ZodTypeAny, {
382
+ lock_id: string;
383
+ lease_ttl_sec: number;
384
+ heartbeat_interval_ms: number;
385
+ poll_interval_ms: number;
386
+ notify: boolean;
387
+ }, {
388
+ lock_id?: string | undefined;
389
+ lease_ttl_sec?: number | undefined;
390
+ heartbeat_interval_ms?: number | undefined;
391
+ poll_interval_ms?: number | undefined;
392
+ notify?: boolean | undefined;
393
+ }>, {
394
+ lock_id: string;
395
+ lease_ttl_sec: number;
396
+ heartbeat_interval_ms: number;
397
+ poll_interval_ms: number;
398
+ notify: boolean;
399
+ }, {
400
+ lock_id?: string | undefined;
401
+ lease_ttl_sec?: number | undefined;
402
+ heartbeat_interval_ms?: number | undefined;
403
+ poll_interval_ms?: number | undefined;
404
+ notify?: boolean | undefined;
405
+ }>>;
406
+ agents: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
407
+ handlers: z.ZodRecord<z.ZodEnum<["code_review", "architecture_audit", "implementation", "test_generation"]>, z.ZodObject<{
408
+ exec_file: z.ZodString;
409
+ pass_env: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
410
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
411
+ }, "strict", z.ZodTypeAny, {
412
+ exec_file: string;
413
+ pass_env?: string[] | undefined;
414
+ args?: string[] | undefined;
415
+ }, {
416
+ exec_file: string;
417
+ pass_env?: string[] | undefined;
418
+ args?: string[] | undefined;
419
+ }>>;
420
+ default_handler: z.ZodOptional<z.ZodObject<{
421
+ exec_file: z.ZodString;
422
+ pass_env: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
423
+ args: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
424
+ }, "strict", z.ZodTypeAny, {
425
+ exec_file: string;
426
+ pass_env?: string[] | undefined;
427
+ args?: string[] | undefined;
428
+ }, {
429
+ exec_file: string;
430
+ pass_env?: string[] | undefined;
431
+ args?: string[] | undefined;
432
+ }>>;
433
+ }, "strict", z.ZodTypeAny, {
434
+ handlers: Partial<Record<"code_review" | "architecture_audit" | "implementation" | "test_generation", {
435
+ exec_file: string;
436
+ pass_env?: string[] | undefined;
437
+ args?: string[] | undefined;
438
+ }>>;
439
+ default_handler?: {
440
+ exec_file: string;
441
+ pass_env?: string[] | undefined;
442
+ args?: string[] | undefined;
443
+ } | undefined;
444
+ }, {
445
+ handlers: Partial<Record<"code_review" | "architecture_audit" | "implementation" | "test_generation", {
446
+ exec_file: string;
447
+ pass_env?: string[] | undefined;
448
+ args?: string[] | undefined;
449
+ }>>;
450
+ default_handler?: {
451
+ exec_file: string;
452
+ pass_env?: string[] | undefined;
453
+ args?: string[] | undefined;
454
+ } | undefined;
455
+ }>>>;
456
+ }, "strict", z.ZodTypeAny, {
457
+ version: 1;
458
+ daemon: {
459
+ lock_id: string;
460
+ lease_ttl_sec: number;
461
+ heartbeat_interval_ms: number;
462
+ poll_interval_ms: number;
463
+ notify: boolean;
464
+ };
465
+ agents: Record<string, {
466
+ handlers: Partial<Record<"code_review" | "architecture_audit" | "implementation" | "test_generation", {
467
+ exec_file: string;
468
+ pass_env?: string[] | undefined;
469
+ args?: string[] | undefined;
470
+ }>>;
471
+ default_handler?: {
472
+ exec_file: string;
473
+ pass_env?: string[] | undefined;
474
+ args?: string[] | undefined;
475
+ } | undefined;
476
+ }>;
477
+ }, {
478
+ version?: 1 | undefined;
479
+ daemon?: {
480
+ lock_id?: string | undefined;
481
+ lease_ttl_sec?: number | undefined;
482
+ heartbeat_interval_ms?: number | undefined;
483
+ poll_interval_ms?: number | undefined;
484
+ notify?: boolean | undefined;
485
+ } | undefined;
486
+ agents?: Record<string, {
487
+ handlers: Partial<Record<"code_review" | "architecture_audit" | "implementation" | "test_generation", {
488
+ exec_file: string;
489
+ pass_env?: string[] | undefined;
490
+ args?: string[] | undefined;
491
+ }>>;
492
+ default_handler?: {
493
+ exec_file: string;
494
+ pass_env?: string[] | undefined;
495
+ args?: string[] | undefined;
496
+ } | undefined;
497
+ }> | undefined;
498
+ }>;
499
+ export type FerryCatConfigFile = z.infer<typeof FerryCatConfigFileSchema>;
500
+ export type DaemonConfig = z.infer<typeof DaemonConfigSchema>;
501
+ export type AgentConfig = z.infer<typeof AgentConfigSchema>;
502
+ export type HandlerDefinition = z.infer<typeof HandlerDefinitionSchema>;
package/dist/schemas.js CHANGED
@@ -333,6 +333,47 @@ export const WorkerCommandShape = {
333
333
  .max(1024)
334
334
  .optional()
335
335
  .describe('Recommended script file (.js/.mjs/.cjs/.ts/.ps1/.sh) to execute directly via execFile without shell quote escaping or injection risks.'),
336
+ pass_env: z
337
+ .array(z.string().min(1).max(128))
338
+ .optional()
339
+ .describe('List of explicit host environment variable names to forward into child execution environment (CK-06)'),
336
340
  };
337
341
  export const WorkerCommandSchema = z.object(WorkerCommandShape).strict();
342
+ export const HandlerDefinitionSchema = z
343
+ .object({
344
+ exec_file: z
345
+ .string()
346
+ .min(1)
347
+ .max(1024)
348
+ .describe('Absolute or workspace-relative path to handler script file (disallows arbitrary shell execution)'),
349
+ pass_env: z.array(z.string().min(1).max(128)).optional(),
350
+ args: z.array(z.string()).optional(),
351
+ })
352
+ .strict();
353
+ export const AgentConfigSchema = z
354
+ .object({
355
+ handlers: z.record(z.enum(['code_review', 'architecture_audit', 'implementation', 'test_generation']), HandlerDefinitionSchema),
356
+ default_handler: HandlerDefinitionSchema.optional(),
357
+ })
358
+ .strict();
359
+ export const DaemonConfigSchema = z
360
+ .object({
361
+ lock_id: z.string().min(1).max(64).default('global'),
362
+ lease_ttl_sec: z.number().int().min(5).max(300).default(30),
363
+ heartbeat_interval_ms: z.number().int().min(1000).max(30000).default(5000),
364
+ poll_interval_ms: z.number().int().min(200).max(30000).default(1000),
365
+ notify: z.boolean().default(true),
366
+ })
367
+ .strict()
368
+ .refine((data) => data.heartbeat_interval_ms <= Math.floor((data.lease_ttl_sec * 1000) / 2), {
369
+ message: 'heartbeat_interval_ms must be at most half of lease_ttl_sec (e.g. heartbeat <= TTL / 2) to ensure safe lease renewal margin',
370
+ path: ['heartbeat_interval_ms'],
371
+ });
372
+ export const FerryCatConfigFileSchema = z
373
+ .object({
374
+ version: z.literal(1).default(1),
375
+ daemon: DaemonConfigSchema.default({}),
376
+ agents: z.record(z.string().min(1).max(64), AgentConfigSchema).default({}),
377
+ })
378
+ .strict();
338
379
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * FerryCat execution supervisor (Phase 3 Step 0).
3
+ *
4
+ * Owns the lifecycle of one automated `worker --exec / --exec-file` child process:
5
+ * - Heartbeat lease keep-alive bound to claim_token (CK-01 / CK-02 / CK-03)
6
+ * - Process-tree termination incl. grandchildren (CK-04 / CK-05)
7
+ * - Minimal environment allowlist for the child (CK-06)
8
+ * - Partial-output salvage before the execution window closes (CK-07)
9
+ *
10
+ * Deliberately introduces NO new contract states (CK-09): every outcome maps onto the
11
+ * existing CLAIMED -> COMPLETED / FAILED / TIMED_OUT transitions exposed by the engine.
12
+ * See docs/audits/2026-10-24-phase-3-multi-agent-consensus-audit_zh.md.
13
+ */
14
+ import { type ChildProcess } from 'node:child_process';
15
+ import { type FerryCatEngine } from './engine.js';
16
+ export interface ContractPayload {
17
+ contract_id: string;
18
+ requester_agent: string;
19
+ target_agent: string;
20
+ task_type: string;
21
+ title: string;
22
+ context_summary: string;
23
+ workspace_root: string;
24
+ pointers: unknown[];
25
+ contract_schema: Record<string, unknown> | null;
26
+ claimed_at: number;
27
+ exec_ttl_sec: number;
28
+ claim_token?: string;
29
+ }
30
+ export interface ExecSpec {
31
+ execCmd?: string;
32
+ execFile?: string;
33
+ /** Explicit, user-consented env var names forwarded to the child despite the allowlist. */
34
+ passEnv?: string[];
35
+ /** Optional argv arguments forwarded directly to the executable (when using execFile). */
36
+ args?: string[];
37
+ }
38
+ export interface SupervisorOptions {
39
+ /** Override heartbeat tick cadence (tests). Default: min(60s, exec_ttl / 3). */
40
+ heartbeatIntervalMs?: number;
41
+ /**
42
+ * Optional upper bound on child execution window TTL in seconds.
43
+ * NOTE: The contract's own `exec_ttl_sec` remains the primary authoritative database window.
44
+ */
45
+ execTtlSec?: number;
46
+ /** Grace period between SIGTERM and SIGKILL. Default: clamp(exec_ttl / 10, 200ms, 3s). */
47
+ killGraceMs?: number;
48
+ /** Max captured stdout bytes before the child is terminated. Default: 10MB. */
49
+ maxBufferBytes?: number;
50
+ /** Structured lifecycle events (heartbeat renewals, exhaustion, termination). */
51
+ onEvent?: (event: Record<string, unknown>) => void;
52
+ }
53
+ export interface ExecutionResult {
54
+ ok: boolean;
55
+ status: string;
56
+ fulfill_result?: unknown;
57
+ error?: string;
58
+ contract_status?: string;
59
+ salvaged?: boolean;
60
+ }
61
+ export declare function isSecretEnvName(name: string): boolean;
62
+ export declare function buildChildEnv(contract: ContractPayload, passEnv?: string[], parentEnv?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): {
63
+ env: NodeJS.ProcessEnv;
64
+ dropped: number;
65
+ };
66
+ export interface SupervisedChild {
67
+ child: ChildProcess;
68
+ pid: number | undefined;
69
+ startedAt: number;
70
+ /** 'close' observed: every holder of the child's stdio pipes (incl. grandchildren) is gone. */
71
+ closed: boolean;
72
+ closedPromise: Promise<void>;
73
+ }
74
+ export declare function createSupervisedChild(child: ChildProcess): SupervisedChild;
75
+ /**
76
+ * Terminate the child's whole process tree and wait until it is confirmed gone.
77
+ *
78
+ * PID-reuse safety (CK-05): we ONLY ever signal a tree that we explicitly spawned and still
79
+ * supervise via its SupervisedChild handle. Bare numeric PID inputs are strictly forbidden
80
+ * to eliminate inadvertent signaling of recycled OS PIDs.
81
+ * - POSIX: the child leads its own process group (detached: true). A PGID cannot be recycled
82
+ * while any member is alive, so kill(-pid) cannot hit an unrelated process group.
83
+ * - Windows: libuv holds the process handle until exit, so the PID cannot be recycled
84
+ * while the leader is alive. Once the leader exited, `taskkill /T` can no longer walk
85
+ * the tree; this is the documented non-equivalence vs. Job Objects (audit §1.3).
86
+ */
87
+ export declare function terminateProcessTree(sup: SupervisedChild, graceMs?: number): Promise<{
88
+ skipped?: 'ALREADY_EXITED' | 'NO_PID';
89
+ method?: string;
90
+ confirmed: boolean;
91
+ }>;
92
+ /**
93
+ * Synchronous last-resort cleanup for a forced worker exit (second Ctrl+C). Because POSIX
94
+ * children now run in their own process group, terminal SIGINT no longer reaches them, so
95
+ * the worker must take them down explicitly instead of orphaning them.
96
+ */
97
+ export declare function terminateActiveChildrenSync(): number;
98
+ export declare function executeTaskAndFulfill(engine: FerryCatEngine, contract: ContractPayload, spec: ExecSpec, opts?: SupervisorOptions): Promise<ExecutionResult>;