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/README.md +132 -21
- package/README_zh.md +131 -23
- package/bin/ferrycat.js +19 -1
- package/dist/cli.js +112 -146
- package/dist/cli.js.map +1 -1
- package/dist/daemon.d.ts +54 -0
- package/dist/daemon.js +372 -0
- package/dist/daemon.js.map +1 -0
- package/dist/demo.d.ts +36 -0
- package/dist/demo.js +340 -0
- package/dist/demo.js.map +1 -0
- package/dist/engine.d.ts +29 -1
- package/dist/engine.js +188 -27
- package/dist/engine.js.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +228 -0
- package/dist/schemas.js +41 -0
- package/dist/schemas.js.map +1 -1
- package/dist/supervisor.d.ts +98 -0
- package/dist/supervisor.js +562 -0
- package/dist/supervisor.js.map +1 -0
- package/dist/types.d.ts +41 -0
- package/package.json +2 -1
- package/server.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { exec, execFile } from 'node:child_process';
|
|
3
2
|
import fs from 'node:fs';
|
|
4
3
|
import path from 'node:path';
|
|
5
4
|
import { fileURLToPath } from 'node:url';
|
|
6
5
|
import { ZodError } from 'zod';
|
|
7
6
|
import { expandTilde, FerryCatEngine } from './engine.js';
|
|
7
|
+
import { FerryCatDaemon } from './daemon.js';
|
|
8
|
+
import { runDemo } from './demo.js';
|
|
9
|
+
import { executeTaskAndFulfill, terminateActiveChildrenSync, } from './supervisor.js';
|
|
8
10
|
import { DispatchContractSchema, ExtendTtlSchema, FailContractSchema, FulfillContractSchema, InspectMeshStateSchema, PollNextTaskSchema, ReleaseContractSchema, VerifyContractSchema, WorkerCommandSchema, } from './schemas.js';
|
|
9
11
|
function loadPackageVersion() {
|
|
10
12
|
try {
|
|
@@ -33,6 +35,8 @@ Commands:
|
|
|
33
35
|
fail Explicitly mark a CLAIMED contract you hold as terminal FAILED with reason
|
|
34
36
|
inspect Query contracts (renders concise table by default; pass --json for raw JSON)
|
|
35
37
|
worker Run background watcher, single-shot claim, or automated script execution
|
|
38
|
+
daemon Run multi-tenant production daemon with CAS micro-lease and declarative handlers (ADR-0005)
|
|
39
|
+
demo Zero-config sandbox walkthrough of the full contract lifecycle (no MCP setup needed)
|
|
36
40
|
|
|
37
41
|
Common Options:
|
|
38
42
|
--agent <id> Agent identity (overrides AGENT_NAME env var)
|
|
@@ -174,6 +178,39 @@ Examples:
|
|
|
174
178
|
ferrycat-cli worker --agent workbuddy --mode=watch
|
|
175
179
|
ferrycat-cli worker --agent workbuddy --mode=claim
|
|
176
180
|
ferrycat-cli worker --agent workbuddy --mode=exec --once --exec-file ./worker-handler.js`,
|
|
181
|
+
daemon: `Usage: ferrycat-cli daemon [--config <path>] [--agent <id>] [--once] [--lease-ttl <sec>] [--interval <ms>]
|
|
182
|
+
|
|
183
|
+
Runs the FerryCat production daemon (ADR-0005). Coordinates background workers using short-transaction
|
|
184
|
+
CAS leases on the daemon_locks table and executes declarative scripts defined in ferrycat.config.json.
|
|
185
|
+
|
|
186
|
+
Options:
|
|
187
|
+
--config <path> Path to ferrycat.config.json (defaults to ./ferrycat.config.json or ~/.ferrycat/config.json)
|
|
188
|
+
--agent <id> Optional target agent filter (overrides config defaults)
|
|
189
|
+
--once Run a single dispatch cycle and exit
|
|
190
|
+
--lease-ttl <sec> Daemon CAS lease TTL in seconds (default: 30)
|
|
191
|
+
--interval <ms> Poll interval in milliseconds (default: 1000)
|
|
192
|
+
--no-notify Disable console notices
|
|
193
|
+
|
|
194
|
+
Examples:
|
|
195
|
+
ferrycat-cli daemon --config ./ferrycat.config.json
|
|
196
|
+
ferrycat-cli daemon --agent workbuddy --once`,
|
|
197
|
+
demo: `Usage: ferrycat-cli demo [--json] [--keep] [--no-color]
|
|
198
|
+
|
|
199
|
+
Runs a complete contract lifecycle (dispatch -> claim -> supervised execution -> TOCTOU
|
|
200
|
+
re-verification -> COMPLETED) inside an isolated temporary sandbox. Nothing outside the
|
|
201
|
+
sandbox is read or written: no MCP configuration, no daemon, no existing mesh.db.
|
|
202
|
+
|
|
203
|
+
This is the fastest way to see what FerryCat actually does before wiring it into an IDE.
|
|
204
|
+
|
|
205
|
+
Options:
|
|
206
|
+
--json Emit the structured demo result instead of the terminal story
|
|
207
|
+
--keep Keep the sandbox directory and print its path for manual inspection
|
|
208
|
+
--no-color Disable ANSI colors (auto-disabled when not a TTY or NO_COLOR is set)
|
|
209
|
+
|
|
210
|
+
Examples:
|
|
211
|
+
ferrycat-cli demo
|
|
212
|
+
ferrycat-cli demo --json
|
|
213
|
+
ferrycat-cli demo --keep`,
|
|
177
214
|
};
|
|
178
215
|
function stripBom(content) {
|
|
179
216
|
return content.replace(/^\uFEFF/, '');
|
|
@@ -355,6 +392,12 @@ function parseArgs(argv) {
|
|
|
355
392
|
else if (token === '--once') {
|
|
356
393
|
flagOverrides.once = true;
|
|
357
394
|
}
|
|
395
|
+
else if (token === '--keep') {
|
|
396
|
+
flagOverrides.keep = true;
|
|
397
|
+
}
|
|
398
|
+
else if (token === '--no-color') {
|
|
399
|
+
flagOverrides.color = false;
|
|
400
|
+
}
|
|
358
401
|
else if (token === '--interval') {
|
|
359
402
|
const rawInterval = requireFlagValue('--interval', rest[++i]);
|
|
360
403
|
const num = Number(rawInterval);
|
|
@@ -384,6 +427,28 @@ function parseArgs(argv) {
|
|
|
384
427
|
}
|
|
385
428
|
flagOverrides.exec_file = scriptPath;
|
|
386
429
|
}
|
|
430
|
+
else if (token === '--pass-env') {
|
|
431
|
+
const varName = requireFlagValue('--pass-env', rest[++i]).trim();
|
|
432
|
+
if (!varName) {
|
|
433
|
+
throw new Error('Invalid --pass-env value: variable name cannot be empty.');
|
|
434
|
+
}
|
|
435
|
+
const existing = flagOverrides.pass_env ?? [];
|
|
436
|
+
existing.push(varName);
|
|
437
|
+
flagOverrides.pass_env = existing;
|
|
438
|
+
}
|
|
439
|
+
else if (token === '--config' || token === '-c') {
|
|
440
|
+
flagOverrides.config = requireFlagValue(token, rest[++i]);
|
|
441
|
+
}
|
|
442
|
+
else if (token === '--lease-ttl') {
|
|
443
|
+
const ttl = Number(requireFlagValue('--lease-ttl', rest[++i]));
|
|
444
|
+
if (!Number.isInteger(ttl) || ttl < 5) {
|
|
445
|
+
throw new Error('Invalid --lease-ttl: must be an integer >= 5 seconds.');
|
|
446
|
+
}
|
|
447
|
+
flagOverrides.lease_ttl_sec = ttl;
|
|
448
|
+
}
|
|
449
|
+
else if (token === '--no-notify') {
|
|
450
|
+
flagOverrides.notify = false;
|
|
451
|
+
}
|
|
387
452
|
else if (token === '--format') {
|
|
388
453
|
const fmt = requireFlagValue('--format', rest[++i]).trim().toLowerCase();
|
|
389
454
|
if (fmt !== 'table' && fmt !== 'json') {
|
|
@@ -461,149 +526,6 @@ function interruptibleSleep(ms, signal) {
|
|
|
461
526
|
signal.addEventListener('abort', onAbort, { once: true });
|
|
462
527
|
});
|
|
463
528
|
}
|
|
464
|
-
function spawnExecTarget(spec, options, callback) {
|
|
465
|
-
if (spec.execFile) {
|
|
466
|
-
const resolvedScript = path.resolve(expandTilde(spec.execFile));
|
|
467
|
-
const ext = path.extname(resolvedScript).toLowerCase();
|
|
468
|
-
if (ext === '.js' || ext === '.mjs' || ext === '.cjs') {
|
|
469
|
-
return execFile(process.execPath, [resolvedScript], options, callback);
|
|
470
|
-
}
|
|
471
|
-
if (ext === '.ts') {
|
|
472
|
-
return execFile(process.execPath, ['--import', 'tsx', resolvedScript], options, callback);
|
|
473
|
-
}
|
|
474
|
-
if (ext === '.ps1') {
|
|
475
|
-
return execFile('powershell', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', resolvedScript], options, callback);
|
|
476
|
-
}
|
|
477
|
-
if (ext === '.sh') {
|
|
478
|
-
return execFile('sh', [resolvedScript], options, callback);
|
|
479
|
-
}
|
|
480
|
-
return execFile(resolvedScript, [], options, callback);
|
|
481
|
-
}
|
|
482
|
-
return exec(spec.execCmd, options, callback);
|
|
483
|
-
}
|
|
484
|
-
async function executeTaskAndFulfill(engine, contract, spec) {
|
|
485
|
-
return new Promise((resolve) => {
|
|
486
|
-
const childEnv = {
|
|
487
|
-
...process.env,
|
|
488
|
-
FERRYCAT_CONTRACT_ID: contract.contract_id,
|
|
489
|
-
FERRYCAT_TASK_TYPE: contract.task_type,
|
|
490
|
-
FERRYCAT_WORKSPACE_ROOT: contract.workspace_root,
|
|
491
|
-
FERRYCAT_TARGET_AGENT: contract.target_agent,
|
|
492
|
-
FERRYCAT_CLAIM_TOKEN: contract.claim_token ?? '',
|
|
493
|
-
};
|
|
494
|
-
const timeoutMs = Math.max(10000, contract.exec_ttl_sec * 1000);
|
|
495
|
-
const maxBuffer = 10 * 1024 * 1024;
|
|
496
|
-
const label = spec.execFile ?? spec.execCmd ?? 'exec';
|
|
497
|
-
const child = spawnExecTarget(spec, { env: childEnv, timeout: timeoutMs, maxBuffer }, (err, stdout, stderr) => {
|
|
498
|
-
if (err) {
|
|
499
|
-
const execErr = err;
|
|
500
|
-
const execError = `External exec command failed with code ${execErr.code ?? 1}${execErr.killed ? ' (killed after exec timeout)' : ''}: ${stderr || execErr.message}`;
|
|
501
|
-
let contractStatus;
|
|
502
|
-
try {
|
|
503
|
-
contractStatus = engine.failContract({
|
|
504
|
-
contract_id: contract.contract_id,
|
|
505
|
-
agent_id: contract.target_agent,
|
|
506
|
-
claim_token: contract.claim_token,
|
|
507
|
-
reason: execError.slice(0, 2000),
|
|
508
|
-
}).status;
|
|
509
|
-
}
|
|
510
|
-
catch (failErr) {
|
|
511
|
-
contractStatus = `UNCHANGED (${failErr instanceof Error ? failErr.message : String(failErr)})`;
|
|
512
|
-
}
|
|
513
|
-
return resolve({
|
|
514
|
-
ok: false,
|
|
515
|
-
status: 'EXEC_FAILED',
|
|
516
|
-
error: execError,
|
|
517
|
-
contract_status: contractStatus,
|
|
518
|
-
});
|
|
519
|
-
}
|
|
520
|
-
let structuredOutput;
|
|
521
|
-
let resultSummary = stripBom(stdout).trim();
|
|
522
|
-
try {
|
|
523
|
-
const parsed = JSON.parse(resultSummary);
|
|
524
|
-
if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
|
|
525
|
-
if (parsed.structured_output && typeof parsed.structured_output === 'object') {
|
|
526
|
-
structuredOutput = parsed.structured_output;
|
|
527
|
-
}
|
|
528
|
-
else {
|
|
529
|
-
structuredOutput = parsed;
|
|
530
|
-
}
|
|
531
|
-
if (parsed.result_summary && typeof parsed.result_summary === 'string') {
|
|
532
|
-
resultSummary = parsed.result_summary;
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
catch {
|
|
537
|
-
// Plain text stdout, fallback to result_summary
|
|
538
|
-
}
|
|
539
|
-
const boundedSummary = (resultSummary || `Completed via automated worker exec: ${label}`).slice(0, 20000);
|
|
540
|
-
try {
|
|
541
|
-
const validatedFulfillInput = FulfillContractSchema.parse({
|
|
542
|
-
contract_id: contract.contract_id,
|
|
543
|
-
agent_id: contract.target_agent,
|
|
544
|
-
claim_token: contract.claim_token,
|
|
545
|
-
result_summary: boundedSummary,
|
|
546
|
-
structured_output: structuredOutput,
|
|
547
|
-
});
|
|
548
|
-
let fulfillRes = engine.fulfillContract(validatedFulfillInput);
|
|
549
|
-
// If RETRY_NEEDED occurs in automated exec (schema retry vs TOCTOU strike 1):
|
|
550
|
-
if (fulfillRes.status === 'RETRY_NEEDED') {
|
|
551
|
-
// RETRY_NEEDED has two distinct causes with incompatible retry semantics:
|
|
552
|
-
// (a) schema validation failure -> retry_count increments, so retrying the
|
|
553
|
-
// same payload until the breaker trips is the intended behavior.
|
|
554
|
-
// (b) TOCTOU dirty pointers -> retry_count does NOT move. The on-disk
|
|
555
|
-
// baseline cannot heal between two consecutive calls, so retrying only
|
|
556
|
-
// burns the single ADR-0004 strike and forces a terminal POINTER_STALE
|
|
557
|
-
// with nobody in the loop to restore the files. Never auto-retry it.
|
|
558
|
-
const isToctouRejection = (fulfillRes.toctou_strike ?? 0) > 0 && (fulfillRes.retry_count ?? 0) === 0;
|
|
559
|
-
if (isToctouRejection) {
|
|
560
|
-
resolve({
|
|
561
|
-
ok: false,
|
|
562
|
-
status: 'TOCTOU_RESCUE_REQUIRED',
|
|
563
|
-
fulfill_result: fulfillRes,
|
|
564
|
-
error: 'Automated exec mutated pointer files. The contract stays CLAIMED with a renewed execution window. Restore the files (git stash / git checkout) and re-run, or deliver edits via structured_output.fixes instead of writing to the workspace.',
|
|
565
|
-
});
|
|
566
|
-
return;
|
|
567
|
-
}
|
|
568
|
-
const maxAttempts = (fulfillRes.max_retries ?? 2) + 1;
|
|
569
|
-
for (let i = fulfillRes.retry_count ?? 1; i < maxAttempts; i++) {
|
|
570
|
-
fulfillRes = engine.fulfillContract(validatedFulfillInput);
|
|
571
|
-
if (fulfillRes.status !== 'RETRY_NEEDED')
|
|
572
|
-
break;
|
|
573
|
-
}
|
|
574
|
-
}
|
|
575
|
-
resolve({ ok: fulfillRes.ok, status: fulfillRes.status, fulfill_result: fulfillRes });
|
|
576
|
-
}
|
|
577
|
-
catch (fulfillErr) {
|
|
578
|
-
const fulfillError = fulfillErr instanceof Error ? fulfillErr.message : String(fulfillErr);
|
|
579
|
-
let contractStatus;
|
|
580
|
-
try {
|
|
581
|
-
contractStatus = engine.failContract({
|
|
582
|
-
contract_id: contract.contract_id,
|
|
583
|
-
agent_id: contract.target_agent,
|
|
584
|
-
reason: `FULFILL_ERROR: ${fulfillError}`.slice(0, 2000),
|
|
585
|
-
}).status;
|
|
586
|
-
}
|
|
587
|
-
catch {
|
|
588
|
-
contractStatus = undefined;
|
|
589
|
-
}
|
|
590
|
-
resolve({
|
|
591
|
-
ok: false,
|
|
592
|
-
status: 'FULFILL_ERROR',
|
|
593
|
-
error: fulfillError,
|
|
594
|
-
contract_status: contractStatus,
|
|
595
|
-
});
|
|
596
|
-
}
|
|
597
|
-
});
|
|
598
|
-
if (child.stdin) {
|
|
599
|
-
child.stdin.on('error', () => {
|
|
600
|
-
// Child process exited without consuming stdin, ignore EPIPE
|
|
601
|
-
});
|
|
602
|
-
child.stdin.write(JSON.stringify(contract));
|
|
603
|
-
child.stdin.end();
|
|
604
|
-
}
|
|
605
|
-
});
|
|
606
|
-
}
|
|
607
529
|
async function runWorkerLoop(engine, agentId, intervalMs, spec) {
|
|
608
530
|
const resolvedAgent = resolveWorkerIdentity(agentId);
|
|
609
531
|
const abortController = new AbortController();
|
|
@@ -625,9 +547,10 @@ async function runWorkerLoop(engine, agentId, intervalMs, spec) {
|
|
|
625
547
|
const stopHandler = () => {
|
|
626
548
|
sigintCount++;
|
|
627
549
|
if (sigintCount >= 2) {
|
|
550
|
+
terminateActiveChildrenSync();
|
|
628
551
|
console.error(JSON.stringify({
|
|
629
552
|
status: 'WORKER_FORCE_EXIT',
|
|
630
|
-
message: 'Second interrupt received, exiting immediately.',
|
|
553
|
+
message: 'Second interrupt received, terminated active child process trees and exiting immediately.',
|
|
631
554
|
}));
|
|
632
555
|
process.exit(130);
|
|
633
556
|
}
|
|
@@ -957,6 +880,7 @@ async function main() {
|
|
|
957
880
|
const execSpec = {
|
|
958
881
|
execCmd: validated.exec,
|
|
959
882
|
execFile: validated.exec_file,
|
|
883
|
+
passEnv: validated.pass_env,
|
|
960
884
|
};
|
|
961
885
|
engine = new FerryCatEngine();
|
|
962
886
|
if (effectiveOnce) {
|
|
@@ -996,8 +920,50 @@ async function main() {
|
|
|
996
920
|
}
|
|
997
921
|
break;
|
|
998
922
|
}
|
|
923
|
+
case 'daemon': {
|
|
924
|
+
const configPath = data.config;
|
|
925
|
+
const targetAgent = data.target_agent ?? data.agent_id;
|
|
926
|
+
const once = Boolean(data.once);
|
|
927
|
+
const leaseTtl = data.lease_ttl_sec ? Number(data.lease_ttl_sec) : undefined;
|
|
928
|
+
const intervalMs = data.interval_ms ? Number(data.interval_ms) : undefined;
|
|
929
|
+
const notify = data.notify !== false;
|
|
930
|
+
const daemon = new FerryCatDaemon({
|
|
931
|
+
configPath,
|
|
932
|
+
targetAgent,
|
|
933
|
+
leaseTtlSec: leaseTtl,
|
|
934
|
+
pollIntervalMs: intervalMs,
|
|
935
|
+
notify,
|
|
936
|
+
});
|
|
937
|
+
if (once) {
|
|
938
|
+
const res = await daemon.pollAndDispatchOnce();
|
|
939
|
+
daemon.releaseLease();
|
|
940
|
+
daemon.engine.close();
|
|
941
|
+
output = { ok: true, daemon_once: res };
|
|
942
|
+
console.log(JSON.stringify(output, null, 2));
|
|
943
|
+
}
|
|
944
|
+
else {
|
|
945
|
+
await daemon.start();
|
|
946
|
+
// Keep active process alive until signal
|
|
947
|
+
await new Promise(() => { });
|
|
948
|
+
}
|
|
949
|
+
break;
|
|
950
|
+
}
|
|
951
|
+
case 'demo': {
|
|
952
|
+
const demoResult = await runDemo({
|
|
953
|
+
json: parsed.format === 'json',
|
|
954
|
+
keep: Boolean(data.keep),
|
|
955
|
+
color: data.color,
|
|
956
|
+
});
|
|
957
|
+
if (parsed.format === 'json') {
|
|
958
|
+
console.log(JSON.stringify(demoResult, null, 2));
|
|
959
|
+
}
|
|
960
|
+
if (!demoResult.ok) {
|
|
961
|
+
process.exitCode = 1;
|
|
962
|
+
}
|
|
963
|
+
break;
|
|
964
|
+
}
|
|
999
965
|
default:
|
|
1000
|
-
throw new Error(`Unknown subcommand "${command}". Supported commands: dispatch, poll, verify, fulfill, release, extend, fail, inspect, worker. Run "ferrycat-cli --help" for usage.`);
|
|
966
|
+
throw new Error(`Unknown subcommand "${command}". Supported commands: dispatch, poll, verify, fulfill, release, extend, fail, inspect, worker, daemon, demo. Run "ferrycat-cli --help" for usage.`);
|
|
1001
967
|
}
|
|
1002
968
|
}
|
|
1003
969
|
catch (err) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.d.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { FerryCatEngine } from './engine.js';
|
|
2
|
+
import { type FerryCatConfigFile, type HandlerDefinition } from './schemas.js';
|
|
3
|
+
export interface DaemonOptions {
|
|
4
|
+
configPath?: string;
|
|
5
|
+
dbPath?: string;
|
|
6
|
+
targetAgent?: string;
|
|
7
|
+
lockId?: string;
|
|
8
|
+
leaseTtlSec?: number;
|
|
9
|
+
heartbeatIntervalMs?: number;
|
|
10
|
+
pollIntervalMs?: number;
|
|
11
|
+
once?: boolean;
|
|
12
|
+
notify?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function loadFerryCatConfig(customConfigPath?: string): {
|
|
15
|
+
config: FerryCatConfigFile;
|
|
16
|
+
resolvedPath: string | null;
|
|
17
|
+
};
|
|
18
|
+
export declare function notifyOperator(title: string, message: string): void;
|
|
19
|
+
export declare class FerryCatDaemon {
|
|
20
|
+
readonly engine: FerryCatEngine;
|
|
21
|
+
readonly config: FerryCatConfigFile;
|
|
22
|
+
readonly configPath: string | null;
|
|
23
|
+
readonly lockId: string;
|
|
24
|
+
readonly leaseTtlSec: number;
|
|
25
|
+
readonly heartbeatIntervalMs: number;
|
|
26
|
+
readonly pollIntervalMs: number;
|
|
27
|
+
readonly ownerToken: string;
|
|
28
|
+
readonly targetAgentFilter?: string;
|
|
29
|
+
readonly notifyEnabled: boolean;
|
|
30
|
+
private isRunning;
|
|
31
|
+
private isLeader;
|
|
32
|
+
private heartbeatTimer;
|
|
33
|
+
private pollTimer;
|
|
34
|
+
private signalCleanupRegistered;
|
|
35
|
+
private activeInFlightContract;
|
|
36
|
+
constructor(options?: DaemonOptions);
|
|
37
|
+
registerSignalHandlers(): void;
|
|
38
|
+
acquireLease(): boolean;
|
|
39
|
+
renewLease(): boolean;
|
|
40
|
+
releaseLease(): void;
|
|
41
|
+
resolveHandler(targetAgent: string, taskType: string): HandlerDefinition | null;
|
|
42
|
+
/**
|
|
43
|
+
* Process a single cycle: check lease, poll task, execute configured handler if matched.
|
|
44
|
+
*/
|
|
45
|
+
pollAndDispatchOnce(): Promise<{
|
|
46
|
+
processed: boolean;
|
|
47
|
+
contract_id?: string;
|
|
48
|
+
status?: string;
|
|
49
|
+
reason?: string;
|
|
50
|
+
}>;
|
|
51
|
+
private pollAgentQueue;
|
|
52
|
+
start(): Promise<void>;
|
|
53
|
+
stop(): void;
|
|
54
|
+
}
|