@jingyi0605/codingns 0.9.8 → 1.0.0-beta.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 +14 -0
- package/dist/public/assets/{AdaptiveButlerPage-D-gXre7Y.js → AdaptiveButlerPage-BYETYaIe.js} +2 -2
- package/dist/public/assets/App-CHsm-VrM.js +30 -0
- package/dist/public/assets/App-Z0Zd7gXR.css +1 -0
- package/dist/public/assets/{BootstrapPage-B-yMdfpQ.js → BootstrapPage-Bp0KfySv.js} +1 -1
- package/dist/public/assets/ConversationPage-BCrNml1k.js +9 -0
- package/dist/public/assets/{DesktopDetachPreviewPage-D1DMaGcy.js → DesktopDetachPreviewPage-DlDSb_tf.js} +1 -1
- package/dist/public/assets/{DesktopModal-BnfGW2gk.js → DesktopModal-Csj5AdAN.js} +1 -1
- package/dist/public/assets/DesktopWindowPage-CacXiWjV.js +2 -0
- package/dist/public/assets/FileContextPanel-DzMUQvE5.js +1 -0
- package/dist/public/assets/GitSidebar-C8IC18GH.js +6 -0
- package/dist/public/assets/MobileCreateSessionSheet-BtqR_hKc.js +1 -0
- package/dist/public/assets/{MobileSheet-rkn_CUOY.js → MobileSheet-Co-qPMBD.js} +1 -1
- package/dist/public/assets/PluginAccessOverview-D-KXkcyj.js +1 -0
- package/dist/public/assets/{PluginContainerPage-D-ly3i3H.js → PluginContainerPage-BKwCIs4r.js} +1 -1
- package/dist/public/assets/{PluginDetailPage-CWAHYyyG.js → PluginDetailPage-Djv_swcO.js} +1 -1
- package/dist/public/assets/{PluginsListPage-Cte3vBgR.js → PluginsListPage-DAECNoN6.js} +1 -1
- package/dist/public/assets/PureConversationPage-DP1X7Hix.js +1 -0
- package/dist/public/assets/{RelayConnectEntryPage-sRJlstx9.js → RelayConnectEntryPage-xL_IPH8a.js} +1 -1
- package/dist/public/assets/{ServerSettingsModal-BBft9KEC.js → ServerSettingsModal-CyhMgk10.js} +1 -1
- package/dist/public/assets/SessionIndexPage-CVEz50tc.js +1 -0
- package/dist/public/assets/SettingsPage-CQNCrgaj.js +2 -0
- package/dist/public/assets/TerminalManagerPanel-wVnoRA8u.js +1 -0
- package/dist/public/assets/ToolFilesPage-BospXumK.js +1 -0
- package/dist/public/assets/ToolGitPage-B2zOeCAD.js +1 -0
- package/dist/public/assets/ToolProcessesPage-BDShao4b.js +1 -0
- package/dist/public/assets/{ToolsHomePage-D1n4FU1s.js → ToolsHomePage-s4zH7D9M.js} +1 -1
- package/dist/public/assets/{WorkbenchLandingPage-BaU_dXls.js → WorkbenchLandingPage-D51QCU_u.js} +1 -1
- package/dist/public/assets/{WorkbenchLayout-BksVkkFF.css → WorkbenchLayout-BZdfVest.css} +32 -1
- package/dist/public/assets/WorkbenchLayout-Bo2BbMY6.js +1081 -0
- package/dist/public/assets/{WorkbenchModal-DWsNm2B2.js → WorkbenchModal-YsyEdJ_m.js} +1 -1
- package/dist/public/assets/WorkbenchShellRoute-D3l4aWJS.js +1 -0
- package/dist/public/assets/WorkbenchShellRoute-D5fnyF8z.css +1 -0
- package/dist/public/assets/WorkspaceDebugDetailPage-CMjNLqFq.js +1 -0
- package/dist/public/assets/WorkspaceDetailPage-CKxTbPKh.js +1 -0
- package/dist/public/assets/WorkspaceHomePage-CEy4ShCu.js +1 -0
- package/dist/public/assets/{client-runtime-manager-D9VbgJZ_.js → client-runtime-manager-BFXU9DmS.js} +1 -1
- package/dist/public/assets/host-alias-Zb2xyVrf.js +1 -0
- package/dist/public/assets/index-BilHJjYU.js +50 -0
- package/dist/public/assets/index-OR7OITpQ.css +1 -0
- package/dist/public/assets/{login-direct-candidate-resolver-17wEvjhh.js → login-direct-candidate-resolver-DL8DS-Si.js} +1 -1
- package/dist/public/assets/peer-host-config-sync-d2ZcPC5P.js +1 -0
- package/dist/public/assets/{plugin-permission-copy-apDn8EWG.js → plugin-permission-copy-DrLk22m5.js} +1 -1
- package/dist/public/assets/{plugins-api-CnZYRKoS.js → plugins-api-COF4oh24.js} +1 -1
- package/dist/public/assets/{preferences-service-PZlLLAWH.js → preferences-service-CEWNV1w9.js} +1 -1
- package/dist/public/assets/{relay-entry-DhHwflXl.js → relay-entry-Cmc8vTlE.js} +1 -1
- package/dist/public/assets/useRegisteredDebugTemplates-FdmHG2S4.js +1 -0
- package/dist/public/assets/workbench-navigation-ED0157V-.js +1 -0
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.js +5 -3
- package/dist/server/config/env.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +3 -0
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js +9 -0
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +3 -0
- package/dist/server/modules/assistant-capability/assistant-capability-service.js +4 -1
- package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-service.d.ts +1 -0
- package/dist/server/modules/butler/butler-session-service.js +2 -1
- package/dist/server/modules/butler/butler-session-service.js.map +1 -1
- package/dist/server/modules/client/npm-global-package-service.js +3 -0
- package/dist/server/modules/client/npm-global-package-service.js.map +1 -1
- package/dist/server/modules/client/service-update-types.d.ts +3 -0
- package/dist/server/modules/peer-host/peer-host-controller.d.ts +5 -0
- package/dist/server/modules/peer-host/peer-host-controller.js +3 -0
- package/dist/server/modules/peer-host/peer-host-controller.js.map +1 -1
- package/dist/server/modules/peer-host/peer-host-service.d.ts +1 -0
- package/dist/server/modules/peer-host/peer-host-service.js +44 -0
- package/dist/server/modules/peer-host/peer-host-service.js.map +1 -1
- package/dist/server/modules/sessions/session-controller.d.ts +10 -0
- package/dist/server/modules/sessions/session-controller.js +11 -0
- package/dist/server/modules/sessions/session-controller.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +43 -1
- package/dist/server/modules/sessions/session-history-service.js +362 -27
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/tasks/observability-controller.d.ts +2 -0
- package/dist/server/modules/tasks/observability-controller.js +16 -1
- package/dist/server/modules/tasks/observability-controller.js.map +1 -1
- package/dist/server/modules/tasks/observability-service.d.ts +12 -2
- package/dist/server/modules/tasks/observability-service.js +16 -3
- package/dist/server/modules/tasks/observability-service.js.map +1 -1
- package/dist/server/modules/terminal/runtime/terminal-log-spooler.d.ts +5 -0
- package/dist/server/modules/terminal/runtime/terminal-log-spooler.js +54 -7
- package/dist/server/modules/terminal/runtime/terminal-log-spooler.js.map +1 -1
- package/dist/server/modules/workbench/affairs-assistant-session-snapshot-service.js +2 -1
- package/dist/server/modules/workbench/affairs-assistant-session-snapshot-service.js.map +1 -1
- package/dist/server/modules/workbench/workbench-service.d.ts +2 -0
- package/dist/server/modules/workbench/workbench-service.js +173 -20
- package/dist/server/modules/workbench/workbench-service.js.map +1 -1
- package/dist/server/modules/workspace/affairs-library-controller.d.ts +1 -0
- package/dist/server/modules/workspace/affairs-library-controller.js +3 -0
- package/dist/server/modules/workspace/affairs-library-controller.js.map +1 -1
- package/dist/server/modules/workspace/affairs-library-service.d.ts +4 -0
- package/dist/server/modules/workspace/affairs-library-service.js +23 -4
- package/dist/server/modules/workspace/affairs-library-service.js.map +1 -1
- package/dist/server/modules/workspace/affairs-lightweight-session-controller.d.ts +4 -0
- package/dist/server/modules/workspace/affairs-lightweight-session-controller.js +26 -0
- package/dist/server/modules/workspace/affairs-lightweight-session-controller.js.map +1 -1
- package/dist/server/modules/workspace/affairs-lightweight-session-service.d.ts +15 -1
- package/dist/server/modules/workspace/affairs-lightweight-session-service.js +201 -22
- package/dist/server/modules/workspace/affairs-lightweight-session-service.js.map +1 -1
- package/dist/server/modules/workspace/workspace-controller.d.ts +7 -1
- package/dist/server/modules/workspace/workspace-controller.js +11 -1
- package/dist/server/modules/workspace/workspace-controller.js.map +1 -1
- package/dist/server/modules/workspace/workspace-service.d.ts +9 -2
- package/dist/server/modules/workspace/workspace-service.js +45 -10
- package/dist/server/modules/workspace/workspace-service.js.map +1 -1
- package/dist/server/routes/affairs.js +4 -0
- package/dist/server/routes/affairs.js.map +1 -1
- package/dist/server/routes/peer-hosts.js +1 -0
- package/dist/server/routes/peer-hosts.js.map +1 -1
- package/dist/server/routes/sessions.js +2 -0
- package/dist/server/routes/sessions.js.map +1 -1
- package/dist/server/server/create-server.js +2 -2
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/storage/repositories/session-discovery-diagnostics-repository.d.ts +10 -0
- package/dist/server/storage/repositories/session-discovery-diagnostics-repository.js +68 -0
- package/dist/server/storage/repositories/session-discovery-diagnostics-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-source-index-repository.d.ts +14 -0
- package/dist/server/storage/repositories/session-source-index-repository.js +164 -0
- package/dist/server/storage/repositories/session-source-index-repository.js.map +1 -0
- package/dist/server/storage/repositories/workspace-navigation-state-repository.js +16 -7
- package/dist/server/storage/repositories/workspace-navigation-state-repository.js.map +1 -1
- package/dist/server/storage/sqlite/client.js +26 -0
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +57 -0
- package/dist/server/types/domain.d.ts +45 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js +19 -2
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.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 +45 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +11 -4
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
- package/package.json +3 -2
- package/scripts/node22-runtime.mjs +176 -0
- package/scripts/postinstall.mjs +6 -0
- package/dist/public/assets/App-7zrCMhE-.css +0 -1
- package/dist/public/assets/App-Dl-mcdqy.js +0 -30
- package/dist/public/assets/ConversationPage-DRQ5Sg_d.js +0 -9
- package/dist/public/assets/DesktopWindowPage-2SWAi0xz.js +0 -2
- package/dist/public/assets/FileContextPanel-fbPuE9dO.js +0 -1
- package/dist/public/assets/GitSidebar-BkmesJJR.js +0 -6
- package/dist/public/assets/MobileCreateSessionSheet-CEJcDBZJ.js +0 -1
- package/dist/public/assets/MobileTopHeaderFrame-CU0wsYSS.js +0 -1
- package/dist/public/assets/MobileWorkspaceSwitcherHeader-idl8o1OB.js +0 -1
- package/dist/public/assets/PluginAccessOverview-BBgM6tb0.js +0 -1
- package/dist/public/assets/SessionIndexPage-CN7cEdl9.js +0 -1
- package/dist/public/assets/SettingsPage-BGT-YqG2.js +0 -2
- package/dist/public/assets/TerminalManagerPanel-6-ZJ8vGn.js +0 -1
- package/dist/public/assets/TerminalPage-6GBZ9nXN.css +0 -32
- package/dist/public/assets/TerminalPage-CUXXQYU2.js +0 -55
- package/dist/public/assets/TerminalRuntimeFallbackModal-zc3qqMKJ.js +0 -1
- package/dist/public/assets/ToolFilesPage-QzsZyr0F.js +0 -1
- package/dist/public/assets/ToolGitPage-CXg4ncuT.js +0 -1
- package/dist/public/assets/ToolProcessesPage-BPsOsg4w.js +0 -1
- package/dist/public/assets/WorkbenchLayout-DViAJhHz.js +0 -1027
- package/dist/public/assets/WorkbenchShellRoute-BGfRqBUa.js +0 -1
- package/dist/public/assets/WorkbenchShellRoute-f2jWjHWu.css +0 -1
- package/dist/public/assets/WorkspaceDebugDetailPage-BX0zVSsI.js +0 -1
- package/dist/public/assets/WorkspaceDetailPage-Dx6JX4jx.js +0 -1
- package/dist/public/assets/WorkspaceHomePage-DQVJ042Z.js +0 -1
- package/dist/public/assets/host-alias-0TfFnYxR.js +0 -1
- package/dist/public/assets/index-DREvg1Yu.css +0 -1
- package/dist/public/assets/index-FOhyOpGY.js +0 -50
- package/dist/public/assets/peer-host-config-sync-vYkmqzNz.js +0 -1
- package/dist/public/assets/terminal-runtime-meta-2zvacxvM.js +0 -1
- package/dist/public/assets/useRegisteredDebugTemplates-CJ-o4tFl.js +0 -1
- package/dist/public/assets/workbench-navigation-aqJ1ay4M.js +0 -1
|
@@ -193,6 +193,9 @@ CREATE TABLE IF NOT EXISTS workspace_navigation_states (
|
|
|
193
193
|
user_id TEXT NOT NULL,
|
|
194
194
|
collapsed INTEGER NOT NULL DEFAULT 0 CHECK (collapsed IN (0, 1)),
|
|
195
195
|
background_color TEXT,
|
|
196
|
+
hidden INTEGER NOT NULL DEFAULT 0 CHECK (hidden IN (0, 1)),
|
|
197
|
+
shortcut_apps_collapsed INTEGER NOT NULL DEFAULT 0 CHECK (shortcut_apps_collapsed IN (0, 1)),
|
|
198
|
+
shortcut_apps_side TEXT NOT NULL DEFAULT 'left' CHECK (shortcut_apps_side IN ('left', 'right')),
|
|
196
199
|
affairs_library_root_path TEXT,
|
|
197
200
|
affairs_library_enabled INTEGER NOT NULL DEFAULT 0 CHECK (affairs_library_enabled IN (0, 1)),
|
|
198
201
|
affairs_library_favorites_json TEXT,
|
|
@@ -879,6 +882,60 @@ CREATE TABLE IF NOT EXISTS session_status_snapshots (
|
|
|
879
882
|
FOREIGN KEY (session_id) REFERENCES session_bindings(session_id)
|
|
880
883
|
);
|
|
881
884
|
|
|
885
|
+
CREATE TABLE IF NOT EXISTS session_source_index (
|
|
886
|
+
source_key TEXT PRIMARY KEY,
|
|
887
|
+
provider TEXT NOT NULL,
|
|
888
|
+
source_kind TEXT NOT NULL CHECK (source_kind IN ('jsonl', 'sqlite_row', 'server_session', 'index_entry')),
|
|
889
|
+
workspace_id TEXT,
|
|
890
|
+
provider_session_id TEXT,
|
|
891
|
+
raw_store_ref TEXT,
|
|
892
|
+
workspace_path TEXT,
|
|
893
|
+
fingerprint_mtime_ms INTEGER,
|
|
894
|
+
fingerprint_size_bytes INTEGER,
|
|
895
|
+
fingerprint_inode TEXT,
|
|
896
|
+
fingerprint_version TEXT,
|
|
897
|
+
title TEXT,
|
|
898
|
+
message_count INTEGER,
|
|
899
|
+
last_message_at TEXT,
|
|
900
|
+
is_archived_hint INTEGER CHECK (is_archived_hint IN (0, 1)),
|
|
901
|
+
last_parsed_at TEXT,
|
|
902
|
+
last_verified_at TEXT,
|
|
903
|
+
sample_due_at TEXT,
|
|
904
|
+
deleted_at TEXT,
|
|
905
|
+
created_at TEXT NOT NULL,
|
|
906
|
+
updated_at TEXT NOT NULL,
|
|
907
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id)
|
|
908
|
+
);
|
|
909
|
+
|
|
910
|
+
CREATE INDEX IF NOT EXISTS idx_session_source_index_workspace_id
|
|
911
|
+
ON session_source_index(workspace_id, provider, updated_at DESC);
|
|
912
|
+
CREATE INDEX IF NOT EXISTS idx_session_source_index_provider_session_id
|
|
913
|
+
ON session_source_index(provider, provider_session_id);
|
|
914
|
+
CREATE INDEX IF NOT EXISTS idx_session_source_index_workspace_path
|
|
915
|
+
ON session_source_index(workspace_path, provider, updated_at DESC);
|
|
916
|
+
|
|
917
|
+
CREATE TABLE IF NOT EXISTS session_discovery_diagnostics (
|
|
918
|
+
id TEXT PRIMARY KEY,
|
|
919
|
+
workspace_id TEXT NOT NULL,
|
|
920
|
+
trigger_source TEXT NOT NULL,
|
|
921
|
+
provider TEXT NOT NULL,
|
|
922
|
+
is_complete INTEGER NOT NULL CHECK (is_complete IN (0, 1)),
|
|
923
|
+
status TEXT NOT NULL,
|
|
924
|
+
duration_ms INTEGER NOT NULL,
|
|
925
|
+
session_count INTEGER NOT NULL,
|
|
926
|
+
scanned_files INTEGER NOT NULL,
|
|
927
|
+
skipped_by_fingerprint INTEGER NOT NULL,
|
|
928
|
+
parsed_files INTEGER NOT NULL,
|
|
929
|
+
bytes_read INTEGER NOT NULL,
|
|
930
|
+
created_at TEXT NOT NULL,
|
|
931
|
+
FOREIGN KEY (workspace_id) REFERENCES workspaces(id)
|
|
932
|
+
);
|
|
933
|
+
|
|
934
|
+
CREATE INDEX IF NOT EXISTS idx_session_discovery_diagnostics_workspace_id
|
|
935
|
+
ON session_discovery_diagnostics(workspace_id, created_at DESC);
|
|
936
|
+
CREATE INDEX IF NOT EXISTS idx_session_discovery_diagnostics_provider
|
|
937
|
+
ON session_discovery_diagnostics(provider, created_at DESC);
|
|
938
|
+
|
|
882
939
|
CREATE TABLE IF NOT EXISTS affairs_assistant_session_snapshots (
|
|
883
940
|
workspace_id TEXT NOT NULL,
|
|
884
941
|
user_id TEXT NOT NULL,
|
|
@@ -136,6 +136,9 @@ export interface Workspace {
|
|
|
136
136
|
path: string;
|
|
137
137
|
repoRoot: string | null;
|
|
138
138
|
backgroundColor?: string | null;
|
|
139
|
+
hidden?: boolean;
|
|
140
|
+
shortcutAppsCollapsed?: boolean;
|
|
141
|
+
shortcutAppsSide?: "left" | "right";
|
|
139
142
|
favorite: boolean;
|
|
140
143
|
sortOrder: number;
|
|
141
144
|
createdAt: string;
|
|
@@ -235,6 +238,9 @@ export interface WorkspaceNavigationStateRecord {
|
|
|
235
238
|
userId: string;
|
|
236
239
|
collapsed: boolean;
|
|
237
240
|
backgroundColor: string | null;
|
|
241
|
+
hidden: boolean;
|
|
242
|
+
shortcutAppsCollapsed: boolean;
|
|
243
|
+
shortcutAppsSide: "left" | "right";
|
|
238
244
|
affairsLibraryRootPath?: string | null;
|
|
239
245
|
affairsLibraryEnabled?: boolean;
|
|
240
246
|
affairsLibraryFavoritesJson?: string | null;
|
|
@@ -630,6 +636,45 @@ export interface SessionStatusSnapshot {
|
|
|
630
636
|
resumedAt: string | null;
|
|
631
637
|
updatedAt: string;
|
|
632
638
|
}
|
|
639
|
+
export type SessionSourceKind = "jsonl" | "sqlite_row" | "server_session" | "index_entry";
|
|
640
|
+
export interface SessionSourceIndexRecord {
|
|
641
|
+
sourceKey: string;
|
|
642
|
+
provider: ProviderId;
|
|
643
|
+
sourceKind: SessionSourceKind;
|
|
644
|
+
workspaceId: string | null;
|
|
645
|
+
providerSessionId: string | null;
|
|
646
|
+
rawStoreRef: string | null;
|
|
647
|
+
workspacePath: string | null;
|
|
648
|
+
fingerprintMtimeMs: number | null;
|
|
649
|
+
fingerprintSizeBytes: number | null;
|
|
650
|
+
fingerprintInode: string | null;
|
|
651
|
+
fingerprintVersion: string | null;
|
|
652
|
+
title: string | null;
|
|
653
|
+
messageCount: number | null;
|
|
654
|
+
lastMessageAt: string | null;
|
|
655
|
+
isArchivedHint: boolean | null;
|
|
656
|
+
lastParsedAt: string | null;
|
|
657
|
+
lastVerifiedAt: string | null;
|
|
658
|
+
sampleDueAt: string | null;
|
|
659
|
+
deletedAt: string | null;
|
|
660
|
+
createdAt: string;
|
|
661
|
+
updatedAt: string;
|
|
662
|
+
}
|
|
663
|
+
export interface SessionDiscoveryDiagnosticRecord {
|
|
664
|
+
id: string;
|
|
665
|
+
workspaceId: string;
|
|
666
|
+
triggerSource: string;
|
|
667
|
+
provider: ProviderId;
|
|
668
|
+
isComplete: boolean;
|
|
669
|
+
status: string;
|
|
670
|
+
durationMs: number;
|
|
671
|
+
sessionCount: number;
|
|
672
|
+
scannedFiles: number;
|
|
673
|
+
skippedByFingerprint: number;
|
|
674
|
+
parsedFiles: number;
|
|
675
|
+
bytesRead: number;
|
|
676
|
+
createdAt: string;
|
|
677
|
+
}
|
|
633
678
|
export interface AffairsAssistantSessionSnapshotRecord {
|
|
634
679
|
workspaceId: string;
|
|
635
680
|
userId: string;
|
|
@@ -6,12 +6,16 @@ export const CLAUDE_CODE_SESSION_STORE_PROFILE = {
|
|
|
6
6
|
resolveWorkspaceFiles(homeDir, workspacePath) {
|
|
7
7
|
const projectsRoot = join(homeDir, "projects");
|
|
8
8
|
const exactProjectDir = join(projectsRoot, workspaceSlug(workspacePath));
|
|
9
|
-
const
|
|
9
|
+
const exactFiles = new Set();
|
|
10
10
|
if (existsSync(exactProjectDir)) {
|
|
11
11
|
for (const filePath of walkJsonlFiles(exactProjectDir)) {
|
|
12
|
-
|
|
12
|
+
exactFiles.add(filePath);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
+
if (hasNonEmptyJsonlFiles(exactFiles)) {
|
|
16
|
+
return Array.from(exactFiles);
|
|
17
|
+
}
|
|
18
|
+
const files = new Set(exactFiles);
|
|
15
19
|
// Claude CLI 对非 ASCII 工作区路径会使用自己的目录命名规则。
|
|
16
20
|
// 如果我们只扫自己算出的 exact 目录,中文路径下会被一个空的占位目录挡住,
|
|
17
21
|
// 真实 transcript 反而永远发现不到。
|
|
@@ -38,6 +42,19 @@ export const CLAUDE_CODE_SESSION_STORE_PROFILE = {
|
|
|
38
42
|
return selectBestSessionFile(Array.from(candidates));
|
|
39
43
|
}
|
|
40
44
|
};
|
|
45
|
+
function hasNonEmptyJsonlFiles(files) {
|
|
46
|
+
for (const filePath of files) {
|
|
47
|
+
try {
|
|
48
|
+
if (statSync(filePath).size > 0) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
41
58
|
export function createLegnaSessionStoreProfile(options = {}) {
|
|
42
59
|
const legacyClaudeProjectsDir = options.legacyClaudeHomeDir?.trim()
|
|
43
60
|
? join(options.legacyClaudeHomeDir.trim(), "projects")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-session-store.js","sourceRoot":"","sources":["../../src/providers/claude-session-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAa3D,MAAM,CAAC,MAAM,iCAAiC,GAA8B;IAC1E,qBAAqB,CAAC,OAAO,EAAE,aAAa;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;QACzE,MAAM,
|
|
1
|
+
{"version":3,"file":"claude-session-store.js","sourceRoot":"","sources":["../../src/providers/claude-session-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAa3D,MAAM,CAAC,MAAM,iCAAiC,GAA8B;IAC1E,qBAAqB,CAAC,OAAO,EAAE,aAAa;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;gBACvD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,UAAU,CAAC,CAAC;QAE1C,yCAAyC;QACzC,0CAA0C;QAC1C,0BAA0B;QAC1B,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,sBAAsB,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS;QACtD,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;IACvF,CAAC;IACD,6BAA6B,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS;QAC7D,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,YAAY,SAAS,QAAQ,CAAC,CAAC;IAChG,CAAC;IACD,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS;QAC/C,MAAM,cAAc,GAAG,IAAI,CACzB,OAAO,EACP,UAAU,EACV,aAAa,CAAC,aAAa,CAAC,EAC5B,GAAG,SAAS,QAAQ,CACrB,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,4BAA4B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;YAC5F,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACvD,CAAC;CACF,CAAC;AAEF,SAAS,qBAAqB,CAAC,KAAuB;IACpD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,UAA2C,EAAE;IAE7C,MAAM,uBAAuB,GAC3B,OAAO,CAAC,mBAAmB,EAAE,IAAI,EAAE;QACjC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC;QACtD,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE7C,OAAO;QACL,qBAAqB,CAAC,OAAO,EAAE,aAAa;YAC1C,MAAM,UAAU,GAAG;gBACjB,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC;gBACzC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;gBACvD,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;aAC5D,CAAC;YACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEjD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,OAAO,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,sBAAsB,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS;YACvD,OAAO,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;QACzE,CAAC;QACD,6BAA6B,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS;YAC9D,OAAO,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,SAAS,QAAQ,CAAC,CAAC;QAClF,CAAC;QACD,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS;YAC/C,MAAM,gBAAgB,GAAG;gBACvB,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,SAAS,QAAQ,CAAC;gBAC/D,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,QAAQ,CAAC;gBAC7E,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAC,aAAa,CAAC,EAAE,GAAG,SAAS,QAAQ,CAAC;aAClF,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,CAAC;YAE1E,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1B,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YAED,OAAO,8BAA8B,CACnC,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,uBAAuB,CAAC,EACpD,SAAS,CACV,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAwB;IACjD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,8BAA8B,CACrC,YAA+B,EAC/B,SAAiB;IAEjB,OAAO,qBAAqB,CAAC,4BAA4B,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,4BAA4B,CACnC,YAA+B,EAC/B,SAAiB;IAEjB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACrE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,SAAS,QAAQ,CAAC,CAAC;aACnE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE9C,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,qBAAqB,CAAC,UAA6B;IAC1D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;SACvD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAChG,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAEnG,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC/D,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CACjC,CAAC;IAEF,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACrC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,KAAa;IACtD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IACxC,CAAC;IAED,OAAO,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;AAC9C,CAAC"}
|
|
@@ -67,6 +67,7 @@ export declare class CodexAdapter implements ProviderAdapter {
|
|
|
67
67
|
private mergeAppServerThreadMetadata;
|
|
68
68
|
private mergeAppServerSubagentActivityFromParentThreads;
|
|
69
69
|
private listSessionFiles;
|
|
70
|
+
private listActiveSessionFiles;
|
|
70
71
|
private listArchivedSessionFiles;
|
|
71
72
|
private resolveArchivedSessionCandidate;
|
|
72
73
|
private resolveSessionFilePath;
|
|
@@ -985,10 +985,54 @@ export class CodexAdapter {
|
|
|
985
985
|
}
|
|
986
986
|
}
|
|
987
987
|
listSessionFiles(targetPath, threadMetadataIndex, knownSessions) {
|
|
988
|
-
const activeFiles =
|
|
988
|
+
const activeFiles = this.listActiveSessionFiles(targetPath, threadMetadataIndex, knownSessions);
|
|
989
989
|
const archivedFiles = this.listArchivedSessionFiles(targetPath, threadMetadataIndex, knownSessions);
|
|
990
990
|
return [...activeFiles, ...archivedFiles];
|
|
991
991
|
}
|
|
992
|
+
listActiveSessionFiles(targetPath, threadMetadataIndex, knownSessions) {
|
|
993
|
+
const activeFiles = new Set();
|
|
994
|
+
let hasWorkspaceMetadataWithoutPath = false;
|
|
995
|
+
const targetKnownSessions = knownSessions.filter((session) => session.isArchived !== true
|
|
996
|
+
&& normalizeWorkspacePath(session.workspacePath) === targetPath);
|
|
997
|
+
for (const metadata of threadMetadataIndex.values()) {
|
|
998
|
+
if (metadata.isArchived === true) {
|
|
999
|
+
continue;
|
|
1000
|
+
}
|
|
1001
|
+
if (targetPath.length > 0
|
|
1002
|
+
&& normalizeWorkspacePath(metadata.cwd ?? "") !== targetPath) {
|
|
1003
|
+
continue;
|
|
1004
|
+
}
|
|
1005
|
+
const rolloutPath = ensureText(metadata.rolloutPath).trim();
|
|
1006
|
+
if (!rolloutPath) {
|
|
1007
|
+
hasWorkspaceMetadataWithoutPath = true;
|
|
1008
|
+
continue;
|
|
1009
|
+
}
|
|
1010
|
+
if (!isCodexArchivedFilePath(rolloutPath)) {
|
|
1011
|
+
activeFiles.add(rolloutPath);
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
for (const session of knownSessions) {
|
|
1015
|
+
if (session.isArchived === true
|
|
1016
|
+
|| normalizeWorkspacePath(session.workspacePath) !== targetPath
|
|
1017
|
+
|| isCodexArchivedFilePath(session.rawStoreRef)) {
|
|
1018
|
+
continue;
|
|
1019
|
+
}
|
|
1020
|
+
activeFiles.add(session.rawStoreRef);
|
|
1021
|
+
}
|
|
1022
|
+
const existingFiles = [...activeFiles].filter((filePath) => existsSync(filePath));
|
|
1023
|
+
const hasSuspiciousKnownSessions = new Set(targetKnownSessions.map((session) => session.rawStoreRef)).size
|
|
1024
|
+
< targetKnownSessions.length;
|
|
1025
|
+
if (existingFiles.length > 0
|
|
1026
|
+
&& threadMetadataIndex.size > 0
|
|
1027
|
+
&& !hasWorkspaceMetadataWithoutPath
|
|
1028
|
+
&& !hasSuspiciousKnownSessions) {
|
|
1029
|
+
return existingFiles;
|
|
1030
|
+
}
|
|
1031
|
+
if (threadMetadataIndex.size === 0 || hasWorkspaceMetadataWithoutPath || hasSuspiciousKnownSessions) {
|
|
1032
|
+
return walkJsonlFiles(join(this.options.homeDir, "sessions"));
|
|
1033
|
+
}
|
|
1034
|
+
return existingFiles;
|
|
1035
|
+
}
|
|
992
1036
|
listArchivedSessionFiles(targetPath, threadMetadataIndex, knownSessions) {
|
|
993
1037
|
const archivedFiles = new Set();
|
|
994
1038
|
for (const metadata of threadMetadataIndex.values()) {
|