@getpaseo/server 0.1.13 → 0.1.15
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/server/client/daemon-client.d.ts +84 -77
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +252 -265
- package/dist/server/client/daemon-client.js.map +1 -1
- package/dist/server/server/agent/agent-manager.d.ts +2 -1
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +23 -0
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.d.ts +0 -15
- package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +263 -35
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +85 -36
- package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/server/server/bootstrap.d.ts.map +1 -1
- package/dist/server/server/bootstrap.js +3 -1
- package/dist/server/server/bootstrap.js.map +1 -1
- package/dist/server/server/daemon-version.d.ts +5 -0
- package/dist/server/server/daemon-version.d.ts.map +1 -0
- package/dist/server/server/daemon-version.js +22 -0
- package/dist/server/server/daemon-version.js.map +1 -0
- package/dist/server/server/dictation/dictation-stream-manager.d.ts +1 -0
- package/dist/server/server/dictation/dictation-stream-manager.d.ts.map +1 -1
- package/dist/server/server/dictation/dictation-stream-manager.js +32 -1
- package/dist/server/server/dictation/dictation-stream-manager.js.map +1 -1
- package/dist/server/server/package-version.d.ts +13 -0
- package/dist/server/server/package-version.d.ts.map +1 -0
- package/dist/server/server/package-version.js +47 -0
- package/dist/server/server/package-version.js.map +1 -0
- package/dist/server/server/persisted-config.d.ts +2 -2
- package/dist/server/server/pid-lock.d.ts.map +1 -1
- package/dist/server/server/pid-lock.js +16 -2
- package/dist/server/server/pid-lock.js.map +1 -1
- package/dist/server/server/session.d.ts +20 -20
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +871 -798
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/websocket-server.d.ts +5 -1
- package/dist/server/server/websocket-server.d.ts.map +1 -1
- package/dist/server/server/websocket-server.js +27 -16
- package/dist/server/server/websocket-server.js.map +1 -1
- package/dist/server/shared/agent-attention-notification.d.ts +40 -0
- package/dist/server/shared/agent-attention-notification.d.ts.map +1 -0
- package/dist/server/shared/agent-attention-notification.js +130 -0
- package/dist/server/shared/agent-attention-notification.js.map +1 -0
- package/dist/server/shared/messages.d.ts +886 -410
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +272 -267
- package/dist/server/shared/messages.js.map +1 -1
- package/dist/server/utils/checkout-git.d.ts +3 -0
- package/dist/server/utils/checkout-git.d.ts.map +1 -1
- package/dist/server/utils/checkout-git.js +102 -23
- package/dist/server/utils/checkout-git.js.map +1 -1
- package/dist/server/utils/directory-suggestions.d.ts +15 -0
- package/dist/server/utils/directory-suggestions.d.ts.map +1 -1
- package/dist/server/utils/directory-suggestions.js +348 -21
- package/dist/server/utils/directory-suggestions.js.map +1 -1
- package/dist/server/utils/worktree-metadata.d.ts +4 -4
- package/dist/server/utils/worktree.d.ts +1 -0
- package/dist/server/utils/worktree.d.ts.map +1 -1
- package/dist/server/utils/worktree.js +41 -77
- package/dist/server/utils/worktree.js.map +1 -1
- package/package.json +2 -2
|
@@ -269,14 +269,6 @@ export type AgentSlashCommand = {
|
|
|
269
269
|
description: string;
|
|
270
270
|
argumentHint: string;
|
|
271
271
|
};
|
|
272
|
-
/**
|
|
273
|
-
* Result from executing a slash command.
|
|
274
|
-
*/
|
|
275
|
-
export type AgentCommandResult = {
|
|
276
|
-
text: string;
|
|
277
|
-
timeline: AgentTimelineItem[];
|
|
278
|
-
usage?: AgentUsage;
|
|
279
|
-
};
|
|
280
272
|
export type ListPersistedAgentsOptions = {
|
|
281
273
|
limit?: number;
|
|
282
274
|
};
|
|
@@ -337,13 +329,6 @@ export interface AgentSession {
|
|
|
337
329
|
* Commands are provider-specific - Claude supports skills and built-in commands.
|
|
338
330
|
*/
|
|
339
331
|
listCommands?(): Promise<AgentSlashCommand[]>;
|
|
340
|
-
/**
|
|
341
|
-
* Execute a slash command by name.
|
|
342
|
-
* The command name should NOT include the leading "/" - it will be added automatically.
|
|
343
|
-
* @param commandName The command name (e.g., "help", "context")
|
|
344
|
-
* @param args Optional arguments to pass to the command
|
|
345
|
-
*/
|
|
346
|
-
executeCommand?(commandName: string, args?: string): Promise<AgentCommandResult>;
|
|
347
332
|
/**
|
|
348
333
|
* Update the model used for subsequent turns (if supported by provider).
|
|
349
334
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-sdk-types.d.ts","sourceRoot":"","sources":["../../../../src/server/agent/agent-sdk-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-sdk-types.d.ts","sourceRoot":"","sources":["../../../../src/server/agent/agent-sdk-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/claude-agent.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,eAAe,EAerB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAQnC,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,
|
|
1
|
+
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../../../../src/server/agent/providers/claude-agent.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,eAAe,EAerB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAQnC,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EAGX,oBAAoB,EAKpB,sBAAsB,EAItB,YAAY,EACZ,kBAAkB,EAGlB,iBAAiB,EAGjB,iBAAiB,EACjB,0BAA0B,EAE1B,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,8BAA8B,CAAC;AA8BtC,KAAK,oCAAoC,GAAG;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAqBF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC,GAC5C,MAAM,CAwDR;AAwDD,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAItE,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;KAAE,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,uBAAuB,CAAC;CAC3C,CAAC;AAkDF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAgCtE;AA2KD,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAY;IACvC,QAAQ,CAAC,YAAY,uBAAuB;IAE5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA+C;IACzE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA0B;gBAE/C,OAAO,EAAE,wBAAwB;IAW7C,OAAO,CAAC,oBAAoB;IA2BtB,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IAUhE,aAAa,CACjB,MAAM,EAAE,sBAAsB,EAC9B,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACtC,OAAO,CAAC,YAAY,CAAC;IAiBlB,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAwCxE,mBAAmB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAuB9F,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAQrC,OAAO,CAAC,YAAY;CAMrB;AAi5DD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,GACzE,iBAAiB,EAAE,CAyDrB"}
|
|
@@ -112,6 +112,13 @@ const DEFAULT_MODES = [
|
|
|
112
112
|
},
|
|
113
113
|
];
|
|
114
114
|
const VALID_CLAUDE_MODES = new Set(DEFAULT_MODES.map((mode) => mode.id));
|
|
115
|
+
const REWIND_COMMAND_NAME = "rewind";
|
|
116
|
+
const REWIND_COMMAND = {
|
|
117
|
+
name: REWIND_COMMAND_NAME,
|
|
118
|
+
description: "Rewind tracked files to a previous user message",
|
|
119
|
+
argumentHint: "[user_message_uuid]",
|
|
120
|
+
};
|
|
121
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
115
122
|
function resolveClaudeBinary() {
|
|
116
123
|
try {
|
|
117
124
|
const claudePath = execSync("which claude", { encoding: "utf8" }).trim();
|
|
@@ -470,6 +477,7 @@ class ClaudeAgentSession {
|
|
|
470
477
|
this.activeSidechains = new Map();
|
|
471
478
|
this.compacting = false;
|
|
472
479
|
this.queryRestartNeeded = false;
|
|
480
|
+
this.userMessageIds = [];
|
|
473
481
|
this.handlePermissionRequest = async (toolName, input, options) => {
|
|
474
482
|
const requestId = `permission-${randomUUID()}`;
|
|
475
483
|
const kind = resolvePermissionKind(toolName, input);
|
|
@@ -642,6 +650,11 @@ class ClaudeAgentSession {
|
|
|
642
650
|
}
|
|
643
651
|
// Reset cancel flag at the start of each turn to prevent stale state from previous turns
|
|
644
652
|
this.turnCancelRequested = false;
|
|
653
|
+
const slashCommand = this.resolveSlashCommandInvocation(prompt);
|
|
654
|
+
if (slashCommand?.commandName === REWIND_COMMAND_NAME) {
|
|
655
|
+
yield* this.streamRewindCommand(slashCommand);
|
|
656
|
+
return;
|
|
657
|
+
}
|
|
645
658
|
const sdkMessage = this.toSdkUserMessage(prompt);
|
|
646
659
|
const queue = new Pushable();
|
|
647
660
|
this.eventQueue = queue;
|
|
@@ -838,48 +851,235 @@ class ClaudeAgentSession {
|
|
|
838
851
|
async listCommands() {
|
|
839
852
|
const q = await this.ensureQuery();
|
|
840
853
|
const commands = await q.supportedCommands();
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
854
|
+
const commandMap = new Map();
|
|
855
|
+
for (const cmd of commands) {
|
|
856
|
+
if (!commandMap.has(cmd.name)) {
|
|
857
|
+
commandMap.set(cmd.name, {
|
|
858
|
+
name: cmd.name,
|
|
859
|
+
description: cmd.description,
|
|
860
|
+
argumentHint: cmd.argumentHint,
|
|
861
|
+
});
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
if (!commandMap.has(REWIND_COMMAND_NAME)) {
|
|
865
|
+
commandMap.set(REWIND_COMMAND_NAME, REWIND_COMMAND);
|
|
866
|
+
}
|
|
867
|
+
return Array.from(commandMap.values()).sort((a, b) => a.name.localeCompare(b.name));
|
|
846
868
|
}
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
const
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
869
|
+
resolveSlashCommandInvocation(prompt) {
|
|
870
|
+
if (typeof prompt !== "string") {
|
|
871
|
+
return null;
|
|
872
|
+
}
|
|
873
|
+
const parsed = this.parseSlashCommandInput(prompt);
|
|
874
|
+
if (!parsed) {
|
|
875
|
+
return null;
|
|
876
|
+
}
|
|
877
|
+
return parsed.commandName === REWIND_COMMAND_NAME ? parsed : null;
|
|
878
|
+
}
|
|
879
|
+
parseSlashCommandInput(text) {
|
|
880
|
+
const trimmed = text.trim();
|
|
881
|
+
if (!trimmed.startsWith("/") || trimmed.length <= 1) {
|
|
882
|
+
return null;
|
|
883
|
+
}
|
|
884
|
+
const withoutPrefix = trimmed.slice(1);
|
|
885
|
+
const firstWhitespaceIdx = withoutPrefix.search(/\s/);
|
|
886
|
+
const commandName = firstWhitespaceIdx === -1
|
|
887
|
+
? withoutPrefix
|
|
888
|
+
: withoutPrefix.slice(0, firstWhitespaceIdx);
|
|
889
|
+
if (!commandName || commandName.includes("/")) {
|
|
890
|
+
return null;
|
|
891
|
+
}
|
|
892
|
+
const rawArgs = firstWhitespaceIdx === -1
|
|
893
|
+
? ""
|
|
894
|
+
: withoutPrefix.slice(firstWhitespaceIdx + 1).trim();
|
|
895
|
+
return rawArgs.length > 0
|
|
896
|
+
? { commandName, args: rawArgs, rawInput: trimmed }
|
|
897
|
+
: { commandName, rawInput: trimmed };
|
|
898
|
+
}
|
|
899
|
+
async *streamRewindCommand(invocation) {
|
|
900
|
+
yield { type: "turn_started", provider: "claude" };
|
|
901
|
+
try {
|
|
902
|
+
const rewindAttempt = await this.attemptRewind(invocation.args);
|
|
903
|
+
if (!rewindAttempt.messageId || !rewindAttempt.result) {
|
|
904
|
+
yield {
|
|
905
|
+
type: "turn_failed",
|
|
906
|
+
provider: "claude",
|
|
907
|
+
error: rewindAttempt.error ??
|
|
908
|
+
"No prior user message available to rewind. Use /rewind <user_message_uuid>.",
|
|
909
|
+
};
|
|
910
|
+
return;
|
|
911
|
+
}
|
|
912
|
+
yield {
|
|
913
|
+
type: "timeline",
|
|
914
|
+
provider: "claude",
|
|
915
|
+
item: {
|
|
916
|
+
type: "assistant_message",
|
|
917
|
+
text: this.buildRewindSuccessMessage(rewindAttempt.messageId, rewindAttempt.result),
|
|
918
|
+
},
|
|
919
|
+
};
|
|
920
|
+
yield { type: "turn_completed", provider: "claude" };
|
|
921
|
+
}
|
|
922
|
+
catch (error) {
|
|
923
|
+
yield {
|
|
924
|
+
type: "turn_failed",
|
|
925
|
+
provider: "claude",
|
|
926
|
+
error: error instanceof Error
|
|
927
|
+
? error.message
|
|
928
|
+
: "Failed to rewind tracked files",
|
|
929
|
+
};
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
buildRewindSuccessMessage(targetUserMessageId, rewindResult) {
|
|
933
|
+
const fileCount = Array.isArray(rewindResult.filesChanged)
|
|
934
|
+
? rewindResult.filesChanged.length
|
|
935
|
+
: undefined;
|
|
936
|
+
const stats = [];
|
|
937
|
+
if (typeof fileCount === "number") {
|
|
938
|
+
stats.push(`${fileCount} file${fileCount === 1 ? "" : "s"}`);
|
|
939
|
+
}
|
|
940
|
+
if (typeof rewindResult.insertions === "number") {
|
|
941
|
+
stats.push(`${rewindResult.insertions} insertions`);
|
|
942
|
+
}
|
|
943
|
+
if (typeof rewindResult.deletions === "number") {
|
|
944
|
+
stats.push(`${rewindResult.deletions} deletions`);
|
|
945
|
+
}
|
|
946
|
+
if (stats.length > 0) {
|
|
947
|
+
return `Rewound tracked files to message ${targetUserMessageId} (${stats.join(", ")}).`;
|
|
948
|
+
}
|
|
949
|
+
return `Rewound tracked files to message ${targetUserMessageId}.`;
|
|
950
|
+
}
|
|
951
|
+
async attemptRewind(args) {
|
|
952
|
+
if (typeof args === "string" && args.trim().length > 0) {
|
|
953
|
+
const candidate = args.trim().split(/\s+/)[0] ?? "";
|
|
954
|
+
if (!UUID_PATTERN.test(candidate)) {
|
|
955
|
+
return {
|
|
956
|
+
messageId: null,
|
|
957
|
+
error: "Invalid message UUID. Usage: /rewind <user_message_uuid> or /rewind",
|
|
958
|
+
};
|
|
959
|
+
}
|
|
960
|
+
const rewindResult = await this.rewindFilesOnce(candidate);
|
|
961
|
+
if (rewindResult.canRewind) {
|
|
962
|
+
return { messageId: candidate, result: rewindResult };
|
|
963
|
+
}
|
|
964
|
+
return {
|
|
965
|
+
messageId: null,
|
|
966
|
+
error: rewindResult.error ??
|
|
967
|
+
`No file checkpoint found for message ${candidate}.`,
|
|
968
|
+
};
|
|
969
|
+
}
|
|
970
|
+
const candidates = this.getRewindCandidateUserMessageIds();
|
|
971
|
+
if (candidates.length === 0) {
|
|
972
|
+
return {
|
|
973
|
+
messageId: null,
|
|
974
|
+
error: "No prior user message available to rewind. Use /rewind <user_message_uuid>.",
|
|
975
|
+
};
|
|
976
|
+
}
|
|
977
|
+
let lastError;
|
|
978
|
+
for (const candidate of candidates) {
|
|
979
|
+
try {
|
|
980
|
+
const rewindResult = await this.rewindFilesOnce(candidate);
|
|
981
|
+
if (rewindResult.canRewind) {
|
|
982
|
+
return { messageId: candidate, result: rewindResult };
|
|
865
983
|
}
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
commandOutput = event.item.text;
|
|
984
|
+
if (rewindResult.error) {
|
|
985
|
+
lastError = rewindResult.error;
|
|
869
986
|
}
|
|
870
987
|
}
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
988
|
+
catch (error) {
|
|
989
|
+
lastError =
|
|
990
|
+
error instanceof Error
|
|
991
|
+
? error.message
|
|
992
|
+
: "Failed to rewind tracked files.";
|
|
876
993
|
}
|
|
877
994
|
}
|
|
878
995
|
return {
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
996
|
+
messageId: null,
|
|
997
|
+
error: lastError ??
|
|
998
|
+
"No rewind checkpoints are currently available for this session.",
|
|
999
|
+
};
|
|
1000
|
+
}
|
|
1001
|
+
async rewindFilesOnce(messageId) {
|
|
1002
|
+
try {
|
|
1003
|
+
const query = await this.ensureFreshQuery();
|
|
1004
|
+
return await query.rewindFiles(messageId, { dryRun: false });
|
|
1005
|
+
}
|
|
1006
|
+
catch (error) {
|
|
1007
|
+
// The Claude SDK transport can close after a rewind call.
|
|
1008
|
+
// If that happens, mark the query stale so a follow-up attempt uses a fresh query.
|
|
1009
|
+
this.queryRestartNeeded = true;
|
|
1010
|
+
throw error;
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
async ensureFreshQuery() {
|
|
1014
|
+
if (this.query) {
|
|
1015
|
+
this.queryRestartNeeded = true;
|
|
1016
|
+
}
|
|
1017
|
+
return this.ensureQuery();
|
|
1018
|
+
}
|
|
1019
|
+
getRewindCandidateUserMessageIds() {
|
|
1020
|
+
const candidates = [];
|
|
1021
|
+
const pushUnique = (value) => {
|
|
1022
|
+
if (typeof value === "string" &&
|
|
1023
|
+
value.length > 0 &&
|
|
1024
|
+
!candidates.includes(value)) {
|
|
1025
|
+
candidates.push(value);
|
|
1026
|
+
}
|
|
882
1027
|
};
|
|
1028
|
+
const historyIds = this.readUserMessageIdsFromHistoryFile();
|
|
1029
|
+
for (let idx = historyIds.length - 1; idx >= 0; idx -= 1) {
|
|
1030
|
+
pushUnique(historyIds[idx]);
|
|
1031
|
+
}
|
|
1032
|
+
for (let idx = this.persistedHistory.length - 1; idx >= 0; idx -= 1) {
|
|
1033
|
+
const item = this.persistedHistory[idx];
|
|
1034
|
+
if (item?.type === "user_message") {
|
|
1035
|
+
pushUnique(item.messageId);
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
1038
|
+
for (let idx = this.userMessageIds.length - 1; idx >= 0; idx -= 1) {
|
|
1039
|
+
pushUnique(this.userMessageIds[idx]);
|
|
1040
|
+
}
|
|
1041
|
+
return candidates;
|
|
1042
|
+
}
|
|
1043
|
+
readUserMessageIdsFromHistoryFile() {
|
|
1044
|
+
if (!this.claudeSessionId) {
|
|
1045
|
+
return [];
|
|
1046
|
+
}
|
|
1047
|
+
const historyPath = this.resolveHistoryPath(this.claudeSessionId);
|
|
1048
|
+
if (!historyPath || !fs.existsSync(historyPath)) {
|
|
1049
|
+
return [];
|
|
1050
|
+
}
|
|
1051
|
+
try {
|
|
1052
|
+
const ids = [];
|
|
1053
|
+
const content = fs.readFileSync(historyPath, "utf8");
|
|
1054
|
+
for (const line of content.split(/\n+/)) {
|
|
1055
|
+
const trimmed = line.trim();
|
|
1056
|
+
if (!trimmed)
|
|
1057
|
+
continue;
|
|
1058
|
+
try {
|
|
1059
|
+
const entry = JSON.parse(trimmed);
|
|
1060
|
+
if (entry?.type === "user" && typeof entry.uuid === "string") {
|
|
1061
|
+
ids.push(entry.uuid);
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
catch {
|
|
1065
|
+
// ignore malformed lines
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
return ids;
|
|
1069
|
+
}
|
|
1070
|
+
catch {
|
|
1071
|
+
return [];
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
rememberUserMessageId(messageId) {
|
|
1075
|
+
if (typeof messageId !== "string" || messageId.length === 0) {
|
|
1076
|
+
return;
|
|
1077
|
+
}
|
|
1078
|
+
const last = this.userMessageIds[this.userMessageIds.length - 1];
|
|
1079
|
+
if (last === messageId) {
|
|
1080
|
+
return;
|
|
1081
|
+
}
|
|
1082
|
+
this.userMessageIds.push(messageId);
|
|
883
1083
|
}
|
|
884
1084
|
async primeSelectableModelIds(query) {
|
|
885
1085
|
try {
|
|
@@ -960,6 +1160,8 @@ class ClaudeAgentSession {
|
|
|
960
1160
|
MCP_TIMEOUT: "600000",
|
|
961
1161
|
MCP_TOOL_TIMEOUT: "600000",
|
|
962
1162
|
},
|
|
1163
|
+
// Required for provider-level /rewind support.
|
|
1164
|
+
enableFileCheckpointing: true,
|
|
963
1165
|
// If we have a session ID from a previous query (e.g., after interrupt),
|
|
964
1166
|
// resume that session to continue the conversation history.
|
|
965
1167
|
...(this.claudeSessionId ? { resume: this.claudeSessionId } : {}),
|
|
@@ -1027,6 +1229,8 @@ class ClaudeAgentSession {
|
|
|
1027
1229
|
else {
|
|
1028
1230
|
content.push({ type: "text", text: prompt });
|
|
1029
1231
|
}
|
|
1232
|
+
const messageId = randomUUID();
|
|
1233
|
+
this.rememberUserMessageId(messageId);
|
|
1030
1234
|
return {
|
|
1031
1235
|
type: "user",
|
|
1032
1236
|
message: {
|
|
@@ -1034,6 +1238,7 @@ class ClaudeAgentSession {
|
|
|
1034
1238
|
content,
|
|
1035
1239
|
},
|
|
1036
1240
|
parent_tool_use_id: null,
|
|
1241
|
+
uuid: messageId,
|
|
1037
1242
|
session_id: this.claudeSessionId ?? "",
|
|
1038
1243
|
};
|
|
1039
1244
|
}
|
|
@@ -1255,18 +1460,34 @@ class ClaudeAgentSession {
|
|
|
1255
1460
|
this.compacting = false;
|
|
1256
1461
|
break;
|
|
1257
1462
|
}
|
|
1463
|
+
const messageId = typeof message.uuid === "string" && message.uuid.length > 0
|
|
1464
|
+
? message.uuid
|
|
1465
|
+
: undefined;
|
|
1466
|
+
this.rememberUserMessageId(messageId);
|
|
1258
1467
|
const content = message.message?.content;
|
|
1259
1468
|
if (typeof content === "string" && content.length > 0) {
|
|
1260
1469
|
// String content from user messages (e.g., local command output)
|
|
1261
1470
|
events.push({
|
|
1262
1471
|
type: "timeline",
|
|
1263
|
-
item: {
|
|
1472
|
+
item: {
|
|
1473
|
+
type: "user_message",
|
|
1474
|
+
text: content,
|
|
1475
|
+
...(messageId ? { messageId } : {}),
|
|
1476
|
+
},
|
|
1264
1477
|
provider: "claude",
|
|
1265
1478
|
});
|
|
1266
1479
|
}
|
|
1267
1480
|
else if (Array.isArray(content)) {
|
|
1268
1481
|
const timelineItems = this.mapBlocksToTimeline(content, { turnContext });
|
|
1269
1482
|
for (const item of timelineItems) {
|
|
1483
|
+
if (item.type === "user_message" && messageId && !item.messageId) {
|
|
1484
|
+
events.push({
|
|
1485
|
+
type: "timeline",
|
|
1486
|
+
item: { ...item, messageId },
|
|
1487
|
+
provider: "claude",
|
|
1488
|
+
});
|
|
1489
|
+
continue;
|
|
1490
|
+
}
|
|
1270
1491
|
events.push({ type: "timeline", item, provider: "claude" });
|
|
1271
1492
|
}
|
|
1272
1493
|
}
|
|
@@ -1434,6 +1655,9 @@ class ClaudeAgentSession {
|
|
|
1434
1655
|
if (entry.isSidechain) {
|
|
1435
1656
|
continue;
|
|
1436
1657
|
}
|
|
1658
|
+
if (entry.type === "user" && typeof entry.uuid === "string") {
|
|
1659
|
+
this.rememberUserMessageId(entry.uuid);
|
|
1660
|
+
}
|
|
1437
1661
|
const items = this.convertHistoryEntry(entry);
|
|
1438
1662
|
if (items.length > 0) {
|
|
1439
1663
|
timeline.push(...items);
|
|
@@ -1934,9 +2158,13 @@ export function convertClaudeHistoryEntry(entry, mapBlocks) {
|
|
|
1934
2158
|
if (entry.type === "user") {
|
|
1935
2159
|
const text = extractUserMessageText(content);
|
|
1936
2160
|
if (text) {
|
|
2161
|
+
const messageId = typeof entry.uuid === "string" && entry.uuid.length > 0
|
|
2162
|
+
? entry.uuid
|
|
2163
|
+
: undefined;
|
|
1937
2164
|
timeline.push({
|
|
1938
2165
|
type: "user_message",
|
|
1939
2166
|
text,
|
|
2167
|
+
...(messageId ? { messageId } : {}),
|
|
1940
2168
|
});
|
|
1941
2169
|
}
|
|
1942
2170
|
}
|