@pentoshi/clai 3.13.2 → 3.15.0
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/README.md +3 -3
- package/dist/agent/compaction-summary.d.ts +2 -2
- package/dist/agent/compaction-summary.js +6 -3
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/app/commands/registry.js +1 -1
- package/dist/app/commands/registry.js.map +1 -1
- package/dist/attachments/service.js +1 -4
- package/dist/attachments/service.js.map +1 -1
- package/dist/commands/update-install.d.ts +49 -0
- package/dist/commands/update-install.js +307 -0
- package/dist/commands/update-install.js.map +1 -0
- package/dist/commands/update.d.ts +12 -1
- package/dist/commands/update.js +44 -43
- package/dist/commands/update.js.map +1 -1
- package/dist/llm/http.js +59 -13
- package/dist/llm/http.js.map +1 -1
- package/dist/llm/meta.js +860 -23
- package/dist/llm/meta.js.map +1 -1
- package/dist/llm/provider.js +3 -3
- package/dist/prompts/embedded.js +2 -2
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/system.agent.md +1 -4
- package/dist/prompts/system.ask.md +2 -2
- package/dist/repl/slash-commands.js +4 -3
- package/dist/repl/slash-commands.js.map +1 -1
- package/dist/repl.js +18 -8
- package/dist/repl.js.map +1 -1
- package/dist/store/history.d.ts +4 -0
- package/dist/store/history.js +77 -1
- package/dist/store/history.js.map +1 -1
- package/dist/tools/file-diff.js +6 -1
- package/dist/tools/file-diff.js.map +1 -1
- package/dist/tools/shell.js +69 -4
- package/dist/tools/shell.js.map +1 -1
- package/dist/tui-v2/app/App.js +12 -0
- package/dist/tui-v2/app/App.js.map +1 -1
- package/dist/tui-v2/app/command-handlers.js +2 -2
- package/dist/tui-v2/app/command-handlers.js.map +1 -1
- package/dist/tui-v2/app/commands/config-commands.js +28 -8
- package/dist/tui-v2/app/commands/config-commands.js.map +1 -1
- package/dist/tui-v2/app/commands/picker-commands.d.ts +1 -1
- package/dist/tui-v2/app/commands/picker-commands.js +18 -5
- package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
- package/dist/tui-v2/app/startup-update.d.ts +8 -0
- package/dist/tui-v2/app/startup-update.js +27 -0
- package/dist/tui-v2/app/startup-update.js.map +1 -0
- package/dist/tui-v2/bootstrap/console-suppress.d.ts +1 -0
- package/dist/tui-v2/bootstrap/console-suppress.js +16 -0
- package/dist/tui-v2/bootstrap/console-suppress.js.map +1 -0
- package/dist/tui-v2/bootstrap/start-tui-v2.js +3 -0
- package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
- package/dist/tui-v2/components/transcript/assistant-message.js +8 -3
- package/dist/tui-v2/components/transcript/assistant-message.js.map +1 -1
- package/dist/tui-v2/components/transcript/tool-card.js +3 -3
- package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-scrollbar.js +7 -3
- package/dist/tui-v2/components/transcript/transcript-scrollbar.js.map +1 -1
- package/dist/tui-v2/components/transcript/user-message.js +8 -3
- package/dist/tui-v2/components/transcript/user-message.js.map +1 -1
- package/dist/tui-v2/controllers/toast-controller.d.ts +3 -3
- package/dist/tui-v2/controllers/toast-controller.js +2 -2
- package/dist/tui-v2/rendering/format-help.js +1 -1
- package/dist/tui-v2/rendering/format-help.js.map +1 -1
- package/dist/tui-v2/rendering/tool-presenter.js +1 -4
- package/dist/tui-v2/rendering/tool-presenter.js.map +1 -1
- package/dist/ui/mentions.d.ts +2 -5
- package/dist/ui/mentions.js +11 -116
- package/dist/ui/mentions.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -208,7 +208,7 @@ clai use tokenrouter # model defaults to kimi-k2p6
|
|
|
208
208
|
/model deepseek-v4-pro # 1M context · or kimi-k2p7-code, glm-5p1, minimax-m3
|
|
209
209
|
```
|
|
210
210
|
|
|
211
|
-
Model ids are short and case-sensitive (`kimi-k2p6`, not `Kimi K2.6`), and `/model` reads the live `/models` list, which is filtered to the channels your key can reach. clai carries the real per-model context windows — 1M for DeepSeek V4, 512K for MiniMax M3, 256K for Kimi/Qwen, 200K for GLM — so the context meter and auto-compaction are accurate instead of guessing 128K. Reasoning arrives as `reasoning_content` and is folded into the normal thinking block, so `/think` and `/
|
|
211
|
+
Model ids are short and case-sensitive (`kimi-k2p6`, not `Kimi K2.6`), and `/model` reads the live `/models` list, which is filtered to the channels your key can reach. clai carries the real per-model context windows — 1M for DeepSeek V4, 512K for MiniMax M3, 256K for Kimi/Qwen, 200K for GLM — so the context meter and auto-compaction are accurate instead of guessing 128K. Reasoning arrives as `reasoning_content` and is folded into the normal thinking block, so `/think` and `/effort` work. Base URL defaults to `https://api.tokenrouter.com/v1` and is overridable with `clai set tokenrouter --url <url>` or `TOKENROUTER_BASE_URL` if your account uses a different host.
|
|
212
212
|
|
|
213
213
|
### Manage keys
|
|
214
214
|
|
|
@@ -309,7 +309,7 @@ Three modes, switchable anytime with a slash command, `Shift+Tab`, or `clai --mo
|
|
|
309
309
|
| **agent** | Executes: edits, installs, scans, verifies, works the plan. |
|
|
310
310
|
| **plan** | Research and design a durable plan; approve with `/implement` before execution. |
|
|
311
311
|
|
|
312
|
-
**Reasoning / thinking** is controlled with `/
|
|
312
|
+
**Reasoning / thinking** is controlled with `/effort` (alias `/reasoning`), accepting `on`, `off`, `none`, `minimal`, `low`, `medium`, `high`, or `xhigh`. clai only sends reasoning options to models that support them — and if a model rejects them at runtime, it marks that model, retries once without them, and tells you (`… rejected reasoning options — retrying without them`) so a session never hangs on an unsupported knob.
|
|
313
313
|
|
|
314
314
|
---
|
|
315
315
|
|
|
@@ -357,7 +357,7 @@ Tool cards show the command/input clearly and keep long scan tails in an expanda
|
|
|
357
357
|
| `/implement` · `/discard` | Approve+execute or drop the current plan |
|
|
358
358
|
| `/model [name\|#]` · `/provider [name]` · `/use <provider>` | Pick model / switch provider |
|
|
359
359
|
| `/set [provider]` · `/unset [provider]` · `/keys` · `/info [provider]` | Manage API keys, endpoint URLs, and view provider setup / pricing info |
|
|
360
|
-
| `/
|
|
360
|
+
| `/effort [level]` · `/reasoning [level]` | Thinking / reasoning effort |
|
|
361
361
|
| `/freeonly [on\|off]` · `/fallback [on\|off]` | Free-only filter · cross-provider fallback |
|
|
362
362
|
| `/search [provider]` · `/search-provider` | Choose web-search backend |
|
|
363
363
|
| `/scope [show\|add\|new\|clear]` | Engagement scope |
|
|
@@ -28,10 +28,10 @@ export declare const COMPACTION_TRANSCRIPT_CHAR_BUDGET = 48000;
|
|
|
28
28
|
* so its allowance must comfortably exceed the ~1400–2400 token target while
|
|
29
29
|
* still discouraging hidden reasoning blowout.
|
|
30
30
|
*/
|
|
31
|
-
export declare const COMPACTION_MAX_COMPLETION_TOKENS =
|
|
31
|
+
export declare const COMPACTION_MAX_COMPLETION_TOKENS = 12288;
|
|
32
32
|
export declare const COMPACTION_INPUT_SAFETY_TOKENS = 4096;
|
|
33
33
|
export declare function compactionSinglePassInputBudget(contextLimitTokens: number): number;
|
|
34
|
-
export declare const COMPACTION_MAP_MAX_COMPLETION_TOKENS =
|
|
34
|
+
export declare const COMPACTION_MAP_MAX_COMPLETION_TOKENS = 4096;
|
|
35
35
|
export declare const COMPACTION_CHUNK_CHAR_BUDGET = 64000;
|
|
36
36
|
export declare const MAX_COMPACTION_CHUNKS = 8;
|
|
37
37
|
/**
|
|
@@ -62,7 +62,7 @@ export const COMPACTION_TRANSCRIPT_CHAR_BUDGET = 48_000;
|
|
|
62
62
|
* so its allowance must comfortably exceed the ~1400–2400 token target while
|
|
63
63
|
* still discouraging hidden reasoning blowout.
|
|
64
64
|
*/
|
|
65
|
-
export const COMPACTION_MAX_COMPLETION_TOKENS =
|
|
65
|
+
export const COMPACTION_MAX_COMPLETION_TOKENS = 12_288;
|
|
66
66
|
export const COMPACTION_INPUT_SAFETY_TOKENS = 4_096;
|
|
67
67
|
export function compactionSinglePassInputBudget(contextLimitTokens) {
|
|
68
68
|
if (!Number.isFinite(contextLimitTokens))
|
|
@@ -71,7 +71,7 @@ export function compactionSinglePassInputBudget(contextLimitTokens) {
|
|
|
71
71
|
COMPACTION_MAX_COMPLETION_TOKENS -
|
|
72
72
|
COMPACTION_INPUT_SAFETY_TOKENS);
|
|
73
73
|
}
|
|
74
|
-
export const COMPACTION_MAP_MAX_COMPLETION_TOKENS =
|
|
74
|
+
export const COMPACTION_MAP_MAX_COMPLETION_TOKENS = 4_096;
|
|
75
75
|
export const COMPACTION_CHUNK_CHAR_BUDGET = 64_000;
|
|
76
76
|
export const MAX_COMPACTION_CHUNKS = 8;
|
|
77
77
|
/**
|
|
@@ -182,8 +182,11 @@ export function looksLikeIncompleteCompactionSummary(summary) {
|
|
|
182
182
|
return /\b(?:and|or|the|a|an|to|with|without|has|have|had|is|are|was|were|from|for|of|in|on|at|by|as|that|which|whose|because|so)$/i.test(last);
|
|
183
183
|
}
|
|
184
184
|
export function isCompactionCompletionTruncated(response, maxTokens) {
|
|
185
|
-
|
|
185
|
+
const finish = response.finishReason?.toLowerCase();
|
|
186
|
+
if (finish === "length")
|
|
186
187
|
return true;
|
|
188
|
+
if (finish === "stop")
|
|
189
|
+
return false;
|
|
187
190
|
const used = response.usage?.completionTokens;
|
|
188
191
|
return typeof used === "number" && used >= Math.max(1, maxTokens - 32);
|
|
189
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-summary.js","sourceRoot":"","sources":["../../src/agent/compaction-summary.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compaction-summary.js","sourceRoot":"","sources":["../../src/agent/compaction-summary.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/app/commands/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACL,oBAAoB,GAKrB,MAAM,cAAc,CAAC;AAGtB,MAAM,YAAY,GAAsC;IACtD,QAAQ,EAAE,CAAC,KAAK,CAAC;IACjB,MAAM,EAAE,CAAC,iBAAiB,CAAC;IAC3B,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/app/commands/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,11 +62,8 @@ export function resolveTurnInput(input) {
|
|
|
62
62
|
? `${dropped} image(s) passed validation but could not be encoded for ${input.provider}/${model}.`
|
|
63
63
|
: `${dropped} of ${candidates.length} image(s) were left out to stay inside the ${budget.label} per-request image limit (${budget.maxCount}).`);
|
|
64
64
|
}
|
|
65
|
-
const prompt = expansion.contextBlock
|
|
66
|
-
? `${expansion.text}\n\n${expansion.contextBlock}`
|
|
67
|
-
: expansion.text;
|
|
68
65
|
return {
|
|
69
|
-
prompt,
|
|
66
|
+
prompt: expansion.text,
|
|
70
67
|
mode: input.mode,
|
|
71
68
|
provider: input.provider,
|
|
72
69
|
model,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/attachments/service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,cAAc,GAEf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,cAAc,EACd,cAAc,GAEf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAkBpD,SAAS,OAAO,CAAC,UAAsB;IACrC,OAAO,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC;AACrC,CAAC;AAED,SAAS,eAAe,CAAC,UAAsB;IAC7C,OAAO,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAMhC;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;IAC3C,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IACxB,IAAI,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,IAAI,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE;QACpD,aAAa,EAAE,OAAO,KAAK,IAAI;QAC/B,MAAM;KACP,CAAC,CAAC;IACH,IAAI,cAAkC,CAAC;IAEvC,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,QAAQ,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACnC,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,MAAM,GACV,QAAQ,KAAK,UAAU;gBACrB,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,sBAAsB;gBACtC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,6BAA6B,CAAC;YAClD,KAAK,GAAG,QAAQ,CAAC;YACjB,OAAO,GAAG,KAAK,CAAC;YAChB,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC/C,cAAc;gBACZ,uCAAuC,QAAQ,YAAY,MAAM,GAAG;oBACpE,uBAAuB,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC;YAC9E,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE;gBAChD,aAAa,EAAE,IAAI;gBACnB,MAAM;aACP,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACjE,MAAM,MAAM,GACV,OAAO,KAAK,IAAI;QACd,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,cAAc,CACZ,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAC/C,MAAM,EACN,OAAO,CACR,CAAC;IAER,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACpB,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpD,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/C,cAAc;YACZ,oGAAoG,CAAC;QACvG,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE;YAChD,aAAa,EAAE,OAAO,KAAK,IAAI;YAC/B,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW;SACtC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,KAAK,CAAC;SAC5E,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC,CAAC;IACpF,IAAI,OAAO,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAClD,WAAW,CAAC,IAAI,CACd,OAAO,KAAK,UAAU,CAAC,MAAM;YAC3B,CAAC,CAAC,GAAG,OAAO,4DAA4D,KAAK,CAAC,QAAQ,IAAI,KAAK,GAAG;YAClG,CAAC,CAAC,GAAG,OAAO,OAAO,UAAU,CAAC,MAAM,8CAA8C,MAAM,CAAC,KAAK,6BAA6B,MAAM,CAAC,QAAQ,IAAI,CACjJ,CAAC;IACJ,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/attachments/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare const REPO = "pentoshi007/clai";
|
|
2
|
+
export declare const PACKAGE_NAME = "@pentoshi/clai";
|
|
3
|
+
export type InstallMethodType = "npm" | "bun" | "brew" | "scoop" | "binary" | "dev" | "unknown";
|
|
4
|
+
export interface InstallMethod {
|
|
5
|
+
readonly type: InstallMethodType;
|
|
6
|
+
readonly detail: string;
|
|
7
|
+
}
|
|
8
|
+
export interface PlatformTarget {
|
|
9
|
+
readonly platform: "darwin" | "linux" | "windows";
|
|
10
|
+
readonly arch: "arm64" | "x64";
|
|
11
|
+
/** Release asset name without extension, e.g. clai-bun-darwin-arm64. */
|
|
12
|
+
readonly asset: string;
|
|
13
|
+
/** Filename as published, with .exe appended on Windows. */
|
|
14
|
+
readonly file: string;
|
|
15
|
+
}
|
|
16
|
+
export interface DetectEnv {
|
|
17
|
+
readonly argv1: string;
|
|
18
|
+
readonly execPath: string;
|
|
19
|
+
readonly platform: NodeJS.Platform;
|
|
20
|
+
readonly home: string;
|
|
21
|
+
npmRoot?: string;
|
|
22
|
+
bunRoot?: string;
|
|
23
|
+
brewPrefix?: string;
|
|
24
|
+
scoopShimsDir?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function currentPlatformTarget(platform?: NodeJS.Platform, arch?: NodeJS.Architecture): PlatformTarget;
|
|
27
|
+
export declare function detectInstallMethod(env: DetectEnv): InstallMethod;
|
|
28
|
+
export declare function resolveInstallEnv(): DetectEnv;
|
|
29
|
+
export declare function downloadBinary(url: string, timeoutMs?: number): Promise<Buffer>;
|
|
30
|
+
export interface UpdateInstallResult {
|
|
31
|
+
readonly ok: boolean;
|
|
32
|
+
readonly method: InstallMethodType;
|
|
33
|
+
readonly message: string;
|
|
34
|
+
/** True when the new build only takes effect after the process restarts. */
|
|
35
|
+
readonly needsRestart: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface PerformUpdateOptions {
|
|
38
|
+
readonly version: string;
|
|
39
|
+
readonly method: InstallMethod;
|
|
40
|
+
readonly target?: PlatformTarget;
|
|
41
|
+
readonly repo?: string;
|
|
42
|
+
readonly execPath?: string;
|
|
43
|
+
readonly log?: (line: string) => void;
|
|
44
|
+
/** inherit: let the child write to the terminal (CLI). pipe: capture + log (TUI). */
|
|
45
|
+
readonly stdio?: "inherit" | "pipe";
|
|
46
|
+
}
|
|
47
|
+
export declare function installDirectBinary(options: Required<Pick<PerformUpdateOptions, "version" | "method">> & PerformUpdateOptions): Promise<UpdateInstallResult>;
|
|
48
|
+
export declare function installViaPackageManager(options: Required<Pick<PerformUpdateOptions, "version" | "method">> & PerformUpdateOptions): Promise<UpdateInstallResult>;
|
|
49
|
+
export declare function performUpdate(options: PerformUpdateOptions): Promise<UpdateInstallResult>;
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
2
|
+
import { createHash } from "node:crypto";
|
|
3
|
+
import { chmodSync, existsSync, mkdtempSync, realpathSync, renameSync, rmSync, writeFileSync, } from "node:fs";
|
|
4
|
+
import { homedir, tmpdir } from "node:os";
|
|
5
|
+
import { basename, join } from "node:path";
|
|
6
|
+
import chalk from "chalk";
|
|
7
|
+
export const REPO = "pentoshi007/clai";
|
|
8
|
+
export const PACKAGE_NAME = "@pentoshi/clai";
|
|
9
|
+
export function currentPlatformTarget(platform = process.platform, arch = process.arch) {
|
|
10
|
+
const p = platform === "darwin" ? "darwin" : platform === "win32" ? "windows" : "linux";
|
|
11
|
+
const a = arch === "arm64" ? "arm64" : "x64";
|
|
12
|
+
const asset = `clai-bun-${p}-${a}`;
|
|
13
|
+
return { platform: p, arch: a, asset, file: `${asset}${p === "windows" ? ".exe" : ""}` };
|
|
14
|
+
}
|
|
15
|
+
function isWithin(target, root) {
|
|
16
|
+
const t = target.toLowerCase();
|
|
17
|
+
const r = root.toLowerCase();
|
|
18
|
+
return t === r || t.startsWith(r.endsWith("/") || r.endsWith("\\") ? r : `${r}/`) || t.startsWith(r.endsWith("/") || r.endsWith("\\") ? r : `${r}\\`);
|
|
19
|
+
}
|
|
20
|
+
function resolvedArgument(argv1) {
|
|
21
|
+
try {
|
|
22
|
+
return realpathSync(argv1);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return argv1;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export function detectInstallMethod(env) {
|
|
29
|
+
const argv1 = env.argv1 || "";
|
|
30
|
+
const realArgv1 = resolvedArgument(argv1);
|
|
31
|
+
const exec = env.execPath || "";
|
|
32
|
+
const paths = argv1 === realArgv1 ? [argv1] : [argv1, realArgv1];
|
|
33
|
+
const anyHas = (sub) => paths.some((p) => p.includes(sub));
|
|
34
|
+
const anyWithin = (root) => root !== undefined && paths.some((p) => isWithin(p, root));
|
|
35
|
+
if (anyHas("src/index.ts") || anyHas("dist/index.js")) {
|
|
36
|
+
return { type: "dev", detail: "running from a source checkout" };
|
|
37
|
+
}
|
|
38
|
+
if (env.platform === "darwin" && env.brewPrefix) {
|
|
39
|
+
return { type: "brew", detail: `Homebrew formula at ${env.brewPrefix}` };
|
|
40
|
+
}
|
|
41
|
+
if (env.platform === "win32" &&
|
|
42
|
+
env.scoopShimsDir &&
|
|
43
|
+
anyWithin(env.scoopShimsDir)) {
|
|
44
|
+
return { type: "scoop", detail: `Scoop shim ${exec}` };
|
|
45
|
+
}
|
|
46
|
+
if (anyHas("node_modules")) {
|
|
47
|
+
if (anyWithin(env.bunRoot) ||
|
|
48
|
+
anyHas(".bun/install/global")) {
|
|
49
|
+
return { type: "bun", detail: `bun global install (${env.bunRoot ?? "~/.bun"})` };
|
|
50
|
+
}
|
|
51
|
+
if (anyWithin(env.npmRoot)) {
|
|
52
|
+
return { type: "npm", detail: `npm global install (${env.npmRoot})` };
|
|
53
|
+
}
|
|
54
|
+
return { type: "npm", detail: "global npm/bun package" };
|
|
55
|
+
}
|
|
56
|
+
const base = basename(realArgv1).toLowerCase();
|
|
57
|
+
const execLower = exec.toLowerCase();
|
|
58
|
+
if (base === "clai" ||
|
|
59
|
+
base === "clai.exe" ||
|
|
60
|
+
base.startsWith("clai-bun-") ||
|
|
61
|
+
execLower.endsWith("/clai") ||
|
|
62
|
+
execLower.endsWith("\\clai") ||
|
|
63
|
+
execLower.endsWith("/clai.exe") ||
|
|
64
|
+
execLower.endsWith("\\clai.exe") ||
|
|
65
|
+
execLower.includes("clai-bun-") ||
|
|
66
|
+
(base.startsWith("clai") && (base.endsWith(".exe") || base.endsWith(".bin")))) {
|
|
67
|
+
return { type: "binary", detail: `standalone binary at ${exec}` };
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
type: "unknown",
|
|
71
|
+
detail: `unrecognized install (argv=${argv1}, exec=${exec})`,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function run(cmd, args) {
|
|
75
|
+
try {
|
|
76
|
+
const r = spawnSync(cmd, [...args], {
|
|
77
|
+
encoding: "utf8",
|
|
78
|
+
timeout: 20000,
|
|
79
|
+
windowsHide: true,
|
|
80
|
+
});
|
|
81
|
+
if (r.status === 0 && r.stdout)
|
|
82
|
+
return r.stdout.trim();
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
// command unavailable
|
|
86
|
+
}
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
function resolveBunGlobalRoot() {
|
|
90
|
+
const prefix = process.env.BUN_INSTALL?.trim();
|
|
91
|
+
const candidates = [];
|
|
92
|
+
if (prefix)
|
|
93
|
+
candidates.push(join(prefix, "install", "global", "node_modules"));
|
|
94
|
+
candidates.push(join(homedir(), ".bun", "install", "global", "node_modules"));
|
|
95
|
+
for (const c of candidates) {
|
|
96
|
+
if (existsSync(c))
|
|
97
|
+
return c;
|
|
98
|
+
}
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
export function resolveInstallEnv() {
|
|
102
|
+
const env = {
|
|
103
|
+
argv1: process.argv[1] ?? "",
|
|
104
|
+
execPath: process.execPath,
|
|
105
|
+
platform: process.platform,
|
|
106
|
+
home: homedir(),
|
|
107
|
+
};
|
|
108
|
+
const nodeCmd = process.platform === "win32" ? "npm.cmd" : "npm";
|
|
109
|
+
if (process.platform === "darwin") {
|
|
110
|
+
const prefix = run("brew", ["--prefix", "clai"]);
|
|
111
|
+
if (prefix && existsSync(join(prefix, "bin", "clai"))) {
|
|
112
|
+
env.brewPrefix = prefix;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (process.platform === "win32") {
|
|
116
|
+
const scoop = process.env.SCOOP && process.env.SCOOP.trim()
|
|
117
|
+
? process.env.SCOOP.trim()
|
|
118
|
+
: join(homedir(), "scoop");
|
|
119
|
+
env.scoopShimsDir = join(scoop, "shims");
|
|
120
|
+
}
|
|
121
|
+
const npmRoot = run(nodeCmd, ["root", "-g"]);
|
|
122
|
+
if (npmRoot)
|
|
123
|
+
env.npmRoot = npmRoot;
|
|
124
|
+
const bunRoot = resolveBunGlobalRoot();
|
|
125
|
+
if (bunRoot)
|
|
126
|
+
env.bunRoot = bunRoot;
|
|
127
|
+
return env;
|
|
128
|
+
}
|
|
129
|
+
export async function downloadBinary(url, timeoutMs = 120_000) {
|
|
130
|
+
const controller = new AbortController();
|
|
131
|
+
const timeout = setTimeout(() => controller.abort(), timeoutMs);
|
|
132
|
+
try {
|
|
133
|
+
const res = await fetch(url, {
|
|
134
|
+
redirect: "follow",
|
|
135
|
+
signal: controller.signal,
|
|
136
|
+
headers: { "User-Agent": "clai-updater" },
|
|
137
|
+
});
|
|
138
|
+
if (!res.ok) {
|
|
139
|
+
throw new Error(`download failed (HTTP ${res.status}) for ${url}`);
|
|
140
|
+
}
|
|
141
|
+
return Buffer.from(await res.arrayBuffer());
|
|
142
|
+
}
|
|
143
|
+
finally {
|
|
144
|
+
clearTimeout(timeout);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function sha256(data) {
|
|
148
|
+
return createHash("sha256").update(data).digest("hex");
|
|
149
|
+
}
|
|
150
|
+
function logOf(log) {
|
|
151
|
+
return log ?? ((line) => console.log(line));
|
|
152
|
+
}
|
|
153
|
+
function replaceExecutable(tmp, execPath, platform) {
|
|
154
|
+
if (platform !== "win32") {
|
|
155
|
+
try {
|
|
156
|
+
renameSync(tmp, execPath);
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
const code = error.code;
|
|
161
|
+
if (code !== "EACCES" && code !== "EPERM")
|
|
162
|
+
throw error;
|
|
163
|
+
// Binary lives in a root-owned dir (e.g. /usr/local/bin): escalate.
|
|
164
|
+
const r = spawnSync("sudo", ["mv", tmp, execPath], {
|
|
165
|
+
stdio: "inherit",
|
|
166
|
+
timeout: 120_000,
|
|
167
|
+
});
|
|
168
|
+
if (r.status !== 0) {
|
|
169
|
+
throw new Error(`could not write ${execPath} (permission denied)`);
|
|
170
|
+
}
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Windows cannot rename a running .exe: stage the new binary and defer the
|
|
175
|
+
// swap to a detached helper that runs once this process exits.
|
|
176
|
+
const newPath = `${execPath}.update`;
|
|
177
|
+
const batPath = `${execPath}.update.cmd`;
|
|
178
|
+
const exe = basename(execPath);
|
|
179
|
+
renameSync(tmp, newPath);
|
|
180
|
+
const script = `@echo off\r\n` +
|
|
181
|
+
`:loop\r\n` +
|
|
182
|
+
`tasklist /FI "IMAGENAME eq ${exe}" 2>nul | find /I "${exe}" >nul && (timeout /t 1 /nobreak >nul & goto loop)\r\n` +
|
|
183
|
+
`move /y "${newPath}" "${execPath}"\r\n` +
|
|
184
|
+
`del "%~f0"\r\n`;
|
|
185
|
+
writeFileSync(batPath, script);
|
|
186
|
+
const child = spawn("cmd", ["/c", "start", "", "/min", batPath], {
|
|
187
|
+
detached: true,
|
|
188
|
+
stdio: "ignore",
|
|
189
|
+
windowsHide: true,
|
|
190
|
+
});
|
|
191
|
+
child.unref();
|
|
192
|
+
}
|
|
193
|
+
export async function installDirectBinary(options) {
|
|
194
|
+
const log = logOf(options.log);
|
|
195
|
+
const target = options.target ?? currentPlatformTarget();
|
|
196
|
+
const repo = options.repo ?? REPO;
|
|
197
|
+
const execPath = options.execPath ?? process.execPath;
|
|
198
|
+
const base = `https://github.com/${repo}/releases/download/v${options.version}`;
|
|
199
|
+
const url = `${base}/${target.file}`;
|
|
200
|
+
const sumUrl = `${base}/${target.file}.sha256`;
|
|
201
|
+
log(chalk.dim(` ⬇ Downloading ${target.file} (v${options.version})…`));
|
|
202
|
+
const bin = await downloadBinary(url);
|
|
203
|
+
log(chalk.dim(` 🔐 Verifying sha256…`));
|
|
204
|
+
const expected = (await downloadBinary(sumUrl)).toString("utf8").trim().split(/\s+/)[0] ?? "";
|
|
205
|
+
const actual = sha256(bin);
|
|
206
|
+
if (!expected || expected !== actual) {
|
|
207
|
+
throw new Error(`checksum mismatch for ${target.file} (expected ${expected}, got ${actual})`);
|
|
208
|
+
}
|
|
209
|
+
log(chalk.green(` ✓ checksum ok (${actual})`));
|
|
210
|
+
const dir = mkdtempSync(join(tmpdir(), "clai-update-"));
|
|
211
|
+
try {
|
|
212
|
+
const tmp = join(dir, target.file);
|
|
213
|
+
writeFileSync(tmp, bin, { mode: 0o755 });
|
|
214
|
+
if (process.platform !== "win32") {
|
|
215
|
+
try {
|
|
216
|
+
chmodSync(tmp, 0o755);
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
// ignore
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
replaceExecutable(tmp, execPath, process.platform);
|
|
223
|
+
}
|
|
224
|
+
finally {
|
|
225
|
+
rmSync(dir, { recursive: true, force: true });
|
|
226
|
+
}
|
|
227
|
+
return {
|
|
228
|
+
ok: true,
|
|
229
|
+
method: "binary",
|
|
230
|
+
message: `installed ${target.file} → ${execPath}`,
|
|
231
|
+
needsRestart: true,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
export async function installViaPackageManager(options) {
|
|
235
|
+
const log = logOf(options.log);
|
|
236
|
+
const type = options.method.type;
|
|
237
|
+
if (type !== "npm" && type !== "bun" && type !== "brew" && type !== "scoop") {
|
|
238
|
+
throw new Error(`no package manager command for install method: ${type}`);
|
|
239
|
+
}
|
|
240
|
+
const nodeCmd = process.platform === "win32" ? "npm.cmd" : "npm";
|
|
241
|
+
const bunCmd = process.platform === "win32" ? "bun.exe" : "bun";
|
|
242
|
+
let cmd = "";
|
|
243
|
+
let args = [];
|
|
244
|
+
switch (type) {
|
|
245
|
+
case "npm":
|
|
246
|
+
cmd = nodeCmd;
|
|
247
|
+
args = ["install", "-g", `${PACKAGE_NAME}@${options.version}`];
|
|
248
|
+
break;
|
|
249
|
+
case "bun":
|
|
250
|
+
cmd = bunCmd;
|
|
251
|
+
args = ["update", "-g", PACKAGE_NAME];
|
|
252
|
+
break;
|
|
253
|
+
case "brew":
|
|
254
|
+
cmd = "brew";
|
|
255
|
+
args = ["upgrade", `${REPO}/clai`];
|
|
256
|
+
break;
|
|
257
|
+
case "scoop":
|
|
258
|
+
cmd = "scoop";
|
|
259
|
+
args = ["update", "clai"];
|
|
260
|
+
break;
|
|
261
|
+
}
|
|
262
|
+
log(chalk.dim(` ⬆ Running: ${cmd} ${args.join(" ")}`));
|
|
263
|
+
const stdio = options.stdio ?? "inherit";
|
|
264
|
+
const r = stdio === "inherit"
|
|
265
|
+
? spawnSync(cmd, args, { stdio: "inherit", timeout: 600_000, windowsHide: true })
|
|
266
|
+
: spawnSync(cmd, args, {
|
|
267
|
+
encoding: "utf8",
|
|
268
|
+
timeout: 600_000,
|
|
269
|
+
windowsHide: true,
|
|
270
|
+
maxBuffer: 10 * 1024 * 1024,
|
|
271
|
+
});
|
|
272
|
+
if (stdio === "pipe") {
|
|
273
|
+
const out = `${r.stdout ?? ""}${r.stderr ?? ""}`;
|
|
274
|
+
for (const line of out.split(/\r?\n/)) {
|
|
275
|
+
if (line.trim())
|
|
276
|
+
log(line.replace(/\s+$/, ""));
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
if (r.status !== 0) {
|
|
280
|
+
const detail = stdio === "pipe" ? `${r.stdout ?? ""}${r.stderr ?? ""}`.trim() : "";
|
|
281
|
+
throw new Error(`${cmd} ${args.join(" ")} exited with status ${r.status ?? "error"}${detail ? ` — ${detail.split("\n").slice(-6).join(" ")}` : ""}`);
|
|
282
|
+
}
|
|
283
|
+
return {
|
|
284
|
+
ok: true,
|
|
285
|
+
method: type,
|
|
286
|
+
message: `updated via ${type}`,
|
|
287
|
+
needsRestart: true,
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
export async function performUpdate(options) {
|
|
291
|
+
const type = options.method.type;
|
|
292
|
+
if (type === "dev" || type === "unknown") {
|
|
293
|
+
return {
|
|
294
|
+
ok: false,
|
|
295
|
+
method: type,
|
|
296
|
+
message: type === "dev"
|
|
297
|
+
? "running from source — pull the latest and rebuild instead"
|
|
298
|
+
: "could not detect the installation method",
|
|
299
|
+
needsRestart: false,
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
if (type === "binary") {
|
|
303
|
+
return installDirectBinary(options);
|
|
304
|
+
}
|
|
305
|
+
return installViaPackageManager(options);
|
|
306
|
+
}
|
|
307
|
+
//# sourceMappingURL=update-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-install.js","sourceRoot":"","sources":["../../src/commands/update-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type InstallMethod } from "./update-install.js";
|
|
2
|
+
export declare const UPDATE_CHECK_INTERVAL_MS: number;
|
|
1
3
|
export declare function getCurrentVersion(): string;
|
|
2
4
|
/** Latest published version without the leading `v`, or undefined if unknown. */
|
|
3
5
|
export declare function fetchLatestVersion(): Promise<string | undefined>;
|
|
@@ -5,5 +7,14 @@ export declare function fetchLatestVersion(): Promise<string | undefined>;
|
|
|
5
7
|
export declare function updateCheckDisabledReason(): string | undefined;
|
|
6
8
|
/** Non-blocking startup check — prints a notice if a new version exists */
|
|
7
9
|
export declare function checkForUpdateSilent(): void;
|
|
8
|
-
/**
|
|
10
|
+
/** Resolve how this installation was put on the machine (npm/bun/brew/…). */
|
|
11
|
+
export declare function detectInstallMethodOrDev(): InstallMethod;
|
|
12
|
+
/** Download and install the given version using the detected method. */
|
|
13
|
+
export declare function installUpdate(version: string, log?: (line: string) => void, stdio?: "inherit" | "pipe"): Promise<{
|
|
14
|
+
ok: boolean;
|
|
15
|
+
message: string;
|
|
16
|
+
method: string;
|
|
17
|
+
needsRestart: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
/** Interactive `clai update` command — performs the upgrade in-process. */
|
|
9
20
|
export declare function runUpdate(): Promise<void>;
|