wezard 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +3 -3
- package/README.md +5 -5
- package/config.example.jsonc +12 -0
- package/dist/daemon/approval.js +84 -2
- package/dist/daemon/approval.js.map +1 -1
- package/dist/daemon/chat-name.js +15 -0
- package/dist/daemon/chat-name.js.map +1 -1
- package/dist/daemon/config-api.js +265 -70
- package/dist/daemon/config-api.js.map +1 -1
- package/dist/daemon/danger.js +5 -7
- package/dist/daemon/danger.js.map +1 -1
- package/dist/daemon/detail.js +10 -2
- package/dist/daemon/detail.js.map +1 -1
- package/dist/daemon/handoff.js +4 -3
- package/dist/daemon/handoff.js.map +1 -1
- package/dist/daemon/idle-nudge.js +55 -0
- package/dist/daemon/idle-nudge.js.map +1 -0
- package/dist/daemon/inbound.js +10 -10
- package/dist/daemon/inbound.js.map +1 -1
- package/dist/daemon/index.js +872 -214
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/jobs.js +122 -13
- package/dist/daemon/jobs.js.map +1 -1
- package/dist/daemon/mirror-bridge.js +95 -83
- package/dist/daemon/mirror-bridge.js.map +1 -1
- package/dist/daemon/model-select.js +3 -0
- package/dist/daemon/model-select.js.map +1 -1
- package/dist/daemon/notices.js +145 -33
- package/dist/daemon/notices.js.map +1 -1
- package/dist/daemon/peers.js +88 -74
- package/dist/daemon/peers.js.map +1 -1
- package/dist/daemon/pending-items.js +171 -0
- package/dist/daemon/pending-items.js.map +1 -0
- package/dist/daemon/receipts.js +54 -20
- package/dist/daemon/receipts.js.map +1 -1
- package/dist/daemon/route.js +76 -15
- package/dist/daemon/route.js.map +1 -1
- package/dist/daemon/spawn-tmux.js +2 -2
- package/dist/daemon/spawn-tmux.js.map +1 -1
- package/dist/daemon/steward-guard.js +32 -0
- package/dist/daemon/steward-guard.js.map +1 -0
- package/dist/daemon/wizard.js +104 -61
- package/dist/daemon/wizard.js.map +1 -1
- package/dist/mcp/server.js +75 -25
- package/dist/mcp/server.js.map +1 -1
- package/dist/shared/chat-http.js +8 -8
- package/dist/shared/chat-http.js.map +1 -1
- package/dist/shared/config-meta.js +91 -0
- package/dist/shared/config-meta.js.map +1 -0
- package/dist/shared/config-writer.js +5 -6
- package/dist/shared/config-writer.js.map +1 -1
- package/dist/shared/config.js +269 -294
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/detail-render.js +121 -32
- package/dist/shared/detail-render.js.map +1 -1
- package/dist/shared/detail-store.js.map +1 -1
- package/dist/shared/keepalive.js +5 -5
- package/dist/shared/keepalive.js.map +1 -1
- package/dist/shared/role-render.js +49 -11
- package/dist/shared/role-render.js.map +1 -1
- package/dist/shared/role-view.js +18 -4
- package/dist/shared/role-view.js.map +1 -1
- package/dist/shared/world.js +82 -13
- package/dist/shared/world.js.map +1 -1
- package/hooks/pre-tool-use.sh +5 -6
- package/package.json +1 -1
- package/web/chat.css +57 -37
- package/web/chat.js +454 -227
package/dist/daemon/peers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peers.js","sourceRoot":"","sources":["../../daemon/peers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"peers.js","sourceRoot":"","sources":["../../daemon/peers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { renderReminder } from "../shared/reminder.js";
|
|
2
|
+
import { clipLine } from "../shared/std.js";
|
|
3
|
+
// ── 账本 ────────────────────────────────────────────────────────────
|
|
4
|
+
const KEEP_CLOSED_MS = 24 * 3600_000;
|
|
5
|
+
/** 开着没人管的也不留一辈子: 回执登记只留 24h, 过了它状态就算不出来了。 */
|
|
6
|
+
const EXPIRE_OPEN_MS = 48 * 3600_000;
|
|
7
|
+
const gc = (now) => (m) => Object.fromEntries(Object.entries(m).filter(([, x]) => (x.closed ? now - x.closed.at < KEEP_CLOSED_MS : now - x.touched < EXPIRE_OPEN_MS)));
|
|
8
|
+
export const pendingGc = (m) => gc(Date.now())(m);
|
|
9
|
+
/** 派活文本 → 一句话题: 首个非空行, 去掉 markdown 起头符号。 */
|
|
10
|
+
export const topicOf = (text) => clipLine((text.split("\n").map((l) => l.replace(/^[\s>#*\-\d.、)]+/, "").trim()).find(Boolean) ?? ""), 60);
|
|
11
|
+
const isFailure = (st) => st === "timeout" || st === "silent" || st === "dead" || st === "canceled";
|
|
12
|
+
export const createLedger = (store, now = Date.now) => {
|
|
13
|
+
const all = () => Object.values(store.all());
|
|
14
|
+
const close = (x, why) => { store.set(x.turn, { ...x, closed: { at: now(), why } }); };
|
|
15
|
+
const find = (owner, turn) => {
|
|
16
|
+
const x = store.get(turn);
|
|
17
|
+
return x && x.owner === owner && !x.closed ? x : undefined;
|
|
18
|
+
};
|
|
19
|
+
return {
|
|
20
|
+
open: ({ text, ...x }) => {
|
|
21
|
+
all().filter((y) => !y.closed && y.owner === x.owner && y.to === x.to && y.turn !== x.turn).forEach((y) => close(y, "同一对又派了一件, 旧的回执不会再来"));
|
|
22
|
+
store.set(x.turn, { ...x, topic: topicOf(text), touched: x.at });
|
|
23
|
+
},
|
|
24
|
+
touch: (owner, turn) => {
|
|
25
|
+
// 关掉了的也认: 对 done / drop / 失败的那件 re, 这一句又在飞了。
|
|
26
|
+
const x = store.get(turn);
|
|
27
|
+
if (!x || x.owner !== owner)
|
|
28
|
+
return;
|
|
29
|
+
const { status: _s, ask: _a, waitHuman: _w, heard: _h, told: _t, closed: _c, ...rest } = x;
|
|
30
|
+
store.set(turn, { ...rest, touched: now() });
|
|
31
|
+
},
|
|
32
|
+
outcome: (owner, turn, status, body, bySender) => {
|
|
33
|
+
const x = find(owner, turn);
|
|
34
|
+
if (!x)
|
|
35
|
+
return;
|
|
36
|
+
if (status === "done" || bySender) {
|
|
37
|
+
close(x, bySender ? "你自己收掉 / 取走了" : "done");
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
// 有了新回执就是有动静: 「挂太久」「派出太久」的提醒从这里重新计。
|
|
41
|
+
const base = { ...x, status, touched: now(), told: { ...x.told, idle: undefined, slow: undefined } };
|
|
42
|
+
// 为上游 wizard 派的活, 反问是问发话方的 (它去问上游), 不挂「等人」。
|
|
43
|
+
const ask = clipLine(body.replace(/^[\s\S]*NEED\s*[::]\s*/, ""), 120);
|
|
44
|
+
store.set(turn, status !== "need" ? base
|
|
45
|
+
: x.for?.kind === "peer" ? { ...base, ask }
|
|
46
|
+
: { ...base, ask, waitHuman: now(), heard: undefined, told: { ...base.told, need: undefined } });
|
|
47
|
+
},
|
|
48
|
+
drop: (owner, turns, why) => {
|
|
49
|
+
const hit = turns.map((t) => find(owner, t.replace(/[`\s]/g, ""))).filter((x) => !!x);
|
|
50
|
+
hit.forEach((x) => close(x, why || "发话方消掉"));
|
|
51
|
+
return hit;
|
|
52
|
+
},
|
|
53
|
+
closeJob: (job) => all().filter((x) => !x.closed && x.job === job).forEach((x) => close(x, "工单收了")),
|
|
54
|
+
openOf: (owner) => all().filter((x) => !x.closed && x.owner === owner).sort((a, b) => a.at - b.at),
|
|
55
|
+
put: (x) => { store.set(x.turn, x); },
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
// ── 渲染 ────────────────────────────────────────────────────────────
|
|
59
|
+
export const ago = (ms) => ms < 60_000 ? "刚刚" : ms < 3_600_000 ? `${Math.round(ms / 60_000)}m` : `${Math.round(ms / 3_600_000)}h`;
|
|
60
|
+
/** 一行的状态词。等人 / 人已回话 / 没结论 优先于在飞的细分。 */
|
|
61
|
+
export const stateOf = (x, live, at) => x.waitHuman ? (x.heard ? `等人拍板 (人${at - x.heard < 60_000 ? "刚" : ` ${ago(at - x.heard)} 前`}在群里开过口, 是不是在答它由你判断)` : "等人拍板")
|
|
62
|
+
: x.status === "need" ? "它在反问, 等你答"
|
|
63
|
+
: x.status === "error" ? "CLI 报错停了"
|
|
64
|
+
: isFailure(x.status) ? `没结论 (${x.status})`
|
|
65
|
+
: live(x.turn)?.state ?? "在飞";
|
|
66
|
+
const forOf = (x, n) => x.for?.kind === "peer" ? `为 ${n.nameOf(x.for.from)} 的 \`${x.for.turn}\``
|
|
67
|
+
: x.for?.kind === "chat" ? `为群 ${n.chatOf(x.for.channel)}${x.asker ? ` 的 ${x.asker.who.replace(/^user:/, "")}` : ""}`
|
|
68
|
+
: "";
|
|
69
|
+
export const renderRow = (x, live, n, at) => [
|
|
70
|
+
`- \`${x.turn}\` → ${n.nameOf(x.to)} · ${stateOf(x, live, at)} ${ago(at - (x.waitHuman ?? x.at))}`,
|
|
71
|
+
`「${x.topic}」`,
|
|
72
|
+
forOf(x, n),
|
|
73
|
+
x.job ? `工单 ${x.job}` : "",
|
|
74
|
+
].filter(Boolean).join(" · ") + (x.ask ? `\n 它问: ${x.ask}` : "");
|
|
75
|
+
const HOWTO = "答它 / 转达人的话 → `tell_peer({name, re: 件号})`; 没结论的改派或 re 追问; 不再要了 → `pending_items({drop:[件号]})`";
|
|
76
|
+
/** 等人验收的一行: 需求已交付、根单还开着, 等人说「好」或「不对」。 */
|
|
77
|
+
export const renderAwaiting = (title, job, deliveredAt, at) => `- 等验收 · ${title} (${job}) 交付于 ${at - deliveredAt < 60_000 ? "刚刚" : `${ago(at - deliveredAt)} 前`}`;
|
|
78
|
+
/** lead 没交差的一行: 要管家重派或关单。 */
|
|
79
|
+
export const renderStalled = (title, job, status) => `- lead 没交差 (${status}) · ${title} (${job})`;
|
|
80
|
+
const ACCEPT_HOWTO = "等验收的: 人认可 → `close_job(单号)` 归档并回收 lead; 人说不对 → `tell_peer({name: lead, re, job: 单号})` 返工 (同一张单); 人说不要了 → `close_job({job, as:\"cancel\"})`; 先放着 → `close_job({job, as:\"shelve\"})` (停提醒, 不关单)。对人别提单号。";
|
|
81
|
+
const SHELVED_HOWTO = "搁置的: 人又提起 → `close_job({job, as:\"resume\"})` 恢复 (给 lead `re` 或带 `job` 派话也会自动恢复); 不要了 → `as:\"cancel\"`。";
|
|
82
|
+
/** 搁置的一行: 需求根单被人说先放着, 账本留着、不再冒泡提醒。 */
|
|
83
|
+
export const renderShelved = (title, job, heldAt, at) => `- 搁置 · ${title} (${job}) 搁置于 ${at - heldAt < 60_000 ? "刚刚" : at - heldAt >= 24 * 3_600_000 ? `${Math.floor((at - heldAt) / (24 * 3_600_000))} 天前` : `${ago(at - heldAt)} 前`}`;
|
|
84
|
+
const STALLED_HOWTO = "lead 没交差的: lead 还在 → `tell_peer({name: lead, re, job})` 叫它续; 否则 `close_job(单号)` 关掉, 需要的话重新 `dispatch({lead:true})` 开新单。";
|
|
85
|
+
/** 读全表 (pending_items 的回包)。`awaiting` = 等验收的根单行 (见 renderAwaiting)。 */
|
|
86
|
+
export const renderTable = (xs, live, n, at, awaiting = [], stalled = [], shelved = []) => xs.length || awaiting.length || stalled.length || shelved.length
|
|
87
|
+
? [
|
|
88
|
+
...(xs.length ? [`派出去还没了结的 ${xs.length} 件 (守护进程按回执算的):`, ...xs.map((x) => renderRow(x, live, n, at)), HOWTO] : []),
|
|
89
|
+
...(awaiting.length ? [`等人验收的 ${awaiting.length} 件:`, ...awaiting, ACCEPT_HOWTO] : []),
|
|
90
|
+
...(stalled.length ? [`卡住的需求单 ${stalled.length} 件:`, ...stalled, STALLED_HOWTO] : []),
|
|
91
|
+
...(shelved.length ? [`搁置的 ${shelved.length} 件:`, ...shelved, SHELVED_HOWTO] : []),
|
|
92
|
+
].join("\n")
|
|
93
|
+
: "没有挂着的事。";
|
|
94
|
+
// ── 提醒 ────────────────────────────────────────────────────────────
|
|
95
|
+
/** 隔这么多次注入没给过全表, 再给一次。 */
|
|
96
|
+
export const FULL_EVERY = 15;
|
|
97
|
+
/** ctx 比上次全表时涨了这么多, 前面的账多半已经沉到底了。 */
|
|
98
|
+
export const FULL_CTX_GROWTH = 80_000;
|
|
99
|
+
/** 在飞这么久还没回执 → 提一行。 */
|
|
100
|
+
export const SLOW_MS = 30 * 60_000;
|
|
101
|
+
/** 「等人」的件, 人在那个群里再开口时提示「可能在答它」—— 同一件至多这么久提一次。 */
|
|
102
|
+
export const HEARD_EVERY_MS = 10 * 60_000;
|
|
103
|
+
/** 这么久没动静 (没回执、没续问) → 给一次全表。 */
|
|
104
|
+
export const IDLE_MS = 2 * 3600_000;
|
|
105
|
+
const chatOfItem = (x) => (x.for?.kind === "chat" ? x.for.channel : x.asker?.chat ?? "");
|
|
106
|
+
/** 这一次注入该挂什么 —— 纯函数: 全表的触发、增量的那几行、要记下的「提过了」。 */
|
|
107
|
+
export const digest = (d) => {
|
|
108
|
+
const cur = d.session ?? { sid: d.mark?.sid ?? "", ctx: d.mark?.ctx ?? 0 };
|
|
109
|
+
const base = { sid: cur.sid, ctx: cur.ctx, ctxAtFull: cur.ctx, drains: 0 };
|
|
110
|
+
if (!d.items.length)
|
|
111
|
+
return { full: "", lines: [], touched: [], mark: base };
|
|
112
|
+
// 头一次见到 (reload 后 / 第一件刚挂上): 只立基线, 不给全表; 增量照算。
|
|
113
|
+
const m = d.mark ?? base;
|
|
114
|
+
const idle = d.items.filter((x) => !x.told?.idle && d.now - x.touched >= IDLE_MS);
|
|
115
|
+
const why = !d.mark ? "" : [
|
|
116
|
+
m.sid && cur.sid && m.sid !== cur.sid ? "会话换过 (交接 / /clear), 之前的账不在你上下文里了" : "",
|
|
117
|
+
d.cut ? (d.cut === "clear" ? "刚 /clear 过" : "上下文刚被压缩过") : "",
|
|
118
|
+
m.drains + 1 >= FULL_EVERY ? `离上次全表已经 ${m.drains + 1} 轮` : "",
|
|
119
|
+
cur.ctx - m.ctxAtFull >= FULL_CTX_GROWTH ? `离上次全表 ctx 又涨了 ${Math.round((cur.ctx - m.ctxAtFull) / 1000)}k` : "",
|
|
120
|
+
idle.length ? `${idle.map((x) => `\`${x.turn}\``).join(" ")} 挂了 ${ago(d.now - Math.min(...idle.map((x) => x.touched)))} 没动静` : "",
|
|
121
|
+
].filter(Boolean)[0] ?? "";
|
|
122
|
+
const to = (x) => d.nameOf(x.to);
|
|
123
|
+
const inChat = (x) => !!d.human && (!chatOfItem(x) || chatOfItem(x) === d.human.channel);
|
|
124
|
+
// 「这句可能在答哪件」与全表无关: 全表只摆出等人的件, 不知道人此刻开了口。
|
|
125
|
+
const heard = (x) => !!x.waitHuman && inChat(x) && (!x.heard || d.now - x.heard >= HEARD_EVERY_MS);
|
|
126
|
+
const heardLine = (x) => `heard? ${x.turn} ${to(x)} asked: ${x.ask ?? x.topic}`;
|
|
127
|
+
if (why) {
|
|
128
|
+
// 全表把各件都摆出来了: 它们各自那一行增量不必再提。
|
|
129
|
+
const touched = d.items.map((x) => ({
|
|
130
|
+
...x,
|
|
131
|
+
...(heard(x) ? { heard: d.now } : {}),
|
|
132
|
+
told: { ...x.told, ...(d.now - x.touched >= IDLE_MS ? { idle: true } : {}), ...(x.waitHuman ? { need: true } : {}), ...(d.now - x.touched >= SLOW_MS ? { slow: true } : {}) },
|
|
133
|
+
}));
|
|
134
|
+
return { full: why, lines: d.items.filter(heard).map(heardLine), touched, mark: base };
|
|
135
|
+
}
|
|
136
|
+
const steps = d.items.map((x) => {
|
|
137
|
+
if (heard(x))
|
|
138
|
+
return { line: heardLine(x), next: { ...x, heard: d.now, told: { ...x.told, need: true } } };
|
|
139
|
+
if (x.waitHuman && !x.told?.need) {
|
|
140
|
+
return { line: `need ${x.turn} ${to(x)} asks the human: ${x.ask ?? x.topic}`, next: { ...x, told: { ...x.told, need: true } } };
|
|
141
|
+
}
|
|
142
|
+
if (!x.status && !x.told?.slow && d.now - x.touched >= SLOW_MS) {
|
|
143
|
+
return { line: `slow ${x.turn} → ${to(x)} ${ago(d.now - x.touched)} since ${x.touched > x.at ? "re-ask" : "sent"}, no receipt: ${x.topic}`, next: { ...x, told: { ...x.told, slow: true } } };
|
|
144
|
+
}
|
|
145
|
+
return undefined;
|
|
146
|
+
});
|
|
147
|
+
const hit = steps.filter((s) => !!s);
|
|
148
|
+
return {
|
|
149
|
+
full: "",
|
|
150
|
+
lines: hit.map((s) => s.line),
|
|
151
|
+
touched: hit.map((s) => s.next),
|
|
152
|
+
mark: { ...m, sid: cur.sid || m.sid, ctx: cur.ctx || m.ctx, drains: m.drains + 1 },
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
/** 增量那几行 (need / heard? / slow) 怎么接 —— 窗口里没给过才挂 (`rule`)。 */
|
|
156
|
+
const RULE = "Pending (daemon-tracked). need: the human must answer → relay via tell_peer({name, re}). heard?: their line may be that answer → relay, else ignore. slow: no receipt yet, peek_peer if stuck. FYI — don't reply; pending_items = full list.";
|
|
157
|
+
/** 增量那几行 / 全表 → 挂在注入尾巴上的那段。 */
|
|
158
|
+
export const renderDigest = (o, table, rule = true) => o.full
|
|
159
|
+
? renderReminder({ wezard: "pending", mode: "full" }, [
|
|
160
|
+
...(rule ? [RULE] : []),
|
|
161
|
+
`Full list (${o.full}):`,
|
|
162
|
+
table,
|
|
163
|
+
...o.lines.map((l) => `- ${l}`),
|
|
164
|
+
])
|
|
165
|
+
: o.lines.length
|
|
166
|
+
? renderReminder({ wezard: "pending", mode: "delta" }, [
|
|
167
|
+
...(rule ? [RULE] : []),
|
|
168
|
+
...o.lines.map((l) => `- ${l}`),
|
|
169
|
+
])
|
|
170
|
+
: "";
|
|
171
|
+
//# sourceMappingURL=pending-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-items.js","sourceRoot":"","sources":["../../daemon/pending-items.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/receipts.js
CHANGED
|
@@ -61,15 +61,21 @@ const sameK = (a, b) => kAttr(a) === kAttr(b);
|
|
|
61
61
|
const KEEP_MS = 24 * 3600_000;
|
|
62
62
|
export const createReceipts = (deps) => {
|
|
63
63
|
const keyOfPair = (from, to) => `${from}\u0000${to}`;
|
|
64
|
+
const keyOfTurn = (from, to, turn) => `${keyOfPair(from, to)}\u0000${turn}`;
|
|
65
|
+
const keyOf = (s) => (s.parked ? keyOfTurn(s.from, s.to, s.turn ?? "") : keyOfPair(s.from, s.to));
|
|
64
66
|
const live = (s) => Date.now() - s.at < KEEP_MS;
|
|
65
|
-
|
|
67
|
+
// 过了保留期的行开机时从盘上抹掉: 同一对的位置会被下一句覆盖, 按件号停放的不会。
|
|
68
|
+
Object.entries(deps.store?.all() ?? {}).filter(([, s]) => !live(s)).forEach(([key]) => deps.store?.drop(key));
|
|
69
|
+
const slots = new Map(Object.values(deps.store?.all() ?? {}).filter(live).map((s) => [keyOf(s), s]));
|
|
66
70
|
/** 写穿到磁盘。被同一对的新一句顶掉的旧 slot 不写 —— 它的 key 已经归新的了。 */
|
|
67
71
|
const save = (s) => {
|
|
68
72
|
if (!stale(s))
|
|
69
|
-
deps.store?.set(
|
|
73
|
+
deps.store?.set(keyOf(s), s);
|
|
70
74
|
};
|
|
71
75
|
const settle = (s) => { s.settled = true; save(s); };
|
|
72
|
-
const stale = (s) => slots.get(
|
|
76
|
+
const stale = (s) => slots.get(keyOf(s))?.gen !== s.gen;
|
|
77
|
+
/** `to` 答 `k` 那件活的那一份 —— 在 `from→to` 的位置上, 或已按件号停放。 */
|
|
78
|
+
const upstream = (k, to) => [slots.get(keyOfPair(k.from, to)), slots.get(keyOfTurn(k.from, to, k.turn))].find((p) => p?.turn === k.turn);
|
|
73
79
|
const ofJob = (from, job) => [...slots.values()].filter((x) => x.from === from && x.job === job);
|
|
74
80
|
/** P 的答话方在答 P 的那一轮里又派出去、还没落定的活。 */
|
|
75
81
|
const children = (p) => [...slots.values()].filter((c) => c.from === p.to && c.k?.kind === "peer" && c.k.from === p.from && c.k.turn === p.turn && !c.settled);
|
|
@@ -77,18 +83,22 @@ export const createReceipts = (deps) => {
|
|
|
77
83
|
* error 的那种还没落定: 续跑出来的真答案还要来。 */
|
|
78
84
|
const siblings = (c) => [...slots.values()].filter((x) => x !== c && x.from === c.from && !!x.k && sameK(x.k, c.k) && !x.settled && !(x.delivered && x.resolved));
|
|
79
85
|
/** 这份回执送进去之后, 发话方那一轮的终句去哪 (§3.3)。只在投递那一刻算: 兄弟们是
|
|
80
|
-
* 陆续回来的, 早算一步就会两份都以为自己不是最后一份。
|
|
86
|
+
* 陆续回来的, 早算一步就会两份都以为自己不是最后一份。
|
|
87
|
+
* 频道只由去向定: 续回进群 (父 k 是人在群里开的那一轮、兄弟都落定了) 才有频道, 其余
|
|
88
|
+
* 一律 "" —— 回执轮不是谁在群里问的话。那件子活当初 public:true 派的也不例外: 公开的是
|
|
89
|
+
* 派活那一句和对方的答复, 不是发话方收到回执之后那一轮; 沿用它的频道, 私聊 ask 底下的
|
|
90
|
+
* 一轮就会因为没有父 k (chain:false)、只是中途回执 (NEED)、或上游那份已被取走而进群。 */
|
|
81
91
|
const routeOf = (s, final) => {
|
|
82
92
|
const k = s.k;
|
|
83
93
|
if (!k || !final)
|
|
84
|
-
return { channel:
|
|
94
|
+
return { channel: "", ...(k ? { k } : {}) };
|
|
85
95
|
const pending = siblings(s).length;
|
|
86
96
|
if (pending)
|
|
87
97
|
return { channel: "", k, pending };
|
|
88
98
|
if (k.kind === "chat")
|
|
89
99
|
return { channel: k.channel, k, replyTo: k };
|
|
90
|
-
const p =
|
|
91
|
-
return p &&
|
|
100
|
+
const p = upstream(k, s.from);
|
|
101
|
+
return p && !p.resolved && !p.claimed ? { channel: "", k, replyTo: k, parent: p } : { channel: "", k };
|
|
92
102
|
};
|
|
93
103
|
/** 续回: 上游那一份改锚到刚送进去的那份回执 (answerOf 按 reply-to 认它), 重新守。
|
|
94
104
|
* 正在守的那个 watcher 自己会发现锚变了; 挂起 (deferred) 的才要重新 arm。 */
|
|
@@ -274,8 +284,8 @@ export const createReceipts = (deps) => {
|
|
|
274
284
|
lg.info({ why, ok }, "receipt: 不合工单验收, 打回一次");
|
|
275
285
|
// 打回没注入进去: 原来那份照常交上去 (钉成新 slot 的答案, 它的 watcher 直接拿去投)。
|
|
276
286
|
if (!ok) {
|
|
277
|
-
const n =
|
|
278
|
-
if (n?.bounced
|
|
287
|
+
const n = upstream({ from: s.from, turn: s.turn }, s.to);
|
|
288
|
+
if (n?.bounced) {
|
|
279
289
|
n.answer = out.body;
|
|
280
290
|
save(n);
|
|
281
291
|
}
|
|
@@ -286,6 +296,7 @@ export const createReceipts = (deps) => {
|
|
|
286
296
|
s.outcome = out;
|
|
287
297
|
s.resolved = final;
|
|
288
298
|
save(s);
|
|
299
|
+
deps.onOutcome?.(s, out.status, out.body, false);
|
|
289
300
|
if (final && s.job)
|
|
290
301
|
deps.settleJob?.(s.job, s.to, out.status, parseClosing(out.body).artifacts);
|
|
291
302
|
// 发话方自己在交接: 重开的那几秒里 pane 是死的, 别把这当成"已经不在了"。
|
|
@@ -363,25 +374,36 @@ export const createReceipts = (deps) => {
|
|
|
363
374
|
release(s);
|
|
364
375
|
};
|
|
365
376
|
const register = (tell, watchIt = true) => {
|
|
366
|
-
const k = keyOfPair(tell.from, tell.to);
|
|
367
377
|
const at = tell.at ?? Date.now();
|
|
378
|
+
const turn = tell.turn ?? newTurn();
|
|
379
|
+
// 续问一件停放着的: 接替它在停放处的位置, 不碰这一对眼下那一件。
|
|
380
|
+
const parked = slots.get(keyOfTurn(tell.from, tell.to, turn));
|
|
381
|
+
const prev = parked ?? slots.get(keyOfPair(tell.from, tell.to));
|
|
382
|
+
// 挂起等子活的那份被另一件顶下来: 按件号停放, 不作废 (见 Slot.parked)。还没标上挂起、
|
|
383
|
+
// 但它已经为这件派了活的也算 —— watcher 可能还没读到那句「已派」。
|
|
384
|
+
const park = !parked && !!prev && !prev.settled && prev.turn !== turn && (!!prev.deferred || children(prev).length > 0);
|
|
385
|
+
if (park) {
|
|
386
|
+
prev.parked = true;
|
|
387
|
+
slots.set(keyOf(prev), prev);
|
|
388
|
+
save(prev);
|
|
389
|
+
}
|
|
368
390
|
// 顶掉一份还没落定的工单活、自己又没带工单: 继承那张工单 —— 旧那份不会再投了,
|
|
369
|
-
// 这一句的答案就是那个成员的交代; 不继承它就永远不计 done,
|
|
370
|
-
const
|
|
371
|
-
const job = tell.job || (prev?.job && !prev.resolved ? prev.job : "");
|
|
391
|
+
// 这一句的答案就是那个成员的交代; 不继承它就永远不计 done, 工单齐不了。停放的那份还会投, 不让。
|
|
392
|
+
const job = tell.job || (!park && prev?.job && !prev.resolved ? prev.job : "");
|
|
372
393
|
const s = {
|
|
373
394
|
...tell,
|
|
374
395
|
job,
|
|
375
396
|
at,
|
|
376
|
-
turn
|
|
397
|
+
turn,
|
|
377
398
|
legs: tell.legs ?? 1,
|
|
378
399
|
deadlineAt: tell.deadlineAt ?? deadlineOf(at),
|
|
379
|
-
gen: (
|
|
400
|
+
gen: (prev?.gen ?? 0) + 1,
|
|
380
401
|
claimed: false,
|
|
381
402
|
delivered: false,
|
|
382
403
|
resolved: false,
|
|
404
|
+
...(parked ? { parked: true } : {}),
|
|
383
405
|
};
|
|
384
|
-
slots.set(
|
|
406
|
+
slots.set(keyOf(s), s);
|
|
385
407
|
if (watchIt)
|
|
386
408
|
arm(s);
|
|
387
409
|
else {
|
|
@@ -394,9 +416,17 @@ export const createReceipts = (deps) => {
|
|
|
394
416
|
};
|
|
395
417
|
return {
|
|
396
418
|
register,
|
|
419
|
+
reask: (from, to, turn) => {
|
|
420
|
+
const s = upstream({ from, turn }, to);
|
|
421
|
+
if (!s || s.resolved || s.claimed)
|
|
422
|
+
return undefined;
|
|
423
|
+
const legs = (s.legs ?? 1) + 1;
|
|
424
|
+
register({ from, to, channel: s.channel, job: s.job, turn, legs, ...(s.deadlineAt ? { deadlineAt: s.deadlineAt } : {}), ...(s.k ? { k: s.k } : {}), ...(s.asker ? { asker: s.asker } : {}) });
|
|
425
|
+
return { legs, channel: s.channel, ...(s.asker ? { asker: s.asker } : {}) };
|
|
426
|
+
},
|
|
397
427
|
prepare: (from, to, re) => {
|
|
398
428
|
const want = re?.replace(/[`\s]/g, "");
|
|
399
|
-
const s = want ?
|
|
429
|
+
const s = want ? upstream({ from, turn: want }, to) : undefined;
|
|
400
430
|
return s?.turn && s.turn === want
|
|
401
431
|
? { turn: s.turn, legs: (s.legs ?? 1) + 1, job: s.job, channel: s.channel }
|
|
402
432
|
: { turn: newTurn(), legs: 1, ...(re ? { reUnknown: true } : {}) };
|
|
@@ -409,8 +439,10 @@ export const createReceipts = (deps) => {
|
|
|
409
439
|
s.claimed = true;
|
|
410
440
|
s.resolved = true;
|
|
411
441
|
settle(s);
|
|
412
|
-
if (fresh)
|
|
442
|
+
if (fresh) {
|
|
413
443
|
release(s);
|
|
444
|
+
deps.onOutcome?.(s, "done", "", true);
|
|
445
|
+
}
|
|
414
446
|
return s.delivered;
|
|
415
447
|
},
|
|
416
448
|
sentAt: (from, to) => slots.get(keyOfPair(from, to))?.at ?? 0,
|
|
@@ -436,7 +468,7 @@ export const createReceipts = (deps) => {
|
|
|
436
468
|
},
|
|
437
469
|
pending: (from, to) => {
|
|
438
470
|
const s = slots.get(keyOfPair(from, to));
|
|
439
|
-
return s && !s.resolved && !s.claimed ? { job: s.job, turn: s.turn ?? "", need: s.outcome?.status === "need" } : undefined;
|
|
471
|
+
return s && !s.resolved && !s.claimed ? { job: s.job, turn: s.turn ?? "", need: s.outcome?.status === "need", ...(s.deferred ? { deferred: true } : {}) } : undefined;
|
|
440
472
|
},
|
|
441
473
|
states: () => {
|
|
442
474
|
// 一个 target 欠好几份时只探一次 (探针要读它 transcript 的尾巴)。
|
|
@@ -460,6 +492,7 @@ export const createReceipts = (deps) => {
|
|
|
460
492
|
};
|
|
461
493
|
if (s.job)
|
|
462
494
|
deps.settleJob?.(s.job, s.to, "canceled", []);
|
|
495
|
+
deps.onOutcome?.(s, "canceled", s.outcome.body, s.from === by);
|
|
463
496
|
// 发起 stop 的那方自己知道, 不投; 守着的 watcher 看到 claimed 就收尾。
|
|
464
497
|
if (s.from === by) {
|
|
465
498
|
s.claimed = true;
|
|
@@ -481,7 +514,8 @@ export const createReceipts = (deps) => {
|
|
|
481
514
|
const p = [...slots.values()].find((x) => x.to === self && !x.resolved && !x.claimed && (env.turn ? x.turn === env.turn : deps.nameOf(x.from) === env.from));
|
|
482
515
|
return p && { kind: "peer", from: p.from, turn: p.turn };
|
|
483
516
|
}
|
|
484
|
-
|
|
517
|
+
// 私聊轮 (频道 "") 派出的活没有群可续: 不能回落成 home, 否则回执轮就进了群。
|
|
518
|
+
return channel ? { kind: "chat", channel, turn: opening } : undefined;
|
|
485
519
|
},
|
|
486
520
|
askerOf: (self, env) => {
|
|
487
521
|
// 回执轮: 那件活是 self 派出去的; 派来的活: 那件活是派给 self 的。同一对后来又说了一句,
|