@getpaseo/server 0.1.12 → 0.1.14
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 -87
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +253 -299
- 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 +268 -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 +23 -21
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +975 -850
- 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 +974 -619
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +285 -296
- 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 +5 -5
|
@@ -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;AAs5DD,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,240 @@ 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
|
+
yield {
|
|
902
|
+
type: "timeline",
|
|
903
|
+
provider: "claude",
|
|
904
|
+
item: { type: "user_message", text: invocation.rawInput },
|
|
905
|
+
};
|
|
906
|
+
try {
|
|
907
|
+
const rewindAttempt = await this.attemptRewind(invocation.args);
|
|
908
|
+
if (!rewindAttempt.messageId || !rewindAttempt.result) {
|
|
909
|
+
yield {
|
|
910
|
+
type: "turn_failed",
|
|
911
|
+
provider: "claude",
|
|
912
|
+
error: rewindAttempt.error ??
|
|
913
|
+
"No prior user message available to rewind. Use /rewind <user_message_uuid>.",
|
|
914
|
+
};
|
|
915
|
+
return;
|
|
916
|
+
}
|
|
917
|
+
yield {
|
|
918
|
+
type: "timeline",
|
|
919
|
+
provider: "claude",
|
|
920
|
+
item: {
|
|
921
|
+
type: "assistant_message",
|
|
922
|
+
text: this.buildRewindSuccessMessage(rewindAttempt.messageId, rewindAttempt.result),
|
|
923
|
+
},
|
|
924
|
+
};
|
|
925
|
+
yield { type: "turn_completed", provider: "claude" };
|
|
926
|
+
}
|
|
927
|
+
catch (error) {
|
|
928
|
+
yield {
|
|
929
|
+
type: "turn_failed",
|
|
930
|
+
provider: "claude",
|
|
931
|
+
error: error instanceof Error
|
|
932
|
+
? error.message
|
|
933
|
+
: "Failed to rewind tracked files",
|
|
934
|
+
};
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
buildRewindSuccessMessage(targetUserMessageId, rewindResult) {
|
|
938
|
+
const fileCount = Array.isArray(rewindResult.filesChanged)
|
|
939
|
+
? rewindResult.filesChanged.length
|
|
940
|
+
: undefined;
|
|
941
|
+
const stats = [];
|
|
942
|
+
if (typeof fileCount === "number") {
|
|
943
|
+
stats.push(`${fileCount} file${fileCount === 1 ? "" : "s"}`);
|
|
944
|
+
}
|
|
945
|
+
if (typeof rewindResult.insertions === "number") {
|
|
946
|
+
stats.push(`${rewindResult.insertions} insertions`);
|
|
947
|
+
}
|
|
948
|
+
if (typeof rewindResult.deletions === "number") {
|
|
949
|
+
stats.push(`${rewindResult.deletions} deletions`);
|
|
950
|
+
}
|
|
951
|
+
if (stats.length > 0) {
|
|
952
|
+
return `Rewound tracked files to message ${targetUserMessageId} (${stats.join(", ")}).`;
|
|
953
|
+
}
|
|
954
|
+
return `Rewound tracked files to message ${targetUserMessageId}.`;
|
|
955
|
+
}
|
|
956
|
+
async attemptRewind(args) {
|
|
957
|
+
if (typeof args === "string" && args.trim().length > 0) {
|
|
958
|
+
const candidate = args.trim().split(/\s+/)[0] ?? "";
|
|
959
|
+
if (!UUID_PATTERN.test(candidate)) {
|
|
960
|
+
return {
|
|
961
|
+
messageId: null,
|
|
962
|
+
error: "Invalid message UUID. Usage: /rewind <user_message_uuid> or /rewind",
|
|
963
|
+
};
|
|
964
|
+
}
|
|
965
|
+
const rewindResult = await this.rewindFilesOnce(candidate);
|
|
966
|
+
if (rewindResult.canRewind) {
|
|
967
|
+
return { messageId: candidate, result: rewindResult };
|
|
968
|
+
}
|
|
969
|
+
return {
|
|
970
|
+
messageId: null,
|
|
971
|
+
error: rewindResult.error ??
|
|
972
|
+
`No file checkpoint found for message ${candidate}.`,
|
|
973
|
+
};
|
|
974
|
+
}
|
|
975
|
+
const candidates = this.getRewindCandidateUserMessageIds();
|
|
976
|
+
if (candidates.length === 0) {
|
|
977
|
+
return {
|
|
978
|
+
messageId: null,
|
|
979
|
+
error: "No prior user message available to rewind. Use /rewind <user_message_uuid>.",
|
|
980
|
+
};
|
|
981
|
+
}
|
|
982
|
+
let lastError;
|
|
983
|
+
for (const candidate of candidates) {
|
|
984
|
+
try {
|
|
985
|
+
const rewindResult = await this.rewindFilesOnce(candidate);
|
|
986
|
+
if (rewindResult.canRewind) {
|
|
987
|
+
return { messageId: candidate, result: rewindResult };
|
|
865
988
|
}
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
commandOutput = event.item.text;
|
|
989
|
+
if (rewindResult.error) {
|
|
990
|
+
lastError = rewindResult.error;
|
|
869
991
|
}
|
|
870
992
|
}
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
993
|
+
catch (error) {
|
|
994
|
+
lastError =
|
|
995
|
+
error instanceof Error
|
|
996
|
+
? error.message
|
|
997
|
+
: "Failed to rewind tracked files.";
|
|
876
998
|
}
|
|
877
999
|
}
|
|
878
1000
|
return {
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
1001
|
+
messageId: null,
|
|
1002
|
+
error: lastError ??
|
|
1003
|
+
"No rewind checkpoints are currently available for this session.",
|
|
1004
|
+
};
|
|
1005
|
+
}
|
|
1006
|
+
async rewindFilesOnce(messageId) {
|
|
1007
|
+
try {
|
|
1008
|
+
const query = await this.ensureFreshQuery();
|
|
1009
|
+
return await query.rewindFiles(messageId, { dryRun: false });
|
|
1010
|
+
}
|
|
1011
|
+
catch (error) {
|
|
1012
|
+
// The Claude SDK transport can close after a rewind call.
|
|
1013
|
+
// If that happens, mark the query stale so a follow-up attempt uses a fresh query.
|
|
1014
|
+
this.queryRestartNeeded = true;
|
|
1015
|
+
throw error;
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
async ensureFreshQuery() {
|
|
1019
|
+
if (this.query) {
|
|
1020
|
+
this.queryRestartNeeded = true;
|
|
1021
|
+
}
|
|
1022
|
+
return this.ensureQuery();
|
|
1023
|
+
}
|
|
1024
|
+
getRewindCandidateUserMessageIds() {
|
|
1025
|
+
const candidates = [];
|
|
1026
|
+
const pushUnique = (value) => {
|
|
1027
|
+
if (typeof value === "string" &&
|
|
1028
|
+
value.length > 0 &&
|
|
1029
|
+
!candidates.includes(value)) {
|
|
1030
|
+
candidates.push(value);
|
|
1031
|
+
}
|
|
882
1032
|
};
|
|
1033
|
+
const historyIds = this.readUserMessageIdsFromHistoryFile();
|
|
1034
|
+
for (let idx = historyIds.length - 1; idx >= 0; idx -= 1) {
|
|
1035
|
+
pushUnique(historyIds[idx]);
|
|
1036
|
+
}
|
|
1037
|
+
for (let idx = this.persistedHistory.length - 1; idx >= 0; idx -= 1) {
|
|
1038
|
+
const item = this.persistedHistory[idx];
|
|
1039
|
+
if (item?.type === "user_message") {
|
|
1040
|
+
pushUnique(item.messageId);
|
|
1041
|
+
}
|
|
1042
|
+
}
|
|
1043
|
+
for (let idx = this.userMessageIds.length - 1; idx >= 0; idx -= 1) {
|
|
1044
|
+
pushUnique(this.userMessageIds[idx]);
|
|
1045
|
+
}
|
|
1046
|
+
return candidates;
|
|
1047
|
+
}
|
|
1048
|
+
readUserMessageIdsFromHistoryFile() {
|
|
1049
|
+
if (!this.claudeSessionId) {
|
|
1050
|
+
return [];
|
|
1051
|
+
}
|
|
1052
|
+
const historyPath = this.resolveHistoryPath(this.claudeSessionId);
|
|
1053
|
+
if (!historyPath || !fs.existsSync(historyPath)) {
|
|
1054
|
+
return [];
|
|
1055
|
+
}
|
|
1056
|
+
try {
|
|
1057
|
+
const ids = [];
|
|
1058
|
+
const content = fs.readFileSync(historyPath, "utf8");
|
|
1059
|
+
for (const line of content.split(/\n+/)) {
|
|
1060
|
+
const trimmed = line.trim();
|
|
1061
|
+
if (!trimmed)
|
|
1062
|
+
continue;
|
|
1063
|
+
try {
|
|
1064
|
+
const entry = JSON.parse(trimmed);
|
|
1065
|
+
if (entry?.type === "user" && typeof entry.uuid === "string") {
|
|
1066
|
+
ids.push(entry.uuid);
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
catch {
|
|
1070
|
+
// ignore malformed lines
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
return ids;
|
|
1074
|
+
}
|
|
1075
|
+
catch {
|
|
1076
|
+
return [];
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
1079
|
+
rememberUserMessageId(messageId) {
|
|
1080
|
+
if (typeof messageId !== "string" || messageId.length === 0) {
|
|
1081
|
+
return;
|
|
1082
|
+
}
|
|
1083
|
+
const last = this.userMessageIds[this.userMessageIds.length - 1];
|
|
1084
|
+
if (last === messageId) {
|
|
1085
|
+
return;
|
|
1086
|
+
}
|
|
1087
|
+
this.userMessageIds.push(messageId);
|
|
883
1088
|
}
|
|
884
1089
|
async primeSelectableModelIds(query) {
|
|
885
1090
|
try {
|
|
@@ -960,6 +1165,8 @@ class ClaudeAgentSession {
|
|
|
960
1165
|
MCP_TIMEOUT: "600000",
|
|
961
1166
|
MCP_TOOL_TIMEOUT: "600000",
|
|
962
1167
|
},
|
|
1168
|
+
// Required for provider-level /rewind support.
|
|
1169
|
+
enableFileCheckpointing: true,
|
|
963
1170
|
// If we have a session ID from a previous query (e.g., after interrupt),
|
|
964
1171
|
// resume that session to continue the conversation history.
|
|
965
1172
|
...(this.claudeSessionId ? { resume: this.claudeSessionId } : {}),
|
|
@@ -1027,6 +1234,8 @@ class ClaudeAgentSession {
|
|
|
1027
1234
|
else {
|
|
1028
1235
|
content.push({ type: "text", text: prompt });
|
|
1029
1236
|
}
|
|
1237
|
+
const messageId = randomUUID();
|
|
1238
|
+
this.rememberUserMessageId(messageId);
|
|
1030
1239
|
return {
|
|
1031
1240
|
type: "user",
|
|
1032
1241
|
message: {
|
|
@@ -1034,6 +1243,7 @@ class ClaudeAgentSession {
|
|
|
1034
1243
|
content,
|
|
1035
1244
|
},
|
|
1036
1245
|
parent_tool_use_id: null,
|
|
1246
|
+
uuid: messageId,
|
|
1037
1247
|
session_id: this.claudeSessionId ?? "",
|
|
1038
1248
|
};
|
|
1039
1249
|
}
|
|
@@ -1255,18 +1465,34 @@ class ClaudeAgentSession {
|
|
|
1255
1465
|
this.compacting = false;
|
|
1256
1466
|
break;
|
|
1257
1467
|
}
|
|
1468
|
+
const messageId = typeof message.uuid === "string" && message.uuid.length > 0
|
|
1469
|
+
? message.uuid
|
|
1470
|
+
: undefined;
|
|
1471
|
+
this.rememberUserMessageId(messageId);
|
|
1258
1472
|
const content = message.message?.content;
|
|
1259
1473
|
if (typeof content === "string" && content.length > 0) {
|
|
1260
1474
|
// String content from user messages (e.g., local command output)
|
|
1261
1475
|
events.push({
|
|
1262
1476
|
type: "timeline",
|
|
1263
|
-
item: {
|
|
1477
|
+
item: {
|
|
1478
|
+
type: "user_message",
|
|
1479
|
+
text: content,
|
|
1480
|
+
...(messageId ? { messageId } : {}),
|
|
1481
|
+
},
|
|
1264
1482
|
provider: "claude",
|
|
1265
1483
|
});
|
|
1266
1484
|
}
|
|
1267
1485
|
else if (Array.isArray(content)) {
|
|
1268
1486
|
const timelineItems = this.mapBlocksToTimeline(content, { turnContext });
|
|
1269
1487
|
for (const item of timelineItems) {
|
|
1488
|
+
if (item.type === "user_message" && messageId && !item.messageId) {
|
|
1489
|
+
events.push({
|
|
1490
|
+
type: "timeline",
|
|
1491
|
+
item: { ...item, messageId },
|
|
1492
|
+
provider: "claude",
|
|
1493
|
+
});
|
|
1494
|
+
continue;
|
|
1495
|
+
}
|
|
1270
1496
|
events.push({ type: "timeline", item, provider: "claude" });
|
|
1271
1497
|
}
|
|
1272
1498
|
}
|
|
@@ -1434,6 +1660,9 @@ class ClaudeAgentSession {
|
|
|
1434
1660
|
if (entry.isSidechain) {
|
|
1435
1661
|
continue;
|
|
1436
1662
|
}
|
|
1663
|
+
if (entry.type === "user" && typeof entry.uuid === "string") {
|
|
1664
|
+
this.rememberUserMessageId(entry.uuid);
|
|
1665
|
+
}
|
|
1437
1666
|
const items = this.convertHistoryEntry(entry);
|
|
1438
1667
|
if (items.length > 0) {
|
|
1439
1668
|
timeline.push(...items);
|
|
@@ -1934,9 +2163,13 @@ export function convertClaudeHistoryEntry(entry, mapBlocks) {
|
|
|
1934
2163
|
if (entry.type === "user") {
|
|
1935
2164
|
const text = extractUserMessageText(content);
|
|
1936
2165
|
if (text) {
|
|
2166
|
+
const messageId = typeof entry.uuid === "string" && entry.uuid.length > 0
|
|
2167
|
+
? entry.uuid
|
|
2168
|
+
: undefined;
|
|
1937
2169
|
timeline.push({
|
|
1938
2170
|
type: "user_message",
|
|
1939
2171
|
text,
|
|
2172
|
+
...(messageId ? { messageId } : {}),
|
|
1940
2173
|
});
|
|
1941
2174
|
}
|
|
1942
2175
|
}
|