@jingyi0605/codingns 0.5.1 → 0.6.0
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/public/assets/{AdaptiveButlerPage-SffCV4Vb.js → AdaptiveButlerPage-uFwDdN-F.js} +3 -3
- package/dist/public/assets/App-BZvapsi8.js +30 -0
- package/dist/public/assets/App-CcDXqFl1.css +1 -0
- package/dist/public/assets/{BootstrapPage--zExdgfM.js → BootstrapPage-gHSoa4JN.js} +1 -1
- package/dist/public/assets/ConversationPage-z3sXtKZ7.js +4 -0
- package/dist/public/assets/{DesktopDetachPreviewPage-DvI9CIKi.js → DesktopDetachPreviewPage-4eMRxiBW.js} +1 -1
- package/dist/public/assets/DesktopWindowPage-CZcoGApB.js +2 -0
- package/dist/public/assets/FileContextPanel-C3qex8bb.js +1 -0
- package/dist/public/assets/GitSidebar-BK6H16XU.js +6 -0
- package/dist/public/assets/{MobileCreateSessionSheet-CXSKMnYn.js → MobileCreateSessionSheet-BYfbvK8o.js} +1 -1
- package/dist/public/assets/MobileSheet-Ckug8hTb.js +1 -0
- package/dist/public/assets/{MobileTopHeaderFrame-BWorAJ1C.js → MobileTopHeaderFrame-Bwv8Ovm_.js} +1 -1
- package/dist/public/assets/MobileWorkspaceSwitcherHeader-RqWrBdn2.js +1 -0
- package/dist/public/assets/RelayConnectEntryPage-D_4YL-YH.js +1 -0
- package/dist/public/assets/ServerSettingsModal-CMSm3BZU.js +1 -0
- package/dist/public/assets/SessionIndexPage-DuK10DL5.js +1 -0
- package/dist/public/assets/SettingsPage-fyD-xaHL.js +1 -0
- package/dist/public/assets/TerminalManagerPanel-CCLr1Ypk.js +1 -0
- package/dist/public/assets/{TerminalPage-CvnHXBhw.js → TerminalPage-DaooFaJ4.js} +19 -19
- package/dist/public/assets/{TerminalRuntimeFallbackModal-D7Aq186N.js → TerminalRuntimeFallbackModal-aUzjEBwP.js} +1 -1
- package/dist/public/assets/ToolFilesPage-CGxBvYG0.js +1 -0
- package/dist/public/assets/ToolGitPage-C264yjS9.js +1 -0
- package/dist/public/assets/ToolProcessesPage-BOP4A1cb.js +1 -0
- package/dist/public/assets/ToolsHomePage-CQxGiKQA.js +1 -0
- package/dist/public/assets/WorkbenchLandingPage-CvAY68ca.js +1 -0
- package/dist/public/assets/WorkbenchLayout-DGm8Tc5M.js +3 -0
- package/dist/public/assets/{WorkbenchModal-B09hC9b5.js → WorkbenchModal-0tPIIhca.js} +1 -1
- package/dist/public/assets/{WorkbenchShellRoute-DsW4mBTX.css → WorkbenchShellRoute-BF0nHWOk.css} +1 -1
- package/dist/public/assets/WorkbenchShellRoute-DBBOsJo9.js +1 -0
- package/dist/public/assets/WorkspaceDebugDetailPage-CDerFYd2.js +1 -0
- package/dist/public/assets/WorkspaceDetailPage-BlJc1CHE.js +1 -0
- package/dist/public/assets/WorkspaceHomePage-BUsKJ3lv.js +1 -0
- package/dist/public/assets/client-runtime-manager-BZpL17fc.js +1 -0
- package/dist/public/assets/{default-session-permission-mode-D0wZ9Jek.js → default-session-permission-mode-DT4SGiwp.js} +1 -1
- package/dist/public/assets/file-tree-icon-Db5LXC8h.js +31 -0
- package/dist/public/assets/index-BZLcEHW3.js +42 -0
- package/dist/public/assets/index-BbspQPC2.css +1 -0
- package/dist/public/assets/login-direct-candidate-resolver-1mxe_Oh8.js +1 -0
- package/dist/public/assets/{preferences-service-gOt2ZjKZ.js → preferences-service-DWnzl5a0.js} +1 -1
- package/dist/public/assets/relay-entry-C5_Iay0I.js +1 -0
- package/dist/public/assets/session-runtime-machine-DdLeDqQr.js +17 -0
- package/dist/public/assets/{styles-BWPBZvze.css → styles-CsEMfdaS.css} +1 -1
- package/dist/public/assets/{terminal-runtime-meta-BMT-rSEe.js → terminal-runtime-meta-cdtWVfCm.js} +1 -1
- package/dist/public/assets/{useRegisteredDebugTemplates-zMcEOGca.js → useRegisteredDebugTemplates-oFAQNIqh.js} +1 -1
- package/dist/public/assets/window-BVUB8gMK.js +1 -0
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.d.ts +2 -0
- package/dist/server/config/env.js +39 -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/parallel-sessions/parallel-session-controller.d.ts +53 -0
- package/dist/server/modules/parallel-sessions/parallel-session-controller.js +70 -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 +83 -0
- package/dist/server/modules/parallel-sessions/parallel-session-group-service.js +591 -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/relay-tunnel/crypto/relay-tunnel-packets.d.ts +16 -1
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.js.map +1 -1
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.d.ts +2 -1
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js +18 -0
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.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-client-context.d.ts +13 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-client-context.js +2 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-client-context.js.map +1 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.d.ts +6 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js +110 -10
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js.map +1 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.d.ts +16 -4
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js +220 -102
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js.map +1 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.d.ts +4 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +257 -162
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -1
- package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +3 -0
- package/dist/server/modules/sessions/codex-app-server-helper-client.js +56 -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/session-activity-inspector.js +6 -8
- package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +11 -1
- package/dist/server/modules/sessions/session-history-service.js +204 -21
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +8 -0
- package/dist/server/modules/sessions/session-live-runtime-service.js +208 -25
- package/dist/server/modules/sessions/session-live-runtime-service.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 +43 -4
- package/dist/server/modules/workbench/workbench-service.js +72 -9
- 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 -9
- 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-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/schema.sql +73 -0
- package/dist/server/types/domain.d.ts +72 -0
- package/dist/server/ws/workbench-ws-hub.d.ts +3 -1
- package/dist/server/ws/workbench-ws-hub.js +189 -20
- package/dist/server/ws/workbench-ws-hub.js.map +1 -1
- package/dist/server/ws/ws-server.js +141 -8
- package/dist/server/ws/ws-server.js.map +1 -1
- 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 +67 -6
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.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/codex-runtime.js +558 -309
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +29 -5
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
- package/package.json +1 -1
- package/dist/public/assets/App-DUAg5urj.css +0 -1
- package/dist/public/assets/App-WOLwMld_.js +0 -30
- package/dist/public/assets/ConversationPage-D9pzRmOg.js +0 -2
- package/dist/public/assets/DesktopWindowPage-D8FpOSLE.js +0 -2
- package/dist/public/assets/FileContextPanel-C8T7oqRN.js +0 -1
- package/dist/public/assets/GitSidebar-Bze7DNnc.js +0 -6
- package/dist/public/assets/MobileSheet-Gzc14EpR.js +0 -1
- package/dist/public/assets/MobileWorkspaceSwitcherHeader-DOr4pTUq.js +0 -1
- package/dist/public/assets/ServerSettingsModal-BYB0GvTl.js +0 -1
- package/dist/public/assets/SessionIndexPage-CR3IARXX.js +0 -1
- package/dist/public/assets/SettingsPage-B_BQtnwE.js +0 -1
- package/dist/public/assets/TerminalManagerPanel-PQ-EM64j.js +0 -1
- package/dist/public/assets/ToolFilesPage-Qzkc6K2I.js +0 -1
- package/dist/public/assets/ToolGitPage-BdNDN-cV.js +0 -1
- package/dist/public/assets/ToolProcessesPage-EXJ9DHWI.js +0 -1
- package/dist/public/assets/ToolsHomePage-CjF3CWzR.js +0 -1
- package/dist/public/assets/WorkbenchLandingPage-DZPk4SmX.js +0 -1
- package/dist/public/assets/WorkbenchLayout-rwQib5In.js +0 -3
- package/dist/public/assets/WorkbenchShellRoute-Cerk5uK7.js +0 -1
- package/dist/public/assets/WorkspaceDebugDetailPage-Bcq8s-Ma.js +0 -1
- package/dist/public/assets/WorkspaceDetailPage-DNAa8pKr.js +0 -1
- package/dist/public/assets/WorkspaceHomePage-BoiLuACV.js +0 -1
- package/dist/public/assets/client-runtime-manager-CRQ-F5d2.js +0 -1
- package/dist/public/assets/file-tree-icon-Dp_xhVfD.js +0 -31
- package/dist/public/assets/index-C2G8Gmf1.js +0 -42
- package/dist/public/assets/index-CpPTUeA3.css +0 -1
- package/dist/public/assets/session-runtime-machine-Dq3pW-UF.js +0 -17
- package/dist/public/assets/window-BWqRixxq.js +0 -1
- /package/dist/public/assets/{styles-CSUx5LGe.js → styles-DRVvx_kv.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-activity-inspector.js","sourceRoot":"","sources":["../../../../src/modules/sessions/session-activity-inspector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-activity-inspector.js","sourceRoot":"","sources":["../../../../src/modules/sessions/session-activity-inspector.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@ import type { SessionIndexRepository } from "../../storage/repositories/session-
|
|
|
7
7
|
import type { SessionStateRepository } from "../../storage/repositories/session-state-repository.js";
|
|
8
8
|
import type { SessionStatusSnapshotRepository } from "../../storage/repositories/session-status-snapshot-repository.js";
|
|
9
9
|
import type { WorkspaceRepository } from "../../storage/repositories/workspace-repository.js";
|
|
10
|
+
import type { ParallelSessionGroupRepository } from "../../storage/repositories/parallel-session-group-repository.js";
|
|
11
|
+
import type { ParallelSessionMemberRepository } from "../../storage/repositories/parallel-session-member-repository.js";
|
|
12
|
+
import type { SessionIsolatedWorkspaceRepository } from "../../storage/repositories/session-isolated-workspace-repository.js";
|
|
10
13
|
import { SessionActivityAuthorityService, type SessionActivityObservation } from "./session-activity-authority-service.js";
|
|
11
14
|
import { SessionChangedFileService } from "./session-changed-file-service.js";
|
|
12
15
|
import { SessionMessageAttachmentService } from "./session-message-attachment-service.js";
|
|
@@ -38,6 +41,7 @@ interface ForkSessionInput {
|
|
|
38
41
|
sourceMessageSnapshot?: ForkSourceMessageSnapshot | null;
|
|
39
42
|
strategy?: ForkStrategy;
|
|
40
43
|
targetProvider?: string | null;
|
|
44
|
+
targetWorkspaceId?: string | null;
|
|
41
45
|
sessionKind?: "default" | "annotation";
|
|
42
46
|
annotationSourceMessageId?: string | null;
|
|
43
47
|
annotationSourceText?: string | null;
|
|
@@ -90,17 +94,21 @@ export declare class SessionHistoryService {
|
|
|
90
94
|
private readonly openCodeModelOptionsService;
|
|
91
95
|
private readonly providerCliCommandPaths;
|
|
92
96
|
private readonly providerCliAvailability;
|
|
97
|
+
private readonly parallelSessionGroupRepository;
|
|
98
|
+
private readonly parallelSessionMemberRepository;
|
|
99
|
+
private readonly sessionIsolatedWorkspaceRepository;
|
|
93
100
|
private readonly providerDiscoveryHelperClient;
|
|
94
101
|
private readonly providerSessionDiscoveryConfig;
|
|
95
102
|
private readonly taskManager;
|
|
96
103
|
private readonly workspaceDiscoveryStatuses;
|
|
97
104
|
private readonly workspaceStateRefreshStatuses;
|
|
98
105
|
private readonly providerCapabilityCache;
|
|
106
|
+
private readonly codexDirtyBindingRepairStates;
|
|
99
107
|
private readonly liveActivityObservationResolvers;
|
|
100
108
|
private readonly sessionDeletedObservers;
|
|
101
109
|
private readonly workspaceSessionRelations;
|
|
102
110
|
private workspaceStateRefreshTaskSequence;
|
|
103
|
-
constructor(db: Database.Database, workspaceRepository: WorkspaceRepository, sessionBindingRepository: SessionBindingRepository, sessionChangedFileService: SessionChangedFileService, sessionIndexRepository: SessionIndexRepository, sessionMessageAttachmentService: SessionMessageAttachmentService, sessionStateRepository: SessionStateRepository, sessionStatusSnapshotRepository: SessionStatusSnapshotRepository, config: HostConfig, sessionActivityAuthorityService?: SessionActivityAuthorityService, sessionMessageOriginRepository?: Pick<SessionMessageOriginRepository, "listBySessionAndMessageIds" | "listUnresolvedBySessionAndContents" | "resolveMessageId"> | null, sessionForkRepository?: Pick<SessionForkRepository, "upsert" | "findBySessionId"> | null, adapterOverrides?: SessionHistoryAdapterOverrides, taskManager?: TaskManager);
|
|
111
|
+
constructor(db: Database.Database, workspaceRepository: WorkspaceRepository, sessionBindingRepository: SessionBindingRepository, sessionChangedFileService: SessionChangedFileService, sessionIndexRepository: SessionIndexRepository, sessionMessageAttachmentService: SessionMessageAttachmentService, sessionStateRepository: SessionStateRepository, sessionStatusSnapshotRepository: SessionStatusSnapshotRepository, config: HostConfig, sessionActivityAuthorityService?: SessionActivityAuthorityService, sessionMessageOriginRepository?: Pick<SessionMessageOriginRepository, "listBySessionAndMessageIds" | "listUnresolvedBySessionAndContents" | "resolveMessageId"> | null, sessionForkRepository?: Pick<SessionForkRepository, "upsert" | "findBySessionId"> | null, adapterOverrides?: SessionHistoryAdapterOverrides, taskManager?: TaskManager, parallelSessionGroupRepository?: Pick<ParallelSessionGroupRepository, "listByIds"> | null, parallelSessionMemberRepository?: Pick<ParallelSessionMemberRepository, "findBySessionId" | "listBySessionIds" | "listByGroupIds"> | null, sessionIsolatedWorkspaceRepository?: Pick<SessionIsolatedWorkspaceRepository, "findByOwnerSessionId" | "listByOwnerSessionIds" | "listBySourceWorkspaceId"> | null);
|
|
104
112
|
observeBackgroundTaskMetrics(): TaskMetricsSnapshot;
|
|
105
113
|
registerLiveActivityObservationResolver(resolver: LiveActivityObservationResolver): {
|
|
106
114
|
close(): void;
|
|
@@ -183,6 +191,8 @@ export declare class SessionHistoryService {
|
|
|
183
191
|
private buildWorkspaceSessionRelationMap;
|
|
184
192
|
private enrichSessionItems;
|
|
185
193
|
private enrichSessionItem;
|
|
194
|
+
private buildParallelProjectionBySessionId;
|
|
195
|
+
private listProjectedIsolatedWorkspaceSessions;
|
|
186
196
|
private pullSessionHistory;
|
|
187
197
|
private pullRecentSessionHistory;
|
|
188
198
|
private publishHistoryEnvelope;
|
|
@@ -11,6 +11,7 @@ import { inspectSessionActivity } from "./session-activity-inspector.js";
|
|
|
11
11
|
import { SessionActivityAuthorityService } from "./session-activity-authority-service.js";
|
|
12
12
|
import { mapSessionProviderError } from "./session-provider-error-mapper.js";
|
|
13
13
|
import { SessionForkRepository } from "../../storage/repositories/session-fork-repository.js";
|
|
14
|
+
import { buildParallelGroupColorToken, resolveParallelDisplayParentSessionId } from "../parallel-sessions/parallel-session-group-service.js";
|
|
14
15
|
import { enrichClaudeCapabilities } from "../provider/claude-model-options.js";
|
|
15
16
|
import { CodexModelOptionsService, createFallbackCodexModelOptions, enrichCodexCapabilities } from "../provider/codex-model-options.js";
|
|
16
17
|
import { OpenCodeModelOptionsService, createFallbackOpenCodeModelOptions, enrichOpenCodeCapabilities } from "../provider/opencode-model-options.js";
|
|
@@ -31,6 +32,13 @@ const SESSION_START_DEFERRED_PROVIDERS = new Set([
|
|
|
31
32
|
"gemini",
|
|
32
33
|
"kimi"
|
|
33
34
|
]);
|
|
35
|
+
const MUTABLE_HISTORY_TAIL_PROVIDERS = new Set([
|
|
36
|
+
"claude-code",
|
|
37
|
+
"codex",
|
|
38
|
+
"gemini",
|
|
39
|
+
"kimi",
|
|
40
|
+
"opencode"
|
|
41
|
+
]);
|
|
34
42
|
const MUTABLE_HISTORY_TAIL_REFRESH_INTERVAL_MS = 1_200;
|
|
35
43
|
const WORKSPACE_DISCOVERY_BACKGROUND_MAX_AGE_MS = 15_000;
|
|
36
44
|
const WORKSPACE_DISCOVERY_SCAN_CONCURRENCY = 2;
|
|
@@ -40,6 +48,7 @@ const SESSION_TRANSACTION_HOTSPOT_THRESHOLD_MS = 150;
|
|
|
40
48
|
const WORKSPACE_STATE_REFRESH_COOLDOWN_MS = 1_500;
|
|
41
49
|
const SQLITE_BUSY_RETRY_LIMIT = 3;
|
|
42
50
|
const SQLITE_BUSY_RETRY_DELAY_MS = 100;
|
|
51
|
+
const CODEX_DIRTY_BINDING_REPAIR_COOLDOWN_MS = 5_000;
|
|
43
52
|
export class SessionHistoryService {
|
|
44
53
|
db;
|
|
45
54
|
workspaceRepository;
|
|
@@ -61,17 +70,21 @@ export class SessionHistoryService {
|
|
|
61
70
|
openCodeModelOptionsService;
|
|
62
71
|
providerCliCommandPaths;
|
|
63
72
|
providerCliAvailability;
|
|
73
|
+
parallelSessionGroupRepository;
|
|
74
|
+
parallelSessionMemberRepository;
|
|
75
|
+
sessionIsolatedWorkspaceRepository;
|
|
64
76
|
providerDiscoveryHelperClient = getSharedProviderDiscoveryHelperClient();
|
|
65
77
|
providerSessionDiscoveryConfig;
|
|
66
78
|
taskManager;
|
|
67
79
|
workspaceDiscoveryStatuses = new Map();
|
|
68
80
|
workspaceStateRefreshStatuses = new Map();
|
|
69
81
|
providerCapabilityCache = new Map();
|
|
82
|
+
codexDirtyBindingRepairStates = new Map();
|
|
70
83
|
liveActivityObservationResolvers = new Set();
|
|
71
84
|
sessionDeletedObservers = new Set();
|
|
72
85
|
workspaceSessionRelations = new Map();
|
|
73
86
|
workspaceStateRefreshTaskSequence = 0;
|
|
74
|
-
constructor(db, workspaceRepository, sessionBindingRepository, sessionChangedFileService, sessionIndexRepository, sessionMessageAttachmentService, sessionStateRepository, sessionStatusSnapshotRepository, config, sessionActivityAuthorityService = new SessionActivityAuthorityService(), sessionMessageOriginRepository = null, sessionForkRepository = null, adapterOverrides = {}, taskManager = createTaskManager()) {
|
|
87
|
+
constructor(db, workspaceRepository, sessionBindingRepository, sessionChangedFileService, sessionIndexRepository, sessionMessageAttachmentService, sessionStateRepository, sessionStatusSnapshotRepository, config, sessionActivityAuthorityService = new SessionActivityAuthorityService(), sessionMessageOriginRepository = null, sessionForkRepository = null, adapterOverrides = {}, taskManager = createTaskManager(), parallelSessionGroupRepository = null, parallelSessionMemberRepository = null, sessionIsolatedWorkspaceRepository = null) {
|
|
75
88
|
this.db = db;
|
|
76
89
|
this.workspaceRepository = workspaceRepository;
|
|
77
90
|
this.sessionBindingRepository = sessionBindingRepository;
|
|
@@ -86,6 +99,9 @@ export class SessionHistoryService {
|
|
|
86
99
|
this.providerSessionDeleteCli =
|
|
87
100
|
adapterOverrides.providerSessionDeleteCli ?? new CodingnsProviderSessionDeleteCli(config);
|
|
88
101
|
this.taskManager = taskManager;
|
|
102
|
+
this.parallelSessionGroupRepository = parallelSessionGroupRepository;
|
|
103
|
+
this.parallelSessionMemberRepository = parallelSessionMemberRepository;
|
|
104
|
+
this.sessionIsolatedWorkspaceRepository = sessionIsolatedWorkspaceRepository;
|
|
89
105
|
this.claudeCodeHomeDir = config.claudeCodeHomeDir;
|
|
90
106
|
this.providerCliCommandPaths = {
|
|
91
107
|
"claude-code": process.platform === "win32" ? "claude.cmd" : "claude",
|
|
@@ -263,18 +279,30 @@ export class SessionHistoryService {
|
|
|
263
279
|
}
|
|
264
280
|
async readSessionHistory(sessionId, cursor, limit, direction = "forward", userId) {
|
|
265
281
|
const startedAt = Date.now();
|
|
282
|
+
const resolveStartedAt = Date.now();
|
|
266
283
|
const resolvedSessionId = this.resolveCanonicalSessionId(sessionId, userId);
|
|
284
|
+
const resolveSessionIdMs = Date.now() - resolveStartedAt;
|
|
285
|
+
const bindingLookupStartedAt = Date.now();
|
|
267
286
|
let binding = this.getBindingOrThrow(resolvedSessionId);
|
|
287
|
+
const bindingLookupMs = Date.now() - bindingLookupStartedAt;
|
|
288
|
+
let repairBindingMs = 0;
|
|
268
289
|
if (userId) {
|
|
290
|
+
const repairStartedAt = Date.now();
|
|
269
291
|
binding = await this.repairCodexDirtyBindingBeforeHistoryRead(resolvedSessionId, userId, binding);
|
|
292
|
+
repairBindingMs = Date.now() - repairStartedAt;
|
|
270
293
|
}
|
|
271
294
|
const current = this.sessionStatusSnapshotRepository.findBySessionId(resolvedSessionId);
|
|
272
295
|
const safeLimit = clampLimit(limit);
|
|
296
|
+
const knownTotalLookupStartedAt = Date.now();
|
|
273
297
|
const knownTotalMessageCount = direction === "backward" && cursor === null
|
|
274
298
|
? this.sessionIndexRepository.findIndexRecordBySessionId(resolvedSessionId)?.messageCount ?? null
|
|
275
299
|
: null;
|
|
300
|
+
const knownTotalLookupMs = Date.now() - knownTotalLookupStartedAt;
|
|
276
301
|
let readDurationMs = 0;
|
|
277
302
|
let refreshStateDurationMs = 0;
|
|
303
|
+
let snapshotSyncingMs = 0;
|
|
304
|
+
let snapshotIdleMs = 0;
|
|
305
|
+
const snapshotSyncingStartedAt = Date.now();
|
|
278
306
|
this.upsertSnapshot(resolvedSessionId, {
|
|
279
307
|
syncStatus: "syncing",
|
|
280
308
|
syncCursor: current?.syncCursor ?? cursor,
|
|
@@ -283,10 +311,12 @@ export class SessionHistoryService {
|
|
|
283
311
|
lastErrorDetail: current?.lastErrorDetail ?? null,
|
|
284
312
|
resumedAt: current?.resumedAt ?? null
|
|
285
313
|
});
|
|
314
|
+
snapshotSyncingMs = Date.now() - snapshotSyncingStartedAt;
|
|
286
315
|
try {
|
|
287
316
|
const readStartedAt = Date.now();
|
|
288
317
|
const page = await this.readPage(resolvedSessionId, binding.provider, binding.providerSessionId, binding.rawStoreRef, cursor, safeLimit, direction, knownTotalMessageCount);
|
|
289
318
|
readDurationMs = Date.now() - readStartedAt;
|
|
319
|
+
const snapshotIdleStartedAt = Date.now();
|
|
290
320
|
this.upsertSnapshot(resolvedSessionId, {
|
|
291
321
|
syncStatus: "idle",
|
|
292
322
|
syncCursor: direction === "backward" && cursor !== null
|
|
@@ -297,6 +327,7 @@ export class SessionHistoryService {
|
|
|
297
327
|
lastErrorDetail: current?.lastErrorDetail ?? null,
|
|
298
328
|
resumedAt: current?.resumedAt ?? null
|
|
299
329
|
});
|
|
330
|
+
snapshotIdleMs = Date.now() - snapshotIdleStartedAt;
|
|
300
331
|
logPerformance("session.read_history", Date.now() - startedAt, {
|
|
301
332
|
sessionId: resolvedSessionId,
|
|
302
333
|
requestedSessionId: sessionId,
|
|
@@ -306,10 +337,17 @@ export class SessionHistoryService {
|
|
|
306
337
|
hasCursor: cursor !== null,
|
|
307
338
|
messageCount: page.messages.length,
|
|
308
339
|
total: page.total,
|
|
340
|
+
resolveSessionIdMs,
|
|
341
|
+
bindingLookupMs,
|
|
342
|
+
repairBindingMs,
|
|
343
|
+
knownTotalLookupMs,
|
|
344
|
+
snapshotSyncingMs,
|
|
345
|
+
snapshotIdleMs,
|
|
309
346
|
readMs: readDurationMs,
|
|
310
347
|
refreshStateMs: refreshStateDurationMs
|
|
311
348
|
}, {
|
|
312
|
-
thresholdMs:
|
|
349
|
+
thresholdMs: 0,
|
|
350
|
+
force: true
|
|
313
351
|
});
|
|
314
352
|
return page;
|
|
315
353
|
}
|
|
@@ -321,6 +359,12 @@ export class SessionHistoryService {
|
|
|
321
359
|
direction,
|
|
322
360
|
limit: safeLimit,
|
|
323
361
|
hasCursor: cursor !== null,
|
|
362
|
+
resolveSessionIdMs,
|
|
363
|
+
bindingLookupMs,
|
|
364
|
+
repairBindingMs,
|
|
365
|
+
knownTotalLookupMs,
|
|
366
|
+
snapshotSyncingMs,
|
|
367
|
+
snapshotIdleMs,
|
|
324
368
|
readMs: readDurationMs,
|
|
325
369
|
refreshStateMs: refreshStateDurationMs,
|
|
326
370
|
error: error instanceof Error ? error.message : "unknown"
|
|
@@ -393,9 +437,11 @@ export class SessionHistoryService {
|
|
|
393
437
|
return this.sessionChangedFileService.listBySessionId(sessionId);
|
|
394
438
|
}
|
|
395
439
|
listWorkspaceSessions(workspaceId, userId) {
|
|
396
|
-
|
|
440
|
+
const directItems = this.sessionIndexRepository
|
|
397
441
|
.listByWorkspace(workspaceId, userId)
|
|
398
|
-
.filter((item) => !this.isPendingSessionAlias(item))
|
|
442
|
+
.filter((item) => !this.isPendingSessionAlias(item));
|
|
443
|
+
const projectedItems = this.listProjectedIsolatedWorkspaceSessions(workspaceId, userId);
|
|
444
|
+
return this.enrichSessionItems(workspaceId, sortSessionListItemsByRecentActivity(mergeSessionListItemsBySessionId([...directItems, ...projectedItems])));
|
|
399
445
|
}
|
|
400
446
|
getProviderCapabilitiesSnapshot(provider) {
|
|
401
447
|
try {
|
|
@@ -628,7 +674,8 @@ export class SessionHistoryService {
|
|
|
628
674
|
}
|
|
629
675
|
async forkSession(input) {
|
|
630
676
|
const binding = this.getBindingOrThrow(input.sessionId);
|
|
631
|
-
const
|
|
677
|
+
const targetWorkspaceId = input.targetWorkspaceId?.trim() || binding.workspaceId;
|
|
678
|
+
const workspace = this.getWorkspaceOrThrow(targetWorkspaceId);
|
|
632
679
|
const targetProvider = input.targetProvider?.trim() || binding.provider;
|
|
633
680
|
this.assertProviderCapabilityEnabled(targetProvider, "canStartSession", "当前 provider 不支持 fork 创建会话");
|
|
634
681
|
const sourceMessageId = input.sourceType === "message"
|
|
@@ -756,7 +803,7 @@ export class SessionHistoryService {
|
|
|
756
803
|
messages: reconstructedMessages
|
|
757
804
|
});
|
|
758
805
|
const startedSession = await this.startSessionDirect({
|
|
759
|
-
workspaceId: sourceBinding.workspaceId,
|
|
806
|
+
workspaceId: input.targetWorkspaceId?.trim() || sourceBinding.workspaceId,
|
|
760
807
|
userId: input.userId,
|
|
761
808
|
provider: input.targetProvider,
|
|
762
809
|
initialPrompt: inheritedPrompt,
|
|
@@ -794,7 +841,7 @@ export class SessionHistoryService {
|
|
|
794
841
|
createdAt: timestamp
|
|
795
842
|
});
|
|
796
843
|
})();
|
|
797
|
-
const relationMap = this.workspaceSessionRelations.get(sourceBinding.workspaceId)
|
|
844
|
+
const relationMap = this.workspaceSessionRelations.get(input.targetWorkspaceId?.trim() || sourceBinding.workspaceId)
|
|
798
845
|
?? new Map();
|
|
799
846
|
relationMap.set(startedSession.sessionId, {
|
|
800
847
|
parentSessionId: input.sessionId,
|
|
@@ -804,7 +851,7 @@ export class SessionHistoryService {
|
|
|
804
851
|
isSubagent: startedSession.isSubagent ?? false,
|
|
805
852
|
subagentLabel: startedSession.subagentLabel ?? null
|
|
806
853
|
});
|
|
807
|
-
this.workspaceSessionRelations.set(sourceBinding.workspaceId, relationMap);
|
|
854
|
+
this.workspaceSessionRelations.set(input.targetWorkspaceId?.trim() || sourceBinding.workspaceId, relationMap);
|
|
808
855
|
return this.getSessionListItemOrThrow(startedSession.sessionId, input.userId);
|
|
809
856
|
}
|
|
810
857
|
async readForkSourceMessages(sessionId, binding, sourceType, sourceMessageId, sourceMessageSnapshot = null) {
|
|
@@ -1095,7 +1142,10 @@ export class SessionHistoryService {
|
|
|
1095
1142
|
async deleteSession(sessionId, userId) {
|
|
1096
1143
|
const binding = this.getBindingOrThrow(sessionId);
|
|
1097
1144
|
const existing = this.getSessionListItemOrThrow(sessionId, userId);
|
|
1098
|
-
|
|
1145
|
+
const resolvedExisting = existing.runningState === "starting" || existing.runningState === "running"
|
|
1146
|
+
? await this.refreshRuntimeFallbackSession(sessionId, userId).catch(() => existing)
|
|
1147
|
+
: existing;
|
|
1148
|
+
if (resolvedExisting.runningState === "starting" || resolvedExisting.runningState === "running") {
|
|
1099
1149
|
throw new AppError({
|
|
1100
1150
|
statusCode: 409,
|
|
1101
1151
|
errorCode: "SESSION_DELETE_RUNNING",
|
|
@@ -1685,13 +1735,14 @@ export class SessionHistoryService {
|
|
|
1685
1735
|
}
|
|
1686
1736
|
enrichSessionItems(workspaceId, items) {
|
|
1687
1737
|
const relationMap = this.workspaceSessionRelations.get(workspaceId);
|
|
1738
|
+
const projectionBySessionId = this.buildParallelProjectionBySessionId(items);
|
|
1688
1739
|
if (!relationMap) {
|
|
1689
|
-
return items.map((item) => this.enrichSessionItem(item));
|
|
1740
|
+
return items.map((item) => this.enrichSessionItem(item, projectionBySessionId.get(item.sessionId)));
|
|
1690
1741
|
}
|
|
1691
1742
|
return items.map((item) => {
|
|
1692
1743
|
const relation = relationMap.get(item.sessionId);
|
|
1693
1744
|
if (!relation) {
|
|
1694
|
-
return this.enrichSessionItem(item);
|
|
1745
|
+
return this.enrichSessionItem(item, projectionBySessionId.get(item.sessionId));
|
|
1695
1746
|
}
|
|
1696
1747
|
return this.enrichSessionItem({
|
|
1697
1748
|
...item,
|
|
@@ -1701,10 +1752,12 @@ export class SessionHistoryService {
|
|
|
1701
1752
|
annotationSourceText: relation.annotationSourceText,
|
|
1702
1753
|
isSubagent: relation.isSubagent,
|
|
1703
1754
|
subagentLabel: relation.subagentLabel
|
|
1704
|
-
});
|
|
1755
|
+
}, projectionBySessionId.get(item.sessionId));
|
|
1705
1756
|
});
|
|
1706
1757
|
}
|
|
1707
|
-
enrichSessionItem(item) {
|
|
1758
|
+
enrichSessionItem(item, projection) {
|
|
1759
|
+
const resolvedProjection = projection
|
|
1760
|
+
?? this.buildParallelProjectionBySessionId([item]).get(item.sessionId);
|
|
1708
1761
|
const relation = this.workspaceSessionRelations.get(item.workspaceId)?.get(item.sessionId);
|
|
1709
1762
|
const nextItem = relation
|
|
1710
1763
|
? {
|
|
@@ -1726,7 +1779,90 @@ export class SessionHistoryService {
|
|
|
1726
1779
|
subagentLabel: item.subagentLabel ?? null
|
|
1727
1780
|
};
|
|
1728
1781
|
const resolution = this.sessionActivityAuthorityService.resolvePersistedSession(nextItem);
|
|
1729
|
-
return applySessionActivityResolution(
|
|
1782
|
+
return applySessionActivityResolution({
|
|
1783
|
+
...nextItem,
|
|
1784
|
+
parallelGroup: resolvedProjection?.parallelGroup ?? null,
|
|
1785
|
+
displayParentSessionId: resolvedProjection?.displayParentSessionId ?? null,
|
|
1786
|
+
sessionIsolatedWorkspace: resolvedProjection?.sessionIsolatedWorkspace ?? null
|
|
1787
|
+
}, resolution);
|
|
1788
|
+
}
|
|
1789
|
+
buildParallelProjectionBySessionId(items) {
|
|
1790
|
+
const projectionBySessionId = new Map();
|
|
1791
|
+
if (!this.parallelSessionGroupRepository
|
|
1792
|
+
|| !this.parallelSessionMemberRepository
|
|
1793
|
+
|| !this.sessionIsolatedWorkspaceRepository
|
|
1794
|
+
|| items.length === 0) {
|
|
1795
|
+
return projectionBySessionId;
|
|
1796
|
+
}
|
|
1797
|
+
const sessionIds = items.map((item) => item.sessionId);
|
|
1798
|
+
const members = this.parallelSessionMemberRepository
|
|
1799
|
+
.listBySessionIds(sessionIds)
|
|
1800
|
+
.filter((member) => member.deletedAt === null);
|
|
1801
|
+
if (members.length === 0) {
|
|
1802
|
+
return projectionBySessionId;
|
|
1803
|
+
}
|
|
1804
|
+
const groupIds = [...new Set(members.map((member) => member.groupId))];
|
|
1805
|
+
const groups = this.parallelSessionGroupRepository
|
|
1806
|
+
.listByIds(groupIds)
|
|
1807
|
+
.filter((group) => group.status !== "deleted");
|
|
1808
|
+
const groupById = new Map(groups.map((group) => [group.id, group]));
|
|
1809
|
+
const activeMembersByGroupId = new Map();
|
|
1810
|
+
for (const member of this.parallelSessionMemberRepository.listByGroupIds(groupIds)) {
|
|
1811
|
+
if (member.deletedAt !== null) {
|
|
1812
|
+
continue;
|
|
1813
|
+
}
|
|
1814
|
+
const groupMembers = activeMembersByGroupId.get(member.groupId) ?? [];
|
|
1815
|
+
groupMembers.push(member);
|
|
1816
|
+
activeMembersByGroupId.set(member.groupId, groupMembers);
|
|
1817
|
+
}
|
|
1818
|
+
const isolatedWorkspaceBySessionId = new Map(this.sessionIsolatedWorkspaceRepository
|
|
1819
|
+
.listByOwnerSessionIds(sessionIds)
|
|
1820
|
+
.map((record) => [record.ownerSessionId, record]));
|
|
1821
|
+
for (const member of members) {
|
|
1822
|
+
const group = groupById.get(member.groupId);
|
|
1823
|
+
if (!group) {
|
|
1824
|
+
continue;
|
|
1825
|
+
}
|
|
1826
|
+
const activeMembers = activeMembersByGroupId.get(member.groupId) ?? [member];
|
|
1827
|
+
const isolatedWorkspace = isolatedWorkspaceBySessionId.get(member.sessionId) ?? null;
|
|
1828
|
+
projectionBySessionId.set(member.sessionId, {
|
|
1829
|
+
parallelGroup: {
|
|
1830
|
+
groupId: group.id,
|
|
1831
|
+
role: member.sessionId === group.anchorSessionId ? "anchor" : "member",
|
|
1832
|
+
memberCount: activeMembers.length,
|
|
1833
|
+
sourceType: group.sourceType,
|
|
1834
|
+
sourceSessionId: group.sourceSessionId,
|
|
1835
|
+
anchorSessionId: group.anchorSessionId,
|
|
1836
|
+
colorToken: buildParallelGroupColorToken(group.id)
|
|
1837
|
+
},
|
|
1838
|
+
displayParentSessionId: resolveParallelDisplayParentSessionId(group, member),
|
|
1839
|
+
sessionIsolatedWorkspace: isolatedWorkspace
|
|
1840
|
+
? {
|
|
1841
|
+
id: isolatedWorkspace.id,
|
|
1842
|
+
workspaceId: isolatedWorkspace.workspaceId,
|
|
1843
|
+
sourceWorkspaceId: isolatedWorkspace.sourceWorkspaceId,
|
|
1844
|
+
branchName: isolatedWorkspace.branchName,
|
|
1845
|
+
lifecycleStatus: isolatedWorkspace.lifecycleStatus,
|
|
1846
|
+
promotedAt: isolatedWorkspace.promotedAt,
|
|
1847
|
+
createdAt: isolatedWorkspace.createdAt,
|
|
1848
|
+
updatedAt: isolatedWorkspace.updatedAt
|
|
1849
|
+
}
|
|
1850
|
+
: null
|
|
1851
|
+
});
|
|
1852
|
+
}
|
|
1853
|
+
return projectionBySessionId;
|
|
1854
|
+
}
|
|
1855
|
+
listProjectedIsolatedWorkspaceSessions(workspaceId, userId) {
|
|
1856
|
+
if (!this.sessionIsolatedWorkspaceRepository) {
|
|
1857
|
+
return [];
|
|
1858
|
+
}
|
|
1859
|
+
return this.sessionIsolatedWorkspaceRepository
|
|
1860
|
+
.listBySourceWorkspaceId(workspaceId)
|
|
1861
|
+
.filter((record) => record.lifecycleStatus === "active"
|
|
1862
|
+
|| record.lifecycleStatus === "removing")
|
|
1863
|
+
.map((record) => this.sessionIndexRepository.findBySessionId(record.ownerSessionId, userId))
|
|
1864
|
+
.filter((item) => Boolean(item))
|
|
1865
|
+
.filter((item) => !this.isPendingSessionAlias(item));
|
|
1730
1866
|
}
|
|
1731
1867
|
async pullSessionHistory(sessionId, cursor, limit, deliveredMessages, onEnvelope, envelopeType, isClosed = () => false) {
|
|
1732
1868
|
let currentCursor = cursor;
|
|
@@ -2619,15 +2755,40 @@ export class SessionHistoryService {
|
|
|
2619
2755
|
}
|
|
2620
2756
|
async repairCodexDirtyBindingBeforeHistoryRead(sessionId, userId, binding) {
|
|
2621
2757
|
if (!shouldRepairCodexDirtyBinding(binding)) {
|
|
2758
|
+
this.codexDirtyBindingRepairStates.delete(sessionId);
|
|
2622
2759
|
return binding;
|
|
2623
2760
|
}
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
}
|
|
2628
|
-
|
|
2761
|
+
const existingState = this.codexDirtyBindingRepairStates.get(sessionId);
|
|
2762
|
+
if (existingState?.promise) {
|
|
2763
|
+
return existingState.promise;
|
|
2764
|
+
}
|
|
2765
|
+
const now = Date.now();
|
|
2766
|
+
if (existingState &&
|
|
2767
|
+
now - existingState.lastAttemptedAt < CODEX_DIRTY_BINDING_REPAIR_COOLDOWN_MS) {
|
|
2768
|
+
return this.getBindingOrThrow(sessionId);
|
|
2769
|
+
}
|
|
2770
|
+
const repairPromise = (async () => {
|
|
2771
|
+
await this.discoverWorkspaceSessions(binding.workspaceId, userId, {
|
|
2772
|
+
force: true,
|
|
2773
|
+
refreshStateMode: "deferred"
|
|
2774
|
+
}).catch(() => {
|
|
2775
|
+
return [];
|
|
2776
|
+
});
|
|
2777
|
+
return this.getBindingOrThrow(sessionId);
|
|
2778
|
+
})();
|
|
2779
|
+
this.codexDirtyBindingRepairStates.set(sessionId, {
|
|
2780
|
+
promise: repairPromise,
|
|
2781
|
+
lastAttemptedAt: now
|
|
2782
|
+
});
|
|
2783
|
+
return repairPromise.finally(() => {
|
|
2784
|
+
const currentState = this.codexDirtyBindingRepairStates.get(sessionId);
|
|
2785
|
+
if (!currentState || currentState.promise !== repairPromise) {
|
|
2786
|
+
return;
|
|
2787
|
+
}
|
|
2788
|
+
currentState.promise = null;
|
|
2789
|
+
currentState.lastAttemptedAt = Date.now();
|
|
2790
|
+
this.codexDirtyBindingRepairStates.set(sessionId, currentState);
|
|
2629
2791
|
});
|
|
2630
|
-
return this.getBindingOrThrow(sessionId);
|
|
2631
2792
|
}
|
|
2632
2793
|
resolveLiveActivityObservation(sessionId) {
|
|
2633
2794
|
for (const resolver of this.liveActivityObservationResolvers) {
|
|
@@ -3234,7 +3395,7 @@ function createDeliveredHistoryMessageState() {
|
|
|
3234
3395
|
};
|
|
3235
3396
|
}
|
|
3236
3397
|
function shouldRefreshMutableHistoryTail(provider, page, cursor, deliveredMessages) {
|
|
3237
|
-
if (provider
|
|
3398
|
+
if (!MUTABLE_HISTORY_TAIL_PROVIDERS.has(provider) || cursor === null || page.messages.length > 0) {
|
|
3238
3399
|
return false;
|
|
3239
3400
|
}
|
|
3240
3401
|
return Date.now() - deliveredMessages.lastMutableTailRefreshAtMs >= MUTABLE_HISTORY_TAIL_REFRESH_INTERVAL_MS;
|
|
@@ -3490,6 +3651,11 @@ function shouldPreserveRuntimeTerminalState(current, inspection) {
|
|
|
3490
3651
|
return inspection.lastEventAt.localeCompare(current.lastEventAt) <= 0;
|
|
3491
3652
|
}
|
|
3492
3653
|
if (current.runningState === "starting" || current.runningState === "running") {
|
|
3654
|
+
if (inspection.completedAtCandidate
|
|
3655
|
+
|| inspection.errorCode
|
|
3656
|
+
|| inspection.runningState === "interrupted") {
|
|
3657
|
+
return false;
|
|
3658
|
+
}
|
|
3493
3659
|
return inspection.lastEventAt.localeCompare(current.lastEventAt) <= 0;
|
|
3494
3660
|
}
|
|
3495
3661
|
return false;
|
|
@@ -3717,6 +3883,23 @@ async function runBatchedTransactions(items, batchSize, transaction, logOptions)
|
|
|
3717
3883
|
maxBatchMs
|
|
3718
3884
|
};
|
|
3719
3885
|
}
|
|
3886
|
+
function mergeSessionListItemsBySessionId(items) {
|
|
3887
|
+
const itemBySessionId = new Map();
|
|
3888
|
+
for (const item of items) {
|
|
3889
|
+
itemBySessionId.set(item.sessionId, item);
|
|
3890
|
+
}
|
|
3891
|
+
return [...itemBySessionId.values()];
|
|
3892
|
+
}
|
|
3893
|
+
function sortSessionListItemsByRecentActivity(items) {
|
|
3894
|
+
return [...items].sort((left, right) => {
|
|
3895
|
+
const leftPrimary = left.lastMessageAt ?? left.updatedAt;
|
|
3896
|
+
const rightPrimary = right.lastMessageAt ?? right.updatedAt;
|
|
3897
|
+
if (leftPrimary !== rightPrimary) {
|
|
3898
|
+
return rightPrimary.localeCompare(leftPrimary);
|
|
3899
|
+
}
|
|
3900
|
+
return right.updatedAt.localeCompare(left.updatedAt);
|
|
3901
|
+
});
|
|
3902
|
+
}
|
|
3720
3903
|
function applyImmediateModelOptionFallbacks(capabilities, codexSnapshot, openCodeSnapshot) {
|
|
3721
3904
|
if (capabilities.provider === "codex") {
|
|
3722
3905
|
return {
|