agim-cli 1.2.61 → 1.2.63

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.
@@ -0,0 +1,223 @@
1
+ // exec-dispatcher — native_exec(cmd) for the native agent (v1.2.62).
2
+ //
3
+ // Spawns a shell command, captures stdout/stderr, returns JSON. Always
4
+ // goes through the policy gate (NOT in default autoAllow), so the user
5
+ // sees an IM approval card per command per fingerprint.
6
+ //
7
+ // Sandbox:
8
+ // IMHUB_EXEC_SANDBOX=bwrap (Linux only) wraps the command in
9
+ // bubblewrap with:
10
+ // --ro-bind /usr /usr
11
+ // --ro-bind /lib /lib
12
+ // --ro-bind /lib64 /lib64
13
+ // --ro-bind /etc/resolv.conf /etc/resolv.conf
14
+ // --proc /proc
15
+ // --dev /dev
16
+ // --bind <cwd> <cwd> (writable workspace)
17
+ // --tmpfs /tmp
18
+ // --unshare-net? — kept ON (allows net so
19
+ // curl/git work)
20
+ // --die-with-parent
21
+ // i.e. process sees the host's read-only
22
+ // userland but cannot touch home dirs /
23
+ // ~/.agim/ / /root outside cwd. Pure UID
24
+ // isolation. No net isolation by default
25
+ // (operators who want it set
26
+ // IMHUB_EXEC_SANDBOX_NET=off).
27
+ // IMHUB_EXEC_SANDBOX=off | unset → plain spawn, no isolation.
28
+ //
29
+ // Other env knobs:
30
+ // IMHUB_EXEC_TIMEOUT_MS default 60_000, hard cap 600_000
31
+ // IMHUB_EXEC_MAX_OUTPUT default 32_768 bytes per stream
32
+ import { spawn } from 'node:child_process';
33
+ import { existsSync } from 'node:fs';
34
+ import { logger as rootLogger } from '../logger.js';
35
+ const log = rootLogger.child({ component: 'exec-dispatcher' });
36
+ const DEFAULT_TIMEOUT_MS = 60_000;
37
+ const HARD_TIMEOUT_CAP_MS = 600_000;
38
+ const DEFAULT_MAX_OUTPUT = 32 * 1024;
39
+ const EXEC_TOOL_NAMES = ['native_exec'];
40
+ export function isExecToolName(name) {
41
+ return EXEC_TOOL_NAMES.includes(name);
42
+ }
43
+ export function getExecTools() {
44
+ return [
45
+ {
46
+ name: 'native_exec',
47
+ description: 'Execute a shell command in the agent\'s workspace. cwd defaults to the agent workspace; ' +
48
+ 'optional timeout_ms (default 60000, max 600000). Returns stdout, stderr, exit_code. ' +
49
+ 'Each invocation is approval-gated by default — the user sees an IM card with the command ' +
50
+ 'and must allow. When IMHUB_EXEC_SANDBOX=bwrap (Linux), runs under bubblewrap so the ' +
51
+ 'command can\'t touch home dirs outside cwd.',
52
+ parameters: {
53
+ type: 'object',
54
+ properties: {
55
+ command: { type: 'string', description: 'Shell command. Will be invoked via /bin/sh -c.' },
56
+ timeout_ms: { type: 'number', description: 'Per-call timeout in ms (default 60000, max 600000).' },
57
+ cwd: { type: 'string', description: 'Override cwd. Defaults to the agent workspace.' },
58
+ },
59
+ required: ['command'],
60
+ additionalProperties: false,
61
+ },
62
+ },
63
+ ];
64
+ }
65
+ export function buildExecDispatcher(ctx) {
66
+ return async (call, signal) => {
67
+ if (!isExecToolName(call.name)) {
68
+ return { text: `not handled: ${call.name}`, isError: true, source: 'unknown' };
69
+ }
70
+ try {
71
+ return await runExec(call.arguments, ctx, signal);
72
+ }
73
+ catch (err) {
74
+ const msg = err instanceof Error ? err.message : String(err);
75
+ log.warn({ event: 'exec.tool.error', err: msg });
76
+ return { text: `native_exec failed: ${msg}`, isError: true, source: 'exec' };
77
+ }
78
+ };
79
+ }
80
+ async function runExec(args, ctx, signal) {
81
+ const command = typeof args.command === 'string' ? args.command : '';
82
+ if (!command.trim())
83
+ return { text: 'command required', isError: true, source: 'exec' };
84
+ const timeoutMs = clampTimeout(args.timeout_ms);
85
+ const cwd = typeof args.cwd === 'string' && args.cwd.length > 0 ? args.cwd : ctx.cwd;
86
+ const sandboxMode = (process.env.IMHUB_EXEC_SANDBOX || '').toLowerCase();
87
+ const useSandbox = sandboxMode === 'bwrap' && existsSync('/usr/bin/bwrap');
88
+ const sandboxNetOff = (process.env.IMHUB_EXEC_SANDBOX_NET || '').toLowerCase() === 'off';
89
+ const { bin, argv } = useSandbox
90
+ ? buildBwrapInvocation(command, cwd, sandboxNetOff)
91
+ : { bin: '/bin/sh', argv: ['-c', command] };
92
+ log.info({
93
+ event: 'exec.spawn',
94
+ bin,
95
+ cwd,
96
+ sandbox: useSandbox ? `bwrap${sandboxNetOff ? '+no-net' : ''}` : 'none',
97
+ timeoutMs,
98
+ commandPreview: command.slice(0, 120),
99
+ });
100
+ return await runChild(bin, argv, { cwd, timeoutMs, signal });
101
+ }
102
+ function buildBwrapInvocation(command, cwd, netOff) {
103
+ const argv = [
104
+ '--die-with-parent',
105
+ '--ro-bind', '/usr', '/usr',
106
+ '--ro-bind-try', '/lib', '/lib',
107
+ '--ro-bind-try', '/lib64', '/lib64',
108
+ '--ro-bind-try', '/bin', '/bin',
109
+ '--ro-bind-try', '/sbin', '/sbin',
110
+ '--ro-bind-try', '/etc/resolv.conf', '/etc/resolv.conf',
111
+ '--ro-bind-try', '/etc/ssl', '/etc/ssl',
112
+ '--ro-bind-try', '/etc/ca-certificates', '/etc/ca-certificates',
113
+ '--proc', '/proc',
114
+ '--dev', '/dev',
115
+ '--tmpfs', '/tmp',
116
+ '--bind', cwd, cwd,
117
+ '--chdir', cwd,
118
+ ];
119
+ if (netOff)
120
+ argv.push('--unshare-net');
121
+ argv.push('/bin/sh', '-c', command);
122
+ return { bin: '/usr/bin/bwrap', argv };
123
+ }
124
+ function runChild(bin, argv, opts) {
125
+ return new Promise((resolve) => {
126
+ const maxOutput = clampNumber(process.env.IMHUB_EXEC_MAX_OUTPUT, DEFAULT_MAX_OUTPUT, 1024, 1024 * 1024);
127
+ let stdout = '';
128
+ let stderr = '';
129
+ let stdoutTruncated = false;
130
+ let stderrTruncated = false;
131
+ let timedOut = false;
132
+ const child = spawn(bin, argv, { cwd: opts.cwd, env: process.env, signal: opts.signal });
133
+ const timer = setTimeout(() => {
134
+ timedOut = true;
135
+ try {
136
+ child.kill('SIGTERM');
137
+ }
138
+ catch { /* ignore */ }
139
+ // Hard SIGKILL after a 3s grace period so the dispatcher doesn't
140
+ // hang on a process that ignores SIGTERM.
141
+ setTimeout(() => { try {
142
+ child.kill('SIGKILL');
143
+ }
144
+ catch { /* ignore */ } }, 3_000).unref();
145
+ }, opts.timeoutMs);
146
+ timer.unref();
147
+ child.stdout?.setEncoding('utf-8');
148
+ child.stderr?.setEncoding('utf-8');
149
+ child.stdout?.on('data', (chunk) => {
150
+ if (stdout.length >= maxOutput) {
151
+ stdoutTruncated = true;
152
+ return;
153
+ }
154
+ const room = maxOutput - stdout.length;
155
+ stdout += chunk.length > room ? chunk.slice(0, room) : chunk;
156
+ if (chunk.length > room)
157
+ stdoutTruncated = true;
158
+ });
159
+ child.stderr?.on('data', (chunk) => {
160
+ if (stderr.length >= maxOutput) {
161
+ stderrTruncated = true;
162
+ return;
163
+ }
164
+ const room = maxOutput - stderr.length;
165
+ stderr += chunk.length > room ? chunk.slice(0, room) : chunk;
166
+ if (chunk.length > room)
167
+ stderrTruncated = true;
168
+ });
169
+ child.on('close', (code, signalName) => {
170
+ clearTimeout(timer);
171
+ const exitCode = code ?? -1;
172
+ const payload = {
173
+ exit_code: exitCode,
174
+ signal: signalName ?? null,
175
+ timed_out: timedOut,
176
+ stdout,
177
+ stderr,
178
+ stdout_truncated: stdoutTruncated,
179
+ stderr_truncated: stderrTruncated,
180
+ };
181
+ // Treat non-zero as error so the model sees `isError: true` and
182
+ // can react (e.g. retry with different args). Timed-out gets a
183
+ // dedicated message at the top.
184
+ const isError = timedOut || (exitCode !== 0 && exitCode !== null);
185
+ const summary = timedOut
186
+ ? `command timed out after ${opts.timeoutMs}ms; partial output below.\n`
187
+ : '';
188
+ resolve({
189
+ text: summary + JSON.stringify(payload, null, 2),
190
+ isError,
191
+ source: 'exec',
192
+ });
193
+ });
194
+ child.on('error', (err) => {
195
+ clearTimeout(timer);
196
+ resolve({
197
+ text: `spawn failed: ${err.message}`,
198
+ isError: true,
199
+ source: 'exec',
200
+ });
201
+ });
202
+ });
203
+ }
204
+ function clampTimeout(raw) {
205
+ const fromArg = typeof raw === 'number' ? raw : Number(raw);
206
+ if (Number.isFinite(fromArg) && fromArg > 0) {
207
+ return Math.min(HARD_TIMEOUT_CAP_MS, Math.floor(fromArg));
208
+ }
209
+ const env = process.env.IMHUB_EXEC_TIMEOUT_MS;
210
+ if (env) {
211
+ const n = Number(env);
212
+ if (Number.isFinite(n) && n > 0)
213
+ return Math.min(HARD_TIMEOUT_CAP_MS, Math.floor(n));
214
+ }
215
+ return DEFAULT_TIMEOUT_MS;
216
+ }
217
+ function clampNumber(input, dflt, min, max) {
218
+ const n = typeof input === 'number' ? input : Number(input);
219
+ if (!Number.isFinite(n))
220
+ return dflt;
221
+ return Math.max(min, Math.min(max, Math.floor(n)));
222
+ }
223
+ //# sourceMappingURL=exec-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exec-dispatcher.js","sourceRoot":"","sources":["../../../src/core/llm/exec-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"imhub-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/core/llm/imhub-dispatcher.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAUjD;;iBAEiB;AACjB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,UAAU,CAAA;IAC1B,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA4BD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,EAAE,CAoIzC;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,GAAG,cAAc,CAgJ5E"}
1
+ {"version":3,"file":"imhub-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/core/llm/imhub-dispatcher.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,sBAAsB,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAUjD;;iBAEiB;AACjB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,MAAM,CAAC,EAAE,OAAO,UAAU,CAAA;IAC1B,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AA4BD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,EAAE,CA4KzC;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,kBAAkB,GAAG,cAAc,CA+J5E"}
@@ -192,6 +192,43 @@ export function getImhubTools() {
192
192
  required: ['agent', 'prompt'],
193
193
  },
