@wrongstack/webui-server 0.295.1 → 0.296.3

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 (148) hide show
  1. package/dist/index.js +4759 -1823
  2. package/dist/index.js.map +4 -4
  3. package/dist/protocol/client-conversation.d.ts +1 -1
  4. package/dist/protocol/client-conversation.d.ts.map +1 -1
  5. package/dist/protocol/client-integrations.d.ts +1 -1
  6. package/dist/protocol/client-integrations.d.ts.map +1 -1
  7. package/dist/protocol/client-operations.d.ts +2 -2
  8. package/dist/protocol/client-operations.d.ts.map +1 -1
  9. package/dist/protocol/client-workspace.d.ts +1 -1
  10. package/dist/protocol/client-workspace.d.ts.map +1 -1
  11. package/dist/protocol/index.js +37 -3
  12. package/dist/protocol/index.js.map +2 -2
  13. package/dist/protocol/projections.d.ts +6 -0
  14. package/dist/protocol/projections.d.ts.map +1 -1
  15. package/dist/protocol/registry.d.ts +2 -2
  16. package/dist/protocol/registry.d.ts.map +1 -1
  17. package/dist/protocol/replay-payload.d.ts.map +1 -1
  18. package/dist/protocol/server-conversation.d.ts +1 -1
  19. package/dist/protocol/server-conversation.d.ts.map +1 -1
  20. package/dist/protocol/server-integrations.d.ts +1 -1
  21. package/dist/protocol/server-integrations.d.ts.map +1 -1
  22. package/dist/protocol/server-operations.d.ts +1 -1
  23. package/dist/protocol/server-operations.d.ts.map +1 -1
  24. package/dist/protocol/server-workspace.d.ts +1 -1
  25. package/dist/protocol/server-workspace.d.ts.map +1 -1
  26. package/dist/protocol/version.d.ts +5 -1
  27. package/dist/protocol/version.d.ts.map +1 -1
  28. package/dist/server/agent-roster-handlers.d.ts +31 -0
  29. package/dist/server/agent-roster-handlers.d.ts.map +1 -1
  30. package/dist/server/backend-services.d.ts.map +1 -1
  31. package/dist/server/brain-handlers.d.ts.map +1 -1
  32. package/dist/server/chronicle-routes.d.ts +2 -5
  33. package/dist/server/chronicle-routes.d.ts.map +1 -1
  34. package/dist/server/client-presence.d.ts +2 -2
  35. package/dist/server/client-presence.d.ts.map +1 -1
  36. package/dist/server/codebase-index-server-control.d.ts +15 -0
  37. package/dist/server/codebase-index-server-control.d.ts.map +1 -0
  38. package/dist/server/codebase-indexing.d.ts.map +1 -1
  39. package/dist/server/codemap-handlers.d.ts +3 -3
  40. package/dist/server/codemap-handlers.d.ts.map +1 -1
  41. package/dist/server/collaboration-ws-handler.d.ts.map +1 -1
  42. package/dist/server/connection-handler.d.ts +7 -0
  43. package/dist/server/connection-handler.d.ts.map +1 -1
  44. package/dist/server/connection-lifecycle.d.ts +76 -0
  45. package/dist/server/connection-lifecycle.d.ts.map +1 -1
  46. package/dist/server/connections-health-route.d.ts +54 -0
  47. package/dist/server/connections-health-route.d.ts.map +1 -0
  48. package/dist/server/context-editor.d.ts +114 -0
  49. package/dist/server/context-editor.d.ts.map +1 -0
  50. package/dist/server/context-meta.d.ts.map +1 -1
  51. package/dist/server/conversation-operations.d.ts.map +1 -1
  52. package/dist/server/deadcode-handlers.d.ts +8 -0
  53. package/dist/server/deadcode-handlers.d.ts.map +1 -0
  54. package/dist/server/embedded-host-adapters.d.ts +14 -1
  55. package/dist/server/embedded-host-adapters.d.ts.map +1 -1
  56. package/dist/server/embedded-message-router.d.ts +4 -0
  57. package/dist/server/embedded-message-router.d.ts.map +1 -1
  58. package/dist/server/entry.js +4226 -1643
  59. package/dist/server/entry.js.map +4 -4
  60. package/dist/server/goal-routes.d.ts +2 -2
  61. package/dist/server/goal-routes.d.ts.map +1 -1
  62. package/dist/server/goal-ws-handler.d.ts +20 -1
  63. package/dist/server/goal-ws-handler.d.ts.map +1 -1
  64. package/dist/server/handlers.js +0 -1
  65. package/dist/server/handlers.js.map +2 -2
  66. package/dist/server/http-server/api-handlers.d.ts +1 -1
  67. package/dist/server/http-server/api-handlers.d.ts.map +1 -1
  68. package/dist/server/http-server.d.ts.map +1 -1
  69. package/dist/server/index.d.ts +3 -1
  70. package/dist/server/index.d.ts.map +1 -1
  71. package/dist/server/kanban-board-watcher.d.ts +4 -13
  72. package/dist/server/kanban-board-watcher.d.ts.map +1 -1
  73. package/dist/server/kanban-daemon-subscriber.d.ts +3 -0
  74. package/dist/server/kanban-daemon-subscriber.d.ts.map +1 -0
  75. package/dist/server/kanban-decomposition-routes.d.ts +10 -0
  76. package/dist/server/kanban-decomposition-routes.d.ts.map +1 -0
  77. package/dist/server/kanban-dispatch.d.ts.map +1 -1
  78. package/dist/server/kanban-route-helpers.d.ts +17 -0
  79. package/dist/server/kanban-route-helpers.d.ts.map +1 -0
  80. package/dist/server/kanban-route-pagination.d.ts +16 -0
  81. package/dist/server/kanban-route-pagination.d.ts.map +1 -0
  82. package/dist/server/kanban-route-protocol.d.ts +2 -0
  83. package/dist/server/kanban-route-protocol.d.ts.map +1 -0
  84. package/dist/server/kanban-routes.d.ts +2 -23
  85. package/dist/server/kanban-routes.d.ts.map +1 -1
  86. package/dist/server/kanban-run-mirror.d.ts.map +1 -1
  87. package/dist/server/kanban-task-routes.d.ts +10 -0
  88. package/dist/server/kanban-task-routes.d.ts.map +1 -0
  89. package/dist/server/mailbox-handlers.d.ts +3 -3
  90. package/dist/server/mailbox-handlers.d.ts.map +1 -1
  91. package/dist/server/message-dispatcher.d.ts.map +1 -1
  92. package/dist/server/mode-handlers.d.ts +4 -6
  93. package/dist/server/mode-handlers.d.ts.map +1 -1
  94. package/dist/server/model-catalog-search.d.ts +17 -0
  95. package/dist/server/model-catalog-search.d.ts.map +1 -0
  96. package/dist/server/model-operations.d.ts +2 -0
  97. package/dist/server/model-operations.d.ts.map +1 -1
  98. package/dist/server/pre-context-services.d.ts.map +1 -1
  99. package/dist/server/pref-helpers.d.ts +7 -7
  100. package/dist/server/pref-helpers.d.ts.map +1 -1
  101. package/dist/server/project-handlers.d.ts +4 -2
  102. package/dist/server/project-handlers.d.ts.map +1 -1
  103. package/dist/server/provider-handlers.d.ts +10 -0
  104. package/dist/server/provider-handlers.d.ts.map +1 -1
  105. package/dist/server/provider-keys.d.ts +2 -0
  106. package/dist/server/provider-keys.d.ts.map +1 -1
  107. package/dist/server/provider-routes.d.ts +9 -0
  108. package/dist/server/provider-routes.d.ts.map +1 -1
  109. package/dist/server/routes.d.ts +10 -3
  110. package/dist/server/routes.d.ts.map +1 -1
  111. package/dist/server/sdd-board-ws-handler.d.ts +8 -1
  112. package/dist/server/sdd-board-ws-handler.d.ts.map +1 -1
  113. package/dist/server/sdd-wizard-wiring.d.ts +10 -0
  114. package/dist/server/sdd-wizard-wiring.d.ts.map +1 -1
  115. package/dist/server/sdd-wizard-ws-handler.d.ts +41 -8
  116. package/dist/server/sdd-wizard-ws-handler.d.ts.map +1 -1
  117. package/dist/server/session-handlers.d.ts +16 -3
  118. package/dist/server/session-handlers.d.ts.map +1 -1
  119. package/dist/server/session-history.d.ts +3 -0
  120. package/dist/server/session-history.d.ts.map +1 -1
  121. package/dist/server/session-routes.d.ts +3 -0
  122. package/dist/server/session-routes.d.ts.map +1 -1
  123. package/dist/server/setup-events-core-watchers.d.ts +15 -0
  124. package/dist/server/setup-events-core-watchers.d.ts.map +1 -0
  125. package/dist/server/setup-events-fleet-broadcaster.d.ts +15 -0
  126. package/dist/server/setup-events-fleet-broadcaster.d.ts.map +1 -0
  127. package/dist/server/setup-events-provider-handlers.d.ts +19 -0
  128. package/dist/server/setup-events-provider-handlers.d.ts.map +1 -0
  129. package/dist/server/setup-events-session-helpers.d.ts +10 -0
  130. package/dist/server/setup-events-session-helpers.d.ts.map +1 -0
  131. package/dist/server/setup-events-status-watcher.d.ts +15 -0
  132. package/dist/server/setup-events-status-watcher.d.ts.map +1 -0
  133. package/dist/server/setup-events-watcher.d.ts +3 -0
  134. package/dist/server/setup-events-watcher.d.ts.map +1 -1
  135. package/dist/server/setup-events.d.ts +1 -1
  136. package/dist/server/setup-events.d.ts.map +1 -1
  137. package/dist/server/skills-handlers.d.ts.map +1 -1
  138. package/dist/server/standalone-session-identity.d.ts +10 -6
  139. package/dist/server/standalone-session-identity.d.ts.map +1 -1
  140. package/dist/server/start-webui.d.ts +12 -0
  141. package/dist/server/start-webui.d.ts.map +1 -1
  142. package/dist/server/types.d.ts +2 -0
  143. package/dist/server/types.d.ts.map +1 -1
  144. package/dist/server/ws-payload-preferences.d.ts +13 -0
  145. package/dist/server/ws-payload-preferences.d.ts.map +1 -0
  146. package/dist/server/ws-payload-validation.d.ts +2 -5
  147. package/dist/server/ws-payload-validation.d.ts.map +1 -1
  148. package/package.json +10 -10
