@agentex/agent 0.0.9 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/providers/claude/execute.d.ts.map +1 -1
- package/dist/providers/claude/execute.js +21 -5
- package/dist/providers/claude/execute.js.map +1 -1
- package/dist/providers/claude/index.d.ts +2 -0
- package/dist/providers/claude/index.d.ts.map +1 -1
- package/dist/providers/claude/index.js +4 -0
- package/dist/providers/claude/index.js.map +1 -1
- package/dist/providers/claude/parse.d.ts +28 -1
- package/dist/providers/claude/parse.d.ts.map +1 -1
- package/dist/providers/claude/parse.js +128 -11
- package/dist/providers/claude/parse.js.map +1 -1
- package/dist/providers/claude/session.d.ts +14 -1
- package/dist/providers/claude/session.d.ts.map +1 -1
- package/dist/providers/claude/session.js +93 -18
- package/dist/providers/claude/session.js.map +1 -1
- package/dist/providers/claude/transcript.d.ts +202 -0
- package/dist/providers/claude/transcript.d.ts.map +1 -0
- package/dist/providers/claude/transcript.js +434 -0
- package/dist/providers/claude/transcript.js.map +1 -0
- package/dist/providers/codex/execute.d.ts.map +1 -1
- package/dist/providers/codex/execute.js +39 -3
- package/dist/providers/codex/execute.js.map +1 -1
- package/dist/providers/codex/index.d.ts +2 -0
- package/dist/providers/codex/index.d.ts.map +1 -1
- package/dist/providers/codex/index.js +4 -0
- package/dist/providers/codex/index.js.map +1 -1
- package/dist/providers/codex/plan-mode.d.ts +31 -0
- package/dist/providers/codex/plan-mode.d.ts.map +1 -0
- package/dist/providers/codex/plan-mode.js +50 -0
- package/dist/providers/codex/plan-mode.js.map +1 -0
- package/dist/providers/codex/session.d.ts.map +1 -1
- package/dist/providers/codex/session.js +15 -4
- package/dist/providers/codex/session.js.map +1 -1
- package/dist/providers/codex/transcript.d.ts +162 -0
- package/dist/providers/codex/transcript.d.ts.map +1 -0
- package/dist/providers/codex/transcript.js +340 -0
- package/dist/providers/codex/transcript.js.map +1 -0
- package/dist/providers/cursor/execute.d.ts.map +1 -1
- package/dist/providers/cursor/execute.js +20 -0
- package/dist/providers/cursor/execute.js.map +1 -1
- package/dist/providers/cursor/index.d.ts.map +1 -1
- package/dist/providers/cursor/index.js +1 -0
- package/dist/providers/cursor/index.js.map +1 -1
- package/dist/providers/gemini/execute.d.ts.map +1 -1
- package/dist/providers/gemini/execute.js +20 -0
- package/dist/providers/gemini/execute.js.map +1 -1
- package/dist/providers/gemini/index.d.ts.map +1 -1
- package/dist/providers/gemini/index.js +1 -0
- package/dist/providers/gemini/index.js.map +1 -1
- package/dist/providers/openclaw/execute.d.ts.map +1 -1
- package/dist/providers/openclaw/execute.js +22 -1
- package/dist/providers/openclaw/execute.js.map +1 -1
- package/dist/providers/openclaw/index.d.ts.map +1 -1
- package/dist/providers/openclaw/index.js +1 -0
- package/dist/providers/openclaw/index.js.map +1 -1
- package/dist/providers/opencode/execute.d.ts.map +1 -1
- package/dist/providers/opencode/execute.js +20 -0
- package/dist/providers/opencode/execute.js.map +1 -1
- package/dist/providers/opencode/index.d.ts.map +1 -1
- package/dist/providers/opencode/index.js +1 -0
- package/dist/providers/opencode/index.js.map +1 -1
- package/dist/providers/pi/index.d.ts.map +1 -1
- package/dist/providers/pi/index.js +1 -0
- package/dist/providers/pi/index.js.map +1 -1
- package/dist/providers/process/index.d.ts.map +1 -1
- package/dist/providers/process/index.js +1 -0
- package/dist/providers/process/index.js.map +1 -1
- package/dist/types.d.ts +173 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/auth.d.ts +36 -0
- package/dist/utils/auth.d.ts.map +1 -1
- package/dist/utils/auth.js +67 -0
- package/dist/utils/auth.js.map +1 -1
- package/dist/utils/exit-plan-mode.d.ts +34 -0
- package/dist/utils/exit-plan-mode.d.ts.map +1 -0
- package/dist/utils/exit-plan-mode.js +29 -0
- package/dist/utils/exit-plan-mode.js.map +1 -0
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { randomUUID } from "node:crypto";
|
|
|
3
3
|
import { findBinary } from "../../utils/binary.js";
|
|
4
4
|
import { buildEnv, ensurePathInEnv } from "../../utils/env.js";
|
|
5
5
|
import { buildSkillsDir, cleanupSkillsDir } from "../../utils/skills.js";
|
|
6
|
-
import { parseStreamLine } from "./parse.js";
|
|
6
|
+
import { parseStreamLine, classifyClaudeAuthFromResult, CLAUDE_LOGIN_COMMAND } from "./parse.js";
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
8
8
|
// ndjson helpers
|
|
9
9
|
// ---------------------------------------------------------------------------
|
|
@@ -31,6 +31,44 @@ function obj(parent, key) {
|
|
|
31
31
|
: {};
|
|
32
32
|
}
|
|
33
33
|
// ---------------------------------------------------------------------------
|
|
34
|
+
// Permission response shaping
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
/**
|
|
37
|
+
* Build the wire-shape control_response for a `can_use_tool` request.
|
|
38
|
+
*
|
|
39
|
+
* The CLI's `PermissionResultAllow` schema requires `updatedInput` on every
|
|
40
|
+
* allow response — it carries the (possibly host-modified) tool input back
|
|
41
|
+
* into the agent. If the host doesn't supply one, we echo the original input.
|
|
42
|
+
* `PermissionResultDeny` only requires `behavior` and `message`.
|
|
43
|
+
*
|
|
44
|
+
* Exported for unit testing — not part of the public API.
|
|
45
|
+
*
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
export function buildPermissionResponse(toolUseId, input, resp) {
|
|
49
|
+
// Auto-allow when no host callback is registered.
|
|
50
|
+
if (resp === null) {
|
|
51
|
+
return { behavior: "allow", toolUseID: toolUseId, updatedInput: input };
|
|
52
|
+
}
|
|
53
|
+
if (resp.allow) {
|
|
54
|
+
const out = {
|
|
55
|
+
behavior: "allow",
|
|
56
|
+
toolUseID: toolUseId,
|
|
57
|
+
updatedInput: resp.updatedInput ?? input,
|
|
58
|
+
};
|
|
59
|
+
if (resp.message)
|
|
60
|
+
out["message"] = resp.message;
|
|
61
|
+
return out;
|
|
62
|
+
}
|
|
63
|
+
const out = {
|
|
64
|
+
behavior: "deny",
|
|
65
|
+
toolUseID: toolUseId,
|
|
66
|
+
};
|
|
67
|
+
if (resp.message)
|
|
68
|
+
out["message"] = resp.message;
|
|
69
|
+
return out;
|
|
70
|
+
}
|
|
71
|
+
// ---------------------------------------------------------------------------
|
|
34
72
|
// ClaudeSession — persistent multi-turn process
|
|
35
73
|
// ---------------------------------------------------------------------------
|
|
36
74
|
/**
|
|
@@ -72,7 +110,15 @@ export async function createClaudeSession(ctx) {
|
|
|
72
110
|
args.push("--resume", id);
|
|
73
111
|
}
|
|
74
112
|
}
|
|
75
|
-
|
|
113
|
+
// planMode and skipPermissions are mutually exclusive — planMode wins.
|
|
114
|
+
// In plan mode the agent can't actually perform mutations anyway, but we
|
|
115
|
+
// still need stdio permission protocol so the host can inspect the
|
|
116
|
+
// ExitPlanMode permission request and capture the proposed plan.
|
|
117
|
+
if (config.planMode) {
|
|
118
|
+
args.push("--permission-mode", "plan");
|
|
119
|
+
args.push("--permission-prompt-tool", "stdio");
|
|
120
|
+
}
|
|
121
|
+
else if (config.skipPermissions) {
|
|
76
122
|
args.push("--dangerously-skip-permissions");
|
|
77
123
|
}
|
|
78
124
|
else {
|
|
@@ -282,7 +328,7 @@ class ClaudeSessionImpl {
|
|
|
282
328
|
this.handleResult(msg);
|
|
283
329
|
return;
|
|
284
330
|
}
|
|
285
|
-
// Stream events — forward via onEvent and parse for
|
|
331
|
+
// Stream events — forward via onEvent and parse for agentex StreamEvent
|
|
286
332
|
this.handleStreamMessage(msg, line);
|
|
287
333
|
}
|
|
288
334
|
// -------------------------------------------------------------------------
|
|
@@ -324,10 +370,7 @@ class ClaudeSessionImpl {
|
|
|
324
370
|
const toolUseId = str(request, "tool_use_id");
|
|
325
371
|
// If no permission callback, auto-allow
|
|
326
372
|
if (!this.ctx.onUserInputRequest) {
|
|
327
|
-
this.sendControlResponse(requestId,
|
|
328
|
-
behavior: "allow",
|
|
329
|
-
toolUseID: toolUseId,
|
|
330
|
-
});
|
|
373
|
+
this.sendControlResponse(requestId, buildPermissionResponse(toolUseId, input, null));
|
|
331
374
|
return;
|
|
332
375
|
}
|
|
333
376
|
this._pendingCallbacks.add(requestId);
|
|
@@ -344,15 +387,7 @@ class ClaudeSessionImpl {
|
|
|
344
387
|
// If the request was cancelled while we were waiting, don't respond
|
|
345
388
|
if (!this._pendingCallbacks.delete(requestId))
|
|
346
389
|
return;
|
|
347
|
-
|
|
348
|
-
behavior: resp.allow ? "allow" : "deny",
|
|
349
|
-
toolUseID: toolUseId,
|
|
350
|
-
};
|
|
351
|
-
if (resp.message)
|
|
352
|
-
response["message"] = resp.message;
|
|
353
|
-
if (resp.updatedInput)
|
|
354
|
-
response["updatedInput"] = resp.updatedInput;
|
|
355
|
-
this.sendControlResponse(requestId, response);
|
|
390
|
+
this.sendControlResponse(requestId, buildPermissionResponse(toolUseId, input, resp));
|
|
356
391
|
if (this._state === "waiting_for_approval")
|
|
357
392
|
this._state = "thinking";
|
|
358
393
|
}
|
|
@@ -484,10 +519,14 @@ class ClaudeSessionImpl {
|
|
|
484
519
|
if (typeof msg["session_id"] === "string" && msg["session_id"]) {
|
|
485
520
|
this._sessionId = msg["session_id"];
|
|
486
521
|
}
|
|
487
|
-
// Detect error codes and derive status
|
|
522
|
+
// Detect error codes and derive status. Run the auth classifier
|
|
523
|
+
// before the generic `isError` branch so auth failures get the
|
|
524
|
+
// specific `auth_required` code and a recovery message instead of
|
|
525
|
+
// a vague `execution_error`.
|
|
488
526
|
let errorCode = null;
|
|
489
527
|
const subtype = str(msg, "subtype");
|
|
490
528
|
let status = "completed";
|
|
529
|
+
const authClassification = classifyClaudeAuthFromResult(msg);
|
|
491
530
|
if (subtype === "error_max_turns" || stopReason === "max_turns") {
|
|
492
531
|
errorCode = "max_turns";
|
|
493
532
|
status = "max_turns";
|
|
@@ -496,17 +535,53 @@ class ClaudeSessionImpl {
|
|
|
496
535
|
errorCode = "max_budget";
|
|
497
536
|
status = "max_budget";
|
|
498
537
|
}
|
|
538
|
+
else if (authClassification) {
|
|
539
|
+
errorCode = "auth_required";
|
|
540
|
+
status = "failed";
|
|
541
|
+
}
|
|
499
542
|
else if (subtype === "error_during_execution" || isError) {
|
|
500
543
|
errorCode = errorCode ?? "execution_error";
|
|
501
544
|
status = "failed";
|
|
502
545
|
}
|
|
546
|
+
// The result event bypasses handleStreamMessage (handleLine routes it
|
|
547
|
+
// to handleResult), so parseStreamLine never runs against it in the
|
|
548
|
+
// streaming session. Emit auth_required here so consumers wired to
|
|
549
|
+
// onEvent see the same signal they would on the one-shot path.
|
|
550
|
+
if (authClassification && this.ctx.onEvent) {
|
|
551
|
+
try {
|
|
552
|
+
void this.ctx.onEvent({
|
|
553
|
+
type: "auth_required",
|
|
554
|
+
httpStatus: authClassification.httpStatus,
|
|
555
|
+
reason: authClassification.reason,
|
|
556
|
+
loginCommand: CLAUDE_LOGIN_COMMAND,
|
|
557
|
+
message: authClassification.message,
|
|
558
|
+
timestamp: new Date().toISOString(),
|
|
559
|
+
providerType: "claude",
|
|
560
|
+
sessionId: this._sessionId,
|
|
561
|
+
messageId: null,
|
|
562
|
+
eventId: null,
|
|
563
|
+
turnId: null,
|
|
564
|
+
parentToolCallId: null,
|
|
565
|
+
raw: msg,
|
|
566
|
+
});
|
|
567
|
+
}
|
|
568
|
+
catch { /* swallow */ }
|
|
569
|
+
}
|
|
570
|
+
const errorMessage = (() => {
|
|
571
|
+
if (authClassification) {
|
|
572
|
+
return summary
|
|
573
|
+
? `${summary} (run \`${CLAUDE_LOGIN_COMMAND}\`)`
|
|
574
|
+
: `Claude requires authentication. Run \`${CLAUDE_LOGIN_COMMAND}\`.`;
|
|
575
|
+
}
|
|
576
|
+
return isError ? summary : null;
|
|
577
|
+
})();
|
|
503
578
|
const result = {
|
|
504
579
|
summary,
|
|
505
580
|
usage,
|
|
506
581
|
costUsd,
|
|
507
582
|
status,
|
|
508
583
|
errorCode,
|
|
509
|
-
errorMessage
|
|
584
|
+
errorMessage,
|
|
510
585
|
};
|
|
511
586
|
this._state = "idle";
|
|
512
587
|
if (this._turnResolve) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/providers/claude/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/providers/claude/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code writes a durable JSONL transcript for every session under
|
|
3
|
+
* `<claudeHome>/projects/<sanitized-cwd>/<sessionId>.jsonl`. The on-disk lines
|
|
4
|
+
* use the same JSON shape Claude streams over stdout, so {@link parseStreamLine}
|
|
5
|
+
* handles them unchanged. These helpers cover the two parts the consuming
|
|
6
|
+
* host can't easily derive itself: where the file lives, and how to stream
|
|
7
|
+
* it back as `StreamEvent`s.
|
|
8
|
+
*
|
|
9
|
+
* Encoding rules are verified against Claude Code's open-source source
|
|
10
|
+
* (`sessionStoragePortable.ts:sanitizePath`):
|
|
11
|
+
* 1. Replace EVERY non-alphanumeric character with `-`
|
|
12
|
+
* (not just `/` and `.` — also `_`, space, `:`, etc.)
|
|
13
|
+
* 2. If the sanitized name exceeds {@link MAX_SANITIZED_LENGTH} (200),
|
|
14
|
+
* truncate and append a hash suffix
|
|
15
|
+
* 3. Canonicalize the cwd via `realpath` + NFC first so symlinks
|
|
16
|
+
* (e.g. macOS `/tmp` → `/private/tmp`) resolve to the same project dir
|
|
17
|
+
*
|
|
18
|
+
* The CLI does not expose a flag for the transcript path; the only source of
|
|
19
|
+
* truth is the open-source `sessionStoragePortable.ts`.
|
|
20
|
+
*/
|
|
21
|
+
import type { StreamEvent, TranscriptOps } from "../../types.js";
|
|
22
|
+
/**
|
|
23
|
+
* Maximum length of a sanitized project-directory name before truncation +
|
|
24
|
+
* hash suffix kicks in. Mirrors Claude Code's `MAX_SANITIZED_LENGTH`. Most
|
|
25
|
+
* filesystems cap individual filename segments at 255 bytes; the gap leaves
|
|
26
|
+
* room for the hash suffix.
|
|
27
|
+
*/
|
|
28
|
+
export declare const MAX_SANITIZED_LENGTH = 200;
|
|
29
|
+
/**
|
|
30
|
+
* Encode an absolute path into Claude's project-directory name. Mirrors
|
|
31
|
+
* `sanitizePath` in Claude Code's open-source `sessionStoragePortable.ts`.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* sanitizeProjectPath("/Users/foo/bar") // → "-Users-foo-bar"
|
|
35
|
+
* sanitizeProjectPath("/Users/foo/.config") // → "-Users-foo--config"
|
|
36
|
+
* sanitizeProjectPath("/Users/foo/my_app") // → "-Users-foo-my-app"
|
|
37
|
+
* // (underscore is non-alphanumeric)
|
|
38
|
+
*/
|
|
39
|
+
export declare function sanitizeProjectPath(name: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* Resolve Claude's config home directory. Mirrors `getClaudeConfigHomeDir` in
|
|
42
|
+
* Claude Code, including the NFC normalization needed to keep paths consistent
|
|
43
|
+
* with macOS HFS+/APFS Unicode handling.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveClaudeHome(override?: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Canonicalize a cwd path to match what Claude Code stores. `realpath`
|
|
48
|
+
* resolves symlinks (`/tmp` → `/private/tmp` on macOS) and NFC unifies the
|
|
49
|
+
* two Unicode normalizations macOS accepts for filenames with accents.
|
|
50
|
+
*
|
|
51
|
+
* Returns the NFC-normalized input on `realpath` failure (e.g., directory
|
|
52
|
+
* was deleted after the session ran), since the directory name on disk was
|
|
53
|
+
* computed against whatever the cwd was at session start.
|
|
54
|
+
*/
|
|
55
|
+
export declare function canonicalizeCwd(cwd: string): Promise<string>;
|
|
56
|
+
export interface GetClaudeTranscriptPathOptions {
|
|
57
|
+
/** Claude's session id (UUID). Same value as the `session_id` field on stream events. */
|
|
58
|
+
sessionId: string;
|
|
59
|
+
/**
|
|
60
|
+
* The working directory Claude was launched in. Canonicalized via `realpath`
|
|
61
|
+
* + NFC before encoding, matching Claude's own behavior.
|
|
62
|
+
*/
|
|
63
|
+
cwd: string;
|
|
64
|
+
/**
|
|
65
|
+
* Override the Claude config home. Defaults to `$CLAUDE_CONFIG_DIR` or
|
|
66
|
+
* `~/.claude`. Useful in tests and for hosts pointing Claude at a
|
|
67
|
+
* non-standard home.
|
|
68
|
+
*/
|
|
69
|
+
claudeHome?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface ClaudeTranscriptLocation {
|
|
72
|
+
/** Absolute path to the JSONL file. May not exist on disk yet. */
|
|
73
|
+
filePath: string;
|
|
74
|
+
/** The project-directory name (sanitized cwd) under `<claudeHome>/projects/`. */
|
|
75
|
+
projectDir: string;
|
|
76
|
+
/** The canonicalized cwd that was used to compute {@link projectDir}. */
|
|
77
|
+
canonicalCwd: string;
|
|
78
|
+
/** The Claude config home that was used. */
|
|
79
|
+
claudeHome: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Compute the on-disk JSONL path for a Claude session. Performs `realpath`
|
|
83
|
+
* canonicalization on the cwd and applies the same encoding rules Claude
|
|
84
|
+
* Code uses internally.
|
|
85
|
+
*
|
|
86
|
+
* For cwd paths sanitized longer than {@link MAX_SANITIZED_LENGTH}, the
|
|
87
|
+
* deterministic djb2 hash suffix may not match what Claude wrote (Claude Code
|
|
88
|
+
* uses `Bun.hash` under Bun). If the exact path doesn't exist and the
|
|
89
|
+
* sanitized name was truncated, this function falls back to a prefix scan
|
|
90
|
+
* under `<claudeHome>/projects/` and returns the first matching directory.
|
|
91
|
+
*/
|
|
92
|
+
export declare function getClaudeTranscriptPath(opts: GetClaudeTranscriptPathOptions): Promise<ClaudeTranscriptLocation>;
|
|
93
|
+
export interface FindClaudeTranscriptOptions {
|
|
94
|
+
/** Claude's session id (UUID). */
|
|
95
|
+
sessionId: string;
|
|
96
|
+
/** Override the Claude config home. */
|
|
97
|
+
claudeHome?: string;
|
|
98
|
+
}
|
|
99
|
+
export interface FoundClaudeTranscript {
|
|
100
|
+
/** Absolute path to the JSONL file. */
|
|
101
|
+
filePath: string;
|
|
102
|
+
/** The project-directory name (sanitized cwd) under `<claudeHome>/projects/`. */
|
|
103
|
+
projectDir: string;
|
|
104
|
+
/**
|
|
105
|
+
* The literal cwd Claude was launched with, recovered from the first
|
|
106
|
+
* `system.init` event in the transcript. `null` if the file has no init
|
|
107
|
+
* event (e.g., truncated transcript) or it never recorded a cwd.
|
|
108
|
+
*
|
|
109
|
+
* This is the only way to recover the original cwd — `projectDir` is the
|
|
110
|
+
* sanitized form, which is one-way (multiple cwds can collide on the same
|
|
111
|
+
* sanitized name, though it's rare).
|
|
112
|
+
*/
|
|
113
|
+
cwd: string | null;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Scan `<claudeHome>/projects/*` looking for `<sessionId>.jsonl`. Use this
|
|
117
|
+
* when you have a session ID but don't know which cwd Claude was launched
|
|
118
|
+
* in — typical for resume-by-id flows.
|
|
119
|
+
*
|
|
120
|
+
* Session IDs are unique across project directories, so the first match is
|
|
121
|
+
* authoritative. The original cwd is recovered from the transcript's first
|
|
122
|
+
* `system.init` event (Claude writes one at session start carrying `cwd`).
|
|
123
|
+
*
|
|
124
|
+
* Returns `null` if no project directory contains the session file.
|
|
125
|
+
*/
|
|
126
|
+
export declare function findClaudeTranscriptBySessionId(opts: FindClaudeTranscriptOptions): Promise<FoundClaudeTranscript | null>;
|
|
127
|
+
export interface ReadClaudeTranscriptOptions {
|
|
128
|
+
/** Absolute path to the JSONL file. */
|
|
129
|
+
filePath: string;
|
|
130
|
+
/**
|
|
131
|
+
* Byte offset to resume from. Must be line-aligned (the position immediately
|
|
132
|
+
* after a `\n`). Use an offset previously yielded by this function.
|
|
133
|
+
* Defaults to 0 (read from the start).
|
|
134
|
+
*/
|
|
135
|
+
fromOffset?: number;
|
|
136
|
+
/**
|
|
137
|
+
* Defensive dedup: if set, skip events whose {@link StreamEvent.eventId}
|
|
138
|
+
* matches and any events from the same line. Useful when `fromOffset` is
|
|
139
|
+
* missing or stale; the consumer's unique-index on `eventId` makes
|
|
140
|
+
* duplicates safe anyway, but this saves a round trip.
|
|
141
|
+
*
|
|
142
|
+
* Behavior: drop events up to and including the first one whose eventId
|
|
143
|
+
* matches; resume yielding from the next line.
|
|
144
|
+
*/
|
|
145
|
+
sinceEventId?: string;
|
|
146
|
+
}
|
|
147
|
+
export interface ClaudeTranscriptYield {
|
|
148
|
+
/** A parsed `StreamEvent` from the transcript. */
|
|
149
|
+
event: StreamEvent;
|
|
150
|
+
/**
|
|
151
|
+
* Byte offset immediately AFTER the trailing `\n` of the line this event
|
|
152
|
+
* came from. Pass this back as {@link ReadClaudeTranscriptOptions.fromOffset}
|
|
153
|
+
* to resume on the next line. Events sharing a line share an offset.
|
|
154
|
+
*/
|
|
155
|
+
offset: number;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Stream-read a Claude transcript JSONL, yielding parsed `StreamEvent`s.
|
|
159
|
+
*
|
|
160
|
+
* Behavior:
|
|
161
|
+
* - Returns an empty async iterable if the file doesn't exist (no throw).
|
|
162
|
+
* - Skips wrapper types in {@link SKIP_ON_DISK_TYPES} (currently `queue-operation`).
|
|
163
|
+
* - Skips lines that fail to parse as JSON (`parseStreamLine` returns []).
|
|
164
|
+
* - Seeks into the file with `createReadStream` so multi-megabyte transcripts
|
|
165
|
+
* don't load fully into memory.
|
|
166
|
+
*
|
|
167
|
+
* The yielded `offset` lets the caller checkpoint after each event and
|
|
168
|
+
* resume from that offset on the next call.
|
|
169
|
+
*/
|
|
170
|
+
export declare function readClaudeTranscript(opts: ReadClaudeTranscriptOptions): AsyncIterable<ClaudeTranscriptYield>;
|
|
171
|
+
export interface ClaudePeekResult {
|
|
172
|
+
/** Last successfully parsed event, or null if the file is empty/missing/unparseable. */
|
|
173
|
+
lastEvent: StreamEvent | null;
|
|
174
|
+
/** Total size of the file in bytes, or null if the file is missing. */
|
|
175
|
+
size: number | null;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Drift-check primitive. Reads up to {@link PEEK_TAIL_BYTES} from the end of
|
|
179
|
+
* the file, parses the last complete line, and returns the last event plus
|
|
180
|
+
* total file size.
|
|
181
|
+
*
|
|
182
|
+
* Does NOT stream the whole file — designed to be called frequently as a
|
|
183
|
+
* cheap "has this changed since I last checked?" probe. Walks back through
|
|
184
|
+
* the buffer if the last line is a skipped wrapper type or fails to parse.
|
|
185
|
+
*
|
|
186
|
+
* Returns `{ lastEvent: null, size }` if the tail buffer holds no parseable
|
|
187
|
+
* line — caller should fall back to a full read if it needs guaranteed data.
|
|
188
|
+
*/
|
|
189
|
+
export declare function peekClaudeTranscript(filePath: string): Promise<ClaudePeekResult>;
|
|
190
|
+
/**
|
|
191
|
+
* Polymorphic transcript ops for Claude. Delegates to the named functions
|
|
192
|
+
* above; mounted as `claudeProvider.transcript` so apps doing runtime-
|
|
193
|
+
* dispatched recovery can call `getProvider(name).transcript.find(...)`
|
|
194
|
+
* without a switch statement.
|
|
195
|
+
*
|
|
196
|
+
* Apps that know they're on Claude at compile time should prefer the named
|
|
197
|
+
* helpers (`getClaudeTranscriptPath`, `findClaudeTranscriptBySessionId`) —
|
|
198
|
+
* they return richer types (`canonicalCwd`, `projectDir`, `claudeHome`) that
|
|
199
|
+
* the polymorphic interface flattens away.
|
|
200
|
+
*/
|
|
201
|
+
export declare const claudeTranscriptOps: TranscriptOps<StreamEvent>;
|
|
202
|
+
//# sourceMappingURL=transcript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../../src/providers/claude/transcript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH,OAAO,KAAK,EAAmB,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGlF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,MAAM,CAAC;AA4BxC;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMlE;AAMD,MAAM,WAAW,8BAA8B;IAC7C,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,wBAAwB,CAAC,CAqCnC;AAMD,MAAM,WAAW,2BAA2B;IAC1C,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,2BAA2B,GAChC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAuBvC;AAkED,MAAM,WAAW,2BAA2B;IAC1C,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,KAAK,EAAE,WAAW,CAAC;IACnB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAuB,oBAAoB,CACzC,IAAI,EAAE,2BAA2B,GAChC,aAAa,CAAC,qBAAqB,CAAC,CAuDtC;AAmBD,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,uEAAuE;IACvE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiDtF;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,WAAW,CAwB1D,CAAC"}
|