@jingyi0605/codingns 0.4.0 → 0.5.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 +425 -1
- package/dist/public/assets/AdaptiveButlerPage-B153lk5H.css +1 -0
- package/dist/public/assets/AdaptiveButlerPage-SffCV4Vb.js +3 -0
- package/dist/public/assets/App-DUAg5urj.css +1 -0
- package/dist/public/assets/App-WOLwMld_.js +30 -0
- package/dist/public/assets/BootstrapPage--zExdgfM.js +1 -0
- package/dist/public/assets/ConversationPage-D9pzRmOg.js +2 -0
- package/dist/public/assets/DesktopDetachPreviewPage-DvI9CIKi.js +1 -0
- package/dist/public/assets/DesktopWindowPage-D8FpOSLE.js +2 -0
- package/dist/public/assets/FileContextPanel-C8T7oqRN.js +1 -0
- package/dist/public/assets/GitSidebar-Bze7DNnc.js +6 -0
- package/dist/public/assets/MobileCreateSessionSheet-CXSKMnYn.js +1 -0
- package/dist/public/assets/MobileSheet-Gzc14EpR.js +1 -0
- package/dist/public/assets/MobileTopHeaderFrame-BWorAJ1C.js +1 -0
- package/dist/public/assets/MobileWorkspaceSwitcherHeader-DOr4pTUq.js +1 -0
- package/dist/public/assets/ServerSettingsModal-BYB0GvTl.js +1 -0
- package/dist/public/assets/SessionIndexPage-CR3IARXX.js +1 -0
- package/dist/public/assets/SettingsPage-B_BQtnwE.js +1 -0
- package/dist/public/assets/TerminalManagerPanel-PQ-EM64j.js +1 -0
- package/dist/public/assets/{TerminalPage-6jHZV9Mh.js → TerminalPage-CvnHXBhw.js} +19 -19
- package/dist/public/assets/TerminalRuntimeFallbackModal-D7Aq186N.js +1 -0
- package/dist/public/assets/ToolFilesPage-Qzkc6K2I.js +1 -0
- package/dist/public/assets/ToolGitPage-BdNDN-cV.js +1 -0
- package/dist/public/assets/ToolProcessesPage-EXJ9DHWI.js +1 -0
- package/dist/public/assets/ToolsHomePage-CjF3CWzR.js +1 -0
- package/dist/public/assets/WorkbenchLandingPage-DZPk4SmX.js +1 -0
- package/dist/public/assets/WorkbenchLayout-rwQib5In.js +3 -0
- package/dist/public/assets/WorkbenchModal-B09hC9b5.js +1 -0
- package/dist/public/assets/WorkbenchShellRoute-Cerk5uK7.js +1 -0
- package/dist/public/assets/WorkbenchShellRoute-DsW4mBTX.css +1 -0
- package/dist/public/assets/WorkspaceDebugDetailPage-Bcq8s-Ma.js +1 -0
- package/dist/public/assets/WorkspaceDetailPage-DNAa8pKr.js +1 -0
- package/dist/public/assets/WorkspaceHomePage-BoiLuACV.js +1 -0
- package/dist/public/assets/butler-records-events-DgWCG364.js +1 -0
- package/dist/public/assets/client-runtime-manager-CRQ-F5d2.js +1 -0
- package/dist/public/assets/default-session-permission-mode-D0wZ9Jek.js +1 -0
- package/dist/public/assets/event-DvH9tcej.js +1 -0
- package/dist/public/assets/file-tree-icon-Dp_xhVfD.js +31 -0
- package/dist/public/assets/index-C2G8Gmf1.js +42 -0
- package/dist/public/assets/index-CpPTUeA3.css +1 -0
- package/dist/public/assets/preferences-service-gOt2ZjKZ.js +1 -0
- package/dist/public/assets/session-runtime-machine-Dq3pW-UF.js +17 -0
- package/dist/public/assets/styles-BWPBZvze.css +1 -0
- package/dist/public/assets/styles-CSUx5LGe.js +1 -0
- package/dist/public/assets/terminal-runtime-meta-BMT-rSEe.js +1 -0
- package/dist/public/assets/useRegisteredDebugTemplates-zMcEOGca.js +1 -0
- package/dist/public/assets/window-BWqRixxq.js +1 -0
- package/dist/public/index.html +2 -2
- package/dist/server/middlewares/auth-guard.d.ts +4 -0
- package/dist/server/middlewares/auth-guard.js +42 -4
- package/dist/server/middlewares/auth-guard.js.map +1 -1
- package/dist/server/modules/assistant-capability/assistant-capability-controller.d.ts +62 -1
- package/dist/server/modules/assistant-capability/assistant-capability-controller.js +58 -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 +66 -3
- package/dist/server/modules/assistant-capability/assistant-capability-service.js +173 -1
- package/dist/server/modules/assistant-capability/assistant-capability-service.js.map +1 -1
- package/dist/server/modules/auth/auth-controller.d.ts +11 -1
- package/dist/server/modules/auth/auth-controller.js +61 -2
- package/dist/server/modules/auth/auth-controller.js.map +1 -1
- package/dist/server/modules/auth/auth-device-display-name.d.ts +10 -0
- package/dist/server/modules/auth/auth-device-display-name.js +190 -0
- package/dist/server/modules/auth/auth-device-display-name.js.map +1 -0
- package/dist/server/modules/auth/auth-service.d.ts +80 -5
- package/dist/server/modules/auth/auth-service.js +333 -23
- package/dist/server/modules/auth/auth-service.js.map +1 -1
- package/dist/server/modules/butler/assistant-automation-service.d.ts +2 -0
- package/dist/server/modules/butler/assistant-automation-service.js +46 -0
- package/dist/server/modules/butler/assistant-automation-service.js.map +1 -1
- package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.d.ts +32 -0
- package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.js +93 -0
- package/dist/server/modules/butler/assistant-sandbox-cleanup-scheduler.js.map +1 -0
- package/dist/server/modules/butler/assistant-sandbox-service.d.ts +16 -2
- package/dist/server/modules/butler/assistant-sandbox-service.js +137 -4
- package/dist/server/modules/butler/assistant-sandbox-service.js.map +1 -1
- package/dist/server/modules/butler/butler-auth-service.js +7 -2
- package/dist/server/modules/butler/butler-auth-service.js.map +1 -1
- package/dist/server/modules/butler/butler-control-session-service.d.ts +4 -1
- package/dist/server/modules/butler/butler-control-session-service.js +20 -1
- package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.d.ts +2 -1
- package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.js +27 -25
- package/dist/server/modules/butler/butler-follow-up-evaluation-instruction-adapter.js.map +1 -1
- package/dist/server/modules/butler/butler-follow-up-service.d.ts +32 -4
- package/dist/server/modules/butler/butler-follow-up-service.js +436 -331
- package/dist/server/modules/butler/butler-follow-up-service.js.map +1 -1
- package/dist/server/modules/butler/butler-inbox-analysis-service.d.ts +1 -1
- package/dist/server/modules/butler/butler-inbox-analysis-service.js.map +1 -1
- package/dist/server/modules/butler/butler-inbox-service.js +1 -0
- package/dist/server/modules/butler/butler-inbox-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-service.d.ts +3 -1
- package/dist/server/modules/butler/butler-session-service.js +15 -1
- package/dist/server/modules/butler/butler-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-workspace-context.d.ts +1 -1
- package/dist/server/modules/butler/butler-workspace-context.js +54 -28
- package/dist/server/modules/butler/butler-workspace-context.js.map +1 -1
- package/dist/server/modules/client/client-controller.js +1 -1
- package/dist/server/modules/client/client-controller.js.map +1 -1
- package/dist/server/modules/client/client-service.d.ts +16 -2
- package/dist/server/modules/client/client-service.js +21 -3
- package/dist/server/modules/client/client-service.js.map +1 -1
- package/dist/server/modules/provider/provider-controller.d.ts +1 -1
- package/dist/server/modules/provider/provider-controller.js.map +1 -1
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-identity-service.d.ts +10 -0
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-identity-service.js +48 -0
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-identity-service.js.map +1 -0
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.d.ts +48 -0
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.js +11 -0
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.js.map +1 -0
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.d.ts +74 -0
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js +302 -0
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js.map +1 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-controller.d.ts +33 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-controller.js +57 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-controller.js.map +1 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-edge-proof.d.ts +9 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-edge-proof.js +25 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-edge-proof.js.map +1 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.d.ts +18 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js +230 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js.map +1 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.d.ts +41 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js +443 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js.map +1 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.d.ts +112 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +966 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -0
- package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +2 -1
- package/dist/server/modules/sessions/codex-app-server-helper-client.js +78 -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 +84 -2
- package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
- package/dist/server/modules/sessions/provider-session-delete-cli.d.ts +15 -0
- package/dist/server/modules/sessions/provider-session-delete-cli.js +148 -0
- package/dist/server/modules/sessions/provider-session-delete-cli.js.map +1 -0
- package/dist/server/modules/sessions/session-controller.d.ts +4 -1
- package/dist/server/modules/sessions/session-controller.js +4 -0
- package/dist/server/modules/sessions/session-controller.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +17 -0
- package/dist/server/modules/sessions/session-history-service.js +150 -1
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-router-service.d.ts +25 -0
- package/dist/server/modules/sessions/session-live-runtime-router-service.js +42 -0
- package/dist/server/modules/sessions/session-live-runtime-router-service.js.map +1 -0
- package/dist/server/modules/sessions/session-live-runtime-service.js +34 -18
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-message-attachment-service.d.ts +1 -0
- package/dist/server/modules/sessions/session-message-attachment-service.js +22 -0
- package/dist/server/modules/sessions/session-message-attachment-service.js.map +1 -1
- package/dist/server/modules/sessions/session-permission-request-service.d.ts +1 -0
- package/dist/server/modules/sessions/session-permission-request-service.js +200 -5
- package/dist/server/modules/sessions/session-permission-request-service.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-error-mapper.js +32 -0
- package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-usage-guard-service.d.ts +37 -0
- package/dist/server/modules/sessions/session-provider-usage-guard-service.js +179 -0
- package/dist/server/modules/sessions/session-provider-usage-guard-service.js.map +1 -0
- package/dist/server/modules/sessions/session-provider-usage-limit.d.ts +17 -0
- package/dist/server/modules/sessions/session-provider-usage-limit.js +465 -0
- package/dist/server/modules/sessions/session-provider-usage-limit.js.map +1 -0
- package/dist/server/modules/skills/assistant-runtime-skill-catalog.d.ts +8 -0
- package/dist/server/modules/skills/assistant-runtime-skill-catalog.js +26 -0
- package/dist/server/modules/skills/assistant-runtime-skill-catalog.js.map +1 -0
- package/dist/server/modules/skills/assistant-runtime-skill-cleanup.d.ts +9 -0
- package/dist/server/modules/skills/assistant-runtime-skill-cleanup.js +55 -0
- package/dist/server/modules/skills/assistant-runtime-skill-cleanup.js.map +1 -0
- package/dist/server/modules/skills/builtin-skill-service.js +1 -6
- package/dist/server/modules/skills/builtin-skill-service.js.map +1 -1
- package/dist/server/modules/skills/skill-controller.d.ts +2 -2
- package/dist/server/modules/skills/skill-controller.js +9 -1
- package/dist/server/modules/skills/skill-controller.js.map +1 -1
- package/dist/server/modules/skills/skill-manager-service.d.ts +26 -1
- package/dist/server/modules/skills/skill-manager-service.js +346 -90
- package/dist/server/modules/skills/skill-manager-service.js.map +1 -1
- package/dist/server/modules/skills/skill-name-policy.d.ts +2 -0
- package/dist/server/modules/skills/skill-name-policy.js +10 -0
- package/dist/server/modules/skills/skill-name-policy.js.map +1 -0
- package/dist/server/modules/tailscale/tailscale-service.d.ts +2 -0
- package/dist/server/modules/tailscale/tailscale-service.js +21 -8
- package/dist/server/modules/tailscale/tailscale-service.js.map +1 -1
- package/dist/server/modules/tasks/task-types.d.ts +3 -0
- package/dist/server/modules/tasks/task-types.js +3 -0
- package/dist/server/modules/tasks/task-types.js.map +1 -1
- package/dist/server/modules/terminal/template-reverse-proxy-service.js +71 -3
- package/dist/server/modules/terminal/template-reverse-proxy-service.js.map +1 -1
- package/dist/server/modules/workbench/snapshot-revision.d.ts +4 -0
- package/dist/server/modules/workbench/snapshot-revision.js +13 -0
- package/dist/server/modules/workbench/snapshot-revision.js.map +1 -0
- package/dist/server/modules/workbench/workbench-service.d.ts +1 -0
- package/dist/server/modules/workbench/workbench-service.js +3 -2
- package/dist/server/modules/workbench/workbench-service.js.map +1 -1
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.d.ts +6 -1
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.js +10 -8
- package/dist/server/modules/workbench/workspace-panel-snapshot-service.js.map +1 -1
- package/dist/server/routes/assistant.js +30 -0
- package/dist/server/routes/assistant.js.map +1 -1
- package/dist/server/routes/auth.js +4 -0
- package/dist/server/routes/auth.js.map +1 -1
- package/dist/server/routes/sessions.js +1 -0
- package/dist/server/routes/sessions.js.map +1 -1
- package/dist/server/routes/system.d.ts +2 -1
- package/dist/server/routes/system.js +13 -1
- package/dist/server/routes/system.js.map +1 -1
- package/dist/server/server/create-server.d.ts +10 -0
- package/dist/server/server/create-server.js +83 -13
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/shared/utils/tokens.d.ts +3 -1
- package/dist/server/shared/utils/tokens.js +9 -2
- package/dist/server/shared/utils/tokens.js.map +1 -1
- package/dist/server/storage/repositories/assistant-automation-task-repository.d.ts +2 -0
- package/dist/server/storage/repositories/assistant-automation-task-repository.js +8 -2
- package/dist/server/storage/repositories/assistant-automation-task-repository.js.map +1 -1
- package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.d.ts +1 -0
- package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js +27 -0
- package/dist/server/storage/repositories/assistant-sandbox-workspace-repository.js.map +1 -1
- package/dist/server/storage/repositories/auth-device-repository.d.ts +22 -0
- package/dist/server/storage/repositories/auth-device-repository.js +97 -0
- package/dist/server/storage/repositories/auth-device-repository.js.map +1 -0
- package/dist/server/storage/repositories/auth-device-session-repository.d.ts +17 -0
- package/dist/server/storage/repositories/auth-device-session-repository.js +82 -0
- package/dist/server/storage/repositories/auth-device-session-repository.js.map +1 -0
- package/dist/server/storage/repositories/auth-login-event-repository.d.ts +9 -0
- package/dist/server/storage/repositories/auth-login-event-repository.js +53 -0
- package/dist/server/storage/repositories/auth-login-event-repository.js.map +1 -0
- package/dist/server/storage/repositories/auth-token-repository.d.ts +4 -0
- package/dist/server/storage/repositories/auth-token-repository.js +58 -5
- package/dist/server/storage/repositories/auth-token-repository.js.map +1 -1
- package/dist/server/storage/repositories/butler-follow-up-task-repository.js +21 -3
- package/dist/server/storage/repositories/butler-follow-up-task-repository.js.map +1 -1
- package/dist/server/storage/repositories/instance-relay-tunnel-identity-repository.d.ts +8 -0
- package/dist/server/storage/repositories/instance-relay-tunnel-identity-repository.js +52 -0
- package/dist/server/storage/repositories/instance-relay-tunnel-identity-repository.js.map +1 -0
- package/dist/server/storage/repositories/instance-relay-tunnel-repository.d.ts +10 -0
- package/dist/server/storage/repositories/instance-relay-tunnel-repository.js +153 -0
- package/dist/server/storage/repositories/instance-relay-tunnel-repository.js.map +1 -0
- package/dist/server/storage/repositories/instance-tailscale-repository.js +6 -3
- package/dist/server/storage/repositories/instance-tailscale-repository.js.map +1 -1
- package/dist/server/storage/repositories/managed-skill-repository.d.ts +2 -1
- package/dist/server/storage/repositories/managed-skill-repository.js +14 -4
- package/dist/server/storage/repositories/managed-skill-repository.js.map +1 -1
- package/dist/server/storage/repositories/session-message-attachment-repository.d.ts +2 -0
- package/dist/server/storage/repositories/session-message-attachment-repository.js +24 -0
- package/dist/server/storage/repositories/session-message-attachment-repository.js.map +1 -1
- package/dist/server/storage/sqlite/client.js +297 -2
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +122 -4
- package/dist/server/types/domain.d.ts +91 -1
- package/dist/server/ws/workbench-ws-hub.js +225 -99
- package/dist/server/ws/workbench-ws-hub.js.map +1 -1
- package/dist/server/ws/ws-auth-guard.js +1 -4
- package/dist/server/ws/ws-auth-guard.js.map +1 -1
- package/dist/server/ws/ws-server.d.ts +1 -1
- package/dist/server/ws/ws-server.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js +80 -0
- package/node_modules/@codingns/session-sync-core/dist/codex-resume-history.js.map +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +11 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +11 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +132 -21
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.d.ts +2 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +53 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/kimi.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js +10 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/kimi.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +30 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +5 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +145 -58
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/services.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/services.js +7 -0
- package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/types.d.ts +2 -0
- package/package.json +1 -1
- package/scripts/postinstall.mjs +0 -33
- package/dist/public/assets/index-CSVhg7I8.js +0 -123
- package/dist/public/assets/index-Ce1VX19m.css +0 -1
|
@@ -23,6 +23,8 @@ CREATE TABLE IF NOT EXISTS auth_tokens (
|
|
|
23
23
|
user_id TEXT NOT NULL,
|
|
24
24
|
token_type TEXT NOT NULL CHECK (token_type IN ('access', 'refresh')),
|
|
25
25
|
token_hash TEXT NOT NULL UNIQUE,
|
|
26
|
+
device_session_id TEXT,
|
|
27
|
+
caller_kind TEXT CHECK (caller_kind IN ('interactive_user', 'assistant_runtime')),
|
|
26
28
|
expires_at TEXT NOT NULL,
|
|
27
29
|
revoked_at TEXT,
|
|
28
30
|
created_at TEXT NOT NULL,
|
|
@@ -31,6 +33,59 @@ CREATE TABLE IF NOT EXISTS auth_tokens (
|
|
|
31
33
|
|
|
32
34
|
CREATE INDEX IF NOT EXISTS idx_auth_tokens_user_id ON auth_tokens(user_id);
|
|
33
35
|
CREATE INDEX IF NOT EXISTS idx_auth_tokens_expires_at ON auth_tokens(expires_at);
|
|
36
|
+
CREATE INDEX IF NOT EXISTS idx_auth_tokens_device_session_id ON auth_tokens(device_session_id);
|
|
37
|
+
|
|
38
|
+
CREATE TABLE IF NOT EXISTS auth_devices (
|
|
39
|
+
id TEXT PRIMARY KEY,
|
|
40
|
+
user_id TEXT NOT NULL,
|
|
41
|
+
client_type TEXT NOT NULL CHECK (client_type IN ('desktop', 'web', 'ios', 'android', 'unknown')),
|
|
42
|
+
client_instance_id TEXT,
|
|
43
|
+
display_name TEXT,
|
|
44
|
+
user_agent TEXT,
|
|
45
|
+
is_primary INTEGER NOT NULL DEFAULT 0 CHECK (is_primary IN (0, 1)),
|
|
46
|
+
last_source_address TEXT,
|
|
47
|
+
last_seen_at TEXT NOT NULL,
|
|
48
|
+
primary_set_at TEXT,
|
|
49
|
+
created_at TEXT NOT NULL,
|
|
50
|
+
updated_at TEXT NOT NULL,
|
|
51
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id)
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
CREATE INDEX IF NOT EXISTS idx_auth_devices_user_id ON auth_devices(user_id, updated_at DESC);
|
|
55
|
+
CREATE INDEX IF NOT EXISTS idx_auth_devices_client_lookup
|
|
56
|
+
ON auth_devices(user_id, client_type, client_instance_id);
|
|
57
|
+
|
|
58
|
+
CREATE TABLE IF NOT EXISTS auth_device_sessions (
|
|
59
|
+
id TEXT PRIMARY KEY,
|
|
60
|
+
user_id TEXT NOT NULL,
|
|
61
|
+
device_id TEXT,
|
|
62
|
+
access_token_id TEXT,
|
|
63
|
+
refresh_token_id TEXT,
|
|
64
|
+
revoked_at TEXT,
|
|
65
|
+
created_at TEXT NOT NULL,
|
|
66
|
+
updated_at TEXT NOT NULL,
|
|
67
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id),
|
|
68
|
+
FOREIGN KEY (device_id) REFERENCES auth_devices(id)
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
CREATE INDEX IF NOT EXISTS idx_auth_device_sessions_user_id
|
|
72
|
+
ON auth_device_sessions(user_id, updated_at DESC);
|
|
73
|
+
CREATE INDEX IF NOT EXISTS idx_auth_device_sessions_device_id
|
|
74
|
+
ON auth_device_sessions(device_id, updated_at DESC);
|
|
75
|
+
|
|
76
|
+
CREATE TABLE IF NOT EXISTS auth_login_events (
|
|
77
|
+
id TEXT PRIMARY KEY,
|
|
78
|
+
user_id TEXT NOT NULL,
|
|
79
|
+
device_id TEXT,
|
|
80
|
+
client_type TEXT NOT NULL CHECK (client_type IN ('desktop', 'web', 'ios', 'android', 'unknown')),
|
|
81
|
+
source_address TEXT,
|
|
82
|
+
occurred_at TEXT NOT NULL,
|
|
83
|
+
FOREIGN KEY (user_id) REFERENCES auth_users(id),
|
|
84
|
+
FOREIGN KEY (device_id) REFERENCES auth_devices(id)
|
|
85
|
+
);
|
|
86
|
+
|
|
87
|
+
CREATE INDEX IF NOT EXISTS idx_auth_login_events_user_id
|
|
88
|
+
ON auth_login_events(user_id, occurred_at DESC);
|
|
34
89
|
|
|
35
90
|
CREATE TABLE IF NOT EXISTS auth_login_attempts (
|
|
36
91
|
username TEXT PRIMARY KEY,
|
|
@@ -789,7 +844,7 @@ CREATE TABLE IF NOT EXISTS assistant_sandboxes (
|
|
|
789
844
|
source_kind TEXT NOT NULL CHECK (source_kind IN ('blank', 'clone')),
|
|
790
845
|
source_ref TEXT,
|
|
791
846
|
visibility TEXT NOT NULL CHECK (visibility IN ('assistant_only', 'pinned')),
|
|
792
|
-
status TEXT NOT NULL CHECK (status IN ('active', 'archived', 'expired', 'deleted')),
|
|
847
|
+
status TEXT NOT NULL CHECK (status IN ('active', 'archived', 'expired', 'orphaned', 'deleted')),
|
|
793
848
|
purpose TEXT,
|
|
794
849
|
expires_at TEXT,
|
|
795
850
|
promoted_at TEXT,
|
|
@@ -905,6 +960,9 @@ CREATE TABLE IF NOT EXISTS butler_follow_up_tasks (
|
|
|
905
960
|
project_id TEXT NOT NULL,
|
|
906
961
|
butler_session_id TEXT NOT NULL,
|
|
907
962
|
session_id TEXT NOT NULL,
|
|
963
|
+
provider_id TEXT NOT NULL CHECK (provider_id IN ('codex', 'claude-code')),
|
|
964
|
+
assistant_butler_session_id TEXT NOT NULL,
|
|
965
|
+
assistant_session_id TEXT NOT NULL,
|
|
908
966
|
created_by_user_id TEXT NOT NULL,
|
|
909
967
|
objective TEXT NOT NULL,
|
|
910
968
|
completion_criteria TEXT NOT NULL DEFAULT '',
|
|
@@ -929,6 +987,8 @@ CREATE TABLE IF NOT EXISTS butler_follow_up_tasks (
|
|
|
929
987
|
FOREIGN KEY (project_id) REFERENCES butler_projects(id) ON DELETE CASCADE,
|
|
930
988
|
FOREIGN KEY (butler_session_id) REFERENCES butler_sessions(id) ON DELETE CASCADE,
|
|
931
989
|
FOREIGN KEY (session_id) REFERENCES session_bindings(session_id) ON DELETE CASCADE,
|
|
990
|
+
FOREIGN KEY (assistant_butler_session_id) REFERENCES butler_sessions(id) ON DELETE CASCADE,
|
|
991
|
+
FOREIGN KEY (assistant_session_id) REFERENCES session_bindings(session_id) ON DELETE CASCADE,
|
|
932
992
|
FOREIGN KEY (created_by_user_id) REFERENCES auth_users(id)
|
|
933
993
|
);
|
|
934
994
|
|
|
@@ -1085,6 +1145,7 @@ CREATE INDEX IF NOT EXISTS idx_verification_runs_project_status
|
|
|
1085
1145
|
|
|
1086
1146
|
CREATE TABLE IF NOT EXISTS instance_tailscale_config (
|
|
1087
1147
|
id TEXT PRIMARY KEY CHECK (id = 'default'),
|
|
1148
|
+
activated INTEGER NOT NULL DEFAULT 0 CHECK (activated IN (0, 1)),
|
|
1088
1149
|
enabled INTEGER NOT NULL DEFAULT 0 CHECK (enabled IN (0, 1)),
|
|
1089
1150
|
control_server_url TEXT,
|
|
1090
1151
|
hostname TEXT,
|
|
@@ -1118,20 +1179,77 @@ CREATE TABLE IF NOT EXISTS instance_tailscale_status (
|
|
|
1118
1179
|
observed_at TEXT
|
|
1119
1180
|
);
|
|
1120
1181
|
|
|
1182
|
+
CREATE TABLE IF NOT EXISTS instance_relay_tunnel_config (
|
|
1183
|
+
id TEXT PRIMARY KEY CHECK (id = 'default'),
|
|
1184
|
+
activated INTEGER NOT NULL DEFAULT 0 CHECK (activated IN (0, 1)),
|
|
1185
|
+
enabled INTEGER NOT NULL DEFAULT 0 CHECK (enabled IN (0, 1)),
|
|
1186
|
+
provider TEXT NOT NULL CHECK (provider = 'codingns_relay'),
|
|
1187
|
+
relay_base_url TEXT,
|
|
1188
|
+
control_base_url TEXT,
|
|
1189
|
+
control_access_token_ciphertext TEXT,
|
|
1190
|
+
control_account_email TEXT,
|
|
1191
|
+
control_session_expires_at TEXT,
|
|
1192
|
+
account_id TEXT,
|
|
1193
|
+
tunnel_domain TEXT,
|
|
1194
|
+
binding_id TEXT,
|
|
1195
|
+
host_public_key TEXT,
|
|
1196
|
+
host_key_fingerprint TEXT,
|
|
1197
|
+
local_target_base_url TEXT NOT NULL,
|
|
1198
|
+
local_target_source TEXT NOT NULL DEFAULT 'default' CHECK (local_target_source IN ('default', 'custom')),
|
|
1199
|
+
updated_at TEXT NOT NULL
|
|
1200
|
+
);
|
|
1201
|
+
|
|
1202
|
+
CREATE TABLE IF NOT EXISTS instance_relay_tunnel_identity (
|
|
1203
|
+
id TEXT PRIMARY KEY CHECK (id = 'default'),
|
|
1204
|
+
key_algorithm TEXT NOT NULL CHECK (key_algorithm = 'x25519'),
|
|
1205
|
+
private_key_pem TEXT NOT NULL,
|
|
1206
|
+
public_key_pem TEXT NOT NULL,
|
|
1207
|
+
key_fingerprint TEXT NOT NULL,
|
|
1208
|
+
created_at TEXT NOT NULL,
|
|
1209
|
+
updated_at TEXT NOT NULL
|
|
1210
|
+
);
|
|
1211
|
+
|
|
1212
|
+
CREATE TABLE IF NOT EXISTS instance_relay_tunnel_status (
|
|
1213
|
+
id TEXT PRIMARY KEY CHECK (id = 'default'),
|
|
1214
|
+
phase TEXT NOT NULL CHECK (
|
|
1215
|
+
phase IN (
|
|
1216
|
+
'disabled',
|
|
1217
|
+
'blocked_uninitialized',
|
|
1218
|
+
'unbound',
|
|
1219
|
+
'binding',
|
|
1220
|
+
'connecting',
|
|
1221
|
+
'running',
|
|
1222
|
+
'quota_exhausted',
|
|
1223
|
+
'error'
|
|
1224
|
+
)
|
|
1225
|
+
),
|
|
1226
|
+
connected INTEGER NOT NULL DEFAULT 0 CHECK (connected IN (0, 1)),
|
|
1227
|
+
binding_id TEXT,
|
|
1228
|
+
tunnel_domain TEXT,
|
|
1229
|
+
host_fingerprint TEXT,
|
|
1230
|
+
traffic_used_bytes TEXT,
|
|
1231
|
+
traffic_remaining_bytes TEXT,
|
|
1232
|
+
quota_reset_at TEXT,
|
|
1233
|
+
last_error TEXT,
|
|
1234
|
+
observed_at TEXT
|
|
1235
|
+
);
|
|
1236
|
+
|
|
1121
1237
|
CREATE TABLE IF NOT EXISTS managed_skills (
|
|
1122
1238
|
id TEXT PRIMARY KEY,
|
|
1123
1239
|
name TEXT NOT NULL,
|
|
1124
|
-
|
|
1240
|
+
scope TEXT NOT NULL CHECK (scope IN ('workspace', 'assistant')),
|
|
1241
|
+
directory_name TEXT NOT NULL,
|
|
1125
1242
|
source_type TEXT NOT NULL CHECK (source_type IN ('builtin', 'local-import', 'managed-copy')),
|
|
1126
1243
|
source_path TEXT,
|
|
1127
1244
|
content_hash TEXT NOT NULL,
|
|
1128
1245
|
managed_state TEXT NOT NULL CHECK (managed_state IN ('active', 'conflicted', 'missing')),
|
|
1129
1246
|
created_at TEXT NOT NULL,
|
|
1130
|
-
updated_at TEXT NOT NULL
|
|
1247
|
+
updated_at TEXT NOT NULL,
|
|
1248
|
+
UNIQUE(scope, directory_name)
|
|
1131
1249
|
);
|
|
1132
1250
|
|
|
1133
1251
|
CREATE INDEX IF NOT EXISTS idx_managed_skills_state
|
|
1134
|
-
ON managed_skills(managed_state, updated_at DESC);
|
|
1252
|
+
ON managed_skills(scope, managed_state, updated_at DESC);
|
|
1135
1253
|
|
|
1136
1254
|
CREATE TABLE IF NOT EXISTS skill_target_bindings (
|
|
1137
1255
|
skill_id TEXT NOT NULL,
|
|
@@ -25,10 +25,45 @@ export interface AuthTokenRecord {
|
|
|
25
25
|
userId: string;
|
|
26
26
|
tokenType: "access" | "refresh";
|
|
27
27
|
tokenHash: string;
|
|
28
|
+
deviceSessionId: string | null;
|
|
29
|
+
callerKind: "interactive_user" | "assistant_runtime" | null;
|
|
28
30
|
expiresAt: string;
|
|
29
31
|
revokedAt: string | null;
|
|
30
32
|
createdAt: string;
|
|
31
33
|
}
|
|
34
|
+
export type AuthClientType = "desktop" | "web" | "ios" | "android" | "unknown";
|
|
35
|
+
export interface AuthDeviceRecord {
|
|
36
|
+
id: string;
|
|
37
|
+
userId: string;
|
|
38
|
+
clientType: AuthClientType;
|
|
39
|
+
clientInstanceId: string | null;
|
|
40
|
+
displayName: string | null;
|
|
41
|
+
userAgent: string | null;
|
|
42
|
+
isPrimary: boolean;
|
|
43
|
+
lastSourceAddress: string | null;
|
|
44
|
+
lastSeenAt: string;
|
|
45
|
+
primarySetAt: string | null;
|
|
46
|
+
createdAt: string;
|
|
47
|
+
updatedAt: string;
|
|
48
|
+
}
|
|
49
|
+
export interface AuthDeviceSessionRecord {
|
|
50
|
+
id: string;
|
|
51
|
+
userId: string;
|
|
52
|
+
deviceId: string | null;
|
|
53
|
+
accessTokenId: string | null;
|
|
54
|
+
refreshTokenId: string | null;
|
|
55
|
+
revokedAt: string | null;
|
|
56
|
+
createdAt: string;
|
|
57
|
+
updatedAt: string;
|
|
58
|
+
}
|
|
59
|
+
export interface AuthLoginEventRecord {
|
|
60
|
+
id: string;
|
|
61
|
+
userId: string;
|
|
62
|
+
deviceId: string | null;
|
|
63
|
+
clientType: AuthClientType;
|
|
64
|
+
sourceAddress: string | null;
|
|
65
|
+
occurredAt: string;
|
|
66
|
+
}
|
|
32
67
|
export interface AuthLoginAttemptRecord {
|
|
33
68
|
username: string;
|
|
34
69
|
failedAttemptCount: number;
|
|
@@ -316,7 +351,7 @@ export type AssistantAutomationStatus = "active" | "paused" | "completed" | "can
|
|
|
316
351
|
export type AssistantAutomationTriggerType = "once" | "interval" | "cron" | "condition";
|
|
317
352
|
export type AssistantAutomationActionType = "send_control_message";
|
|
318
353
|
export type AssistantAutomationRunStatus = "queued" | "running" | "succeeded" | "failed" | "cancelled" | "skipped";
|
|
319
|
-
export type AssistantSandboxStatus = "active" | "archived" | "expired" | "deleted";
|
|
354
|
+
export type AssistantSandboxStatus = "active" | "archived" | "expired" | "orphaned" | "deleted";
|
|
320
355
|
export type AssistantSandboxSourceKind = "blank" | "clone";
|
|
321
356
|
export type AssistantSandboxVisibility = "assistant_only" | "pinned";
|
|
322
357
|
export type ButlerControlEventKind = "action";
|
|
@@ -542,6 +577,9 @@ export interface ButlerFollowUpTask {
|
|
|
542
577
|
projectId: string;
|
|
543
578
|
butlerSessionId: string;
|
|
544
579
|
sessionId: string;
|
|
580
|
+
providerId: ButlerProfileProviderId;
|
|
581
|
+
assistantButlerSessionId: string;
|
|
582
|
+
assistantSessionId: string;
|
|
545
583
|
createdByUserId: string;
|
|
546
584
|
objective: string;
|
|
547
585
|
completionCriteria: string;
|
|
@@ -972,12 +1010,14 @@ export interface TerminalTemplateRuntimeStatus {
|
|
|
972
1010
|
terminationScope?: "process" | "process_group" | null;
|
|
973
1011
|
}
|
|
974
1012
|
export type SkillSourceType = "builtin" | "local-import" | "managed-copy";
|
|
1013
|
+
export type SkillScope = "workspace" | "assistant";
|
|
975
1014
|
export type ManagedSkillState = "active" | "conflicted" | "missing";
|
|
976
1015
|
export type SkillTargetCli = "codex" | "claude-code" | "gemini" | "opencode";
|
|
977
1016
|
export type SkillTargetSyncStatus = "synced" | "pending" | "failed" | "conflicted";
|
|
978
1017
|
export interface ManagedSkillRecord {
|
|
979
1018
|
id: string;
|
|
980
1019
|
name: string;
|
|
1020
|
+
scope: SkillScope;
|
|
981
1021
|
directoryName: string;
|
|
982
1022
|
sourceType: SkillSourceType;
|
|
983
1023
|
sourcePath: string | null;
|
|
@@ -1023,6 +1063,7 @@ export interface SkillScanResult {
|
|
|
1023
1063
|
}
|
|
1024
1064
|
export type TailscalePhase = "disabled" | "blocked_uninitialized" | "starting" | "needs_login" | "running" | "stopping" | "error";
|
|
1025
1065
|
export interface InstanceTailscaleConfig {
|
|
1066
|
+
activated: boolean;
|
|
1026
1067
|
enabled: boolean;
|
|
1027
1068
|
controlServerUrl: string | null;
|
|
1028
1069
|
hostname: string | null;
|
|
@@ -1043,3 +1084,52 @@ export interface InstanceTailscaleStatus {
|
|
|
1043
1084
|
lastError: string | null;
|
|
1044
1085
|
observedAt: string | null;
|
|
1045
1086
|
}
|
|
1087
|
+
export type RelayTunnelProvider = "codingns_relay";
|
|
1088
|
+
export type HostCandidateEndpointKind = "relay" | "lan" | "loopback" | "tailscale" | "custom";
|
|
1089
|
+
export interface HostCandidateEndpoint {
|
|
1090
|
+
endpointId: string;
|
|
1091
|
+
kind: HostCandidateEndpointKind;
|
|
1092
|
+
url: string;
|
|
1093
|
+
priority: number;
|
|
1094
|
+
expiresAt: string | null;
|
|
1095
|
+
source: "host_reported" | "desktop_scan" | "user_saved";
|
|
1096
|
+
}
|
|
1097
|
+
export type RelayTunnelPhase = "disabled" | "blocked_uninitialized" | "unbound" | "binding" | "connecting" | "running" | "quota_exhausted" | "error";
|
|
1098
|
+
export interface InstanceRelayTunnelConfig {
|
|
1099
|
+
activated: boolean;
|
|
1100
|
+
enabled: boolean;
|
|
1101
|
+
provider: RelayTunnelProvider;
|
|
1102
|
+
relayBaseUrl: string | null;
|
|
1103
|
+
controlBaseUrl: string | null;
|
|
1104
|
+
controlAccessTokenCiphertext: string | null;
|
|
1105
|
+
controlAccountEmail: string | null;
|
|
1106
|
+
controlSessionExpiresAt: string | null;
|
|
1107
|
+
accountId: string | null;
|
|
1108
|
+
tunnelDomain: string | null;
|
|
1109
|
+
bindingId: string | null;
|
|
1110
|
+
hostPublicKey: string | null;
|
|
1111
|
+
hostKeyFingerprint: string | null;
|
|
1112
|
+
localTargetBaseUrl: string;
|
|
1113
|
+
localTargetBaseUrlSource?: "default" | "custom";
|
|
1114
|
+
updatedAt: string;
|
|
1115
|
+
}
|
|
1116
|
+
export interface InstanceRelayTunnelIdentity {
|
|
1117
|
+
keyAlgorithm: "x25519";
|
|
1118
|
+
privateKeyPem: string;
|
|
1119
|
+
publicKeyPem: string;
|
|
1120
|
+
keyFingerprint: string;
|
|
1121
|
+
createdAt: string;
|
|
1122
|
+
updatedAt: string;
|
|
1123
|
+
}
|
|
1124
|
+
export interface InstanceRelayTunnelStatus {
|
|
1125
|
+
phase: RelayTunnelPhase;
|
|
1126
|
+
connected: boolean;
|
|
1127
|
+
bindingId: string | null;
|
|
1128
|
+
tunnelDomain: string | null;
|
|
1129
|
+
hostFingerprint: string | null;
|
|
1130
|
+
trafficUsedBytes: string | null;
|
|
1131
|
+
trafficRemainingBytes: string | null;
|
|
1132
|
+
quotaResetAt: string | null;
|
|
1133
|
+
lastError: string | null;
|
|
1134
|
+
observedAt: string | null;
|
|
1135
|
+
}
|