@tokenfactory/acc-runner 0.40.19 → 0.40.21
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/chat-companion.d.ts +28 -0
- package/dist/chat-companion.d.ts.map +1 -1
- package/dist/chat-companion.js +33 -1
- package/dist/chat-companion.js.map +1 -1
- package/dist/chat-lane.d.ts +41 -7
- package/dist/chat-lane.d.ts.map +1 -1
- package/dist/chat-lane.js +50 -9
- package/dist/chat-lane.js.map +1 -1
- package/dist/chat-transport.d.ts +8 -0
- package/dist/chat-transport.d.ts.map +1 -1
- package/dist/chat-transport.js +44 -20
- package/dist/chat-transport.js.map +1 -1
- package/dist/companion-run.d.ts.map +1 -1
- package/dist/companion-run.js +4 -0
- package/dist/companion-run.js.map +1 -1
- package/dist/companion.d.ts +6 -0
- package/dist/companion.d.ts.map +1 -1
- package/dist/companion.js +1 -0
- package/dist/companion.js.map +1 -1
- package/dist/watch-chat/fleet-chat-lane.d.ts +82 -0
- package/dist/watch-chat/fleet-chat-lane.d.ts.map +1 -0
- package/dist/watch-chat/fleet-chat-lane.js +101 -0
- package/dist/watch-chat/fleet-chat-lane.js.map +1 -0
- package/dist/watch-chat/grace-gate.d.ts +93 -0
- package/dist/watch-chat/grace-gate.d.ts.map +1 -0
- package/dist/watch-chat/grace-gate.js +107 -0
- package/dist/watch-chat/grace-gate.js.map +1 -0
- package/dist/watch-chat/grace-gated-transport.d.ts +58 -0
- package/dist/watch-chat/grace-gated-transport.d.ts.map +1 -0
- package/dist/watch-chat/grace-gated-transport.js +62 -0
- package/dist/watch-chat/grace-gated-transport.js.map +1 -0
- package/dist/watch-chat/index.d.ts +17 -0
- package/dist/watch-chat/index.d.ts.map +1 -0
- package/dist/watch-chat/index.js +17 -0
- package/dist/watch-chat/index.js.map +1 -0
- package/package.json +1 -1
package/dist/chat-companion.d.ts
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import { type ChatLaneTransport, type ChatTurnDriveResult, type ClaimedChatTurn } from "./chat-lane.js";
|
|
25
25
|
import type { ChatCircuitBreaker } from "./runtime/chat-circuit-breaker.js";
|
|
26
|
+
import type { ClassifiedExit } from "./failure-classifier.js";
|
|
26
27
|
import type { ConformantAgentEngine } from "./engines/types.js";
|
|
27
28
|
export interface ChatCompanionOptions {
|
|
28
29
|
/** This runner's id (claimant of turns). */
|
|
@@ -47,6 +48,24 @@ export interface ChatCompanionOptions {
|
|
|
47
48
|
cwd?: string;
|
|
48
49
|
/** Mint a per-turn delegation token (narrowly-scoped identity) — optional. */
|
|
49
50
|
mintDelegation?: (turn: ClaimedChatTurn) => Promise<string | undefined>;
|
|
51
|
+
/**
|
|
52
|
+
* FIX(audit#8a): per-turn wall-clock runaway cap (ms) forwarded to the driver.
|
|
53
|
+
* A runaway/silent turn is completed as a terminal error once it exceeds this,
|
|
54
|
+
* so a stuck turn cannot stream forever. Omit ⇒ DEFAULT_CHAT_WALL_CLOCK_MS
|
|
55
|
+
* (never unbounded by accident); pass 0 to explicitly disable the cap.
|
|
56
|
+
*/
|
|
57
|
+
wallClockMs?: number;
|
|
58
|
+
/**
|
|
59
|
+
* FIX(audit#8a): forwarded to the driver — detects a SILENT engine failure
|
|
60
|
+
* (clean stream, zero visible text) so an empty turn from a broken host is
|
|
61
|
+
* requeued rather than completed as a genuine empty reply. Omit ⇒ no probe.
|
|
62
|
+
*/
|
|
63
|
+
silentFailureProbe?: () => Promise<ClassifiedExit | null>;
|
|
64
|
+
/**
|
|
65
|
+
* FIX(audit#8a): forwarded to the driver — decides whether a fully-streamed
|
|
66
|
+
* reply proposes an action needing operator confirmation. Omit ⇒ never.
|
|
67
|
+
*/
|
|
68
|
+
requiresConfirmation?: (fullText: string, turn: ClaimedChatTurn) => boolean;
|
|
50
69
|
/** Clock (test seam). */
|
|
51
70
|
now?: () => number;
|
|
52
71
|
/** Best-effort observability sink for terminal turn results. */
|
|
@@ -63,6 +82,15 @@ export interface ChatCompanionOptions {
|
|
|
63
82
|
export declare class ChatCompanion {
|
|
64
83
|
private readonly opts;
|
|
65
84
|
private readonly running;
|
|
85
|
+
/**
|
|
86
|
+
* FIX(audit#4): conversations with a turn currently claimed-or-in-flight. At
|
|
87
|
+
* most ONE turn per conversation may run at a time, so replies never land out
|
|
88
|
+
* of order. A conversation is reserved here synchronously BEFORE its awaited
|
|
89
|
+
* claim and released when its turn settles — the advisory claim lock alone only
|
|
90
|
+
* serialises the claim moment, not the whole in-flight window, so two turns on
|
|
91
|
+
* one conversation could otherwise run concurrently and finish out of order.
|
|
92
|
+
*/
|
|
93
|
+
private readonly activeConvos;
|
|
66
94
|
private timer;
|
|
67
95
|
private stopped;
|
|
68
96
|
private rrCursor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-companion.d.ts","sourceRoot":"","sources":["../src/chat-companion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"chat-companion.d.ts","sourceRoot":"","sources":["../src/chat-companion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,uDAAuD;IACvD,SAAS,EAAE,iBAAiB,CAAC;IAC7B,mFAAmF;IACnF,OAAO,EAAE,kBAAkB,CAAC;IAC5B,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,aAAa,EAAE,MAAM,MAAM,EAAE,CAAC;IAC9B,qFAAqF;IACrF,eAAe,EAAE,MAAM,MAAM,CAAC;IAC9B,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxE;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC1D;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC;IAC5E,yBAAyB;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACjD,4BAA4B;IAC5B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAQD;;;;;GAKG;AACH,qBAAa,aAAa;IAeZ,OAAO,CAAC,QAAQ,CAAC,IAAI;IAdjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAK;gBAEQ,IAAI,EAAE,oBAAoB;IAEvD,kEAAkE;IAClE,eAAe,IAAI,MAAM;IAIzB,sDAAsD;IACtD,eAAe,IAAI,MAAM,EAAE;IAI3B;;;OAGG;IACH,MAAM,IAAI,MAAM;IAUhB;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA0C5C,+EAA+E;IAC/E,KAAK,CAAC,UAAU,SAAQ,GAAG,IAAI;IAS/B;;;;;OAKG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAOjE,gFAAgF;IAC1E,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAW9B,KAAK;IAiBnB,OAAO,CAAC,MAAM;YAcA,KAAK;CAgCpB"}
|
package/dist/chat-companion.js
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* active-task count, delegation minting) is injected, so the loop is exercised
|
|
22
22
|
* deterministically without a network or a `claude` binary.
|
|
23
23
|
*/
|
|
24
|
-
import { computeChatClaimBudget, driveChatTurn, } from "./chat-lane.js";
|
|
24
|
+
import { computeChatClaimBudget, driveChatTurn, DEFAULT_CHAT_WALL_CLOCK_MS, } from "./chat-lane.js";
|
|
25
25
|
/**
|
|
26
26
|
* The companion claim loop. Call `pumpOnce()` to claim + drive as many turns as
|
|
27
27
|
* the max-share budget currently allows (returns the turns launched this pump);
|
|
@@ -31,6 +31,15 @@ import { computeChatClaimBudget, driveChatTurn, } from "./chat-lane.js";
|
|
|
31
31
|
export class ChatCompanion {
|
|
32
32
|
opts;
|
|
33
33
|
running = new Map();
|
|
34
|
+
/**
|
|
35
|
+
* FIX(audit#4): conversations with a turn currently claimed-or-in-flight. At
|
|
36
|
+
* most ONE turn per conversation may run at a time, so replies never land out
|
|
37
|
+
* of order. A conversation is reserved here synchronously BEFORE its awaited
|
|
38
|
+
* claim and released when its turn settles — the advisory claim lock alone only
|
|
39
|
+
* serialises the claim moment, not the whole in-flight window, so two turns on
|
|
40
|
+
* one conversation could otherwise run concurrently and finish out of order.
|
|
41
|
+
*/
|
|
42
|
+
activeConvos = new Set();
|
|
34
43
|
timer = null;
|
|
35
44
|
stopped = false;
|
|
36
45
|
rrCursor = 0;
|
|
@@ -81,8 +90,20 @@ export class ChatCompanion {
|
|
|
81
90
|
while (budget > 0 && attemptsWithoutClaim < convos.length) {
|
|
82
91
|
const conversationId = convos[idx % convos.length];
|
|
83
92
|
idx += 1;
|
|
93
|
+
// FIX(audit#4): skip a conversation that already has a claimed/in-flight
|
|
94
|
+
// turn so no two turns on one conversation run concurrently (out-of-order
|
|
95
|
+
// replies). Reserve BEFORE the awaited claim so an overlapping pump (the
|
|
96
|
+
// re-pump on turn completion, or the interval tick) sees the reservation
|
|
97
|
+
// and also skips. Cross-conversation concurrency is unaffected.
|
|
98
|
+
if (this.activeConvos.has(conversationId)) {
|
|
99
|
+
attemptsWithoutClaim += 1;
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
this.activeConvos.add(conversationId);
|
|
84
103
|
const turn = await this.claim(conversationId);
|
|
85
104
|
if (!turn) {
|
|
105
|
+
// Nothing queued here — release the reservation for the next pump.
|
|
106
|
+
this.activeConvos.delete(conversationId);
|
|
86
107
|
attemptsWithoutClaim += 1;
|
|
87
108
|
continue;
|
|
88
109
|
}
|
|
@@ -148,6 +169,9 @@ export class ChatCompanion {
|
|
|
148
169
|
const controller = new AbortController();
|
|
149
170
|
const done = this.drive(turn, controller.signal).finally(() => {
|
|
150
171
|
this.running.delete(turn.id);
|
|
172
|
+
// FIX(audit#4): release the conversation so its NEXT turn may be claimed —
|
|
173
|
+
// completing this turn first guarantees in-order delivery.
|
|
174
|
+
this.activeConvos.delete(turn.conversation_id);
|
|
151
175
|
// Freed a slot — re-pump so a queued turn (or a requeued one) is picked up
|
|
152
176
|
// immediately rather than waiting for the next interval tick.
|
|
153
177
|
if (!this.stopped)
|
|
@@ -159,12 +183,20 @@ export class ChatCompanion {
|
|
|
159
183
|
const delegationToken = this.opts.mintDelegation
|
|
160
184
|
? await this.opts.mintDelegation(turn).catch(() => undefined)
|
|
161
185
|
: undefined;
|
|
186
|
+
// FIX(audit#8a): the CC-7A runaway / silent-failure / confirmation guards
|
|
187
|
+
// were previously never passed to the driver, so a runaway or silent turn
|
|
188
|
+
// could stream unbounded. Wire the wall-clock cap (defaulting to a sane
|
|
189
|
+
// bound so a stuck turn can't run forever) plus the optional probes.
|
|
190
|
+
const wallClockMs = this.opts.wallClockMs ?? DEFAULT_CHAT_WALL_CLOCK_MS;
|
|
162
191
|
const result = await driveChatTurn(turn, {
|
|
163
192
|
engine: this.opts.engine,
|
|
164
193
|
transport: this.opts.transport,
|
|
165
194
|
signal,
|
|
166
195
|
...(this.opts.cwd !== undefined ? { cwd: this.opts.cwd } : {}),
|
|
167
196
|
...(delegationToken !== undefined ? { delegationToken } : {}),
|
|
197
|
+
...(wallClockMs > 0 ? { wallClockMs } : {}),
|
|
198
|
+
...(this.opts.silentFailureProbe ? { silentFailureProbe: this.opts.silentFailureProbe } : {}),
|
|
199
|
+
...(this.opts.requiresConfirmation ? { requiresConfirmation: this.opts.requiresConfirmation } : {}),
|
|
168
200
|
...(this.opts.now ? { now: this.opts.now } : {}),
|
|
169
201
|
onCircuitTrip: async (info) => {
|
|
170
202
|
await this.opts.breaker.trip({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-companion.js","sourceRoot":"","sources":["../src/chat-companion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EACL,sBAAsB,EACtB,aAAa,
|
|
1
|
+
{"version":3,"file":"chat-companion.js","sourceRoot":"","sources":["../src/chat-companion.ts"],"names":[],"mappings":"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"}
|
package/dist/chat-lane.d.ts
CHANGED
|
@@ -53,6 +53,15 @@ export interface ChatTurnCompletePayload {
|
|
|
53
53
|
* acc.proposed_actions. A pre-CC-1B consumer ignores this field.
|
|
54
54
|
*/
|
|
55
55
|
awaiting_confirmation?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* FIX(audit#7): the FULL authoritative assistant text the runner streamed for
|
|
58
|
+
* this turn. Carried on the terminal complete so the durable-ingest finalize
|
|
59
|
+
* can persist the whole reply even when an intermediate delta POST was lost
|
|
60
|
+
* (delta-loss → silent truncation). Additive — a consumer that assembles the
|
|
61
|
+
* reply purely from persisted deltas ignores it, but a delta-loss-aware
|
|
62
|
+
* finalize prefers this authoritative text over a gappy delta assembly.
|
|
63
|
+
*/
|
|
64
|
+
full_text?: string;
|
|
56
65
|
}
|
|
57
66
|
/** server ↔ runner: return the turn to the queue for another claimant. */
|
|
58
67
|
export interface ChatTurnRequeuePayload {
|
|
@@ -271,14 +280,21 @@ export declare function resolveChatMaxShare(raw: string | undefined | null): num
|
|
|
271
280
|
* concurrency ceiling and current mixed load. The max-share invariant guarantees
|
|
272
281
|
* the code/review lanes never starve:
|
|
273
282
|
*
|
|
274
|
-
* chatCeiling = clamp(floor(concurrency * maxShare),
|
|
283
|
+
* chatCeiling = clamp(floor(concurrency * maxShare), 1, concurrency - 1) [concurrency ≥ 2]
|
|
284
|
+
* chatCeiling = 1 [concurrency = 1]
|
|
275
285
|
*
|
|
276
|
-
* i.e. chat may occupy at most `chatCeiling` slots
|
|
277
|
-
* `concurrency - 1` so at least one slot is ALWAYS reservable
|
|
278
|
-
* task even at maxShare = 1.
|
|
279
|
-
*
|
|
280
|
-
* (
|
|
281
|
-
*
|
|
286
|
+
* i.e. chat may occupy at most `chatCeiling` slots. For a multi-slot runner the
|
|
287
|
+
* ceiling is capped at `concurrency - 1` so at least one slot is ALWAYS reservable
|
|
288
|
+
* for a code/review task even at maxShare = 1. For a SINGLE-slot runner
|
|
289
|
+
* (concurrency = 1) that `concurrency - 1` cap would be 0 — a permanently dead
|
|
290
|
+
* companion (FIX audit#8b: a dedicated companion runs at concurrency 1, so it
|
|
291
|
+
* would never claim a single turn). There is nothing to reserve on a one-slot
|
|
292
|
+
* runner, so the chat ceiling is floored at 1: chat may use the single slot, and
|
|
293
|
+
* the freeSlots bound below still blocks it while a code/review task holds that
|
|
294
|
+
* slot (so code is deferred, never starved). The live budget then subtracts the
|
|
295
|
+
* chat turns already in flight and is further bounded by the runner's actual free
|
|
296
|
+
* capacity (concurrency − everything running). Returns 0 while the chat circuit is
|
|
297
|
+
* open or chat is disabled (maxShare ≤ 0).
|
|
282
298
|
*/
|
|
283
299
|
export declare function computeChatClaimBudget(opts: {
|
|
284
300
|
concurrencyLimit: number;
|
|
@@ -293,6 +309,22 @@ export declare const CHAT_LANE_ENABLED_ENV = "ACC_RUNNER_CHAT_LANE";
|
|
|
293
309
|
export declare const CHAT_LEASE_MS_ENV = "ACC_RUNNER_CHAT_LEASE_MS";
|
|
294
310
|
/** Default per-turn lease; mirrors acc.claim_chat_turn's default (60s). */
|
|
295
311
|
export declare const DEFAULT_CHAT_LEASE_MS = 60000;
|
|
312
|
+
/** Env var carrying the per-turn wall-clock runaway cap (ms). */
|
|
313
|
+
export declare const CHAT_WALL_CLOCK_MS_ENV = "ACC_RUNNER_CHAT_WALL_CLOCK_MS";
|
|
314
|
+
/**
|
|
315
|
+
* Default per-turn wall-clock cap (FIX audit#8a). A companion turn that never
|
|
316
|
+
* terminates (runaway tool loop / silent hang the server lease alone would let
|
|
317
|
+
* run to lease-expiry) is bounded to this so it cannot stream forever. 10 minutes
|
|
318
|
+
* is well above a normal reply yet safely finite; the org-policy
|
|
319
|
+
* `wall_clock_timeout_ms` (api/_lib/chat-runaway-guard.ts) can tighten it via env.
|
|
320
|
+
*/
|
|
321
|
+
export declare const DEFAULT_CHAT_WALL_CLOCK_MS = 600000;
|
|
322
|
+
/**
|
|
323
|
+
* Resolve the per-turn wall-clock cap (ms). Blank/absent/non-numeric ⇒ default;
|
|
324
|
+
* a value ≤0 disables the cap (unbounded — opt-in only); otherwise clamped to a
|
|
325
|
+
* sane floor of 1s so a typo cannot make every turn instantly time out.
|
|
326
|
+
*/
|
|
327
|
+
export declare function resolveChatWallClockMs(raw: string | undefined | null): number;
|
|
296
328
|
/**
|
|
297
329
|
* Resolve the requested per-turn lease. Blank/absent/non-numeric ⇒ default;
|
|
298
330
|
* numeric values clamp to the RPC's own accepted window (1s..10m) so the runner
|
|
@@ -307,6 +339,8 @@ export interface ChatLaneRunnerConfig {
|
|
|
307
339
|
maxShare: number;
|
|
308
340
|
/** Requested per-turn lease (ms). */
|
|
309
341
|
leaseMs: number;
|
|
342
|
+
/** Per-turn wall-clock runaway cap (ms); 0 ⇒ uncapped. */
|
|
343
|
+
wallClockMs: number;
|
|
310
344
|
}
|
|
311
345
|
/**
|
|
312
346
|
* Resolve the chat-lane knobs from the environment in ONE place so the companion
|
package/dist/chat-lane.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-lane.d.ts","sourceRoot":"","sources":["../src/chat-lane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAsB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAExG,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAErB,MAAM,oBAAoB,CAAC;AAW5B,kFAAkF;AAClF,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AAErD,4EAA4E;AAC5E,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,OAAO,GAAG,WAAW,CAAC;AAE3D,iEAAiE;AACjE,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,eAAe,GACf,oBAAoB,GACpB,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,CAAC;AAEtB,0EAA0E;AAC1E,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAED,0DAA0D;AAC1D,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,eAAe,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-lane.d.ts","sourceRoot":"","sources":["../src/chat-lane.ts"],"names":[],"mappings":"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"}
|
package/dist/chat-lane.js
CHANGED
|
@@ -235,6 +235,10 @@ export async function driveChatTurn(turn, deps) {
|
|
|
235
235
|
total_seq: seq,
|
|
236
236
|
...(detail && outcome === "error" ? { error: detail } : {}),
|
|
237
237
|
...(lifecycle === "awaiting_confirmation" ? { awaiting_confirmation: true } : {}),
|
|
238
|
+
// FIX(audit#7): carry the authoritative full text so a finalize that
|
|
239
|
+
// lost an intermediate delta POST can still persist the whole reply
|
|
240
|
+
// instead of assembling a truncated one from the gappy delta set.
|
|
241
|
+
...(fullText ? { full_text: fullText } : {}),
|
|
238
242
|
});
|
|
239
243
|
}
|
|
240
244
|
catch (err) {
|
|
@@ -403,14 +407,21 @@ export function resolveChatMaxShare(raw) {
|
|
|
403
407
|
* concurrency ceiling and current mixed load. The max-share invariant guarantees
|
|
404
408
|
* the code/review lanes never starve:
|
|
405
409
|
*
|
|
406
|
-
* chatCeiling = clamp(floor(concurrency * maxShare),
|
|
410
|
+
* chatCeiling = clamp(floor(concurrency * maxShare), 1, concurrency - 1) [concurrency ≥ 2]
|
|
411
|
+
* chatCeiling = 1 [concurrency = 1]
|
|
407
412
|
*
|
|
408
|
-
* i.e. chat may occupy at most `chatCeiling` slots
|
|
409
|
-
* `concurrency - 1` so at least one slot is ALWAYS reservable
|
|
410
|
-
* task even at maxShare = 1.
|
|
411
|
-
*
|
|
412
|
-
* (
|
|
413
|
-
*
|
|
413
|
+
* i.e. chat may occupy at most `chatCeiling` slots. For a multi-slot runner the
|
|
414
|
+
* ceiling is capped at `concurrency - 1` so at least one slot is ALWAYS reservable
|
|
415
|
+
* for a code/review task even at maxShare = 1. For a SINGLE-slot runner
|
|
416
|
+
* (concurrency = 1) that `concurrency - 1` cap would be 0 — a permanently dead
|
|
417
|
+
* companion (FIX audit#8b: a dedicated companion runs at concurrency 1, so it
|
|
418
|
+
* would never claim a single turn). There is nothing to reserve on a one-slot
|
|
419
|
+
* runner, so the chat ceiling is floored at 1: chat may use the single slot, and
|
|
420
|
+
* the freeSlots bound below still blocks it while a code/review task holds that
|
|
421
|
+
* slot (so code is deferred, never starved). The live budget then subtracts the
|
|
422
|
+
* chat turns already in flight and is further bounded by the runner's actual free
|
|
423
|
+
* capacity (concurrency − everything running). Returns 0 while the chat circuit is
|
|
424
|
+
* open or chat is disabled (maxShare ≤ 0).
|
|
414
425
|
*/
|
|
415
426
|
export function computeChatClaimBudget(opts) {
|
|
416
427
|
const concurrency = Math.max(1, Math.floor(opts.concurrencyLimit));
|
|
@@ -419,8 +430,11 @@ export function computeChatClaimBudget(opts) {
|
|
|
419
430
|
const share = opts.maxShare <= 0 ? 0 : opts.maxShare >= 1 ? 1 : opts.maxShare;
|
|
420
431
|
if (share <= 0)
|
|
421
432
|
return 0;
|
|
422
|
-
// Reserve ≥1 slot for code/review
|
|
423
|
-
|
|
433
|
+
// Reserve ≥1 slot for code/review on a multi-slot runner (ceiling capped at
|
|
434
|
+
// concurrency − 1); on a single-slot runner floor the ceiling at 1 so chat is
|
|
435
|
+
// not silently dead (freeSlots below still defers to an in-flight code task).
|
|
436
|
+
const rawCeiling = Math.max(0, Math.floor(concurrency * share));
|
|
437
|
+
const chatCeiling = concurrency <= 1 ? 1 : Math.min(rawCeiling, concurrency - 1);
|
|
424
438
|
const active = Math.max(0, Math.floor(opts.activeChatTurns));
|
|
425
439
|
const codeActive = Math.max(0, Math.floor(opts.activeCodeTasks));
|
|
426
440
|
const shareHeadroom = chatCeiling - active;
|
|
@@ -436,6 +450,32 @@ export const CHAT_LANE_ENABLED_ENV = "ACC_RUNNER_CHAT_LANE";
|
|
|
436
450
|
export const CHAT_LEASE_MS_ENV = "ACC_RUNNER_CHAT_LEASE_MS";
|
|
437
451
|
/** Default per-turn lease; mirrors acc.claim_chat_turn's default (60s). */
|
|
438
452
|
export const DEFAULT_CHAT_LEASE_MS = 60_000;
|
|
453
|
+
/** Env var carrying the per-turn wall-clock runaway cap (ms). */
|
|
454
|
+
export const CHAT_WALL_CLOCK_MS_ENV = "ACC_RUNNER_CHAT_WALL_CLOCK_MS";
|
|
455
|
+
/**
|
|
456
|
+
* Default per-turn wall-clock cap (FIX audit#8a). A companion turn that never
|
|
457
|
+
* terminates (runaway tool loop / silent hang the server lease alone would let
|
|
458
|
+
* run to lease-expiry) is bounded to this so it cannot stream forever. 10 minutes
|
|
459
|
+
* is well above a normal reply yet safely finite; the org-policy
|
|
460
|
+
* `wall_clock_timeout_ms` (api/_lib/chat-runaway-guard.ts) can tighten it via env.
|
|
461
|
+
*/
|
|
462
|
+
export const DEFAULT_CHAT_WALL_CLOCK_MS = 600_000;
|
|
463
|
+
/**
|
|
464
|
+
* Resolve the per-turn wall-clock cap (ms). Blank/absent/non-numeric ⇒ default;
|
|
465
|
+
* a value ≤0 disables the cap (unbounded — opt-in only); otherwise clamped to a
|
|
466
|
+
* sane floor of 1s so a typo cannot make every turn instantly time out.
|
|
467
|
+
*/
|
|
468
|
+
export function resolveChatWallClockMs(raw) {
|
|
469
|
+
const trimmed = (raw ?? "").trim();
|
|
470
|
+
if (!trimmed)
|
|
471
|
+
return DEFAULT_CHAT_WALL_CLOCK_MS;
|
|
472
|
+
const n = Number.parseInt(trimmed, 10);
|
|
473
|
+
if (!Number.isFinite(n))
|
|
474
|
+
return DEFAULT_CHAT_WALL_CLOCK_MS;
|
|
475
|
+
if (n <= 0)
|
|
476
|
+
return 0;
|
|
477
|
+
return Math.max(1_000, n);
|
|
478
|
+
}
|
|
439
479
|
/** True when the value is a recognised truthy flag ("1"/"true"/"yes"/"on"). */
|
|
440
480
|
function isTruthyFlag(raw) {
|
|
441
481
|
const v = (raw ?? "").trim().toLowerCase();
|
|
@@ -464,6 +504,7 @@ export function resolveChatLaneConfig(env = process.env) {
|
|
|
464
504
|
enabled: isTruthyFlag(env[CHAT_LANE_ENABLED_ENV]) && maxShare > 0,
|
|
465
505
|
maxShare,
|
|
466
506
|
leaseMs: resolveChatLeaseMs(env[CHAT_LEASE_MS_ENV]),
|
|
507
|
+
wallClockMs: resolveChatWallClockMs(env[CHAT_WALL_CLOCK_MS_ENV]),
|
|
467
508
|
};
|
|
468
509
|
}
|
|
469
510
|
//# sourceMappingURL=chat-lane.js.map
|
package/dist/chat-lane.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-lane.js","sourceRoot":"","sources":["../src/chat-lane.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-lane.js","sourceRoot":"","sources":["../src/chat-lane.ts"],"names":[],"mappings":"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"}
|
package/dist/chat-transport.d.ts
CHANGED
|
@@ -54,6 +54,14 @@ export interface SupabaseChatTransportOptions {
|
|
|
54
54
|
};
|
|
55
55
|
/** Injected for tests; defaults to the global fetch. */
|
|
56
56
|
fetchImpl?: typeof fetch;
|
|
57
|
+
/**
|
|
58
|
+
* FIX(audit#7): max attempts for a durable-ingest POST before giving up (the
|
|
59
|
+
* frame then survives via the live broadcast + the authoritative full_text on
|
|
60
|
+
* turn_complete). Default 3. Values <1 clamp to 1 (a single attempt).
|
|
61
|
+
*/
|
|
62
|
+
ingestMaxAttempts?: number;
|
|
63
|
+
/** Backoff delay seam (ms → Promise); injected in tests so retries don't sleep. */
|
|
64
|
+
sleep?: (ms: number) => Promise<void>;
|
|
57
65
|
}
|
|
58
66
|
/**
|
|
59
67
|
* Build the production chat-lane transport bound to a runner's Supabase client.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-transport.d.ts","sourceRoot":"","sources":["../src/chat-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAEL,KAAK,iBAAiB,EAItB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAgBxB,0EAA0E;AAC1E,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe,CAahE;AAED,MAAM,WAAW,4BAA4B;IAC3C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-transport.d.ts","sourceRoot":"","sources":["../src/chat-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAEL,KAAK,iBAAiB,EAItB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAgBxB,0EAA0E;AAC1E,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,eAAe,CAahE;AAED,MAAM,WAAW,4BAA4B;IAC3C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mFAAmF;IACnF,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,oBAAoB,EAC5B,IAAI,GAAE,4BAAiC,GACtC,iBAAiB,GAAG;IACrB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B;;;;;;OAMG;IACH,aAAa,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9F,CA+KA"}
|
package/dist/chat-transport.js
CHANGED
|
@@ -76,28 +76,52 @@ export function createSupabaseChatTransport(client, opts = {}) {
|
|
|
76
76
|
async function postIngest(turn, event, payload) {
|
|
77
77
|
if (!opts.ingest || !doFetch)
|
|
78
78
|
return;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
79
|
+
const url = `${opts.ingest.url.replace(/\/+$/, "")}/api/chat/turn-ingest`;
|
|
80
|
+
const body = JSON.stringify({
|
|
81
|
+
event,
|
|
82
|
+
conversation_id: turn.conversation_id,
|
|
83
|
+
turn_id: turn.id,
|
|
84
|
+
runner_id: turn.runner_id,
|
|
85
|
+
payload,
|
|
86
|
+
});
|
|
87
|
+
// FIX(audit#7): the durable-ingest POST used to be fire-and-log-once — a lost
|
|
88
|
+
// frame silently truncated the persisted reply. Retry it a bounded number of
|
|
89
|
+
// times with exponential backoff so a transient 5xx / network blip is
|
|
90
|
+
// recovered before the frame is dropped. A non-retryable 4xx (other than
|
|
91
|
+
// 408/429) fails fast; the final failure is logged, and the turn still
|
|
92
|
+
// survives via the live broadcast + the authoritative full_text on
|
|
93
|
+
// turn_complete.
|
|
94
|
+
const maxAttempts = Math.max(1, Math.floor(opts.ingestMaxAttempts ?? 3));
|
|
95
|
+
const sleep = opts.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms).unref?.()));
|
|
96
|
+
let lastDetail = "";
|
|
97
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
|
|
98
|
+
try {
|
|
99
|
+
const res = await doFetch(url, {
|
|
100
|
+
method: "POST",
|
|
101
|
+
headers: {
|
|
102
|
+
"Content-Type": "application/json",
|
|
103
|
+
Authorization: `Bearer ${ingestToken ?? opts.ingest.token}`,
|
|
104
|
+
},
|
|
105
|
+
body,
|
|
106
|
+
});
|
|
107
|
+
if (res.ok)
|
|
108
|
+
return;
|
|
109
|
+
lastDetail = `HTTP ${res.status}`;
|
|
110
|
+
// 4xx (except 408 request-timeout / 429 rate-limit) will not heal on retry.
|
|
111
|
+
if (res.status < 500 && res.status !== 408 && res.status !== 429) {
|
|
112
|
+
opts.onLog?.(`[acc-runner] chat ingest(${event}, ${turn.id}) ${lastDetail} (not retried)`);
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
lastDetail = err.message;
|
|
118
|
+
}
|
|
119
|
+
if (attempt < maxAttempts) {
|
|
120
|
+
// Exponential backoff: 200ms, 400ms, 800ms, ...
|
|
121
|
+
await sleep(200 * 2 ** (attempt - 1));
|
|
96
122
|
}
|
|
97
123
|
}
|
|
98
|
-
|
|
99
|
-
opts.onLog?.(`[acc-runner] chat ingest(${event}, ${turn.id}) failed: ${err.message}`);
|
|
100
|
-
}
|
|
124
|
+
opts.onLog?.(`[acc-runner] chat ingest(${event}, ${turn.id}) failed after ${maxAttempts} attempts: ${lastDetail}`);
|
|
101
125
|
}
|
|
102
126
|
return {
|
|
103
127
|
async claim(args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-transport.js","sourceRoot":"","sources":["../src/chat-transport.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,0BAA0B,GAM3B,MAAM,gBAAgB,CAAC;AA8BxB,sFAAsF;AACtF,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC7C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,eAAe,EAAE,GAAG,CAAC,eAAe;QACpC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,EAAE;QACxB,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAyB;QAClD,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;QAC9B,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;QAC9B,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,CAAC;QACrC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;KACvC,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-transport.js","sourceRoot":"","sources":["../src/chat-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"companion-run.d.ts","sourceRoot":"","sources":["../src/companion-run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"companion-run.d.ts","sourceRoot":"","sources":["../src/companion-run.ts"],"names":[],"mappings":"AAqDA,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,kCAAkC,CAAC;AAEtE;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC,CAqUjE;AAED,+DAA+D;AAC/D,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB5D;AAED,8DAA8D;AAC9D,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAK7D;AAED,wCAAwC;AACxC,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAK/D"}
|
package/dist/companion-run.js
CHANGED
|
@@ -12,6 +12,7 @@ import { applyBootstrapConfig, loadConfig, resolveRunnerConcurrency } from "./co
|
|
|
12
12
|
import { getTokenProvider } from "./token-provider.js";
|
|
13
13
|
import { createRunnerClient } from "./supabase.js";
|
|
14
14
|
import { RefreshReuseDetectedError, expiresSoon, refreshAccessToken, } from "./runtime/auth-lifecycle.js";
|
|
15
|
+
import { CHAT_WALL_CLOCK_MS_ENV, resolveChatWallClockMs, } from "./chat-lane.js";
|
|
15
16
|
import { createSupabaseChatTransport } from "./chat-transport.js";
|
|
16
17
|
import { getChatEngine } from "./engines/registry.js";
|
|
17
18
|
import { writeMcpConfig } from "./mcp-spawn.js";
|
|
@@ -238,6 +239,9 @@ export async function companionCommand() {
|
|
|
238
239
|
// (the budget still reserves ≥1 slot internally).
|
|
239
240
|
maxShare: 1,
|
|
240
241
|
leaseMs: 60_000,
|
|
242
|
+
// FIX(audit#8a): bound each turn's wall clock so a runaway/silent turn can't
|
|
243
|
+
// stream forever (env override → sane default). See chat-runaway-guard.ts.
|
|
244
|
+
wallClockMs: resolveChatWallClockMs(process.env[CHAT_WALL_CLOCK_MS_ENV]),
|
|
241
245
|
mirror,
|
|
242
246
|
...(identityId ? { identityId } : {}),
|
|
243
247
|
...(reportRegistration ? { reportRegistration } : {}),
|