@jingyi0605/codingns 0.9.5 → 0.9.7
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 +75 -0
- package/dist/public/assets/{AdaptiveButlerPage-kkJDsnCO.js → AdaptiveButlerPage-DclGPzEx.js} +2 -2
- package/dist/public/assets/{App-DrNI9lWA.js → App-BxX5mm9o.js} +6 -6
- package/dist/public/assets/{BootstrapPage-QgVH5Mps.js → BootstrapPage-Bl21SsuW.js} +1 -1
- package/dist/public/assets/{ConversationPage-DVk8VfIj.js → ConversationPage-CmiVCV0q.js} +7 -7
- package/dist/public/assets/{DesktopDetachPreviewPage-BhfP0TpH.js → DesktopDetachPreviewPage-uaOHVsjV.js} +1 -1
- package/dist/public/assets/{DesktopModal-DRmDrv0S.js → DesktopModal-BxsogpLf.js} +1 -1
- package/dist/public/assets/{DesktopWindowPage-DNbJXnSs.js → DesktopWindowPage-Bubfw1nC.js} +1 -1
- package/dist/public/assets/{FileContextPanel---fLO4ve.js → FileContextPanel-DrYWcTkp.js} +1 -1
- package/dist/public/assets/{GitSidebar-sXUE0TqT.js → GitSidebar-CQsfJqun.js} +1 -1
- package/dist/public/assets/{MobileCreateSessionSheet-BftZ5pvb.js → MobileCreateSessionSheet-CqtmfVNo.js} +1 -1
- package/dist/public/assets/{MobileSheet-nw5SCa3N.js → MobileSheet-C5IVmUsO.js} +1 -1
- package/dist/public/assets/{MobileTopHeaderFrame-DH_D02Wy.js → MobileTopHeaderFrame-EoBm3-X0.js} +1 -1
- package/dist/public/assets/{MobileWorkspaceSwitcherHeader-2K406G5p.js → MobileWorkspaceSwitcherHeader-BC8MMQs_.js} +1 -1
- package/dist/public/assets/{PluginAccessOverview-BVJihw3D.js → PluginAccessOverview-CrQiQxxZ.js} +1 -1
- package/dist/public/assets/{PluginContainerPage-CR4vStvr.js → PluginContainerPage-_2u-9thM.js} +1 -1
- package/dist/public/assets/{PluginDetailPage-CrMX0Mnm.js → PluginDetailPage-F9cKjSCp.js} +1 -1
- package/dist/public/assets/{PluginsListPage-FtIL71Yg.js → PluginsListPage-BOhcua_4.js} +1 -1
- package/dist/public/assets/{RelayConnectEntryPage-Bt1apX53.js → RelayConnectEntryPage-Ck_uZLzj.js} +1 -1
- package/dist/public/assets/{ServerSettingsModal-D-guzPrI.js → ServerSettingsModal-ICd82a_x.js} +1 -1
- package/dist/public/assets/SessionIndexPage-Cox6P6dw.js +1 -0
- package/dist/public/assets/SettingsPage-BI5cM3j5.js +2 -0
- package/dist/public/assets/{TerminalManagerPanel-B5MKGPy-.js → TerminalManagerPanel-DiVhBQhf.js} +1 -1
- package/dist/public/assets/{TerminalPage-C2dTNGHK.js → TerminalPage-DUMUO7Ng.js} +1 -1
- package/dist/public/assets/{TerminalRuntimeFallbackModal-DAqOxFD8.js → TerminalRuntimeFallbackModal-DGPR_CMh.js} +1 -1
- package/dist/public/assets/{ToolFilesPage-IsNwyE6T.js → ToolFilesPage-m88CAp-r.js} +1 -1
- package/dist/public/assets/{ToolGitPage-BK1JBERN.js → ToolGitPage-DCYpfTsb.js} +1 -1
- package/dist/public/assets/{ToolProcessesPage-DwTYUQCK.js → ToolProcessesPage-Bk5ulsyq.js} +1 -1
- package/dist/public/assets/{ToolsHomePage-BLOy7lPg.js → ToolsHomePage-BrTwfjI7.js} +1 -1
- package/dist/public/assets/{WorkbenchLandingPage-CqZKR6EA.js → WorkbenchLandingPage-q4AAmdMV.js} +1 -1
- package/dist/public/assets/WorkbenchLayout-DD8b-m2G.js +1027 -0
- package/dist/public/assets/{WorkbenchModal-BM-OeW-b.js → WorkbenchModal-CsZeLArg.js} +1 -1
- package/dist/public/assets/WorkbenchShellRoute-BaiW_vfb.js +1 -0
- package/dist/public/assets/WorkbenchShellRoute-CxKYZ6uF.css +1 -0
- package/dist/public/assets/{WorkspaceDebugDetailPage-BMsEN5iG.js → WorkspaceDebugDetailPage-BcUUDEyw.js} +1 -1
- package/dist/public/assets/WorkspaceDetailPage-zEZ1VARA.js +1 -0
- package/dist/public/assets/{WorkspaceHomePage-DQiXKgiP.js → WorkspaceHomePage-CR0rqS4e.js} +1 -1
- package/dist/public/assets/{client-runtime-manager-CgPJq21V.js → client-runtime-manager-BgGugw8T.js} +1 -1
- package/dist/public/assets/index-CFyk1rgJ.js +50 -0
- package/dist/public/assets/index-CrU73EIV.css +1 -0
- package/dist/public/assets/{login-direct-candidate-resolver-CGaxAXV8.js → login-direct-candidate-resolver-ty2uOY5y.js} +1 -1
- package/dist/public/assets/{plugin-permission-copy-BR9gWy8b.js → plugin-permission-copy-iK3faI3n.js} +1 -1
- package/dist/public/assets/{plugins-api-CdCsrG2e.js → plugins-api-CmV7aDGA.js} +1 -1
- package/dist/public/assets/{preferences-service-lOhnlxzP.js → preferences-service-BoSmT_ny.js} +1 -1
- package/dist/public/assets/{relay-entry-CQpxTS8y.js → relay-entry-C8k5qsl5.js} +1 -1
- package/dist/public/assets/styles-BhKoKfQ_.css +1 -0
- package/dist/public/assets/{terminal-runtime-meta-oteTx66X.js → terminal-runtime-meta-okQIDzfA.js} +1 -1
- package/dist/public/assets/{useRegisteredDebugTemplates-Bu2ykZ6s.js → useRegisteredDebugTemplates-B_vXUtSe.js} +1 -1
- package/dist/public/assets/{workbench-navigation-DlgXuFW2.js → workbench-navigation-DoDaQR4z.js} +1 -1
- package/dist/public/index.html +2 -2
- package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.d.ts +1 -0
- package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.js +31 -0
- package/dist/server/modules/affairs-indexer/core/src/repositories/catalog-repository.js.map +1 -1
- package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.d.ts +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.js +1 -0
- package/dist/server/modules/affairs-indexer/core/src/services/dirty/dirty-scope-resolver.js.map +1 -1
- package/dist/server/modules/affairs-indexer/core/src/services/export/export-builder.js +4 -1
- package/dist/server/modules/affairs-indexer/core/src/services/export/export-builder.js.map +1 -1
- package/dist/server/modules/affairs-indexer/core/src/services/search/search-index-builder.js +140 -16
- package/dist/server/modules/affairs-indexer/core/src/services/search/search-index-builder.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js +8 -7
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-service.d.ts +14 -13
- package/dist/server/modules/assistant-capability/assistant-capability-service.js +27 -24
- package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
- package/dist/server/modules/auth/auth-controller.d.ts +27 -1
- package/dist/server/modules/auth/auth-controller.js +20 -0
- package/dist/server/modules/auth/auth-controller.js.map +1 -1
- package/dist/server/modules/auth/auth-service.d.ts +32 -1
- package/dist/server/modules/auth/auth-service.js +217 -2
- package/dist/server/modules/auth/auth-service.js.map +1 -1
- package/dist/server/modules/bootstrap/bootstrap-service.js +1 -0
- package/dist/server/modules/bootstrap/bootstrap-service.js.map +1 -1
- package/dist/server/modules/butler/assistant-automation-service.d.ts +1 -1
- package/dist/server/modules/butler/assistant-automation-service.js +9 -10
- package/dist/server/modules/butler/assistant-automation-service.js.map +1 -1
- package/dist/server/modules/butler/butler-action-context-service.js +2 -2
- package/dist/server/modules/butler/butler-action-context-service.js.map +1 -1
- package/dist/server/modules/butler/butler-control-action-service.d.ts +5 -5
- package/dist/server/modules/butler/butler-control-action-service.js +19 -19
- package/dist/server/modules/butler/butler-control-action-service.js.map +1 -1
- package/dist/server/modules/butler/butler-control-session-service.d.ts +1 -1
- package/dist/server/modules/butler/butler-control-session-service.js +27 -26
- package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-control-timer-service.js +4 -5
- package/dist/server/modules/butler/butler-control-timer-service.js.map +1 -1
- package/dist/server/modules/butler/butler-controller.d.ts +2 -2
- package/dist/server/modules/butler/butler-controller.js +19 -17
- package/dist/server/modules/butler/butler-controller.js.map +1 -1
- package/dist/server/modules/butler/butler-profile-service.d.ts +5 -5
- package/dist/server/modules/butler/butler-profile-service.js +17 -16
- package/dist/server/modules/butler/butler-profile-service.js.map +1 -1
- package/dist/server/modules/butler/butler-project-service.d.ts +7 -6
- package/dist/server/modules/butler/butler-project-service.js +35 -21
- package/dist/server/modules/butler/butler-project-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-service.d.ts +2 -2
- package/dist/server/modules/butler/butler-session-service.js +33 -27
- package/dist/server/modules/butler/butler-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-summary-service.d.ts +2 -2
- package/dist/server/modules/butler/butler-session-summary-service.js +23 -9
- package/dist/server/modules/butler/butler-session-summary-service.js.map +1 -1
- package/dist/server/modules/butler/context-aggregator.js +9 -9
- package/dist/server/modules/butler/context-aggregator.js.map +1 -1
- package/dist/server/modules/butler/patrol-execution-service.d.ts +0 -1
- package/dist/server/modules/butler/patrol-execution-service.js +6 -12
- package/dist/server/modules/butler/patrol-execution-service.js.map +1 -1
- package/dist/server/modules/provider/provider-discovery-runtime.js +16 -1
- package/dist/server/modules/provider/provider-discovery-runtime.js.map +1 -1
- package/dist/server/modules/sessions/codex-app-server-helper-client.js +14 -0
- 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 +59 -0
- package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
- package/dist/server/modules/sessions/codex-session-title-generator.d.ts +19 -0
- package/dist/server/modules/sessions/codex-session-title-generator.js +295 -0
- package/dist/server/modules/sessions/codex-session-title-generator.js.map +1 -0
- package/dist/server/modules/sessions/session-controller.js +3 -3
- package/dist/server/modules/sessions/session-controller.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +13 -3
- package/dist/server/modules/sessions/session-history-service.js +309 -11
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.js +25 -15
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-permission-request-service.js +28 -15
- package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
- package/dist/server/modules/tasks/task-types.d.ts +1 -0
- package/dist/server/modules/tasks/task-types.js +1 -0
- package/dist/server/modules/tasks/task-types.js.map +1 -1
- package/dist/server/modules/workbench/workbench-service.js +9 -9
- package/dist/server/modules/workbench/workbench-service.js.map +1 -1
- package/dist/server/modules/workspace/affairs-library-service.d.ts +3 -1
- package/dist/server/modules/workspace/affairs-library-service.js +112 -54
- package/dist/server/modules/workspace/affairs-library-service.js.map +1 -1
- package/dist/server/modules/workspace/affairs-lightweight-session-service.js +13 -9
- package/dist/server/modules/workspace/affairs-lightweight-session-service.js.map +1 -1
- package/dist/server/modules/workspace/affairs-tag-service.d.ts +12 -0
- package/dist/server/modules/workspace/affairs-tag-service.js +527 -2
- package/dist/server/modules/workspace/affairs-tag-service.js.map +1 -1
- package/dist/server/modules/workspace/workspace-controller.d.ts +1 -1
- package/dist/server/modules/workspace/workspace-controller.js +7 -7
- package/dist/server/modules/workspace/workspace-controller.js.map +1 -1
- package/dist/server/modules/workspace/workspace-service.d.ts +7 -0
- package/dist/server/modules/workspace/workspace-service.js +151 -10
- package/dist/server/modules/workspace/workspace-service.js.map +1 -1
- package/dist/server/routes/auth.js +6 -0
- package/dist/server/routes/auth.js.map +1 -1
- package/dist/server/server/create-server.d.ts +4 -0
- package/dist/server/server/create-server.js +26 -0
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/server/start-host.js +20 -0
- package/dist/server/server/start-host.js.map +1 -1
- package/dist/server/shared/http/request-diagnostics.d.ts +56 -0
- package/dist/server/shared/http/request-diagnostics.js +256 -0
- package/dist/server/shared/http/request-diagnostics.js.map +1 -0
- package/dist/server/storage/repositories/auth-token-repository.d.ts +1 -0
- package/dist/server/storage/repositories/auth-token-repository.js +8 -0
- package/dist/server/storage/repositories/auth-token-repository.js.map +1 -1
- package/dist/server/storage/repositories/auth-user-repository.d.ts +50 -0
- package/dist/server/storage/repositories/auth-user-repository.js +198 -27
- package/dist/server/storage/repositories/auth-user-repository.js.map +1 -1
- package/dist/server/storage/repositories/butler-control-session-repository.d.ts +4 -1
- package/dist/server/storage/repositories/butler-control-session-repository.js +55 -8
- package/dist/server/storage/repositories/butler-control-session-repository.js.map +1 -1
- package/dist/server/storage/repositories/butler-profile-repository.d.ts +2 -1
- package/dist/server/storage/repositories/butler-profile-repository.js +35 -6
- package/dist/server/storage/repositories/butler-profile-repository.js.map +1 -1
- package/dist/server/storage/repositories/butler-project-repository.d.ts +2 -0
- package/dist/server/storage/repositories/butler-project-repository.js +38 -4
- package/dist/server/storage/repositories/butler-project-repository.js.map +1 -1
- package/dist/server/storage/repositories/butler-session-repository.d.ts +2 -1
- package/dist/server/storage/repositories/butler-session-repository.js +35 -6
- package/dist/server/storage/repositories/butler-session-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-binding-repository.d.ts +3 -0
- package/dist/server/storage/repositories/session-binding-repository.js +70 -2
- package/dist/server/storage/repositories/session-binding-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-index-repository.js +7 -5
- package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
- package/dist/server/storage/repositories/workspace-repository.d.ts +3 -1
- package/dist/server/storage/repositories/workspace-repository.js +24 -10
- package/dist/server/storage/repositories/workspace-repository.js.map +1 -1
- package/dist/server/storage/sqlite/client.js +288 -0
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +33 -9
- package/dist/server/types/domain.d.ts +8 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-session-store.js +34 -7
- 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 +7 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +596 -6
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/claude-runtime.js +3 -7
- 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 +1 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +249 -6
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/types.d.ts +11 -0
- package/package.json +1 -1
- package/dist/public/assets/SessionIndexPage-CX2FppcJ.js +0 -1
- package/dist/public/assets/SettingsPage-BI2Olcvr.js +0 -2
- package/dist/public/assets/WorkbenchLayout-CJHQtwuL.js +0 -1022
- package/dist/public/assets/WorkbenchShellRoute-2bKI6Q9k.js +0 -1
- package/dist/public/assets/WorkbenchShellRoute-BjuZD101.css +0 -1
- package/dist/public/assets/WorkspaceDetailPage-5H9Gosx2.js +0 -1
- package/dist/public/assets/index-BARqMVSw.css +0 -1
- package/dist/public/assets/index-BUoNjVrY.js +0 -50
- package/dist/public/assets/styles-DkbkRgWw.css +0 -1
- /package/dist/public/assets/{styles-JKFlsYFv.js → styles-DwSuZo1w.js} +0 -0
|
@@ -14,6 +14,7 @@ CREATE TABLE IF NOT EXISTS auth_users (
|
|
|
14
14
|
username TEXT NOT NULL UNIQUE,
|
|
15
15
|
password_hash TEXT NOT NULL,
|
|
16
16
|
role TEXT NOT NULL CHECK (role = 'admin'),
|
|
17
|
+
status TEXT NOT NULL DEFAULT 'active' CHECK (status IN ('active', 'disabled')),
|
|
17
18
|
created_at TEXT NOT NULL,
|
|
18
19
|
updated_at TEXT NOT NULL
|
|
19
20
|
);
|
|
@@ -108,6 +109,7 @@ CREATE INDEX IF NOT EXISTS idx_auth_login_attempts_updated_at
|
|
|
108
109
|
|
|
109
110
|
CREATE TABLE IF NOT EXISTS workspaces (
|
|
110
111
|
id TEXT PRIMARY KEY,
|
|
112
|
+
owner_user_id TEXT,
|
|
111
113
|
name TEXT NOT NULL,
|
|
112
114
|
path TEXT NOT NULL UNIQUE,
|
|
113
115
|
repo_root TEXT,
|
|
@@ -115,9 +117,13 @@ CREATE TABLE IF NOT EXISTS workspaces (
|
|
|
115
117
|
sort_order INTEGER NOT NULL DEFAULT 0,
|
|
116
118
|
created_at TEXT NOT NULL,
|
|
117
119
|
updated_at TEXT NOT NULL,
|
|
118
|
-
removed_at TEXT
|
|
120
|
+
removed_at TEXT,
|
|
121
|
+
FOREIGN KEY (owner_user_id) REFERENCES auth_users(id)
|
|
119
122
|
);
|
|
120
123
|
|
|
124
|
+
CREATE INDEX IF NOT EXISTS idx_workspaces_owner_user_id
|
|
125
|
+
ON workspaces(owner_user_id, removed_at, sort_order);
|
|
126
|
+
|
|
121
127
|
CREATE TABLE IF NOT EXISTS workspace_navigation_states (
|
|
122
128
|
workspace_id TEXT NOT NULL,
|
|
123
129
|
user_id TEXT NOT NULL,
|
|
@@ -630,6 +636,7 @@ CREATE TABLE IF NOT EXISTS commit_rule_profiles (
|
|
|
630
636
|
|
|
631
637
|
CREATE TABLE IF NOT EXISTS session_bindings (
|
|
632
638
|
session_id TEXT PRIMARY KEY,
|
|
639
|
+
user_id TEXT,
|
|
633
640
|
workspace_id TEXT NOT NULL,
|
|
634
641
|
provider TEXT NOT NULL,
|
|
635
642
|
provider_session_id TEXT NOT NULL,
|
|
@@ -641,11 +648,13 @@ CREATE TABLE IF NOT EXISTS session_bindings (
|
|
|
641
648
|
runtime_home_dir TEXT,
|
|
642
649
|
created_at TEXT NOT NULL,
|
|
643
650
|
updated_at TEXT NOT NULL,
|
|
651
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id),
|
|
644
652
|
FOREIGN KEY (workspace_id) REFERENCES workspaces(id),
|
|
645
653
|
UNIQUE (provider, provider_session_id)
|
|
646
654
|
);
|
|
647
655
|
|
|
648
656
|
CREATE INDEX IF NOT EXISTS idx_session_bindings_workspace_id ON session_bindings(workspace_id);
|
|
657
|
+
CREATE INDEX IF NOT EXISTS idx_session_bindings_user_id ON session_bindings(user_id, workspace_id);
|
|
649
658
|
|
|
650
659
|
CREATE TABLE IF NOT EXISTS session_indices (
|
|
651
660
|
session_id TEXT PRIMARY KEY,
|
|
@@ -1473,7 +1482,8 @@ CREATE INDEX IF NOT EXISTS idx_ai_fallback_edits_runtime_id
|
|
|
1473
1482
|
ON ai_fallback_edits(runtime_id, created_at DESC);
|
|
1474
1483
|
|
|
1475
1484
|
CREATE TABLE IF NOT EXISTS butler_profiles (
|
|
1476
|
-
id TEXT PRIMARY KEY
|
|
1485
|
+
id TEXT PRIMARY KEY,
|
|
1486
|
+
user_id TEXT NOT NULL UNIQUE,
|
|
1477
1487
|
display_name TEXT NOT NULL,
|
|
1478
1488
|
provider_id TEXT NOT NULL CHECK (provider_id IN ('codex', 'claude-code')),
|
|
1479
1489
|
workspace_path TEXT NOT NULL,
|
|
@@ -1484,11 +1494,16 @@ CREATE TABLE IF NOT EXISTS butler_profiles (
|
|
|
1484
1494
|
focus_json TEXT NOT NULL,
|
|
1485
1495
|
setup_completed INTEGER NOT NULL DEFAULT 1 CHECK (setup_completed IN (0, 1)),
|
|
1486
1496
|
initialized_at TEXT NOT NULL,
|
|
1487
|
-
updated_at TEXT NOT NULL
|
|
1497
|
+
updated_at TEXT NOT NULL,
|
|
1498
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE
|
|
1488
1499
|
);
|
|
1489
1500
|
|
|
1501
|
+
CREATE INDEX IF NOT EXISTS idx_butler_profiles_user_id
|
|
1502
|
+
ON butler_profiles(user_id);
|
|
1503
|
+
|
|
1490
1504
|
CREATE TABLE IF NOT EXISTS butler_control_sessions (
|
|
1491
1505
|
id TEXT PRIMARY KEY,
|
|
1506
|
+
user_id TEXT NOT NULL,
|
|
1492
1507
|
provider_id TEXT NOT NULL CHECK (provider_id IN ('codex', 'claude-code')),
|
|
1493
1508
|
session_id TEXT NOT NULL UNIQUE,
|
|
1494
1509
|
purpose TEXT NOT NULL DEFAULT 'chat' CHECK (purpose IN ('chat', 'todo_analysis')),
|
|
@@ -1502,11 +1517,12 @@ CREATE TABLE IF NOT EXISTS butler_control_sessions (
|
|
|
1502
1517
|
last_summary TEXT,
|
|
1503
1518
|
created_at TEXT NOT NULL,
|
|
1504
1519
|
updated_at TEXT NOT NULL,
|
|
1520
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE,
|
|
1505
1521
|
FOREIGN KEY (session_id) REFERENCES session_bindings(session_id)
|
|
1506
1522
|
);
|
|
1507
1523
|
|
|
1508
1524
|
CREATE INDEX IF NOT EXISTS idx_butler_control_sessions_provider
|
|
1509
|
-
ON butler_control_sessions(provider_id, updated_at DESC, created_at DESC);
|
|
1525
|
+
ON butler_control_sessions(user_id, provider_id, updated_at DESC, created_at DESC);
|
|
1510
1526
|
|
|
1511
1527
|
CREATE TABLE IF NOT EXISTS butler_control_timers (
|
|
1512
1528
|
id TEXT PRIMARY KEY,
|
|
@@ -1637,6 +1653,7 @@ CREATE INDEX IF NOT EXISTS idx_butler_notification_archives_user_updated_at
|
|
|
1637
1653
|
|
|
1638
1654
|
CREATE TABLE IF NOT EXISTS butler_projects (
|
|
1639
1655
|
id TEXT PRIMARY KEY,
|
|
1656
|
+
user_id TEXT NOT NULL,
|
|
1640
1657
|
workspace_id TEXT NOT NULL,
|
|
1641
1658
|
name TEXT NOT NULL,
|
|
1642
1659
|
repo_root TEXT NOT NULL,
|
|
@@ -1651,17 +1668,21 @@ CREATE TABLE IF NOT EXISTS butler_projects (
|
|
|
1651
1668
|
created_at TEXT NOT NULL,
|
|
1652
1669
|
updated_at TEXT NOT NULL,
|
|
1653
1670
|
archived_at TEXT,
|
|
1671
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE,
|
|
1654
1672
|
FOREIGN KEY (workspace_id) REFERENCES workspaces(id),
|
|
1655
|
-
UNIQUE (workspace_id, repo_root)
|
|
1673
|
+
UNIQUE (user_id, workspace_id, repo_root)
|
|
1656
1674
|
);
|
|
1657
1675
|
|
|
1676
|
+
CREATE INDEX IF NOT EXISTS idx_butler_projects_user_id
|
|
1677
|
+
ON butler_projects(user_id, lifecycle_status, updated_at DESC);
|
|
1658
1678
|
CREATE INDEX IF NOT EXISTS idx_butler_projects_workspace_id
|
|
1659
|
-
ON butler_projects(workspace_id);
|
|
1679
|
+
ON butler_projects(user_id, workspace_id);
|
|
1660
1680
|
CREATE INDEX IF NOT EXISTS idx_butler_projects_status
|
|
1661
|
-
ON butler_projects(lifecycle_status, updated_at DESC);
|
|
1681
|
+
ON butler_projects(user_id, lifecycle_status, updated_at DESC);
|
|
1662
1682
|
|
|
1663
1683
|
CREATE TABLE IF NOT EXISTS butler_sessions (
|
|
1664
1684
|
id TEXT PRIMARY KEY,
|
|
1685
|
+
user_id TEXT NOT NULL,
|
|
1665
1686
|
project_id TEXT NOT NULL,
|
|
1666
1687
|
session_id TEXT NOT NULL UNIQUE,
|
|
1667
1688
|
role TEXT NOT NULL CHECK (role IN ('patrol', 'execution', 'verification', 'adhoc')),
|
|
@@ -1671,14 +1692,17 @@ CREATE TABLE IF NOT EXISTS butler_sessions (
|
|
|
1671
1692
|
last_checkpoint_at TEXT,
|
|
1672
1693
|
created_at TEXT NOT NULL,
|
|
1673
1694
|
updated_at TEXT NOT NULL,
|
|
1695
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id) ON DELETE CASCADE,
|
|
1674
1696
|
FOREIGN KEY (project_id) REFERENCES butler_projects(id) ON DELETE CASCADE,
|
|
1675
1697
|
FOREIGN KEY (session_id) REFERENCES session_bindings(session_id)
|
|
1676
1698
|
);
|
|
1677
1699
|
|
|
1700
|
+
CREATE INDEX IF NOT EXISTS idx_butler_sessions_user_id
|
|
1701
|
+
ON butler_sessions(user_id, updated_at DESC);
|
|
1678
1702
|
CREATE INDEX IF NOT EXISTS idx_butler_sessions_project_id
|
|
1679
|
-
ON butler_sessions(project_id, updated_at DESC);
|
|
1703
|
+
ON butler_sessions(user_id, project_id, updated_at DESC);
|
|
1680
1704
|
CREATE INDEX IF NOT EXISTS idx_butler_sessions_status
|
|
1681
|
-
ON butler_sessions(status, updated_at DESC);
|
|
1705
|
+
ON butler_sessions(user_id, status, updated_at DESC);
|
|
1682
1706
|
|
|
1683
1707
|
CREATE TABLE IF NOT EXISTS butler_follow_up_tasks (
|
|
1684
1708
|
id TEXT PRIMARY KEY,
|
|
@@ -18,6 +18,7 @@ export interface AuthUser {
|
|
|
18
18
|
username: string;
|
|
19
19
|
passwordHash: string;
|
|
20
20
|
role: "admin";
|
|
21
|
+
status: "active" | "disabled";
|
|
21
22
|
createdAt: string;
|
|
22
23
|
updatedAt: string;
|
|
23
24
|
}
|
|
@@ -87,6 +88,7 @@ export interface ProviderRuntimeStateRecord {
|
|
|
87
88
|
}
|
|
88
89
|
export interface Workspace {
|
|
89
90
|
id: string;
|
|
91
|
+
ownerUserId?: string | null;
|
|
90
92
|
name: string;
|
|
91
93
|
path: string;
|
|
92
94
|
repoRoot: string | null;
|
|
@@ -519,6 +521,7 @@ export interface OpsTarget {
|
|
|
519
521
|
}
|
|
520
522
|
export interface SessionBinding {
|
|
521
523
|
sessionId: string;
|
|
524
|
+
userId: string | null;
|
|
522
525
|
workspaceId: string;
|
|
523
526
|
provider: ProviderId;
|
|
524
527
|
providerSessionId: string;
|
|
@@ -946,7 +949,8 @@ export type PatrolRunStatus = "queued" | "running" | "succeeded" | "failed" | "c
|
|
|
946
949
|
export type VerificationType = "test" | "health" | "browser" | "visual" | "metric";
|
|
947
950
|
export type VerificationRunStatus = "queued" | "running" | "passed" | "failed" | "skipped" | "cancelled";
|
|
948
951
|
export interface ButlerProfile {
|
|
949
|
-
id:
|
|
952
|
+
id: string;
|
|
953
|
+
userId: string;
|
|
950
954
|
displayName: string;
|
|
951
955
|
providerId: ButlerProfileProviderId;
|
|
952
956
|
workspacePath: string;
|
|
@@ -1029,6 +1033,7 @@ export interface ChannelDelivery {
|
|
|
1029
1033
|
}
|
|
1030
1034
|
export interface ButlerControlSession {
|
|
1031
1035
|
id: string;
|
|
1036
|
+
userId: string;
|
|
1032
1037
|
providerId: ButlerProfileProviderId;
|
|
1033
1038
|
sessionId: string;
|
|
1034
1039
|
purpose: ButlerControlSessionPurpose;
|
|
@@ -1116,6 +1121,7 @@ export interface ButlerControlEvent {
|
|
|
1116
1121
|
}
|
|
1117
1122
|
export interface ButlerProject {
|
|
1118
1123
|
id: string;
|
|
1124
|
+
userId: string;
|
|
1119
1125
|
workspaceId: string;
|
|
1120
1126
|
name: string;
|
|
1121
1127
|
repoRoot: string;
|
|
@@ -1133,6 +1139,7 @@ export interface ButlerProject {
|
|
|
1133
1139
|
}
|
|
1134
1140
|
export interface ButlerSession {
|
|
1135
1141
|
id: string;
|
|
1142
|
+
userId: string;
|
|
1136
1143
|
projectId: string;
|
|
1137
1144
|
sessionId: string;
|
|
1138
1145
|
role: ButlerSessionRole;
|
|
@@ -4,11 +4,21 @@ import { join } from "node:path";
|
|
|
4
4
|
import { walkJsonlFiles, workspaceSlug } from "./utils.js";
|
|
5
5
|
export const CLAUDE_CODE_SESSION_STORE_PROFILE = {
|
|
6
6
|
resolveWorkspaceFiles(homeDir, workspacePath) {
|
|
7
|
-
const
|
|
7
|
+
const projectsRoot = join(homeDir, "projects");
|
|
8
|
+
const exactProjectDir = join(projectsRoot, workspaceSlug(workspacePath));
|
|
9
|
+
const files = new Set();
|
|
8
10
|
if (existsSync(exactProjectDir)) {
|
|
9
|
-
|
|
11
|
+
for (const filePath of walkJsonlFiles(exactProjectDir)) {
|
|
12
|
+
files.add(filePath);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
// Claude CLI 对非 ASCII 工作区路径会使用自己的目录命名规则。
|
|
16
|
+
// 如果我们只扫自己算出的 exact 目录,中文路径下会被一个空的占位目录挡住,
|
|
17
|
+
// 真实 transcript 反而永远发现不到。
|
|
18
|
+
for (const filePath of walkJsonlFiles(projectsRoot)) {
|
|
19
|
+
files.add(filePath);
|
|
10
20
|
}
|
|
11
|
-
return
|
|
21
|
+
return Array.from(files);
|
|
12
22
|
},
|
|
13
23
|
resolveSessionFilePath(homeDir, workspacePath, sessionId) {
|
|
14
24
|
return join(homeDir, "projects", workspaceSlug(workspacePath), `${sessionId}.jsonl`);
|
|
@@ -18,10 +28,14 @@ export const CLAUDE_CODE_SESSION_STORE_PROFILE = {
|
|
|
18
28
|
},
|
|
19
29
|
findSessionFile(homeDir, workspacePath, sessionId) {
|
|
20
30
|
const exactCandidate = join(homeDir, "projects", workspaceSlug(workspacePath), `${sessionId}.jsonl`);
|
|
31
|
+
const candidates = new Set();
|
|
21
32
|
if (existsSync(exactCandidate)) {
|
|
22
|
-
|
|
33
|
+
candidates.add(exactCandidate);
|
|
34
|
+
}
|
|
35
|
+
for (const filePath of collectSessionFileCandidates([join(homeDir, "projects")], sessionId)) {
|
|
36
|
+
candidates.add(filePath);
|
|
23
37
|
}
|
|
24
|
-
return
|
|
38
|
+
return selectBestSessionFile(Array.from(candidates));
|
|
25
39
|
}
|
|
26
40
|
};
|
|
27
41
|
export function createLegnaSessionStoreProfile(options = {}) {
|
|
@@ -75,6 +89,9 @@ function collectJsonlFiles(roots) {
|
|
|
75
89
|
return Array.from(uniqueFiles);
|
|
76
90
|
}
|
|
77
91
|
function findSessionFileInProjectsRoots(projectRoots, sessionId) {
|
|
92
|
+
return selectBestSessionFile(collectSessionFileCandidates(projectRoots, sessionId));
|
|
93
|
+
}
|
|
94
|
+
function collectSessionFileCandidates(projectRoots, sessionId) {
|
|
78
95
|
const candidates = new Set();
|
|
79
96
|
for (const projectRoot of projectRoots) {
|
|
80
97
|
if (!projectRoot || !existsSync(projectRoot)) {
|
|
@@ -88,10 +105,20 @@ function findSessionFileInProjectsRoots(projectRoots, sessionId) {
|
|
|
88
105
|
candidates.add(filePath);
|
|
89
106
|
}
|
|
90
107
|
}
|
|
91
|
-
|
|
108
|
+
return Array.from(candidates);
|
|
109
|
+
}
|
|
110
|
+
function selectBestSessionFile(candidates) {
|
|
111
|
+
if (candidates.length === 0) {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
const existingCandidates = Array.from(new Set(candidates))
|
|
115
|
+
.filter((filePath) => existsSync(filePath));
|
|
116
|
+
const nonEmptyCandidates = existingCandidates.filter((filePath) => statSync(filePath).size > 0);
|
|
117
|
+
const sortableCandidates = nonEmptyCandidates.length > 0 ? nonEmptyCandidates : existingCandidates;
|
|
118
|
+
if (sortableCandidates.length === 0) {
|
|
92
119
|
return null;
|
|
93
120
|
}
|
|
94
|
-
const sortedCandidates =
|
|
121
|
+
const sortedCandidates = sortableCandidates.sort((left, right) => compareSessionFiles(right, left));
|
|
95
122
|
return sortedCandidates[0] ?? null;
|
|
96
123
|
}
|
|
97
124
|
function compareSessionFiles(left, right) {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"claude-session-store.js","sourceRoot":"","sources":["../../src/providers/claude-session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,10 @@ export interface CodexThreadControlTransport {
|
|
|
31
31
|
archiveThread(providerSessionId: string): Promise<void>;
|
|
32
32
|
unarchiveThread(providerSessionId: string): Promise<void>;
|
|
33
33
|
readThread(providerSessionId: string): Promise<Record<string, unknown>>;
|
|
34
|
+
setThreadName?(providerSessionId: string, name: string): Promise<void>;
|
|
35
|
+
listThreads?(input: {
|
|
36
|
+
workspacePath: string;
|
|
37
|
+
}): Promise<Record<string, unknown>[]>;
|
|
34
38
|
close(): void;
|
|
35
39
|
}
|
|
36
40
|
export declare class CodexAdapter implements ProviderAdapter {
|
|
@@ -59,6 +63,9 @@ export declare class CodexAdapter implements ProviderAdapter {
|
|
|
59
63
|
getSessionCapabilities(): Promise<ProviderCapabilities>;
|
|
60
64
|
readContextUsage(providerSessionId: string, rawStoreRef: string): Promise<ContextUsageSnapshot | null>;
|
|
61
65
|
private readThreadMetadataIndex;
|
|
66
|
+
private readThreadMetadataIndexForWorkspace;
|
|
67
|
+
private mergeAppServerThreadMetadata;
|
|
68
|
+
private mergeAppServerSubagentActivityFromParentThreads;
|
|
62
69
|
private listSessionFiles;
|
|
63
70
|
private listArchivedSessionFiles;
|
|
64
71
|
private resolveArchivedSessionCandidate;
|