@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
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { BrainArbiter } from '@wrongstack/core/coordination';
|
|
2
|
+
import type { BrainAutoRisk, BrainRuntime } from '@wrongstack/core/execution';
|
|
3
|
+
import type { WebSocket } from 'ws';
|
|
4
|
+
import type { WSServerMessage } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* PR 5b of Issue #30: Brain WebSocket handlers (`brain.status` /
|
|
7
|
+
* `brain.risk` / `brain.ask`).
|
|
8
|
+
*
|
|
9
|
+
* Extracted from the `runWebUI` switch. The former closure captures —
|
|
10
|
+
* `opts.brainSettings`, `opts.getBrainLog`, and the
|
|
11
|
+
* `opts.brain ?? container.resolve(TOKENS.BrainArbiter)` lookup — are now
|
|
12
|
+
* fields on `BrainHandlerContext`. The arbiter resolution is passed as a
|
|
13
|
+
* thunk so this module needn't know about the agent container or tokens.
|
|
14
|
+
*/
|
|
15
|
+
/** A single Brain decision-log entry (newest last). */
|
|
16
|
+
export interface BrainLogEntry {
|
|
17
|
+
at: number;
|
|
18
|
+
kind: string;
|
|
19
|
+
question: string;
|
|
20
|
+
outcome: string;
|
|
21
|
+
}
|
|
22
|
+
export interface BrainTransportContext {
|
|
23
|
+
send: (ws: WebSocket, message: WSServerMessage) => void;
|
|
24
|
+
}
|
|
25
|
+
export interface BrainHandlerContext extends BrainTransportContext {
|
|
26
|
+
/** Shared autonomy ceiling — the SAME object `/brain` mutates. */
|
|
27
|
+
brainSettings: {
|
|
28
|
+
maxAutoRisk: BrainAutoRisk;
|
|
29
|
+
} | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Live-editable Brain config owner. Powers `brain.config.get/set` and
|
|
32
|
+
* enriches `brain.status`; risk-only hosts may leave it undefined.
|
|
33
|
+
*/
|
|
34
|
+
brainRuntime?: BrainRuntime | undefined;
|
|
35
|
+
/** Read the host's rolling Brain decision log, or undefined when not wired. */
|
|
36
|
+
getBrainLog: (() => BrainLogEntry[]) | undefined;
|
|
37
|
+
/** Resolve the active Brain arbiter (host instance, else container-bound), or undefined. */
|
|
38
|
+
resolveArbiter: () => BrainArbiter | undefined;
|
|
39
|
+
/** Read the active session id for brain.ask requests. */
|
|
40
|
+
getSessionId?: (() => string | undefined) | undefined;
|
|
41
|
+
}
|
|
42
|
+
export declare function handleBrainStatus(ctx: BrainHandlerContext, ws: WebSocket): void;
|
|
43
|
+
export declare function handleBrainConfigGet(ctx: BrainHandlerContext, ws: WebSocket): void;
|
|
44
|
+
export declare function handleBrainConfigSet(ctx: BrainHandlerContext, ws: WebSocket, payload: unknown): Promise<void>;
|
|
45
|
+
export declare function handleBrainRisk(ctx: BrainHandlerContext, ws: WebSocket, level: string): void;
|
|
46
|
+
export declare function handleBrainAsk(ctx: BrainHandlerContext, ws: WebSocket, question: string | undefined): Promise<void>;
|
|
47
|
+
//# sourceMappingURL=brain-handlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brain-handlers.d.ts","sourceRoot":"","sources":["../../src/server/brain-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAoB,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;GASG;AAEH,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,kEAAkE;IAClE,aAAa,EAAE;QAAE,WAAW,EAAE,aAAa,CAAA;KAAE,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC,+EAA+E;IAC/E,WAAW,EAAE,CAAC,MAAM,aAAa,EAAE,CAAC,GAAG,SAAS,CAAC;IACjD,4FAA4F;IAC5F,cAAc,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;IAC/C,yDAAyD;IACzD,YAAY,CAAC,EAAE,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CACvD;AAWD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAsB/E;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAclF;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,mBAAmB,EACxB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAwCf;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAe5F;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,mBAAmB,EACxB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChronicleMetricsStore, ChronicleQueryEngine } from '@wrongstack/core/chronicle';
|
|
2
|
+
import type { WebSocket } from 'ws';
|
|
3
|
+
import type { WSClientMessage, WSServerMessage } from './types.js';
|
|
4
|
+
export type ChronicleRouteEngine = Pick<ChronicleQueryEngine, 'query' | 'facet' | 'facets' | 'graph' | 'diagnostics'>;
|
|
5
|
+
export type ChronicleRouteMetrics = Pick<ChronicleMetricsStore, 'refresh' | 'summary' | 'providerDaily' | 'taskOutcomes' | 'fileLineage'>;
|
|
6
|
+
export interface ChronicleRouteContext {
|
|
7
|
+
getProjectRoot: () => string;
|
|
8
|
+
send: (ws: WebSocket, message: WSServerMessage) => void;
|
|
9
|
+
getEngine?: (() => Promise<ChronicleRouteEngine>) | undefined;
|
|
10
|
+
getMetrics?: (() => Promise<ChronicleRouteMetrics>) | undefined;
|
|
11
|
+
}
|
|
12
|
+
/** Canonical Chronicle query/facet/graph handler shared by every WebUI host. */
|
|
13
|
+
export declare function handleChronicleRoute(ctx: ChronicleRouteContext, ws: WebSocket, message: WSClientMessage): Promise<boolean>;
|
|
14
|
+
//# sourceMappingURL=chronicle-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chronicle-routes.d.ts","sourceRoot":"","sources":["../../src/server/chronicle-routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,qBAAqB,EAErB,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,oBAAoB,EACpB,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CACvD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,qBAAqB,EACrB,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,cAAc,GAAG,aAAa,CACzE,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,SAAS,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9D,UAAU,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,SAAS,CAAC;CACjE;AAgFD,gFAAgF;AAChF,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,qBAAqB,EAC1B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAsHlB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { GlobalMailbox } from '@wrongstack/core/coordination';
|
|
2
|
+
import type { Config } from '@wrongstack/core/types';
|
|
3
|
+
import type { CreateHqPublisherOptions, HqPublisher } from '@wrongstack/core/hq';
|
|
4
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
5
|
+
export interface WebuiHqConnection {
|
|
6
|
+
getPublisher(): HqPublisher | undefined;
|
|
7
|
+
stop(): void;
|
|
8
|
+
}
|
|
9
|
+
export type WebuiHqConnectionOptions = Omit<CreateHqPublisherOptions, 'socketFactory'> & {
|
|
10
|
+
onConnect?: ((publisher: HqPublisher) => void) | undefined;
|
|
11
|
+
};
|
|
12
|
+
export interface WebuiClientPresenceDeps {
|
|
13
|
+
projectRoot: string | undefined;
|
|
14
|
+
appConfig: Config | undefined;
|
|
15
|
+
events: EventBus;
|
|
16
|
+
hqSessionId: string;
|
|
17
|
+
getSessionId: () => string;
|
|
18
|
+
startHqConnection: (options: WebuiHqConnectionOptions) => WebuiHqConnection;
|
|
19
|
+
createCommandHandler?: ((mailbox: GlobalMailbox) => NonNullable<CreateHqPublisherOptions['onCommand']>) | undefined;
|
|
20
|
+
}
|
|
21
|
+
export interface WebuiClientPresence {
|
|
22
|
+
register(): Promise<string | null>;
|
|
23
|
+
unregister(): void;
|
|
24
|
+
}
|
|
25
|
+
export declare function createWebuiClientPresence(deps: WebuiClientPresenceDeps): WebuiClientPresence;
|
|
26
|
+
//# sourceMappingURL=client-presence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-presence.d.ts","sourceRoot":"","sources":["../../src/server/client-presence.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAEd,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EACV,wBAAwB,EAExB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,WAAW,iBAAiB;IAChC,YAAY,IAAI,WAAW,GAAG,SAAS,CAAC;IACxC,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,GAAG;IACvF,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5D,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,iBAAiB,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,iBAAiB,CAAC;IAC5E,oBAAoB,CAAC,EACjB,CAAC,CAAC,OAAO,EAAE,aAAa,KAAK,WAAW,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,GAChF,SAAS,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnC,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAsF5F"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WebSocket } from 'ws';
|
|
2
|
+
import type { WSClientMessage } from './types.js';
|
|
3
|
+
export interface ClientTransportRouteHandlers {
|
|
4
|
+
collaboration: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
5
|
+
terminal: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
6
|
+
}
|
|
7
|
+
export declare function handleClientTransportRoute(ws: WebSocket, msg: WSClientMessage, handlers: ClientTransportRouteHandlers): Promise<boolean>;
|
|
8
|
+
//# sourceMappingURL=client-transport-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-transport-routes.d.ts","sourceRoot":"","sources":["../../src/server/client-transport-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,4BAA4B;IAC3C,aAAa,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7E,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACzE;AAED,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,4BAA4B,GACrC,OAAO,CAAC,OAAO,CAAC,CAqBlB"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type { Context
|
|
1
|
+
import type { Context } from '@wrongstack/core/agent';
|
|
2
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
3
|
+
import type { IndexingConfig, Logger } from '@wrongstack/core/types';
|
|
2
4
|
export interface WebUICodebaseIndexingDeps {
|
|
3
5
|
config: {
|
|
4
6
|
indexing?: IndexingConfig | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codebase-indexing.d.ts","sourceRoot":"","sources":["../../src/server/codebase-indexing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"codebase-indexing.d.ts","sourceRoot":"","sources":["../../src/server/codebase-indexing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAmBrE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;KAAE,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,yBAAyB,GAAG,qBAAqB,CA8KjG"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface CodemapCacheEntry {
|
|
2
|
+
version: string;
|
|
3
|
+
/** Pre-serialized JSON body — avoids re-stringify on cache hits. */
|
|
4
|
+
body: string;
|
|
5
|
+
}
|
|
6
|
+
/** Filesystem fingerprint of the index DB used as the cache generation key. */
|
|
7
|
+
export declare function indexDbVersion(projectRoot: string, indexDir?: string): string;
|
|
8
|
+
export declare function codemapCacheKey(projectRoot: string, indexDir: string | undefined, scope: string): string;
|
|
9
|
+
export declare function getCachedCodemapBody(key: string, version: string): string | undefined;
|
|
10
|
+
export declare function setCachedCodemapBody(key: string, version: string, body: string): void;
|
|
11
|
+
/** Test / process-shutdown helper. */
|
|
12
|
+
export declare function clearCodemapGraphCache(): void;
|
|
13
|
+
export declare function codemapGraphCacheSize(): number;
|
|
14
|
+
//# sourceMappingURL=codemap-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codemap-cache.d.ts","sourceRoot":"","sources":["../../src/server/codemap-cache.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;CACd;AAID,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ7E;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAWpB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,IAAI,CAQN;AAED,sCAAsC;AACtC,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C"}
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
* CodeMap HTTP handlers — serve the dependency graph at three drill-down
|
|
3
3
|
* levels (package → file → symbol) from the codebase index SQLite store.
|
|
4
4
|
*
|
|
5
|
-
* Each handler
|
|
6
|
-
*
|
|
7
|
-
* in the WebUI.
|
|
5
|
+
* Each handler queries via the graph services and returns JSON. Results are
|
|
6
|
+
* cached in-process and invalidated when `index.db` mtime/size changes.
|
|
8
7
|
*
|
|
9
8
|
* Endpoints:
|
|
10
9
|
* GET /api/codemap/packages — package-level graph
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemap-handlers.d.ts","sourceRoot":"","sources":["../../src/server/codemap-handlers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"codemap-handlers.d.ts","sourceRoot":"","sources":["../../src/server/codemap-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAUvC,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAmDD,4EAA4E;AAC5E,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,kBAAkB,GACvB,IAAI,CAON;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,MAAM,GACV,IAAI,CAYN;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,GACX,IAAI,CAYN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemap-telemetry.d.ts","sourceRoot":"","sources":["../../src/server/codemap-telemetry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"codemap-telemetry.d.ts","sourceRoot":"","sources":["../../src/server/codemap-telemetry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAoCD,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAiB,EAC1D,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,GACf,iBAAiB,CAOnB;AAYD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,GAChB,iBAAiB,EAAE,CAsCrB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { WebSocket } from 'ws';
|
|
2
|
-
import type { CollaborationBus
|
|
2
|
+
import type { CollaborationBus } from '@wrongstack/core/coordination';
|
|
3
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
4
|
+
import type { Logger } from '@wrongstack/core/types';
|
|
3
5
|
import type { AnnotationsStore, SessionReader } from '@wrongstack/core/storage';
|
|
4
6
|
import type { CollabRole } from './types.js';
|
|
5
7
|
export interface CollaborationHandlerOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collaboration-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/collaboration-ws-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAyB,QAAQ,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"collaboration-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/collaboration-ws-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,+BAA+B,CAAC;AAC7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EACV,UAAU,EAGX,MAAM,YAAY,CAAC;AASpB,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IAChD;;;OAGG;IACH,aAAa,CAAC,EACV,CAAC,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,GAC1G,SAAS,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,6BAA6B;IAQtC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA9B1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAE9C,YACmB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,MAAM;IAC/B;;;;;;OAMG;IACc,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS;IACnD;;;;OAIG;IACc,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAC3D;;;;;OAKG;IACc,GAAG,CAAC,EAAE,gBAAgB,GAAG,SAAS,EAClC,OAAO,GAAE,2BAAgC,EAM3D;IAID,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAK7B;IAED,OAAO,IAAI,IAAI,CAId;IAID;;;;;OAKG;IACH,aAAa,CACX,EAAE,EAAE,SAAS,EACb,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GACnD,OAAO,CA4CT;IAID,OAAO,CAAC,IAAI;IA2FZ,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,gBAAgB;IAwCxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,mBAAmB;YASb,cAAc;YA4Ed,aAAa;IA0E3B,OAAO,CAAC,SAAS;IA6CjB,OAAO,CAAC,cAAc;IAgBtB;;;;;;;;;;;OAWG;YACW,aAAa;IAiC3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,YAAY;YAMN,kBAAkB;YAiDlB,YAAY;YA0CZ,kBAAkB;IAgDhC;;;;;;OAMG;YACW,gBAAgB;IAuF9B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;CAgCnC"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* existing codebase index when available.
|
|
7
7
|
*/
|
|
8
8
|
import type { WebSocket } from 'ws';
|
|
9
|
-
import type { Context
|
|
9
|
+
import type { Context } from '@wrongstack/core/agent';
|
|
10
|
+
import type { Provider, Tool } from '@wrongstack/core/types';
|
|
10
11
|
export type CompletionItemKind = 'text' | 'method' | 'function' | 'constructor' | 'field' | 'variable' | 'class' | 'interface' | 'module' | 'property' | 'unit' | 'value' | 'enum' | 'keyword' | 'snippet' | 'file' | 'reference';
|
|
11
12
|
export interface CompletionSuggestion {
|
|
12
13
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-handlers.d.ts","sourceRoot":"","sources":["../../src/server/completion-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAW,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"completion-handlers.d.ts","sourceRoot":"","sources":["../../src/server/completion-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAW,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAItE,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,QAAQ,GACR,UAAU,GACV,aAAa,GACb,OAAO,GACP,UAAU,GACV,OAAO,GACP,WAAW,GACX,QAAQ,GACR,UAAU,GACV,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,MAAM,GACN,WAAW,CAAC;AAEhB,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;CAC9C;AAgBD,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,0BAA0B,KAChC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;AA+DrC,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA4Ef;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,GAAG,EAAE,OAAO,GACX,mBAAmB,GAAG,SAAS,CAkBjC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WebSocket } from 'ws';
|
|
2
|
+
import type { WSClientMessage } from './types.js';
|
|
3
|
+
export interface CompletionRouteHandlers {
|
|
4
|
+
request: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
5
|
+
}
|
|
6
|
+
export declare function handleCompletionRoute(ws: WebSocket, msg: WSClientMessage, handlers: CompletionRouteHandlers): Promise<boolean>;
|
|
7
|
+
//# sourceMappingURL=completion-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion-routes.d.ts","sourceRoot":"","sources":["../../src/server/completion-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxE;AAED,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,OAAO,CAAC,CAQlB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Config, SecretVault } from '@wrongstack/core/types';
|
|
2
|
+
import type { WebSocket } from 'ws';
|
|
3
|
+
export interface ConfigDoctorDeps {
|
|
4
|
+
profileConfigPath: string;
|
|
5
|
+
vault: SecretVault;
|
|
6
|
+
updateConfig: (mutate: (config: Record<string, unknown>) => void, errorLabel: string) => Promise<void>;
|
|
7
|
+
applyRuntimeConfig: (config: Config) => void;
|
|
8
|
+
}
|
|
9
|
+
/** Preview or apply canonical defaults to the active profile config. */
|
|
10
|
+
export declare function handleConfigDoctor(ws: WebSocket, apply: boolean, deps: ConfigDoctorDeps): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=config-doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-doctor.d.ts","sourceRoot":"","sources":["../../src/server/config-doctor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAGpC,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,CACZ,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EACjD,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAoBD,wEAAwE;AACxE,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAwDf"}
|
|
@@ -1,55 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Phase 1b of the god-module split (issue: God-modules >1500 lines).
|
|
5
|
-
* `startWebUI` in `./index.ts` previously inlined:
|
|
6
|
-
* - per-connection message rate limiting (state + `checkRateLimit`)
|
|
7
|
-
* - the `handleConnection` callback registered on both WS servers
|
|
8
|
-
* - the F5-resilience replay (transcript + usage) shipped to every new
|
|
9
|
-
* connection so a browser refresh rehydrates without an extra round-trip
|
|
10
|
-
*
|
|
11
|
-
* All of that moves here. The factory returns the `(ws) => void` handler
|
|
12
|
-
* that `startWebUI` registers on `wssPrimary` / `wssSecondary`. Behaviour is
|
|
13
|
-
* preserved verbatim — rate-limit windows, the 2 000-message replay cap, the
|
|
14
|
-
* pending-confirm cleanup on close, and the error swallow on socket errors.
|
|
15
|
-
*/
|
|
16
|
-
import type { Context, Message, Usage } from '@wrongstack/core';
|
|
17
|
-
import type { DefaultTokenCounter } from '@wrongstack/core/infrastructure';
|
|
1
|
+
import type { Context } from '@wrongstack/core/agent';
|
|
2
|
+
import type { Message, SessionEvent, TokenCounter, Usage } from '@wrongstack/core/types';
|
|
18
3
|
import type { WebSocket } from 'ws';
|
|
19
|
-
import type { GoalWebSocketHandler } from './goal-ws-handler.js';
|
|
20
4
|
import type { CollaborationWebSocketHandler } from './collaboration-ws-handler.js';
|
|
5
|
+
import type { GoalWebSocketHandler } from './goal-ws-handler.js';
|
|
6
|
+
import type { PendingConfirm } from './pending-confirms.js';
|
|
21
7
|
import type { SddBoardWebSocketHandler } from './sdd-board-ws-handler.js';
|
|
22
8
|
import type { SddWizardWebSocketHandler } from './sdd-wizard-ws-handler.js';
|
|
23
9
|
import type { SpecsWebSocketHandler } from './specs-ws-handler.js';
|
|
24
10
|
import type { TerminalWebSocketHandler } from './terminal-ws-handler.js';
|
|
25
|
-
import type { WorktreeWebSocketHandler } from './worktree-ws-handler.js';
|
|
26
11
|
import type { ConnectedClient, WSClientMessage } from './types.js';
|
|
27
|
-
import {
|
|
28
|
-
/** The session.start payload enriched with optional F5-replay fields. */
|
|
29
|
-
type SessionStartEnriched = Record<string, unknown>;
|
|
12
|
+
import type { WorktreeWebSocketHandler } from './worktree-ws-handler.js';
|
|
30
13
|
export interface ConnectionHandlerOptions {
|
|
31
|
-
/** Live session id — re-read every connect (mutable across /new + resume). */
|
|
32
14
|
getSessionId(): string;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
/** Token counter — `total()` feeds the replayUsage block. */
|
|
36
|
-
tokenCounter: DefaultTokenCounter;
|
|
37
|
-
/** Agent context — fallback source for replay when the session log is unavailable. */
|
|
15
|
+
sessionStartPayload(): Promise<Record<string, unknown>>;
|
|
16
|
+
tokenCounter: TokenCounter;
|
|
38
17
|
context: Context;
|
|
39
|
-
/**
|
|
40
|
-
* Load the visible chat replay for a reconnecting client. Prefer the
|
|
41
|
-
* session log over `context.messages`: context is the model working set and
|
|
42
|
-
* may have been compacted, while the session log is the UI transcript.
|
|
43
|
-
*/
|
|
44
18
|
loadReplay?: (() => Promise<{
|
|
45
19
|
messages: Message[];
|
|
20
|
+
events?: readonly SessionEvent[] | undefined;
|
|
46
21
|
usage?: Usage | undefined;
|
|
47
22
|
} | null>) | undefined;
|
|
48
|
-
/** Live WS clients map (shared with the dispatcher + broadcaster). */
|
|
49
23
|
clients: Map<WebSocket, ConnectedClient>;
|
|
50
|
-
/** Pending permission confirmations — drained to 'no' on disconnect. */
|
|
51
24
|
pendingConfirms: Map<string, PendingConfirm>;
|
|
52
|
-
/** Per-feature WS handlers that register each new client for their feeds. */
|
|
53
25
|
goalHandler: GoalWebSocketHandler;
|
|
54
26
|
specsHandler: SpecsWebSocketHandler;
|
|
55
27
|
sddBoardHandler: SddBoardWebSocketHandler;
|
|
@@ -57,16 +29,7 @@ export interface ConnectionHandlerOptions {
|
|
|
57
29
|
worktreeHandler: WorktreeWebSocketHandler;
|
|
58
30
|
collabHandler: CollaborationWebSocketHandler;
|
|
59
31
|
terminalHandler: TerminalWebSocketHandler;
|
|
60
|
-
/** The inbound message dispatcher (handles parsed WSClientMessage). */
|
|
61
32
|
handleMessage: (ws: WebSocket, client: ConnectedClient, msg: WSClientMessage) => Promise<void>;
|
|
62
33
|
}
|
|
63
|
-
|
|
64
|
-
* Build the `(ws) => void` connection handler.
|
|
65
|
-
*
|
|
66
|
-
* Owns the rate-limit state + the per-process connection-id sequence so two
|
|
67
|
-
* handlers built in the same process don't share buckets. Returns the handler
|
|
68
|
-
* plus a `dispose` for tests; production registers it directly on the servers.
|
|
69
|
-
*/
|
|
70
|
-
export declare function createConnectionHandler(opts: ConnectionHandlerOptions): (ws: WebSocket) => void;
|
|
71
|
-
export {};
|
|
34
|
+
export declare function createConnectionHandler(options: ConnectionHandlerOptions): (ws: WebSocket) => void;
|
|
72
35
|
//# sourceMappingURL=connection-handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-handler.d.ts","sourceRoot":"","sources":["../../src/server/connection-handler.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"connection-handler.d.ts","sourceRoot":"","sources":["../../src/server/connection-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAEnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGzE,MAAM,WAAW,wBAAwB;IACvC,YAAY,IAAI,MAAM,CAAC;IACvB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EACP,CAAC,MAAM,OAAO,CAAC;QACb,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAC;QAC7C,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;KAC3B,GAAG,IAAI,CAAC,CAAC,GACV,SAAS,CAAC;IACd,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACzC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,WAAW,EAAE,oBAAoB,CAAC;IAClC,YAAY,EAAE,qBAAqB,CAAC;IACpC,eAAe,EAAE,wBAAwB,CAAC;IAC1C,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,aAAa,EAAE,6BAA6B,CAAC;IAC7C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,aAAa,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChG;AAID,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAsEzB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { WebSocket } from 'ws';
|
|
2
|
+
import type { PendingConfirm } from './pending-confirms.js';
|
|
3
|
+
type OutboundMessage = {
|
|
4
|
+
type: string;
|
|
5
|
+
payload: unknown;
|
|
6
|
+
};
|
|
7
|
+
type ProtocolIssue = {
|
|
8
|
+
code: string;
|
|
9
|
+
message: string;
|
|
10
|
+
};
|
|
11
|
+
type DecodeResult<Message> = {
|
|
12
|
+
ok: true;
|
|
13
|
+
message: Message;
|
|
14
|
+
} | {
|
|
15
|
+
ok: false;
|
|
16
|
+
issue: ProtocolIssue;
|
|
17
|
+
};
|
|
18
|
+
export interface ConnectionLifecycleOptions<Client, Request, Message> {
|
|
19
|
+
clients: Map<WebSocket, Client>;
|
|
20
|
+
pendingConfirms: Map<string, PendingConfirm>;
|
|
21
|
+
authenticate?: (ws: WebSocket, request: Request) => boolean | Promise<boolean>;
|
|
22
|
+
createClient: (ws: WebSocket, connectionId: string) => Client;
|
|
23
|
+
registerClient: (ws: WebSocket) => void;
|
|
24
|
+
unregisterClient?: (ws: WebSocket) => void;
|
|
25
|
+
onClose?: (ws: WebSocket, client: Client | undefined) => void;
|
|
26
|
+
decode: (raw: string) => DecodeResult<Message>;
|
|
27
|
+
dispatch: (ws: WebSocket, client: Client, message: Message) => Promise<void>;
|
|
28
|
+
send: (ws: WebSocket, message: OutboundMessage) => void;
|
|
29
|
+
sessionPayload: (payload: Record<string, unknown>) => Record<string, unknown>;
|
|
30
|
+
buildInitialPayload: () => Promise<Record<string, unknown>>;
|
|
31
|
+
rateLimitMax?: number;
|
|
32
|
+
rateLimitWindowMs?: number;
|
|
33
|
+
confirmDrainGraceMs?: number;
|
|
34
|
+
rateLimitMessage?: string;
|
|
35
|
+
log?: (level: 'warn' | 'error', event: string, error: unknown) => void;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Canonical WebSocket lifecycle: protection, auth, registration, protocol
|
|
39
|
+
* decode, rate limiting, initial replay, and disconnect cleanup.
|
|
40
|
+
*/
|
|
41
|
+
export declare function createConnectionLifecycle<Client, Request, Message>(options: ConnectionLifecycleOptions<Client, Request, Message>): (ws: WebSocket, request: Request) => Promise<void>;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=connection-lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-lifecycle.d.ts","sourceRoot":"","sources":["../../src/server/connection-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,KAAK,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAC1D,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,KAAK,YAAY,CAAC,OAAO,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC;AAElG,MAAM,WAAW,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO;IAClE,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/E,YAAY,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9D,cAAc,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9D,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/C,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9E,mBAAmB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAChE,OAAO,EAAE,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAC5D,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CA6GpD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { WebSocket } from 'ws';
|
|
2
|
+
import { type DesignContext } from './design-handlers.js';
|
|
3
|
+
import { type PromptsContext } from './prompts-handlers.js';
|
|
4
|
+
import { type SkillsContext } from './skills-handlers.js';
|
|
5
|
+
import type { WSClientMessage } from './types.js';
|
|
6
|
+
export interface ContentRouteContext {
|
|
7
|
+
getProjectRoot: () => string;
|
|
8
|
+
getSkillsContext: () => SkillsContext;
|
|
9
|
+
getPromptsContext: () => PromptsContext;
|
|
10
|
+
getDesignContext: () => DesignContext;
|
|
11
|
+
onFileWritten?: ((filePath: string) => void) | undefined;
|
|
12
|
+
}
|
|
13
|
+
/** Canonical file/skill/prompt/design routing shared by every WebUI host. */
|
|
14
|
+
export declare function handleContentRoute(ctx: ContentRouteContext, ws: WebSocket, message: WSClientMessage): Promise<boolean>;
|
|
15
|
+
//# sourceMappingURL=content-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-routes.d.ts","sourceRoot":"","sources":["../../src/server/content-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EACL,KAAK,aAAa,EASnB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EASL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,aAAa,CAAC;IACtC,iBAAiB,EAAE,MAAM,cAAc,CAAC;IACxC,gBAAgB,EAAE,MAAM,aAAa,CAAC;IACtC,aAAa,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC1D;AAED,6EAA6E;AAC7E,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,mBAAmB,EACxB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAwFlB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Agent } from '@wrongstack/core/agent';
|
|
2
|
+
import type { WebSocket } from 'ws';
|
|
3
|
+
import type { ConversationRouteHandlers } from './conversation-routes.js';
|
|
4
|
+
import type { PendingConfirm } from './pending-confirms.js';
|
|
5
|
+
type OutboundMessage = {
|
|
6
|
+
type: string;
|
|
7
|
+
payload: unknown;
|
|
8
|
+
};
|
|
9
|
+
export interface ConversationRunControl {
|
|
10
|
+
/** Return a controller when acquired, or undefined when this host is busy. */
|
|
11
|
+
begin(ws: WebSocket): AbortController | undefined;
|
|
12
|
+
end(ws: WebSocket, controller: AbortController): void;
|
|
13
|
+
abort(ws: WebSocket): void;
|
|
14
|
+
}
|
|
15
|
+
export interface ConversationOperationsContext {
|
|
16
|
+
getAgent: () => Agent;
|
|
17
|
+
getSessionId: () => string;
|
|
18
|
+
runControl: ConversationRunControl;
|
|
19
|
+
pendingConfirms: Map<string, PendingConfirm>;
|
|
20
|
+
send: (ws: WebSocket, message: OutboundMessage) => void;
|
|
21
|
+
notifyAbort: (ws: WebSocket, message: OutboundMessage) => void;
|
|
22
|
+
getMaxIterations?: () => number | undefined;
|
|
23
|
+
busyPhase?: string;
|
|
24
|
+
busyMessage?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function createConversationOperations(ctx: ConversationOperationsContext): ConversationRouteHandlers;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=conversation-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-operations.d.ts","sourceRoot":"","sources":["../../src/server/conversation-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAcpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI7E,KAAK,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,EAAE,SAAS,GAAG,eAAe,GAAG,SAAS,CAAC;IAClD,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,UAAU,EAAE,sBAAsB,CAAC;IACnC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAC/D,gBAAgB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,6BAA6B,GACjC,yBAAyB,CAkI3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WebSocket } from 'ws';
|
|
2
|
+
import type { WSClientMessage } from './types.js';
|
|
3
|
+
export interface ConversationRouteHandlers {
|
|
4
|
+
userMessage: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
5
|
+
abort: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
6
|
+
ping: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
7
|
+
confirmTool: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
8
|
+
}
|
|
9
|
+
export declare function handleConversationRoute(ws: WebSocket, msg: WSClientMessage, handlers: ConversationRouteHandlers): Promise<boolean>;
|
|
10
|
+
//# sourceMappingURL=conversation-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-routes.d.ts","sourceRoot":"","sources":["../../src/server/conversation-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3E,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrE,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpE,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5E;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,yBAAyB,GAClC,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Custom context modes — user-defined presets that are loaded from disk,
|
|
3
3
|
* merged with the built-in modes, and managed via WebSocket CRUD handlers.
|
|
4
4
|
*
|
|
5
|
-
* Stored in: ~/.wrongstack/custom-context-modes.json
|
|
5
|
+
* Stored in: ~/.wrongstack/profiles/<name>/custom-context-modes.json
|
|
6
6
|
* Format: { "modes": ContextWindowMode[] }
|
|
7
7
|
*/
|
|
8
8
|
export interface CustomContextMode {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-context-modes.d.ts","sourceRoot":"","sources":["../../src/server/custom-context-modes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"custom-context-modes.d.ts","sourceRoot":"","sources":["../../src/server/custom-context-modes.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AAEH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACtC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACjF,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACvG,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACpE,IAAI,EAAE,MAAM,iBAAiB,EAAE,CAAC;CACjC;AAUD,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe,CAyH5E"}
|
|
@@ -31,6 +31,14 @@ export declare function handleDesignUse(ws: WebSocket, ctx: DesignContext, msg:
|
|
|
31
31
|
export declare function handleDesignSet(ws: WebSocket, ctx: DesignContext, msg: {
|
|
32
32
|
payload?: unknown;
|
|
33
33
|
}): Promise<void>;
|
|
34
|
+
/** Resolve high-level knobs (radius/density/font/motion) into token overrides. */
|
|
35
|
+
export declare function handleDesignTune(ws: WebSocket, ctx: DesignContext, msg: {
|
|
36
|
+
payload?: unknown;
|
|
37
|
+
}): Promise<void>;
|
|
38
|
+
/** Switch to a different kit, dropping the prior kit's overrides. */
|
|
39
|
+
export declare function handleDesignSwap(ws: WebSocket, ctx: DesignContext, msg: {
|
|
40
|
+
payload?: unknown;
|
|
41
|
+
}): Promise<void>;
|
|
34
42
|
/** Write the active kit's (override-applied) tokens to a real theme file. */
|
|
35
43
|
export declare function handleDesignMaterialize(ws: WebSocket, ctx: DesignContext, msg: {
|
|
36
44
|
payload?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-handlers.d.ts","sourceRoot":"","sources":["../../src/server/design-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"design-handlers.d.ts","sourceRoot":"","sources":["../../src/server/design-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAqBH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAcpC,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC;CAC3D;AA6CD,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CASvF;AAED,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxF;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAkDf;AAED,+EAA+E;AAC/E,wBAAsB,eAAe,CACnC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,kFAAkF;AAClF,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,qEAAqE;AACrE,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAwCf;AAED,6EAA6E;AAC7E,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAsCf;AAED,2EAA2E;AAC3E,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BzF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-mailbox-bridge.d.ts","sourceRoot":"","sources":["../../src/server/discover-mailbox-bridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"discover-mailbox-bridge.d.ts","sourceRoot":"","sources":["../../src/server/discover-mailbox-bridge.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAA;SAAE,CAAA;KAAE,GAAG,SAAS,CAAC;IAClF,MAAM,EAAE;QACN,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAC7D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;QAC5D,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KAC7D,CAAC;IACF,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CACxC;AAID;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgD9F"}
|