@wrongstack/webui-server 0.292.1 → 0.295.0
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 +18753 -14274
- 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 +7 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +842 -0
- package/dist/protocol/index.js.map +7 -0
- package/dist/protocol/projections.d.ts +111 -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/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 +27 -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 +12 -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-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 +8 -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 +16641 -14023
- 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 +55 -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-dispatch.d.ts +41 -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 +5 -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/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 +2 -4
- 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 +8 -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-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,6 +1,6 @@
|
|
|
1
1
|
import type { WebSocket } from 'ws';
|
|
2
2
|
import type { WSServerMessage } from './types.js';
|
|
3
|
-
import type { JournalEntry } from '@wrongstack/core';
|
|
3
|
+
import type { JournalEntry } from '@wrongstack/core/storage';
|
|
4
4
|
export type EternalSubscribe = (fn: (entry: JournalEntry) => void) => () => void;
|
|
5
5
|
export type EternalBroadcast<C> = (clients: Map<WebSocket, C>, msg: WSServerMessage) => void;
|
|
6
6
|
export interface EternalSubscription {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eternal-iteration-broadcast.d.ts","sourceRoot":"","sources":["../../src/server/eternal-iteration-broadcast.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"eternal-iteration-broadcast.d.ts","sourceRoot":"","sources":["../../src/server/eternal-iteration-broadcast.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG,CAC7B,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,KAC9B,MAAM,IAAI,CAAC;AAShB,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;AAE7F,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC9B,UAAU,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,GAClC,mBAAmB,CAgBrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-handlers.d.ts","sourceRoot":"","sources":["../../src/server/file-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"file-handlers.d.ts","sourceRoot":"","sources":["../../src/server/file-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAsHpC,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CACtE;AAID;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAkGf;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Df"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { Server } from 'node:http';
|
|
2
|
+
import { type CreateHttpServerOptions } from './http-server.js';
|
|
3
|
+
/**
|
|
4
|
+
* PR 6 of Issue #30 (webui-server 8-PR refactor):
|
|
5
|
+
* dist discovery + HTTP server bring-up.
|
|
6
|
+
*
|
|
7
|
+
* Before this PR, the `runWebUI` body inlined five lines
|
|
8
|
+
* that resolved the webui package's `dist` directory via
|
|
9
|
+
* `createRequire(import.meta.url)` and handed the path to
|
|
10
|
+
* `createHttpServer`. If the webui package wasn't built,
|
|
11
|
+
* the inline try/catch silently degraded to WS-only.
|
|
12
|
+
*
|
|
13
|
+
* After this PR, the dist-resolution lives in
|
|
14
|
+
* `webui-server/static-serve.ts` and the only thing
|
|
15
|
+
* `runWebUI` does is call `startStaticServe({ host,
|
|
16
|
+
* httpPort, globalRoot })`. The function returns
|
|
17
|
+
* the listening `Server` and its real `port` (the OS
|
|
18
|
+
* may reassign if the requested port was in use), or
|
|
19
|
+
* `null` when the webui package is unbuilt.
|
|
20
|
+
*
|
|
21
|
+
* The try/catch around the require resolution stays
|
|
22
|
+
* inside this module so the runWebUI body does not have
|
|
23
|
+
* to think about webui's build state at all.
|
|
24
|
+
*/
|
|
25
|
+
export interface StaticServeHandle {
|
|
26
|
+
server: Server;
|
|
27
|
+
port: number;
|
|
28
|
+
}
|
|
29
|
+
export interface StaticServeOptions {
|
|
30
|
+
host: string;
|
|
31
|
+
httpPort: number;
|
|
32
|
+
globalRoot: string;
|
|
33
|
+
/** Explicit frontend build. Omitted for the regular @wrongstack/webui app. */
|
|
34
|
+
distDir?: string | undefined;
|
|
35
|
+
/** Push-on-write hook for `POST /api/fleet/ping` (immediate fleet re-broadcast). */
|
|
36
|
+
onFleetPing?: (() => void) | undefined;
|
|
37
|
+
/** TechStack HTTP job events projected to the embedded WebSocket server. */
|
|
38
|
+
onTechStackEvent?: ((event: import('@wrongstack/webui-server').WSServerMessage) => void) | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Live provider access for TechStack's LLM research stage. Omitting it
|
|
41
|
+
* leaves `analyze` deterministic — so this must be threaded here as well as
|
|
42
|
+
* in the standalone `start-webui` server, or the CLI-hosted WebUI silently
|
|
43
|
+
* loses LLM analysis while the standalone one has it.
|
|
44
|
+
*/
|
|
45
|
+
getLlm?: (() => {
|
|
46
|
+
provider: import('@wrongstack/core/types').Provider;
|
|
47
|
+
model: string;
|
|
48
|
+
} | undefined) | undefined;
|
|
49
|
+
/** Active target project root for TechStack and CodeMap APIs. */
|
|
50
|
+
projectRoot?: string | undefined;
|
|
51
|
+
/** Public browser-facing WS URL injected into the React app. */
|
|
52
|
+
publicWsUrl?: string | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Shared auth token for `/ws-auth` and `/api/*` endpoints. Required for
|
|
55
|
+
* the cookie-based auth flow: the frontend extracts this from the URL,
|
|
56
|
+
* calls `/ws-auth?token=...` to get an HttpOnly cookie, then uses the
|
|
57
|
+
* cookie for subsequent WS upgrades (closing C-598 query-string exposure).
|
|
58
|
+
*/
|
|
59
|
+
apiToken?: string | undefined;
|
|
60
|
+
/** Force token auth even when the server binds to loopback. */
|
|
61
|
+
requireToken?: boolean | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* When true, skip `server.listen()` — the caller is responsible for
|
|
64
|
+
* calling listen after attaching the WebSocketServer. This prevents
|
|
65
|
+
* a race where a WS upgrade request arrives between the server
|
|
66
|
+
* listening and the WebSocketServer being attached.
|
|
67
|
+
*/
|
|
68
|
+
deferListen?: boolean | undefined;
|
|
69
|
+
/** Package-resolution/build seams supplied by the owning host. */
|
|
70
|
+
ensureDistDeps?: EnsureDistDeps | undefined;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Resolve the webui package's built `dist` directory.
|
|
74
|
+
*
|
|
75
|
+
* Returns the absolute path, or `null` if the package or its built
|
|
76
|
+
* `index.html` cannot be found. This is the one piece of
|
|
77
|
+
* `startStaticServe` that touches the module tree, so it lives behind
|
|
78
|
+
* its own function: tests can exercise the resolution (and stub it)
|
|
79
|
+
* without binding a socket.
|
|
80
|
+
*/
|
|
81
|
+
export interface ResolveDistOptions {
|
|
82
|
+
/** Explicit frontend build directory. */
|
|
83
|
+
explicitDistDir?: string | undefined;
|
|
84
|
+
/** Package resolver seam used by tests. */
|
|
85
|
+
resolvePackageJson?: ((id: string) => string) | undefined;
|
|
86
|
+
/** Filesystem seam used by tests. */
|
|
87
|
+
exists?: ((file: string) => boolean) | undefined;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Resolve the WebUI dist directory without building it.
|
|
91
|
+
*
|
|
92
|
+
* The string form is retained for callers that provide an explicit frontend
|
|
93
|
+
* directory. The options form exposes package/filesystem seams for the
|
|
94
|
+
* cold-start resolver and its unit tests.
|
|
95
|
+
*/
|
|
96
|
+
export declare function resolveDistDir(input?: string | ResolveDistOptions): string | null;
|
|
97
|
+
/**
|
|
98
|
+
* Injectable seams for `ensureDistDir`. Both default to the real
|
|
99
|
+
* implementations; tests override them to assert the auto-build path
|
|
100
|
+
* without spawning `pnpm` or walking the real filesystem.
|
|
101
|
+
*/
|
|
102
|
+
export interface EnsureDistDeps extends Omit<ResolveDistOptions, 'explicitDistDir'> {
|
|
103
|
+
/** Build command runner (tests override to no-op or assert cwd). */
|
|
104
|
+
runBuild?: (cwd: string) => void | Promise<void>;
|
|
105
|
+
/** Workspace-root finder (tests return a fake monorepo root). */
|
|
106
|
+
findWorkspaceRoot?: (packageDir: string) => string | null;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Resolve the WebUI dist, auto-building it when missing.
|
|
110
|
+
*
|
|
111
|
+
* Mirrors the SimpleUI cold-start recovery in `simpleui-dist.ts`:
|
|
112
|
+
* after a fresh clone, `git clean`, or dependency update the `dist/`
|
|
113
|
+
* directory (gitignored) may not exist. Instead of silently degrading
|
|
114
|
+
* to WS-only, this function runs the Vite build automatically and
|
|
115
|
+
* retries resolution. Explicit missing directories return `null` so
|
|
116
|
+
* callers can intentionally run WS-only; package and build failures
|
|
117
|
+
* throw descriptive errors instead of silently hiding a broken install.
|
|
118
|
+
*/
|
|
119
|
+
export declare function ensureDistDir(explicitDistDir?: string, deps?: EnsureDistDeps): Promise<string | null>;
|
|
120
|
+
/**
|
|
121
|
+
* Injectable seams for `startStaticServe`. Both default to
|
|
122
|
+
* the real implementations; tests override them to assert
|
|
123
|
+
* the wiring without resolving the webui package or binding
|
|
124
|
+
* a real port.
|
|
125
|
+
*/
|
|
126
|
+
export interface StaticServeDeps {
|
|
127
|
+
resolveDist?: (explicitDistDir?: string) => string | null;
|
|
128
|
+
ensureDist?: (explicitDistDir?: string, deps?: EnsureDistDeps) => string | null | Promise<string | null>;
|
|
129
|
+
ensureDistDeps?: EnsureDistDeps;
|
|
130
|
+
createServer?: (opts: CreateHttpServerOptions) => Server;
|
|
131
|
+
}
|
|
132
|
+
export declare function startStaticServe(opts: StaticServeOptions, deps?: StaticServeDeps): Promise<StaticServeHandle | null>;
|
|
133
|
+
//# sourceMappingURL=frontend-static-serve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend-static-serve.d.ts","sourceRoot":"","sources":["../../src/server/frontend-static-serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Run a small read-only git query without blocking the WebUI event loop. */
|
|
2
|
+
export declare function gitStdout(cwd: string, args: readonly string[]): Promise<string | null>;
|
|
3
|
+
export declare function isGitWorkTree(cwd: string): Promise<boolean>;
|
|
4
|
+
//# sourceMappingURL=git-process.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-process.d.ts","sourceRoot":"","sources":["../../src/server/git-process.ts"],"names":[],"mappings":"AAKA,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAetF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGjE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WebSocket } from 'ws';
|
|
2
|
+
import type { WSClientMessage } from './types.js';
|
|
3
|
+
export interface GoalSnapshotRouteHandlers {
|
|
4
|
+
getSnapshot: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
5
|
+
}
|
|
6
|
+
export declare function handleGoalSnapshotRoute(ws: WebSocket, msg: WSClientMessage, handlers: GoalSnapshotRouteHandlers): Promise<boolean>;
|
|
7
|
+
//# sourceMappingURL=goal-snapshot-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goal-snapshot-routes.d.ts","sourceRoot":"","sources":["../../src/server/goal-snapshot-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;CAC5E;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,yBAAyB,GAClC,OAAO,CAAC,OAAO,CAAC,CASlB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { WebSocket } from 'ws';
|
|
2
|
-
import type { Agent, Context
|
|
2
|
+
import type { Agent, Context } from '@wrongstack/core/agent';
|
|
3
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
4
|
+
import type { Logger } from '@wrongstack/core/types';
|
|
3
5
|
interface GoalWSMessage {
|
|
4
6
|
type: string;
|
|
5
7
|
payload?: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"goal-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/goal-ws-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"goal-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/goal-ws-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAapC,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA2CrD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,oBAAoB;IAqB7B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,WAAW,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,CAAC;IAjCvB,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,iBAAiB,CAA+C;IACxE,kFAAkF;IAClF,OAAO,CAAC,KAAK,CAAgC;IAC7C;;uFAEmF;IACnF,OAAO,CAAC,QAAQ,CAAS;IACzB,2EAA2E;IAC3E,OAAO,CAAC,SAAS,CAAgC;IACjD;oFACgF;IAChF,OAAO,CAAC,OAAO,CAAgD;IAC/D,wEAAwE;IACxE,OAAO,CAAC,aAAa,CAAqB;IAE1C,YACU,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EACR,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,EAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS;IACxC;;;;;;OAMG;IACK,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,EAG/F;IAED,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAS7B;IAEK,aAAa,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyGrD;YAEa,WAAW;IAwIzB;;;;;OAKG;YACW,UAAU;IASxB;;;;OAIG;YACW,WAAW;IAYzB;;;;;OAKG;YACW,YAAY;IAsB1B,4EAA4E;IAC5E,OAAO,CAAC,aAAa;IAUrB;;;4BAGwB;YACV,UAAU;YA2BV,oBAAoB;IA+BlC,+DAA+D;IAC/D,OAAO,CAAC,kBAAkB;YAKZ,sBAAsB;IAcpC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,UAAU;IAqGlB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,IAAI;CAGb"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { TodoItem } from '@wrongstack/core/agent';
|
|
1
2
|
import type { WebSocket } from 'ws';
|
|
2
|
-
import type {
|
|
3
|
+
import type { WSServerMessage } from '../types.js';
|
|
3
4
|
export interface WorklistContext {
|
|
4
5
|
context: {
|
|
5
6
|
todos: TodoItem[];
|
|
@@ -7,27 +8,25 @@ export interface WorklistContext {
|
|
|
7
8
|
session: {
|
|
8
9
|
id: string;
|
|
9
10
|
} | null;
|
|
10
|
-
state?: unknown;
|
|
11
11
|
};
|
|
12
|
-
send: (ws: WebSocket, msg:
|
|
13
|
-
broadcast: (msg:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
replaceTodos?: (todos: TodoItem[]) => void;
|
|
12
|
+
send: (ws: WebSocket, msg: WSServerMessage) => void;
|
|
13
|
+
broadcast: (msg: WSServerMessage) => void;
|
|
14
|
+
replaceTodos?: ((todos: TodoItem[]) => void) | undefined;
|
|
15
|
+
}
|
|
16
|
+
export interface WorklistMessage {
|
|
17
|
+
type: string;
|
|
18
|
+
payload?: unknown;
|
|
20
19
|
}
|
|
21
20
|
export declare function handleTodosGet(ctx: WorklistContext, ws: WebSocket): void;
|
|
22
21
|
export declare function handleTodosClear(ctx: WorklistContext, ws: WebSocket): void;
|
|
23
22
|
export declare function handleTodosRemove(ctx: WorklistContext, ws: WebSocket, payload: {
|
|
24
|
-
id?: string;
|
|
25
|
-
index?: number;
|
|
23
|
+
id?: string | undefined;
|
|
24
|
+
index?: number | undefined;
|
|
26
25
|
} | undefined): void;
|
|
27
26
|
export declare function handleTodoUpdate(ctx: WorklistContext, ws: WebSocket, payload: {
|
|
28
27
|
id: string;
|
|
29
|
-
status?: TodoItem['status'];
|
|
30
|
-
activeForm?: string;
|
|
28
|
+
status?: TodoItem['status'] | undefined;
|
|
29
|
+
activeForm?: string | undefined;
|
|
31
30
|
}): void;
|
|
32
31
|
export declare function handleTasksGet(ctx: WorklistContext, ws: WebSocket): Promise<void>;
|
|
33
32
|
export declare function handleTaskUpdate(ctx: WorklistContext, ws: WebSocket, payload: {
|
|
@@ -40,10 +39,5 @@ export declare function handlePlanItemUpdate(ctx: WorklistContext, ws: WebSocket
|
|
|
40
39
|
target: string;
|
|
41
40
|
status: 'open' | 'in_progress' | 'done';
|
|
42
41
|
}): Promise<void>;
|
|
43
|
-
|
|
44
|
-
export interface WorklistMessage {
|
|
45
|
-
type: string;
|
|
46
|
-
payload?: unknown;
|
|
47
|
-
}
|
|
48
|
-
export declare function handleWorklistMessage(ctx: WorklistContext, ws: WebSocket, msg: WorklistMessage): Promise<void>;
|
|
42
|
+
export declare function handleWorklistMessage(ctx: WorklistContext, ws: WebSocket, message: WorklistMessage): Promise<void>;
|
|
49
43
|
//# sourceMappingURL=worklist-handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worklist-handlers.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/worklist-handlers.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"worklist-handlers.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/worklist-handlers.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IACpD,SAAS,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC1D;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA8BD,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAKxE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAI1E;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,eAAe,EACpB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,GAC3E,IAAI,CAqBN;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,eAAe,EACpB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAChG,IAAI,CAgBN;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvF;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,eAAe,EACpB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE;IACP,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;CACnF,GACA,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BtF;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,eAAe,EACpB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,eAAe,EACpB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAA;CAAE,GACnE,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,eAAe,EACpB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAsDf"}
|