@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,172 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Task Continuation Enforcer
|
|
4
|
-
*
|
|
5
|
-
* Analyzes agent responses to detect incomplete tasks and
|
|
6
|
-
* automatically sends continuation prompts to resume work.
|
|
7
|
-
*
|
|
8
|
-
* Completion detection uses markers like "DONE", "TASK_COMPLETE", "✅",
|
|
9
|
-
* while incomplete detection uses truncation signals and "I'll continue".
|
|
10
|
-
*/
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.TaskContinuationEnforcer = void 0;
|
|
13
|
-
/**
|
|
14
|
-
* Default completion markers
|
|
15
|
-
*/
|
|
16
|
-
const DEFAULT_COMPLETION_MARKERS = ['DONE', '완료', '✅', 'TASK_COMPLETE'];
|
|
17
|
-
/**
|
|
18
|
-
* Patterns that suggest a response is incomplete
|
|
19
|
-
*/
|
|
20
|
-
const INCOMPLETE_PATTERNS = [
|
|
21
|
-
/I'll continue/i,
|
|
22
|
-
/계속하겠/,
|
|
23
|
-
/계속할게/,
|
|
24
|
-
/to be continued/i,
|
|
25
|
-
/let me continue/i,
|
|
26
|
-
/next,?\s*I('ll| will)/i,
|
|
27
|
-
/이어서/,
|
|
28
|
-
/다음으로/,
|
|
29
|
-
];
|
|
30
|
-
/**
|
|
31
|
-
* Task Continuation Enforcer
|
|
32
|
-
*/
|
|
33
|
-
class TaskContinuationEnforcer {
|
|
34
|
-
config;
|
|
35
|
-
maxRetries;
|
|
36
|
-
completionMarkers;
|
|
37
|
-
/** Per-channel continuation state */
|
|
38
|
-
channelStates = new Map();
|
|
39
|
-
constructor(config) {
|
|
40
|
-
this.config = config;
|
|
41
|
-
this.maxRetries = config.max_retries ?? 3;
|
|
42
|
-
this.completionMarkers = config.completion_markers ?? DEFAULT_COMPLETION_MARKERS;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Analyze an agent response to determine if continuation is needed.
|
|
46
|
-
*/
|
|
47
|
-
analyzeResponse(agentId, channelId, response) {
|
|
48
|
-
const state = this.getOrCreateState(channelId, agentId);
|
|
49
|
-
// Check if response contains completion markers
|
|
50
|
-
if (this.isResponseComplete(response)) {
|
|
51
|
-
this.resetAttempts(channelId);
|
|
52
|
-
return {
|
|
53
|
-
isComplete: true,
|
|
54
|
-
reason: 'completion_marker_found',
|
|
55
|
-
attempt: state.attempts,
|
|
56
|
-
maxRetriesReached: false,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
// Check if response appears truncated or explicitly incomplete
|
|
60
|
-
if (this.isResponseIncomplete(response)) {
|
|
61
|
-
state.attempts++;
|
|
62
|
-
this.channelStates.set(channelId, state);
|
|
63
|
-
const maxReached = state.attempts >= this.maxRetries;
|
|
64
|
-
return {
|
|
65
|
-
isComplete: false,
|
|
66
|
-
reason: maxReached ? 'max_retries_reached' : 'incomplete_response',
|
|
67
|
-
attempt: state.attempts,
|
|
68
|
-
maxRetriesReached: maxReached,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
// Response seems normal (no explicit completion or continuation signals)
|
|
72
|
-
// Treat as complete by default
|
|
73
|
-
this.resetAttempts(channelId);
|
|
74
|
-
return {
|
|
75
|
-
isComplete: true,
|
|
76
|
-
reason: 'normal_response',
|
|
77
|
-
attempt: state.attempts,
|
|
78
|
-
maxRetriesReached: false,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Build a continuation prompt to resume an incomplete task.
|
|
83
|
-
*/
|
|
84
|
-
buildContinuationPrompt(previousResponse) {
|
|
85
|
-
// Take last 200 chars as context
|
|
86
|
-
const tail = previousResponse.length > 200 ? previousResponse.slice(-200) : previousResponse;
|
|
87
|
-
return `Continue from where you left off. Your previous response ended with:
|
|
88
|
-
---
|
|
89
|
-
${tail}
|
|
90
|
-
---
|
|
91
|
-
Continue the task. When done, end your response with "DONE".`;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Reset continuation attempts for a channel.
|
|
95
|
-
*/
|
|
96
|
-
resetAttempts(channelId) {
|
|
97
|
-
this.channelStates.delete(channelId);
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Get current attempt count for a channel.
|
|
101
|
-
*/
|
|
102
|
-
getAttemptCount(channelId) {
|
|
103
|
-
return this.channelStates.get(channelId)?.attempts ?? 0;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Check if continuation is enabled.
|
|
107
|
-
*/
|
|
108
|
-
isEnabled() {
|
|
109
|
-
return this.config.enabled;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Update configuration.
|
|
113
|
-
*/
|
|
114
|
-
updateConfig(config) {
|
|
115
|
-
this.config = config;
|
|
116
|
-
this.maxRetries = config.max_retries ?? 3;
|
|
117
|
-
this.completionMarkers = config.completion_markers ?? DEFAULT_COMPLETION_MARKERS;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Check if a response contains completion markers.
|
|
121
|
-
*
|
|
122
|
-
* Position-based check: Only markers in the last 3 lines count as completion.
|
|
123
|
-
* This prevents false positives like "I finished the first part, moving on..."
|
|
124
|
-
*/
|
|
125
|
-
isResponseComplete(response) {
|
|
126
|
-
// Get last 3 lines of response for position-based marker detection
|
|
127
|
-
const lines = response.split('\n');
|
|
128
|
-
const lastLines = lines.slice(-3).join('\n').toLowerCase();
|
|
129
|
-
for (const marker of this.completionMarkers) {
|
|
130
|
-
if (lastLines.includes(marker.toLowerCase())) {
|
|
131
|
-
return true;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return false;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Check if a response appears incomplete/truncated.
|
|
138
|
-
*/
|
|
139
|
-
isResponseIncomplete(response) {
|
|
140
|
-
// Check for explicit continuation patterns
|
|
141
|
-
for (const pattern of INCOMPLETE_PATTERNS) {
|
|
142
|
-
if (pattern.test(response)) {
|
|
143
|
-
return true;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
// Check for truncation (response near Discord's 2000 char limit)
|
|
147
|
-
if (response.length >= 1800) {
|
|
148
|
-
// Check if response ends mid-sentence (no terminal punctuation)
|
|
149
|
-
const trimmed = response.trimEnd();
|
|
150
|
-
const lastChar = trimmed[trimmed.length - 1];
|
|
151
|
-
if (lastChar && !'.!?。!?…'.includes(lastChar)) {
|
|
152
|
-
return true;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
return false;
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Get or create channel continuation state.
|
|
159
|
-
*/
|
|
160
|
-
getOrCreateState(channelId, agentId) {
|
|
161
|
-
const existing = this.channelStates.get(channelId);
|
|
162
|
-
if (existing && existing.agentId === agentId) {
|
|
163
|
-
return existing;
|
|
164
|
-
}
|
|
165
|
-
// New agent or new channel - reset
|
|
166
|
-
const state = { attempts: 0, agentId };
|
|
167
|
-
this.channelStates.set(channelId, state);
|
|
168
|
-
return state;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
exports.TaskContinuationEnforcer = TaskContinuationEnforcer;
|
|
172
|
-
//# sourceMappingURL=task-continuation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-continuation.js","sourceRoot":"","sources":["../../src/multi-agent/task-continuation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UltraWork State Manager
|
|
3
|
-
*
|
|
4
|
-
* File-based session state persistence for the Ralph Loop pattern.
|
|
5
|
-
* Each session gets its own directory under ~/.mama/workspace/ultrawork/{session_id}/
|
|
6
|
-
*
|
|
7
|
-
* Directory structure:
|
|
8
|
-
* session.json - Session metadata (task, phase, agents)
|
|
9
|
-
* plan.md - Phase 1 result: implementation plan
|
|
10
|
-
* progress.json - Completed steps array
|
|
11
|
-
* retrospective.md - Phase 3 result: retrospective notes
|
|
12
|
-
*/
|
|
13
|
-
export type UltraWorkPhase = 'planning' | 'building' | 'retrospective' | 'completed';
|
|
14
|
-
export interface UltraWorkSessionState {
|
|
15
|
-
id: string;
|
|
16
|
-
task: string;
|
|
17
|
-
phase: UltraWorkPhase;
|
|
18
|
-
agents: string[];
|
|
19
|
-
createdAt: number;
|
|
20
|
-
updatedAt: number;
|
|
21
|
-
}
|
|
22
|
-
export interface UltraWorkStepRecord {
|
|
23
|
-
stepNumber: number;
|
|
24
|
-
agentId: string;
|
|
25
|
-
action: string;
|
|
26
|
-
responseSummary: string;
|
|
27
|
-
isDelegation: boolean;
|
|
28
|
-
duration: number;
|
|
29
|
-
timestamp: number;
|
|
30
|
-
}
|
|
31
|
-
export declare class UltraWorkStateManager {
|
|
32
|
-
private baseDir;
|
|
33
|
-
private sessionLocks;
|
|
34
|
-
constructor(baseDir?: string);
|
|
35
|
-
/**
|
|
36
|
-
* Validates sessionId to prevent path traversal attacks.
|
|
37
|
-
* Only allows alphanumeric, hyphen, and underscore characters.
|
|
38
|
-
*/
|
|
39
|
-
private validateSessionId;
|
|
40
|
-
private sessionDir;
|
|
41
|
-
/**
|
|
42
|
-
* Executes a function with an exclusive lock on the given sessionId.
|
|
43
|
-
* Prevents TOCTOU race conditions on read-modify-write operations.
|
|
44
|
-
*/
|
|
45
|
-
private withSessionLock;
|
|
46
|
-
createSession(sessionId: string, task: string, agents: string[]): Promise<void>;
|
|
47
|
-
loadSession(sessionId: string): Promise<UltraWorkSessionState | null>;
|
|
48
|
-
updatePhase(sessionId: string, phase: UltraWorkPhase): Promise<void>;
|
|
49
|
-
savePlan(sessionId: string, plan: string): Promise<void>;
|
|
50
|
-
loadPlan(sessionId: string): Promise<string | null>;
|
|
51
|
-
recordStep(sessionId: string, step: UltraWorkStepRecord): Promise<void>;
|
|
52
|
-
loadProgress(sessionId: string): Promise<UltraWorkStepRecord[]>;
|
|
53
|
-
saveRetrospective(sessionId: string, retro: string): Promise<void>;
|
|
54
|
-
deleteSession(sessionId: string): Promise<void>;
|
|
55
|
-
listSessions(): Promise<string[]>;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=ultrawork-state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ultrawork-state.d.ts","sourceRoot":"","sources":["../../src/multi-agent/ultrawork-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,eAAe,GAAG,WAAW,CAAC;AAErF,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAoC;gBAE5C,OAAO,CAAC,EAAE,MAAM;IAI5B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,UAAU;IAKlB;;;OAGG;YACW,eAAe;IAmBvB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/E,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAerE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWnD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvE,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAe/D,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAWxC"}
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* UltraWork State Manager
|
|
4
|
-
*
|
|
5
|
-
* File-based session state persistence for the Ralph Loop pattern.
|
|
6
|
-
* Each session gets its own directory under ~/.mama/workspace/ultrawork/{session_id}/
|
|
7
|
-
*
|
|
8
|
-
* Directory structure:
|
|
9
|
-
* session.json - Session metadata (task, phase, agents)
|
|
10
|
-
* plan.md - Phase 1 result: implementation plan
|
|
11
|
-
* progress.json - Completed steps array
|
|
12
|
-
* retrospective.md - Phase 3 result: retrospective notes
|
|
13
|
-
*/
|
|
14
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
|
-
if (k2 === undefined) k2 = k;
|
|
16
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
17
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
18
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
19
|
-
}
|
|
20
|
-
Object.defineProperty(o, k2, desc);
|
|
21
|
-
}) : (function(o, m, k, k2) {
|
|
22
|
-
if (k2 === undefined) k2 = k;
|
|
23
|
-
o[k2] = m[k];
|
|
24
|
-
}));
|
|
25
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
26
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
27
|
-
}) : function(o, v) {
|
|
28
|
-
o["default"] = v;
|
|
29
|
-
});
|
|
30
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
31
|
-
var ownKeys = function(o) {
|
|
32
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
33
|
-
var ar = [];
|
|
34
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
35
|
-
return ar;
|
|
36
|
-
};
|
|
37
|
-
return ownKeys(o);
|
|
38
|
-
};
|
|
39
|
-
return function (mod) {
|
|
40
|
-
if (mod && mod.__esModule) return mod;
|
|
41
|
-
var result = {};
|
|
42
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
43
|
-
__setModuleDefault(result, mod);
|
|
44
|
-
return result;
|
|
45
|
-
};
|
|
46
|
-
})();
|
|
47
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
-
exports.UltraWorkStateManager = void 0;
|
|
49
|
-
const fs = __importStar(require("fs/promises"));
|
|
50
|
-
const path = __importStar(require("path"));
|
|
51
|
-
const os = __importStar(require("os"));
|
|
52
|
-
class UltraWorkStateManager {
|
|
53
|
-
baseDir;
|
|
54
|
-
sessionLocks = new Map();
|
|
55
|
-
constructor(baseDir) {
|
|
56
|
-
this.baseDir = baseDir ?? path.join(os.homedir(), '.mama', 'workspace', 'ultrawork');
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Validates sessionId to prevent path traversal attacks.
|
|
60
|
-
* Only allows alphanumeric, hyphen, and underscore characters.
|
|
61
|
-
*/
|
|
62
|
-
validateSessionId(sessionId) {
|
|
63
|
-
if (!/^[A-Za-z0-9_-]+$/.test(sessionId)) {
|
|
64
|
-
throw new Error(`Invalid sessionId: "${sessionId}" — must match /^[A-Za-z0-9_-]+$/`);
|
|
65
|
-
}
|
|
66
|
-
// Double-check with path resolution
|
|
67
|
-
const resolved = path.resolve(this.baseDir, sessionId);
|
|
68
|
-
const base = path.resolve(this.baseDir);
|
|
69
|
-
if (!resolved.startsWith(base + path.sep)) {
|
|
70
|
-
throw new Error(`Invalid sessionId: "${sessionId}" — path traversal detected`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
sessionDir(sessionId) {
|
|
74
|
-
this.validateSessionId(sessionId);
|
|
75
|
-
return path.join(this.baseDir, sessionId);
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Executes a function with an exclusive lock on the given sessionId.
|
|
79
|
-
* Prevents TOCTOU race conditions on read-modify-write operations.
|
|
80
|
-
*/
|
|
81
|
-
async withSessionLock(sessionId, fn) {
|
|
82
|
-
const prev = this.sessionLocks.get(sessionId) ?? Promise.resolve();
|
|
83
|
-
let release;
|
|
84
|
-
const next = new Promise((res) => {
|
|
85
|
-
release = res;
|
|
86
|
-
});
|
|
87
|
-
const chained = prev.then(() => next);
|
|
88
|
-
this.sessionLocks.set(sessionId, chained);
|
|
89
|
-
await prev;
|
|
90
|
-
try {
|
|
91
|
-
return await fn();
|
|
92
|
-
}
|
|
93
|
-
finally {
|
|
94
|
-
release();
|
|
95
|
-
if (this.sessionLocks.get(sessionId) === chained) {
|
|
96
|
-
this.sessionLocks.delete(sessionId);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
async createSession(sessionId, task, agents) {
|
|
101
|
-
const dir = this.sessionDir(sessionId);
|
|
102
|
-
await fs.mkdir(dir, { recursive: true });
|
|
103
|
-
const state = {
|
|
104
|
-
id: sessionId,
|
|
105
|
-
task,
|
|
106
|
-
phase: 'planning',
|
|
107
|
-
agents,
|
|
108
|
-
createdAt: Date.now(),
|
|
109
|
-
updatedAt: Date.now(),
|
|
110
|
-
};
|
|
111
|
-
await fs.writeFile(path.join(dir, 'session.json'), JSON.stringify(state, null, 2));
|
|
112
|
-
await fs.writeFile(path.join(dir, 'progress.json'), '[]');
|
|
113
|
-
}
|
|
114
|
-
async loadSession(sessionId) {
|
|
115
|
-
try {
|
|
116
|
-
const data = await fs.readFile(path.join(this.sessionDir(sessionId), 'session.json'), 'utf-8');
|
|
117
|
-
return JSON.parse(data);
|
|
118
|
-
}
|
|
119
|
-
catch (err) {
|
|
120
|
-
if (err.code === 'ENOENT') {
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
throw err;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
async updatePhase(sessionId, phase) {
|
|
127
|
-
return this.withSessionLock(sessionId, async () => {
|
|
128
|
-
const state = await this.loadSession(sessionId);
|
|
129
|
-
if (!state) {
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
state.phase = phase;
|
|
133
|
-
state.updatedAt = Date.now();
|
|
134
|
-
await fs.writeFile(path.join(this.sessionDir(sessionId), 'session.json'), JSON.stringify(state, null, 2));
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
async savePlan(sessionId, plan) {
|
|
138
|
-
await fs.writeFile(path.join(this.sessionDir(sessionId), 'plan.md'), plan);
|
|
139
|
-
}
|
|
140
|
-
async loadPlan(sessionId) {
|
|
141
|
-
try {
|
|
142
|
-
return await fs.readFile(path.join(this.sessionDir(sessionId), 'plan.md'), 'utf-8');
|
|
143
|
-
}
|
|
144
|
-
catch (err) {
|
|
145
|
-
if (err.code === 'ENOENT') {
|
|
146
|
-
return null;
|
|
147
|
-
}
|
|
148
|
-
throw err;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
async recordStep(sessionId, step) {
|
|
152
|
-
return this.withSessionLock(sessionId, async () => {
|
|
153
|
-
const steps = await this.loadProgress(sessionId);
|
|
154
|
-
steps.push(step);
|
|
155
|
-
await fs.writeFile(path.join(this.sessionDir(sessionId), 'progress.json'), JSON.stringify(steps, null, 2));
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
async loadProgress(sessionId) {
|
|
159
|
-
try {
|
|
160
|
-
const data = await fs.readFile(path.join(this.sessionDir(sessionId), 'progress.json'), 'utf-8');
|
|
161
|
-
return JSON.parse(data);
|
|
162
|
-
}
|
|
163
|
-
catch (err) {
|
|
164
|
-
if (err.code === 'ENOENT') {
|
|
165
|
-
return [];
|
|
166
|
-
}
|
|
167
|
-
throw err;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
async saveRetrospective(sessionId, retro) {
|
|
171
|
-
await fs.writeFile(path.join(this.sessionDir(sessionId), 'retrospective.md'), retro);
|
|
172
|
-
}
|
|
173
|
-
async deleteSession(sessionId) {
|
|
174
|
-
// force: true already suppresses ENOENT, so no need to catch
|
|
175
|
-
await fs.rm(this.sessionDir(sessionId), { recursive: true, force: true });
|
|
176
|
-
}
|
|
177
|
-
async listSessions() {
|
|
178
|
-
try {
|
|
179
|
-
const entries = await fs.readdir(this.baseDir, { withFileTypes: true });
|
|
180
|
-
return entries.filter((e) => e.isDirectory()).map((e) => e.name);
|
|
181
|
-
}
|
|
182
|
-
catch (err) {
|
|
183
|
-
if (err.code === 'ENOENT') {
|
|
184
|
-
return [];
|
|
185
|
-
}
|
|
186
|
-
throw err;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
exports.UltraWorkStateManager = UltraWorkStateManager;
|
|
191
|
-
//# sourceMappingURL=ultrawork-state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ultrawork-state.js","sourceRoot":"","sources":["../../src/multi-agent/ultrawork-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UltraWork Manager
|
|
3
|
-
*
|
|
4
|
-
* Manages autonomous multi-step work sessions that combine
|
|
5
|
-
* delegation and task continuation for extended workflows.
|
|
6
|
-
*
|
|
7
|
-
* Supports two modes:
|
|
8
|
-
* 1. **Phased Loop** (Ralph Loop, default): Plan -> Build -> Retrospective
|
|
9
|
-
* - File-based state persist for crash recovery
|
|
10
|
-
* - Council integration at plan and retrospective phases
|
|
11
|
-
* - Structured task execution from plan
|
|
12
|
-
* 2. **Freeform Loop** (legacy): Lead agent freely delegates and continues
|
|
13
|
-
*
|
|
14
|
-
* Constraints:
|
|
15
|
-
* - max_duration (default 60 min)
|
|
16
|
-
* - max_steps (default 50)
|
|
17
|
-
* - Lead agent must be Tier 1 with can_delegate
|
|
18
|
-
*/
|
|
19
|
-
import type { UltraWorkConfig, AgentPersonaConfig } from './types.js';
|
|
20
|
-
import { ToolPermissionManager } from './tool-permission-manager.js';
|
|
21
|
-
import { type DelegationExecuteCallback, type DelegationNotifyCallback } from './delegation-manager.js';
|
|
22
|
-
import { UltraWorkStateManager } from './ultrawork-state.js';
|
|
23
|
-
/**
|
|
24
|
-
* Callback to intercept agent responses for workflow/council plan execution.
|
|
25
|
-
* Returns the processed result if a plan was found, or null to continue normal processing.
|
|
26
|
-
*/
|
|
27
|
-
export type ResponseInterceptor = (agentResponse: string, channelId: string) => Promise<{
|
|
28
|
-
result: string;
|
|
29
|
-
type: 'workflow' | 'council';
|
|
30
|
-
} | null>;
|
|
31
|
-
/**
|
|
32
|
-
* UltraWork session state
|
|
33
|
-
*/
|
|
34
|
-
export interface UltraWorkSession {
|
|
35
|
-
/** Unique session ID */
|
|
36
|
-
id: string;
|
|
37
|
-
/** Channel where session is running */
|
|
38
|
-
channelId: string;
|
|
39
|
-
/** Lead agent ID (Tier 1) */
|
|
40
|
-
leadAgentId: string;
|
|
41
|
-
/** Task description */
|
|
42
|
-
task: string;
|
|
43
|
-
/** Current step number */
|
|
44
|
-
currentStep: number;
|
|
45
|
-
/** Maximum steps allowed */
|
|
46
|
-
maxSteps: number;
|
|
47
|
-
/** Session start time */
|
|
48
|
-
startTime: number;
|
|
49
|
-
/** Maximum duration in ms */
|
|
50
|
-
maxDuration: number;
|
|
51
|
-
/** Whether session is active */
|
|
52
|
-
active: boolean;
|
|
53
|
-
/** Steps log */
|
|
54
|
-
steps: UltraWorkStep[];
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Individual step in an UltraWork session
|
|
58
|
-
*/
|
|
59
|
-
export interface UltraWorkStep {
|
|
60
|
-
/** Step number */
|
|
61
|
-
stepNumber: number;
|
|
62
|
-
/** Agent that performed the step */
|
|
63
|
-
agentId: string;
|
|
64
|
-
/** What was done */
|
|
65
|
-
action: string;
|
|
66
|
-
/** Response summary */
|
|
67
|
-
responseSummary: string;
|
|
68
|
-
/** Whether the step was a delegation */
|
|
69
|
-
isDelegation: boolean;
|
|
70
|
-
/** Duration in ms */
|
|
71
|
-
duration: number;
|
|
72
|
-
/** Timestamp */
|
|
73
|
-
timestamp: number;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* UltraWork Manager
|
|
77
|
-
*/
|
|
78
|
-
export declare class UltraWorkManager {
|
|
79
|
-
private config;
|
|
80
|
-
private permissionManager;
|
|
81
|
-
private stateManager;
|
|
82
|
-
/** Active sessions per channel */
|
|
83
|
-
private sessions;
|
|
84
|
-
/** Session counter for unique IDs */
|
|
85
|
-
private sessionCounter;
|
|
86
|
-
/** Sessions DB for agent_activity logging in delegations */
|
|
87
|
-
private sessionsDb;
|
|
88
|
-
setSessionsDb(db: import('../sqlite.js').default): void;
|
|
89
|
-
constructor(config: UltraWorkConfig, permissionManager?: ToolPermissionManager);
|
|
90
|
-
/**
|
|
91
|
-
* Check if a message contains UltraWork trigger keywords.
|
|
92
|
-
*/
|
|
93
|
-
isUltraWorkTrigger(content: string): boolean;
|
|
94
|
-
/**
|
|
95
|
-
* Start a new UltraWork session.
|
|
96
|
-
*/
|
|
97
|
-
startSession(channelId: string, leadAgentId: string, task: string, agents: AgentPersonaConfig[], executeCallback: DelegationExecuteCallback, notifyCallback: DelegationNotifyCallback, responseInterceptor?: ResponseInterceptor): Promise<UltraWorkSession>;
|
|
98
|
-
/**
|
|
99
|
-
* Check if a session should continue.
|
|
100
|
-
*/
|
|
101
|
-
shouldContinue(session: UltraWorkSession): boolean;
|
|
102
|
-
/**
|
|
103
|
-
* Stop an active session.
|
|
104
|
-
*/
|
|
105
|
-
stopSession(channelId: string): UltraWorkSession | null;
|
|
106
|
-
/**
|
|
107
|
-
* Get active session for a channel.
|
|
108
|
-
*/
|
|
109
|
-
getSession(channelId: string): UltraWorkSession | null;
|
|
110
|
-
/**
|
|
111
|
-
* Get all active sessions.
|
|
112
|
-
*/
|
|
113
|
-
getActiveSessions(): UltraWorkSession[];
|
|
114
|
-
/**
|
|
115
|
-
* Check if UltraWork is enabled.
|
|
116
|
-
*/
|
|
117
|
-
isEnabled(): boolean;
|
|
118
|
-
/**
|
|
119
|
-
* Update configuration.
|
|
120
|
-
*/
|
|
121
|
-
updateConfig(config: UltraWorkConfig): void;
|
|
122
|
-
/**
|
|
123
|
-
* Get the state manager (for testing).
|
|
124
|
-
*/
|
|
125
|
-
getStateManager(): UltraWorkStateManager | null;
|
|
126
|
-
/**
|
|
127
|
-
* Override state manager (for testing with temp dirs).
|
|
128
|
-
*/
|
|
129
|
-
setStateManager(sm: UltraWorkStateManager | null): void;
|
|
130
|
-
/**
|
|
131
|
-
* Execute callback with timeout protection.
|
|
132
|
-
*/
|
|
133
|
-
private executeWithTimeout;
|
|
134
|
-
/**
|
|
135
|
-
* Run the autonomous session loop — dispatches to phased or freeform mode.
|
|
136
|
-
*/
|
|
137
|
-
private runSessionLoop;
|
|
138
|
-
private runPlanningPhase;
|
|
139
|
-
private runBuildingPhase;
|
|
140
|
-
private runRetrospectivePhase;
|
|
141
|
-
private runPhasedLoop;
|
|
142
|
-
private runFreeformLoop;
|
|
143
|
-
private buildPlanningPrompt;
|
|
144
|
-
private buildBuildingPrompt;
|
|
145
|
-
private buildRetrospectivePrompt;
|
|
146
|
-
private buildInitialPrompt;
|
|
147
|
-
private buildContinuationAfterDelegation;
|
|
148
|
-
private isBuildComplete;
|
|
149
|
-
private isRetroComplete;
|
|
150
|
-
private endSession;
|
|
151
|
-
}
|
|
152
|
-
//# sourceMappingURL=ultrawork.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ultrawork.d.ts","sourceRoot":"","sources":["../../src/multi-agent/ultrawork.ts"],"names":[],"mappings":"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"}
|