@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.
- package/dist/phase-grouping.d.ts +70 -0
- package/dist/phase-grouping.d.ts.map +1 -0
- package/dist/phase-grouping.js +117 -0
- package/dist/phase-grouping.js.map +1 -0
- package/dist/reconnect-policy.d.ts +150 -0
- package/dist/reconnect-policy.d.ts.map +1 -0
- package/dist/reconnect-policy.js +170 -0
- package/dist/reconnect-policy.js.map +1 -0
- package/dist/tower-client.d.ts +9 -1
- package/dist/tower-client.d.ts.map +1 -1
- package/dist/tower-client.js +19 -0
- package/dist/tower-client.js.map +1 -1
- package/package.json +13 -3
|
@@ -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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"}
|
package/dist/tower-client.d.ts
CHANGED
|
@@ -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":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"tower-client.d.ts","sourceRoot":"","sources":["../src/tower-client.ts"],"names":[],"mappings":"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"}
|
package/dist/tower-client.js
CHANGED
|
@@ -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
|
package/dist/tower-client.js.map
CHANGED
|
@@ -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.
|
|
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
|
-
"
|
|
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
|
}
|