194
194
  },
195
+ {
196
+ name: 'mcp__imhub__long_task',
197
+ description: 'Register a sustained multi-turn objective for this thread. Use when the user describes ' +
198
+ 'work that should stay visible across many turns ("ship v1.3 this week", "track X for the ' +
199
+ 'next 3 days"). The goal is injected into your future system prompts as an `[Active goal]` ' +
200
+ 'block. Auto-pauses any prior active goal on the thread. NOT for one-shot questions — ' +
201
+ 'use this only when persistence across turns is the point.',
202
+ parameters: {
203
+ type: 'object',
204
+ properties: {
205
+ goal: {
206
+ type: 'string',
207
+ description: 'One-line objective. Write it idempotent + bounded + self-contained: "Ship agim v1.3 ' +
208
+ 'with the fs/web/exec tool batch landed and CHANGELOG updated", not "improve agim".',
209
+ },
210
+ summary: {
211
+ type: 'string',
212
+ description: 'Optional short acceptance criteria / scope notes (≤ 4000 chars).',
213
+ },
214
+ },
215
+ required: ['goal'],
216
+ },
217
+ },
218
+ {
219
+ name: 'mcp__imhub__complete_goal',
220
+ description: 'Mark the thread\'s currently-active goal as done (or cancelled). Use when the work is ' +
221
+ 'finished, when the user cancels, or when the user replaces the goal with a different ' +
222
+ 'objective. Without `status` defaults to "completed". `recap` is appended as a final ' +
223
+ 'progress note so the historical log makes sense.',
224
+ parameters: {
225
+ type: 'object',
226
+ properties: {
227
+ recap: { type: 'string', description: 'One-line honest summary of how the goal ended.' },
228
+ status: { type: 'string', enum: ['completed', 'cancelled'] },
229
+ },
230
+ },
231
+ },
195
232
  ];
