ferrycat 0.3.3 → 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 CHANGED
@@ -172,6 +172,42 @@ Example `ferrycat.config.json`:
172
172
 
173
173
  ## Quickstart
174
174
 
175
+ ### 0. See what it actually does first (`ferrycat demo`)
176
+
177
+ Before configuring any MCP server, watch the whole loop in ~3 seconds:
178
+
179
+ ```bash
180
+ npx ferrycat demo
181
+ ```
182
+ *(or `npx -p ferrycat ferrycat-cli demo`)*
183
+
184
+ It spins up a fully isolated sandbox under the OS temp dir (dedicated SQLite database,
185
+ sample source file, sample handler), runs `dispatch → claim → supervised execution →
186
+ TOCTOU re-verification → COMPLETED`, then deletes the sandbox.
187
+ **Your real workspace and `~/.ferrycat/mesh.db` are never read or written.**
188
+
189
+ ```text
190
+ ⚡ FerryCat Zero-Config Sandbox Demo ⚡
191
+ Sandbox: /tmp/ferrycat-demo-c5iK6V
192
+
193
+ ✔ [1/4] Contract Dispatched
194
+ Locked src/calc.ts (sha256: ce3ba9a5...bc5d)
195
+ ✔ [2/4] Contract Claimed
196
+ Lease 7424261d-9a3f-4a86-a7ff-de278c273e96
197
+ ✔ [3/4] Execution & Schema Check
198
+ Heartbeat 1 lease renewal(s)
199
+ ✔ [4/4] Contract Completed
200
+ TOCTOU fingerprints matched (0 dirty files)
201
+
202
+ 🎉 End-to-end multi-agent handoff verified successfully!
203
+ ```
204
+
205
+ | Option | Effect |
206
+ | :--- | :--- |
207
+ | `--json` | Emit a structured result for CI / upstream assertions |
208
+ | `--keep` | Keep the sandbox and print its path for manual `sqlite3` inspection |
209
+ | `--no-color` | Disable ANSI colors (auto-off when not a TTY or `NO_COLOR` is set) |
210
+
175
211
  ### 1. Recommended: Zero-Install MCP Mounting (via npx)
176
212
 
177
213
  No local clone or manual compilation required. Mount directly into your IDE's MCP configuration using `npx -y ferrycat`:
@@ -230,29 +266,29 @@ Configure the target host's MCP settings with its respective `AGENT_NAME`:
230
266
 
231
267
  ## First-Class CLI Experience (`ferrycat-cli`)
232
268
 
233
- Beyond serving as an in-IDE MCP Server, FerryCat provides a first-class CLI utility (`ferrycat-cli` or `npx ferrycat-cli`). Sharing the same `~/.ferrycat/mesh.db` SQLite WAL database and Zod validation contracts, the CLI allows developers to inspect mesh health, verify working tree safety, and hook into automated CI/Git scripts without leaving their terminal:
269
+ Beyond serving as an in-IDE MCP Server, FerryCat provides a first-class CLI utility (`ferrycat-cli`). The single `ferrycat` executable dispatches on its first argument: no argv starts the MCP stdio server, a known subcommand routes to the CLI. So you can run `npx ferrycat <command>` with zero install (or `ferrycat-cli <command>` once installed globally). Sharing the same `~/.ferrycat/mesh.db` SQLite WAL database and Zod validation contracts, the CLI allows developers to inspect mesh health, verify working tree safety, and hook into automated CI/Git scripts without leaving their terminal:
234
270
 
235
271
  ### 1. Terminal Visual Inspection (ASCII Status Table)
236
272
  Inspect all cross-host handoffs and error reasons formatted as an ASCII table:
237
273
  ```bash
238
274
  # View all contracts in an ASCII table
239
- npx ferrycat-cli inspect
275
+ npx ferrycat inspect
240
276
 
241
277
  # Filter by target agent (e.g., only tasks for antigravity)
242
- npx ferrycat-cli inspect --target antigravity
278
+ npx ferrycat inspect --target antigravity
243
279
  ```
244
280
 
245
281
  ### 2. Pre-Flight Verification (Auditing Before Mutation)
246
282
  Audit on-disk pointer file integrity against the contract's baseline SHA-256 before committing review work (ADR-0004), eliminating false-positive deliveries:
247
283
  ```bash
248
- npx ferrycat-cli verify <CONTRACT_ID>
284
+ npx ferrycat verify <CONTRACT_ID>
249
285
  ```
