@vicfei/dsh-super-agent 1.0.1 → 1.1.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
@@ -77,7 +77,9 @@ Early. Seed milestone — the admission domain compiles, is tested, and nothing
77
77
  | GitHub App auth — hourly installation tokens, bot identity; person-stages panel | ✅ v0.6 |
78
78
  | Feishu / Slack / WeChat / Telegram channels — same admission table, same loop (`im_dm` / `im_group`) | ✅ v0.8 |
79
79
  | Watchdog — stuck-work nudge & needs-person reminder, one each, never admits | ✅ v0.9 |
80
- | IM remote approval surface (approve from your phone) | design — see [docs/designs/im-approval-surface.md](docs/designs/im-approval-surface.md) |
80
+ | IM remote approval surface — digits in the ops DM resolve pending decisions (double-key, expiry, receipts) | ✅ v1.1 — [design](docs/designs/im-approval-surface.md) |
81
+
82
+ **IM remote approval surface (v1.1).** The human approval surface, pocket-sized — implemented per [the design](docs/designs/im-approval-surface.md). With `policy.approval` enabled, an allowed-list member's first IM DM to the bot registers their **ops thread**; pending decisions arrive there and a **single digit** resolves them: needs-person tickets (`1` requeue · `2` stop · `3` detail) and finished speculative rehearsals (`1` promote — the deliver gate · `2` discard · `3` detail). Anti-mistouch is structural: whole-body digit shape only, **double-key for destructive acts** (a second `2` within 5 minutes), 60-minute expiry, newest-wins single pending per thread, a receipt for every applied action — and two hard non-goals by design: **GitHub merge approvals stay on GitHub** (that identity is structural), and the surface can never change policy or create work. Digits in groups, from strangers, or attached to words are just chat.
81
83
 
82
84
  ## The article's checklist, one by one
83
85
 
package/README.zh-CN.md CHANGED
@@ -77,7 +77,9 @@ Super-agent 文章里最锋利的实验发现:给单会话智能体配上 subage
77
77
  | GitHub App 认证——installation token 每小时轮换、bot 身份;按人分阶段面板 | ✅ v0.6 |
78
78
  | 飞书 / Slack / 微信 / Telegram 通道——同一张准许表,同一回路(`im_dm` / `im_group`) | ✅ v0.8 |
79
79
  | Watchdog——滞留工作问询 + needs-person 提醒,各一次,永不碰准入 | ✅ v0.9 |
80
- | IM 远程审批面(手机上批准) | 设计中——见 [docs/designs/im-approval-surface.md](docs/designs/im-approval-surface.md) |
80
+ | IM 远程审批面——ops 私聊里的数字处置待决事项(双确认、时效、回执) | ✅ v1.1——[设计](docs/designs/im-approval-surface.md) |
81
+
82
+ **IM 远程审批面(v1.1)。** 人的审批面,装进口袋——按[设计文档](docs/designs/im-approval-surface.md)实现。开启 `policy.approval` 后,allowedList 成员首次 IM 私聊 bot 即注册其 **ops 线程**;待决事项送达该线程,**单个数字**即处置:needs-person 工单(`1` 重新排队 · `2` 停止 · `3` 详情)与预演完成的投机工单(`1` promote——交付闸 · `2` 丢弃 · `3` 详情)。防误触是结构性的:仅全等单数字、**破坏性操作双确认**(5 分钟内第二个 `2`)、60 分钟时效、每线程 newest-wins 单 pending、每个动作都有回执——以及两条设计上的硬边界:**GitHub 合并审批永远留在 GitHub**(身份是结构性的),审批面永远改不了策略、开不了工。群里的数字、陌生人的数字、带字的数字,都只是聊天。
81
83
 
82
84
  ## 文章概念逐条对照
83
85
 
