@sapiom/harness 0.2.6 → 0.3.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/CHANGELOG.md +84 -0
- package/README.md +3 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +21 -2
- package/dist/cli/doctor.js.map +1 -1
- package/dist/core/adapters/claude-code.d.ts +46 -0
- package/dist/core/adapters/claude-code.d.ts.map +1 -1
- package/dist/core/adapters/claude-code.js +76 -1
- package/dist/core/adapters/claude-code.js.map +1 -1
- package/dist/core/adapters/codex.d.ts +0 -7
- package/dist/core/adapters/codex.d.ts.map +1 -1
- package/dist/core/adapters/codex.js +1 -23
- package/dist/core/adapters/codex.js.map +1 -1
- package/dist/core/agent-project-discovery.d.ts +26 -0
- package/dist/core/agent-project-discovery.d.ts.map +1 -0
- package/dist/core/agent-project-discovery.js +110 -0
- package/dist/core/agent-project-discovery.js.map +1 -0
- package/dist/core/canvas-body.d.ts.map +1 -1
- package/dist/core/canvas-body.js +6 -2
- package/dist/core/canvas-body.js.map +1 -1
- package/dist/core/canvas-derive.d.ts.map +1 -1
- package/dist/core/canvas-derive.js +6 -2
- package/dist/core/canvas-derive.js.map +1 -1
- package/dist/core/canvas-render.d.ts +1 -0
- package/dist/core/canvas-render.d.ts.map +1 -1
- package/dist/core/canvas-render.js +9 -1
- package/dist/core/canvas-render.js.map +1 -1
- package/dist/core/canvas-run-state.d.ts +7 -0
- package/dist/core/canvas-run-state.d.ts.map +1 -1
- package/dist/core/canvas-run-state.js +41 -3
- package/dist/core/canvas-run-state.js.map +1 -1
- package/dist/core/canvas-template.d.ts.map +1 -1
- package/dist/core/canvas-template.js +10 -5
- package/dist/core/canvas-template.js.map +1 -1
- package/dist/core/definition-slug-resolver.d.ts +10 -1
- package/dist/core/definition-slug-resolver.d.ts.map +1 -1
- package/dist/core/definition-slug-resolver.js +41 -26
- package/dist/core/definition-slug-resolver.js.map +1 -1
- package/dist/core/inject/claude-settings.d.ts.map +1 -1
- package/dist/core/inject/claude-settings.js +14 -1
- package/dist/core/inject/claude-settings.js.map +1 -1
- package/dist/core/macros.d.ts +6 -4
- package/dist/core/macros.d.ts.map +1 -1
- package/dist/core/macros.js.map +1 -1
- package/dist/core/render-local-run.d.ts +2 -2
- package/dist/core/render-local-run.js +1 -1
- package/dist/core/run-local-bootstrap.d.ts +4 -2
- package/dist/core/run-local-bootstrap.d.ts.map +1 -1
- package/dist/core/run-local-bootstrap.js +4 -2
- package/dist/core/run-local-bootstrap.js.map +1 -1
- package/dist/core/session-manager.d.ts +13 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +66 -3
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/strip-ansi.d.ts +13 -0
- package/dist/core/strip-ansi.d.ts.map +1 -0
- package/dist/core/strip-ansi.js +29 -0
- package/dist/core/strip-ansi.js.map +1 -0
- package/dist/core/template-catalog.d.ts +1 -1
- package/dist/core/template-catalog.d.ts.map +1 -1
- package/dist/core/template-catalog.js +25 -9
- package/dist/core/template-catalog.js.map +1 -1
- package/dist/core/workflow-registry.d.ts +6 -1
- package/dist/core/workflow-registry.d.ts.map +1 -1
- package/dist/core/workflow-registry.js +64 -20
- package/dist/core/workflow-registry.js.map +1 -1
- package/dist/core/workspace-watcher.d.ts +4 -3
- package/dist/core/workspace-watcher.d.ts.map +1 -1
- package/dist/core/workspace-watcher.js +52 -32
- package/dist/core/workspace-watcher.js.map +1 -1
- package/dist/profiles/default.d.ts.map +1 -1
- package/dist/profiles/default.js +10 -7
- package/dist/profiles/default.js.map +1 -1
- package/dist/server/actions.d.ts +11 -8
- package/dist/server/actions.d.ts.map +1 -1
- package/dist/server/actions.js +22 -13
- package/dist/server/actions.js.map +1 -1
- package/dist/server/canvas-render.d.ts +3 -2
- package/dist/server/canvas-render.d.ts.map +1 -1
- package/dist/server/canvas-render.js +2 -1
- package/dist/server/canvas-render.js.map +1 -1
- package/dist/server/fs.d.ts.map +1 -1
- package/dist/server/fs.js +5 -8
- package/dist/server/fs.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +61 -24
- package/dist/server/index.js.map +1 -1
- package/dist/server/templates.js +1 -1
- package/dist/shared/types.d.ts +31 -8
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +5 -3
- package/dist/shared/types.js.map +1 -1
- package/dist/web/assets/Geist-Variable-Bj2R_7yk.woff2 +0 -0
- package/dist/web/assets/GeistMono-Variable-Dispecij.woff2 +0 -0
- package/dist/web/assets/index-055xzwa-.js +458 -0
- package/dist/web/assets/index-DUELJTDJ.css +32 -0
- package/dist/web/canvas/sess-boot/index.html +6 -3
- package/dist/web/index.html +11 -5
- package/package.json +5 -5
- package/dist/web/assets/index-AAGKe1y6.css +0 -32
- package/dist/web/assets/index-B-3_hl8M.js +0 -448
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,89 @@
|
|
|
1
1
|
# @sapiom/harness
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 533cc88: The Studio "new session" experience is now composer-first. Instead of opening on a terminal-and-canvas workbench (with the canvas showing "nothing generated yet") behind a first-run welcome overlay, a fresh install — and Create new / New session / the + — opens a centered composer: a greeting, **"What should your agent do?"**, quick-idea chips, an input with an agent selector and send, and a **"Start from a template"** row. Describing an outcome starts a session and hands the agent that outcome (the same create+inject path the "start from an idea" door uses); the screen then gives way to the terminal, and the canvas slides in only once that session generates content — the manual show/fold still overrides. The first-run WelcomePanel overlay is retired; its open-folder, browse-templates, docs, and telemetry opt-in fold into the composer, and recent workspaces live in the rail.
|
|
8
|
+
- 7ae67f6: Studio (web app) redesign to match the new brand.
|
|
9
|
+
|
|
10
|
+
Adopt the shared design-system's named `sapiom-studio` preset in the web app, vendored into the committed public `ds-neutral` fallback so open-source builds and the packaged desktop app both render the new design with no private-registry dependency. This brings Geist typography, compact IDE control/type density, a scarce green brand (green now signals only live/success/on/confirmed), and neutral ink-based focus and selection chrome (previously green-tinted).
|
|
11
|
+
|
|
12
|
+
The rail brand lockup is now the Sapiom wordmark + `agent.studio` (lowercase mono), matching a new terminal masthead (pixel mark + wordmark + working-directory / status facts) that replaces the old status bar.
|
|
13
|
+
|
|
14
|
+
The shell reads as three flat blocks — a grey workspace rail, the grey terminal shell, and the raised white graph pane — with no permanent dividers or raised header bands (a header boundary is a lie until content scrolls under it). The affirmative CTA is the theme's ink button, not a green fill; green appears only on genuine state (live, deployed, on, entry/active step, activity).
|
|
15
|
+
|
|
16
|
+
Main panel: the session bar, tab lane, and action row merge into ONE header. The active session is a title dropdown (copy path, rename, open in editor, end session); the focused agent's other live sessions sit beside it as side-scrollable switch chips with a trailing `+`. The agent actions are Prod (globe) · Test · Run · Deploy, right-anchored, the primary CTA following state (Deploy for a draft, Run for a deployed agent); Draft/Deployed status shows once, in the graph pane's header, never duplicated in the bar.
|
|
17
|
+
|
|
18
|
+
Rail: Search and Templates are labelled destination rows (Search carries a right-aligned ⌘K / Ctrl+K, not a boxed field), and agent rows drop their leading glyph — indentation carries the nesting under the workspace folder. The `⋯` menu files the explorer by Workspace or Deployment and orders it by recent activity or name, with past sessions opening in a sub-card beside the menu rather than a scrolling list inside it. The footer is one continuous block: a plan summary (demo fixture only; live mode shows none) above the account row, no divider.
|
|
19
|
+
|
|
20
|
+
Floating menus and dialogs paint an opaque surface (a portaled popover that inherited a translucent inset wash let the rail bleed through it); the canvas board is navigated only by its own zoom/fit/pan controls and never shows native scrollbars; and the canvas resize splitter stays welded to the board's edge at every window width.
|
|
21
|
+
|
|
22
|
+
Depth: the raised graph column — its dotted board included — is a lighter white lifted off a slightly darker rail/terminal shell by a soft left-edge shadow, so it reads as the forefront panel instead of a fourth flat grey. The shadow paints the full column height (it must sit above the terminal's opaque, absolutely-positioned scroll viewport, which had been overpainting it from the terminal's top down). In light mode the canvas render's accent and success colour is now the brand green, matching the rest of the app; it had been an off-brand cyan in light only.
|
|
23
|
+
|
|
24
|
+
In the packaged desktop app on macOS the window is frameless: it drops the native title bar and insets the OS traffic lights into the rail's 56px top line, which becomes the window's drag handle (every control on it opts back out, so buttons and tabs still click). The rail header splits across two rows — the Sapiom wordmark and the theme/collapse tools beside the lights, `agent.studio` on the line below — while the session bar and graph tabs stay a single top line. This chrome activates only in that host (signalled by a `frame=macos` query param); the `npx` browser app never sets it and is unchanged.
|
|
25
|
+
|
|
26
|
+
- cc2e4aa: Studio shell polish — left rail, theme, and the session bar:
|
|
27
|
+
|
|
28
|
+
- **Even rail spacing.** The workspace panel's top stack (agent.studio → Search → Create new → Templates → Workspaces) now sits on one uniform 8px rhythm instead of three different gaps.
|
|
29
|
+
- **"Create new" CTA.** A standing button under Search opens the Add menu (new session / workspace / templates). When the rail has no agents yet it becomes the filled brand-green primary with a soft ring, so a first-run workspace has an obvious next step.
|
|
30
|
+
- **Theme follows the OS by default.** With no saved choice the Studio mirrors the system light/dark preference and keeps tracking it across launches; a manual toggle still wins and persists.
|
|
31
|
+
- **Session switcher in the title menu.** The current session is a single selector whose ⌄ menu lists every live session (disambiguated by name + last-active time, active one checked), plus New session and the session actions. This replaces the inline chips — sessions that share a base name no longer read as a row of near-identical labels — and the bound-agent line moves into that menu.
|
|
32
|
+
|
|
33
|
+
- baa6102: Replace the rail's header "+" Add-popover — and the `AddWorkspaceDialog` /
|
|
34
|
+
`NewSessionModal` doors behind it — with one detection-driven **"Add existing
|
|
35
|
+
agents"** dialog, reached from a dedicated rail button (and the new-session
|
|
36
|
+
composer's "Open a folder").
|
|
37
|
+
|
|
38
|
+
Point at a folder and detection relabels the single ink action: **Add workspace**
|
|
39
|
+
(the folder is an agent project), **Add all N** (it's a folder of agent
|
|
40
|
+
projects), or a disabled "No agent in this folder" when it holds none. No intent
|
|
41
|
+
step, no doors, and no way to land on two identical folder-picker screens.
|
|
42
|
+
Creating a NEW agent stays with "Create new" (the composer); this dialog only
|
|
43
|
+
registers agents that already exist.
|
|
44
|
+
|
|
45
|
+
The folder field's **Browse** button opens the OS-native folder chooser in the
|
|
46
|
+
desktop app (a new sender-guarded `dialog:choose-directory` IPC), falling back to
|
|
47
|
+
the in-app directory listing under `npx` — the listing stays either way, since
|
|
48
|
+
only it shows the "✓ Agent" detection badges.
|
|
49
|
+
|
|
50
|
+
### Patch Changes
|
|
51
|
+
|
|
52
|
+
- 3ef1454: Keep direct actions independent of coding-agent readiness, distinguish linked agents from ready cloud builds, and make Canvas/Code run and integration evidence accurately reflect the selected agent.
|
|
53
|
+
- 1000510: Describe deploy as a synthesized bundle of current local source, distinguish
|
|
54
|
+
account-free local validation from metered cloud builds and production runs,
|
|
55
|
+
and make execution inspection's cost-agnostic evidence boundary explicit.
|
|
56
|
+
- 2485561: Fix Claude Code sessions that exit with code 1 before establishing a session id, and make the cause visible when they do.
|
|
57
|
+
|
|
58
|
+
Some users saw a session die within seconds — "Session exited · exit code 1 … it exited before establishing a session id" — with no way to tell why. The session id is only ever set from Claude Code's `SessionStart` hook, so this always means `claude` itself exited before that hook fired. Three independent, environment-specific causes were addressed, each of which is ours to prevent:
|
|
59
|
+
|
|
60
|
+
- **Version floor for `claude` (doctor).** The harness injects flags on every launch — notably `--plugin-dir`, which per the Claude Code changelog did not exist before the plugin system shipped in `2.0.12` — but nothing checked the installed version, so an older `claude` (a pre-existing global that shadows the app's install, or a stale one) rejected the unknown flag and exited 1 before the hook. `doctor` now enforces `MIN_CLAUDE_CODE_VERSION` (`2.1.0`, the range the harness's `--plugin-dir` skills usage is verified against): a below-floor `claude` reports NOT ok, so the desktop app installs a current one and the `npx` CLI shows an actionable upgrade remedy instead of every session crash-looping silently. A version we can't parse is left alone, so a future change to `claude --version`'s format can never mass-reject working installs.
|
|
61
|
+
- **Quote the SessionStart hook command path.** The generated hook command interpolated the emitter-script path unquoted (`node <path> <event>`). Claude Code runs a `command` hook through a shell, so a home directory containing a space (`/Users/First Last/…`) word-split the path — `node` got a truncated path, the hook died, and the session id was never established. The path is now double-quoted.
|
|
62
|
+
- **Preserve the agent's error line on abnormal exit.** A live pty's scrollback was discarded the instant it exited, so `claude`'s own error ("unknown option '--plugin-dir'", an auth failure, "Cannot find module …") was lost — which is why this was so hard to diagnose from a report. Sessions that exit with a non-zero code now keep a sanitized tail of their last output (`HarnessSession.exitTail`), shown in the exited-session pane. A clean exit keeps nothing.
|
|
63
|
+
|
|
64
|
+
The shared ANSI stripper used for this and for Codex trust-prompt detection moved from the Codex adapter into `core/strip-ansi.ts`.
|
|
65
|
+
|
|
66
|
+
- 25fc26f: Make local agent runs parse step inputs through their Zod schemas like production, normalize relative check directories, stage and retry gallery clones across branch-propagation delays, and clarify that local validation stubs Sapiom capability traffic without sandboxing arbitrary author-code side effects.
|
|
67
|
+
- 9addb66: Keep Agent Studio workspace discovery consistent across scanning, live updates, and the folder picker; preserve Studio state when cloning gallery templates; and clarify bundled starter network requirements.
|
|
68
|
+
- Updated dependencies [1000510]
|
|
69
|
+
- Updated dependencies [25fc26f]
|
|
70
|
+
- Updated dependencies [9addb66]
|
|
71
|
+
- @sapiom/agent-core@0.10.3
|
|
72
|
+
- @sapiom/mcp@0.12.2
|
|
73
|
+
|
|
74
|
+
## 0.2.7
|
|
75
|
+
|
|
76
|
+
### Patch Changes
|
|
77
|
+
|
|
78
|
+
- 267598a: Publish `@sapiom/agent-studio` as the branded Agent Studio launcher while
|
|
79
|
+
keeping `@sapiom/harness` as the supported implementation and compatibility
|
|
80
|
+
command.
|
|
81
|
+
- 87636c1: Make bundled starters work from a fresh Agent Studio session by preserving Studio-owned state, writing the project discovery marker, and handing Claude the local scaffold MCP tool directly.
|
|
82
|
+
- Updated dependencies [87636c1]
|
|
83
|
+
- @sapiom/agent-core@0.10.2
|
|
84
|
+
- @sapiom/mcp@0.12.1
|
|
85
|
+
- @sapiom/agent@0.9.3
|
|
86
|
+
|
|
3
87
|
## 0.2.6
|
|
4
88
|
|
|
5
89
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
Agent Studio is a local web app for building on Sapiom with your own coding agent.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npx @sapiom/
|
|
6
|
+
npx @sapiom/agent-studio@latest [dir]
|
|
7
|
+
# supported direct implementation command:
|
|
8
|
+
npx @sapiom/harness@latest [dir]
|
|
7
9
|
# also available via the Sapiom CLI (npm i -g @sapiom/cli @sapiom/harness):
|
|
8
10
|
sapiom dev [dir]
|
|
9
11
|
```
|
package/dist/cli/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAyDnE;;8CAE8C;AAC9C,eAAO,MAAM,sBAAsB,uCAAuC,CAAC;AAC3E,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,EAAE,EAAE,OAAO,CAAC;IACZ;8DAC0D;IAC1D,kBAAkB,EAAE,WAAW,EAAE,CAAC;CACnC;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,CA4BvD;AAED;;;;yBAIyB;AACzB,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CAEpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAM5D"}
|
package/dist/cli/doctor.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
2
|
import { promisify } from "node:util";
|
|
3
|
+
import { MIN_CLAUDE_CODE_VERSION, isClaudeVersionSupported } from "../core/adapters/claude-code.js";
|
|
3
4
|
const execFileAsync = promisify(execFile);
|
|
4
5
|
async function which(bin) {
|
|
5
6
|
try {
|
|
@@ -30,11 +31,22 @@ function nodeCheck() {
|
|
|
30
31
|
detail: ok ? `v${process.versions.node}` : `v${process.versions.node} (need >= 20)`,
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
|
-
async function binaryCheck(name, bin, versionArgs, notFoundDetail
|
|
34
|
+
async function binaryCheck(name, bin, versionArgs, notFoundDetail,
|
|
35
|
+
/**
|
|
36
|
+
* Optional version gate. Receives the reported version line (or null when
|
|
37
|
+
* `--version` produced nothing) and returns an error detail when the binary
|
|
38
|
+
* is present but too old to use, or null when it is acceptable. Keeps the
|
|
39
|
+
* "how old is too old" policy with the caller that knows the flags it sends,
|
|
40
|
+
* so this stays a generic presence-plus-version check.
|
|
41
|
+
*/
|
|
42
|
+
versionGate) {
|
|
34
43
|
const found = await which(bin);
|
|
35
44
|
if (!found)
|
|
36
45
|
return { name, ok: false, detail: notFoundDetail };
|
|
37
46
|
const v = await version(bin, versionArgs);
|
|
47
|
+
const gateError = versionGate?.(v);
|
|
48
|
+
if (gateError)
|
|
49
|
+
return { name, ok: false, detail: gateError };
|
|
38
50
|
return { name, ok: true, detail: v ?? found };
|
|
39
51
|
}
|
|
40
52
|
/** Exact remedies surfaced in doctor output and the fatal-exit message —
|
|
@@ -45,7 +57,14 @@ export const CODEX_INSTALL_COMMAND = "npm i -g @openai/codex";
|
|
|
45
57
|
export async function runDoctor() {
|
|
46
58
|
const node = nodeCheck();
|
|
47
59
|
const [claude, codex, git] = await Promise.all([
|
|
48
|
-
binaryCheck("claude", "claude", ["--version"], `not found on PATH — install: ${CLAUDE_INSTALL_COMMAND}
|
|
60
|
+
binaryCheck("claude", "claude", ["--version"], `not found on PATH — install: ${CLAUDE_INSTALL_COMMAND}`,
|
|
61
|
+
// A claude older than the flags we inject exit-1s every session before it
|
|
62
|
+
// can establish a session id. Report it as unavailable so the desktop
|
|
63
|
+
// host installs a current one and the CLI shows an upgrade remedy, rather
|
|
64
|
+
// than letting a green check hide a binary that crash-loops on launch.
|
|
65
|
+
(v) => isClaudeVersionSupported(v)
|
|
66
|
+
? null
|
|
67
|
+
: `${v ?? "unknown version"} is too old — need >= ${MIN_CLAUDE_CODE_VERSION}; upgrade: ${CLAUDE_INSTALL_COMMAND}`),
|
|
49
68
|
binaryCheck("codex", "codex", ["--version"], `not found on PATH — install: ${CODEX_INSTALL_COMMAND}`),
|
|
50
69
|
binaryCheck("git", "git", ["--version"], "not found on PATH"),
|
|
51
70
|
]);
|
package/dist/cli/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEpG,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,KAAK,UAAU,KAAK,CAAC,GAAW;IAC9B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE;YACvF,GAAG;SACJ,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,OAAiB,CAAC,WAAW,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IACvB,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,EAAE;QACF,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,eAAe;KACpF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,GAAW,EACX,WAAqB,EACrB,cAAsB;AACtB;;;;;;GAMG;AACH,WAA2D;IAE3D,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC/D,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC7D,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;AAChD,CAAC;AAED;;8CAE8C;AAC9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,oCAAoC,CAAC;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAe9D,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,WAAW,CACT,QAAQ,EACR,QAAQ,EACR,CAAC,WAAW,CAAC,EACb,gCAAgC,sBAAsB,EAAE;QACxD,0EAA0E;QAC1E,sEAAsE;QACtE,0EAA0E;QAC1E,uEAAuE;QACvE,CAAC,CAAC,EAAE,EAAE,CACJ,wBAAwB,CAAC,CAAC,CAAC;YACzB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,GAAG,CAAC,IAAI,iBAAiB,yBAAyB,uBAAuB,cAAc,sBAAsB,EAAE,CACtH;QACD,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,gCAAgC,qBAAqB,EAAE,CAAC;QACrG,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;KAC9D,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAkB;QACxC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,aAAa,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,OAAO,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,kBAAkB,EAAE,CAAC;AACtF,CAAC;AAED;;;;yBAIyB;AACzB,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACpD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
|
|
@@ -5,6 +5,52 @@
|
|
|
5
5
|
* own `~/.claude` config.
|
|
6
6
|
*/
|
|
7
7
|
import type { DoctorCheck, HarnessAdapter, LaunchOpts, PastSessionRecord, SpawnSpec } from "../../shared/types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Minimum `claude` version the harness supports.
|
|
10
|
+
*
|
|
11
|
+
* Below this, the binary predates flags {@link ClaudeCodeAdapter.launch} /
|
|
12
|
+
* `resume` inject on EVERY spawn — most importantly `--plugin-dir`. A
|
|
13
|
+
* commander-style CLI aborts on an unknown option with a fast `exit 1`, BEFORE
|
|
14
|
+
* it ever runs its SessionStart hook, so the session dies with no
|
|
15
|
+
* `agentSessionId` and only an opaque exit code (the pty's stderr is discarded
|
|
16
|
+
* on exit) — exactly the "exited before establishing a session id" failure
|
|
17
|
+
* users report. `doctor()` reports a below-floor claude as NOT ok so the
|
|
18
|
+
* desktop host installs a current one and the CLI surfaces an actionable
|
|
19
|
+
* upgrade remedy, instead of every session crash-looping silently.
|
|
20
|
+
*
|
|
21
|
+
* Why 2.1.0, from the Claude Code CHANGELOG:
|
|
22
|
+
* - The plugin system did not exist before the "Plugin System Released" entry
|
|
23
|
+
* in `2.0.12`, so no `1.x` or `2.0.0`–`2.0.11` build can recognize
|
|
24
|
+
* `--plugin-dir` — they reject it outright.
|
|
25
|
+
* - The changelog itemizes `--plugin-dir` only as modifications from `2.1.74`
|
|
26
|
+
* onward, and the harness's own `--plugin-dir` skills usage is verified
|
|
27
|
+
* against `2.1.x` (see core/inject/skills-plugin.ts). `2.1.x` is thus the
|
|
28
|
+
* earliest range we can GUARANTEE both recognizes the flag and loads our
|
|
29
|
+
* skills.
|
|
30
|
+
* We floor at `2.1.0` — the earliest verified-safe version — rather than the
|
|
31
|
+
* `2.0.12` plugin-system release, because we can't prove `--plugin-dir` is
|
|
32
|
+
* present across the whole `2.0.x` line, and a spurious "please upgrade" for a
|
|
33
|
+
* rare old-`2.0.x` install is far cheaper than the silent exit-1 crash-loop
|
|
34
|
+
* this floor exists to prevent. This is the SINGLE source of truth — bump it
|
|
35
|
+
* whenever the adapter starts sending a flag, or relying on behavior, a newer
|
|
36
|
+
* `claude` introduced.
|
|
37
|
+
*/
|
|
38
|
+
export declare const MIN_CLAUDE_CODE_VERSION = "2.1.0";
|
|
39
|
+
/**
|
|
40
|
+
* Extract a leading `major.minor.patch` from a `claude --version` line such as
|
|
41
|
+
* `"2.1.3 (Claude Code)"`. Returns null when no semver is present.
|
|
42
|
+
*/
|
|
43
|
+
export declare function parseClaudeVersion(versionLine: string | null | undefined): [number, number, number] | null;
|
|
44
|
+
/**
|
|
45
|
+
* Whether a `claude --version` line is at least {@link MIN_CLAUDE_CODE_VERSION}.
|
|
46
|
+
*
|
|
47
|
+
* Deliberately surgical: the ONLY case treated as unsupported is a version we
|
|
48
|
+
* can parse AND that is below the floor. An absent or unparseable version
|
|
49
|
+
* returns `true` (supported) so a future change to claude's `--version` format
|
|
50
|
+
* can never mass-reject working installs — the floor exists to catch provably
|
|
51
|
+
* ancient binaries, not to gate on our own parser's limits.
|
|
52
|
+
*/
|
|
53
|
+
export declare function isClaudeVersionSupported(versionLine: string | null | undefined): boolean;
|
|
8
54
|
/**
|
|
9
55
|
* Maps a project cwd to the directory name Claude Code uses for its transcript
|
|
10
56
|
* store under `~/.claude/projects/`. Claude Code applies this encoding before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/claude-code.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,SAAS,EACV,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/claude-code.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,SAAS,EACV,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACrC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAGjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CASxF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAMpF;AA4BD,MAAM,WAAW,wBAAwB;IACvC,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;qEACiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAwMD,qBAAa,iBAAkB,YAAW,cAAc;IACtD,QAAQ,CAAC,EAAE,EAAG,aAAa,CAAU;IACrC,QAAQ,CAAC,WAAW,EAAG,OAAO,CAAU;IACxC;;sCAEkC;IAClC,QAAQ,CAAC,oBAAoB,EAAG,aAAa,CAAU;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;gBAE9B,OAAO,GAAE,wBAA6B;IAM5C,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA6BtC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS;IAgBnC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS;IAa3D;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS;IAmBvC;;;;;;;;;;;;;;;;OAgBG;IACG,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAShE,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CA+ClE;AAcD,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,cAAc,CAE1F"}
|
|
@@ -10,6 +10,67 @@ import { readFile, readdir, realpath, stat, open } from "node:fs/promises";
|
|
|
10
10
|
import { homedir } from "node:os";
|
|
11
11
|
import { basename, join } from "node:path";
|
|
12
12
|
import { promisify } from "node:util";
|
|
13
|
+
/**
|
|
14
|
+
* Minimum `claude` version the harness supports.
|
|
15
|
+
*
|
|
16
|
+
* Below this, the binary predates flags {@link ClaudeCodeAdapter.launch} /
|
|
17
|
+
* `resume` inject on EVERY spawn — most importantly `--plugin-dir`. A
|
|
18
|
+
* commander-style CLI aborts on an unknown option with a fast `exit 1`, BEFORE
|
|
19
|
+
* it ever runs its SessionStart hook, so the session dies with no
|
|
20
|
+
* `agentSessionId` and only an opaque exit code (the pty's stderr is discarded
|
|
21
|
+
* on exit) — exactly the "exited before establishing a session id" failure
|
|
22
|
+
* users report. `doctor()` reports a below-floor claude as NOT ok so the
|
|
23
|
+
* desktop host installs a current one and the CLI surfaces an actionable
|
|
24
|
+
* upgrade remedy, instead of every session crash-looping silently.
|
|
25
|
+
*
|
|
26
|
+
* Why 2.1.0, from the Claude Code CHANGELOG:
|
|
27
|
+
* - The plugin system did not exist before the "Plugin System Released" entry
|
|
28
|
+
* in `2.0.12`, so no `1.x` or `2.0.0`–`2.0.11` build can recognize
|
|
29
|
+
* `--plugin-dir` — they reject it outright.
|
|
30
|
+
* - The changelog itemizes `--plugin-dir` only as modifications from `2.1.74`
|
|
31
|
+
* onward, and the harness's own `--plugin-dir` skills usage is verified
|
|
32
|
+
* against `2.1.x` (see core/inject/skills-plugin.ts). `2.1.x` is thus the
|
|
33
|
+
* earliest range we can GUARANTEE both recognizes the flag and loads our
|
|
34
|
+
* skills.
|
|
35
|
+
* We floor at `2.1.0` — the earliest verified-safe version — rather than the
|
|
36
|
+
* `2.0.12` plugin-system release, because we can't prove `--plugin-dir` is
|
|
37
|
+
* present across the whole `2.0.x` line, and a spurious "please upgrade" for a
|
|
38
|
+
* rare old-`2.0.x` install is far cheaper than the silent exit-1 crash-loop
|
|
39
|
+
* this floor exists to prevent. This is the SINGLE source of truth — bump it
|
|
40
|
+
* whenever the adapter starts sending a flag, or relying on behavior, a newer
|
|
41
|
+
* `claude` introduced.
|
|
42
|
+
*/
|
|
43
|
+
export const MIN_CLAUDE_CODE_VERSION = "2.1.0";
|
|
44
|
+
/**
|
|
45
|
+
* Extract a leading `major.minor.patch` from a `claude --version` line such as
|
|
46
|
+
* `"2.1.3 (Claude Code)"`. Returns null when no semver is present.
|
|
47
|
+
*/
|
|
48
|
+
export function parseClaudeVersion(versionLine) {
|
|
49
|
+
const m = /(\d+)\.(\d+)\.(\d+)/.exec(versionLine ?? "");
|
|
50
|
+
return m ? [Number(m[1]), Number(m[2]), Number(m[3])] : null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Whether a `claude --version` line is at least {@link MIN_CLAUDE_CODE_VERSION}.
|
|
54
|
+
*
|
|
55
|
+
* Deliberately surgical: the ONLY case treated as unsupported is a version we
|
|
56
|
+
* can parse AND that is below the floor. An absent or unparseable version
|
|
57
|
+
* returns `true` (supported) so a future change to claude's `--version` format
|
|
58
|
+
* can never mass-reject working installs — the floor exists to catch provably
|
|
59
|
+
* ancient binaries, not to gate on our own parser's limits.
|
|
60
|
+
*/
|
|
61
|
+
export function isClaudeVersionSupported(versionLine) {
|
|
62
|
+
const parsed = parseClaudeVersion(versionLine);
|
|
63
|
+
if (!parsed)
|
|
64
|
+
return true;
|
|
65
|
+
const floor = parseClaudeVersion(MIN_CLAUDE_CODE_VERSION);
|
|
66
|
+
for (let i = 0; i < 3; i++) {
|
|
67
|
+
if (parsed[i] > floor[i])
|
|
68
|
+
return true;
|
|
69
|
+
if (parsed[i] < floor[i])
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
13
74
|
/**
|
|
14
75
|
* Maps a project cwd to the directory name Claude Code uses for its transcript
|
|
15
76
|
* store under `~/.claude/projects/`. Claude Code applies this encoding before
|
|
@@ -247,9 +308,10 @@ export class ClaudeCodeAdapter {
|
|
|
247
308
|
this.fullScanMaxBytes = options.fullScanMaxBytes ?? DEFAULT_FULL_SCAN_MAX_BYTES;
|
|
248
309
|
}
|
|
249
310
|
async doctor() {
|
|
311
|
+
let versionLine;
|
|
250
312
|
try {
|
|
251
313
|
const { stdout } = await execFileAsync(this.binary, ["--version"], { timeout: 5000 });
|
|
252
|
-
|
|
314
|
+
versionLine = stdout.trim();
|
|
253
315
|
}
|
|
254
316
|
catch {
|
|
255
317
|
return [
|
|
@@ -260,6 +322,19 @@ export class ClaudeCodeAdapter {
|
|
|
260
322
|
},
|
|
261
323
|
];
|
|
262
324
|
}
|
|
325
|
+
// A too-old claude passes "is it on PATH" but rejects the flags we inject on
|
|
326
|
+
// every launch (see MIN_CLAUDE_CODE_VERSION), so it must report NOT ok — a
|
|
327
|
+
// green doctor for a binary that exit-1s every session is worse than none.
|
|
328
|
+
if (!isClaudeVersionSupported(versionLine)) {
|
|
329
|
+
return [
|
|
330
|
+
{
|
|
331
|
+
name: "claude",
|
|
332
|
+
ok: false,
|
|
333
|
+
detail: `\`${this.binary}\` is ${versionLine || "an unknown version"}, older than the required ${MIN_CLAUDE_CODE_VERSION}. Upgrade Claude Code: https://docs.claude.com/en/docs/claude-code/setup`,
|
|
334
|
+
},
|
|
335
|
+
];
|
|
336
|
+
}
|
|
337
|
+
return [{ name: "claude", ok: true, detail: versionLine || "installed" }];
|
|
263
338
|
}
|
|
264
339
|
launch(opts) {
|
|
265
340
|
const args = buildConfigArgs(opts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/core/adapters/claude-code.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/core/adapters/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,13 +18,6 @@
|
|
|
18
18
|
* sees with zero indication why).
|
|
19
19
|
*/
|
|
20
20
|
import type { DoctorCheck, HarnessAdapter, LaunchOpts, PastSessionRecord, SpawnSpec } from "../../shared/types.js";
|
|
21
|
-
/** Strips ANSI/CSI/OSC control sequences a pty stream is otherwise full of,
|
|
22
|
-
* so text pattern-matching (e.g. `TRUST_PROMPT_PATTERN`) sees the words a
|
|
23
|
-
* human would actually read rather than raw terminal-control bytes. Not
|
|
24
|
-
* exhaustive of every escape sequence a TUI could emit, but covers what
|
|
25
|
-
* Codex's TUI is confirmed (via real captures) to use: CSI (cursor moves,
|
|
26
|
-
* SGR color/style) and OSC (window title) sequences. */
|
|
27
|
-
export declare function stripAnsi(text: string): string;
|
|
28
21
|
export interface CodexAdapterOptions {
|
|
29
22
|
/** Overridable for tests. */
|
|
30
23
|
binary?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,SAAS,EACV,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/core/adapters/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,SAAS,EACV,MAAM,uBAAuB,CAAC;AA2B/B,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuHD,qBAAa,YAAa,YAAW,cAAc;IACjD,QAAQ,CAAC,EAAE,EAAG,OAAO,CAAU;IAC/B,QAAQ,CAAC,WAAW,EAAG,iBAAiB,CAAU;IAClD;;;0EAGsE;IACtE,QAAQ,CAAC,oBAAoB,EAAG,aAAa,CAAU;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,GAAE,mBAAwB;IAKvC,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAetC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS;IAWnC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,SAAS;IAS3D;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIjD;;;;;;;;;;;;OAYG;IACG,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhE,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAyClE;AA8DD,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,cAAc,CAEhF"}
|
|
@@ -23,6 +23,7 @@ import { open, readdir, realpath, stat } from "node:fs/promises";
|
|
|
23
23
|
import { homedir } from "node:os";
|
|
24
24
|
import { basename, join } from "node:path";
|
|
25
25
|
import { promisify } from "node:util";
|
|
26
|
+
import { stripAnsi } from "../strip-ansi.js";
|
|
26
27
|
const execFileAsync = promisify(execFile);
|
|
27
28
|
/** Bytes read from the head of a rollout file to find its session_meta line
|
|
28
29
|
* and an early title candidate. Unlike Claude's transcripts (where a summary
|
|
@@ -44,29 +45,6 @@ const MAX_SCAN_DEPTH = 4; // ~/.codex/sessions/YYYY/MM/DD/*.jsonl
|
|
|
44
45
|
* be relied on standalone, unlike Claude Code's).
|
|
45
46
|
*/
|
|
46
47
|
const TRUST_PROMPT_PATTERN = /trust\s*the\s*contents\s*of\s*this\s*directory/i;
|
|
47
|
-
/** Strips ANSI/CSI/OSC control sequences a pty stream is otherwise full of,
|
|
48
|
-
* so text pattern-matching (e.g. `TRUST_PROMPT_PATTERN`) sees the words a
|
|
49
|
-
* human would actually read rather than raw terminal-control bytes. Not
|
|
50
|
-
* exhaustive of every escape sequence a TUI could emit, but covers what
|
|
51
|
-
* Codex's TUI is confirmed (via real captures) to use: CSI (cursor moves,
|
|
52
|
-
* SGR color/style) and OSC (window title) sequences. */
|
|
53
|
-
export function stripAnsi(text) {
|
|
54
|
-
/* eslint-disable no-control-regex -- matching literal ESC (\x1b) / BEL
|
|
55
|
-
* (\x07) bytes is the entire point of an ANSI-sequence stripper; there's
|
|
56
|
-
* no non-control-character way to express "a real escape sequence". */
|
|
57
|
-
return text
|
|
58
|
-
// Lazy (`*?`), not greedy: a greedy `[^\x07]*` doesn't exclude `\x1b\\`
|
|
59
|
-
// (ST) from what it can consume, so it backtracks from the END of the
|
|
60
|
-
// whole string looking for the last reachable terminator instead of the
|
|
61
|
-
// next one — silently swallowing everything (including real prompt
|
|
62
|
-
// text) between an OSC sequence and some unrelated, much-later BEL/ST.
|
|
63
|
-
// Confirmed against a real capture: this exact bug made the trust-
|
|
64
|
-
// prompt regex below never match a full multi-KB scrollback buffer.
|
|
65
|
-
.replace(/\x1b\][\s\S]*?(?:\x07|\x1b\\)/g, "") // OSC ... BEL or ST
|
|
66
|
-
.replace(/\x1b\[[0-9;?]*[a-zA-Z]/g, "") // CSI sequences
|
|
67
|
-
.replace(/\x1b[()>=][A-Za-z0-9]?/g, ""); // charset/keypad-mode selection
|
|
68
|
-
/* eslint-enable no-control-regex */
|
|
69
|
-
}
|
|
70
48
|
/** Read only the head of a (possibly huge) rollout file and extract its
|
|
71
49
|
* `session_meta` entry. Codex always writes `session_meta` as the first
|
|
72
50
|
* line, but this tolerates a few leading blank/malformed lines defensively. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/core/adapters/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/core/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const AGENT_PROJECT_SCAN_MAX_DEPTH = 3;
|
|
2
|
+
export interface AgentProjectMarker {
|
|
3
|
+
definitionId?: number | null;
|
|
4
|
+
/** The agent's `defineAgent({ name })`, cached by `link`. */
|
|
5
|
+
name?: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A detailed marker result for callers that must distinguish definitive
|
|
9
|
+
* absence/invalidity from a transient filesystem failure. Most UI callers only
|
|
10
|
+
* need the nullable wrappers below; registry reconciliation needs all states so
|
|
11
|
+
* an unreadable project is not mistaken for a deleted one.
|
|
12
|
+
*/
|
|
13
|
+
export type AgentProjectMarkerInspection = {
|
|
14
|
+
status: "valid";
|
|
15
|
+
marker: AgentProjectMarker;
|
|
16
|
+
} | {
|
|
17
|
+
status: "absent" | "invalid" | "unreadable";
|
|
18
|
+
};
|
|
19
|
+
export declare function isAgentProjectScanIgnoredDir(name: string): boolean;
|
|
20
|
+
/** A marker is JSON whose top-level value is an object (including `{}`). */
|
|
21
|
+
export declare function parseAgentProjectMarker(raw: string): AgentProjectMarker | null;
|
|
22
|
+
export declare function readAgentProjectMarkerSync(dir: string): AgentProjectMarker | null;
|
|
23
|
+
export declare function inspectAgentProjectMarkerSync(dir: string): AgentProjectMarkerInspection;
|
|
24
|
+
export declare function readAgentProjectMarker(dir: string): Promise<AgentProjectMarker | null>;
|
|
25
|
+
export declare function inspectAgentProjectMarker(dir: string): Promise<AgentProjectMarkerInspection>;
|
|
26
|
+
//# sourceMappingURL=agent-project-discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-project-discovery.d.ts","sourceRoot":"","sources":["../../src/core/agent-project-discovery.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAW9C,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GACpC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAA;CAAE,CAAC;AAEpD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,4EAA4E;AAC5E,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,GACV,kBAAkB,GAAG,IAAI,CAS3B;AA6BD,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,GACV,kBAAkB,GAAG,IAAI,CAG3B;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,MAAM,GACV,4BAA4B,CAqB9B;AAED,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAGpC;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,4BAA4B,CAAC,CAuBvC"}
|