@wrongstack/webui-server 0.285.0 → 0.287.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.
Files changed (61) hide show
  1. package/dist/index.js +1538 -508
  2. package/dist/index.js.map +4 -4
  3. package/dist/server/autophase-ws-handler.d.ts +17 -1
  4. package/dist/server/autophase-ws-handler.d.ts.map +1 -1
  5. package/dist/server/backend-services.d.ts +12 -23
  6. package/dist/server/backend-services.d.ts.map +1 -1
  7. package/dist/server/brain-routes.d.ts +2 -0
  8. package/dist/server/brain-routes.d.ts.map +1 -1
  9. package/dist/server/collaboration-ws-handler.d.ts +27 -19
  10. package/dist/server/collaboration-ws-handler.d.ts.map +1 -1
  11. package/dist/server/context-meta.d.ts.map +1 -1
  12. package/dist/server/entry.js +1513 -506
  13. package/dist/server/entry.js.map +4 -4
  14. package/dist/server/handlers.js.map +2 -2
  15. package/dist/server/http-server.d.ts.map +1 -1
  16. package/dist/server/index.d.ts +6 -5
  17. package/dist/server/index.d.ts.map +1 -1
  18. package/dist/server/instance-registry.d.ts +3 -1
  19. package/dist/server/instance-registry.d.ts.map +1 -1
  20. package/dist/server/kanban-routes.d.ts +3 -0
  21. package/dist/server/kanban-routes.d.ts.map +1 -1
  22. package/dist/server/mailbox-handlers.d.ts +12 -0
  23. package/dist/server/mailbox-handlers.d.ts.map +1 -1
  24. package/dist/server/mailbox-routes.d.ts +1 -0
  25. package/dist/server/mailbox-routes.d.ts.map +1 -1
  26. package/dist/server/mcp-handlers.d.ts +10 -1
  27. package/dist/server/mcp-handlers.d.ts.map +1 -1
  28. package/dist/server/mcp-routes.d.ts +4 -0
  29. package/dist/server/mcp-routes.d.ts.map +1 -1
  30. package/dist/server/memory-handlers.d.ts +41 -9
  31. package/dist/server/memory-handlers.d.ts.map +1 -1
  32. package/dist/server/message-dispatcher.d.ts.map +1 -1
  33. package/dist/server/mode-handlers.d.ts.map +1 -1
  34. package/dist/server/port-utils.d.ts +48 -10
  35. package/dist/server/port-utils.d.ts.map +1 -1
  36. package/dist/server/pre-context-services.d.ts +3 -1
  37. package/dist/server/pre-context-services.d.ts.map +1 -1
  38. package/dist/server/pref-helpers.d.ts +1 -1
  39. package/dist/server/pref-helpers.d.ts.map +1 -1
  40. package/dist/server/provider-handlers.d.ts +13 -0
  41. package/dist/server/provider-handlers.d.ts.map +1 -1
  42. package/dist/server/provider-routes.d.ts +2 -0
  43. package/dist/server/provider-routes.d.ts.map +1 -1
  44. package/dist/server/routes.d.ts +23 -20
  45. package/dist/server/routes.d.ts.map +1 -1
  46. package/dist/server/sdd-wizard-wiring.d.ts +31 -1
  47. package/dist/server/sdd-wizard-wiring.d.ts.map +1 -1
  48. package/dist/server/server-runtime.d.ts +1 -0
  49. package/dist/server/server-runtime.d.ts.map +1 -1
  50. package/dist/server/session-handlers.d.ts +17 -4
  51. package/dist/server/session-handlers.d.ts.map +1 -1
  52. package/dist/server/session-history.d.ts +29 -0
  53. package/dist/server/session-history.d.ts.map +1 -0
  54. package/dist/server/setup-events.d.ts +1 -1
  55. package/dist/server/setup-events.d.ts.map +1 -1
  56. package/dist/server/standalone-session-identity.d.ts +35 -0
  57. package/dist/server/standalone-session-identity.d.ts.map +1 -0
  58. package/dist/server/start-webui.d.ts.map +1 -1
  59. package/dist/server/ws-payload-validation.d.ts +4 -0
  60. package/dist/server/ws-payload-validation.d.ts.map +1 -1
  61. package/package.json +9 -9