@@ -0,0 +1,18 @@
1
+ import type { Policy, Trigger } from "./domain.js";
2
+ import type { Engine } from "./engine.js";
3
+ import type { ReplyChannel } from "./source.js";
4
+ export declare function approvalEnabled(policy: Policy): boolean;
5
+ /** Strict shape: the whole trimmed body is a single digit 1–3. Nothing else counts. */
6
+ export declare function isApprovalDigit(body: string): 1 | 2 | 3 | null;
7
+ /**
8
+ * Split a batch: digits from ops-thread owners become approval commands; everything else
9
+ * flows through the gate untouched. Applied commands enqueue receipts in place.
10
+ */
11
+ export declare function interceptApprovalCommands(triggers: Trigger[], engine: Engine, policy: Policy, now?: Date): {
12
+ rest: Trigger[];
13
+ applied: string[];
14
+ };
15
+ /** The digit state machine. Every outcome enqueues a receipt — mistouches are visible. */
16
+ export declare function applyApproval(engine: Engine, opsThread: string, digit: 1 | 2 | 3, now?: Date): string;
17
+ /** Render requests for pending decisions into ops threads (the watch cycle calls this). */
18
+ export declare function runApprovalSweep(engine: Engine, policy: Policy, channels: ReplyChannel[], log?: (l: string) => void): Promise<number>;
@@ -0,0 +1,137 @@
1
+ // IM remote approval surface (v1.1, issue #76; design: docs/designs/im-approval-surface.md).
2
+ // Digits in an operator's ops DM resolve PENDING human decisions — the command layer sits
3
+ // downstream of admission (stop-command semantics), can never change policy, and never forges
4
+ // GitHub approvals. Anti-mistouch: strict digit shape, double-key destructive acts, 60-min
5
+ // expiry, newest-wins single pending, receipts for every applied action.
6
+ import { drainReplyEffects } from "./work.js";
7
+ const EXPIRY_MS = 60 * 60_000;
8
+ const CONFIRM_MS = 5 * 60_000;
9
+ export function approvalEnabled(policy) {
10
+ return policy.approval?.enabled === true;
11
+ }
12
+ /** Strict shape: the whole trimmed body is a single digit 1–3. Nothing else counts. */
13
+ export function isApprovalDigit(body) {
14
+ const t = body.trim();
15
+ return t === "1" || t === "2" || t === "3" ? Number(t) : null;
16
+ }
17
+ /**
18
+ * Split a batch: digits from ops-thread owners become approval commands; everything else
19
+ * flows through the gate untouched. Applied commands enqueue receipts in place.
20
+ */
21
+ export function interceptApprovalCommands(triggers, engine, policy, now = new Date()) {
22
+ if (!approvalEnabled(policy))
23
+ return { rest: triggers, applied: [] };
24
+ const rest = [];
25
+ const applied = [];
26
+ for (const t of triggers) {
27
+ const digit = isApprovalDigit(t.body);
28
+ const owner = engine.opsThreadLogin(t.threadId);
29
+ if (digit === null || owner === null || owner.toLowerCase() !== t.author.login.toLowerCase()) {
30
+ rest.push(t); // not a command: group chatter, wrong thread, wrong sender, or just words
31
+ continue;
32
+ }
33
+ applied.push(applyApproval(engine, t.threadId, digit, now));
34
+ }
35
+ return { rest, applied };
36
+ }
37
+ function excerpt(engine, ticketId) {
38
+ const t = engine.tickets().find((x) => x.id === ticketId);
39
+ if (!t)
40
+ return "(unknown ticket)";
41
+ return `#${t.id} [${t.stage}] ${t.strength} opener=${t.opener}`;
42
+ }
43
+ /** The digit state machine. Every outcome enqueues a receipt — mistouches are visible. */
44
+ export function applyApproval(engine, opsThread, digit, now = new Date()) {
45
+ const req = engine.pendingApproval(opsThread);
46
+ if (!req) {
47
+ engine.enqueueReply(`approval-none:${now.getTime()}`, opsThread, "Nothing pending — no approval request is waiting for a number.");
48
+ return "nothing-pending";
49
+ }
50
+ if (now.getTime() - Date.parse(req.createdAt) > EXPIRY_MS) {
51
+ engine.resolveApproval(req.id);
52
+ engine.enqueueReply(`approval-expired:${req.id}`, opsThread, `Request expired (ticket #${req.ticketId}) — nothing done. I will re-offer if the decision is still pending.`);
53
+ return `expired:${req.ticketId}`;
54
+ }
55
+ if (digit === 3) {
56
+ engine.enqueueReply(`approval-detail:${req.id}`, opsThread, `Detail — ${excerpt(engine, req.ticketId)}. 1 approve · 2 stop${req.kind === "speculative" ? "/discard" : ""} · 3 detail again.`);
57
+ return `detail:${req.ticketId}`;
58
+ }
59
+ if (digit === 2) {
60
+ if (!req.confirmAt) {
61
+ engine.armDestructiveConfirm(req.id, now);
62
+ engine.enqueueReply(`approval-confirm:${req.id}`, opsThread, `Reply 2 again within 5 minutes to confirm stopping ticket #${req.ticketId}. This is the safety double-key — no action taken yet.`);
63
+ return `confirm:${req.ticketId}`;
64
+ }
65
+ if (now.getTime() - Date.parse(req.confirmAt) > CONFIRM_MS) {
66
+ engine.resolveApproval(req.id);
67
+ engine.enqueueReply(`approval-confirm-expired:${req.id}`, opsThread, `Confirmation window passed — ticket #${req.ticketId} untouched.`);
68
+ return `confirm-expired:${req.ticketId}`;
69
+ }
70
+ engine.resolveApproval(req.id);
71
+ const stopped = engine.stopTicket(req.ticketId, "im-approval");
72
+ engine.enqueueReply(`approval-receipt:${req.id}`, opsThread, stopped
73
+ ? `⛔ Ticket #${req.ticketId} stopped (by your confirmed 2).`
74
+ : `Ticket #${req.ticketId} was no longer open — nothing stopped.`);
75
+ return stopped ? `stop:${req.ticketId}` : `stop-noop:${req.ticketId}`;
76
+ }
77
+ // digit 1 — approve: needs-person requeues for another run; speculative hits the deliver gate
78
+ engine.resolveApproval(req.id);
79
+ if (req.kind === "speculative") {
80
+ const ok = engine.promoteTicket(req.ticketId, "im-approval");
81
+ engine.enqueueReply(`approval-receipt:${req.id}`, opsThread, ok
82
+ ? `✅ Ticket #${req.ticketId} promoted — the rehearsed work will be pushed and a PR opened.`
83
+ : `Ticket #${req.ticketId} was no longer speculative — nothing promoted.`);
84
+ return ok ? `promote:${req.ticketId}` : `promote-noop:${req.ticketId}`;
85
+ }
86
+ const ok = engine.requeueTicket(req.ticketId);
87
+ engine.enqueueReply(`approval-receipt:${req.id}`, opsThread, ok
88
+ ? `✅ Ticket #${req.ticketId} requeued — the worker will take another run and report here.`
89
+ : `Ticket #${req.ticketId} was not awaiting a person — nothing requeued.`);
90
+ return ok ? `requeue:${req.ticketId}` : `requeue-noop:${req.ticketId}`;
91
+ }
92
+ /** Render requests for pending decisions into ops threads (the watch cycle calls this). */
93
+ export async function runApprovalSweep(engine, policy, channels, log = () => { }) {
94
+ if (!approvalEnabled(policy))
95
+ return 0;
96
+ let rendered = 0;
97
+ const route = (opener) => engine.opsRoutes()[opener.toLowerCase()] ?? engine.firstOpsThread();
98
+ for (const t of engine.tickets()) {
99
+ if (t.stage !== "needs-person")
100
+ continue;
101
+ if (engine.db.prepare("SELECT 1 FROM approval_request WHERE ticket_id = ? AND resolved_at IS NULL").get(t.id))
102
+ continue;
103
+ const thread = route(t.opener);
104
+ if (!thread)
105
+ continue;
106
+ engine.openApprovalRequest(thread, t.id, "needs-person");
107
+ engine.enqueueReply(`approval-req:${t.id}`, thread, `🔑 [approval needed] Ticket #${t.id} is waiting for a person.\n${ticketLine(engine, t.id)}\n1 requeue (run again) · 2 stop · 3 detail\n(reply with just the number)`);
108
+ rendered++;
109
+ log(`approval request rendered: #${t.id} → ${thread.split(":")[0]} ops thread`);
110
+ }
111
+ for (const t of engine.tickets()) {
112
+ if (!(t.speculative && t.state === "ended"))
113
+ continue;
114
+ if (engine.db.prepare("SELECT 1 FROM delivery WHERE ticket_id = ?").get(t.id))
115
+ continue;
116
+ if (engine.db.prepare("SELECT 1 FROM approval_request WHERE ticket_id = ? AND resolved_at IS NULL").get(t.id))
117
+ continue;
118
+ const thread = route(t.opener);
119
+ if (!thread)
120
+ continue;
121
+ engine.openApprovalRequest(thread, t.id, "speculative");
122
+ engine.enqueueReply(`approval-req:${t.id}`, thread, `🧪 [rehearsal ready] Ticket #${t.id} was silently rehearsed and awaits the deliver gate.\n${ticketLine(engine, t.id)}\n1 promote (push + PR) · 2 discard · 3 detail\n(reply with just the number)`);
123
+ rendered++;
124
+ log(`promote request rendered: #${t.id} → ${thread.split(":")[0]} ops thread`);
125
+ }
126
+ if (rendered > 0)
127
+ await drainReplyEffects(engine, channels);
128
+ return rendered;
129
+ }
130
+ function ticketLine(engine, ticketId) {
131
+ const t = engine.tickets().find((x) => x.id === ticketId);
132
+ if (!t)
133
+ return "(unknown)";
134
+ const row = engine.db.prepare("SELECT substr(body, 1, 120) AS excerpt FROM trigger WHERE id = ?").get(t.triggerId);
135
+ return `opener @${t.opener} · ${(row?.excerpt ?? "").replace(/\n/g, " ")}`;
136
+ }
137
+ //# sourceMappingURL=approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../src/approval.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -148,8 +148,10 @@ try {
148
148
  const assessor = buildAssessor();
