@pellux/goodvibes-tui 0.18.11 → 0.18.13
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/CHANGELOG.md +72 -0
- package/README.md +1 -1
- package/docs/foundation-artifacts/operator-contract.json +1 -1
- package/package.json +2 -2
- package/src/config/index.ts +1 -138
- package/src/config/subscription-providers.ts +1 -127
- package/src/core/conversation-rendering.ts +5 -5
- package/src/core/conversation.ts +177 -424
- package/src/core/history.ts +45 -0
- package/src/core/orchestrator.ts +3 -733
- package/src/core/system-message-router.ts +19 -58
- package/src/input/command-registry.ts +3 -3
- package/src/input/commands/session-content.ts +2 -2
- package/src/input/commands/session-workflow.ts +1 -1
- package/src/input/handler-content-actions.ts +2 -2
- package/src/input/handler-feed.ts +2 -2
- package/src/input/handler-modal-token-routes.ts +1 -1
- package/src/input/handler-ui-state.ts +1 -1
- package/src/input/handler.ts +1 -1
- package/src/input/search.ts +1 -1
- package/src/input/selection.ts +2 -2
- package/src/input/session-picker-modal.ts +1 -1
- package/src/main.ts +1 -1
- package/src/panels/agent-inspector-panel.ts +3 -3
- package/src/panels/agent-logs-panel.ts +3 -3
- package/src/panels/approval-panel.ts +2 -2
- package/src/panels/automation-control-panel.ts +3 -3
- package/src/panels/base-panel.ts +14 -14
- package/src/panels/builtin/agent.ts +1 -0
- package/src/panels/builtin/operations.ts +2 -1
- package/src/panels/builtin/session.ts +2 -2
- package/src/panels/builtin/shared.ts +5 -5
- package/src/panels/cockpit-panel.ts +2 -2
- package/src/panels/communication-panel.ts +3 -3
- package/src/panels/context-visualizer-panel.ts +6 -3
- package/src/panels/control-plane-panel.ts +3 -3
- package/src/panels/cost-tracker-panel.ts +3 -3
- package/src/panels/debug-panel.ts +2 -2
- package/src/panels/diff-panel.ts +2 -2
- package/src/panels/docs-panel.ts +1 -1
- package/src/panels/eval-panel.ts +2 -2
- package/src/panels/file-explorer-panel.ts +3 -3
- package/src/panels/file-preview-panel.ts +3 -3
- package/src/panels/forensics-panel.ts +2 -2
- package/src/panels/git-panel.ts +1 -1
- package/src/panels/hooks-panel.ts +3 -3
- package/src/panels/incident-review-panel.ts +1 -1
- package/src/panels/intelligence-panel.ts +2 -2
- package/src/panels/knowledge-panel.ts +1 -1
- package/src/panels/local-auth-panel.ts +2 -2
- package/src/panels/marketplace-panel.ts +1 -1
- package/src/panels/mcp-panel.ts +3 -3
- package/src/panels/memory-panel.ts +1 -1
- package/src/panels/ops-control-panel.ts +3 -3
- package/src/panels/ops-strategy-panel.ts +2 -2
- package/src/panels/orchestration-panel.ts +2 -2
- package/src/panels/panel-list-panel.ts +6 -6
- package/src/panels/plan-dashboard-panel.ts +1 -1
- package/src/panels/plugins-panel.ts +2 -2
- package/src/panels/policy-panel.ts +2 -2
- package/src/panels/polish.ts +3 -3
- package/src/panels/provider-accounts-panel.ts +2 -2
- package/src/panels/provider-health-domains.ts +5 -1
- package/src/panels/provider-health-panel.ts +7 -3
- package/src/panels/provider-stats-panel.ts +3 -3
- package/src/panels/remote-panel.ts +3 -3
- package/src/panels/routes-panel.ts +3 -3
- package/src/panels/sandbox-panel.ts +2 -2
- package/src/panels/schedule-panel.ts +1 -1
- package/src/panels/security-panel.ts +2 -2
- package/src/panels/services-panel.ts +2 -2
- package/src/panels/session-browser-panel.ts +3 -3
- package/src/panels/settings-sync-panel.ts +2 -2
- package/src/panels/skills-panel.ts +6 -6
- package/src/panels/subscription-panel.ts +2 -2
- package/src/panels/symbol-outline-panel.ts +3 -3
- package/src/panels/system-messages-panel.ts +4 -4
- package/src/panels/tasks-panel.ts +2 -2
- package/src/panels/thinking-panel.ts +3 -3
- package/src/panels/token-budget-panel.ts +7 -3
- package/src/panels/tool-inspector-panel.ts +3 -3
- package/src/panels/types.ts +5 -5
- package/src/panels/watchers-panel.ts +3 -3
- package/src/panels/welcome-panel.ts +1 -1
- package/src/panels/worktree-panel.ts +2 -2
- package/src/panels/wrfc-panel.ts +3 -3
- package/src/permissions/prompt.ts +3 -22
- package/src/plugins/loader.ts +15 -304
- package/src/renderer/agent-detail-modal.ts +1 -1
- package/src/renderer/autocomplete-overlay.ts +2 -2
- package/src/renderer/bookmark-modal.ts +1 -1
- package/src/renderer/bottom-bar.ts +2 -2
- package/src/renderer/buffer.ts +1 -1
- package/src/renderer/code-block.ts +2 -2
- package/src/renderer/compositor.ts +2 -2
- package/src/renderer/context-inspector.ts +1 -1
- package/src/renderer/conversation-layout.ts +2 -2
- package/src/renderer/conversation-overlays.ts +1 -1
- package/src/renderer/conversation-surface.ts +2 -2
- package/src/renderer/diff-view.ts +2 -2
- package/src/renderer/diff.ts +1 -1
- package/src/renderer/file-picker-overlay.ts +2 -2
- package/src/renderer/file-tree.ts +2 -2
- package/src/renderer/help-overlay.ts +1 -1
- package/src/renderer/history-search-overlay.ts +2 -2
- package/src/renderer/live-tail-modal.ts +1 -1
- package/src/renderer/markdown.ts +2 -2
- package/src/renderer/modal-factory.ts +3 -3
- package/src/renderer/model-picker-overlay.ts +2 -2
- package/src/renderer/overlay-box.ts +2 -2
- package/src/renderer/panel-composite.ts +1 -1
- package/src/renderer/panel-picker-overlay.ts +2 -2
- package/src/renderer/panel-tab-bar.ts +1 -1
- package/src/renderer/panel-workspace-bar.ts +1 -1
- package/src/renderer/process-indicator.ts +2 -2
- package/src/renderer/process-modal.ts +1 -1
- package/src/renderer/profile-picker-modal.ts +2 -2
- package/src/renderer/progress.ts +2 -2
- package/src/renderer/search-overlay.ts +2 -2
- package/src/renderer/selection-modal-overlay.ts +2 -2
- package/src/renderer/session-picker-modal.ts +2 -2
- package/src/renderer/settings-modal.ts +2 -2
- package/src/renderer/shell-surface.ts +1 -1
- package/src/renderer/system-message.ts +1 -1
- package/src/renderer/tab-strip.ts +2 -2
- package/src/renderer/text-layout.ts +1 -1
- package/src/renderer/thinking.ts +1 -1
- package/src/renderer/tool-call.ts +2 -2
- package/src/renderer/ui-factory.ts +2 -2
- package/src/runtime/bootstrap-command-context.ts +7 -8
- package/src/runtime/bootstrap-command-parts.ts +4 -6
- package/src/runtime/bootstrap-core.ts +5 -4
- package/src/runtime/bootstrap-hook-bridge.ts +16 -175
- package/src/runtime/bootstrap-shell.ts +5 -5
- package/src/runtime/bootstrap.ts +6 -5
- package/src/runtime/context.ts +4 -20
- package/src/runtime/diagnostics/panels/index.ts +1 -1
- package/src/runtime/diagnostics/panels/ops.ts +1 -1
- package/src/runtime/diagnostics/panels/panel-resources.ts +118 -0
- package/src/runtime/perf/panel-contracts.ts +32 -0
- package/src/runtime/perf/panel-health-monitor.ts +18 -0
- package/src/runtime/services.ts +6 -6
- package/src/runtime/store/domains/conversation.ts +1 -181
- package/src/runtime/store/domains/permissions.ts +1 -143
- package/src/runtime/store/helpers/reducers/conversation.ts +1 -228
- package/src/runtime/store/helpers/reducers/lifecycle.ts +1 -440
- package/src/runtime/store/selectors/index.ts +11 -6
- package/src/runtime/store/state.ts +12 -4
- package/src/runtime/ui-read-models-observability-security.ts +2 -2
- package/src/runtime/ui-read-models-observability-system.ts +1 -1
- package/src/runtime/ui-service-queries.ts +1 -1
- package/src/runtime/ui-services.ts +1 -1
- package/src/shell/ui-openers.ts +1 -1
- package/src/tools/index.ts +1 -186
- package/src/types/grid.ts +48 -0
- package/src/utils/clipboard.ts +21 -0
- package/src/utils/splash-lines.ts +1 -1
- package/src/utils/terminal-width.ts +185 -0
- package/src/version.ts +1 -1
- package/src/acp/connection.ts +0 -447
- package/src/acp/index.ts +0 -7
- package/src/acp/manager.ts +0 -1
- package/src/adapters/bluebubbles/index.ts +0 -127
- package/src/adapters/discord/index.ts +0 -297
- package/src/adapters/github/index.ts +0 -73
- package/src/adapters/google-chat/index.ts +0 -119
- package/src/adapters/imessage/index.ts +0 -92
- package/src/adapters/index.ts +0 -15
- package/src/adapters/matrix/index.ts +0 -116
- package/src/adapters/mattermost/index.ts +0 -151
- package/src/adapters/msteams/index.ts +0 -180
- package/src/adapters/ntfy/index.ts +0 -118
- package/src/adapters/signal/index.ts +0 -92
- package/src/adapters/slack/index.ts +0 -323
- package/src/adapters/telegram/index.ts +0 -160
- package/src/adapters/types.ts +0 -97
- package/src/adapters/webhook/index.ts +0 -178
- package/src/adapters/whatsapp/index.ts +0 -135
- package/src/agents/message-bus-core.ts +0 -312
- package/src/agents/message-bus.ts +0 -2
- package/src/agents/orchestrator-prompts.ts +0 -351
- package/src/agents/orchestrator-runner.ts +0 -668
- package/src/agents/orchestrator.ts +0 -438
- package/src/agents/session.ts +0 -108
- package/src/agents/worktree.ts +0 -153
- package/src/agents/wrfc-config.ts +0 -47
- package/src/agents/wrfc-controller.ts +0 -747
- package/src/agents/wrfc-gate-runtime.ts +0 -75
- package/src/agents/wrfc-reporting.ts +0 -284
- package/src/agents/wrfc-runtime-events.ts +0 -150
- package/src/agents/wrfc-types.ts +0 -67
- package/src/automation/delivery-manager.ts +0 -368
- package/src/automation/index.ts +0 -72
- package/src/automation/manager-runtime-delivery.ts +0 -139
- package/src/automation/manager-runtime-events.ts +0 -131
- package/src/automation/manager-runtime-execution.ts +0 -511
- package/src/automation/manager-runtime-helpers.ts +0 -433
- package/src/automation/manager-runtime-job-mutations.ts +0 -175
- package/src/automation/manager-runtime-reconcile.ts +0 -148
- package/src/automation/manager-runtime-scheduling.ts +0 -189
- package/src/automation/manager-runtime-sync.ts +0 -54
- package/src/automation/manager-runtime.ts +0 -721
- package/src/automation/manager.ts +0 -10
- package/src/automation/service.ts +0 -242
- package/src/channels/builtin/account-actions.ts +0 -490
- package/src/channels/builtin/accounts.ts +0 -433
- package/src/channels/builtin/contracts.ts +0 -405
- package/src/channels/builtin/plugins.ts +0 -308
- package/src/channels/builtin/rendering.ts +0 -174
- package/src/channels/builtin/setup-schema.ts +0 -504
- package/src/channels/builtin/shared.ts +0 -96
- package/src/channels/builtin/surfaces.ts +0 -57
- package/src/channels/builtin/targets.ts +0 -693
- package/src/channels/builtin-runtime.ts +0 -443
- package/src/channels/delivery/shared.ts +0 -199
- package/src/channels/delivery/strategies-bridge.ts +0 -246
- package/src/channels/delivery/strategies-core.ts +0 -299
- package/src/channels/delivery/strategies-enterprise.ts +0 -178
- package/src/channels/delivery/types.ts +0 -59
- package/src/channels/delivery-router.ts +0 -127
- package/src/channels/index.ts +0 -77
- package/src/channels/plugin-registry.ts +0 -551
- package/src/channels/provider-runtime.ts +0 -330
- package/src/channels/reply-pipeline.ts +0 -522
- package/src/channels/route-manager.ts +0 -340
- package/src/channels/surface-registry.ts +0 -186
- package/src/config/helper-model.ts +0 -1
- package/src/config/manager.ts +0 -8
- package/src/config/subscription-auth.ts +0 -31
- package/src/config/tool-llm.ts +0 -110
- package/src/control-plane/approval-broker.ts +0 -351
- package/src/control-plane/gateway.ts +0 -1
- package/src/control-plane/index.ts +0 -54
- package/src/control-plane/media-contract-schemas.ts +0 -1
- package/src/control-plane/method-catalog-admin.ts +0 -1
- package/src/control-plane/method-catalog-channels.ts +0 -1
- package/src/control-plane/method-catalog-control-automation.ts +0 -1
- package/src/control-plane/method-catalog-control-core.ts +0 -1
- package/src/control-plane/method-catalog-control.ts +0 -1
- package/src/control-plane/method-catalog-events.ts +0 -1
- package/src/control-plane/method-catalog-knowledge.ts +0 -1
- package/src/control-plane/method-catalog-media.ts +0 -1
- package/src/control-plane/method-catalog-runtime.ts +0 -1
- package/src/control-plane/method-catalog-shared.ts +0 -1
- package/src/control-plane/method-catalog.ts +0 -1
- package/src/control-plane/operator-contract-schemas-admin.ts +0 -1
- package/src/control-plane/operator-contract-schemas-channels.ts +0 -1
- package/src/control-plane/operator-contract-schemas-control.ts +0 -1
- package/src/control-plane/operator-contract-schemas-domains.ts +0 -1
- package/src/control-plane/operator-contract-schemas-knowledge.ts +0 -1
- package/src/control-plane/operator-contract-schemas-media.ts +0 -1
- package/src/control-plane/operator-contract-schemas-permissions.ts +0 -1
- package/src/control-plane/operator-contract-schemas-remote.ts +0 -1
- package/src/control-plane/operator-contract-schemas-runtime.ts +0 -1
- package/src/control-plane/operator-contract-schemas-shared.ts +0 -1
- package/src/control-plane/operator-contract-schemas-telemetry.ts +0 -1
- package/src/control-plane/operator-contract-schemas.ts +0 -1
- package/src/control-plane/operator-contract.ts +0 -165
- package/src/control-plane/session-broker.ts +0 -780
- package/src/core/compaction-sections.ts +0 -492
- package/src/core/compaction-types.ts +0 -147
- package/src/core/context-compaction.ts +0 -542
- package/src/core/conversation-compaction.ts +0 -68
- package/src/core/conversation-diff.ts +0 -55
- package/src/core/conversation-utils.ts +0 -72
- package/src/core/event-replay.ts +0 -287
- package/src/core/orchestrator-context-runtime.ts +0 -407
- package/src/core/orchestrator-follow-up-runtime.ts +0 -134
- package/src/core/orchestrator-runtime.ts +0 -132
- package/src/core/orchestrator-tool-runtime.ts +0 -468
- package/src/core/orchestrator-turn-helpers.ts +0 -355
- package/src/core/orchestrator-turn-loop.ts +0 -443
- package/src/core/plan-command-handler.ts +0 -169
- package/src/core/transcript-events/classify.ts +0 -95
- package/src/core/transcript-events/index.ts +0 -15
- package/src/daemon/control-plane.ts +0 -522
- package/src/daemon/facade-composition.ts +0 -398
- package/src/daemon/facade.ts +0 -638
- package/src/daemon/helpers.ts +0 -74
- package/src/daemon/http/router-route-contexts.ts +0 -370
- package/src/daemon/http/router.ts +0 -531
- package/src/daemon/http-listener.ts +0 -301
- package/src/daemon/index.ts +0 -1
- package/src/daemon/server.ts +0 -1
- package/src/daemon/service-manager.ts +0 -413
- package/src/daemon/surface-actions.ts +0 -183
- package/src/daemon/surface-delivery.ts +0 -530
- package/src/daemon/surface-policy.ts +0 -60
- package/src/daemon/transport-events.ts +0 -110
- package/src/daemon/types.ts +0 -191
- package/src/export/markdown.ts +0 -213
- package/src/export/session-export.ts +0 -1
- package/src/git/index.ts +0 -1
- package/src/git/service.ts +0 -414
- package/src/hooks/chain-engine.ts +0 -414
- package/src/hooks/dispatcher.ts +0 -414
- package/src/hooks/hook-api.ts +0 -170
- package/src/hooks/index.ts +0 -48
- package/src/hooks/runners/agent.ts +0 -93
- package/src/hooks/runners/prompt.ts +0 -69
- package/src/hooks/workbench.ts +0 -360
- package/src/integrations/index.ts +0 -42
- package/src/integrations/notifier.ts +0 -206
- package/src/integrations/webhooks.ts +0 -1
- package/src/knowledge/consolidation.ts +0 -346
- package/src/knowledge/graphql.ts +0 -324
- package/src/knowledge/index.ts +0 -60
- package/src/knowledge/ingest-compile.ts +0 -386
- package/src/knowledge/ingest-context.ts +0 -18
- package/src/knowledge/ingest-inputs.ts +0 -387
- package/src/knowledge/ingest.ts +0 -1
- package/src/knowledge/internal.ts +0 -257
- package/src/knowledge/knowledge-api.ts +0 -432
- package/src/knowledge/lint.ts +0 -121
- package/src/knowledge/memory-sync.ts +0 -62
- package/src/knowledge/packet.ts +0 -370
- package/src/knowledge/scheduling.ts +0 -283
- package/src/knowledge/service.ts +0 -715
- package/src/mcp/client.ts +0 -383
- package/src/mcp/index.ts +0 -12
- package/src/mcp/mcp-api.ts +0 -90
- package/src/mcp/registry.ts +0 -1
- package/src/media/builtin-image-understanding.ts +0 -303
- package/src/media/builtin-providers.ts +0 -26
- package/src/media/index.ts +0 -18
- package/src/multimodal/index.ts +0 -13
- package/src/multimodal/service.ts +0 -492
- package/src/permissions/briefs/build.ts +0 -88
- package/src/permissions/manager.ts +0 -1
- package/src/plugins/api.ts +0 -383
- package/src/plugins/manager.ts +0 -481
- package/src/profiles/shape.ts +0 -58
- package/src/providers/amazon-bedrock-mantle.ts +0 -50
- package/src/providers/amazon-bedrock.ts +0 -61
- package/src/providers/anthropic-compat.ts +0 -373
- package/src/providers/anthropic-sdk-provider.ts +0 -230
- package/src/providers/anthropic-vertex.ts +0 -59
- package/src/providers/anthropic.ts +0 -469
- package/src/providers/auto-register.ts +0 -417
- package/src/providers/builtin-catalog.ts +0 -326
- package/src/providers/builtin-registry.ts +0 -575
- package/src/providers/cache-planner.ts +0 -258
- package/src/providers/capabilities.ts +0 -1
- package/src/providers/custom-loader.ts +0 -425
- package/src/providers/discovered-compat.ts +0 -7
- package/src/providers/discovered-factory.ts +0 -61
- package/src/providers/discovered-traits.ts +0 -138
- package/src/providers/gemini.ts +0 -462
- package/src/providers/github-copilot.ts +0 -254
- package/src/providers/index.ts +0 -1
- package/src/providers/interface.ts +0 -185
- package/src/providers/llama-cpp.ts +0 -402
- package/src/providers/lm-studio-helpers.ts +0 -367
- package/src/providers/lm-studio.ts +0 -484
- package/src/providers/model-catalog-cache.ts +0 -221
- package/src/providers/model-catalog-notifications.ts +0 -97
- package/src/providers/model-catalog-synthetic.ts +0 -202
- package/src/providers/model-catalog.ts +0 -211
- package/src/providers/model-limits.ts +0 -1
- package/src/providers/ollama.ts +0 -469
- package/src/providers/openai-codex.ts +0 -472
- package/src/providers/openai-compat.ts +0 -615
- package/src/providers/openai.ts +0 -231
- package/src/providers/optimizer.ts +0 -1
- package/src/providers/provider-api.ts +0 -1
- package/src/providers/registry-helpers.ts +0 -34
- package/src/providers/registry-models.ts +0 -77
- package/src/providers/registry-types.ts +0 -67
- package/src/providers/registry.ts +0 -1
- package/src/providers/runtime-metadata.ts +0 -149
- package/src/providers/runtime-snapshot.ts +0 -130
- package/src/providers/synthetic.ts +0 -561
- package/src/providers/tier-prompts.ts +0 -84
- package/src/providers/tool-formats.ts +0 -414
- package/src/runtime/auth/inspection.ts +0 -125
- package/src/runtime/bootstrap-background.ts +0 -157
- package/src/runtime/bootstrap-helpers.ts +0 -88
- package/src/runtime/bootstrap-runtime-events.ts +0 -254
- package/src/runtime/bootstrap-services.ts +0 -197
- package/src/runtime/compaction/index.ts +0 -1
- package/src/runtime/compaction/lifecycle.ts +0 -1
- package/src/runtime/compaction/manager.ts +0 -474
- package/src/runtime/compaction/quality-score.ts +0 -1
- package/src/runtime/compaction/resume-repair.ts +0 -1
- package/src/runtime/compaction/strategies/autocompact.ts +0 -1
- package/src/runtime/compaction/strategies/boundary-commit.ts +0 -1
- package/src/runtime/compaction/strategies/collapse.ts +0 -1
- package/src/runtime/compaction/strategies/index.ts +0 -1
- package/src/runtime/compaction/strategies/microcompact.ts +0 -1
- package/src/runtime/compaction/strategies/reactive.ts +0 -1
- package/src/runtime/compaction/types.ts +0 -1
- package/src/runtime/ecosystem/recommendations.ts +0 -117
- package/src/runtime/emitters/agents.ts +0 -96
- package/src/runtime/emitters/automation.ts +0 -112
- package/src/runtime/emitters/communication.ts +0 -53
- package/src/runtime/emitters/compaction.ts +0 -161
- package/src/runtime/emitters/control-plane.ts +0 -65
- package/src/runtime/emitters/deliveries.ts +0 -65
- package/src/runtime/emitters/forensics.ts +0 -17
- package/src/runtime/emitters/index.ts +0 -59
- package/src/runtime/emitters/knowledge.ts +0 -129
- package/src/runtime/emitters/mcp.ts +0 -95
- package/src/runtime/emitters/ops.ts +0 -163
- package/src/runtime/emitters/orchestration.ts +0 -87
- package/src/runtime/emitters/permissions.ts +0 -98
- package/src/runtime/emitters/planner.ts +0 -23
- package/src/runtime/emitters/plugins.ts +0 -78
- package/src/runtime/emitters/providers.ts +0 -30
- package/src/runtime/emitters/routes.ts +0 -57
- package/src/runtime/emitters/security.ts +0 -53
- package/src/runtime/emitters/session.ts +0 -93
- package/src/runtime/emitters/surfaces.ts +0 -57
- package/src/runtime/emitters/tasks.ts +0 -69
- package/src/runtime/emitters/tools.ts +0 -140
- package/src/runtime/emitters/transport.ts +0 -78
- package/src/runtime/emitters/turn.ts +0 -155
- package/src/runtime/emitters/ui.ts +0 -57
- package/src/runtime/emitters/watchers.ts +0 -57
- package/src/runtime/emitters/workflows.ts +0 -79
- package/src/runtime/eval/index.ts +0 -48
- package/src/runtime/eval/runner.ts +0 -163
- package/src/runtime/eval/suites.ts +0 -264
- package/src/runtime/events/domain-map.ts +0 -148
- package/src/runtime/events/index.ts +0 -1
- package/src/runtime/events/turn.ts +0 -1
- package/src/runtime/events/workflows.ts +0 -1
- package/src/runtime/forensics/collector.ts +0 -693
- package/src/runtime/forensics/index.ts +0 -23
- package/src/runtime/foundation-clients.ts +0 -78
- package/src/runtime/foundation-services.ts +0 -96
- package/src/runtime/guidance.ts +0 -183
- package/src/runtime/health/effect-handlers.ts +0 -189
- package/src/runtime/health/index.ts +0 -70
- package/src/runtime/health/wiring.ts +0 -115
- package/src/runtime/integration/helpers.ts +0 -640
- package/src/runtime/lifecycle.ts +0 -107
- package/src/runtime/mcp/index.ts +0 -68
- package/src/runtime/mcp/manager.ts +0 -513
- package/src/runtime/network/inbound.ts +0 -131
- package/src/runtime/network/index.ts +0 -30
- package/src/runtime/network/outbound.ts +0 -292
- package/src/runtime/network/shared.ts +0 -82
- package/src/runtime/operator-client.ts +0 -235
- package/src/runtime/ops/control-plane.ts +0 -363
- package/src/runtime/ops/index.ts +0 -122
- package/src/runtime/ops/playbooks/index.ts +0 -10
- package/src/runtime/ops/playbooks/session-unrecoverable.ts +0 -196
- package/src/runtime/ops/playbooks/stuck-turn.ts +0 -197
- package/src/runtime/ops/runtime-context.ts +0 -100
- package/src/runtime/ops-api.ts +0 -27
- package/src/runtime/orchestration/spawn-policy.ts +0 -83
- package/src/runtime/peer-client.ts +0 -404
- package/src/runtime/perf/index.ts +0 -57
- package/src/runtime/perf/slo-collector.ts +0 -375
- package/src/runtime/permissions/index.ts +0 -190
- package/src/runtime/permissions/policy-runtime.ts +0 -1
- package/src/runtime/permissions/preflight.ts +0 -101
- package/src/runtime/permissions/rule-suggestions.ts +0 -36
- package/src/runtime/plugins/hot-reload.ts +0 -221
- package/src/runtime/plugins/index.ts +0 -84
- package/src/runtime/plugins/lifecycle.ts +0 -95
- package/src/runtime/plugins/manager.ts +0 -474
- package/src/runtime/plugins/manifest.ts +0 -167
- package/src/runtime/plugins/quarantine.ts +0 -202
- package/src/runtime/plugins/trust.ts +0 -291
- package/src/runtime/plugins/types.ts +0 -205
- package/src/runtime/provider-accounts/registry.ts +0 -326
- package/src/runtime/remote/distributed-runtime-contract-schemas.ts +0 -386
- package/src/runtime/remote/index.ts +0 -488
- package/src/runtime/remote/runner-registry.ts +0 -438
- package/src/runtime/remote/supervisor.ts +0 -70
- package/src/runtime/runtime-hook-api.ts +0 -5
- package/src/runtime/runtime-knowledge-api.ts +0 -14
- package/src/runtime/runtime-mcp-api.ts +0 -5
- package/src/runtime/runtime-ops-api.ts +0 -86
- package/src/runtime/runtime-provider-api.ts +0 -18
- package/src/runtime/session-maintenance.ts +0 -188
- package/src/runtime/session-persistence.ts +0 -288
- package/src/runtime/session-return-context.ts +0 -195
- package/src/runtime/settings/control-plane-store.ts +0 -258
- package/src/runtime/settings/control-plane.ts +0 -599
- package/src/runtime/shell-command-extensions.ts +0 -54
- package/src/runtime/shell-command-ops.ts +0 -207
- package/src/runtime/shell-command-platform.ts +0 -47
- package/src/runtime/shell-command-services.ts +0 -143
- package/src/runtime/shell-command-workspace.ts +0 -31
- package/src/runtime/tasks/adapters/acp-adapter.ts +0 -211
- package/src/runtime/tasks/adapters/agent-adapter.ts +0 -208
- package/src/runtime/tasks/adapters/index.ts +0 -16
- package/src/runtime/tasks/adapters/process-adapter.ts +0 -214
- package/src/runtime/tasks/adapters/scheduler-adapter.ts +0 -193
- package/src/runtime/tasks/index.ts +0 -68
- package/src/runtime/tasks/manager.ts +0 -415
- package/src/runtime/telemetry/api-helpers.ts +0 -517
- package/src/runtime/telemetry/api.ts +0 -768
- package/src/runtime/telemetry/index.ts +0 -178
- package/src/runtime/telemetry/instrumentation/domain-bridge-agent-session.ts +0 -440
- package/src/runtime/telemetry/instrumentation/domain-bridge-plugin-mcp.ts +0 -200
- package/src/runtime/telemetry/instrumentation/domain-bridge-shared.ts +0 -18
- package/src/runtime/telemetry/instrumentation/domain-bridge-transport-task.ts +0 -204
- package/src/runtime/telemetry/instrumentation/domain-bridge.ts +0 -125
- package/src/runtime/telemetry/instrumentation/index.ts +0 -67
- package/src/runtime/tools/context.ts +0 -114
- package/src/runtime/tools/index.ts +0 -46
- package/src/runtime/tools/phased-executor.ts +0 -448
- package/src/runtime/tools/phases/budget.ts +0 -130
- package/src/runtime/tools/phases/execute.ts +0 -69
- package/src/runtime/tools/phases/index.ts +0 -13
- package/src/runtime/tools/phases/map-output.ts +0 -98
- package/src/runtime/tools/phases/permission.ts +0 -133
- package/src/runtime/tools/phases/posthook.ts +0 -57
- package/src/runtime/tools/phases/prehook.ts +0 -68
- package/src/runtime/tools/phases/validate.ts +0 -53
- package/src/runtime/transports/direct.ts +0 -73
- package/src/runtime/transports/http-helpers.ts +0 -218
- package/src/runtime/transports/http-types.ts +0 -364
- package/src/runtime/transports/http.ts +0 -629
- package/src/runtime/transports/realtime.ts +0 -50
- package/src/runtime/transports/remote-events.ts +0 -16
- package/src/runtime/transports/shared.ts +0 -39
- package/src/runtime/transports/ui-runtime-events.ts +0 -35
- package/src/runtime/ui-read-models-core.ts +0 -95
- package/src/runtime/ui-read-models-operations.ts +0 -203
- package/src/runtime/worktree/registry.ts +0 -252
- package/src/sessions/manager.ts +0 -14
- package/src/state/file-watcher.ts +0 -294
- package/src/state/index.ts +0 -56
- package/src/state/knowledge-injection.ts +0 -214
- package/src/state/memory-embedding-http.ts +0 -642
- package/src/state/memory-embeddings.ts +0 -312
- package/src/state/memory-ingest.ts +0 -132
- package/src/state/memory-registry.ts +0 -111
- package/src/state/memory-store-helpers.ts +0 -160
- package/src/state/memory-store.ts +0 -728
- package/src/state/memory-vector-store.ts +0 -418
- package/src/templates/manager.ts +0 -187
- package/src/tools/agent/index.ts +0 -610
- package/src/tools/agent/manager.ts +0 -476
- package/src/tools/analyze/git-modes.ts +0 -380
- package/src/tools/analyze/index.ts +0 -128
- package/src/tools/channel/agent-tools.ts +0 -16
- package/src/tools/channel/index.ts +0 -268
- package/src/tools/control/index.ts +0 -90
- package/src/tools/edit/core.ts +0 -619
- package/src/tools/edit/index.ts +0 -4
- package/src/tools/edit/phased.ts +0 -33
- package/src/tools/fetch/index.ts +0 -3
- package/src/tools/fetch/phased.ts +0 -34
- package/src/tools/fetch/runtime.ts +0 -499
- package/src/tools/mcp/index.ts +0 -190
- package/src/tools/remote-trigger/index.ts +0 -130
- package/src/tools/shared/auto-heal.ts +0 -282
- package/src/tools/state/index.ts +0 -688
- package/src/tools/web-search/index.ts +0 -38
- package/src/tools/write/index.ts +0 -604
- package/src/tools/write/phased.ts +0 -41
- package/src/types/generated/foundation-client-types.ts +0 -22
- package/src/watchers/index.ts +0 -11
- package/src/watchers/registry.ts +0 -517
- package/src/web-search/index.ts +0 -26
- package/src/web-search/provider-registry.ts +0 -64
- package/src/web-search/providers/brave.ts +0 -100
- package/src/web-search/providers/duckduckgo.ts +0 -270
- package/src/web-search/providers/exa.ts +0 -77
- package/src/web-search/providers/firecrawl.ts +0 -90
- package/src/web-search/providers/perplexity.ts +0 -86
- package/src/web-search/providers/searxng.ts +0 -88
- package/src/web-search/providers/shared.ts +0 -249
- package/src/web-search/providers/tavily.ts +0 -90
- package/src/web-search/service.ts +0 -142
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin emitters — typed emission wrappers for PluginEvent domain.
|
|
3
|
-
*/
|
|
4
|
-
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
5
|
-
import type { RuntimeEventBus } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
|
|
6
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
7
|
-
|
|
8
|
-
/** Emit PLUGIN_DISCOVERED when a plugin is found during scan. */
|
|
9
|
-
export function emitPluginDiscovered(
|
|
10
|
-
bus: RuntimeEventBus,
|
|
11
|
-
ctx: EmitterContext,
|
|
12
|
-
data: { pluginId: string; path: string; version: string }
|
|
13
|
-
): void {
|
|
14
|
-
bus.emit('plugins', createEventEnvelope('PLUGIN_DISCOVERED', { type: 'PLUGIN_DISCOVERED', ...data }, ctx));
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/** Emit PLUGIN_LOADING when a plugin begins loading. */
|
|
18
|
-
export function emitPluginLoading(
|
|
19
|
-
bus: RuntimeEventBus,
|
|
20
|
-
ctx: EmitterContext,
|
|
21
|
-
data: { pluginId: string; path: string }
|
|
22
|
-
): void {
|
|
23
|
-
bus.emit('plugins', createEventEnvelope('PLUGIN_LOADING', { type: 'PLUGIN_LOADING', ...data }, ctx));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/** Emit PLUGIN_LOADED when a plugin is successfully loaded. */
|
|
27
|
-
export function emitPluginLoaded(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { pluginId: string; version: string; capabilities: string[] }
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('plugins', createEventEnvelope('PLUGIN_LOADED', { type: 'PLUGIN_LOADED', ...data }, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** Emit PLUGIN_ACTIVE when a plugin is fully active. */
|
|
36
|
-
export function emitPluginActive(
|
|
37
|
-
bus: RuntimeEventBus,
|
|
38
|
-
ctx: EmitterContext,
|
|
39
|
-
data: { pluginId: string }
|
|
40
|
-
): void {
|
|
41
|
-
bus.emit('plugins', createEventEnvelope('PLUGIN_ACTIVE', { type: 'PLUGIN_ACTIVE', ...data }, ctx));
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** Emit PLUGIN_DEGRADED when a plugin loses partial functionality. */
|
|
45
|
-
export function emitPluginDegraded(
|
|
46
|
-
bus: RuntimeEventBus,
|
|
47
|
-
ctx: EmitterContext,
|
|
48
|
-
data: { pluginId: string; reason: string; affectedCapabilities: string[] }
|
|
49
|
-
): void {
|
|
50
|
-
bus.emit('plugins', createEventEnvelope('PLUGIN_DEGRADED', { type: 'PLUGIN_DEGRADED', ...data }, ctx));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/** Emit PLUGIN_ERROR when a plugin encounters an error. */
|
|
54
|
-
export function emitPluginError(
|
|
55
|
-
bus: RuntimeEventBus,
|
|
56
|
-
ctx: EmitterContext,
|
|
57
|
-
data: { pluginId: string; error: string; fatal: boolean }
|
|
58
|
-
): void {
|
|
59
|
-
bus.emit('plugins', createEventEnvelope('PLUGIN_ERROR', { type: 'PLUGIN_ERROR', ...data }, ctx));
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/** Emit PLUGIN_UNLOADING when a plugin begins unloading. */
|
|
63
|
-
export function emitPluginUnloading(
|
|
64
|
-
bus: RuntimeEventBus,
|
|
65
|
-
ctx: EmitterContext,
|
|
66
|
-
data: { pluginId: string; reason?: string }
|
|
67
|
-
): void {
|
|
68
|
-
bus.emit('plugins', createEventEnvelope('PLUGIN_UNLOADING', { type: 'PLUGIN_UNLOADING', ...data }, ctx));
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** Emit PLUGIN_DISABLED when a plugin is permanently disabled. */
|
|
72
|
-
export function emitPluginDisabled(
|
|
73
|
-
bus: RuntimeEventBus,
|
|
74
|
-
ctx: EmitterContext,
|
|
75
|
-
data: { pluginId: string; reason: string }
|
|
76
|
-
): void {
|
|
77
|
-
bus.emit('plugins', createEventEnvelope('PLUGIN_DISABLED', { type: 'PLUGIN_DISABLED', ...data }, ctx));
|
|
78
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Provider emitters — typed emission wrappers for provider events.
|
|
3
|
-
*/
|
|
4
|
-
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
5
|
-
import type { RuntimeEventBus } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
|
|
6
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
7
|
-
|
|
8
|
-
export function emitProvidersChanged(
|
|
9
|
-
bus: RuntimeEventBus,
|
|
10
|
-
ctx: EmitterContext,
|
|
11
|
-
data: { added: string[]; removed: string[]; updated: string[] }
|
|
12
|
-
): void {
|
|
13
|
-
bus.emit('providers', createEventEnvelope('PROVIDERS_CHANGED', { type: 'PROVIDERS_CHANGED', ...data }, ctx));
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export function emitProviderWarning(
|
|
17
|
-
bus: RuntimeEventBus,
|
|
18
|
-
ctx: EmitterContext,
|
|
19
|
-
data: { message: string }
|
|
20
|
-
): void {
|
|
21
|
-
bus.emit('providers', createEventEnvelope('PROVIDER_WARNING', { type: 'PROVIDER_WARNING', ...data }, ctx));
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function emitModelFallback(
|
|
25
|
-
bus: RuntimeEventBus,
|
|
26
|
-
ctx: EmitterContext,
|
|
27
|
-
data: { from: string; to: string; provider: string }
|
|
28
|
-
): void {
|
|
29
|
-
bus.emit('providers', createEventEnvelope('MODEL_FALLBACK', { type: 'MODEL_FALLBACK', ...data }, ctx));
|
|
30
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Route emitters — typed wrappers for RouteEvent domain.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
6
|
-
import type { RuntimeEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
7
|
-
import type { RuntimeEventBus } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
|
|
8
|
-
import type { RouteEvent, RouteSurfaceKind, RouteTargetKind } from '@pellux/goodvibes-sdk/platform/runtime/events/routes';
|
|
9
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
10
|
-
|
|
11
|
-
function routeEvent<T extends RouteEvent['type']>(
|
|
12
|
-
type: T,
|
|
13
|
-
data: Omit<Extract<RouteEvent, { type: T }>, 'type'>,
|
|
14
|
-
ctx: EmitterContext,
|
|
15
|
-
): RuntimeEventEnvelope<T, Extract<RouteEvent, { type: T }>> {
|
|
16
|
-
return createEventEnvelope(type, { type, ...data } as Extract<RouteEvent, { type: T }>, ctx);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function emitRouteBindingCreated(
|
|
20
|
-
bus: RuntimeEventBus,
|
|
21
|
-
ctx: EmitterContext,
|
|
22
|
-
data: { bindingId: string; surfaceKind: RouteSurfaceKind; externalId: string; targetKind: RouteTargetKind; targetId: string },
|
|
23
|
-
): void {
|
|
24
|
-
bus.emit('routes', routeEvent('ROUTE_BINDING_CREATED', data, ctx));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function emitRouteBindingUpdated(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { bindingId: string; changedFields: string[] },
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('routes', routeEvent('ROUTE_BINDING_UPDATED', data, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function emitRouteBindingResolved(
|
|
36
|
-
bus: RuntimeEventBus,
|
|
37
|
-
ctx: EmitterContext,
|
|
38
|
-
data: { bindingId: string; surfaceKind: RouteSurfaceKind; externalId: string; targetKind: RouteTargetKind; targetId: string },
|
|
39
|
-
): void {
|
|
40
|
-
bus.emit('routes', routeEvent('ROUTE_BINDING_RESOLVED', data, ctx));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function emitRouteReplyTargetCaptured(
|
|
44
|
-
bus: RuntimeEventBus,
|
|
45
|
-
ctx: EmitterContext,
|
|
46
|
-
data: { bindingId: string; surfaceKind: RouteSurfaceKind; externalId: string; replyTargetId: string; threadId: string },
|
|
47
|
-
): void {
|
|
48
|
-
bus.emit('routes', routeEvent('ROUTE_REPLY_TARGET_CAPTURED', data, ctx));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export function emitRouteBindingFailed(
|
|
52
|
-
bus: RuntimeEventBus,
|
|
53
|
-
ctx: EmitterContext,
|
|
54
|
-
data: { surfaceKind: RouteSurfaceKind; externalId: string; error: string },
|
|
55
|
-
): void {
|
|
56
|
-
bus.emit('routes', routeEvent('ROUTE_BINDING_FAILED', data, ctx));
|
|
57
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Security emitters — typed wrappers for SecurityEvent domain.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
6
|
-
import type { RuntimeEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
7
|
-
import type { RuntimeEventBus } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
|
|
8
|
-
import type { SecurityEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/security';
|
|
9
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
10
|
-
|
|
11
|
-
function securityEvent<T extends SecurityEvent['type']>(
|
|
12
|
-
type: T,
|
|
13
|
-
data: Omit<Extract<SecurityEvent, { type: T }>, 'type'>,
|
|
14
|
-
ctx: EmitterContext,
|
|
15
|
-
): RuntimeEventEnvelope<T, Extract<SecurityEvent, { type: T }>> {
|
|
16
|
-
return createEventEnvelope(type, { type, ...data } as Extract<SecurityEvent, { type: T }>, ctx);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function emitTokenScopeViolation(
|
|
20
|
-
bus: RuntimeEventBus,
|
|
21
|
-
ctx: EmitterContext,
|
|
22
|
-
data: { tokenId: string; label: string; policyId: string; excessScopes: string[] },
|
|
23
|
-
): void {
|
|
24
|
-
bus.emit('security', securityEvent('TOKEN_SCOPE_VIOLATION', data, ctx));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function emitTokenRotationWarning(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { tokenId: string; label: string; msUntilDue: number; dueAt: number; ageMs: number },
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('security', securityEvent('TOKEN_ROTATION_WARNING', data, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function emitTokenRotationExpired(
|
|
36
|
-
bus: RuntimeEventBus,
|
|
37
|
-
ctx: EmitterContext,
|
|
38
|
-
data: { tokenId: string; label: string; ageMs: number; cadenceMs: number; dueAt: number },
|
|
39
|
-
): void {
|
|
40
|
-
bus.emit('security', securityEvent('TOKEN_ROTATION_EXPIRED', data, ctx));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function emitTokenBlocked(
|
|
44
|
-
bus: RuntimeEventBus,
|
|
45
|
-
ctx: EmitterContext,
|
|
46
|
-
data: {
|
|
47
|
-
tokenId: string;
|
|
48
|
-
label: string;
|
|
49
|
-
reason: 'scope_violation' | 'rotation_overdue' | 'scope_violation_and_rotation_overdue';
|
|
50
|
-
},
|
|
51
|
-
): void {
|
|
52
|
-
bus.emit('security', securityEvent('TOKEN_BLOCKED', data, ctx));
|
|
53
|
-
}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session emitters — typed emission wrappers for SessionEvent domain.
|
|
3
|
-
*
|
|
4
|
-
* Import and call these instead of emitting raw strings.
|
|
5
|
-
*/
|
|
6
|
-
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
7
|
-
import type { RuntimeEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
8
|
-
import type { RuntimeEventBus } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
|
|
9
|
-
import type { SessionEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/session';
|
|
10
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
11
|
-
|
|
12
|
-
// ---------------------------------------------------------------------------
|
|
13
|
-
// Internal helper
|
|
14
|
-
// ---------------------------------------------------------------------------
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Creates a typed session event envelope, reducing boilerplate across the
|
|
18
|
-
* 7 public wrapper functions below.
|
|
19
|
-
*/
|
|
20
|
-
function sessionEvent<T extends SessionEvent['type']>(
|
|
21
|
-
type: T,
|
|
22
|
-
data: Omit<Extract<SessionEvent, { type: T }>, 'type'>,
|
|
23
|
-
ctx: EmitterContext,
|
|
24
|
-
): RuntimeEventEnvelope<T, Extract<SessionEvent, { type: T }>> {
|
|
25
|
-
return createEventEnvelope(type, { type, ...data } as Extract<SessionEvent, { type: T }>, ctx);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// ---------------------------------------------------------------------------
|
|
29
|
-
// Public typed emitter wrappers
|
|
30
|
-
// ---------------------------------------------------------------------------
|
|
31
|
-
|
|
32
|
-
/** Emit SESSION_STARTED when a new session is created and initialising. */
|
|
33
|
-
export function emitSessionStarted(
|
|
34
|
-
bus: RuntimeEventBus,
|
|
35
|
-
ctx: EmitterContext,
|
|
36
|
-
data: { sessionId: string; profileId: string; workingDir: string }
|
|
37
|
-
): void {
|
|
38
|
-
bus.emit('session', sessionEvent('SESSION_STARTED', data, ctx));
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/** Emit SESSION_LOADING when an existing session is being loaded from disk. */
|
|
42
|
-
export function emitSessionLoading(
|
|
43
|
-
bus: RuntimeEventBus,
|
|
44
|
-
ctx: EmitterContext,
|
|
45
|
-
data: { sessionId: string; path: string }
|
|
46
|
-
): void {
|
|
47
|
-
bus.emit('session', sessionEvent('SESSION_LOADING', data, ctx));
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/** Emit SESSION_RESUMED when a previously saved session is being resumed. */
|
|
51
|
-
export function emitSessionResumed(
|
|
52
|
-
bus: RuntimeEventBus,
|
|
53
|
-
ctx: EmitterContext,
|
|
54
|
-
data: { sessionId: string; turnCount: number }
|
|
55
|
-
): void {
|
|
56
|
-
bus.emit('session', sessionEvent('SESSION_RESUMED', data, ctx));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/** Emit SESSION_REPAIRING when session state is being repaired after a detected inconsistency. */
|
|
60
|
-
export function emitSessionRepairing(
|
|
61
|
-
bus: RuntimeEventBus,
|
|
62
|
-
ctx: EmitterContext,
|
|
63
|
-
data: { sessionId: string; reason: string }
|
|
64
|
-
): void {
|
|
65
|
-
bus.emit('session', sessionEvent('SESSION_REPAIRING', data, ctx));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/** Emit SESSION_RECONCILING when context messages are being reconciled with stored state. */
|
|
69
|
-
export function emitSessionReconciling(
|
|
70
|
-
bus: RuntimeEventBus,
|
|
71
|
-
ctx: EmitterContext,
|
|
72
|
-
data: { sessionId: string; messageCount: number }
|
|
73
|
-
): void {
|
|
74
|
-
bus.emit('session', sessionEvent('SESSION_RECONCILING', data, ctx));
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/** Emit SESSION_READY when session is fully loaded and ready for input. */
|
|
78
|
-
export function emitSessionReady(
|
|
79
|
-
bus: RuntimeEventBus,
|
|
80
|
-
ctx: EmitterContext,
|
|
81
|
-
data: { sessionId: string }
|
|
82
|
-
): void {
|
|
83
|
-
bus.emit('session', sessionEvent('SESSION_READY', data, ctx));
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/** Emit SESSION_RECOVERY_FAILED when session recovery has failed unrecoverably. */
|
|
87
|
-
export function emitSessionRecoveryFailed(
|
|
88
|
-
bus: RuntimeEventBus,
|
|
89
|
-
ctx: EmitterContext,
|
|
90
|
-
data: { sessionId: string; error: string }
|
|
91
|
-
): void {
|
|
92
|
-
bus.emit('session', sessionEvent('SESSION_RECOVERY_FAILED', data, ctx));
|
|
93
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Surface emitters — typed wrappers for SurfaceEvent domain.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
6
|
-
import type { RuntimeEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
7
|
-
import type { RuntimeEventBus } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
|
|
8
|
-
import type { SurfaceEvent, SurfaceKind } from '@pellux/goodvibes-sdk/platform/runtime/events/surfaces';
|
|
9
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
10
|
-
|
|
11
|
-
function surfaceEvent<T extends SurfaceEvent['type']>(
|
|
12
|
-
type: T,
|
|
13
|
-
data: Omit<Extract<SurfaceEvent, { type: T }>, 'type'>,
|
|
14
|
-
ctx: EmitterContext,
|
|
15
|
-
): RuntimeEventEnvelope<T, Extract<SurfaceEvent, { type: T }>> {
|
|
16
|
-
return createEventEnvelope(type, { type, ...data } as Extract<SurfaceEvent, { type: T }>, ctx);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function emitSurfaceEnabled(
|
|
20
|
-
bus: RuntimeEventBus,
|
|
21
|
-
ctx: EmitterContext,
|
|
22
|
-
data: { surfaceKind: SurfaceKind; surfaceId: string; accountId: string },
|
|
23
|
-
): void {
|
|
24
|
-
bus.emit('surfaces', surfaceEvent('SURFACE_ENABLED', data, ctx));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function emitSurfaceDisabled(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { surfaceKind: SurfaceKind; surfaceId: string; reason: string },
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('surfaces', surfaceEvent('SURFACE_DISABLED', data, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function emitSurfaceAccountConnected(
|
|
36
|
-
bus: RuntimeEventBus,
|
|
37
|
-
ctx: EmitterContext,
|
|
38
|
-
data: { surfaceKind: SurfaceKind; surfaceId: string; accountId: string; displayName: string },
|
|
39
|
-
): void {
|
|
40
|
-
bus.emit('surfaces', surfaceEvent('SURFACE_ACCOUNT_CONNECTED', data, ctx));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function emitSurfaceAccountDegraded(
|
|
44
|
-
bus: RuntimeEventBus,
|
|
45
|
-
ctx: EmitterContext,
|
|
46
|
-
data: { surfaceKind: SurfaceKind; surfaceId: string; accountId: string; error: string },
|
|
47
|
-
): void {
|
|
48
|
-
bus.emit('surfaces', surfaceEvent('SURFACE_ACCOUNT_DEGRADED', data, ctx));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export function emitSurfaceCapabilityChanged(
|
|
52
|
-
bus: RuntimeEventBus,
|
|
53
|
-
ctx: EmitterContext,
|
|
54
|
-
data: { surfaceKind: SurfaceKind; surfaceId: string; capability: string; enabled: boolean },
|
|
55
|
-
): void {
|
|
56
|
-
bus.emit('surfaces', surfaceEvent('SURFACE_CAPABILITY_CHANGED', data, ctx));
|
|
57
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Task emitters — typed emission wrappers for TaskEvent domain.
|
|
3
|
-
*/
|
|
4
|
-
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
5
|
-
import type { RuntimeEventBus } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
|
|
6
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
7
|
-
|
|
8
|
-
/** Emit TASK_CREATED when a new task enters the queue. */
|
|
9
|
-
export function emitTaskCreated(
|
|
10
|
-
bus: RuntimeEventBus,
|
|
11
|
-
ctx: EmitterContext,
|
|
12
|
-
data: { taskId: string; agentId?: string; description: string; priority: number }
|
|
13
|
-
): void {
|
|
14
|
-
bus.emit('tasks', createEventEnvelope('TASK_CREATED', { type: 'TASK_CREATED', ...data }, ctx));
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/** Emit TASK_STARTED when task execution begins. */
|
|
18
|
-
export function emitTaskStarted(
|
|
19
|
-
bus: RuntimeEventBus,
|
|
20
|
-
ctx: EmitterContext,
|
|
21
|
-
data: { taskId: string; agentId?: string }
|
|
22
|
-
): void {
|
|
23
|
-
bus.emit('tasks', createEventEnvelope('TASK_STARTED', { type: 'TASK_STARTED', ...data }, ctx));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/** Emit TASK_BLOCKED when a task is waiting on a dependency. */
|
|
27
|
-
export function emitTaskBlocked(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { taskId: string; agentId?: string; reason: string }
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('tasks', createEventEnvelope('TASK_BLOCKED', { type: 'TASK_BLOCKED', ...data }, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** Emit TASK_PROGRESS when a task makes measurable progress. */
|
|
36
|
-
export function emitTaskProgress(
|
|
37
|
-
bus: RuntimeEventBus,
|
|
38
|
-
ctx: EmitterContext,
|
|
39
|
-
data: { taskId: string; agentId?: string; progress: number; message?: string }
|
|
40
|
-
): void {
|
|
41
|
-
bus.emit('tasks', createEventEnvelope('TASK_PROGRESS', { type: 'TASK_PROGRESS', ...data }, ctx));
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** Emit TASK_COMPLETED when a task finishes successfully. */
|
|
45
|
-
export function emitTaskCompleted(
|
|
46
|
-
bus: RuntimeEventBus,
|
|
47
|
-
ctx: EmitterContext,
|
|
48
|
-
data: { taskId: string; agentId?: string; durationMs: number }
|
|
49
|
-
): void {
|
|
50
|
-
bus.emit('tasks', createEventEnvelope('TASK_COMPLETED', { type: 'TASK_COMPLETED', ...data }, ctx));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/** Emit TASK_FAILED when a task fails. */
|
|
54
|
-
export function emitTaskFailed(
|
|
55
|
-
bus: RuntimeEventBus,
|
|
56
|
-
ctx: EmitterContext,
|
|
57
|
-
data: { taskId: string; agentId?: string; error: string; durationMs: number }
|
|
58
|
-
): void {
|
|
59
|
-
bus.emit('tasks', createEventEnvelope('TASK_FAILED', { type: 'TASK_FAILED', ...data }, ctx));
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/** Emit TASK_CANCELLED when a task is cancelled. */
|
|
63
|
-
export function emitTaskCancelled(
|
|
64
|
-
bus: RuntimeEventBus,
|
|
65
|
-
ctx: EmitterContext,
|
|
66
|
-
data: { taskId: string; agentId?: string; reason?: string }
|
|
67
|
-
): void {
|
|
68
|
-
bus.emit('tasks', createEventEnvelope('TASK_CANCELLED', { type: 'TASK_CANCELLED', ...data }, ctx));
|
|
69
|
-
}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tool emitters — typed emission wrappers for ToolEvent domain.
|
|
3
|
-
*/
|
|
4
|
-
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
5
|
-
import type { RuntimeEventBus } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
|
|
6
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
7
|
-
|
|
8
|
-
/** Emit TOOL_RECEIVED when a tool call is received from the LLM. */
|
|
9
|
-
export function emitToolReceived(
|
|
10
|
-
bus: RuntimeEventBus,
|
|
11
|
-
ctx: EmitterContext,
|
|
12
|
-
data: { callId: string; turnId: string; tool: string; args: Record<string, unknown> }
|
|
13
|
-
): void {
|
|
14
|
-
bus.emit('tools', createEventEnvelope('TOOL_RECEIVED', { type: 'TOOL_RECEIVED', ...data }, ctx));
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/** Emit TOOL_VALIDATED when tool arguments pass schema validation. */
|
|
18
|
-
export function emitToolValidated(
|
|
19
|
-
bus: RuntimeEventBus,
|
|
20
|
-
ctx: EmitterContext,
|
|
21
|
-
data: { callId: string; turnId: string; tool: string }
|
|
22
|
-
): void {
|
|
23
|
-
bus.emit('tools', createEventEnvelope('TOOL_VALIDATED', { type: 'TOOL_VALIDATED', ...data }, ctx));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/** Emit TOOL_PREHOOKED after pre-execution hooks have run. */
|
|
27
|
-
export function emitToolPrehooked(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { callId: string; turnId: string; tool: string }
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('tools', createEventEnvelope('TOOL_PREHOOKED', { type: 'TOOL_PREHOOKED', ...data }, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** Emit TOOL_PERMISSIONED after permission check completes. */
|
|
36
|
-
export function emitToolPermissioned(
|
|
37
|
-
bus: RuntimeEventBus,
|
|
38
|
-
ctx: EmitterContext,
|
|
39
|
-
data: { callId: string; turnId: string; tool: string; approved: boolean }
|
|
40
|
-
): void {
|
|
41
|
-
bus.emit('tools', createEventEnvelope('TOOL_PERMISSIONED', { type: 'TOOL_PERMISSIONED', ...data }, ctx));
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** Emit TOOL_EXECUTING when the tool starts executing. */
|
|
45
|
-
export function emitToolExecuting(
|
|
46
|
-
bus: RuntimeEventBus,
|
|
47
|
-
ctx: EmitterContext,
|
|
48
|
-
data: { callId: string; turnId: string; tool: string; startedAt: number }
|
|
49
|
-
): void {
|
|
50
|
-
bus.emit('tools', createEventEnvelope('TOOL_EXECUTING', { type: 'TOOL_EXECUTING', ...data }, ctx));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/** Emit TOOL_MAPPED after the result is mapped for the provider. */
|
|
54
|
-
export function emitToolMapped(
|
|
55
|
-
bus: RuntimeEventBus,
|
|
56
|
-
ctx: EmitterContext,
|
|
57
|
-
data: { callId: string; turnId: string; tool: string }
|
|
58
|
-
): void {
|
|
59
|
-
bus.emit('tools', createEventEnvelope('TOOL_MAPPED', { type: 'TOOL_MAPPED', ...data }, ctx));
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/** Emit TOOL_POSTHOOKED after post-execution hooks have run. */
|
|
63
|
-
export function emitToolPosthooked(
|
|
64
|
-
bus: RuntimeEventBus,
|
|
65
|
-
ctx: EmitterContext,
|
|
66
|
-
data: { callId: string; turnId: string; tool: string }
|
|
67
|
-
): void {
|
|
68
|
-
bus.emit('tools', createEventEnvelope('TOOL_POSTHOOKED', { type: 'TOOL_POSTHOOKED', ...data }, ctx));
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** Emit TOOL_SUCCEEDED when a tool call completes successfully. */
|
|
72
|
-
export function emitToolSucceeded(
|
|
73
|
-
bus: RuntimeEventBus,
|
|
74
|
-
ctx: EmitterContext,
|
|
75
|
-
data: { callId: string; turnId: string; tool: string; durationMs: number; result?: unknown }
|
|
76
|
-
): void {
|
|
77
|
-
bus.emit('tools', createEventEnvelope('TOOL_SUCCEEDED', { type: 'TOOL_SUCCEEDED', ...data }, ctx));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/** Emit TOOL_FAILED when a tool call fails. */
|
|
81
|
-
export function emitToolFailed(
|
|
82
|
-
bus: RuntimeEventBus,
|
|
83
|
-
ctx: EmitterContext,
|
|
84
|
-
data: { callId: string; turnId: string; tool: string; error: string; durationMs: number; result?: unknown }
|
|
85
|
-
): void {
|
|
86
|
-
bus.emit('tools', createEventEnvelope('TOOL_FAILED', { type: 'TOOL_FAILED', ...data }, ctx));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/** Emit TOOL_RECONCILED when unresolved tool calls are synthesized. */
|
|
90
|
-
export function emitToolReconciled(
|
|
91
|
-
bus: RuntimeEventBus,
|
|
92
|
-
ctx: EmitterContext,
|
|
93
|
-
data: {
|
|
94
|
-
turnId: string;
|
|
95
|
-
count: number;
|
|
96
|
-
callIds: string[];
|
|
97
|
-
toolNames: string[];
|
|
98
|
-
reason: string;
|
|
99
|
-
timestamp: number;
|
|
100
|
-
isMalformed?: boolean;
|
|
101
|
-
}
|
|
102
|
-
): void {
|
|
103
|
-
bus.emit('tools', createEventEnvelope('TOOL_RECONCILED', { type: 'TOOL_RECONCILED', ...data }, ctx));
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/** Emit TOOL_CANCELLED when a tool call is cancelled. */
|
|
107
|
-
export function emitToolCancelled(
|
|
108
|
-
bus: RuntimeEventBus,
|
|
109
|
-
ctx: EmitterContext,
|
|
110
|
-
data: { callId: string; turnId: string; tool: string; reason?: string }
|
|
111
|
-
): void {
|
|
112
|
-
bus.emit('tools', createEventEnvelope('TOOL_CANCELLED', { type: 'TOOL_CANCELLED', ...data }, ctx));
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/** Emit BUDGET_EXCEEDED_MS when wall-clock time limit is breached. */
|
|
116
|
-
export function emitBudgetExceededMs(
|
|
117
|
-
bus: RuntimeEventBus,
|
|
118
|
-
ctx: EmitterContext,
|
|
119
|
-
data: { callId: string; turnId: string; tool: string; phase: string; limitMs: number; elapsedMs: number }
|
|
120
|
-
): void {
|
|
121
|
-
bus.emit('tools', createEventEnvelope('BUDGET_EXCEEDED_MS', { type: 'BUDGET_EXCEEDED_MS', ...data }, ctx));
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
/** Emit BUDGET_EXCEEDED_TOKENS when token consumption limit is breached. */
|
|
125
|
-
export function emitBudgetExceededTokens(
|
|
126
|
-
bus: RuntimeEventBus,
|
|
127
|
-
ctx: EmitterContext,
|
|
128
|
-
data: { callId: string; turnId: string; tool: string; phase: string; limitTokens: number; usedTokens: number }
|
|
129
|
-
): void {
|
|
130
|
-
bus.emit('tools', createEventEnvelope('BUDGET_EXCEEDED_TOKENS', { type: 'BUDGET_EXCEEDED_TOKENS', ...data }, ctx));
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/** Emit BUDGET_EXCEEDED_COST when cost-in-USD limit is breached. */
|
|
134
|
-
export function emitBudgetExceededCost(
|
|
135
|
-
bus: RuntimeEventBus,
|
|
136
|
-
ctx: EmitterContext,
|
|
137
|
-
data: { callId: string; turnId: string; tool: string; phase: string; limitCostUsd: number; usedCostUsd: number }
|
|
138
|
-
): void {
|
|
139
|
-
bus.emit('tools', createEventEnvelope('BUDGET_EXCEEDED_COST', { type: 'BUDGET_EXCEEDED_COST', ...data }, ctx));
|
|
140
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transport emitters — typed emission wrappers for TransportEvent domain.
|
|
3
|
-
*/
|
|
4
|
-
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
5
|
-
import type { RuntimeEventBus } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
|
|
6
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
7
|
-
|
|
8
|
-
/** Emit TRANSPORT_INITIALIZING when the transport layer starts. */
|
|
9
|
-
export function emitTransportInitializing(
|
|
10
|
-
bus: RuntimeEventBus,
|
|
11
|
-
ctx: EmitterContext,
|
|
12
|
-
data: { transportId: string; protocol: string }
|
|
13
|
-
): void {
|
|
14
|
-
bus.emit('transport', createEventEnvelope('TRANSPORT_INITIALIZING', { type: 'TRANSPORT_INITIALIZING', ...data }, ctx));
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/** Emit TRANSPORT_AUTHENTICATING when transport auth is in progress. */
|
|
18
|
-
export function emitTransportAuthenticating(
|
|
19
|
-
bus: RuntimeEventBus,
|
|
20
|
-
ctx: EmitterContext,
|
|
21
|
-
data: { transportId: string }
|
|
22
|
-
): void {
|
|
23
|
-
bus.emit('transport', createEventEnvelope('TRANSPORT_AUTHENTICATING', { type: 'TRANSPORT_AUTHENTICATING', ...data }, ctx));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/** Emit TRANSPORT_CONNECTED when the connection is ready. */
|
|
27
|
-
export function emitTransportConnected(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { transportId: string; endpoint: string }
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('transport', createEventEnvelope('TRANSPORT_CONNECTED', { type: 'TRANSPORT_CONNECTED', ...data }, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** Emit TRANSPORT_SYNCING during state synchronisation. */
|
|
36
|
-
export function emitTransportSyncing(
|
|
37
|
-
bus: RuntimeEventBus,
|
|
38
|
-
ctx: EmitterContext,
|
|
39
|
-
data: { transportId: string }
|
|
40
|
-
): void {
|
|
41
|
-
bus.emit('transport', createEventEnvelope('TRANSPORT_SYNCING', { type: 'TRANSPORT_SYNCING', ...data }, ctx));
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** Emit TRANSPORT_DEGRADED during reduced-reliability operation. */
|
|
45
|
-
export function emitTransportDegraded(
|
|
46
|
-
bus: RuntimeEventBus,
|
|
47
|
-
ctx: EmitterContext,
|
|
48
|
-
data: { transportId: string; reason: string }
|
|
49
|
-
): void {
|
|
50
|
-
bus.emit('transport', createEventEnvelope('TRANSPORT_DEGRADED', { type: 'TRANSPORT_DEGRADED', ...data }, ctx));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/** Emit TRANSPORT_RECONNECTING when retrying after failure. */
|
|
54
|
-
export function emitTransportReconnecting(
|
|
55
|
-
bus: RuntimeEventBus,
|
|
56
|
-
ctx: EmitterContext,
|
|
57
|
-
data: { transportId: string; attempt: number; maxAttempts: number }
|
|
58
|
-
): void {
|
|
59
|
-
bus.emit('transport', createEventEnvelope('TRANSPORT_RECONNECTING', { type: 'TRANSPORT_RECONNECTING', ...data }, ctx));
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/** Emit TRANSPORT_DISCONNECTED when the connection closes. */
|
|
63
|
-
export function emitTransportDisconnected(
|
|
64
|
-
bus: RuntimeEventBus,
|
|
65
|
-
ctx: EmitterContext,
|
|
66
|
-
data: { transportId: string; reason?: string; willRetry: boolean }
|
|
67
|
-
): void {
|
|
68
|
-
bus.emit('transport', createEventEnvelope('TRANSPORT_DISCONNECTED', { type: 'TRANSPORT_DISCONNECTED', ...data }, ctx));
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** Emit TRANSPORT_TERMINAL_FAILURE on unrecoverable failure. */
|
|
72
|
-
export function emitTransportTerminalFailure(
|
|
73
|
-
bus: RuntimeEventBus,
|
|
74
|
-
ctx: EmitterContext,
|
|
75
|
-
data: { transportId: string; error: string }
|
|
76
|
-
): void {
|
|
77
|
-
bus.emit('transport', createEventEnvelope('TRANSPORT_TERMINAL_FAILURE', { type: 'TRANSPORT_TERMINAL_FAILURE', ...data }, ctx));
|
|
78
|
-
}
|