196
233
  }
197
234
  /** Build a dispatcher closure over the per-turn IM context. */
@@ -334,6 +371,22 @@ export function buildImhubDispatcher(ctx) {
334
371
  // it asks for them — keeps the main payload terse.
335
372
  return ok(typeof result.result === 'string' ? result.result : safeJson(result));
336
373
  }
374
+ case 'long_task':
375
+ case 'complete_goal': {
376
+ // v1.2.63 — thin wrapper over goals.ts. RPC layer enforces
377
+ // ctx integrity + writes audit logs.
378
+ const { handleGoalOp } = await import('../goal-rpc.js');
379
+ const r = await handleGoalOp(op, args, {
380
+ platform: ctx.platform,
381
+ channelId: ctx.channelId,
382
+ threadId: ctx.threadId,
383
+ userId: ctx.userId,
384
+ callerAgent: ctx.callerAgent,
385
+ });
386
+ if (!r.ok)
387
+ return err(`${op} failed: ${r.error}`);
388
+ return ok(safeJson(r.result));
389
+ }
337
390
  default:
338
391
  return unknown(call.name);
339
392
  }
@@ -1 +1 @@
1
- {"version":3,"file":"imhub-dispatcher.js","sourceRoot":"","sources":["../../../src/core/llm/imhub-dispatcher.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,oEAAoE;AACpE,sEAAsE;AACtE,iEAAiE;AACjE,wCAAwC;AACxC,EAAE;AACF,uBAAuB;AACvB,uBAAuB;AACvB,qEAAqE;AACrE,oEAAoE;AACpE,qEAAqE;AACrE,oEAAoE;AACpE,sEAAsE;AACtE,kEAAkE;AAClE,gEAAgE;AAChE,mDAAmD;AACnD,EAAE;AACF,sBAAsB;AACtB,sBAAsB;AACtB,mEAAmE;AACnE,iEAAiE;AACjE,qEAAqE;AACrE,cAAc;AACd,iEAAiE;AACjE,kEAAkE;AAClE,0DAA0D;AAC1D,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,mEAAmE;AACnE,+DAA+D;AAC/D,EAAE;AACF,oDAAoD;AACpD,mEAAmE;AACnE,6DAA6D;AAE7D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAkB/D,SAAS,QAAQ,CAAC,CAAU;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,EAAE,CAAC,IAAY;IACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AAClD,CAAC;AAED,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AACjD,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,kEAAkE;IAClE,+CAA+C;IAC/C,OAAO;QACL,IAAI,EAAE,qCAAqC,IAAI,GAAG;QAClD,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,SAAS;KAClB,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EACT,mPAAmP;YACrP,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kEAAkE,EAAE;iBAC1G;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EACT,yJAAyJ;YAC3J,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;SAC/C;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EACT,iXAAiX;YACnX,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;oBAC1F,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;oBACjF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;oBACvF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yDAAyD,EAAE;oBACnG,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE;oBACpF,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;iBACpG;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,WAAW,EACT,yJAAyJ;YAC3J,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kFAAkF,EAAE;oBAC1H,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACjC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uEAAuE,EAAE;oBACpH,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;oBAChE,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;iBACrD;aACF;SACF;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,wEAAwE;YACrF,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBACvB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACrC;gBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;SACF;QACD;YACE,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,sBAAsB;YACnC,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;gBACvC,QAAQ,EAAE,CAAC,IAAI,CAAC;aACjB;SACF;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,WAAW,EACT,uQAAuQ;YACzQ,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;oBAChE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+FAA+F,EAAE;iBAC3I;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EACT,6LAA6L;YAC/L,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;oBAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE;oBAC9F,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;oBACtE,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,uDAAuD,EAAE;iBACzH;gBACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;aAClC;SACF;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EACT,gPAAgP;YAClP,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;oBACpF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;iBAC3D;gBACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;aAC9B;SACF;KACF,CAAA;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,oBAAoB,CAAC,GAAuB;IAC1D,MAAM,UAAU,GAAG;QACjB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAA;IAED,sEAAsE;IACtE,uEAAuE;IACvE,6DAA6D;IAC7D,iEAAiE;IACjE,+BAA+B;IAC/B,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAA;QAC5D,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,CAAA;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACrB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC,CAAC,EAAE,CAAA;IACJ,IAAI,cAAc,GAAG,CAAC,CAAA;IAEtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAA6B,EAAE;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAA4B,CAAA;QAEpH,IAAI,CAAC;YACH,QAAQ,EAAE,EAAE,CAAC;gBACX,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;oBAC/D,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACtD,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM;wBAAE,OAAO,GAAG,CAAC,2BAA2B,CAAC,CAAA;oBACnE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;wBAAE,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,CAAC,MAAM,CAAC,iBAAiB,IAAI,SAAS,EAAE,CAAC,CAAA;oBACvH,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC1B,CAAC;gBACD,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;oBAC9C,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;oBACtD,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACrD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;oBACxD,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACxD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;oBACxD,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,aAAa,CAAC,CAAC,CAAC;oBACnB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;oBACxD,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACvD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,IAA8D,EAAE,UAAU,CAAC,CAAA;oBACxG,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBACxD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,UAAU,CAAC,CAAC,CAAC;oBAChB,MAAM,CAAC,GAAG,MAAM,WAAW,CACzB,IAAiG,EACjG,UAAU,CACX,CAAA;oBACD,IAAI,CAAC,CAAC,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,oBAAoB,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;oBAC7E,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC/B,CAAC;gBACD,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;oBAClE,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;oBACjE,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM;wBAAE,OAAO,GAAG,CAAC,kEAAkE,CAAC,CAAA;oBACzG,+DAA+D;oBAC/D,iEAAiE;oBACjE,gEAAgE;oBAChE,4DAA4D;oBAC5D,6DAA6D;oBAC7D,6CAA6C;oBAC7C,IAAI,mBAAmB,GAAG,CAAC,IAAI,cAAc,IAAI,mBAAmB,EAAE,CAAC;wBACrE,GAAG,CAAC,IAAI,CAAC;4BACP,KAAK,EAAE,gCAAgC;4BACvC,WAAW,EAAE,GAAG,CAAC,WAAW;4BAC5B,WAAW,EAAE,SAAS;4BACtB,KAAK,EAAE,cAAc;4BACrB,GAAG,EAAE,mBAAmB;4BACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;yBACvB,EAAE,4BAA4B,cAAc,IAAI,mBAAmB,iCAAiC,CAAC,CAAA;wBACtG,OAAO,GAAG,CACR,kDAAkD,cAAc,qBAAqB;4BACrF,QAAQ,mBAAmB,wDAAwD;4BACnF,oFAAoF;4BACpF,+EAA+E;4BAC/E,sBAAsB,CACvB,CAAA;oBACH,CAAC;oBACD,cAAc,IAAI,CAAC,CAAA;oBACnB,GAAG,CAAC,IAAI,CAAC;wBACP,KAAK,EAAE,6BAA6B;wBACpC,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,WAAW,EAAE,SAAS;wBACtB,OAAO,EAAE,cAAc;wBACvB,GAAG,EAAE,mBAAmB;wBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;qBACvB,EAAE,iBAAiB,SAAS,aAAa,cAAc,IAAI,mBAAmB,IAAI,GAAG,GAAG,CAAC,CAAA;oBAC1F,+DAA+D;oBAC/D,8DAA8D;oBAC9D,6DAA6D;oBAC7D,mDAAmD;oBACnD,MAAM,QAAQ,GAAiB;wBAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,YAAY,EAAE,GAAG,CAAC,WAAW;wBAC7B,OAAO,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE;wBACnC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;qBACnG,CAAA;oBACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;wBAChE,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,CAAC;wBACjC,WAAW,EAAE,GAAG,CAAC,WAAW;qBAC7B,CAAC,CAAA;oBACF,IAAI,CAAC,MAAM,CAAC,EAAE;wBAAE,OAAO,GAAG,CAAC,sBAAsB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;oBAChE,+DAA+D;oBAC/D,yDAAyD;oBACzD,2DAA2D;oBAC3D,mDAAmD;oBACnD,OAAO,EAAE,CAAC,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;gBACjF,CAAC;gBACD;oBACE,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACtD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YACxE,OAAO,GAAG,CAAC,SAAS,EAAE,aAAa,GAAG,EAAE,CAAC,CAAA;QAC3C,CAAC;gBAAS,CAAC;YACT,KAAK,MAAM,CAAA,CAAC,gFAAgF;QAC9F,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"imhub-dispatcher.js","sourceRoot":"","sources":["../../../src/core/llm/imhub-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ interface ReminderResult {
14
14
  error?: string;
15
15
  }
16
16
  type MemoResult = ReminderResult;
17
+ type GoalResult = ReminderResult;
17
18
  type A2aOutputFile = {
18
19
  name: string;
19
20
  bytes: number;
@@ -65,6 +66,7 @@ declare class ApprovalClient {
65
66
  private pendingMemory;
66
67
  private pendingAsk;
67
68
  private pendingSkill;
69
+ private pendingGoal;
68
70
  private connectErr;
69
71
  private closed;
70
72
  private connectPromise;
@@ -96,6 +98,8 @@ declare class ApprovalClient {
96
98
  requestPush(payload: Record<string, unknown>): Promise<PushResult>;
97
99
  /** P0 #5 — agent asks the user a question, waits for the reply. */
98
100
  requestAsk(payload: Record<string, unknown>): Promise<AskResult>;
101
+ /** v1.2.63 — goal RPC. op ∈ 'long_task' | 'complete_goal'. */
102
+ requestGoal(op: string, payload: Record<string, unknown>): Promise<GoalResult>;
99
103
  /** Same shape as requestReminder, different message type. Bus delegates
100
104
  * to memo-rpc.ts which actually writes memos.db. */
101
105
  requestMemo(op: string, payload: Record<string, unknown>): Promise<MemoResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-approval-server.d.ts","sourceRoot":"","sources":["../../../../src/plugins/agents/claude-code/mcp-approval-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-approval-server.d.ts","sourceRoot":"","sources":["../../../../src/plugins/agents/claude-code/mcp-approval-server.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ class ApprovalClient {
30
30
  pendingMemory = new Map();
31
31
  pendingAsk = new Map();
32
32
  pendingSkill = new Map();
33
+ pendingGoal = new Map();
33
34
  connectErr = null;
34
35
  closed = false;
35
36
  connectPromise;
@@ -145,6 +146,23 @@ class ApprovalClient {
145
146
  }
146
147
  return;
147
148
  }
149
+ if (m.type === 'goal.result') {
150
+ const reqId = typeof m.reqId === 'string' ? m.reqId : null;
151
+ if (!reqId)
152
+ return;
153
+ const p = this.pendingGoal.get(reqId);
154
+ if (!p)
155
+ return;
156
+ this.pendingGoal.delete(reqId);
157
+ const ok = m.ok === true;
158
+ if (ok)
159
+ p.resolve({ ok: true, result: m.result });
160
+ else {
161
+ const error = typeof m.error === 'string' ? m.error : 'unknown error';
162
+ p.resolve({ ok: false, error });
163
+ }
164
+ return;
165
+ }
148
166
  if (m.type === 'push.result') {
149
167
  const reqId = typeof m.reqId === 'string' ? m.reqId : null;
150
168
  if (!reqId)
@@ -313,6 +331,10 @@ class ApprovalClient {
313
331
  p.resolve({ ok: false, error: 'approval bus disconnected' });
314
332
  }
315
333
  this.pendingSkill.clear();
334
+ for (const [, p] of this.pendingGoal) {
335
+ p.resolve({ ok: false, error: 'approval bus disconnected' });
336
+ }
337
+ this.pendingGoal.clear();
316
338
  }
317
339
  // request(): see below — request → register pending → write payload
318
340
  /**
@@ -461,6 +483,31 @@ class ApprovalClient {
461
483
  });
462
484
  });
463
485
  }
486
+ /** v1.2.63 — goal RPC. op ∈ 'long_task' | 'complete_goal'. */
487
+ async requestGoal(op, payload) {
488
+ await this.connectPromise;
489
+ if (this.connectErr || this.closed || !this.socket) {
490
+ return { ok: false, error: `bus unavailable: ${this.connectErr?.message ?? 'closed'}` };
491
+ }
492
+ const reqId = randomUUID();
493
+ const wire = `${JSON.stringify({
494
+ v: 1,
495
+ type: 'goal',
496
+ runId: this.runId,
497
+ reqId,
498
+ op,
499
+ payload,
500
+ })}\n`;
501
+ return new Promise((resolve) => {
502
+ this.pendingGoal.set(reqId, { resolve });
503
+ this.socket?.write(wire, (err) => {
504
+ if (err) {
505
+ this.pendingGoal.delete(reqId);
506
+ resolve({ ok: false, error: `write failed: ${err.message}` });
507
+ }
508
+ });
509
+ });
510
+ }
464
511
  /** Same shape as requestReminder, different message type. Bus delegates
465
512
  * to memo-rpc.ts which actually writes memos.db. */
466
513
  async requestMemo(op, payload) {
@@ -1081,6 +1128,44 @@ export function buildServer(client) {
1081
1128
  });
1082
1129
  return { content: [{ type: 'text', text: JSON.stringify(result) }] };
1083
1130
  });
1131
+ // v1.2.63 — long_task / complete_goal MCP tools, parallel to the
1132
+ // native side. Lets claude-code / cursor / antigravity self-register
1133
+ // sustained objectives that agim's goals.ts then injects into future
1134
+ // turn prompts.
1135
+ server.registerTool('long_task', {
1136
+ title: 'Register a sustained multi-turn objective',
1137
+ description: 'Register a multi-turn objective for this IM thread. Use when the user describes work ' +
1138
+ 'that should stay visible across many turns ("ship v1.3 this week", "track X for the next ' +
1139
+ '3 days", "every morning send a market brief"). Auto-pauses any prior active goal on the ' +
1140
+ 'thread. Write the `goal` idempotent + bounded + self-contained. NOT for one-shot tasks.',
1141
+ inputSchema: {
1142
+ goal: z.string().describe('One-line objective. Idempotent, bounded, self-contained.'),
1143
+ summary: z.string().optional().describe('Acceptance criteria / scope notes (≤ 4000 chars).'),
1144
+ },
1145
+ }, async (args) => {
1146
+ const result = await client.requestGoal('long_task', {
1147
+ goal: typeof args.goal === 'string' ? args.goal : '',
1148
+ ...(typeof args.summary === 'string' ? { summary: args.summary } : {}),
1149
+ });
1150
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
1151
+ });
1152
+ server.registerTool('complete_goal', {
1153
+ title: 'Mark the active goal complete / cancelled',
1154
+ description: 'Mark the thread\'s currently-active goal as done. Use when work is finished, when the ' +
1155
+ 'user cancels, or when the user replaces the goal with a different objective. Default ' +
1156
+ 'status="completed"; pass "cancelled" for user-cancelled / superseded work. `recap` is ' +
1157
+ 'appended to the goal\'s progress log.',
1158
+ inputSchema: {
1159
+ recap: z.string().optional().describe('One-line honest summary of how the goal ended.'),
1160
+ status: z.enum(['completed', 'cancelled']).optional().describe('Default "completed".'),
1161
+ },
1162
+ }, async (args) => {
1163
+ const result = await client.requestGoal('complete_goal', {
1164
+ ...(typeof args.recap === 'string' ? { recap: args.recap } : {}),
1165
+ ...(typeof args.status === 'string' ? { status: args.status } : {}),
1166
+ });
1167
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
1168
+ });
1084
1169
  return server;
1085
1170
  }
1086
1171
  export { ApprovalClient };