@jungjaehoon/mama-os 0.28.6 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/agent-loop.d.ts +0 -4
- package/dist/agent/agent-loop.d.ts.map +1 -1
- package/dist/agent/agent-loop.js +33 -10
- package/dist/agent/agent-loop.js.map +1 -1
- package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
- package/dist/agent/code-act/host-bridge.js +53 -3
- package/dist/agent/code-act/host-bridge.js.map +1 -1
- package/dist/agent/code-act/tool-policy.d.ts.map +1 -1
- package/dist/agent/code-act/tool-policy.js +5 -0
- package/dist/agent/code-act/tool-policy.js.map +1 -1
- package/dist/agent/codex-auth.d.ts +0 -1
- package/dist/agent/codex-auth.d.ts.map +1 -1
- package/dist/agent/codex-auth.js +0 -4
- package/dist/agent/codex-auth.js.map +1 -1
- package/dist/agent/codex-home.d.ts +0 -2
- package/dist/agent/codex-home.d.ts.map +1 -1
- package/dist/agent/codex-home.js +0 -66
- package/dist/agent/codex-home.js.map +1 -1
- package/dist/agent/context-compile-service.d.ts +9 -0
- package/dist/agent/context-compile-service.d.ts.map +1 -1
- package/dist/agent/context-compile-service.js +6 -0
- package/dist/agent/context-compile-service.js.map +1 -1
- package/dist/agent/context-prompt-builder.d.ts +0 -6
- package/dist/agent/context-prompt-builder.d.ts.map +1 -1
- package/dist/agent/context-prompt-builder.js +0 -131
- package/dist/agent/context-prompt-builder.js.map +1 -1
- package/dist/agent/contract-extractor.d.ts +0 -4
- package/dist/agent/contract-extractor.d.ts.map +1 -1
- package/dist/agent/contract-extractor.js +0 -68
- package/dist/agent/contract-extractor.js.map +1 -1
- package/dist/agent/gateway-tool-executor.d.ts +20 -15
- package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
- package/dist/agent/gateway-tool-executor.js +236 -90
- package/dist/agent/gateway-tool-executor.js.map +1 -1
- package/dist/agent/gateway-tools.md +7 -4
- package/dist/agent/skill-loader.d.ts +0 -7
- package/dist/agent/skill-loader.d.ts.map +1 -1
- package/dist/agent/skill-loader.js +0 -86
- package/dist/agent/skill-loader.js.map +1 -1
- package/dist/agent/token-estimator.d.ts +0 -8
- package/dist/agent/token-estimator.d.ts.map +1 -1
- package/dist/agent/token-estimator.js +0 -14
- package/dist/agent/token-estimator.js.map +1 -1
- package/dist/agent/tool-registry.d.ts.map +1 -1
- package/dist/agent/tool-registry.js +23 -5
- package/dist/agent/tool-registry.js.map +1 -1
- package/dist/agent/types.d.ts +27 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/api/agent-graph-handler.d.ts +9 -0
- package/dist/api/agent-graph-handler.d.ts.map +1 -1
- package/dist/api/agent-graph-handler.js +27 -1
- package/dist/api/agent-graph-handler.js.map +1 -1
- package/dist/api/entity-audit-handler.d.ts +1 -2
- package/dist/api/entity-audit-handler.d.ts.map +1 -1
- package/dist/api/entity-audit-handler.js +0 -5
- package/dist/api/entity-audit-handler.js.map +1 -1
- package/dist/api/index.d.ts +1 -9
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +4 -17
- package/dist/api/index.js.map +1 -1
- package/dist/api/intelligence-handler.d.ts +0 -5
- package/dist/api/intelligence-handler.d.ts.map +1 -1
- package/dist/api/intelligence-handler.js +0 -15
- package/dist/api/intelligence-handler.js.map +1 -1
- package/dist/api/types.d.ts +1 -5
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js +0 -14
- package/dist/api/types.js.map +1 -1
- package/dist/cli/commands/start.d.ts +117 -3
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +223 -62
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/config/config-manager.d.ts +0 -5
- package/dist/cli/config/config-manager.d.ts.map +1 -1
- package/dist/cli/config/config-manager.js +0 -29
- package/dist/cli/config/config-manager.js.map +1 -1
- package/dist/cli/config/types.d.ts.map +1 -1
- package/dist/cli/config/types.js +3 -0
- package/dist/cli/config/types.js.map +1 -1
- package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
- package/dist/cli/runtime/api-routes-init.js +32 -5
- package/dist/cli/runtime/api-routes-init.js.map +1 -1
- package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
- package/dist/cli/runtime/api-server-init.js +2 -0
- package/dist/cli/runtime/api-server-init.js.map +1 -1
- package/dist/cli/runtime/gateway-init.d.ts +1 -1
- package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
- package/dist/cli/runtime/gateway-init.js +11 -38
- package/dist/cli/runtime/gateway-init.js.map +1 -1
- package/dist/cli/runtime/gateway-wiring.d.ts.map +1 -1
- package/dist/cli/runtime/gateway-wiring.js +6 -120
- package/dist/cli/runtime/gateway-wiring.js.map +1 -1
- package/dist/cli/utils/pid-manager.d.ts +0 -10
- package/dist/cli/utils/pid-manager.d.ts.map +1 -1
- package/dist/cli/utils/pid-manager.js +0 -26
- package/dist/cli/utils/pid-manager.js.map +1 -1
- package/dist/connectors/framework/polling-scheduler.d.ts +33 -1
- package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
- package/dist/connectors/framework/polling-scheduler.js +46 -40
- package/dist/connectors/framework/polling-scheduler.js.map +1 -1
- package/dist/connectors/trello/query-tools.d.ts +32 -5
- package/dist/connectors/trello/query-tools.d.ts.map +1 -1
- package/dist/connectors/trello/query-tools.js +56 -17
- package/dist/connectors/trello/query-tools.js.map +1 -1
- package/dist/db/agent-store.d.ts +0 -4
- package/dist/db/agent-store.d.ts.map +1 -1
- package/dist/db/agent-store.js +0 -65
- package/dist/db/agent-store.js.map +1 -1
- package/dist/envelope/enforcer.d.ts.map +1 -1
- package/dist/envelope/enforcer.js +10 -1
- package/dist/envelope/enforcer.js.map +1 -1
- package/dist/envelope/index.d.ts +0 -1
- package/dist/envelope/index.d.ts.map +1 -1
- package/dist/envelope/index.js +0 -1
- package/dist/envelope/index.js.map +1 -1
- package/dist/envelope/signature.d.ts +0 -1
- package/dist/envelope/signature.d.ts.map +1 -1
- package/dist/envelope/signature.js +0 -7
- package/dist/envelope/signature.js.map +1 -1
- package/dist/envelope/tool-connector-scope.d.ts +35 -0
- package/dist/envelope/tool-connector-scope.d.ts.map +1 -0
- package/dist/envelope/tool-connector-scope.js +57 -0
- package/dist/envelope/tool-connector-scope.js.map +1 -0
- package/dist/evidence/effects.d.ts +107 -0
- package/dist/evidence/effects.d.ts.map +1 -0
- package/dist/evidence/effects.js +281 -0
- package/dist/evidence/effects.js.map +1 -0
- package/dist/evidence/read.d.ts +75 -0
- package/dist/evidence/read.d.ts.map +1 -0
- package/dist/evidence/read.js +105 -0
- package/dist/evidence/read.js.map +1 -0
- package/dist/gateways/base-gateway.d.ts +23 -3
- package/dist/gateways/base-gateway.d.ts.map +1 -1
- package/dist/gateways/base-gateway.js +15 -2
- package/dist/gateways/base-gateway.js.map +1 -1
- package/dist/gateways/discord.d.ts +4 -16
- package/dist/gateways/discord.d.ts.map +1 -1
- package/dist/gateways/discord.js +22 -189
- package/dist/gateways/discord.js.map +1 -1
- package/dist/gateways/index.d.ts +2 -1
- package/dist/gateways/index.d.ts.map +1 -1
- package/dist/gateways/message-router.d.ts +13 -20
- package/dist/gateways/message-router.d.ts.map +1 -1
- package/dist/gateways/message-router.js +32 -3
- package/dist/gateways/message-router.js.map +1 -1
- package/dist/gateways/slack.d.ts +2 -12
- package/dist/gateways/slack.d.ts.map +1 -1
- package/dist/gateways/slack.js +6 -220
- package/dist/gateways/slack.js.map +1 -1
- package/dist/gateways/telegram.d.ts +2 -2
- package/dist/gateways/telegram.d.ts.map +1 -1
- package/dist/gateways/telegram.js +3 -2
- package/dist/gateways/telegram.js.map +1 -1
- package/dist/gateways/turn-contract.d.ts +104 -0
- package/dist/gateways/turn-contract.d.ts.map +1 -0
- package/dist/{memory/consult-contract.js → gateways/turn-contract.js} +1 -1
- package/dist/gateways/turn-contract.js.map +1 -0
- package/dist/memory/provenance-live.d.ts +111 -0
- package/dist/memory/provenance-live.d.ts.map +1 -0
- package/dist/memory/provenance-live.js +381 -0
- package/dist/memory/provenance-live.js.map +1 -0
- package/dist/memory/provenance-resolver.d.ts +184 -0
- package/dist/memory/provenance-resolver.d.ts.map +1 -0
- package/dist/memory/provenance-resolver.js +152 -0
- package/dist/memory/provenance-resolver.js.map +1 -0
- package/dist/multi-agent/agent-event-bus.d.ts +1 -0
- package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
- package/dist/multi-agent/bmad-templates.d.ts +0 -18
- package/dist/multi-agent/bmad-templates.d.ts.map +1 -1
- package/dist/multi-agent/bmad-templates.js +0 -127
- package/dist/multi-agent/bmad-templates.js.map +1 -1
- package/dist/multi-agent/dashboard-agent-persona.js +3 -3
- package/dist/operator/board-reconcile.d.ts +2 -3
- package/dist/operator/board-reconcile.d.ts.map +1 -1
- package/dist/operator/board-reconcile.js +18 -32
- package/dist/operator/board-reconcile.js.map +1 -1
- package/dist/operator/changes-projection.d.ts +70 -0
- package/dist/operator/changes-projection.d.ts.map +1 -0
- package/dist/operator/changes-projection.js +109 -0
- package/dist/operator/changes-projection.js.map +1 -0
- package/dist/operator/external-correlation.d.ts +94 -0
- package/dist/operator/external-correlation.d.ts.map +1 -0
- package/dist/operator/external-correlation.js +177 -0
- package/dist/operator/external-correlation.js.map +1 -0
- package/dist/operator/operator-trigger-loop.d.ts +9 -1
- package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
- package/dist/operator/operator-trigger-loop.js +8 -4
- package/dist/operator/operator-trigger-loop.js.map +1 -1
- package/dist/operator/provenance-lookup.d.ts +18 -0
- package/dist/operator/provenance-lookup.d.ts.map +1 -0
- package/dist/operator/provenance-lookup.js +54 -0
- package/dist/operator/provenance-lookup.js.map +1 -0
- package/dist/operator/report-carry.d.ts +18 -1
- package/dist/operator/report-carry.d.ts.map +1 -1
- package/dist/operator/report-carry.js +22 -3
- package/dist/operator/report-carry.js.map +1 -1
- package/dist/operator/report-run.d.ts +31 -0
- package/dist/operator/report-run.d.ts.map +1 -1
- package/dist/operator/report-run.js +140 -22
- package/dist/operator/report-run.js.map +1 -1
- package/dist/operator/task-ledger.d.ts +84 -2
- package/dist/operator/task-ledger.d.ts.map +1 -1
- package/dist/operator/task-ledger.js +274 -31
- package/dist/operator/task-ledger.js.map +1 -1
- package/dist/operator/worker-run.js +1 -1
- package/dist/operator/worker-run.js.map +1 -1
- package/dist/operator/workorder-hooks.d.ts +79 -4
- package/dist/operator/workorder-hooks.d.ts.map +1 -1
- package/dist/operator/workorder-hooks.js +152 -20
- package/dist/operator/workorder-hooks.js.map +1 -1
- package/dist/operator/workorder-publishers.d.ts +2 -0
- package/dist/operator/workorder-publishers.d.ts.map +1 -1
- package/dist/operator/workorder-publishers.js +8 -1
- package/dist/operator/workorder-publishers.js.map +1 -1
- package/dist/utils/untrusted-content.d.ts +11 -0
- package/dist/utils/untrusted-content.d.ts.map +1 -1
- package/dist/utils/untrusted-content.js +20 -0
- package/dist/utils/untrusted-content.js.map +1 -1
- package/package.json +4 -3
- package/scripts/backfill-channel-keys.ts +451 -0
- package/dist/agent/auto-recall.d.ts +0 -48
- package/dist/agent/auto-recall.d.ts.map +0 -1
- package/dist/agent/auto-recall.js +0 -192
- package/dist/agent/auto-recall.js.map +0 -1
- package/dist/agent/claude-client.d.ts +0 -50
- package/dist/agent/claude-client.d.ts.map +0 -1
- package/dist/agent/claude-client.js +0 -219
- package/dist/agent/claude-client.js.map +0 -1
- package/dist/agent/delegation-executor.d.ts +0 -49
- package/dist/agent/delegation-executor.d.ts.map +0 -1
- package/dist/agent/delegation-executor.js +0 -692
- package/dist/agent/delegation-executor.js.map +0 -1
- package/dist/agent/mcp-executor.d.ts +0 -60
- package/dist/agent/mcp-executor.d.ts.map +0 -1
- package/dist/agent/mcp-executor.js +0 -190
- package/dist/agent/mcp-executor.js.map +0 -1
- package/dist/agent/process-tree.d.ts +0 -6
- package/dist/agent/process-tree.d.ts.map +0 -1
- package/dist/agent/process-tree.js +0 -21
- package/dist/agent/process-tree.js.map +0 -1
- package/dist/agent/streaming-callback-manager.d.ts +0 -85
- package/dist/agent/streaming-callback-manager.d.ts.map +0 -1
- package/dist/agent/streaming-callback-manager.js +0 -103
- package/dist/agent/streaming-callback-manager.js.map +0 -1
- package/dist/agent/token-budget.d.ts +0 -49
- package/dist/agent/token-budget.d.ts.map +0 -1
- package/dist/agent/token-budget.js +0 -92
- package/dist/agent/token-budget.js.map +0 -1
- package/dist/connectors/kagemusha/history-compiler.d.ts +0 -18
- package/dist/connectors/kagemusha/history-compiler.d.ts.map +0 -1
- package/dist/connectors/kagemusha/history-compiler.js +0 -35
- package/dist/connectors/kagemusha/history-compiler.js.map +0 -1
- package/dist/db/migrations/wiki-artifacts.d.ts +0 -3
- package/dist/db/migrations/wiki-artifacts.d.ts.map +0 -1
- package/dist/db/migrations/wiki-artifacts.js +0 -24
- package/dist/db/migrations/wiki-artifacts.js.map +0 -1
- package/dist/envelope/subset.d.ts +0 -9
- package/dist/envelope/subset.d.ts.map +0 -1
- package/dist/envelope/subset.js +0 -67
- package/dist/envelope/subset.js.map +0 -1
- package/dist/memory/consult-contract.d.ts +0 -8
- package/dist/memory/consult-contract.d.ts.map +0 -1
- package/dist/memory/consult-contract.js.map +0 -1
- package/dist/multi-agent/agent-message-queue.d.ts +0 -104
- package/dist/multi-agent/agent-message-queue.d.ts.map +0 -1
- package/dist/multi-agent/agent-message-queue.js +0 -227
- package/dist/multi-agent/agent-message-queue.js.map +0 -1
- package/dist/multi-agent/background-task-manager.d.ts +0 -248
- package/dist/multi-agent/background-task-manager.d.ts.map +0 -1
- package/dist/multi-agent/background-task-manager.js +0 -415
- package/dist/multi-agent/background-task-manager.js.map +0 -1
- package/dist/multi-agent/category-router.d.ts +0 -56
- package/dist/multi-agent/category-router.d.ts.map +0 -1
- package/dist/multi-agent/category-router.js +0 -99
- package/dist/multi-agent/category-router.js.map +0 -1
- package/dist/multi-agent/council-engine.d.ts +0 -60
- package/dist/multi-agent/council-engine.d.ts.map +0 -1
- package/dist/multi-agent/council-engine.js +0 -284
- package/dist/multi-agent/council-engine.js.map +0 -1
- package/dist/multi-agent/delegation-format-validator.d.ts +0 -22
- package/dist/multi-agent/delegation-format-validator.d.ts.map +0 -1
- package/dist/multi-agent/delegation-format-validator.js +0 -31
- package/dist/multi-agent/delegation-format-validator.js.map +0 -1
- package/dist/multi-agent/delegation-manager.d.ts +0 -128
- package/dist/multi-agent/delegation-manager.d.ts.map +0 -1
- package/dist/multi-agent/delegation-manager.js +0 -276
- package/dist/multi-agent/delegation-manager.js.map +0 -1
- package/dist/multi-agent/i18n-messages.d.ts +0 -35
- package/dist/multi-agent/i18n-messages.d.ts.map +0 -1
- package/dist/multi-agent/i18n-messages.js +0 -54
- package/dist/multi-agent/i18n-messages.js.map +0 -1
- package/dist/multi-agent/index.d.ts +0 -31
- package/dist/multi-agent/index.d.ts.map +0 -1
- package/dist/multi-agent/index.js +0 -46
- package/dist/multi-agent/index.js.map +0 -1
- package/dist/multi-agent/multi-agent-base.d.ts +0 -223
- package/dist/multi-agent/multi-agent-base.d.ts.map +0 -1
- package/dist/multi-agent/multi-agent-base.js +0 -592
- package/dist/multi-agent/multi-agent-base.js.map +0 -1
- package/dist/multi-agent/multi-agent-discord.d.ts +0 -142
- package/dist/multi-agent/multi-agent-discord.d.ts.map +0 -1
- package/dist/multi-agent/multi-agent-discord.js +0 -1235
- package/dist/multi-agent/multi-agent-discord.js.map +0 -1
- package/dist/multi-agent/multi-agent-slack.d.ts +0 -146
- package/dist/multi-agent/multi-agent-slack.d.ts.map +0 -1
- package/dist/multi-agent/multi-agent-slack.js +0 -953
- package/dist/multi-agent/multi-agent-slack.js.map +0 -1
- package/dist/multi-agent/multi-bot-manager.d.ts +0 -119
- package/dist/multi-agent/multi-bot-manager.d.ts.map +0 -1
- package/dist/multi-agent/multi-bot-manager.js +0 -449
- package/dist/multi-agent/multi-bot-manager.js.map +0 -1
- package/dist/multi-agent/orchestrator.d.ts +0 -110
- package/dist/multi-agent/orchestrator.d.ts.map +0 -1
- package/dist/multi-agent/orchestrator.js +0 -436
- package/dist/multi-agent/orchestrator.js.map +0 -1
- package/dist/multi-agent/rate-limiter.d.ts +0 -76
- package/dist/multi-agent/rate-limiter.d.ts.map +0 -1
- package/dist/multi-agent/rate-limiter.js +0 -128
- package/dist/multi-agent/rate-limiter.js.map +0 -1
- package/dist/multi-agent/shared-context.d.ts +0 -127
- package/dist/multi-agent/shared-context.d.ts.map +0 -1
- package/dist/multi-agent/shared-context.js +0 -239
- package/dist/multi-agent/shared-context.js.map +0 -1
- package/dist/multi-agent/slack-config-validator.d.ts +0 -42
- package/dist/multi-agent/slack-config-validator.d.ts.map +0 -1
- package/dist/multi-agent/slack-config-validator.js +0 -194
- package/dist/multi-agent/slack-config-validator.js.map +0 -1
- package/dist/multi-agent/slack-multi-bot-manager.d.ts +0 -143
- package/dist/multi-agent/slack-multi-bot-manager.d.ts.map +0 -1
- package/dist/multi-agent/slack-multi-bot-manager.js +0 -413
- package/dist/multi-agent/slack-multi-bot-manager.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts +0 -98
- package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js +0 -225
- package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-db.d.ts +0 -175
- package/dist/multi-agent/swarm/swarm-db.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-db.js +0 -313
- package/dist/multi-agent/swarm/swarm-db.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-event-reporter.d.ts +0 -116
- package/dist/multi-agent/swarm/swarm-event-reporter.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-event-reporter.js +0 -243
- package/dist/multi-agent/swarm/swarm-event-reporter.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts +0 -57
- package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-mama-adapter.js +0 -87
- package/dist/multi-agent/swarm/swarm-mama-adapter.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-manager.d.ts +0 -122
- package/dist/multi-agent/swarm/swarm-manager.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-manager.js +0 -199
- package/dist/multi-agent/swarm/swarm-manager.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-task-learner.d.ts +0 -104
- package/dist/multi-agent/swarm/swarm-task-learner.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-task-learner.js +0 -211
- package/dist/multi-agent/swarm/swarm-task-learner.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-task-runner.d.ts +0 -155
- package/dist/multi-agent/swarm/swarm-task-runner.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-task-runner.js +0 -615
- package/dist/multi-agent/swarm/swarm-task-runner.js.map +0 -1
- package/dist/multi-agent/swarm/wave-engine.d.ts +0 -96
- package/dist/multi-agent/swarm/wave-engine.d.ts.map +0 -1
- package/dist/multi-agent/swarm/wave-engine.js +0 -123
- package/dist/multi-agent/swarm/wave-engine.js.map +0 -1
- package/dist/multi-agent/system-reminder.d.ts +0 -206
- package/dist/multi-agent/system-reminder.d.ts.map +0 -1
- package/dist/multi-agent/system-reminder.js +0 -455
- package/dist/multi-agent/system-reminder.js.map +0 -1
- package/dist/multi-agent/task-continuation.d.ts +0 -74
- package/dist/multi-agent/task-continuation.d.ts.map +0 -1
- package/dist/multi-agent/task-continuation.js +0 -172
- package/dist/multi-agent/task-continuation.js.map +0 -1
- package/dist/multi-agent/ultrawork-state.d.ts +0 -57
- package/dist/multi-agent/ultrawork-state.d.ts.map +0 -1
- package/dist/multi-agent/ultrawork-state.js +0 -191
- package/dist/multi-agent/ultrawork-state.js.map +0 -1
- package/dist/multi-agent/ultrawork.d.ts +0 -152
- package/dist/multi-agent/ultrawork.d.ts.map +0 -1
- package/dist/multi-agent/ultrawork.js +0 -879
- package/dist/multi-agent/ultrawork.js.map +0 -1
- package/dist/multi-agent/work-tracker.d.ts +0 -22
- package/dist/multi-agent/work-tracker.d.ts.map +0 -1
- package/dist/multi-agent/work-tracker.js +0 -45
- package/dist/multi-agent/work-tracker.js.map +0 -1
- package/dist/multi-agent/workflow-engine.d.ts +0 -87
- package/dist/multi-agent/workflow-engine.d.ts.map +0 -1
- package/dist/multi-agent/workflow-engine.js +0 -604
- package/dist/multi-agent/workflow-engine.js.map +0 -1
- package/dist/onboarding/all-tools.d.ts +0 -18
- package/dist/onboarding/all-tools.d.ts.map +0 -1
- package/dist/onboarding/all-tools.js +0 -149
- package/dist/onboarding/all-tools.js.map +0 -1
- package/dist/onboarding/autonomous-discovery-tools.d.ts +0 -23
- package/dist/onboarding/autonomous-discovery-tools.d.ts.map +0 -1
- package/dist/onboarding/autonomous-discovery-tools.js +0 -268
- package/dist/onboarding/autonomous-discovery-tools.js.map +0 -1
- package/dist/onboarding/onboarding-state.d.ts +0 -70
- package/dist/onboarding/onboarding-state.d.ts.map +0 -1
- package/dist/onboarding/onboarding-state.js +0 -183
- package/dist/onboarding/onboarding-state.js.map +0 -1
- package/dist/onboarding/personality-quiz.d.ts +0 -35
- package/dist/onboarding/personality-quiz.d.ts.map +0 -1
- package/dist/onboarding/personality-quiz.js +0 -219
- package/dist/onboarding/personality-quiz.js.map +0 -1
- package/dist/onboarding/phase-5-summary.d.ts +0 -26
- package/dist/onboarding/phase-5-summary.d.ts.map +0 -1
- package/dist/onboarding/phase-5-summary.js +0 -153
- package/dist/onboarding/phase-5-summary.js.map +0 -1
- package/dist/onboarding/phase-6-security.d.ts +0 -33
- package/dist/onboarding/phase-6-security.d.ts.map +0 -1
- package/dist/onboarding/phase-6-security.js +0 -473
- package/dist/onboarding/phase-6-security.js.map +0 -1
- package/dist/onboarding/phase-7-integrations.d.ts +0 -91
- package/dist/onboarding/phase-7-integrations.d.ts.map +0 -1
- package/dist/onboarding/phase-7-integrations.js +0 -725
- package/dist/onboarding/phase-7-integrations.js.map +0 -1
- package/dist/onboarding/phase-8-demo.d.ts +0 -43
- package/dist/onboarding/phase-8-demo.d.ts.map +0 -1
- package/dist/onboarding/phase-8-demo.js +0 -346
- package/dist/onboarding/phase-8-demo.js.map +0 -1
- package/dist/onboarding/phase-9-finalization.d.ts +0 -27
- package/dist/onboarding/phase-9-finalization.d.ts.map +0 -1
- package/dist/onboarding/phase-9-finalization.js +0 -417
- package/dist/onboarding/phase-9-finalization.js.map +0 -1
- package/dist/onboarding/ritual-prompt.d.ts +0 -2
- package/dist/onboarding/ritual-prompt.d.ts.map +0 -1
- package/dist/onboarding/ritual-prompt.js +0 -285
- package/dist/onboarding/ritual-prompt.js.map +0 -1
- package/dist/onboarding/ritual-tools.d.ts +0 -17
- package/dist/onboarding/ritual-tools.d.ts.map +0 -1
- package/dist/onboarding/ritual-tools.js +0 -93
- package/dist/onboarding/ritual-tools.js.map +0 -1
- package/dist/setup/setup-tools.d.ts +0 -13
- package/dist/setup/setup-tools.d.ts.map +0 -1
- package/dist/setup/setup-tools.js +0 -106
- package/dist/setup/setup-tools.js.map +0 -1
- package/dist/utils/slack-input-validator.d.ts +0 -74
- package/dist/utils/slack-input-validator.d.ts.map +0 -1
- package/dist/utils/slack-input-validator.js +0 -275
- package/dist/utils/slack-input-validator.js.map +0 -1
- package/dist/utils/slack-rate-limiter.d.ts +0 -139
- package/dist/utils/slack-rate-limiter.d.ts.map +0 -1
- package/dist/utils/slack-rate-limiter.js +0 -324
- package/dist/utils/slack-rate-limiter.js.map +0 -1
- package/dist/wiki/wiki-compiler.d.ts +0 -13
- package/dist/wiki/wiki-compiler.d.ts.map +0 -1
- package/dist/wiki/wiki-compiler.js +0 -82
- package/dist/wiki/wiki-compiler.js.map +0 -1
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Swarm Task Queue Database
|
|
4
|
-
*
|
|
5
|
-
* SQLite-based task queue for Swarm multi-agent coordination.
|
|
6
|
-
* Provides atomic task claiming, dependency tracking, and lease expiration.
|
|
7
|
-
*
|
|
8
|
-
* Features:
|
|
9
|
-
* - Atomic task claiming with transactions
|
|
10
|
-
* - Wave-based task sequencing
|
|
11
|
-
* - File ownership tracking (conflict detection)
|
|
12
|
-
* - Dependency resolution (task DAG)
|
|
13
|
-
* - Stale lease expiration (fault tolerance)
|
|
14
|
-
*
|
|
15
|
-
* @module swarm-db
|
|
16
|
-
* @version 1.0
|
|
17
|
-
*/
|
|
18
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.initSwarmDb = initSwarmDb;
|
|
23
|
-
exports.createTask = createTask;
|
|
24
|
-
exports.claimTask = claimTask;
|
|
25
|
-
exports.completeTask = completeTask;
|
|
26
|
-
exports.failTask = failTask;
|
|
27
|
-
exports.failPendingTask = failPendingTask;
|
|
28
|
-
exports.retryTask = retryTask;
|
|
29
|
-
exports.deferTask = deferTask;
|
|
30
|
-
exports.getTasksBySession = getTasksBySession;
|
|
31
|
-
exports.getPendingTasks = getPendingTasks;
|
|
32
|
-
exports.expireStaleLeases = expireStaleLeases;
|
|
33
|
-
exports.parseFilesOwned = parseFilesOwned;
|
|
34
|
-
exports.parseDependsOn = parseDependsOn;
|
|
35
|
-
const sqlite_js_1 = __importDefault(require("../../sqlite.js"));
|
|
36
|
-
const crypto_1 = require("crypto");
|
|
37
|
-
/**
|
|
38
|
-
* Initialize Swarm database
|
|
39
|
-
*
|
|
40
|
-
* Creates swarm_tasks table if not exists.
|
|
41
|
-
* Does NOT use WAL mode to avoid conflicts with existing databases.
|
|
42
|
-
*
|
|
43
|
-
* @param dbPath - Path to SQLite database file
|
|
44
|
-
* @returns Database instance
|
|
45
|
-
* @throws {Error} If database file cannot be opened (invalid path, permissions, etc.)
|
|
46
|
-
*/
|
|
47
|
-
function initSwarmDb(dbPath) {
|
|
48
|
-
const db = new sqlite_js_1.default(dbPath);
|
|
49
|
-
// Create swarm_tasks table
|
|
50
|
-
db.prepare(`
|
|
51
|
-
CREATE TABLE IF NOT EXISTS swarm_tasks (
|
|
52
|
-
id TEXT PRIMARY KEY,
|
|
53
|
-
session_id TEXT NOT NULL,
|
|
54
|
-
description TEXT NOT NULL,
|
|
55
|
-
category TEXT NOT NULL,
|
|
56
|
-
priority INTEGER DEFAULT 0,
|
|
57
|
-
wave INTEGER NOT NULL,
|
|
58
|
-
status TEXT DEFAULT 'pending',
|
|
59
|
-
claimed_by TEXT,
|
|
60
|
-
claimed_at INTEGER,
|
|
61
|
-
completed_at INTEGER,
|
|
62
|
-
result TEXT,
|
|
63
|
-
files_owned TEXT,
|
|
64
|
-
depends_on TEXT,
|
|
65
|
-
retry_count INTEGER DEFAULT 0
|
|
66
|
-
)
|
|
67
|
-
`).run();
|
|
68
|
-
// Create indexes for common queries
|
|
69
|
-
// Indexes are created with IF NOT EXISTS to avoid errors on repeated initialization
|
|
70
|
-
db.prepare(`CREATE INDEX IF NOT EXISTS idx_swarm_session ON swarm_tasks(session_id)`).run();
|
|
71
|
-
db.prepare(`CREATE INDEX IF NOT EXISTS idx_swarm_status ON swarm_tasks(status)`).run();
|
|
72
|
-
db.prepare(`CREATE INDEX IF NOT EXISTS idx_swarm_wave ON swarm_tasks(wave)`).run();
|
|
73
|
-
return db;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Create a new task
|
|
77
|
-
*
|
|
78
|
-
* @param db - Database instance
|
|
79
|
-
* @param params - Task parameters
|
|
80
|
-
* @returns Task ID (UUID)
|
|
81
|
-
*/
|
|
82
|
-
function createTask(db, params) {
|
|
83
|
-
const id = (0, crypto_1.randomUUID)();
|
|
84
|
-
const priority = params.priority ?? 0;
|
|
85
|
-
const files_owned = params.files_owned ? JSON.stringify(params.files_owned) : null;
|
|
86
|
-
const depends_on = params.depends_on ? JSON.stringify(params.depends_on) : null;
|
|
87
|
-
db.prepare(`
|
|
88
|
-
INSERT INTO swarm_tasks (
|
|
89
|
-
id, session_id, description, category, priority, wave, files_owned, depends_on
|
|
90
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
91
|
-
`).run(id, params.session_id, params.description, params.category, priority, params.wave, files_owned, depends_on);
|
|
92
|
-
return id;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Atomically claim a task
|
|
96
|
-
*
|
|
97
|
-
* Uses transaction to ensure only one agent can claim a task.
|
|
98
|
-
* Verifies task is 'pending' before claiming.
|
|
99
|
-
*
|
|
100
|
-
* @param db - Database instance
|
|
101
|
-
* @param taskId - Task ID to claim
|
|
102
|
-
* @param agentId - Agent claiming the task
|
|
103
|
-
* @returns true if claimed successfully, false if already claimed
|
|
104
|
-
*/
|
|
105
|
-
function claimTask(db, taskId, agentId) {
|
|
106
|
-
const claim = db.transaction(() => {
|
|
107
|
-
// Check if task exists and is pending
|
|
108
|
-
const task = db.prepare(`SELECT status FROM swarm_tasks WHERE id = ?`).get(taskId);
|
|
109
|
-
if (!task || task.status !== 'pending') {
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
// Atomically claim the task
|
|
113
|
-
const now = Date.now();
|
|
114
|
-
const result = db
|
|
115
|
-
.prepare(`
|
|
116
|
-
UPDATE swarm_tasks
|
|
117
|
-
SET status = 'claimed', claimed_by = ?, claimed_at = ?
|
|
118
|
-
WHERE id = ? AND status = 'pending'
|
|
119
|
-
`)
|
|
120
|
-
.run(agentId, now, taskId);
|
|
121
|
-
return result.changes > 0;
|
|
122
|
-
});
|
|
123
|
-
return claim();
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Mark a task as completed
|
|
127
|
-
*
|
|
128
|
-
* @param db - Database instance
|
|
129
|
-
* @param taskId - Task ID
|
|
130
|
-
* @param result - Optional result data (JSON string or plain text)
|
|
131
|
-
* @returns true if updated successfully
|
|
132
|
-
*/
|
|
133
|
-
function completeTask(db, taskId, result) {
|
|
134
|
-
const now = Date.now();
|
|
135
|
-
const updateResult = db
|
|
136
|
-
.prepare(`
|
|
137
|
-
UPDATE swarm_tasks
|
|
138
|
-
SET status = 'completed', completed_at = ?, result = ?
|
|
139
|
-
WHERE id = ? AND status = 'claimed'
|
|
140
|
-
`)
|
|
141
|
-
.run(now, result ?? null, taskId);
|
|
142
|
-
return updateResult.changes > 0;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Mark a task as failed
|
|
146
|
-
*
|
|
147
|
-
* @param db - Database instance
|
|
148
|
-
* @param taskId - Task ID
|
|
149
|
-
* @param result - Optional error message or failure details
|
|
150
|
-
* @returns true if updated successfully
|
|
151
|
-
*/
|
|
152
|
-
function failTask(db, taskId, result) {
|
|
153
|
-
const now = Date.now();
|
|
154
|
-
const updateResult = db
|
|
155
|
-
.prepare(`
|
|
156
|
-
UPDATE swarm_tasks
|
|
157
|
-
SET status = 'failed', completed_at = ?, result = ?
|
|
158
|
-
WHERE id = ? AND status = 'claimed'
|
|
159
|
-
`)
|
|
160
|
-
.run(now, result ?? null, taskId);
|
|
161
|
-
return updateResult.changes > 0;
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Mark a pending task as failed (for dependency propagation)
|
|
165
|
-
*
|
|
166
|
-
* Used when a task's dependency fails and the task hasn't been claimed yet.
|
|
167
|
-
*
|
|
168
|
-
* @param db - Database instance
|
|
169
|
-
* @param taskId - Task ID
|
|
170
|
-
* @param result - Optional error message or failure details
|
|
171
|
-
* @returns true if updated successfully
|
|
172
|
-
*/
|
|
173
|
-
function failPendingTask(db, taskId, result) {
|
|
174
|
-
const now = Date.now();
|
|
175
|
-
const updateResult = db
|
|
176
|
-
.prepare(`
|
|
177
|
-
UPDATE swarm_tasks
|
|
178
|
-
SET status = 'failed', completed_at = ?, result = ?
|
|
179
|
-
WHERE id = ? AND status = 'pending'
|
|
180
|
-
`)
|
|
181
|
-
.run(now, result ?? null, taskId);
|
|
182
|
-
return updateResult.changes > 0;
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Retry a failed task
|
|
186
|
-
*
|
|
187
|
-
* Resets task status to pending and increments retry_count.
|
|
188
|
-
* Used for automatic retry on task failure.
|
|
189
|
-
*
|
|
190
|
-
* @param db - Database instance
|
|
191
|
-
* @param taskId - Task ID
|
|
192
|
-
* @returns true if task was reset to pending
|
|
193
|
-
*/
|
|
194
|
-
function retryTask(db, taskId) {
|
|
195
|
-
const result = db
|
|
196
|
-
.prepare(`
|
|
197
|
-
UPDATE swarm_tasks
|
|
198
|
-
SET status = 'pending', claimed_by = NULL, claimed_at = NULL, retry_count = retry_count + 1
|
|
199
|
-
WHERE id = ? AND (status = 'claimed' OR status = 'failed')
|
|
200
|
-
`)
|
|
201
|
-
.run(taskId);
|
|
202
|
-
return result.changes > 0;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Defer a claimed task back to pending without incrementing retry_count
|
|
206
|
-
*
|
|
207
|
-
* Used when agent process is busy (not ready to accept new requests).
|
|
208
|
-
* Unlike retryTask(), this does NOT increment retry_count.
|
|
209
|
-
*
|
|
210
|
-
* @param db - Database instance
|
|
211
|
-
* @param taskId - Task ID to defer
|
|
212
|
-
* @returns true if task was deferred, false otherwise
|
|
213
|
-
*/
|
|
214
|
-
function deferTask(db, taskId) {
|
|
215
|
-
const result = db
|
|
216
|
-
.prepare(`
|
|
217
|
-
UPDATE swarm_tasks
|
|
218
|
-
SET status = 'pending', claimed_by = NULL, claimed_at = NULL
|
|
219
|
-
WHERE id = ? AND status = 'claimed'
|
|
220
|
-
`)
|
|
221
|
-
.run(taskId);
|
|
222
|
-
return result.changes > 0;
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Get all tasks for a session
|
|
226
|
-
*
|
|
227
|
-
* @param db - Database instance
|
|
228
|
-
* @param sessionId - Session ID
|
|
229
|
-
* @returns Array of tasks
|
|
230
|
-
*/
|
|
231
|
-
function getTasksBySession(db, sessionId) {
|
|
232
|
-
return db
|
|
233
|
-
.prepare(`SELECT * FROM swarm_tasks WHERE session_id = ? ORDER BY wave, priority DESC`)
|
|
234
|
-
.all(sessionId);
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Get pending tasks for a session
|
|
238
|
-
*
|
|
239
|
-
* Optionally filter by wave number.
|
|
240
|
-
*
|
|
241
|
-
* @param db - Database instance
|
|
242
|
-
* @param sessionId - Session ID
|
|
243
|
-
* @param wave - Optional wave number filter
|
|
244
|
-
* @returns Array of pending tasks
|
|
245
|
-
*/
|
|
246
|
-
function getPendingTasks(db, sessionId, wave) {
|
|
247
|
-
if (wave !== undefined) {
|
|
248
|
-
return db
|
|
249
|
-
.prepare(`SELECT * FROM swarm_tasks WHERE session_id = ? AND status = 'pending' AND wave = ? ORDER BY priority DESC`)
|
|
250
|
-
.all(sessionId, wave);
|
|
251
|
-
}
|
|
252
|
-
return db
|
|
253
|
-
.prepare(`SELECT * FROM swarm_tasks WHERE session_id = ? AND status = 'pending' ORDER BY wave, priority DESC`)
|
|
254
|
-
.all(sessionId);
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Expire stale claimed tasks
|
|
258
|
-
*
|
|
259
|
-
* Returns claimed tasks older than maxAgeMs to pending status.
|
|
260
|
-
* This handles agent crashes or hung processes.
|
|
261
|
-
*
|
|
262
|
-
* @param db - Database instance
|
|
263
|
-
* @param maxAgeMs - Maximum age for claimed tasks (default: 15 minutes)
|
|
264
|
-
* @returns Number of expired tasks
|
|
265
|
-
*/
|
|
266
|
-
function expireStaleLeases(db, maxAgeMs = 15 * 60 * 1000) {
|
|
267
|
-
const expireThreshold = Date.now() - maxAgeMs;
|
|
268
|
-
const result = db
|
|
269
|
-
.prepare(`
|
|
270
|
-
UPDATE swarm_tasks
|
|
271
|
-
SET status = 'pending', claimed_by = NULL, claimed_at = NULL
|
|
272
|
-
WHERE status = 'claimed' AND claimed_at < ?
|
|
273
|
-
`)
|
|
274
|
-
.run(expireThreshold);
|
|
275
|
-
return result.changes;
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* Parse files_owned JSON array from task record
|
|
279
|
-
*
|
|
280
|
-
* @param task - Swarm task record
|
|
281
|
-
* @returns Array of file paths, or empty array if null/invalid
|
|
282
|
-
*/
|
|
283
|
-
function parseFilesOwned(task) {
|
|
284
|
-
if (!task.files_owned) {
|
|
285
|
-
return [];
|
|
286
|
-
}
|
|
287
|
-
try {
|
|
288
|
-
const parsed = JSON.parse(task.files_owned);
|
|
289
|
-
return Array.isArray(parsed) ? parsed : [];
|
|
290
|
-
}
|
|
291
|
-
catch {
|
|
292
|
-
return [];
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* Parse depends_on JSON array from task record
|
|
297
|
-
*
|
|
298
|
-
* @param task - Swarm task record
|
|
299
|
-
* @returns Array of task IDs, or empty array if null/invalid
|
|
300
|
-
*/
|
|
301
|
-
function parseDependsOn(task) {
|
|
302
|
-
if (!task.depends_on) {
|
|
303
|
-
return [];
|
|
304
|
-
}
|
|
305
|
-
try {
|
|
306
|
-
const parsed = JSON.parse(task.depends_on);
|
|
307
|
-
return Array.isArray(parsed) ? parsed : [];
|
|
308
|
-
}
|
|
309
|
-
catch {
|
|
310
|
-
return [];
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
//# sourceMappingURL=swarm-db.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swarm-db.js","sourceRoot":"","sources":["../../../src/multi-agent/swarm/swarm-db.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Swarm Event Reporter
|
|
3
|
-
*
|
|
4
|
-
* Converts SwarmTaskRunner events into formatted channel messages.
|
|
5
|
-
* Platform-agnostic (Discord/Slack) via callback pattern.
|
|
6
|
-
*
|
|
7
|
-
* Features:
|
|
8
|
-
* - Subscribes to task-completed, task-failed, session-complete, file-conflict events
|
|
9
|
-
* - Formats messages with emoji and concise details
|
|
10
|
-
* - Respects 1800 character limit for Discord compatibility
|
|
11
|
-
* - Verbose mode for detailed task information
|
|
12
|
-
* - Error-resilient message sending (logs errors, doesn't throw)
|
|
13
|
-
*
|
|
14
|
-
* @module swarm-event-reporter
|
|
15
|
-
* @version 1.0
|
|
16
|
-
*/
|
|
17
|
-
import type { SwarmTaskRunner } from './swarm-task-runner.js';
|
|
18
|
-
/**
|
|
19
|
-
* Callback to send formatted messages to a platform channel
|
|
20
|
-
*/
|
|
21
|
-
export type MessageSender = (channelId: string, message: string) => Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* Configuration options for SwarmEventReporter
|
|
24
|
-
*/
|
|
25
|
-
export interface SwarmEventReporterOptions {
|
|
26
|
-
/** Callback function to send messages to a channel */
|
|
27
|
-
sendMessage: MessageSender;
|
|
28
|
-
/** Channel ID where reports should be sent */
|
|
29
|
-
channelId: string;
|
|
30
|
-
/** Enable verbose mode with detailed task information (default: false) */
|
|
31
|
-
verbose?: boolean;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Swarm Event Reporter
|
|
35
|
-
*
|
|
36
|
-
* Listens to SwarmTaskRunner events and sends formatted messages to a channel.
|
|
37
|
-
* Platform-agnostic design allows integration with Discord, Slack, or any messaging system.
|
|
38
|
-
*
|
|
39
|
-
* @example
|
|
40
|
-
* ```typescript
|
|
41
|
-
* const reporter = new SwarmEventReporter(taskRunner, {
|
|
42
|
-
* sendMessage: async (channelId, msg) => {
|
|
43
|
-
* await discordClient.sendMessage(channelId, msg);
|
|
44
|
-
* },
|
|
45
|
-
* channelId: 'channel-123',
|
|
46
|
-
* verbose: true
|
|
47
|
-
* });
|
|
48
|
-
*
|
|
49
|
-
* reporter.start(); // Begin listening
|
|
50
|
-
* // ...
|
|
51
|
-
* reporter.stop(); // Stop listening
|
|
52
|
-
* ```
|
|
53
|
-
*/
|
|
54
|
-
export declare class SwarmEventReporter {
|
|
55
|
-
private runner;
|
|
56
|
-
private options;
|
|
57
|
-
private isStarted;
|
|
58
|
-
private taskCompletedHandler;
|
|
59
|
-
private taskFailedHandler;
|
|
60
|
-
private taskRetriedHandler;
|
|
61
|
-
private taskDeferredHandler;
|
|
62
|
-
private sessionCompleteHandler;
|
|
63
|
-
private fileConflictHandler;
|
|
64
|
-
constructor(runner: SwarmTaskRunner, options: SwarmEventReporterOptions);
|
|
65
|
-
/**
|
|
66
|
-
* Start listening to SwarmTaskRunner events
|
|
67
|
-
*
|
|
68
|
-
* Registers event handlers for task lifecycle events.
|
|
69
|
-
* Idempotent - calling multiple times has no effect.
|
|
70
|
-
*/
|
|
71
|
-
start(): void;
|
|
72
|
-
/**
|
|
73
|
-
* Stop listening to SwarmTaskRunner events
|
|
74
|
-
*
|
|
75
|
-
* Removes all registered event handlers.
|
|
76
|
-
* Idempotent - calling multiple times has no effect.
|
|
77
|
-
*/
|
|
78
|
-
stop(): void;
|
|
79
|
-
/**
|
|
80
|
-
* Format task-completed event message
|
|
81
|
-
*/
|
|
82
|
-
private formatTaskCompleted;
|
|
83
|
-
/**
|
|
84
|
-
* Format task-failed event message
|
|
85
|
-
*/
|
|
86
|
-
private formatTaskFailed;
|
|
87
|
-
/**
|
|
88
|
-
* Format task-retried event message
|
|
89
|
-
*/
|
|
90
|
-
private formatTaskRetried;
|
|
91
|
-
/**
|
|
92
|
-
* Format task-deferred event message
|
|
93
|
-
*/
|
|
94
|
-
private formatTaskDeferred;
|
|
95
|
-
/**
|
|
96
|
-
* Format session-complete event message
|
|
97
|
-
*/
|
|
98
|
-
private formatSessionComplete;
|
|
99
|
-
/**
|
|
100
|
-
* Format file-conflict event message
|
|
101
|
-
*/
|
|
102
|
-
private formatFileConflict;
|
|
103
|
-
/**
|
|
104
|
-
* Truncate text to max length with ellipsis
|
|
105
|
-
*/
|
|
106
|
-
private truncate;
|
|
107
|
-
/**
|
|
108
|
-
* Enforce 1800 character limit for Discord compatibility
|
|
109
|
-
*/
|
|
110
|
-
private enforceLimit;
|
|
111
|
-
/**
|
|
112
|
-
* Send message via callback, with error handling
|
|
113
|
-
*/
|
|
114
|
-
private sendMessage;
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=swarm-event-reporter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"swarm-event-reporter.d.ts","sourceRoot":"","sources":["../../../src/multi-agent/swarm/swarm-event-reporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,wBAAwB,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,sDAAsD;IACtD,WAAW,EAAE,aAAa,CAAC;IAC3B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,oBAAoB,CAAwD;IACpF,OAAO,CAAC,iBAAiB,CAAwD;IACjF,OAAO,CAAC,kBAAkB,CAEV;IAChB,OAAO,CAAC,mBAAmB,CAAwD;IACnF,OAAO,CAAC,sBAAsB,CAA8C;IAC5E,OAAO,CAAC,mBAAmB,CAEX;gBAEJ,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,yBAAyB;IAKvE;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IA4Db;;;;;OAKG;IACH,IAAI,IAAI,IAAI;IAwCZ;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,WAAW;CAKpB"}
|
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Swarm Event Reporter
|
|
4
|
-
*
|
|
5
|
-
* Converts SwarmTaskRunner events into formatted channel messages.
|
|
6
|
-
* Platform-agnostic (Discord/Slack) via callback pattern.
|
|
7
|
-
*
|
|
8
|
-
* Features:
|
|
9
|
-
* - Subscribes to task-completed, task-failed, session-complete, file-conflict events
|
|
10
|
-
* - Formats messages with emoji and concise details
|
|
11
|
-
* - Respects 1800 character limit for Discord compatibility
|
|
12
|
-
* - Verbose mode for detailed task information
|
|
13
|
-
* - Error-resilient message sending (logs errors, doesn't throw)
|
|
14
|
-
*
|
|
15
|
-
* @module swarm-event-reporter
|
|
16
|
-
* @version 1.0
|
|
17
|
-
*/
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.SwarmEventReporter = void 0;
|
|
20
|
-
/**
|
|
21
|
-
* Swarm Event Reporter
|
|
22
|
-
*
|
|
23
|
-
* Listens to SwarmTaskRunner events and sends formatted messages to a channel.
|
|
24
|
-
* Platform-agnostic design allows integration with Discord, Slack, or any messaging system.
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```typescript
|
|
28
|
-
* const reporter = new SwarmEventReporter(taskRunner, {
|
|
29
|
-
* sendMessage: async (channelId, msg) => {
|
|
30
|
-
* await discordClient.sendMessage(channelId, msg);
|
|
31
|
-
* },
|
|
32
|
-
* channelId: 'channel-123',
|
|
33
|
-
* verbose: true
|
|
34
|
-
* });
|
|
35
|
-
*
|
|
36
|
-
* reporter.start(); // Begin listening
|
|
37
|
-
* // ...
|
|
38
|
-
* reporter.stop(); // Stop listening
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
class SwarmEventReporter {
|
|
42
|
-
runner;
|
|
43
|
-
options;
|
|
44
|
-
isStarted = false;
|
|
45
|
-
// Event handler references (needed for removeListener)
|
|
46
|
-
taskCompletedHandler = null;
|
|
47
|
-
taskFailedHandler = null;
|
|
48
|
-
taskRetriedHandler = null;
|
|
49
|
-
taskDeferredHandler = null;
|
|
50
|
-
sessionCompleteHandler = null;
|
|
51
|
-
fileConflictHandler = null;
|
|
52
|
-
constructor(runner, options) {
|
|
53
|
-
this.runner = runner;
|
|
54
|
-
this.options = options;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Start listening to SwarmTaskRunner events
|
|
58
|
-
*
|
|
59
|
-
* Registers event handlers for task lifecycle events.
|
|
60
|
-
* Idempotent - calling multiple times has no effect.
|
|
61
|
-
*/
|
|
62
|
-
start() {
|
|
63
|
-
if (this.isStarted) {
|
|
64
|
-
console.warn('[SwarmEventReporter] Already started, ignoring duplicate start() call');
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
// task-completed event
|
|
68
|
-
this.taskCompletedHandler = (result) => {
|
|
69
|
-
const message = this.formatTaskCompleted(result);
|
|
70
|
-
this.sendMessage(message);
|
|
71
|
-
};
|
|
72
|
-
this.runner.on('task-completed', this.taskCompletedHandler);
|
|
73
|
-
// task-failed event
|
|
74
|
-
this.taskFailedHandler = (result) => {
|
|
75
|
-
const message = this.formatTaskFailed(result);
|
|
76
|
-
this.sendMessage(message);
|
|
77
|
-
};
|
|
78
|
-
this.runner.on('task-failed', this.taskFailedHandler);
|
|
79
|
-
// task-retried event
|
|
80
|
-
this.taskRetriedHandler = (result, attempt, maxRetries) => {
|
|
81
|
-
const message = this.formatTaskRetried(result, attempt, maxRetries);
|
|
82
|
-
this.sendMessage(message);
|
|
83
|
-
};
|
|
84
|
-
this.runner.on('task-retried', this.taskRetriedHandler);
|
|
85
|
-
// task-deferred event
|
|
86
|
-
this.taskDeferredHandler = (result) => {
|
|
87
|
-
const message = this.formatTaskDeferred(result);
|
|
88
|
-
this.sendMessage(message);
|
|
89
|
-
};
|
|
90
|
-
this.runner.on('task-deferred', this.taskDeferredHandler);
|
|
91
|
-
// session-complete event
|
|
92
|
-
this.sessionCompleteHandler = (sessionId) => {
|
|
93
|
-
const message = this.formatSessionComplete(sessionId);
|
|
94
|
-
this.sendMessage(message);
|
|
95
|
-
};
|
|
96
|
-
this.runner.on('session-complete', this.sessionCompleteHandler);
|
|
97
|
-
// file-conflict event
|
|
98
|
-
this.fileConflictHandler = (taskId, conflictingFiles, conflictingTasks) => {
|
|
99
|
-
const message = this.formatFileConflict(taskId, conflictingFiles, conflictingTasks);
|
|
100
|
-
this.sendMessage(message);
|
|
101
|
-
};
|
|
102
|
-
this.runner.on('file-conflict', this.fileConflictHandler);
|
|
103
|
-
this.isStarted = true;
|
|
104
|
-
console.log(`[SwarmEventReporter] Started reporting to channel ${this.options.channelId}`);
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Stop listening to SwarmTaskRunner events
|
|
108
|
-
*
|
|
109
|
-
* Removes all registered event handlers.
|
|
110
|
-
* Idempotent - calling multiple times has no effect.
|
|
111
|
-
*/
|
|
112
|
-
stop() {
|
|
113
|
-
if (!this.isStarted) {
|
|
114
|
-
console.warn('[SwarmEventReporter] Not started, ignoring stop() call');
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
if (this.taskCompletedHandler) {
|
|
118
|
-
this.runner.removeListener('task-completed', this.taskCompletedHandler);
|
|
119
|
-
this.taskCompletedHandler = null;
|
|
120
|
-
}
|
|
121
|
-
if (this.taskFailedHandler) {
|
|
122
|
-
this.runner.removeListener('task-failed', this.taskFailedHandler);
|
|
123
|
-
this.taskFailedHandler = null;
|
|
124
|
-
}
|
|
125
|
-
if (this.taskRetriedHandler) {
|
|
126
|
-
this.runner.removeListener('task-retried', this.taskRetriedHandler);
|
|
127
|
-
this.taskRetriedHandler = null;
|
|
128
|
-
}
|
|
129
|
-
if (this.taskDeferredHandler) {
|
|
130
|
-
this.runner.removeListener('task-deferred', this.taskDeferredHandler);
|
|
131
|
-
this.taskDeferredHandler = null;
|
|
132
|
-
}
|
|
133
|
-
if (this.sessionCompleteHandler) {
|
|
134
|
-
this.runner.removeListener('session-complete', this.sessionCompleteHandler);
|
|
135
|
-
this.sessionCompleteHandler = null;
|
|
136
|
-
}
|
|
137
|
-
if (this.fileConflictHandler) {
|
|
138
|
-
this.runner.removeListener('file-conflict', this.fileConflictHandler);
|
|
139
|
-
this.fileConflictHandler = null;
|
|
140
|
-
}
|
|
141
|
-
this.isStarted = false;
|
|
142
|
-
console.log('[SwarmEventReporter] Stopped reporting');
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Format task-completed event message
|
|
146
|
-
*/
|
|
147
|
-
formatTaskCompleted(result) {
|
|
148
|
-
const taskIdShort = result.taskId.substring(0, 8);
|
|
149
|
-
let message = `✅ Task \`${taskIdShort}\` completed by agent \`${result.agentId}\``;
|
|
150
|
-
if (this.options.verbose && result.result) {
|
|
151
|
-
const resultPreview = this.truncate(result.result, 80);
|
|
152
|
-
message += `\n> ${resultPreview}`;
|
|
153
|
-
}
|
|
154
|
-
return this.enforceLimit(message);
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Format task-failed event message
|
|
158
|
-
*/
|
|
159
|
-
formatTaskFailed(result) {
|
|
160
|
-
const taskIdShort = result.taskId.substring(0, 8);
|
|
161
|
-
let message = `❌ Task \`${taskIdShort}\` failed`;
|
|
162
|
-
if (result.error) {
|
|
163
|
-
const errorPreview = this.truncate(result.error, 100);
|
|
164
|
-
message += `\n> Error: ${errorPreview}`;
|
|
165
|
-
}
|
|
166
|
-
if (this.options.verbose && result.agentId) {
|
|
167
|
-
message += `\n> Agent: \`${result.agentId}\``;
|
|
168
|
-
}
|
|
169
|
-
return this.enforceLimit(message);
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Format task-retried event message
|
|
173
|
-
*/
|
|
174
|
-
formatTaskRetried(result, attempt, maxRetries) {
|
|
175
|
-
const taskIdShort = result.taskId.substring(0, 8);
|
|
176
|
-
let message = `🔄 Task \`${taskIdShort}\` retrying (attempt ${attempt}/${maxRetries})`;
|
|
177
|
-
if (this.options.verbose && result.error) {
|
|
178
|
-
const errorPreview = this.truncate(result.error, 80);
|
|
179
|
-
message += `\n> Error: ${errorPreview}`;
|
|
180
|
-
}
|
|
181
|
-
return this.enforceLimit(message);
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Format task-deferred event message
|
|
185
|
-
*/
|
|
186
|
-
formatTaskDeferred(result) {
|
|
187
|
-
const taskIdShort = result.taskId.substring(0, 8);
|
|
188
|
-
let message = `⏸️ Task \`${taskIdShort}\` deferred — agent \`${result.agentId}\` busy`;
|
|
189
|
-
if (this.options.verbose && result.error) {
|
|
190
|
-
const errorPreview = this.truncate(result.error, 80);
|
|
191
|
-
message += `\n> Reason: ${errorPreview}`;
|
|
192
|
-
}
|
|
193
|
-
return this.enforceLimit(message);
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Format session-complete event message
|
|
197
|
-
*/
|
|
198
|
-
formatSessionComplete(sessionId) {
|
|
199
|
-
const sessionIdShort = sessionId.substring(0, 8);
|
|
200
|
-
const message = `🏁 Session \`${sessionIdShort}\` complete — all tasks finished`;
|
|
201
|
-
return this.enforceLimit(message);
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Format file-conflict event message
|
|
205
|
-
*/
|
|
206
|
-
formatFileConflict(taskId, conflictingFiles, conflictingTasks) {
|
|
207
|
-
const taskIdShort = taskId.substring(0, 8);
|
|
208
|
-
const conflictingTasksShort = conflictingTasks.map((id) => id.substring(0, 8));
|
|
209
|
-
const tasksList = conflictingTasksShort.map((id) => `\`${id}\``).join(', ');
|
|
210
|
-
let message = `⚠️ File conflict: task \`${taskIdShort}\` shares files with ${tasksList}`;
|
|
211
|
-
if (this.options.verbose && conflictingFiles.length > 0) {
|
|
212
|
-
const filesPreview = conflictingFiles.slice(0, 5).join(', ');
|
|
213
|
-
const moreFiles = conflictingFiles.length > 5 ? ` (+${conflictingFiles.length - 5} more)` : '';
|
|
214
|
-
message += `\n> Files: ${filesPreview}${moreFiles}`;
|
|
215
|
-
}
|
|
216
|
-
return this.enforceLimit(message);
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Truncate text to max length with ellipsis
|
|
220
|
-
*/
|
|
221
|
-
truncate(text, maxLength) {
|
|
222
|
-
if (text.length <= maxLength) {
|
|
223
|
-
return text;
|
|
224
|
-
}
|
|
225
|
-
return text.substring(0, maxLength - 3) + '...';
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Enforce 1800 character limit for Discord compatibility
|
|
229
|
-
*/
|
|
230
|
-
enforceLimit(message) {
|
|
231
|
-
return this.truncate(message, 1800);
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Send message via callback, with error handling
|
|
235
|
-
*/
|
|
236
|
-
sendMessage(message) {
|
|
237
|
-
void this.options.sendMessage(this.options.channelId, message).catch((error) => {
|
|
238
|
-
console.error('[SwarmEventReporter] Failed to send message:', error);
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
exports.SwarmEventReporter = SwarmEventReporter;
|
|
243
|
-
//# sourceMappingURL=swarm-event-reporter.js.map
|