@code-yeongyu/senpi 2026.8.21 → 2026.8.22-2
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/CHANGELOG.md +69 -0
- package/dist/bun-runtime.d.ts +58 -0
- package/dist/bun-runtime.d.ts.map +1 -0
- package/dist/bun-runtime.js +163 -0
- package/dist/bun-runtime.js.map +1 -0
- package/dist/cli.js +45 -2
- package/dist/cli.js.map +1 -1
- package/dist/core/agent-session.d.ts +7 -2
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +81 -26
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agent-settled-delivery.d.ts +13 -1
- package/dist/core/agent-settled-delivery.d.ts.map +1 -1
- package/dist/core/agent-settled-delivery.js +33 -2
- package/dist/core/agent-settled-delivery.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +5 -4
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/extensions/builtin/goal/cache-warm-renderer.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/cache-warm-renderer.js +2 -3
- package/dist/core/extensions/builtin/goal/cache-warm-renderer.js.map +1 -1
- package/dist/core/extensions/builtin/goal/cache-warm.d.ts +6 -0
- package/dist/core/extensions/builtin/goal/cache-warm.d.ts.map +1 -1
- package/dist/core/extensions/builtin/goal/cache-warm.js +43 -0
- package/dist/core/extensions/builtin/goal/cache-warm.js.map +1 -1
- package/dist/core/extensions/builtin/permission-system/index.d.ts.map +1 -1
- package/dist/core/extensions/builtin/permission-system/index.js +7 -11
- package/dist/core/extensions/builtin/permission-system/index.js.map +1 -1
- package/dist/core/model-resolver.js +2 -2
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/session-work-barrier.d.ts.map +1 -1
- package/dist/core/session-work-barrier.js +38 -1
- package/dist/core/session-work-barrier.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts +3 -0
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
- package/dist/modes/interactive/components/status-indicator.js +7 -1
- package/dist/modes/interactive/components/status-indicator.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +4 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +118 -38
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/senpi +45 -2
- package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +58 -0
- package/node_modules/@code-yeongyu/senpi-codemode/README.md +5 -0
- package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
- package/node_modules/@code-yeongyu/senpi-codemode/src/extension/runtime-factory.ts +4 -1
- package/node_modules/@code-yeongyu/senpi-codemode/src/extension/runtime-info.ts +41 -0
- package/node_modules/@code-yeongyu/senpi-codemode/src/extension/session-manager.ts +8 -3
- package/node_modules/@code-yeongyu/senpi-codemode/src/index.ts +4 -1
- package/node_modules/@code-yeongyu/senpi-codemode/src/interpreters/detect.ts +17 -4
- package/node_modules/@code-yeongyu/senpi-codemode/src/interpreters/resolve-command.ts +68 -0
- package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/shared/subprocess-kernel.ts +15 -1
- package/node_modules/@code-yeongyu/senpi-codemode/src/timeouts/idle-timeout.ts +33 -4
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/cell-runtime.ts +5 -1
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool-options.ts +3 -0
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/eval-tool.ts +2 -0
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/render.ts +60 -3
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/runtime-label.ts +49 -0
- package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +13 -0
- package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/stream-retry.d.ts +21 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/stream-retry.d.ts.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/stream-retry.js +36 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/stream-retry.js.map +1 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts +10 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent/types.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts +6 -0
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.d.ts.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js +166 -26
- package/node_modules/@earendil-works/pi-ai/dist/api/cursor-agent.js.map +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/google.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
- package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
- package/node_modules/@earendil-works/pi-ai/package.json +2 -2
- package/node_modules/@earendil-works/pi-pty/package.json +1 -1
- package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
- package/node_modules/@earendil-works/pi-tui/package.json +1 -1
- package/package.json +7 -7
- package/dist/modes/interactive/split-trailing-assistant-text.d.ts +0 -7
- package/dist/modes/interactive/split-trailing-assistant-text.d.ts.map +0 -1
- package/dist/modes/interactive/split-trailing-assistant-text.js +0 -19
- package/dist/modes/interactive/split-trailing-assistant-text.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,75 @@
|
|
|
10
10
|
|
|
11
11
|
### Changed
|
|
12
12
|
|
|
13
|
+
### Removed
|
|
14
|
+
|
|
15
|
+
## [2026.8.22-2] - 2026-08-22
|
|
16
|
+
|
|
17
|
+
### Breaking Changes
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- Fixed a session-liveness wait that could pin a CPU core at 100% by resampling settled promises in a tight microtask loop; it now yields a real event-loop turn when a queued work item does not converge, restoring RPC responsiveness under load ([#1084](https://github.com/code-yeongyu/senpi/pull/1084)).
|
|
22
|
+
- The interactive TUI now keeps the working dock painted across adjacent and locally buffered turns, and clears it on the new core `agent_idle` event - emitted only after settlement-deferred turns (TTSR, loop-guard, goal recovery) resolve without starting a run - so the editor/footer no longer bounce at queued-turn boundaries. A buffered prompt consumed with `action: "handled"` (for example a `UserPromptSubmit` hook block) also clears the retained dock, prompt admission failure clears it, and clear-on-shrink reserves the dock's measured height, together eliminating the vertical jitter.
|
|
23
|
+
|
|
24
|
+
- Goal cache-warm notices now render the expected wake time in the user's local system timezone with a short zone label (for example `ready 2026-08-22 16:51 GMT+9 (4m 30s)`), falling back to the legacy UTC shape when local timezone formatting is unavailable ([#1074](https://github.com/code-yeongyu/senpi/pull/1074)).
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
- A CLI installed with `bun install -g` now runs on the Bun runtime automatically: the entry point detects that its own script lives in Bun's global install tree and re-execs itself through the installed `bun` binary instead of staying on the Node runtime its shebang picked. Set `SENPI_RUNTIME=node` to force Node or `SENPI_RUNTIME=bun` to request Bun for any install; debugger sessions (`--inspect`) and runs that are already on Bun keep their current runtime, and a missing `bun` binary silently keeps the CLI on Node.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- Automatic startup selection for the built-in OpenAI and Codex providers now defaults to GPT-5.6 Sol instead of GPT-5.5. Explicitly saved GPT-5.5 selections remain supported.
|
|
33
|
+
|
|
34
|
+
### Removed
|
|
35
|
+
|
|
36
|
+
## [2026.8.22] - 2026-08-22
|
|
37
|
+
|
|
38
|
+
### Breaking Changes
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- The `permission-system` builtin extension now handles rejection during `session_shutdown` without causing an unhandled promise rejection / `uncaughtException` when permission prompts are pending.
|
|
43
|
+
|
|
44
|
+
### Added
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
|
|
48
|
+
### Removed
|
|
49
|
+
|
|
50
|
+
## [2026.8.21-3] - 2026-08-21
|
|
51
|
+
|
|
52
|
+
### Breaking Changes
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
|
|
56
|
+
- Agentic turns no longer shake the transcript up and down: assistant text painted between tool cards keeps its position instead of teleporting above the cards whenever the next tool call arrives. The streaming message component now owns only the content through the first tool call, and each text segment after it renders in a persistent component at its chronological position (#1064).
|
|
57
|
+
|
|
58
|
+
- Prompts submitted while the agent is streaming (steer/follow-up) render as the queued waiting state (`Steering:`/`Follow-up:` pending display) again instead of appearing as already-sent user messages; the optimistic submit echo now applies only to prompts that actually start immediately. Messages queued during compaction likewise no longer paint a sent-looking bubble.
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
|
|
62
|
+
### Changed
|
|
63
|
+
|
|
64
|
+
### Fixed
|
|
65
|
+
|
|
66
|
+
### Removed
|
|
67
|
+
|
|
68
|
+
## [2026.8.21-2] - 2026-08-21
|
|
69
|
+
|
|
70
|
+
### Breaking Changes
|
|
71
|
+
|
|
72
|
+
### Fixed
|
|
73
|
+
|
|
74
|
+
- Contended auth-storage lock retries now sleep via `Atomics.wait` instead of busy-waiting, matching the settings-lock fix (#1056). The auth store kept the original spin loop, so under multi-session OAuth-refresh contention a synchronous auth write could burn a CPU core on the main thread.
|
|
75
|
+
- Selecting a model now releases the selector and repaints immediately instead of after the provider auth check resolves. The overlay is disposed on Enter, so waiting for that round trip (a network call for subscription-OAuth providers such as Cursor) left the TUI showing a frozen frame on the previous model.
|
|
76
|
+
- Cursor agent turns now finish promptly when `turnEnded` arrives even if the server leaves HTTP/2 open, while silent pre-completion streams fail after a heartbeat-aware health bound instead of freezing until the generic five-minute idle timeout.
|
|
77
|
+
|
|
78
|
+
### Added
|
|
79
|
+
|
|
80
|
+
### Changed
|
|
81
|
+
|
|
13
82
|
### Fixed
|
|
14
83
|
|
|
15
84
|
### Removed
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/** Value accepted by the runtime pin environment variable. */
|
|
2
|
+
export type RuntimeName = "node" | "bun";
|
|
3
|
+
/** Environment variable that pins the runtime explicitly, bypassing detection. */
|
|
4
|
+
export declare const RUNTIME_ENV_VAR = "SENPI_RUNTIME";
|
|
5
|
+
/** Injected view of the world. Defaults read the real process, tests inject fakes. */
|
|
6
|
+
export interface BunRuntimeOptions {
|
|
7
|
+
readonly env: NodeJS.ProcessEnv;
|
|
8
|
+
readonly homedir: string;
|
|
9
|
+
readonly platform: NodeJS.Platform;
|
|
10
|
+
readonly exists: (path: string) => boolean;
|
|
11
|
+
readonly realpath: (path: string) => string;
|
|
12
|
+
}
|
|
13
|
+
/** Why the process stayed on its current runtime. Surfaced for tests and diagnostics. */
|
|
14
|
+
export type StayReason = "already-bun" | "runtime-pinned-node" | "inspector" | "bun-not-found" | "not-bun-install";
|
|
15
|
+
export type BunReexecDecision = {
|
|
16
|
+
readonly action: "stay";
|
|
17
|
+
readonly reason: StayReason;
|
|
18
|
+
} | {
|
|
19
|
+
readonly action: "reexec";
|
|
20
|
+
readonly bunPath: string;
|
|
21
|
+
};
|
|
22
|
+
export interface BunReexecInput {
|
|
23
|
+
/** Real path (symlinks resolved) of the script this process was started with. */
|
|
24
|
+
readonly scriptRealPath: string;
|
|
25
|
+
/** `process.versions`; a `bun` entry means this process already IS Bun. */
|
|
26
|
+
readonly versions: Readonly<Record<string, string | undefined>>;
|
|
27
|
+
/** Whether this process inherited a `--inspect*` option. */
|
|
28
|
+
readonly hasInheritedInspectorOption: boolean;
|
|
29
|
+
readonly options: BunRuntimeOptions;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Report whether the executed script lives inside Bun's global install tree.
|
|
33
|
+
*
|
|
34
|
+
* The caller must pass an already-resolved real path: `~/.bun/bin/<name>` is a symlink, and the
|
|
35
|
+
* link itself is not under `install/global/`, so an unresolved path never matches. The tree root
|
|
36
|
+
* is compared both as configured and as resolved, so a symlinked install root still matches.
|
|
37
|
+
*/
|
|
38
|
+
export declare function isUnderBunGlobalTree(scriptRealPath: string, options: BunRuntimeOptions): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Locate a Bun binary: the configured install root first, then the default `~/.bun` root, then
|
|
41
|
+
* a PATH scan. Returns `undefined` when Bun is not installed — a missing Bun is never an error,
|
|
42
|
+
* the process simply stays on Node.
|
|
43
|
+
*/
|
|
44
|
+
export declare function findBunBinary(options: BunRuntimeOptions): string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Decide whether this process should re-exec itself under Bun. First match wins:
|
|
47
|
+
*
|
|
48
|
+
* 1. already running Bun — never re-exec, that would loop forever;
|
|
49
|
+
* 2. `SENPI_RUNTIME=node` — an explicit opt-out always wins;
|
|
50
|
+
* 3. an inherited Inspector option — a debugger session owns a Node socket, keep it;
|
|
51
|
+
* 4. `SENPI_RUNTIME=bun` with Bun installed — explicit opt-in;
|
|
52
|
+
* 5. the script lives in Bun's global install tree with Bun installed — the install implies it;
|
|
53
|
+
* 6. otherwise stay.
|
|
54
|
+
*/
|
|
55
|
+
export declare function resolveBunReexec(input: BunReexecInput): BunReexecDecision;
|
|
56
|
+
/** Build the default, process-backed options for the real CLI entry point. */
|
|
57
|
+
export declare function processBunRuntimeOptions(exists: (path: string) => boolean, realpath: (path: string) => string): BunRuntimeOptions;
|
|
58
|
+
//# sourceMappingURL=bun-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bun-runtime.d.ts","sourceRoot":"","sources":["../src/bun-runtime.ts"],"names":[],"mappings":"AAeA,8DAA8D;AAC9D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK,CAAC;AAEzC,kFAAkF;AAClF,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,sFAAsF;AACtF,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C;AAED,yFAAyF;AACzF,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,qBAAqB,GAAG,WAAW,GAAG,eAAe,GAAG,iBAAiB,CAAC;AAEnH,MAAM,MAAM,iBAAiB,GAC1B;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;CAAE,GACxD;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAChE,4DAA4D;IAC5D,QAAQ,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACpC;AA0CD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAShG;AAoBD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CA4B5E;AAUD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,iBAAiB,CAoBzE;AAED,8EAA8E;AAC9E,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,EACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAChC,iBAAiB,CAEnB"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime selection for a CLI that was installed with `bun install -g`.
|
|
3
|
+
*
|
|
4
|
+
* `bun install -g` writes `~/.bun/bin/senpi` as a symlink into
|
|
5
|
+
* `<BUN_ROOT>/install/global/node_modules/...`, but the launcher still starts the script with
|
|
6
|
+
* whatever interpreter resolves the shebang — Node. A user who chose Bun then silently runs on
|
|
7
|
+
* Node, losing Bun's startup time and its runtime APIs. This module decides, from injected
|
|
8
|
+
* facts only, whether the process should hand itself to Bun.
|
|
9
|
+
*
|
|
10
|
+
* Everything here is pure and injectable so the decision can be tested without touching the
|
|
11
|
+
* host PATH or the real `~/.bun` tree; `cli.ts` owns the single impure call site.
|
|
12
|
+
*/
|
|
13
|
+
import { homedir as osHomedir } from "node:os";
|
|
14
|
+
import { posix, win32 } from "node:path";
|
|
15
|
+
/** Environment variable that pins the runtime explicitly, bypassing detection. */
|
|
16
|
+
export const RUNTIME_ENV_VAR = "SENPI_RUNTIME";
|
|
17
|
+
/** Path separators differ per platform; compare on a single normalized form. */
|
|
18
|
+
function normalize(path) {
|
|
19
|
+
return path.replaceAll("\\", "/");
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Path semantics of the TARGET platform, not of the host running the code. Joining and PATH
|
|
23
|
+
* splitting must follow the injected platform so the decision is reproducible from a Windows
|
|
24
|
+
* fixture on a POSIX machine and vice versa.
|
|
25
|
+
*/
|
|
26
|
+
function paths(options) {
|
|
27
|
+
return options.platform === "win32" ? win32 : posix;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Root of the Bun installation: `BUN_INSTALL` when set, otherwise `~/.bun`. This is the same
|
|
31
|
+
* resolution order Bun itself uses to place `bin/` and `install/global/`.
|
|
32
|
+
*/
|
|
33
|
+
function bunRoot(options) {
|
|
34
|
+
const configured = options.env.BUN_INSTALL;
|
|
35
|
+
if (configured !== undefined && configured.trim() !== "") {
|
|
36
|
+
return configured;
|
|
37
|
+
}
|
|
38
|
+
return paths(options).join(options.homedir, ".bun");
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Resolve a directory through the injected `realpath`, falling back to the input. The bun root
|
|
42
|
+
* can be a symlinked or aliased path (`/tmp` -> `/private/tmp` on macOS, a symlinked `$HOME`),
|
|
43
|
+
* and the script path is compared in its resolved form, so both sides must be resolvable.
|
|
44
|
+
* `realpath` throws on a path that does not exist, which simply means "no match here".
|
|
45
|
+
*/
|
|
46
|
+
function resolveOrSelf(path, options) {
|
|
47
|
+
try {
|
|
48
|
+
return options.realpath(path);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return path;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Report whether the executed script lives inside Bun's global install tree.
|
|
56
|
+
*
|
|
57
|
+
* The caller must pass an already-resolved real path: `~/.bun/bin/<name>` is a symlink, and the
|
|
58
|
+
* link itself is not under `install/global/`, so an unresolved path never matches. The tree root
|
|
59
|
+
* is compared both as configured and as resolved, so a symlinked install root still matches.
|
|
60
|
+
*/
|
|
61
|
+
export function isUnderBunGlobalTree(scriptRealPath, options) {
|
|
62
|
+
const globalRoot = paths(options).join(bunRoot(options), "install", "global");
|
|
63
|
+
const script = normalize(scriptRealPath);
|
|
64
|
+
for (const candidate of new Set([globalRoot, resolveOrSelf(globalRoot, options)])) {
|
|
65
|
+
if (script.startsWith(`${normalize(candidate)}/`)) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
/** Executable name for the platform, e.g. `bun` or `bun.exe`. */
|
|
72
|
+
function bunExecutableName(options) {
|
|
73
|
+
return options.platform === "win32" ? "bun.exe" : "bun";
|
|
74
|
+
}
|
|
75
|
+
/** Candidate file names to probe in a PATH directory, honoring `PATHEXT` on Windows. */
|
|
76
|
+
function pathCandidateNames(options) {
|
|
77
|
+
if (options.platform !== "win32") {
|
|
78
|
+
return ["bun"];
|
|
79
|
+
}
|
|
80
|
+
const pathExt = options.env.PATHEXT ?? ".COM;.EXE;.BAT;.CMD";
|
|
81
|
+
const extensions = pathExt
|
|
82
|
+
.split(";")
|
|
83
|
+
.map((extension) => extension.trim())
|
|
84
|
+
.filter((extension) => extension.length > 0);
|
|
85
|
+
return extensions.length > 0 ? extensions.map((extension) => `bun${extension}`) : ["bun.exe"];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Locate a Bun binary: the configured install root first, then the default `~/.bun` root, then
|
|
89
|
+
* a PATH scan. Returns `undefined` when Bun is not installed — a missing Bun is never an error,
|
|
90
|
+
* the process simply stays on Node.
|
|
91
|
+
*/
|
|
92
|
+
export function findBunBinary(options) {
|
|
93
|
+
const path = paths(options);
|
|
94
|
+
const executable = bunExecutableName(options);
|
|
95
|
+
const rootCandidates = [
|
|
96
|
+
path.join(bunRoot(options), "bin", executable),
|
|
97
|
+
path.join(options.homedir, ".bun", "bin", executable),
|
|
98
|
+
];
|
|
99
|
+
for (const candidate of rootCandidates) {
|
|
100
|
+
if (options.exists(candidate)) {
|
|
101
|
+
return candidate;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const pathValue = options.env.PATH ?? options.env.Path;
|
|
105
|
+
if (pathValue === undefined || pathValue === "") {
|
|
106
|
+
return undefined;
|
|
107
|
+
}
|
|
108
|
+
const names = pathCandidateNames(options);
|
|
109
|
+
for (const directory of pathValue.split(path.delimiter)) {
|
|
110
|
+
if (directory === "")
|
|
111
|
+
continue;
|
|
112
|
+
for (const name of names) {
|
|
113
|
+
const candidate = path.join(directory, name);
|
|
114
|
+
if (options.exists(candidate)) {
|
|
115
|
+
return candidate;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
function readRuntimePin(options) {
|
|
122
|
+
const value = options.env[RUNTIME_ENV_VAR];
|
|
123
|
+
if (value === "node" || value === "bun") {
|
|
124
|
+
return value;
|
|
125
|
+
}
|
|
126
|
+
return undefined;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Decide whether this process should re-exec itself under Bun. First match wins:
|
|
130
|
+
*
|
|
131
|
+
* 1. already running Bun — never re-exec, that would loop forever;
|
|
132
|
+
* 2. `SENPI_RUNTIME=node` — an explicit opt-out always wins;
|
|
133
|
+
* 3. an inherited Inspector option — a debugger session owns a Node socket, keep it;
|
|
134
|
+
* 4. `SENPI_RUNTIME=bun` with Bun installed — explicit opt-in;
|
|
135
|
+
* 5. the script lives in Bun's global install tree with Bun installed — the install implies it;
|
|
136
|
+
* 6. otherwise stay.
|
|
137
|
+
*/
|
|
138
|
+
export function resolveBunReexec(input) {
|
|
139
|
+
if (input.versions.bun !== undefined) {
|
|
140
|
+
return { action: "stay", reason: "already-bun" };
|
|
141
|
+
}
|
|
142
|
+
const pinned = readRuntimePin(input.options);
|
|
143
|
+
if (pinned === "node") {
|
|
144
|
+
return { action: "stay", reason: "runtime-pinned-node" };
|
|
145
|
+
}
|
|
146
|
+
if (input.hasInheritedInspectorOption) {
|
|
147
|
+
return { action: "stay", reason: "inspector" };
|
|
148
|
+
}
|
|
149
|
+
const wantsBun = pinned === "bun" || isUnderBunGlobalTree(input.scriptRealPath, input.options);
|
|
150
|
+
if (!wantsBun) {
|
|
151
|
+
return { action: "stay", reason: "not-bun-install" };
|
|
152
|
+
}
|
|
153
|
+
const bunPath = findBunBinary(input.options);
|
|
154
|
+
if (bunPath === undefined) {
|
|
155
|
+
return { action: "stay", reason: "bun-not-found" };
|
|
156
|
+
}
|
|
157
|
+
return { action: "reexec", bunPath };
|
|
158
|
+
}
|
|
159
|
+
/** Build the default, process-backed options for the real CLI entry point. */
|
|
160
|
+
export function processBunRuntimeOptions(exists, realpath) {
|
|
161
|
+
return { env: process.env, homedir: osHomedir(), platform: process.platform, exists, realpath };
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=bun-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bun-runtime.js","sourceRoot":"","sources":["../src/bun-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Runtime selection for a CLI that was installed with `bun install -g`.\n *\n * `bun install -g` writes `~/.bun/bin/senpi` as a symlink into\n * `<BUN_ROOT>/install/global/node_modules/...`, but the launcher still starts the script with\n * whatever interpreter resolves the shebang — Node. A user who chose Bun then silently runs on\n * Node, losing Bun's startup time and its runtime APIs. This module decides, from injected\n * facts only, whether the process should hand itself to Bun.\n *\n * Everything here is pure and injectable so the decision can be tested without touching the\n * host PATH or the real `~/.bun` tree; `cli.ts` owns the single impure call site.\n */\nimport { homedir as osHomedir } from \"node:os\";\nimport { posix, win32 } from \"node:path\";\n\n/** Value accepted by the runtime pin environment variable. */\nexport type RuntimeName = \"node\" | \"bun\";\n\n/** Environment variable that pins the runtime explicitly, bypassing detection. */\nexport const RUNTIME_ENV_VAR = \"SENPI_RUNTIME\";\n\n/** Injected view of the world. Defaults read the real process, tests inject fakes. */\nexport interface BunRuntimeOptions {\n\treadonly env: NodeJS.ProcessEnv;\n\treadonly homedir: string;\n\treadonly platform: NodeJS.Platform;\n\treadonly exists: (path: string) => boolean;\n\treadonly realpath: (path: string) => string;\n}\n\n/** Why the process stayed on its current runtime. Surfaced for tests and diagnostics. */\nexport type StayReason = \"already-bun\" | \"runtime-pinned-node\" | \"inspector\" | \"bun-not-found\" | \"not-bun-install\";\n\nexport type BunReexecDecision =\n\t| { readonly action: \"stay\"; readonly reason: StayReason }\n\t| { readonly action: \"reexec\"; readonly bunPath: string };\n\nexport interface BunReexecInput {\n\t/** Real path (symlinks resolved) of the script this process was started with. */\n\treadonly scriptRealPath: string;\n\t/** `process.versions`; a `bun` entry means this process already IS Bun. */\n\treadonly versions: Readonly<Record<string, string | undefined>>;\n\t/** Whether this process inherited a `--inspect*` option. */\n\treadonly hasInheritedInspectorOption: boolean;\n\treadonly options: BunRuntimeOptions;\n}\n\n/** Path separators differ per platform; compare on a single normalized form. */\nfunction normalize(path: string): string {\n\treturn path.replaceAll(\"\\\\\", \"/\");\n}\n\n/**\n * Path semantics of the TARGET platform, not of the host running the code. Joining and PATH\n * splitting must follow the injected platform so the decision is reproducible from a Windows\n * fixture on a POSIX machine and vice versa.\n */\nfunction paths(options: BunRuntimeOptions): typeof posix {\n\treturn options.platform === \"win32\" ? win32 : posix;\n}\n\n/**\n * Root of the Bun installation: `BUN_INSTALL` when set, otherwise `~/.bun`. This is the same\n * resolution order Bun itself uses to place `bin/` and `install/global/`.\n */\nfunction bunRoot(options: BunRuntimeOptions): string {\n\tconst configured = options.env.BUN_INSTALL;\n\tif (configured !== undefined && configured.trim() !== \"\") {\n\t\treturn configured;\n\t}\n\treturn paths(options).join(options.homedir, \".bun\");\n}\n\n/**\n * Resolve a directory through the injected `realpath`, falling back to the input. The bun root\n * can be a symlinked or aliased path (`/tmp` -> `/private/tmp` on macOS, a symlinked `$HOME`),\n * and the script path is compared in its resolved form, so both sides must be resolvable.\n * `realpath` throws on a path that does not exist, which simply means \"no match here\".\n */\nfunction resolveOrSelf(path: string, options: BunRuntimeOptions): string {\n\ttry {\n\t\treturn options.realpath(path);\n\t} catch {\n\t\treturn path;\n\t}\n}\n\n/**\n * Report whether the executed script lives inside Bun's global install tree.\n *\n * The caller must pass an already-resolved real path: `~/.bun/bin/<name>` is a symlink, and the\n * link itself is not under `install/global/`, so an unresolved path never matches. The tree root\n * is compared both as configured and as resolved, so a symlinked install root still matches.\n */\nexport function isUnderBunGlobalTree(scriptRealPath: string, options: BunRuntimeOptions): boolean {\n\tconst globalRoot = paths(options).join(bunRoot(options), \"install\", \"global\");\n\tconst script = normalize(scriptRealPath);\n\tfor (const candidate of new Set([globalRoot, resolveOrSelf(globalRoot, options)])) {\n\t\tif (script.startsWith(`${normalize(candidate)}/`)) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\n/** Executable name for the platform, e.g. `bun` or `bun.exe`. */\nfunction bunExecutableName(options: BunRuntimeOptions): string {\n\treturn options.platform === \"win32\" ? \"bun.exe\" : \"bun\";\n}\n\n/** Candidate file names to probe in a PATH directory, honoring `PATHEXT` on Windows. */\nfunction pathCandidateNames(options: BunRuntimeOptions): string[] {\n\tif (options.platform !== \"win32\") {\n\t\treturn [\"bun\"];\n\t}\n\tconst pathExt = options.env.PATHEXT ?? \".COM;.EXE;.BAT;.CMD\";\n\tconst extensions = pathExt\n\t\t.split(\";\")\n\t\t.map((extension) => extension.trim())\n\t\t.filter((extension) => extension.length > 0);\n\treturn extensions.length > 0 ? extensions.map((extension) => `bun${extension}`) : [\"bun.exe\"];\n}\n\n/**\n * Locate a Bun binary: the configured install root first, then the default `~/.bun` root, then\n * a PATH scan. Returns `undefined` when Bun is not installed — a missing Bun is never an error,\n * the process simply stays on Node.\n */\nexport function findBunBinary(options: BunRuntimeOptions): string | undefined {\n\tconst path = paths(options);\n\tconst executable = bunExecutableName(options);\n\tconst rootCandidates = [\n\t\tpath.join(bunRoot(options), \"bin\", executable),\n\t\tpath.join(options.homedir, \".bun\", \"bin\", executable),\n\t];\n\tfor (const candidate of rootCandidates) {\n\t\tif (options.exists(candidate)) {\n\t\t\treturn candidate;\n\t\t}\n\t}\n\n\tconst pathValue = options.env.PATH ?? options.env.Path;\n\tif (pathValue === undefined || pathValue === \"\") {\n\t\treturn undefined;\n\t}\n\tconst names = pathCandidateNames(options);\n\tfor (const directory of pathValue.split(path.delimiter)) {\n\t\tif (directory === \"\") continue;\n\t\tfor (const name of names) {\n\t\t\tconst candidate = path.join(directory, name);\n\t\t\tif (options.exists(candidate)) {\n\t\t\t\treturn candidate;\n\t\t\t}\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction readRuntimePin(options: BunRuntimeOptions): RuntimeName | undefined {\n\tconst value = options.env[RUNTIME_ENV_VAR];\n\tif (value === \"node\" || value === \"bun\") {\n\t\treturn value;\n\t}\n\treturn undefined;\n}\n\n/**\n * Decide whether this process should re-exec itself under Bun. First match wins:\n *\n * 1. already running Bun — never re-exec, that would loop forever;\n * 2. `SENPI_RUNTIME=node` — an explicit opt-out always wins;\n * 3. an inherited Inspector option — a debugger session owns a Node socket, keep it;\n * 4. `SENPI_RUNTIME=bun` with Bun installed — explicit opt-in;\n * 5. the script lives in Bun's global install tree with Bun installed — the install implies it;\n * 6. otherwise stay.\n */\nexport function resolveBunReexec(input: BunReexecInput): BunReexecDecision {\n\tif (input.versions.bun !== undefined) {\n\t\treturn { action: \"stay\", reason: \"already-bun\" };\n\t}\n\tconst pinned = readRuntimePin(input.options);\n\tif (pinned === \"node\") {\n\t\treturn { action: \"stay\", reason: \"runtime-pinned-node\" };\n\t}\n\tif (input.hasInheritedInspectorOption) {\n\t\treturn { action: \"stay\", reason: \"inspector\" };\n\t}\n\tconst wantsBun = pinned === \"bun\" || isUnderBunGlobalTree(input.scriptRealPath, input.options);\n\tif (!wantsBun) {\n\t\treturn { action: \"stay\", reason: \"not-bun-install\" };\n\t}\n\tconst bunPath = findBunBinary(input.options);\n\tif (bunPath === undefined) {\n\t\treturn { action: \"stay\", reason: \"bun-not-found\" };\n\t}\n\treturn { action: \"reexec\", bunPath };\n}\n\n/** Build the default, process-backed options for the real CLI entry point. */\nexport function processBunRuntimeOptions(\n\texists: (path: string) => boolean,\n\trealpath: (path: string) => string,\n): BunRuntimeOptions {\n\treturn { env: process.env, homedir: osHomedir(), platform: process.platform, exists, realpath };\n}\n"]}
|
package/dist/cli.js
CHANGED
|
@@ -1,13 +1,56 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import "./valid-cwd.js";
|
|
3
|
-
import { spawn } from "node:child_process";
|
|
4
|
-
import { existsSync } from "node:fs";
|
|
3
|
+
import { spawn, spawnSync } from "node:child_process";
|
|
4
|
+
import { existsSync, realpathSync } from "node:fs";
|
|
5
5
|
import { join } from "node:path";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
|
+
import { processBunRuntimeOptions, resolveBunReexec } from "./bun-runtime.js";
|
|
7
8
|
import { enableStartupCompileCache } from "./compile-cache.js";
|
|
8
9
|
import { APP_NAME, DISPLAY_VERSION, getPackageDir } from "./config.js";
|
|
9
10
|
import { hasInheritedInspectorOption, releaseInheritedInspectorForChild } from "./inspector-policy.js";
|
|
10
11
|
import { handleBootstrapSelfUpdate } from "./self-update-bootstrap.js";
|
|
12
|
+
/**
|
|
13
|
+
* Hand a Bun-installed CLI to Bun before anything else runs.
|
|
14
|
+
*
|
|
15
|
+
* `bun install -g` links this script into `~/.bun/bin`, but the shebang still starts it on Node,
|
|
16
|
+
* so a user who chose Bun silently gets the Node runtime. Re-exec through the Bun binary when the
|
|
17
|
+
* script really lives in Bun's global tree (or `SENPI_RUNTIME=bun` asks for it). This runs before
|
|
18
|
+
* `enableStartupCompileCache()` on purpose: a re-exec must not pay for Node's compile-cache setup.
|
|
19
|
+
* Node `execArgv` is deliberately dropped — those flags belong to the Node process, not to Bun.
|
|
20
|
+
*/
|
|
21
|
+
function reexecUnderBunIfNeeded() {
|
|
22
|
+
const options = processBunRuntimeOptions(existsSync, realpathSync);
|
|
23
|
+
let scriptRealPath = process.argv[1] ?? fileURLToPath(import.meta.url);
|
|
24
|
+
try {
|
|
25
|
+
// `~/.bun/bin/<name>` is a symlink into the global tree, so the link target is what has
|
|
26
|
+
// to be classified and re-executed. A path that cannot be resolved is simply used as-is;
|
|
27
|
+
// runtime selection must never be the reason startup fails.
|
|
28
|
+
scriptRealPath = realpathSync(scriptRealPath);
|
|
29
|
+
}
|
|
30
|
+
catch { }
|
|
31
|
+
const decision = resolveBunReexec({
|
|
32
|
+
scriptRealPath,
|
|
33
|
+
versions: process.versions,
|
|
34
|
+
hasInheritedInspectorOption: hasInheritedInspectorOption(),
|
|
35
|
+
options,
|
|
36
|
+
});
|
|
37
|
+
if (decision.action === "stay") {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
const result = spawnSync(decision.bunPath, [scriptRealPath, ...process.argv.slice(2)], {
|
|
41
|
+
stdio: "inherit",
|
|
42
|
+
windowsHide: true,
|
|
43
|
+
});
|
|
44
|
+
if (result.signal) {
|
|
45
|
+
process.kill(process.pid, result.signal);
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
process.exitCode = result.status ?? 1;
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
if (reexecUnderBunIfNeeded()) {
|
|
52
|
+
process.exit();
|
|
53
|
+
}
|
|
11
54
|
// Must run before cli-main is loaded, by either path: it caches the engine graph this process
|
|
12
55
|
// imports on the fast path below, and it publishes NODE_COMPILE_CACHE so a spawned cli-main child
|
|
13
56
|
// inherits this process's cache directory instead of resolving and re-filling its own.
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport \"./valid-cwd.ts\";\nimport { spawn } from \"node:child_process\";\nimport { existsSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { enableStartupCompileCache } from \"./compile-cache.ts\";\nimport { APP_NAME, DISPLAY_VERSION, getPackageDir } from \"./config.ts\";\nimport { hasInheritedInspectorOption, releaseInheritedInspectorForChild } from \"./inspector-policy.ts\";\nimport { handleBootstrapSelfUpdate } from \"./self-update-bootstrap.ts\";\n\n// Must run before cli-main is loaded, by either path: it caches the engine graph this process\n// imports on the fast path below, and it publishes NODE_COMPILE_CACHE so a spawned cli-main child\n// inherits this process's cache directory instead of resolving and re-filling its own.\nenableStartupCompileCache();\n\nprocess.title = APP_NAME;\nprocess.env.PI_CODING_AGENT = \"true\";\nprocess.env.AI_AGENT = APP_NAME;\nprocess.emitWarning = (() => {}) as typeof process.emitWarning;\n\nconst args = process.argv.slice(2);\nconst PACKAGE_COMMANDS = new Set([\"install\", \"remove\", \"uninstall\", \"update\", \"list\", \"config\"]);\n\nfunction isRootCommand(args: readonly string[]): boolean {\n\tconst firstArg = args[0];\n\treturn firstArg === undefined || !PACKAGE_COMMANDS.has(firstArg);\n}\n\nfunction isPackageManagerInstall(packageDir: string): boolean {\n\treturn packageDir.replace(/\\\\/g, \"/\").includes(\"/node_modules/@code-yeongyu/senpi\");\n}\n\nfunction isMissingBundledWorkspaceDependencies(packageDir: string): boolean {\n\tif (!isPackageManagerInstall(packageDir)) {\n\t\treturn false;\n\t}\n\tconst bundledPackages = [\"pi-agent-core\", \"pi-ai\", \"pi-tui\"];\n\treturn bundledPackages.some((name) => {\n\t\treturn !existsSync(join(packageDir, \"node_modules\", \"@earendil-works\", name, \"dist\", \"index.js\"));\n\t});\n}\n\n/**\n * Decide whether the agent needs its own process.\n *\n * Two things justify the extra Node process, and only two. An inherited Inspector option means a\n * debugger socket has to be released here and re-opened over there, which a same-process load\n * cannot do. Custom exec arguments (`--max-old-space-size`, a loader `--import`, ...) were chosen\n * for the process that runs the agent, and they are only applied at process start, so they must be\n * replayed onto a fresh one. Brand scrubbing does NOT justify it: `cli-main` calls\n * `scrubBrandFromEnvironment()` itself, so loading it here scrubs this process's environment before\n * anything the agent spawns can inherit it.\n */\nfunction requiresIsolatedProcess(): boolean {\n\treturn process.execArgv.length > 0 || hasInheritedInspectorOption();\n}\n\nasync function spawnFullCli(): Promise<number> {\n\tconst extension = import.meta.url.endsWith(\".ts\") ? \".ts\" : \".js\";\n\tconst fullCliPath = fileURLToPath(new URL(`./cli-main${extension}`, import.meta.url));\n\treleaseInheritedInspectorForChild();\n\treturn await new Promise<number>((resolve, reject) => {\n\t\tconst child = spawn(process.execPath, [...process.execArgv, fullCliPath, ...args], {\n\t\t\tenv: process.env,\n\t\t\tstdio: \"inherit\",\n\t\t});\n\t\tchild.on(\"error\", (error) => {\n\t\t\treject(error);\n\t\t});\n\t\tchild.on(\"close\", (code, signal) => {\n\t\t\tif (signal) {\n\t\t\t\tprocess.kill(process.pid, signal);\n\t\t\t\tresolve(1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresolve(code ?? 1);\n\t\t});\n\t});\n}\n\nif (isRootCommand(args) && (args.includes(\"--version\") || args.includes(\"-v\"))) {\n\tconsole.log(DISPLAY_VERSION);\n\tprocess.exit();\n}\n\nif (isMissingBundledWorkspaceDependencies(getPackageDir())) {\n\tif (await handleBootstrapSelfUpdate(args)) {\n\t\tprocess.exit();\n\t}\n}\n\nif (requiresIsolatedProcess()) {\n\tprocess.exitCode = await spawnFullCli();\n} else {\n\t// Entry-point process-structure seam: `cli-main` runs `main()` at module scope and owns\n\t// `process.exitCode` and any `process.exit()` of its own, so importing it here IS the run - there\n\t// is no result to forward. It has to be a dynamic import: a static one would evaluate the whole\n\t// engine graph before the `--version` and bootstrap-repair paths above, which answer without it.\n\tawait import(\"./cli-main.ts\");\n}\n"]}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport \"./valid-cwd.ts\";\nimport { spawn, spawnSync } from \"node:child_process\";\nimport { existsSync, realpathSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { processBunRuntimeOptions, resolveBunReexec } from \"./bun-runtime.ts\";\nimport { enableStartupCompileCache } from \"./compile-cache.ts\";\nimport { APP_NAME, DISPLAY_VERSION, getPackageDir } from \"./config.ts\";\nimport { hasInheritedInspectorOption, releaseInheritedInspectorForChild } from \"./inspector-policy.ts\";\nimport { handleBootstrapSelfUpdate } from \"./self-update-bootstrap.ts\";\n\n/**\n * Hand a Bun-installed CLI to Bun before anything else runs.\n *\n * `bun install -g` links this script into `~/.bun/bin`, but the shebang still starts it on Node,\n * so a user who chose Bun silently gets the Node runtime. Re-exec through the Bun binary when the\n * script really lives in Bun's global tree (or `SENPI_RUNTIME=bun` asks for it). This runs before\n * `enableStartupCompileCache()` on purpose: a re-exec must not pay for Node's compile-cache setup.\n * Node `execArgv` is deliberately dropped — those flags belong to the Node process, not to Bun.\n */\nfunction reexecUnderBunIfNeeded(): boolean {\n\tconst options = processBunRuntimeOptions(existsSync, realpathSync);\n\tlet scriptRealPath = process.argv[1] ?? fileURLToPath(import.meta.url);\n\ttry {\n\t\t// `~/.bun/bin/<name>` is a symlink into the global tree, so the link target is what has\n\t\t// to be classified and re-executed. A path that cannot be resolved is simply used as-is;\n\t\t// runtime selection must never be the reason startup fails.\n\t\tscriptRealPath = realpathSync(scriptRealPath);\n\t} catch {}\n\tconst decision = resolveBunReexec({\n\t\tscriptRealPath,\n\t\tversions: process.versions,\n\t\thasInheritedInspectorOption: hasInheritedInspectorOption(),\n\t\toptions,\n\t});\n\tif (decision.action === \"stay\") {\n\t\treturn false;\n\t}\n\tconst result = spawnSync(decision.bunPath, [scriptRealPath, ...process.argv.slice(2)], {\n\t\tstdio: \"inherit\",\n\t\twindowsHide: true,\n\t});\n\tif (result.signal) {\n\t\tprocess.kill(process.pid, result.signal);\n\t\treturn true;\n\t}\n\tprocess.exitCode = result.status ?? 1;\n\treturn true;\n}\n\nif (reexecUnderBunIfNeeded()) {\n\tprocess.exit();\n}\n\n// Must run before cli-main is loaded, by either path: it caches the engine graph this process\n// imports on the fast path below, and it publishes NODE_COMPILE_CACHE so a spawned cli-main child\n// inherits this process's cache directory instead of resolving and re-filling its own.\nenableStartupCompileCache();\n\nprocess.title = APP_NAME;\nprocess.env.PI_CODING_AGENT = \"true\";\nprocess.env.AI_AGENT = APP_NAME;\nprocess.emitWarning = (() => {}) as typeof process.emitWarning;\n\nconst args = process.argv.slice(2);\nconst PACKAGE_COMMANDS = new Set([\"install\", \"remove\", \"uninstall\", \"update\", \"list\", \"config\"]);\n\nfunction isRootCommand(args: readonly string[]): boolean {\n\tconst firstArg = args[0];\n\treturn firstArg === undefined || !PACKAGE_COMMANDS.has(firstArg);\n}\n\nfunction isPackageManagerInstall(packageDir: string): boolean {\n\treturn packageDir.replace(/\\\\/g, \"/\").includes(\"/node_modules/@code-yeongyu/senpi\");\n}\n\nfunction isMissingBundledWorkspaceDependencies(packageDir: string): boolean {\n\tif (!isPackageManagerInstall(packageDir)) {\n\t\treturn false;\n\t}\n\tconst bundledPackages = [\"pi-agent-core\", \"pi-ai\", \"pi-tui\"];\n\treturn bundledPackages.some((name) => {\n\t\treturn !existsSync(join(packageDir, \"node_modules\", \"@earendil-works\", name, \"dist\", \"index.js\"));\n\t});\n}\n\n/**\n * Decide whether the agent needs its own process.\n *\n * Two things justify the extra Node process, and only two. An inherited Inspector option means a\n * debugger socket has to be released here and re-opened over there, which a same-process load\n * cannot do. Custom exec arguments (`--max-old-space-size`, a loader `--import`, ...) were chosen\n * for the process that runs the agent, and they are only applied at process start, so they must be\n * replayed onto a fresh one. Brand scrubbing does NOT justify it: `cli-main` calls\n * `scrubBrandFromEnvironment()` itself, so loading it here scrubs this process's environment before\n * anything the agent spawns can inherit it.\n */\nfunction requiresIsolatedProcess(): boolean {\n\treturn process.execArgv.length > 0 || hasInheritedInspectorOption();\n}\n\nasync function spawnFullCli(): Promise<number> {\n\tconst extension = import.meta.url.endsWith(\".ts\") ? \".ts\" : \".js\";\n\tconst fullCliPath = fileURLToPath(new URL(`./cli-main${extension}`, import.meta.url));\n\treleaseInheritedInspectorForChild();\n\treturn await new Promise<number>((resolve, reject) => {\n\t\tconst child = spawn(process.execPath, [...process.execArgv, fullCliPath, ...args], {\n\t\t\tenv: process.env,\n\t\t\tstdio: \"inherit\",\n\t\t});\n\t\tchild.on(\"error\", (error) => {\n\t\t\treject(error);\n\t\t});\n\t\tchild.on(\"close\", (code, signal) => {\n\t\t\tif (signal) {\n\t\t\t\tprocess.kill(process.pid, signal);\n\t\t\t\tresolve(1);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresolve(code ?? 1);\n\t\t});\n\t});\n}\n\nif (isRootCommand(args) && (args.includes(\"--version\") || args.includes(\"-v\"))) {\n\tconsole.log(DISPLAY_VERSION);\n\tprocess.exit();\n}\n\nif (isMissingBundledWorkspaceDependencies(getPackageDir())) {\n\tif (await handleBootstrapSelfUpdate(args)) {\n\t\tprocess.exit();\n\t}\n}\n\nif (requiresIsolatedProcess()) {\n\tprocess.exitCode = await spawnFullCli();\n} else {\n\t// Entry-point process-structure seam: `cli-main` runs `main()` at module scope and owns\n\t// `process.exitCode` and any `process.exit()` of its own, so importing it here IS the run - there\n\t// is no result to forward. It has to be a dynamic import: a static one would evaluate the whole\n\t// engine graph before the `--version` and bootstrap-repair paths above, which answer without it.\n\tawait import(\"./cli-main.ts\");\n}\n"]}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import type { Agent, AgentEvent, AgentMessage, AgentState, AgentTool, AgentToolCall, AgentToolResult, ThinkingLevel } from "@earendil-works/pi-agent-core";
|
|
16
16
|
import { type ThinkingSelection } from "@earendil-works/pi-ai";
|
|
17
17
|
import type { Api, ImageContent, Model, TextContent } from "@earendil-works/pi-ai/compat";
|
|
18
|
+
import { type DeferredTurnClaim } from "./agent-settled-delivery.ts";
|
|
18
19
|
import { type BashResult } from "./bash-executor.ts";
|
|
19
20
|
import { type CompactionResult } from "./compaction/index.ts";
|
|
20
21
|
import { type CompactionLifecycleState } from "./compaction/lifecycle.ts";
|
|
@@ -83,6 +84,8 @@ export type AgentSessionEvent = Exclude<AgentEvent, {
|
|
|
83
84
|
type: "agent_end";
|
|
84
85
|
}> | AgentSessionAgentEndEvent | {
|
|
85
86
|
type: "agent_settled";
|
|
87
|
+
} | {
|
|
88
|
+
type: "agent_idle";
|
|
86
89
|
} | {
|
|
87
90
|
type: "session_abort";
|
|
88
91
|
} | {
|
|
@@ -380,6 +383,7 @@ export declare class AgentSession {
|
|
|
380
383
|
private _nextInputId;
|
|
381
384
|
private _idleWaitPromise;
|
|
382
385
|
private _resolveIdleWait;
|
|
386
|
+
private _settlementEpoch;
|
|
383
387
|
/** Tracks pending steering messages for UI display. Removed when delivered. */
|
|
384
388
|
private _steeringMessages;
|
|
385
389
|
/** Tracks pending follow-up messages for UI display. Removed when delivered. */
|
|
@@ -526,6 +530,7 @@ export declare class AgentSession {
|
|
|
526
530
|
private _getIdleWaitPromise;
|
|
527
531
|
private _resolveIdleWaitIfIdle;
|
|
528
532
|
private _emitAgentSettled;
|
|
533
|
+
private _emitAgentIdleAfterDeferredTurns;
|
|
529
534
|
private _promptAgent;
|
|
530
535
|
/** Extract text content used to track fork-owned queued user messages. */
|
|
531
536
|
private _extractUserMessageText;
|
|
@@ -800,7 +805,7 @@ export declare class AgentSession {
|
|
|
800
805
|
sendCustomMessage<T = unknown>(message: Pick<CustomMessage<T>, "customType" | "content" | "display" | "details">, options?: {
|
|
801
806
|
triggerTurn?: boolean;
|
|
802
807
|
deliverAs?: "steer" | "followUp" | "nextTurn";
|
|
803
|
-
}): Promise<void>;
|
|
808
|
+
}, deferredTurnClaim?: DeferredTurnClaim): Promise<void>;
|
|
804
809
|
/**
|
|
805
810
|
* Send a user message to the agent. Always triggers a turn.
|
|
806
811
|
* When the agent is streaming, use deliverAs to specify how to queue the message.
|
|
@@ -815,7 +820,7 @@ export declare class AgentSession {
|
|
|
815
820
|
sendUserMessage(content: string | (TextContent | ImageContent)[], options?: {
|
|
816
821
|
deliverAs?: "steer" | "followUp";
|
|
817
822
|
expandPromptTemplates?: boolean;
|
|
818
|
-
}): Promise<void>;
|
|
823
|
+
}, deferredTurnClaim?: DeferredTurnClaim): Promise<void>;
|
|
819
824
|
/** Reserve a global order for input temporarily owned outside the native queues. */
|
|
820
825
|
reserveQueuedInputOrder(): number;
|
|
821
826
|
private _recordQueuedInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
|