250
286
 
251
287
  ### 3. Local CI & Headless Worker Execution
252
288
  Poll the queue, claim tasks, and execute local review/test scripts with automatic failure closure:
253
289
  ```bash
254
290
  # Safely run a script upon task arrival (no shell quotation hazards)
255
- npx ferrycat-cli worker --agent codex --mode=exec --exec-file ./scripts/review.sh
291
+ npx ferrycat worker --agent codex --mode=exec --exec-file ./scripts/review.sh
256
292
  ```
257
293
 
258
294
  ---
package/README_zh.md CHANGED
@@ -172,6 +172,41 @@ ferrycat-cli daemon --config ./ferrycat.config.json
172
172
 
173
173
  ## 快速上手 (Quickstart)
174
174
 
175
+ ### 0. 先用一条命令看它到底是什么(`ferrycat demo`)
176
+
177
+ 在配置任何 MCP 之前,先花 3 秒看一遍完整闭环:
178
+
179
+ ```bash
180
+ npx ferrycat demo
181
+ ```
182
+ *(亦可使用完整形式 `npx -p ferrycat ferrycat-cli demo`)*
183
+
184
+ 它会在系统临时目录里建一个完全隔离的沙箱(独立 SQLite + 示例源码 + 示例 handler),
185
+ 跑完 `派单 → 认领 → 受控执行 → TOCTOU 复核 → COMPLETED` 全流程,然后自动删除沙箱。
186
+ **不会读写你的真实工作区,也不会碰 `~/.ferrycat/mesh.db`。**
187
+
188
+ ```text
189
+ ⚡ FerryCat Zero-Config Sandbox Demo ⚡
190
+ Sandbox: C:\Users\...\Temp\ferrycat-demo-c5iK6V
191
+
192
+ ✔ [1/4] Contract Dispatched
193
+ Locked src/calc.ts (sha256: ce3ba9a5...bc5d)
194
+ ✔ [2/4] Contract Claimed
195
+ Lease 7424261d-9a3f-4a86-a7ff-de278c273e96
196
+ ✔ [3/4] Execution & Schema Check
197
+ Heartbeat 1 lease renewal(s)
198
+ ✔ [4/4] Contract Completed
199
+ TOCTOU fingerprints matched (0 dirty files)
200
+
201
+ 🎉 End-to-end multi-agent handoff verified successfully!
202
+ ```
203
+
204
+ | 选项 | 作用 |
205
+ | :--- | :--- |
206
+ | `--json` | 输出结构化结果,便于 CI 或上游脚本断言 |
207
+ | `--keep` | 保留沙箱目录并打印路径,方便用 `sqlite3` 手动 inspect 生成的表 |
208
+ | `--no-color` | 关闭 ANSI 颜色(非 TTY 或设置 `NO_COLOR` 时自动关闭) |
209
+
175
210
  ### 1. 推荐:零配置免安装挂载 (npx)
176
211
 
177
212
  无需手动克隆仓库或本地编译,直接在各 IDE 宿主的 MCP 配置文件中声明(基于全局或 `npx -y ferrycat`):
@@ -230,29 +265,29 @@ ferrycat-cli daemon --config ./ferrycat.config.json
230
265
 
231
266
  ## 一级入口:CLI 极速总线与自动化调度 (`ferrycat-cli`)
232
267
 
233
- 除了作为 MCP Server 嵌入在 IDE 内部供大模型自主调用外,FerryCat 原生提供一级命令行工具 **`ferrycat-cli`**(可通过全局安装或直接运行 `npx ferrycat-cli`)。它与 MCP 共享同一份 `~/.ferrycat/mesh.db` 数据库与 Zod 校验契约,无需切换 IDE 窗口即可在终端直观排查链路、接入 Git Hook 或自动化 CI:
268
+ 除了作为 MCP Server 嵌入在 IDE 内部供大模型自主调用外,FerryCat 原生提供一级命令行工具 **`ferrycat-cli`**。同一个 `ferrycat` 可执行文件会根据首个参数自动分流:无参数时启动 MCP Server,带子命令时走 CLI。因此免安装即可直接运行 `npx ferrycat <command>`(全局安装后也可用 `ferrycat-cli <command>`)。它与 MCP 共享同一份 `~/.ferrycat/mesh.db` 数据库与 Zod 校验契约,无需切换 IDE 窗口即可在终端直观排查链路、接入 Git Hook 或自动化 CI:
234
269
 
