@scotthuang/agent-knock-knock 0.11.4 → 0.11.6
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 +23 -0
- package/README.md +6 -6
- package/dist/src/claude-lifecycle-compatibility.d.ts +16 -0
- package/dist/src/claude-lifecycle-compatibility.js +77 -0
- package/dist/src/claude-lifecycle-compatibility.js.map +1 -0
- package/dist/src/claude-local-transcript-provider.js +37 -17
- package/dist/src/claude-local-transcript-provider.js.map +1 -1
- package/dist/src/claude-terminal-agent-adapter.d.ts +13 -1
- package/dist/src/claude-terminal-agent-adapter.js +439 -8
- package/dist/src/claude-terminal-agent-adapter.js.map +1 -1
- package/dist/src/cli.js +293 -25
- package/dist/src/cli.js.map +1 -1
- package/dist/src/codex-lifecycle-compatibility.js +2 -1
- package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
- package/dist/src/codex-terminal-agent-adapter.d.ts +1 -0
- package/dist/src/codex-terminal-agent-adapter.js +7 -2
- package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
- package/dist/src/openclaw-plugin.js +4 -4
- package/dist/src/openclaw-plugin.js.map +1 -1
- package/dist/src/terminal-agent-adapter.d.ts +20 -0
- package/dist/src/terminal-agent-adapter.js.map +1 -1
- package/dist/src/terminal-agent-bridge.d.ts +43 -5
- package/dist/src/terminal-agent-bridge.js +296 -42
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/docs/quickstart-tmux.md +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.11.6 - 2026-08-10
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Add exact lifecycle and native `/status` behavior profiles for Codex 0.147.0 and Claude Code 2.1.226 while preserving Codex 0.146.0/0.146.1 and Claude Code 2.1.218 support.
|
|
8
|
+
- Let Claude Code 2.1.226 discover and exactly resume same-workspace 2.1.218 history through source-version-bound v2 candidate tokens and the existing full UUID, ownership, binding, and identity fences.
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- Match Codex 0.147.0's exact ordered two-row `/status` completion surface and Claude Code 2.1.226's `Session kind: interactive` Status panel.
|
|
13
|
+
- Keep Claude native inspection closed and reliable across narrow panes by accepting only exact profiled rows or their explicit Unicode-ellipsis prefixes, with a version-owned bounded settle deadline before the single Enter dispatch.
|
|
14
|
+
|
|
15
|
+
## 0.11.5 - 2026-08-09
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- Extend the closed `native_inspect(status)` action to exact Claude Code 2.1.218 with an adapter-owned `/status` plan, a separately measured 80 ms composer-stability boundary, bounded and redacted Status-panel parsing, and safe return to the original idle composer.
|
|
20
|
+
|
|
21
|
+
### Security
|
|
22
|
+
|
|
23
|
+
- Fence Claude inspection with a fresh snapshot token, the shared terminal lock, exact pane, PID, process birth, cwd, binding, unique `claude agents --json --all` Session identity, and exclusive active ownership before and across terminal input.
|
|
24
|
+
- Keep ordinary `send` and `respond` slash-command rejection intact, issue at most one Enter and one Escape without blind retries, create no AKK lifecycle state, and leave `/usage`, `/cost`, `/stats`, and `/usage-credits` unavailable.
|
|
25
|
+
|
|
3
26
|
## 0.11.4 - 2026-08-09
|
|
4
27
|
|
|
5
28
|
### Added
|
package/README.md
CHANGED
|
@@ -85,9 +85,9 @@ Once an AKK session exists, an ordinary `send(session_id, request)` creates a ne
|
|
|
85
85
|
|
|
86
86
|
Human-friendly selectors such as `only`, `codex`, `claude`, a terminal ID, or `@short-ref` remain a discovery layer. A natural-language tool call may preserve one only when the user explicitly named it; otherwise use the exact selector returned by `AKK list`, or omit it and require a unique eligible pane. When an AKK session already exists, `AKK list` pre-fills its authoritative `session_id` for send and the exact `turn_id` for managed controls. The same raw terminal row may advertise status, approval, cancellation, or orphan-close with its own prefilled `conversation_id` compatibility selector. Never infer, guess, or reuse compatibility selectors.
|
|
87
87
|
|
|
88
|
-
Native clear/new/resume operations are explicit lifecycle actions, separate from ordinary Turn creation. A successful new/clear creates a new native thread and AKK Session; resume activates the exact historical native thread and its corresponding Session. Each successful lifecycle transition creates no Turn. The next ordinary send creates the first Turn in the selected context. AKK serializes the transition, verifies the resulting native identity, and advances the terminal binding generation so work and callbacks from the previous context cannot cross the boundary.
|
|
88
|
+
Native clear/new/resume operations are explicit lifecycle actions, separate from ordinary Turn creation. A successful new/clear creates a new native thread and AKK Session; resume activates the exact historical native thread and its corresponding Session. Each successful lifecycle transition creates no Turn. The next ordinary send creates the first Turn in the selected context. AKK serializes the transition, verifies the resulting native identity, and advances the terminal binding generation so work and callbacks from the previous context cannot cross the boundary. Exact lifecycle profiles are verified for Codex 0.146.0/0.146.1/0.147.0 and Claude Code 2.1.218/2.1.226.
|
|
89
89
|
|
|
90
|
-
AKK status and native status inspection are different operations. `agent_knock_knock_status` (and `/akk status`) reads AKK Turn state plus a bounded current terminal screen; it does not execute the coding agent's `/status`. When an idle terminal row advertises `native_inspect`, `agent_knock_knock_native_inspect` can execute only its prefilled, version-scoped inspection with the exact `terminal_id`, `inspection="status"`, and fresh `expected_binding_token`.
|
|
90
|
+
AKK status and native status inspection are different operations. `agent_knock_knock_status` (and `/akk status`) reads AKK Turn state plus a bounded current terminal screen; it does not execute the coding agent's `/status`. When an idle terminal row advertises `native_inspect`, `agent_knock_knock_native_inspect` can execute only its prefilled, version-scoped inspection with the exact `terminal_id`, `inspection="status"`, and fresh `expected_binding_token`. Supported profiles are Codex 0.146.0/0.146.1/0.147.0 and Claude Code 2.1.218/2.1.226. Claude's adapter parses a newly opened Status panel, dismisses that exact panel once, and proves the same pane returned to an idle empty composer. The action creates no Session, Turn, receipt, monitor, or callback. `/usage`, `/cost`, `/stats`, `/usage-credits`, `/model`, `/compact`, arbitrary slash strings, and unsupported versions remain unavailable. In particular, bare Codex `/usage` opens an interactive menu whose later Enter can select an account-side usage-limit reset; do not automate it as a read-only inspection.
|
|
91
91
|
|
|
92
92
|
## Optional: Natural-Language Delegation
|
|
93
93
|
|
|
@@ -134,7 +134,7 @@ If you also want standalone shell commands such as `agent-knock-knock doctor`, i
|
|
|
134
134
|
npm install -g @scotthuang/agent-knock-knock
|
|
135
135
|
```
|
|
136
136
|
|
|
137
|
-
Standalone `agent-knock-knock list` and AKK `status` are read-only with respect to managed-turn state by default. Passing `--reconcile` explicitly enables controlled reconciliation; OpenClaw does this for `/akk list`, `/akk status`, and the corresponding plugin tools. This AKK status path does not run native
|
|
137
|
+
Standalone `agent-knock-knock list` and AKK `status` are read-only with respect to managed-turn state by default. Passing `--reconcile` explicitly enables controlled reconciliation; OpenClaw does this for `/akk list`, `/akk status`, and the corresponding plugin tools. This AKK status path does not run the coding agent's native `/status`; the separately advertised `native_inspect` action owns that bounded terminal input.
|
|
138
138
|
|
|
139
139
|
### Alternative: Install from npm
|
|
140
140
|
|
|
@@ -173,7 +173,7 @@ tmux new-session -s akk-work -c "$(pwd -P)" codex
|
|
|
173
173
|
|
|
174
174
|
Use `claude` instead of `codex` for Claude Code. Detach with `Ctrl-b`, then `d`. AKK discovers the pane automatically.
|
|
175
175
|
|
|
176
|
-
Claude tmux support requires no hooks and does not modify Claude Code settings. Hook-free completion monitoring is verified on Claude Code `2.1.198` and `2.1.
|
|
176
|
+
Claude tmux support requires no hooks and does not modify Claude Code settings. Hook-free completion monitoring is verified on Claude Code `2.1.198`, `2.1.218`, and `2.1.226`; newer versions remain eligible when their interactive transcripts preserve the required identity and completion structure. Hookless auto-approval is deliberately narrower: approval evidence currently requires Claude Code `2.1.x` at `2.1.198` or later, and other versions fall back to manual handling.
|
|
177
177
|
|
|
178
178
|
Run the diagnostic:
|
|
179
179
|
|
|
@@ -228,7 +228,7 @@ Selectors fail closed: `only` works only with one actionable target, `latest` re
|
|
|
228
228
|
|
|
229
229
|
To change native context, first copy the full `terminal_id` from `/akk list`; lifecycle commands do not accept an ordinary-send `@short-ref` or loose agent selector. `/akk threads <exact-terminal-id>` lists exact, same-workspace candidates with a deterministic number, a collision-safe display-only `@short-id`, an opaque snapshot handle, and the complete UUID. `/akk resume-thread <exact-terminal-id>` without a selection shows that list. A complete UUID remains compatible. A number or short ID resolves only against the latest list displayed in the same OpenClaw session, while an opaque handle names its exact snapshot; all expire after five minutes and fail after terminal, process, workspace, binding, candidate-set, or relevant action changes. None is ever passed to Codex or Claude Code as native identity: AKK resolves the saved tuple back to its full UUID and fresh evidence tokens first. `previous` (or `刚才那个`) is advertised only when the current Session's latest committed lifecycle transition identifies exactly one currently verified resumable source; it never guesses from title, recency, or static lineage. `/akk new-thread` and its human alias `/akk clear-thread` start a clean context. AKK does not poll bindings in the background: if a recorded owner process exits, the next lifecycle listing can classify that sole historical binding as resumable, and the resume mutation compare-and-swap detaches it before touching the terminal. Live, stale, expired, unsupported, busy, ambiguous, active-elsewhere, or unverifiable transitions fail closed. Do not send `/clear`, `/new`, `/resume`, `/status`, Codex `/fork`, `/side`, or `/btw`, Claude `/branch`, or any other first-line native slash command as an ordinary task or answer; use an advertised AKK action, express the request in natural language, or enter an unsupported native command manually in tmux.
|
|
230
230
|
|
|
231
|
-
To request
|
|
231
|
+
To request a native Codex status card or Claude Status panel, first run `agent_knock_knock_list` and use only that terminal row's advertised `native_inspect` action. The structured tool schema is closed to `inspection="status"`; callers cannot provide `/status` or another slash command as text. AKK serializes the inspection with terminal mutations, revalidates the fresh token and exact terminal identity, and returns only after it proves one fresh bounded status result and an idle postcondition. For Claude, that includes safely dismissing the exact modal once. It never turns ordinary `send` or `respond` into a slash-command escape hatch.
|
|
232
232
|
|
|
233
233
|
The top-level v7 `action_contracts` documents this closed inspection alongside the existing lifecycle and Turn actions; `available_actions` remains the only current-action authority.
|
|
234
234
|
|
|
@@ -236,7 +236,7 @@ For natural-language tool use, `agent_knock_knock_list` is terminal-first. Each
|
|
|
236
236
|
|
|
237
237
|
Use only an `available_actions` entry returned in that snapshot, begin with its prefilled authoritative arguments, and supply every `missing_required` field. A managed Session's `send` uses its prefilled `session_id` and creates a new Turn. For first attach only, use a discovery selector explicitly named by the user or the unmanaged raw-terminal row's prefilled `selector`; do not infer or reuse one. `respond` is available only while a Turn is `waiting_for_openclaw`; it uses `turn_id` and keeps the answer inside that Turn. Managed status, approval, cancellation, renewal, callback retry, and close also use the exact `turn_id`. Native inspection instead uses the exact terminal row's `terminal_id`, closed `inspection`, and snapshot-bound `expected_binding_token`; do not substitute AKK status or ordinary send. A raw terminal may be controlled only through the exact status, approval, cancellation, or orphan-close action that its own row advertises with a prefilled `conversation_id`; never construct or guess one. For an ordinary send, add only `request`—`timeoutSeconds` is unsupported, and monitoring limits should be omitted unless the user explicitly asks to change them. AKK revalidates availability before every side effect.
|
|
238
238
|
|
|
239
|
-
The top-level action contracts include `native_inspect`, `list_resumable_threads`, `new_thread`, `resume_thread`, and the conflict-only `reconcile_binding` recovery action. A supported idle Codex terminal may advertise `native_inspect` with its exact terminal ID, the closed `status` inspection kind, and a fresh binding token. The terminal row also advertises `list_resumable_threads` and, when currently safe, `new_thread`. Thread listing is read-only with respect to Session/Turn state, takes only the full `terminal_id`, and returns a fresh `expected_binding_token` plus candidate rows; each `resumable=true` row retains its complete UUID and exact prefilled `resume_thread` action. If `previous` is present, use only its exact prefilled action for a natural-language “刚才那个” request. Numbers, short IDs, and handles are human display/navigation aids, never tool arguments or authoritative native identity. The `new_thread` and `resume_thread` mutations require the fresh token, and resume additionally requires the candidate's complete `native_thread_id` and opaque `candidate_token`. A binding conflict may advertise `reconcile_binding` only when one exact Session claim can be safely CAS-detached using its listed revision, binding token, and live terminal token; this never adopts the replacement thread, sends terminal input, or creates a Turn. Never construct, guess, truncate, combine across snapshots, or reuse those values after another terminal action. Native inspection and lifecycle results contain no `turn_id` because no work was sent.
|
|
239
|
+
The top-level action contracts include `native_inspect`, `list_resumable_threads`, `new_thread`, `resume_thread`, and the conflict-only `reconcile_binding` recovery action. A supported idle Codex or Claude Code terminal may advertise `native_inspect` with its exact terminal ID, the closed `status` inspection kind, and a fresh binding token. The terminal row also advertises `list_resumable_threads` and, when currently safe, `new_thread`. Thread listing is read-only with respect to Session/Turn state, takes only the full `terminal_id`, and returns a fresh `expected_binding_token` plus candidate rows; each `resumable=true` row retains its complete UUID and exact prefilled `resume_thread` action. If `previous` is present, use only its exact prefilled action for a natural-language “刚才那个” request. Numbers, short IDs, and handles are human display/navigation aids, never tool arguments or authoritative native identity. The `new_thread` and `resume_thread` mutations require the fresh token, and resume additionally requires the candidate's complete `native_thread_id` and opaque `candidate_token`. A binding conflict may advertise `reconcile_binding` only when one exact Session claim can be safely CAS-detached using its listed revision, binding token, and live terminal token; this never adopts the replacement thread, sends terminal input, or creates a Turn. Never construct, guess, truncate, combine across snapshots, or reuse those values after another terminal action. Native inspection and lifecycle results contain no `turn_id` because no work was sent.
|
|
240
240
|
|
|
241
241
|
Workspace is not a routing boundary. AKK can list, inspect, and control verified panes across projects; when more than one target matches, use a selector to choose one explicitly.
|
|
242
242
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface ClaudeLifecycleCompatibilityProfile {
|
|
2
|
+
readonly lifecycleBehaviorProfile: string;
|
|
3
|
+
readonly nativeInspectionBehaviorProfile: string;
|
|
4
|
+
readonly nativeInspectionComposerStableMs: number;
|
|
5
|
+
readonly nativeInspectionComposerSettleTimeoutMs: number;
|
|
6
|
+
readonly nativeStatusPanelFields: readonly string[];
|
|
7
|
+
readonly nativeStatusPanelRequiredValues: Readonly<Record<string, string>>;
|
|
8
|
+
readonly resumableSourceVersions: readonly string[];
|
|
9
|
+
}
|
|
10
|
+
export declare const DEFAULT_CLAUDE_LIFECYCLE_VERSION = "2.1.218";
|
|
11
|
+
export declare function claudeLifecycleCompatibilityProfile(agentVersion: string | undefined): ClaudeLifecycleCompatibilityProfile | undefined;
|
|
12
|
+
export declare function claudeLifecycleBehaviorProfile(agentVersion: string | undefined): string | undefined;
|
|
13
|
+
export declare function claudeNativeInspectionBehaviorProfile(agentVersion: string | undefined): string | undefined;
|
|
14
|
+
export declare function supportedClaudeLifecycleVersions(): readonly string[];
|
|
15
|
+
export declare function claudeLifecycleSourceVersionSupported(runningAgentVersion: string | undefined, sourceAgentVersion: string | undefined): boolean;
|
|
16
|
+
export declare function profiledClaudeNativeStatusPanelFields(): readonly string[];
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
const CLAUDE_STATUS_PANEL_FIELDS_2_1_218 = Object.freeze([
|
|
2
|
+
"Version",
|
|
3
|
+
"Session name",
|
|
4
|
+
"Session ID",
|
|
5
|
+
"cwd",
|
|
6
|
+
"Auth token",
|
|
7
|
+
"Anthropic base URL",
|
|
8
|
+
"Model",
|
|
9
|
+
"MCP servers",
|
|
10
|
+
"Setting sources"
|
|
11
|
+
]);
|
|
12
|
+
const CLAUDE_STATUS_PANEL_FIELDS_2_1_226 = Object.freeze([
|
|
13
|
+
"Version",
|
|
14
|
+
"Session name",
|
|
15
|
+
"Session ID",
|
|
16
|
+
"Session kind",
|
|
17
|
+
"cwd",
|
|
18
|
+
"Auth token",
|
|
19
|
+
"Anthropic base URL",
|
|
20
|
+
"Model",
|
|
21
|
+
"MCP servers",
|
|
22
|
+
"Setting sources"
|
|
23
|
+
]);
|
|
24
|
+
const CLAUDE_LIFECYCLE_PROFILES = Object.freeze({
|
|
25
|
+
"2.1.218": Object.freeze({
|
|
26
|
+
lifecycleBehaviorProfile: "claude-code-2.1.218",
|
|
27
|
+
nativeInspectionBehaviorProfile: "claude-code-2.1.218-native-status",
|
|
28
|
+
nativeInspectionComposerStableMs: 80,
|
|
29
|
+
nativeInspectionComposerSettleTimeoutMs: 2_000,
|
|
30
|
+
nativeStatusPanelFields: CLAUDE_STATUS_PANEL_FIELDS_2_1_218,
|
|
31
|
+
nativeStatusPanelRequiredValues: Object.freeze({}),
|
|
32
|
+
resumableSourceVersions: Object.freeze(["2.1.218"])
|
|
33
|
+
}),
|
|
34
|
+
"2.1.226": Object.freeze({
|
|
35
|
+
lifecycleBehaviorProfile: "claude-code-2.1.226",
|
|
36
|
+
nativeInspectionBehaviorProfile: "claude-code-2.1.226-native-status",
|
|
37
|
+
nativeInspectionComposerStableMs: 80,
|
|
38
|
+
nativeInspectionComposerSettleTimeoutMs: 5_000,
|
|
39
|
+
nativeStatusPanelFields: CLAUDE_STATUS_PANEL_FIELDS_2_1_226,
|
|
40
|
+
nativeStatusPanelRequiredValues: Object.freeze({
|
|
41
|
+
"Session kind": "interactive"
|
|
42
|
+
}),
|
|
43
|
+
resumableSourceVersions: Object.freeze(["2.1.218", "2.1.226"])
|
|
44
|
+
})
|
|
45
|
+
});
|
|
46
|
+
// Preserve the historical optional-call default. Production discovery always
|
|
47
|
+
// supplies the exact running version, while callers that omitted it before the
|
|
48
|
+
// multi-profile registry continue to inspect 2.1.218 fixtures deterministically.
|
|
49
|
+
export const DEFAULT_CLAUDE_LIFECYCLE_VERSION = "2.1.218";
|
|
50
|
+
export function claudeLifecycleCompatibilityProfile(agentVersion) {
|
|
51
|
+
return agentVersion
|
|
52
|
+
? CLAUDE_LIFECYCLE_PROFILES[agentVersion]
|
|
53
|
+
: undefined;
|
|
54
|
+
}
|
|
55
|
+
export function claudeLifecycleBehaviorProfile(agentVersion) {
|
|
56
|
+
return claudeLifecycleCompatibilityProfile(agentVersion)
|
|
57
|
+
?.lifecycleBehaviorProfile;
|
|
58
|
+
}
|
|
59
|
+
export function claudeNativeInspectionBehaviorProfile(agentVersion) {
|
|
60
|
+
return claudeLifecycleCompatibilityProfile(agentVersion)
|
|
61
|
+
?.nativeInspectionBehaviorProfile;
|
|
62
|
+
}
|
|
63
|
+
export function supportedClaudeLifecycleVersions() {
|
|
64
|
+
return Object.keys(CLAUDE_LIFECYCLE_PROFILES);
|
|
65
|
+
}
|
|
66
|
+
export function claudeLifecycleSourceVersionSupported(runningAgentVersion, sourceAgentVersion) {
|
|
67
|
+
if (!sourceAgentVersion) {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
return claudeLifecycleCompatibilityProfile(runningAgentVersion)
|
|
71
|
+
?.resumableSourceVersions.includes(sourceAgentVersion) === true;
|
|
72
|
+
}
|
|
73
|
+
export function profiledClaudeNativeStatusPanelFields() {
|
|
74
|
+
return [...new Set(Object.values(CLAUDE_LIFECYCLE_PROFILES)
|
|
75
|
+
.flatMap((profile) => profile.nativeStatusPanelFields))];
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=claude-lifecycle-compatibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-lifecycle-compatibility.js","sourceRoot":"","sources":["../../src/claude-lifecycle-compatibility.ts"],"names":[],"mappings":"AAUA,MAAM,kCAAkC,GAAG,MAAM,CAAC,MAAM,CAAC;IACvD,SAAS;IACT,cAAc;IACd,YAAY;IACZ,KAAK;IACL,YAAY;IACZ,oBAAoB;IACpB,OAAO;IACP,aAAa;IACb,iBAAiB;CAClB,CAAC,CAAC;AAEH,MAAM,kCAAkC,GAAG,MAAM,CAAC,MAAM,CAAC;IACvD,SAAS;IACT,cAAc;IACd,YAAY;IACZ,cAAc;IACd,KAAK;IACL,YAAY;IACZ,oBAAoB;IACpB,OAAO;IACP,aAAa;IACb,iBAAiB;CAClB,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAE3B,MAAM,CAAC,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;QACvB,wBAAwB,EAAE,qBAAqB;QAC/C,+BAA+B,EAC7B,mCAAmC;QACrC,gCAAgC,EAAE,EAAE;QACpC,uCAAuC,EAAE,KAAK;QAC9C,uBAAuB,EAAE,kCAAkC;QAC3D,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;KACpD,CAAC;IACF,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;QACvB,wBAAwB,EAAE,qBAAqB;QAC/C,+BAA+B,EAC7B,mCAAmC;QACrC,gCAAgC,EAAE,EAAE;QACpC,uCAAuC,EAAE,KAAK;QAC9C,uBAAuB,EAAE,kCAAkC;QAC3D,+BAA+B,EAAE,MAAM,CAAC,MAAM,CAAC;YAC7C,cAAc,EAAE,aAAa;SAC9B,CAAC;QACF,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KAC/D,CAAC;CACH,CAAC,CAAC;AAEH,6EAA6E;AAC7E,+EAA+E;AAC/E,iFAAiF;AACjF,MAAM,CAAC,MAAM,gCAAgC,GAAG,SAAS,CAAC;AAE1D,MAAM,UAAU,mCAAmC,CACjD,YAAgC;IAEhC,OAAO,YAAY;QACjB,CAAC,CAAC,yBAAyB,CAAC,YAAY,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,YAAgC;IAEhC,OAAO,mCAAmC,CAAC,YAAY,CAAC;QACtD,EAAE,wBAAwB,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,YAAgC;IAEhC,OAAO,mCAAmC,CAAC,YAAY,CAAC;QACtD,EAAE,+BAA+B,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,mBAAuC,EACvC,kBAAsC;IAEtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,mCAAmC,CAAC,mBAAmB,CAAC;QAC7D,EAAE,uBAAuB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,qCAAqC;IACnD,OAAO,CAAC,GAAG,IAAI,GAAG,CAChB,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC;aACrC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CACzD,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { createHash } from "node:crypto";
|
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
|
+
import { claudeLifecycleBehaviorProfile, claudeLifecycleSourceVersionSupported, DEFAULT_CLAUDE_LIFECYCLE_VERSION, supportedClaudeLifecycleVersions } from "./claude-lifecycle-compatibility.js";
|
|
5
6
|
import { redactString } from "./runtime-log.js";
|
|
6
7
|
const CLAUDE_TRANSCRIPT_ANCHOR_VERSION = 1;
|
|
7
8
|
const CLAUDE_TRANSCRIPT_MAX_TURN_BYTES = 64 * 1024 * 1024;
|
|
@@ -11,7 +12,6 @@ const CLAUDE_TRANSCRIPT_VERSION_PATTERN = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]
|
|
|
11
12
|
const NO_FOLLOW_FLAG = typeof fs.constants.O_NOFOLLOW === "number"
|
|
12
13
|
? fs.constants.O_NOFOLLOW
|
|
13
14
|
: 0;
|
|
14
|
-
const CLAUDE_LIFECYCLE_VERSION = "2.1.218";
|
|
15
15
|
const CLAUDE_HISTORICAL_METADATA_MAX_BYTES = 1024 * 1024;
|
|
16
16
|
export function defaultClaudeHome() {
|
|
17
17
|
const configured = process.env.CLAUDE_CONFIG_DIR?.trim();
|
|
@@ -24,9 +24,10 @@ export function listClaudeHistoricalSessions(options) {
|
|
|
24
24
|
}
|
|
25
25
|
const cwd = path.resolve(options.cwd);
|
|
26
26
|
const claudeHome = path.resolve(options.claudeHome ?? defaultClaudeHome());
|
|
27
|
-
const agentVersion = options.agentVersion ??
|
|
28
|
-
if (agentVersion
|
|
29
|
-
throw new Error(
|
|
27
|
+
const agentVersion = options.agentVersion ?? DEFAULT_CLAUDE_LIFECYCLE_VERSION;
|
|
28
|
+
if (!claudeLifecycleBehaviorProfile(agentVersion)) {
|
|
29
|
+
throw new Error("Claude lifecycle candidates require one of the supported exact versions: " +
|
|
30
|
+
supportedClaudeLifecycleVersions().join(", "));
|
|
30
31
|
}
|
|
31
32
|
const projectsRoot = projectsRootPath(claudeHome);
|
|
32
33
|
if (!isRealDirectory(projectsRoot)) {
|
|
@@ -70,7 +71,8 @@ export function listClaudeThreadLifecycleCandidates(options) {
|
|
|
70
71
|
source: "claude_transcript",
|
|
71
72
|
rootInteractive: true,
|
|
72
73
|
fileToken: session.fileToken,
|
|
73
|
-
agentVersion:
|
|
74
|
+
agentVersion: options.agentVersion,
|
|
75
|
+
sourceAgentVersion: session.claudeVersion,
|
|
74
76
|
updatedAtMs: session.updatedAtMs,
|
|
75
77
|
metadataFingerprint: session.metadataFingerprint,
|
|
76
78
|
candidateToken: session.candidateToken
|
|
@@ -99,15 +101,16 @@ export function revalidateClaudeThreadLifecycleCandidate(candidate, options) {
|
|
|
99
101
|
? candidate.candidateToken
|
|
100
102
|
: candidate;
|
|
101
103
|
if (token.schema !== "agent-knock-knock/thread-candidate-token" ||
|
|
102
|
-
token.version
|
|
104
|
+
![1, 2].includes(token.version) ||
|
|
103
105
|
token.agent !== "claude" ||
|
|
104
106
|
token.source !== "claude_transcript" ||
|
|
105
107
|
token.agentVersion !== options.agentVersion ||
|
|
108
|
+
!claudeLifecycleSourceVersionSupported(options.agentVersion, claudeCandidateSourceAgentVersion(token)) ||
|
|
106
109
|
!path.isAbsolute(options.cwd) ||
|
|
107
110
|
!path.isAbsolute(token.cwd) ||
|
|
108
111
|
path.resolve(token.cwd) !== path.resolve(options.cwd) ||
|
|
109
112
|
!CLAUDE_SESSION_ID_PATTERN.test(token.nativeThreadId) ||
|
|
110
|
-
options.agentVersion
|
|
113
|
+
!claudeLifecycleBehaviorProfile(options.agentVersion)) {
|
|
111
114
|
return {
|
|
112
115
|
status: "unsafe",
|
|
113
116
|
reason: "candidate is not an exact Claude root-interactive session"
|
|
@@ -133,13 +136,17 @@ export function revalidateClaudeThreadLifecycleCandidate(candidate, options) {
|
|
|
133
136
|
source: "claude_transcript",
|
|
134
137
|
rootInteractive: true,
|
|
135
138
|
fileToken: summary.fileToken,
|
|
136
|
-
agentVersion:
|
|
139
|
+
agentVersion: options.agentVersion,
|
|
140
|
+
sourceAgentVersion: summary.claudeVersion,
|
|
137
141
|
updatedAtMs: summary.updatedAtMs,
|
|
138
142
|
metadataFingerprint: summary.metadataFingerprint,
|
|
139
143
|
candidateToken: summary.candidateToken
|
|
140
144
|
};
|
|
141
145
|
if (!sameClaudeThreadFileToken(token.fileToken, current.fileToken) ||
|
|
142
|
-
token.metadataFingerprint !== current.metadataFingerprint
|
|
146
|
+
token.metadataFingerprint !== current.metadataFingerprint ||
|
|
147
|
+
token.version !== current.candidateToken.version ||
|
|
148
|
+
claudeCandidateSourceAgentVersion(token) !==
|
|
149
|
+
claudeCandidateSourceAgentVersion(current.candidateToken)) {
|
|
143
150
|
return {
|
|
144
151
|
status: "changed",
|
|
145
152
|
candidate: current,
|
|
@@ -164,7 +171,7 @@ export function revalidateClaudeThreadLifecycleCandidate(candidate, options) {
|
|
|
164
171
|
function inspectClaudeHistoricalSession({ projectsRoot, cwd, sessionId, agentVersion }) {
|
|
165
172
|
if (!isRealDirectory(projectsRoot) ||
|
|
166
173
|
!CLAUDE_SESSION_ID_PATTERN.test(sessionId) ||
|
|
167
|
-
agentVersion
|
|
174
|
+
!claudeLifecycleBehaviorProfile(agentVersion)) {
|
|
168
175
|
return undefined;
|
|
169
176
|
}
|
|
170
177
|
const relativePath = expectedTranscriptRelativePath(sessionId, cwd);
|
|
@@ -186,7 +193,7 @@ function inspectClaudeHistoricalSession({ projectsRoot, cwd, sessionId, agentVer
|
|
|
186
193
|
if (metadata.sessionId !== sessionId ||
|
|
187
194
|
!path.isAbsolute(metadata.cwd) ||
|
|
188
195
|
normalizePath(metadata.cwd) !== normalizePath(cwd) ||
|
|
189
|
-
metadata.version
|
|
196
|
+
!claudeLifecycleSourceVersionSupported(agentVersion, metadata.version) ||
|
|
190
197
|
metadata.isSidechain !== false ||
|
|
191
198
|
metadata.entrypoint !== "cli" ||
|
|
192
199
|
metadata.agentId !== undefined ||
|
|
@@ -221,17 +228,27 @@ function inspectClaudeHistoricalSession({ projectsRoot, cwd, sessionId, agentVer
|
|
|
221
228
|
transcriptPath
|
|
222
229
|
}))
|
|
223
230
|
.digest("hex");
|
|
224
|
-
const
|
|
225
|
-
schema: "agent-knock-knock/thread-candidate-token",
|
|
226
|
-
version: 1,
|
|
231
|
+
const tokenFields = {
|
|
227
232
|
agent: "claude",
|
|
228
233
|
nativeThreadId: sessionId,
|
|
229
234
|
cwd: path.resolve(cwd),
|
|
230
235
|
source: "claude_transcript",
|
|
231
|
-
agentVersion
|
|
236
|
+
agentVersion,
|
|
232
237
|
fileToken,
|
|
233
238
|
metadataFingerprint
|
|
234
239
|
};
|
|
240
|
+
const candidateToken = metadata.version === agentVersion
|
|
241
|
+
? {
|
|
242
|
+
schema: "agent-knock-knock/thread-candidate-token",
|
|
243
|
+
version: 1,
|
|
244
|
+
...tokenFields
|
|
245
|
+
}
|
|
246
|
+
: {
|
|
247
|
+
schema: "agent-knock-knock/thread-candidate-token",
|
|
248
|
+
version: 2,
|
|
249
|
+
...tokenFields,
|
|
250
|
+
sourceAgentVersion: metadata.version
|
|
251
|
+
};
|
|
235
252
|
return {
|
|
236
253
|
id: sessionId,
|
|
237
254
|
cwd: path.resolve(cwd),
|
|
@@ -248,6 +265,9 @@ function inspectClaudeHistoricalSession({ projectsRoot, cwd, sessionId, agentVer
|
|
|
248
265
|
fs.closeSync(opened.fd);
|
|
249
266
|
}
|
|
250
267
|
}
|
|
268
|
+
function claudeCandidateSourceAgentVersion(token) {
|
|
269
|
+
return token.version === 2 ? token.sourceAgentVersion : token.agentVersion;
|
|
270
|
+
}
|
|
251
271
|
function readClaudeHistoricalMetadata(fd, fileSize) {
|
|
252
272
|
if (fileSize <= 0 || !Number.isSafeInteger(fileSize)) {
|
|
253
273
|
return undefined;
|
|
@@ -296,8 +316,8 @@ function readClaudeHistoricalMetadata(fd, fileSize) {
|
|
|
296
316
|
nonEmptyString(parsed.teamName) !== undefined ||
|
|
297
317
|
nonEmptyString(parsed.sessionKind) !== undefined;
|
|
298
318
|
if (!hasIdentityMetadata) {
|
|
299
|
-
// Claude
|
|
300
|
-
// sessionId. Continue to the first full root
|
|
319
|
+
// Verified Claude transcript profiles can prepend mode/permission-mode
|
|
320
|
+
// records carrying only sessionId. Continue to the first full root row.
|
|
301
321
|
continue;
|
|
302
322
|
}
|
|
303
323
|
if (!cwd || !version || !entrypoint || typeof parsed.isSidechain !== "boolean") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-local-transcript-provider.js","sourceRoot":"","sources":["../../src/claude-local-transcript-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-local-transcript-provider.js","sourceRoot":"","sources":["../../src/claude-local-transcript-provider.ts"],"names":[],"mappings":"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"}
|