@pellux/goodvibes-tui 0.18.11 → 0.18.12
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 +22 -0
- package/README.md +1 -1
- package/docs/foundation-artifacts/operator-contract.json +1 -1
- package/package.json +2 -2
- package/src/core/conversation-rendering.ts +2 -2
- package/src/core/conversation.ts +5 -5
- package/src/core/orchestrator.ts +13 -11
- package/src/daemon/facade-composition.ts +8 -8
- package/src/daemon/facade.ts +8 -8
- package/src/daemon/types.ts +3 -3
- 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-feed.ts +1 -1
- package/src/input/session-picker-modal.ts +1 -1
- package/src/panels/builtin/agent.ts +1 -0
- package/src/panels/builtin/operations.ts +1 -0
- package/src/panels/builtin/session.ts +1 -1
- package/src/panels/builtin/shared.ts +2 -2
- package/src/panels/context-visualizer-panel.ts +4 -1
- package/src/panels/provider-health-domains.ts +5 -1
- package/src/panels/provider-health-panel.ts +5 -1
- package/src/panels/session-browser-panel.ts +1 -1
- package/src/panels/token-budget-panel.ts +6 -2
- package/src/plugins/loader.ts +2 -2
- package/src/runtime/bootstrap-command-context.ts +3 -3
- package/src/runtime/bootstrap-command-parts.ts +3 -3
- package/src/runtime/bootstrap-core.ts +2 -2
- package/src/runtime/bootstrap-hook-bridge.ts +1 -1
- package/src/runtime/bootstrap-shell.ts +1 -1
- package/src/runtime/bootstrap.ts +5 -4
- package/src/runtime/services.ts +2 -2
- 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/tools/index.ts +1 -1
- 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/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/transport-events.ts +0 -110
- 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-events.ts +0 -46
- 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 +0,0 @@
|
|
|
1
|
-
export * from '@pellux/goodvibes-sdk/platform/runtime/compaction/strategies/index';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '@pellux/goodvibes-sdk/platform/runtime/compaction/strategies/microcompact';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '@pellux/goodvibes-sdk/platform/runtime/compaction/strategies/reactive';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '@pellux/goodvibes-sdk/platform/runtime/compaction/types';
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import type { RuntimeStore } from '../store/index.ts';
|
|
2
|
-
import {
|
|
3
|
-
type EcosystemCatalogPathOptions,
|
|
4
|
-
listInstalledEcosystemEntries,
|
|
5
|
-
loadEcosystemCatalog,
|
|
6
|
-
type EcosystemCatalogEntry,
|
|
7
|
-
type EcosystemEntryKind,
|
|
8
|
-
} from '@pellux/goodvibes-sdk/platform/runtime/ecosystem/catalog';
|
|
9
|
-
|
|
10
|
-
export interface EcosystemRecommendation {
|
|
11
|
-
readonly id: string;
|
|
12
|
-
readonly title: string;
|
|
13
|
-
readonly reason: string;
|
|
14
|
-
readonly kind: EcosystemEntryKind;
|
|
15
|
-
readonly entry: EcosystemCatalogEntry;
|
|
16
|
-
readonly command: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function matchesTags(entry: EcosystemCatalogEntry, terms: readonly string[]): boolean {
|
|
20
|
-
const haystack = [
|
|
21
|
-
entry.id,
|
|
22
|
-
entry.name,
|
|
23
|
-
entry.summary,
|
|
24
|
-
entry.installHint ?? '',
|
|
25
|
-
...entry.tags,
|
|
26
|
-
].join(' ').toLowerCase();
|
|
27
|
-
return terms.some((term) => haystack.includes(term.toLowerCase()));
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
function pushCatalogMatches(
|
|
31
|
-
target: EcosystemRecommendation[],
|
|
32
|
-
kind: EcosystemEntryKind,
|
|
33
|
-
terms: readonly string[],
|
|
34
|
-
reason: string,
|
|
35
|
-
title: string,
|
|
36
|
-
options: EcosystemCatalogPathOptions,
|
|
37
|
-
): void {
|
|
38
|
-
const installed = new Set(listInstalledEcosystemEntries(kind, options).map((receipt) => receipt.entry.id));
|
|
39
|
-
for (const entry of loadEcosystemCatalog(kind, options)) {
|
|
40
|
-
if (installed.has(entry.id)) continue;
|
|
41
|
-
if (!matchesTags(entry, terms)) continue;
|
|
42
|
-
target.push({
|
|
43
|
-
id: `${kind}:${entry.id}`,
|
|
44
|
-
title,
|
|
45
|
-
reason,
|
|
46
|
-
kind,
|
|
47
|
-
entry,
|
|
48
|
-
command: `/marketplace review ${kind} ${entry.id}`,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export function buildEcosystemRecommendations(
|
|
54
|
-
runtimeStore: RuntimeStore | undefined,
|
|
55
|
-
options: EcosystemCatalogPathOptions,
|
|
56
|
-
): EcosystemRecommendation[] {
|
|
57
|
-
const recommendations: EcosystemRecommendation[] = [];
|
|
58
|
-
const state = runtimeStore?.getState();
|
|
59
|
-
|
|
60
|
-
const installedPlugins = listInstalledEcosystemEntries('plugin', options).length;
|
|
61
|
-
const installedSkills = listInstalledEcosystemEntries('skill', options).length;
|
|
62
|
-
if (installedPlugins === 0) {
|
|
63
|
-
pushCatalogMatches(
|
|
64
|
-
recommendations,
|
|
65
|
-
'plugin',
|
|
66
|
-
['provider', 'workflow', 'remote', 'mcp'],
|
|
67
|
-
'No curated plugins are installed yet. Start with a project-scoped integration or workflow plugin.',
|
|
68
|
-
'Seed the plugin posture',
|
|
69
|
-
options,
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
if (installedSkills === 0) {
|
|
73
|
-
pushCatalogMatches(
|
|
74
|
-
recommendations,
|
|
75
|
-
'skill',
|
|
76
|
-
['review', 'docs', 'refactor', 'workflow'],
|
|
77
|
-
'No curated skills are installed yet. Add a skill pack that matches your project workflow.',
|
|
78
|
-
'Seed the skill posture',
|
|
79
|
-
options,
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if ((state?.permissions.denialCount ?? 0) >= 3) {
|
|
84
|
-
pushCatalogMatches(
|
|
85
|
-
recommendations,
|
|
86
|
-
'policy-pack',
|
|
87
|
-
['policy', 'approval', 'security', 'sandbox'],
|
|
88
|
-
'Repeated denials suggest a reusable policy pack or trust posture adjustment may help.',
|
|
89
|
-
'Review policy-pack options',
|
|
90
|
-
options,
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
const authRequiredServers = [...(state?.mcp.servers.values() ?? [])].filter((server) => server.status === 'auth_required');
|
|
95
|
-
if (authRequiredServers.length > 0) {
|
|
96
|
-
pushCatalogMatches(
|
|
97
|
-
recommendations,
|
|
98
|
-
'hook-pack',
|
|
99
|
-
['auth', 'mcp', 'oauth', 'service'],
|
|
100
|
-
`${authRequiredServers.length} MCP server${authRequiredServers.length === 1 ? '' : 's'} require authentication or reconnect help.`,
|
|
101
|
-
'Review MCP auth helpers',
|
|
102
|
-
options,
|
|
103
|
-
);
|
|
104
|
-
pushCatalogMatches(
|
|
105
|
-
recommendations,
|
|
106
|
-
'plugin',
|
|
107
|
-
['mcp', 'remote', 'service'],
|
|
108
|
-
`${authRequiredServers.length} MCP server${authRequiredServers.length === 1 ? '' : 's'} require authentication or reconnect help.`,
|
|
109
|
-
'Review MCP-aware plugins',
|
|
110
|
-
options,
|
|
111
|
-
);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
return recommendations
|
|
115
|
-
.filter((recommendation, index, items) => items.findIndex((candidate) => candidate.id === recommendation.id) === index)
|
|
116
|
-
.slice(0, 8);
|
|
117
|
-
}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent emitters — typed emission wrappers for AgentEvent 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 AGENT_SPAWNING when an agent is being initialised. */
|
|
9
|
-
export function emitAgentSpawning(
|
|
10
|
-
bus: RuntimeEventBus,
|
|
11
|
-
ctx: EmitterContext,
|
|
12
|
-
data: { agentId: string; taskId?: string; task: string }
|
|
13
|
-
): void {
|
|
14
|
-
bus.emit('agents', createEventEnvelope('AGENT_SPAWNING', { type: 'AGENT_SPAWNING', ...data }, ctx));
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/** Emit AGENT_RUNNING when an agent starts active execution. */
|
|
18
|
-
export function emitAgentRunning(
|
|
19
|
-
bus: RuntimeEventBus,
|
|
20
|
-
ctx: EmitterContext,
|
|
21
|
-
data: { agentId: string; taskId?: string }
|
|
22
|
-
): void {
|
|
23
|
-
bus.emit('agents', createEventEnvelope('AGENT_RUNNING', { type: 'AGENT_RUNNING', ...data }, ctx));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/** Emit AGENT_PROGRESS when an agent reports a progress string. */
|
|
27
|
-
export function emitAgentProgress(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { agentId: string; taskId?: string; progress: string }
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('agents', createEventEnvelope('AGENT_PROGRESS', { type: 'AGENT_PROGRESS', ...data }, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** Emit AGENT_STREAM_DELTA when an agent streams output text. */
|
|
36
|
-
export function emitAgentStreamDelta(
|
|
37
|
-
bus: RuntimeEventBus,
|
|
38
|
-
ctx: EmitterContext,
|
|
39
|
-
data: { agentId: string; taskId?: string; content: string; accumulated: string }
|
|
40
|
-
): void {
|
|
41
|
-
bus.emit('agents', createEventEnvelope('AGENT_STREAM_DELTA', { type: 'AGENT_STREAM_DELTA', ...data }, ctx));
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** Emit AGENT_AWAITING_MESSAGE when an agent is waiting to send to LLM. */
|
|
45
|
-
export function emitAgentAwaitingMessage(
|
|
46
|
-
bus: RuntimeEventBus,
|
|
47
|
-
ctx: EmitterContext,
|
|
48
|
-
data: { agentId: string; taskId?: string }
|
|
49
|
-
): void {
|
|
50
|
-
bus.emit('agents', createEventEnvelope('AGENT_AWAITING_MESSAGE', { type: 'AGENT_AWAITING_MESSAGE', ...data }, ctx));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/** Emit AGENT_AWAITING_TOOL when an agent is waiting for a tool call. */
|
|
54
|
-
export function emitAgentAwaitingTool(
|
|
55
|
-
bus: RuntimeEventBus,
|
|
56
|
-
ctx: EmitterContext,
|
|
57
|
-
data: { agentId: string; taskId?: string; callId: string; tool: string }
|
|
58
|
-
): void {
|
|
59
|
-
bus.emit('agents', createEventEnvelope('AGENT_AWAITING_TOOL', { type: 'AGENT_AWAITING_TOOL', ...data }, ctx));
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/** Emit AGENT_FINALIZING when an agent is assembling its final output. */
|
|
63
|
-
export function emitAgentFinalizing(
|
|
64
|
-
bus: RuntimeEventBus,
|
|
65
|
-
ctx: EmitterContext,
|
|
66
|
-
data: { agentId: string; taskId?: string }
|
|
67
|
-
): void {
|
|
68
|
-
bus.emit('agents', createEventEnvelope('AGENT_FINALIZING', { type: 'AGENT_FINALIZING', ...data }, ctx));
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/** Emit AGENT_COMPLETED when an agent finishes successfully. */
|
|
72
|
-
export function emitAgentCompleted(
|
|
73
|
-
bus: RuntimeEventBus,
|
|
74
|
-
ctx: EmitterContext,
|
|
75
|
-
data: { agentId: string; taskId?: string; durationMs: number; output?: string; toolCallsMade?: number }
|
|
76
|
-
): void {
|
|
77
|
-
bus.emit('agents', createEventEnvelope('AGENT_COMPLETED', { type: 'AGENT_COMPLETED', ...data }, ctx));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/** Emit AGENT_FAILED when an agent fails. */
|
|
81
|
-
export function emitAgentFailed(
|
|
82
|
-
bus: RuntimeEventBus,
|
|
83
|
-
ctx: EmitterContext,
|
|
84
|
-
data: { agentId: string; taskId?: string; error: string; durationMs: number }
|
|
85
|
-
): void {
|
|
86
|
-
bus.emit('agents', createEventEnvelope('AGENT_FAILED', { type: 'AGENT_FAILED', ...data }, ctx));
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/** Emit AGENT_CANCELLED when an agent is cancelled. */
|
|
90
|
-
export function emitAgentCancelled(
|
|
91
|
-
bus: RuntimeEventBus,
|
|
92
|
-
ctx: EmitterContext,
|
|
93
|
-
data: { agentId: string; taskId?: string; reason?: string }
|
|
94
|
-
): void {
|
|
95
|
-
bus.emit('agents', createEventEnvelope('AGENT_CANCELLED', { type: 'AGENT_CANCELLED', ...data }, ctx));
|
|
96
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Automation emitters — typed wrappers for AutomationEvent 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 { AutomationEvent } from '@pellux/goodvibes-sdk/platform/runtime/events/automation';
|
|
9
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
10
|
-
|
|
11
|
-
function automationEvent<T extends AutomationEvent['type']>(
|
|
12
|
-
type: T,
|
|
13
|
-
data: Omit<Extract<AutomationEvent, { type: T }>, 'type'>,
|
|
14
|
-
ctx: EmitterContext,
|
|
15
|
-
): RuntimeEventEnvelope<T, Extract<AutomationEvent, { type: T }>> {
|
|
16
|
-
return createEventEnvelope(type, { type, ...data } as Extract<AutomationEvent, { type: T }>, ctx);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function emitAutomationJobCreated(
|
|
20
|
-
bus: RuntimeEventBus,
|
|
21
|
-
ctx: EmitterContext,
|
|
22
|
-
data: { jobId: string; name: string; scheduleKind: 'at' | 'every' | 'cron'; enabled: boolean },
|
|
23
|
-
): void {
|
|
24
|
-
bus.emit('automation', automationEvent('AUTOMATION_JOB_CREATED', data, ctx));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function emitAutomationJobUpdated(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { jobId: string; changedFields: string[] },
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('automation', automationEvent('AUTOMATION_JOB_UPDATED', data, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function emitAutomationJobEnabled(
|
|
36
|
-
bus: RuntimeEventBus,
|
|
37
|
-
ctx: EmitterContext,
|
|
38
|
-
data: { jobId: string },
|
|
39
|
-
): void {
|
|
40
|
-
bus.emit('automation', automationEvent('AUTOMATION_JOB_ENABLED', data, ctx));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function emitAutomationJobDisabled(
|
|
44
|
-
bus: RuntimeEventBus,
|
|
45
|
-
ctx: EmitterContext,
|
|
46
|
-
data: { jobId: string; reason: string },
|
|
47
|
-
): void {
|
|
48
|
-
bus.emit('automation', automationEvent('AUTOMATION_JOB_DISABLED', data, ctx));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export function emitAutomationRunQueued(
|
|
52
|
-
bus: RuntimeEventBus,
|
|
53
|
-
ctx: EmitterContext,
|
|
54
|
-
data: { jobId: string; runId: string; scheduledAt: number; forced: boolean },
|
|
55
|
-
): void {
|
|
56
|
-
bus.emit('automation', automationEvent('AUTOMATION_RUN_QUEUED', data, ctx));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export function emitAutomationRunStarted(
|
|
60
|
-
bus: RuntimeEventBus,
|
|
61
|
-
ctx: EmitterContext,
|
|
62
|
-
data: { jobId: string; runId: string; startedAt: number; attempt: number },
|
|
63
|
-
): void {
|
|
64
|
-
bus.emit('automation', automationEvent('AUTOMATION_RUN_STARTED', data, ctx));
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export function emitAutomationRunCompleted(
|
|
68
|
-
bus: RuntimeEventBus,
|
|
69
|
-
ctx: EmitterContext,
|
|
70
|
-
data: {
|
|
71
|
-
jobId: string;
|
|
72
|
-
runId: string;
|
|
73
|
-
startedAt: number;
|
|
74
|
-
completedAt: number;
|
|
75
|
-
durationMs: number;
|
|
76
|
-
outcome: 'success' | 'partial' | 'failed' | 'cancelled';
|
|
77
|
-
},
|
|
78
|
-
): void {
|
|
79
|
-
bus.emit('automation', automationEvent('AUTOMATION_RUN_COMPLETED', data, ctx));
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export function emitAutomationRunFailed(
|
|
83
|
-
bus: RuntimeEventBus,
|
|
84
|
-
ctx: EmitterContext,
|
|
85
|
-
data: { jobId: string; runId: string; startedAt: number; failedAt: number; error: string; retryable: boolean },
|
|
86
|
-
): void {
|
|
87
|
-
bus.emit('automation', automationEvent('AUTOMATION_RUN_FAILED', data, ctx));
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export function emitAutomationRunCancelled(
|
|
91
|
-
bus: RuntimeEventBus,
|
|
92
|
-
ctx: EmitterContext,
|
|
93
|
-
data: { jobId: string; runId: string; cancelledAt: number; reason: string },
|
|
94
|
-
): void {
|
|
95
|
-
bus.emit('automation', automationEvent('AUTOMATION_RUN_CANCELLED', data, ctx));
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export function emitAutomationScheduleError(
|
|
99
|
-
bus: RuntimeEventBus,
|
|
100
|
-
ctx: EmitterContext,
|
|
101
|
-
data: { jobId: string; scheduleText: string; error: string },
|
|
102
|
-
): void {
|
|
103
|
-
bus.emit('automation', automationEvent('AUTOMATION_SCHEDULE_ERROR', data, ctx));
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
export function emitAutomationJobAutoDisabled(
|
|
107
|
-
bus: RuntimeEventBus,
|
|
108
|
-
ctx: EmitterContext,
|
|
109
|
-
data: { jobId: string; reason: string; consecutiveFailures: number },
|
|
110
|
-
): void {
|
|
111
|
-
bus.emit('automation', automationEvent('AUTOMATION_JOB_AUTO_DISABLED', data, ctx));
|
|
112
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Communication emitters — typed emission wrappers for communication 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
|
-
import type { CommunicationKind, CommunicationScope } from '@pellux/goodvibes-sdk/platform/runtime/events/communication';
|
|
8
|
-
|
|
9
|
-
type BaseCommunication = {
|
|
10
|
-
messageId: string;
|
|
11
|
-
fromId: string;
|
|
12
|
-
toId: string;
|
|
13
|
-
scope: CommunicationScope;
|
|
14
|
-
kind: CommunicationKind;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export function emitCommunicationSent(
|
|
18
|
-
bus: RuntimeEventBus,
|
|
19
|
-
ctx: EmitterContext,
|
|
20
|
-
data: BaseCommunication & {
|
|
21
|
-
content: string;
|
|
22
|
-
fromRole?: string;
|
|
23
|
-
toRole?: string;
|
|
24
|
-
cohort?: string;
|
|
25
|
-
wrfcId?: string;
|
|
26
|
-
parentAgentId?: string;
|
|
27
|
-
},
|
|
28
|
-
): void {
|
|
29
|
-
bus.emit('communication', createEventEnvelope('COMMUNICATION_SENT', { type: 'COMMUNICATION_SENT', ...data }, ctx));
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export function emitCommunicationDelivered(
|
|
33
|
-
bus: RuntimeEventBus,
|
|
34
|
-
ctx: EmitterContext,
|
|
35
|
-
data: BaseCommunication,
|
|
36
|
-
): void {
|
|
37
|
-
bus.emit('communication', createEventEnvelope('COMMUNICATION_DELIVERED', { type: 'COMMUNICATION_DELIVERED', ...data }, ctx));
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function emitCommunicationBlocked(
|
|
41
|
-
bus: RuntimeEventBus,
|
|
42
|
-
ctx: EmitterContext,
|
|
43
|
-
data: BaseCommunication & {
|
|
44
|
-
reason: string;
|
|
45
|
-
fromRole?: string;
|
|
46
|
-
toRole?: string;
|
|
47
|
-
cohort?: string;
|
|
48
|
-
wrfcId?: string;
|
|
49
|
-
parentAgentId?: string;
|
|
50
|
-
},
|
|
51
|
-
): void {
|
|
52
|
-
bus.emit('communication', createEventEnvelope('COMMUNICATION_BLOCKED', { type: 'COMMUNICATION_BLOCKED', ...data }, ctx));
|
|
53
|
-
}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* emitters/compaction.ts
|
|
3
|
-
*
|
|
4
|
-
* Typed emission wrappers for the CompactionEvent domain.
|
|
5
|
-
*
|
|
6
|
-
* All emitter functions follow the same signature pattern as other domain
|
|
7
|
-
* emitters: (bus, ctx, data) → void.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { createEventEnvelope } from '@pellux/goodvibes-sdk/platform/runtime/events/envelope';
|
|
11
|
-
import type { RuntimeEventBus } from '@pellux/goodvibes-sdk/platform/runtime/events/index';
|
|
12
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
13
|
-
|
|
14
|
-
/** Emit COMPACTION_CHECK when a threshold check is triggered. */
|
|
15
|
-
export function emitCompactionCheck(
|
|
16
|
-
bus: RuntimeEventBus,
|
|
17
|
-
ctx: EmitterContext,
|
|
18
|
-
data: { sessionId: string; tokenCount: number; threshold: number },
|
|
19
|
-
): void {
|
|
20
|
-
bus.emit(
|
|
21
|
-
'compaction',
|
|
22
|
-
createEventEnvelope('COMPACTION_CHECK', { type: 'COMPACTION_CHECK', ...data }, ctx),
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/** Emit COMPACTION_MICROCOMPACT after a micro-compaction run. */
|
|
27
|
-
export function emitCompactionMicrocompact(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { sessionId: string; turnCount: number; tokensBefore: number; tokensAfter: number },
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit(
|
|
33
|
-
'compaction',
|
|
34
|
-
createEventEnvelope('COMPACTION_MICROCOMPACT', { type: 'COMPACTION_MICROCOMPACT', ...data }, ctx),
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/** Emit COMPACTION_COLLAPSE after a collapse compaction run. */
|
|
39
|
-
export function emitCompactionCollapse(
|
|
40
|
-
bus: RuntimeEventBus,
|
|
41
|
-
ctx: EmitterContext,
|
|
42
|
-
data: { sessionId: string; messageCount: number; tokensBefore: number; tokensAfter: number },
|
|
43
|
-
): void {
|
|
44
|
-
bus.emit(
|
|
45
|
-
'compaction',
|
|
46
|
-
createEventEnvelope('COMPACTION_COLLAPSE', { type: 'COMPACTION_COLLAPSE', ...data }, ctx),
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/** Emit COMPACTION_AUTOCOMPACT when auto-compaction is triggered. */
|
|
51
|
-
export function emitCompactionAutocompact(
|
|
52
|
-
bus: RuntimeEventBus,
|
|
53
|
-
ctx: EmitterContext,
|
|
54
|
-
data: { sessionId: string; strategy: string; tokensBefore: number; tokensAfter: number },
|
|
55
|
-
): void {
|
|
56
|
-
bus.emit(
|
|
57
|
-
'compaction',
|
|
58
|
-
createEventEnvelope('COMPACTION_AUTOCOMPACT', { type: 'COMPACTION_AUTOCOMPACT', ...data }, ctx),
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/** Emit COMPACTION_REACTIVE when reactive compaction is triggered. */
|
|
63
|
-
export function emitCompactionReactive(
|
|
64
|
-
bus: RuntimeEventBus,
|
|
65
|
-
ctx: EmitterContext,
|
|
66
|
-
data: { sessionId: string; tokenCount: number; limit: number },
|
|
67
|
-
): void {
|
|
68
|
-
bus.emit(
|
|
69
|
-
'compaction',
|
|
70
|
-
createEventEnvelope('COMPACTION_REACTIVE', { type: 'COMPACTION_REACTIVE', ...data }, ctx),
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/** Emit COMPACTION_BOUNDARY_COMMIT when a boundary commit is persisted. */
|
|
75
|
-
export function emitCompactionBoundaryCommit(
|
|
76
|
-
bus: RuntimeEventBus,
|
|
77
|
-
ctx: EmitterContext,
|
|
78
|
-
data: { sessionId: string; checkpointId: string },
|
|
79
|
-
): void {
|
|
80
|
-
bus.emit(
|
|
81
|
-
'compaction',
|
|
82
|
-
createEventEnvelope(
|
|
83
|
-
'COMPACTION_BOUNDARY_COMMIT',
|
|
84
|
-
{ type: 'COMPACTION_BOUNDARY_COMMIT', ...data },
|
|
85
|
-
ctx,
|
|
86
|
-
),
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/** Emit COMPACTION_DONE when a compaction lifecycle run completes successfully. */
|
|
91
|
-
export function emitCompactionDone(
|
|
92
|
-
bus: RuntimeEventBus,
|
|
93
|
-
ctx: EmitterContext,
|
|
94
|
-
data: { sessionId: string; strategy: string; tokensBefore: number; tokensAfter: number; durationMs: number },
|
|
95
|
-
): void {
|
|
96
|
-
bus.emit(
|
|
97
|
-
'compaction',
|
|
98
|
-
createEventEnvelope('COMPACTION_DONE', { type: 'COMPACTION_DONE', ...data }, ctx),
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/** Emit COMPACTION_RESUME_REPAIR after a session resume repair pipeline run. */
|
|
103
|
-
export function emitCompactionResumeRepair(
|
|
104
|
-
bus: RuntimeEventBus,
|
|
105
|
-
ctx: EmitterContext,
|
|
106
|
-
data: { sessionId: string; repaired: boolean; actionsCount: number; safeToResume: boolean },
|
|
107
|
-
): void {
|
|
108
|
-
bus.emit(
|
|
109
|
-
'compaction',
|
|
110
|
-
createEventEnvelope(
|
|
111
|
-
'COMPACTION_RESUME_REPAIR',
|
|
112
|
-
{ type: 'COMPACTION_RESUME_REPAIR', ...data },
|
|
113
|
-
ctx,
|
|
114
|
-
),
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/** Emit COMPACTION_QUALITY_SCORE after scoring a strategy run. */
|
|
119
|
-
export function emitCompactionQualityScore(
|
|
120
|
-
bus: RuntimeEventBus,
|
|
121
|
-
ctx: EmitterContext,
|
|
122
|
-
data: {
|
|
123
|
-
sessionId: string;
|
|
124
|
-
strategy: string;
|
|
125
|
-
score: number;
|
|
126
|
-
grade: string;
|
|
127
|
-
compressionRatio: number;
|
|
128
|
-
retentionScore: number;
|
|
129
|
-
isLowQuality: boolean;
|
|
130
|
-
description: string;
|
|
131
|
-
},
|
|
132
|
-
): void {
|
|
133
|
-
bus.emit(
|
|
134
|
-
'compaction',
|
|
135
|
-
createEventEnvelope('COMPACTION_QUALITY_SCORE', { type: 'COMPACTION_QUALITY_SCORE', ...data }, ctx),
|
|
136
|
-
);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
/** Emit COMPACTION_STRATEGY_SWITCH when auto-escalation changes strategy due to low quality. */
|
|
140
|
-
export function emitCompactionStrategySwitch(
|
|
141
|
-
bus: RuntimeEventBus,
|
|
142
|
-
ctx: EmitterContext,
|
|
143
|
-
data: { sessionId: string; fromStrategy: string; toStrategy: string; reason: string; score: number },
|
|
144
|
-
): void {
|
|
145
|
-
bus.emit(
|
|
146
|
-
'compaction',
|
|
147
|
-
createEventEnvelope('COMPACTION_STRATEGY_SWITCH', { type: 'COMPACTION_STRATEGY_SWITCH', ...data }, ctx),
|
|
148
|
-
);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/** Emit COMPACTION_FAILED when a compaction lifecycle run fails. */
|
|
152
|
-
export function emitCompactionFailed(
|
|
153
|
-
bus: RuntimeEventBus,
|
|
154
|
-
ctx: EmitterContext,
|
|
155
|
-
data: { sessionId: string; strategy: string; error: string },
|
|
156
|
-
): void {
|
|
157
|
-
bus.emit(
|
|
158
|
-
'compaction',
|
|
159
|
-
createEventEnvelope('COMPACTION_FAILED', { type: 'COMPACTION_FAILED', ...data }, ctx),
|
|
160
|
-
);
|
|
161
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Control-plane emitters — typed wrappers for ControlPlaneEvent 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 { ControlPlaneClientKind, ControlPlaneEvent, ControlPlanePrincipalKind, ControlPlaneTransportKind } from '@pellux/goodvibes-sdk/platform/runtime/events/control-plane';
|
|
9
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
10
|
-
|
|
11
|
-
function controlPlaneEvent<T extends ControlPlaneEvent['type']>(
|
|
12
|
-
type: T,
|
|
13
|
-
data: Omit<Extract<ControlPlaneEvent, { type: T }>, 'type'>,
|
|
14
|
-
ctx: EmitterContext,
|
|
15
|
-
): RuntimeEventEnvelope<T, Extract<ControlPlaneEvent, { type: T }>> {
|
|
16
|
-
return createEventEnvelope(type, { type, ...data } as Extract<ControlPlaneEvent, { type: T }>, ctx);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function emitControlPlaneClientConnected(
|
|
20
|
-
bus: RuntimeEventBus,
|
|
21
|
-
ctx: EmitterContext,
|
|
22
|
-
data: { clientId: string; clientKind: ControlPlaneClientKind; transport: ControlPlaneTransportKind },
|
|
23
|
-
): void {
|
|
24
|
-
bus.emit('control-plane', controlPlaneEvent('CONTROL_PLANE_CLIENT_CONNECTED', data, ctx));
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function emitControlPlaneClientDisconnected(
|
|
28
|
-
bus: RuntimeEventBus,
|
|
29
|
-
ctx: EmitterContext,
|
|
30
|
-
data: { clientId: string; reason: string },
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('control-plane', controlPlaneEvent('CONTROL_PLANE_CLIENT_DISCONNECTED', data, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function emitControlPlaneSubscriptionCreated(
|
|
36
|
-
bus: RuntimeEventBus,
|
|
37
|
-
ctx: EmitterContext,
|
|
38
|
-
data: { clientId: string; subscriptionId: string; topics: string[] },
|
|
39
|
-
): void {
|
|
40
|
-
bus.emit('control-plane', controlPlaneEvent('CONTROL_PLANE_SUBSCRIPTION_CREATED', data, ctx));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function emitControlPlaneSubscriptionDropped(
|
|
44
|
-
bus: RuntimeEventBus,
|
|
45
|
-
ctx: EmitterContext,
|
|
46
|
-
data: { clientId: string; subscriptionId: string; reason: string },
|
|
47
|
-
): void {
|
|
48
|
-
bus.emit('control-plane', controlPlaneEvent('CONTROL_PLANE_SUBSCRIPTION_DROPPED', data, ctx));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export function emitControlPlaneAuthGranted(
|
|
52
|
-
bus: RuntimeEventBus,
|
|
53
|
-
ctx: EmitterContext,
|
|
54
|
-
data: { clientId: string; principalId: string; principalKind: ControlPlanePrincipalKind; scopes: string[] },
|
|
55
|
-
): void {
|
|
56
|
-
bus.emit('control-plane', controlPlaneEvent('CONTROL_PLANE_AUTH_GRANTED', data, ctx));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export function emitControlPlaneAuthRejected(
|
|
60
|
-
bus: RuntimeEventBus,
|
|
61
|
-
ctx: EmitterContext,
|
|
62
|
-
data: { clientId: string; principalId: string; reason: string },
|
|
63
|
-
): void {
|
|
64
|
-
bus.emit('control-plane', controlPlaneEvent('CONTROL_PLANE_AUTH_REJECTED', data, ctx));
|
|
65
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Delivery emitters — typed wrappers for DeliveryEvent 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 { DeliveryEvent, DeliveryKind } from '@pellux/goodvibes-sdk/platform/runtime/events/deliveries';
|
|
9
|
-
import type { RouteSurfaceKind } from '@pellux/goodvibes-sdk/platform/runtime/events/routes';
|
|
10
|
-
import type { EmitterContext } from '@pellux/goodvibes-sdk/platform/runtime/emitters/index';
|
|
11
|
-
|
|
12
|
-
function deliveryEvent<T extends DeliveryEvent['type']>(
|
|
13
|
-
type: T,
|
|
14
|
-
data: Omit<Extract<DeliveryEvent, { type: T }>, 'type'>,
|
|
15
|
-
ctx: EmitterContext,
|
|
16
|
-
): RuntimeEventEnvelope<T, Extract<DeliveryEvent, { type: T }>> {
|
|
17
|
-
return createEventEnvelope(type, { type, ...data } as Extract<DeliveryEvent, { type: T }>, ctx);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function emitDeliveryQueued(
|
|
21
|
-
bus: RuntimeEventBus,
|
|
22
|
-
ctx: EmitterContext,
|
|
23
|
-
data: {
|
|
24
|
-
deliveryId: string;
|
|
25
|
-
jobId: string;
|
|
26
|
-
runId: string;
|
|
27
|
-
surfaceKind: RouteSurfaceKind;
|
|
28
|
-
targetId: string;
|
|
29
|
-
deliveryKind: DeliveryKind;
|
|
30
|
-
},
|
|
31
|
-
): void {
|
|
32
|
-
bus.emit('deliveries', deliveryEvent('DELIVERY_QUEUED', data, ctx));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function emitDeliveryStarted(
|
|
36
|
-
bus: RuntimeEventBus,
|
|
37
|
-
ctx: EmitterContext,
|
|
38
|
-
data: { deliveryId: string; jobId: string; runId: string; surfaceKind: RouteSurfaceKind; targetId: string; startedAt: number },
|
|
39
|
-
): void {
|
|
40
|
-
bus.emit('deliveries', deliveryEvent('DELIVERY_STARTED', data, ctx));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function emitDeliverySucceeded(
|
|
44
|
-
bus: RuntimeEventBus,
|
|
45
|
-
ctx: EmitterContext,
|
|
46
|
-
data: { deliveryId: string; jobId: string; runId: string; surfaceKind: RouteSurfaceKind; targetId: string; completedAt: number; durationMs: number; statusCode: number },
|
|
47
|
-
): void {
|
|
48
|
-
bus.emit('deliveries', deliveryEvent('DELIVERY_SUCCEEDED', data, ctx));
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export function emitDeliveryFailed(
|
|
52
|
-
bus: RuntimeEventBus,
|
|
53
|
-
ctx: EmitterContext,
|
|
54
|
-
data: { deliveryId: string; jobId: string; runId: string; surfaceKind: RouteSurfaceKind; targetId: string; failedAt: number; error: string; retryable: boolean },
|
|
55
|
-
): void {
|
|
56
|
-
bus.emit('deliveries', deliveryEvent('DELIVERY_FAILED', data, ctx));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export function emitDeliveryDeadLettered(
|
|
60
|
-
bus: RuntimeEventBus,
|
|
61
|
-
ctx: EmitterContext,
|
|
62
|
-
data: { deliveryId: string; jobId: string; runId: string; surfaceKind: RouteSurfaceKind; targetId: string; reason: string; attempts: number },
|
|
63
|
-
): void {
|
|
64
|
-
bus.emit('deliveries', deliveryEvent('DELIVERY_DEAD_LETTERED', data, ctx));
|
|
65
|
-
}
|