@jingyi0605/codingns 0.5.5 → 0.6.1
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/bin/codingns.mjs +15 -2
- package/dist/public/assets/{AdaptiveButlerPage-CUyNL98E.js → AdaptiveButlerPage-Dw72U3hG.js} +3 -3
- package/dist/public/assets/App-CcDXqFl1.css +1 -0
- package/dist/public/assets/{App-BFP7LCSC.js → App-Dsf3ooXU.js} +3 -3
- package/dist/public/assets/{BootstrapPage-G74dX2Us.js → BootstrapPage-CE0m1qSR.js} +1 -1
- package/dist/public/assets/ConversationPage-8wOY7SX-.js +4 -0
- package/dist/public/assets/{DesktopDetachPreviewPage-IV7oEdOX.js → DesktopDetachPreviewPage-Dxarr_Wf.js} +1 -1
- package/dist/public/assets/DesktopWindowPage-VytPwJ4c.js +2 -0
- package/dist/public/assets/FileContextPanel-DwFzLsOp.js +1 -0
- package/dist/public/assets/GitSidebar-CH6WqTrM.js +6 -0
- package/dist/public/assets/MobileCreateSessionSheet-DcxKM00P.js +1 -0
- package/dist/public/assets/{MobileTopHeaderFrame-COTc7cRr.js → MobileTopHeaderFrame-C5rIKQT6.js} +1 -1
- package/dist/public/assets/MobileWorkspaceSwitcherHeader-CfUnHgv_.js +1 -0
- package/dist/public/assets/RelayConnectEntryPage-CgMvVZwa.js +1 -0
- package/dist/public/assets/ServerSettingsModal-CFul__z1.js +1 -0
- package/dist/public/assets/SessionIndexPage-B-tRhBXC.js +1 -0
- package/dist/public/assets/SettingsPage-C9LGxSQZ.js +1 -0
- package/dist/public/assets/TerminalManagerPanel-BbORd-ee.js +1 -0
- package/dist/public/assets/{TerminalPage-DpsvQQVR.js → TerminalPage-DWHv6mlu.js} +19 -19
- package/dist/public/assets/TerminalRuntimeFallbackModal-B29YxbQe.js +1 -0
- package/dist/public/assets/ToolFilesPage-Dx9cv9hu.js +1 -0
- package/dist/public/assets/ToolGitPage-D7H3vAia.js +1 -0
- package/dist/public/assets/ToolProcessesPage-PqQWxsy-.js +1 -0
- package/dist/public/assets/ToolsHomePage-CX05Pe_4.js +1 -0
- package/dist/public/assets/WorkbenchLandingPage-CchkAC75.js +1 -0
- package/dist/public/assets/WorkbenchLayout-pOZvEqp7.js +3 -0
- package/dist/public/assets/{WorkbenchModal-CbDxaCOR.js → WorkbenchModal-ColqvV6a.js} +1 -1
- package/dist/public/assets/WorkbenchShellRoute-C0_h4lP6.js +1 -0
- package/dist/public/assets/WorkbenchShellRoute-RGZpA0_J.css +1 -0
- package/dist/public/assets/WorkspaceDebugDetailPage-Deqy2_pO.js +1 -0
- package/dist/public/assets/WorkspaceDetailPage-Cvf-ZdlB.js +1 -0
- package/dist/public/assets/WorkspaceHomePage-Dsyvqyk1.js +1 -0
- package/dist/public/assets/client-runtime-manager-DROQJ9v3.js +1 -0
- package/dist/public/assets/{file-tree-icon-BMKuc5pw.js → file-tree-icon-Bp3Ntt7u.js} +7 -7
- package/dist/public/assets/index-B84Po2NA.css +1 -0
- package/dist/public/assets/index-C-0oeG_5.js +42 -0
- package/dist/public/assets/legna-code-6TqgZ4Ls.png +0 -0
- package/dist/public/assets/login-direct-candidate-resolver-DotM530R.js +1 -0
- package/dist/public/assets/model-switch-api-Bh9nYslz.js +1 -0
- package/dist/public/assets/{preferences-service-gv_9vGKz.js → preferences-service-BG6GKG29.js} +1 -1
- package/dist/public/assets/relay-entry-pmr-c42O.js +1 -0
- package/dist/public/assets/session-runtime-machine-YN84QBlr.js +21 -0
- package/dist/public/assets/{styles-BWPBZvze.css → styles-CsEMfdaS.css} +1 -1
- package/dist/public/assets/{terminal-runtime-meta-B9xJGY__.js → terminal-runtime-meta-8_uRZf7h.js} +1 -1
- package/dist/public/assets/useRegisteredDebugTemplates-DWX7LXQu.js +1 -0
- package/dist/public/assets/window-BVUB8gMK.js +1 -0
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.d.ts +3 -0
- package/dist/server/config/env.js +10 -0
- package/dist/server/config/env.js.map +1 -1
- package/dist/server/modules/client/npm-global-package-service.d.ts +7 -1
- package/dist/server/modules/client/npm-global-package-service.js +149 -43
- package/dist/server/modules/client/npm-global-package-service.js.map +1 -1
- package/dist/server/modules/client/service-update-task-service.js +6 -2
- package/dist/server/modules/client/service-update-task-service.js.map +1 -1
- package/dist/server/modules/client/service-update-types.d.ts +2 -0
- package/dist/server/modules/git/git-controller.d.ts +3 -0
- package/dist/server/modules/git/git-controller.js +3 -0
- package/dist/server/modules/git/git-controller.js.map +1 -1
- package/dist/server/modules/git/git-read-service.js +47 -1
- package/dist/server/modules/git/git-read-service.js.map +1 -1
- package/dist/server/modules/git/git-write-service.d.ts +4 -0
- package/dist/server/modules/git/git-write-service.js +24 -0
- package/dist/server/modules/git/git-write-service.js.map +1 -1
- package/dist/server/modules/git/types.d.ts +1 -0
- package/dist/server/modules/git/workspace-repo-guard.d.ts +2 -0
- package/dist/server/modules/git/workspace-repo-guard.js +24 -10
- package/dist/server/modules/git/workspace-repo-guard.js.map +1 -1
- package/dist/server/modules/model-switch/cc-switch-adapter.d.ts +7 -0
- package/dist/server/modules/model-switch/cc-switch-adapter.js +17 -0
- package/dist/server/modules/model-switch/cc-switch-adapter.js.map +1 -1
- package/dist/server/modules/parallel-sessions/parallel-session-controller.d.ts +57 -0
- package/dist/server/modules/parallel-sessions/parallel-session-controller.js +77 -0
- package/dist/server/modules/parallel-sessions/parallel-session-controller.js.map +1 -0
- package/dist/server/modules/parallel-sessions/parallel-session-group-service.d.ts +88 -0
- package/dist/server/modules/parallel-sessions/parallel-session-group-service.js +625 -0
- package/dist/server/modules/parallel-sessions/parallel-session-group-service.js.map +1 -0
- package/dist/server/modules/parallel-sessions/session-isolated-workspace-service.d.ts +56 -0
- package/dist/server/modules/parallel-sessions/session-isolated-workspace-service.js +483 -0
- package/dist/server/modules/parallel-sessions/session-isolated-workspace-service.js.map +1 -0
- package/dist/server/modules/provider/opencode-model-options.d.ts +1 -0
- package/dist/server/modules/provider/opencode-model-options.js +54 -12
- package/dist/server/modules/provider/opencode-model-options.js.map +1 -1
- package/dist/server/modules/provider/provider-controller.d.ts +6 -1
- package/dist/server/modules/provider/provider-controller.js +24 -2
- package/dist/server/modules/provider/provider-controller.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-helper-client.d.ts +2 -0
- package/dist/server/modules/provider/provider-discovery-helper-client.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-helper-process.js +1 -1
- package/dist/server/modules/provider/provider-discovery-helper-process.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-runtime.js +5 -1
- package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-candidate-endpoints.d.ts +2 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-candidate-endpoints.js +129 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-candidate-endpoints.js.map +1 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js +12 -9
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js.map +1 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +1 -128
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -1
- package/dist/server/modules/sessions/claude-runtime-helper-client.d.ts +1 -0
- package/dist/server/modules/sessions/claude-runtime-helper-client.js +14 -0
- package/dist/server/modules/sessions/claude-runtime-helper-client.js.map +1 -1
- package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +4 -0
- package/dist/server/modules/sessions/codex-app-server-helper-client.js +66 -45
- package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
- package/dist/server/modules/sessions/codex-app-server-helper-process.js +21 -2
- package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
- package/dist/server/modules/sessions/provider-session-delete-cli.js +2 -0
- package/dist/server/modules/sessions/provider-session-delete-cli.js.map +1 -1
- package/dist/server/modules/sessions/session-controller.d.ts +7 -0
- package/dist/server/modules/sessions/session-controller.js +22 -0
- package/dist/server/modules/sessions/session-controller.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +21 -2
- package/dist/server/modules/sessions/session-history-service.js +425 -29
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +23 -2
- package/dist/server/modules/sessions/session-live-runtime-service.js +472 -74
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-message-attachment-service.js +2 -2
- package/dist/server/modules/sessions/session-message-attachment-service.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-config-service.d.ts +66 -0
- package/dist/server/modules/sessions/session-provider-config-service.js +821 -0
- package/dist/server/modules/sessions/session-provider-config-service.js.map +1 -0
- package/dist/server/modules/sessions/session-provider-error-mapper.d.ts +2 -0
- package/dist/server/modules/sessions/session-provider-error-mapper.js +42 -0
- package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
- package/dist/server/modules/workbench/codex-archive-watcher.d.ts +16 -0
- package/dist/server/modules/workbench/codex-archive-watcher.js +50 -0
- package/dist/server/modules/workbench/codex-archive-watcher.js.map +1 -0
- package/dist/server/modules/workbench/workbench-service.d.ts +11 -2
- package/dist/server/modules/workbench/workbench-service.js +37 -8
- package/dist/server/modules/workbench/workbench-service.js.map +1 -1
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.d.ts +1 -1
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +26 -3
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
- package/dist/server/modules/workspace/workspace-service.d.ts +3 -1
- package/dist/server/modules/workspace/workspace-service.js +10 -2
- package/dist/server/modules/workspace/workspace-service.js.map +1 -1
- package/dist/server/modules/worktree/worktree-base-ref-resolver.d.ts +20 -0
- package/dist/server/modules/worktree/worktree-base-ref-resolver.js +111 -0
- package/dist/server/modules/worktree/worktree-base-ref-resolver.js.map +1 -0
- package/dist/server/modules/worktree/worktree-cleanup-service.js +9 -3
- package/dist/server/modules/worktree/worktree-cleanup-service.js.map +1 -1
- package/dist/server/modules/worktree/worktree-manager.d.ts +0 -1
- package/dist/server/modules/worktree/worktree-manager.js +14 -20
- package/dist/server/modules/worktree/worktree-manager.js.map +1 -1
- package/dist/server/routes/git.js +1 -0
- package/dist/server/routes/git.js.map +1 -1
- package/dist/server/routes/parallel-groups.d.ts +3 -0
- package/dist/server/routes/parallel-groups.js +9 -0
- package/dist/server/routes/parallel-groups.js.map +1 -0
- package/dist/server/server/create-server.d.ts +8 -0
- package/dist/server/server/create-server.js +48 -11
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/server/workbench-runtime-terminal-sync.d.ts +14 -0
- package/dist/server/server/workbench-runtime-terminal-sync.js +17 -0
- package/dist/server/server/workbench-runtime-terminal-sync.js.map +1 -0
- package/dist/server/storage/repositories/parallel-session-group-repository.d.ts +11 -0
- package/dist/server/storage/repositories/parallel-session-group-repository.js +131 -0
- package/dist/server/storage/repositories/parallel-session-group-repository.js.map +1 -0
- package/dist/server/storage/repositories/parallel-session-member-repository.d.ts +12 -0
- package/dist/server/storage/repositories/parallel-session-member-repository.js +150 -0
- package/dist/server/storage/repositories/parallel-session-member-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-binding-repository.js +44 -5
- package/dist/server/storage/repositories/session-binding-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-index-repository.js +6 -0
- package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-isolated-workspace-repository.d.ts +15 -0
- package/dist/server/storage/repositories/session-isolated-workspace-repository.js +230 -0
- package/dist/server/storage/repositories/session-isolated-workspace-repository.js.map +1 -0
- package/dist/server/storage/sqlite/client.js +19 -0
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +78 -0
- package/dist/server/types/domain.d.ts +78 -0
- package/dist/server/ws/workbench-ws-hub.d.ts +3 -1
- package/dist/server/ws/workbench-ws-hub.js +23 -4
- package/dist/server/ws/workbench-ws-hub.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.d.ts +5 -2
- package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js +40 -8
- package/node_modules/@codingns/session-sync-core/dist/claude-message-utils.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/index.d.ts +2 -0
- package/node_modules/@codingns/session-sync-core/dist/index.js +2 -0
- package/node_modules/@codingns/session-sync-core/dist/index.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +10 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +110 -35
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.d.ts +11 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js +105 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +34 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +131 -39
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.d.ts +9 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.js +17 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/legna-code.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.d.ts +8 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js +19 -6
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode-shared.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +13 -8
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.d.ts +3 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js +46 -22
- package/node_modules/@codingns/session-sync-core/dist/runtime/active-run-registry.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.d.ts +5 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +103 -51
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +2 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +528 -301
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.js +32 -8
- package/node_modules/@codingns/session-sync-core/dist/runtime/gemini-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.d.ts +10 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js +16 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/legna-runtime.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +196 -15
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/types.d.ts +2 -0
- package/node_modules/@codingns/session-sync-core/dist/types.d.ts +1 -1
- package/node_modules/@codingns/session-sync-core/dist/types.js +1 -1
- package/node_modules/@codingns/session-sync-core/dist/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/public/assets/App-DUAg5urj.css +0 -1
- package/dist/public/assets/ConversationPage-Bz0_tvvM.js +0 -2
- package/dist/public/assets/DesktopWindowPage-BBmHyRg5.js +0 -2
- package/dist/public/assets/FileContextPanel--FVTxDrq.js +0 -1
- package/dist/public/assets/GitSidebar-DAiSi9oc.js +0 -6
- package/dist/public/assets/MobileCreateSessionSheet-DqVwz_Hp.js +0 -1
- package/dist/public/assets/MobileSheet-D1lMrcvD.js +0 -1
- package/dist/public/assets/MobileWorkspaceSwitcherHeader-DJPV9ym2.js +0 -1
- package/dist/public/assets/RelayConnectEntryPage-dSwU8VzK.js +0 -1
- package/dist/public/assets/ServerSettingsModal-B34ms3ze.js +0 -1
- package/dist/public/assets/SessionIndexPage-D3tG1gmM.js +0 -1
- package/dist/public/assets/SettingsPage-B3-6-5GL.js +0 -1
- package/dist/public/assets/TerminalManagerPanel-DhuTEdzV.js +0 -1
- package/dist/public/assets/TerminalRuntimeFallbackModal-CNzOt5v5.js +0 -1
- package/dist/public/assets/ToolFilesPage-BX9QDi9Y.js +0 -1
- package/dist/public/assets/ToolGitPage-4VtFox3p.js +0 -1
- package/dist/public/assets/ToolProcessesPage-DZJC6Qnt.js +0 -1
- package/dist/public/assets/ToolsHomePage-D7JbrAWv.js +0 -1
- package/dist/public/assets/WorkbenchLandingPage-C0yqnzqh.js +0 -1
- package/dist/public/assets/WorkbenchLayout-Brlj8K3i.js +0 -3
- package/dist/public/assets/WorkbenchShellRoute-BMcnFadA.css +0 -1
- package/dist/public/assets/WorkbenchShellRoute-puGpdDFY.js +0 -1
- package/dist/public/assets/WorkspaceDebugDetailPage-fTGweC9N.js +0 -1
- package/dist/public/assets/WorkspaceDetailPage-BtaIzSDB.js +0 -1
- package/dist/public/assets/WorkspaceHomePage-CUmmYDrM.js +0 -1
- package/dist/public/assets/client-runtime-manager-RHFa_iWo.js +0 -1
- package/dist/public/assets/default-session-permission-mode-Cu5SreTG.js +0 -1
- package/dist/public/assets/index-Cq3ue0za.css +0 -1
- package/dist/public/assets/index-DEbFT-Aq.js +0 -42
- package/dist/public/assets/session-runtime-machine-Bfnxkk9B.js +0 -17
- package/dist/public/assets/useRegisteredDebugTemplates-CDfl54Wt.js +0 -1
- package/dist/public/assets/window-BWqRixxq.js +0 -1
- /package/dist/public/assets/{styles-CSUx5LGe.js → styles-DRVvx_kv.js} +0 -0
|
@@ -10,10 +10,17 @@ export function buildClaudeProgressiveTrackKey(message, partIndex) {
|
|
|
10
10
|
if (message.role !== "assistant" && message.role !== "tool") {
|
|
11
11
|
return null;
|
|
12
12
|
}
|
|
13
|
-
if (
|
|
14
|
-
return `${message.providerSessionId}:${message.role}:${message.kind}`;
|
|
13
|
+
if (isClaudeFallbackRawRef(message.rawRef)) {
|
|
14
|
+
return `${message.providerSessionId}:${message.role}:${message.kind}:timestamp:${message.timestamp}:part:${partIndex}`;
|
|
15
15
|
}
|
|
16
|
-
return `${message.providerSessionId}:${message.role}:${message.kind}
|
|
16
|
+
return `${message.providerSessionId}:${message.role}:${message.kind}:${message.rawRef}`;
|
|
17
|
+
}
|
|
18
|
+
function isClaudeFallbackRawRef(rawRef) {
|
|
19
|
+
const identity = readClaudeStableRawRefIdentity(rawRef);
|
|
20
|
+
if (!identity) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return identity.startsWith("fallback:");
|
|
17
24
|
}
|
|
18
25
|
export function shouldReuseClaudeProgressiveIdentity(previous, next) {
|
|
19
26
|
if (previous.providerSessionId !== next.providerSessionId
|
|
@@ -104,8 +111,21 @@ export function normalizeClaudeMessageParts(content) {
|
|
|
104
111
|
})
|
|
105
112
|
.filter((item) => item !== null);
|
|
106
113
|
}
|
|
107
|
-
export function buildClaudeStableRawRef(identity) {
|
|
108
|
-
return
|
|
114
|
+
export function buildClaudeStableRawRef(identity, providerId = "claude-code") {
|
|
115
|
+
return `${providerId}://message/${encodeURIComponent(identity)}`;
|
|
116
|
+
}
|
|
117
|
+
export function readClaudeStableRawRefIdentity(rawRef) {
|
|
118
|
+
const marker = "://message/";
|
|
119
|
+
const markerIndex = rawRef.indexOf(marker);
|
|
120
|
+
if (markerIndex < 0) {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
return decodeURIComponent(rawRef.slice(markerIndex + marker.length));
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
109
129
|
}
|
|
110
130
|
export function buildClaudePartIdentity(input) {
|
|
111
131
|
const { part, partType, envelope, partIndex } = input;
|
|
@@ -129,6 +149,13 @@ export function buildClaudePartIdentity(input) {
|
|
|
129
149
|
}
|
|
130
150
|
return `message:${envelope.type}:${envelope.messageId}:part:${partIndex}:type:${normalizedType}`;
|
|
131
151
|
}
|
|
152
|
+
if (envelope.envelopeKey) {
|
|
153
|
+
if (envelope.type === "assistant" &&
|
|
154
|
+
(normalizedType === "text" || normalizedType === "thinking")) {
|
|
155
|
+
return `stream:${envelope.type}:${envelope.envelopeKey}:type:${normalizedType}`;
|
|
156
|
+
}
|
|
157
|
+
return `stream:${envelope.type}:${envelope.envelopeKey}:part:${partIndex}:type:${normalizedType}`;
|
|
158
|
+
}
|
|
132
159
|
const contentSeed = resolveClaudePartContentSeed(part, normalizedType);
|
|
133
160
|
return [
|
|
134
161
|
"fallback",
|
|
@@ -141,7 +168,7 @@ export function buildClaudePartIdentity(input) {
|
|
|
141
168
|
].join(":");
|
|
142
169
|
}
|
|
143
170
|
export function normalizeClaudeMessagePart(input) {
|
|
144
|
-
const { part, envelope, providerSessionId, partIndex, timestamp, toolNameById, resolveStableMessageRef } = input;
|
|
171
|
+
const { part, envelope, providerId = "claude-code", providerSessionId, partIndex, timestamp, toolNameById, resolveStableMessageRef } = input;
|
|
145
172
|
const partType = ensureText(part.type).trim();
|
|
146
173
|
const identity = buildClaudePartIdentity({
|
|
147
174
|
part,
|
|
@@ -161,6 +188,7 @@ export function normalizeClaudeMessagePart(input) {
|
|
|
161
188
|
return null;
|
|
162
189
|
}
|
|
163
190
|
return createClaudeMessage({
|
|
191
|
+
providerId,
|
|
164
192
|
providerSessionId,
|
|
165
193
|
rawRef,
|
|
166
194
|
sequence,
|
|
@@ -183,6 +211,7 @@ export function normalizeClaudeMessagePart(input) {
|
|
|
183
211
|
return null;
|
|
184
212
|
}
|
|
185
213
|
return createClaudeMessage({
|
|
214
|
+
providerId,
|
|
186
215
|
providerSessionId,
|
|
187
216
|
rawRef,
|
|
188
217
|
sequence,
|
|
@@ -202,6 +231,7 @@ export function normalizeClaudeMessagePart(input) {
|
|
|
202
231
|
if (patchText) {
|
|
203
232
|
toolNameById.set(callId, "apply_patch");
|
|
204
233
|
return createClaudeMessage({
|
|
234
|
+
providerId,
|
|
205
235
|
providerSessionId,
|
|
206
236
|
rawRef,
|
|
207
237
|
sequence,
|
|
@@ -224,6 +254,7 @@ export function normalizeClaudeMessagePart(input) {
|
|
|
224
254
|
return null;
|
|
225
255
|
}
|
|
226
256
|
return createClaudeMessage({
|
|
257
|
+
providerId,
|
|
227
258
|
providerSessionId,
|
|
228
259
|
rawRef,
|
|
229
260
|
sequence,
|
|
@@ -246,6 +277,7 @@ export function normalizeClaudeMessagePart(input) {
|
|
|
246
277
|
return null;
|
|
247
278
|
}
|
|
248
279
|
return createClaudeMessage({
|
|
280
|
+
providerId,
|
|
249
281
|
providerSessionId,
|
|
250
282
|
rawRef,
|
|
251
283
|
sequence,
|
|
@@ -257,10 +289,10 @@ export function normalizeClaudeMessagePart(input) {
|
|
|
257
289
|
});
|
|
258
290
|
}
|
|
259
291
|
function createClaudeMessage(input) {
|
|
260
|
-
const { providerSessionId, rawRef, sequence, timestamp, role, kind, content, toolCall } = input;
|
|
292
|
+
const { providerId, providerSessionId, rawRef, sequence, timestamp, role, kind, content, toolCall } = input;
|
|
261
293
|
return {
|
|
262
294
|
messageId: messageIdFromRawRef(rawRef),
|
|
263
|
-
provider:
|
|
295
|
+
provider: providerId,
|
|
264
296
|
providerSessionId,
|
|
265
297
|
role,
|
|
266
298
|
kind,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-message-utils.js","sourceRoot":"","sources":["../src/claude-message-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAsB9B,MAAM,UAAU,8BAA8B,CAC5C,OAAuE,EACvE,SAAiB;IAEjB,IACE,OAAO,CAAC,IAAI,KAAK,MAAM;WACpB,OAAO,CAAC,IAAI,KAAK,UAAU;WAC3B,OAAO,CAAC,IAAI,KAAK,WAAW;WAC5B,OAAO,CAAC,IAAI,KAAK,aAAa,EACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;QAC7F,OAAO,GAAG,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IACxE,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,SAAS,SAAS,EAAE,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,QAAiG,EACjG,IAA6F;IAE7F,IACE,QAAQ,CAAC,iBAAiB,KAAK,IAAI,CAAC,iBAAiB;WAClD,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;WAC3B,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAC9B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACpF,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO,CACL,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;eAC7E,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA0E;IAE1E,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YACxB,CAAC,CAAC;gBACE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC/B,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAC3B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAC7B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC/B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAC7B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;aAChC;YACH,CAAC,CAAC,IAAI;KACT,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,KAAgC,CAAC;IAC1C,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAgC,EAChC,MAAgC;IAEhC,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAExD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAElD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAEpD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAAgB;IAC1D,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE3D,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAErC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;gBACpB,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI;iBACL;gBACH,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;QAED,OAAO,IAA+B,CAAC;IACzC,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAmC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,OAAO,yBAAyB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAKvC;IACC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACtD,MAAM,cAAc,GAAG,QAAQ,IAAI,MAAM,CAAC;IAE1C,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,YAAY,MAAM,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;QAEnD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,eAAe,MAAM,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,IACE,QAAQ,CAAC,IAAI,KAAK,WAAW;YAC7B,CAAC,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,UAAU,CAAC,EAC5D,CAAC;YACD,OAAO,WAAW,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,SAAS,SAAS,cAAc,EAAE,CAAC;QACjF,CAAC;QAED,OAAO,WAAW,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,SAAS,SAAS,SAAS,SAAS,cAAc,EAAE,CAAC;IACnG,CAAC;IAED,MAAM,WAAW,GAAG,4BAA4B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACvE,OAAO;QACL,UAAU;QACV,QAAQ,CAAC,MAAM;QACf,QAAQ,CAAC,IAAI;QACb,aAAa,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,EAAE;QAC9D,QAAQ,SAAS,EAAE;QACnB,QAAQ,cAAc,EAAE;QACxB,QAAQ,WAAW,IAAI,MAAM,EAAE;KAChC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAQ1C;IACC,MAAM,EACJ,IAAI,EACJ,QAAQ,EACR,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,uBAAuB,EACxB,GAAG,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,uBAAuB,CAAC;QACvC,IAAI;QACJ,QAAQ;QACR,QAAQ;QACR,SAAS;KACV,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;IAE3C,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC;YAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChG,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEvC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,mBAAmB,CAAC;gBACzB,iBAAiB;gBACjB,MAAM;gBACN,QAAQ;gBACR,SAAS;gBACT,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE;oBACR,MAAM;oBACN,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM;oBACxC,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;oBAC/B,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;oBAC9B,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;iBACzC;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,mBAAmB,CAAC;YACzB,iBAAiB;YACjB,MAAM;YACN,QAAQ;YACR,SAAS;YACT,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO;YACP,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC;QACpD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC;QACpD,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,sDAAsD;QACtD,MAAM,SAAS,GAAG,2BAA2B,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAExC,OAAO,mBAAmB,CAAC;gBACzB,iBAAiB;gBACjB,MAAM;gBACN,QAAQ;gBACR,SAAS;gBACT,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACR,MAAM;oBACN,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,SAAS;iBAClB;aACF,CAAC,CAAC;QACL,CAAC;QAED,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,mBAAmB,CAAC;YACzB,iBAAiB;YACjB,MAAM;YACN,QAAQ;YACR,SAAS;YACT,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE;gBACR,MAAM;gBACN,IAAI;gBACJ,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,SAAS;aAClB;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG,6BAA6B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE9D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,mBAAmB,CAAC;QACzB,iBAAiB;QACjB,MAAM;QACN,QAAQ;QACR,SAAS;QACT,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;QACnD,OAAO;QACP,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,KAkB5B;IACC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEhG,OAAO;QACL,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC;QACtC,QAAQ,EAAE,aAAa;QACvB,iBAAiB;QACjB,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,IAA6B,EAC7B,QAAgB;IAEhB,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAC9E,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,4BAA4B,CAAC,IAA6B,EAAE,QAAgB;IACnF,MAAM,MAAM,GACV,QAAQ,KAAK,UAAU;QACrB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;QACzC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAErC,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK;SACT,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAClC,QAAgB,EAChB,QAAiB;IAEjB,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GACT,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClE,CAAC,CAAE,QAAoC;QACvC,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC"}
|
|
1
|
+
{"version":3,"file":"claude-message-utils.js","sourceRoot":"","sources":["../src/claude-message-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,13 @@ export * from "./runtime/types.js";
|
|
|
5
5
|
export * from "./runtime/active-run-registry.js";
|
|
6
6
|
export * from "./runtime/provider-runtime-service.js";
|
|
7
7
|
export * from "./runtime/claude-runtime.js";
|
|
8
|
+
export * from "./runtime/legna-runtime.js";
|
|
8
9
|
export * from "./runtime/codex-runtime.js";
|
|
9
10
|
export * from "./runtime/gemini-runtime.js";
|
|
10
11
|
export * from "./runtime/kimi-runtime.js";
|
|
11
12
|
export * from "./runtime/opencode-runtime.js";
|
|
12
13
|
export * from "./providers/claude-code.js";
|
|
14
|
+
export * from "./providers/legna-code.js";
|
|
13
15
|
export * from "./providers/codex.js";
|
|
14
16
|
export * from "./providers/opencode.js";
|
|
15
17
|
export * from "./providers/gemini.js";
|
|
@@ -5,11 +5,13 @@ export * from "./runtime/types.js";
|
|
|
5
5
|
export * from "./runtime/active-run-registry.js";
|
|
6
6
|
export * from "./runtime/provider-runtime-service.js";
|
|
7
7
|
export * from "./runtime/claude-runtime.js";
|
|
8
|
+
export * from "./runtime/legna-runtime.js";
|
|
8
9
|
export * from "./runtime/codex-runtime.js";
|
|
9
10
|
export * from "./runtime/gemini-runtime.js";
|
|
10
11
|
export * from "./runtime/kimi-runtime.js";
|
|
11
12
|
export * from "./runtime/opencode-runtime.js";
|
|
12
13
|
export * from "./providers/claude-code.js";
|
|
14
|
+
export * from "./providers/legna-code.js";
|
|
13
15
|
export * from "./providers/codex.js";
|
|
14
16
|
export * from "./providers/opencode.js";
|
|
15
17
|
export * from "./providers/gemini.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import type { ContextUsageSnapshot, DetectSessionsOptions, ForkSessionOptions, ForkSessionResult, HistoryDirection, HistoryPage, ProviderAdapter, ProviderCapabilities, ProviderId, ProviderRealtimeEvent, ProviderSessionDiscovery, ProviderSessionSummary, ProviderSubscription, ResumeSessionResult, SendMessageResult, StartSessionOptions, StartSessionResult } from "../types.js";
|
|
1
|
+
import type { ContextUsageSnapshot, DetectSessionsOptions, ForkSessionOptions, ForkSessionResult, HistoryDirection, HistoryPage, ProviderAdapter, ProviderCapabilities, ProviderId, ProviderModelOption, ProviderRealtimeEvent, ProviderSessionDiscovery, ProviderSessionSummary, ProviderSubscription, ResumeSessionResult, SendMessageResult, StartSessionOptions, StartSessionResult } from "../types.js";
|
|
2
|
+
import { type ClaudeSessionStoreProfile } from "./claude-session-store.js";
|
|
2
3
|
interface ClaudeCodeAdapterOptions {
|
|
3
4
|
homeDir: string;
|
|
5
|
+
providerId?: ProviderId;
|
|
6
|
+
sessionStoreProfile?: ClaudeSessionStoreProfile;
|
|
7
|
+
modelOptions?: ProviderModelOption[];
|
|
8
|
+
defaultSessionTitle?: string;
|
|
9
|
+
capabilityLimitations?: string[];
|
|
4
10
|
}
|
|
11
|
+
export declare const CLAUDE_COMPAT_MODEL_OPTIONS: ProviderModelOption[];
|
|
5
12
|
export declare class ClaudeCodeAdapter implements ProviderAdapter {
|
|
6
13
|
private readonly options;
|
|
7
14
|
readonly providerId: ProviderId;
|
|
@@ -35,5 +42,7 @@ export declare class ClaudeCodeAdapter implements ProviderAdapter {
|
|
|
35
42
|
private parseMessages;
|
|
36
43
|
private collectMessageEnvelopes;
|
|
37
44
|
private readProgressEnvelope;
|
|
45
|
+
private getSessionStoreProfile;
|
|
46
|
+
private getDefaultSessionTitle;
|
|
38
47
|
}
|
|
39
48
|
export {};
|
|
@@ -2,11 +2,12 @@ import { basename, dirname, join } from "node:path";
|
|
|
2
2
|
import { existsSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
3
3
|
import crypto from "node:crypto";
|
|
4
4
|
import { buildClaudeMessageSignature, buildClaudeProgressiveTrackKey, buildClaudeStableRawRef, normalizeClaudeMessagePart, normalizeClaudeMessageParts, readClaudeMessageId, shouldReuseClaudeProgressiveIdentity, toClaudeRecord } from "../claude-message-utils.js";
|
|
5
|
-
import { appendJsonLine, createRawRef, encodeCursor, ensureDirectory, ensureText, messageIdFromRawRef, nextTimestamp, normalizeWorkspacePath, readFirstNonEmptyLine, readJsonLines, safeDate, sliceHistory
|
|
5
|
+
import { appendJsonLine, createRawRef, encodeCursor, ensureDirectory, ensureText, messageIdFromRawRef, nextTimestamp, normalizeWorkspacePath, readFirstNonEmptyLine, readJsonLines, safeDate, sliceHistory } from "./utils.js";
|
|
6
|
+
import { CLAUDE_CODE_SESSION_STORE_PROFILE } from "./claude-session-store.js";
|
|
6
7
|
const HISTORY_CACHE_LIMIT = 6;
|
|
7
8
|
const SESSION_SUMMARY_CACHE_LIMIT = 512;
|
|
8
9
|
const DEFAULT_CLAUDE_CONTEXT_WINDOW = 200_000;
|
|
9
|
-
const
|
|
10
|
+
export const CLAUDE_COMPAT_MODEL_OPTIONS = [
|
|
10
11
|
{
|
|
11
12
|
id: "provider-default",
|
|
12
13
|
name: "跟随 CLI 默认模型",
|
|
@@ -27,11 +28,12 @@ const CLAUDE_MODEL_OPTIONS = [
|
|
|
27
28
|
];
|
|
28
29
|
export class ClaudeCodeAdapter {
|
|
29
30
|
options;
|
|
30
|
-
providerId
|
|
31
|
+
providerId;
|
|
31
32
|
historyCache = new Map();
|
|
32
33
|
sessionSummaryCache = new Map();
|
|
33
34
|
constructor(options) {
|
|
34
35
|
this.options = options;
|
|
36
|
+
this.providerId = options.providerId ?? "claude-code";
|
|
35
37
|
}
|
|
36
38
|
async detectSessions(workspacePath, options) {
|
|
37
39
|
const discovery = await this.detectSessionsDetailed(workspacePath, options);
|
|
@@ -227,9 +229,9 @@ export class ClaudeCodeAdapter {
|
|
|
227
229
|
}
|
|
228
230
|
async startSession(workspacePath, options) {
|
|
229
231
|
const sessionId = crypto.randomUUID();
|
|
230
|
-
const
|
|
232
|
+
const filePath = this.getSessionStoreProfile().resolveSessionFilePath(this.options.homeDir, workspacePath, sessionId);
|
|
233
|
+
const projectDir = dirname(filePath);
|
|
231
234
|
ensureDirectory(projectDir);
|
|
232
|
-
const filePath = join(projectDir, `${sessionId}.jsonl`);
|
|
233
235
|
const now = nextTimestamp();
|
|
234
236
|
appendJsonLine(filePath, {
|
|
235
237
|
type: "queue-operation",
|
|
@@ -256,13 +258,13 @@ export class ClaudeCodeAdapter {
|
|
|
256
258
|
appendJsonLine(filePath, {
|
|
257
259
|
type: "ai-title",
|
|
258
260
|
sessionId,
|
|
259
|
-
aiTitle: options.initialPrompt?.slice(0, 48) ||
|
|
261
|
+
aiTitle: options.initialPrompt?.slice(0, 48) || this.getDefaultSessionTitle()
|
|
260
262
|
});
|
|
261
263
|
return {
|
|
262
264
|
session: {
|
|
263
265
|
provider: this.providerId,
|
|
264
266
|
providerSessionId: sessionId,
|
|
265
|
-
title: options.initialPrompt?.slice(0, 48) ||
|
|
267
|
+
title: options.initialPrompt?.slice(0, 48) || this.getDefaultSessionTitle(),
|
|
266
268
|
workspacePath,
|
|
267
269
|
rawStoreRef: filePath,
|
|
268
270
|
isArchived: false,
|
|
@@ -273,10 +275,11 @@ export class ClaudeCodeAdapter {
|
|
|
273
275
|
};
|
|
274
276
|
}
|
|
275
277
|
async forkSession(providerSessionId, workspacePath, options) {
|
|
276
|
-
const sourceFilePath = this.resolveForkSourceFilePath(options.rawStoreRef, providerSessionId);
|
|
278
|
+
const sourceFilePath = this.resolveForkSourceFilePath(options.rawStoreRef, providerSessionId, workspacePath);
|
|
277
279
|
const sourceRecords = readJsonLines(sourceFilePath).map((record) => record.data);
|
|
278
280
|
const forkedSessionId = crypto.randomUUID();
|
|
279
|
-
const
|
|
281
|
+
const targetFilePath = this.getSessionStoreProfile().resolveSessionFilePath(this.options.homeDir, workspacePath, forkedSessionId);
|
|
282
|
+
const projectDir = dirname(targetFilePath);
|
|
280
283
|
ensureDirectory(projectDir);
|
|
281
284
|
let forkedRecords = sourceRecords.map((record) => cloneJsonRecord(record));
|
|
282
285
|
let providerSourceMessageId = null;
|
|
@@ -295,7 +298,6 @@ export class ClaudeCodeAdapter {
|
|
|
295
298
|
providerSourceMessageId = target.providerSourceMessageId;
|
|
296
299
|
forkMethod = "native_message_fork";
|
|
297
300
|
}
|
|
298
|
-
const targetFilePath = join(projectDir, `${forkedSessionId}.jsonl`);
|
|
299
301
|
const persistedForkRecords = forkedRecords
|
|
300
302
|
// fork 后的标题必须由子会话自己生成,不能把父会话的 ai-title 原样抄过去。
|
|
301
303
|
.filter((record) => shouldPreserveClaudeForkRecord(record));
|
|
@@ -420,8 +422,9 @@ export class ClaudeCodeAdapter {
|
|
|
420
422
|
supportsSessionFork: true,
|
|
421
423
|
supportsSessionDelete: true,
|
|
422
424
|
supportsCheckpoint: false,
|
|
423
|
-
modelOptions:
|
|
424
|
-
limitations:
|
|
425
|
+
modelOptions: this.options.modelOptions ?? CLAUDE_COMPAT_MODEL_OPTIONS,
|
|
426
|
+
limitations: this.options.capabilityLimitations
|
|
427
|
+
?? ["当前实现只读取原生 jsonl,会话恢复不负责拉起外部 Claude 进程。"]
|
|
425
428
|
};
|
|
426
429
|
}
|
|
427
430
|
async getSessionCapabilities() {
|
|
@@ -488,20 +491,15 @@ export class ClaudeCodeAdapter {
|
|
|
488
491
|
return "";
|
|
489
492
|
}
|
|
490
493
|
listWorkspaceFiles(workspacePath) {
|
|
491
|
-
|
|
492
|
-
if (existsSync(exactProjectDir)) {
|
|
493
|
-
return walkJsonlFiles(exactProjectDir);
|
|
494
|
-
}
|
|
495
|
-
return walkJsonlFiles(join(this.options.homeDir, "projects"));
|
|
494
|
+
return this.getSessionStoreProfile().resolveWorkspaceFiles(this.options.homeDir, workspacePath);
|
|
496
495
|
}
|
|
497
|
-
resolveForkSourceFilePath(rawStoreRef, providerSessionId) {
|
|
496
|
+
resolveForkSourceFilePath(rawStoreRef, providerSessionId, workspacePath = "") {
|
|
498
497
|
if (existsSync(rawStoreRef)) {
|
|
499
498
|
return rawStoreRef;
|
|
500
499
|
}
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
}
|
|
500
|
+
const discoveredFilePath = this.getSessionStoreProfile().findSessionFile(this.options.homeDir, workspacePath, providerSessionId);
|
|
501
|
+
if (discoveredFilePath) {
|
|
502
|
+
return discoveredFilePath;
|
|
505
503
|
}
|
|
506
504
|
throw new Error("PROVIDER_SESSION_NOT_FOUND");
|
|
507
505
|
}
|
|
@@ -518,6 +516,7 @@ export class ClaudeCodeAdapter {
|
|
|
518
516
|
const normalized = normalizeClaudeMessagePart({
|
|
519
517
|
part,
|
|
520
518
|
envelope,
|
|
519
|
+
providerId: this.providerId,
|
|
521
520
|
providerSessionId,
|
|
522
521
|
partIndex,
|
|
523
522
|
timestamp: safeDate(envelope.timestamp, nextTimestamp()),
|
|
@@ -530,7 +529,7 @@ export class ClaudeCodeAdapter {
|
|
|
530
529
|
sequence += 1;
|
|
531
530
|
const created = {
|
|
532
531
|
sequence,
|
|
533
|
-
rawRef: buildClaudeStableRawRef(identity)
|
|
532
|
+
rawRef: buildClaudeStableRawRef(identity, this.providerId)
|
|
534
533
|
};
|
|
535
534
|
stableMessageRefByIdentity.set(identity, created);
|
|
536
535
|
return created;
|
|
@@ -614,19 +613,32 @@ export class ClaudeCodeAdapter {
|
|
|
614
613
|
}
|
|
615
614
|
}
|
|
616
615
|
parseMessages(filePath, records, providerSessionId = basename(filePath, ".jsonl")) {
|
|
617
|
-
const
|
|
618
|
-
const
|
|
616
|
+
const messageEntries = [];
|
|
617
|
+
const entryIndexByMessageId = new Map();
|
|
619
618
|
const toolNameById = new Map();
|
|
620
619
|
const stableMessageRefByIdentity = new Map();
|
|
621
620
|
const progressiveMessagesByTrackKey = new Map();
|
|
622
621
|
let sequence = 0;
|
|
623
|
-
|
|
624
|
-
|
|
622
|
+
let nextGroupOrder = 0;
|
|
623
|
+
const groupOrderByKey = new Map();
|
|
624
|
+
records.forEach((record, recordIndex) => {
|
|
625
|
+
this.collectMessageEnvelopes(record).forEach((envelope, envelopeIndex) => {
|
|
625
626
|
const parts = normalizeClaudeMessageParts(envelope.message.content);
|
|
627
|
+
const groupKey = buildClaudeEnvelopeGroupKey(envelope, record, recordIndex, envelopeIndex);
|
|
628
|
+
const groupOrder = (() => {
|
|
629
|
+
const existing = groupOrderByKey.get(groupKey);
|
|
630
|
+
if (existing !== undefined) {
|
|
631
|
+
return existing;
|
|
632
|
+
}
|
|
633
|
+
nextGroupOrder += 1;
|
|
634
|
+
groupOrderByKey.set(groupKey, nextGroupOrder);
|
|
635
|
+
return nextGroupOrder;
|
|
636
|
+
})();
|
|
626
637
|
parts.forEach((part, partIndex) => {
|
|
627
638
|
const normalized = normalizeClaudeMessagePart({
|
|
628
639
|
part,
|
|
629
640
|
envelope,
|
|
641
|
+
providerId: this.providerId,
|
|
630
642
|
providerSessionId,
|
|
631
643
|
partIndex,
|
|
632
644
|
timestamp: safeDate(envelope.timestamp, nextTimestamp()),
|
|
@@ -639,7 +651,7 @@ export class ClaudeCodeAdapter {
|
|
|
639
651
|
sequence += 1;
|
|
640
652
|
const created = {
|
|
641
653
|
sequence,
|
|
642
|
-
rawRef: buildClaudeStableRawRef(identity)
|
|
654
|
+
rawRef: buildClaudeStableRawRef(identity, this.providerId)
|
|
643
655
|
};
|
|
644
656
|
stableMessageRefByIdentity.set(identity, created);
|
|
645
657
|
return created;
|
|
@@ -667,20 +679,53 @@ export class ClaudeCodeAdapter {
|
|
|
667
679
|
progressiveMessagesByTrackKey.set(trackKey, nextMessage);
|
|
668
680
|
}
|
|
669
681
|
const signature = buildClaudeMessageSignature(nextMessage);
|
|
670
|
-
const
|
|
682
|
+
const currentEntryIndex = entryIndexByMessageId.get(nextMessage.messageId);
|
|
683
|
+
const current = currentEntryIndex === undefined
|
|
684
|
+
? null
|
|
685
|
+
: (messageEntries[currentEntryIndex]?.message ?? null);
|
|
671
686
|
if (current && buildClaudeMessageSignature(current) === signature) {
|
|
672
687
|
return;
|
|
673
688
|
}
|
|
674
|
-
if (
|
|
675
|
-
|
|
689
|
+
if (currentEntryIndex === undefined) {
|
|
690
|
+
entryIndexByMessageId.set(nextMessage.messageId, messageEntries.length);
|
|
691
|
+
messageEntries.push({
|
|
692
|
+
message: nextMessage,
|
|
693
|
+
groupOrder,
|
|
694
|
+
partIndex
|
|
695
|
+
});
|
|
696
|
+
return;
|
|
676
697
|
}
|
|
677
|
-
|
|
698
|
+
messageEntries[currentEntryIndex] = {
|
|
699
|
+
message: nextMessage,
|
|
700
|
+
groupOrder,
|
|
701
|
+
partIndex
|
|
702
|
+
};
|
|
678
703
|
});
|
|
679
704
|
});
|
|
680
705
|
});
|
|
681
|
-
return
|
|
682
|
-
.
|
|
683
|
-
.
|
|
706
|
+
return messageEntries
|
|
707
|
+
.sort((left, right) => {
|
|
708
|
+
if (left.groupOrder !== right.groupOrder) {
|
|
709
|
+
return left.groupOrder - right.groupOrder;
|
|
710
|
+
}
|
|
711
|
+
const kindOrder = resolveClaudeHistoryKindOrder(left.message.kind)
|
|
712
|
+
- resolveClaudeHistoryKindOrder(right.message.kind);
|
|
713
|
+
if (kindOrder !== 0) {
|
|
714
|
+
return kindOrder;
|
|
715
|
+
}
|
|
716
|
+
if (left.partIndex !== right.partIndex) {
|
|
717
|
+
return left.partIndex - right.partIndex;
|
|
718
|
+
}
|
|
719
|
+
const timestampOrder = left.message.timestamp.localeCompare(right.message.timestamp);
|
|
720
|
+
if (timestampOrder !== 0) {
|
|
721
|
+
return timestampOrder;
|
|
722
|
+
}
|
|
723
|
+
return left.message.rawRef.localeCompare(right.message.rawRef);
|
|
724
|
+
})
|
|
725
|
+
.map((entry, index) => ({
|
|
726
|
+
...entry.message,
|
|
727
|
+
sequence: index + 1
|
|
728
|
+
}));
|
|
684
729
|
}
|
|
685
730
|
collectMessageEnvelopes(record) {
|
|
686
731
|
const envelopes = [];
|
|
@@ -719,6 +764,36 @@ export class ClaudeCodeAdapter {
|
|
|
719
764
|
message: nestedMessage
|
|
720
765
|
};
|
|
721
766
|
}
|
|
767
|
+
getSessionStoreProfile() {
|
|
768
|
+
return this.options.sessionStoreProfile ?? CLAUDE_CODE_SESSION_STORE_PROFILE;
|
|
769
|
+
}
|
|
770
|
+
getDefaultSessionTitle() {
|
|
771
|
+
return this.options.defaultSessionTitle ?? "New Claude Code session";
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
function buildClaudeEnvelopeGroupKey(envelope, record, recordIndex, envelopeIndex) {
|
|
775
|
+
if (envelope.messageId) {
|
|
776
|
+
return `${envelope.type}:message:${envelope.messageId}`;
|
|
777
|
+
}
|
|
778
|
+
const sessionId = ensureText(record.sessionId).trim()
|
|
779
|
+
|| ensureText(record.session_id).trim()
|
|
780
|
+
|| "unknown";
|
|
781
|
+
const timestamp = ensureText(record.timestamp).trim() || `record-${recordIndex}`;
|
|
782
|
+
return `${envelope.type}:${envelope.source}:${sessionId}:${timestamp}:${recordIndex}:${envelopeIndex}`;
|
|
783
|
+
}
|
|
784
|
+
function resolveClaudeHistoryKindOrder(kind) {
|
|
785
|
+
switch (kind) {
|
|
786
|
+
case "thinking":
|
|
787
|
+
return 0;
|
|
788
|
+
case "text":
|
|
789
|
+
return 1;
|
|
790
|
+
case "tool_call":
|
|
791
|
+
return 2;
|
|
792
|
+
case "tool_result":
|
|
793
|
+
return 3;
|
|
794
|
+
default:
|
|
795
|
+
return 4;
|
|
796
|
+
}
|
|
722
797
|
}
|
|
723
798
|
function isPendingClaudeRuntimeRef(providerSessionId, rawStoreRef) {
|
|
724
799
|
if (providerSessionId.trim().toLowerCase().startsWith("pending://")) {
|