@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
|
@@ -14,14 +14,75 @@
|
|
|
14
14
|
* - buildWikiAfterHook: outcome reading only.
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.LANE_WRITE_TOOLS = exports.LANE_OBLIGATED_TOOLS = void 0;
|
|
17
18
|
exports.buildWorkerTraceQueries = buildWorkerTraceQueries;
|
|
19
|
+
exports.readLaneClaim = readLaneClaim;
|
|
20
|
+
exports.reconcileClaimAgainstTraces = reconcileClaimAgainstTraces;
|
|
18
21
|
exports.buildPromotionAfterHook = buildPromotionAfterHook;
|
|
19
22
|
exports.buildWikiAfterHook = buildWikiAfterHook;
|
|
20
23
|
exports.buildTemporalWorkOrderHook = buildTemporalWorkOrderHook;
|
|
21
24
|
const action_verifier_js_1 = require("./action-verifier.js");
|
|
22
25
|
const action_verifier_js_2 = require("./action-verifier.js");
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
/**
|
|
27
|
+
* The tools whose execution proves a lane did its job, per lane.
|
|
28
|
+
*
|
|
29
|
+
* The board lane already verified this way: a run counts as verified when a NEW
|
|
30
|
+
* gateway_tool_call trace row appears past the snapshot, naming an obligated tool. That is
|
|
31
|
+
* a measurement - the trace row is written by the executor when the call runs, so an agent
|
|
32
|
+
* cannot produce one by describing a call it never made.
|
|
33
|
+
*
|
|
34
|
+
* The wiki and promotion lanes were reading the agent's PROSE instead, and the gap that
|
|
35
|
+
* opened is measurable: 59 wiki work orders reached 'done' while wiki_page_index last moved
|
|
36
|
+
* on 2026-07-04. The tools themselves are honest - wiki_publish writes the page and index
|
|
37
|
+
* synchronously and throws on failure - but nothing downstream required the call to have
|
|
38
|
+
* happened.
|
|
39
|
+
*
|
|
40
|
+
* `contract_no_update` is obligated everywhere: a run that legitimately found nothing must
|
|
41
|
+
* still say so through a tool, or "nothing to do" and "did nothing" stay indistinguishable.
|
|
42
|
+
*/
|
|
43
|
+
exports.LANE_OBLIGATED_TOOLS = {
|
|
44
|
+
board: action_verifier_js_1.OBLIGATED_TOOLS,
|
|
45
|
+
// `obsidian` first, because it is what the lane actually calls: measured on the live
|
|
46
|
+
// install, worker:wiki has 928 obsidian traces and ZERO wiki_publish ones. The vault it
|
|
47
|
+
// writes to is the one the owner has open, NOT the configured wiki dir - which is why
|
|
48
|
+
// `wiki_page_index` looks frozen since 2026-07-04 while the vault took writes minutes ago.
|
|
49
|
+
// 07-04 is when the LEGACY system:wiki-agent path stopped; the Stage-2 worker replaced it
|
|
50
|
+
// and moved to a different write path. `wiki_publish` stays obligated so the index route
|
|
51
|
+
// counts if anything revives it.
|
|
52
|
+
//
|
|
53
|
+
// KNOWN LIMIT, stated rather than hidden: `obsidian` is one tool for search, read, create,
|
|
54
|
+
// append, move and delete, and the trace row records only the tool NAME - not the
|
|
55
|
+
// sub-command. So a wiki run that only READ the vault produces an obligated trace. This
|
|
56
|
+
// lane's verdict therefore means "the lane exercised the vault", which is strictly weaker
|
|
57
|
+
// than "the lane wrote", and the log wording says so. Closing the gap needs the
|
|
58
|
+
// sub-command on the trace row; until then do not read wiki `verified` as proof of a write.
|
|
59
|
+
wiki: ['obsidian', 'wiki_publish', 'contract_no_update'],
|
|
60
|
+
'memory-curation': ['mama_save', 'contract_no_update'],
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* The subset that proves the lane WROTE, as opposed to merely acting.
|
|
64
|
+
*
|
|
65
|
+
* `contract_no_update` is obligated so an empty run has a way to say so - but counting it as
|
|
66
|
+
* a write is how the first version of this hook reported "promotion run: 1 saved" for a run
|
|
67
|
+
* that honestly saved nothing, and woke the wiki compiler on it. Found in review. Two
|
|
68
|
+
* questions, two counts: did the lane act, and did it write.
|
|
69
|
+
*/
|
|
70
|
+
exports.LANE_WRITE_TOOLS = {
|
|
71
|
+
wiki: ['obsidian', 'wiki_publish'],
|
|
72
|
+
'memory-curation': ['mama_save'],
|
|
73
|
+
};
|
|
74
|
+
function traceToolList(tools) {
|
|
75
|
+
for (const tool of tools) {
|
|
76
|
+
// These are interpolated into SQL. Nothing outside this module supplies them today, and
|
|
77
|
+
// this keeps that true if something ever does.
|
|
78
|
+
if (!/^[a-z][a-z0-9_]*$/.test(tool)) {
|
|
79
|
+
throw new Error(`[workorder-hooks] invalid obligated tool name: ${JSON.stringify(tool)}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return tools.map((t) => `'${t}'`).join(',');
|
|
83
|
+
}
|
|
84
|
+
function buildWorkerTraceQueries(sessionsDb, workerChannelId, obligatedTools = action_verifier_js_1.OBLIGATED_TOOLS) {
|
|
85
|
+
const TRACE_TOOL_LIST = traceToolList(obligatedTools);
|
|
25
86
|
return {
|
|
26
87
|
getTraceMaxId: () => {
|
|
27
88
|
if (!sessionsDb)
|
|
@@ -37,36 +98,107 @@ function buildWorkerTraceQueries(sessionsDb, workerChannelId) {
|
|
|
37
98
|
if (!sessionsDb)
|
|
38
99
|
return 0;
|
|
39
100
|
const row = sessionsDb
|
|
40
|
-
.prepare(
|
|
101
|
+
.prepare(
|
|
102
|
+
// execution_status = 'completed' is load-bearing, not hygiene. The executor writes
|
|
103
|
+
// a trace row on its FAILURE paths too (gateway-tool-executor sets 'failed' when the
|
|
104
|
+
// call errored or returned success:false), so without this predicate a `mama_save`
|
|
105
|
+
// refused by the secret filter counted as proof the lane saved something - and the
|
|
106
|
+
// promotion hook would then emit memory:promoted on it and wake the wiki compiler.
|
|
107
|
+
// "Ran but changed nothing" is exactly the case this measurement exists to catch.
|
|
108
|
+
`SELECT COUNT(*) AS n FROM agent_activity
|
|
41
109
|
WHERE type = 'gateway_tool_call'
|
|
42
110
|
AND json_extract(details, '$.channel_id') = ?
|
|
111
|
+
AND execution_status = 'completed'
|
|
43
112
|
AND id > ? AND (normalized_tool_name IN (${TRACE_TOOL_LIST}) OR input_summary IN (${TRACE_TOOL_LIST}))`)
|
|
44
113
|
.get(workerChannelId, maxId);
|
|
45
114
|
return row.n;
|
|
46
115
|
},
|
|
47
116
|
};
|
|
48
117
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const noUpdate = response.includes('NO_UPDATE');
|
|
55
|
-
events.emitAgentAction(noUpdate || saved === 0 ? 'no_update' : 'promoted', `promotion run: ${saved} saved`);
|
|
56
|
-
if (saved > 0) {
|
|
57
|
-
events.emitMemoryPromoted(saved);
|
|
58
|
-
events.log?.(`[stage2] promotion worker: promoted ${saved} durable judgments`);
|
|
59
|
-
}
|
|
118
|
+
function readLaneClaim(response) {
|
|
119
|
+
const match = response.match(/PROMOTED\s+(\d+)/);
|
|
120
|
+
return {
|
|
121
|
+
claimed: match ? Number(match[1]) : 0,
|
|
122
|
+
noUpdate: response.includes('NO_UPDATE'),
|
|
60
123
|
};
|
|
61
124
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
125
|
+
/**
|
|
126
|
+
* Compare a lane's claim against its obligated-tool traces.
|
|
127
|
+
*
|
|
128
|
+
* Observe, never block - the same rule the board verifier states, and for the same reason:
|
|
129
|
+
* a run that overstates has still done whatever it did, and failing it here would retry work
|
|
130
|
+
* that may have partly landed. The falsehood becomes visible instead of authoritative.
|
|
131
|
+
*/
|
|
132
|
+
function reconcileClaimAgainstTraces(claim, traceCount) {
|
|
133
|
+
if (traceCount > 0) {
|
|
134
|
+
const overstated = claim.claimed > traceCount;
|
|
135
|
+
return {
|
|
136
|
+
verified: true,
|
|
137
|
+
note: overstated
|
|
138
|
+
? `claimed ${claim.claimed}, ${traceCount} obligated tool trace(s) - CLAIM EXCEEDS TRACES`
|
|
139
|
+
: `${traceCount} obligated tool trace(s)`,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
// No trace at all. A claim of work is then unsupported; a claim of no work is merely
|
|
143
|
+
// unrecorded, because the run was supposed to say so through contract_no_update.
|
|
144
|
+
return {
|
|
145
|
+
verified: false,
|
|
146
|
+
note: claim.claimed > 0
|
|
147
|
+
? `claimed ${claim.claimed} but NO obligated tool ran - claim unsupported`
|
|
148
|
+
: claim.noUpdate
|
|
149
|
+
? 'said NO_UPDATE without recording it through contract_no_update'
|
|
150
|
+
: 'no obligated tool ran and nothing was claimed',
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* The wiki ingress chain's second link: losing the parse severs memory:promoted, so the
|
|
155
|
+
* claim is still read - but `emitMemoryPromoted` now carries the measured count, not the
|
|
156
|
+
* asserted one, so a lane that writes nothing can no longer wake the wiki compiler.
|
|
157
|
+
*/
|
|
158
|
+
function buildPromotionAfterHook(events, deps) {
|
|
159
|
+
return (_wo, response, before) => {
|
|
160
|
+
const claim = readLaneClaim(response);
|
|
161
|
+
if (!deps) {
|
|
162
|
+
// No trace source wired (tests, or a daemon without the sessions DB): fall back to
|
|
163
|
+
// the claim and say so, rather than silently reporting it as measured.
|
|
164
|
+
events.emitAgentAction(claim.noUpdate || claim.claimed === 0 ? 'no_update' : 'promoted', `promotion run: ${claim.claimed} claimed (unverified)`);
|
|
165
|
+
if (claim.claimed > 0)
|
|
166
|
+
events.emitMemoryPromoted(claim.claimed);
|
|
167
|
+
return;
|
|
66
168
|
}
|
|
67
|
-
|
|
68
|
-
|
|
169
|
+
const anchor = typeof before === 'number' ? before : 0;
|
|
170
|
+
const traceCount = deps.traces.countObligatedTraceRowsSince(anchor);
|
|
171
|
+
// The promoted count comes from the WRITE tools only. Using the obligated count here
|
|
172
|
+
// reported "1 saved" for a run whose only obligated call was contract_no_update, and
|
|
173
|
+
// that number is what wakes the wiki compiler.
|
|
174
|
+
const savedCount = deps.writeTraces
|
|
175
|
+
? deps.writeTraces.countObligatedTraceRowsSince(anchor)
|
|
176
|
+
: traceCount;
|
|
177
|
+
const verdict = reconcileClaimAgainstTraces(claim, traceCount);
|
|
178
|
+
events.emitAgentAction(savedCount > 0 ? 'promoted' : 'no_update', `promotion run: ${savedCount} saved, ${traceCount} obligated trace(s) (${verdict.note})`);
|
|
179
|
+
deps.log(`[stage2] promotion worker: ${verdict.verified ? 'verified' : 'UNVERIFIED'} - ${verdict.note}`);
|
|
180
|
+
if (!verdict.verified)
|
|
181
|
+
deps.onUnverified?.(verdict.note);
|
|
182
|
+
// Only a measured WRITE wakes the wiki compiler.
|
|
183
|
+
if (savedCount > 0)
|
|
184
|
+
events.emitMemoryPromoted(savedCount);
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
function buildWikiAfterHook(log, deps) {
|
|
188
|
+
return (_wo, response, before) => {
|
|
189
|
+
const claim = readLaneClaim(response);
|
|
190
|
+
if (!deps) {
|
|
191
|
+
log(`[stage2] wiki worker: ${claim.noUpdate ? 'no changes claimed' : 'completion claimed'}`);
|
|
192
|
+
return;
|
|
69
193
|
}
|
|
194
|
+
const traceCount = deps.traces.countObligatedTraceRowsSince(typeof before === 'number' ? before : 0);
|
|
195
|
+
const verdict = reconcileClaimAgainstTraces(claim, traceCount);
|
|
196
|
+
// "vault exercised", not "verified": the obligated `obsidian` tool covers reads as well
|
|
197
|
+
// as writes and the trace records only its name, so this cannot claim a write happened.
|
|
198
|
+
// See the KNOWN LIMIT on LANE_OBLIGATED_TOOLS.wiki.
|
|
199
|
+
log(`[stage2] wiki worker: ${verdict.verified ? 'vault exercised' : 'UNVERIFIED'} - ${verdict.note}`);
|
|
200
|
+
if (!verdict.verified)
|
|
201
|
+
deps.onUnverified?.(verdict.note);
|
|
70
202
|
};
|
|
71
203
|
}
|
|
72
204
|
function buildTemporalWorkOrderHook(deps) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workorder-hooks.js","sourceRoot":"","sources":["../../src/operator/workorder-hooks.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG
|
|
1
|
+
{"version":3,"file":"workorder-hooks.js","sourceRoot":"","sources":["../../src/operator/workorder-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,8 @@ export interface BoardPayload {
|
|
|
31
31
|
force?: boolean;
|
|
32
32
|
channelKey?: string;
|
|
33
33
|
deltaLines?: string[];
|
|
34
|
+
/** The delta batch this reconcile rests on; becomes the cause of what it changes. */
|
|
35
|
+
eventIds?: string[];
|
|
34
36
|
}
|
|
35
37
|
export interface WikiPayload {
|
|
36
38
|
batchId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workorder-publishers.d.ts","sourceRoot":"","sources":["../../src/operator/workorder-publishers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAQrF;AAUD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;qEACqE;AACrE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAOzE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAID,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"workorder-publishers.d.ts","sourceRoot":"","sources":["../../src/operator/workorder-publishers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAQrF;AAUD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;qEACqE;AACrE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAOzE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAID,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAiBD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAiFN"}
|
|
@@ -66,7 +66,7 @@ function promotionManualKey(now) {
|
|
|
66
66
|
return `promotion:manual:${now}`;
|
|
67
67
|
}
|
|
68
68
|
const PAYLOAD_KEYS = {
|
|
69
|
-
board: ['mode', 'force', 'channelKey', 'deltaLines'],
|
|
69
|
+
board: ['mode', 'force', 'channelKey', 'deltaLines', 'eventIds'],
|
|
70
70
|
wiki: ['batchId', 'events'],
|
|
71
71
|
'memory-curation': ['scheduledAt'],
|
|
72
72
|
temporal: [
|
|
@@ -109,6 +109,13 @@ function validateWorkOrderPayload(kind, payload) {
|
|
|
109
109
|
if (!Array.isArray(payload.deltaLines) || payload.deltaLines.length === 0) {
|
|
110
110
|
throw new Error(`workorder payload (board reconcile): non-empty deltaLines[] required`);
|
|
111
111
|
}
|
|
112
|
+
// Not required: a reconcile whose batch could not be determined still has to run.
|
|
113
|
+
// But a malformed one must not reach the ledger as a cause.
|
|
114
|
+
if (payload.eventIds !== undefined &&
|
|
115
|
+
(!Array.isArray(payload.eventIds) ||
|
|
116
|
+
payload.eventIds.some((id) => typeof id !== 'string' || id.trim().length === 0))) {
|
|
117
|
+
throw new Error(`workorder payload (board reconcile): eventIds[] must be non-empty strings`);
|
|
118
|
+
}
|
|
112
119
|
}
|
|
113
120
|
else if (payload.channelKey !== undefined || payload.deltaLines !== undefined) {
|
|
114
121
|
// Reconcile-only fields on a full run signal a caller bug - loud.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workorder-publishers.js","sourceRoot":"","sources":["../../src/operator/workorder-publishers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAYH,gEAQC;AAUD,oCAEC;AAID,wCAEC;AAED,8CAOC;AAED,oCAEC;AAED,oCAEC;AAED,gDAEC;
|
|
1
|
+
{"version":3,"file":"workorder-publishers.js","sourceRoot":"","sources":["../../src/operator/workorder-publishers.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,17 @@
|
|
|
7
7
|
* This is a mitigation, not a guarantee: the real blast-radius control stays
|
|
8
8
|
* with role-based gateway tool permissions and envelope destination scoping.
|
|
9
9
|
*/
|
|
10
|
+
/**
|
|
11
|
+
* Whether a tool's OUTPUT is untrusted external evidence.
|
|
12
|
+
*
|
|
13
|
+
* The invariant: anything that reads an external system directly returns text other
|
|
14
|
+
* people wrote. That includes every direct connector reader, so this derives from the
|
|
15
|
+
* same map the envelope scope uses rather than keeping a second hand-maintained list -
|
|
16
|
+
* a reader registered for scope but forgotten here would reach a prompt unfenced.
|
|
17
|
+
*
|
|
18
|
+
* Uploading is excluded: it sends our own content outward and returns no foreign text.
|
|
19
|
+
*/
|
|
20
|
+
export declare function isUntrustedExternalEvidenceTool(toolName: string): boolean;
|
|
10
21
|
export declare const UNTRUSTED_EXTERNAL_EVIDENCE_INSTRUCTION: string;
|
|
11
22
|
/**
|
|
12
23
|
* Wrap external text in untrusted-content delimiters.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"untrusted-content.d.ts","sourceRoot":"","sources":["../../src/utils/untrusted-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"untrusted-content.d.ts","sourceRoot":"","sources":["../../src/utils/untrusted-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CASzE;AAKD,eAAO,MAAM,uCAAuC,QAGzC,CAAC;AAEZ;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAW5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,GAC/C,MAAM,CA+BR"}
|
|
@@ -10,8 +10,28 @@
|
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.UNTRUSTED_EXTERNAL_EVIDENCE_INSTRUCTION = void 0;
|
|
13
|
+
exports.isUntrustedExternalEvidenceTool = isUntrustedExternalEvidenceTool;
|
|
13
14
|
exports.wrapUntrustedContent = wrapUntrustedContent;
|
|
14
15
|
exports.stripUntrustedBlocks = stripUntrustedBlocks;
|
|
16
|
+
const tool_connector_scope_js_1 = require("../envelope/tool-connector-scope.js");
|
|
17
|
+
/**
|
|
18
|
+
* Whether a tool's OUTPUT is untrusted external evidence.
|
|
19
|
+
*
|
|
20
|
+
* The invariant: anything that reads an external system directly returns text other
|
|
21
|
+
* people wrote. That includes every direct connector reader, so this derives from the
|
|
22
|
+
* same map the envelope scope uses rather than keeping a second hand-maintained list -
|
|
23
|
+
* a reader registered for scope but forgotten here would reach a prompt unfenced.
|
|
24
|
+
*
|
|
25
|
+
* Uploading is excluded: it sends our own content outward and returns no foreign text.
|
|
26
|
+
*/
|
|
27
|
+
function isUntrustedExternalEvidenceTool(toolName) {
|
|
28
|
+
if ((0, tool_connector_scope_js_1.directConnectorReadForTool)(toolName) !== null) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return ((toolName.startsWith('drive_') && toolName !== 'drive_upload') ||
|
|
32
|
+
toolName === 'ocr_image' ||
|
|
33
|
+
toolName === 'translate_conti');
|
|
34
|
+
}
|
|
15
35
|
const OPEN_MARKER = '<<<UNTRUSTED-CONTENT';
|
|
16
36
|
const END_MARKER = '<<<END-UNTRUSTED-CONTENT>>>';
|
|
17
37
|
exports.UNTRUSTED_EXTERNAL_EVIDENCE_INSTRUCTION = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"untrusted-content.js","sourceRoot":"","sources":["../../src/utils/untrusted-content.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"untrusted-content.js","sourceRoot":"","sources":["../../src/utils/untrusted-content.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAcH,0EASC;AAiBD,oDAWC;AAYD,oDAkCC;AA/FD,iFAAiF;AAEjF;;;;;;;;;GASG;AACH,SAAgB,+BAA+B,CAAC,QAAgB;IAC9D,IAAI,IAAA,oDAA0B,EAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CACL,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,cAAc,CAAC;QAC9D,QAAQ,KAAK,WAAW;QACxB,QAAQ,KAAK,iBAAiB,CAC/B,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAC3C,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEpC,QAAA,uCAAuC,GAAG;IACrD,gGAAgG;IAChG,2GAA2G;CAC5G,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ;;;;;;GAMG;AACH,SAAgB,oBAAoB,CAAC,MAAc,EAAE,OAAe;IAClE,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrE,OAAO;QACL,GAAG,WAAW,WAAW,UAAU,KAAK;QACxC,8EAA8E;QAC9E,kFAAkF;QAClF,yDAAyD;QACzD,IAAI;QACJ,UAAU;KACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,IAAY,EACZ,UAA8C,EAAE;IAEhD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC;IACpD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,MAAM;QACR,CAAC;QACD,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACf,wEAAwE;YACxE,sEAAsE;YACtE,iEAAiE;YACjE,wEAAwE;YACxE,mCAAmC;YACnC,qEAAqE;YACrE,iDAAiD;YACjD,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM;QACR,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jungjaehoon/mama-os",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.0",
|
|
4
4
|
"description": "MAMA OS - Local AI Runtime. Your scattered knowledge, organized by AI agents that never sleep.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -63,10 +63,10 @@
|
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"@anthropic-ai/sdk": "^0.71.2",
|
|
66
|
-
"@jungjaehoon/mama-core": "^
|
|
67
|
-
"better-sqlite3": "^12.8.0",
|
|
66
|
+
"@jungjaehoon/mama-core": "^2.0.0",
|
|
68
67
|
"@slack/socket-mode": "^2.0.5",
|
|
69
68
|
"@slack/web-api": "^7.13.0",
|
|
69
|
+
"better-sqlite3": "^12.8.0",
|
|
70
70
|
"commander": "^12.0.0",
|
|
71
71
|
"cron-parser": "^4.9.0",
|
|
72
72
|
"discord.js": "^14.25.1",
|
|
@@ -92,6 +92,7 @@
|
|
|
92
92
|
"@types/node-cron": "^3.0.11",
|
|
93
93
|
"@types/supertest": "^6.0.3",
|
|
94
94
|
"@types/ws": "^8.5.10",
|
|
95
|
+
"@vitest/coverage-v8": "1.6.1",
|
|
95
96
|
"supertest": "^7.2.2",
|
|
96
97
|
"tsx": "^4.20.6",
|
|
97
98
|
"typescript": "^5.4.0",
|