agim-cli 1.1.0 → 1.1.2
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/CHANGELOG.md +190 -0
- package/README.md +7 -1
- package/README.zh-CN.md +7 -1
- package/dist/cli-ui/i18n.d.ts +4 -4
- package/dist/cli-ui/i18n.js +4 -4
- package/dist/cli-ui/i18n.js.map +1 -1
- package/dist/cli.js +265 -30
- package/dist/cli.js.map +1 -1
- package/dist/core/a2a.d.ts +36 -0
- package/dist/core/a2a.d.ts.map +1 -0
- package/dist/core/a2a.js +203 -0
- package/dist/core/a2a.js.map +1 -0
- package/dist/core/agent-base.d.ts +5 -2
- package/dist/core/agent-base.d.ts.map +1 -1
- package/dist/core/agent-base.js +68 -24
- package/dist/core/agent-base.js.map +1 -1
- package/dist/core/approval-bus.d.ts +81 -2
- package/dist/core/approval-bus.d.ts.map +1 -1
- package/dist/core/approval-bus.js +273 -36
- package/dist/core/approval-bus.js.map +1 -1
- package/dist/core/approval-router.d.ts.map +1 -1
- package/dist/core/approval-router.js +221 -89
- package/dist/core/approval-router.js.map +1 -1
- package/dist/core/commands/a2a.d.ts +3 -0
- package/dist/core/commands/a2a.d.ts.map +1 -0
- package/dist/core/commands/a2a.js +148 -0
- package/dist/core/commands/a2a.js.map +1 -0
- package/dist/core/commands/approval.d.ts.map +1 -1
- package/dist/core/commands/approval.js +7 -5
- package/dist/core/commands/approval.js.map +1 -1
- package/dist/core/commands/builtin.js +2 -2
- package/dist/core/commands/builtin.js.map +1 -1
- package/dist/core/commands/job.d.ts.map +1 -1
- package/dist/core/commands/job.js +11 -2
- package/dist/core/commands/job.js.map +1 -1
- package/dist/core/commands/outbox.d.ts +3 -0
- package/dist/core/commands/outbox.d.ts.map +1 -0
- package/dist/core/commands/outbox.js +92 -0
- package/dist/core/commands/outbox.js.map +1 -0
- package/dist/core/job-board.d.ts +122 -1
- package/dist/core/job-board.d.ts.map +1 -1
- package/dist/core/job-board.js +404 -21
- package/dist/core/job-board.js.map +1 -1
- package/dist/core/job-recovery.d.ts +48 -0
- package/dist/core/job-recovery.d.ts.map +1 -0
- package/dist/core/job-recovery.js +185 -0
- package/dist/core/job-recovery.js.map +1 -0
- package/dist/core/message-sink.d.ts +63 -0
- package/dist/core/message-sink.d.ts.map +1 -0
- package/dist/core/message-sink.js +296 -0
- package/dist/core/message-sink.js.map +1 -0
- package/dist/core/outbox.d.ts +71 -0
- package/dist/core/outbox.d.ts.map +1 -0
- package/dist/core/outbox.js +301 -0
- package/dist/core/outbox.js.map +1 -0
- package/dist/core/reminders.d.ts.map +1 -1
- package/dist/core/reminders.js +12 -1
- package/dist/core/reminders.js.map +1 -1
- package/dist/core/restart-completion.d.ts.map +1 -1
- package/dist/core/restart-completion.js +18 -1
- package/dist/core/restart-completion.js.map +1 -1
- package/dist/core/router.d.ts +8 -0
- package/dist/core/router.d.ts.map +1 -1
- package/dist/core/router.js +16 -0
- package/dist/core/router.js.map +1 -1
- package/dist/core/self-protect.d.ts +3 -2
- package/dist/core/self-protect.d.ts.map +1 -1
- package/dist/core/self-protect.js +75 -41
- package/dist/core/self-protect.js.map +1 -1
- package/dist/core/types.d.ts +22 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/plugins/agents/claude-code/index.d.ts.map +1 -1
- package/dist/plugins/agents/claude-code/index.js +5 -0
- package/dist/plugins/agents/claude-code/index.js.map +1 -1
- package/dist/plugins/agents/claude-code/mcp-approval-server.d.ts +21 -0
- package/dist/plugins/agents/claude-code/mcp-approval-server.d.ts.map +1 -1
- package/dist/plugins/agents/claude-code/mcp-approval-server.js +106 -0
- package/dist/plugins/agents/claude-code/mcp-approval-server.js.map +1 -1
- package/dist/plugins/agents/codex/index.d.ts.map +1 -1
- package/dist/plugins/agents/codex/index.js +5 -0
- package/dist/plugins/agents/codex/index.js.map +1 -1
- package/dist/plugins/agents/opencode/opencode-http-adapter.d.ts.map +1 -1
- package/dist/plugins/agents/opencode/opencode-http-adapter.js +46 -15
- package/dist/plugins/agents/opencode/opencode-http-adapter.js.map +1 -1
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.d.ts.map +1 -1
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.js +5 -0
- package/dist/plugins/agents/opencode/opencode-stdio-adapter.js.map +1 -1
- package/dist/web/public/settings.html +89 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +44 -16
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/core/commands/a2a.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/core/commands/approval.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/core/commands/approval.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAahD,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,MAAM,CAAC,CAkEjB"}
|
|
@@ -9,15 +9,16 @@
|
|
|
9
9
|
// Auto-allow "all" rules are scoped per (platform, channelId, threadId).
|
|
10
10
|
// Readonly auto-allow has a global env switch (IMHUB_AUTOALLOW_READONLY) +
|
|
11
11
|
// per-thread opt-out — both also keyed by the same composite.
|
|
12
|
-
import { approvalBus, threadKey } from '../approval-bus.js';
|
|
12
|
+
import { approvalBus, humanizeFingerprint, threadKey } from '../approval-bus.js';
|
|
13
13
|
function formatRuleKey(key) {
|
|
14
|
-
// Keys are stored as `${toolName}::${
|
|
14
|
+
// Keys are stored as `${toolName}::${fingerprint}`. humanizeFingerprint
|
|
15
|
+
// translates `cmd:git+status` → `命令 git status`, `dir:/tmp` → `目录 /tmp`,
|
|
16
|
+
// etc. Legacy/unknown fingerprints pass through unchanged.
|
|
15
17
|
const sep = key.indexOf('::');
|
|
16
18
|
if (sep < 0)
|
|
17
19
|
return key;
|
|
18
20
|
const tool = key.slice(0, sep);
|
|
19
|
-
|
|
20
|
-
return `• ${tool} 前缀 "${prefix}"`;
|
|
21
|
+
return `• ${tool} ${humanizeFingerprint(key.slice(sep + 2))}`;
|
|
21
22
|
}
|
|
22
23
|
export async function handleApprovalCommand(args, ctx) {
|
|
23
24
|
const trimmed = args.trim();
|
|
@@ -67,7 +68,8 @@ export async function handleApprovalCommand(args, ctx) {
|
|
|
67
68
|
'📋 本会话当前没有自动放行规则。',
|
|
68
69
|
'',
|
|
69
70
|
'在审批提示出现时回复 all(或 全部 / 总是)即可启用:',
|
|
70
|
-
'
|
|
71
|
+
'规则粒度按工具语义:Bash 看前两个 token,Read/Write 看目录,WebFetch 看主机',
|
|
72
|
+
'命中后 5s 内自动放行(点 ❌ 可同时撤销规则)。',
|
|
71
73
|
'',
|
|
72
74
|
roLine,
|
|
73
75
|
].join('\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/core/commands/approval.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,6EAA6E;AAC7E,wEAAwE;AACxE,6EAA6E;AAC7E,kFAAkF;AAClF,yEAAyE;AACzE,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,8DAA8D;AAG9D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/core/commands/approval.ts"],"names":[],"mappings":"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"}
|
|
@@ -170,7 +170,7 @@ const TOPIC_HELP_ZH = {
|
|
|
170
170
|
SEP,
|
|
171
171
|
'审批卡片回复',
|
|
172
172
|
'y 同意 · n 拒绝 · all 本会话同类自动放行',
|
|
173
|
-
'(
|
|
173
|
+
'(超时默认行为见 Web 设置 → 审批策略)',
|
|
174
174
|
].join('\n'),
|
|
175
175
|
workspaces: [
|
|
176
176
|
'/workspaces (别名 /ws) — workspace 管理',
|
|
@@ -228,7 +228,7 @@ const TOPIC_HELP_EN = {
|
|
|
228
228
|
SEP,
|
|
229
229
|
'Approval card replies',
|
|
230
230
|
'y allow · n deny · all auto-allow same kind in this session',
|
|
231
|
-
'(
|
|
231
|
+
'(timeout policy: see Web Settings → Approval Policy)',
|
|
232
232
|
].join('\n'),
|
|
233
233
|
workspaces: [
|
|
234
234
|
'/workspaces (alias /ws) — workspace management',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../src/core/commands/builtin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../../src/core/commands/builtin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../src/core/commands/job.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../src/core/commands/job.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAoBhD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CA6K1C"}
|
|
@@ -4,8 +4,13 @@ import { sessionManager } from '../session.js';
|
|
|
4
4
|
import { AgentBase } from '../agent-base.js';
|
|
5
5
|
import { createJob, getJob, listJobs, cancelJob, runJob, getJobStats } from '../job-board.js';
|
|
6
6
|
import { workspaceRegistry } from '../workspace.js';
|
|
7
|
+
const JOB_STATUS_ICON = {
|
|
8
|
+
pending: '⏳', running: '🔄', completed: '✅', delivered: '📬',
|
|
9
|
+
failed: '❌', cancelled: '🚫',
|
|
10
|
+
interrupted: '⚠️', replaced: '🔁', abandoned: '🗑',
|
|
11
|
+
};
|
|
7
12
|
function formatJob(j) {
|
|
8
|
-
const icon =
|
|
13
|
+
const icon = JOB_STATUS_ICON[j.status] || '❓';
|
|
9
14
|
const ts = new Date(`${j.created_at}Z`).toLocaleTimeString('zh-CN', { hour: '2-digit', minute: '2-digit' });
|
|
10
15
|
const preview = j.prompt.substring(0, 50) + (j.prompt.length > 50 ? '...' : '');
|
|
11
16
|
return `${icon} #${j.id} ${j.agent}: ${preview} [${j.status}] · ${ts}`;
|
|
@@ -77,7 +82,11 @@ Agent: ${agent.name}
|
|
|
77
82
|
const job = getJob(id, ownerOpts);
|
|
78
83
|
if (!job)
|
|
79
84
|
return `❌ 未找到任务 #${id}。`;
|
|
80
|
-
const statusLabel = {
|
|
85
|
+
const statusLabel = {
|
|
86
|
+
pending: '⏳ 待执行', running: '🔄 运行中', completed: '✅ 已完成', delivered: '📬 已送达',
|
|
87
|
+
failed: '❌ 失败', cancelled: '🚫 已取消',
|
|
88
|
+
interrupted: '⚠️ 已中断', replaced: '🔁 已重发', abandoned: '🗑 已归档',
|
|
89
|
+
};
|
|
81
90
|
let msg = `📋 **任务 #${job.id}**
|
|
82
91
|
|
|
83
92
|
Agent: ${job.agent}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/core/commands/job.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAG5F,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAY,MAAM,iBAAiB,CAAA;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/core/commands/job.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAG5F,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAY,MAAM,iBAAiB,CAAA;AACvG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,MAAM,eAAe,GAA2B;IAC9C,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI;IAC5D,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI;IAC5B,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI;CACnD,CAAA;AAED,SAAS,SAAS,CAAC,CAAM;IACvB,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;IAC7C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;IAC3G,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC/E,OAAO,GAAG,IAAI,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,EAAE,EAAE,CAAA;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,GAAiB;IAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAA;IAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAErC,8EAA8E;IAC9E,2EAA2E;IAC3E,0EAA0E;IAC1E,gDAAgD;IAChD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAE7D,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAA8B,CAAA;YACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;YAC5C,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,oDAAoD,CAAA;YAC7E,MAAM,KAAK,GAAG,WAAW,EAAE,CAAA;YAC3B,OAAO,kBAAkB,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,OAAO,SAAS,KAAK,CAAC,OAAO,QAAQ,KAAK,CAAC,SAAS,QAAQ,KAAK,CAAC,MAAM;;EAE9H,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;oBAKZ,CAAA;QAChB,CAAC;QAED,KAAK,QAAQ,CAAC;QACd,KAAK,GAAG,CAAC,CAAC,CAAC;YACT,IAAI,CAAC,IAAI;gBAAE,OAAO,0EAA0E,CAAA;YAC5F,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAClC,IAAI,QAAQ,GAAG,CAAC;gBAAE,OAAO,wDAAwD,CAAA;YACjF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAC9C,IAAI,CAAC,MAAM;gBAAE,OAAO,UAAU,CAAA;YAE9B,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;YAC3C,IAAI,CAAC,KAAK;gBAAE,OAAO,YAAY,SAAS,cAAc,CAAA;YAEtD,uEAAuE;YACvE,uEAAuE;YACvE,2EAA2E;YAC3E,MAAM,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,CAAA;YAC7D,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,OAAO,YAAY,KAAK,CAAC,IAAI,mBAAmB,EAAE,CAAC,IAAI,UAAU,CAAA;YACnE,CAAC;YAED,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE;gBACvC,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;gBAC3B,WAAW,EAAE,EAAE,CAAC,EAAE;aACnB,CAAC,CAAA;YACF,OAAO,SAAS,EAAE;;SAEf,KAAK,CAAC,IAAI;;;cAGL,EAAE,2BAA2B,CAAA;QACvC,CAAC;QAED,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,GAAG,CAAC,CAAC,CAAC;YACT,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YACvC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO,qBAAqB,CAAA;YAClD,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YACjC,IAAI,CAAC,GAAG;gBAAE,OAAO,YAAY,EAAE,GAAG,CAAA;YAClC,MAAM,WAAW,GAA2B;gBAC1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ;gBAC5E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ;gBACnC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ;aAC/D,CAAA;YACD,IAAI,GAAG,GAAG,YAAY,GAAG,CAAC,EAAE;;SAEzB,GAAG,CAAC,KAAK;MACZ,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM;MACrC,GAAG,CAAC,UAAU,EAAE,CAAA;YAChB,IAAI,GAAG,CAAC,YAAY;gBAAE,GAAG,IAAI,SAAS,GAAG,CAAC,YAAY,EAAE,CAAA;YACxD,GAAG,IAAI,WAAW,GAAG,CAAC,MAAM,EAAE,CAAA;YAC9B,IAAI,GAAG,CAAC,MAAM;gBAAE,GAAG,IAAI,iBAAiB,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAA;YACjH,IAAI,GAAG,CAAC,KAAK;gBAAE,GAAG,IAAI,WAAW,GAAG,CAAC,KAAK,EAAE,CAAA;YAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW;gBAAE,GAAG,IAAI,gBAAgB,GAAG,CAAC,EAAE,OAAO,CAAA;YACpE,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;gBAAE,GAAG,IAAI,gBAAgB,GAAG,CAAC,EAAE,OAAO,CAAA;YAClE,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,KAAK,KAAK,CAAC;QACX,KAAK,GAAG,CAAC,CAAC,CAAC;YACT,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YACvC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO,mBAAmB,CAAA;YAChD,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YACjC,IAAI,CAAC,GAAG;gBAAE,OAAO,YAAY,EAAE,GAAG,CAAA;YAClC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS;gBAAE,OAAO,UAAU,EAAE,SAAS,CAAA;YAE1D,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC3C,IAAI,CAAC,KAAK;gBAAE,OAAO,YAAY,GAAG,CAAC,KAAK,cAAc,CAAA;YAEtD,uDAAuD;YACvD,MAAM,gBAAgB,GAAG,KAAK,YAAY,SAAS,CAAA;YACnD,MAAM,CAAC,EAAE,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM;gBAC5C,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,EAAE,GAAG,KAA6B,CAAA;oBACxC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBACzD,IAAI,MAAM;wBAAE,MAAM,MAAM,CAAA;gBAC1B,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;oBAC/D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;wBACpC,IAAI,MAAM,CAAC,OAAO;4BAAE,MAAK;wBACzB,MAAM,KAAK,CAAA;oBACb,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YAE9B,OAAO,UAAU,EAAE;;gBAET,EAAE,QAAQ,CAAA;QACtB,CAAC;QAED,KAAK,QAAQ,CAAC;QACd,KAAK,GAAG,CAAC,CAAC,CAAC;YACT,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YACvC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO,sBAAsB,CAAA;YACnD,IAAI,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC;gBAAE,OAAO,UAAU,EAAE,OAAO,CAAA;YACxD,OAAO,aAAa,EAAE,uBAAuB,CAAA;QAC/C,CAAC;QAED,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACpB,IAAI,CAAC,GAAG;gBAAE,OAAO,2CAA2C,CAAA;YAC5D,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAClC,MAAM,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBACtF,OAAO,WAAW,CAAA;YACpB,CAAC;YACD,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAC5B,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO,2CAA2C,CAAA;YACxE,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YACjC,IAAI,CAAC,GAAG;gBAAE,OAAO,YAAY,EAAE,GAAG,CAAA;YAClC,MAAM,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACpF,iDAAiD;YACjD,MAAM,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE;gBAChF,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM;gBACxC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE;aACzC,CAAC,CAAA;YACF,OAAO,YAAY,EAAE,SAAS,GAAG,CAAC,KAAK,4CAA4C,CAAA;QACrF,CAAC;QAED,KAAK,SAAS,CAAC;QACf,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YACvC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO,uBAAuB,CAAA;YACpD,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;YACjC,IAAI,CAAC,GAAG;gBAAE,OAAO,YAAY,EAAE,GAAG,CAAA;YAClC,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO,UAAU,EAAE,KAAK,GAAG,CAAC,MAAM,SAAS,CAAA;YAE5D,2BAA2B;YAC3B,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC1G,MAAM,SAAS,GAAG,eAAe,EAAE,KAAK,IAAI,GAAG,CAAC,YAAY,CAAA;YAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;YAC3C,IAAI,CAAC,KAAK;gBAAE,OAAO,YAAY,SAAS,cAAc,CAAA;YAEtD,MAAM,aAAa,GAAG,8CAA8C,GAAG,CAAC,KAAK,aAAa,GAAG,CAAC,MAAM,qCAAqC,CAAA;YACzI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YACxE,4CAA4C;YAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;YACtE,OAAO,CAAC,KAAK,SAAS,CAAC;gBACrB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,SAAS;oBAAE,MAAM,KAAK,CAAA;YAClD,CAAC,CAAC,EAAE,CAAA;QACN,CAAC;QAED;YACE,OAAO,kFAAkF,CAAA;IAC7F,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../../src/core/commands/outbox.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AA+BhD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,MAAM,CAAC,CAgDjB"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// /outbox — inspect and operate the message-sink delivery queue.
|
|
2
|
+
//
|
|
3
|
+
// Subcommands:
|
|
4
|
+
// /outbox — same as `status`
|
|
5
|
+
// /outbox status — aggregate counts (pending / delivered / giving_up)
|
|
6
|
+
// /outbox list [N] — last N rows (default 10)
|
|
7
|
+
// /outbox failed [N] — last N rows in 'giving_up' state
|
|
8
|
+
// /outbox retry <id> — move a 'giving_up' row back to 'pending'
|
|
9
|
+
//
|
|
10
|
+
// Why expose this:
|
|
11
|
+
// - Operators need quick visibility into stuck deliveries without
|
|
12
|
+
// opening sqlite (`sqlite3 ~/.agim/outbox.db` works but isn't IM-friendly).
|
|
13
|
+
// - 'giving_up' is terminal by design — without a retry knob, a transient
|
|
14
|
+
// IM-side outage that spans the 6-step backoff (~2h cumulative) would
|
|
15
|
+
// leave good messages permanently dead-lettered.
|
|
16
|
+
//
|
|
17
|
+
// Permission model: the underlying outbox table is global. Phase 1 keeps
|
|
18
|
+
// this command admin-only / not multi-tenant — every IM user sees the same
|
|
19
|
+
// rows. If multi-tenant slicing becomes a requirement, gate by ctx.userId
|
|
20
|
+
// the same way job-board does (createJob's creator_id column).
|
|
21
|
+
import { getOutboxStats, listOutbox, retryGivingUp, } from '../outbox.js';
|
|
22
|
+
function fmtRow(r) {
|
|
23
|
+
const icon = r.status === 'delivered' ? '✅'
|
|
24
|
+
: r.status === 'giving_up' ? '💀'
|
|
25
|
+
: '📤';
|
|
26
|
+
const ts = new Date(`${r.created_at}Z`).toLocaleTimeString('zh-CN', {
|
|
27
|
+
hour: '2-digit', minute: '2-digit',
|
|
28
|
+
});
|
|
29
|
+
const preview = r.payload.replace(/\n/g, ' ').slice(0, 40)
|
|
30
|
+
+ (r.payload.length > 40 ? '…' : '');
|
|
31
|
+
const errTail = r.last_error ? ` · err: ${r.last_error.slice(0, 60)}` : '';
|
|
32
|
+
return `${icon} #${r.id} ${r.platform}/${r.thread_id} [${r.status} · ${r.attempts}x] ${preview} · ${ts}${errTail}`;
|
|
33
|
+
}
|
|
34
|
+
function fmtStatus() {
|
|
35
|
+
const stats = getOutboxStats();
|
|
36
|
+
const total = stats.pending + stats.delivered + stats.giving_up;
|
|
37
|
+
return [
|
|
38
|
+
`📬 outbox · 共 ${total}`,
|
|
39
|
+
` ⏳ pending: ${stats.pending}`,
|
|
40
|
+
` ✅ delivered: ${stats.delivered}`,
|
|
41
|
+
` 💀 giving_up: ${stats.giving_up}`,
|
|
42
|
+
'',
|
|
43
|
+
`提示: /outbox list · /outbox failed · /outbox retry <id>`,
|
|
44
|
+
].join('\n');
|
|
45
|
+
}
|
|
46
|
+
export async function handleOutboxCommand(args, _ctx) {
|
|
47
|
+
const parts = args.trim().split(/\s+/).filter(Boolean);
|
|
48
|
+
const sub = parts[0] || 'status';
|
|
49
|
+
switch (sub) {
|
|
50
|
+
case 'status':
|
|
51
|
+
case 's':
|
|
52
|
+
return fmtStatus();
|
|
53
|
+
case 'list':
|
|
54
|
+
case 'ls': {
|
|
55
|
+
const n = Math.max(1, Math.min(parseInt(parts[1] || '10', 10) || 10, 50));
|
|
56
|
+
const rows = listOutbox({ limit: n });
|
|
57
|
+
if (rows.length === 0)
|
|
58
|
+
return '📬 outbox 为空。';
|
|
59
|
+
return [`📬 outbox · 最近 ${rows.length} 条:`, '', ...rows.map(fmtRow)].join('\n');
|
|
60
|
+
}
|
|
61
|
+
case 'failed': {
|
|
62
|
+
const n = Math.max(1, Math.min(parseInt(parts[1] || '10', 10) || 10, 50));
|
|
63
|
+
const rows = listOutbox({ status: 'giving_up', limit: n });
|
|
64
|
+
if (rows.length === 0)
|
|
65
|
+
return '✅ 没有 giving_up 行。';
|
|
66
|
+
return [
|
|
67
|
+
`💀 outbox 失败列表 · ${rows.length} 条`,
|
|
68
|
+
'',
|
|
69
|
+
...rows.map(fmtRow),
|
|
70
|
+
'',
|
|
71
|
+
`回执 /outbox retry <id> 可重新入队`,
|
|
72
|
+
].join('\n');
|
|
73
|
+
}
|
|
74
|
+
case 'retry': {
|
|
75
|
+
const id = parseInt(parts[1] || '', 10);
|
|
76
|
+
if (!Number.isFinite(id) || id <= 0) {
|
|
77
|
+
return '❌ 用法: /outbox retry <id>';
|
|
78
|
+
}
|
|
79
|
+
const ok = retryGivingUp(id);
|
|
80
|
+
return ok
|
|
81
|
+
? `✅ outbox #${id} 已重新入队 (attempts 重置)`
|
|
82
|
+
: `❌ outbox #${id} 不存在或不在 giving_up 状态`;
|
|
83
|
+
}
|
|
84
|
+
default:
|
|
85
|
+
return [
|
|
86
|
+
`❓ 未知子命令: ${sub}`,
|
|
87
|
+
'',
|
|
88
|
+
'可用: /outbox · /outbox list [N] · /outbox failed [N] · /outbox retry <id>',
|
|
89
|
+
].join('\n');
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=outbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox.js","sourceRoot":"","sources":["../../../src/core/commands/outbox.ts"],"names":[],"mappings":"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"}
|
package/dist/core/job-board.d.ts
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
import type Database from 'better-sqlite3';
|
|
2
2
|
import type { Logger } from 'pino';
|
|
3
|
-
export type
|
|
3
|
+
export type JobKind = 'job' | 'inline';
|
|
4
|
+
/** Lifecycle states.
|
|
5
|
+
* - pending : created, not yet picked up
|
|
6
|
+
* - running : agent currently executing
|
|
7
|
+
* - completed : agent finished, result captured; for inline kind the
|
|
8
|
+
* reply still has to go through the outbox before terminal
|
|
9
|
+
* 'delivered' (or 'failed' if the outbox gives up).
|
|
10
|
+
* - delivered : (inline only) reply confirmed sent via outbox.
|
|
11
|
+
* - failed : agent threw OR outbox gave up
|
|
12
|
+
* - cancelled : user-initiated cancel
|
|
13
|
+
* - interrupted : (Phase 3) running row was killed by agim shutdown — the
|
|
14
|
+
* startup scan offers the user a retry.
|
|
15
|
+
* - replaced : (Phase 3) interrupted row whose user picked "retry"; the
|
|
16
|
+
* new row's id lands in `replaced_by`.
|
|
17
|
+
* - abandoned : (Phase 3) interrupted row past the 10-minute window — no
|
|
18
|
+
* notification fired, archived for audit.
|
|
19
|
+
*/
|
|
20
|
+
export type JobStatus = 'pending' | 'running' | 'completed' | 'delivered' | 'failed' | 'cancelled' | 'interrupted' | 'replaced' | 'abandoned';
|
|
4
21
|
export interface Job {
|
|
5
22
|
id: number;
|
|
6
23
|
status: JobStatus;
|
|
@@ -14,8 +31,60 @@ export interface Job {
|
|
|
14
31
|
creator_id: string;
|
|
15
32
|
/** Workspace this job was created under, or '' if unknown. */
|
|
16
33
|
workspace_id: string;
|
|
34
|
+
/** `${platform}:${channelId}:${threadId}` — empty for legacy / system rows. */
|
|
35
|
+
thread_key: string;
|
|
36
|
+
/** 'job' = explicit /job (30d retention), 'inline' = auto-tracked inbound
|
|
37
|
+
* message (24h retention + Phase 3 lifecycle hooks). */
|
|
38
|
+
kind: JobKind;
|
|
39
|
+
/** ISO when status first transitioned to 'running'. Null for never-run rows. */
|
|
40
|
+
started_at: string | null;
|
|
41
|
+
/** ISO when the outbox confirmed delivery to IM. Inline kind only. */
|
|
42
|
+
delivered_at: string | null;
|
|
43
|
+
/** Id of the new job that replaced this one (Phase 3 retry flow). */
|
|
44
|
+
replaced_by: number | null;
|
|
45
|
+
/** Last outbox row id that tried to deliver this job's result. Reverse
|
|
46
|
+
* link to `outbox.job_id`. */
|
|
47
|
+
last_outbox_id: number | null;
|
|
48
|
+
/** A2A-L1: id of the inline job whose agent invoked us via
|
|
49
|
+
* mcp__imhub__call_agent. NULL for user-originated rows. */
|
|
50
|
+
parent_id: number | null;
|
|
51
|
+
/** A2A-L1: how deep in the call chain this row sits. 0 = user;
|
|
52
|
+
* caller.call_depth + 1 for each A2A hop. Used to enforce
|
|
53
|
+
* IMHUB_A2A_MAX_DEPTH. */
|
|
54
|
+
call_depth: number;
|
|
17
55
|
}
|
|
18
56
|
type JobRunner = (job: Job, logger: Logger, signal: AbortSignal) => AsyncGenerator<string>;
|
|
57
|
+
/** Phase 3 — shutdown step. Mark every running inline job as 'interrupted'
|
|
58
|
+
* so the next startup can offer the user a retry. Returns the row count for
|
|
59
|
+
* logging. Safe to call on a degraded DB (returns 0). */
|
|
60
|
+
export declare function markRunningInlineJobsInterrupted(reason?: string): number;
|
|
61
|
+
/** Phase 3 — startup scan. Return interrupted inline jobs that finished
|
|
62
|
+
* within the recovery window (default 10 min via IMHUB_RECOVERY_WINDOW_MS).
|
|
63
|
+
* Caller iterates the result, sends a per-thread "retry / cancel" prompt,
|
|
64
|
+
* and tracks the user's reply via the in-memory pending-retry map.
|
|
65
|
+
*
|
|
66
|
+
* Older interrupted rows are NOT returned — they get swept to 'abandoned'
|
|
67
|
+
* by sweepAbandonedInterrupted() so they don't pile up in the table. */
|
|
68
|
+
export declare function findRecoverableInterrupted(windowMs?: number): Job[];
|
|
69
|
+
/** Phase 3 — startup sweep. Any 'interrupted' inline row past the recovery
|
|
70
|
+
* window transitions to 'abandoned' (preserved for audit but never
|
|
71
|
+
* notified). Returns the row count. */
|
|
72
|
+
export declare function sweepAbandonedInterrupted(windowMs?: number): number;
|
|
73
|
+
/** Phase 3 — link an old interrupted row to its replacement once the user
|
|
74
|
+
* picks "1 重发". The new row's id lands in `replaced_by`; the old row
|
|
75
|
+
* transitions interrupted → replaced so it stops showing up in any future
|
|
76
|
+
* recovery scan. */
|
|
77
|
+
export declare function markJobReplacedBy(oldId: number, newId: number): void;
|
|
78
|
+
/** Phase 3 — user picked "2 取消" on the retry prompt. Interrupted → cancelled. */
|
|
79
|
+
export declare function markInterruptedCancelled(id: number): void;
|
|
80
|
+
/** Exported for the recovery module so it can use the same window for the
|
|
81
|
+
* user-facing "10 min 内有效" copy. */
|
|
82
|
+
export declare function getRecoveryWindowMs(): number;
|
|
83
|
+
/** Test hook: artificially age a row's completed_at (or created_at) by a
|
|
84
|
+
* SQLite modifier like '-2 hours' or '-40 days'. Production code must NOT
|
|
85
|
+
* call this; it's the only practical way to exercise retention without
|
|
86
|
+
* sleeping in tests. */
|
|
87
|
+
export declare function _backdateForTests(id: number, modifier: string): void;
|
|
19
88
|
/** Stop the retention sweep (used by tests + graceful shutdown). */
|
|
20
89
|
export declare function stopJobRetentionSweep(): void;
|
|
21
90
|
/** Close the underlying SQLite handle. Called by cli.ts on graceful
|
|
@@ -43,10 +112,62 @@ export interface OwnerOpts {
|
|
|
43
112
|
export interface CreateJobOpts {
|
|
44
113
|
creatorId?: string;
|
|
45
114
|
workspaceId?: string;
|
|
115
|
+
/** 'job' (default) for explicit /job, 'inline' for cli auto-tracking. */
|
|
116
|
+
kind?: JobKind;
|
|
117
|
+
/** `${platform}:${channelId}:${threadId}` — required for inline kind so
|
|
118
|
+
* Phase 3 can route recovery notifications back to the originating IM
|
|
119
|
+
* thread. Optional for kind='job' (legacy CLI / scheduler callers). */
|
|
120
|
+
threadKey?: string;
|
|
121
|
+
/** A2A-L1: id of the inline job whose agent invoked this one. NULL on
|
|
122
|
+
* user-originated rows. */
|
|
123
|
+
parentId?: number | null;
|
|
124
|
+
/** A2A-L1: call depth (caller.call_depth + 1). 0 for user-originated. */
|
|
125
|
+
callDepth?: number;
|
|
46
126
|
}
|
|
47
127
|
export declare function createJob(agent: string, prompt: string, opts?: CreateJobOpts): number;
|
|
128
|
+
/** Inline-job convenience: same as createJob but never throws — returns -1
|
|
129
|
+
* when the board is disabled / locked. Caller is expected to log + carry
|
|
130
|
+
* on with the in-memory fast path. The whole tracking machinery short-
|
|
131
|
+
* circuits when env IMHUB_INLINE_JOB_TRACKING=0.
|
|
132
|
+
*
|
|
133
|
+
* parentId/callDepth are A2A-L1 hand-offs: when an agent tool-calls
|
|
134
|
+
* another agent via mcp__imhub__call_agent, the bus routes through here
|
|
135
|
+
* to record the parent/depth relationship. User-originated rows leave
|
|
136
|
+
* these undefined → NULL parent, depth=0. */
|
|
137
|
+
export declare function createInlineJob(opts: {
|
|
138
|
+
agent: string;
|
|
139
|
+
prompt: string;
|
|
140
|
+
threadKey: string;
|
|
141
|
+
creatorId?: string;
|
|
142
|
+
workspaceId?: string;
|
|
143
|
+
parentId?: number | null;
|
|
144
|
+
callDepth?: number;
|
|
145
|
+
}): number;
|
|
48
146
|
export declare function getJob(id: number, opts?: OwnerOpts): Job | null;
|
|
49
147
|
export declare function listJobs(limit?: number, status?: JobStatus, opts?: OwnerOpts): Job[];
|
|
148
|
+
/** Replace the agent column. Used by inline jobs: cli.ts creates the row with
|
|
149
|
+
* the default agent name before routing resolves the actual agent, then this
|
|
150
|
+
* fires inside onAgentResolved to correct the record. No-op when status is
|
|
151
|
+
* past 'running' so we don't rewrite history. */
|
|
152
|
+
export declare function updateJobAgent(id: number, agent: string): void;
|
|
153
|
+
/** pending → running. Stamps started_at. Idempotent: an already-running row
|
|
154
|
+
* keeps its original started_at. */
|
|
155
|
+
export declare function markJobRunning(id: number): void;
|
|
156
|
+
/** running → completed (result captured). For inline kind 'delivered' is the
|
|
157
|
+
* next hop, triggered by the outbox worker once the IM platform confirms.
|
|
158
|
+
* For 'job' kind this is the terminal success state (no delivery channel). */
|
|
159
|
+
export declare function markJobCompleted(id: number, result: string): void;
|
|
160
|
+
/** Link a job row to the outbox row that will (try to) deliver its result.
|
|
161
|
+
* Worker uses outbox.job_id to find this row; this column is the reverse
|
|
162
|
+
* link for /job inspection ("which outbox row carried this reply"). */
|
|
163
|
+
export declare function linkJobOutbox(id: number, outboxId: number): void;
|
|
164
|
+
/** completed → delivered. Called by the outbox worker after the IM platform
|
|
165
|
+
* ack. No-op if the row isn't in 'completed' (e.g. user cancelled meanwhile). */
|
|
166
|
+
export declare function markJobDelivered(id: number): void;
|
|
167
|
+
/** Terminal failure (agent threw, outbox gave up, etc.). Captures the error
|
|
168
|
+
* on the row. completed_at gets stamped so retention sweeps treat the row
|
|
169
|
+
* the same as a normal terminal state. */
|
|
170
|
+
export declare function markJobFailed(id: number, error: string): void;
|
|
50
171
|
/**
|
|
51
172
|
* Acquire a job slot. Returns immediately when capacity available, otherwise
|
|
52
173
|
* queues the caller and returns a promise that resolves when a slot frees.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-board.d.ts","sourceRoot":"","sources":["../../src/core/job-board.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AA+DlC,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"job-board.d.ts","sourceRoot":"","sources":["../../src/core/job-board.ts"],"names":[],"mappings":"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"}
|