@jungjaehoon/mama-os 0.28.5 → 0.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/agent-loop.d.ts +0 -4
- package/dist/agent/agent-loop.d.ts.map +1 -1
- package/dist/agent/agent-loop.js +44 -12
- package/dist/agent/agent-loop.js.map +1 -1
- package/dist/agent/code-act/host-bridge.d.ts.map +1 -1
- package/dist/agent/code-act/host-bridge.js +53 -3
- package/dist/agent/code-act/host-bridge.js.map +1 -1
- package/dist/agent/code-act/tool-policy.d.ts.map +1 -1
- package/dist/agent/code-act/tool-policy.js +5 -0
- package/dist/agent/code-act/tool-policy.js.map +1 -1
- package/dist/agent/codex-auth.d.ts +0 -1
- package/dist/agent/codex-auth.d.ts.map +1 -1
- package/dist/agent/codex-auth.js +0 -4
- package/dist/agent/codex-auth.js.map +1 -1
- package/dist/agent/codex-home.d.ts +0 -2
- package/dist/agent/codex-home.d.ts.map +1 -1
- package/dist/agent/codex-home.js +0 -66
- package/dist/agent/codex-home.js.map +1 -1
- package/dist/agent/context-compile-service.d.ts +9 -0
- package/dist/agent/context-compile-service.d.ts.map +1 -1
- package/dist/agent/context-compile-service.js +6 -0
- package/dist/agent/context-compile-service.js.map +1 -1
- package/dist/agent/context-prompt-builder.d.ts +0 -6
- package/dist/agent/context-prompt-builder.d.ts.map +1 -1
- package/dist/agent/context-prompt-builder.js +0 -131
- package/dist/agent/context-prompt-builder.js.map +1 -1
- package/dist/agent/contract-extractor.d.ts +0 -4
- package/dist/agent/contract-extractor.d.ts.map +1 -1
- package/dist/agent/contract-extractor.js +0 -68
- package/dist/agent/contract-extractor.js.map +1 -1
- package/dist/agent/gateway-tool-executor.d.ts +20 -15
- package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
- package/dist/agent/gateway-tool-executor.js +236 -90
- package/dist/agent/gateway-tool-executor.js.map +1 -1
- package/dist/agent/gateway-tools.md +7 -4
- package/dist/agent/skill-loader.d.ts +0 -7
- package/dist/agent/skill-loader.d.ts.map +1 -1
- package/dist/agent/skill-loader.js +0 -86
- package/dist/agent/skill-loader.js.map +1 -1
- package/dist/agent/token-estimator.d.ts +0 -8
- package/dist/agent/token-estimator.d.ts.map +1 -1
- package/dist/agent/token-estimator.js +0 -14
- package/dist/agent/token-estimator.js.map +1 -1
- package/dist/agent/tool-registry.d.ts.map +1 -1
- package/dist/agent/tool-registry.js +23 -5
- package/dist/agent/tool-registry.js.map +1 -1
- package/dist/agent/types.d.ts +27 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/api/agent-graph-handler.d.ts +9 -0
- package/dist/api/agent-graph-handler.d.ts.map +1 -1
- package/dist/api/agent-graph-handler.js +27 -1
- package/dist/api/agent-graph-handler.js.map +1 -1
- package/dist/api/entity-audit-handler.d.ts +1 -2
- package/dist/api/entity-audit-handler.d.ts.map +1 -1
- package/dist/api/entity-audit-handler.js +0 -5
- package/dist/api/entity-audit-handler.js.map +1 -1
- package/dist/api/index.d.ts +1 -9
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +4 -17
- package/dist/api/index.js.map +1 -1
- package/dist/api/intelligence-handler.d.ts +0 -5
- package/dist/api/intelligence-handler.d.ts.map +1 -1
- package/dist/api/intelligence-handler.js +0 -15
- package/dist/api/intelligence-handler.js.map +1 -1
- package/dist/api/types.d.ts +1 -5
- package/dist/api/types.d.ts.map +1 -1
- package/dist/api/types.js +0 -14
- package/dist/api/types.js.map +1 -1
- package/dist/cli/commands/start.d.ts +117 -3
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +223 -62
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/config/config-manager.d.ts +0 -5
- package/dist/cli/config/config-manager.d.ts.map +1 -1
- package/dist/cli/config/config-manager.js +0 -29
- package/dist/cli/config/config-manager.js.map +1 -1
- package/dist/cli/config/types.d.ts.map +1 -1
- package/dist/cli/config/types.js +3 -0
- package/dist/cli/config/types.js.map +1 -1
- package/dist/cli/runtime/agent-loop-init.d.ts.map +1 -1
- package/dist/cli/runtime/agent-loop-init.js +9 -1
- package/dist/cli/runtime/agent-loop-init.js.map +1 -1
- package/dist/cli/runtime/api-routes-init.d.ts.map +1 -1
- package/dist/cli/runtime/api-routes-init.js +32 -5
- package/dist/cli/runtime/api-routes-init.js.map +1 -1
- package/dist/cli/runtime/api-server-init.d.ts.map +1 -1
- package/dist/cli/runtime/api-server-init.js +2 -0
- package/dist/cli/runtime/api-server-init.js.map +1 -1
- package/dist/cli/runtime/gateway-init.d.ts +1 -1
- package/dist/cli/runtime/gateway-init.d.ts.map +1 -1
- package/dist/cli/runtime/gateway-init.js +11 -38
- package/dist/cli/runtime/gateway-init.js.map +1 -1
- package/dist/cli/runtime/gateway-wiring.d.ts.map +1 -1
- package/dist/cli/runtime/gateway-wiring.js +6 -120
- package/dist/cli/runtime/gateway-wiring.js.map +1 -1
- package/dist/cli/utils/pid-manager.d.ts +0 -10
- package/dist/cli/utils/pid-manager.d.ts.map +1 -1
- package/dist/cli/utils/pid-manager.js +0 -26
- package/dist/cli/utils/pid-manager.js.map +1 -1
- package/dist/connectors/framework/polling-scheduler.d.ts +33 -1
- package/dist/connectors/framework/polling-scheduler.d.ts.map +1 -1
- package/dist/connectors/framework/polling-scheduler.js +46 -40
- package/dist/connectors/framework/polling-scheduler.js.map +1 -1
- package/dist/connectors/trello/query-tools.d.ts +32 -5
- package/dist/connectors/trello/query-tools.d.ts.map +1 -1
- package/dist/connectors/trello/query-tools.js +56 -17
- package/dist/connectors/trello/query-tools.js.map +1 -1
- package/dist/db/agent-store.d.ts +0 -4
- package/dist/db/agent-store.d.ts.map +1 -1
- package/dist/db/agent-store.js +0 -65
- package/dist/db/agent-store.js.map +1 -1
- package/dist/envelope/enforcer.d.ts.map +1 -1
- package/dist/envelope/enforcer.js +10 -1
- package/dist/envelope/enforcer.js.map +1 -1
- package/dist/envelope/index.d.ts +0 -1
- package/dist/envelope/index.d.ts.map +1 -1
- package/dist/envelope/index.js +0 -1
- package/dist/envelope/index.js.map +1 -1
- package/dist/envelope/signature.d.ts +0 -1
- package/dist/envelope/signature.d.ts.map +1 -1
- package/dist/envelope/signature.js +0 -7
- package/dist/envelope/signature.js.map +1 -1
- package/dist/envelope/tool-connector-scope.d.ts +35 -0
- package/dist/envelope/tool-connector-scope.d.ts.map +1 -0
- package/dist/envelope/tool-connector-scope.js +57 -0
- package/dist/envelope/tool-connector-scope.js.map +1 -0
- package/dist/evidence/effects.d.ts +107 -0
- package/dist/evidence/effects.d.ts.map +1 -0
- package/dist/evidence/effects.js +281 -0
- package/dist/evidence/effects.js.map +1 -0
- package/dist/evidence/read.d.ts +75 -0
- package/dist/evidence/read.d.ts.map +1 -0
- package/dist/evidence/read.js +105 -0
- package/dist/evidence/read.js.map +1 -0
- package/dist/gateways/base-gateway.d.ts +23 -3
- package/dist/gateways/base-gateway.d.ts.map +1 -1
- package/dist/gateways/base-gateway.js +15 -2
- package/dist/gateways/base-gateway.js.map +1 -1
- package/dist/gateways/discord.d.ts +4 -16
- package/dist/gateways/discord.d.ts.map +1 -1
- package/dist/gateways/discord.js +22 -189
- package/dist/gateways/discord.js.map +1 -1
- package/dist/gateways/index.d.ts +2 -1
- package/dist/gateways/index.d.ts.map +1 -1
- package/dist/gateways/message-router.d.ts +13 -20
- package/dist/gateways/message-router.d.ts.map +1 -1
- package/dist/gateways/message-router.js +32 -3
- package/dist/gateways/message-router.js.map +1 -1
- package/dist/gateways/slack.d.ts +2 -12
- package/dist/gateways/slack.d.ts.map +1 -1
- package/dist/gateways/slack.js +6 -220
- package/dist/gateways/slack.js.map +1 -1
- package/dist/gateways/telegram.d.ts +2 -2
- package/dist/gateways/telegram.d.ts.map +1 -1
- package/dist/gateways/telegram.js +3 -2
- package/dist/gateways/telegram.js.map +1 -1
- package/dist/gateways/turn-contract.d.ts +104 -0
- package/dist/gateways/turn-contract.d.ts.map +1 -0
- package/dist/{memory/consult-contract.js → gateways/turn-contract.js} +1 -1
- package/dist/gateways/turn-contract.js.map +1 -0
- package/dist/memory/provenance-live.d.ts +111 -0
- package/dist/memory/provenance-live.d.ts.map +1 -0
- package/dist/memory/provenance-live.js +381 -0
- package/dist/memory/provenance-live.js.map +1 -0
- package/dist/memory/provenance-resolver.d.ts +184 -0
- package/dist/memory/provenance-resolver.d.ts.map +1 -0
- package/dist/memory/provenance-resolver.js +152 -0
- package/dist/memory/provenance-resolver.js.map +1 -0
- package/dist/multi-agent/agent-event-bus.d.ts +1 -0
- package/dist/multi-agent/agent-event-bus.d.ts.map +1 -1
- package/dist/multi-agent/bmad-templates.d.ts +0 -18
- package/dist/multi-agent/bmad-templates.d.ts.map +1 -1
- package/dist/multi-agent/bmad-templates.js +0 -127
- package/dist/multi-agent/bmad-templates.js.map +1 -1
- package/dist/multi-agent/dashboard-agent-persona.js +3 -3
- package/dist/operator/board-reconcile.d.ts +2 -3
- package/dist/operator/board-reconcile.d.ts.map +1 -1
- package/dist/operator/board-reconcile.js +18 -32
- package/dist/operator/board-reconcile.js.map +1 -1
- package/dist/operator/changes-projection.d.ts +70 -0
- package/dist/operator/changes-projection.d.ts.map +1 -0
- package/dist/operator/changes-projection.js +109 -0
- package/dist/operator/changes-projection.js.map +1 -0
- package/dist/operator/external-correlation.d.ts +94 -0
- package/dist/operator/external-correlation.d.ts.map +1 -0
- package/dist/operator/external-correlation.js +177 -0
- package/dist/operator/external-correlation.js.map +1 -0
- package/dist/operator/operator-trigger-loop.d.ts +9 -1
- package/dist/operator/operator-trigger-loop.d.ts.map +1 -1
- package/dist/operator/operator-trigger-loop.js +8 -4
- package/dist/operator/operator-trigger-loop.js.map +1 -1
- package/dist/operator/provenance-lookup.d.ts +18 -0
- package/dist/operator/provenance-lookup.d.ts.map +1 -0
- package/dist/operator/provenance-lookup.js +54 -0
- package/dist/operator/provenance-lookup.js.map +1 -0
- package/dist/operator/report-carry.d.ts +18 -1
- package/dist/operator/report-carry.d.ts.map +1 -1
- package/dist/operator/report-carry.js +22 -3
- package/dist/operator/report-carry.js.map +1 -1
- package/dist/operator/report-run.d.ts +35 -0
- package/dist/operator/report-run.d.ts.map +1 -1
- package/dist/operator/report-run.js +184 -24
- package/dist/operator/report-run.js.map +1 -1
- package/dist/operator/situation-report.d.ts.map +1 -1
- package/dist/operator/situation-report.js +9 -2
- package/dist/operator/situation-report.js.map +1 -1
- package/dist/operator/task-ledger.d.ts +84 -2
- package/dist/operator/task-ledger.d.ts.map +1 -1
- package/dist/operator/task-ledger.js +274 -31
- package/dist/operator/task-ledger.js.map +1 -1
- package/dist/operator/worker-run.js +1 -1
- package/dist/operator/worker-run.js.map +1 -1
- package/dist/operator/workorder-hooks.d.ts +79 -4
- package/dist/operator/workorder-hooks.d.ts.map +1 -1
- package/dist/operator/workorder-hooks.js +152 -20
- package/dist/operator/workorder-hooks.js.map +1 -1
- package/dist/operator/workorder-publishers.d.ts +2 -0
- package/dist/operator/workorder-publishers.d.ts.map +1 -1
- package/dist/operator/workorder-publishers.js +8 -1
- package/dist/operator/workorder-publishers.js.map +1 -1
- package/dist/utils/untrusted-content.d.ts +11 -0
- package/dist/utils/untrusted-content.d.ts.map +1 -1
- package/dist/utils/untrusted-content.js +20 -0
- package/dist/utils/untrusted-content.js.map +1 -1
- package/package.json +4 -3
- package/scripts/backfill-channel-keys.ts +451 -0
- package/dist/agent/auto-recall.d.ts +0 -48
- package/dist/agent/auto-recall.d.ts.map +0 -1
- package/dist/agent/auto-recall.js +0 -192
- package/dist/agent/auto-recall.js.map +0 -1
- package/dist/agent/claude-client.d.ts +0 -50
- package/dist/agent/claude-client.d.ts.map +0 -1
- package/dist/agent/claude-client.js +0 -219
- package/dist/agent/claude-client.js.map +0 -1
- package/dist/agent/delegation-executor.d.ts +0 -49
- package/dist/agent/delegation-executor.d.ts.map +0 -1
- package/dist/agent/delegation-executor.js +0 -692
- package/dist/agent/delegation-executor.js.map +0 -1
- package/dist/agent/mcp-executor.d.ts +0 -60
- package/dist/agent/mcp-executor.d.ts.map +0 -1
- package/dist/agent/mcp-executor.js +0 -190
- package/dist/agent/mcp-executor.js.map +0 -1
- package/dist/agent/process-tree.d.ts +0 -6
- package/dist/agent/process-tree.d.ts.map +0 -1
- package/dist/agent/process-tree.js +0 -21
- package/dist/agent/process-tree.js.map +0 -1
- package/dist/agent/streaming-callback-manager.d.ts +0 -85
- package/dist/agent/streaming-callback-manager.d.ts.map +0 -1
- package/dist/agent/streaming-callback-manager.js +0 -103
- package/dist/agent/streaming-callback-manager.js.map +0 -1
- package/dist/agent/token-budget.d.ts +0 -49
- package/dist/agent/token-budget.d.ts.map +0 -1
- package/dist/agent/token-budget.js +0 -92
- package/dist/agent/token-budget.js.map +0 -1
- package/dist/connectors/kagemusha/history-compiler.d.ts +0 -18
- package/dist/connectors/kagemusha/history-compiler.d.ts.map +0 -1
- package/dist/connectors/kagemusha/history-compiler.js +0 -35
- package/dist/connectors/kagemusha/history-compiler.js.map +0 -1
- package/dist/db/migrations/wiki-artifacts.d.ts +0 -3
- package/dist/db/migrations/wiki-artifacts.d.ts.map +0 -1
- package/dist/db/migrations/wiki-artifacts.js +0 -24
- package/dist/db/migrations/wiki-artifacts.js.map +0 -1
- package/dist/envelope/subset.d.ts +0 -9
- package/dist/envelope/subset.d.ts.map +0 -1
- package/dist/envelope/subset.js +0 -67
- package/dist/envelope/subset.js.map +0 -1
- package/dist/memory/consult-contract.d.ts +0 -8
- package/dist/memory/consult-contract.d.ts.map +0 -1
- package/dist/memory/consult-contract.js.map +0 -1
- package/dist/multi-agent/agent-message-queue.d.ts +0 -104
- package/dist/multi-agent/agent-message-queue.d.ts.map +0 -1
- package/dist/multi-agent/agent-message-queue.js +0 -227
- package/dist/multi-agent/agent-message-queue.js.map +0 -1
- package/dist/multi-agent/background-task-manager.d.ts +0 -248
- package/dist/multi-agent/background-task-manager.d.ts.map +0 -1
- package/dist/multi-agent/background-task-manager.js +0 -415
- package/dist/multi-agent/background-task-manager.js.map +0 -1
- package/dist/multi-agent/category-router.d.ts +0 -56
- package/dist/multi-agent/category-router.d.ts.map +0 -1
- package/dist/multi-agent/category-router.js +0 -99
- package/dist/multi-agent/category-router.js.map +0 -1
- package/dist/multi-agent/council-engine.d.ts +0 -60
- package/dist/multi-agent/council-engine.d.ts.map +0 -1
- package/dist/multi-agent/council-engine.js +0 -284
- package/dist/multi-agent/council-engine.js.map +0 -1
- package/dist/multi-agent/delegation-format-validator.d.ts +0 -22
- package/dist/multi-agent/delegation-format-validator.d.ts.map +0 -1
- package/dist/multi-agent/delegation-format-validator.js +0 -31
- package/dist/multi-agent/delegation-format-validator.js.map +0 -1
- package/dist/multi-agent/delegation-manager.d.ts +0 -128
- package/dist/multi-agent/delegation-manager.d.ts.map +0 -1
- package/dist/multi-agent/delegation-manager.js +0 -276
- package/dist/multi-agent/delegation-manager.js.map +0 -1
- package/dist/multi-agent/i18n-messages.d.ts +0 -35
- package/dist/multi-agent/i18n-messages.d.ts.map +0 -1
- package/dist/multi-agent/i18n-messages.js +0 -54
- package/dist/multi-agent/i18n-messages.js.map +0 -1
- package/dist/multi-agent/index.d.ts +0 -31
- package/dist/multi-agent/index.d.ts.map +0 -1
- package/dist/multi-agent/index.js +0 -46
- package/dist/multi-agent/index.js.map +0 -1
- package/dist/multi-agent/multi-agent-base.d.ts +0 -223
- package/dist/multi-agent/multi-agent-base.d.ts.map +0 -1
- package/dist/multi-agent/multi-agent-base.js +0 -592
- package/dist/multi-agent/multi-agent-base.js.map +0 -1
- package/dist/multi-agent/multi-agent-discord.d.ts +0 -142
- package/dist/multi-agent/multi-agent-discord.d.ts.map +0 -1
- package/dist/multi-agent/multi-agent-discord.js +0 -1235
- package/dist/multi-agent/multi-agent-discord.js.map +0 -1
- package/dist/multi-agent/multi-agent-slack.d.ts +0 -146
- package/dist/multi-agent/multi-agent-slack.d.ts.map +0 -1
- package/dist/multi-agent/multi-agent-slack.js +0 -953
- package/dist/multi-agent/multi-agent-slack.js.map +0 -1
- package/dist/multi-agent/multi-bot-manager.d.ts +0 -119
- package/dist/multi-agent/multi-bot-manager.d.ts.map +0 -1
- package/dist/multi-agent/multi-bot-manager.js +0 -449
- package/dist/multi-agent/multi-bot-manager.js.map +0 -1
- package/dist/multi-agent/orchestrator.d.ts +0 -110
- package/dist/multi-agent/orchestrator.d.ts.map +0 -1
- package/dist/multi-agent/orchestrator.js +0 -436
- package/dist/multi-agent/orchestrator.js.map +0 -1
- package/dist/multi-agent/rate-limiter.d.ts +0 -76
- package/dist/multi-agent/rate-limiter.d.ts.map +0 -1
- package/dist/multi-agent/rate-limiter.js +0 -128
- package/dist/multi-agent/rate-limiter.js.map +0 -1
- package/dist/multi-agent/shared-context.d.ts +0 -127
- package/dist/multi-agent/shared-context.d.ts.map +0 -1
- package/dist/multi-agent/shared-context.js +0 -239
- package/dist/multi-agent/shared-context.js.map +0 -1
- package/dist/multi-agent/slack-config-validator.d.ts +0 -42
- package/dist/multi-agent/slack-config-validator.d.ts.map +0 -1
- package/dist/multi-agent/slack-config-validator.js +0 -194
- package/dist/multi-agent/slack-config-validator.js.map +0 -1
- package/dist/multi-agent/slack-multi-bot-manager.d.ts +0 -143
- package/dist/multi-agent/slack-multi-bot-manager.d.ts.map +0 -1
- package/dist/multi-agent/slack-multi-bot-manager.js +0 -413
- package/dist/multi-agent/slack-multi-bot-manager.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts +0 -98
- package/dist/multi-agent/swarm/swarm-anti-pattern-detector.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js +0 -225
- package/dist/multi-agent/swarm/swarm-anti-pattern-detector.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-db.d.ts +0 -175
- package/dist/multi-agent/swarm/swarm-db.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-db.js +0 -313
- package/dist/multi-agent/swarm/swarm-db.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-event-reporter.d.ts +0 -116
- package/dist/multi-agent/swarm/swarm-event-reporter.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-event-reporter.js +0 -243
- package/dist/multi-agent/swarm/swarm-event-reporter.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts +0 -57
- package/dist/multi-agent/swarm/swarm-mama-adapter.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-mama-adapter.js +0 -87
- package/dist/multi-agent/swarm/swarm-mama-adapter.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-manager.d.ts +0 -122
- package/dist/multi-agent/swarm/swarm-manager.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-manager.js +0 -199
- package/dist/multi-agent/swarm/swarm-manager.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-task-learner.d.ts +0 -104
- package/dist/multi-agent/swarm/swarm-task-learner.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-task-learner.js +0 -211
- package/dist/multi-agent/swarm/swarm-task-learner.js.map +0 -1
- package/dist/multi-agent/swarm/swarm-task-runner.d.ts +0 -155
- package/dist/multi-agent/swarm/swarm-task-runner.d.ts.map +0 -1
- package/dist/multi-agent/swarm/swarm-task-runner.js +0 -615
- package/dist/multi-agent/swarm/swarm-task-runner.js.map +0 -1
- package/dist/multi-agent/swarm/wave-engine.d.ts +0 -96
- package/dist/multi-agent/swarm/wave-engine.d.ts.map +0 -1
- package/dist/multi-agent/swarm/wave-engine.js +0 -123
- package/dist/multi-agent/swarm/wave-engine.js.map +0 -1
- package/dist/multi-agent/system-reminder.d.ts +0 -206
- package/dist/multi-agent/system-reminder.d.ts.map +0 -1
- package/dist/multi-agent/system-reminder.js +0 -455
- package/dist/multi-agent/system-reminder.js.map +0 -1
- package/dist/multi-agent/task-continuation.d.ts +0 -74
- package/dist/multi-agent/task-continuation.d.ts.map +0 -1
- package/dist/multi-agent/task-continuation.js +0 -172
- package/dist/multi-agent/task-continuation.js.map +0 -1
- package/dist/multi-agent/ultrawork-state.d.ts +0 -57
- package/dist/multi-agent/ultrawork-state.d.ts.map +0 -1
- package/dist/multi-agent/ultrawork-state.js +0 -191
- package/dist/multi-agent/ultrawork-state.js.map +0 -1
- package/dist/multi-agent/ultrawork.d.ts +0 -152
- package/dist/multi-agent/ultrawork.d.ts.map +0 -1
- package/dist/multi-agent/ultrawork.js +0 -879
- package/dist/multi-agent/ultrawork.js.map +0 -1
- package/dist/multi-agent/work-tracker.d.ts +0 -22
- package/dist/multi-agent/work-tracker.d.ts.map +0 -1
- package/dist/multi-agent/work-tracker.js +0 -45
- package/dist/multi-agent/work-tracker.js.map +0 -1
- package/dist/multi-agent/workflow-engine.d.ts +0 -87
- package/dist/multi-agent/workflow-engine.d.ts.map +0 -1
- package/dist/multi-agent/workflow-engine.js +0 -604
- package/dist/multi-agent/workflow-engine.js.map +0 -1
- package/dist/onboarding/all-tools.d.ts +0 -18
- package/dist/onboarding/all-tools.d.ts.map +0 -1
- package/dist/onboarding/all-tools.js +0 -149
- package/dist/onboarding/all-tools.js.map +0 -1
- package/dist/onboarding/autonomous-discovery-tools.d.ts +0 -23
- package/dist/onboarding/autonomous-discovery-tools.d.ts.map +0 -1
- package/dist/onboarding/autonomous-discovery-tools.js +0 -268
- package/dist/onboarding/autonomous-discovery-tools.js.map +0 -1
- package/dist/onboarding/onboarding-state.d.ts +0 -70
- package/dist/onboarding/onboarding-state.d.ts.map +0 -1
- package/dist/onboarding/onboarding-state.js +0 -183
- package/dist/onboarding/onboarding-state.js.map +0 -1
- package/dist/onboarding/personality-quiz.d.ts +0 -35
- package/dist/onboarding/personality-quiz.d.ts.map +0 -1
- package/dist/onboarding/personality-quiz.js +0 -219
- package/dist/onboarding/personality-quiz.js.map +0 -1
- package/dist/onboarding/phase-5-summary.d.ts +0 -26
- package/dist/onboarding/phase-5-summary.d.ts.map +0 -1
- package/dist/onboarding/phase-5-summary.js +0 -153
- package/dist/onboarding/phase-5-summary.js.map +0 -1
- package/dist/onboarding/phase-6-security.d.ts +0 -33
- package/dist/onboarding/phase-6-security.d.ts.map +0 -1
- package/dist/onboarding/phase-6-security.js +0 -473
- package/dist/onboarding/phase-6-security.js.map +0 -1
- package/dist/onboarding/phase-7-integrations.d.ts +0 -91
- package/dist/onboarding/phase-7-integrations.d.ts.map +0 -1
- package/dist/onboarding/phase-7-integrations.js +0 -725
- package/dist/onboarding/phase-7-integrations.js.map +0 -1
- package/dist/onboarding/phase-8-demo.d.ts +0 -43
- package/dist/onboarding/phase-8-demo.d.ts.map +0 -1
- package/dist/onboarding/phase-8-demo.js +0 -346
- package/dist/onboarding/phase-8-demo.js.map +0 -1
- package/dist/onboarding/phase-9-finalization.d.ts +0 -27
- package/dist/onboarding/phase-9-finalization.d.ts.map +0 -1
- package/dist/onboarding/phase-9-finalization.js +0 -417
- package/dist/onboarding/phase-9-finalization.js.map +0 -1
- package/dist/onboarding/ritual-prompt.d.ts +0 -2
- package/dist/onboarding/ritual-prompt.d.ts.map +0 -1
- package/dist/onboarding/ritual-prompt.js +0 -285
- package/dist/onboarding/ritual-prompt.js.map +0 -1
- package/dist/onboarding/ritual-tools.d.ts +0 -17
- package/dist/onboarding/ritual-tools.d.ts.map +0 -1
- package/dist/onboarding/ritual-tools.js +0 -93
- package/dist/onboarding/ritual-tools.js.map +0 -1
- package/dist/setup/setup-tools.d.ts +0 -13
- package/dist/setup/setup-tools.d.ts.map +0 -1
- package/dist/setup/setup-tools.js +0 -106
- package/dist/setup/setup-tools.js.map +0 -1
- package/dist/utils/slack-input-validator.d.ts +0 -74
- package/dist/utils/slack-input-validator.d.ts.map +0 -1
- package/dist/utils/slack-input-validator.js +0 -275
- package/dist/utils/slack-input-validator.js.map +0 -1
- package/dist/utils/slack-rate-limiter.d.ts +0 -139
- package/dist/utils/slack-rate-limiter.d.ts.map +0 -1
- package/dist/utils/slack-rate-limiter.js +0 -324
- package/dist/utils/slack-rate-limiter.js.map +0 -1
- package/dist/wiki/wiki-compiler.d.ts +0 -13
- package/dist/wiki/wiki-compiler.d.ts.map +0 -1
- package/dist/wiki/wiki-compiler.js +0 -82
- package/dist/wiki/wiki-compiler.js.map +0 -1
|
@@ -1,275 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Input validation and sanitization for Slack events and content
|
|
4
|
-
* Prevents injection attacks and validates event structure
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.ValidationPresets = void 0;
|
|
8
|
-
exports.validateChannelId = validateChannelId;
|
|
9
|
-
exports.validateUserId = validateUserId;
|
|
10
|
-
exports.validateBotId = validateBotId;
|
|
11
|
-
exports.validateTimestamp = validateTimestamp;
|
|
12
|
-
exports.sanitizeMessageContent = sanitizeMessageContent;
|
|
13
|
-
exports.validateMentionEvent = validateMentionEvent;
|
|
14
|
-
exports.createValidationError = createValidationError;
|
|
15
|
-
exports.isValidationError = isValidationError;
|
|
16
|
-
exports.safeValidateMentionEvent = safeValidateMentionEvent;
|
|
17
|
-
const DEFAULT_OPTIONS = {
|
|
18
|
-
maxContentLength: 4000,
|
|
19
|
-
allowBotMessages: true,
|
|
20
|
-
forbiddenPatterns: [],
|
|
21
|
-
stripMarkdown: true,
|
|
22
|
-
allowedCharacters: /^[\w\s\-_.,!?@#$%&*()+=[\]{}|\\:";'<>/`~]*$/,
|
|
23
|
-
useWhitelistValidation: false,
|
|
24
|
-
};
|
|
25
|
-
/**
|
|
26
|
-
* Validates that a value is a non-empty string
|
|
27
|
-
*/
|
|
28
|
-
function validateStringField(value, fieldName) {
|
|
29
|
-
if (typeof value !== 'string') {
|
|
30
|
-
const error = new Error(`${fieldName} must be a string, got ${typeof value}`);
|
|
31
|
-
error.name = 'SlackEventValidationError';
|
|
32
|
-
error.field = fieldName;
|
|
33
|
-
error.value = value;
|
|
34
|
-
throw error;
|
|
35
|
-
}
|
|
36
|
-
if (value.trim().length === 0) {
|
|
37
|
-
const error = new Error(`${fieldName} cannot be empty`);
|
|
38
|
-
error.name = 'SlackEventValidationError';
|
|
39
|
-
error.field = fieldName;
|
|
40
|
-
error.value = value;
|
|
41
|
-
throw error;
|
|
42
|
-
}
|
|
43
|
-
return value.trim();
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Validates Slack channel ID format (C followed by alphanumeric)
|
|
47
|
-
*/
|
|
48
|
-
function validateChannelId(channelId) {
|
|
49
|
-
return /^[C][A-Z0-9]{8,}$/.test(channelId);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Validates Slack user ID format (U followed by alphanumeric)
|
|
53
|
-
*/
|
|
54
|
-
function validateUserId(userId) {
|
|
55
|
-
return /^[UW][A-Z0-9]{8,}$/.test(userId);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Validates Slack bot ID format (B followed by alphanumeric)
|
|
59
|
-
*/
|
|
60
|
-
function validateBotId(botId) {
|
|
61
|
-
return /^[B][A-Z0-9]{8,}$/.test(botId);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Validates Slack timestamp format (Unix timestamp with microseconds)
|
|
65
|
-
*/
|
|
66
|
-
function validateTimestamp(ts) {
|
|
67
|
-
return /^\d+\.\d+$/.test(ts);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Sanitizes message content by removing potentially dangerous patterns
|
|
71
|
-
*/
|
|
72
|
-
function sanitizeMessageContent(content, options = {}) {
|
|
73
|
-
const opts = { ...DEFAULT_OPTIONS, ...options };
|
|
74
|
-
let sanitized = content;
|
|
75
|
-
// Length check
|
|
76
|
-
if (sanitized.length > opts.maxContentLength) {
|
|
77
|
-
sanitized = sanitized.substring(0, opts.maxContentLength) + '...';
|
|
78
|
-
}
|
|
79
|
-
// Remove null bytes and other control characters (except newlines and tabs)
|
|
80
|
-
// eslint-disable-next-line no-control-regex
|
|
81
|
-
sanitized = sanitized.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '');
|
|
82
|
-
// Basic HTML/script injection prevention
|
|
83
|
-
sanitized = sanitized.replace(/<script[^>]*>.*?<\/script>/gi, '[SCRIPT_REMOVED]');
|
|
84
|
-
sanitized = sanitized.replace(/<iframe[^>]*>.*?<\/iframe>/gi, '[IFRAME_REMOVED]');
|
|
85
|
-
sanitized = sanitized.replace(/javascript:/gi, 'js-protocol-removed:');
|
|
86
|
-
sanitized = sanitized.replace(/data:/gi, 'data-protocol-removed:');
|
|
87
|
-
// Strip Slack markdown if requested
|
|
88
|
-
if (opts.stripMarkdown) {
|
|
89
|
-
// Remove Slack formatting but preserve the text content
|
|
90
|
-
sanitized = sanitized.replace(/[*_`~]/g, '');
|
|
91
|
-
sanitized = sanitized.replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&');
|
|
92
|
-
}
|
|
93
|
-
// Apply custom forbidden patterns
|
|
94
|
-
for (const pattern of opts.forbiddenPatterns) {
|
|
95
|
-
sanitized = sanitized.replace(pattern, '[FORBIDDEN_PATTERN_REMOVED]');
|
|
96
|
-
}
|
|
97
|
-
// Apply whitelist validation if enabled
|
|
98
|
-
if (opts.useWhitelistValidation && opts.allowedCharacters) {
|
|
99
|
-
// Remove characters not in whitelist
|
|
100
|
-
sanitized = sanitized.replace(new RegExp(`[^${opts.allowedCharacters.source.slice(1, -1)}]`, 'g'), '');
|
|
101
|
-
}
|
|
102
|
-
// Remove excessive whitespace
|
|
103
|
-
sanitized = sanitized.replace(/\s+/g, ' ').trim();
|
|
104
|
-
return sanitized;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Validates a Slack mention event structure and sanitizes content
|
|
108
|
-
*/
|
|
109
|
-
function validateMentionEvent(event, options = {}) {
|
|
110
|
-
const opts = { ...DEFAULT_OPTIONS, ...options };
|
|
111
|
-
if (!event || typeof event !== 'object') {
|
|
112
|
-
const error = new Error('Event must be an object');
|
|
113
|
-
error.name = 'SlackEventValidationError';
|
|
114
|
-
throw error;
|
|
115
|
-
}
|
|
116
|
-
const rawEvent = event;
|
|
117
|
-
// Required fields
|
|
118
|
-
const type = validateStringField(rawEvent.type, 'type');
|
|
119
|
-
const channel = validateStringField(rawEvent.channel, 'channel');
|
|
120
|
-
const user = validateStringField(rawEvent.user, 'user');
|
|
121
|
-
const text = validateStringField(rawEvent.text, 'text');
|
|
122
|
-
const ts = validateStringField(rawEvent.ts, 'ts');
|
|
123
|
-
// Validate field formats
|
|
124
|
-
if (!validateChannelId(channel)) {
|
|
125
|
-
const error = new Error(`Invalid channel ID format: ${channel}`);
|
|
126
|
-
error.name = 'SlackEventValidationError';
|
|
127
|
-
error.field = 'channel';
|
|
128
|
-
error.value = channel;
|
|
129
|
-
throw error;
|
|
130
|
-
}
|
|
131
|
-
if (!validateUserId(user)) {
|
|
132
|
-
const error = new Error(`Invalid user ID format: ${user}`);
|
|
133
|
-
error.name = 'SlackEventValidationError';
|
|
134
|
-
error.field = 'user';
|
|
135
|
-
error.value = user;
|
|
136
|
-
throw error;
|
|
137
|
-
}
|
|
138
|
-
if (!validateTimestamp(ts)) {
|
|
139
|
-
const error = new Error(`Invalid timestamp format: ${ts}`);
|
|
140
|
-
error.name = 'SlackEventValidationError';
|
|
141
|
-
error.field = 'ts';
|
|
142
|
-
error.value = ts;
|
|
143
|
-
throw error;
|
|
144
|
-
}
|
|
145
|
-
// Optional fields
|
|
146
|
-
let thread_ts;
|
|
147
|
-
if (rawEvent.thread_ts) {
|
|
148
|
-
thread_ts = validateStringField(rawEvent.thread_ts, 'thread_ts');
|
|
149
|
-
if (!validateTimestamp(thread_ts)) {
|
|
150
|
-
const error = new Error(`Invalid thread_ts format: ${thread_ts}`);
|
|
151
|
-
error.name = 'SlackEventValidationError';
|
|
152
|
-
error.field = 'thread_ts';
|
|
153
|
-
error.value = thread_ts;
|
|
154
|
-
throw error;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
let bot_id;
|
|
158
|
-
if (rawEvent.bot_id) {
|
|
159
|
-
bot_id = validateStringField(rawEvent.bot_id, 'bot_id');
|
|
160
|
-
if (!validateBotId(bot_id)) {
|
|
161
|
-
const error = new Error(`Invalid bot_id format: ${bot_id}`);
|
|
162
|
-
error.name = 'SlackEventValidationError';
|
|
163
|
-
error.field = 'bot_id';
|
|
164
|
-
error.value = bot_id;
|
|
165
|
-
throw error;
|
|
166
|
-
}
|
|
167
|
-
// Check if bot messages are allowed
|
|
168
|
-
if (!opts.allowBotMessages) {
|
|
169
|
-
const error = new Error('Bot messages are not allowed');
|
|
170
|
-
error.name = 'SlackEventValidationError';
|
|
171
|
-
error.field = 'bot_id';
|
|
172
|
-
error.value = bot_id;
|
|
173
|
-
throw error;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
let channel_type;
|
|
177
|
-
if (rawEvent.channel_type) {
|
|
178
|
-
channel_type = validateStringField(rawEvent.channel_type, 'channel_type');
|
|
179
|
-
}
|
|
180
|
-
// Sanitize text content
|
|
181
|
-
const sanitizedText = sanitizeMessageContent(text, opts);
|
|
182
|
-
return {
|
|
183
|
-
type,
|
|
184
|
-
channel,
|
|
185
|
-
user,
|
|
186
|
-
text: sanitizedText,
|
|
187
|
-
ts,
|
|
188
|
-
thread_ts,
|
|
189
|
-
bot_id,
|
|
190
|
-
channel_type,
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Creates a validation error with consistent structure
|
|
195
|
-
*/
|
|
196
|
-
function createValidationError(message, field, value) {
|
|
197
|
-
const error = new Error(message);
|
|
198
|
-
error.name = 'SlackEventValidationError';
|
|
199
|
-
if (field)
|
|
200
|
-
error.field = field;
|
|
201
|
-
if (value !== undefined)
|
|
202
|
-
error.value = value;
|
|
203
|
-
return error;
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Checks if an error is a Slack event validation error
|
|
207
|
-
*/
|
|
208
|
-
function isValidationError(error) {
|
|
209
|
-
return error instanceof Error && error.name === 'SlackEventValidationError';
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Safe wrapper for validation that returns result or null on error
|
|
213
|
-
*/
|
|
214
|
-
function safeValidateMentionEvent(event, options = {}) {
|
|
215
|
-
try {
|
|
216
|
-
return validateMentionEvent(event, options);
|
|
217
|
-
}
|
|
218
|
-
catch (error) {
|
|
219
|
-
if (isValidationError(error)) {
|
|
220
|
-
// Note: Using console.warn here since this is a utility function
|
|
221
|
-
// and we don't have access to a logger instance
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
// Note: Using console.error here since this is a utility function
|
|
225
|
-
// and we don't have access to a logger instance
|
|
226
|
-
}
|
|
227
|
-
return null;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Validation presets for different security levels
|
|
232
|
-
*/
|
|
233
|
-
exports.ValidationPresets = {
|
|
234
|
-
/** Strict validation with maximum security */
|
|
235
|
-
STRICT: {
|
|
236
|
-
maxContentLength: 2000,
|
|
237
|
-
allowBotMessages: false,
|
|
238
|
-
forbiddenPatterns: [
|
|
239
|
-
/\b(eval|function|script|import|require)\b/gi,
|
|
240
|
-
/[<>'"]/g,
|
|
241
|
-
/\$\{.*\}/g, // Template literals
|
|
242
|
-
],
|
|
243
|
-
stripMarkdown: true,
|
|
244
|
-
allowedCharacters: /^[a-zA-Z0-9\s\-_.!?@#%&*()+=[\]{}|:";'/`~]*$/,
|
|
245
|
-
useWhitelistValidation: true,
|
|
246
|
-
},
|
|
247
|
-
/** Standard validation for normal use */
|
|
248
|
-
STANDARD: {
|
|
249
|
-
maxContentLength: 4000,
|
|
250
|
-
allowBotMessages: true,
|
|
251
|
-
forbiddenPatterns: [/<script[^>]*>.*?<\/script>/gi, /javascript:/gi],
|
|
252
|
-
stripMarkdown: true,
|
|
253
|
-
allowedCharacters: /^[\w\s\-_.,!?@#$%&*()+=[\]{}|\\:";'<>/`~]*$/,
|
|
254
|
-
useWhitelistValidation: false,
|
|
255
|
-
},
|
|
256
|
-
/** Permissive validation with basic checks only */
|
|
257
|
-
PERMISSIVE: {
|
|
258
|
-
maxContentLength: 8000,
|
|
259
|
-
allowBotMessages: true,
|
|
260
|
-
forbiddenPatterns: [],
|
|
261
|
-
stripMarkdown: false,
|
|
262
|
-
allowedCharacters: /^.*$/,
|
|
263
|
-
useWhitelistValidation: false,
|
|
264
|
-
},
|
|
265
|
-
/** Whitelist-only validation for ultra-secure environments */
|
|
266
|
-
WHITELIST_ONLY: {
|
|
267
|
-
maxContentLength: 1000,
|
|
268
|
-
allowBotMessages: false,
|
|
269
|
-
forbiddenPatterns: [],
|
|
270
|
-
stripMarkdown: true,
|
|
271
|
-
allowedCharacters: /^[a-zA-Z0-9\s.,!?-]*$/,
|
|
272
|
-
useWhitelistValidation: true,
|
|
273
|
-
},
|
|
274
|
-
};
|
|
275
|
-
//# sourceMappingURL=slack-input-validator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slack-input-validator.js","sourceRoot":"","sources":["../../src/utils/slack-input-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Slack API Rate Limiter
|
|
3
|
-
*
|
|
4
|
-
* Implements rate limiting and request queuing for Slack Web API calls
|
|
5
|
-
* to prevent hitting API limits and ensure reliable operation.
|
|
6
|
-
*
|
|
7
|
-
* Slack API Limits:
|
|
8
|
-
* - Tier 1: 1+ request per second per workspace
|
|
9
|
-
* - Tier 2: 20+ requests per minute per workspace
|
|
10
|
-
* - Tier 3: 50+ requests per minute per workspace
|
|
11
|
-
* - Tier 4: 100+ requests per minute per workspace
|
|
12
|
-
*
|
|
13
|
-
* Reference: https://api.slack.com/docs/rate-limits
|
|
14
|
-
*/
|
|
15
|
-
export interface RateLimitConfig {
|
|
16
|
-
/** Maximum requests per minute (default: 50) */
|
|
17
|
-
maxRequestsPerMinute?: number;
|
|
18
|
-
/** Minimum interval between requests in ms (default: 1000ms) */
|
|
19
|
-
minIntervalMs?: number;
|
|
20
|
-
/** Maximum queue size (default: 100) */
|
|
21
|
-
maxQueueSize?: number;
|
|
22
|
-
/** Request timeout in ms (default: 30000ms) */
|
|
23
|
-
requestTimeoutMs?: number;
|
|
24
|
-
/** Enable retry on rate limit errors (default: true) */
|
|
25
|
-
enableRetry?: boolean;
|
|
26
|
-
/** Maximum retry attempts (default: 3) */
|
|
27
|
-
maxRetries?: number;
|
|
28
|
-
/** Base retry delay in ms (default: 2000ms) */
|
|
29
|
-
retryDelayMs?: number;
|
|
30
|
-
}
|
|
31
|
-
export interface QueuedRequest<T> {
|
|
32
|
-
/** Unique request ID for tracking */
|
|
33
|
-
id: string;
|
|
34
|
-
/** The API call to execute */
|
|
35
|
-
apiCall: () => Promise<T>;
|
|
36
|
-
/** Promise resolve function */
|
|
37
|
-
resolve: (value: T) => void;
|
|
38
|
-
/** Promise reject function */
|
|
39
|
-
reject: (error: Error) => void;
|
|
40
|
-
/** Timestamp when request was queued */
|
|
41
|
-
queuedAt: number;
|
|
42
|
-
/** Number of retry attempts */
|
|
43
|
-
attempts: number;
|
|
44
|
-
/** Request timeout handle */
|
|
45
|
-
timeoutHandle?: NodeJS.Timeout;
|
|
46
|
-
/** Retry delay timeout handle (for pending retry) */
|
|
47
|
-
retryTimeoutHandle?: NodeJS.Timeout;
|
|
48
|
-
}
|
|
49
|
-
export interface RateLimitStats {
|
|
50
|
-
/** Total requests processed */
|
|
51
|
-
totalRequests: number;
|
|
52
|
-
/** Requests currently queued */
|
|
53
|
-
queuedRequests: number;
|
|
54
|
-
/** Rate limit hits */
|
|
55
|
-
rateLimitHits: number;
|
|
56
|
-
/** Failed requests */
|
|
57
|
-
failedRequests: number;
|
|
58
|
-
/** Average response time in ms */
|
|
59
|
-
averageResponseTime: number;
|
|
60
|
-
/** Last request timestamp */
|
|
61
|
-
lastRequestTime: number;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Slack API Rate Limiter with request queuing and retry logic
|
|
65
|
-
*/
|
|
66
|
-
export declare class SlackRateLimiter {
|
|
67
|
-
private config;
|
|
68
|
-
private logger;
|
|
69
|
-
/** Queue of pending requests */
|
|
70
|
-
private requestQueue;
|
|
71
|
-
/** Whether the limiter is currently processing requests */
|
|
72
|
-
private processing;
|
|
73
|
-
/** Timestamps of recent requests for rate tracking */
|
|
74
|
-
private requestHistory;
|
|
75
|
-
/** Last API call timestamp */
|
|
76
|
-
private lastRequestTime;
|
|
77
|
-
/** Statistics tracking */
|
|
78
|
-
private stats;
|
|
79
|
-
/** Response time tracking for averages */
|
|
80
|
-
private responseTimes;
|
|
81
|
-
constructor(config?: RateLimitConfig);
|
|
82
|
-
/**
|
|
83
|
-
* Queue an API request for rate-limited execution
|
|
84
|
-
*/
|
|
85
|
-
queueRequest<T>(apiCall: () => Promise<T>): Promise<T>;
|
|
86
|
-
/**
|
|
87
|
-
* Start processing the request queue
|
|
88
|
-
*/
|
|
89
|
-
private startProcessing;
|
|
90
|
-
/**
|
|
91
|
-
* Process a single request with rate limiting
|
|
92
|
-
*/
|
|
93
|
-
private processRequest;
|
|
94
|
-
/**
|
|
95
|
-
* Wait if necessary to respect rate limits
|
|
96
|
-
*/
|
|
97
|
-
private waitForRateLimit;
|
|
98
|
-
/**
|
|
99
|
-
* Check if an error is a rate limit error with strict type validation
|
|
100
|
-
*/
|
|
101
|
-
private isRateLimitError;
|
|
102
|
-
/**
|
|
103
|
-
* Calculate retry delay with exponential backoff
|
|
104
|
-
*/
|
|
105
|
-
private calculateRetryDelay;
|
|
106
|
-
/**
|
|
107
|
-
* Update statistics tracking
|
|
108
|
-
*/
|
|
109
|
-
private updateStats;
|
|
110
|
-
/**
|
|
111
|
-
* Remove a request from the queue by ID
|
|
112
|
-
*/
|
|
113
|
-
private removeFromQueue;
|
|
114
|
-
/**
|
|
115
|
-
* Generate a unique request ID
|
|
116
|
-
*/
|
|
117
|
-
private generateRequestId;
|
|
118
|
-
/**
|
|
119
|
-
* Sleep for the specified number of milliseconds
|
|
120
|
-
*/
|
|
121
|
-
private sleep;
|
|
122
|
-
/**
|
|
123
|
-
* Get current rate limiter statistics
|
|
124
|
-
*/
|
|
125
|
-
getStats(): RateLimitStats;
|
|
126
|
-
/**
|
|
127
|
-
* Clear the request queue and reset statistics
|
|
128
|
-
*/
|
|
129
|
-
reset(): void;
|
|
130
|
-
/**
|
|
131
|
-
* Get current queue size
|
|
132
|
-
*/
|
|
133
|
-
getQueueSize(): number;
|
|
134
|
-
/**
|
|
135
|
-
* Check if the limiter is currently processing requests
|
|
136
|
-
*/
|
|
137
|
-
isProcessing(): boolean;
|
|
138
|
-
}
|
|
139
|
-
//# sourceMappingURL=slack-rate-limiter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slack-rate-limiter.d.ts","sourceRoot":"","sources":["../../src/utils/slack-rate-limiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1B,+BAA+B;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,8BAA8B;IAC9B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC/B,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;CACzB;AAYD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAwC;IAEtD,gCAAgC;IAEhC,OAAO,CAAC,YAAY,CAA4B;IAEhD,2DAA2D;IAC3D,OAAO,CAAC,UAAU,CAAS;IAE3B,sDAAsD;IACtD,OAAO,CAAC,cAAc,CAAgB;IAEtC,8BAA8B;IAC9B,OAAO,CAAC,eAAe,CAAK;IAE5B,0BAA0B;IAC1B,OAAO,CAAC,KAAK,CAOX;IAEF,0CAA0C;IAC1C,OAAO,CAAC,aAAa,CAAgB;gBAEzB,MAAM,GAAE,eAAoB;IAIxC;;OAEG;IACG,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA8C5D;;OAEG;YACW,eAAe;IAuB7B;;OAEG;YACW,cAAc;IAkE5B;;OAEG;YACW,gBAAgB;IAgC9B;;OAEG;IAEH,OAAO,CAAC,gBAAgB;IAwBxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAgBnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACH,QAAQ,IAAI,cAAc;IAI1B;;OAEG;IACH,KAAK,IAAI,IAAI;IA6Bb;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,IAAI,OAAO;CAGxB"}
|