@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,2BAA2B,EAChC,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,6BAA6B,EAC7B,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,aAAa,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAK1D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,10 +24,8 @@ export interface WebUIInstanceRecord {
|
|
|
24
24
|
pid: number;
|
|
25
25
|
/** Surface kind — 'webui' or 'simpleui'. */
|
|
26
26
|
surface: 'webui' | 'simpleui';
|
|
27
|
-
/**
|
|
27
|
+
/** Port serving both HTTP and WebSocket. */
|
|
28
28
|
httpPort: number;
|
|
29
|
-
/** WebSocket port for the agent backend. */
|
|
30
|
-
wsPort: number;
|
|
31
29
|
/** Bind host (e.g. 127.0.0.1 or 0.0.0.0). */
|
|
32
30
|
host: string;
|
|
33
31
|
/** Absolute project root the instance booted against. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-registry.d.ts","sourceRoot":"","sources":["../../src/server/instance-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC;IAC9B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"instance-registry.d.ts","sourceRoot":"","sources":["../../src/server/instance-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAOH,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC;IAC9B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb;AAOD,gFAAgF;AAChF,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAyB,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQ/C;AA0BD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,GAAE,MAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,iEAAiE;AACjE,wBAAsB,aAAa,CACjC,OAAO,GAAE,MAAyB,GACjC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAUhC;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAaxE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Agent } from '@wrongstack/core/agent';
|
|
2
|
+
import type { Config, ConfigStore, ModelsRegistry } from '@wrongstack/core/types';
|
|
3
|
+
import type { WebSocket } from 'ws';
|
|
4
|
+
import type { WSClientMessage, WSServerMessage } from './types.js';
|
|
5
|
+
export interface IntrospectionRouteContext {
|
|
6
|
+
agent: Agent;
|
|
7
|
+
modelsRegistry?: ModelsRegistry | undefined;
|
|
8
|
+
configStore?: ConfigStore | undefined;
|
|
9
|
+
getConfig: () => Config;
|
|
10
|
+
getProjectRoot: () => string;
|
|
11
|
+
getSessionId: () => string;
|
|
12
|
+
getSessionStartedAt: () => number;
|
|
13
|
+
getModeId: () => string;
|
|
14
|
+
send: (ws: WebSocket, message: WSServerMessage) => void;
|
|
15
|
+
allowSessionMessage?: ((ws: WebSocket, message: WSClientMessage) => boolean) | undefined;
|
|
16
|
+
}
|
|
17
|
+
/** Canonical diagnostics/tool-registry handler shared by every WebUI host. */
|
|
18
|
+
export declare function handleIntrospectionRoute(ctx: IntrospectionRouteContext, ws: WebSocket, message: WSClientMessage): Promise<boolean>;
|
|
19
|
+
//# sourceMappingURL=introspection-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"introspection-routes.d.ts","sourceRoot":"","sources":["../../src/server/introspection-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGnE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACtC,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,MAAM,CAAC;IAClC,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;CAC1F;AAwDD,8EAA8E;AAC9E,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,yBAAyB,EAC9B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAmHlB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Context } from '@wrongstack/core/agent';
|
|
2
|
+
import type { WebSocket } from 'ws';
|
|
3
|
+
import type { WSServerMessage } from './types.js';
|
|
4
|
+
export interface KanbanDispatchResult {
|
|
5
|
+
status: 'completed' | 'failed';
|
|
6
|
+
result?: string | undefined;
|
|
7
|
+
error?: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
export type KanbanTaskDispatcher = (description: string, opts?: {
|
|
10
|
+
provider?: string | undefined;
|
|
11
|
+
model?: string | undefined;
|
|
12
|
+
fallbackModels?: string[] | undefined;
|
|
13
|
+
fallbackProfile?: string | undefined;
|
|
14
|
+
skills?: string[] | undefined;
|
|
15
|
+
tools?: string[] | undefined;
|
|
16
|
+
name?: string | undefined;
|
|
17
|
+
allowedCapabilities?: readonly string[] | undefined;
|
|
18
|
+
context?: {
|
|
19
|
+
kanban?: {
|
|
20
|
+
boardId?: string;
|
|
21
|
+
taskId?: string;
|
|
22
|
+
projectRoot?: string;
|
|
23
|
+
};
|
|
24
|
+
} | undefined;
|
|
25
|
+
onDone?: ((result: KanbanDispatchResult) => void | Promise<void>) | undefined;
|
|
26
|
+
}) => Promise<string>;
|
|
27
|
+
export interface KanbanDispatchContext {
|
|
28
|
+
projectRoot: string;
|
|
29
|
+
context?: Context | undefined;
|
|
30
|
+
broadcast?: ((message: WSServerMessage) => void) | undefined;
|
|
31
|
+
dispatchTask?: KanbanTaskDispatcher | undefined;
|
|
32
|
+
}
|
|
33
|
+
export interface ResolvedDispatchRoute {
|
|
34
|
+
provider?: string | undefined;
|
|
35
|
+
model?: string | undefined;
|
|
36
|
+
fallbackProfile?: string | undefined;
|
|
37
|
+
fallbackModels?: string[] | undefined;
|
|
38
|
+
}
|
|
39
|
+
export declare function parseResolvedDispatchRoute(summary: string): ResolvedDispatchRoute;
|
|
40
|
+
export declare function handleKanbanTaskDispatch(ws: WebSocket, payload: Record<string, unknown> | undefined, ctx: KanbanDispatchContext): Promise<void>;
|
|
41
|
+
//# sourceMappingURL=kanban-dispatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kanban-dispatch.d.ts","sourceRoot":"","sources":["../../src/server/kanban-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAYtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG,CACjC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE;IACL,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACpD,OAAO,CAAC,EACJ;QACE,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACtE,GACD,SAAS,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CAC/E,KACE,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7D,YAAY,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACvC;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAajF;AAiBD,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC5C,GAAG,EAAE,qBAAqB,GACzB,OAAO,CAAC,IAAI,CAAC,CAuKf"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { WebSocket } from 'ws';
|
|
2
|
+
import type { WSClientMessage } from './types.js';
|
|
3
|
+
export interface KanbanHostRouteHandlers {
|
|
4
|
+
meta: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
5
|
+
supervisorStatus: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
6
|
+
supervisorAudit: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
7
|
+
runStart: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
8
|
+
}
|
|
9
|
+
export declare function handleKanbanHostRoute(ws: WebSocket, msg: WSClientMessage, handlers: KanbanHostRouteHandlers): Promise<boolean>;
|
|
10
|
+
//# sourceMappingURL=kanban-host-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kanban-host-routes.d.ts","sourceRoot":"","sources":["../../src/server/kanban-host-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,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpE,gBAAgB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChF,eAAe,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/E,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACzE;AAED,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,uBAAuB,GAChC,OAAO,CAAC,OAAO,CAAC,CAiBlB"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Context } from '@wrongstack/core/agent';
|
|
2
2
|
import { type KanbanBoardSummary } from '@wrongstack/kanban';
|
|
3
3
|
import type { WebSocket } from 'ws';
|
|
4
|
-
import type { WSClientMessage } from './types.js';
|
|
4
|
+
import type { WSClientMessage, WSServerMessage } from './types.js';
|
|
5
|
+
import { type KanbanTaskDispatcher } from './kanban-dispatch.js';
|
|
5
6
|
export interface KanbanRouteContext {
|
|
6
7
|
projectRoot: string;
|
|
7
8
|
context?: Context | undefined;
|
|
8
|
-
broadcast?: ((msg:
|
|
9
|
+
broadcast?: ((msg: WSServerMessage) => void) | undefined;
|
|
10
|
+
dispatchTask?: KanbanTaskDispatcher | undefined;
|
|
9
11
|
}
|
|
10
12
|
export interface KanbanBoardPage {
|
|
11
13
|
items: KanbanBoardSummary[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kanban-routes.d.ts","sourceRoot":"","sources":["../../src/server/kanban-routes.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"kanban-routes.d.ts","sourceRoot":"","sources":["../../src/server/kanban-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAmBL,KAAK,kBAAkB,EAgCxB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAA4B,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG3F,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACzD,YAAY,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,kBAAkB,EAAE,EAC5B,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;CAAE,GAC1F,eAAe,CA0BjB;AA+DD,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,OAAO,CAAC,CAk9BlB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KanbanRunMirror — projects live Goal / SDD runs into `@wrongstack/kanban`
|
|
3
|
+
* boards so the kanban view becomes the unified LIVE surface for both engines.
|
|
4
|
+
*
|
|
5
|
+
* It is fed two ways by any host with the shared EventBus and live handlers:
|
|
6
|
+
* - SDD: subscribe to `sdd.board.snapshot` on the shared bus.
|
|
7
|
+
* - Goal: a callback tap on `GoalWebSocketHandler` (that orchestrator
|
|
8
|
+
* does NOT emit PhaseEventMap on the bus), delivering its `buildState()`.
|
|
9
|
+
*
|
|
10
|
+
* Each run maps to ONE kanban board. Linkage lives in board TAGS (not
|
|
11
|
+
* generatedBy, which `syncBoardFromTaskGraph` overwrites):
|
|
12
|
+
* ['sdd', 'run:<runId>', 'graph:<graphId>'] or ['goal', 'graph:<graphId>']
|
|
13
|
+
*
|
|
14
|
+
* Reconcile per tick is a two-pass, both idempotent:
|
|
15
|
+
* 1. `syncBoardFromTaskGraph` — structure + status→column + deps + origin-keyed
|
|
16
|
+
* create/update/archive.
|
|
17
|
+
* 2. targeted, diff-guarded `updateTaskAssignment` overlay for the LIVE subset
|
|
18
|
+
* only (running/completed/failed/cancelled/assigned tasks) so the inspector's
|
|
19
|
+
* AgentRunPanel lights up with the real worker + model — without fabricating
|
|
20
|
+
* phantom assignments or a per-tick event storm.
|
|
21
|
+
*/
|
|
22
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
23
|
+
import type { SerializedTaskGraph, TaskNode } from '@wrongstack/core/types';
|
|
24
|
+
import type { SddBoardSnapshot } from '@wrongstack/sdd';
|
|
25
|
+
type Engine = 'sdd' | 'goal';
|
|
26
|
+
interface WSServerMessage {
|
|
27
|
+
type: string;
|
|
28
|
+
payload: unknown;
|
|
29
|
+
}
|
|
30
|
+
export interface KanbanRunMirrorDeps {
|
|
31
|
+
projectRoot: string;
|
|
32
|
+
events?: EventBus | undefined;
|
|
33
|
+
broadcast: (msg: WSServerMessage) => void;
|
|
34
|
+
log?: ((msg: string) => void) | undefined;
|
|
35
|
+
}
|
|
36
|
+
/** Loose shape of the Goal `buildState()` projection we consume. */
|
|
37
|
+
interface GoalState {
|
|
38
|
+
title?: string;
|
|
39
|
+
goal?: string;
|
|
40
|
+
phases?: Array<{
|
|
41
|
+
id: string;
|
|
42
|
+
name?: string;
|
|
43
|
+
tasks?: Array<{
|
|
44
|
+
id: string;
|
|
45
|
+
title: string;
|
|
46
|
+
description?: string;
|
|
47
|
+
status: TaskNode['status'];
|
|
48
|
+
priority: TaskNode['priority'];
|
|
49
|
+
type: TaskNode['type'];
|
|
50
|
+
assignee?: string;
|
|
51
|
+
startedAt?: number;
|
|
52
|
+
completedAt?: number;
|
|
53
|
+
}>;
|
|
54
|
+
}>;
|
|
55
|
+
}
|
|
56
|
+
export interface KanbanRunMirror {
|
|
57
|
+
/** Goal tap — the handler's `onBoardState(graphId, state)` callback. */
|
|
58
|
+
onGoalState(graphId: string, state: Record<string, unknown>): void;
|
|
59
|
+
/** Bind a runId to a specific board (used by launch-from-board, phase 4). */
|
|
60
|
+
bind(engine: Engine, key: string, boardId: string): void;
|
|
61
|
+
/**
|
|
62
|
+
* One-shot: the NEXT Goal run whose graphId we haven't seen binds to this
|
|
63
|
+
* board instead of creating a new one. Used by launch-from-board — the graphId
|
|
64
|
+
* is only known after the async build, so we can't `bind()` up front.
|
|
65
|
+
*/
|
|
66
|
+
bindGoalNext(boardId: string): void;
|
|
67
|
+
dispose(): void;
|
|
68
|
+
}
|
|
69
|
+
export declare function createKanbanRunMirror(deps: KanbanRunMirrorDeps): KanbanRunMirror;
|
|
70
|
+
/** Build a serialized TaskGraph from an SDD board snapshot (faithful; runtime in metadata). */
|
|
71
|
+
export declare function buildTaskGraphFromSddSnapshot(snapshot: SddBoardSnapshot): SerializedTaskGraph;
|
|
72
|
+
type GoalPhase = NonNullable<GoalState['phases']>[number];
|
|
73
|
+
/** Build a serialized TaskGraph for one Goal phase (graph.id = RUN graphId; phase scoped via sync phaseId). */
|
|
74
|
+
export declare function buildTaskGraphFromGoalPhase(graphId: string, title: string, phase: GoalPhase): SerializedTaskGraph;
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=kanban-run-mirror.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kanban-run-mirror.d.ts","sourceRoot":"","sources":["../../src/server/kanban-run-mirror.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,KAAK,EACV,mBAAmB,EAEnB,QAAQ,EACT,MAAM,wBAAwB,CAAC;AAWhC,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,iBAAiB,CAAC;AAEtE,KAAK,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7B,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC3C;AAED,oEAAoE;AACpE,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,KAAK,CAAC;YACZ,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC3B,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACnE,6EAA6E;IAC7E,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,IAAI,IAAI,CAAC;CACjB;AAID,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CA6MhF;AAID,+FAA+F;AAC/F,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,mBAAmB,CAsC7F;AAED,KAAK,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,+GAA+G;AAC/G,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GACf,mBAAmB,CAiBrB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type KanbanSupervisorSnapshot } from '@wrongstack/kanban';
|
|
2
|
+
export interface KanbanSupervisorDispatchOptions {
|
|
3
|
+
provider?: string | undefined;
|
|
4
|
+
model?: string | undefined;
|
|
5
|
+
fallbackProfile?: string | undefined;
|
|
6
|
+
fallbackModels?: string[] | undefined;
|
|
7
|
+
skills?: string[] | undefined;
|
|
8
|
+
name?: string | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Free-form task context propagated into the spawned `TaskSpec.context`.
|
|
11
|
+
* The supervisor forwards kanban identity from the board/task snapshot so
|
|
12
|
+
* the tool-runtime boundary gate can resolve the live policy.
|
|
13
|
+
*/
|
|
14
|
+
context?: {
|
|
15
|
+
kanban?: {
|
|
16
|
+
boardId?: string;
|
|
17
|
+
taskId?: string;
|
|
18
|
+
projectRoot?: string;
|
|
19
|
+
};
|
|
20
|
+
} | undefined;
|
|
21
|
+
onDone?: ((result: {
|
|
22
|
+
status: 'completed' | 'failed';
|
|
23
|
+
result?: string | undefined;
|
|
24
|
+
error?: string | undefined;
|
|
25
|
+
}) => void | Promise<void>) | undefined;
|
|
26
|
+
}
|
|
27
|
+
export interface KanbanSupervisorDeps {
|
|
28
|
+
projectRoot: string;
|
|
29
|
+
broadcast: (message: {
|
|
30
|
+
type: string;
|
|
31
|
+
payload: unknown;
|
|
32
|
+
}) => void;
|
|
33
|
+
dispatchTask?: ((description: string, opts?: KanbanSupervisorDispatchOptions) => Promise<string>) | undefined;
|
|
34
|
+
log?: ((message: string) => void) | undefined;
|
|
35
|
+
}
|
|
36
|
+
export interface KanbanSupervisor {
|
|
37
|
+
getSnapshot(boardId: string): KanbanSupervisorSnapshot | undefined;
|
|
38
|
+
auditNow(boardId?: string): Promise<KanbanSupervisorSnapshot[]>;
|
|
39
|
+
dispose(): void;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Quiet, project-local board custodian. The frequent pass is deterministic and
|
|
43
|
+
* free; an LLM is spawned only when the board explicitly opts into agentic mode
|
|
44
|
+
* and the health snapshot contains an anomaly.
|
|
45
|
+
*/
|
|
46
|
+
export declare function createKanbanSupervisor(deps: KanbanSupervisorDeps): KanbanSupervisor;
|
|
47
|
+
//# sourceMappingURL=kanban-supervisor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kanban-supervisor.d.ts","sourceRoot":"","sources":["../../src/server/kanban-supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,wBAAwB,EAI9B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EACJ;QACE,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACtE,GACD,SAAS,CAAC;IACd,MAAM,CAAC,EACH,CAAC,CAAC,MAAM,EAAE;QACR,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAC3B,SAAS,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACjE,YAAY,CAAC,EACT,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,+BAA+B,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAClF,SAAS,CAAC;IACd,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAChE,OAAO,IAAI,IAAI,CAAC;CACjB;AAaD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAuNnF"}
|
|
@@ -5,13 +5,21 @@
|
|
|
5
5
|
* The frontend sends these to populate the mailbox panel; the server
|
|
6
6
|
* reads from the project-level GlobalMailbox and responds.
|
|
7
7
|
*/
|
|
8
|
+
import { GlobalMailbox } from '@wrongstack/core/coordination';
|
|
9
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
8
10
|
import type { WebSocket } from 'ws';
|
|
11
|
+
import type { MailboxSendPayload } from './ws-payload-validation.js';
|
|
9
12
|
export interface MailboxHandlerDeps {
|
|
10
|
-
/** Absolute project root. */
|
|
11
|
-
projectRoot: string;
|
|
12
|
-
/** Global WrongStack root (~/.wrongstack). */
|
|
13
|
-
globalRoot: string;
|
|
13
|
+
/** Absolute project root or a live getter for hosts that can switch projects. */
|
|
14
|
+
projectRoot: string | (() => string);
|
|
15
|
+
/** Global WrongStack root (~/.wrongstack), or a live getter. */
|
|
16
|
+
globalRoot: string | (() => string);
|
|
17
|
+
/** Host event bus used by mailbox mutation/activity notifications. */
|
|
18
|
+
events?: EventBus | undefined;
|
|
14
19
|
}
|
|
20
|
+
export declare function getMailboxForDeps(deps: MailboxHandlerDeps): GlobalMailbox | null;
|
|
21
|
+
/** Persist a human-authored WebUI message in the shared project mailbox. */
|
|
22
|
+
export declare function handleMailboxSend(ws: WebSocket, deps: MailboxHandlerDeps, payload: MailboxSendPayload): Promise<void>;
|
|
15
23
|
/**
|
|
16
24
|
* List recent mailbox messages. Frontend sends:
|
|
17
25
|
* { type: 'mailbox.messages', limit?: number, incompleteOnly?: boolean }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox-handlers.d.ts","sourceRoot":"","sources":["../../src/server/mailbox-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"mailbox-handlers.d.ts","sourceRoot":"","sources":["../../src/server/mailbox-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,aAAa,EAId,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACrC,gEAAgE;IAChE,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACpC,sEAAsE;IACtE,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAUD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,GAAG,IAAI,CA6BhF;AAID,4EAA4E;AAC5E,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,kBAAkB,EACxB,OAAO,EACH;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACpF,SAAS,GACZ,OAAO,CAAC,IAAI,CAAC,CAoEf;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAC5C,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY/F;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,kBAAkB,EACxB,IAAI,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAE,GACjE,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,kBAAkB,EACxB,IAAI,CAAC,EAAE;IACL,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GACA,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
|
+
import type { EventBus } from '@wrongstack/core/kernel';
|
|
1
2
|
import type { WebSocket } from 'ws';
|
|
2
3
|
import type { WSClientMessage } from './types.js';
|
|
3
4
|
export interface MailboxRouteHandlers {
|
|
5
|
+
send: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
4
6
|
messages: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
5
7
|
agents: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
6
8
|
clear: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
7
9
|
purge: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
8
10
|
compact: (ws: WebSocket, msg: WSClientMessage) => Promise<void> | void;
|
|
9
11
|
}
|
|
12
|
+
export interface MailboxRouteContext {
|
|
13
|
+
getProjectRoot: () => string;
|
|
14
|
+
getGlobalRoot: () => string;
|
|
15
|
+
events?: EventBus | undefined;
|
|
16
|
+
}
|
|
17
|
+
export declare function createMailboxRouteHandlers(ctx: MailboxRouteContext): MailboxRouteHandlers;
|
|
10
18
|
export declare function handleMailboxRoute(ws: WebSocket, msg: WSClientMessage, handlers: MailboxRouteHandlers): Promise<boolean>;
|
|
11
19
|
//# sourceMappingURL=mailbox-routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox-routes.d.ts","sourceRoot":"","sources":["../../src/server/mailbox-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"mailbox-routes.d.ts","sourceRoot":"","sources":["../../src/server/mailbox-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAUpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AASlD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpE,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACxE,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrE,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrE,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,mBAAmB,GAAG,oBAAoB,CAiEzF;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAuBlB"}
|
|
@@ -22,6 +22,10 @@ export interface MCPServerView {
|
|
|
22
22
|
error?: string;
|
|
23
23
|
pid?: number;
|
|
24
24
|
lazy?: boolean;
|
|
25
|
+
command?: string;
|
|
26
|
+
args?: string[];
|
|
27
|
+
env?: Record<string, string>;
|
|
28
|
+
url?: string;
|
|
25
29
|
health?: MCPServerOperationalHealth;
|
|
26
30
|
}
|
|
27
31
|
/** mcp.list — configured servers merged with live registry status + tools. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../../src/server/mcp-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,0BAA0B,EAOhC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,OAAO,CAAC;IACtF,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACrC;
|
|
1
|
+
{"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../../src/server/mcp-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,106 +7,114 @@
|
|
|
7
7
|
*
|
|
8
8
|
* case 'memory.list': return handleMemoryList(ws, memoryStore);
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* Sage handlers request the typed surface capability:
|
|
11
11
|
*
|
|
12
|
-
* case 'memory.
|
|
12
|
+
* case 'memory.sage.list': return handleSageList(ws, memoryStore);
|
|
13
13
|
*/
|
|
14
|
-
import type {
|
|
14
|
+
import type { MemoryPort } from '@wrongstack/core/types';
|
|
15
15
|
import type { WebSocket } from 'ws';
|
|
16
16
|
/**
|
|
17
|
-
* List memory for the chat `/memory` command. When the backend is
|
|
17
|
+
* List memory for the chat `/memory` command. When the backend is SAGE
|
|
18
18
|
* (always, in practice) this renders the rich structured view — the same one
|
|
19
19
|
* surface as the MemoryManager panel and the CLI/TUI `/memory show`. Falls back
|
|
20
|
-
* to `readAll()` text only for a non-
|
|
20
|
+
* to `readAll()` text only for a non-SAGE store.
|
|
21
21
|
* Responds with `{ type: 'memory.list', payload: { text } }`.
|
|
22
22
|
*/
|
|
23
|
-
export declare function handleMemoryList(ws: WebSocket, memoryStore:
|
|
23
|
+
export declare function handleMemoryList(ws: WebSocket, memoryStore: MemoryPort): Promise<void>;
|
|
24
24
|
/**
|
|
25
|
-
* List all
|
|
26
|
-
* Request: { type: 'memory.
|
|
27
|
-
* Response: { type: 'memory.
|
|
25
|
+
* List all Sage entries with stats.
|
|
26
|
+
* Request: { type: 'memory.sage.list' }
|
|
27
|
+
* Response: { type: 'memory.sage.list', payload: { memories, stats } }
|
|
28
28
|
*/
|
|
29
|
-
export declare function
|
|
29
|
+
export declare function handleSageList(ws: WebSocket, memoryStore: MemoryPort): Promise<void>;
|
|
30
30
|
/**
|
|
31
|
-
* Paginated, status-filtered
|
|
32
|
-
* `memory.
|
|
31
|
+
* Paginated, status-filtered Sage listing. Preferred over
|
|
32
|
+
* `memory.sage.list` for the MemoryManager: it returns a bounded page plus a
|
|
33
33
|
* cursor so the WebUI never loads thousands of soft-deleted records at once.
|
|
34
34
|
*
|
|
35
|
-
* Request: { type: 'memory.
|
|
36
|
-
* Response: { type: 'memory.
|
|
35
|
+
* Request: { type: 'memory.sage.listPage', payload: { statuses?, kind?, query?, limit?, cursor? } }
|
|
36
|
+
* Response: { type: 'memory.sage.listPage', payload: { memories, nextCursor, total, statusCounts } }
|
|
37
37
|
*
|
|
38
38
|
* `statuses` defaults (backend-side) to every status EXCEPT `deleted`. Pass
|
|
39
39
|
* `statuses: ['deleted']` for the WebUI "Deleted" tab. Falls back gracefully to
|
|
40
|
-
* a full `
|
|
40
|
+
* a full `listSage()` for stores that predate `listSagePage`.
|
|
41
41
|
*/
|
|
42
|
-
export declare function
|
|
42
|
+
export declare function handleSageListPage(ws: WebSocket, msg: unknown, memoryStore: MemoryPort): Promise<void>;
|
|
43
43
|
/**
|
|
44
|
-
* Get a single
|
|
45
|
-
* Request: { type: 'memory.
|
|
46
|
-
* Response: { type: 'memory.
|
|
44
|
+
* Get a single Sage entry by ID.
|
|
45
|
+
* Request: { type: 'memory.sage.get', payload: { id } }
|
|
46
|
+
* Response: { type: 'memory.sage.get', payload: { memory } }
|
|
47
47
|
*/
|
|
48
|
-
export declare function
|
|
48
|
+
export declare function handleSageGet(ws: WebSocket, msg: unknown, memoryStore: MemoryPort): Promise<void>;
|
|
49
49
|
/** Return the real persisted graph plus memory records for directly referenced nodes. */
|
|
50
|
-
export declare function
|
|
50
|
+
export declare function handleSageGraph(ws: WebSocket, msg: unknown, memoryStore: MemoryPort): Promise<void>;
|
|
51
51
|
/**
|
|
52
|
-
* Update a
|
|
53
|
-
* Request: { type: 'memory.
|
|
54
|
-
* Response: { type: 'memory.
|
|
55
|
-
* On error: { type: 'memory.
|
|
52
|
+
* Update a Sage entry.
|
|
53
|
+
* Request: { type: 'memory.sage.update', payload: { id, ...patch } }
|
|
54
|
+
* Response: { type: 'memory.sage.update', payload: { memory } }
|
|
55
|
+
* On error: { type: 'memory.sage.update', payload: { error } }
|
|
56
56
|
*/
|
|
57
|
-
export declare function
|
|
57
|
+
export declare function handleSageUpdate(ws: WebSocket, msg: unknown, memoryStore: MemoryPort): Promise<void>;
|
|
58
58
|
/**
|
|
59
|
-
* Create a new
|
|
60
|
-
* Request: { type: 'memory.
|
|
61
|
-
* Response: { type: 'memory.
|
|
62
|
-
* On error: { type: 'memory.
|
|
59
|
+
* Create a new Sage entry with full metadata.
|
|
60
|
+
* Request: { type: 'memory.sage.remember', payload: { text, kind?, scope?, tags?, anchors?, importance?, confidence?, freshness?, supersedes?, contradicts? } }
|
|
61
|
+
* Response: { type: 'memory.sage.remember', payload: { memory } }
|
|
62
|
+
* On error: { type: 'memory.sage.remember', payload: { error } }
|
|
63
63
|
*/
|
|
64
|
-
export declare function
|
|
64
|
+
export declare function handleSageRemember(ws: WebSocket, msg: unknown, memoryStore: MemoryPort): Promise<void>;
|
|
65
65
|
/**
|
|
66
|
-
* Delete a
|
|
67
|
-
* Request: { type: 'memory.
|
|
68
|
-
* Response: { type: 'memory.
|
|
66
|
+
* Delete a Sage entry (soft-delete with cascade cleanup).
|
|
67
|
+
* Request: { type: 'memory.sage.delete', payload: { id, reason?, force?, neverInject? } }
|
|
68
|
+
* Response: { type: 'memory.sage.delete', payload: { success, message } }
|
|
69
|
+
*
|
|
70
|
+
* `force` defaults to `true` (backward-compatible). When `false`, the
|
|
71
|
+
* permanent-memory guard in `deleteSage` is respected and
|
|
72
|
+
* `persistence: 'permanent'` entries cannot be deleted.
|
|
73
|
+
*
|
|
74
|
+
* `neverInject` (default false) marks the memory so context injection
|
|
75
|
+
* never loads it — used when a memory is factually wrong, not just
|
|
76
|
+
* superseded.
|
|
69
77
|
*
|
|
70
78
|
* Uses an operation-specific response type (not the generic
|
|
71
79
|
* `key.operation_result`) so the client can correlate the response
|
|
72
80
|
* to this specific action without matching unrelated broadcast events.
|
|
73
81
|
*/
|
|
74
|
-
export declare function
|
|
82
|
+
export declare function handleSageDelete(ws: WebSocket, msg: unknown, memoryStore: MemoryPort): Promise<void>;
|
|
75
83
|
/**
|
|
76
|
-
* Restore a deleted
|
|
77
|
-
* Request: { type: 'memory.
|
|
78
|
-
* Response: { type: 'memory.
|
|
84
|
+
* Restore a deleted SAGE entry to active status (PR #1).
|
|
85
|
+
* Request: { type: 'memory.sage.recover', payload: { id, reason? } }
|
|
86
|
+
* Response: { type: 'memory.sage.recover', payload: { memory?, noop?, activeId? } }
|
|
79
87
|
*
|
|
80
88
|
* - `noop: true` when the id was already active (no write happened)
|
|
81
89
|
* - `activeId: <id>` when the id was superseded — returns the head of the chain
|
|
82
90
|
* - otherwise returns the freshly-restored memory
|
|
83
91
|
*/
|
|
84
|
-
export declare function
|
|
92
|
+
export declare function handleSageRecover(ws: WebSocket, msg: unknown, memoryStore: MemoryPort): Promise<void>;
|
|
85
93
|
/**
|
|
86
94
|
* Resolve a pending hygiene review candidate (PR #1).
|
|
87
|
-
* Request: { type: 'memory.
|
|
88
|
-
* Response: { type: 'memory.
|
|
95
|
+
* Request: { type: 'memory.sage.candidateResolve', payload: { candidateId, action: 'accept'|'reject', reason? } }
|
|
96
|
+
* Response: { type: 'memory.sage.candidateResolve', payload: { candidate, resolvedAction } }
|
|
89
97
|
*
|
|
90
98
|
* The store handles audit + status mutation; the handler just relays the
|
|
91
99
|
* payload. If the candidate id is unknown, the store returns null and we
|
|
92
100
|
* surface a structured error.
|
|
93
101
|
*/
|
|
94
|
-
export declare function
|
|
102
|
+
export declare function handleSageCandidateResolve(ws: WebSocket, msg: unknown, memoryStore: MemoryPort): Promise<void>;
|
|
95
103
|
/**
|
|
96
104
|
* Scan deleted records and either preview (dry-run) or apply a backfill
|
|
97
105
|
* that creates fresh active versions for recoverable entries (PR #3).
|
|
98
106
|
*
|
|
99
|
-
* Request: { type: 'memory.
|
|
100
|
-
* Response: { type: 'memory.
|
|
107
|
+
* Request: { type: 'memory.sage.backfillRecoverable', payload: { apply, filter? } }
|
|
108
|
+
* Response: { type: 'memory.sage.backfillRecoverable', payload: { examined, recovered, recoverable, dryRun } }
|
|
101
109
|
*
|
|
102
110
|
* `apply` defaults to false (dry-run preview). When true, the store writes
|
|
103
111
|
* new active versions and links them to the original `deleted` records via
|
|
104
112
|
* `supersedes`. The report count fields are forwarded for dashboard / UI use.
|
|
105
113
|
*/
|
|
106
|
-
export declare function
|
|
114
|
+
export declare function handleSageBackfillRecoverable(ws: WebSocket, msg: unknown, memoryStore: MemoryPort): Promise<void>;
|
|
107
115
|
/**
|
|
108
116
|
* Rich file-drawer query — returns 3 buckets (primary/symbol/related)
|
|
109
117
|
* with matchedVia, matchStrength, supersededByActiveId, pendingReview (PR #4).
|
|
110
118
|
*/
|
|
111
|
-
export declare function
|
|
119
|
+
export declare function handleSageForFile(ws: WebSocket, msg: unknown, memoryStore: MemoryPort): Promise<void>;
|
|
112
120
|
//# sourceMappingURL=memory-handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-handlers.d.ts","sourceRoot":"","sources":["../../src/server/memory-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"memory-handlers.d.ts","sourceRoot":"","sources":["../../src/server/memory-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AA0BpC;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB5F;AA+BD;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAe1F;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED,yFAAyF;AACzF,wBAAsB,eAAe,CACnC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CAwDf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,CACjD,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { MemoryPort } from '@wrongstack/core/types';
|
|
2
|
+
import type { WebSocket } from 'ws';
|
|
3
|
+
import type { WSClientMessage, WSServerMessage } from './types.js';
|
|
4
|
+
export interface MemoryRouteContext {
|
|
5
|
+
getMemoryStore: () => MemoryPort | undefined;
|
|
6
|
+
send: (ws: WebSocket, message: WSServerMessage) => void;
|
|
7
|
+
sendResult: (ws: WebSocket, success: boolean, message: string) => void;
|
|
8
|
+
}
|
|
9
|
+
/** Canonical Memory/Sage routing and unavailable-store behavior. */
|
|
10
|
+
export declare function handleMemoryRoute(ctx: MemoryRouteContext, ws: WebSocket, message: WSClientMessage): Promise<boolean>;
|
|
11
|
+
//# sourceMappingURL=memory-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-routes.d.ts","sourceRoot":"","sources":["../../src/server/memory-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAepC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,UAAU,GAAG,SAAS,CAAC;IAC7C,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,UAAU,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxE;AAiBD,oEAAoE;AACpE,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,kBAAkB,EACvB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CA+ClB"}
|