@jingyi0605/codingns 0.5.1 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/public/assets/{AdaptiveButlerPage-SffCV4Vb.js → AdaptiveButlerPage-CUyNL98E.js} +1 -1
- package/dist/public/assets/App-BFP7LCSC.js +30 -0
- package/dist/public/assets/{BootstrapPage--zExdgfM.js → BootstrapPage-G74dX2Us.js} +1 -1
- package/dist/public/assets/ConversationPage-Bz0_tvvM.js +2 -0
- package/dist/public/assets/{DesktopDetachPreviewPage-DvI9CIKi.js → DesktopDetachPreviewPage-IV7oEdOX.js} +1 -1
- package/dist/public/assets/DesktopWindowPage-BBmHyRg5.js +2 -0
- package/dist/public/assets/FileContextPanel--FVTxDrq.js +1 -0
- package/dist/public/assets/GitSidebar-DAiSi9oc.js +6 -0
- package/dist/public/assets/{MobileCreateSessionSheet-CXSKMnYn.js → MobileCreateSessionSheet-DqVwz_Hp.js} +1 -1
- package/dist/public/assets/MobileSheet-D1lMrcvD.js +1 -0
- package/dist/public/assets/{MobileTopHeaderFrame-BWorAJ1C.js → MobileTopHeaderFrame-COTc7cRr.js} +1 -1
- package/dist/public/assets/{MobileWorkspaceSwitcherHeader-DOr4pTUq.js → MobileWorkspaceSwitcherHeader-DJPV9ym2.js} +1 -1
- package/dist/public/assets/RelayConnectEntryPage-dSwU8VzK.js +1 -0
- package/dist/public/assets/{ServerSettingsModal-BYB0GvTl.js → ServerSettingsModal-B34ms3ze.js} +1 -1
- package/dist/public/assets/{SessionIndexPage-CR3IARXX.js → SessionIndexPage-D3tG1gmM.js} +1 -1
- package/dist/public/assets/SettingsPage-B3-6-5GL.js +1 -0
- package/dist/public/assets/{TerminalManagerPanel-PQ-EM64j.js → TerminalManagerPanel-DhuTEdzV.js} +1 -1
- package/dist/public/assets/{TerminalPage-CvnHXBhw.js → TerminalPage-DpsvQQVR.js} +19 -19
- package/dist/public/assets/{TerminalRuntimeFallbackModal-D7Aq186N.js → TerminalRuntimeFallbackModal-CNzOt5v5.js} +1 -1
- package/dist/public/assets/{ToolFilesPage-Qzkc6K2I.js → ToolFilesPage-BX9QDi9Y.js} +1 -1
- package/dist/public/assets/{ToolGitPage-BdNDN-cV.js → ToolGitPage-4VtFox3p.js} +1 -1
- package/dist/public/assets/{ToolProcessesPage-EXJ9DHWI.js → ToolProcessesPage-DZJC6Qnt.js} +1 -1
- package/dist/public/assets/{ToolsHomePage-CjF3CWzR.js → ToolsHomePage-D7JbrAWv.js} +1 -1
- package/dist/public/assets/{WorkbenchLandingPage-DZPk4SmX.js → WorkbenchLandingPage-C0yqnzqh.js} +1 -1
- package/dist/public/assets/WorkbenchLayout-Brlj8K3i.js +3 -0
- package/dist/public/assets/{WorkbenchModal-B09hC9b5.js → WorkbenchModal-CbDxaCOR.js} +1 -1
- package/dist/public/assets/{WorkbenchShellRoute-DsW4mBTX.css → WorkbenchShellRoute-BMcnFadA.css} +1 -1
- package/dist/public/assets/WorkbenchShellRoute-puGpdDFY.js +1 -0
- package/dist/public/assets/{WorkspaceDebugDetailPage-Bcq8s-Ma.js → WorkspaceDebugDetailPage-fTGweC9N.js} +1 -1
- package/dist/public/assets/{WorkspaceDetailPage-DNAa8pKr.js → WorkspaceDetailPage-BtaIzSDB.js} +1 -1
- package/dist/public/assets/{WorkspaceHomePage-BoiLuACV.js → WorkspaceHomePage-CUmmYDrM.js} +1 -1
- package/dist/public/assets/{client-runtime-manager-CRQ-F5d2.js → client-runtime-manager-RHFa_iWo.js} +1 -1
- package/dist/public/assets/{default-session-permission-mode-D0wZ9Jek.js → default-session-permission-mode-Cu5SreTG.js} +1 -1
- package/dist/public/assets/file-tree-icon-BMKuc5pw.js +31 -0
- package/dist/public/assets/index-Cq3ue0za.css +1 -0
- package/dist/public/assets/index-DEbFT-Aq.js +42 -0
- package/dist/public/assets/{preferences-service-gOt2ZjKZ.js → preferences-service-gv_9vGKz.js} +1 -1
- package/dist/public/assets/session-runtime-machine-Bfnxkk9B.js +17 -0
- package/dist/public/assets/{terminal-runtime-meta-BMT-rSEe.js → terminal-runtime-meta-B9xJGY__.js} +1 -1
- package/dist/public/assets/{useRegisteredDebugTemplates-zMcEOGca.js → useRegisteredDebugTemplates-CDfl54Wt.js} +1 -1
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.d.ts +1 -0
- package/dist/server/config/env.js +36 -0
- package/dist/server/config/env.js.map +1 -1
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.d.ts +16 -1
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-packets.js.map +1 -1
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.d.ts +2 -1
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js +18 -0
- package/dist/server/modules/relay-tunnel/crypto/relay-tunnel-protocol.js.map +1 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-client-context.d.ts +13 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-client-context.js +2 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-client-context.js.map +1 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.d.ts +6 -0
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js +110 -10
- package/dist/server/modules/relay-tunnel/relay-tunnel-gateway-service.js.map +1 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.d.ts +16 -4
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js +216 -101
- package/dist/server/modules/relay-tunnel/relay-tunnel-runtime-adapter.js.map +1 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.d.ts +4 -1
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js +256 -34
- package/dist/server/modules/relay-tunnel/relay-tunnel-service.js.map +1 -1
- package/dist/server/modules/sessions/session-activity-inspector.js +6 -8
- package/dist/server/modules/sessions/session-activity-inspector.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +1 -0
- package/dist/server/modules/sessions/session-history-service.js +62 -7
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/workbench/workbench-service.d.ts +32 -2
- package/dist/server/modules/workbench/workbench-service.js +36 -2
- package/dist/server/modules/workbench/workbench-service.js.map +1 -1
- package/dist/server/server/create-server.js +10 -5
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/ws/workbench-ws-hub.js +166 -16
- package/dist/server/ws/workbench-ws-hub.js.map +1 -1
- package/dist/server/ws/ws-server.js +141 -8
- package/dist/server/ws/ws-server.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +33 -6
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +78 -36
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
- package/package.json +1 -1
- package/dist/public/assets/App-WOLwMld_.js +0 -30
- package/dist/public/assets/ConversationPage-D9pzRmOg.js +0 -2
- package/dist/public/assets/DesktopWindowPage-D8FpOSLE.js +0 -2
- package/dist/public/assets/FileContextPanel-C8T7oqRN.js +0 -1
- package/dist/public/assets/GitSidebar-Bze7DNnc.js +0 -6
- package/dist/public/assets/MobileSheet-Gzc14EpR.js +0 -1
- package/dist/public/assets/SettingsPage-B_BQtnwE.js +0 -1
- package/dist/public/assets/WorkbenchLayout-rwQib5In.js +0 -3
- package/dist/public/assets/WorkbenchShellRoute-Cerk5uK7.js +0 -1
- package/dist/public/assets/file-tree-icon-Dp_xhVfD.js +0 -31
- package/dist/public/assets/index-C2G8Gmf1.js +0 -42
- package/dist/public/assets/index-CpPTUeA3.css +0 -1
- package/dist/public/assets/session-runtime-machine-Dq3pW-UF.js +0 -17
|
@@ -10,12 +10,12 @@ import { type TaskHandle } from "../tasks/task-types.js";
|
|
|
10
10
|
export interface WorkbenchWorktreeNode {
|
|
11
11
|
workspace: Workspace;
|
|
12
12
|
meta: WorkspaceWorktreeRecord;
|
|
13
|
-
sessions:
|
|
13
|
+
sessions: WorkbenchSessionSummary[];
|
|
14
14
|
children: WorkbenchWorktreeNode[];
|
|
15
15
|
}
|
|
16
16
|
export interface WorkbenchSnapshotItem {
|
|
17
17
|
workspace: Workspace;
|
|
18
|
-
sessions:
|
|
18
|
+
sessions: WorkbenchSessionSummary[];
|
|
19
19
|
childWorktrees?: WorkbenchWorktreeNode[];
|
|
20
20
|
collapsed: boolean;
|
|
21
21
|
}
|
|
@@ -48,3 +48,33 @@ export declare class WorkbenchService {
|
|
|
48
48
|
private filterButlerControlSessions;
|
|
49
49
|
private buildChildWorktrees;
|
|
50
50
|
}
|
|
51
|
+
interface WorkbenchSessionSummary {
|
|
52
|
+
sessionId: string;
|
|
53
|
+
workspaceId: string;
|
|
54
|
+
provider: SessionListItem["provider"];
|
|
55
|
+
parentSessionId?: string | null;
|
|
56
|
+
sessionKind?: SessionListItem["sessionKind"];
|
|
57
|
+
forkMethod?: SessionListItem["forkMethod"];
|
|
58
|
+
forkSourceType?: SessionListItem["forkSourceType"];
|
|
59
|
+
inheritedPrefixMessageCount?: number | null;
|
|
60
|
+
isSubagent?: boolean;
|
|
61
|
+
subagentLabel?: string | null;
|
|
62
|
+
isArchived: boolean;
|
|
63
|
+
isFavorite: boolean;
|
|
64
|
+
title: string;
|
|
65
|
+
messageCount: number;
|
|
66
|
+
lastMessageAt: string | null;
|
|
67
|
+
createdAt: string;
|
|
68
|
+
updatedAt: string;
|
|
69
|
+
syncStatus: SessionListItem["syncStatus"];
|
|
70
|
+
lastErrorCode: string | null;
|
|
71
|
+
lastErrorDetail: string | null;
|
|
72
|
+
runningState: SessionListItem["runningState"];
|
|
73
|
+
activitySource: SessionListItem["activitySource"];
|
|
74
|
+
activityResolutionSource?: SessionListItem["activityResolutionSource"];
|
|
75
|
+
lastEventAt: string | null;
|
|
76
|
+
completedAt: string | null;
|
|
77
|
+
lastSeenAt: string | null;
|
|
78
|
+
activityState: SessionListItem["activityState"];
|
|
79
|
+
}
|
|
80
|
+
export {};
|
|
@@ -35,7 +35,7 @@ export class WorkbenchService {
|
|
|
35
35
|
return withSnapshotRevision({
|
|
36
36
|
items: workspaces.map((workspace) => ({
|
|
37
37
|
workspace: applyWorkspaceNavigationState(workspace, navigationStateByWorkspaceId.get(workspace.id)),
|
|
38
|
-
sessions: this.filterButlerControlSessions(this.sessionHistoryService.listWorkspaceSessions(workspace.id, userId)),
|
|
38
|
+
sessions: projectWorkbenchSessions(this.filterButlerControlSessions(this.sessionHistoryService.listWorkspaceSessions(workspace.id, userId))),
|
|
39
39
|
childWorktrees: this.buildChildWorktrees(workspace.id, workspaceById, navigationStateByWorkspaceId, userId),
|
|
40
40
|
collapsed: collapsedWorkspaceIdSet.has(workspace.id)
|
|
41
41
|
}))
|
|
@@ -137,7 +137,7 @@ export class WorkbenchService {
|
|
|
137
137
|
nodeByWorkspaceId.set(record.workspaceId, {
|
|
138
138
|
workspace: applyWorkspaceNavigationState(workspace, navigationStateByWorkspaceId.get(record.workspaceId) ?? null),
|
|
139
139
|
meta: record,
|
|
140
|
-
sessions: this.filterButlerControlSessions(this.sessionHistoryService.listWorkspaceSessions(workspace.id, userId)),
|
|
140
|
+
sessions: projectWorkbenchSessions(this.filterButlerControlSessions(this.sessionHistoryService.listWorkspaceSessions(workspace.id, userId))),
|
|
141
141
|
children: []
|
|
142
142
|
});
|
|
143
143
|
}
|
|
@@ -180,4 +180,38 @@ function countWorkbenchSessions(item) {
|
|
|
180
180
|
function countWorktreeNodeSessions(node) {
|
|
181
181
|
return node.sessions.length + node.children.reduce((total, child) => total + countWorktreeNodeSessions(child), 0);
|
|
182
182
|
}
|
|
183
|
+
function projectWorkbenchSessions(sessions) {
|
|
184
|
+
return sessions.map(projectWorkbenchSession);
|
|
185
|
+
}
|
|
186
|
+
function projectWorkbenchSession(session) {
|
|
187
|
+
return {
|
|
188
|
+
sessionId: session.sessionId,
|
|
189
|
+
workspaceId: session.workspaceId,
|
|
190
|
+
provider: session.provider,
|
|
191
|
+
parentSessionId: session.parentSessionId ?? null,
|
|
192
|
+
sessionKind: session.sessionKind,
|
|
193
|
+
forkMethod: session.forkMethod ?? null,
|
|
194
|
+
forkSourceType: session.forkSourceType ?? null,
|
|
195
|
+
inheritedPrefixMessageCount: session.inheritedPrefixMessageCount ?? null,
|
|
196
|
+
isSubagent: session.isSubagent ?? false,
|
|
197
|
+
subagentLabel: session.subagentLabel ?? null,
|
|
198
|
+
isArchived: session.isArchived,
|
|
199
|
+
isFavorite: session.isFavorite,
|
|
200
|
+
title: session.title,
|
|
201
|
+
messageCount: session.messageCount,
|
|
202
|
+
lastMessageAt: session.lastMessageAt,
|
|
203
|
+
createdAt: session.createdAt,
|
|
204
|
+
updatedAt: session.updatedAt,
|
|
205
|
+
syncStatus: session.syncStatus,
|
|
206
|
+
lastErrorCode: session.lastErrorCode,
|
|
207
|
+
lastErrorDetail: session.lastErrorDetail,
|
|
208
|
+
runningState: session.runningState,
|
|
209
|
+
activitySource: session.activitySource,
|
|
210
|
+
activityResolutionSource: session.activityResolutionSource,
|
|
211
|
+
lastEventAt: session.lastEventAt,
|
|
212
|
+
completedAt: session.completedAt,
|
|
213
|
+
lastSeenAt: session.lastSeenAt,
|
|
214
|
+
activityState: session.activityState
|
|
215
|
+
};
|
|
216
|
+
}
|
|
183
217
|
//# sourceMappingURL=workbench-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbench-service.js","sourceRoot":"","sources":["../../../../src/modules/workbench/workbench-service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAOhE,OAAO,EAAE,iBAAiB,EAAoB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAmB,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAC5C,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAqBzC,MAAM,OAAO,gBAAgB;IAIR;IACA;IACA;IACA;IACA;IACA;IARF,WAAW,CAAc;IAE1C,YACmB,mBAAwC,EACxC,kCAAsE,EACtE,qBAA4C,EAC5C,oBAA8D,EAC9D,8BAAsF,EACtF,2BAGhB,EACD,cAA2B,iBAAiB,EAAE;QAT7B,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,uCAAkC,GAAlC,kCAAkC,CAAoC;QACtE,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,yBAAoB,GAApB,oBAAoB,CAA0C;QAC9D,mCAA8B,GAA9B,8BAA8B,CAAwD;QACtF,gCAA2B,GAA3B,2BAA2B,CAG3C;QAGD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAU,CAAC,CAAC,CAAC;QACpG,MAAM,gBAAgB,GAAG,IAAI,CAAC,kCAAkC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAC1C,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAU,CAAC,CAClE,CAAC;QAEF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CACrC,gBAAgB;aACb,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;aAChC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CACnC,CAAC;QAEF,OAAO,oBAAoB,CAAC;YAC1B,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACpC,SAAS,EAAE,6BAA6B,CAAC,SAAS,EAAE,4BAA4B,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACnG,QAAQ,EAAE,IAAI,CAAC,2BAA2B,
|
|
1
|
+
{"version":3,"file":"workbench-service.js","sourceRoot":"","sources":["../../../../src/modules/workbench/workbench-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -329,6 +329,8 @@ export function createServer(config) {
|
|
|
329
329
|
databasePath: config.databasePath
|
|
330
330
|
});
|
|
331
331
|
const relayTunnelService = new RelayTunnelService(database.db, repositories.bootstrapStateRepository, repositories.instanceRelayTunnelIdentityRepository, repositories.instanceRelayTunnelRepository, {
|
|
332
|
+
// 开发态默认回源到 user-app Vite 入口,由它继续代理 /api 和 /ws 到 Host。
|
|
333
|
+
// 正式 npm 包由 Host 自己托管前端,此时 webUiPort 会和 --port 一致。
|
|
332
334
|
defaultLocalTargetBaseUrl: `http://127.0.0.1:${config.webUiPort}`,
|
|
333
335
|
legacyLocalTargetBaseUrl: config.webUiPort !== config.port
|
|
334
336
|
? `http://127.0.0.1:${config.port}`
|
|
@@ -526,7 +528,7 @@ export function createServer(config) {
|
|
|
526
528
|
templateReverseProxyService.handleWebSocketUpgrade(request, socket, head);
|
|
527
529
|
});
|
|
528
530
|
app.addHook("onRequest", async (request, reply) => {
|
|
529
|
-
applyCorsHeaders(request.headers.origin, reply, config.demoMode);
|
|
531
|
+
applyCorsHeaders(request.headers.origin, reply, config.demoMode, config.allowedCorsOrigins);
|
|
530
532
|
if (request.method === "OPTIONS") {
|
|
531
533
|
reply.code(204).send();
|
|
532
534
|
return reply;
|
|
@@ -556,7 +558,7 @@ export function createServer(config) {
|
|
|
556
558
|
if (shuttingDown) {
|
|
557
559
|
return;
|
|
558
560
|
}
|
|
559
|
-
console.error("[startup-recovery]
|
|
561
|
+
console.error("[startup-recovery] CodingNS Connect 启动恢复失败", {
|
|
560
562
|
error: error instanceof Error ? error.message : String(error)
|
|
561
563
|
});
|
|
562
564
|
});
|
|
@@ -686,8 +688,8 @@ export function createServer(config) {
|
|
|
686
688
|
startWs: () => wsHandle
|
|
687
689
|
};
|
|
688
690
|
}
|
|
689
|
-
function applyCorsHeaders(origin, reply, demoMode) {
|
|
690
|
-
const allowedOrigin = resolveAllowedCorsOrigin(origin, demoMode);
|
|
691
|
+
function applyCorsHeaders(origin, reply, demoMode, extraAllowedOrigins) {
|
|
692
|
+
const allowedOrigin = resolveAllowedCorsOrigin(origin, demoMode, extraAllowedOrigins);
|
|
691
693
|
if (!allowedOrigin) {
|
|
692
694
|
return;
|
|
693
695
|
}
|
|
@@ -705,7 +707,7 @@ const CORS_ALLOWED_HEADERS = [
|
|
|
705
707
|
"x-codingns-assistant-source",
|
|
706
708
|
"x-codingns-hook-token"
|
|
707
709
|
].join(", ");
|
|
708
|
-
function resolveAllowedCorsOrigin(origin, demoMode) {
|
|
710
|
+
function resolveAllowedCorsOrigin(origin, demoMode, extraAllowedOrigins) {
|
|
709
711
|
if (!origin) {
|
|
710
712
|
return null;
|
|
711
713
|
}
|
|
@@ -730,6 +732,9 @@ function resolveAllowedCorsOrigin(origin, demoMode) {
|
|
|
730
732
|
hostname === "tauri.localhost")) {
|
|
731
733
|
return origin;
|
|
732
734
|
}
|
|
735
|
+
if (extraAllowedOrigins.includes(parsed.origin)) {
|
|
736
|
+
return parsed.origin;
|
|
737
|
+
}
|
|
733
738
|
return null;
|
|
734
739
|
}
|
|
735
740
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-server.js","sourceRoot":"","sources":["../../../src/server/create-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-server.js","sourceRoot":"","sources":["../../../src/server/create-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AppError } from "../shared/errors/app-error.js";
|
|
2
|
+
import { logPerformance } from "../shared/utils/perf-log.js";
|
|
2
3
|
import { logTerminalDebug, terminalDebugNowMs } from "../shared/utils/terminal-debug-log.js";
|
|
3
4
|
const WORKBENCH_REFRESH_INTERVAL_MS = 60_000;
|
|
4
5
|
const GIT_SUBSCRIPTION_MIN_REFRESH_INTERVAL_MS = 15_000;
|
|
@@ -187,21 +188,42 @@ export class WorkbenchWsHub {
|
|
|
187
188
|
}
|
|
188
189
|
channel.realtimeBroadcastQueued = false;
|
|
189
190
|
channel.realtimeBroadcastTask = (async () => {
|
|
191
|
+
const startedAt = Date.now();
|
|
190
192
|
const startedAtMs = terminalDebugNowMs();
|
|
191
193
|
try {
|
|
194
|
+
const snapshotStartedAt = Date.now();
|
|
192
195
|
const snapshot = this.workbenchService.getSnapshot(userId);
|
|
193
|
-
const
|
|
194
|
-
|
|
196
|
+
const snapshotMs = Date.now() - snapshotStartedAt;
|
|
197
|
+
const serializeStartedAt = Date.now();
|
|
198
|
+
const payload = buildWorkbenchBroadcastPayload(channel.lastWorkbenchSnapshot, snapshot);
|
|
199
|
+
const serializeMs = Date.now() - serializeStartedAt;
|
|
200
|
+
if (snapshot.revision === channel.lastWorkbenchRevision) {
|
|
195
201
|
return;
|
|
196
202
|
}
|
|
197
203
|
channel.lastWorkbenchPayload = payload;
|
|
198
204
|
channel.lastWorkbenchRevision = snapshot.revision;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
205
|
+
channel.lastWorkbenchSnapshot = snapshot;
|
|
206
|
+
const sessionCount = snapshot.items.reduce((total, item) => total + countWorkbenchSessions(item), 0);
|
|
207
|
+
const broadcastMetric = broadcastSerializedPayload(channel.clients, payload);
|
|
208
|
+
logPerformance("ws.workbench.realtime_broadcast", Date.now() - startedAt, {
|
|
209
|
+
userId,
|
|
210
|
+
clientCount: channel.clients.size,
|
|
211
|
+
workspaceCount: snapshot.items.length,
|
|
212
|
+
sessionCount,
|
|
213
|
+
snapshotMs,
|
|
214
|
+
serializeMs,
|
|
215
|
+
payloadBytes: broadcastMetric.payloadBytes,
|
|
216
|
+
sendMs: broadcastMetric.sendMs,
|
|
217
|
+
maxBufferedAmount: broadcastMetric.maxBufferedAmount
|
|
218
|
+
}, {
|
|
219
|
+
thresholdMs: 0,
|
|
220
|
+
force: true
|
|
221
|
+
});
|
|
202
222
|
logTerminalDebug("workbench.realtime_broadcast.completed", {
|
|
203
223
|
userId,
|
|
204
224
|
clientCount: channel.clients.size,
|
|
225
|
+
payloadBytes: broadcastMetric.payloadBytes,
|
|
226
|
+
maxBufferedAmount: broadcastMetric.maxBufferedAmount,
|
|
205
227
|
durationMs: terminalDebugNowMs() - startedAtMs
|
|
206
228
|
});
|
|
207
229
|
}
|
|
@@ -268,6 +290,7 @@ export class WorkbenchWsHub {
|
|
|
268
290
|
clients: new Set(),
|
|
269
291
|
lastWorkbenchPayload: null,
|
|
270
292
|
lastWorkbenchRevision: null,
|
|
293
|
+
lastWorkbenchSnapshot: null,
|
|
271
294
|
workbenchTimer: null,
|
|
272
295
|
workspaceManagementTimer: null,
|
|
273
296
|
realtimeBroadcastTimer: null,
|
|
@@ -294,11 +317,41 @@ export class WorkbenchWsHub {
|
|
|
294
317
|
return channel;
|
|
295
318
|
}
|
|
296
319
|
async sendWorkbenchSnapshotToClient(client, userId, channel, knownRevision) {
|
|
320
|
+
const startedAt = Date.now();
|
|
297
321
|
try {
|
|
322
|
+
const snapshotStartedAt = Date.now();
|
|
298
323
|
const snapshot = this.workbenchService.getSnapshot(userId);
|
|
299
|
-
|
|
324
|
+
const snapshotMs = Date.now() - snapshotStartedAt;
|
|
325
|
+
const fullPayloadStartedAt = Date.now();
|
|
326
|
+
const fullPayload = buildWorkbenchPayload(snapshot);
|
|
327
|
+
const fullPayloadBuildMs = Date.now() - fullPayloadStartedAt;
|
|
328
|
+
const unchanged = Boolean(knownRevision && knownRevision === snapshot.revision);
|
|
329
|
+
let clientPayload = fullPayload;
|
|
330
|
+
let clientPayloadBuildMs = 0;
|
|
331
|
+
if (unchanged) {
|
|
332
|
+
const clientPayloadStartedAt = Date.now();
|
|
333
|
+
clientPayload = buildWorkbenchPayload(snapshot, knownRevision);
|
|
334
|
+
clientPayloadBuildMs = Date.now() - clientPayloadStartedAt;
|
|
335
|
+
}
|
|
336
|
+
channel.lastWorkbenchPayload = fullPayload;
|
|
300
337
|
channel.lastWorkbenchRevision = snapshot.revision;
|
|
301
|
-
|
|
338
|
+
channel.lastWorkbenchSnapshot = snapshot;
|
|
339
|
+
const sendMetric = sendSerializedPayload(client, clientPayload);
|
|
340
|
+
logPerformance("ws.workbench.subscribe", Date.now() - startedAt, {
|
|
341
|
+
userId,
|
|
342
|
+
snapshotMs,
|
|
343
|
+
fullPayloadBuildMs,
|
|
344
|
+
clientPayloadBuildMs,
|
|
345
|
+
payloadBytes: sendMetric.payloadBytes,
|
|
346
|
+
sendMs: sendMetric.sendMs,
|
|
347
|
+
bufferedAmount: sendMetric.bufferedAmount,
|
|
348
|
+
workspaceCount: snapshot.items.length,
|
|
349
|
+
sessionCount: snapshot.items.reduce((total, item) => total + countWorkbenchSessions(item), 0),
|
|
350
|
+
unchanged
|
|
351
|
+
}, {
|
|
352
|
+
thresholdMs: 0,
|
|
353
|
+
force: true
|
|
354
|
+
});
|
|
302
355
|
}
|
|
303
356
|
catch (error) {
|
|
304
357
|
this.reportAsyncError("sendWorkbenchSnapshotToClient", error, { userId });
|
|
@@ -313,23 +366,45 @@ export class WorkbenchWsHub {
|
|
|
313
366
|
await channel.refreshTask;
|
|
314
367
|
}
|
|
315
368
|
channel.refreshTask = (async () => {
|
|
369
|
+
const startedAt = Date.now();
|
|
316
370
|
const startedAtMs = terminalDebugNowMs();
|
|
317
371
|
try {
|
|
372
|
+
const snapshotStartedAt = Date.now();
|
|
318
373
|
const snapshot = await this.workbenchService.refreshSnapshot(userId);
|
|
319
|
-
const
|
|
320
|
-
|
|
374
|
+
const snapshotMs = Date.now() - snapshotStartedAt;
|
|
375
|
+
const serializeStartedAt = Date.now();
|
|
376
|
+
const payload = buildWorkbenchBroadcastPayload(channel.lastWorkbenchSnapshot, snapshot);
|
|
377
|
+
const serializeMs = Date.now() - serializeStartedAt;
|
|
378
|
+
if (snapshot.revision === channel.lastWorkbenchRevision) {
|
|
321
379
|
return;
|
|
322
380
|
}
|
|
323
381
|
channel.lastWorkbenchPayload = payload;
|
|
324
382
|
channel.lastWorkbenchRevision = snapshot.revision;
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
383
|
+
channel.lastWorkbenchSnapshot = snapshot;
|
|
384
|
+
const sessionCount = snapshot.items.reduce((total, item) => total + countWorkbenchSessions(item), 0);
|
|
385
|
+
const broadcastMetric = broadcastSerializedPayload(channel.clients, payload);
|
|
386
|
+
logPerformance("ws.workbench.refresh", Date.now() - startedAt, {
|
|
387
|
+
userId,
|
|
388
|
+
force,
|
|
389
|
+
clientCount: channel.clients.size,
|
|
390
|
+
snapshotMs,
|
|
391
|
+
serializeMs,
|
|
392
|
+
payloadBytes: broadcastMetric.payloadBytes,
|
|
393
|
+
sendMs: broadcastMetric.sendMs,
|
|
394
|
+
maxBufferedAmount: broadcastMetric.maxBufferedAmount,
|
|
395
|
+
workspaceCount: snapshot.items.length,
|
|
396
|
+
sessionCount
|
|
397
|
+
}, {
|
|
398
|
+
thresholdMs: 0,
|
|
399
|
+
force: true
|
|
400
|
+
});
|
|
328
401
|
logTerminalDebug("workbench.refresh.completed", {
|
|
329
402
|
userId,
|
|
330
403
|
force,
|
|
331
404
|
clientCount: channel.clients.size,
|
|
332
405
|
workspaceCount: snapshot.items.length,
|
|
406
|
+
payloadBytes: broadcastMetric.payloadBytes,
|
|
407
|
+
maxBufferedAmount: broadcastMetric.maxBufferedAmount,
|
|
333
408
|
durationMs: terminalDebugNowMs() - startedAtMs
|
|
334
409
|
});
|
|
335
410
|
}
|
|
@@ -433,8 +508,10 @@ export class WorkbenchWsHub {
|
|
|
433
508
|
if (controller.signal.aborted) {
|
|
434
509
|
return;
|
|
435
510
|
}
|
|
436
|
-
const payload = buildGitPayload(snapshot, subscription.knownRevision
|
|
437
|
-
|
|
511
|
+
const payload = buildGitPayload(snapshot, subscription.knownRevision, {
|
|
512
|
+
includeSnapshotWhenUnchanged: force || options?.deliverIfUnchanged === true
|
|
513
|
+
});
|
|
514
|
+
if (payload === subscription.lastPayload && !options?.deliverIfUnchanged && !force) {
|
|
438
515
|
return;
|
|
439
516
|
}
|
|
440
517
|
subscription.knownRevision = snapshot.revision;
|
|
@@ -788,6 +865,28 @@ function areStringArraysEqual(left, right) {
|
|
|
788
865
|
}
|
|
789
866
|
return left.every((value, index) => value === right[index]);
|
|
790
867
|
}
|
|
868
|
+
function sendSerializedPayload(client, payload) {
|
|
869
|
+
const sendStartedAt = Date.now();
|
|
870
|
+
client.send(payload);
|
|
871
|
+
return {
|
|
872
|
+
payloadBytes: Buffer.byteLength(payload),
|
|
873
|
+
sendMs: Date.now() - sendStartedAt,
|
|
874
|
+
bufferedAmount: client.bufferedAmount
|
|
875
|
+
};
|
|
876
|
+
}
|
|
877
|
+
function broadcastSerializedPayload(clients, payload) {
|
|
878
|
+
const sendStartedAt = Date.now();
|
|
879
|
+
let maxBufferedAmount = 0;
|
|
880
|
+
for (const client of clients) {
|
|
881
|
+
client.send(payload);
|
|
882
|
+
maxBufferedAmount = Math.max(maxBufferedAmount, client.bufferedAmount);
|
|
883
|
+
}
|
|
884
|
+
return {
|
|
885
|
+
payloadBytes: Buffer.byteLength(payload),
|
|
886
|
+
sendMs: Date.now() - sendStartedAt,
|
|
887
|
+
maxBufferedAmount
|
|
888
|
+
};
|
|
889
|
+
}
|
|
791
890
|
function buildWorkbenchPayload(snapshot, knownRevision) {
|
|
792
891
|
if (knownRevision && knownRevision === snapshot.revision) {
|
|
793
892
|
return JSON.stringify({
|
|
@@ -804,6 +903,37 @@ function buildWorkbenchPayload(snapshot, knownRevision) {
|
|
|
804
903
|
snapshot
|
|
805
904
|
});
|
|
806
905
|
}
|
|
906
|
+
function buildWorkbenchBroadcastPayload(previousSnapshot, nextSnapshot) {
|
|
907
|
+
if (!previousSnapshot || previousSnapshot.revision === nextSnapshot.revision) {
|
|
908
|
+
return buildWorkbenchPayload(nextSnapshot);
|
|
909
|
+
}
|
|
910
|
+
const fullPayload = buildWorkbenchPayload(nextSnapshot);
|
|
911
|
+
const deltaPayload = JSON.stringify(buildWorkbenchDeltaPayload(previousSnapshot, nextSnapshot));
|
|
912
|
+
return Buffer.byteLength(deltaPayload, "utf8") < Buffer.byteLength(fullPayload, "utf8")
|
|
913
|
+
? deltaPayload
|
|
914
|
+
: fullPayload;
|
|
915
|
+
}
|
|
916
|
+
function buildWorkbenchDeltaPayload(previousSnapshot, nextSnapshot) {
|
|
917
|
+
const previousByWorkspaceId = new Map(previousSnapshot.items.map((item) => [item.workspace.id, item]));
|
|
918
|
+
const nextByWorkspaceId = new Map(nextSnapshot.items.map((item) => [item.workspace.id, item]));
|
|
919
|
+
const changedItems = [];
|
|
920
|
+
for (const item of nextSnapshot.items) {
|
|
921
|
+
const previous = previousByWorkspaceId.get(item.workspace.id);
|
|
922
|
+
if (!previous || JSON.stringify(previous) !== JSON.stringify(item)) {
|
|
923
|
+
changedItems.push(item);
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
return {
|
|
927
|
+
type: "workbench.delta",
|
|
928
|
+
baseRevision: previousSnapshot.revision,
|
|
929
|
+
revision: nextSnapshot.revision,
|
|
930
|
+
orderedWorkspaceIds: nextSnapshot.items.map((item) => item.workspace.id),
|
|
931
|
+
removedWorkspaceIds: previousSnapshot.items
|
|
932
|
+
.map((item) => item.workspace.id)
|
|
933
|
+
.filter((workspaceId) => !nextByWorkspaceId.has(workspaceId)),
|
|
934
|
+
changedItems
|
|
935
|
+
};
|
|
936
|
+
}
|
|
807
937
|
function buildFileTreePayload(snapshot, knownRevision) {
|
|
808
938
|
if (knownRevision && knownRevision === snapshot.revision) {
|
|
809
939
|
return JSON.stringify({
|
|
@@ -820,8 +950,10 @@ function buildFileTreePayload(snapshot, knownRevision) {
|
|
|
820
950
|
snapshot
|
|
821
951
|
});
|
|
822
952
|
}
|
|
823
|
-
function buildGitPayload(snapshot, knownRevision) {
|
|
824
|
-
if (knownRevision
|
|
953
|
+
function buildGitPayload(snapshot, knownRevision, options) {
|
|
954
|
+
if (knownRevision
|
|
955
|
+
&& knownRevision === snapshot.revision
|
|
956
|
+
&& options?.includeSnapshotWhenUnchanged !== true) {
|
|
825
957
|
return JSON.stringify({
|
|
826
958
|
type: "git.snapshot",
|
|
827
959
|
revision: snapshot.revision,
|
|
@@ -896,4 +1028,22 @@ function buildKnownRevisionByPathMap(paths, knownRevisions) {
|
|
|
896
1028
|
}
|
|
897
1029
|
return map;
|
|
898
1030
|
}
|
|
1031
|
+
function countWorkbenchSessions(item) {
|
|
1032
|
+
const childNodes = Array.isArray(item.childWorktrees)
|
|
1033
|
+
? item.childWorktrees
|
|
1034
|
+
: Array.isArray(item.children)
|
|
1035
|
+
? item.children
|
|
1036
|
+
: [];
|
|
1037
|
+
return item.sessions.length + childNodes.reduce((total, child) => {
|
|
1038
|
+
if (typeof child !== "object" || child === null) {
|
|
1039
|
+
return total;
|
|
1040
|
+
}
|
|
1041
|
+
const candidate = child;
|
|
1042
|
+
return total + countWorkbenchSessions({
|
|
1043
|
+
sessions: Array.isArray(candidate.sessions) ? candidate.sessions : [],
|
|
1044
|
+
childWorktrees: candidate.childWorktrees,
|
|
1045
|
+
children: candidate.children
|
|
1046
|
+
});
|
|
1047
|
+
}, 0);
|
|
1048
|
+
}
|
|
899
1049
|
//# sourceMappingURL=workbench-ws-hub.js.map
|