poly-weaver 0.10.0 → 0.10.1
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/auto-update/budget.d.ts +17 -0
- package/dist/auto-update/budget.d.ts.map +1 -0
- package/dist/auto-update/budget.js +78 -0
- package/dist/auto-update/budget.js.map +1 -0
- package/dist/auto-update/check-agent-updates.d.ts +5 -0
- package/dist/auto-update/check-agent-updates.d.ts.map +1 -1
- package/dist/auto-update/check-agent-updates.js +40 -15
- package/dist/auto-update/check-agent-updates.js.map +1 -1
- package/dist/auto-update/detect-agents.d.ts +10 -1
- package/dist/auto-update/detect-agents.d.ts.map +1 -1
- package/dist/auto-update/detect-agents.js +184 -94
- package/dist/auto-update/detect-agents.js.map +1 -1
- package/dist/auto-update/gate.d.ts.map +1 -1
- package/dist/auto-update/gate.js +21 -2
- package/dist/auto-update/gate.js.map +1 -1
- package/dist/auto-update/timeouts.d.ts +5 -1
- package/dist/auto-update/timeouts.d.ts.map +1 -1
- package/dist/auto-update/timeouts.js +5 -1
- package/dist/auto-update/timeouts.js.map +1 -1
- package/dist/auto-update/tui.d.ts.map +1 -1
- package/dist/auto-update/tui.js +4 -1
- package/dist/auto-update/tui.js.map +1 -1
- package/dist/auto-update/winget-retry.d.ts +6 -4
- package/dist/auto-update/winget-retry.d.ts.map +1 -1
- package/dist/auto-update/winget-retry.js +15 -8
- package/dist/auto-update/winget-retry.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/flow/built-in/default-factory.d.ts.map +1 -1
- package/dist/flow/built-in/default-factory.js +31 -21
- package/dist/flow/built-in/default-factory.js.map +1 -1
- package/dist/flow/built-in/default.d.ts +1 -0
- package/dist/flow/built-in/default.d.ts.map +1 -1
- package/dist/flow/built-in/default.js +1 -0
- package/dist/flow/built-in/default.js.map +1 -1
- package/dist/flow/built-in/default.ts +2 -0
- package/dist/flow/params.d.ts +8 -0
- package/dist/flow/params.d.ts.map +1 -1
- package/dist/flow/params.js +32 -0
- package/dist/flow/params.js.map +1 -1
- package/dist/flow/types.d.ts +2 -0
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow-editor/tui.d.ts.map +1 -1
- package/dist/flow-editor/tui.js +12 -0
- package/dist/flow-editor/tui.js.map +1 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +9 -4
- package/dist/orchestrator.js.map +1 -1
- package/dist/startup-tui.js +1 -1
- package/dist/startup-tui.js.map +1 -1
- package/dist/terminal/key-to-bytes.js +2 -0
- package/dist/terminal/key-to-bytes.js.map +1 -1
- package/dist/terminal/win32-key-translator.d.ts.map +1 -1
- package/dist/terminal/win32-key-translator.js +2 -0
- package/dist/terminal/win32-key-translator.js.map +1 -1
- package/dist/terminal-input.d.ts +3 -0
- package/dist/terminal-input.d.ts.map +1 -1
- package/dist/terminal-input.js +10 -2
- package/dist/terminal-input.js.map +1 -1
- package/dist/text-editing/emacs-input.d.ts +4 -0
- package/dist/text-editing/emacs-input.d.ts.map +1 -1
- package/dist/text-editing/emacs-input.js +21 -1
- package/dist/text-editing/emacs-input.js.map +1 -1
- package/dist/text-editing/readline-ops.d.ts +1 -0
- package/dist/text-editing/readline-ops.d.ts.map +1 -1
- package/dist/text-editing/readline-ops.js +9 -0
- package/dist/text-editing/readline-ops.js.map +1 -1
- package/dist/update-check.js +2 -2
- package/dist/update-check.js.map +1 -1
- package/dist/user/host-curate-prompt.js +5 -2
- package/dist/user/host-curate-prompt.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface Budget {
|
|
2
|
+
remainingMs(): number;
|
|
3
|
+
expired(): boolean;
|
|
4
|
+
guard<T>(work: Promise<T>, fallback: () => T): Promise<T>;
|
|
5
|
+
dispose(): void;
|
|
6
|
+
}
|
|
7
|
+
export interface BudgetOptions {
|
|
8
|
+
now?: () => number;
|
|
9
|
+
setTimeoutFn?: (fn: () => void, ms: number) => unknown;
|
|
10
|
+
clearTimeoutFn?: (handle: unknown) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function createBudget(totalMs: number, options?: BudgetOptions): Budget;
|
|
13
|
+
/** Soonest remaining across budgets, clamped >= 0; Infinity if none are given. */
|
|
14
|
+
export declare function remainingMs(...budgets: Budget[]): number;
|
|
15
|
+
/** Safe child-process timeout. Node treats timeout: 0 as disabled. */
|
|
16
|
+
export declare function execTimeoutMs(...budgets: Budget[]): number;
|
|
17
|
+
//# sourceMappingURL=budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/auto-update/budget.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,WAAW,IAAI,MAAM,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC;IACnB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACvD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAOD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAwEjF;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAGxD;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAE1D"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export function createBudget(totalMs, options = {}) {
|
|
2
|
+
const now = options.now ?? Date.now;
|
|
3
|
+
const setTimeoutFn = options.setTimeoutFn ?? ((fn, ms) => setTimeout(fn, ms));
|
|
4
|
+
const clearTimeoutFn = options.clearTimeoutFn ?? ((handle) => clearTimeout(handle));
|
|
5
|
+
const durationMs = Math.max(0, totalMs);
|
|
6
|
+
const deadline = now() + durationMs;
|
|
7
|
+
const pending = new Set();
|
|
8
|
+
let fired = false;
|
|
9
|
+
let disposed = false;
|
|
10
|
+
let timer;
|
|
11
|
+
const fire = () => {
|
|
12
|
+
if (fired || disposed)
|
|
13
|
+
return;
|
|
14
|
+
fired = true;
|
|
15
|
+
const entries = Array.from(pending);
|
|
16
|
+
pending.clear();
|
|
17
|
+
for (const entry of entries) {
|
|
18
|
+
const fallback = entry.fallback;
|
|
19
|
+
entry.fallback = undefined;
|
|
20
|
+
if (fallback)
|
|
21
|
+
entry.resolve(fallback());
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
if (Number.isFinite(durationMs)) {
|
|
25
|
+
timer = setTimeoutFn(fire, durationMs);
|
|
26
|
+
const maybeTimer = timer;
|
|
27
|
+
if (typeof maybeTimer?.unref === "function")
|
|
28
|
+
maybeTimer.unref();
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
remainingMs() {
|
|
32
|
+
if (fired)
|
|
33
|
+
return 0;
|
|
34
|
+
return Math.max(0, deadline - now());
|
|
35
|
+
},
|
|
36
|
+
expired() {
|
|
37
|
+
return this.remainingMs() === 0;
|
|
38
|
+
},
|
|
39
|
+
guard(work, fallback) {
|
|
40
|
+
if (fired || this.expired())
|
|
41
|
+
return Promise.resolve(fallback());
|
|
42
|
+
let entry;
|
|
43
|
+
const deadlinePromise = new Promise((resolve) => {
|
|
44
|
+
entry = { fallback, resolve: (value) => resolve(value) };
|
|
45
|
+
pending.add(entry);
|
|
46
|
+
});
|
|
47
|
+
const trackedWork = work.then((value) => {
|
|
48
|
+
pending.delete(entry);
|
|
49
|
+
entry.fallback = undefined;
|
|
50
|
+
return value;
|
|
51
|
+
}, (err) => {
|
|
52
|
+
pending.delete(entry);
|
|
53
|
+
entry.fallback = undefined;
|
|
54
|
+
throw err;
|
|
55
|
+
});
|
|
56
|
+
return Promise.race([trackedWork, deadlinePromise]);
|
|
57
|
+
},
|
|
58
|
+
dispose() {
|
|
59
|
+
if (disposed)
|
|
60
|
+
return;
|
|
61
|
+
disposed = true;
|
|
62
|
+
if (timer !== undefined)
|
|
63
|
+
clearTimeoutFn(timer);
|
|
64
|
+
pending.clear();
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/** Soonest remaining across budgets, clamped >= 0; Infinity if none are given. */
|
|
69
|
+
export function remainingMs(...budgets) {
|
|
70
|
+
if (budgets.length === 0)
|
|
71
|
+
return Infinity;
|
|
72
|
+
return Math.max(0, Math.min(...budgets.map((budget) => budget.remainingMs())));
|
|
73
|
+
}
|
|
74
|
+
/** Safe child-process timeout. Node treats timeout: 0 as disabled. */
|
|
75
|
+
export function execTimeoutMs(...budgets) {
|
|
76
|
+
return Math.max(1, remainingMs(...budgets));
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"budget.js","sourceRoot":"","sources":["../../src/auto-update/budget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { UpdateInfo } from "../update-check.js";
|
|
2
|
+
import { type BudgetOptions } from "./budget.js";
|
|
2
3
|
import { type AgentName, type DetectAgentsResult, type ExecAsync, type InstallMethod } from "./detect-agents.js";
|
|
3
4
|
export interface AgentUpdateInfo {
|
|
4
5
|
kind: "agent";
|
|
@@ -7,6 +8,7 @@ export interface AgentUpdateInfo {
|
|
|
7
8
|
current: string;
|
|
8
9
|
latest: string;
|
|
9
10
|
installMethod: InstallMethod;
|
|
11
|
+
unsupported?: boolean;
|
|
10
12
|
}
|
|
11
13
|
export interface PolyWeaverUpdateInfo {
|
|
12
14
|
kind: "poly-weaver";
|
|
@@ -22,6 +24,9 @@ export interface CheckAllUpdatesDeps {
|
|
|
22
24
|
stderr?: Pick<NodeJS.WriteStream, "write" | "isTTY">;
|
|
23
25
|
wingetRetrySleep?: (ms: number) => Promise<void>;
|
|
24
26
|
wingetRetryRandom?: () => number;
|
|
27
|
+
now?: () => number;
|
|
28
|
+
setTimeoutFn?: BudgetOptions["setTimeoutFn"];
|
|
29
|
+
clearTimeoutFn?: BudgetOptions["clearTimeoutFn"];
|
|
25
30
|
}
|
|
26
31
|
export declare function checkAllUpdates(detected: DetectAgentsResult, isPolyWeaverGlobal: boolean, deps?: CheckAllUpdatesDeps): Promise<OutdatedTarget[]>;
|
|
27
32
|
export declare function parseWingetShowVersion(stdout: string): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-agent-updates.d.ts","sourceRoot":"","sources":["../../src/auto-update/check-agent-updates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"check-agent-updates.d.ts","sourceRoot":"","sources":["../../src/auto-update/check-agent-updates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAML,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,eAAe,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAClD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAClD;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,kBAAkB,EAAE,OAAO,EAC3B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,cAAc,EAAE,CAAC,CA6D3B;AAuFD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIzE"}
|
|
@@ -1,24 +1,33 @@
|
|
|
1
1
|
import { checkForUpdate as checkForPolyWeaverUpdate } from "../update-check.js";
|
|
2
2
|
import { compareVersions, parseVersion } from "../providers/version.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { createBudget, execTimeoutMs, } from "./budget.js";
|
|
4
|
+
import { UPDATE_CHECK_STAGE_BUDGET_MS, WINGET_MAX_ATTEMPTS } from "./timeouts.js";
|
|
5
|
+
import { wingetExecWithRetry } from "./winget-retry.js";
|
|
5
6
|
import { AGENT_ORDER, AGENT_PACKAGE_NPM, AGENT_PACKAGE_WINGET, AGENT_PRODUCT_NAME, } from "./detect-agents.js";
|
|
6
7
|
export async function checkAllUpdates(detected, isPolyWeaverGlobal, deps = {}) {
|
|
7
8
|
const checkForUpdate = deps.checkForUpdate ?? checkForPolyWeaverUpdate;
|
|
8
9
|
const stderr = deps.stderr ?? process.stderr;
|
|
9
|
-
const hasAgent = detected.agents.length > 0;
|
|
10
|
+
const hasAgent = detected.agents.length > 0 || detected.unsupported.length > 0;
|
|
10
11
|
const showProgress = stderr.isTTY === true && (isPolyWeaverGlobal || hasAgent);
|
|
11
12
|
if (showProgress) {
|
|
12
13
|
// The trailing glyph is U+2026, not three periods.
|
|
13
14
|
stderr.write("Checking for updates…");
|
|
14
15
|
}
|
|
16
|
+
const stage = createBudget(UPDATE_CHECK_STAGE_BUDGET_MS, budgetOptions(deps));
|
|
15
17
|
try {
|
|
16
18
|
const byName = new Map(detected.agents.map((agent) => [agent.name, agent]));
|
|
19
|
+
const byNameUnsupported = new Map(detected.unsupported.map((agent) => [agent.name, agent]));
|
|
17
20
|
const updatePromises = [
|
|
18
|
-
isPolyWeaverGlobal ? checkForUpdate() : Promise.resolve(null),
|
|
21
|
+
stage.guard(isPolyWeaverGlobal ? checkForUpdate() : Promise.resolve(null), () => null),
|
|
19
22
|
...AGENT_ORDER.map((name) => {
|
|
20
23
|
const agent = byName.get(name);
|
|
21
|
-
return agent ? checkAgentUpdate(agent, deps) : Promise.resolve(null);
|
|
24
|
+
return stage.guard(agent ? checkAgentUpdate(agent, deps, stage) : Promise.resolve(null), () => null);
|
|
25
|
+
}),
|
|
26
|
+
...AGENT_ORDER.map((name) => {
|
|
27
|
+
const agent = byNameUnsupported.get(name);
|
|
28
|
+
return stage.guard(agent
|
|
29
|
+
? checkAgentUpdate(agent, deps, stage, { unsupported: true })
|
|
30
|
+
: Promise.resolve(null), () => null);
|
|
22
31
|
}),
|
|
23
32
|
];
|
|
24
33
|
const [pwInfo, ...agentUpdates] = await Promise.all(updatePromises);
|
|
@@ -38,18 +47,19 @@ export async function checkAllUpdates(detected, isPolyWeaverGlobal, deps = {}) {
|
|
|
38
47
|
return outdated;
|
|
39
48
|
}
|
|
40
49
|
finally {
|
|
50
|
+
stage.dispose();
|
|
41
51
|
if (showProgress)
|
|
42
52
|
stderr.write("\r\x1b[2K");
|
|
43
53
|
}
|
|
44
54
|
}
|
|
45
|
-
async function checkAgentUpdate(agent, deps) {
|
|
55
|
+
async function checkAgentUpdate(agent, deps, stage, opts = {}) {
|
|
46
56
|
const installMethod = pickManager(agent);
|
|
47
57
|
if (installMethod === null)
|
|
48
58
|
return null;
|
|
49
59
|
const latest = installMethod === "npm"
|
|
50
|
-
? await queryNpmLatest(agent.name, deps)
|
|
51
|
-
: await queryWingetLatest(agent.name, deps);
|
|
52
|
-
return buildAgentUpdate(agent, latest, installMethod);
|
|
60
|
+
? await queryNpmLatest(agent.name, deps, stage)
|
|
61
|
+
: await queryWingetLatest(agent.name, deps, stage);
|
|
62
|
+
return buildAgentUpdate(agent, latest, installMethod, opts.unsupported === true);
|
|
53
63
|
}
|
|
54
64
|
function pickManager(agent) {
|
|
55
65
|
if (agent.activeManager === "npm")
|
|
@@ -62,12 +72,12 @@ function pickManager(agent) {
|
|
|
62
72
|
return "winget";
|
|
63
73
|
return null;
|
|
64
74
|
}
|
|
65
|
-
function buildAgentUpdate(agent, latest, installMethod) {
|
|
75
|
+
function buildAgentUpdate(agent, latest, installMethod, unsupported) {
|
|
66
76
|
if (!latest)
|
|
67
77
|
return null;
|
|
68
78
|
if (compareVersions(agent.version, latest) >= 0)
|
|
69
79
|
return null;
|
|
70
|
-
|
|
80
|
+
const update = {
|
|
71
81
|
kind: "agent",
|
|
72
82
|
name: agent.name,
|
|
73
83
|
productName: AGENT_PRODUCT_NAME[agent.name],
|
|
@@ -75,12 +85,15 @@ function buildAgentUpdate(agent, latest, installMethod) {
|
|
|
75
85
|
latest,
|
|
76
86
|
installMethod,
|
|
77
87
|
};
|
|
88
|
+
if (unsupported)
|
|
89
|
+
update.unsupported = true;
|
|
90
|
+
return update;
|
|
78
91
|
}
|
|
79
|
-
async function queryNpmLatest(name, deps) {
|
|
92
|
+
async function queryNpmLatest(name, deps, stage) {
|
|
80
93
|
const execAsync = deps.execAsync ?? defaultExecAsync;
|
|
81
94
|
try {
|
|
82
95
|
const result = await execAsync(`npm view ${AGENT_PACKAGE_NPM[name]} version`, {
|
|
83
|
-
timeout:
|
|
96
|
+
timeout: execTimeoutMs(stage),
|
|
84
97
|
});
|
|
85
98
|
return parseVersion(result.stdout);
|
|
86
99
|
}
|
|
@@ -88,11 +101,16 @@ async function queryNpmLatest(name, deps) {
|
|
|
88
101
|
return undefined;
|
|
89
102
|
}
|
|
90
103
|
}
|
|
91
|
-
async function queryWingetLatest(name, deps) {
|
|
104
|
+
async function queryWingetLatest(name, deps, stage) {
|
|
92
105
|
const execAsync = deps.execAsync ?? defaultExecAsync;
|
|
93
106
|
const id = AGENT_PACKAGE_WINGET[name];
|
|
94
107
|
try {
|
|
95
|
-
const result = await wingetExecWithRetry(`winget show --id ${id} --exact --accept-source-agreements --disable-interactivity`, { timeout:
|
|
108
|
+
const result = await wingetExecWithRetry(`winget show --id ${id} --exact --accept-source-agreements --disable-interactivity`, () => ({ timeout: execTimeoutMs(stage) }), (err) => parseWingetShowVersion(stdoutFromError(err)) === undefined, {
|
|
109
|
+
execAsync,
|
|
110
|
+
sleep: deps.wingetRetrySleep,
|
|
111
|
+
random: deps.wingetRetryRandom,
|
|
112
|
+
remainingBudgetMs: () => stage.remainingMs(),
|
|
113
|
+
}, WINGET_MAX_ATTEMPTS);
|
|
96
114
|
return parseWingetShowVersion(result.stdout);
|
|
97
115
|
}
|
|
98
116
|
catch (err) {
|
|
@@ -105,6 +123,13 @@ export function parseWingetShowVersion(stdout) {
|
|
|
105
123
|
return undefined;
|
|
106
124
|
return parseVersion(match[1]);
|
|
107
125
|
}
|
|
126
|
+
function budgetOptions(deps) {
|
|
127
|
+
return {
|
|
128
|
+
now: deps.now,
|
|
129
|
+
setTimeoutFn: deps.setTimeoutFn,
|
|
130
|
+
clearTimeoutFn: deps.clearTimeoutFn,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
108
133
|
async function defaultExecAsync(command, options) {
|
|
109
134
|
const { exec } = await import("node:child_process");
|
|
110
135
|
const { promisify } = await import("node:util");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-agent-updates.js","sourceRoot":"","sources":["../../src/auto-update/check-agent-updates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,IAAI,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"check-agent-updates.js","sourceRoot":"","sources":["../../src/auto-update/check-agent-updates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ExecFileOptions, type ExecOptions } from "node:child_process";
|
|
2
|
+
import { type BudgetOptions } from "./budget.js";
|
|
2
3
|
export type AgentName = "claude" | "codex" | "copilot";
|
|
3
4
|
export type InstallMethod = "npm" | "winget";
|
|
4
5
|
export type ActiveManager = InstallMethod | "unknown";
|
|
@@ -13,6 +14,9 @@ export interface AgentDetection {
|
|
|
13
14
|
managedBy: Set<InstallMethod>;
|
|
14
15
|
activeManager: ActiveManager;
|
|
15
16
|
}
|
|
17
|
+
export interface UnsupportedAgentDetection extends AgentDetection {
|
|
18
|
+
reason: string;
|
|
19
|
+
}
|
|
16
20
|
export type NodePtyResult = {
|
|
17
21
|
ok: true;
|
|
18
22
|
} | {
|
|
@@ -22,6 +26,7 @@ export type NodePtyResult = {
|
|
|
22
26
|
export interface DetectAgentsResult {
|
|
23
27
|
nodePty: NodePtyResult;
|
|
24
28
|
agents: AgentDetection[];
|
|
29
|
+
unsupported: UnsupportedAgentDetection[];
|
|
25
30
|
}
|
|
26
31
|
export interface PreflightNeeds {
|
|
27
32
|
needClaude: boolean;
|
|
@@ -48,6 +53,9 @@ export interface DetectAgentsDeps {
|
|
|
48
53
|
platform?: NodeJS.Platform;
|
|
49
54
|
wingetRetrySleep?: (ms: number) => Promise<void>;
|
|
50
55
|
wingetRetryRandom?: () => number;
|
|
56
|
+
now?: () => number;
|
|
57
|
+
setTimeoutFn?: BudgetOptions["setTimeoutFn"];
|
|
58
|
+
clearTimeoutFn?: BudgetOptions["clearTimeoutFn"];
|
|
51
59
|
}
|
|
52
60
|
export declare function detectAgents(deps?: DetectAgentsDeps): Promise<DetectAgentsResult>;
|
|
53
61
|
export declare function computePreflightNeeds(opts: {
|
|
@@ -65,12 +73,13 @@ export declare function validateCopilotVersion(version: string | undefined): {
|
|
|
65
73
|
ok: false;
|
|
66
74
|
error: string;
|
|
67
75
|
};
|
|
76
|
+
export declare function unsupportedVersionReason(name: AgentName, version: string): string | null;
|
|
68
77
|
export declare function runPreflight(opts: {
|
|
69
78
|
needClaude: boolean;
|
|
70
79
|
needCodex: boolean;
|
|
71
80
|
needCopilot: boolean;
|
|
72
81
|
}, deps?: DetectAgentsDeps): Promise<PreflightResult>;
|
|
73
|
-
export declare function detectCliVersion(command: string, args: string[], deps?: DetectAgentsDeps): Promise<string | undefined | false>;
|
|
82
|
+
export declare function detectCliVersion(command: string, args: string[], deps?: DetectAgentsDeps, timeoutMs?: number): Promise<string | undefined | false>;
|
|
74
83
|
export declare function checkNodePty(deps?: DetectAgentsDeps): Promise<NodePtyResult>;
|
|
75
84
|
export declare function parseNpmGlobalPackages(stdout: string): Set<string>;
|
|
76
85
|
export declare function wingetOutputContainsId(stdout: string, id: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect-agents.d.ts","sourceRoot":"","sources":["../../src/auto-update/detect-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,eAAe,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"detect-agents.d.ts","sourceRoot":"","sources":["../../src/auto-update/detect-agents.ts"],"names":[],"mappings":"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"}
|