aec-agent 1.0.3 → 1.0.4
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-core.d.ts +123 -3
- package/dist/agent-core.d.ts.map +1 -1
- package/dist/agent-core.js +219 -23
- package/dist/agent-core.js.map +1 -1
- package/dist/components/artifact-hub/artifact-hub.d.ts +11 -1
- package/dist/components/artifact-hub/artifact-hub.d.ts.map +1 -1
- package/dist/components/artifact-hub/artifact-hub.js +21 -1
- package/dist/components/artifact-hub/artifact-hub.js.map +1 -1
- package/dist/components/channel-platform-hub/adapter-kit.d.ts +51 -0
- package/dist/components/channel-platform-hub/adapter-kit.d.ts.map +1 -0
- package/dist/components/channel-platform-hub/adapter-kit.js +153 -0
- package/dist/components/channel-platform-hub/adapter-kit.js.map +1 -0
- package/dist/components/channel-platform-hub/channel-platform-hub.d.ts +34 -0
- package/dist/components/channel-platform-hub/channel-platform-hub.d.ts.map +1 -0
- package/dist/components/channel-platform-hub/channel-platform-hub.js +52 -0
- package/dist/components/channel-platform-hub/channel-platform-hub.js.map +1 -0
- package/dist/components/channel-platform-hub/discord/discord-adapter.d.ts +57 -0
- package/dist/components/channel-platform-hub/discord/discord-adapter.d.ts.map +1 -0
- package/dist/components/channel-platform-hub/discord/discord-adapter.js +412 -0
- package/dist/components/channel-platform-hub/discord/discord-adapter.js.map +1 -0
- package/dist/components/channel-platform-hub/slack/slack-adapter.d.ts +56 -0
- package/dist/components/channel-platform-hub/slack/slack-adapter.d.ts.map +1 -0
- package/dist/components/channel-platform-hub/slack/slack-adapter.js +349 -0
- package/dist/components/channel-platform-hub/slack/slack-adapter.js.map +1 -0
- package/dist/components/channel-platform-hub/slack/slack-mrkdwn.d.ts +3 -0
- package/dist/components/channel-platform-hub/slack/slack-mrkdwn.d.ts.map +1 -0
- package/dist/components/channel-platform-hub/slack/slack-mrkdwn.js +70 -0
- package/dist/components/channel-platform-hub/slack/slack-mrkdwn.js.map +1 -0
- package/dist/components/channel-platform-hub/teams/teams-adapter.d.ts +51 -0
- package/dist/components/channel-platform-hub/teams/teams-adapter.d.ts.map +1 -0
- package/dist/components/channel-platform-hub/teams/teams-adapter.js +333 -0
- package/dist/components/channel-platform-hub/teams/teams-adapter.js.map +1 -0
- package/dist/components/channel-platform-hub/telegram/telegram-adapter.d.ts +46 -0
- package/dist/components/channel-platform-hub/telegram/telegram-adapter.d.ts.map +1 -0
- package/dist/components/channel-platform-hub/telegram/telegram-adapter.js +304 -0
- package/dist/components/channel-platform-hub/telegram/telegram-adapter.js.map +1 -0
- package/dist/components/channel-platform-hub/telegram/telegram-markdown.d.ts +3 -0
- package/dist/components/channel-platform-hub/telegram/telegram-markdown.d.ts.map +1 -0
- package/dist/components/channel-platform-hub/telegram/telegram-markdown.js +87 -0
- package/dist/components/channel-platform-hub/telegram/telegram-markdown.js.map +1 -0
- package/dist/components/channel-platform-hub/types.d.ts +290 -0
- package/dist/components/channel-platform-hub/types.d.ts.map +1 -0
- package/dist/components/channel-platform-hub/types.js +23 -0
- package/dist/components/channel-platform-hub/types.js.map +1 -0
- package/dist/components/event-handler/event-dispatcher.d.ts +28 -3
- package/dist/components/event-handler/event-dispatcher.d.ts.map +1 -1
- package/dist/components/event-handler/event-dispatcher.js +77 -13
- package/dist/components/event-handler/event-dispatcher.js.map +1 -1
- package/dist/components/event-handler/events.d.ts +316 -15
- package/dist/components/event-handler/events.d.ts.map +1 -1
- package/dist/components/event-handler/events.js +94 -2
- package/dist/components/event-handler/events.js.map +1 -1
- package/dist/components/event-handler/types.d.ts +26 -0
- package/dist/components/event-handler/types.d.ts.map +1 -1
- package/dist/components/group-hub/group-hub.d.ts +117 -0
- package/dist/components/group-hub/group-hub.d.ts.map +1 -0
- package/dist/components/group-hub/group-hub.js +334 -0
- package/dist/components/group-hub/group-hub.js.map +1 -0
- package/dist/components/group-hub/group-turns.d.ts +109 -0
- package/dist/components/group-hub/group-turns.d.ts.map +1 -0
- package/dist/components/group-hub/group-turns.js +834 -0
- package/dist/components/group-hub/group-turns.js.map +1 -0
- package/dist/components/group-hub/member-prompt.d.ts +28 -0
- package/dist/components/group-hub/member-prompt.d.ts.map +1 -0
- package/dist/components/group-hub/member-prompt.js +111 -0
- package/dist/components/group-hub/member-prompt.js.map +1 -0
- package/dist/components/group-hub/recipients.d.ts +10 -0
- package/dist/components/group-hub/recipients.d.ts.map +1 -0
- package/dist/components/group-hub/recipients.js +83 -0
- package/dist/components/group-hub/recipients.js.map +1 -0
- package/dist/components/group-hub/thread.d.ts +57 -0
- package/dist/components/group-hub/thread.d.ts.map +1 -0
- package/dist/components/group-hub/thread.js +126 -0
- package/dist/components/group-hub/thread.js.map +1 -0
- package/dist/components/group-hub/types.d.ts +277 -0
- package/dist/components/group-hub/types.d.ts.map +1 -0
- package/dist/components/group-hub/types.js +51 -0
- package/dist/components/group-hub/types.js.map +1 -0
- package/dist/components/llm-provider-hub/providers/anthropic-provider.d.ts.map +1 -1
- package/dist/components/llm-provider-hub/providers/anthropic-provider.js +22 -2
- package/dist/components/llm-provider-hub/providers/anthropic-provider.js.map +1 -1
- package/dist/components/llm-provider-hub/providers/bedrock-provider.d.ts.map +1 -1
- package/dist/components/llm-provider-hub/providers/bedrock-provider.js +15 -3
- package/dist/components/llm-provider-hub/providers/bedrock-provider.js.map +1 -1
- package/dist/components/llm-provider-hub/providers/model-info-mappers.d.ts.map +1 -1
- package/dist/components/llm-provider-hub/providers/model-info-mappers.js +27 -0
- package/dist/components/llm-provider-hub/providers/model-info-mappers.js.map +1 -1
- package/dist/components/llm-provider-hub/providers/openai-compatible-provider.d.ts.map +1 -1
- package/dist/components/llm-provider-hub/providers/openai-compatible-provider.js +10 -3
- package/dist/components/llm-provider-hub/providers/openai-compatible-provider.js.map +1 -1
- package/dist/components/llm-provider-hub/providers/openai-subscription-provider.d.ts +1 -0
- package/dist/components/llm-provider-hub/providers/openai-subscription-provider.d.ts.map +1 -1
- package/dist/components/llm-provider-hub/providers/openai-subscription-provider.js +35 -3
- package/dist/components/llm-provider-hub/providers/openai-subscription-provider.js.map +1 -1
- package/dist/components/llm-provider-hub/types.d.ts +20 -0
- package/dist/components/llm-provider-hub/types.d.ts.map +1 -1
- package/dist/components/llm-provider-hub/types.js +5 -0
- package/dist/components/llm-provider-hub/types.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/agent-loop.d.ts +87 -8
- package/dist/components/multi-agent-orchestration/agent/agent-loop/agent-loop.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/agent-loop.js +465 -62
- package/dist/components/multi-agent-orchestration/agent/agent-loop/agent-loop.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.d.ts +14 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.js +25 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/compactor.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/counter.d.ts +14 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/counter.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/counter.js +14 -22
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/counter.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/harness-executor.d.ts +41 -3
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/harness-executor.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/harness-executor.js +152 -44
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/harness-executor.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/run-trace.d.ts +15 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/run-trace.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/run-trace.js +35 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/run-trace.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.d.ts +10 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.js +39 -6
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.types.d.ts +2 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/components/summarizer.types.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/context-usage.d.ts +47 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/context-usage.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/context-usage.js +61 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/context-usage.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/memory-recall.d.ts +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/memory-recall.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/memory-recall.js +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/functions/memory-recall.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/types.d.ts +131 -8
- package/dist/components/multi-agent-orchestration/agent/agent-loop/types.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/types.js +17 -1
- package/dist/components/multi-agent-orchestration/agent/agent-loop/types.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent.d.ts +101 -15
- package/dist/components/multi-agent-orchestration/agent/agent.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/agent.js +415 -44
- package/dist/components/multi-agent-orchestration/agent/agent.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-manager.d.ts +245 -1
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-manager.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-manager.js +1583 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-manager.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-prompts.d.ts +76 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-prompts.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-prompts.js +236 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/channel-prompts.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/text.d.ts +15 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/text.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/text.js +80 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/text.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/turn-stream.d.ts +13 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/turn-stream.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/turn-stream.js +41 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/turn-stream.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/turn-view.d.ts +69 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/turn-view.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/turn-view.js +210 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/turn-view.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/types.d.ts +76 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/types.js +7 -0
- package/dist/components/multi-agent-orchestration/agent/channel-manager/types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/built-in-commands.d.ts +37 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/built-in-commands.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/built-in-commands.js +544 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/built-in-commands.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/command-manager.d.ts +75 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/command-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/command-manager.js +299 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/command-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/parse.d.ts +17 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/parse.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/parse.js +19 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/parse.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/types.d.ts +197 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/types.js +3 -0
- package/dist/components/multi-agent-orchestration/agent/command-manager/types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/context-manager/context-manager.d.ts +37 -1
- package/dist/components/multi-agent-orchestration/agent/context-manager/context-manager.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/context-manager/context-manager.js +54 -2
- package/dist/components/multi-agent-orchestration/agent/context-manager/context-manager.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation-manager.d.ts +118 -14
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation-manager.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation-manager.js +239 -50
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation-manager.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation.d.ts +34 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation.js +74 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/conversation.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/turn-gate.d.ts +49 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/turn-gate.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/turn-gate.js +171 -0
- package/dist/components/multi-agent-orchestration/agent/conversation-manager/turn-gate.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/clock.d.ts +43 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/clock.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/clock.js +116 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/clock.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/internal-events.d.ts +17 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/internal-events.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/internal-events.js +93 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/internal-events.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/job-manager.d.ts +208 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/job-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/job-manager.js +1207 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/job-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/rules.d.ts +129 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/rules.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/rules.js +598 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/rules.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/schedule.d.ts +15 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/schedule.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/schedule.js +113 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/schedule.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/timers.d.ts +8 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/timers.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/timers.js +33 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/timers.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/types.d.ts +495 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/types.js +50 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/webhook.d.ts +37 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/webhook.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/webhook.js +157 -0
- package/dist/components/multi-agent-orchestration/agent/job-manager/webhook.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/memory.d.ts +7 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/memory.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/memory.js +189 -30
- package/dist/components/multi-agent-orchestration/agent/memory-system/components/memory.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/memory-system/memory-system.d.ts +17 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/memory-system.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/memory-system/memory-system.js +51 -0
- package/dist/components/multi-agent-orchestration/agent/memory-system/memory-system.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/model-manager/model-manager.d.ts +5 -0
- package/dist/components/multi-agent-orchestration/agent/model-manager/model-manager.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/model-manager/model-manager.js +16 -0
- package/dist/components/multi-agent-orchestration/agent/model-manager/model-manager.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/secret-manager/secret-manager.d.ts +41 -0
- package/dist/components/multi-agent-orchestration/agent/secret-manager/secret-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/secret-manager/secret-manager.js +98 -0
- package/dist/components/multi-agent-orchestration/agent/secret-manager/secret-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/secret-manager/types.d.ts +37 -0
- package/dist/components/multi-agent-orchestration/agent/secret-manager/types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/secret-manager/types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-manager.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-manager.js +1 -0
- package/dist/components/multi-agent-orchestration/agent/skill-manager/skill-manager.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/brief.d.ts +21 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/brief.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/brief.js +113 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/brief.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/child-loop.d.ts +52 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/child-loop.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/child-loop.js +63 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/child-loop.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/semaphore.d.ts +18 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/semaphore.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/semaphore.js +56 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/semaphore.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/subagent-manager.d.ts +128 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/subagent-manager.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/subagent-manager.js +661 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/subagent-manager.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/types.d.ts +307 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/types.d.ts.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/types.js +60 -0
- package/dist/components/multi-agent-orchestration/agent/subagent-manager/types.js.map +1 -0
- package/dist/components/multi-agent-orchestration/agent/tool-manager/tool-manager.d.ts +14 -3
- package/dist/components/multi-agent-orchestration/agent/tool-manager/tool-manager.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/tool-manager/tool-manager.js +18 -5
- package/dist/components/multi-agent-orchestration/agent/tool-manager/tool-manager.js.map +1 -1
- package/dist/components/multi-agent-orchestration/agent/types.d.ts +84 -1
- package/dist/components/multi-agent-orchestration/agent/types.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/multi-agent-orchestration.d.ts +11 -4
- package/dist/components/multi-agent-orchestration/multi-agent-orchestration.d.ts.map +1 -1
- package/dist/components/multi-agent-orchestration/multi-agent-orchestration.js +72 -4
- package/dist/components/multi-agent-orchestration/multi-agent-orchestration.js.map +1 -1
- package/dist/components/persistence-hub/default-stores/memory-channel-store.d.ts +11 -0
- package/dist/components/persistence-hub/default-stores/memory-channel-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-channel-store.js +33 -0
- package/dist/components/persistence-hub/default-stores/memory-channel-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-group-store.d.ts +21 -0
- package/dist/components/persistence-hub/default-stores/memory-group-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-group-store.js +62 -0
- package/dist/components/persistence-hub/default-stores/memory-group-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-job-store.d.ts +31 -0
- package/dist/components/persistence-hub/default-stores/memory-job-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-job-store.js +234 -0
- package/dist/components/persistence-hub/default-stores/memory-job-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-secret-store.d.ts +12 -0
- package/dist/components/persistence-hub/default-stores/memory-secret-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-secret-store.js +38 -0
- package/dist/components/persistence-hub/default-stores/memory-secret-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-session-store.d.ts.map +1 -1
- package/dist/components/persistence-hub/default-stores/memory-session-store.js +7 -0
- package/dist/components/persistence-hub/default-stores/memory-session-store.js.map +1 -1
- package/dist/components/persistence-hub/default-stores/memory-subagent-run-store.d.ts +10 -0
- package/dist/components/persistence-hub/default-stores/memory-subagent-run-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-subagent-run-store.js +30 -0
- package/dist/components/persistence-hub/default-stores/memory-subagent-run-store.js.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-subagent-type-store.d.ts +9 -0
- package/dist/components/persistence-hub/default-stores/memory-subagent-type-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/default-stores/memory-subagent-type-store.js +17 -0
- package/dist/components/persistence-hub/default-stores/memory-subagent-type-store.js.map +1 -0
- package/dist/components/persistence-hub/persistence-hub.d.ts +41 -0
- package/dist/components/persistence-hub/persistence-hub.d.ts.map +1 -1
- package/dist/components/persistence-hub/persistence-hub.js +41 -0
- package/dist/components/persistence-hub/persistence-hub.js.map +1 -1
- package/dist/components/persistence-hub/types/channel-store.d.ts +12 -0
- package/dist/components/persistence-hub/types/channel-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/channel-store.js +2 -0
- package/dist/components/persistence-hub/types/channel-store.js.map +1 -0
- package/dist/components/persistence-hub/types/group-store.d.ts +27 -0
- package/dist/components/persistence-hub/types/group-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/group-store.js +2 -0
- package/dist/components/persistence-hub/types/group-store.js.map +1 -0
- package/dist/components/persistence-hub/types/job-store.d.ts +112 -0
- package/dist/components/persistence-hub/types/job-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/job-store.js +2 -0
- package/dist/components/persistence-hub/types/job-store.js.map +1 -0
- package/dist/components/persistence-hub/types/secret-store.d.ts +18 -0
- package/dist/components/persistence-hub/types/secret-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/secret-store.js +2 -0
- package/dist/components/persistence-hub/types/secret-store.js.map +1 -0
- package/dist/components/persistence-hub/types/session-store.d.ts +5 -0
- package/dist/components/persistence-hub/types/session-store.d.ts.map +1 -1
- package/dist/components/persistence-hub/types/subagent-run-store.d.ts +11 -0
- package/dist/components/persistence-hub/types/subagent-run-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/subagent-run-store.js +2 -0
- package/dist/components/persistence-hub/types/subagent-run-store.js.map +1 -0
- package/dist/components/persistence-hub/types/subagent-type-store.d.ts +9 -0
- package/dist/components/persistence-hub/types/subagent-type-store.d.ts.map +1 -0
- package/dist/components/persistence-hub/types/subagent-type-store.js +2 -0
- package/dist/components/persistence-hub/types/subagent-type-store.js.map +1 -0
- package/dist/components/sandbox-hub/docker/docker-sandbox.d.ts +4 -1
- package/dist/components/sandbox-hub/docker/docker-sandbox.d.ts.map +1 -1
- package/dist/components/sandbox-hub/docker/docker-sandbox.js +398 -1
- package/dist/components/sandbox-hub/docker/docker-sandbox.js.map +1 -1
- package/dist/components/sandbox-hub/docker/sandbox-helper.d.ts.map +1 -1
- package/dist/components/sandbox-hub/docker/sandbox-helper.js +386 -5
- package/dist/components/sandbox-hub/docker/sandbox-helper.js.map +1 -1
- package/dist/components/sandbox-hub/host/host-sandbox.d.ts +16 -0
- package/dist/components/sandbox-hub/host/host-sandbox.d.ts.map +1 -1
- package/dist/components/sandbox-hub/host/host-sandbox.js +283 -2
- package/dist/components/sandbox-hub/host/host-sandbox.js.map +1 -1
- package/dist/components/sandbox-hub/sandbox-hub.d.ts +9 -0
- package/dist/components/sandbox-hub/sandbox-hub.d.ts.map +1 -1
- package/dist/components/sandbox-hub/sandbox-hub.js +18 -0
- package/dist/components/sandbox-hub/sandbox-hub.js.map +1 -1
- package/dist/components/sandbox-hub/traced-sandbox.d.ts.map +1 -1
- package/dist/components/sandbox-hub/traced-sandbox.js +32 -0
- package/dist/components/sandbox-hub/traced-sandbox.js.map +1 -1
- package/dist/components/sandbox-hub/types/sandbox.d.ts +106 -1
- package/dist/components/sandbox-hub/types/sandbox.d.ts.map +1 -1
- package/dist/components/sandbox-hub/types/sandbox.js +0 -13
- package/dist/components/sandbox-hub/types/sandbox.js.map +1 -1
- package/dist/components/secret-hub/envelope.d.ts +48 -0
- package/dist/components/secret-hub/envelope.d.ts.map +1 -0
- package/dist/components/secret-hub/envelope.js +157 -0
- package/dist/components/secret-hub/envelope.js.map +1 -0
- package/dist/components/secret-hub/rules.d.ts +33 -0
- package/dist/components/secret-hub/rules.d.ts.map +1 -0
- package/dist/components/secret-hub/rules.js +142 -0
- package/dist/components/secret-hub/rules.js.map +1 -0
- package/dist/components/secret-hub/secret-hub-provider.d.ts +61 -0
- package/dist/components/secret-hub/secret-hub-provider.d.ts.map +1 -0
- package/dist/components/secret-hub/secret-hub-provider.js +73 -0
- package/dist/components/secret-hub/secret-hub-provider.js.map +1 -0
- package/dist/components/secret-hub/secret-hub.d.ts +102 -0
- package/dist/components/secret-hub/secret-hub.d.ts.map +1 -0
- package/dist/components/secret-hub/secret-hub.js +267 -0
- package/dist/components/secret-hub/secret-hub.js.map +1 -0
- package/dist/components/secret-hub/types.d.ts +77 -0
- package/dist/components/secret-hub/types.d.ts.map +1 -0
- package/dist/components/secret-hub/types.js +23 -0
- package/dist/components/secret-hub/types.js.map +1 -0
- package/dist/components/skill-hub/built-in-skills/essential-skills.d.ts +1 -1
- package/dist/components/skill-hub/built-in-skills/essential-skills.d.ts.map +1 -1
- package/dist/components/skill-hub/built-in-skills/essential-skills.js +7 -2
- package/dist/components/skill-hub/built-in-skills/essential-skills.js.map +1 -1
- package/dist/components/skill-hub/built-in-skills/watch-and-notify.d.ts +3 -0
- package/dist/components/skill-hub/built-in-skills/watch-and-notify.d.ts.map +1 -0
- package/dist/components/skill-hub/built-in-skills/watch-and-notify.js +94 -0
- package/dist/components/skill-hub/built-in-skills/watch-and-notify.js.map +1 -0
- package/dist/components/skill-hub/skill-hub.d.ts +9 -1
- package/dist/components/skill-hub/skill-hub.d.ts.map +1 -1
- package/dist/components/skill-hub/skill-hub.js +11 -1
- package/dist/components/skill-hub/skill-hub.js.map +1 -1
- package/dist/components/subagent-hub/built-in-types.d.ts +3 -0
- package/dist/components/subagent-hub/built-in-types.d.ts.map +1 -0
- package/dist/components/subagent-hub/built-in-types.js +24 -0
- package/dist/components/subagent-hub/built-in-types.js.map +1 -0
- package/dist/components/subagent-hub/subagent-hub.d.ts +41 -0
- package/dist/components/subagent-hub/subagent-hub.d.ts.map +1 -0
- package/dist/components/subagent-hub/subagent-hub.js +158 -0
- package/dist/components/subagent-hub/subagent-hub.js.map +1 -0
- package/dist/components/subagent-hub/types.d.ts +40 -0
- package/dist/components/subagent-hub/types.d.ts.map +1 -0
- package/dist/components/subagent-hub/types.js +8 -0
- package/dist/components/subagent-hub/types.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/artifact-helpers.d.ts +4 -1
- package/dist/components/tool-hub/built-in-tools/artifacts/artifact-helpers.d.ts.map +1 -1
- package/dist/components/tool-hub/built-in-tools/artifacts/artifact-helpers.js +4 -0
- package/dist/components/tool-hub/built-in-tools/artifacts/artifact-helpers.js.map +1 -1
- package/dist/components/tool-hub/built-in-tools/artifacts/save-artifact-tool.d.ts.map +1 -1
- package/dist/components/tool-hub/built-in-tools/artifacts/save-artifact-tool.js +4 -1
- package/dist/components/tool-hub/built-in-tools/artifacts/save-artifact-tool.js.map +1 -1
- package/dist/components/tool-hub/built-in-tools/artifacts/update-artifact-tool.d.ts.map +1 -1
- package/dist/components/tool-hub/built-in-tools/artifacts/update-artifact-tool.js +4 -1
- package/dist/components/tool-hub/built-in-tools/artifacts/update-artifact-tool.js.map +1 -1
- package/dist/components/tool-hub/built-in-tools/jobs/create-job-tools.d.ts +10 -0
- package/dist/components/tool-hub/built-in-tools/jobs/create-job-tools.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/jobs/create-job-tools.js +13 -0
- package/dist/components/tool-hub/built-in-tools/jobs/create-job-tools.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/jobs/job-tool-helpers.d.ts +60 -0
- package/dist/components/tool-hub/built-in-tools/jobs/job-tool-helpers.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/jobs/job-tool-helpers.js +240 -0
- package/dist/components/tool-hub/built-in-tools/jobs/job-tool-helpers.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/jobs/list-jobs-tool.d.ts +14 -0
- package/dist/components/tool-hub/built-in-tools/jobs/list-jobs-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/jobs/list-jobs-tool.js +36 -0
- package/dist/components/tool-hub/built-in-tools/jobs/list-jobs-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/jobs/manage-job-tool.d.ts +32 -0
- package/dist/components/tool-hub/built-in-tools/jobs/manage-job-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/jobs/manage-job-tool.js +458 -0
- package/dist/components/tool-hub/built-in-tools/jobs/manage-job-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/create-preview-tools.d.ts +9 -0
- package/dist/components/tool-hub/built-in-tools/preview/create-preview-tools.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/create-preview-tools.js +20 -0
- package/dist/components/tool-hub/built-in-tools/preview/create-preview-tools.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/list-apps-tool.d.ts +12 -0
- package/dist/components/tool-hub/built-in-tools/preview/list-apps-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/list-apps-tool.js +57 -0
- package/dist/components/tool-hub/built-in-tools/preview/list-apps-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/open-in-app-tool.d.ts +15 -0
- package/dist/components/tool-hub/built-in-tools/preview/open-in-app-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/open-in-app-tool.js +80 -0
- package/dist/components/tool-hub/built-in-tools/preview/open-in-app-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/preview-helpers.d.ts +53 -0
- package/dist/components/tool-hub/built-in-tools/preview/preview-helpers.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/preview-helpers.js +100 -0
- package/dist/components/tool-hub/built-in-tools/preview/preview-helpers.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/preview-tool.d.ts +14 -0
- package/dist/components/tool-hub/built-in-tools/preview/preview-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/preview-tool.js +63 -0
- package/dist/components/tool-hub/built-in-tools/preview/preview-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/service-tools.d.ts +33 -0
- package/dist/components/tool-hub/built-in-tools/preview/service-tools.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/preview/service-tools.js +180 -0
- package/dist/components/tool-hub/built-in-tools/preview/service-tools.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/secrets/create-secret-tools.d.ts +6 -0
- package/dist/components/tool-hub/built-in-tools/secrets/create-secret-tools.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/secrets/create-secret-tools.js +9 -0
- package/dist/components/tool-hub/built-in-tools/secrets/create-secret-tools.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/secrets/list-secrets-tool.d.ts +12 -0
- package/dist/components/tool-hub/built-in-tools/secrets/list-secrets-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/secrets/list-secrets-tool.js +30 -0
- package/dist/components/tool-hub/built-in-tools/secrets/list-secrets-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/secrets/manage-secret-tool.d.ts +22 -0
- package/dist/components/tool-hub/built-in-tools/secrets/manage-secret-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/secrets/manage-secret-tool.js +113 -0
- package/dist/components/tool-hub/built-in-tools/secrets/manage-secret-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/secrets/secret-tool-helpers.d.ts +9 -0
- package/dist/components/tool-hub/built-in-tools/secrets/secret-tool-helpers.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/secrets/secret-tool-helpers.js +29 -0
- package/dist/components/tool-hub/built-in-tools/secrets/secret-tool-helpers.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/subagents/spawn-subagent-tool.d.ts +27 -0
- package/dist/components/tool-hub/built-in-tools/subagents/spawn-subagent-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/subagents/spawn-subagent-tool.js +112 -0
- package/dist/components/tool-hub/built-in-tools/subagents/spawn-subagent-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/http-request-tool.d.ts +43 -0
- package/dist/components/tool-hub/built-in-tools/web/http-request-tool.d.ts.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/http-request-tool.js +234 -0
- package/dist/components/tool-hub/built-in-tools/web/http-request-tool.js.map +1 -0
- package/dist/components/tool-hub/built-in-tools/web/web-extract-tool.d.ts.map +1 -1
- package/dist/components/tool-hub/built-in-tools/web/web-extract-tool.js +2 -0
- package/dist/components/tool-hub/built-in-tools/web/web-extract-tool.js.map +1 -1
- package/dist/components/tool-hub/built-in-tools/web/web-search-tool.d.ts.map +1 -1
- package/dist/components/tool-hub/built-in-tools/web/web-search-tool.js +2 -0
- package/dist/components/tool-hub/built-in-tools/web/web-search-tool.js.map +1 -1
- package/dist/components/tool-hub/built-in-tools/workspace/run-code-tool.d.ts.map +1 -1
- package/dist/components/tool-hub/built-in-tools/workspace/run-code-tool.js +9 -1
- package/dist/components/tool-hub/built-in-tools/workspace/run-code-tool.js.map +1 -1
- package/dist/components/tool-hub/built-in-tools/workspace/terminal-tool.d.ts.map +1 -1
- package/dist/components/tool-hub/built-in-tools/workspace/terminal-tool.js +9 -2
- package/dist/components/tool-hub/built-in-tools/workspace/terminal-tool.js.map +1 -1
- package/dist/components/tool-hub/built-in-tools/workspace/workspace-helpers.d.ts +17 -0
- package/dist/components/tool-hub/built-in-tools/workspace/workspace-helpers.d.ts.map +1 -1
- package/dist/components/tool-hub/built-in-tools/workspace/workspace-helpers.js +29 -0
- package/dist/components/tool-hub/built-in-tools/workspace/workspace-helpers.js.map +1 -1
- package/dist/components/tool-hub/tool-links.d.ts +9 -0
- package/dist/components/tool-hub/tool-links.d.ts.map +1 -0
- package/dist/components/tool-hub/tool-links.js +11 -0
- package/dist/components/tool-hub/tool-links.js.map +1 -0
- package/dist/components/tool-hub/types.d.ts +101 -1
- package/dist/components/tool-hub/types.d.ts.map +1 -1
- package/dist/index.d.ts +109 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +68 -0
- package/dist/index.js.map +1 -1
- package/dist/kernel/errors/channel-error.d.ts +24 -0
- package/dist/kernel/errors/channel-error.d.ts.map +1 -0
- package/dist/kernel/errors/channel-error.js +15 -0
- package/dist/kernel/errors/channel-error.js.map +1 -0
- package/dist/kernel/errors/command-error.d.ts +12 -0
- package/dist/kernel/errors/command-error.d.ts.map +1 -0
- package/dist/kernel/errors/command-error.js +11 -0
- package/dist/kernel/errors/command-error.js.map +1 -0
- package/dist/kernel/errors/group-error.d.ts +15 -0
- package/dist/kernel/errors/group-error.d.ts.map +1 -0
- package/dist/kernel/errors/group-error.js +10 -0
- package/dist/kernel/errors/group-error.js.map +1 -0
- package/dist/kernel/errors/job-error.d.ts +23 -0
- package/dist/kernel/errors/job-error.d.ts.map +1 -0
- package/dist/kernel/errors/job-error.js +15 -0
- package/dist/kernel/errors/job-error.js.map +1 -0
- package/dist/kernel/errors/secret-error.d.ts +19 -0
- package/dist/kernel/errors/secret-error.d.ts.map +1 -0
- package/dist/kernel/errors/secret-error.js +10 -0
- package/dist/kernel/errors/secret-error.js.map +1 -0
- package/dist/kernel/errors/session-error.d.ts +5 -1
- package/dist/kernel/errors/session-error.d.ts.map +1 -1
- package/dist/kernel/errors/session-error.js.map +1 -1
- package/dist/kernel/errors/subagent-error.d.ts +19 -0
- package/dist/kernel/errors/subagent-error.d.ts.map +1 -0
- package/dist/kernel/errors/subagent-error.js +10 -0
- package/dist/kernel/errors/subagent-error.js.map +1 -0
- package/dist/kernel/interfaces/kernel.d.ts +15 -0
- package/dist/kernel/interfaces/kernel.d.ts.map +1 -1
- package/dist/kernel/types.d.ts +80 -1
- package/dist/kernel/types.d.ts.map +1 -1
- package/dist/testing/fake-channel.d.ts +60 -0
- package/dist/testing/fake-channel.d.ts.map +1 -0
- package/dist/testing/fake-channel.js +135 -0
- package/dist/testing/fake-channel.js.map +1 -0
- package/dist/testing/in-memory-sandbox.d.ts +4 -1
- package/dist/testing/in-memory-sandbox.d.ts.map +1 -1
- package/dist/testing/in-memory-sandbox.js +63 -3
- package/dist/testing/in-memory-sandbox.js.map +1 -1
- package/dist/testing/mock-session-store.d.ts.map +1 -1
- package/dist/testing/mock-session-store.js +7 -0
- package/dist/testing/mock-session-store.js.map +1 -1
- package/package.json +2 -1
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/scheduled-job-manager.d.ts +0 -38
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/scheduled-job-manager.d.ts.map +0 -1
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/scheduled-job-manager.js +0 -155
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/scheduled-job-manager.js.map +0 -1
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/types.d.ts +0 -27
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/types.d.ts.map +0 -1
- package/dist/components/multi-agent-orchestration/agent/scheduled-job-manager/types.js.map +0 -1
- /package/dist/components/multi-agent-orchestration/agent/{scheduled-job-manager → secret-manager}/types.js +0 -0
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
import { ADAPTER_REQUEST_TIMEOUT_MS, Backoff, errorMessage, MAX_RETRY_AFTER_S, PlatformApiError, retryAfterHeader, sleep, Socket, } from "../adapter-kit.js";
|
|
2
|
+
import { escapeMrkdwn, markdownToSlackMrkdwn } from "./slack-mrkdwn.js";
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Slack channel (A-100 phase 3) over Socket Mode — no dependency, no public URL.
|
|
5
|
+
//
|
|
6
|
+
// A Slack app with Socket Mode on gives two tokens: the bot token (xoxb-…) for
|
|
7
|
+
// the Web API (chat.postMessage, chat.update, users.info) and an app-level
|
|
8
|
+
// token (xapp-…, scope connections:write) that opens the event WebSocket
|
|
9
|
+
// (apps.connections.open). Events arrive in envelopes that must be acknowledged;
|
|
10
|
+
// button presses arrive as "interactive" envelopes. Slack closes the socket
|
|
11
|
+
// from time to time (a "disconnect" envelope); the adapter opens a new one.
|
|
12
|
+
//
|
|
13
|
+
// The app needs the bot scopes chat:write, im:history, users:read (and
|
|
14
|
+
// channels:history / groups:history / app_mentions:read for channels) and the
|
|
15
|
+
// events message.im (+ message.channels / message.groups / app_mention).
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
const DEFAULT_API_BASE_URL = "https://slack.com/api";
|
|
18
|
+
/** A section block holds at most 3000 characters; replies are split to fit. */
|
|
19
|
+
const MAX_MESSAGE_LENGTH = 3000;
|
|
20
|
+
const MAX_SENDER_CACHE = 1_000;
|
|
21
|
+
/** The Slack platform, for AgentCore.useChannelPlatform. A channel needs "botToken" and "appToken". */
|
|
22
|
+
export function slackPlatform(options = {}) {
|
|
23
|
+
return {
|
|
24
|
+
name: "slack",
|
|
25
|
+
displayName: "Slack",
|
|
26
|
+
credentialKeys: ["botToken", "appToken"],
|
|
27
|
+
create: (channel) => new SlackAdapter({
|
|
28
|
+
...options,
|
|
29
|
+
botToken: channel.credentials["botToken"] ?? "",
|
|
30
|
+
appToken: channel.credentials["appToken"] ?? "",
|
|
31
|
+
}),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export class SlackAdapter {
|
|
35
|
+
options;
|
|
36
|
+
capabilities = { maxMessageLength: MAX_MESSAGE_LENGTH, markdown: true, buttons: true };
|
|
37
|
+
baseUrl;
|
|
38
|
+
fetchFn;
|
|
39
|
+
factory;
|
|
40
|
+
controller = new AbortController();
|
|
41
|
+
socket;
|
|
42
|
+
sink;
|
|
43
|
+
bot;
|
|
44
|
+
loop;
|
|
45
|
+
/** Resolves run()'s wait when the current socket closes (or the adapter stops). */
|
|
46
|
+
socketClosed;
|
|
47
|
+
/** The socket closed while run() was not waiting yet. */
|
|
48
|
+
closedEarly = false;
|
|
49
|
+
senders = new Map();
|
|
50
|
+
constructor(options) {
|
|
51
|
+
this.options = options;
|
|
52
|
+
this.baseUrl = (options.apiBaseUrl ?? DEFAULT_API_BASE_URL).replace(/\/+$/, "");
|
|
53
|
+
this.fetchFn = options.fetch ?? fetch;
|
|
54
|
+
this.factory = options.webSocket ?? WebSocket;
|
|
55
|
+
}
|
|
56
|
+
async start(sink) {
|
|
57
|
+
if (!this.options.botToken || !this.options.appToken)
|
|
58
|
+
throw new Error("Slack needs a bot token and an app-level token");
|
|
59
|
+
if (this.loop)
|
|
60
|
+
throw new Error("The Slack adapter is already started");
|
|
61
|
+
let auth;
|
|
62
|
+
try {
|
|
63
|
+
auth = await this.api("auth.test", {}, this.options.botToken);
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
if (err instanceof PlatformApiError && isAuthError(err.code))
|
|
67
|
+
throw new Error("Slack rejected the bot token — check it under OAuth & Permissions");
|
|
68
|
+
throw err;
|
|
69
|
+
}
|
|
70
|
+
this.bot = { userId: auth.user_id, ...(auth.user ? { name: auth.user } : {}) };
|
|
71
|
+
this.sink = sink;
|
|
72
|
+
// The first connection is opened here, so a wrong app token fails start().
|
|
73
|
+
try {
|
|
74
|
+
await this.connect();
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
if (err instanceof PlatformApiError && isAuthError(err.code)) {
|
|
78
|
+
throw new Error("Slack rejected the app-level token — create one with connections:write under Basic Information");
|
|
79
|
+
}
|
|
80
|
+
throw err;
|
|
81
|
+
}
|
|
82
|
+
this.loop = this.run();
|
|
83
|
+
return {
|
|
84
|
+
id: auth.user_id,
|
|
85
|
+
...(auth.user ? { username: auth.user } : {}),
|
|
86
|
+
displayName: auth.team ? `${auth.user ?? "bot"} (${auth.team})` : (auth.user ?? auth.user_id),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
async stop() {
|
|
90
|
+
this.controller.abort();
|
|
91
|
+
this.socket?.close();
|
|
92
|
+
this.socketClosed?.();
|
|
93
|
+
await this.loop;
|
|
94
|
+
}
|
|
95
|
+
async send(target, message) {
|
|
96
|
+
const sent = await this.withRetry(() => this.api("chat.postMessage", { channel: target.chatId, ...(target.threadId ? { thread_ts: target.threadId } : {}), ...this.body(message) }, this.options.botToken));
|
|
97
|
+
return { chatId: sent.channel, messageId: sent.ts };
|
|
98
|
+
}
|
|
99
|
+
async edit(ref, message) {
|
|
100
|
+
try {
|
|
101
|
+
// No buttons given: an empty block list removes the old ones.
|
|
102
|
+
await this.withRetry(() => this.api("chat.update", { channel: ref.chatId, ts: ref.messageId, blocks: [], ...this.body(message) }, this.options.botToken));
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
if (err instanceof PlatformApiError && err.code === "cant_update_message")
|
|
106
|
+
return;
|
|
107
|
+
throw err;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// ---------------------------------------------------------------------------
|
|
111
|
+
/** The text (and blocks with buttons) of a message, in mrkdwn. */
|
|
112
|
+
body(message) {
|
|
113
|
+
const text = message.format === "markdown" ? markdownToSlackMrkdwn(message.text) : escapeMrkdwn(message.text);
|
|
114
|
+
if (!message.buttons?.length)
|
|
115
|
+
return { text };
|
|
116
|
+
return {
|
|
117
|
+
text,
|
|
118
|
+
blocks: [
|
|
119
|
+
{ type: "section", text: { type: "mrkdwn", text } },
|
|
120
|
+
...message.buttons.map((row) => ({ type: "actions", elements: row.map(buttonElement) })),
|
|
121
|
+
],
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/** Keep a socket open: reconnect with backoff whenever it closes, until stop(). */
|
|
125
|
+
async run() {
|
|
126
|
+
const signal = this.controller.signal;
|
|
127
|
+
const backoff = new Backoff();
|
|
128
|
+
while (!signal.aborted) {
|
|
129
|
+
await this.waitClosed();
|
|
130
|
+
if (signal.aborted)
|
|
131
|
+
return;
|
|
132
|
+
for (;;) {
|
|
133
|
+
try {
|
|
134
|
+
await this.connect();
|
|
135
|
+
backoff.reset();
|
|
136
|
+
this.sink?.status("running");
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
if (signal.aborted)
|
|
141
|
+
return;
|
|
142
|
+
if (err instanceof PlatformApiError && isAuthError(err.code)) {
|
|
143
|
+
this.sink?.status("failed", "Slack rejected the app-level token — it may have been revoked");
|
|
144
|
+
this.controller.abort();
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
this.sink?.status("retrying", errorMessage(err));
|
|
148
|
+
await sleep(err instanceof PlatformApiError && err.retryAfter ? err.retryAfter * 1000 : backoff.next(), signal);
|
|
149
|
+
if (signal.aborted)
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
waitClosed() {
|
|
156
|
+
if (this.closedEarly || this.controller.signal.aborted) {
|
|
157
|
+
this.closedEarly = false;
|
|
158
|
+
return Promise.resolve();
|
|
159
|
+
}
|
|
160
|
+
return new Promise((resolve) => {
|
|
161
|
+
this.socketClosed = () => {
|
|
162
|
+
this.socketClosed = undefined;
|
|
163
|
+
resolve();
|
|
164
|
+
};
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
async connect() {
|
|
168
|
+
const { url } = await this.api("apps.connections.open", {}, this.options.appToken);
|
|
169
|
+
const socket = new Socket(this.factory, {
|
|
170
|
+
message: (data) => this.onFrame(socket, data),
|
|
171
|
+
closed: () => {
|
|
172
|
+
if (this.socket !== socket)
|
|
173
|
+
return;
|
|
174
|
+
if (this.socketClosed)
|
|
175
|
+
this.socketClosed();
|
|
176
|
+
else
|
|
177
|
+
this.closedEarly = true;
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
this.socket = socket;
|
|
181
|
+
await socket.open(url);
|
|
182
|
+
}
|
|
183
|
+
onFrame(socket, data) {
|
|
184
|
+
let envelope;
|
|
185
|
+
try {
|
|
186
|
+
envelope = JSON.parse(data);
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
// Acknowledge first: Slack retries an envelope that is not acknowledged within 3 s.
|
|
192
|
+
if (envelope.envelope_id)
|
|
193
|
+
socket.send({ envelope_id: envelope.envelope_id });
|
|
194
|
+
switch (envelope.type) {
|
|
195
|
+
case "events_api":
|
|
196
|
+
void this.onEvent(envelope.payload?.event);
|
|
197
|
+
return;
|
|
198
|
+
case "interactive":
|
|
199
|
+
void this.onInteractive(envelope.payload);
|
|
200
|
+
return;
|
|
201
|
+
case "disconnect":
|
|
202
|
+
// Slack is about to close this socket: open the next one now.
|
|
203
|
+
socket.drop();
|
|
204
|
+
return;
|
|
205
|
+
default:
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
async onEvent(event) {
|
|
210
|
+
if (!event || (event.type !== "message" && event.type !== "app_mention"))
|
|
211
|
+
return;
|
|
212
|
+
// Edits, joins, bot posts and the like.
|
|
213
|
+
if (event.subtype || event.bot_id || !event.user || !event.channel || !event.ts)
|
|
214
|
+
return;
|
|
215
|
+
const botId = this.bot?.userId;
|
|
216
|
+
const rawText = event.text ?? "";
|
|
217
|
+
const mentionsBot = botId !== undefined && rawText.includes(`<@${botId}>`);
|
|
218
|
+
const chat = {
|
|
219
|
+
id: event.channel,
|
|
220
|
+
type: event.channel_type === "im" ? "dm" : "group",
|
|
221
|
+
...(event.thread_ts && event.thread_ts !== event.ts ? { threadId: event.thread_ts } : {}),
|
|
222
|
+
};
|
|
223
|
+
const message = {
|
|
224
|
+
messageId: event.ts,
|
|
225
|
+
chat,
|
|
226
|
+
sender: await this.sender(event.user),
|
|
227
|
+
text: this.readableText(rawText),
|
|
228
|
+
...(mentionsBot ? { mentionsBot: true } : {}),
|
|
229
|
+
...(botId && event.parent_user_id === botId ? { replyToBot: true } : {}),
|
|
230
|
+
};
|
|
231
|
+
if (!this.controller.signal.aborted)
|
|
232
|
+
this.sink?.message(message);
|
|
233
|
+
}
|
|
234
|
+
async onInteractive(payload) {
|
|
235
|
+
if (payload?.type !== "block_actions" || !payload.user?.id)
|
|
236
|
+
return;
|
|
237
|
+
const channelId = payload.channel?.id ?? payload.container?.channel_id;
|
|
238
|
+
const messageTs = payload.message?.ts ?? payload.container?.message_ts;
|
|
239
|
+
if (!channelId || !messageTs)
|
|
240
|
+
return;
|
|
241
|
+
const threadTs = payload.message?.thread_ts ?? payload.container?.thread_ts;
|
|
242
|
+
for (const action of payload.actions ?? []) {
|
|
243
|
+
const data = action.value ?? action.action_id;
|
|
244
|
+
if (!data)
|
|
245
|
+
continue;
|
|
246
|
+
this.sink?.button({
|
|
247
|
+
chat: {
|
|
248
|
+
id: channelId,
|
|
249
|
+
type: channelId.startsWith("D") ? "dm" : "group",
|
|
250
|
+
...(threadTs && threadTs !== messageTs ? { threadId: threadTs } : {}),
|
|
251
|
+
},
|
|
252
|
+
sender: await this.sender(payload.user.id, payload.user),
|
|
253
|
+
messageId: messageTs,
|
|
254
|
+
data,
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
/** Slack's "<@U123>" mentions as "@name", so the bot's own mention can be removed by name. */
|
|
259
|
+
readableText(text) {
|
|
260
|
+
const bot = this.bot;
|
|
261
|
+
let out = text;
|
|
262
|
+
if (bot?.name)
|
|
263
|
+
out = out.replace(new RegExp(`<@${bot.userId}(\\|[^>]*)?>`, "g"), `@${bot.name}`);
|
|
264
|
+
return out
|
|
265
|
+
.replace(/<(https?:[^|>]+)\|([^>]+)>/g, "$2 ($1)")
|
|
266
|
+
.replace(/<(https?:[^>]+)>/g, "$1")
|
|
267
|
+
.replace(/</g, "<")
|
|
268
|
+
.replace(/>/g, ">")
|
|
269
|
+
.replace(/&/g, "&");
|
|
270
|
+
}
|
|
271
|
+
/** The sender's name from users.info (cached); the id alone when that fails. */
|
|
272
|
+
async sender(userId, hint) {
|
|
273
|
+
const cached = this.senders.get(userId);
|
|
274
|
+
if (cached)
|
|
275
|
+
return cached;
|
|
276
|
+
let sender = { id: userId, ...(hint?.username ? { username: hint.username } : {}) };
|
|
277
|
+
try {
|
|
278
|
+
// A read method: Slack takes its arguments form-encoded, not as JSON.
|
|
279
|
+
const info = await this.api("users.info", { user: userId }, this.options.botToken, "form");
|
|
280
|
+
const name = info.user.profile?.display_name || info.user.real_name || info.user.name;
|
|
281
|
+
sender = {
|
|
282
|
+
id: userId,
|
|
283
|
+
...(name ? { name } : {}),
|
|
284
|
+
...(info.user.name ? { username: info.user.name } : {}),
|
|
285
|
+
...(info.user.is_bot ? { isBot: true } : {}),
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
if (hint?.name)
|
|
290
|
+
sender = { ...sender, name: hint.name };
|
|
291
|
+
}
|
|
292
|
+
if (this.senders.size >= MAX_SENDER_CACHE)
|
|
293
|
+
this.senders.clear();
|
|
294
|
+
this.senders.set(userId, sender);
|
|
295
|
+
return sender;
|
|
296
|
+
}
|
|
297
|
+
async withRetry(call) {
|
|
298
|
+
try {
|
|
299
|
+
return await call();
|
|
300
|
+
}
|
|
301
|
+
catch (err) {
|
|
302
|
+
if (!(err instanceof PlatformApiError) || err.status !== 429 || !err.retryAfter || err.retryAfter > MAX_RETRY_AFTER_S)
|
|
303
|
+
throw err;
|
|
304
|
+
await sleep(err.retryAfter * 1000, this.controller.signal);
|
|
305
|
+
return call();
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* One Web API call. Tokens are only in the Authorization header, never in an error message.
|
|
310
|
+
* Write methods take a JSON body; read methods (users.info) only take form-encoded arguments.
|
|
311
|
+
*/
|
|
312
|
+
async api(method, body, token, encoding = "json") {
|
|
313
|
+
const signal = AbortSignal.any([this.controller.signal, AbortSignal.timeout(ADAPTER_REQUEST_TIMEOUT_MS)]);
|
|
314
|
+
const res = await this.fetchFn(`${this.baseUrl}/${method}`, {
|
|
315
|
+
method: "POST",
|
|
316
|
+
headers: {
|
|
317
|
+
"content-type": encoding === "json" ? "application/json; charset=utf-8" : "application/x-www-form-urlencoded",
|
|
318
|
+
authorization: `Bearer ${token}`,
|
|
319
|
+
},
|
|
320
|
+
body: encoding === "json" ? JSON.stringify(body) : new URLSearchParams(Object.entries(body).map(([k, v]) => [k, String(v)])).toString(),
|
|
321
|
+
signal,
|
|
322
|
+
});
|
|
323
|
+
if (res.status === 429)
|
|
324
|
+
throw new PlatformApiError(429, `Slack ${method} was rate limited`, retryAfterHeader(res) ?? 1, "ratelimited");
|
|
325
|
+
let data;
|
|
326
|
+
try {
|
|
327
|
+
data = (await res.json());
|
|
328
|
+
}
|
|
329
|
+
catch {
|
|
330
|
+
throw new PlatformApiError(res.status, `Slack ${method} returned HTTP ${res.status}`);
|
|
331
|
+
}
|
|
332
|
+
if (!data.ok)
|
|
333
|
+
throw new PlatformApiError(res.status, `Slack ${method} failed: ${data.error ?? `HTTP ${res.status}`}`, undefined, data.error);
|
|
334
|
+
return data;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
function buttonElement(button, index) {
|
|
338
|
+
return {
|
|
339
|
+
type: "button",
|
|
340
|
+
text: { type: "plain_text", text: button.label.slice(0, 75), emoji: true },
|
|
341
|
+
action_id: `aec_${index}_${button.data}`.slice(0, 255),
|
|
342
|
+
value: button.data,
|
|
343
|
+
...(button.label.includes("Approve") ? { style: "primary" } : button.label.includes("Deny") ? { style: "danger" } : {}),
|
|
344
|
+
};
|
|
345
|
+
}
|
|
346
|
+
function isAuthError(code) {
|
|
347
|
+
return code === "invalid_auth" || code === "not_authed" || code === "account_inactive" || code === "token_revoked" || code === "not_allowed_token_type";
|
|
348
|
+
}
|
|
349
|
+
//# sourceMappingURL=slack-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-adapter.js","sourceRoot":"","sources":["../../../../src/components/channel-platform-hub/slack/slack-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,EACL,MAAM,GACP,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAExE,8EAA8E;AAC9E,iFAAiF;AACjF,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,yEAAyE;AACzE,iFAAiF;AACjF,4EAA4E;AAC5E,4EAA4E;AAC5E,EAAE;AACF,uEAAuE;AACvE,8EAA8E;AAC9E,yEAAyE;AACzE,8EAA8E;AAE9E,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AACrD,+EAA+E;AAC/E,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAa/B,uGAAuG;AACvG,MAAM,UAAU,aAAa,CAAC,OAAO,GAAuD,EAAE;IAC5F,OAAO;QACL,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,OAAO;QACpB,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;QACxC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAClB,IAAI,YAAY,CAAC;YACf,GAAG,OAAO;YACV,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE;YAC/C,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE;SAChD,CAAC;KACL,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,YAAY;IAiBH,OAAO;IAhBlB,YAAY,GAAwB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAEpG,OAAO,CAAS;IAChB,OAAO,CAAe;IACtB,OAAO,CAAmB;IACnC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,MAAM,CAAU;IAChB,IAAI,CAAe;IACnB,GAAG,CAAqC;IACxC,IAAI,CAAiB;IAC7B,mFAAmF;IAC3E,YAAY,CAAc;IAClC,yDAAyD;IACjD,WAAW,GAAG,KAAK,CAAC;IACpB,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEnD,YAAoB,OAA4B;uBAA5B,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,oBAAoB,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACxH,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACvE,IAAI,IAAwE,CAAC;QAC7E,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACnJ,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC/E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,2EAA2E;QAC3E,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;YACpH,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,OAAO;YAChB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;SAC9F,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,CAAC,IAAI,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAqB,EAAE,OAAwB;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CACrC,IAAI,CAAC,GAAG,CACN,kBAAkB,EAClB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAC7G,IAAI,CAAC,OAAO,CAAC,QAAQ,CACtB,CACF,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAsB,EAAE,OAAwB;QACzD,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CACxB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC9H,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB;gBAAE,OAAO;YAClF,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,8EAA8E;IAE9E,kEAAkE;IAC1D,IAAI,CAAC,OAAwB;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9G,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9C,OAAO;YACL,IAAI;YACJ,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;gBACnD,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aACzF;SACF,CAAC;IACJ,CAAC;IAED,mFAAmF;IAC3E,KAAK,CAAC,GAAG;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAC3B,SAAS,CAAC;gBACR,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;oBACrB,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC7B,MAAM;gBACR,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAC3B,IAAI,GAAG,YAAY,gBAAgB,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7D,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,+DAA+D,CAAC,CAAC;wBAC7F,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;wBACxB,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjD,MAAM,KAAK,CAAC,GAAG,YAAY,gBAAgB,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;oBAChH,IAAI,MAAM,CAAC,OAAO;wBAAE,OAAO;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE;gBACvB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;gBAC9B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO;QACnB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAkB,uBAAuB,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpG,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;YACtC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;YAC7C,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;oBAAE,OAAO;gBACnC,IAAI,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,YAAY,EAAE,CAAC;;oBACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC/B,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAEO,OAAO,CAAC,MAAc,EAAE,IAAY;QAC1C,IAAI,QAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,oFAAoF;QACpF,IAAI,QAAQ,CAAC,WAAW;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,YAAY;gBACf,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC3C,OAAO;YACT,KAAK,aAAa;gBAChB,KAAK,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1C,OAAO;YACT,KAAK,YAAY;gBACf,8DAA8D;gBAC9D,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO;YACT;gBACE,OAAO;QACX,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,KAA6B;QACjD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;YAAE,OAAO;QACjF,wCAAwC;QACxC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAgB;YACxB,EAAE,EAAE,KAAK,CAAC,OAAO;YACjB,IAAI,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;YAClD,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1F,CAAC;QACF,MAAM,OAAO,GAAmB;YAC9B,SAAS,EAAE,KAAK,CAAC,EAAE;YACnB,IAAI;YACJ,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAChC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzE,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,OAAqC;QAC/D,IAAI,OAAO,EAAE,IAAI,KAAK,eAAe,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;YAAE,OAAO;QACnE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC;QACvE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC;QACvE,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS;YAAE,OAAO;QACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;QAC5E,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC;YAC9C,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;gBAChB,IAAI,EAAE;oBACJ,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;oBAChD,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACtE;gBACD,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC;gBACxD,SAAS,EAAE,SAAS;gBACpB,IAAI;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8FAA8F;IACtF,YAAY,CAAC,IAAY;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,IAAI,GAAG,EAAE,IAAI;YAAE,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,cAAc,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACjG,OAAO,GAAG;aACP,OAAO,CAAC,6BAA6B,EAAE,SAAS,CAAC;aACjD,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC;aAClC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,gFAAgF;IACxE,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,IAA2C;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,MAAM,GAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACnG,IAAI,CAAC;YACH,sEAAsE;YACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAsB,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAChH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACtF,MAAM,GAAG;gBACP,EAAE,EAAE,MAAM;gBACV,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,IAAI,EAAE,IAAI;gBAAE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,gBAAgB;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,SAAS,CAAI,IAAsB;QAC/C,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,gBAAgB,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,GAAG,iBAAiB;gBAAE,MAAM,GAAG,CAAC;YACjI,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,GAAG,CAAI,MAAc,EAAE,IAA6B,EAAE,KAAa,EAAE,QAAQ,GAAoB,MAAM;QACnH,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,mCAAmC;gBAC7G,aAAa,EAAE,UAAU,KAAK,EAAE;aACjC;YACD,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACvI,MAAM;SACP,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,SAAS,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QACvI,IAAI,IAA+D,CAAC;QACpE,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgB,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,MAAM,YAAY,IAAI,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7I,OAAO,IAAS,CAAC;IACnB,CAAC;CACF;AAED,SAAS,aAAa,CAAC,MAAqB,EAAE,KAAa;IACzD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;QAC1E,SAAS,EAAE,OAAO,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QACtD,KAAK,EAAE,MAAM,CAAC,IAAI;QAClB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAwB;IAC3C,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,wBAAwB,CAAC;AAC1J,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-mrkdwn.d.ts","sourceRoot":"","sources":["../../../../src/components/channel-platform-hub/slack/slack-mrkdwn.ts"],"names":[],"mappings":"AASA,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA8B9D;AA2BD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// The agent's Markdown -> Slack mrkdwn (A-100 phase 3).
|
|
3
|
+
//
|
|
4
|
+
// Slack's mrkdwn differs from Markdown: *bold*, _italic_, ~strike~,
|
|
5
|
+
// <url|label> links, no headings. "&", "<" and ">" must be escaped
|
|
6
|
+
// everywhere except in the link syntax produced here. Code spans and blocks
|
|
7
|
+
// keep their backticks; their content is only escaped.
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
export function markdownToSlackMrkdwn(markdown) {
|
|
10
|
+
const out = [];
|
|
11
|
+
const lines = markdown.replace(/\r\n?/g, "\n").split("\n");
|
|
12
|
+
let i = 0;
|
|
13
|
+
while (i < lines.length) {
|
|
14
|
+
const line = lines[i];
|
|
15
|
+
const fence = /^\s*(```+|~~~+)\s*[\w+#.-]*\s*$/.exec(line);
|
|
16
|
+
if (fence) {
|
|
17
|
+
const marker = fence[1];
|
|
18
|
+
const body = [];
|
|
19
|
+
i++;
|
|
20
|
+
while (i < lines.length && !lines[i].trim().startsWith(marker))
|
|
21
|
+
body.push(lines[i++]);
|
|
22
|
+
i++;
|
|
23
|
+
out.push(`\`\`\`\n${escapeMrkdwn(body.join("\n"))}\n\`\`\``);
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
const heading = /^\s{0,3}#{1,6}\s+(.*?)\s*#*\s*$/.exec(line);
|
|
27
|
+
if (heading) {
|
|
28
|
+
out.push(`*${inline(heading[1]).replace(/\*/g, "")}*`);
|
|
29
|
+
}
|
|
30
|
+
else if (/^\s*>/.test(line)) {
|
|
31
|
+
out.push(`>${inline(line.replace(/^\s*>\s?/, " "))}`);
|
|
32
|
+
}
|
|
33
|
+
else if (/^\s{0,3}([-*_])(\s*\1){2,}\s*$/.test(line)) {
|
|
34
|
+
out.push("──────────");
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
const bullet = /^(\s*)[-*+]\s+(.*)$/.exec(line);
|
|
38
|
+
out.push(bullet ? `${bullet[1]}• ${inline(bullet[2])}` : inline(line));
|
|
39
|
+
}
|
|
40
|
+
i++;
|
|
41
|
+
}
|
|
42
|
+
return out.join("\n");
|
|
43
|
+
}
|
|
44
|
+
/** Inline Markdown in one line: code spans are kept literal, the rest is converted. */
|
|
45
|
+
function inline(text) {
|
|
46
|
+
return text
|
|
47
|
+
.split(/(`+[^`]*?`+)/)
|
|
48
|
+
.map((part, idx) => (idx % 2 === 1 ? escapeMrkdwn(part) : emphasis(part)))
|
|
49
|
+
.join("");
|
|
50
|
+
}
|
|
51
|
+
function emphasis(raw) {
|
|
52
|
+
const links = [];
|
|
53
|
+
let text = raw.replace(/\[([^\]]+)\]\((https?:\/\/[^\s)]+|mailto:[^\s)]+)\)/g, (_m, label, url) => {
|
|
54
|
+
links.push(`<${url.replace(/[<>|]/g, encodeURIComponent)}|${escapeMrkdwn(label).replace(/\|/g, "¦")}>`);
|
|
55
|
+
return `\u0000${links.length - 1}\u0000`;
|
|
56
|
+
});
|
|
57
|
+
text = escapeMrkdwn(text);
|
|
58
|
+
// Markers for bold/strike, so the single-"*" italic rule below cannot see them.
|
|
59
|
+
text = text
|
|
60
|
+
.replace(/\*\*(?=\S)([\s\S]*?\S)\*\*/g, "\u0001$1\u0001")
|
|
61
|
+
.replace(/__(?=\S)([\s\S]*?\S)__/g, "\u0001$1\u0001")
|
|
62
|
+
.replace(/~~(?=\S)([\s\S]*?\S)~~/g, "\u0002$1\u0002")
|
|
63
|
+
.replace(/(^|[^\w*])\*(?=\S)([^*]*?\S)\*(?!\w)/g, "$1_$2_");
|
|
64
|
+
text = text.replace(/\u0001/g, "*").replace(/\u0002/g, "~");
|
|
65
|
+
return text.replace(/\u0000(\d+)\u0000/g, (_m, n) => links[Number(n)] ?? "");
|
|
66
|
+
}
|
|
67
|
+
export function escapeMrkdwn(text) {
|
|
68
|
+
return text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=slack-mrkdwn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-mrkdwn.js","sourceRoot":"","sources":["../../../../src/components/channel-platform-hub/slack/slack-mrkdwn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { ChannelAccountInfo, ChannelAdapter, ChannelCapabilities, ChannelMessageRef, ChannelPlatform, ChannelSink, ChannelTarget, ChannelWebhookRequest, ChannelWebhookResponse, OutboundMessage } from "../types.js";
|
|
2
|
+
export interface TeamsAdapterOptions {
|
|
3
|
+
/** The bot's Microsoft App ID. */
|
|
4
|
+
appId: string;
|
|
5
|
+
/** A client secret of that app registration. */
|
|
6
|
+
appPassword: string;
|
|
7
|
+
/** The tenant of a single-tenant bot. Default "botframework.com" (multi-tenant). */
|
|
8
|
+
tenantId?: string;
|
|
9
|
+
/** Default: the Bot Framework's OpenID metadata — for tests. */
|
|
10
|
+
openIdMetadataUrl?: string;
|
|
11
|
+
/** Default: https://login.microsoftonline.com/<tenant>/oauth2/v2.0/token — for tests. */
|
|
12
|
+
tokenUrl?: string;
|
|
13
|
+
fetch?: typeof fetch;
|
|
14
|
+
/** Clock in ms — for tests. */
|
|
15
|
+
now?: () => number;
|
|
16
|
+
}
|
|
17
|
+
/** The Microsoft Teams platform, for AgentCore.useChannelPlatform. Needs "appId" and "appPassword"; "tenantId" is optional. */
|
|
18
|
+
export declare function teamsPlatform(options?: Omit<TeamsAdapterOptions, "appId" | "appPassword" | "tenantId">): ChannelPlatform;
|
|
19
|
+
export declare class TeamsAdapter implements ChannelAdapter {
|
|
20
|
+
private options;
|
|
21
|
+
readonly capabilities: ChannelCapabilities;
|
|
22
|
+
private readonly fetchFn;
|
|
23
|
+
private readonly now;
|
|
24
|
+
private controller;
|
|
25
|
+
private sink?;
|
|
26
|
+
private token?;
|
|
27
|
+
private keys?;
|
|
28
|
+
/** conversation id -> the serviceUrl its activities came from (verified). */
|
|
29
|
+
private serviceUrls;
|
|
30
|
+
constructor(options: TeamsAdapterOptions);
|
|
31
|
+
start(sink: ChannelSink): Promise<ChannelAccountInfo>;
|
|
32
|
+
stop(): Promise<void>;
|
|
33
|
+
handleWebhook(request: ChannelWebhookRequest): Promise<ChannelWebhookResponse>;
|
|
34
|
+
send(target: ChannelTarget, message: OutboundMessage): Promise<ChannelMessageRef>;
|
|
35
|
+
edit(ref: ChannelMessageRef, message: OutboundMessage): Promise<void>;
|
|
36
|
+
sendTyping(target: ChannelTarget): Promise<void>;
|
|
37
|
+
private onMessage;
|
|
38
|
+
/** A message activity: Markdown text, or an Adaptive Card when it has buttons. */
|
|
39
|
+
private activity;
|
|
40
|
+
private serviceUrlFor;
|
|
41
|
+
private rememberServiceUrl;
|
|
42
|
+
private accessToken;
|
|
43
|
+
private withRetry;
|
|
44
|
+
/** One Bot Connector call. Only made to a serviceUrl taken from a verified activity. */
|
|
45
|
+
private connector;
|
|
46
|
+
private verifyToken;
|
|
47
|
+
/** The Bot Framework's signing key with this id, from its OpenID metadata (cached). */
|
|
48
|
+
private signingKey;
|
|
49
|
+
private loadKeys;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=teams-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teams-adapter.d.ts","sourceRoot":"","sources":["../../../../src/components/channel-platform-hub/teams/teams-adapter.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EAEd,mBAAmB,EAEnB,iBAAiB,EACjB,eAAe,EAEf,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EAEtB,eAAe,EAChB,MAAM,aAAa,CAAC;AA+BrB,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,+HAA+H;AAC/H,wBAAgB,aAAa,CAAC,OAAO,GAAE,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,aAAa,GAAG,UAAU,CAAM,GAAG,eAAe,CAe5H;AAED,qBAAa,YAAa,YAAW,cAAc;IAYrC,OAAO,CAAC,OAAO;IAX3B,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAA2E;IAErH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,IAAI,CAAC,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAuC;IACrD,OAAO,CAAC,IAAI,CAAC,CAAsD;IACnE,6EAA6E;IAC7E,OAAO,CAAC,WAAW,CAA6B;IAEhD,YAAoB,OAAO,EAAE,mBAAmB,EAG/C;IAEK,KAAK,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAa1D;IAEK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAG1B;IAEK,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAoBnF;IAEK,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAStF;IAEK,IAAI,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAW1E;IAEK,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGrD;IAID,OAAO,CAAC,SAAS;IA0CjB,kFAAkF;IAClF,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,kBAAkB;YAUZ,WAAW;YAuBX,SAAS;IAUvB,wFAAwF;YAC1E,SAAS;YAsBT,WAAW;IA4BzB,uFAAuF;YACzE,UAAU;YAWV,QAAQ;CAcvB"}
|