@cluesmith/codev-core 3.1.6 → 3.1.7

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.
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Canonical builder *stages* — the action axis the VSCode Builders tree groups
3
+ * by (#952). Where `area-grouping.ts` buckets by a static domain label, this
4
+ * module buckets by where a builder is in its lifecycle.
5
+ *
6
+ * The key design property is a **closed, fixed stage set**: every protocol's
7
+ * phase ids (the raw `OverviewBuilder.protocolPhase`) fold into one of six
8
+ * canonical stages via `PHASE_TO_STAGE`, rather than each phase id minting its
9
+ * own group. Across the 9 bundled protocols there are ~17 distinct phase ids;
10
+ * mapping them onto six stages caps the Builders tree at seven groups
11
+ * (six stages + `unknown`) **permanently** — a new protocol's phases route into
12
+ * an existing stage (or fall to `unknown` until mapped), so the group count
13
+ * never grows with the protocol catalog.
14
+ *
15
+ * Pure / dependency-free so it can be unit-tested under the vitest harness in
16
+ * the VSCode package, mirroring `area-grouping.ts`.
17
+ */
18
+ /**
19
+ * The closed set of canonical lifecycle stages, in the order the action axis
20
+ * reads top-to-bottom. `unknown` is the bounded catch-all for an empty or
21
+ * unmapped `protocolPhase`; it always sorts last.
22
+ */
23
+ export type BuilderStage = 'specify' | 'plan' | 'implement' | 'review' | 'pr' | 'verified' | 'unknown';
24
+ /**
25
+ * Fixed display order for the stages. `groupByStage` emits groups in exactly
26
+ * this order, skipping stages with no members. NOT alphabetical — the lifecycle
27
+ * sequence (`SPECIFY → PLAN → IMPLEMENT → REVIEW → PR → VERIFIED`) is what makes
28
+ * the view answer "where do I need to act?" at a glance.
29
+ */
30
+ export declare const STAGE_ORDER: readonly BuilderStage[];
31
+ /**
32
+ * Maps every phase id authored across the 9 bundled protocols (spir, aspir,
33
+ * pir, air, bugfix, maintain, experiment, research, spike) onto its canonical
34
+ * stage. Grouping by stage merges same-named phases across protocols (e.g.
35
+ * `implement` from spir/pir/air, `pr` from air/bugfix) into one bucket, which
36
+ * is the intent — "everything at implement" is a protocol-agnostic question.
37
+ *
38
+ * Notable folds:
39
+ * - `investigate → plan`: treated as pre-build diagnosis (correct for the
40
+ * common BUGFIX case; RESEARCH's `investigate` approximates here).
41
+ * - `verify`/`verified`/`complete → verified`: SPIR's in-progress verify phase
42
+ * and the two terminal synonyms (`complete` is the backward-compat spelling
43
+ * of `verified`) share one terminal bucket; the row's state icon still
44
+ * distinguishes an active verify from a finished builder.
45
+ *
46
+ * Adding a protocol with a new phase id: add one entry here. An unmapped id
47
+ * falls through to `unknown` (see `stageForPhase`) rather than expanding the
48
+ * group set — visible under UNKNOWN, never silently dropped.
49
+ */
50
+ export declare const PHASE_TO_STAGE: Record<string, BuilderStage>;
51
+ /**
52
+ * Canonical stage for a raw `protocolPhase`. Empty string and any unmapped id
53
+ * resolve to `unknown` — the bounded catch-all that keeps the group set fixed.
54
+ */
55
+ export declare function stageForPhase(phase: string): BuilderStage;
56
+ /**
57
+ * Bucket items by their canonical stage, returning groups in `STAGE_ORDER`.
58
+ * Empty stages are omitted (a group exists only if ≥1 item maps into it), so
59
+ * the caller renders just the populated stages. Within a group, input order is
60
+ * preserved — the caller has already applied its display-order sort.
61
+ *
62
+ * Pure and generic over the item type, mirroring `groupByArea`. The VSCode
63
+ * Builders tree (`views/builders.ts`) is the first consumer, keying off each
64
+ * builder's `protocolPhase`.
65
+ */
66
+ export declare function groupByStage<T>(items: T[], getPhase: (item: T) => string): Array<{
67
+ stage: BuilderStage;
68
+ items: T[];
69
+ }>;
70
+ //# sourceMappingURL=phase-grouping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-grouping.d.ts","sourceRoot":"","sources":["../src/phase-grouping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,MAAM,GACN,WAAW,GACX,QAAQ,GACR,IAAI,GACJ,UAAU,GACV,SAAS,CAAC;AAEd;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,YAAY,EAQ9C,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA0BvD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAEzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B,KAAK,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,CAAC,EAAE,CAAA;CAAE,CAAC,CAoB5C"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Canonical builder *stages* — the action axis the VSCode Builders tree groups
3
+ * by (#952). Where `area-grouping.ts` buckets by a static domain label, this
4
+ * module buckets by where a builder is in its lifecycle.
5
+ *
6
+ * The key design property is a **closed, fixed stage set**: every protocol's
7
+ * phase ids (the raw `OverviewBuilder.protocolPhase`) fold into one of six
8
+ * canonical stages via `PHASE_TO_STAGE`, rather than each phase id minting its
9
+ * own group. Across the 9 bundled protocols there are ~17 distinct phase ids;
10
+ * mapping them onto six stages caps the Builders tree at seven groups
11
+ * (six stages + `unknown`) **permanently** — a new protocol's phases route into
12
+ * an existing stage (or fall to `unknown` until mapped), so the group count
13
+ * never grows with the protocol catalog.
14
+ *
15
+ * Pure / dependency-free so it can be unit-tested under the vitest harness in
16
+ * the VSCode package, mirroring `area-grouping.ts`.
17
+ */
18
+ /**
19
+ * Fixed display order for the stages. `groupByStage` emits groups in exactly
20
+ * this order, skipping stages with no members. NOT alphabetical — the lifecycle
21
+ * sequence (`SPECIFY → PLAN → IMPLEMENT → REVIEW → PR → VERIFIED`) is what makes
22
+ * the view answer "where do I need to act?" at a glance.
23
+ */
24
+ export const STAGE_ORDER = [
25
+ 'specify',
26
+ 'plan',
27
+ 'implement',
28
+ 'review',
29
+ 'pr',
30
+ 'verified',
31
+ 'unknown',
32
+ ];
33
+ /**
34
+ * Maps every phase id authored across the 9 bundled protocols (spir, aspir,
35
+ * pir, air, bugfix, maintain, experiment, research, spike) onto its canonical
36
+ * stage. Grouping by stage merges same-named phases across protocols (e.g.
37
+ * `implement` from spir/pir/air, `pr` from air/bugfix) into one bucket, which
38
+ * is the intent — "everything at implement" is a protocol-agnostic question.
39
+ *
40
+ * Notable folds:
41
+ * - `investigate → plan`: treated as pre-build diagnosis (correct for the
42
+ * common BUGFIX case; RESEARCH's `investigate` approximates here).
43
+ * - `verify`/`verified`/`complete → verified`: SPIR's in-progress verify phase
44
+ * and the two terminal synonyms (`complete` is the backward-compat spelling
45
+ * of `verified`) share one terminal bucket; the row's state icon still
46
+ * distinguishes an active verify from a finished builder.
47
+ *
48
+ * Adding a protocol with a new phase id: add one entry here. An unmapped id
49
+ * falls through to `unknown` (see `stageForPhase`) rather than expanding the
50
+ * group set — visible under UNKNOWN, never silently dropped.
51
+ */
52
+ export const PHASE_TO_STAGE = {
53
+ // SPECIFY — framing "what are we doing"
54
+ specify: 'specify',
55
+ hypothesis: 'specify',
56
+ scope: 'specify',
57
+ // PLAN — design / diagnosis before building
58
+ plan: 'plan',
59
+ design: 'plan',
60
+ investigate: 'plan',
61
+ // IMPLEMENT — the doing
62
+ implement: 'implement',
63
+ fix: 'implement',
64
+ execute: 'implement',
65
+ maintain: 'implement',
66
+ spike: 'implement',
67
+ // REVIEW — assessing the work
68
+ review: 'review',
69
+ synthesize: 'review',
70
+ analyze: 'review',
71
+ critique: 'review',
72
+ // PR — awaiting merge
73
+ pr: 'pr',
74
+ // VERIFIED — terminal / post-merge (plus SPIR's in-progress verify)
75
+ verify: 'verified',
76
+ verified: 'verified',
77
+ complete: 'verified',
78
+ };
79
+ /**
80
+ * Canonical stage for a raw `protocolPhase`. Empty string and any unmapped id
81
+ * resolve to `unknown` — the bounded catch-all that keeps the group set fixed.
82
+ */
83
+ export function stageForPhase(phase) {
84
+ return PHASE_TO_STAGE[phase] ?? 'unknown';
85
+ }
86
+ /**
87
+ * Bucket items by their canonical stage, returning groups in `STAGE_ORDER`.
88
+ * Empty stages are omitted (a group exists only if ≥1 item maps into it), so
89
+ * the caller renders just the populated stages. Within a group, input order is
90
+ * preserved — the caller has already applied its display-order sort.
91
+ *
92
+ * Pure and generic over the item type, mirroring `groupByArea`. The VSCode
93
+ * Builders tree (`views/builders.ts`) is the first consumer, keying off each
94
+ * builder's `protocolPhase`.
95
+ */
96
+ export function groupByStage(items, getPhase) {
97
+ const buckets = new Map();
98
+ for (const item of items) {
99
+ const stage = stageForPhase(getPhase(item));
100
+ const bucket = buckets.get(stage);
101
+ if (bucket) {
102
+ bucket.push(item);
103
+ }
104
+ else {
105
+ buckets.set(stage, [item]);
106
+ }
107
+ }
108
+ const result = [];
109
+ for (const stage of STAGE_ORDER) {
110
+ const bucket = buckets.get(stage);
111
+ if (bucket) {
112
+ result.push({ stage, items: bucket });
113
+ }
114
+ }
115
+ return result;
116
+ }
117
+ //# sourceMappingURL=phase-grouping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase-grouping.js","sourceRoot":"","sources":["../src/phase-grouping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAgBH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAA4B;IAClD,SAAS;IACT,MAAM;IACN,WAAW;IACX,QAAQ;IACR,IAAI;IACJ,UAAU;IACV,SAAS;CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiC;IAC1D,wCAAwC;IACxC,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,SAAS;IAChB,4CAA4C;IAC5C,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;IACd,WAAW,EAAE,MAAM;IACnB,wBAAwB;IACxB,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,WAAW;IAChB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,WAAW;IAClB,8BAA8B;IAC9B,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,QAAQ;IAClB,sBAAsB;IACtB,EAAE,EAAE,IAAI;IACR,oEAAoE;IACpE,MAAM,EAAE,UAAU;IAClB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AAC5C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAU,EACV,QAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAA+C,EAAE,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * ReconnectPolicy — transport-agnostic exponential-backoff reconnect logic.
3
+ *
4
+ * Extracted from four hand-rolled copies of the `Math.min(1000 * 2^attempt, cap)`
5
+ * curve (#961): the VSCode SSE health-check, the VSCode terminal WebSocket, the
6
+ * web terminal WebSocket, and the tunnel control channel. Pure logic — no
7
+ * `vscode`, DOM, or socket dependency, so it is usable from any host that wraps
8
+ * a flaky connection. Same cross-host discipline as `EscapeBuffer`.
9
+ *
10
+ * Three exports, layered by need:
11
+ *
12
+ * - `backoffDelayMs(attempt, opts)` — the one shared curve. Takes the attempt
13
+ * index explicitly, so each call site keeps its own counter and increment
14
+ * ordering (the tunnel increments *before* computing its delay; the terminals
15
+ * compute *then* increment). This is the single primitive that replaces every
16
+ * inline `Math.min(...)`.
17
+ * - `BackoffController` — a thin counter+status+give-up wrapper over the curve,
18
+ * for the two terminal surfaces that need a give-up threshold and a status
19
+ * machine. SSE and the tunnel keep bespoke counters and call the curve fn
20
+ * directly (they never give up — SSE retries forever, the tunnel floors).
21
+ * - `classifyUpgradeError(reason)` — encapsulates the Tower close-code rule so
22
+ * every site agrees on what's worth retrying (session-unknown → permanent).
23
+ */
24
+ export interface BackoffOptions {
25
+ /** Base delay in milliseconds (the attempt-0 delay before jitter). Default 1000. */
26
+ baseMs?: number;
27
+ /** Maximum delay in milliseconds (the curve is clamped to this). Default 30_000. */
28
+ capMs?: number;
29
+ /**
30
+ * Number of consecutive failures after which {@link BackoffController}
31
+ * gives up. Default 6. Use `Infinity` for surfaces that retry forever
32
+ * (SSE health-check, tunnel control channel). Ignored by the bare
33
+ * {@link backoffDelayMs} function — it only governs the controller.
34
+ */
35
+ maxAttempts?: number;
36
+ /**
37
+ * Upper bound of random jitter (in ms) added to each delay before the cap.
38
+ * Default 0 (no jitter). The tunnel sets 1000 to avoid thundering-herd
39
+ * reconnects against the cloud relay.
40
+ */
41
+ jitterMs?: number;
42
+ /**
43
+ * Escalation floor: once `attempt >= afterAttempts`, the delay is clamped
44
+ * to `delayMs` (bypassing the exponential curve, jitter, and cap). The
45
+ * tunnel uses `{ afterAttempts: 10, delayMs: 300_000 }` — a 5-minute holding
46
+ * pattern after sustained failure instead of giving up.
47
+ */
48
+ floor?: {
49
+ afterAttempts: number;
50
+ delayMs: number;
51
+ };
52
+ /** Injectable RNG for deterministic jitter in tests. Default `Math.random`. */
53
+ random?: () => number;
54
+ }
55
+ /**
56
+ * Compute the backoff delay for a given attempt index.
57
+ *
58
+ * `min(base * 2^attempt + jitter, cap)`, with an optional floor short-circuit
59
+ * applied first. Pure: the only impurity is `opts.random` (defaults to
60
+ * `Math.random`), which callers inject for deterministic tests.
61
+ *
62
+ * The `attempt` index is explicit so each call site owns its own counter and
63
+ * increment ordering.
64
+ */
65
+ export declare function backoffDelayMs(attempt: number, opts?: BackoffOptions): number;
66
+ export type BackoffStatus = 'idle' | 'connecting' | 'connected' | 'giving-up';
67
+ export type FailureAction = 'retry' | 'give-up';
68
+ /**
69
+ * Stateful reconnect controller: tracks the consecutive-failure count and a
70
+ * status machine, and decides retry-vs-give-up against `maxAttempts`.
71
+ *
72
+ * Usage (terminal surfaces):
73
+ *
74
+ * ```
75
+ * const ctrl = new BackoffController({ maxAttempts: 6 });
76
+ * onOpen = () => ctrl.recordSuccess();
77
+ * onClose = () => {
78
+ * if (ctrl.recordFailure() === 'give-up') { surfaceGiveUp(); return; }
79
+ * scheduleRetry(ctrl.nextDelayMs(), ctrl.attempt); // attempt is 1..maxAttempts
80
+ * };
81
+ * onUserReconnect = () => { ctrl.reset(); connect(); };
82
+ * ```
83
+ *
84
+ * The give-up sequencing reproduces the pre-extraction terminal-adapter
85
+ * behavior exactly: with `maxAttempts: 6` the delays are
86
+ * `[1000, 2000, 4000, 8000, 16000, 30000]` and the 7th `recordFailure()`
87
+ * returns `'give-up'`.
88
+ */
89
+ export declare class BackoffController {
90
+ private readonly opts;
91
+ private readonly maxAttempts;
92
+ private _attempt;
93
+ private _status;
94
+ constructor(opts?: BackoffOptions);
95
+ /** Current status of the connection lifecycle. */
96
+ get status(): BackoffStatus;
97
+ /**
98
+ * Consecutive failures recorded since the last success or reset. After a
99
+ * `recordFailure()` that returns `'retry'`, this is the 1-based attempt
100
+ * number (suitable for an `attempt/max` notice).
101
+ */
102
+ get attempt(): number;
103
+ /** Begin a connection attempt. */
104
+ start(): void;
105
+ /** A connection succeeded: reset the failure count and mark connected. */
106
+ recordSuccess(): void;
107
+ /**
108
+ * A connection failed. Advances the failure count and decides the next
109
+ * action. Returns `'give-up'` (and sets status to `'giving-up'`) once the
110
+ * attempt budget is exhausted; otherwise returns `'retry'` and the delay for
111
+ * that retry is available via {@link nextDelayMs}.
112
+ */
113
+ recordFailure(): FailureAction;
114
+ /**
115
+ * Delay (ms) before the retry just authorized by `recordFailure()`. Uses the
116
+ * pre-increment attempt index, so the first retry is the base delay.
117
+ */
118
+ nextDelayMs(): number;
119
+ /**
120
+ * Manual reconnect: clear the failure count and any give-up state, and mark
121
+ * connecting. Used for the user's "reconnect now" affordance.
122
+ */
123
+ reset(): void;
124
+ /** Tear down: return to the idle state. */
125
+ stop(): void;
126
+ }
127
+ /** A connection-error reason, as a transport surfaces it. */
128
+ export type UpgradeErrorReason = string | {
129
+ code?: number;
130
+ message?: string;
131
+ };
132
+ /**
133
+ * Classify a connection/upgrade error as worth retrying or not.
134
+ *
135
+ * The Tower convention: a rejected WebSocket *upgrade* with a 4xx status means
136
+ * the session/resource is gone (Tower 404s an unknown session ID at the HTTP
137
+ * upgrade stage) — retrying is hopeless, so `'permanent'`. Everything else is a
138
+ * transport blip → `'transient'`.
139
+ *
140
+ * Accepts both forms a host can produce:
141
+ * - Node `ws` surfaces a rejected upgrade as `Error.message`
142
+ * `"Unexpected server response: 404"` — the string form.
143
+ * - A browser only learns a numeric code (e.g. a future Tower close code, or a
144
+ * `CloseEvent.code`) — the `{ code }` form. Note that today's browsers cannot
145
+ * see Tower's upgrade-stage 404 at all (they get `1006`, which is transient),
146
+ * so the web terminal stays on blind retry until Tower emits a
147
+ * browser-visible close code.
148
+ */
149
+ export declare function classifyUpgradeError(reason: UpgradeErrorReason): 'permanent' | 'transient';
150
+ //# sourceMappingURL=reconnect-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconnect-policy.d.ts","sourceRoot":"","sources":["../src/reconnect-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,KAAK,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,MAAM,CAYjF;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAyB;gBAE5B,IAAI,GAAE,cAAmB;IAKrC,kDAAkD;IAClD,IAAI,MAAM,IAAI,aAAa,CAE1B;IAED;;;;OAIG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,kCAAkC;IAClC,KAAK,IAAI,IAAI;IAIb,0EAA0E;IAC1E,aAAa,IAAI,IAAI;IAKrB;;;;;OAKG;IACH,aAAa,IAAI,aAAa;IAU9B;;;OAGG;IACH,WAAW,IAAI,MAAM;IAIrB;;;OAGG;IACH,KAAK,IAAI,IAAI;IAKb,2CAA2C;IAC3C,IAAI,IAAI,IAAI;CAGb;AAED,6DAA6D;AAC7D,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,WAAW,GAAG,WAAW,CAW1F"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * ReconnectPolicy — transport-agnostic exponential-backoff reconnect logic.
3
+ *
4
+ * Extracted from four hand-rolled copies of the `Math.min(1000 * 2^attempt, cap)`
5
+ * curve (#961): the VSCode SSE health-check, the VSCode terminal WebSocket, the
6
+ * web terminal WebSocket, and the tunnel control channel. Pure logic — no
7
+ * `vscode`, DOM, or socket dependency, so it is usable from any host that wraps
8
+ * a flaky connection. Same cross-host discipline as `EscapeBuffer`.
9
+ *
10
+ * Three exports, layered by need:
11
+ *
12
+ * - `backoffDelayMs(attempt, opts)` — the one shared curve. Takes the attempt
13
+ * index explicitly, so each call site keeps its own counter and increment
14
+ * ordering (the tunnel increments *before* computing its delay; the terminals
15
+ * compute *then* increment). This is the single primitive that replaces every
16
+ * inline `Math.min(...)`.
17
+ * - `BackoffController` — a thin counter+status+give-up wrapper over the curve,
18
+ * for the two terminal surfaces that need a give-up threshold and a status
19
+ * machine. SSE and the tunnel keep bespoke counters and call the curve fn
20
+ * directly (they never give up — SSE retries forever, the tunnel floors).
21
+ * - `classifyUpgradeError(reason)` — encapsulates the Tower close-code rule so
22
+ * every site agrees on what's worth retrying (session-unknown → permanent).
23
+ */
24
+ const DEFAULT_BASE_MS = 1000;
25
+ const DEFAULT_CAP_MS = 30_000;
26
+ const DEFAULT_MAX_ATTEMPTS = 6;
27
+ /**
28
+ * Compute the backoff delay for a given attempt index.
29
+ *
30
+ * `min(base * 2^attempt + jitter, cap)`, with an optional floor short-circuit
31
+ * applied first. Pure: the only impurity is `opts.random` (defaults to
32
+ * `Math.random`), which callers inject for deterministic tests.
33
+ *
34
+ * The `attempt` index is explicit so each call site owns its own counter and
35
+ * increment ordering.
36
+ */
37
+ export function backoffDelayMs(attempt, opts = {}) {
38
+ const { floor } = opts;
39
+ if (floor && attempt >= floor.afterAttempts) {
40
+ return floor.delayMs;
41
+ }
42
+ const base = opts.baseMs ?? DEFAULT_BASE_MS;
43
+ const cap = opts.capMs ?? DEFAULT_CAP_MS;
44
+ const jitterMs = opts.jitterMs ?? 0;
45
+ const random = opts.random ?? Math.random;
46
+ const safeAttempt = Math.max(0, attempt);
47
+ const jitter = jitterMs > 0 ? Math.floor(random() * jitterMs) : 0;
48
+ return Math.min(base * 2 ** safeAttempt + jitter, cap);
49
+ }
50
+ /**
51
+ * Stateful reconnect controller: tracks the consecutive-failure count and a
52
+ * status machine, and decides retry-vs-give-up against `maxAttempts`.
53
+ *
54
+ * Usage (terminal surfaces):
55
+ *
56
+ * ```
57
+ * const ctrl = new BackoffController({ maxAttempts: 6 });
58
+ * onOpen = () => ctrl.recordSuccess();
59
+ * onClose = () => {
60
+ * if (ctrl.recordFailure() === 'give-up') { surfaceGiveUp(); return; }
61
+ * scheduleRetry(ctrl.nextDelayMs(), ctrl.attempt); // attempt is 1..maxAttempts
62
+ * };
63
+ * onUserReconnect = () => { ctrl.reset(); connect(); };
64
+ * ```
65
+ *
66
+ * The give-up sequencing reproduces the pre-extraction terminal-adapter
67
+ * behavior exactly: with `maxAttempts: 6` the delays are
68
+ * `[1000, 2000, 4000, 8000, 16000, 30000]` and the 7th `recordFailure()`
69
+ * returns `'give-up'`.
70
+ */
71
+ export class BackoffController {
72
+ opts;
73
+ maxAttempts;
74
+ _attempt = 0;
75
+ _status = 'idle';
76
+ constructor(opts = {}) {
77
+ this.opts = opts;
78
+ this.maxAttempts = opts.maxAttempts ?? DEFAULT_MAX_ATTEMPTS;
79
+ }
80
+ /** Current status of the connection lifecycle. */
81
+ get status() {
82
+ return this._status;
83
+ }
84
+ /**
85
+ * Consecutive failures recorded since the last success or reset. After a
86
+ * `recordFailure()` that returns `'retry'`, this is the 1-based attempt
87
+ * number (suitable for an `attempt/max` notice).
88
+ */
89
+ get attempt() {
90
+ return this._attempt;
91
+ }
92
+ /** Begin a connection attempt. */
93
+ start() {
94
+ this._status = 'connecting';
95
+ }
96
+ /** A connection succeeded: reset the failure count and mark connected. */
97
+ recordSuccess() {
98
+ this._attempt = 0;
99
+ this._status = 'connected';
100
+ }
101
+ /**
102
+ * A connection failed. Advances the failure count and decides the next
103
+ * action. Returns `'give-up'` (and sets status to `'giving-up'`) once the
104
+ * attempt budget is exhausted; otherwise returns `'retry'` and the delay for
105
+ * that retry is available via {@link nextDelayMs}.
106
+ */
107
+ recordFailure() {
108
+ if (this._attempt >= this.maxAttempts) {
109
+ this._status = 'giving-up';
110
+ return 'give-up';
111
+ }
112
+ this._attempt++;
113
+ this._status = 'connecting';
114
+ return 'retry';
115
+ }
116
+ /**
117
+ * Delay (ms) before the retry just authorized by `recordFailure()`. Uses the
118
+ * pre-increment attempt index, so the first retry is the base delay.
119
+ */
120
+ nextDelayMs() {
121
+ return backoffDelayMs(this._attempt - 1, this.opts);
122
+ }
123
+ /**
124
+ * Manual reconnect: clear the failure count and any give-up state, and mark
125
+ * connecting. Used for the user's "reconnect now" affordance.
126
+ */
127
+ reset() {
128
+ this._attempt = 0;
129
+ this._status = 'connecting';
130
+ }
131
+ /** Tear down: return to the idle state. */
132
+ stop() {
133
+ this._status = 'idle';
134
+ }
135
+ }
136
+ /**
137
+ * Classify a connection/upgrade error as worth retrying or not.
138
+ *
139
+ * The Tower convention: a rejected WebSocket *upgrade* with a 4xx status means
140
+ * the session/resource is gone (Tower 404s an unknown session ID at the HTTP
141
+ * upgrade stage) — retrying is hopeless, so `'permanent'`. Everything else is a
142
+ * transport blip → `'transient'`.
143
+ *
144
+ * Accepts both forms a host can produce:
145
+ * - Node `ws` surfaces a rejected upgrade as `Error.message`
146
+ * `"Unexpected server response: 404"` — the string form.
147
+ * - A browser only learns a numeric code (e.g. a future Tower close code, or a
148
+ * `CloseEvent.code`) — the `{ code }` form. Note that today's browsers cannot
149
+ * see Tower's upgrade-stage 404 at all (they get `1006`, which is transient),
150
+ * so the web terminal stays on blind retry until Tower emits a
151
+ * browser-visible close code.
152
+ */
153
+ export function classifyUpgradeError(reason) {
154
+ if (typeof reason === 'string') {
155
+ return isPermanentMessage(reason) ? 'permanent' : 'transient';
156
+ }
157
+ if (typeof reason.code === 'number' && reason.code >= 400 && reason.code < 500) {
158
+ return 'permanent';
159
+ }
160
+ if (typeof reason.message === 'string' && isPermanentMessage(reason.message)) {
161
+ return 'permanent';
162
+ }
163
+ return 'transient';
164
+ }
165
+ /** Tower's `ws`-client upgrade-rejection signature: a 4xx HTTP upgrade response. */
166
+ const UPGRADE_CLIENT_ERROR = /Unexpected server response: 4\d\d/;
167
+ function isPermanentMessage(message) {
168
+ return UPGRADE_CLIENT_ERROR.test(message);
169
+ }
170
+ //# sourceMappingURL=reconnect-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconnect-policy.js","sourceRoot":"","sources":["../src/reconnect-policy.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * Extracted from packages/codev/src/agent-farm/lib/tower-client.ts
8
8
  */
9
- import type { DashboardState, OverviewData, IssueView, ResolvedWorktreeConfig } from '@cluesmith/codev-types';
9
+ import type { DashboardState, OverviewData, IssueView, IssueSearchResponse, ResolvedWorktreeConfig } from '@cluesmith/codev-types';
10
10
  /**
11
11
  * All terminal kinds Tower can host. Used wherever a terminal is created or
12
12
  * enumerated. `'dev'` is the ephemeral dev-server PTY spawned by `afx dev`;
@@ -157,6 +157,14 @@ export declare class TowerClient {
157
157
  * resolved (forge unavailable, bad number) so callers can degrade.
158
158
  */
159
159
  getIssue(issueNumber: string, workspacePath?: string): Promise<IssueView | null>;
160
+ /**
161
+ * Fetch the searchable issue dataset (incl. body) from Tower's
162
+ * GET /api/issue-search. Powers the VSCode "Search Backlog" panel,
163
+ * which filters/sorts the returned rows host-side. `state` selects the
164
+ * issue set (default `open` = the sidebar backlog; `closed`/`all` lift
165
+ * the PR-exclusion). Returns null on transport failure so callers degrade.
166
+ */
167
+ searchIssues(workspacePath?: string, state?: 'open' | 'closed' | 'all'): Promise<IssueSearchResponse | null>;
160
168
  /**
161
169
  * Fetch the canonical resolved worktree config (defaults / cache /
162
170
  * global / project / project-local layers, deep-merged) from Tower's
@@ -1 +1 @@
1
- {"version":3,"file":"tower-client.d.ts","sourceRoot":"","sources":["../src/tower-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-client.d.ts","sourceRoot":"","sources":["../src/tower-client.ts"],"names":[],"mappings":"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"}
@@ -177,6 +177,25 @@ export class TowerClient {
177
177
  const result = await this.request(`/api/issue?${params.toString()}`);
178
178
  return result.ok ? result.data : null;
179
179
  }
180
+ /**
181
+ * Fetch the searchable issue dataset (incl. body) from Tower's
182
+ * GET /api/issue-search. Powers the VSCode "Search Backlog" panel,
183
+ * which filters/sorts the returned rows host-side. `state` selects the
184
+ * issue set (default `open` = the sidebar backlog; `closed`/`all` lift
185
+ * the PR-exclusion). Returns null on transport failure so callers degrade.
186
+ */
187
+ async searchIssues(workspacePath, state) {
188
+ const params = new URLSearchParams();
189
+ if (workspacePath) {
190
+ params.set('workspace', workspacePath);
191
+ }
192
+ if (state) {
193
+ params.set('state', state);
194
+ }
195
+ const qs = params.toString();
196
+ const result = await this.request(`/api/issue-search${qs ? `?${qs}` : ''}`);
197
+ return result.ok ? result.data : null;
198
+ }
180
199
  /**
181
200
  * Fetch the canonical resolved worktree config (defaults / cache /
182
201
  * global / project / project-local layers, deep-merged) from Tower's
@@ -1 +1 @@
1
- {"version":3,"file":"tower-client.js","sourceRoot":"","sources":["../src/tower-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tower-client.js","sourceRoot":"","sources":["../src/tower-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cluesmith/codev-core",
3
- "version": "3.1.6",
3
+ "version": "3.1.7",
4
4
  "description": "Core runtime utilities for Codev — Tower client, auth, workspace helpers, escape buffer",
5
5
  "type": "module",
6
6
  "exports": {
@@ -24,6 +24,10 @@
24
24
  "types": "./dist/escape-buffer.d.ts",
25
25
  "default": "./dist/escape-buffer.js"
26
26
  },
27
+ "./reconnect-policy": {
28
+ "types": "./dist/reconnect-policy.d.ts",
29
+ "default": "./dist/reconnect-policy.js"
30
+ },
27
31
  "./agent-names": {
28
32
  "types": "./dist/agent-names.d.ts",
29
33
  "default": "./dist/agent-names.js"
@@ -35,6 +39,10 @@
35
39
  "./area-grouping": {
36
40
  "types": "./dist/area-grouping.d.ts",
37
41
  "default": "./dist/area-grouping.js"
42
+ },
43
+ "./phase-grouping": {
44
+ "types": "./dist/phase-grouping.d.ts",
45
+ "default": "./dist/phase-grouping.js"
38
46
  }
39
47
  },
40
48
  "files": [
@@ -43,11 +51,13 @@
43
51
  "devDependencies": {
44
52
  "@types/node": "22.x",
45
53
  "typescript": "^5.7.0",
46
- "@cluesmith/codev-types": "3.1.6"
54
+ "vitest": "^4.0.15",
55
+ "@cluesmith/codev-types": "3.1.7"
47
56
  },
48
57
  "license": "Apache-2.0",
49
58
  "scripts": {
50
59
  "build": "tsc",
51
- "check-types": "tsc --noEmit"
60
+ "check-types": "tsc --noEmit",
61
+ "test": "vitest run"
52
62
  }
53
63
  }