@@ -1,3 +1,3 @@
1
- export declare const SERVER_CONVERSATION_MESSAGE_TYPES: readonly ['error', 'log', 'pong', 'side_effects', 'agent.status_changed', 'agent.timeline.message', 'client.status_update', 'compaction.failed', 'completion.result', 'context.compacted', 'context.debug', 'context.mode.changed', 'context.modes.list', 'context.repaired', 'ctx.max_context', 'ctx.pct', 'delegate.completed', 'delegate.started', 'iteration.completed', 'iteration.limit_reached', 'iteration.started', 'model.refine_result', 'modes.list', 'provider.active_blocked', 'provider.error', 'provider.fallback', 'provider.response', 'provider.retry', 'provider.status_changed', 'provider.stream_error', 'provider.text_delta', 'provider.thinking_delta', 'run.result', 'session.checkpoints', 'session.damaged', 'session.end', 'session.rewound', 'session.start', 'session.stats', 'sessions.list', 'sessions.status_update', 'stats.get', 'token.cost_estimate_unavailable', 'token.threshold', 'tool.confirm_needed', 'tool.disabled', 'tool.enabled', 'tool.executed', 'tool.loop_detected', 'tool.progress', 'tool.started', 'tools.list', 'trust.persisted'];
1
+ export declare const SERVER_CONVERSATION_MESSAGE_TYPES: readonly ['error', 'log', 'pong', 'side_effects', 'agent.status_changed', 'agent.timeline.message', 'client.status_update', 'compaction.failed', 'completion.result', 'context.compacted', 'context.debug', 'context.editor.snapshot', 'context.editor.validation', 'context.editor.applied', 'context.mode.changed', 'context.modes.list', 'context.repaired', 'ctx.max_context', 'ctx.pct', 'delegate.completed', 'delegate.started', 'iteration.completed', 'iteration.limit_reached', 'iteration.started', 'model.refine_result', 'modes.list', 'provider.active_blocked', 'provider.error', 'provider.fallback', 'provider.response', 'provider.retry', 'provider.status_changed', 'provider.stream_error', 'provider.text_delta', 'provider.thinking_delta', 'run.result', 'session.checkpoints', 'session.damaged', 'session.end', 'session.rewound', 'session.start', 'session.stats', 'sessions.list', 'sessions.status_update', 'stats.get', 'token.cost_estimate_unavailable', 'token.threshold', 'tool.confirm_needed', 'tool.disabled', 'tool.enabled', 'tool.executed', 'tool.loop_detected', 'tool.progress', 'tool.started', 'tools.list', 'trust.persisted'];
2
2
  export declare const SERVER_COLLABORATION_MESSAGE_TYPES: readonly ['collab.annotation.added', 'collab.annotation.resolved', 'collab.event', 'collab.injection.granted', 'collab.participant.joined', 'collab.participant.left', 'collab.pause.granted', 'collab.pause.released', 'collab.state', 'mailbox.agent_registered', 'mailbox.agents', 'mailbox.cleared', 'mailbox.compacted', 'mailbox.event', 'mailbox.messages', 'mailbox.sent', 'mailbox.purged', 'mailbox.received', 'subagent.budget_extended', 'subagent.event'];
3
3
  //# sourceMappingURL=server-conversation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-conversation.d.ts","sourceRoot":"","sources":["../../src/protocol/server-conversation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,YAC5C,OAAO,EACP,KAAK,EACL,MAAM,EACN,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,WAAW,EACX,iCAAiC,EACjC,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,CACT,CAAC;AAEX,eAAO,MAAM,kCAAkC,YAC7C,yBAAyB,EACzB,4BAA4B,EAC5B,cAAc,EACd,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,gBAAgB,CACR,CAAC"}
