@jungjaehoon/mama-os 0.28.5 → 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 +44 -12
- 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/agent-loop-init.d.ts.map +1 -1
- package/dist/cli/runtime/agent-loop-init.js +9 -1
- package/dist/cli/runtime/agent-loop-init.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 +35 -0
- package/dist/operator/report-run.d.ts.map +1 -1
- package/dist/operator/report-run.js +184 -24
- package/dist/operator/report-run.js.map +1 -1
- package/dist/operator/situation-report.d.ts.map +1 -1
- package/dist/operator/situation-report.js +9 -2
- package/dist/operator/situation-report.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,248 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Background Task Manager
|
|
3
|
-
*
|
|
4
|
-
* Manages background task delegation for the multi-agent swarm system.
|
|
5
|
-
* Queues tasks, enforces concurrency limits per agent, tracks lifecycle,
|
|
6
|
-
* stores results, and emits events on completion/failure.
|
|
7
|
-
*
|
|
8
|
-
* Features:
|
|
9
|
-
* - Per-agent concurrency limits (configurable)
|
|
10
|
-
* - Global concurrency cap
|
|
11
|
-
* - Task lifecycle: pending → running → completed → failed
|
|
12
|
-
* - Result storage with recent-completed retention (last 50)
|
|
13
|
-
* - EventEmitter for task-started / task-completed / task-failed
|
|
14
|
-
* - Stale task detection with configurable timeout
|
|
15
|
-
* - Queue size limits to prevent unbounded growth
|
|
16
|
-
*
|
|
17
|
-
* @module background-task-manager
|
|
18
|
-
* @version 1.0
|
|
19
|
-
*/
|
|
20
|
-
import { EventEmitter } from 'events';
|
|
21
|
-
/**
|
|
22
|
-
* Task status lifecycle
|
|
23
|
-
*/
|
|
24
|
-
export type BackgroundTaskStatus = 'pending' | 'running' | 'completed' | 'failed';
|
|
25
|
-
/**
|
|
26
|
-
* A background task tracked by the manager
|
|
27
|
-
*/
|
|
28
|
-
export interface BackgroundTask {
|
|
29
|
-
/** Unique task ID with bg_ prefix (e.g. bg_a1b2c3d4) */
|
|
30
|
-
id: string;
|
|
31
|
-
/** Current lifecycle status */
|
|
32
|
-
status: BackgroundTaskStatus;
|
|
33
|
-
/** Human-readable task description */
|
|
34
|
-
description: string;
|
|
35
|
-
/** Full prompt to send to the executing agent */
|
|
36
|
-
prompt: string;
|
|
37
|
-
/** Agent ID that executes this task */
|
|
38
|
-
agentId: string;
|
|
39
|
-
/** Agent ID that requested this task */
|
|
40
|
-
requestedBy: string;
|
|
41
|
-
/** Source channel ID */
|
|
42
|
-
channelId: string;
|
|
43
|
-
/** Platform source */
|
|
44
|
-
source: 'discord' | 'slack';
|
|
45
|
-
/** Timestamp when task was queued */
|
|
46
|
-
queuedAt: number;
|
|
47
|
-
/** Timestamp when task started executing */
|
|
48
|
-
startedAt?: number;
|
|
49
|
-
/** Timestamp when task completed or failed */
|
|
50
|
-
completedAt?: number;
|
|
51
|
-
/** Agent response on success */
|
|
52
|
-
result?: string;
|
|
53
|
-
/** Error message on failure */
|
|
54
|
-
error?: string;
|
|
55
|
-
/** Execution duration in milliseconds */
|
|
56
|
-
duration?: number;
|
|
57
|
-
/** Number of retry attempts due to busy process */
|
|
58
|
-
retryCount?: number;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Options for submitting a new background task
|
|
62
|
-
*/
|
|
63
|
-
export interface BackgroundTaskSubmitOptions {
|
|
64
|
-
/** Human-readable task description */
|
|
65
|
-
description: string;
|
|
66
|
-
/** Full prompt to send to the executing agent */
|
|
67
|
-
prompt: string;
|
|
68
|
-
/** Agent ID that executes this task */
|
|
69
|
-
agentId: string;
|
|
70
|
-
/** Agent ID that requested this task */
|
|
71
|
-
requestedBy: string;
|
|
72
|
-
/** Source channel ID */
|
|
73
|
-
channelId: string;
|
|
74
|
-
/** Platform source */
|
|
75
|
-
source: 'discord' | 'slack';
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Configuration options for BackgroundTaskManager
|
|
79
|
-
*/
|
|
80
|
-
export interface BackgroundTaskManagerOptions {
|
|
81
|
-
/** Maximum concurrent tasks per agent (default: 2) */
|
|
82
|
-
maxConcurrentPerAgent?: number;
|
|
83
|
-
/** Maximum total concurrent tasks across all agents (default: 5) */
|
|
84
|
-
maxTotalConcurrent?: number;
|
|
85
|
-
/** Timeout in ms after which a running task is considered stale (default: 300000 = 5min) */
|
|
86
|
-
staleTimeoutMs?: number;
|
|
87
|
-
/** Maximum number of pending tasks in the queue (default: 20) */
|
|
88
|
-
maxQueueSize?: number;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Aggregate task statistics
|
|
92
|
-
*/
|
|
93
|
-
export interface BackgroundTaskStats {
|
|
94
|
-
/** Number of tasks waiting to execute */
|
|
95
|
-
pending: number;
|
|
96
|
-
/** Number of tasks currently running */
|
|
97
|
-
running: number;
|
|
98
|
-
/** Number of successfully completed tasks */
|
|
99
|
-
completed: number;
|
|
100
|
-
/** Number of failed tasks */
|
|
101
|
-
failed: number;
|
|
102
|
-
/** Total tasks submitted since manager creation */
|
|
103
|
-
totalSubmitted: number;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Event payload emitted on task lifecycle transitions
|
|
107
|
-
*/
|
|
108
|
-
export interface BackgroundTaskEvent {
|
|
109
|
-
/** The task that triggered the event */
|
|
110
|
-
task: BackgroundTask;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Background Task Manager
|
|
114
|
-
*
|
|
115
|
-
* Manages background task execution for the multi-agent swarm.
|
|
116
|
-
* Tasks are queued, executed respecting concurrency limits, and
|
|
117
|
-
* results are stored for later retrieval.
|
|
118
|
-
*
|
|
119
|
-
* @example
|
|
120
|
-
* ```typescript
|
|
121
|
-
* const manager = new BackgroundTaskManager(
|
|
122
|
-
* async (agentId, prompt) => {
|
|
123
|
-
* const response = await agentProcess.sendMessage(prompt);
|
|
124
|
-
* return response.text;
|
|
125
|
-
* },
|
|
126
|
-
* { maxConcurrentPerAgent: 2, maxTotalConcurrent: 5 }
|
|
127
|
-
* );
|
|
128
|
-
*
|
|
129
|
-
* const task = manager.submit({
|
|
130
|
-
* description: 'Analyze auth module',
|
|
131
|
-
* prompt: 'Review the auth module for security issues',
|
|
132
|
-
* agentId: 'reviewer',
|
|
133
|
-
* requestedBy: 'conductor',
|
|
134
|
-
* channelId: '123456789',
|
|
135
|
-
* source: 'discord',
|
|
136
|
-
* });
|
|
137
|
-
*
|
|
138
|
-
* manager.on('task-completed', ({ task }) => {
|
|
139
|
-
* console.log(`Task ${task.id} done: ${task.result}`);
|
|
140
|
-
* });
|
|
141
|
-
* ```
|
|
142
|
-
*/
|
|
143
|
-
export declare class BackgroundTaskManager extends EventEmitter {
|
|
144
|
-
private tasks;
|
|
145
|
-
private pendingQueue;
|
|
146
|
-
private runningSet;
|
|
147
|
-
private completedList;
|
|
148
|
-
private totalSubmitted;
|
|
149
|
-
private options;
|
|
150
|
-
private executeTask;
|
|
151
|
-
constructor(executeTask: (agentId: string, prompt: string) => Promise<string>, options?: BackgroundTaskManagerOptions);
|
|
152
|
-
/**
|
|
153
|
-
* Submit a new background task
|
|
154
|
-
*
|
|
155
|
-
* Creates a task with status='pending' and schedules queue processing.
|
|
156
|
-
*
|
|
157
|
-
* @param opts - Task submission options
|
|
158
|
-
* @returns The created BackgroundTask with status='pending'
|
|
159
|
-
* @throws Error if the queue is full
|
|
160
|
-
*
|
|
161
|
-
* @example
|
|
162
|
-
* ```typescript
|
|
163
|
-
* const task = manager.submit({
|
|
164
|
-
* description: 'Fix auth bug',
|
|
165
|
-
* prompt: 'Find and fix the JWT validation bug in auth.ts',
|
|
166
|
-
* agentId: 'developer',
|
|
167
|
-
* requestedBy: 'conductor',
|
|
168
|
-
* channelId: '999888777',
|
|
169
|
-
* source: 'discord',
|
|
170
|
-
* });
|
|
171
|
-
* console.log(task.id); // "bg_a1b2c3d4"
|
|
172
|
-
* ```
|
|
173
|
-
*/
|
|
174
|
-
submit(opts: BackgroundTaskSubmitOptions): BackgroundTask;
|
|
175
|
-
/**
|
|
176
|
-
* Get a task by ID
|
|
177
|
-
*
|
|
178
|
-
* @param taskId - Task ID to look up
|
|
179
|
-
* @returns The task or undefined if not found
|
|
180
|
-
*/
|
|
181
|
-
getTask(taskId: string): BackgroundTask | undefined;
|
|
182
|
-
/**
|
|
183
|
-
* Get the result string of a completed task
|
|
184
|
-
*
|
|
185
|
-
* @param taskId - Task ID to look up
|
|
186
|
-
* @returns The result string or undefined if not found/not completed
|
|
187
|
-
*/
|
|
188
|
-
getResult(taskId: string): string | undefined;
|
|
189
|
-
/**
|
|
190
|
-
* Cancel a pending or running task
|
|
191
|
-
*
|
|
192
|
-
* Pending tasks are removed from the queue.
|
|
193
|
-
* Running tasks are marked as failed with a cancellation error.
|
|
194
|
-
*
|
|
195
|
-
* @param taskId - Task ID to cancel
|
|
196
|
-
* @returns true if the task was cancelled, false if not found or already terminal
|
|
197
|
-
*/
|
|
198
|
-
cancelTask(taskId: string): boolean;
|
|
199
|
-
/**
|
|
200
|
-
* Get all pending tasks (ordered by queue position)
|
|
201
|
-
*
|
|
202
|
-
* @returns Array of pending BackgroundTask objects
|
|
203
|
-
*/
|
|
204
|
-
getQueuedTasks(): BackgroundTask[];
|
|
205
|
-
/**
|
|
206
|
-
* Get all currently running tasks
|
|
207
|
-
*
|
|
208
|
-
* @returns Array of running BackgroundTask objects
|
|
209
|
-
*/
|
|
210
|
-
getRunningTasks(): BackgroundTask[];
|
|
211
|
-
/**
|
|
212
|
-
* Get recently completed tasks (last 50)
|
|
213
|
-
*
|
|
214
|
-
* Includes both completed and failed tasks, ordered newest first.
|
|
215
|
-
*
|
|
216
|
-
* @returns Array of completed/failed BackgroundTask objects
|
|
217
|
-
*/
|
|
218
|
-
getCompletedTasks(): BackgroundTask[];
|
|
219
|
-
/**
|
|
220
|
-
* Get aggregate task statistics
|
|
221
|
-
*
|
|
222
|
-
* @returns Task counts by status and total submitted
|
|
223
|
-
*/
|
|
224
|
-
getStats(): BackgroundTaskStats;
|
|
225
|
-
/**
|
|
226
|
-
* Clean up stale running tasks
|
|
227
|
-
*
|
|
228
|
-
* Marks running tasks that have exceeded the stale timeout as failed.
|
|
229
|
-
* Call this periodically (e.g., every 60 seconds).
|
|
230
|
-
*
|
|
231
|
-
* @returns Number of stale tasks cleaned up
|
|
232
|
-
*/
|
|
233
|
-
cleanupStale(): number;
|
|
234
|
-
private _processQueue;
|
|
235
|
-
private _startTask;
|
|
236
|
-
/**
|
|
237
|
-
* Mark a task as completed with result
|
|
238
|
-
*
|
|
239
|
-
* @param task - The task to complete
|
|
240
|
-
* @param result - Agent response string
|
|
241
|
-
*/
|
|
242
|
-
private _completeTask;
|
|
243
|
-
private _failTask;
|
|
244
|
-
private _addToCompleted;
|
|
245
|
-
private _getRunningCountForAgent;
|
|
246
|
-
destroy(): void;
|
|
247
|
-
}
|
|
248
|
-
//# sourceMappingURL=background-task-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"background-task-manager.d.ts","sourceRoot":"","sources":["../../src/multi-agent/background-task-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,415 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Background Task Manager
|
|
4
|
-
*
|
|
5
|
-
* Manages background task delegation for the multi-agent swarm system.
|
|
6
|
-
* Queues tasks, enforces concurrency limits per agent, tracks lifecycle,
|
|
7
|
-
* stores results, and emits events on completion/failure.
|
|
8
|
-
*
|
|
9
|
-
* Features:
|
|
10
|
-
* - Per-agent concurrency limits (configurable)
|
|
11
|
-
* - Global concurrency cap
|
|
12
|
-
* - Task lifecycle: pending → running → completed → failed
|
|
13
|
-
* - Result storage with recent-completed retention (last 50)
|
|
14
|
-
* - EventEmitter for task-started / task-completed / task-failed
|
|
15
|
-
* - Stale task detection with configurable timeout
|
|
16
|
-
* - Queue size limits to prevent unbounded growth
|
|
17
|
-
*
|
|
18
|
-
* @module background-task-manager
|
|
19
|
-
* @version 1.0
|
|
20
|
-
*/
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.BackgroundTaskManager = void 0;
|
|
23
|
-
const events_1 = require("events");
|
|
24
|
-
const crypto_1 = require("crypto");
|
|
25
|
-
const config_manager_js_1 = require("../cli/config/config-manager.js");
|
|
26
|
-
const MAX_COMPLETED_RETENTION = 50;
|
|
27
|
-
const LOG_PREFIX = '[BackgroundTaskManager]';
|
|
28
|
-
/**
|
|
29
|
-
* Background Task Manager
|
|
30
|
-
*
|
|
31
|
-
* Manages background task execution for the multi-agent swarm.
|
|
32
|
-
* Tasks are queued, executed respecting concurrency limits, and
|
|
33
|
-
* results are stored for later retrieval.
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```typescript
|
|
37
|
-
* const manager = new BackgroundTaskManager(
|
|
38
|
-
* async (agentId, prompt) => {
|
|
39
|
-
* const response = await agentProcess.sendMessage(prompt);
|
|
40
|
-
* return response.text;
|
|
41
|
-
* },
|
|
42
|
-
* { maxConcurrentPerAgent: 2, maxTotalConcurrent: 5 }
|
|
43
|
-
* );
|
|
44
|
-
*
|
|
45
|
-
* const task = manager.submit({
|
|
46
|
-
* description: 'Analyze auth module',
|
|
47
|
-
* prompt: 'Review the auth module for security issues',
|
|
48
|
-
* agentId: 'reviewer',
|
|
49
|
-
* requestedBy: 'conductor',
|
|
50
|
-
* channelId: '123456789',
|
|
51
|
-
* source: 'discord',
|
|
52
|
-
* });
|
|
53
|
-
*
|
|
54
|
-
* manager.on('task-completed', ({ task }) => {
|
|
55
|
-
* console.log(`Task ${task.id} done: ${task.result}`);
|
|
56
|
-
* });
|
|
57
|
-
* ```
|
|
58
|
-
*/
|
|
59
|
-
class BackgroundTaskManager extends events_1.EventEmitter {
|
|
60
|
-
tasks = new Map();
|
|
61
|
-
pendingQueue = [];
|
|
62
|
-
runningSet = new Set();
|
|
63
|
-
completedList = [];
|
|
64
|
-
totalSubmitted = 0;
|
|
65
|
-
options;
|
|
66
|
-
executeTask;
|
|
67
|
-
constructor(executeTask, options) {
|
|
68
|
-
super();
|
|
69
|
-
this.executeTask = executeTask;
|
|
70
|
-
this.options = {
|
|
71
|
-
maxConcurrentPerAgent: options?.maxConcurrentPerAgent ?? 2,
|
|
72
|
-
maxTotalConcurrent: options?.maxTotalConcurrent ?? 5,
|
|
73
|
-
staleTimeoutMs: options?.staleTimeoutMs ?? 300000,
|
|
74
|
-
maxQueueSize: options?.maxQueueSize ?? 20,
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Submit a new background task
|
|
79
|
-
*
|
|
80
|
-
* Creates a task with status='pending' and schedules queue processing.
|
|
81
|
-
*
|
|
82
|
-
* @param opts - Task submission options
|
|
83
|
-
* @returns The created BackgroundTask with status='pending'
|
|
84
|
-
* @throws Error if the queue is full
|
|
85
|
-
*
|
|
86
|
-
* @example
|
|
87
|
-
* ```typescript
|
|
88
|
-
* const task = manager.submit({
|
|
89
|
-
* description: 'Fix auth bug',
|
|
90
|
-
* prompt: 'Find and fix the JWT validation bug in auth.ts',
|
|
91
|
-
* agentId: 'developer',
|
|
92
|
-
* requestedBy: 'conductor',
|
|
93
|
-
* channelId: '999888777',
|
|
94
|
-
* source: 'discord',
|
|
95
|
-
* });
|
|
96
|
-
* console.log(task.id); // "bg_a1b2c3d4"
|
|
97
|
-
* ```
|
|
98
|
-
*/
|
|
99
|
-
submit(opts) {
|
|
100
|
-
if (this.pendingQueue.length >= this.options.maxQueueSize) {
|
|
101
|
-
throw new Error(`${LOG_PREFIX} Queue full (${this.pendingQueue.length}/${this.options.maxQueueSize}), cannot submit task`);
|
|
102
|
-
}
|
|
103
|
-
const task = {
|
|
104
|
-
id: `bg_${(0, crypto_1.randomUUID)().slice(0, 8)}`,
|
|
105
|
-
status: 'pending',
|
|
106
|
-
description: opts.description,
|
|
107
|
-
prompt: opts.prompt,
|
|
108
|
-
agentId: opts.agentId,
|
|
109
|
-
requestedBy: opts.requestedBy,
|
|
110
|
-
channelId: opts.channelId,
|
|
111
|
-
source: opts.source,
|
|
112
|
-
queuedAt: Date.now(),
|
|
113
|
-
};
|
|
114
|
-
this.tasks.set(task.id, task);
|
|
115
|
-
this.pendingQueue.push(task.id);
|
|
116
|
-
this.totalSubmitted++;
|
|
117
|
-
console.log(`${LOG_PREFIX} Task submitted: ${task.id} (agent=${task.agentId}, queue=${this.pendingQueue.length}/${this.options.maxQueueSize})`);
|
|
118
|
-
queueMicrotask(() => {
|
|
119
|
-
this._processQueue();
|
|
120
|
-
});
|
|
121
|
-
return task;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Get a task by ID
|
|
125
|
-
*
|
|
126
|
-
* @param taskId - Task ID to look up
|
|
127
|
-
* @returns The task or undefined if not found
|
|
128
|
-
*/
|
|
129
|
-
getTask(taskId) {
|
|
130
|
-
return this.tasks.get(taskId);
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Get the result string of a completed task
|
|
134
|
-
*
|
|
135
|
-
* @param taskId - Task ID to look up
|
|
136
|
-
* @returns The result string or undefined if not found/not completed
|
|
137
|
-
*/
|
|
138
|
-
getResult(taskId) {
|
|
139
|
-
const task = this.tasks.get(taskId);
|
|
140
|
-
if (!task || task.status !== 'completed') {
|
|
141
|
-
return undefined;
|
|
142
|
-
}
|
|
143
|
-
return task.result;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Cancel a pending or running task
|
|
147
|
-
*
|
|
148
|
-
* Pending tasks are removed from the queue.
|
|
149
|
-
* Running tasks are marked as failed with a cancellation error.
|
|
150
|
-
*
|
|
151
|
-
* @param taskId - Task ID to cancel
|
|
152
|
-
* @returns true if the task was cancelled, false if not found or already terminal
|
|
153
|
-
*/
|
|
154
|
-
cancelTask(taskId) {
|
|
155
|
-
const task = this.tasks.get(taskId);
|
|
156
|
-
if (!task) {
|
|
157
|
-
return false;
|
|
158
|
-
}
|
|
159
|
-
if (task.status === 'completed' || task.status === 'failed') {
|
|
160
|
-
return false;
|
|
161
|
-
}
|
|
162
|
-
if (task.status === 'pending') {
|
|
163
|
-
const idx = this.pendingQueue.indexOf(taskId);
|
|
164
|
-
if (idx !== -1) {
|
|
165
|
-
this.pendingQueue.splice(idx, 1);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
if (task.status === 'running') {
|
|
169
|
-
this.runningSet.delete(taskId);
|
|
170
|
-
}
|
|
171
|
-
task.status = 'failed';
|
|
172
|
-
task.error = 'Cancelled';
|
|
173
|
-
task.completedAt = Date.now();
|
|
174
|
-
if (task.startedAt) {
|
|
175
|
-
task.duration = task.completedAt - task.startedAt;
|
|
176
|
-
}
|
|
177
|
-
this._addToCompleted(taskId);
|
|
178
|
-
console.log(`${LOG_PREFIX} Task cancelled: ${task.id}`);
|
|
179
|
-
this.emit('task-failed', { task });
|
|
180
|
-
this._processQueue();
|
|
181
|
-
return true;
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Get all pending tasks (ordered by queue position)
|
|
185
|
-
*
|
|
186
|
-
* @returns Array of pending BackgroundTask objects
|
|
187
|
-
*/
|
|
188
|
-
getQueuedTasks() {
|
|
189
|
-
const tasks = [];
|
|
190
|
-
for (const id of this.pendingQueue) {
|
|
191
|
-
const task = this.tasks.get(id);
|
|
192
|
-
if (task && task.status === 'pending') {
|
|
193
|
-
tasks.push(task);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
return tasks;
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Get all currently running tasks
|
|
200
|
-
*
|
|
201
|
-
* @returns Array of running BackgroundTask objects
|
|
202
|
-
*/
|
|
203
|
-
getRunningTasks() {
|
|
204
|
-
const tasks = [];
|
|
205
|
-
for (const id of this.runningSet) {
|
|
206
|
-
const task = this.tasks.get(id);
|
|
207
|
-
if (task && task.status === 'running') {
|
|
208
|
-
tasks.push(task);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
return tasks;
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Get recently completed tasks (last 50)
|
|
215
|
-
*
|
|
216
|
-
* Includes both completed and failed tasks, ordered newest first.
|
|
217
|
-
*
|
|
218
|
-
* @returns Array of completed/failed BackgroundTask objects
|
|
219
|
-
*/
|
|
220
|
-
getCompletedTasks() {
|
|
221
|
-
const tasks = [];
|
|
222
|
-
for (let i = this.completedList.length - 1; i >= 0; i--) {
|
|
223
|
-
const task = this.tasks.get(this.completedList[i]);
|
|
224
|
-
if (task) {
|
|
225
|
-
tasks.push(task);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
return tasks;
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Get aggregate task statistics
|
|
232
|
-
*
|
|
233
|
-
* @returns Task counts by status and total submitted
|
|
234
|
-
*/
|
|
235
|
-
getStats() {
|
|
236
|
-
let pending = 0;
|
|
237
|
-
let running = 0;
|
|
238
|
-
let completed = 0;
|
|
239
|
-
let failed = 0;
|
|
240
|
-
for (const task of this.tasks.values()) {
|
|
241
|
-
switch (task.status) {
|
|
242
|
-
case 'pending':
|
|
243
|
-
pending++;
|
|
244
|
-
break;
|
|
245
|
-
case 'running':
|
|
246
|
-
running++;
|
|
247
|
-
break;
|
|
248
|
-
case 'completed':
|
|
249
|
-
completed++;
|
|
250
|
-
break;
|
|
251
|
-
case 'failed':
|
|
252
|
-
failed++;
|
|
253
|
-
break;
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
return { pending, running, completed, failed, totalSubmitted: this.totalSubmitted };
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* Clean up stale running tasks
|
|
260
|
-
*
|
|
261
|
-
* Marks running tasks that have exceeded the stale timeout as failed.
|
|
262
|
-
* Call this periodically (e.g., every 60 seconds).
|
|
263
|
-
*
|
|
264
|
-
* @returns Number of stale tasks cleaned up
|
|
265
|
-
*/
|
|
266
|
-
cleanupStale() {
|
|
267
|
-
const now = Date.now();
|
|
268
|
-
let cleaned = 0;
|
|
269
|
-
for (const taskId of Array.from(this.runningSet)) {
|
|
270
|
-
const task = this.tasks.get(taskId);
|
|
271
|
-
if (!task || !task.startedAt) {
|
|
272
|
-
continue;
|
|
273
|
-
}
|
|
274
|
-
const elapsed = now - task.startedAt;
|
|
275
|
-
if (elapsed > this.options.staleTimeoutMs) {
|
|
276
|
-
console.warn(`${LOG_PREFIX} Stale task detected: ${task.id} (agent=${task.agentId}, running for ${Math.floor(elapsed / 1000)}s)`);
|
|
277
|
-
task.status = 'failed';
|
|
278
|
-
task.error = `Stale: exceeded ${Math.floor(this.options.staleTimeoutMs / 1000)}s timeout`;
|
|
279
|
-
task.completedAt = now;
|
|
280
|
-
task.duration = elapsed;
|
|
281
|
-
this.runningSet.delete(taskId);
|
|
282
|
-
this._addToCompleted(taskId);
|
|
283
|
-
this.emit('task-failed', { task });
|
|
284
|
-
cleaned++;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
if (cleaned > 0) {
|
|
288
|
-
console.log(`${LOG_PREFIX} Cleaned up ${cleaned} stale task(s)`);
|
|
289
|
-
this._processQueue();
|
|
290
|
-
}
|
|
291
|
-
return cleaned;
|
|
292
|
-
}
|
|
293
|
-
_processQueue() {
|
|
294
|
-
while (this.pendingQueue.length > 0) {
|
|
295
|
-
if (this.runningSet.size >= this.options.maxTotalConcurrent) {
|
|
296
|
-
break;
|
|
297
|
-
}
|
|
298
|
-
const nextId = this.pendingQueue[0];
|
|
299
|
-
const task = this.tasks.get(nextId);
|
|
300
|
-
if (!task || task.status !== 'pending') {
|
|
301
|
-
this.pendingQueue.shift();
|
|
302
|
-
continue;
|
|
303
|
-
}
|
|
304
|
-
const agentRunning = this._getRunningCountForAgent(task.agentId);
|
|
305
|
-
if (agentRunning >= this.options.maxConcurrentPerAgent) {
|
|
306
|
-
// FIFO queue — no reordering; agent at capacity blocks further dequeuing
|
|
307
|
-
break;
|
|
308
|
-
}
|
|
309
|
-
this.pendingQueue.shift();
|
|
310
|
-
this._startTask(task);
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
_startTask(task) {
|
|
314
|
-
task.status = 'running';
|
|
315
|
-
task.startedAt = Date.now();
|
|
316
|
-
this.runningSet.add(task.id);
|
|
317
|
-
console.log(`${LOG_PREFIX} Task started: ${task.id} (agent=${task.agentId}, running=${this.runningSet.size}/${this.options.maxTotalConcurrent})`);
|
|
318
|
-
this.emit('task-started', { task });
|
|
319
|
-
const MAX_BUSY_RETRIES = 5;
|
|
320
|
-
const BUSY_RETRY_DELAY_MS = (0, config_manager_js_1.getConfig)().timeouts?.busy_retry_ms ?? 5_000;
|
|
321
|
-
Promise.resolve()
|
|
322
|
-
.then(() => this.executeTask(task.agentId, task.prompt))
|
|
323
|
-
.then((result) => {
|
|
324
|
-
this._completeTask(task, result);
|
|
325
|
-
})
|
|
326
|
-
.catch((err) => {
|
|
327
|
-
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
328
|
-
const isBusy = errorMessage.includes('Process is busy');
|
|
329
|
-
const retries = task.retryCount ?? 0;
|
|
330
|
-
if (isBusy && retries < MAX_BUSY_RETRIES) {
|
|
331
|
-
// Re-queue: revert to pending and retry after delay
|
|
332
|
-
task.status = 'pending';
|
|
333
|
-
task.startedAt = undefined;
|
|
334
|
-
task.retryCount = retries + 1;
|
|
335
|
-
this.runningSet.delete(task.id);
|
|
336
|
-
this.pendingQueue.unshift(task.id);
|
|
337
|
-
console.log(`${LOG_PREFIX} Task ${task.id} agent busy, re-queued (retry ${task.retryCount}/${MAX_BUSY_RETRIES})`);
|
|
338
|
-
setTimeout(() => this._processQueue(), BUSY_RETRY_DELAY_MS);
|
|
339
|
-
}
|
|
340
|
-
else {
|
|
341
|
-
this._failTask(task, errorMessage);
|
|
342
|
-
}
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* Mark a task as completed with result
|
|
347
|
-
*
|
|
348
|
-
* @param task - The task to complete
|
|
349
|
-
* @param result - Agent response string
|
|
350
|
-
*/
|
|
351
|
-
_completeTask(task, result) {
|
|
352
|
-
if (task.status !== 'running') {
|
|
353
|
-
return;
|
|
354
|
-
}
|
|
355
|
-
const now = Date.now();
|
|
356
|
-
task.status = 'completed';
|
|
357
|
-
task.result = result;
|
|
358
|
-
task.completedAt = now;
|
|
359
|
-
task.duration = task.startedAt ? now - task.startedAt : 0;
|
|
360
|
-
this.runningSet.delete(task.id);
|
|
361
|
-
this._addToCompleted(task.id);
|
|
362
|
-
console.log(`${LOG_PREFIX} Task completed: ${task.id} (agent=${task.agentId}, duration=${task.duration}ms)`);
|
|
363
|
-
this.emit('task-completed', { task });
|
|
364
|
-
this._processQueue();
|
|
365
|
-
}
|
|
366
|
-
_failTask(task, errorMessage) {
|
|
367
|
-
if (task.status !== 'running') {
|
|
368
|
-
return;
|
|
369
|
-
}
|
|
370
|
-
const now = Date.now();
|
|
371
|
-
task.status = 'failed';
|
|
372
|
-
task.error = errorMessage;
|
|
373
|
-
task.completedAt = now;
|
|
374
|
-
task.duration = task.startedAt ? now - task.startedAt : 0;
|
|
375
|
-
this.runningSet.delete(task.id);
|
|
376
|
-
this._addToCompleted(task.id);
|
|
377
|
-
console.error(`${LOG_PREFIX} Task failed: ${task.id} (agent=${task.agentId}, error=${errorMessage})`);
|
|
378
|
-
this.emit('task-failed', { task });
|
|
379
|
-
this._processQueue();
|
|
380
|
-
}
|
|
381
|
-
_addToCompleted(taskId) {
|
|
382
|
-
this.completedList.push(taskId);
|
|
383
|
-
while (this.completedList.length > MAX_COMPLETED_RETENTION) {
|
|
384
|
-
const evictedId = this.completedList.shift();
|
|
385
|
-
if (evictedId) {
|
|
386
|
-
this.tasks.delete(evictedId);
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
_getRunningCountForAgent(agentId) {
|
|
391
|
-
let count = 0;
|
|
392
|
-
for (const taskId of this.runningSet) {
|
|
393
|
-
const task = this.tasks.get(taskId);
|
|
394
|
-
if (task && task.agentId === agentId) {
|
|
395
|
-
count++;
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
return count;
|
|
399
|
-
}
|
|
400
|
-
destroy() {
|
|
401
|
-
for (const taskId of [...this.pendingQueue]) {
|
|
402
|
-
this.cancelTask(taskId);
|
|
403
|
-
}
|
|
404
|
-
for (const taskId of [...this.runningSet]) {
|
|
405
|
-
this.cancelTask(taskId);
|
|
406
|
-
}
|
|
407
|
-
this.tasks.clear();
|
|
408
|
-
this.pendingQueue = [];
|
|
409
|
-
this.completedList = [];
|
|
410
|
-
this.removeAllListeners();
|
|
411
|
-
console.log(`${LOG_PREFIX} Destroyed — all tasks cancelled, listeners removed`);
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
exports.BackgroundTaskManager = BackgroundTaskManager;
|
|
415
|
-
//# sourceMappingURL=background-task-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"background-task-manager.js","sourceRoot":"","sources":["../../src/multi-agent/background-task-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;AAEH,mCAAsC;AACtC,mCAAoC;AACpC,uEAA4D;AAmG5D,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAa,qBAAsB,SAAQ,qBAAY;IAC7C,KAAK,GAAgC,IAAI,GAAG,EAAE,CAAC;IAC/C,YAAY,GAAa,EAAE,CAAC;IAC5B,UAAU,GAAgB,IAAI,GAAG,EAAE,CAAC;IACpC,aAAa,GAAa,EAAE,CAAC;IAC7B,cAAc,GAAW,CAAC,CAAC;IAC3B,OAAO,CAAyC;IAChD,WAAW,CAAuD;IAE1E,YACE,WAAiE,EACjE,OAAsC;QAEtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG;YACb,qBAAqB,EAAE,OAAO,EAAE,qBAAqB,IAAI,CAAC;YAC1D,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,IAAI,CAAC;YACpD,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,MAAM;YACjD,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,EAAE;SAC1C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,IAAiC;QACtC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,gBAAgB,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,uBAAuB,CAC1G,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAmB;YAC3B,EAAE,EAAE,MAAM,IAAA,mBAAU,GAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACpC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,CAAC,GAAG,CACT,GAAG,UAAU,oBAAoB,IAAI,CAAC,EAAE,WAAW,IAAI,CAAC,OAAO,WAAW,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,CACnI,CAAC;QAEF,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACH,UAAU,CAAC,MAAc;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,oBAAoB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAgC,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB;QACf,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,KAAK,SAAS;oBACZ,OAAO,EAAE,CAAC;oBACV,MAAM;gBACR,KAAK,SAAS;oBACZ,OAAO,EAAE,CAAC;oBACV,MAAM;gBACR,KAAK,WAAW;oBACd,SAAS,EAAE,CAAC;oBACZ,MAAM;gBACR,KAAK,QAAQ;oBACX,MAAM,EAAE,CAAC;oBACT,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;IACtF,CAAC;IAED;;;;;;;OAOG;IACH,YAAY;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;YACrC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CACV,GAAG,UAAU,yBAAyB,IAAI,CAAC,EAAE,WAAW,IAAI,CAAC,OAAO,iBAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CACpH,CAAC;gBAEF,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,mBAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC1F,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;gBACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAExB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAE7B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAgC,CAAC,CAAC;gBACjE,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,eAAe,OAAO,gBAAgB,CAAC,CAAC;YACjE,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,aAAa;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBAC5D,MAAM;YACR,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC1B,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBACvD,yEAAyE;gBACzE,MAAM;YACR,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,IAAoB;QACrC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,CACT,GAAG,UAAU,kBAAkB,IAAI,CAAC,EAAE,WAAW,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,CACrI,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAgC,CAAC,CAAC;QAElE,MAAM,gBAAgB,GAAG,CAAC,CAAC;QAC3B,MAAM,mBAAmB,GAAG,IAAA,6BAAS,GAAE,CAAC,QAAQ,EAAE,aAAa,IAAI,KAAK,CAAC;QAEzE,OAAO,CAAC,OAAO,EAAE;aACd,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aACvD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;YAErC,IAAI,MAAM,IAAI,OAAO,GAAG,gBAAgB,EAAE,CAAC;gBACzC,oDAAoD;gBACpD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gBACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,OAAO,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CACT,GAAG,UAAU,SAAS,IAAI,CAAC,EAAE,iCAAiC,IAAI,CAAC,UAAU,IAAI,gBAAgB,GAAG,CACrG,CAAC;gBACF,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,mBAAmB,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,IAAoB,EAAE,MAAc;QACxD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE9B,OAAO,CAAC,GAAG,CACT,GAAG,UAAU,oBAAoB,IAAI,CAAC,EAAE,WAAW,IAAI,CAAC,OAAO,cAAc,IAAI,CAAC,QAAQ,KAAK,CAChG,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAgC,CAAC,CAAC;QAEpE,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,SAAS,CAAC,IAAoB,EAAE,YAAoB;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE9B,OAAO,CAAC,KAAK,CACX,GAAG,UAAU,iBAAiB,IAAI,CAAC,EAAE,WAAW,IAAI,CAAC,OAAO,WAAW,YAAY,GAAG,CACvF,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAgC,CAAC,CAAC;QAEjE,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,eAAe,CAAC,MAAc;QACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,uBAAuB,EAAE,CAAC;YAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,wBAAwB,CAAC,OAAe;QAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBACrC,KAAK,EAAE,CAAC;YACV,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO;QACL,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,qDAAqD,CAAC,CAAC;IAClF,CAAC;CACF;AAzaD,sDAyaC"}
|