@songsid/agend 2.1.4-beta.47 → 2.1.4-beta.49
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/backend/kiro.d.ts +14 -0
- package/dist/backend/kiro.js +48 -0
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend/types.d.ts +26 -0
- package/dist/backend/types.js.map +1 -1
- package/dist/backend-outage.d.ts +61 -0
- package/dist/backend-outage.js +71 -0
- package/dist/backend-outage.js.map +1 -0
- package/dist/channel/types.d.ts +1 -1
- package/dist/daemon.d.ts +58 -1
- package/dist/daemon.js +177 -8
- package/dist/daemon.js.map +1 -1
- package/dist/fleet-context.d.ts +7 -0
- package/dist/fleet-manager.d.ts +106 -0
- package/dist/fleet-manager.js +355 -43
- package/dist/fleet-manager.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +32 -0
- package/dist/instance-lifecycle.js +67 -4
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/locale.js +14 -0
- package/dist/locale.js.map +1 -1
- package/dist/topic-commands.js +11 -0
- package/dist/topic-commands.js.map +1 -1
- package/package.json +1 -1
package/dist/backend/kiro.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export declare function probeKiroCliCompatibility(binaryPath: string, run?: Kiro
|
|
|
16
16
|
export declare function getCachedKiroCliCompatibility(binaryPath: string, run?: KiroProbeRunner): KiroCliCompatibility;
|
|
17
17
|
/** Test-only reset for the process-level compatibility and warning memo. */
|
|
18
18
|
export declare function resetKiroCompatibilityCacheForTests(): void;
|
|
19
|
+
/** Startup budget for a `--resume` launch (60% first output, 40% ready). */
|
|
20
|
+
export declare const KIRO_RESUME_STARTUP_BUDGET_MS = 60000;
|
|
19
21
|
export declare class KiroBackend implements CliBackend {
|
|
20
22
|
private instanceDir;
|
|
21
23
|
readonly binaryName = "kiro-cli";
|
|
@@ -36,6 +38,18 @@ export declare class KiroBackend implements CliBackend {
|
|
|
36
38
|
constructor(instanceDir: string, compatibility?: KiroCliCompatibility);
|
|
37
39
|
requiresDeliveryEnterRetry(): boolean;
|
|
38
40
|
dropsEnterWhileBusy(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Live evidence (kiro-cli 2.21.0, 2026-09-03): `--resume` prints nothing
|
|
43
|
+
* until the conversation comes back from the backend ("Picking up where we
|
|
44
|
+
* left off…") — >15s blank while runtime.us-east-1.kiro.dev timed out and
|
|
45
|
+
* kiro retried every 10s — and the default 25s budget (15s to first output)
|
|
46
|
+
* declared it dead, cleared the session, and started fresh. A fresh prompt
|
|
47
|
+
* is local (~5s even with MCP), so it keeps the default budget.
|
|
48
|
+
*/
|
|
49
|
+
getStartupBudgetMs(ctx: {
|
|
50
|
+
resume: boolean;
|
|
51
|
+
}): number | undefined;
|
|
52
|
+
retriesResumeOnStartupFailure(): boolean;
|
|
39
53
|
getBottomReadyPattern(): RegExp | null;
|
|
40
54
|
buildCommand(config: CliBackendConfig): string;
|
|
41
55
|
private shouldWarnUnsupportedEffort;
|
package/dist/backend/kiro.js
CHANGED
|
@@ -105,6 +105,8 @@ export function resetKiroCompatibilityCacheForTests() {
|
|
|
105
105
|
compatibilityCache.clear();
|
|
106
106
|
warnedUnsupportedEffortCacheKeys.clear();
|
|
107
107
|
}
|
|
108
|
+
/** Startup budget for a `--resume` launch (60% first output, 40% ready). */
|
|
109
|
+
export const KIRO_RESUME_STARTUP_BUDGET_MS = 60_000;
|
|
108
110
|
export class KiroBackend {
|
|
109
111
|
instanceDir;
|
|
110
112
|
binaryName = "kiro-cli";
|
|
@@ -158,6 +160,22 @@ export class KiroBackend {
|
|
|
158
160
|
// their ready marker is verified.
|
|
159
161
|
return this.activeUi === "legacy" && this.activeTrustAll;
|
|
160
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Live evidence (kiro-cli 2.21.0, 2026-09-03): `--resume` prints nothing
|
|
165
|
+
* until the conversation comes back from the backend ("Picking up where we
|
|
166
|
+
* left off…") — >15s blank while runtime.us-east-1.kiro.dev timed out and
|
|
167
|
+
* kiro retried every 10s — and the default 25s budget (15s to first output)
|
|
168
|
+
* declared it dead, cleared the session, and started fresh. A fresh prompt
|
|
169
|
+
* is local (~5s even with MCP), so it keeps the default budget.
|
|
170
|
+
*/
|
|
171
|
+
getStartupBudgetMs(ctx) {
|
|
172
|
+
return ctx.resume ? KIRO_RESUME_STARTUP_BUDGET_MS : undefined;
|
|
173
|
+
}
|
|
174
|
+
retriesResumeOnStartupFailure() {
|
|
175
|
+
// A resume miss is far more often "the backend was slow" than "the session
|
|
176
|
+
// is broken"; one more attempt before abandoning the conversation is cheap.
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
161
179
|
getBottomReadyPattern() {
|
|
162
180
|
if (!this.dropsEnterWhileBusy())
|
|
163
181
|
return null;
|
|
@@ -371,6 +389,36 @@ export class KiroBackend {
|
|
|
371
389
|
action: "pause",
|
|
372
390
|
message: "Kiro login is missing or expired — run `kiro-cli login` to restore all kiro instances",
|
|
373
391
|
},
|
|
392
|
+
// Backend unreachable. Live 2026-09-03: runtime.us-east-1.kiro.dev stopped
|
|
393
|
+
// answering for hours; every kiro instance printed
|
|
394
|
+
// `1: dispatch failure (timeout): request timed out: error sending
|
|
395
|
+
// request for url (https://runtime.us-east-1.kiro.dev/)`
|
|
396
|
+
// and retried every 10s. Distinct from the auth line above
|
|
397
|
+
// (`dispatch failure (other): No token`, matched first). fleetWide: this is
|
|
398
|
+
// one outage, not N incidents — the lifecycle notifies once and the daemon
|
|
399
|
+
// stops burning `--resume` attempts (and sessions) while it lasts.
|
|
400
|
+
// skipRecoveryWait: kiro is back at its prompt between retries.
|
|
401
|
+
//
|
|
402
|
+
// Matched on kiro's numbered error structure (` 1: dispatch failure
|
|
403
|
+
// (timeout)` at a row start — the live line wraps after it, which is why
|
|
404
|
+
// the URL alternative is unanchored) rather than on the bare phrase: an
|
|
405
|
+
// agent quoting "dispatch failure (timeout)" in conversation must not mark
|
|
406
|
+
// the whole backend down and change every instance's startup semantics.
|
|
407
|
+
// The URL alternative requires the complete sentence plus a kiro.dev host.
|
|
408
|
+
{
|
|
409
|
+
pattern: /^\s*\d+:\s*dispatch failure \(timeout\)|request timed out: error sending request for url \((https?:\/\/[^)\s]*kiro\.dev[^)\s]*)\)/im,
|
|
410
|
+
type: "network",
|
|
411
|
+
action: "notify",
|
|
412
|
+
message: "Kiro backend unreachable — requests to the kiro.dev runtime are timing out",
|
|
413
|
+
formatMessage: match => {
|
|
414
|
+
const host = match[1]?.match(/^https?:\/\/([^/]+)/)?.[1];
|
|
415
|
+
return host
|
|
416
|
+
? `Kiro backend unreachable — requests to ${host} are timing out`
|
|
417
|
+
: "Kiro backend unreachable — requests to the kiro.dev runtime are timing out";
|
|
418
|
+
},
|
|
419
|
+
skipRecoveryWait: true,
|
|
420
|
+
fleetWide: true,
|
|
421
|
+
},
|
|
374
422
|
// #384: the AgEnD MCP server died, or something wrote non-JSON-RPC to its
|
|
375
423
|
// stdout and kiro dropped the connection. kiro keeps running and keeps
|
|
376
424
|
// answering, so nothing looks broken — but every fleet tool is gone, which
|
package/dist/backend/kiro.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/backend/kiro.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/backend/kiro.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/types.d.ts
CHANGED
|
@@ -60,6 +60,12 @@ export interface ErrorPattern {
|
|
|
60
60
|
* immediately) whose backend ready-pattern only matches the startup banner,
|
|
61
61
|
* so waiting would block ALL future error detection forever. */
|
|
62
62
|
skipRecoveryWait?: boolean;
|
|
63
|
+
/** This error is a property of the BACKEND (its service is unreachable), not
|
|
64
|
+
* of one instance: every instance on that CLI fails at once. The lifecycle
|
|
65
|
+
* then records a fleet-level backend outage, notifies ONCE fleet-wide instead
|
|
66
|
+
* of per instance, and the daemon stops spending `--resume` attempts (and
|
|
67
|
+
* sessions) on it while it lasts. Only meaningful with type "network". */
|
|
68
|
+
fleetWide?: boolean;
|
|
63
69
|
}
|
|
64
70
|
/** A selectable model, surfaced by `/model` (id is what gets applied). */
|
|
65
71
|
export interface ModelOption {
|
|
@@ -155,6 +161,26 @@ export interface CliBackend {
|
|
|
155
161
|
* higher up is history). Required for `dropsEnterWhileBusy()` backends.
|
|
156
162
|
*/
|
|
157
163
|
getBottomReadyPattern?(): RegExp | null;
|
|
164
|
+
/**
|
|
165
|
+
* Startup budget override, in ms, for reaching first output + ready state.
|
|
166
|
+
* `ctx.resume` is true when the CLI is launched with session resume. Return
|
|
167
|
+
* undefined to use `startup_timeout_ms` / the 25s default. Kiro's `--resume`
|
|
168
|
+
* needs a backend round trip before it paints anything (blank for >15s while
|
|
169
|
+
* the runtime host retried, live 2026-09-03) whereas a fresh prompt is local
|
|
170
|
+
* — so only the resume launch should get more time; a fresh start must stay
|
|
171
|
+
* tight. The daemon never lowers a user-configured `startup_timeout_ms`.
|
|
172
|
+
*/
|
|
173
|
+
getStartupBudgetMs?(ctx: {
|
|
174
|
+
resume: boolean;
|
|
175
|
+
}): number | undefined;
|
|
176
|
+
/**
|
|
177
|
+
* Whether a failed resume launch should be retried ONCE with resume before
|
|
178
|
+
* the session is abandoned. For CLIs whose resume depends on a remote round
|
|
179
|
+
* trip, the first miss is usually the backend being slow, not the session
|
|
180
|
+
* being corrupt — and dropping to a fresh session loses the conversation.
|
|
181
|
+
* The daemon bounds this to one extra attempt. Absent means false.
|
|
182
|
+
*/
|
|
183
|
+
retriesResumeOnStartupFailure?(): boolean;
|
|
158
184
|
/**
|
|
159
185
|
* Whether the TUI can emit terminal output while its visible pane is
|
|
160
186
|
* unchanged (for example, rerunning and repainting a status-line hook).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/backend/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/backend/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fleet-level "is this CLI's backend reachable?" memory.
|
|
3
|
+
*
|
|
4
|
+
* Some failures are a property of the BACKEND, not of one instance: when
|
|
5
|
+
* runtime.us-east-1.kiro.dev stopped answering (2026-09-03, hours), every kiro
|
|
6
|
+
* instance printed the same `dispatch failure (timeout)` line every 10s, every
|
|
7
|
+
* `--resume` launch sat blank past its startup budget, and the daemon's
|
|
8
|
+
* "resume failed → clear the session and start fresh" fallback turned a
|
|
9
|
+
* transient outage into permanent conversation loss across the fleet.
|
|
10
|
+
*
|
|
11
|
+
* One tracker per fleet, keyed by backend name. Sightings come from the
|
|
12
|
+
* lifecycle's pty_error handler (running instances) and from the daemon's
|
|
13
|
+
* startup path (a failed launch whose pane shows the outage text). "Active"
|
|
14
|
+
* means seen within the last BACKEND_OUTAGE_ACTIVE_MS; nothing has to report
|
|
15
|
+
* recovery — the memory simply ages out once the CLI stops printing the error.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* How long after the last sighting a backend is still considered down.
|
|
19
|
+
*
|
|
20
|
+
* Longer than the longest startup-retry backoff (15 min) plus a startup budget:
|
|
21
|
+
* in an all-down fleet nothing is running to refresh the memory, and a retry
|
|
22
|
+
* that begins after it expired would clear the session it was meant to keep.
|
|
23
|
+
* Recovery is also cleared POSITIVELY — a successful `--resume` launch on the
|
|
24
|
+
* backend proves it reachable (see Daemon.spawnClaudeWindow) — so the long TTL
|
|
25
|
+
* costs nothing once the service is back.
|
|
26
|
+
*/
|
|
27
|
+
export declare const BACKEND_OUTAGE_ACTIVE_MS: number;
|
|
28
|
+
export interface BackendOutageSighting {
|
|
29
|
+
firstSeenAt: number;
|
|
30
|
+
lastSeenAt: number;
|
|
31
|
+
/** Last human-readable detail (the formatted error message), if any. */
|
|
32
|
+
detail?: string;
|
|
33
|
+
/** Instances that reported it during this outage. */
|
|
34
|
+
instances: Set<string>;
|
|
35
|
+
}
|
|
36
|
+
export declare class BackendOutageTracker {
|
|
37
|
+
private readonly now;
|
|
38
|
+
private readonly outages;
|
|
39
|
+
constructor(now?: () => number);
|
|
40
|
+
/**
|
|
41
|
+
* Record a sighting. Returns `isNew` when this opens an outage (first
|
|
42
|
+
* sighting, or the previous one had aged out) — the moment to notify.
|
|
43
|
+
*/
|
|
44
|
+
record(backend: string, instance?: string, detail?: string): {
|
|
45
|
+
isNew: boolean;
|
|
46
|
+
sighting: BackendOutageSighting;
|
|
47
|
+
};
|
|
48
|
+
isActive(backend: string): boolean;
|
|
49
|
+
/** The active sighting, or null once it has aged out. */
|
|
50
|
+
active(backend: string): BackendOutageSighting | null;
|
|
51
|
+
/** Forget a backend (e.g. an operator-confirmed recovery). */
|
|
52
|
+
clear(backend: string): void;
|
|
53
|
+
}
|
|
54
|
+
/** The subset a Daemon needs; lets tests pass a plain object. */
|
|
55
|
+
export interface BackendOutageView {
|
|
56
|
+
isActive(backend: string): boolean;
|
|
57
|
+
record(backend: string, instance?: string, detail?: string): {
|
|
58
|
+
isNew: boolean;
|
|
59
|
+
};
|
|
60
|
+
clear(backend: string): void;
|
|
61
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fleet-level "is this CLI's backend reachable?" memory.
|
|
3
|
+
*
|
|
4
|
+
* Some failures are a property of the BACKEND, not of one instance: when
|
|
5
|
+
* runtime.us-east-1.kiro.dev stopped answering (2026-09-03, hours), every kiro
|
|
6
|
+
* instance printed the same `dispatch failure (timeout)` line every 10s, every
|
|
7
|
+
* `--resume` launch sat blank past its startup budget, and the daemon's
|
|
8
|
+
* "resume failed → clear the session and start fresh" fallback turned a
|
|
9
|
+
* transient outage into permanent conversation loss across the fleet.
|
|
10
|
+
*
|
|
11
|
+
* One tracker per fleet, keyed by backend name. Sightings come from the
|
|
12
|
+
* lifecycle's pty_error handler (running instances) and from the daemon's
|
|
13
|
+
* startup path (a failed launch whose pane shows the outage text). "Active"
|
|
14
|
+
* means seen within the last BACKEND_OUTAGE_ACTIVE_MS; nothing has to report
|
|
15
|
+
* recovery — the memory simply ages out once the CLI stops printing the error.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* How long after the last sighting a backend is still considered down.
|
|
19
|
+
*
|
|
20
|
+
* Longer than the longest startup-retry backoff (15 min) plus a startup budget:
|
|
21
|
+
* in an all-down fleet nothing is running to refresh the memory, and a retry
|
|
22
|
+
* that begins after it expired would clear the session it was meant to keep.
|
|
23
|
+
* Recovery is also cleared POSITIVELY — a successful `--resume` launch on the
|
|
24
|
+
* backend proves it reachable (see Daemon.spawnClaudeWindow) — so the long TTL
|
|
25
|
+
* costs nothing once the service is back.
|
|
26
|
+
*/
|
|
27
|
+
export const BACKEND_OUTAGE_ACTIVE_MS = 20 * 60_000;
|
|
28
|
+
export class BackendOutageTracker {
|
|
29
|
+
now;
|
|
30
|
+
outages = new Map();
|
|
31
|
+
constructor(now = Date.now) {
|
|
32
|
+
this.now = now;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Record a sighting. Returns `isNew` when this opens an outage (first
|
|
36
|
+
* sighting, or the previous one had aged out) — the moment to notify.
|
|
37
|
+
*/
|
|
38
|
+
record(backend, instance, detail) {
|
|
39
|
+
const now = this.now();
|
|
40
|
+
const existing = this.outages.get(backend);
|
|
41
|
+
if (existing && now - existing.lastSeenAt < BACKEND_OUTAGE_ACTIVE_MS) {
|
|
42
|
+
existing.lastSeenAt = now;
|
|
43
|
+
if (detail)
|
|
44
|
+
existing.detail = detail;
|
|
45
|
+
if (instance)
|
|
46
|
+
existing.instances.add(instance);
|
|
47
|
+
return { isNew: false, sighting: existing };
|
|
48
|
+
}
|
|
49
|
+
const sighting = {
|
|
50
|
+
firstSeenAt: now,
|
|
51
|
+
lastSeenAt: now,
|
|
52
|
+
detail,
|
|
53
|
+
instances: new Set(instance ? [instance] : []),
|
|
54
|
+
};
|
|
55
|
+
this.outages.set(backend, sighting);
|
|
56
|
+
return { isNew: true, sighting };
|
|
57
|
+
}
|
|
58
|
+
isActive(backend) {
|
|
59
|
+
const sighting = this.outages.get(backend);
|
|
60
|
+
return !!sighting && this.now() - sighting.lastSeenAt < BACKEND_OUTAGE_ACTIVE_MS;
|
|
61
|
+
}
|
|
62
|
+
/** The active sighting, or null once it has aged out. */
|
|
63
|
+
active(backend) {
|
|
64
|
+
return this.isActive(backend) ? this.outages.get(backend) : null;
|
|
65
|
+
}
|
|
66
|
+
/** Forget a backend (e.g. an operator-confirmed recovery). */
|
|
67
|
+
clear(backend) {
|
|
68
|
+
this.outages.delete(backend);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=backend-outage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend-outage.js","sourceRoot":"","sources":["../src/backend-outage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,GAAG,MAAM,CAAC;AAWpD,MAAM,OAAO,oBAAoB;IAGF;IAFZ,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEpE,YAA6B,MAAoB,IAAI,CAAC,GAAG;QAA5B,QAAG,GAAH,GAAG,CAAyB;IAAG,CAAC;IAE7D;;;OAGG;IACH,MAAM,CAAC,OAAe,EAAE,QAAiB,EAAE,MAAe;QACxD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,QAAQ,IAAI,GAAG,GAAG,QAAQ,CAAC,UAAU,GAAG,wBAAwB,EAAE,CAAC;YACrE,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;YAC1B,IAAI,MAAM;gBAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;YACrC,IAAI,QAAQ;gBAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC9C,CAAC;QACD,MAAM,QAAQ,GAA0B;YACtC,WAAW,EAAE,GAAG;YAChB,UAAU,EAAE,GAAG;YACf,MAAM;YACN,SAAS,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,GAAG,wBAAwB,CAAC;IACnF,CAAC;IAED,yDAAyD;IACzD,MAAM,CAAC,OAAe;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF"}
|
package/dist/channel/types.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export interface InstanceStatusData {
|
|
|
10
10
|
costCents: number;
|
|
11
11
|
}
|
|
12
12
|
export interface AlertData {
|
|
13
|
-
type: "hang" | "cost_warn" | "cost_limit" | "schedule_deferred" | "rotation" | "cancel" | "interactive_prompt" | "exit_restart" | "clear_confirm" | "tip" | "login";
|
|
13
|
+
type: "hang" | "cost_warn" | "cost_limit" | "schedule_deferred" | "rotation" | "cancel" | "interactive_prompt" | "exit_restart" | "clear_confirm" | "tip" | "login" | "install";
|
|
14
14
|
instanceName: string;
|
|
15
15
|
message: string;
|
|
16
16
|
choices?: Choice[];
|
package/dist/daemon.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import type { TmuxControlClient } from "./tmux-control.js";
|
|
|
8
8
|
import type { FleetInstructionsParams } from "./instructions.js";
|
|
9
9
|
import type { SpawnGate } from "./spawn-gate.js";
|
|
10
10
|
import type { StormWindow } from "./storm-window.js";
|
|
11
|
+
import type { BackendOutageView } from "./backend-outage.js";
|
|
11
12
|
/** Point a resumed CLI at its one backend-native instruction source. */
|
|
12
13
|
export declare function buildInstructionReloadNotice(binaryName: string, instanceName: string, instanceDir: string): string;
|
|
13
14
|
export declare const DEFAULT_STUCK_TIMEOUT_MS: number;
|
|
@@ -174,6 +175,14 @@ export declare class PendingWorkTracker {
|
|
|
174
175
|
recordIdle(now?: number): void;
|
|
175
176
|
hasPendingWork(): boolean;
|
|
176
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* Startup failed because the CLI's backend is unreachable (see backend-outage.ts).
|
|
180
|
+
* The session-id is deliberately KEPT; the fleet schedules a delayed retry.
|
|
181
|
+
*/
|
|
182
|
+
export declare class BackendUnreachableStartupError extends Error {
|
|
183
|
+
readonly backend: string;
|
|
184
|
+
constructor(backend: string);
|
|
185
|
+
}
|
|
177
186
|
/**
|
|
178
187
|
* One-shot timing gate for the first paste after a CLI reaches its ready
|
|
179
188
|
* prompt. A TUI that is still completing its first redraw can swallow Enter.
|
|
@@ -323,6 +332,8 @@ export declare class Daemon extends EventEmitter {
|
|
|
323
332
|
private runtimeIdentity?;
|
|
324
333
|
private spawnGate?;
|
|
325
334
|
private stormWindow?;
|
|
335
|
+
/** Fleet-level "is this CLI's backend down?" memory — see backend-outage.ts. */
|
|
336
|
+
private backendOutage?;
|
|
326
337
|
private logger;
|
|
327
338
|
private tmuxSessionName;
|
|
328
339
|
private tmux;
|
|
@@ -366,6 +377,7 @@ export declare class Daemon extends EventEmitter {
|
|
|
366
377
|
private resolveSpawnSettled;
|
|
367
378
|
private spawnDepth;
|
|
368
379
|
private skipResume;
|
|
380
|
+
private startupAborted;
|
|
369
381
|
private backgroundSessionRecoveryAttempted;
|
|
370
382
|
/** Whether the last spawn started a fresh session (not resumed). */
|
|
371
383
|
isNewSession: boolean;
|
|
@@ -552,7 +564,9 @@ export declare class Daemon extends EventEmitter {
|
|
|
552
564
|
private lastDetectedErrorType;
|
|
553
565
|
private static errorPatternKey;
|
|
554
566
|
private clearErrorRecoveryGate;
|
|
555
|
-
constructor(name: string, config: InstanceConfig, instanceDir: string, topicMode?: boolean, backend?: CliBackend | undefined, controlClient?: TmuxControlClient | undefined, rootLogger?: Logger, runtimeIdentity?: FleetInstructionsParams["runtimeIdentity"], spawnGate?: SpawnGate | undefined, stormWindow?: StormWindow | undefined
|
|
567
|
+
constructor(name: string, config: InstanceConfig, instanceDir: string, topicMode?: boolean, backend?: CliBackend | undefined, controlClient?: TmuxControlClient | undefined, rootLogger?: Logger, runtimeIdentity?: FleetInstructionsParams["runtimeIdentity"], spawnGate?: SpawnGate | undefined, stormWindow?: StormWindow | undefined,
|
|
568
|
+
/** Fleet-level "is this CLI's backend down?" memory — see backend-outage.ts. */
|
|
569
|
+
backendOutage?: BackendOutageView | undefined);
|
|
556
570
|
start(): Promise<void>;
|
|
557
571
|
/**
|
|
558
572
|
* Detect a CRASHED MCP server and report it once.
|
|
@@ -1022,6 +1036,49 @@ export declare class Daemon extends EventEmitter {
|
|
|
1022
1036
|
private waitForSpawnToSettle;
|
|
1023
1037
|
/** Spawn a CLI window. Returns true if --resume was used successfully. */
|
|
1024
1038
|
private spawnClaudeWindow;
|
|
1039
|
+
/**
|
|
1040
|
+
* Startup budget for this launch: the backend's override (resume-aware), never
|
|
1041
|
+
* below a user-configured startup_timeout_ms; undefined = trySpawn's default.
|
|
1042
|
+
*/
|
|
1043
|
+
private startupBudgetFor;
|
|
1044
|
+
/** Effective wake budget = max(caller timeout, backend resume override, configured startup_timeout_ms). */
|
|
1045
|
+
wakeBudgetMs(timeoutMs: number): number;
|
|
1046
|
+
/** The fleet-level backend key this instance runs on (matches the lifecycle's backendOf). */
|
|
1047
|
+
private backendKey;
|
|
1048
|
+
/**
|
|
1049
|
+
* After a failed launch, read the pane for the backend's fleet-wide outage
|
|
1050
|
+
* text (e.g. kiro's `dispatch failure (timeout) … kiro.dev`) and record it.
|
|
1051
|
+
* The lifecycle only learns about outages from RUNNING instances; during a
|
|
1052
|
+
* post-update herd nothing is running yet, so the startup path must report
|
|
1053
|
+
* what it sees or the first instance in would clear its session for nothing.
|
|
1054
|
+
*/
|
|
1055
|
+
private noteStartupPaneForBackendOutage;
|
|
1056
|
+
/**
|
|
1057
|
+
* Fail the startup WITHOUT touching the session while the backend is known to
|
|
1058
|
+
* be down. The failed window is torn down first: the alternative — a live but
|
|
1059
|
+
* never-ready CLI left behind while the daemon reports `crashed` — would keep
|
|
1060
|
+
* the health monitor from ever seeing a dead pane and retrying.
|
|
1061
|
+
*/
|
|
1062
|
+
private failStartupIfBackendUnreachable;
|
|
1063
|
+
/**
|
|
1064
|
+
* Crash-respawn ran into the backend outage: the ordinary path would leave
|
|
1065
|
+
* `crashed` + a paused monitor + nothing scheduled (and count it as a crash).
|
|
1066
|
+
* Hand the instance to the fleet instead — the lifecycle stops this daemon
|
|
1067
|
+
* and the fleet's delayed startup retry re-creates it later with the session
|
|
1068
|
+
* intact. Returns true when someone took the hand-off.
|
|
1069
|
+
*/
|
|
1070
|
+
private handOffBackendUnreachableRespawn;
|
|
1071
|
+
/**
|
|
1072
|
+
* Dispose a Daemon whose start() rejected. The lifecycle registers a daemon
|
|
1073
|
+
* only after start() resolves, so nothing else owns this object — and by the
|
|
1074
|
+
* time the spawn fails it has already bound its IPC server (channel.sock),
|
|
1075
|
+
* written daemon.pid and possibly created a window. Left alone, each failed
|
|
1076
|
+
* start leaks one live-but-unreachable server handle (the next start unlinks
|
|
1077
|
+
* the socket path and binds a new one), multiplied by the automatic startup
|
|
1078
|
+
* retries. Idempotent, and fast: no graceful CLI quit, the CLI never reached
|
|
1079
|
+
* its prompt.
|
|
1080
|
+
*/
|
|
1081
|
+
abortStartup(): Promise<void>;
|
|
1025
1082
|
/** Kill the entire process tree of the current tmux pane (CLI + MCP server). */
|
|
1026
1083
|
private killProcessTree;
|
|
1027
1084
|
/**
|