235
270
  ### 1. 终端可视化监控(ASCII 状态总线)
236
271
  实时打印工单流转状态、执行租约与报错信息,无需打开数据库查看:
237
272
  ```bash
238
273
  # 查看全局工单 ASCII 终端表格
239
- npx ferrycat-cli inspect
274
+ npx ferrycat inspect
240
275
 
241
276
  # 按接收方过滤(例如仅查看 target 为 antigravity 的工单)
242
- npx ferrycat-cli inspect --target antigravity
277
+ npx ferrycat inspect --target antigravity
243
278
  ```
244
279
 
245
280
  ### 2. 交付前只读预检(Pre-Flight Verify)
246
281
  在正式交付前,无需变更契约状态即可安全核验磁盘文件指针一致性,杜绝因未落盘修改导致的假阳性交付:
247
282
  ```bash
248
- npx ferrycat-cli verify <CONTRACT_ID>
283
+ npx ferrycat verify <CONTRACT_ID>
249
284
  ```
250
285
 
251
286
  ### 3. 本地 CI 与自动化 Worker 执行
252
287
  监听契约队列并直接拉起本地脚本执行(支持安全脚本执行与非零退出自动熔断为 `FAILED`):
253
288
  ```bash
254
289
  # 启动常驻 Worker 监听并自动执行指定脚本(无 Shell 注入风险)
255
- npx ferrycat-cli worker --agent codex --mode=exec --exec-file ./scripts/review.sh
290
+ npx ferrycat worker --agent codex --mode=exec --exec-file ./scripts/review.sh
256
291
  ```
257
292
 
258
293
  ---
package/bin/ferrycat.js CHANGED
@@ -10,7 +10,25 @@ if (major < 22 || (major === 22 && minor < 5)) {
10
10
  process.exit(1);
11
11
  }
12
12
 
13
- const targetPath = fileURLToPath(new URL('../dist/index.js', import.meta.url));
13
+ const CLI_SUBCOMMANDS = new Set([
14
+ 'demo',
15
+ 'dispatch',
16
+ 'poll',
17
+ 'verify',
18
+ 'fulfill',
19
+ 'release',
20
+ 'extend',
21
+ 'fail',
22
+ 'inspect',
23
+ 'worker',
24
+ 'daemon',
25
+ ]);
26
+
27
+ const firstArg = process.argv[2];
28
+ const isCli = Boolean(firstArg && CLI_SUBCOMMANDS.has(firstArg));
29
+ const targetPath = fileURLToPath(
30
+ new URL(isCli ? '../dist/cli.js' : '../dist/index.js', import.meta.url)
31
+ );
14
32
  const needsFlag = major === 22 && !process.execArgv.includes('--experimental-sqlite');
15
33
 
