@wrongstack/webui-server 0.286.0 → 0.289.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.js +2618 -620
- package/dist/index.js.map +4 -4
- package/dist/server/backend-services.d.ts +2 -2
- package/dist/server/backend-services.d.ts.map +1 -1
- package/dist/server/codebase-indexing.d.ts +2 -1
- package/dist/server/codebase-indexing.d.ts.map +1 -1
- package/dist/server/codemap-handlers.d.ts +26 -0
- package/dist/server/codemap-handlers.d.ts.map +1 -0
- package/dist/server/codemap-telemetry.d.ts +15 -0
- package/dist/server/codemap-telemetry.d.ts.map +1 -0
- package/dist/server/collaboration-ws-handler.d.ts +1 -1
- package/dist/server/connection-handler.d.ts +2 -2
- package/dist/server/connection-handler.d.ts.map +1 -1
- package/dist/server/context-meta.d.ts.map +1 -1
- package/dist/server/entry.js +2586 -613
- package/dist/server/entry.js.map +4 -4
- package/dist/server/goal-handlers.d.ts +1 -1
- package/dist/server/goal-routes.d.ts +10 -0
- package/dist/server/goal-routes.d.ts.map +1 -0
- package/dist/server/{autophase-ws-handler.d.ts → goal-ws-handler.d.ts} +31 -15
- package/dist/server/goal-ws-handler.d.ts.map +1 -0
- package/dist/server/handlers.js +1 -0
- package/dist/server/handlers.js.map +2 -2
- package/dist/server/http-server.d.ts +20 -0
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/index.d.ts +12 -10
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/instance-registry.d.ts +5 -3
- package/dist/server/instance-registry.d.ts.map +1 -1
- package/dist/server/kanban-routes.d.ts +3 -0
- package/dist/server/kanban-routes.d.ts.map +1 -1
- package/dist/server/mcp-handlers.d.ts +1 -1
- package/dist/server/memory-handlers.d.ts +78 -9
- package/dist/server/memory-handlers.d.ts.map +1 -1
- package/dist/server/message-dispatcher.d.ts.map +1 -1
- package/dist/server/mode-handlers.d.ts.map +1 -1
- package/dist/server/port-utils.d.ts +48 -10
- package/dist/server/port-utils.d.ts.map +1 -1
- package/dist/server/pre-context-services.d.ts.map +1 -1
- package/dist/server/pref-helpers.d.ts +1 -1
- package/dist/server/pref-helpers.d.ts.map +1 -1
- package/dist/server/provider-handlers.d.ts +13 -0
- package/dist/server/provider-handlers.d.ts.map +1 -1
- package/dist/server/provider-keys.d.ts.map +1 -1
- package/dist/server/provider-routes.d.ts +2 -0
- package/dist/server/provider-routes.d.ts.map +1 -1
- package/dist/server/routes.d.ts +22 -24
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/sdd-wizard-wiring.d.ts +31 -1
- package/dist/server/sdd-wizard-wiring.d.ts.map +1 -1
- package/dist/server/server-runtime.d.ts +8 -1
- package/dist/server/server-runtime.d.ts.map +1 -1
- package/dist/server/session-handlers.d.ts +4 -4
- package/dist/server/session-handlers.d.ts.map +1 -1
- package/dist/server/session-history.d.ts +29 -0
- package/dist/server/session-history.d.ts.map +1 -0
- package/dist/server/setup-events.d.ts +1 -1
- package/dist/server/setup-events.d.ts.map +1 -1
- package/dist/server/start-webui.d.ts.map +1 -1
- package/dist/server/techstack-handlers.d.ts +101 -0
- package/dist/server/techstack-handlers.d.ts.map +1 -0
- package/dist/server/worktree-ws-handler.d.ts +1 -1
- package/dist/server/ws-payload-validation.d.ts.map +1 -1
- package/package.json +10 -12
- package/dist/server/autophase-routes.d.ts +0 -10
- package/dist/server/autophase-routes.d.ts.map +0 -1
- package/dist/server/autophase-ws-handler.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kanban-routes.d.ts","sourceRoot":"","sources":["../../src/server/kanban-routes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kanban-routes.d.ts","sourceRoot":"","sources":["../../src/server/kanban-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAIb,MAAM,kBAAkB,CAAC;AAqD1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACjD;AA+DD,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,OAAO,CAAC,CAi7BlB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP management handlers for the WebUI server (both the standalone
|
|
3
|
-
*
|
|
3
|
+
* standalone server and the CLI's embedded `--webui` server).
|
|
4
4
|
*
|
|
5
5
|
* These are thin WebSocket translators over the shared, surface-agnostic
|
|
6
6
|
* management core in `@wrongstack/mcp` (`manage.ts`) — the SAME core the REPL
|
|
@@ -1,28 +1,97 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared memory-operation WebSocket handlers for both the standalone WebUI
|
|
3
|
-
* server and the CLI's `--webui` embedded server.
|
|
4
|
-
* duplicated switch cases in `index.ts` and `cli/src/webui-server.ts`.
|
|
3
|
+
* server and the CLI's `--webui` embedded server.
|
|
5
4
|
*
|
|
6
5
|
* Each function handles the full request→response cycle for one message
|
|
7
6
|
* type. Callers drop them into their switch statement:
|
|
8
7
|
*
|
|
9
8
|
* case 'memory.list': return handleMemoryList(ws, memoryStore);
|
|
9
|
+
*
|
|
10
|
+
* SuperMemory handlers use duck-typing to detect the store capability:
|
|
11
|
+
*
|
|
12
|
+
* case 'memory.super.list': return handleSuperMemoryList(ws, memoryStore);
|
|
10
13
|
*/
|
|
11
14
|
import type { WebSocket } from 'ws';
|
|
12
15
|
import type { MemoryStore } from '@wrongstack/core';
|
|
13
16
|
/**
|
|
14
|
-
* List
|
|
17
|
+
* List memory for the chat `/memory` command. When the backend is Super Memory
|
|
18
|
+
* (always, in practice) this renders the rich structured view — the same one
|
|
19
|
+
* surface as the MemoryManager panel and the CLI/TUI `/memory show`. Falls back
|
|
20
|
+
* to `readAll()` text only for a non-super store.
|
|
15
21
|
* Responds with `{ type: 'memory.list', payload: { text } }`.
|
|
16
22
|
*/
|
|
17
23
|
export declare function handleMemoryList(ws: WebSocket, memoryStore: MemoryStore): Promise<void>;
|
|
18
24
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
25
|
+
* List all SuperMemory entries with stats.
|
|
26
|
+
* Request: { type: 'memory.super.list' }
|
|
27
|
+
* Response: { type: 'memory.super.list', payload: { memories, stats } }
|
|
28
|
+
*/
|
|
29
|
+
export declare function handleSuperMemoryList(ws: WebSocket, memoryStore: MemoryStore): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Get a single SuperMemory entry by ID.
|
|
32
|
+
* Request: { type: 'memory.super.get', payload: { id } }
|
|
33
|
+
* Response: { type: 'memory.super.get', payload: { memory } }
|
|
34
|
+
*/
|
|
35
|
+
export declare function handleSuperMemoryGet(ws: WebSocket, msg: unknown, memoryStore: MemoryStore): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Update a SuperMemory entry.
|
|
38
|
+
* Request: { type: 'memory.super.update', payload: { id, ...patch } }
|
|
39
|
+
* Response: { type: 'memory.super.update', payload: { memory } }
|
|
40
|
+
* On error: { type: 'memory.super.update', payload: { error } }
|
|
41
|
+
*/
|
|
42
|
+
export declare function handleSuperMemoryUpdate(ws: WebSocket, msg: unknown, memoryStore: MemoryStore): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Create a new SuperMemory entry with full metadata.
|
|
45
|
+
* Request: { type: 'memory.super.remember', payload: { text, kind?, scope?, tags?, anchors?, importance?, confidence?, freshness?, supersedes?, contradicts? } }
|
|
46
|
+
* Response: { type: 'memory.super.remember', payload: { memory } }
|
|
47
|
+
* On error: { type: 'memory.super.remember', payload: { error } }
|
|
48
|
+
*/
|
|
49
|
+
export declare function handleSuperMemoryRemember(ws: WebSocket, msg: unknown, memoryStore: MemoryStore): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Delete a SuperMemory entry (soft-delete with cascade cleanup).
|
|
52
|
+
* Request: { type: 'memory.super.delete', payload: { id, reason? } }
|
|
53
|
+
* Response: { type: 'memory.super.delete', payload: { success, message } }
|
|
54
|
+
*
|
|
55
|
+
* Uses an operation-specific response type (not the generic
|
|
56
|
+
* `key.operation_result`) so the client can correlate the response
|
|
57
|
+
* to this specific action without matching unrelated broadcast events.
|
|
58
|
+
*/
|
|
59
|
+
export declare function handleSuperMemoryDelete(ws: WebSocket, msg: unknown, memoryStore: MemoryStore): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Restore a deleted Super Memory entry to active status (PR #1).
|
|
62
|
+
* Request: { type: 'memory.super.recover', payload: { id, reason? } }
|
|
63
|
+
* Response: { type: 'memory.super.recover', payload: { memory?, noop?, activeId? } }
|
|
64
|
+
*
|
|
65
|
+
* - `noop: true` when the id was already active (no write happened)
|
|
66
|
+
* - `activeId: <id>` when the id was superseded — returns the head of the chain
|
|
67
|
+
* - otherwise returns the freshly-restored memory
|
|
68
|
+
*/
|
|
69
|
+
export declare function handleSuperMemoryRecover(ws: WebSocket, msg: unknown, memoryStore: MemoryStore): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Resolve a pending hygiene review candidate (PR #1).
|
|
72
|
+
* Request: { type: 'memory.super.candidateResolve', payload: { candidateId, action: 'accept'|'reject', reason? } }
|
|
73
|
+
* Response: { type: 'memory.super.candidateResolve', payload: { candidate, resolvedAction } }
|
|
74
|
+
*
|
|
75
|
+
* The store handles audit + status mutation; the handler just relays the
|
|
76
|
+
* payload. If the candidate id is unknown, the store returns null and we
|
|
77
|
+
* surface a structured error.
|
|
78
|
+
*/
|
|
79
|
+
export declare function handleSuperMemoryCandidateResolve(ws: WebSocket, msg: unknown, memoryStore: MemoryStore): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Scan deleted records and either preview (dry-run) or apply a backfill
|
|
82
|
+
* that creates fresh active versions for recoverable entries (PR #3).
|
|
83
|
+
*
|
|
84
|
+
* Request: { type: 'memory.super.backfillRecoverable', payload: { apply, filter? } }
|
|
85
|
+
* Response: { type: 'memory.super.backfillRecoverable', payload: { examined, recovered, recoverable, dryRun } }
|
|
86
|
+
*
|
|
87
|
+
* `apply` defaults to false (dry-run preview). When true, the store writes
|
|
88
|
+
* new active versions and links them to the original `deleted` records via
|
|
89
|
+
* `supersedes`. The report count fields are forwarded for dashboard / UI use.
|
|
21
90
|
*/
|
|
22
|
-
export declare function
|
|
91
|
+
export declare function handleSuperMemoryBackfillRecoverable(ws: WebSocket, msg: unknown, memoryStore: MemoryStore): Promise<void>;
|
|
23
92
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
93
|
+
* Rich file-drawer query — returns 3 buckets (primary/symbol/related)
|
|
94
|
+
* with matchedVia, matchStrength, supersededByActiveId, pendingReview (PR #4).
|
|
26
95
|
*/
|
|
27
|
-
export declare function
|
|
96
|
+
export declare function handleSuperMemoryForFile(ws: WebSocket, msg: unknown, memoryStore: MemoryStore): Promise<void>;
|
|
28
97
|
//# 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
|
|
1
|
+
{"version":3,"file":"memory-handlers.d.ts","sourceRoot":"","sources":["../../src/server/memory-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA2GpD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAwBD;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;;;;;;;GAQG;AACH,wBAAsB,iCAAiC,CACrD,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oCAAoC,CACxD,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAyBf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-dispatcher.d.ts","sourceRoot":"","sources":["../../src/server/message-dispatcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message-dispatcher.d.ts","sourceRoot":"","sources":["../../src/server/message-dispatcher.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAyCpC,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAc7E,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAgB3F,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKnE;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,IAAI,eAAe,GAAG,IAAI,CAAC;IAC9B,GAAG,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC;CACzC;AACD,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,iBAAiB,CAAC;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,8DAA8D;IAC9D,UAAU,EAAE;QAAE,YAAY,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IAC5D,6EAA6E;IAC7E,gBAAgB,EAAE;QAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IAChE,6DAA6D;IAC7D,OAAO,EAAE,cAAc,CAAC;IACxB,2EAA2E;IAC3E,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC9C;AAuBD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,wBAAwB,GAC7B,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAqsBlF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode-handlers.d.ts","sourceRoot":"","sources":["../../src/server/mode-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EACL,KAAK,OAAO,EACZ,0BAA0B,EAE1B,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI1D;mFACmF;AACnF,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,KAAK,iBAAiB,GAAG,WAAW,CAClC,qBAAqB,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC,mBAAmB,CAAC,CAAC;AAEvB,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACzC,gEAAgE;IAChE,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,6EAA6E;IAC7E,mBAAmB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,
|
|
1
|
+
{"version":3,"file":"mode-handlers.d.ts","sourceRoot":"","sources":["../../src/server/mode-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EACL,KAAK,OAAO,EACZ,0BAA0B,EAE1B,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI1D;mFACmF;AACnF,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,KAAK,iBAAiB,GAAG,WAAW,CAClC,qBAAqB,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC,mBAAmB,CAAC,CAAC;AAEvB,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACzC,gEAAgE;IAChE,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,6EAA6E;IAC7E,mBAAmB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,CA0F9E"}
|
|
@@ -1,17 +1,55 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Free-port discovery for the
|
|
2
|
+
* Free-port discovery for the WebUI / SimpleUI servers.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* Design:
|
|
5
|
+
* - **Surface-aware port ranges.** WebUI defaults to 3456 (HTTP) / 3457 (WS);
|
|
6
|
+
* SimpleUI defaults to 3466 / 3467. These ranges are disjoint, so a WebUI
|
|
7
|
+
* instance never accidentally claims a SimpleUI slot and vice versa.
|
|
8
|
+
* - **Auto-advance.** When a port is taken, the server probes upward and binds
|
|
9
|
+
* the first free one (see `findFreePort`). The actual port is stamped into
|
|
10
|
+
* the served HTML and the instance registry so the user sees the real URL.
|
|
11
|
+
* - **Instance registry.** Every live process records itself in
|
|
12
|
+
* `~/.wrongstack/webui-instances.json` with its PID, surface, ports, and
|
|
13
|
+
* project root. A crashed instance is pruned on the next registry read
|
|
14
|
+
* (`process.kill(pid, 0)` probe), so ghosts don't accumulate.
|
|
15
|
+
* - **TOCTOU window.** The probe binds a throwaway `net.Server` then closes
|
|
16
|
+
* it, so there is a tiny race between "found free" and "real server binds".
|
|
17
|
+
* For local multi-instance use that race is negligible; if it ever loses,
|
|
18
|
+
* the real bind fails loudly with EADDRINUSE exactly as before.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Surface-specific default port ranges.
|
|
22
|
+
*
|
|
23
|
+
* These bases are intentionally spaced so the auto-advance window of one
|
|
24
|
+
* surface (typically a few ports up) never reaches the other surface's base:
|
|
9
25
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
26
|
+
* WebUI: HTTP 3456-3465, WS 3457-3466 (10-port window)
|
|
27
|
+
* SimpleUI: HTTP 3466-3475, WS 3467-3476 (10-port window)
|
|
28
|
+
*
|
|
29
|
+
* This keeps the ranges visually distinct and prevents accidental overlap
|
|
30
|
+
* when both surfaces run multiple instances in the same project.
|
|
31
|
+
*/
|
|
32
|
+
export declare const SURFACE_DEFAULT_PORTS: {
|
|
33
|
+
readonly webui: {
|
|
34
|
+
readonly http: 3456;
|
|
35
|
+
readonly ws: 3457;
|
|
36
|
+
};
|
|
37
|
+
readonly simpleui: {
|
|
38
|
+
readonly http: 3466;
|
|
39
|
+
readonly ws: 3467;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export type SurfaceKind = keyof typeof SURFACE_DEFAULT_PORTS;
|
|
43
|
+
/** Human-readable label for surfaces. */
|
|
44
|
+
export declare function surfaceLabel(surface: SurfaceKind): string;
|
|
45
|
+
/**
|
|
46
|
+
* Return the surface-specific default port pair (HTTP + WS).
|
|
47
|
+
* Freezes the returned object so callers can't mutate the constant table.
|
|
14
48
|
*/
|
|
49
|
+
export declare function getSurfaceDefaultPorts(surface: SurfaceKind): {
|
|
50
|
+
http: number;
|
|
51
|
+
ws: number;
|
|
52
|
+
};
|
|
15
53
|
/** Resolve true when `port` can be bound on `host`, false on EADDRINUSE/EACCES. */
|
|
16
54
|
export declare function isPortFree(host: string, port: number): Promise<boolean>;
|
|
17
55
|
export interface FindFreePortOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port-utils.d.ts","sourceRoot":"","sources":["../../src/server/port-utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"port-utils.d.ts","sourceRoot":"","sources":["../../src/server/port-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB;;iBACrB,IAAI,EAAE,IAAI;iBAAE,EAAE,EAAE,IAAI;;;iBACnB,IAAI,EAAE,IAAI;iBAAE,EAAE,EAAE,IAAI;;CAC+B,CAAC;AAElE,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,qBAAqB,CAAC;AAE7D,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAEA;AAED,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAavE;AAED,MAAM,WAAW,mBAAmB;IAClC,mFAAmF;IACnF,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAClC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pre-context-services.d.ts","sourceRoot":"","sources":["../../src/server/pre-context-services.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EACL,KAAK,kBAAkB,EACvB,gBAAgB,EAGhB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAElB,QAAQ,EAER,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EAEd,YAAY,EACZ,OAAO,EAUP,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"pre-context-services.d.ts","sourceRoot":"","sources":["../../src/server/pre-context-services.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EACL,KAAK,kBAAkB,EACvB,gBAAgB,EAGhB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAElB,QAAQ,EAER,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EAEd,YAAY,EACZ,OAAO,EAUP,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AA0B1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAMjE,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,kCAAkC,CAAC;AAK1C,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,gEAAgE;IAChE,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,OAAO,iBAAiB,EAAE,WAAW,CAAC;IACnD,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,oBAAoB,CAAC;IACpC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC9C,eAAe,EAAE,kCAAkC,CAAC;IACpD,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC5C,cAAc,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,UAAU,EAAE;QAAE,YAAY,EAAE,mBAAmB,GAAG,SAAS,CAAC;QAAC,WAAW,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAC7F,oBAAoB,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3C,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CAmS7B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SecretVault } from '@wrongstack/core';
|
|
2
2
|
/** Pref keys exposed to the settings panel via prefs.get / prefs.updated. */
|
|
3
|
-
export declare const PREF_KEYS: readonly ['autonomy', 'autonomyDelayMs', 'autoProceedMaxIterations', 'yolo', 'maxIterations', 'chime', 'confirmExit', 'streamFleet', 'nextPrediction', 'enhanceEnabled', 'enhanceDelayMs', 'enhanceLanguage', 'featureMcp', 'featurePlugins', 'featureMemory', 'featureSkills', 'featureModelsRegistry', 'indexOnStart', 'contextAutoCompact', 'contextStrategy', 'contextMode', 'tokenSavingTier', 'maxConcurrent', 'titleAnimation', 'uiLocale', 'logLevel', 'auditLevel', 'hqEnabled', 'hqUrl', 'hqToken', 'hqRawContent', 'tgConfigured', 'tgSessionEnd', 'tgDelegate', 'tgLongToolMs', 'reasoningMode', 'reasoningEffort', 'reasoningPreserve', 'cacheTtl', 'fallbackModels', 'fallbackProfiles', 'favoriteModels', 'favoriteModelsOnly', 'modelMatrix', 'fallbackAuto', 'refinerProvider', 'refinerModel', 'thinkingWord', 'statuslineMode', 'animationStyle', 'breakerEnabled', 'breakerAutoKillResetMs', 'fsAccess', 'debugStream'];
|
|
3
|
+
export declare const PREF_KEYS: readonly ['autonomy', 'autonomyDelayMs', 'autoProceedMaxIterations', 'yolo', 'maxIterations', 'chime', 'confirmExit', 'streamFleet', 'nextPrediction', 'enhanceEnabled', 'enhanceDelayMs', 'enhanceLanguage', 'featureMcp', 'featurePlugins', 'featureMemory', 'featureSkills', 'featureModelsRegistry', 'indexOnStart', 'contextAutoCompact', 'contextStrategy', 'contextMode', 'tokenSavingTier', 'maxConcurrent', 'titleAnimation', 'uiLocale', 'logLevel', 'auditLevel', 'hqEnabled', 'hqUrl', 'hqToken', 'hqRawContent', 'tgConfigured', 'tgSessionEnd', 'tgDelegate', 'tgLongToolMs', 'reasoningMode', 'reasoningEffort', 'reasoningPreserve', 'cacheTtl', 'fallbackModels', 'fallbackProfiles', 'favoriteModels', 'favoriteModelsOnly', 'modelMatrix', 'fallbackAuto', 'refinerProvider', 'refinerModel', 'refinerFallbackProfile', 'thinkingWord', 'statuslineMode', 'animationStyle', 'showModelReasoning', 'breakerEnabled', 'breakerAutoKillResetMs', 'fsAccess', 'debugStream', 'chimeraEnabled', 'chimeraProvider', 'chimeraModel', 'chimeraMaxFiles', 'chimeraAutoFix', 'autoReviewEnabled', 'autoReviewProvider', 'autoReviewModel', 'autoReviewFallbackProfile', 'autoReviewFallbackModels', 'autoReviewDebounceMs', 'autoReviewMaxFilesPerBatch', 'autoReviewMaxConcurrentReviews', 'autoReviewCascadeOn', 'pluginsEnabled'];
|
|
4
4
|
export interface PrefHelperDeps {
|
|
5
5
|
globalConfigPath: string;
|
|
6
6
|
vault: SecretVault;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pref-helpers.d.ts","sourceRoot":"","sources":["../../src/server/pref-helpers.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,6EAA6E;AAC7E,eAAO,MAAM,SAAS,YACpB,UAAU,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,EACN,eAAe,EACf,OAAO,EACP,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,OAAO,EACP,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,cAAc,EAGd,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"pref-helpers.d.ts","sourceRoot":"","sources":["../../src/server/pref-helpers.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,6EAA6E;AAC7E,eAAO,MAAM,SAAS,YACpB,UAAU,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,MAAM,EACN,eAAe,EACf,OAAO,EACP,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,OAAO,EACP,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,cAAc,EAGd,iBAAiB,EACjB,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EAEpB,gBAAgB,EAChB,wBAAwB,EACxB,UAAU,EACV,aAAa,EAIb,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,EAC5B,gCAAgC,EAChC,qBAAqB,EAErB,gBAAgB,CACR,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE;QAAE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM1F;AAED;;;;;;;kBAOkB;AAClB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EACjD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,CAqWf"}
|
|
@@ -32,6 +32,19 @@ export interface SavedProviderView {
|
|
|
32
32
|
* reaches the wire.
|
|
33
33
|
*/
|
|
34
34
|
export declare function projectSavedProviders(providers: Record<string, ProviderConfig>): SavedProviderView[];
|
|
35
|
+
/**
|
|
36
|
+
* Probe a saved provider's OpenAI-compatible `/v1/models` and map the
|
|
37
|
+
* discovered ids into the minimal model-descriptor shape the WebUI dropdown
|
|
38
|
+
* needs. Used as a fallback when a config-only custom provider (no saved
|
|
39
|
+
* `models` allowlist, absent from models.dev) would otherwise resolve to an
|
|
40
|
+
* empty list. Returns `[]` on any failure — the caller treats that as "no
|
|
41
|
+
* models" (unchanged behaviour).
|
|
42
|
+
*/
|
|
43
|
+
export declare function probeModelDescriptors(cfg: ProviderConfig): Promise<Array<{
|
|
44
|
+
id: string;
|
|
45
|
+
name: string;
|
|
46
|
+
capabilities: [];
|
|
47
|
+
}>>;
|
|
35
48
|
export interface ProviderHandlerDeps {
|
|
36
49
|
globalConfigPath: string;
|
|
37
50
|
vault: import('@wrongstack/core').SecretVault;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-handlers.d.ts","sourceRoot":"","sources":["../../src/server/provider-handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-handlers.d.ts","sourceRoot":"","sources":["../../src/server/provider-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-keys.d.ts","sourceRoot":"","sources":["../../src/server/provider-keys.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provider-keys.d.ts","sourceRoot":"","sources":["../../src/server/provider-keys.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,cAAc,EAAE,CAQnE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAc/E;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIzD;AAgCD,iFAAiF;AACjF,wBAAgB,SAAS,CACvB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,WAAW,CAuBb;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CACvB,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,WAAW,CAcb;AAED,wDAAwD;AACxD,wBAAgB,YAAY,CAC1B,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,WAAW,CASb;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAClG,MAAM,EAAE,MAAM,GACb,WAAW,CA0Bb;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,CAM1F"}
|
|
@@ -7,6 +7,8 @@ export interface ProviderRouteHandlers {
|
|
|
7
7
|
listProviderModels: (ws: WebSocket, msg: WSClientMessage) => Promise<void>;
|
|
8
8
|
switchModel: (ws: WebSocket, msg: WSClientMessage) => Promise<void>;
|
|
9
9
|
refineModel: (ws: WebSocket, msg: WSClientMessage) => Promise<void>;
|
|
10
|
+
/** Adopt a just-added provider as the live default when no model is active. */
|
|
11
|
+
adoptDefaultProviderIfUnset: (providerId: string) => Promise<void>;
|
|
10
12
|
providerHandlers: ReturnType<typeof createProviderHandlers>;
|
|
11
13
|
}
|
|
12
14
|
export declare function handleProviderRoute(ws: WebSocket, msg: WSClientMessage, routes: ProviderRouteHandlers): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-routes.d.ts","sourceRoot":"","sources":["../../src/server/provider-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,kBAAkB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,kBAAkB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,gBAAgB,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;CAC7D;AAuCD,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"provider-routes.d.ts","sourceRoot":"","sources":["../../src/server/provider-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,kBAAkB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,kBAAkB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,WAAW,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,+EAA+E;IAC/E,2BAA2B,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,gBAAgB,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;CAC7D;AAuCD,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAmJlB"}
|
package/dist/server/routes.d.ts
CHANGED
|
@@ -1,34 +1,32 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Agent, AgentPipelines, Context, MemoryStore, DefaultModeStore, EventBus, ModelsRegistry, ObservableBrainArbiter, PermissionPolicy, Provider, ProviderConfig, ProviderRegistry, SkillInstaller, SkillLoader, ToolRegistry } from '@wrongstack/core';
|
|
1
|
+
import type { Agent, AgentPipelines, AutoCompactionMiddleware, BrainAutoRisk, BrainRuntime, Compactor, ConfigStore, Context, DefaultModeStore, EventBus, Logger, MemoryStore, ModelsRegistry, ObservableBrainArbiter, PermissionPolicy, Provider, ProviderConfig, ProviderRegistry, SecretVault, SessionStore, SkillInstaller, SkillLoader, ToolRegistry } from '@wrongstack/core';
|
|
3
2
|
import type { DefaultTokenCounter } from '@wrongstack/core/infrastructure';
|
|
4
|
-
import type {
|
|
5
|
-
import type { SessionStore } from '@wrongstack/core';
|
|
3
|
+
import type { WebSocket, WebSocketServer } from 'ws';
|
|
6
4
|
type Session = Awaited<ReturnType<SessionStore['create']>>;
|
|
7
5
|
import type { Config } from '@wrongstack/core/types';
|
|
8
6
|
import type { MCPRegistry } from '@wrongstack/mcp';
|
|
9
|
-
import type {
|
|
10
|
-
import type {
|
|
11
|
-
import type {
|
|
12
|
-
import type { SddWizardWebSocketHandler } from './sdd-wizard-ws-handler.js';
|
|
13
|
-
import type { WorktreeWebSocketHandler } from './worktree-ws-handler.js';
|
|
7
|
+
import type { GoalRouteHandlers } from './goal-routes.js';
|
|
8
|
+
import type { GoalWebSocketHandler } from './goal-ws-handler.js';
|
|
9
|
+
import type { BrainRouteHandlers } from './brain-routes.js';
|
|
14
10
|
import type { CollaborationWebSocketHandler } from './collaboration-ws-handler.js';
|
|
15
|
-
import type {
|
|
16
|
-
import type { ProviderRouteHandlers } from './provider-routes.js';
|
|
17
|
-
import type { SessionRouteHandlers } from './session-routes.js';
|
|
18
|
-
import type { ProjectRouteHandlers } from './project-routes.js';
|
|
19
|
-
import type { ModeRouteHandlers } from './mode-routes.js';
|
|
20
|
-
import type { PrefsRouteHandlers } from './prefs-routes.js';
|
|
21
|
-
import type { ShellGitRouteHandlers } from './shell-git-routes.js';
|
|
11
|
+
import type { CustomModeStore } from './custom-context-modes.js';
|
|
22
12
|
import type { MailboxRouteHandlers } from './mailbox-routes.js';
|
|
23
13
|
import type { McpRouteHandlers } from './mcp-routes.js';
|
|
24
|
-
import type {
|
|
25
|
-
import type
|
|
26
|
-
import type {
|
|
14
|
+
import type { ModeRouteHandlers } from './mode-routes.js';
|
|
15
|
+
import { type PendingConfirm } from './pending-confirms.js';
|
|
16
|
+
import type { PrefsRouteHandlers } from './prefs-routes.js';
|
|
17
|
+
import type { ProjectRouteHandlers } from './project-routes.js';
|
|
18
|
+
import type { ProviderRouteHandlers } from './provider-routes.js';
|
|
27
19
|
import type { SddBoardRouteHandlers } from './sdd-board-routes.js';
|
|
20
|
+
import type { SddBoardWebSocketHandler } from './sdd-board-ws-handler.js';
|
|
28
21
|
import type { SddWizardRouteHandlers } from './sdd-wizard-routes.js';
|
|
22
|
+
import type { SddWizardWebSocketHandler } from './sdd-wizard-ws-handler.js';
|
|
23
|
+
import type { SessionRouteHandlers } from './session-routes.js';
|
|
24
|
+
import type { ShellGitRouteHandlers } from './shell-git-routes.js';
|
|
25
|
+
import type { SpecsRouteHandlers } from './specs-routes.js';
|
|
26
|
+
import type { SpecsWebSocketHandler } from './specs-ws-handler.js';
|
|
27
|
+
import type { TerminalWebSocketHandler } from './terminal-ws-handler.js';
|
|
29
28
|
import type { ConnectedClient } from './types.js';
|
|
30
|
-
import type {
|
|
31
|
-
import { type PendingConfirm } from './pending-confirms.js';
|
|
29
|
+
import type { WorktreeWebSocketHandler } from './worktree-ws-handler.js';
|
|
32
30
|
/**
|
|
33
31
|
* Mutable session-scoped state. Handlers always read LIVE values through
|
|
34
32
|
* these getters and write through setters — same closure semantics as
|
|
@@ -107,8 +105,8 @@ export interface WebuiDeps {
|
|
|
107
105
|
httpPort: number;
|
|
108
106
|
wssPrimary: WebSocketServer;
|
|
109
107
|
wssSecondary: WebSocketServer | null;
|
|
110
|
-
/** Per-feature WS handlers (
|
|
111
|
-
|
|
108
|
+
/** Per-feature WS handlers (goal, specs, sdd-board, sdd-wizard, …). */
|
|
109
|
+
goalHandler: GoalWebSocketHandler;
|
|
112
110
|
specsHandler: SpecsWebSocketHandler;
|
|
113
111
|
sddBoardHandler: SddBoardWebSocketHandler;
|
|
114
112
|
sddWizardHandler: SddWizardWebSocketHandler;
|
|
@@ -172,7 +170,7 @@ export interface AllRoutes {
|
|
|
172
170
|
mailboxRoutes: MailboxRouteHandlers;
|
|
173
171
|
mcpRoutes: McpRouteHandlers;
|
|
174
172
|
brainRoutes: BrainRouteHandlers;
|
|
175
|
-
|
|
173
|
+
goalRoutes: GoalRouteHandlers;
|
|
176
174
|
specsRoutes: SpecsRouteHandlers;
|
|
177
175
|
sddBoardRoutes: SddBoardRouteHandlers;
|
|
178
176
|
sddWizardRoutes: SddWizardRouteHandlers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/server/routes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/server/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,35 @@
|
|
|
1
|
-
import { type Agent, type AgentFactory, type BrainArbiter, type EventBus } from '@wrongstack/core';
|
|
1
|
+
import { type Agent, type AgentFactory, type BrainArbiter, type EventBus, type TaskGraph, TaskTracker } from '@wrongstack/core';
|
|
2
|
+
import { type SddRunHandle, SddRunRegistry } from '@wrongstack/sdd';
|
|
2
3
|
import type { SddWizardDeps } from './sdd-wizard-ws-handler.js';
|
|
4
|
+
/** Config knobs shared by the wizard start and the launch-from-board start. */
|
|
5
|
+
export interface StartSddRunFromGraphConfig {
|
|
6
|
+
parallelSlots?: number | undefined;
|
|
7
|
+
defaultModel?: string | undefined;
|
|
8
|
+
defaultProvider?: string | undefined;
|
|
9
|
+
fallbackModels?: string[] | undefined;
|
|
10
|
+
/** Per-run git-worktree isolation. Omit → env default (WRONGSTACK_SDD_WORKTREES). */
|
|
11
|
+
worktrees?: boolean | undefined;
|
|
12
|
+
}
|
|
13
|
+
export interface StartSddRunFromGraphDeps {
|
|
14
|
+
agent: Agent;
|
|
15
|
+
events: EventBus;
|
|
16
|
+
projectRoot: string;
|
|
17
|
+
subagentFactory: AgentFactory;
|
|
18
|
+
brain?: BrainArbiter | undefined;
|
|
19
|
+
projectSddBoards: string;
|
|
20
|
+
registry?: SddRunRegistry | undefined;
|
|
21
|
+
/** Isolated read-only LLM turn for the supervisor's auto-split. Omit → no split. */
|
|
22
|
+
runIsolatedTurn?: ((prompt: string, name: string) => Promise<string>) | undefined;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Start a multi-agent SDD run from a ready TaskGraph — the shared core behind
|
|
26
|
+
* BOTH the wizard's `startRun` and launching a run from a kanban board. Builds a
|
|
27
|
+
* TaskTracker from the graph (when none is supplied), sets up worktree isolation,
|
|
28
|
+
* the completion-gate verifier and the Brain failure supervisor, then defers to
|
|
29
|
+
* `startSddRun` (which owns the projector + cross-process control drain, so the
|
|
30
|
+
* run is steerable from any surface). Returns the run handle.
|
|
31
|
+
*/
|
|
32
|
+
export declare function startSddRunFromGraph(graph: TaskGraph, deps: StartSddRunFromGraphDeps, config?: StartSddRunFromGraphConfig, tracker?: TaskTracker): SddRunHandle;
|
|
3
33
|
export interface SddWizardWiringOptions {
|
|
4
34
|
/** Leader agent — seeds the run's default factory + project context. */
|
|
5
35
|
agent: Agent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdd-wizard-wiring.d.ts","sourceRoot":"","sources":["../../src/server/sdd-wizard-wiring.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"sdd-wizard-wiring.d.ts","sourceRoot":"","sources":["../../src/server/sdd-wizard-wiring.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,YAAY,EAEjB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,WAAW,EAGZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAKL,KAAK,YAAY,EAEjB,cAAc,EAKf,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,+EAA+E;AAC/E,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,qFAAqF;IACrF,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,YAAY,CAAC;IAC9B,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACtC,oFAAoF;IACpF,eAAe,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACnF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,wBAAwB,EAC9B,MAAM,GAAE,0BAA+B,EACvC,OAAO,CAAC,EAAE,WAAW,GACpB,YAAY,CAoEd;AAED,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,KAAK,EAAE,KAAK,CAAC;IACb,4EAA4E;IAC5E,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,eAAe,EAAE,YAAY,CAAC;IAC9B;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACjC,6DAA6D;IAC7D,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAqBD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,sBAAsB,GAAG,aAAa,CAwF9E"}
|
|
@@ -16,6 +16,7 @@ export interface ResolvedPorts {
|
|
|
16
16
|
* `WEBUI_STRICT_PORT` is set.
|
|
17
17
|
*/
|
|
18
18
|
export declare function resolvePorts(opts: {
|
|
19
|
+
surface?: 'webui' | 'simpleui' | undefined;
|
|
19
20
|
wsPort?: number | undefined;
|
|
20
21
|
wsHost?: string | undefined;
|
|
21
22
|
httpPort?: number | undefined;
|
|
@@ -87,7 +88,7 @@ export declare function armEvents(wssPrimary: WebSocketServer, wssSecondary: Web
|
|
|
87
88
|
* it lives in the separate `@wrongstack/webui` package. Callers can pass an
|
|
88
89
|
* explicit `distDir`; when they don't, we try to resolve the frontend package
|
|
89
90
|
* relative to the server entry that is asking. This lets the standalone
|
|
90
|
-
*
|
|
91
|
+
* standalone server serve the webui assets when both packages are installed,
|
|
91
92
|
* while also allowing embedded callers (e.g. the desktop app) to pass an exact
|
|
92
93
|
* path so they don't depend on module-resolution layout.
|
|
93
94
|
*/
|
|
@@ -106,6 +107,12 @@ export declare function startHttpServer(opts: {
|
|
|
106
107
|
openBrowser: boolean;
|
|
107
108
|
watcherMetrics: FileWatcherMetrics;
|
|
108
109
|
onFleetPing: () => void;
|
|
110
|
+
onTechStackEvent?: ((event: import('./techstack-handlers.js').TechStackEvent) => void) | undefined;
|
|
111
|
+
/** Live provider access for TechStack's LLM research stage. */
|
|
112
|
+
getLlm?: (() => {
|
|
113
|
+
provider: import('@wrongstack/core').Provider;
|
|
114
|
+
model: string;
|
|
115
|
+
} | undefined) | undefined;
|
|
109
116
|
distDir?: string | undefined;
|
|
110
117
|
}): import('node:http').Server;
|
|
111
118
|
export interface ShutdownDeps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-runtime.d.ts","sourceRoot":"","sources":["../../src/server/server-runtime.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,IAAI,CAAC;AAQrD,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKlD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"server-runtime.d.ts","sourceRoot":"","sources":["../../src/server/server-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
* as getters/setters so this stays a pure function of its context. Handler
|
|
10
10
|
* bodies are a verbatim lift — only dependency references changed.
|
|
11
11
|
*/
|
|
12
|
-
import type
|
|
13
|
-
import { type Context, type SessionStore, type ToolRegistry, type createStrategyCompactor } from '@wrongstack/core';
|
|
12
|
+
import { type Context, type createStrategyCompactor, type SessionStore, type ToolRegistry } from '@wrongstack/core';
|
|
14
13
|
import type { DefaultTokenCounter } from '@wrongstack/core/infrastructure';
|
|
15
|
-
import type {
|
|
16
|
-
import type { SessionRouteHandlers } from './session-routes.js';
|
|
14
|
+
import type { WebSocket } from 'ws';
|
|
17
15
|
import type { CustomModeStore } from './custom-context-modes.js';
|
|
16
|
+
import type { SessionRouteHandlers } from './session-routes.js';
|
|
17
|
+
import type { ConnectedClient } from './types.js';
|
|
18
18
|
type Session = Awaited<ReturnType<SessionStore['create']>>;
|
|
19
19
|
type SessionStartPayload = {
|
|
20
20
|
sessionId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-handlers.d.ts","sourceRoot":"","sources":["../../src/server/session-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"session-handlers.d.ts","sourceRoot":"","sources":["../../src/server/session-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,uBAAuB,EAK5B,KAAK,YAAY,EAEjB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AASlD,KAAK,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE3D,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IACtD,eAAe,EAAE,eAAe,CAAC;IACjC,YAAY,EAAE,mBAAmB,CAAC;IAClC,qDAAqD;IACrD,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,YAAY,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,mBAAmB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,mBAAmB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,sBAAsB,GAAG,oBAAoB,CAibvF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { SessionSummary } from '@wrongstack/core';
|
|
2
|
+
/**
|
|
3
|
+
* Stable WebSocket projection for the WebUI history surfaces.
|
|
4
|
+
*
|
|
5
|
+
* Keep this mapping shared by the standalone and CLI-hosted WebUI servers so
|
|
6
|
+
* an initial list, rename refresh, and delete refresh cannot silently expose
|
|
7
|
+
* different session metadata.
|
|
8
|
+
*/
|
|
9
|
+
export interface SessionHistoryWireEntry {
|
|
10
|
+
id: string;
|
|
11
|
+
title: string;
|
|
12
|
+
name?: string | undefined;
|
|
13
|
+
startedAt: string;
|
|
14
|
+
endedAt?: string | undefined;
|
|
15
|
+
model: string;
|
|
16
|
+
provider: string;
|
|
17
|
+
tokenTotal: number;
|
|
18
|
+
iterationCount?: number | undefined;
|
|
19
|
+
toolCallCount?: number | undefined;
|
|
20
|
+
toolErrorCount?: number | undefined;
|
|
21
|
+
fileChangeCount?: number | undefined;
|
|
22
|
+
toolBreakdown?: Record<string, number> | undefined;
|
|
23
|
+
compactionCount?: number | undefined;
|
|
24
|
+
outcome?: SessionSummary['outcome'];
|
|
25
|
+
isCurrent: boolean;
|
|
26
|
+
}
|
|
27
|
+
export declare function toSessionHistoryEntry(summary: SessionSummary, currentSessionId: string): SessionHistoryWireEntry;
|
|
28
|
+
export declare function toSessionHistoryEntries(summaries: SessionSummary[], currentSessionId: string): SessionHistoryWireEntry[];
|
|
29
|
+
//# sourceMappingURL=session-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-history.d.ts","sourceRoot":"","sources":["../../src/server/session-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACnD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;IACpC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,gBAAgB,EAAE,MAAM,GACvB,uBAAuB,CAmBzB;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,cAAc,EAAE,EAC3B,gBAAgB,EAAE,MAAM,GACvB,uBAAuB,EAAE,CAE3B"}
|