@optima-chat/agentic-sdk 0.26.1 → 0.27.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/dist/client/conversation-api.js +122 -5
- package/dist/client/conversation-api.js.map +1 -1
- package/dist/client/delivery-outbox.d.ts +84 -0
- package/dist/client/delivery-outbox.d.ts.map +1 -0
- package/dist/client/delivery-outbox.js +377 -0
- package/dist/client/delivery-outbox.js.map +1 -0
- package/dist/client/event-parser.d.ts.map +1 -1
- package/dist/client/event-parser.js +19 -7
- package/dist/client/event-parser.js.map +1 -1
- package/dist/client/gateway-client.d.ts +33 -0
- package/dist/client/gateway-client.d.ts.map +1 -1
- package/dist/client/gateway-client.js +124 -0
- package/dist/client/gateway-client.js.map +1 -1
- package/dist/hooks/use-current-chat.d.ts +2 -0
- package/dist/hooks/use-current-chat.d.ts.map +1 -1
- package/dist/hooks/use-current-chat.js +11 -1
- package/dist/hooks/use-current-chat.js.map +1 -1
- package/dist/provider/chat-provider.d.ts.map +1 -1
- package/dist/provider/chat-provider.js +10 -0
- package/dist/provider/chat-provider.js.map +1 -1
- package/dist/store/chat-store.d.ts +5 -0
- package/dist/store/chat-store.d.ts.map +1 -1
- package/dist/store/chat-store.js +15 -0
- package/dist/store/chat-store.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* gw#1587 客户端投递保证:出站 outbox 状态机 + 串行 drain 调度器。
|
|
3
|
+
*
|
|
4
|
+
* 语义源 = spec gw-1587-client-msg-delivery §5.1/§5.2/§5.3(v6.1,五轮评审收敛)。
|
|
5
|
+
* 关键不变量:
|
|
6
|
+
* - G1:armed 连接上带生效 client_msg_id 的消息,终态只有 delivered / failed(可见可重试)。
|
|
7
|
+
* - 终态信号 = reconnect_exhausted / 显式 disconnect() / disarm 判定——**绝不用**
|
|
8
|
+
* 'disconnected' 状态回调(reconnect() 的 identity guard 吞 onclose、不发回调,§1.8)。
|
|
9
|
+
* - eventwait 60s 重探**不计 transientCount**(15min 兜底是唯一上限——v4 评审:计数会使
|
|
10
|
+
* 5×60s 恒先到顶,5-15min 在飞 turn false-failed 复活)。
|
|
11
|
+
* - deliveryState 只驱动消息级指示,**绝不写 conv 级 processing/isThinking**(§5.4)。
|
|
12
|
+
*/
|
|
13
|
+
const ACK_TIMEOUT_MS = 10_000;
|
|
14
|
+
const MAX_SENDS = 3;
|
|
15
|
+
const MAX_TRANSIENT = 5;
|
|
16
|
+
const BACKOFF_BASE_MS = 5_000;
|
|
17
|
+
const BACKOFF_CAP_MS = 60_000;
|
|
18
|
+
const EVENTWAIT_PROBE_MS = 60_000;
|
|
19
|
+
const EVENTWAIT_CEILING_MS = 15 * 60_000;
|
|
20
|
+
const MIN_RESEND_GAP_MS = 1_000;
|
|
21
|
+
/** billing_error 分类(spec §3.3):rate_limited → transient;其余一切值(含未知)→ terminal。 */
|
|
22
|
+
function billingIsTransient(reason) {
|
|
23
|
+
return reason === 'rate_limited';
|
|
24
|
+
}
|
|
25
|
+
/** 终结腿 error code 分类(spec §3.3 表)。 */
|
|
26
|
+
const TERMINAL_ERROR_CODES = new Set(['GUARDRAIL_BLOCKED', 'CONVERSATION_ID_REQUIRED']);
|
|
27
|
+
const TRANSIENT_ERROR_CODES = new Set(['SESSION_NOT_FOUND', 'MESSAGE_SAVE_FAILED', 'MESSAGE_QUEUE_FULL']);
|
|
28
|
+
const EVENTWAIT_ERROR_CODE = 'CONCURRENT_CONVERSATION_BLOCKED';
|
|
29
|
+
/** eventwait 等待键有效判据(v6 钉死):非空 string 且 ≠'unknown' 哨兵。 */
|
|
30
|
+
function validWaitKey(v) {
|
|
31
|
+
return typeof v === 'string' && v.length > 0 && v !== 'unknown';
|
|
32
|
+
}
|
|
33
|
+
export class DeliveryOutbox {
|
|
34
|
+
hooks;
|
|
35
|
+
entries = new Map();
|
|
36
|
+
draining = false;
|
|
37
|
+
drainAgain = false;
|
|
38
|
+
armed = false;
|
|
39
|
+
connected = false;
|
|
40
|
+
reconnectRequestedForTimeout = false; // 并发超时去抖:一轮至多一次 reconnect
|
|
41
|
+
constructor(hooks) {
|
|
42
|
+
this.hooks = hooks;
|
|
43
|
+
}
|
|
44
|
+
// ── 连接生命周期(由 GatewayClient 驱动) ──────────────────────
|
|
45
|
+
/** connected 边沿(armed 判定尚未发生——只记状态,不 drain)。 */
|
|
46
|
+
onConnected() {
|
|
47
|
+
this.connected = true;
|
|
48
|
+
// MAJOR-1 修:armed 必随连接重置为 false——判定在本连接 session_ready/兜底后重新下发。
|
|
49
|
+
// 否则重连 gap 内保留上一连接的 armed=true,enqueue/backoff-到期/迟到 receipt 的
|
|
50
|
+
// kickDrain 会在 session_ready 之前直发(spec §5.1「判定前窗口只入队不发」的 reconnect
|
|
51
|
+
// 路径回归——三方同判 BLOCKING 骨架不变量)。
|
|
52
|
+
this.armed = false;
|
|
53
|
+
this.reconnectRequestedForTimeout = false;
|
|
54
|
+
}
|
|
55
|
+
/** 连接断开(非终态——正常重连路径;in-flight ack 等待作废回 pending)。 */
|
|
56
|
+
onDisconnected() {
|
|
57
|
+
this.connected = false;
|
|
58
|
+
for (const e of this.entries.values()) {
|
|
59
|
+
if (e.awaitingAck) {
|
|
60
|
+
this.clearTimers(e);
|
|
61
|
+
e.awaitingAck = false; // 回 pending,重连 armed 后由 drain 重投
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* armed 判定(本连接 session_ready 处理完成 / 10s 兜底)。
|
|
67
|
+
* armed=true:全量 drain(eventwait 转 pending + failedCause∈{arm_timeout,disarm} 且未
|
|
68
|
+
* retry 的条目自动恢复——**跨连接**也生效,§5.1 恢复规则)。
|
|
69
|
+
* armed=false(disarm/兜底):存量非 delivered 全量 failed(G1 例外③)。
|
|
70
|
+
*/
|
|
71
|
+
onArmedDecision(armed, cause) {
|
|
72
|
+
this.armed = armed;
|
|
73
|
+
if (armed) {
|
|
74
|
+
for (const e of this.entries.values()) {
|
|
75
|
+
if (e.state === 'eventwait')
|
|
76
|
+
this.toPending(e);
|
|
77
|
+
else if (e.state === 'failed' && !e.userRetried
|
|
78
|
+
&& (e.failedCause === 'arm_timeout' || e.failedCause === 'disarm')) {
|
|
79
|
+
e.state = 'pending';
|
|
80
|
+
e.failedCause = undefined;
|
|
81
|
+
this.emit(e, 'pending');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
this.kickDrain();
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const failCause = cause === 'arm_timeout' ? 'arm_timeout' : 'disarm';
|
|
88
|
+
this.failAllNonDelivered(failCause);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/** 终态信号:reconnect_exhausted / 显式 disconnect()。 */
|
|
92
|
+
onConnTerminal() {
|
|
93
|
+
this.failAllNonDelivered('conn_terminal');
|
|
94
|
+
}
|
|
95
|
+
get isArmed() {
|
|
96
|
+
return this.armed;
|
|
97
|
+
}
|
|
98
|
+
// ── 入队与重试 ────────────────────────────────────────────────
|
|
99
|
+
/** armed 下 sendMessage 入队(先于任何 send;由 drain 统一按序投)。 */
|
|
100
|
+
enqueue(clientMsgId, conversationId, frame) {
|
|
101
|
+
if (this.entries.has(clientMsgId))
|
|
102
|
+
return; // 幂等
|
|
103
|
+
this.entries.set(clientMsgId, {
|
|
104
|
+
clientMsgId, conversationId, frame,
|
|
105
|
+
state: 'pending', sendCount: 0, timeoutCount: 0, transientCount: 0,
|
|
106
|
+
lastSendAt: 0, enqueuedAt: Date.now(),
|
|
107
|
+
awaitingAck: false, userRetried: false,
|
|
108
|
+
});
|
|
109
|
+
this.emitState(clientMsgId, 'pending');
|
|
110
|
+
if (this.armed && this.connected)
|
|
111
|
+
this.kickDrain();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* 手动重试(§5.2):同 id、双计数归零(归零后从 0 重计)、resend:true;
|
|
115
|
+
* eventwait 中重试同语义;retry 后再次进入 eventwait 视为新「首次进入」(时钟重置)。
|
|
116
|
+
* disarmed 连接的 retry 由调用方(GatewayClient)走旧语义重发并调 removeEntry。
|
|
117
|
+
*/
|
|
118
|
+
retry(clientMsgId) {
|
|
119
|
+
const e = this.entries.get(clientMsgId);
|
|
120
|
+
if (!e || e.state === 'delivered')
|
|
121
|
+
return false;
|
|
122
|
+
this.clearTimers(e);
|
|
123
|
+
e.userRetried = true;
|
|
124
|
+
e.sendCount = 0;
|
|
125
|
+
e.timeoutCount = 0;
|
|
126
|
+
e.transientCount = 0;
|
|
127
|
+
e.eventwaitKey = undefined;
|
|
128
|
+
e.eventwaitSince = undefined;
|
|
129
|
+
e.failedCause = undefined;
|
|
130
|
+
e.awaitingAck = false;
|
|
131
|
+
e.state = 'pending';
|
|
132
|
+
this.emit(e, 'pending');
|
|
133
|
+
if (this.connected && this.armed)
|
|
134
|
+
this.kickDrain();
|
|
135
|
+
else
|
|
136
|
+
this.hooks.reconnect(); // 非 connected:主动重连(§5.2 retryMessage 分支)
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
/** disarmed retry:旧语义重发由调用方做,条目出 outbox(无跟踪,spec §5.1 明文)。 */
|
|
140
|
+
removeEntry(clientMsgId) {
|
|
141
|
+
const e = this.entries.get(clientMsgId);
|
|
142
|
+
if (!e)
|
|
143
|
+
return null;
|
|
144
|
+
this.clearTimers(e);
|
|
145
|
+
this.entries.delete(clientMsgId);
|
|
146
|
+
return e.frame;
|
|
147
|
+
}
|
|
148
|
+
getState(clientMsgId) {
|
|
149
|
+
const e = this.entries.get(clientMsgId);
|
|
150
|
+
return e ? { state: e.state, failedCause: e.failedCause } : null;
|
|
151
|
+
}
|
|
152
|
+
/** PR-A「id∈本 tab outbox」判定(duplicate finish 提示过滤等)。 */
|
|
153
|
+
has(clientMsgId) {
|
|
154
|
+
return this.entries.has(clientMsgId);
|
|
155
|
+
}
|
|
156
|
+
/** 只读取帧(disarmed retry 发送成功前不出队,MINOR-2)。 */
|
|
157
|
+
peekFrame(clientMsgId) {
|
|
158
|
+
return this.entries.get(clientMsgId)?.frame ?? null;
|
|
159
|
+
}
|
|
160
|
+
// ── 事件路由(GatewayClient.handleMessage 每帧调用) ──────────────
|
|
161
|
+
routeEvent(event) {
|
|
162
|
+
const type = event['type'];
|
|
163
|
+
const cmid = event['client_msg_id'];
|
|
164
|
+
// 1) receipt:pending/eventwait → delivered;failed → delivered(迟到回执,§4.7 缓解②)
|
|
165
|
+
if (type === 'message_receipt' && typeof cmid === 'string') {
|
|
166
|
+
const e = this.entries.get(cmid);
|
|
167
|
+
if (!e)
|
|
168
|
+
return; // 旁观 tab / 未知——静默忽略
|
|
169
|
+
this.clearTimers(e);
|
|
170
|
+
e.awaitingAck = false;
|
|
171
|
+
e.state = 'delivered';
|
|
172
|
+
this.emit(e, 'delivered');
|
|
173
|
+
this.kickDrain(); // 串行 drain:本条到终态,投下一条
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
// 2) 带本条目 id 的 error/billing_error/finish
|
|
177
|
+
if ((type === 'error' || type === 'billing_error' || type === 'finish') && typeof cmid === 'string') {
|
|
178
|
+
const e = this.entries.get(cmid);
|
|
179
|
+
if (!e)
|
|
180
|
+
return; // 旁观 tab:不动 outbox
|
|
181
|
+
if (e.state === 'delivered')
|
|
182
|
+
return; // post-receipt 腿(队列溢出等):忽略,保持 delivered
|
|
183
|
+
if (e.state === 'failed')
|
|
184
|
+
return; // 已终态:只有迟到 receipt 能翻转
|
|
185
|
+
if (type === 'finish')
|
|
186
|
+
return; // 拒绝回声的配对 finish:不 wake 不 terminal(§5.2 排除规则)
|
|
187
|
+
if (type === 'billing_error') {
|
|
188
|
+
const reason = event['billing']?.['reason'];
|
|
189
|
+
if (billingIsTransient(reason))
|
|
190
|
+
this.onTransient(e);
|
|
191
|
+
else
|
|
192
|
+
this.toFailed(e, 'terminal');
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
// type === 'error'
|
|
196
|
+
const code = event['error']?.['code'];
|
|
197
|
+
if (code === EVENTWAIT_ERROR_CODE) {
|
|
198
|
+
const waitKey = event['error']['activeConversationId'];
|
|
199
|
+
if (validWaitKey(waitKey))
|
|
200
|
+
this.toEventwait(e, waitKey);
|
|
201
|
+
else
|
|
202
|
+
this.onTransient(e); // 等待键无效(含 'unknown' 哨兵)→ 退化纯 backoff
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
if (typeof code === 'string' && TERMINAL_ERROR_CODES.has(code)) {
|
|
206
|
+
this.toFailed(e, 'terminal');
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
if (typeof code === 'string' && TRANSIENT_ERROR_CODES.has(code)) {
|
|
210
|
+
this.onTransient(e);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
// 未知 code:保守按 transient(retryable 语义缺省;超时漏斗兜底)
|
|
214
|
+
this.onTransient(e);
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
// 3) eventwait wake:等待键 conv 的 finish/error 到达(不带本条目 id 的事件)
|
|
218
|
+
if ((type === 'finish' || type === 'error') && typeof event['conversation_id'] === 'string') {
|
|
219
|
+
const wakeConv = event['conversation_id'];
|
|
220
|
+
let woke = false;
|
|
221
|
+
for (const e of this.entries.values()) {
|
|
222
|
+
if (e.state === 'eventwait' && e.eventwaitKey === wakeConv) {
|
|
223
|
+
this.toPending(e); // wake 不计数(§5.2)
|
|
224
|
+
woke = true;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (woke)
|
|
228
|
+
this.kickDrain();
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// ── 内部:状态转移 ────────────────────────────────────────────
|
|
232
|
+
toPending(e) {
|
|
233
|
+
this.clearTimers(e);
|
|
234
|
+
e.awaitingAck = false;
|
|
235
|
+
e.state = 'pending';
|
|
236
|
+
this.emit(e, 'pending');
|
|
237
|
+
if (this.connected && this.armed)
|
|
238
|
+
this.kickDrain();
|
|
239
|
+
}
|
|
240
|
+
toEventwait(e, waitKey) {
|
|
241
|
+
this.clearTimers(e);
|
|
242
|
+
e.awaitingAck = false;
|
|
243
|
+
e.state = 'eventwait';
|
|
244
|
+
e.eventwaitKey = waitKey;
|
|
245
|
+
if (e.eventwaitSince === undefined)
|
|
246
|
+
e.eventwaitSince = Date.now(); // 首次进入锚定;重探/wake 往返不重置
|
|
247
|
+
this.emit(e, 'pending'); // 对外仍呈 pending(§6 文案「另一会话处理中」由 UI 层按需细分)
|
|
248
|
+
// 60s 重探(不计 transientCount——15min 兜底是唯一上限)
|
|
249
|
+
e.waitTimer = setTimeout(() => {
|
|
250
|
+
if (e.state !== 'eventwait')
|
|
251
|
+
return;
|
|
252
|
+
if (Date.now() - (e.eventwaitSince ?? 0) >= EVENTWAIT_CEILING_MS) {
|
|
253
|
+
this.toFailed(e, 'transient_exhaust');
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
this.toPending(e);
|
|
257
|
+
}, EVENTWAIT_PROBE_MS);
|
|
258
|
+
this.kickDrain(); // 让位(§5.3):本条离开可投集合,后续条目不被阻塞
|
|
259
|
+
}
|
|
260
|
+
onTransient(e) {
|
|
261
|
+
this.clearTimers(e);
|
|
262
|
+
e.awaitingAck = false;
|
|
263
|
+
e.transientCount += 1;
|
|
264
|
+
if (e.transientCount >= MAX_TRANSIENT) {
|
|
265
|
+
this.toFailed(e, 'transient_exhaust');
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
// 指数 backoff 5s→60s,到期转 pending 入 drain(不直发)
|
|
269
|
+
const delay = Math.min(BACKOFF_BASE_MS * 2 ** (e.transientCount - 1), BACKOFF_CAP_MS);
|
|
270
|
+
e.state = 'eventwait'; // 复用等待态承载 backoff(无 waitKey——不响应 wake,只等定时器)
|
|
271
|
+
e.eventwaitKey = undefined;
|
|
272
|
+
e.waitTimer = setTimeout(() => {
|
|
273
|
+
if (e.state === 'eventwait')
|
|
274
|
+
this.toPending(e);
|
|
275
|
+
}, delay);
|
|
276
|
+
this.kickDrain(); // 让位:backoff 期间后续条目继续投
|
|
277
|
+
}
|
|
278
|
+
toFailed(e, cause) {
|
|
279
|
+
this.clearTimers(e);
|
|
280
|
+
e.awaitingAck = false;
|
|
281
|
+
e.state = 'failed';
|
|
282
|
+
e.failedCause = cause;
|
|
283
|
+
this.emit(e, 'failed');
|
|
284
|
+
this.kickDrain(); // 串行 drain:本条终态,投下一条
|
|
285
|
+
}
|
|
286
|
+
failAllNonDelivered(cause) {
|
|
287
|
+
for (const e of this.entries.values()) {
|
|
288
|
+
if (e.state !== 'delivered' && e.state !== 'failed')
|
|
289
|
+
this.toFailed(e, cause);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
emit(e, state) {
|
|
293
|
+
this.hooks.onStateChange(e.clientMsgId, state, e.failedCause);
|
|
294
|
+
}
|
|
295
|
+
emitState(clientMsgId, state) {
|
|
296
|
+
const e = this.entries.get(clientMsgId);
|
|
297
|
+
if (e)
|
|
298
|
+
this.emit(e, state);
|
|
299
|
+
}
|
|
300
|
+
clearTimers(e) {
|
|
301
|
+
if (e.ackTimer) {
|
|
302
|
+
clearTimeout(e.ackTimer);
|
|
303
|
+
e.ackTimer = undefined;
|
|
304
|
+
}
|
|
305
|
+
if (e.waitTimer) {
|
|
306
|
+
clearTimeout(e.waitTimer);
|
|
307
|
+
e.waitTimer = undefined;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
// ── 串行 drain(单飞;可投条目间 FIFO;eventwait/backoff 让位原序回位) ──
|
|
311
|
+
kickDrain() {
|
|
312
|
+
if (this.draining) {
|
|
313
|
+
this.drainAgain = true;
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
void this.drainLoop();
|
|
317
|
+
}
|
|
318
|
+
async drainLoop() {
|
|
319
|
+
this.draining = true;
|
|
320
|
+
try {
|
|
321
|
+
do {
|
|
322
|
+
this.drainAgain = false;
|
|
323
|
+
while (this.connected && this.armed) {
|
|
324
|
+
// 严格串行(§5.3):任一条目在飞(awaitingAck)→ 等它终局;其终局处理必 kickDrain 续投
|
|
325
|
+
if ([...this.entries.values()].some((e) => e.awaitingAck))
|
|
326
|
+
break;
|
|
327
|
+
const next = [...this.entries.values()]
|
|
328
|
+
.filter((e) => e.state === 'pending' && !e.awaitingAck)
|
|
329
|
+
.sort((a, b) => a.enqueuedAt - b.enqueuedAt)[0];
|
|
330
|
+
if (!next)
|
|
331
|
+
break;
|
|
332
|
+
const gap = Date.now() - next.lastSendAt;
|
|
333
|
+
if (gap < MIN_RESEND_GAP_MS) {
|
|
334
|
+
await new Promise((r) => setTimeout(r, MIN_RESEND_GAP_MS - gap));
|
|
335
|
+
continue; // 期间状态可能已变,重取
|
|
336
|
+
}
|
|
337
|
+
this.dispatchOne(next);
|
|
338
|
+
// 串行:等本条离开 awaitingAck(receipt/terminal/超时清它并 kickDrain 续投)
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
} while (this.drainAgain);
|
|
342
|
+
}
|
|
343
|
+
finally {
|
|
344
|
+
this.draining = false;
|
|
345
|
+
if (this.drainAgain)
|
|
346
|
+
this.kickDrain();
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
dispatchOne(e) {
|
|
350
|
+
e.sendCount += 1;
|
|
351
|
+
e.lastSendAt = Date.now();
|
|
352
|
+
e.awaitingAck = true;
|
|
353
|
+
const frame = e.sendCount > 1 || e.userRetried
|
|
354
|
+
? { ...e.frame, resend: true }
|
|
355
|
+
: e.frame;
|
|
356
|
+
this.hooks.sendFrame(JSON.stringify(frame)); // 返 false 也留 awaitingAck——超时漏斗兜底
|
|
357
|
+
this.hooks.onDispatch?.(e.clientMsgId, e.conversationId); // 投出时置 thinking(§5.1)
|
|
358
|
+
e.ackTimer = setTimeout(() => this.onAckTimeout(e), ACK_TIMEOUT_MS);
|
|
359
|
+
}
|
|
360
|
+
onAckTimeout(e) {
|
|
361
|
+
if (e.state !== 'pending' || !e.awaitingAck)
|
|
362
|
+
return;
|
|
363
|
+
e.awaitingAck = false;
|
|
364
|
+
e.timeoutCount += 1; // 独立超时轴(不含 transient 重投的 send——双轴混淆是 v4 评审教训)
|
|
365
|
+
if (e.timeoutCount >= MAX_SENDS) {
|
|
366
|
+
this.toFailed(e, 'timeout_exhaust'); // 第 3 次超时 → failed(漏斗封闭,v4 M-4)
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
// k<3:不在原 socket 重投(僵尸 socket 主模式无效动作)→ 主动 reconnect(去抖),
|
|
370
|
+
// 重投发生在重连后的 armed 边沿全量 drain。
|
|
371
|
+
if (!this.reconnectRequestedForTimeout) {
|
|
372
|
+
this.reconnectRequestedForTimeout = true;
|
|
373
|
+
this.hooks.reconnect();
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
//# sourceMappingURL=delivery-outbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-outbox.js","sourceRoot":"","sources":["../../src/client/delivery-outbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-parser.d.ts","sourceRoot":"","sources":["../../src/client/event-parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"event-parser.d.ts","sourceRoot":"","sources":["../../src/client/event-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -294,13 +294,25 @@ export function parseServerEvent(event, activeConversationId, sessionMode, lates
|
|
|
294
294
|
return { type: 'mergeConversations', conversations };
|
|
295
295
|
}
|
|
296
296
|
case 'info': {
|
|
297
|
-
// COO SendUserMessage (code='brief') → 显示为聊天消息而非 toast
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
297
|
+
// COO SendUserMessage (code='brief') → 显示为聊天消息而非 toast。
|
|
298
|
+
// #728: 目标会话优先取事件自带的 conversation_id(gateway 新增,防「用户围观
|
|
299
|
+
// task 会话时协调官回复错投当前打开的会话」)——防御性内联 cast 读取(同
|
|
300
|
+
// text_delta seq 先例,:296),无需等 gateway-protocol 发版;老 gateway 无
|
|
301
|
+
// 该字段 → 回落 activeConversationId = 今日行为(BC)。全局 streaming flags
|
|
302
|
+
// 本就按 currentConversationId gate(applyAction),后台会话落消息安全。
|
|
303
|
+
if (event.info.code === 'brief') {
|
|
304
|
+
// typeof+非空校验(同 getEventConversationId 模式):'' 或非 string 的
|
|
305
|
+
// wire 值视为缺失回落,防 `'' ?? x` 不回落把 brief 降级成 toast。
|
|
306
|
+
const rawConvId = event.conversation_id;
|
|
307
|
+
const briefConversationId = (typeof rawConvId === 'string' && rawConvId.length > 0 ? rawConvId : undefined) ??
|
|
308
|
+
activeConversationId;
|
|
309
|
+
if (briefConversationId) {
|
|
310
|
+
return [
|
|
311
|
+
{ type: 'createAssistantMessage', conversationId: briefConversationId },
|
|
312
|
+
{ type: 'appendContent', conversationId: briefConversationId, text: event.info.message },
|
|
313
|
+
{ type: 'finishMessage', conversationId: briefConversationId, finish: { reason: 'complete' } },
|
|
314
|
+
];
|
|
315
|
+
}
|
|
304
316
|
}
|
|
305
317
|
const action = {
|
|
306
318
|
type: 'notification',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-parser.js","sourceRoot":"","sources":["../../src/client/event-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-parser.js","sourceRoot":"","sources":["../../src/client/event-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ServerEvent, ClientEvent } from '@optima-chat/gateway-protocol';
|
|
2
2
|
import type { ChatError, ConnectionState, TokenProviderOpts } from '../types.js';
|
|
3
|
+
import { type DeliveryState, type FailedCause } from './delivery-outbox.js';
|
|
3
4
|
export interface GatewayClientOptions {
|
|
4
5
|
gatewayUrl: string;
|
|
5
6
|
tokenProvider: (opts?: TokenProviderOpts) => Promise<string> | string;
|
|
@@ -34,6 +35,17 @@ export interface GatewayClientOptions {
|
|
|
34
35
|
maxDelay?: number;
|
|
35
36
|
};
|
|
36
37
|
heartbeatInterval?: number;
|
|
38
|
+
/**
|
|
39
|
+
* gw#1587 投递保证:消息级 deliveryState 变化(pending/delivered/failed)。
|
|
40
|
+
* 消费方(provider→chat-store)只驱动消息级指示——绝不写 conv 级 processing/isThinking
|
|
41
|
+
* (spec §5.4 分层)。cause 仅 failed 时有值。
|
|
42
|
+
*/
|
|
43
|
+
onDeliveryStateChange?: (clientMsgId: string, state: DeliveryState, cause?: FailedCause) => void;
|
|
44
|
+
/**
|
|
45
|
+
* gw#1587 §5.1:一条消息真正投出(drain dispatch)时回调——host 在此置 thinking
|
|
46
|
+
* (入队不置、投出才置;gap 入队后 failed 的消息从不 dispatch,不 wedge composer)。
|
|
47
|
+
*/
|
|
48
|
+
onMessageDispatched?: (clientMsgId: string, conversationId: string) => void;
|
|
37
49
|
}
|
|
38
50
|
/**
|
|
39
51
|
* WebSocket client for the Optima gateway. Handles connect/reconnect,
|
|
@@ -90,7 +102,28 @@ export declare class GatewayClient {
|
|
|
90
102
|
private pendingOpenResolve;
|
|
91
103
|
private readonly reconnectConfig;
|
|
92
104
|
private readonly heartbeatInterval;
|
|
105
|
+
/**
|
|
106
|
+
* gw#1587 armed 三态(per-connection):connected 边沿置 undecided;本连接 session_ready
|
|
107
|
+
* 处理完成(或 10s 兜底)后定 armed/disarmed。判定前窗口(undecided)sendMessage 只入队
|
|
108
|
+
* 不发(spec §5.1)。
|
|
109
|
+
*/
|
|
110
|
+
private deliveryArmState;
|
|
111
|
+
private armTimer;
|
|
112
|
+
private readonly delivery;
|
|
93
113
|
constructor(options: GatewayClientOptions);
|
|
114
|
+
/**
|
|
115
|
+
* gw#1587:drain 直发(绕过 send() 的入队拦截;帧已含 outbox 序列化的 resend 标记)。
|
|
116
|
+
* OTel per-frame span 有意省略(重投帧非用户新动作;接受的观测简化)。
|
|
117
|
+
*/
|
|
118
|
+
private sendRawFrame;
|
|
119
|
+
private cancelArmTimer;
|
|
120
|
+
/** gw#1587 §5.1:10s 兜底——connected 锚点起计,session_ready 到达或断连即取消。 */
|
|
121
|
+
private startArmTimer;
|
|
122
|
+
/** 手动重试:armed/undecided 走 outbox retry;disarmed 走旧语义重发(保 id+resend,出 outbox)。 */
|
|
123
|
+
retryDelivery(clientMsgId: string): boolean;
|
|
124
|
+
/** PR-A「id ∈ 本 tab outbox」判定(duplicate finish 提示过滤)。 */
|
|
125
|
+
hasDeliveryEntry(clientMsgId: string): boolean;
|
|
126
|
+
isDeliveryArmed(): boolean;
|
|
94
127
|
/**
|
|
95
128
|
* Current identity (userId/sessionId) for stamping OTel spans. Pulls the
|
|
96
129
|
* latest values from the host-provided callbacks so spans reflect live store
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../../src/client/gateway-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EAClB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway-client.d.ts","sourceRoot":"","sources":["../../src/client/gateway-client.ts"],"names":[],"mappings":"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"}
|