1
+ {"version":3,"file":"server-conversation.d.ts","sourceRoot":"","sources":["../../src/protocol/server-conversation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,YAC5C,OAAO,EACP,KAAK,EACL,MAAM,EACN,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,WAAW,EACX,iCAAiC,EACjC,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,CACT,CAAC;AAEX,eAAO,MAAM,kCAAkC,YAC7C,yBAAyB,EACzB,4BAA4B,EAC5B,cAAc,EACd,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,cAAc,EACd,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,gBAAgB,CACR,CAAC"}
@@ -1,3 +1,3 @@
1
- export declare const SERVER_KNOWLEDGE_MESSAGE_TYPES: readonly ['brain.answer', 'brain.config', 'brain.event', 'brain.status', 'chronicle.error', 'chronicle.facet_result', 'chronicle.facets_result', 'chronicle.graph_result', 'chronicle.metrics_result', 'chronicle.query_result', 'config.doctor.result', 'design.list', 'design.materialize', 'design.set', 'design.state', 'design.swap', 'design.tune', 'design.use', 'design.verify', 'memory.event', 'memory.list', 'memory.sage.backfillRecoverable', 'memory.sage.candidateResolve', 'memory.sage.delete', 'memory.sage.forFile', 'memory.sage.get', 'memory.sage.graph', 'memory.sage.list', 'memory.sage.listPage', 'memory.sage.recover', 'memory.sage.remember', 'memory.sage.update'];
1
+ export declare const SERVER_KNOWLEDGE_MESSAGE_TYPES: readonly ['brain.answer', 'brain.config', 'brain.event', 'brain.status', 'chronicle.error', 'chronicle.facet_result', 'chronicle.facets_result', 'chronicle.graph_result', 'chronicle.metrics_result', 'chronicle.query_result', 'chronicle.status_result', 'config.doctor.result', 'design.list', 'design.materialize', 'design.set', 'design.state', 'design.swap', 'design.tune', 'design.use', 'design.verify', 'memory.event', 'memory.list', 'memory.sage.backfillRecoverable', 'memory.sage.candidateResolve', 'memory.sage.delete', 'memory.sage.forFile', 'memory.sage.get', 'memory.sage.graph', 'memory.sage.list', 'memory.sage.listPage', 'memory.sage.recover', 'memory.sage.remember', 'memory.sage.update'];
2
2
  export declare const SERVER_EXTENSION_MESSAGE_TYPES: readonly ['mcp.content.error', 'mcp.content.selected', 'mcp.list', 'mcp.operation_result', 'mcp.prompts', 'mcp.resources', 'mcp.server.added', 'mcp.server.connected', 'mcp.server.disconnected', 'mcp.server.discovered', 'mcp.server.error', 'mcp.server.reconnected', 'mcp.server.removed', 'mcp.server.sleeping', 'mcp.server.updated', 'mcp.server.waking', 'prompts.content', 'prompts.created', 'prompts.favorite', 'prompts.list', 'prompts.recent', 'prompts.search', 'prompts.used', 'skills.content', 'skills.created', 'skills.edited', 'skills.exported', 'skills.installed', 'skills.list', 'skills.uninstalled', 'skills.updated'];
3
3
  //# sourceMappingURL=server-integrations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-integrations.d.ts","sourceRoot":"","sources":["../../src/protocol/server-integrations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,YACzC,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,iCAAiC,EACjC,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,CACZ,CAAC;AAEX,eAAO,MAAM,8BAA8B,YACzC,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,CACR,CAAC"}
1
+ {"version":3,"file":"server-integrations.d.ts","sourceRoot":"","sources":["../../src/protocol/server-integrations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,YACzC,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,iCAAiC,EACjC,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,CACZ,CAAC;AAEX,eAAO,MAAM,8BAA8B,YACzC,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,CACR,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const SERVER_GOAL_MESSAGE_TYPES: readonly ['budget.decision', 'budget.threshold_reached', 'coordinator.stats', 'coordinator.status', 'eternal.iteration', 'fleet.concurrency_update', 'goal-state.updated', 'goal.list', 'goal.paused', 'goal.resumed', 'goal.saved', 'goal.error', 'goal.stopped', 'goal.failed', 'goal.completed', 'goal.cleared', 'goal.reverted', 'goal.progress', 'goal.state', 'in_flight.ended', 'in_flight.started', 'plan.updated', 'task.completed', 'task.failed', 'task.pending', 'task.started', 'tasks.updated', 'todos.cleared', 'todos.updated'];
1
+ export declare const SERVER_GOAL_MESSAGE_TYPES: readonly ['budget.decision', 'budget.threshold_reached', 'coordinator.stats', 'coordinator.status', 'eternal.iteration', 'fleet.concurrency_update', 'goal-state.updated', 'goal.assess.result', 'goal.list', 'goal.paused', 'goal.resumed', 'goal.saved', 'goal.error', 'goal.stopped', 'goal.failed', 'goal.completed', 'goal.cleared', 'goal.reverted', 'goal.progress', 'goal.state', 'in_flight.ended', 'in_flight.started', 'plan.updated', 'task.completed', 'task.failed', 'task.pending', 'task.started', 'tasks.updated', 'todos.cleared', 'todos.updated'];
2
2
  export declare const SERVER_SDD_MESSAGE_TYPES: readonly ['kanban.task.activity', 'sdd.board.lifecycle_result', 'sdd.board.list', 'sdd.board.snapshot', 'sdd.run.started', 'sdd.spec.agent_text', 'sdd.spec.error', 'sdd.spec.snapshot', 'specs.detail', 'specs.list'];
3
3
  export declare const SERVER_AUTOMATION_MESSAGE_TYPES: readonly ['consensus.vote_cast', 'consensus.vote_initiated', 'consensus.vote_resolved', 'cron.job_fired', 'cron.snapshot', 'techstack.job.cancelled', 'techstack.job.failed', 'techstack.job.progress', 'techstack.job.started', 'techstack.report.delivered', 'techstack.report.ready', 'techstack.snapshot.updated', 'techstack.workspace.completed'];
4
4
  //# sourceMappingURL=server-operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-operations.d.ts","sourceRoot":"","sources":["../../src/protocol/server-operations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,YACpC,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,CACP,CAAC;AAEX,eAAO,MAAM,wBAAwB,YACnC,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,YAAY,CACJ,CAAC;AAEX,eAAO,MAAM,+BAA+B,YAC1C,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,CACvB,CAAC"}
1
+ {"version":3,"file":"server-operations.d.ts","sourceRoot":"","sources":["../../src/protocol/server-operations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,YACpC,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,CACP,CAAC;AAEX,eAAO,MAAM,wBAAwB,YACnC,sBAAsB,EACtB,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,YAAY,CACJ,CAAC;AAEX,eAAO,MAAM,+BAA+B,YAC1C,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,EAC5B,+BAA+B,CACvB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export declare const SERVER_WORKSPACE_MESSAGE_TYPES: readonly ['checkpoint.written', 'codemap.file_event', 'codemap.index_updated', 'codemap.tool_executed', 'codemap.tool_started', 'file.saved', 'files.list', 'files.read', 'files.tree', 'files.written', 'git.changes', 'git.diff', 'git.info', 'process.list', 'projects.added', 'projects.list', 'projects.selected', 'terminal.exit', 'terminal.output', 'working_dir.changed', 'worktree.cleanup_result', 'worktree.diff_result', 'worktree.event', 'worktree.merge_result', 'worktree.orphans', 'worktree.state'];
2
- export declare const SERVER_CONFIGURATION_MESSAGE_TYPES: readonly ['auth.oauth.status', 'diag.get', 'key.operation_result', 'prefs.updated', 'provider.catalog', 'provider.models', 'provider.probe', 'providers.saved'];
2
+ export declare const SERVER_CONFIGURATION_MESSAGE_TYPES: readonly ['auth.oauth.status', 'codebase.index.server.shutdown_result', 'connections.health_error', 'connections.health_result', 'connections.service_action_result', 'diag.get', 'key.operation_result', 'model.switch_result', 'prefs.updated', 'provider.catalog', 'provider.models', 'provider.models.search_result', 'provider.probe', 'provider.status.snapshot', 'providers.saved'];
3
3
  //# sourceMappingURL=server-workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-workspace.d.ts","sourceRoot":"","sources":["../../src/protocol/server-workspace.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,YACzC,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,CACR,CAAC;AAEX,eAAO,MAAM,kCAAkC,YAC7C,mBAAmB,EACnB,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,CACT,CAAC"}
1
+ {"version":3,"file":"server-workspace.d.ts","sourceRoot":"","sources":["../../src/protocol/server-workspace.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,YACzC,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,CACR,CAAC;AAEX,eAAO,MAAM,kCAAkC,YAC7C,mBAAmB,EACnB,uCAAuC,EACvC,0BAA0B,EAC1B,2BAA2B,EAC3B,mCAAmC,EACnC,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,+BAA+B,EAC/B,gBAAgB,EAChB,0BAA0B,EAC1B,iBAAiB,CACT,CAAC"}
@@ -1,6 +1,10 @@
1
1
  export declare const SURFACE_PROTOCOL_VERSION: 1;
2
2
  export declare const SURFACE_PROTOCOL_MIN_VERSION: 1;
3
- export declare const SURFACE_PROTOCOL_CAPABILITIES: readonly ['protocol.directional-decoder', 'protocol.recursive-key-safety', 'chronicle.query', 'chronicle.facet', 'chronicle.facets', 'chronicle.graph', 'chronicle.metrics'];
3
+ export declare const SURFACE_PROTOCOL_CAPABILITIES: readonly ['protocol.directional-decoder', 'protocol.recursive-key-safety', 'chronicle.query', 'chronicle.facet', 'chronicle.facets', 'chronicle.graph', 'chronicle.metrics', 'chronicle.status', 'connections.health',
4
+ /** Interview resume/discard + lastAgentText/lastRunId continuity. */
5
+ 'sdd.interview.continuity',
6
+ /** Launch multi-agent runs from a graph id or resolved spec id. */
7
+ 'sdd.run.from_graph'];
4
8
  export type SurfaceProtocolCapability = (typeof SURFACE_PROTOCOL_CAPABILITIES)[number];
5
9
  export interface ProtocolAdvertisement {
6
10
  protocolVersion?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/protocol/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAC;AACnD,eAAO,MAAM,4BAA4B,EAAG,CAAU,CAAC;AAEvD,eAAO,MAAM,6BAA6B,YACxC,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,CACX,CAAC;AAEX,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvF,MAAM,WAAW,qBAAqB;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,yBAAyB,EAAE,CAAC;CAC3C;AAED,wBAAgB,qBAAqB,IAAI;IACvC,eAAe,EAAE,OAAO,wBAAwB,CAAC;IACjD,oBAAoB,EAAE,yBAAyB,EAAE,CAAC;CACnD,CAKA;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,mBAAmB,CAelF"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/protocol/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAC;AACnD,eAAO,MAAM,4BAA4B,EAAG,CAAU,CAAC;AAEvD,eAAO,MAAM,6BAA6B,YACxC,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB;AACpB,qEAAqE;AACrE,0BAA0B;AAC1B,mEAAmE;AACnE,oBAAoB,CACZ,CAAC;AAEX,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvF,MAAM,WAAW,qBAAqB;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,yBAAyB,EAAE,CAAC;CAC3C;AAED,wBAAgB,qBAAqB,IAAI;IACvC,eAAe,EAAE,OAAO,wBAAwB,CAAC;IACjD,oBAAoB,EAAE,yBAAyB,EAAE,CAAC;CACnD,CAKA;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,mBAAmB,CAelF"}
@@ -17,14 +17,45 @@
17
17
  * agent-roster.read-consolidated { role } → consolidated content + metadata
18
18
  * agent-roster.clear-consolidated { role } → cleared
19
19
  */
20
+ import type { Provider } from '@wrongstack/core/types';
20
21
  import type { WebSocket } from 'ws';
21
22
  import type { WSServerMessage } from './types.js';
23
+ /**
24
+ * Resolved LLM handle used for headless (chat-free) consolidation. Both the
25
+ * embedded and standalone routers can supply this from the active agent
26
+ * context (`agent.ctx.provider` / `agent.ctx.model`).
27
+ */
28
+ export interface AgentRosterLlm {
29
+ provider: Provider;
30
+ model: string;
31
+ }
22
32
  export interface AgentRosterHandlerOptions {
23
33
  projectRoot: string | (() => string);
34
+ /**
35
+ * Resolves the LLM used to synthesize consolidations directly on the server,
36
+ * without routing the instruction back through the chat loop. When it
37
+ * returns undefined (no active model), the handler degrades gracefully to
38
+ * returning the instruction for a caller-driven consolidation.
39
+ */
40
+ getLlm?: () => AgentRosterLlm | undefined;
41
+ /**
42
+ * Broadcasts a message to every connected client. Used to push
43
+ * `agent-roster.updated` after a headless consolidation so other open
44
+ * clients refresh the affected roster card without a manual reload.
45
+ */
46
+ broadcast?: (msg: WSServerMessage) => void;
24
47
  }
25
48
  export declare class AgentRosterWSHandler {
26
49
  private readonly getProjectRoot;
50
+ private readonly getLlm;
51
+ private readonly broadcast;
27
52
  constructor(opts: AgentRosterHandlerOptions);
53
+ /**
54
+ * Run the consolidation LLM synthesis headlessly and return the cleaned
55
+ * document text. Returns undefined when no LLM is available so the caller
56
+ * can fall back to the instruction-only path.
57
+ */
58
+ private synthesizeConsolidation;
28
59
  /** Handle an incoming client message. Returns a response payload. */
29
60
  handleMessage(_ws: WebSocket, type: string, payload: unknown): Promise<WSServerMessage>;
30
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-roster-handlers.d.ts","sourceRoot":"","sources":["../../src/server/agent-roster-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA4BH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;CACtC;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAE9C,YAAY,IAAI,EAAE,yBAAyB,EAG1C;IAED,qEAAqE;IAC/D,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAgT5F;CACF"}
1
+ {"version":3,"file":"agent-roster-handlers.d.ts","sourceRoot":"","sources":["../../src/server/agent-roster-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA6BH,OAAO,KAAK,EAAE,QAAQ,EAAW,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACrC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CAC5C;AAOD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAE3D,YAAY,IAAI,EAAE,yBAAyB,EAK1C;IAED;;;;OAIG;YACW,uBAAuB;IA6DrC,qEAAqE;IAC/D,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CA0a5F;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"backend-services.d.ts","sourceRoot":"","sources":["../../src/server/backend-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-services.d.ts","sourceRoot":"","sources":["../../src/server/backend-services.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"brain-handlers.d.ts","sourceRoot":"","sources":["../../src/server/brain-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAoB,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;GASG;AAEH,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,kEAAkE;IAClE,aAAa,EAAE;QAAE,WAAW,EAAE,aAAa,CAAA;KAAE,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC,+EAA+E;IAC/E,WAAW,EAAE,CAAC,MAAM,aAAa,EAAE,CAAC,GAAG,SAAS,CAAC;IACjD,4FAA4F;IAC5F,cAAc,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;IAC/C,yDAAyD;IACzD,YAAY,CAAC,EAAE,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CACvD;AAWD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAsB/E;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAclF;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,mBAAmB,EACxB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAwCf;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAe5F;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,mBAAmB,EACxB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
1
+ {"version":3,"file":"brain-handlers.d.ts","sourceRoot":"","sources":["../../src/server/brain-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAoB,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAChG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;;;;GASG;AAEH,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,kEAAkE;IAClE,aAAa,EAAE;QAAE,WAAW,EAAE,aAAa,CAAA;KAAE,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC,+EAA+E;IAC/E,WAAW,EAAE,CAAC,MAAM,aAAa,EAAE,CAAC,GAAG,SAAS,CAAC;IACjD,4FAA4F;IAC5F,cAAc,EAAE,MAAM,YAAY,GAAG,SAAS,CAAC;IAC/C,yDAAyD;IACzD,YAAY,CAAC,EAAE,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;CACvD;AAWD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAyB/E;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAclF;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,mBAAmB,EACxB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAwCf;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,mBAAmB,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAe5F;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,mBAAmB,EACxB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -1,13 +1,10 @@
1
- import { ChronicleMetricsStore, ChronicleQueryEngine } from '@wrongstack/core/chronicle';
1
+ import { type ChronicleProjectAccess } from '@wrongstack/core/chronicle';
2
2
  import type { WebSocket } from 'ws';
3
3
  import type { WSClientMessage, WSServerMessage } from './types.js';
4
- export type ChronicleRouteEngine = Pick<ChronicleQueryEngine, 'query' | 'facet' | 'facets' | 'graph' | 'diagnostics'>;
5
- export type ChronicleRouteMetrics = Pick<ChronicleMetricsStore, 'refresh' | 'summary' | 'providerDaily' | 'taskOutcomes' | 'fileLineage'>;
6
4
  export interface ChronicleRouteContext {
7
5
  getProjectRoot: () => string;
8
6
  send: (ws: WebSocket, message: WSServerMessage) => void;
9
- getEngine?: (() => Promise<ChronicleRouteEngine>) | undefined;
10
- getMetrics?: (() => Promise<ChronicleRouteMetrics>) | undefined;
7
+ getChronicleAccess?: (() => Pick<ChronicleProjectAccess, 'mode' | 'call'>) | undefined;
11
8
  }
12
9
  /** Canonical Chronicle query/facet/graph handler shared by every WebUI host. */
13
10
  export declare function handleChronicleRoute(ctx: ChronicleRouteContext, ws: WebSocket, message: WSClientMessage): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"chronicle-routes.d.ts","sourceRoot":"","sources":["../../src/server/chronicle-routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,qBAAqB,EAErB,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,oBAAoB,EACpB,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CACvD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,qBAAqB,EACrB,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,cAAc,GAAG,aAAa,CACzE,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,SAAS,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9D,UAAU,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,SAAS,CAAC;CACjE;AAgFD,gFAAgF;AAChF,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,qBAAqB,EAC1B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAsHlB"}
1
+ {"version":3,"file":"chronicle-routes.d.ts","sourceRoot":"","sources":["../../src/server/chronicle-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAG5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,kBAAkB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,sBAAsB,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;CACxF;AAwBD,gFAAgF;AAChF,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,qBAAqB,EAC1B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CA0LlB"}
@@ -1,4 +1,4 @@
1
- import { GlobalMailbox } from '@wrongstack/core/coordination';
1
+ import { type RemoteMailbox } from '@wrongstack/core/coordination';
2
2
  import type { Config } from '@wrongstack/core/types';
3
3
  import type { CreateHqPublisherOptions, HqPublisher } from '@wrongstack/core/hq';
4
4
  import type { EventBus } from '@wrongstack/core/kernel';
@@ -16,7 +16,7 @@ export interface WebuiClientPresenceDeps {
16
16
  hqSessionId: string;
17
17
  getSessionId: () => string;
18
18
  startHqConnection: (options: WebuiHqConnectionOptions) => WebuiHqConnection;
19
- createCommandHandler?: ((mailbox: GlobalMailbox) => NonNullable<CreateHqPublisherOptions['onCommand']>) | undefined;
19
+ createCommandHandler?: ((mailbox: RemoteMailbox) => NonNullable<CreateHqPublisherOptions['onCommand']>) | undefined;
20
20
  }
21
21
  export interface WebuiClientPresence {
22
22
  register(): Promise<string | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"client-presence.d.ts","sourceRoot":"","sources":["../../src/server/client-presence.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAEd,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EACV,wBAAwB,EAExB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,WAAW,iBAAiB;IAChC,YAAY,IAAI,WAAW,GAAG,SAAS,CAAC;IACxC,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,GAAG;IACvF,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5D,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,iBAAiB,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,iBAAiB,CAAC;IAC5E,oBAAoB,CAAC,EACjB,CAAC,CAAC,OAAO,EAAE,aAAa,KAAK,WAAW,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,GAChF,SAAS,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnC,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAsF5F"}
1
+ {"version":3,"file":"client-presence.d.ts","sourceRoot":"","sources":["../../src/server/client-presence.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EACV,wBAAwB,EAExB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,MAAM,WAAW,iBAAiB;IAChC,YAAY,IAAI,WAAW,GAAG,SAAS,CAAC;IACxC,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,EAAE,eAAe,CAAC,GAAG;IACvF,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC5D,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,iBAAiB,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,iBAAiB,CAAC;IAC5E,oBAAoB,CAAC,EACjB,CAAC,CAAC,OAAO,EAAE,aAAa,KAAK,WAAW,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,GAChF,SAAS,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnC,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,mBAAmB,CAsF5F"}
@@ -0,0 +1,15 @@
1
+ import type { TrustBoundary } from '@wrongstack/core/security';
2
+ import type { Logger } from '@wrongstack/core/types';
3
+ import type { WebSocket } from 'ws';
4
+ import type { WSClientMessage, WSServerMessage } from './types.js';
5
+ export interface CodebaseIndexServerControlDeps {
6
+ trustBoundary: TrustBoundary;
7
+ logger?: Logger | undefined;
8
+ getProjectRoot(): string;
9
+ getIndexDir(): string | undefined;
10
+ send(ws: WebSocket, message: WSServerMessage): void;
11
+ backend: 'standalone' | 'cli-embedded';
12
+ }
13
+ /** Handle the WebSocket control message that stops this project's index server. */
14
+ export declare function handleCodebaseIndexServerControl(ws: WebSocket, message: WSClientMessage, deps: CodebaseIndexServerControlDeps): Promise<boolean>;
15
+ //# sourceMappingURL=codebase-index-server-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codebase-index-server-control.d.ts","sourceRoot":"","sources":["../../src/server/codebase-index-server-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,8BAA8B;IAC7C,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,cAAc,IAAI,MAAM,CAAC;IACzB,WAAW,IAAI,MAAM,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACpD,OAAO,EAAE,YAAY,GAAG,cAAc,CAAC;CACxC;AAED,mFAAmF;AACnF,wBAAsB,gCAAgC,CACpD,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,OAAO,CAAC,CA2ClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"codebase-indexing.d.ts","sourceRoot":"","sources":["../../src/server/codebase-indexing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAmBrE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;KAAE,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,yBAAyB,GAAG,qBAAqB,CA8KjG"}
1
+ {"version":3,"file":"codebase-indexing.d.ts","sourceRoot":"","sources":["../../src/server/codebase-indexing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAoBrE,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE;QAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;KAAE,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,yBAAyB,GAAG,qBAAqB,CAgLjG"}
@@ -17,9 +17,9 @@ export interface CodemapHandlerDeps {
17
17
  indexDir?: string | undefined;
18
18
  }
19
19
  /** GET /api/codemap/packages — workspace-level package dependency graph. */
20
- export declare function handleCodemapPackages(res: http.ServerResponse, deps: CodemapHandlerDeps): void;
20
+ export declare function handleCodemapPackages(res: http.ServerResponse, deps: CodemapHandlerDeps): Promise<void>;
21
21
  /** GET /api/codemap/files?package=<name> — file-level graph within a package. */
22
- export declare function handleCodemapFiles(res: http.ServerResponse, deps: CodemapHandlerDeps, pkg: string): void;
22
+ export declare function handleCodemapFiles(res: http.ServerResponse, deps: CodemapHandlerDeps, pkg: string): Promise<void>;
23
23
  /** GET /api/codemap/symbols?file=<path> — symbol-level graph within a file. */
24
- export declare function handleCodemapSymbols(res: http.ServerResponse, deps: CodemapHandlerDeps, file: string): void;
24
+ export declare function handleCodemapSymbols(res: http.ServerResponse, deps: CodemapHandlerDeps, file: string): Promise<void>;
25
25
  //# sourceMappingURL=codemap-handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codemap-handlers.d.ts","sourceRoot":"","sources":["../../src/server/codemap-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAUvC,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAmDD,4EAA4E;AAC5E,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,kBAAkB,GACvB,IAAI,CAON;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,MAAM,GACV,IAAI,CAYN;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,GACX,IAAI,CAYN"}
1
+ {"version":3,"file":"codemap-handlers.d.ts","sourceRoot":"","sources":["../../src/server/codemap-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAUvC,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAmDD,4EAA4E;AAC5E,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,+EAA+E;AAC/E,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -1 +1 @@
1
- {"version":3,"file":"collaboration-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/collaboration-ws-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,+BAA+B,CAAC;AAC7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EACV,UAAU,EAGX,MAAM,YAAY,CAAC;AASpB,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IAChD;;;OAGG;IACH,aAAa,CAAC,EACV,CAAC,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,GAC1G,SAAS,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,6BAA6B;IAQtC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA9B1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAE9C,YACmB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,MAAM;IAC/B;;;;;;OAMG;IACc,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS;IACnD;;;;OAIG;IACc,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAC3D;;;;;OAKG;IACc,GAAG,CAAC,EAAE,gBAAgB,GAAG,SAAS,EAClC,OAAO,GAAE,2BAAgC,EAM3D;IAID,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAK7B;IAED,OAAO,IAAI,IAAI,CAId;IAID;;;;;OAKG;IACH,aAAa,CACX,EAAE,EAAE,SAAS,EACb,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GACnD,OAAO,CA4CT;IAID,OAAO,CAAC,IAAI;IA2FZ,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,gBAAgB;IAwCxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,mBAAmB;YASb,cAAc;YA4Ed,aAAa;IA0E3B,OAAO,CAAC,SAAS;IA6CjB,OAAO,CAAC,cAAc;IAgBtB;;;;;;;;;;;OAWG;YACW,aAAa;IAiC3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,YAAY;YAMN,kBAAkB;YAiDlB,YAAY;YA0CZ,kBAAkB;IAgDhC;;;;;;OAMG;YACW,gBAAgB;IAuF9B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;CAgCnC"}
1
+ {"version":3,"file":"collaboration-ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/collaboration-ws-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,+BAA+B,CAAC;AAC7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEhF,OAAO,KAAK,EACV,UAAU,EAGX,MAAM,YAAY,CAAC;AASpB,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IAChD;;;OAGG;IACH,aAAa,CAAC,EACV,CAAC,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,GAC1G,SAAS,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,6BAA6B;IAQtC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IA9B1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IACjE,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyB;IAE9C,YACmB,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,MAAM;IAC/B;;;;;;OAMG;IACc,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS;IACnD;;;;OAIG;IACc,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS;IAC3D;;;;;OAKG;IACc,GAAG,CAAC,EAAE,gBAAgB,GAAG,SAAS,EAClC,OAAO,GAAE,2BAAgC,EAY3D;IAID,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAK7B;IAED,OAAO,IAAI,IAAI,CAId;IAID;;;;;OAKG;IACH,aAAa,CACX,EAAE,EAAE,SAAS,EACb,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GACnD,OAAO,CA4CT;IAID,OAAO,CAAC,IAAI;IA2FZ,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,gBAAgB;IAwCxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,mBAAmB;YASb,cAAc;YA4Ed,aAAa;IA0E3B,OAAO,CAAC,SAAS;IAmDjB,OAAO,CAAC,cAAc;IAgBtB;;;;;;;;;;;OAWG;YACW,aAAa;IA2C3B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,YAAY;YAMN,kBAAkB;YAiDlB,YAAY;YA0CZ,kBAAkB;IAgDhC;;;;;;OAMG;YACW,gBAAgB;IAuF9B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;CAgCnC"}
@@ -30,6 +30,13 @@ export interface ConnectionHandlerOptions {
30
30
  collabHandler: CollaborationWebSocketHandler;
31
31
  terminalHandler: TerminalWebSocketHandler;
32
32
  handleMessage: (ws: WebSocket, client: ConnectedClient, msg: WSClientMessage) => Promise<void>;
33
+ /**
34
+ * Forwarded to the connection lifecycle as `onSecurityRejection`. When set,
35
+ * the callback fires on every `unsafe_key` or `too_deep` decoder rejection
36
+ * with connection-context details. See the lifecycle option's doc comment
37
+ * for design constraints (fire-and-forget, no await).
38
+ */
39
+ onSecurityRejection?: (event: import('./connection-lifecycle.js').SecurityRejectionEvent) => void;
33
40
  }
34
41
  export declare function createConnectionHandler(options: ConnectionHandlerOptions): (ws: WebSocket) => void;
35
42
  //# sourceMappingURL=connection-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection-handler.d.ts","sourceRoot":"","sources":["../../src/server/connection-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAEnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGzE,MAAM,WAAW,wBAAwB;IACvC,YAAY,IAAI,MAAM,CAAC;IACvB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EACP,CAAC,MAAM,OAAO,CAAC;QACb,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAC;QAC7C,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;KAC3B,GAAG,IAAI,CAAC,CAAC,GACV,SAAS,CAAC;IACd,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACzC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,WAAW,EAAE,oBAAoB,CAAC;IAClC,YAAY,EAAE,qBAAqB,CAAC;IACpC,eAAe,EAAE,wBAAwB,CAAC;IAC1C,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,aAAa,EAAE,6BAA6B,CAAC;IAC7C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,aAAa,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChG;AAID,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAsEzB"}
1
+ {"version":3,"file":"connection-handler.d.ts","sourceRoot":"","sources":["../../src/server/connection-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAMpC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAEnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGzE,MAAM,WAAW,wBAAwB;IACvC,YAAY,IAAI,MAAM,CAAC;IACvB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EACP,CAAC,MAAM,OAAO,CAAC;QACb,QAAQ,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAC;QAC7C,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;KAC3B,GAAG,IAAI,CAAC,CAAC,GACV,SAAS,CAAC;IACd,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACzC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,WAAW,EAAE,oBAAoB,CAAC;IAClC,YAAY,EAAE,qBAAqB,CAAC;IACpC,eAAe,EAAE,wBAAwB,CAAC;IAC1C,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,aAAa,EAAE,6BAA6B,CAAC;IAC7C,eAAe,EAAE,wBAAwB,CAAC;IAC1C,aAAa,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,2BAA2B,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACnG;AAsBD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAoFzB"}
@@ -15,6 +15,42 @@ type DecodeResult<Message> = {
15
15
  ok: false;
16
16
  issue: ProtocolIssue;
17
17
  };
18
+ /**
19
+ * Payload delivered to the `onSecurityRejection` callback when the decoder
20
+ * trips a security-relevant issue code (`unsafe_key` or `too_deep`).
21
+ */
22
+ export interface SecurityRejectionEvent {
23
+ /** Decoder issue code that triggered the alert. */
24
+ issueCode: string;
25
+ /** Human-readable issue message from the decoder. */
26
+ issueMessage: string;
27
+ /** Event name logged alongside this rejection. */
28
+ eventName: string;
29
+ /** Per-connection id — `undefined` when the client lacks this field. */
30
+ connectionId?: string;
31
+ /** Session id bound to this connection — `null` when the client has none. */
32
+ sessionId?: string | null;
33
+ /** Agent id from the server-wide client context. */
34
+ agentId?: string;
35
+ /** Project root from the server-wide client context. */
36
+ projectRoot?: string;
37
+ }
38
+ /**
39
+ * Minimum shape a client must expose for verbose logging to attach
40
+ * per-connection identity to rejection logs. The connection lifecycle
41
+ * reads these fields defensively (`?.connId`, `?.sessionId`), so any
42
+ * subset is fine — but consumers should declare the shape on their
43
+ * `Client` type to make the contract explicit and avoid silent drops
44
+ * when fields are renamed.
45
+ */
46
+ export interface ClientWithConnectionInfo {
47
+ /** Unique per-connection id — defaults to `undefined` when absent. */
48
+ connId?: string;
49
+ /** Session id bound to this connection — may be `null` when not yet known. */
50
+ sessionId?: string | null;
51
+ /** Remote socket address captured when the connection is accepted. */
52
+ remoteAddress?: string;
53
+ }
18
54
  export interface ConnectionLifecycleOptions<Client, Request, Message> {
19
55
  clients: Map<WebSocket, Client>;
20
56
  pendingConfirms: Map<string, PendingConfirm>;
@@ -32,7 +68,47 @@ export interface ConnectionLifecycleOptions<Client, Request, Message> {
32
68
  rateLimitWindowMs?: number;
33
69
  confirmDrainGraceMs?: number;
34
70
  rateLimitMessage?: string;
71
+ /**
72
+ * Enrich rejection/parse-failure logs with per-connection context so the
73
+ * server can identify the sender of unknown client message types. When
74
+ * false (default), the original `{ level, event, message }` shape is
75
+ * preserved for back-compat with downstream log consumers.
76
+ */
77
+ verboseWsLogging?: boolean;
78
+ /**
79
+ * Connection-level context attached to verbose rejection logs. Note that
80
+ * per-connection identity (`connectionId`, `sessionId`) is sourced from the
81
+ * `client` argument of `logRejection` directly, so it does not need to be
82
+ * duplicated here.
83
+ */
84
+ clientContext?: {
85
+ agentId?: string;
86
+ projectRoot?: string;
87
+ };
88
+ /**
89
+ * Optional consumer-supplied log sink. Honored by every error-emitting
90
+ * branch (`webui_server.client_socket_error`, `message_handler_failed`,
91
+ * `session_start_payload_failed`, and the verbose rejection path under
92
+ * `verboseWsLogging`). The `error` argument is typed `unknown` and is the
93
+ * standard Error / string for the three standard branches, while the
94
+ * verbose rejection branch passes the enriched structured payload object
95
+ * (with `connectionId`, `sessionId`, `agentId`, `code`, `type`, etc.) so
96
+ * downstream sinks can index/filter on the extra fields.
97
+ */
35
98
  log?: (level: 'warn' | 'error', event: string, error: unknown) => void;
99
+ /**
100
+ * Called when the decoder reports a security-tripwire issue code
101
+ * (`unsafe_key` or `too_deep`). The caller (typically `start-webui.ts`
102
+ * via the connection handler) can use this to send a `to:'*' audience:'leaders'`
103
+ * mailbox message so the running agent-loop is notified immediately of
104
+ * possible exploit attempts or runaway payloads.
105
+ *
106
+ * The callback is fire-and-forget from the lifecycle's perspective: it is
107
+ * invoked with bare `void` (no await) so a slow or throwing consumer never
108
+ * delays the message handler. Wrap any async work in a promise that is
109
+ * intentionally not awaited.
110
+ */
111
+ onSecurityRejection?: ((event: SecurityRejectionEvent) => void) | undefined;
36
112
  }
37
113
  /**
38
114
  * Canonical WebSocket lifecycle: protection, auth, registration, protocol
@@ -1 +1 @@
1
- {"version":3,"file":"connection-lifecycle.d.ts","sourceRoot":"","sources":["../../src/server/connection-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,KAAK,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAC1D,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AACvD,KAAK,YAAY,CAAC,OAAO,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC;AAElG,MAAM,WAAW,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO;IAClE,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/E,YAAY,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9D,cAAc,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9D,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/C,QAAQ,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,IAAI,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9E,mBAAmB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACxE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAChE,OAAO,EAAE,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAC5D,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CA6GpD"}
1
+ {"version":3,"file":"connection-lifecycle.d.ts","sourceRoot":"","sources":["../../src/server/connection-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { WebSocket } from 'ws';
2
+ import type { WSClientMessage, WSServerMessage } from './types.js';
3
+ export type ConnectionHealthStatus = 'healthy' | 'degraded' | 'offline' | 'unavailable' | 'error';
4
+ export interface ConnectionHealthService {
5
+ id: 'webui' | 'chronicle' | 'codebase-index' | 'sage' | 'kanban' | 'mailbox';
6
+ label: string;
7
+ status: ConnectionHealthStatus;
8
+ required: boolean;
9
+ mode: string;
10
+ detail: string;
11
+ ownerPid?: number | undefined;
12
+ endpoint?: string | undefined;
13
+ storage?: string | undefined;
14
+ uptimeMs?: number | undefined;
15
+ latencyMs?: number | undefined;
16
+ clients?: number | undefined;
17
+ activeRequests?: number | undefined;
18
+ queuedWork?: number | undefined;
19
+ watcher?: {
20
+ active: boolean;
21
+ watchedFiles?: number | undefined;
22
+ } | undefined;
23
+ lastError?: string | undefined;
24
+ }
25
+ export interface ConnectionsHealthReport {
26
+ checkedAt: number;
27
+ overall: 'healthy' | 'degraded' | 'error';
28
+ backend: 'standalone' | 'cli-embedded';
29
+ projectRoot: string;
30
+ services: ConnectionHealthService[];
31
+ }
32
+ export interface ConnectionsHealthContext {
33
+ getProjectRoot(): string;
34
+ getIndexDir(): string | undefined;
35
+ send(ws: WebSocket, message: WSServerMessage): void;
36
+ backend: ConnectionsHealthReport['backend'];
37
+ collect?: (() => Promise<ConnectionsHealthReport>) | undefined;
38
+ }
39
+ /** One read-only health report for every per-project backend connection. */
40
+ export declare function handleConnectionsHealthRoute(context: ConnectionsHealthContext, ws: WebSocket, message: WSClientMessage): Promise<boolean>;
41
+ export declare function collectConnectionsHealth(options: {
42
+ projectRoot: string;
43
+ indexDir?: string | undefined;
44
+ backend: ConnectionsHealthReport['backend'];
45
+ }): Promise<ConnectionsHealthReport>;
46
+ export interface ServiceActionResult {
47
+ serviceId: ConnectionHealthService['id'] | null;
48
+ action: 'shutdown' | 'restart';
49
+ success: boolean;
50
+ message: string;
51
+ }
52
+ /** Handle WS message type `connections.service_action` — reset or kill a service. */
53
+ export declare function handleConnectionsServiceAction(ws: WebSocket, message: WSClientMessage, context: ConnectionsHealthContext): Promise<boolean>;
54
+ //# sourceMappingURL=connections-health-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connections-health-route.d.ts","sourceRoot":"","sources":["../../src/server/connections-health-route.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,CAAC;AAElG,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,sBAAsB,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1C,OAAO,EAAE,YAAY,GAAG,cAAc,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,IAAI,MAAM,CAAC;IACzB,WAAW,IAAI,MAAM,GAAG,SAAS,CAAC;IAClC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACpD,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC,GAAG,SAAS,CAAC;CAChE;AAED,4EAA4E;AAC5E,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,wBAAwB,EACjC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAkBlB;AAED,wBAAsB,wBAAwB,CAAC,OAAO,EAAE;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;CAC7C,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAsBnC;AAgUD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,uBAAuB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChD,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qFAAqF;AACrF,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,OAAO,CAAC,CAwElB"}
@@ -0,0 +1,114 @@
1
+ import type { Context } from '@wrongstack/core/agent';
2
+ import type { ContentBlock } from '@wrongstack/core/types';
3
+ import type { Message } from '@wrongstack/core/types';
4
+ import type { ToolRegistry } from '@wrongstack/core/registry';
5
+ export type ContextEditorBlock = ContentBlock;
6
+ export interface ContextEditorMessage {
7
+ role: Message['role'];
8
+ content: string | ContextEditorBlock[];
9
+ ts?: string | undefined;
10
+ }
11
+ export interface ContextEditorMetrics {
12
+ messages: number;
13
+ blocks: number;
14
+ messageTokens: number;
15
+ fullRequestTokens: number;
16
+ }
17
+ export interface ContextEditorDiagnostics {
18
+ hasToolAdjacencyIssues: boolean;
19
+ orphanToolUses: string[];
20
+ orphanToolResults: string[];
21
+ emptyMessages: number;
22
+ thinkingBlocks: number;
23
+ signedThinkingBlocks: number;
24
+ }
25
+ export interface ContextEditorRepairPreview {
26
+ changed: boolean;
27
+ removedToolUses: string[];
28
+ removedToolResults: string[];
29
+ removedMessages: number;
30
+ }
31
+ export interface ContextEditorValidationError {
32
+ path: string;
33
+ code: string;
34
+ message: string;
35
+ }
36
+ export interface ContextEditorWarning {
37
+ path?: string | undefined;
38
+ code: string;
39
+ severity: 'info' | 'warning' | 'danger';
40
+ message: string;
41
+ }
42
+ export interface ContextEditorConflict {
43
+ code: 'CONTEXT_REVISION_CONFLICT' | 'RUN_ACTIVE';
44
+ message: string;
45
+ }
46
+ export interface ContextEditorValidationResult {
47
+ ok: boolean;
48
+ baseRevision: string;
49
+ currentRevision: string;
50
+ before: ContextEditorMetrics;
51
+ after?: ContextEditorMetrics | undefined;
52
+ validationErrors: ContextEditorValidationError[];
53
+ warnings: ContextEditorWarning[];
54
+ repair: ContextEditorRepairPreview;
55
+ conflict?: ContextEditorConflict | undefined;
56
+ messages?: Message[] | undefined;
57
+ }
58
+ export interface ContextEditorAppliedResult {
59
+ previousRevision: string;
60
+ revision: string;
61
+ before: ContextEditorMetrics;
62
+ after: ContextEditorMetrics;
63
+ removed: {
64
+ messages: number;
65
+ blocks: number;
66
+ toolUses: string[];
67
+ toolResults: string[];
68
+ emptyMessages: number;
69
+ };
70
+ warnings: ContextEditorWarning[];
71
+ }
72
+ export interface ContextEditorSnapshot {
73
+ revision: string;
74
+ messages: ContextEditorMessage[];
75
+ readonlyContext: {
76
+ systemPromptTokens: number;
77
+ toolSchemaTokens: number;
78
+ toolCount: number;
79
+ totalTokens: number;
80
+ messageTokens: number;
81
+ };
82
+ messageBreakdown: Array<{
83
+ index: number;
84
+ role: Message['role'];
85
+ tokens: number;
86
+ preview: string;
87
+ blockCount: number | null;
88
+ warnings: ContextEditorWarning[];
89
+ }>;
90
+ diagnostics: ContextEditorDiagnostics;
91
+ }
92
+ export declare function contextEditorRevision(messages: readonly Message[]): string;
93
+ export declare function validateContextEditorMessages(value: unknown, currentMessageCount?: number): {
94
+ messages: Message[];
95
+ errors: ContextEditorValidationError[];
96
+ };
97
+ export declare function buildContextEditorSnapshot(ctx: Context, tools: ReturnType<ToolRegistry['list']> | undefined): ContextEditorSnapshot;
98
+ export declare function validateContextEditorProposal(input: {
99
+ ctx: Context;
100
+ tools?: ReturnType<ToolRegistry['list']> | undefined;
101
+ baseRevision: string;
102
+ messages: unknown;
103
+ allowRepair: boolean;
104
+ runActive?: boolean | undefined;
105
+ }): ContextEditorValidationResult;
106
+ export declare function applyContextEditorProposal(input: {
107
+ ctx: Context;
108
+ tools?: ReturnType<ToolRegistry['list']> | undefined;
109
+ baseRevision: string;
110
+ messages: unknown;
111
+ allowRepair: boolean;
112
+ runActive?: boolean | undefined;
113
+ }): Promise<ContextEditorValidationResult | ContextEditorAppliedResult>;
114
+ //# sourceMappingURL=context-editor.d.ts.map