@wrongstack/webui-server 0.293.0 → 0.295.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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19499 -14317
- package/dist/index.js.map +4 -4
- package/dist/protocol/client-conversation.d.ts +3 -0
- package/dist/protocol/client-conversation.d.ts.map +1 -0
- package/dist/protocol/client-integrations.d.ts +3 -0
- package/dist/protocol/client-integrations.d.ts.map +1 -0
- package/dist/protocol/client-operations.d.ts +3 -0
- package/dist/protocol/client-operations.d.ts.map +1 -0
- package/dist/protocol/client-workspace.d.ts +3 -0
- package/dist/protocol/client-workspace.d.ts.map +1 -0
- package/dist/protocol/connection-fsm.d.ts +39 -0
- package/dist/protocol/connection-fsm.d.ts.map +1 -0
- package/dist/protocol/decoder.d.ts +6 -0
- package/dist/protocol/decoder.d.ts.map +1 -0
- package/dist/protocol/index.d.ts +8 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +874 -0
- package/dist/protocol/index.js.map +7 -0
- package/dist/protocol/projections.d.ts +113 -0
- package/dist/protocol/projections.d.ts.map +1 -0
- package/dist/protocol/registry.d.ts +6 -0
- package/dist/protocol/registry.d.ts.map +1 -0
- package/dist/protocol/replay-payload.d.ts +41 -0
- package/dist/protocol/replay-payload.d.ts.map +1 -0
- package/dist/protocol/server-conversation.d.ts +3 -0
- package/dist/protocol/server-conversation.d.ts.map +1 -0
- package/dist/protocol/server-integrations.d.ts +3 -0
- package/dist/protocol/server-integrations.d.ts.map +1 -0
- package/dist/protocol/server-operations.d.ts +4 -0
- package/dist/protocol/server-operations.d.ts.map +1 -0
- package/dist/protocol/server-workspace.d.ts +3 -0
- package/dist/protocol/server-workspace.d.ts.map +1 -0
- package/dist/protocol/types.d.ts +24 -0
- package/dist/protocol/types.d.ts.map +1 -0
- package/dist/protocol/version.d.ts +20 -0
- package/dist/protocol/version.d.ts.map +1 -0
- package/dist/server/agent-roster-handlers.d.ts +31 -0
- package/dist/server/agent-roster-handlers.d.ts.map +1 -0
- package/dist/server/agent-roster-routes.d.ts +8 -0
- package/dist/server/agent-roster-routes.d.ts.map +1 -0
- package/dist/server/autonomy-routes.d.ts +9 -0
- package/dist/server/autonomy-routes.d.ts.map +1 -0
- package/dist/server/backend-services.d.ts +19 -6
- package/dist/server/backend-services.d.ts.map +1 -1
- package/dist/server/boot.d.ts +4 -1
- package/dist/server/boot.d.ts.map +1 -1
- package/dist/server/brain-handlers.d.ts +47 -0
- package/dist/server/brain-handlers.d.ts.map +1 -0
- package/dist/server/chronicle-routes.d.ts +14 -0
- package/dist/server/chronicle-routes.d.ts.map +1 -0
- package/dist/server/client-presence.d.ts +26 -0
- package/dist/server/client-presence.d.ts.map +1 -0
- package/dist/server/client-transport-routes.d.ts +8 -0
- package/dist/server/client-transport-routes.d.ts.map +1 -0
- package/dist/server/codebase-indexing.d.ts +3 -1
- package/dist/server/codebase-indexing.d.ts.map +1 -1
- package/dist/server/codemap-cache.d.ts +14 -0
- package/dist/server/codemap-cache.d.ts.map +1 -0
- package/dist/server/codemap-handlers.d.ts +2 -3
- package/dist/server/codemap-handlers.d.ts.map +1 -1
- package/dist/server/codemap-telemetry.d.ts.map +1 -1
- package/dist/server/collaboration-ws-handler.d.ts +3 -1
- package/dist/server/collaboration-ws-handler.d.ts.map +1 -1
- package/dist/server/completion-handlers.d.ts +2 -1
- package/dist/server/completion-handlers.d.ts.map +1 -1
- package/dist/server/completion-routes.d.ts +7 -0
- package/dist/server/completion-routes.d.ts.map +1 -0
- package/dist/server/config-doctor.d.ts +11 -0
- package/dist/server/config-doctor.d.ts.map +1 -0
- package/dist/server/connection-handler.d.ts +9 -46
- package/dist/server/connection-handler.d.ts.map +1 -1
- package/dist/server/connection-lifecycle.d.ts +43 -0
- package/dist/server/connection-lifecycle.d.ts.map +1 -0
- package/dist/server/content-routes.d.ts +15 -0
- package/dist/server/content-routes.d.ts.map +1 -0
- package/dist/server/conversation-operations.d.ts +28 -0
- package/dist/server/conversation-operations.d.ts.map +1 -0
- package/dist/server/conversation-routes.d.ts +10 -0
- package/dist/server/conversation-routes.d.ts.map +1 -0
- package/dist/server/custom-context-modes.d.ts +1 -1
- package/dist/server/custom-context-modes.d.ts.map +1 -1
- package/dist/server/design-handlers.d.ts +8 -0
- package/dist/server/design-handlers.d.ts.map +1 -1
- package/dist/server/discover-mailbox-bridge.d.ts.map +1 -1
- package/dist/server/embedded-host-adapters.d.ts +96 -0
- package/dist/server/embedded-host-adapters.d.ts.map +1 -0
- package/dist/server/embedded-lifecycle.d.ts +113 -0
- package/dist/server/embedded-lifecycle.d.ts.map +1 -0
- package/dist/server/embedded-message-router.d.ts +64 -0
- package/dist/server/embedded-message-router.d.ts.map +1 -0
- package/dist/server/entry.js +17227 -14052
- package/dist/server/entry.js.map +4 -4
- package/dist/server/eternal-iteration-broadcast.d.ts +1 -1
- package/dist/server/eternal-iteration-broadcast.d.ts.map +1 -1
- package/dist/server/file-handlers.d.ts.map +1 -1
- package/dist/server/frontend-static-serve.d.ts +133 -0
- package/dist/server/frontend-static-serve.d.ts.map +1 -0
- package/dist/server/git-process.d.ts +4 -0
- package/dist/server/git-process.d.ts.map +1 -0
- package/dist/server/goal-snapshot-routes.d.ts +7 -0
- package/dist/server/goal-snapshot-routes.d.ts.map +1 -0
- package/dist/server/goal-ws-handler.d.ts +3 -1
- package/dist/server/goal-ws-handler.d.ts.map +1 -1
- package/dist/server/handlers/worklist-handlers.d.ts +14 -20
- package/dist/server/handlers/worklist-handlers.d.ts.map +1 -1
- package/dist/server/handlers.js +150 -121
- package/dist/server/handlers.js.map +3 -3
- package/dist/server/host-routes.d.ts +7 -0
- package/dist/server/host-routes.d.ts.map +1 -0
- package/dist/server/http-server/analytics-handler.d.ts +2 -0
- package/dist/server/http-server/analytics-handler.d.ts.map +1 -1
- package/dist/server/http-server/api-handlers.d.ts.map +1 -1
- package/dist/server/http-server.d.ts +20 -23
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/index.d.ts +57 -22
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/instance-registry.d.ts +1 -3
- package/dist/server/instance-registry.d.ts.map +1 -1
- package/dist/server/introspection-routes.d.ts +19 -0
- package/dist/server/introspection-routes.d.ts.map +1 -0
- package/dist/server/kanban-board-watcher.d.ts +19 -0
- package/dist/server/kanban-board-watcher.d.ts.map +1 -0
- package/dist/server/kanban-dispatch.d.ts +42 -0
- package/dist/server/kanban-dispatch.d.ts.map +1 -0
- package/dist/server/kanban-host-routes.d.ts +10 -0
- package/dist/server/kanban-host-routes.d.ts.map +1 -0
- package/dist/server/kanban-routes.d.ts +13 -3
- package/dist/server/kanban-routes.d.ts.map +1 -1
- package/dist/server/kanban-run-mirror.d.ts +76 -0
- package/dist/server/kanban-run-mirror.d.ts.map +1 -0
- package/dist/server/kanban-supervisor.d.ts +47 -0
- package/dist/server/kanban-supervisor.d.ts.map +1 -0
- package/dist/server/mailbox-handlers.d.ts +12 -4
- package/dist/server/mailbox-handlers.d.ts.map +1 -1
- package/dist/server/mailbox-routes.d.ts +8 -0
- package/dist/server/mailbox-routes.d.ts.map +1 -1
- package/dist/server/mcp-handlers.d.ts +4 -0
- package/dist/server/mcp-handlers.d.ts.map +1 -1
- package/dist/server/memory-handlers.d.ts +54 -46
- package/dist/server/memory-handlers.d.ts.map +1 -1
- package/dist/server/memory-routes.d.ts +11 -0
- package/dist/server/memory-routes.d.ts.map +1 -0
- package/dist/server/message-dispatcher.d.ts +3 -4
- package/dist/server/message-dispatcher.d.ts.map +1 -1
- package/dist/server/mode-handlers.d.ts +6 -15
- package/dist/server/mode-handlers.d.ts.map +1 -1
- package/dist/server/mode-operations.d.ts +24 -0
- package/dist/server/mode-operations.d.ts.map +1 -0
- package/dist/server/mode-routes.d.ts +2 -0
- package/dist/server/mode-routes.d.ts.map +1 -1
- package/dist/server/model-auto-discovery.d.ts +1 -1
- package/dist/server/model-auto-discovery.d.ts.map +1 -1
- package/dist/server/model-catalog.d.ts +1 -1
- package/dist/server/model-catalog.d.ts.map +1 -1
- package/dist/server/model-operations.d.ts +29 -0
- package/dist/server/model-operations.d.ts.map +1 -0
- package/dist/server/network-info.d.ts +50 -0
- package/dist/server/network-info.d.ts.map +1 -0
- package/dist/server/path-containment.d.ts.map +1 -1
- package/dist/server/port-utils.d.ts +18 -25
- package/dist/server/port-utils.d.ts.map +1 -1
- package/dist/server/pre-context-services.d.ts +32 -5
- package/dist/server/pre-context-services.d.ts.map +1 -1
- package/dist/server/pref-helpers.d.ts +1 -3
- package/dist/server/pref-helpers.d.ts.map +1 -1
- package/dist/server/prefs-handlers.d.ts +22 -0
- package/dist/server/prefs-handlers.d.ts.map +1 -0
- package/dist/server/prefs-routes.d.ts +5 -0
- package/dist/server/prefs-routes.d.ts.map +1 -1
- package/dist/server/privileged-actions.d.ts +16 -0
- package/dist/server/privileged-actions.d.ts.map +1 -0
- package/dist/server/process-handlers.d.ts +8 -6
- package/dist/server/process-handlers.d.ts.map +1 -1
- package/dist/server/process-routes.d.ts +9 -0
- package/dist/server/process-routes.d.ts.map +1 -0
- package/dist/server/project-handlers.d.ts +25 -33
- package/dist/server/project-handlers.d.ts.map +1 -1
- package/dist/server/projects-manifest.d.ts +8 -0
- package/dist/server/projects-manifest.d.ts.map +1 -1
- package/dist/server/prompts-handlers.d.ts +2 -1
- package/dist/server/prompts-handlers.d.ts.map +1 -1
- package/dist/server/provider-config-io.d.ts +2 -2
- package/dist/server/provider-config-io.d.ts.map +1 -1
- package/dist/server/provider-config-standalone.d.ts +5 -3
- package/dist/server/provider-config-standalone.d.ts.map +1 -1
- package/dist/server/provider-handlers.d.ts +63 -6
- package/dist/server/provider-handlers.d.ts.map +1 -1
- package/dist/server/provider-keys.d.ts +1 -1
- package/dist/server/provider-keys.d.ts.map +1 -1
- package/dist/server/provider-routes.d.ts +28 -2
- package/dist/server/provider-routes.d.ts.map +1 -1
- package/dist/server/provider-store.d.ts +5 -4
- package/dist/server/provider-store.d.ts.map +1 -1
- package/dist/server/route-family-dispatcher.d.ts +71 -0
- package/dist/server/route-family-dispatcher.d.ts.map +1 -0
- package/dist/server/routes.d.ts +17 -7
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/sdd-board-ws-handler.d.ts +5 -1
- package/dist/server/sdd-board-ws-handler.d.ts.map +1 -1
- package/dist/server/sdd-wizard-wiring.d.ts +14 -3
- package/dist/server/sdd-wizard-wiring.d.ts.map +1 -1
- package/dist/server/sdd-wizard-ws-handler.d.ts.map +1 -1
- package/dist/server/server-runtime.d.ts +16 -12
- package/dist/server/server-runtime.d.ts.map +1 -1
- package/dist/server/session-handlers.d.ts +30 -11
- package/dist/server/session-handlers.d.ts.map +1 -1
- package/dist/server/session-history.d.ts +1 -1
- package/dist/server/session-history.d.ts.map +1 -1
- package/dist/server/setup-event-projection.d.ts +10 -0
- package/dist/server/setup-event-projection.d.ts.map +1 -0
- package/dist/server/setup-events-watcher.d.ts +13 -0
- package/dist/server/setup-events-watcher.d.ts.map +1 -0
- package/dist/server/setup-events.d.ts +11 -21
- package/dist/server/setup-events.d.ts.map +1 -1
- package/dist/server/setup-screen.d.ts +2 -1
- package/dist/server/setup-screen.d.ts.map +1 -1
- package/dist/server/shell-open.d.ts +26 -2
- package/dist/server/shell-open.d.ts.map +1 -1
- package/dist/server/skills-handlers.d.ts +2 -2
- package/dist/server/skills-handlers.d.ts.map +1 -1
- package/dist/server/specs-ws-handler.d.ts.map +1 -1
- package/dist/server/standalone-session-identity.d.ts +3 -2
- package/dist/server/standalone-session-identity.d.ts.map +1 -1
- package/dist/server/start-webui.d.ts +9 -1
- package/dist/server/start-webui.d.ts.map +1 -1
- package/dist/server/stream-coalescer.d.ts +49 -0
- package/dist/server/stream-coalescer.d.ts.map +1 -0
- package/dist/server/techstack-handlers.d.ts +12 -2
- package/dist/server/techstack-handlers.d.ts.map +1 -1
- package/dist/server/terminal-ws-handler.d.ts +5 -3
- package/dist/server/terminal-ws-handler.d.ts.map +1 -1
- package/dist/server/types.d.ts +10 -3
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/worklist-routes.d.ts +21 -0
- package/dist/server/worklist-routes.d.ts.map +1 -0
- package/dist/server/worktree-routes.d.ts +10 -0
- package/dist/server/worktree-routes.d.ts.map +1 -0
- package/dist/server/worktree-ws-handler.d.ts +2 -1
- package/dist/server/worktree-ws-handler.d.ts.map +1 -1
- package/dist/server/ws-auth.d.ts.map +1 -1
- package/dist/server/ws-payload-validation.d.ts +11 -0
- package/dist/server/ws-payload-validation.d.ts.map +1 -1
- package/dist/server/ws-utils.d.ts +8 -0
- package/dist/server/ws-utils.d.ts.map +1 -1
- package/package.json +14 -10
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
1
2
|
import type { WebSocket } from 'ws';
|
|
2
|
-
import type { EventBus } from '@wrongstack/core';
|
|
3
3
|
interface SddBoardWSMessage {
|
|
4
4
|
type: string;
|
|
5
5
|
payload?: Record<string, unknown>;
|
|
@@ -32,8 +32,10 @@ export declare class SddBoardWebSocketHandler {
|
|
|
32
32
|
private readonly store;
|
|
33
33
|
private readonly clients;
|
|
34
34
|
private readonly lifecycle?;
|
|
35
|
+
private readonly diskPollingEnabled;
|
|
35
36
|
private latest;
|
|
36
37
|
private poll;
|
|
38
|
+
private pollInFlight;
|
|
37
39
|
private unsub;
|
|
38
40
|
constructor(boardsDir: string, events?: EventBus, lifecycle?: SddBoardLifecycleDeps);
|
|
39
41
|
addClient(ws: WebSocket): void;
|
|
@@ -47,6 +49,8 @@ export declare class SddBoardWebSocketHandler {
|
|
|
47
49
|
private applyLifecycle;
|
|
48
50
|
dispose(): void;
|
|
49
51
|
private pollLatest;
|
|
52
|
+
private startPolling;
|
|
53
|
+
private stopPolling;
|
|
50
54
|
private sendCurrent;
|
|
51
55
|
private broadcastCurrent;
|
|
52
56
|
private loadLatestFromDisk;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdd-board-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/sdd-board-ws-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sdd-board-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/sdd-board-ws-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAOxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAQpC,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AA+BD,uEAAuE;AACvE,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,IAAI,CAA+C;IAC3D,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,KAAK,CAA6B;IAE1C,YAAY,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,qBAAqB,EAalF;IAED,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAqB7B;IAEK,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCzD;IAED;;;;;OAKG;YACW,cAAc;IAmC5B,OAAO,IAAI,IAAI,CAId;YAIa,UAAU;IAuBxB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;YAML,WAAW;YAKX,gBAAgB;YAKhB,kBAAkB;IAKhC,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,IAAI;CAGb"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { AgentFactory, BrainArbiter } from '@wrongstack/core/coordination';
|
|
2
|
+
import type { Agent } from '@wrongstack/core/agent';
|
|
3
|
+
import { TaskTracker } from '@wrongstack/core/tasking';
|
|
4
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
5
|
+
import type { TaskGraph } from '@wrongstack/core/types';
|
|
2
6
|
import { type SddRunHandle, SddRunRegistry } from '@wrongstack/sdd';
|
|
3
7
|
import type { SddWizardDeps } from './sdd-wizard-ws-handler.js';
|
|
4
8
|
/** Config knobs shared by the wizard start and the launch-from-board start. */
|
|
@@ -9,6 +13,12 @@ export interface StartSddRunFromGraphConfig {
|
|
|
9
13
|
fallbackModels?: string[] | undefined;
|
|
10
14
|
/** Per-run git-worktree isolation. Omit → env default (WRONGSTACK_SDD_WORKTREES). */
|
|
11
15
|
worktrees?: boolean | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Planning-time proactive decomposition of `needs_decomposition` leaves
|
|
18
|
+
* before the run starts. Omit → env default (WRONGSTACK_SDD_PLAN_DECOMPOSE,
|
|
19
|
+
* off unless set to '1'). Requires deps.runIsolatedTurn.
|
|
20
|
+
*/
|
|
21
|
+
planDecompose?: boolean | undefined;
|
|
12
22
|
}
|
|
13
23
|
export interface StartSddRunFromGraphDeps {
|
|
14
24
|
agent: Agent;
|
|
@@ -27,9 +37,10 @@ export interface StartSddRunFromGraphDeps {
|
|
|
27
37
|
* TaskTracker from the graph (when none is supplied), sets up worktree isolation,
|
|
28
38
|
* the completion-gate verifier and the Brain failure supervisor, then defers to
|
|
29
39
|
* `startSddRun` (which owns the projector + cross-process control drain, so the
|
|
30
|
-
* run is steerable from any surface).
|
|
40
|
+
* run is steerable from any surface). Resolves to the run handle after the
|
|
41
|
+
* non-blocking git worktree capability probe completes.
|
|
31
42
|
*/
|
|
32
|
-
export declare function startSddRunFromGraph(graph: TaskGraph, deps: StartSddRunFromGraphDeps, config?: StartSddRunFromGraphConfig, tracker?: TaskTracker): SddRunHandle
|
|
43
|
+
export declare function startSddRunFromGraph(graph: TaskGraph, deps: StartSddRunFromGraphDeps, config?: StartSddRunFromGraphConfig, tracker?: TaskTracker): Promise<SddRunHandle>;
|
|
33
44
|
export interface SddWizardWiringOptions {
|
|
34
45
|
/** Leader agent — seeds the run's default factory + project context. */
|
|
35
46
|
agent: Agent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdd-wizard-wiring.d.ts","sourceRoot":"","sources":["../../src/server/sdd-wizard-wiring.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdd-wizard-wiring.d.ts","sourceRoot":"","sources":["../../src/server/sdd-wizard-wiring.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAEL,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EASL,KAAK,YAAY,EAEjB,cAAc,EAKf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,+EAA+E;AAC/E,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,qFAAqF;IACrF,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,YAAY,CAAC;IAC9B,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,oFAAoF;IACpF,eAAe,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACnF;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,wBAAwB,EAC9B,MAAM,GAAE,0BAA+B,EACvC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC,CAoGvB;AAED,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,KAAK,EAAE,KAAK,CAAC;IACb,4EAA4E;IAC5E,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,eAAe,EAAE,YAAY,CAAC;IAC9B;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,6DAA6D;IAC7D,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAqBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,aAAa,CAwF9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdd-wizard-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/sdd-wizard-ws-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAwB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"sdd-wizard-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/sdd-wizard-ws-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAwB,MAAM,iBAAiB,CAAC;AAQhF,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAaD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,8EAA8E;IAC9E,UAAU,EAAE,MAAM,kBAAkB,CAAC;IACrC;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD;;;OAGG;IACH,QAAQ,EAAE,CACR,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE;QACJ,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACrC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACtC,oEAAoE;QACpE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjC,KACE,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,qBAAa,yBAAyB;IAQxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,MAAM,CAAmC;IACjD,2EAA2E;IAC3E,OAAO,CAAC,aAAa,CAAM;IAC3B,4EAA4E;IAC5E,OAAO,CAAC,IAAI,CAAS;IAErB,YAA6B,IAAI,EAAE,aAAa,EAAI;IAEpD,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAO7B;IAEK,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCrD;YAIa,OAAO;YAcP,SAAS;YAYT,SAAS;YAWT,UAAU;IA2BxB,kFAAkF;YACpE,OAAO;IAcrB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,IAAI;CAGb"}
|
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
import type { Config, ModelsRegistry } from '@wrongstack/core';
|
|
1
|
+
import type { Config, ModelsRegistry } from '@wrongstack/core/types';
|
|
2
2
|
import { WebSocketServer, type WebSocket } from 'ws';
|
|
3
3
|
import { setupEvents, type FileWatcherMetrics } from './setup-events.js';
|
|
4
4
|
import type { ConnectedClient } from './types.js';
|
|
5
5
|
interface ResolvedPorts {
|
|
6
6
|
wsHost: string;
|
|
7
|
-
wsPort: number;
|
|
8
7
|
httpPort: number;
|
|
9
8
|
publicUrl: string | undefined;
|
|
10
9
|
publicWsUrl: string | undefined;
|
|
11
10
|
requireToken: boolean;
|
|
12
11
|
}
|
|
13
12
|
/**
|
|
14
|
-
* Resolve bind host, HTTP
|
|
15
|
-
* from CLI opts + env vars.
|
|
16
|
-
*
|
|
13
|
+
* Resolve bind host, HTTP port, public URLs, and the token-required flag
|
|
14
|
+
* from CLI opts + env vars. The WS server shares the HTTP port (single
|
|
15
|
+
* port design), so only one port is resolved. Auto-advances past taken
|
|
16
|
+
* ports unless `WEBUI_STRICT_PORT` is set.
|
|
17
17
|
*/
|
|
18
18
|
export declare function resolvePorts(opts: {
|
|
19
19
|
surface?: 'webui' | 'simpleui' | undefined;
|
|
20
|
-
wsPort?: number | undefined;
|
|
21
20
|
wsHost?: string | undefined;
|
|
22
21
|
httpPort?: number | undefined;
|
|
23
22
|
webuiPort?: number | undefined;
|
|
@@ -54,6 +53,8 @@ export declare function createSessionStartPayload(g: SessionStartPayloadGetters)
|
|
|
54
53
|
cwd: string;
|
|
55
54
|
mode: string;
|
|
56
55
|
contextMode: string;
|
|
56
|
+
protocolVersion: number;
|
|
57
|
+
protocolCapabilities: string[];
|
|
57
58
|
needsSetup?: boolean | undefined;
|
|
58
59
|
}>;
|
|
59
60
|
interface WsServerResult {
|
|
@@ -63,16 +64,19 @@ interface WsServerResult {
|
|
|
63
64
|
clients: Map<WebSocket, ConnectedClient>;
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
67
|
+
* Attach a WebSocket server to an HTTP server (shared-port design).
|
|
68
|
+
* Creates the primary WS server attached to the given HTTP server.
|
|
69
|
+
* IPv6 loopback coverage is provided by the HTTP server's dual-stack
|
|
70
|
+
* listen (see start-webui.ts); no separate WS secondary is created.
|
|
71
|
+
* Returns the WS server, the resolved auth token, and the clients map.
|
|
68
72
|
*/
|
|
69
|
-
export declare function createWsServers(ports: ResolvedPorts, accessToken: string | undefined): WsServerResult;
|
|
73
|
+
export declare function createWsServers(httpServer: import('node:http').Server, ports: ResolvedPorts, accessToken: string | undefined): WsServerResult;
|
|
70
74
|
/**
|
|
71
75
|
* Wire setupEvents (the once-only event→WS-broadcast bridge) behind a
|
|
72
76
|
* listening-callback guard, and attach WS server error handlers. Returns
|
|
73
77
|
* the dispose + fleet-broadcast functions.
|
|
74
78
|
*/
|
|
75
|
-
export declare function armEvents(wssPrimary: WebSocketServer, wssSecondary: WebSocketServer | null, wsHost: string,
|
|
79
|
+
export declare function armEvents(wssPrimary: WebSocketServer, wssSecondary: WebSocketServer | null, wsHost: string, httpPort: number, setupInput: Parameters<typeof setupEvents>[0], watcherMetrics: FileWatcherMetrics): {
|
|
76
80
|
arm: (label: string) => void;
|
|
77
81
|
getDispose: () => (() => void) | null;
|
|
78
82
|
getFleetBroadcast: () => (() => Promise<void>) | null;
|
|
@@ -80,7 +84,6 @@ export declare function armEvents(wssPrimary: WebSocketServer, wssSecondary: Web
|
|
|
80
84
|
export declare function startHttpServer(opts: {
|
|
81
85
|
wsHost: string;
|
|
82
86
|
httpPort: number;
|
|
83
|
-
wsPort: number;
|
|
84
87
|
wsToken: string;
|
|
85
88
|
publicWsUrl: string | undefined;
|
|
86
89
|
publicUrl: string | undefined;
|
|
@@ -94,9 +97,10 @@ export declare function startHttpServer(opts: {
|
|
|
94
97
|
onTechStackEvent?: ((event: import('./techstack-handlers.js').TechStackEvent) => void) | undefined;
|
|
95
98
|
/** Live provider access for TechStack's LLM research stage. */
|
|
96
99
|
getLlm?: (() => {
|
|
97
|
-
provider: import('@wrongstack/core').Provider;
|
|
100
|
+
provider: import('@wrongstack/core/types').Provider;
|
|
98
101
|
model: string;
|
|
99
102
|
} | undefined) | undefined;
|
|
103
|
+
executePackageOperation?: import('./techstack-handlers.js').TechStackHandlerDeps['executePackageOperation'];
|
|
100
104
|
distDir?: string | undefined;
|
|
101
105
|
}): import('node:http').Server;
|
|
102
106
|
interface ShutdownDeps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-runtime.d.ts","sourceRoot":"","sources":["../../src/server/server-runtime.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"server-runtime.d.ts","sourceRoot":"","sources":["../../src/server/server-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,13 +9,19 @@
|
|
|
9
9
|
* as getters/setters so this stays a pure function of its context. Handler
|
|
10
10
|
* bodies are a verbatim lift — only dependency references changed.
|
|
11
11
|
*/
|
|
12
|
-
import
|
|
13
|
-
import type {
|
|
12
|
+
import type { createStrategyCompactor } from '@wrongstack/core/execution';
|
|
13
|
+
import type { Context } from '@wrongstack/core/agent';
|
|
14
|
+
import type { SessionStore, TokenCounter } from '@wrongstack/core/types';
|
|
15
|
+
import type { ToolRegistry } from '@wrongstack/core/registry';
|
|
14
16
|
import type { WebSocket } from 'ws';
|
|
15
17
|
import type { CustomModeStore } from './custom-context-modes.js';
|
|
16
18
|
import type { SessionRouteHandlers } from './session-routes.js';
|
|
17
19
|
import type { ConnectedClient } from './types.js';
|
|
18
20
|
type Session = Awaited<ReturnType<SessionStore['create']>>;
|
|
21
|
+
type OutboundMessage = {
|
|
22
|
+
type: string;
|
|
23
|
+
payload: unknown;
|
|
24
|
+
};
|
|
19
25
|
type SessionStartPayload = {
|
|
20
26
|
sessionId: string;
|
|
21
27
|
model: string;
|
|
@@ -35,22 +41,35 @@ export interface SessionHandlersContext {
|
|
|
35
41
|
provider: string;
|
|
36
42
|
model: string;
|
|
37
43
|
};
|
|
38
|
-
|
|
44
|
+
getConfig?: () => {
|
|
45
|
+
provider: string;
|
|
46
|
+
model: string;
|
|
47
|
+
};
|
|
48
|
+
clients?: Map<WebSocket, ConnectedClient>;
|
|
49
|
+
/** Host-neutral transport adapters. Standalone callers may keep using `clients`. */
|
|
50
|
+
sendMessage?: (ws: WebSocket, message: OutboundMessage) => void;
|
|
51
|
+
broadcastMessage?: (message: OutboundMessage) => void;
|
|
39
52
|
context: Context;
|
|
40
|
-
toolRegistry
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
53
|
+
toolRegistry?: Pick<ToolRegistry, 'list'>;
|
|
54
|
+
listTools?: () => ReturnType<ToolRegistry['list']>;
|
|
55
|
+
compactor?: ReturnType<typeof createStrategyCompactor>;
|
|
56
|
+
getCompactor?: () => ReturnType<typeof createStrategyCompactor> | undefined;
|
|
57
|
+
customModeStore?: CustomModeStore;
|
|
58
|
+
getCustomModeStore?: () => CustomModeStore | Promise<CustomModeStore>;
|
|
59
|
+
tokenCounter: TokenCounter;
|
|
44
60
|
/** Live reads of the mutable startWebUI bindings. */
|
|
45
61
|
getProjectRoot: () => string;
|
|
46
62
|
getSession: () => Session;
|
|
47
63
|
getSessionStore: () => SessionStore;
|
|
48
|
-
|
|
64
|
+
/** Hosts without a wired durable store may keep session.new as an in-memory reset. */
|
|
65
|
+
canSwapSessions?: () => boolean;
|
|
66
|
+
sessionsDir?: string;
|
|
67
|
+
getSessionsDir?: () => string;
|
|
49
68
|
/** Mutations of the startWebUI bindings. */
|
|
50
69
|
setSession: (s: Session) => void;
|
|
51
|
-
setSessionStartedAt
|
|
52
|
-
onSessionSwapped
|
|
53
|
-
sessionStartPayload: () => Promise<SessionStartPayload>;
|
|
70
|
+
setSessionStartedAt?: (t: number) => void;
|
|
71
|
+
onSessionSwapped?: (sessionId: string) => void | Promise<void>;
|
|
72
|
+
sessionStartPayload: (overrides?: Record<string, unknown>) => Promise<SessionStartPayload>;
|
|
54
73
|
}
|
|
55
74
|
export declare function createSessionHandlers(ctx: SessionHandlersContext): SessionRouteHandlers;
|
|
56
75
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-handlers.d.ts","sourceRoot":"","sources":["../../src/server/session-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"session-handlers.d.ts","sourceRoot":"","sources":["../../src/server/session-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-history.d.ts","sourceRoot":"","sources":["../../src/server/session-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"session-history.d.ts","sourceRoot":"","sources":["../../src/server/session-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACnD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,gBAAgB,EAAE,MAAM,GACvB,uBAAuB,CAmBzB;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,cAAc,EAAE,EAC3B,gBAAgB,EAAE,MAAM,GACvB,uBAAuB,EAAE,CAE3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Host ports for sensitive and high-volume EventBus projections. */
|
|
2
|
+
export interface SetupEventProjection {
|
|
3
|
+
scrubObject?: ((value: unknown) => unknown) | undefined;
|
|
4
|
+
queueTextDelta?: ((text: string, sessionId?: string) => void) | undefined;
|
|
5
|
+
queueThinkingDelta?: ((text: string, sessionId?: string) => void) | undefined;
|
|
6
|
+
queueToolProgress?: ((payload: Record<string, unknown>) => void) | undefined;
|
|
7
|
+
flushThinkingDelta?: (() => void) | undefined;
|
|
8
|
+
flushAllStreamBuffers?: (() => void) | undefined;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=setup-event-projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-event-projection.d.ts","sourceRoot":"","sources":["../../src/server/setup-event-projection.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IACxD,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1E,kBAAkB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9E,iBAAiB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7E,kBAAkB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9C,qBAAqB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAClD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface FileWatcherMetrics {
|
|
2
|
+
fileChangesDetected: number;
|
|
3
|
+
filesProcessed: number;
|
|
4
|
+
broadcastsSent: number;
|
|
5
|
+
debounceResets: number;
|
|
6
|
+
totalDebounceDelayMs: number;
|
|
7
|
+
activeProjects: number;
|
|
8
|
+
averageDebounceDelayMs: number;
|
|
9
|
+
watcherActive: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare function statusProjectHashFromWatchFilename(projectsDir: string, filename: string | Buffer): string | null;
|
|
12
|
+
export declare function shouldLogWatcherStats(): boolean;
|
|
13
|
+
//# sourceMappingURL=setup-events-watcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-events-watcher.d.ts","sourceRoot":"","sources":["../../src/server/setup-events-watcher.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAG/C"}
|
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
import type { Context
|
|
1
|
+
import type { Context } from '@wrongstack/core/agent';
|
|
2
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
3
|
+
import type { SessionEventBridge } from '@wrongstack/core/storage';
|
|
4
|
+
import type { WstackPaths } from '@wrongstack/core/utils';
|
|
2
5
|
import type { WebSocket } from 'ws';
|
|
3
6
|
import type { PendingConfirm } from './pending-confirms.js';
|
|
7
|
+
import type { SetupEventProjection } from './setup-event-projection.js';
|
|
8
|
+
import { type FileWatcherMetrics } from './setup-events-watcher.js';
|
|
4
9
|
import type { ConnectedClient, WSServerMessage } from './types.js';
|
|
5
|
-
|
|
6
|
-
export interface FileWatcherMetrics {
|
|
7
|
-
/** Number of status.json filesystem events detected after filename filtering. */
|
|
8
|
-
fileChangesDetected: number;
|
|
9
|
-
filesProcessed: number;
|
|
10
|
-
broadcastsSent: number;
|
|
11
|
-
debounceResets: number;
|
|
12
|
-
totalDebounceDelayMs: number;
|
|
13
|
-
activeProjects: number;
|
|
14
|
-
/** Average debounce delay in ms across all broadcasts. */
|
|
15
|
-
averageDebounceDelayMs: number;
|
|
16
|
-
/** Whether the file watcher is currently active. */
|
|
17
|
-
watcherActive: boolean;
|
|
18
|
-
}
|
|
10
|
+
export type { FileWatcherMetrics } from './setup-events-watcher.js';
|
|
19
11
|
export interface SetupEventsDeps {
|
|
20
12
|
events: EventBus;
|
|
21
13
|
broadcast: (clients: Map<WebSocket, ConnectedClient>, msg: WSServerMessage) => void;
|
|
@@ -38,11 +30,7 @@ export interface SetupEventsDeps {
|
|
|
38
30
|
sessionBridge?: SessionEventBridge | undefined;
|
|
39
31
|
/** Optional wpaths for writing status.json file. */
|
|
40
32
|
wpaths?: WstackPaths | undefined;
|
|
41
|
-
/**
|
|
42
|
-
* Optional object to populate with file watcher metrics.
|
|
43
|
-
* When provided, the setupEvents function will populate this object
|
|
44
|
-
* with real-time metrics from the file watcher.
|
|
45
|
-
*/
|
|
33
|
+
/** Optional live file-watcher metrics sink. */
|
|
46
34
|
watcherMetrics?: FileWatcherMetrics | undefined;
|
|
47
35
|
/**
|
|
48
36
|
* Receives the internal `broadcastSessions` fn so the HTTP layer can trigger
|
|
@@ -50,8 +38,10 @@ export interface SetupEventsDeps {
|
|
|
50
38
|
* from a TUI/REPL), instead of waiting on the registry file-watch/poll.
|
|
51
39
|
*/
|
|
52
40
|
onFleetBroadcaster?: ((fn: () => Promise<void>) => void) | undefined;
|
|
41
|
+
/** Optional high-volume/sensitive event adapter used by embedded hosts. */
|
|
42
|
+
projection?: SetupEventProjection | undefined;
|
|
53
43
|
}
|
|
54
|
-
export
|
|
44
|
+
export { statusProjectHashFromWatchFilename } from './setup-events-watcher.js';
|
|
55
45
|
/**
|
|
56
46
|
* Wire kernel events to WS broadcasts and (when wpaths/globalConfigPath are
|
|
57
47
|
* given) start the status-file watcher and session-poll interval.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-events.d.ts","sourceRoot":"","sources":["../../src/server/setup-events.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"setup-events.d.ts","sourceRoot":"","sources":["../../src/server/setup-events.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EACV,QAAQ,EAGT,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IACpF,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACzC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,gGAAgG;IAChG,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC/C,oDAAoD;IACpD,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,+CAA+C;IAC/C,cAAc,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAChD;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACrE,2EAA2E;IAC3E,UAAU,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC/C;AAED,OAAO,EAAE,kCAAkC,EAAE,MAAM,2BAA2B,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,IAAI,CA22C7D"}
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* `needsSetup` flag, and the stub provider's exact shape are preserved
|
|
12
12
|
* verbatim. The function throws on the same failures the inline code did.
|
|
13
13
|
*/
|
|
14
|
-
import type {
|
|
14
|
+
import type { ProviderRegistry } from '@wrongstack/core/registry';
|
|
15
|
+
import type { Provider } from '@wrongstack/core/types';
|
|
15
16
|
import type { Config } from '@wrongstack/core/types';
|
|
16
17
|
export interface ResolveSetupProviderOptions {
|
|
17
18
|
config: Config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-screen.d.ts","sourceRoot":"","sources":["../../src/server/setup-screen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"setup-screen.d.ts","sourceRoot":"","sources":["../../src/server/setup-screen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,wBAAwB,CAAC;AAGvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAuCrD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;IACnB;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAaD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,2BAA2B,GAChC,qBAAqB,CAkDvB"}
|
|
@@ -1,12 +1,36 @@
|
|
|
1
|
-
import type { Logger } from '@wrongstack/core';
|
|
1
|
+
import type { Logger } from '@wrongstack/core/types';
|
|
2
2
|
export type ShellOpenTarget = 'terminal' | 'file-manager';
|
|
3
3
|
export interface ShellOpenRequest {
|
|
4
4
|
path: string;
|
|
5
5
|
target: ShellOpenTarget;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Normalize a raw wire-format target value to a valid `ShellOpenTarget`.
|
|
9
|
+
*
|
|
10
|
+
* Maps `'terminal'` → `'terminal'`, everything else (including `'file'`,
|
|
11
|
+
* `'file-manager'`, `undefined`, unknown strings) → `'file-manager'`.
|
|
12
|
+
*
|
|
13
|
+
* This reconciles the legacy wire format (`target: 'file'`) which the
|
|
14
|
+
* payload validators may still accept, with the handler contract
|
|
15
|
+
* (`'terminal' | 'file-manager'`), and ensures consistent behavior
|
|
16
|
+
* across both the standalone and embedded WebUI routers.
|
|
17
|
+
*/
|
|
18
|
+
export declare function normalizeShellOpenTarget(target: string | undefined): ShellOpenTarget;
|
|
19
|
+
/**
|
|
20
|
+
* Optional security options for `handleShellOpen`.
|
|
21
|
+
*
|
|
22
|
+
* `projectRoot`, when provided, confines the resolved path to the project
|
|
23
|
+
* directory — the OS file manager / terminal will never be launched at a
|
|
24
|
+
* location outside the project. This is defense-in-depth: the TrustBoundary
|
|
25
|
+
* authorization may use a permissive compatibility policy, so the path
|
|
26
|
+
* containment must be enforced at the executor as well.
|
|
27
|
+
*/
|
|
28
|
+
export interface ShellOpenOptions {
|
|
29
|
+
projectRoot?: string;
|
|
30
|
+
}
|
|
7
31
|
export interface ShellOpenResult {
|
|
8
32
|
success: boolean;
|
|
9
33
|
message: string;
|
|
10
34
|
}
|
|
11
|
-
export declare function handleShellOpen(req: ShellOpenRequest, logger: Logger): Promise<ShellOpenResult>;
|
|
35
|
+
export declare function handleShellOpen(req: ShellOpenRequest, logger: Logger, options?: ShellOpenOptions): Promise<ShellOpenResult>;
|
|
12
36
|
//# sourceMappingURL=shell-open.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-open.d.ts","sourceRoot":"","sources":["../../src/server/shell-open.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"shell-open.d.ts","sourceRoot":"","sources":["../../src/server/shell-open.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,cAAc,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,eAAe,CAEjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAeD,wBAAsB,eAAe,CACnC,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CA4E1B"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* `projectRoot` → `ctx.*`, local `send`/`errMessage` → imported helpers).
|
|
19
19
|
*/
|
|
20
20
|
import type { WebSocket } from 'ws';
|
|
21
|
-
import type { SkillLoader } from '@wrongstack/core';
|
|
21
|
+
import type { SkillLoader } from '@wrongstack/core/types';
|
|
22
22
|
import type { SkillInstaller } from '@wrongstack/core/skills';
|
|
23
23
|
export interface SkillsContext {
|
|
24
24
|
/** Backs skills.list/content/edit/export. Absent ⇒ feature disabled. */
|
|
@@ -29,7 +29,7 @@ export interface SkillsContext {
|
|
|
29
29
|
projectRoot: string;
|
|
30
30
|
/** Project skills directory, normally `<project>/.wrongstack/skills`. */
|
|
31
31
|
projectSkillsDir?: string | undefined;
|
|
32
|
-
/**
|
|
32
|
+
/** Profile skills directory, normally `~/.wrongstack/profiles/<name>/skills`. */
|
|
33
33
|
globalSkillsDir?: string | undefined;
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-handlers.d.ts","sourceRoot":"","sources":["../../src/server/skills-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"skills-handlers.d.ts","sourceRoot":"","sources":["../../src/server/skills-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAK9D,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,0EAA0E;IAC1E,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAID;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDvF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CA0Ff;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBzF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"specs-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/specs-ws-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"specs-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/specs-ws-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAWpC,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAgBD;;;;;;;;;GASG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,OAAO,CAAuB;IAEtC,YAAY,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAGlD;IAED,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAM7B;IAEK,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBtD;YAIa,SAAS;YAiBT,aAAa;YAIb,QAAQ;YAMR,eAAe;YAUf,gBAAgB;IAM9B,OAAO,CAAC,WAAW;YAuEL,gBAAgB;IAkB9B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,IAAI;CAGb"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
1
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
2
|
+
import type { Config, Logger, SessionStore } from '@wrongstack/core/types';
|
|
3
|
+
import { AgentStatusTracker, type SessionRegistry } from '@wrongstack/core/storage';
|
|
3
4
|
export interface StandaloneSessionIdentityPaths {
|
|
4
5
|
globalRoot: string;
|
|
5
6
|
projectRoot: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone-session-identity.d.ts","sourceRoot":"","sources":["../../src/server/standalone-session-identity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"standalone-session-identity.d.ts","sourceRoot":"","sources":["../../src/server/standalone-session-identity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAIlB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,8BAA8B,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,aAAa,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,wCAAwC,CAC5D,IAAI,EAAE,gCAAgC,GACrC,OAAO,CAAC,kCAAkC,CAAC,CAqL7C"}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standalone WebUI server entry point.
|
|
3
|
+
*
|
|
4
|
+
* Phase 1d of the god-module split: `startWebUI` moved here from
|
|
5
|
+
* `./index.ts` so that `index.ts` is a pure re-export barrel.
|
|
6
|
+
* This module owns the full server lifecycle: port resolution, boot,
|
|
7
|
+
* service construction (Phase 1c), route/dispatcher/connection wiring
|
|
8
|
+
* (Phase 1b/1a), WS + HTTP server creation, and graceful shutdown.
|
|
9
|
+
*/
|
|
1
10
|
import type { WebUIOptions } from './types.js';
|
|
2
11
|
export declare function startWebUI(opts?: WebUIOptions & {
|
|
3
|
-
wsPort?: number | undefined;
|
|
4
12
|
wsHost?: string | undefined;
|
|
5
13
|
httpPort?: number | undefined;
|
|
6
14
|
accessToken?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start-webui.d.ts","sourceRoot":"","sources":["../../src/server/start-webui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"start-webui.d.ts","sourceRoot":"","sources":["../../src/server/start-webui.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyDH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,wBAAsB,UAAU,CAC9B,IAAI,GAAE,YAAY,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvB,GACL,OAAO,CAAC,IAAI,CAAC,CA2xBf;AAED;;;;;;;;;;;;;;;;GAgBG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-side stream coalescing for WebUI hosts.
|
|
3
|
+
*
|
|
4
|
+
* Coalesces high-volume live events (provider text/thinking deltas, tool
|
|
5
|
+
* progress) before they hit every connected browser tab. The frontend also
|
|
6
|
+
* coalesces per animation frame, but without this layer long streams still
|
|
7
|
+
* create one WebSocket message per provider token/tool progress event.
|
|
8
|
+
*
|
|
9
|
+
* PR 9 of Issue #30: extracted from `webui-server.ts`.
|
|
10
|
+
*/
|
|
11
|
+
export interface StreamCoalescerDeps {
|
|
12
|
+
/** Send a message to every connected client (webui-server's `broadcast`). */
|
|
13
|
+
broadcast: (msg: {
|
|
14
|
+
type: string;
|
|
15
|
+
payload: unknown;
|
|
16
|
+
}) => void;
|
|
17
|
+
/** Stamp a payload with the live session id (webui-server's `sessionPayload`). */
|
|
18
|
+
sessionPayload: <T extends Record<string, unknown>>(payload: T) => T & {
|
|
19
|
+
sessionId: string;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface ToolProgressPayload {
|
|
23
|
+
sessionId?: string | undefined;
|
|
24
|
+
traceId?: string | undefined;
|
|
25
|
+
agentId?: string | undefined;
|
|
26
|
+
agentName?: string | undefined;
|
|
27
|
+
id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
event: {
|
|
30
|
+
type?: string | undefined;
|
|
31
|
+
text?: string | undefined;
|
|
32
|
+
data?: Record<string, unknown> | undefined;
|
|
33
|
+
path?: string | undefined;
|
|
34
|
+
operation?: 'write' | 'edit' | 'delete' | 'rename' | undefined;
|
|
35
|
+
line?: number | undefined;
|
|
36
|
+
endLine?: number | undefined;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface StreamCoalescer {
|
|
40
|
+
queueTextDelta(text: string, sessionId?: string | undefined): void;
|
|
41
|
+
queueThinkingDelta(text: string, sessionId?: string | undefined): void;
|
|
42
|
+
queueToolProgress(payload: ToolProgressPayload): void;
|
|
43
|
+
/** Flush a pending thinking buffer (text deltas interleave with thinking). */
|
|
44
|
+
flushThinkingDelta(): void;
|
|
45
|
+
/** Flush every pending buffer — call at iteration boundaries and shutdown. */
|
|
46
|
+
flushAllStreamBuffers(): void;
|
|
47
|
+
}
|
|
48
|
+
export declare function createStreamCoalescer(deps: StreamCoalescerDeps): StreamCoalescer;
|
|
49
|
+
//# sourceMappingURL=stream-coalescer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-coalescer.d.ts","sourceRoot":"","sources":["../../src/server/stream-coalescer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,SAAS,EAAE,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC7D,kFAAkF;IAClF,cAAc,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9F;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;QAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC/D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACnE,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACvE,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtD,8EAA8E;IAC9E,kBAAkB,IAAI,IAAI,CAAC;IAC3B,8EAA8E;IAC9E,qBAAqB,IAAI,IAAI,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CA2JhF"}
|