@wrongstack/webui-server 0.298.3 → 0.300.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1375 -252
- package/dist/protocol/client-conversation.d.ts +1 -1
- package/dist/protocol/index.js +21 -1
- package/dist/protocol/projections.d.ts +8 -0
- package/dist/protocol/registry.d.ts +2 -2
- package/dist/protocol/server-conversation.d.ts +2 -2
- package/dist/server/context-editor.d.ts +9 -0
- package/dist/server/embedded-host-adapters.d.ts +1 -1
- package/dist/server/embedded-lifecycle.d.ts +23 -5
- package/dist/server/entry.js +1289 -229
- package/dist/server/fallback-choice.d.ts +19 -0
- package/dist/server/frontend-static-serve.d.ts +9 -0
- package/dist/server/http-server.d.ts +56 -0
- package/dist/server/instance-registry.d.ts +21 -0
- package/dist/server/intake-service.d.ts +13 -0
- package/dist/server/mcp-handlers.d.ts +3 -2
- package/dist/server/pref-helpers.d.ts +1 -1
- package/dist/server/provider-handlers.d.ts +2 -2
- package/dist/server/provider-routes.d.ts +3 -1
- package/dist/server/requirement-intake-handlers.d.ts +41 -0
- package/dist/server/server-runtime.d.ts +3 -0
- package/dist/server/session-history.d.ts +42 -1
- package/dist/server/session-routes.d.ts +1 -0
- package/dist/server/ws-auth.d.ts +18 -0
- package/dist/server/ws-payload-validation.d.ts +7 -0
- package/package.json +11 -10
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const CLIENT_CONVERSATION_MESSAGE_TYPES: readonly ['abort', 'ping', 'user_message', 'tool.confirm_result', 'completion.request', 'model.switch', 'model.refine', 'autonomy.switch', 'context.clear', 'context.compact', 'context.debug', 'context.editor.open', 'context.editor.validate', 'context.editor.apply', 'context.mode.create', 'context.mode.delete', 'context.mode.switch', 'context.mode.update', 'context.modes.list', 'context.repair', 'mode.switch', 'modes.list', 'session.checkpoints', 'session.delete', 'session.new', 'session.rename', 'session.resume', 'session.rewind', 'session.save', 'sessions.list', 'side_effects.list', 'stats.get', 'todo.update', 'todos.clear', 'todos.get', 'todos.remove'];
|
|
1
|
+
export declare const CLIENT_CONVERSATION_MESSAGE_TYPES: readonly ['abort', 'ping', 'user_message', 'tool.confirm_result', 'completion.request', 'model.switch', 'model.refine', 'model.fallback_choice', 'autonomy.switch', 'context.clear', 'context.compact', 'context.debug', 'context.editor.open', 'context.editor.validate', 'context.editor.apply', 'context.mode.create', 'context.mode.delete', 'context.mode.switch', 'context.mode.update', 'context.modes.list', 'context.repair', 'mode.switch', 'modes.list', 'session.checkpoints', 'session.delete', 'session.inspect', 'session.new', 'session.rename', 'session.resume', 'session.rewind', 'session.save', 'sessions.list', 'side_effects.list', 'stats.get', 'todo.update', 'todos.clear', 'todos.get', 'todos.remove'];
|
|
2
2
|
export declare const CLIENT_COLLABORATION_MESSAGE_TYPES: readonly ['collab.join', 'collab.leave', 'collab.annotate', 'collab.resolve', 'collab.request_pause', 'collab.resume', 'collab.grant_control', 'collab.inject_tool', 'mailbox.action', 'mailbox.agents', 'mailbox.clear', 'mailbox.compact', 'mailbox.messages', 'mailbox.purge', 'mailbox.send'];
|
|
3
3
|
//# sourceMappingURL=client-conversation.d.ts.map
|
package/dist/protocol/index.js
CHANGED
|
@@ -70,6 +70,7 @@ var CLIENT_CONVERSATION_MESSAGE_TYPES = [
|
|
|
70
70
|
"completion.request",
|
|
71
71
|
"model.switch",
|
|
72
72
|
"model.refine",
|
|
73
|
+
"model.fallback_choice",
|
|
73
74
|
"autonomy.switch",
|
|
74
75
|
"context.clear",
|
|
75
76
|
"context.compact",
|
|
@@ -87,6 +88,7 @@ var CLIENT_CONVERSATION_MESSAGE_TYPES = [
|
|
|
87
88
|
"modes.list",
|
|
88
89
|
"session.checkpoints",
|
|
89
90
|
"session.delete",
|
|
91
|
+
"session.inspect",
|
|
90
92
|
"session.new",
|
|
91
93
|
"session.rename",
|
|
92
94
|
"session.resume",
|
|
@@ -340,6 +342,7 @@ var SERVER_CONVERSATION_MESSAGE_TYPES = [
|
|
|
340
342
|
"provider.active_blocked",
|
|
341
343
|
"provider.error",
|
|
342
344
|
"provider.fallback",
|
|
345
|
+
"provider.fallback_pending",
|
|
343
346
|
"provider.response",
|
|
344
347
|
"provider.retry",
|
|
345
348
|
"provider.status_changed",
|
|
@@ -350,6 +353,7 @@ var SERVER_CONVERSATION_MESSAGE_TYPES = [
|
|
|
350
353
|
"session.checkpoints",
|
|
351
354
|
"session.damaged",
|
|
352
355
|
"session.end",
|
|
356
|
+
"session.inspect",
|
|
353
357
|
"session.rewound",
|
|
354
358
|
"session.start",
|
|
355
359
|
"session.stats",
|
|
@@ -380,6 +384,7 @@ var SERVER_COLLABORATION_MESSAGE_TYPES = [
|
|
|
380
384
|
"collab.state",
|
|
381
385
|
"mailbox.action_result",
|
|
382
386
|
"mailbox.agent_registered",
|
|
387
|
+
"mailbox.agent_deregistered",
|
|
383
388
|
"mailbox.agents",
|
|
384
389
|
"mailbox.cleared",
|
|
385
390
|
"mailbox.compacted",
|
|
@@ -759,6 +764,13 @@ function projectToolMessage(message) {
|
|
|
759
764
|
}
|
|
760
765
|
return null;
|
|
761
766
|
}
|
|
767
|
+
function optionalFinite(value) {
|
|
768
|
+
if (typeof value !== "number" || !Number.isFinite(value)) return void 0;
|
|
769
|
+
return value;
|
|
770
|
+
}
|
|
771
|
+
function optionalString(value) {
|
|
772
|
+
return typeof value === "string" && value.length > 0 ? value : void 0;
|
|
773
|
+
}
|
|
762
774
|
function projectFleetMessage(message) {
|
|
763
775
|
const payload = record(message.payload);
|
|
764
776
|
if (!payload) return null;
|
|
@@ -767,7 +779,15 @@ function projectFleetMessage(message) {
|
|
|
767
779
|
return {
|
|
768
780
|
kind: "concurrency",
|
|
769
781
|
active: finite(payload["fleetConcurrency"]),
|
|
770
|
-
maximum: finite(payload["fleetConcurrencyMax"])
|
|
782
|
+
maximum: finite(payload["fleetConcurrencyMax"]),
|
|
783
|
+
maxSpawns: optionalFinite(payload["maxSpawns"]),
|
|
784
|
+
usedSpawns: optionalFinite(payload["usedSpawns"]),
|
|
785
|
+
remainingSpawns: optionalFinite(payload["remainingSpawns"]),
|
|
786
|
+
maxSpawnsSource: optionalString(payload["maxSpawnsSource"]),
|
|
787
|
+
maxConcurrentSource: optionalString(payload["maxConcurrentSource"]),
|
|
788
|
+
effectiveSource: optionalString(payload["effectiveSource"]),
|
|
789
|
+
checkpointMaxSpawns: optionalFinite(payload["checkpointMaxSpawns"]),
|
|
790
|
+
ceilingMismatch: payload["ceilingMismatch"] === true ? true : void 0
|
|
771
791
|
};
|
|
772
792
|
case "client.status_update":
|
|
773
793
|
return { kind: "client-status", status: payload };
|
|
@@ -70,6 +70,14 @@ export type FleetProjection = {
|
|
|
70
70
|
kind: 'concurrency';
|
|
71
71
|
active: number;
|
|
72
72
|
maximum: number;
|
|
73
|
+
maxSpawns?: number | undefined;
|
|
74
|
+
usedSpawns?: number | undefined;
|
|
75
|
+
remainingSpawns?: number | undefined;
|
|
76
|
+
maxSpawnsSource?: string | undefined;
|
|
77
|
+
maxConcurrentSource?: string | undefined;
|
|
78
|
+
effectiveSource?: string | undefined;
|
|
79
|
+
checkpointMaxSpawns?: number | undefined;
|
|
80
|
+
ceilingMismatch?: boolean | undefined;
|
|
73
81
|
} | {
|
|
74
82
|
kind: 'client-status';
|
|
75
83
|
status: Record<string, unknown>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare const CLIENT_MESSAGE_TYPES: readonly ["abort", "ping", "user_message", "tool.confirm_result", "completion.request", "model.switch", "model.refine", "autonomy.switch", "context.clear", "context.compact", "context.debug", "context.editor.open", "context.editor.validate", "context.editor.apply", "context.mode.create", "context.mode.delete", "context.mode.switch", "context.mode.update", "context.modes.list", "context.repair", "mode.switch", "modes.list", "session.checkpoints", "session.delete", "session.new", "session.rename", "session.resume", "session.rewind", "session.save", "sessions.list", "side_effects.list", "stats.get", "todo.update", "todos.clear", "todos.get", "todos.remove", "collab.join", "collab.leave", "collab.annotate", "collab.resolve", "collab.request_pause", "collab.resume", "collab.grant_control", "collab.inject_tool", "mailbox.action", "mailbox.agents", "mailbox.clear", "mailbox.compact", "mailbox.messages", "mailbox.purge", "mailbox.send", "files.list", "files.read", "files.tree", "files.write", "git.changes", "git.diff", "git.info", "projects.add", "projects.list", "projects.select", "working_dir.set", "worktree.cleanup", "worktree.diff", "worktree.merge", "worktree.remove", "worktree.scan", "shell.open", "process.kill", "process.killAll", "process.list", "terminal.close", "terminal.create", "terminal.input", "terminal.resize", "codebase.index.server.shutdown", "connections.health", "connections.service_action", "diag.get", "key.add", "key.delete", "key.set_active", "key.update", "prefs.get", "prefs.update", "provider.add", "provider.clear_models", "provider.custom_models.remove", "provider.custom_models.set", "provider.models", "provider.models.search", "provider.probe", "provider.remove", "provider.status.clear", "provider.status.get", "provider.status.retry", "provider.undo_clear", "provider.update", "providers.list", "providers.saved", "tool.disable", "tool.enable", "tools.list", "webui.shutdown", "goal-state.get", "goal.addTask", "goal.assess", "goal.assignTask", "goal.clear", "goal.get", "goal.list", "goal.load", "goal.moveTask", "goal.pause", "goal.resume", "goal.retryTask", "goal.revert", "goal.runTask", "goal.save", "goal.selectPhase", "goal.start", "goal.state", "goal.status", "goal.stop", "goal.taskStatus", "goal.toggleAutonomous", "plan.get", "plan.item.update", "plan.template_use", "task.update", "tasks.get", "sdd.board.cancel_task", "sdd.board.cleanup_worktrees", "sdd.board.delete_task", "sdd.board.destroy", "sdd.board.get", "sdd.board.list", "sdd.board.pause", "sdd.board.reassign", "sdd.board.resume", "sdd.board.retry", "sdd.board.retry_all_failed", "sdd.board.rollback", "sdd.board.set_task_fallbacks", "sdd.board.set_task_model", "sdd.board.set_task_verification", "sdd.board.split_task", "sdd.board.stop", "sdd.run.from_graph", "sdd.run.from_spec", "sdd.run.start", "sdd.spec.approve", "sdd.spec.discard", "sdd.spec.get", "sdd.spec.message", "sdd.spec.start", "specs.get", "specs.list", "specs.taskStatus", "brain.ask", "brain.config.get", "brain.config.set", "brain.risk", "brain.status", "chronicle.facet", "chronicle.facets", "chronicle.graph", "chronicle.metrics", "chronicle.query", "chronicle.status", "config.doctor", "design.list", "design.materialize", "design.set", "design.state", "design.swap", "design.tune", "design.use", "design.verify", "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", "auth.oauth.cancel", "auth.oauth.code", "auth.oauth.start", "mcp.add", "mcp.disable", "mcp.discover", "mcp.enable", "mcp.list", "mcp.prompt.get", "mcp.prompts", "mcp.remove", "mcp.resource.read", "mcp.resources", "mcp.restart", "mcp.sleep", "mcp.update", "mcp.wake", "prompts.content", "prompts.create", "prompts.favorite", "prompts.list", "prompts.recent", "prompts.search", "prompts.used", "skills.content", "skills.create", "skills.edit", "skills.export", "skills.install", "skills.list", "skills.uninstall", "skills.update"];
|
|
2
|
-
export declare const SERVER_MESSAGE_TYPES: readonly ["error", "log", "pong", "side_effects", "agent.status_changed", "agent.timeline.message", "client.status_update", "chimera.report_available", "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", "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.action_result", "mailbox.agent_registered", "mailbox.agents", "mailbox.cleared", "mailbox.compacted", "mailbox.event", "mailbox.messages", "mailbox.sent", "mailbox.purged", "mailbox.received", "subagent.budget_extended", "subagent.event", "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", "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", "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", "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", "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", "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", "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"];
|
|
1
|
+
export declare const CLIENT_MESSAGE_TYPES: readonly ["abort", "ping", "user_message", "tool.confirm_result", "completion.request", "model.switch", "model.refine", "model.fallback_choice", "autonomy.switch", "context.clear", "context.compact", "context.debug", "context.editor.open", "context.editor.validate", "context.editor.apply", "context.mode.create", "context.mode.delete", "context.mode.switch", "context.mode.update", "context.modes.list", "context.repair", "mode.switch", "modes.list", "session.checkpoints", "session.delete", "session.inspect", "session.new", "session.rename", "session.resume", "session.rewind", "session.save", "sessions.list", "side_effects.list", "stats.get", "todo.update", "todos.clear", "todos.get", "todos.remove", "collab.join", "collab.leave", "collab.annotate", "collab.resolve", "collab.request_pause", "collab.resume", "collab.grant_control", "collab.inject_tool", "mailbox.action", "mailbox.agents", "mailbox.clear", "mailbox.compact", "mailbox.messages", "mailbox.purge", "mailbox.send", "files.list", "files.read", "files.tree", "files.write", "git.changes", "git.diff", "git.info", "projects.add", "projects.list", "projects.select", "working_dir.set", "worktree.cleanup", "worktree.diff", "worktree.merge", "worktree.remove", "worktree.scan", "shell.open", "process.kill", "process.killAll", "process.list", "terminal.close", "terminal.create", "terminal.input", "terminal.resize", "codebase.index.server.shutdown", "connections.health", "connections.service_action", "diag.get", "key.add", "key.delete", "key.set_active", "key.update", "prefs.get", "prefs.update", "provider.add", "provider.clear_models", "provider.custom_models.remove", "provider.custom_models.set", "provider.models", "provider.models.search", "provider.probe", "provider.remove", "provider.status.clear", "provider.status.get", "provider.status.retry", "provider.undo_clear", "provider.update", "providers.list", "providers.saved", "tool.disable", "tool.enable", "tools.list", "webui.shutdown", "goal-state.get", "goal.addTask", "goal.assess", "goal.assignTask", "goal.clear", "goal.get", "goal.list", "goal.load", "goal.moveTask", "goal.pause", "goal.resume", "goal.retryTask", "goal.revert", "goal.runTask", "goal.save", "goal.selectPhase", "goal.start", "goal.state", "goal.status", "goal.stop", "goal.taskStatus", "goal.toggleAutonomous", "plan.get", "plan.item.update", "plan.template_use", "task.update", "tasks.get", "sdd.board.cancel_task", "sdd.board.cleanup_worktrees", "sdd.board.delete_task", "sdd.board.destroy", "sdd.board.get", "sdd.board.list", "sdd.board.pause", "sdd.board.reassign", "sdd.board.resume", "sdd.board.retry", "sdd.board.retry_all_failed", "sdd.board.rollback", "sdd.board.set_task_fallbacks", "sdd.board.set_task_model", "sdd.board.set_task_verification", "sdd.board.split_task", "sdd.board.stop", "sdd.run.from_graph", "sdd.run.from_spec", "sdd.run.start", "sdd.spec.approve", "sdd.spec.discard", "sdd.spec.get", "sdd.spec.message", "sdd.spec.start", "specs.get", "specs.list", "specs.taskStatus", "brain.ask", "brain.config.get", "brain.config.set", "brain.risk", "brain.status", "chronicle.facet", "chronicle.facets", "chronicle.graph", "chronicle.metrics", "chronicle.query", "chronicle.status", "config.doctor", "design.list", "design.materialize", "design.set", "design.state", "design.swap", "design.tune", "design.use", "design.verify", "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", "auth.oauth.cancel", "auth.oauth.code", "auth.oauth.start", "mcp.add", "mcp.disable", "mcp.discover", "mcp.enable", "mcp.list", "mcp.prompt.get", "mcp.prompts", "mcp.remove", "mcp.resource.read", "mcp.resources", "mcp.restart", "mcp.sleep", "mcp.update", "mcp.wake", "prompts.content", "prompts.create", "prompts.favorite", "prompts.list", "prompts.recent", "prompts.search", "prompts.used", "skills.content", "skills.create", "skills.edit", "skills.export", "skills.install", "skills.list", "skills.uninstall", "skills.update"];
|
|
2
|
+
export declare const SERVER_MESSAGE_TYPES: readonly ["error", "log", "pong", "side_effects", "agent.status_changed", "agent.timeline.message", "client.status_update", "chimera.report_available", "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.fallback_pending", "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.inspect", "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", "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.action_result", "mailbox.agent_registered", "mailbox.agent_deregistered", "mailbox.agents", "mailbox.cleared", "mailbox.compacted", "mailbox.event", "mailbox.messages", "mailbox.sent", "mailbox.purged", "mailbox.received", "subagent.budget_extended", "subagent.event", "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", "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", "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", "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", "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", "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", "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
|
export type ExactClientMessageType = (typeof CLIENT_MESSAGE_TYPES)[number];
|
|
4
4
|
export type ExactServerMessageType = (typeof SERVER_MESSAGE_TYPES)[number];
|
|
5
5
|
export declare function isRegisteredMessageType(type: string, direction: 'client' | 'server'): boolean;
|
|
@@ -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', 'chimera.report_available', '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
|
-
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.action_result', 'mailbox.agent_registered', 'mailbox.agents', 'mailbox.cleared', 'mailbox.compacted', 'mailbox.event', 'mailbox.messages', 'mailbox.sent', 'mailbox.purged', 'mailbox.received', 'subagent.budget_extended', 'subagent.event'];
|
|
1
|
+
export declare const SERVER_CONVERSATION_MESSAGE_TYPES: readonly ['error', 'log', 'pong', 'side_effects', 'agent.status_changed', 'agent.timeline.message', 'client.status_update', 'chimera.report_available', '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.fallback_pending', '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.inspect', '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
|
+
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.action_result', 'mailbox.agent_registered', 'mailbox.agent_deregistered', '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
|
|
@@ -7,6 +7,12 @@ export interface ContextEditorMessage {
|
|
|
7
7
|
content: string | ContextEditorBlock[];
|
|
8
8
|
ts?: string | undefined;
|
|
9
9
|
}
|
|
10
|
+
export interface ContextEditorRemoval {
|
|
11
|
+
messageIndex: number;
|
|
12
|
+
blockIndex?: number | undefined;
|
|
13
|
+
start?: number | undefined;
|
|
14
|
+
end?: number | undefined;
|
|
15
|
+
}
|
|
10
16
|
export interface ContextEditorMetrics {
|
|
11
17
|
messages: number;
|
|
12
18
|
blocks: number;
|
|
@@ -85,6 +91,7 @@ export interface ContextEditorSnapshot {
|
|
|
85
91
|
preview: string;
|
|
86
92
|
blockCount: number | null;
|
|
87
93
|
warnings: ContextEditorWarning[];
|
|
94
|
+
pairedAssistantIndices: number[];
|
|
88
95
|
}>;
|
|
89
96
|
diagnostics: ContextEditorDiagnostics;
|
|
90
97
|
}
|
|
@@ -99,6 +106,7 @@ export declare function validateContextEditorProposal(input: {
|
|
|
99
106
|
tools?: ReturnType<ToolRegistry['list']> | undefined;
|
|
100
107
|
baseRevision: string;
|
|
101
108
|
messages: unknown;
|
|
109
|
+
removals: unknown;
|
|
102
110
|
allowRepair: boolean;
|
|
103
111
|
runActive?: boolean | undefined;
|
|
104
112
|
}): ContextEditorValidationResult;
|
|
@@ -107,6 +115,7 @@ export declare function applyContextEditorProposal(input: {
|
|
|
107
115
|
tools?: ReturnType<ToolRegistry['list']> | undefined;
|
|
108
116
|
baseRevision: string;
|
|
109
117
|
messages: unknown;
|
|
118
|
+
removals: unknown;
|
|
110
119
|
allowRepair: boolean;
|
|
111
120
|
runActive?: boolean | undefined;
|
|
112
121
|
}): Promise<ContextEditorValidationResult | ContextEditorAppliedResult>;
|
|
@@ -51,7 +51,7 @@ export declare function createEmbeddedProviderOperations(ctx: EmbeddedProviderCo
|
|
|
51
51
|
apiKey?: string | undefined;
|
|
52
52
|
models?: string[] | undefined;
|
|
53
53
|
customModels?: ProviderConfig['customModels'] | undefined;
|
|
54
|
-
}) => Promise<
|
|
54
|
+
}) => Promise<boolean>;
|
|
55
55
|
handleProviderRemove: (ws: WebSocket, providerId: string) => Promise<void>;
|
|
56
56
|
handleProviderClearModels: (ws: WebSocket, providerId: string) => Promise<void>;
|
|
57
57
|
handleCustomModelSet: (ws: WebSocket, providerId: string, modelId: string, definition: NonNullable<ProviderConfig['customModels']>[string]) => Promise<void>;
|
|
@@ -33,6 +33,11 @@ export interface RegisterWebuiInstanceParams {
|
|
|
33
33
|
startedAt: string;
|
|
34
34
|
/** Registry base dir (dirname of globalConfigPath); undefined ⇒ registry default. */
|
|
35
35
|
registryBaseDir: string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* This instance's API access token, recorded so a same-project TUI/REPL can
|
|
38
|
+
* authenticate `POST /api/fleet/ping` (H3). See `WebUIInstanceRecord`.
|
|
39
|
+
*/
|
|
40
|
+
authToken?: string | undefined;
|
|
36
41
|
}
|
|
37
42
|
export interface RegisterWebuiInstanceDeps {
|
|
38
43
|
registerFn?: (record: WebUIInstanceRecord, baseDir?: string) => Promise<void>;
|
|
@@ -73,7 +78,19 @@ export interface WebuiShutdownResources {
|
|
|
73
78
|
/** Run and drop every event-bus unsubscriber. */
|
|
74
79
|
unsubscribeEvents: () => void;
|
|
75
80
|
/** Dispose long-lived handlers, timers, watchers, and project services owned by the host. */
|
|
76
|
-
disposeResources?: (() => void) | undefined;
|
|
81
|
+
disposeResources?: (() => void | Promise<void>) | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* Stop session-owned child processes (MCP, bash/exec tools, mailbox helpers,
|
|
84
|
+
* dev servers). Runs **before** the HTTP/WS close so children cannot keep
|
|
85
|
+
* stdio handles open and strand the parent event loop (issue #322).
|
|
86
|
+
* Bounded by {@link childCleanupTimeoutMs}; failures are best-effort.
|
|
87
|
+
*/
|
|
88
|
+
stopOwnedChildren?: (() => void | Promise<void>) | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Upper bound for {@link stopOwnedChildren} + async dispose before servers
|
|
91
|
+
* close. Default 10_000 ms.
|
|
92
|
+
*/
|
|
93
|
+
childCleanupTimeoutMs?: number | undefined;
|
|
77
94
|
/** Close every connected socket and clear the client map. */
|
|
78
95
|
closeClients: () => void;
|
|
79
96
|
/** Close the static HTTP server (no-op when WS-only). */
|
|
@@ -99,10 +116,11 @@ export interface WebuiShutdownResources {
|
|
|
99
116
|
* second Ctrl+C, or a signal after another server in the same process
|
|
100
117
|
* already stopped) return immediately.
|
|
101
118
|
*
|
|
102
|
-
* Order
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
119
|
+
* Order (issue #322): abort runs → unsubscribe events → stop owned children
|
|
120
|
+
* (bounded) → dispose resources (bounded) → close clients → close HTTP/WS →
|
|
121
|
+
* unregister from the instance registry → onStopped once unregister settles.
|
|
122
|
+
* Registry removal is deferred until after child cleanup so operators do not
|
|
123
|
+
* see a "stopped" registry entry while the process tree is still alive.
|
|
106
124
|
*/
|
|
107
125
|
export declare function createWebuiShutdown(res: WebuiShutdownResources): () => void;
|
|
108
126
|
/**
|