@@ -1,17 +1,55 @@
1
1
  /**
2
- * Free-port discovery for the standalone WebUI server.
2
+ * Free-port discovery for the WebUI / SimpleUI servers.
3
3
  *
4
- * When a user runs several instances, the default ports (HTTP 3456 / WS 3457)
5
- * are taken by the first one. Rather than make the user hand-pick `PORT` /
6
- * `WS_PORT` for every extra instance, the server probes upward from the
7
- * requested port and binds the first free one — then stamps that real port into
8
- * the served HTML and the instance registry so everything stays consistent.
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
- * The probe binds a throwaway `net.Server`, then closes it, so there is a tiny
11
- * TOCTOU window between "found free" and "the real server binds it". For local
12
- * single-user multi-instance use that race is negligible; if it ever loses, the
13
- * real bind fails loudly with EADDRINUSE exactly as before.
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;;;;;;;;;;;;;GAaG;AAKH,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
+ {"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,9 +1,10 @@
1
1
  import type { Config, Logger, MemoryStore } from '@wrongstack/core';
2
2
  import { DefaultTokenCounter } from '@wrongstack/core/infrastructure';
3
- import { AgentStatusTracker, AnnotationsStore, DefaultModeStore, DefaultPromptLoader, DefaultSessionReader, DefaultSessionStore, DefaultSkillLoader, EventBus, PromptUsageStore, ProviderRegistry, SkillInstaller, ToolRegistry, Context, type Container, type ConfigStore, type ModelsRegistry, type Provider, type SecretVault, type SessionStore } from '@wrongstack/core';
3
+ import { type AgentStatusTracker, AnnotationsStore, DefaultModeStore, DefaultPromptLoader, DefaultSessionReader, DefaultSessionStore, DefaultSkillLoader, EventBus, PromptUsageStore, ProviderRegistry, SkillInstaller, ToolRegistry, Context, type Container, type ConfigStore, type ModelsRegistry, type Provider, type SecretVault, type SessionStore } from '@wrongstack/core';
4
4
  import type { WstackPaths } from '@wrongstack/core/utils';
5
5
  import type { WebUIOptions } from './types.js';
6
6
  import type { CustomModeStore } from './custom-context-modes.js';
7
+ import { type StandaloneSessionIdentityLifecycle } from './standalone-session-identity.js';
7
8
  export interface PreContextServicesInput {
8
9
  config: Config;
9
10
  wpaths: WstackPaths;
@@ -32,6 +33,7 @@ export interface PreContextServices {
32
33
  session: Awaited<ReturnType<DefaultSessionStore['create']>>;
33
34
  sessionStartedAt: number;
34
35
  statusTracker: AgentStatusTracker | undefined;
36
+ sessionIdentity: StandaloneSessionIdentityLifecycle;
35
37
  tokenCounter: DefaultTokenCounter;
36
38
  modeStore: DefaultModeStore;
37
39
  modeId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pre-context-services.d.ts","sourceRoot":"","sources":["../../src/server/pre-context-services.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAGhB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAElB,QAAQ,EAGR,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;AAiB1B,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;AAUjE,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,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,CAwV7B"}
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'];
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', 'breakerEnabled', 'breakerAutoKillResetMs', 'fsAccess', 'debugStream'];
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,CACN,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,CA2Lf"}
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,EAEhB,gBAAgB,EAChB,wBAAwB,EACxB,UAAU,EACV,aAAa,CACL,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,CAoOf"}
@@ -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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"}
@@ -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,CAgJlB"}
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"}
@@ -1,34 +1,32 @@
1
- import type { WebSocket, WebSocketServer } from 'ws';
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 { AutoCompactionMiddleware, BrainAutoRisk, Compactor, ConfigStore, Logger, SecretVault } from '@wrongstack/core';
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';
7
+ import type { AutoPhaseRouteHandlers } from './autophase-routes.js';
9
8
  import type { AutoPhaseWebSocketHandler } from './autophase-ws-handler.js';
10
- import type { SpecsWebSocketHandler } from './specs-ws-handler.js';
11
- import type { SddBoardWebSocketHandler } from './sdd-board-ws-handler.js';
12
- import type { SddWizardWebSocketHandler } from './sdd-wizard-ws-handler.js';
13
- import type { WorktreeWebSocketHandler } from './worktree-ws-handler.js';
9
+ import type { BrainRouteHandlers } from './brain-routes.js';
14
10
  import type { CollaborationWebSocketHandler } from './collaboration-ws-handler.js';
15
- import type { TerminalWebSocketHandler } from './terminal-ws-handler.js';
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 { BrainRouteHandlers } from './brain-routes.js';
25
- import type { AutoPhaseRouteHandlers } from './autophase-routes.js';
26
- import type { SpecsRouteHandlers } from './specs-routes.js';
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 { CustomModeStore } from './custom-context-modes.js';
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
@@ -83,6 +81,7 @@ export interface WebuiDeps {
83
81
  wpaths: {
84
82
  globalRoot: string;
85
83
  globalSkills: string;
84
+ projectSessions: string;
86
85
  };
87
86
  configStore: ConfigStore;
88
87
  tokenCounter: DefaultTokenCounter;
@@ -119,6 +118,8 @@ export interface WebuiDeps {
119
118
  brainSettings: {
120
119
  maxAutoRisk: BrainAutoRisk;
121
120
  };
121
+ /** Live-editable Brain config owner (brain.config.get/set). */
122
+ brainRuntime: BrainRuntime;
122
123
  brainLog: Array<{
123
124
  at: number;
124
125
  kind: string;
@@ -148,6 +149,8 @@ export interface WebuiCallbacks {
148
149
  mode: string;
149
150
  contextMode: string;
150
151
  }>;
152
+ /** Re-point registry, recovery, and HQ identity after a writer swap. */
153
+ onSessionSwapped: (sessionId: string) => Promise<void>;
151
154
  /** Re-build the AutoCompaction middleware denominator on model switch. */
152
155
  updateAutoCompactionMaxContext: (newProvider: Provider, providerId?: string, providerCfg?: ProviderConfig | undefined) => Promise<void>;
153
156
  /** Unified, serialized, decrypt→mutate→encrypt→write helper for globalConfigPath. */
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/server/routes.ts"],"names":[],"mappings":"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"}
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,EACjB,KAAK,QAAQ,EAGd,MAAM,kBAAkB,CAAC;AAa1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,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,CA0I9E"}
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;
@@ -1 +1 @@
1
- {"version":3,"file":"server-runtime.d.ts","sourceRoot":"","sources":["../../src/server/server-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-runtime.d.ts","sourceRoot":"","sources":["../../src/server/server-runtime.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,20 @@
1
- import type { WebSocket } from 'ws';
2
- import { type Context, type SessionStore, type ToolRegistry, type createStrategyCompactor } from '@wrongstack/core';
1
+ /**
2
+ * Session route handlers extracted from the startWebUI closure in index.ts.
3
+ * The largest builder: session lifecycle (new/clear/resume/save), context ops
4
+ * (debug/compact/repair), context-mode CRUD, and checkpoint list/rewind.
5
+ *
6
+ * Mirrors createProviderHandlers/createModeHandlers/createProjectHandlers. The
7
+ * mutable startWebUI bindings the handlers touch (`session`, `sessionStartedAt`,
8
+ * and the project-switch-mutable `sessionStore`/`projectRoot`) are threaded in
9
+ * as getters/setters so this stays a pure function of its context. Handler
10
+ * bodies are a verbatim lift — only dependency references changed.
11
+ */
12
+ import { type Context, type createStrategyCompactor, type SessionStore, type ToolRegistry } from '@wrongstack/core';
3
13
  import type { DefaultTokenCounter } from '@wrongstack/core/infrastructure';
4
- import type { ConnectedClient } from './types.js';
5
- import type { SessionRouteHandlers } from './session-routes.js';
14
+ import type { WebSocket } from 'ws';
6
15
  import type { CustomModeStore } from './custom-context-modes.js';
16
+ import type { SessionRouteHandlers } from './session-routes.js';
17
+ import type { ConnectedClient } from './types.js';
7
18
  type Session = Awaited<ReturnType<SessionStore['create']>>;
8
19
  type SessionStartPayload = {
9
20
  sessionId: string;
@@ -34,9 +45,11 @@ export interface SessionHandlersContext {
34
45
  getProjectRoot: () => string;
35
46
  getSession: () => Session;
36
47
  getSessionStore: () => SessionStore;
48
+ sessionsDir: string;
37
49
  /** Mutations of the startWebUI bindings. */
38
50
  setSession: (s: Session) => void;
39
51
  setSessionStartedAt: (t: number) => void;
52
+ onSessionSwapped: (sessionId: string) => Promise<void>;
40
53
  sessionStartPayload: () => Promise<SessionStartPayload>;
41
54
  }
42
55
  export declare function createSessionHandlers(ctx: SessionHandlersContext): SessionRouteHandlers;
@@ -1 +1 @@
1
- {"version":3,"file":"session-handlers.d.ts","sourceRoot":"","sources":["../../src/server/session-handlers.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAG7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAUjE,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,4CAA4C;IAC5C,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,mBAAmB,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,mBAAmB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACzD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,sBAAsB,GAAG,oBAAoB,CAsYvF"}
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,EAI5B,KAAK,YAAY,EACjB,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,CAgZvF"}
@@ -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"}
@@ -1,4 +1,4 @@
1
- import type { EventBus, Context, SessionEventBridge, WstackPaths } from '@wrongstack/core';
1
+ import type { Context, EventBus, SessionEventBridge, WstackPaths } from '@wrongstack/core';
2
2
  import type { WebSocket } from 'ws';
3
3
  import type { ConnectedClient, WSServerMessage } from './types.js';
4
4
  import type { PendingConfirm } from './pending-confirms.js';
@@ -1 +1 @@
1
- {"version":3,"file":"setup-events.d.ts","sourceRoot":"","sources":["../../src/server/setup-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM5D,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oDAAoD;IACpD,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IACpF,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACzC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,gGAAgG;IAChG,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC/C,oDAAoD;IACpD,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,cAAc,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAChD;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtE;AAED,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,MAAM,GAAG,IAAI,CAOf;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,IAAI,CAm7B7D"}
1
+ {"version":3,"file":"setup-events.d.ts","sourceRoot":"","sources":["../../src/server/setup-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAuB,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM5D,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oDAAoD;IACpD,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IACpF,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACzC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,gGAAgG;IAChG,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC/C,oDAAoD;IACpD,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,cAAc,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAChD;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACtE;AAED,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GAAG,MAAM,GACxB,MAAM,GAAG,IAAI,CAOf;AAOD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,IAAI,CAg9B7D"}
@@ -0,0 +1,35 @@
1
+ import type { Config, EventBus, Logger, SessionRegistry, SessionStore } from '@wrongstack/core';
2
+ import { AgentStatusTracker } from '@wrongstack/core';
3
+ export interface StandaloneSessionIdentityPaths {
4
+ globalRoot: string;
5
+ projectRoot: string;
6
+ projectSlug: string;
7
+ projectSessions: string;
8
+ }
9
+ export interface StandaloneSessionIdentityOptions {
10
+ config: Config;
11
+ events: EventBus;
12
+ logger: Logger;
13
+ paths: StandaloneSessionIdentityPaths;
14
+ workingDir: string;
15
+ initialSessionId: string;
16
+ sessionStore?: SessionStore | undefined;
17
+ sessionRegistry?: SessionRegistry | undefined;
18
+ /** Embedded hosts can keep ownership of their existing recovery lock. */
19
+ manageRecoveryLock?: boolean | undefined;
20
+ /** Test/embedding escape hatch; production defaults to enabled. */
21
+ enableHqTelemetry?: boolean | undefined;
22
+ }
23
+ export interface StandaloneSessionIdentityLifecycle {
24
+ readonly statusTracker: AgentStatusTracker | undefined;
25
+ activate(sessionId: string): Promise<void>;
26
+ stop(): Promise<void>;
27
+ }
28
+ /**
29
+ * Own the cross-surface identity associated with the standalone WebUI's live
30
+ * session writer. Session routes call {@link activate} after swapping writers;
31
+ * shutdown calls {@link stop}. Transitions are serialized and every optional
32
+ * external surface is fail-soft, while identity selection itself stays live.
33
+ */
34
+ export declare function createStandaloneSessionIdentityLifecycle(opts: StandaloneSessionIdentityOptions): Promise<StandaloneSessionIdentityLifecycle>;
35
+ //# sourceMappingURL=standalone-session-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone-session-identity.d.ts","sourceRoot":"","sources":["../../src/server/standalone-session-identity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EACL,kBAAkB,EAInB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,8BAA8B,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACzC,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,aAAa,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAsB,wCAAwC,CAC5D,IAAI,EAAE,gCAAgC,GACrC,OAAO,CAAC,kCAAkC,CAAC,CAqL7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"start-webui.d.ts","sourceRoot":"","sources":["../../src/server/start-webui.ts"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,wBAAsB,UAAU,CAC9B,IAAI,GAAE,YAAY,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvB,GACL,OAAO,CAAC,IAAI,CAAC,CAghBf;AAED;;;;;;;;;;;;;;;;GAgBG"}
1
+ {"version":3,"file":"start-webui.d.ts","sourceRoot":"","sources":["../../src/server/start-webui.ts"],"names":[],"mappings":"AAgEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,wBAAsB,UAAU,CAC9B,IAAI,GAAE,YAAY,GAAG;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvB,GACL,OAAO,CAAC,IAAI,CAAC,CA6iBf;AAED;;;;;;;;;;;;;;;;GAgBG"}
@@ -37,6 +37,10 @@ export interface BrainAskPayload {
37
37
  question: string;
38
38
  }
39
39
  export declare function validateBrainAskPayload(payload: unknown): PayloadValidationResult<BrainAskPayload>;
40
+ export interface BrainConfigSetPayload {
41
+ patch: Record<string, unknown>;
42
+ }
43
+ export declare function validateBrainConfigSetPayload(payload: unknown): PayloadValidationResult<BrainConfigSetPayload>;
40
44
  export interface AutonomySwitchPayload {
41
45
  mode: string;
42
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ws-payload-validation.d.ts","sourceRoot":"","sources":["../../src/server/ws-payload-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-payload-validation.d.ts","sourceRoot":"","sources":["../../src/server/ws-payload-validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/webui-server",
3
- "version": "0.285.0",
3
+ "version": "0.287.0",
4
4
  "license": "MIT",
5
5
  "description": "WrongStack WebUI HTTP/WebSocket server module — extracted from @wrongstack/webui in PR #243/244 to remove the CLI -> @wrongstack/webui/server cross-package edge (audit §3.1.1). Pure backend: HTTP routes, WebSocket handlers, MCP tool wrappers, HTML serving. The web frontend lives in @wrongstack/webui; this package is the standalone server it can run on.",
6
6
  "keywords": [
@@ -38,14 +38,14 @@
38
38
  ],
39
39
  "dependencies": {
40
40
  "ws": "^8.21.0",
41
- "@wrongstack/core": "0.285.0",
42
- "@wrongstack/kanban": "0.285.0",
43
- "@wrongstack/providers": "0.285.0",
44
- "@wrongstack/super-memory": "0.285.0",
45
- "@wrongstack/sdd": "0.285.0",
46
- "@wrongstack/mcp": "0.285.0",
47
- "@wrongstack/tools": "0.285.0",
48
- "@wrongstack/runtime": "0.285.0"
41
+ "@wrongstack/kanban": "0.287.0",
42
+ "@wrongstack/core": "0.287.0",
43
+ "@wrongstack/runtime": "0.287.0",
44
+ "@wrongstack/providers": "0.287.0",
45
+ "@wrongstack/sdd": "0.287.0",
46
+ "@wrongstack/super-memory": "0.287.0",
47
+ "@wrongstack/mcp": "0.287.0",
48
+ "@wrongstack/tools": "0.287.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/node": "^26.0.1",