149
149
  const source = new GitHubSource({ repo: args.repo, agentLogin: args["agent-login"], client });
150
150
  const { triggers, next } = await source.collect(engine.sourceState("github"), { exclude: engine.selfPosted() });
151
+ const { interceptApprovalCommands } = await import("./approval.js");
152
+ const { rest } = interceptApprovalCommands(triggers, engine, policy);
151
153
  const batch = [];
152
- for (const t of triggers) {
154
+ for (const t of rest) {
153
155
  // Only inferred candidates reach the (potentially slow, potentially costly) assessment —
154
156
  // explicit never waits on it, and the gate's rejects never call it (docs/002).
155
157
  const gate = evaluateGate(policy, t);
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/domain.d.ts CHANGED
@@ -60,6 +60,10 @@ export interface Policy {
60
60
  watchdog?: Partial<WatchdogPolicy>;
61
61
  /** Speculative execution (v1.0). Absent = disabled — observe stays silent. */
62
62
  speculation?: Partial<SpeculationPolicy>;
63
+ /** IM approval surface (v1.1). Absent = disabled — digits are just chat. */
64
+ approval?: {
65
+ enabled?: boolean;
66
+ };
63
67
  }
64
68
  /**
65
69
  * Speculative execution (v1.0, issue #68): in observe mode, positive inferred candidates may
@@ -1 +1 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,wGAAwG;AA0FxG,MAAM,UAAU,wBAAwB;IACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,EAAE,GAAG,wBAAwB,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;AAC1E,CAAC;AAsBD,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,2BAA2B,EAAE,IAAI;QACjC,eAAe,EAAE,GAAG;QACpB,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,EAAE,GAAG,kBAAkB,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC;AAgBD,MAAM,UAAU,UAAU,CAAC,KAAY;IACrC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC;AACnH,CAAC"}
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,wGAAwG;AA4FxG,MAAM,UAAU,wBAAwB;IACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,EAAE,GAAG,wBAAwB,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;AAC1E,CAAC;AAsBD,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,OAAO,EAAE,KAAK;QACd,2BAA2B,EAAE,IAAI;QACjC,eAAe,EAAE,GAAG;QACpB,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,EAAE,GAAG,kBAAkB,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC;AAgBD,MAAM,UAAU,UAAU,CAAC,KAAY;IACrC,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC;AACnH,CAAC"}
package/dist/engine.d.ts CHANGED
@@ -100,6 +100,32 @@ export declare class Engine {
100
100
  /** Revalidation before resume (docs/002): inferred additionally requires auto; an
101
101
  * allowed-list-based basis additionally requires the author to still be listed. */
102
102
  private revalidateFailReason;
103
+ /** login → ops DM thread (kv). The approval surface routes requests and digits here. */
104
+ registerOpsThread(login: string, threadId: string): void;
105
+ opsRoutes(): Record<string, string>;
106
+ /** The owner's login for a registered ops thread (identity check for digits). */
107
+ opsThreadLogin(threadId: string): string | null;
108
+ firstOpsThread(): string | null;
109
+ /** Render a request: newest-wins — older unresolved requests in the thread are superseded. */
110
+ openApprovalRequest(opsThread: string, ticketId: number, kind: "needs-person" | "speculative", now?: Date): number;
111
+ pendingApproval(opsThread: string): {
112
+ id: number;
113
+ ticketId: number;
114
+ kind: string;
115
+ createdAt: string;
116
+ confirmAt: string | null;
117
+ } | null;
118
+ pendingApprovals(): {
119
+ id: number;
120
+ opsThread: string;
121
+ ticketId: number;
122
+ kind: string;
123
+ createdAt: string;
124
+ }[];
125
+ armDestructiveConfirm(requestId: number, now?: Date): void;
126
+ resolveApproval(requestId: number): void;
127
+ /** v1.1 approve-on-needs-person: re-arm a failed ticket for another run. */
128
+ requeueTicket(id: number): boolean;
103
129
  /** v1.0 deliver gate: a person promotes a speculative ticket — delivery is authorized. */
104
130
  promoteTicket(id: number, byLogin: string): boolean;
105
131
  /** Promoted, work done, not yet delivered — the watch promote sweep's work list. */
package/dist/engine.js CHANGED
@@ -40,6 +40,7 @@ CREATE TABLE IF NOT EXISTS ticket (
40
40
  state TEXT NOT NULL DEFAULT 'open', -- open | ended
41
41
  speculative INTEGER NOT NULL DEFAULT 0, -- 1 = rehearsing silently; deliver needs a human promote
42
42
  promoted_at TEXT,
43
+ requeued_at TEXT,
43
44
  stopped_by TEXT, stopped_at TEXT,
44
45
  revoked_reason TEXT,
45
46
  resumed_count INTEGER NOT NULL DEFAULT 0,
@@ -91,6 +92,18 @@ CREATE TABLE IF NOT EXISTS ticket_followup (
91
92
  );
92
93
  CREATE INDEX IF NOT EXISTS idx_followup_ticket ON ticket_followup(ticket_id);
93
94
 
95
+ CREATE TABLE IF NOT EXISTS approval_request (
96
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
97
+ ops_thread TEXT NOT NULL,
98
+ ticket_id INTEGER NOT NULL,
99
+ kind TEXT NOT NULL, -- needs-person | speculative
100
+ created_at TEXT NOT NULL,
101
+ confirm_at TEXT, -- double-key armed for a destructive act
102
+ resolved_at TEXT,
103
+ superseded_by INTEGER
104
+ );
105
+ CREATE INDEX IF NOT EXISTS idx_approval_thread ON approval_request(ops_thread);
106
+
94
107
  CREATE TABLE IF NOT EXISTS spill (
95
108
  id INTEGER PRIMARY KEY AUTOINCREMENT,
96
109
  ticket_id INTEGER NOT NULL REFERENCES ticket(id),
@@ -207,6 +220,11 @@ export class Engine {
207
220
  continue;
208
221
  }
209
222
  report.fresh++;
223
+ // v1.1 approval surface: an allowed member's IM DM thread becomes their ops thread —
224
+ // identity registration, independent of the decision that follows.
225
+ if (t.scope === "im_dm" && !t.author.isBot && policy?.allowedList.some((a) => a.toLowerCase() === t.author.login.toLowerCase())) {
226
+ this.registerOpsThread(t.author.login, t.threadId);
227
+ }
210
228
  const kind = item.resolution.action === "accept" ? "accept"
211
229
  : item.resolution.action === "shadow" ? "ignore" : "ignore";
212
230
  const strength = item.gate.strength ?? null;
@@ -293,6 +311,67 @@ export class Engine {
293
311
  }
294
312
  return undefined;
295
313
  }
314
+ // ── IM approval surface (v1.1, #76) ───────────────────────────────────────
315
+ /** login → ops DM thread (kv). The approval surface routes requests and digits here. */
316
+ registerOpsThread(login, threadId) {
317
+ const routes = this.opsRoutes();
318
+ routes[login.toLowerCase()] = threadId;
319
+ this.kvSet("approval_routes", JSON.stringify(routes));
320
+ }
321
+ opsRoutes() {
322
+ try {
323
+ return JSON.parse(this.kvGet("approval_routes") ?? "{}");
324
+ }
325
+ catch {
326
+ return {};
327
+ }
328
+ }
329
+ /** The owner's login for a registered ops thread (identity check for digits). */
330
+ opsThreadLogin(threadId) {
331
+ for (const [login, tid] of Object.entries(this.opsRoutes()))
332
+ if (tid === threadId)
333
+ return login;
334
+ return null;
335
+ }
336
+ firstOpsThread() {
337
+ const routes = Object.values(this.opsRoutes());
338
+ return routes.length > 0 ? routes[0] : null;
339
+ }
340
+ /** Render a request: newest-wins — older unresolved requests in the thread are superseded. */
341
+ openApprovalRequest(opsThread, ticketId, kind, now = new Date()) {
342
+ const ts = now.toISOString();
343
+ this.db.prepare("UPDATE approval_request SET superseded_by = -1, resolved_at = ? WHERE ops_thread = ? AND resolved_at IS NULL").run(ts, opsThread);
344
+ const info = this.db
345
+ .prepare("INSERT INTO approval_request (ops_thread, ticket_id, kind, created_at) VALUES (?, ?, ?, ?)")
346
+ .run(opsThread, ticketId, kind, ts);
347
+ return Number(info.lastInsertRowid);
348
+ }
349
+ pendingApproval(opsThread) {
350
+ const row = this.db
351
+ .prepare("SELECT * FROM approval_request WHERE ops_thread = ? AND resolved_at IS NULL ORDER BY id DESC LIMIT 1")
352
+ .get(opsThread);
353
+ return row ? {
354
+ id: Number(row.id), ticketId: Number(row.ticket_id), kind: String(row.kind),
355
+ createdAt: String(row.created_at), confirmAt: row.confirm_at ? String(row.confirm_at) : null,
356
+ } : null;
357
+ }
358
+ pendingApprovals() {
359
+ return this.db.prepare("SELECT * FROM approval_request WHERE resolved_at IS NULL ORDER BY id DESC").all()
360
+ .map((r) => ({ id: Number(r.id), opsThread: String(r.ops_thread), ticketId: Number(r.ticket_id), kind: String(r.kind), createdAt: String(r.created_at) }));
361
+ }
362
+ armDestructiveConfirm(requestId, now = new Date()) {
363
+ this.db.prepare("UPDATE approval_request SET confirm_at = ? WHERE id = ?").run(now.toISOString(), requestId);
364
+ }
365
+ resolveApproval(requestId) {
366
+ this.db.prepare("UPDATE approval_request SET resolved_at = ? WHERE id = ?").run(new Date().toISOString(), requestId);
367
+ }
368
+ /** v1.1 approve-on-needs-person: re-arm a failed ticket for another run. */
369
+ requeueTicket(id) {
370
+ const r = this.db
371
+ .prepare(`UPDATE ticket SET requeued_at = ?, updated_at = ? WHERE id = ? AND state = 'open'`)
372
+ .run(new Date().toISOString(), new Date().toISOString(), id);
373
+ return r.changes > 0;
374
+ }
296
375
  // ── person commands (panel command acting directly — docs/002) ───────────
297
376
  /** v1.0 deliver gate: a person promotes a speculative ticket — delivery is authorized. */
298
377
  promoteTicket(id, byLogin) {
@@ -331,7 +410,10 @@ export class Engine {
331
410
  FROM ticket t JOIN trigger tr ON tr.id = t.trigger_id
332
411
  LEFT JOIN assignment la ON la.ticket_id = t.id
333
412
  AND la.id = (SELECT MAX(b.id) FROM assignment b WHERE b.ticket_id = t.id)
334
- WHERE t.state = 'open' AND (la.id IS NULL OR (la.state = 'ended' AND la.exit_code = 0))
413
+ WHERE t.state = 'open' AND (
414
+ la.id IS NULL OR (la.state = 'ended' AND la.exit_code = 0)
415
+ OR (t.requeued_at IS NOT NULL AND la.state = 'ended' AND t.requeued_at >= la.ended_at)
416
+ )
335
417
  ORDER BY t.id LIMIT ?`).all(limit);
336
418
  const openSpec = this.db.prepare("SELECT COUNT(*) c FROM ticket WHERE state = 'open' AND speculative = 1").get().c;
337
419
  const cap = speculationCap(this.policy());
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export { runWatch, type WatchOptions } from "./watch.js";
11
11
  export { evaluateMerge, runMergeSweep, type MergeCheck, type MergeSweepLine } from "./merge.js";
12
12
  export { runWatchdogSweep, healthReport, watchdogPolicyOf, type WatchdogLine, type WatchdogPolicy, type HealthReport, type ProgressCheck } from "./watchdog.js";
13
13
  export { runPromoteSweep } from "./work.js";
14
+ export { interceptApprovalCommands, runApprovalSweep, applyApproval, isApprovalDigit, approvalEnabled } from "./approval.js";
14
15
  export { classify, formatOutcome, type PollOutcome } from "./runner.js";
15
16
  export { llmAssessor, stubAssessor, type Assessor } from "./assess.js";
16
17
  export { clipReply, wordCount } from "./clip.js";
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ export { runWatch } from "./watch.js";
13
13
  export { evaluateMerge, runMergeSweep } from "./merge.js";
14
14
  export { runWatchdogSweep, healthReport, watchdogPolicyOf } from "./watchdog.js";
15
15
  export { runPromoteSweep } from "./work.js";
16
+ export { interceptApprovalCommands, runApprovalSweep, applyApproval, isApprovalDigit, approvalEnabled } from "./approval.js";
16
17
  export { classify, formatOutcome } from "./runner.js";
17
18
  export { llmAssessor, stubAssessor } from "./assess.js";
18
19
  export { clipReply, wordCount } from "./clip.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,iFAAiF;AAEjF,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAqD,MAAM,WAAW,CAAC;AAC9G,OAAO,EAAE,MAAM,EAA0E,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAwC,MAAM,sBAAsB,CAAC;AAC1H,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAqC,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAA4C,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAmB,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAqB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAwC,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAiF,MAAM,eAAe,CAAC;AAChK,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAoB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,iFAAiF;AAEjF,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAqD,MAAM,WAAW,CAAC;AAC9G,OAAO,EAAE,MAAM,EAA0E,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAwC,MAAM,sBAAsB,CAAC;AAC1H,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAqC,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAA4C,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAmB,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAqB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAwC,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAiF,MAAM,eAAe,CAAC;AAChK,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7H,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAoB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAiB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
package/dist/panel.d.ts CHANGED
@@ -5,5 +5,6 @@ export interface PanelState {
5
5
  tickets: ReturnType<Engine["tickets"]>;
6
6
  decisions: ReturnType<Engine["decisions"]>;
7
7
  deliveries: ReturnType<Engine["deliveries"]>;
8
+ approvals: ReturnType<Engine["pendingApprovals"]>;
8
9
  }
9
10
  export declare function startPanel(engine: Engine, port: number, host?: string): Promise<Server>;
package/dist/panel.html CHANGED
@@ -53,6 +53,9 @@
53
53
  <h2>By person</h2>
54
54
  <div id="persons"></div>
55
55
 
56
+ <h2>Pending approvals (IM)</h2>
57
+ <div id="approvals"></div>
58
+
56
59
  <h2>Pull requests</h2>
57
60
  <div id="deliveries"></div>
58
61
 
@@ -128,6 +131,12 @@ async function render() {
128
131
  return `<div class="card"><b>${esc(who)}</b> — ${counts || 'no open work'}${fuTag}${dels ? `<div class="quiet">${dels}</div>` : ''}</div>`;
129
132
  }).join('');
130
133
 
134
+ const aps = s.approvals || [];
135
+ document.getElementById('approvals').innerHTML = aps.length === 0
136
+ ? '<div class="quiet">no approval requests waiting</div>'
137
+ : aps.map(a => `<div class="card"><span class="badge b-person">${esc(a.kind)}</span>
138
+ ticket #${a.ticketId} → ${esc(a.opsThread.split(':')[0])} ops thread · since ${fmt(a.createdAt)}</div>`).join('');
139
+
131
140
  const deliveries = s.deliveries || [];
132
141
  const mergeOn = !!(s.policy && s.policy.merge && s.policy.merge.enabled);
133
142
  document.getElementById('deliveries').innerHTML = deliveries.length === 0
package/dist/panel.js CHANGED
@@ -20,6 +20,7 @@ export function startPanel(engine, port, host = "127.0.0.1") {
20
20
  tickets: engine.tickets(),
21
21
  decisions: engine.decisions(50),
22
22
  deliveries: engine.deliveries(30),
23
+ approvals: engine.pendingApprovals(),
23
24
  };
24
25
  send(200, "application/json", JSON.stringify(state));
25
26
  return;
package/dist/panel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel.js","sourceRoot":"","sources":["../src/panel.ts"],"names":[],"mappings":"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"}
package/dist/watch.js CHANGED
@@ -2,6 +2,7 @@
2
2
  // one process, forever (or until SIGINT/SIGTERM — the current cycle finishes first).
3
3
  // Interval gets jitter so a fleet of watchers doesn't thunder-herd the API; errors
4
4
  // back off exponentially up to a 10-minute cap instead of dying.
5
+ import { interceptApprovalCommands, runApprovalSweep } from "./approval.js";
5
6
  import { evaluateGate } from "./gate.js";
6
7
  import { runMergeSweep } from "./merge.js";
7
8
  import { runWatchdogSweep } from "./watchdog.js";
@@ -55,7 +56,11 @@ async function runCycle(opts, log) {
55
56
  for (const source of opts.sources) {
56
57
  const { triggers, next } = await source.collect(engine.sourceState(source.kind), { exclude: engine.selfPosted() });
57
58
  nextBySource[source.kind] = next;
58
- for (const t of triggers)
59
+ // v1.1: digits in ops threads resolve pending approvals BEFORE anything is ticketed
60
+ const { rest, applied } = interceptApprovalCommands(triggers, engine, policy);
61
+ for (const a of applied)
62
+ log(`[approval] ${a}`);
63
+ for (const t of rest)
59
64
  batch.push(classify(t, policy, await assess(t)));
60
65
  }
61
66
  for (const outcome of batch)
@@ -70,9 +75,11 @@ async function runCycle(opts, log) {
70
75
  const merged = client ? await runMergeSweep(engine, client, repo, policy, channels, (l) => log(`[merge] ${l}`)) : [];
71
76
  // v1.0 deliver gate: promoted speculative work gets delivered (person-authorized).
72
77
  const promoted = client ? await runPromoteSweep(engine, executor, client, repo, channels, (l) => log(`[promote] ${l}`)) : 0;
78
+ // v1.1 approval surface: render requests for pending decisions into ops threads.
79
+ const approvals = await runApprovalSweep(engine, policy, channels, (l) => log(`[approval] ${l}`));
73
80
  // Watchdog sweep (v0.9-1) — no-op unless policy.watchdog.enabled; observes, never admits.
74
81
  const watched = await runWatchdogSweep(engine, policy, channels, { log: (l) => log(`[watchdog] ${l}`) });
75
- if (batch.length > 0 || reports.length > 0 || report.refusals.length > 0 || merged.length > 0 || watched.length > 0 || promoted > 0) {
82
+ if (batch.length > 0 || reports.length > 0 || report.refusals.length > 0 || merged.length > 0 || watched.length > 0 || promoted > 0 || approvals > 0) {
76
83
  log(`— cycle: fresh=${report.fresh} opened=${report.ticketsOpened} resumed=${report.resumed} joined=${report.joined} spec=${report.speculative} worked=${reports.length} merged=${merged.length} promoted=${promoted} nudged=${watched.length}`);
77
84
  return true;
78
85
  }
package/dist/watch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,qFAAqF;AACrF,mFAAmF;AACnF,iEAAiE;AAOjE,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBrD,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAkB;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC;IACvC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE9B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7F,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5C,SAAS,GAAG,CAAC,CAAC,CAAC,kDAAkD;YACjE,IAAI,SAAS;gBAAE,SAAS,CAAC,qDAAqD;QAChF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;YAC7E,GAAG,CAAC,iBAAiB,KAAK,YAAY,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7H,CAAC;QACD,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM;QACxE,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAC/C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAkB,EAAE,GAAwB;IAClE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAElE,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,YAAY,GAAgC,EAAE,CAAC;IACrD,8FAA8F;IAC9F,+FAA+F;IAC/F,8FAA8F;IAC9F,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmC,CAAC;IACnE,MAAM,MAAM,GAAG,KAAK,EAAE,CAAU,EAAoC,EAAE;QACpE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,UAAU,CAAC;QACpD,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACzC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACnH,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACjC,oFAAoF;QACpF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9E,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,KAAK;QAAE,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAClD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAE1E,yFAAyF;IACzF,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAErH,mFAAmF;IACnF,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5H,iFAAiF;IACjF,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAElG,0FAA0F;IAC1F,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACrJ,GAAG,CAAC,kBAAkB,MAAM,CAAC,KAAK,WAAW,MAAM,CAAC,aAAa,YAAY,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,WAAW,WAAW,OAAO,CAAC,MAAM,WAAW,MAAM,CAAC,MAAM,aAAa,QAAQ,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACjP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -75,5 +75,8 @@
75
75
  "speculation": {
76
76
  "enabled": false,
77
77
  "maxSpeculative": 1
78
+ },
79
+ "approval": {
80
+ "enabled": false
78
81
  }
79
82
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vicfei/dsh-super-agent",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Admission control, observe mode & tickets for any CLI coding agent \u2014 independent implementation of the DeepSeek Super-agent design",
5
5
  "repository": {
6
6
  "type": "git",