16
34
  if (needsFlag) {
package/dist/cli.js CHANGED
@@ -5,6 +5,7 @@ import { fileURLToPath } from 'node:url';
5
5
  import { ZodError } from 'zod';
6
6
  import { expandTilde, FerryCatEngine } from './engine.js';
7
7
  import { FerryCatDaemon } from './daemon.js';
8
+ import { runDemo } from './demo.js';
8
9
  import { executeTaskAndFulfill, terminateActiveChildrenSync, } from './supervisor.js';
9
10
  import { DispatchContractSchema, ExtendTtlSchema, FailContractSchema, FulfillContractSchema, InspectMeshStateSchema, PollNextTaskSchema, ReleaseContractSchema, VerifyContractSchema, WorkerCommandSchema, } from './schemas.js';
10
11
  function loadPackageVersion() {
@@ -35,6 +36,7 @@ Commands:
35
36
  inspect Query contracts (renders concise table by default; pass --json for raw JSON)
36
37
  worker Run background watcher, single-shot claim, or automated script execution
37
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)
38
40
 
39
41
  Common Options:
40
42
  --agent <id> Agent identity (overrides AGENT_NAME env var)
@@ -192,6 +194,23 @@ Options:
192
194
  Examples:
193
195
  ferrycat-cli daemon --config ./ferrycat.config.json
194
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`,
195
214
  };
196
215
  function stripBom(content) {
197
216
  return content.replace(/^\uFEFF/, '');
@@ -373,6 +392,12 @@ function parseArgs(argv) {
373
392
  else if (token === '--once') {
374
393
  flagOverrides.once = true;
375
394
  }
395
+ else if (token === '--keep') {
396
+ flagOverrides.keep = true;
397
+ }
398
+ else if (token === '--no-color') {
399
+ flagOverrides.color = false;
400
+ }
376
401
  else if (token === '--interval') {
377
402
  const rawInterval = requireFlagValue('--interval', rest[++i]);
378
403
  const num = Number(rawInterval);
@@ -923,8 +948,22 @@ async function main() {
923
948
  }
924
949
  break;
925
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
+ }
926
965
  default:
927
- throw new Error(`Unknown subcommand "${command}". Supported commands: dispatch, poll, verify, fulfill, release, extend, fail, inspect, worker, daemon. 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.`);
928
967
  }
929
968
  }
930
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/demo.d.ts ADDED
@@ -0,0 +1,36 @@
1
+ export interface DemoOptions {
2
+ /** Keep the sandbox directory on disk and report its path instead of deleting it. */
3
+ keep?: boolean;
4
+ /** Suppress all human-readable output; the caller receives only the structured result. */
5
+ json?: boolean;
6
+ /** Sink for human-readable lines. Defaults to process.stdout. Ignored when `json` is true. */
7
+ write?: (line: string) => void;
8
+ /** Force ANSI colors on/off. Defaults to auto-detection (TTY and no NO_COLOR). */
9
+ color?: boolean;
10
+ /** Lifetime of the demo child process in ms (0 = finish immediately). */
11
+ execDelayMs?: number;
12
+ /** Execution TTL granted to the demo contract, in seconds. */
13
+ execTtlSec?: number;
14
+ }
15
+ export interface DemoStepRecord {
16
+ index: number;
17
+ total: number;
18
+ title: string;
19
+ fields: Record<string, string>;
20
+ }
21
+ export interface DemoResult {
22
+ ok: boolean;
23
+ sandbox: string;
24
+ sandbox_kept: boolean;
25
+ contract_id: string;
26
+ claim_token: string;
27
+ status: string;
28
+ verdict: 'PASSED' | 'CHANGES_REQUESTED';
29
+ issues: string[];
30
+ dirty_files: number;
31
+ heartbeat_renewals: number;
32
+ elapsed_ms: number;
33
+ steps: DemoStepRecord[];
34
+ warnings: string[];
35
+ }
36
+ export declare function runDemo(options?: DemoOptions): Promise<DemoResult>;
package/dist/demo.js ADDED
@@ -0,0 +1,340 @@
1
+ /**
2
+ * FerryCat Zero-Config Sandbox Demo (REQ-EXP-01).
3
+ *
4
+ * Runs a complete contract lifecycle — dispatch -> claim -> supervised execution -> TOCTOU
5
+ * re-verification -> COMPLETED — entirely inside an isolated temporary sandbox, so a brand-new
6
+ * user can see the deterministic handoff loop without configuring a single MCP server.
7
+ *
8
+ * Design constraints:
9
+ * - Zero pollution: every artifact (sample source, handler script, SQLite database) lives under
10
+ * `os.tmpdir()/ferrycat-demo-*`. The user's real workspace and `~/.ferrycat/mesh.db` are never touched.
11
+ * - No simulation shortcuts on the engine path: the demo drives the exact same public APIs a real
12
+ * daemon uses (`dispatchContract` / `pollNextTask` / `executeTaskAndFulfill` / `verifyContract`),
13
+ * so a green demo is genuine evidence rather than a puppet show.
14
+ * - Machine-readable mode: with `json: true` the function writes nothing to stdout and returns a
15
+ * plain object, keeping CI/upstream automation parseable.
16
+ */
17
+ import fs from 'node:fs';
18
+ import os from 'node:os';
19
+ import path from 'node:path';
20
+ import { FerryCatEngine } from './engine.js';
21
+ import { executeTaskAndFulfill } from './supervisor.js';
22
+ const TOTAL_STEPS = 4;
23
+ const SAMPLE_REL_PATH = 'src/calc.ts';
24
+ /**
25
+ * Sample source under review. Deliberately contains exactly one advisory-level defect
26
+ * (`==` instead of `===`) so the demo handler has something real to find and the verdict
27
+ * is deterministic across runs and platforms.
28
+ */
29
+ const SAMPLE_SOURCE = `export function add(a: number, b: number): number {
30
+ return a + b;
31
+ }
32
+
33
+ export function divide(a: number, b: number): number {
34
+ if (b == 0) {
35
+ throw new Error('Division by zero');
36
+ }
37
+ return a / b;
38
+ }
39
+
40
+ export const VERSION = '1.0.0';
41
+ `;
42
+ /**
43
+ * Handler script written into the sandbox. It reads the contract from stdin (same protocol as
44
+ * scripts/review-handler.js), inspects the real pointer file on disk, then emits a delivery
45
+ * envelope on stdout. `execDelayMs` keeps the child alive long enough for the supervisor
46
+ * heartbeat ticker to fire at least once, so the demo can prove lease renewal is live.
47
+ */
48
+ function buildHandlerScript(execDelayMs) {
49
+ return `/**
50
+ * FerryCat demo handler (generated by \`ferrycat-cli demo\`).
51
+ * Reads the contract JSON from stdin, inspects the pointer file, prints a delivery envelope.
52
+ */
53
+ const fs = require('node:fs');
54
+ const path = require('node:path');
55
+
56
+ const EXEC_DELAY_MS = ${execDelayMs};
57
+
58
+ function inspect(workspaceRoot, pointers) {
59
+ const issues = [];
60
+ for (const pointer of pointers || []) {
61
+ const absPath = path.resolve(workspaceRoot, pointer.path);
62
+ if (!fs.existsSync(absPath)) {
63
+ issues.push(pointer.path + ': file is missing on disk');
64
+ continue;
65
+ }
66
+ const lines = fs.readFileSync(absPath, 'utf8').split(/\\r?\\n/);
67
+ lines.forEach((line, idx) => {
68
+ // Loose equality on a numeric/string guard is the classic review catch.
69
+ if (/(^|[^=!<>])==([^=]|$)/.test(line)) {
70
+ issues.push(pointer.path + ':' + (idx + 1) + " uses '==' instead of '===' (strict equality)");
71
+ }
72
+ });
73
+ }
74
+ return issues;
75
+ }
76
+
77
+ function main() {
78
+ const raw = fs.readFileSync(0, 'utf8');
79
+ if (!raw.trim()) {
80
+ console.error('demo handler: no contract payload received on stdin');
81
+ process.exit(1);
82
+ }
83
+ const contract = JSON.parse(raw);
84
+ const workspaceRoot = process.env.FERRYCAT_WORKSPACE_ROOT || process.cwd();
85
+ const issues = inspect(workspaceRoot, contract.pointers);
86
+
87
+ const finish = () => {
88
+ process.stdout.write(
89
+ JSON.stringify({
90
+ ok: true,
91
+ summary:
92
+ 'Reviewed ' + (contract.pointers || []).length + ' file(s) for contract ' +
93
+ contract.contract_id + '; ' + issues.length + ' advisory finding(s).',
94
+ structured_output: {
95
+ passed: true,
96
+ issues,
97
+ },
98
+ }) + '\\n'
99
+ );
100
+ };
101
+
102
+ if (EXEC_DELAY_MS > 0) {
103
+ setTimeout(finish, EXEC_DELAY_MS);
104
+ } else {
105
+ finish();
106
+ }
107
+ }
108
+
109
+ main();
110
+ `;
111
+ }
112
+ function makePainter(enabled) {
113
+ const wrap = (code) => (text) => enabled ? `\u001b[${code}m${text}\u001b[0m` : text;
114
+ return {
115
+ bold: wrap('1'),
116
+ dim: wrap('2'),
117
+ green: wrap('32'),
118
+ cyan: wrap('36'),
119
+ yellow: wrap('33'),
120
+ magenta: wrap('35'),
121
+ gray: wrap('90'),
122
+ red: wrap('31'),
123
+ };
124
+ }
125
+ function shortSha(sha) {
126
+ return sha.length <= 12 ? sha : `${sha.slice(0, 8)}...${sha.slice(-4)}`;
127
+ }
128
+ function removeSandbox(sandbox) {
129
+ // Windows keeps WAL/SHM handles briefly after close(); retries absorb that window.
130
+ fs.rmSync(sandbox, { recursive: true, force: true, maxRetries: 5, retryDelay: 50 });
131
+ }
132
+ export async function runDemo(options = {}) {
133
+ const startedAt = Date.now();
134
+ const execDelayMs = Math.max(0, options.execDelayMs ?? 1900);
135
+ const execTtlSec = Math.max(2, options.execTtlSec ?? 5);
136
+ const human = !options.json;
137
+ const colorOn = options.color ?? (human && Boolean(process.stdout.isTTY) && !process.env.NO_COLOR);
138
+ const paint = makePainter(colorOn);
139
+ const write = options.write ?? ((line) => process.stdout.write(`${line}\n`));
140
+ const say = (line = '') => {
141
+ if (human)
142
+ write(line);
143
+ };
144
+ const sandbox = fs.mkdtempSync(path.join(os.tmpdir(), 'ferrycat-demo-'));
145
+ let engine;
146
+ let succeeded = false;
147
+ const steps = [];
148
+ const warnings = [];
149
+ let heartbeatRenewals = 0;
150
+ let contractId = '';
151
+ let claimToken = '';
152
+ let status = 'UNKNOWN';
153
+ let verdict = 'PASSED';
154
+ let issues = [];
155
+ let dirtyFiles = 0;
156
+ const record = (index, title, fields) => {
157
+ steps.push({ index, total: TOTAL_STEPS, title, fields });
158
+ say('');
159
+ say(` ${paint.green('✔')} ${paint.bold(`[${index}/${TOTAL_STEPS}] ${title}`)}`);
160
+ for (const [key, value] of Object.entries(fields)) {
161
+ say(` ${paint.gray(key.padEnd(10))}${value}`);
162
+ }
163
+ };
164
+ try {
165
+ // ---------------------------------------------------------------------
166
+ // Sandbox scaffolding (isolated workspace + handler + SQLite database)
167
+ // ---------------------------------------------------------------------
168
+ const srcDir = path.join(sandbox, 'src');
169
+ fs.mkdirSync(srcDir, { recursive: true });
170
+ fs.writeFileSync(path.join(sandbox, SAMPLE_REL_PATH), SAMPLE_SOURCE, 'utf8');
171
+ const handlerPath = path.join(sandbox, 'demo-handler.cjs');
172
+ fs.writeFileSync(handlerPath, buildHandlerScript(execDelayMs), 'utf8');
173
+ engine = new FerryCatEngine({ dbPath: path.join(sandbox, 'demo-mesh.db') });
174
+ say('');
175
+ say(paint.bold('⚡ FerryCat Zero-Config Sandbox Demo ⚡'));
176
+ say(`${paint.gray('Sandbox:')} ${sandbox}`);
177
+ say(paint.gray('No MCP config. No daemon. Your real workspace and mesh.db are untouched.'));
178
+ // ---------------------------------------------------------------------
179
+ // [1/4] Dispatch — Antigravity locks the pointer fingerprint
180
+ // ---------------------------------------------------------------------
181
+ const dispatchRes = engine.dispatchContract({
182
+ requester_agent: 'antigravity',
183
+ target_agent: 'workbuddy',
184
+ task_type: 'code_review',
185
+ title: 'Review calc.ts for correctness and strict-equality hygiene',
186
+ context_summary: 'Sandbox demo contract. Inspect src/calc.ts and report any correctness or ' +
187
+ 'strict-equality violations. This contract is generated by `ferrycat-cli demo`.',
188
+ workspace_root: sandbox,
189
+ pointers: [{ path: SAMPLE_REL_PATH }],
190
+ contract_schema: {
191
+ type: 'object',
192
+ properties: {
193
+ passed: { type: 'boolean' },
194
+ issues: { type: 'array', items: { type: 'string' } },
195
+ },
196
+ required: ['passed', 'issues'],
197
+ additionalProperties: false,
198
+ },
199
+ exec_ttl_sec: execTtlSec,
200
+ });
201
+ contractId = dispatchRes.contract_id;
202
+ const lockedFile = dispatchRes.files[0];
203
+ if (dispatchRes.warning) {
204
+ warnings.push(dispatchRes.warning);
205
+ }
206
+ record(1, 'Contract Dispatched', {
207
+ ID: contractId,
208
+ Actor: `antigravity -> workbuddy ${paint.dim('(task: code_review)')}`,
209
+ Locked: `${lockedFile.path} ${paint.dim(`(sha256: ${shortSha(lockedFile.sha256)})`)}`,
210
+ Status: `${paint.cyan('SUBMITTED')} ${paint.dim('-> queue')}`,
211
+ });
212
+ // ---------------------------------------------------------------------
213
+ // [2/4] Claim — WorkBuddy polls, verifies fingerprints, wins the CAS lease
214
+ // ---------------------------------------------------------------------
215
+ const pollRes = await engine.pollNextTask({ agent_id: 'workbuddy' });
216
+ if (!pollRes.has_task || !pollRes.contract || pollRes.status !== 'CLAIMED') {
217
+ throw new Error(`Demo claim failed: expected CLAIMED, got has_task=${pollRes.has_task} status=${pollRes.status ?? 'undefined'}. ` +
218
+ `${pollRes.message ?? ''}`.trim());
219
+ }
220
+ claimToken = pollRes.contract.claim_token ?? '';
221
+ const claimed = pollRes.contract;
222
+ record(2, 'Contract Claimed', {
223
+ Holder: claimed.target_agent,
224
+ Lease: claimToken || paint.yellow('(none)'),
225
+ Status: `${paint.dim('SUBMITTED ->')} ${paint.yellow('CLAIMED')}`,
226
+ Verify: `${paint.green('fingerprints matched')} ${paint.dim('(0 dirty files)')}`,
227
+ });
228
+ // ---------------------------------------------------------------------
229
+ // [3/4] Supervised execution — real child process, heartbeat, schema gate
230
+ // ---------------------------------------------------------------------
231
+ const execResult = await executeTaskAndFulfill(engine, claimed, { execFile: handlerPath }, {
232
+ onEvent: (event) => {
233
+ if (event.event === 'HEARTBEAT_RENEWED') {
234
+ heartbeatRenewals += 1;
235
+ }
236
+ },
237
+ });
238
+ if (!execResult.ok) {
239
+ throw new Error(`Supervised execution failed: ${execResult.error ?? execResult.status}`);
240
+ }
241
+ // The authoritative delivery lives on the row, not on the fulfill ack.
242
+ const finalState = engine.inspectMeshState({ contract_id: contractId });
243
+ const finalRow = finalState.contracts[0] ?? {};
244
+ status = String(finalRow.status ?? 'UNKNOWN');
245
+ const structured = finalRow.structured_output;
246
+ if (structured && Array.isArray(structured.issues)) {
247
+ issues = structured.issues.map((item) => String(item));
248
+ }
249
+ verdict = issues.length > 0 ? 'CHANGES_REQUESTED' : 'PASSED';
250
+ record(3, 'Execution & Schema Check', {
251
+ Handler: `${path.basename(handlerPath)} ${paint.dim('(sandboxed child process)')}`,
252
+ Schema: `${paint.green('passed Ajv validation')}`,
253
+ Heartbeat: heartbeatRenewals > 0
254
+ ? `${paint.green(`${heartbeatRenewals} lease renewal(s)`)}`
255
+ : paint.dim('no renewal needed (short task)'),
256
+ Verdict: verdict === 'PASSED'
257
+ ? paint.green('PASSED')
258
+ : paint.yellow(`CHANGES_REQUESTED ${paint.dim(`(${issues.length} advisory)`)}`),
259
+ });
260
+ // ---------------------------------------------------------------------
261
+ // [4/4] Delivery — second TOCTOU pass then terminal COMPLETED
262
+ // ---------------------------------------------------------------------
263
+ const verifyRes = engine.verifyContract({
264
+ contract_id: contractId,
265
+ agent_id: 'workbuddy',
266
+ });
267
+ dirtyFiles = verifyRes.dirty_files.length;
268
+ if (!verifyRes.valid) {
269
+ throw new Error(`Demo TOCTOU re-verification failed: ${verifyRes.dirty_files.length} dirty file(s).`);
270
+ }
271
+ if (status !== 'COMPLETED') {
272
+ throw new Error(`Demo expected terminal status COMPLETED, got ${status}.`);
273
+ }
274
+ record(4, 'Contract Completed', {
275
+ TOCTOU: `${paint.green(`fingerprints matched (${dirtyFiles} dirty files)`)}`,
276
+ Final: `${paint.green(paint.bold('COMPLETED'))} ${paint.dim(`(elapsed: ${Date.now() - startedAt}ms)`)}`,
277
+ Findings: issues.length === 0
278
+ ? paint.dim('none')
279
+ : issues.map((item) => paint.dim(item)).join(`\n${' '.repeat(14)}`),
280
+ });
281
+ succeeded = true;
282
+ return {
283
+ ok: true,
284
+ sandbox,
285
+ sandbox_kept: Boolean(options.keep),
286
+ contract_id: contractId,
287
+ claim_token: claimToken,
288
+ status,
289
+ verdict,
290
+ issues,
291
+ dirty_files: dirtyFiles,
292
+ heartbeat_renewals: heartbeatRenewals,
293
+ elapsed_ms: Date.now() - startedAt,
294
+ steps,
295
+ warnings,
296
+ };
297
+ }
298
+ finally {
299
+ if (engine) {
300
+ try {
301
+ engine.close();
302
+ }
303
+ catch {
304
+ // Closing is best-effort; the sandbox removal below is the real cleanup contract.
305
+ }
306
+ }
307
+ const retainSandbox = Boolean(options.keep || !succeeded);
308
+ if (retainSandbox) {
309
+ if (options.keep) {
310
+ say('');
311
+ say(`${paint.gray('Sandbox kept at:')} ${sandbox}`);
312
+ say(paint.gray(' Inspect it with: sqlite3 "<sandbox>/demo-mesh.db" ".tables"'));
313
+ }
314
+ }
315
+ else {
316
+ try {
317
+ removeSandbox(sandbox);
318
+ }
319
+ catch (err) {
320
+ warnings.push(`Sandbox cleanup failed (${err instanceof Error ? err.message : String(err)}); remove "${sandbox}" manually.`);
321
+ }
322
+ }
323
+ if (succeeded) {
324
+ say('');
325
+ say(paint.green(paint.bold(' 🎉 End-to-end multi-agent handoff verified successfully!')));
326
+ say('');
327
+ say(paint.bold(' Next steps:'));
328
+ say(` ${paint.gray('•')} Add to your IDE: ${paint.cyan('npx -y ferrycat')} ${paint.dim('(MCP server entry in mcpServers)')}`);
329
+ say(` ${paint.gray('•')} Inspect contracts: ${paint.cyan('npx ferrycat inspect --target workbuddy')}`);
330
+ say(` ${paint.gray('•')} Keep a sandbox: ${paint.cyan('npx ferrycat demo --keep')}`);
331
+ say(` ${paint.gray('•')} Full CLI help: ${paint.cyan('npx ferrycat --help')}`);
332
+ }
333
+ else {
334
+ say('');
335
+ say(paint.red(' ✖ Demo did not reach a terminal COMPLETED state.'));
336
+ say(paint.gray(` Sandbox retained for debugging: ${sandbox}`));
337
+ }
338
+ }
339
+ }
340
+ //# sourceMappingURL=demo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ function loadPackageVersion() {
9
9
  try {
10
10
  const pkgPath = fileURLToPath(new URL('../package.json', import.meta.url));
11
11
  const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
12
- return pkg.version ?? '0.3.3';
12
+ return pkg.version ?? '0.4.0';
13
13
  }
14
14
  catch {
15
15
  return '0.3.2';
@@ -45,8 +45,10 @@ Exposed MCP Tools (8):
45
45
  fail_contract Mark CLAIMED contract as terminal FAILED with reason
46
46
  inspect_mesh_state Read-only query of contracts by status, ID, or target_agent
47
47
 
48
- For CLI command usage (dispatch/poll/fulfill/verify/release/extend/fail/inspect/worker), run:
49
- ferrycat-cli --help`);
48
+ CLI Subcommands (same binary: \`npx ferrycat <command>\`):
49
+ demo Zero-config sandbox walkthrough of the full lifecycle (no MCP setup)
50
+ dispatch | poll | verify | fulfill | release | extend | fail | inspect | worker | daemon
51
+ Run \`ferrycat-cli --help\` (after a global install) for the full CLI reference.`);
50
52
  process.exit(0);
51
53
  }
52
54
  const engine = new FerryCatEngine();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ferrycat",
3
- "version": "0.3.3",
3
+ "version": "0.4.0",
4
4
  "mcpName": "io.github.GuoBug/ferrycat",
5
5
  "description": "FerryCat: Contract-driven cross-host AI agent handoff & review bus over MCP and SQLite WAL",
6
6
  "type": "module",
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "io.github.GuoBug/ferrycat",
4
4
  "title": "FerryCat",
5
5
  "description": "Contract-driven cross-host AI agent handoff & review bus over MCP and SQLite WAL",
6
- "version": "0.3.3",
6
+ "version": "0.4.0",
7
7
  "repository": {
8
8
  "url": "https://github.com/GuoBug/FerryCat",
9
9
  "source": "github"
@@ -12,7 +12,7 @@
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "ferrycat",
15
- "version": "0.3.3",
15
+ "version": "0.4.0",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  }