whale-code 6.5.5 → 6.5.7
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/README.md +39 -31
- package/bin/{swagmanager-mcp.js → whale-code.js} +40 -2
- package/dist/cli/__tests__/print-mode-streaming.test.js +270 -0
- package/dist/cli/__tests__/print-mode.basic-output.test.js +230 -0
- package/dist/cli/__tests__/print-mode.session-errors.test.js +252 -0
- package/dist/cli/__tests__/print-mode.test.js +273 -0
- package/dist/cli/__tests__/serve-mode-messages.test.js +338 -0
- package/dist/cli/__tests__/serve-mode.messages.part2.test.js +266 -0
- package/dist/cli/__tests__/serve-mode.messages.test.js +277 -0
- package/dist/cli/__tests__/serve-mode.startup-http.test.js +279 -0
- package/dist/cli/__tests__/serve-mode.test.js +345 -0
- package/dist/cli/app.d.ts +1 -0
- package/dist/cli/app.js +154 -72
- package/dist/cli/app.js.map +1 -0
- package/dist/cli/chat/AgentSelector.js +105 -10
- package/dist/cli/chat/AgentSelector.js.map +1 -0
- package/dist/cli/chat/ChatApp.d.ts +8 -5
- package/dist/cli/chat/ChatApp.js +253 -315
- package/dist/cli/chat/ChatApp.js.map +1 -0
- package/dist/cli/chat/ChatInput.d.ts +3 -2
- package/dist/cli/chat/ChatInput.js +1111 -770
- package/dist/cli/chat/ChatInput.js.map +1 -0
- package/dist/cli/chat/ImsgManager.d.ts +20 -0
- package/dist/cli/chat/ImsgManager.js +341 -0
- package/dist/cli/chat/ImsgManager.js.map +1 -0
- package/dist/cli/chat/MarkdownText.d.ts +2 -1
- package/dist/cli/chat/MarkdownText.js +44 -15
- package/dist/cli/chat/MarkdownText.js.map +1 -0
- package/dist/cli/chat/MemoryManager.js +182 -46
- package/dist/cli/chat/MemoryManager.js.map +1 -0
- package/dist/cli/chat/MessageList.d.ts +3 -4
- package/dist/cli/chat/MessageList.js +195 -49
- package/dist/cli/chat/MessageList.js.map +1 -0
- package/dist/cli/chat/ModelSelector.js +282 -63
- package/dist/cli/chat/ModelSelector.js.map +1 -0
- package/dist/cli/chat/NodeManager.js +61 -84
- package/dist/cli/chat/NodeManager.js.map +1 -0
- package/dist/cli/chat/NodeSelector.js +171 -30
- package/dist/cli/chat/NodeSelector.js.map +1 -0
- package/dist/cli/chat/OverlayContext.d.ts +27 -0
- package/dist/cli/chat/OverlayContext.js +2 -0
- package/dist/cli/chat/OverlayContext.js.map +1 -0
- package/dist/cli/chat/PlanApproval.js +282 -57
- package/dist/cli/chat/PlanApproval.js.map +1 -0
- package/dist/cli/chat/RewindConfirmation.d.ts +12 -0
- package/dist/cli/chat/RewindConfirmation.js +243 -0
- package/dist/cli/chat/RewindConfirmation.js.map +1 -0
- package/dist/cli/chat/RewindViewer.js +560 -144
- package/dist/cli/chat/RewindViewer.js.map +1 -0
- package/dist/cli/chat/SessionManager.js +138 -30
- package/dist/cli/chat/SessionManager.js.map +1 -0
- package/dist/cli/chat/SlashMenu.d.ts +7 -24
- package/dist/cli/chat/SlashMenu.js +150 -190
- package/dist/cli/chat/SlashMenu.js.map +1 -0
- package/dist/cli/chat/StatusBar.d.ts +5 -2
- package/dist/cli/chat/StatusBar.js +188 -10
- package/dist/cli/chat/StatusBar.js.map +1 -0
- package/dist/cli/chat/StoreSelector.js +147 -18
- package/dist/cli/chat/StoreSelector.js.map +1 -0
- package/dist/cli/chat/StreamingText.d.ts +0 -3
- package/dist/cli/chat/StreamingText.js +21 -6
- package/dist/cli/chat/StreamingText.js.map +1 -0
- package/dist/cli/chat/SubagentPanel.d.ts +6 -7
- package/dist/cli/chat/SubagentPanel.js +253 -91
- package/dist/cli/chat/SubagentPanel.js.map +1 -0
- package/dist/cli/chat/TeamPanel.d.ts +1 -0
- package/dist/cli/chat/TeamPanel.js +201 -29
- package/dist/cli/chat/TeamPanel.js.map +1 -0
- package/dist/cli/chat/ThemeSelector.js +84 -24
- package/dist/cli/chat/ThemeSelector.js.map +1 -0
- package/dist/cli/chat/ToolIndicator.d.ts +7 -23
- package/dist/cli/chat/ToolIndicator.js +635 -430
- package/dist/cli/chat/ToolIndicator.js.map +1 -0
- package/dist/cli/chat/chat-input-menu-handler.d.ts +32 -0
- package/dist/cli/chat/components/LiveArea.d.ts +12 -0
- package/dist/cli/chat/components/LiveArea.js +252 -0
- package/dist/cli/chat/components/LiveArea.js.map +1 -0
- package/dist/cli/chat/components/OverlayRouter.d.ts +13 -0
- package/dist/cli/chat/components/OverlayRouter.js +257 -0
- package/dist/cli/chat/components/OverlayRouter.js.map +1 -0
- package/dist/cli/chat/components/StaticMessages.d.ts +9 -0
- package/dist/cli/chat/components/StaticMessages.js +132 -0
- package/dist/cli/chat/components/StaticMessages.js.map +1 -0
- package/dist/cli/chat/hooks/agent-loop-events.d.ts +77 -0
- package/dist/cli/chat/hooks/agent-loop-events.js +171 -0
- package/dist/cli/chat/hooks/agent-loop-events.js.map +1 -0
- package/dist/cli/chat/hooks/slash-command-config-system.d.ts +11 -0
- package/dist/cli/chat/hooks/slash-command-config-system.js +177 -0
- package/dist/cli/chat/hooks/slash-command-config-system.js.map +1 -0
- package/dist/cli/chat/hooks/slash-command-handlers-system.d.ts +12 -0
- package/dist/cli/chat/hooks/slash-command-handlers-system.js +127 -0
- package/dist/cli/chat/hooks/slash-command-handlers-system.js.map +1 -0
- package/dist/cli/chat/hooks/slash-command-handlers.d.ts +21 -0
- package/dist/cli/chat/hooks/slash-command-handlers.js +222 -0
- package/dist/cli/chat/hooks/slash-command-handlers.js.map +1 -0
- package/dist/cli/chat/hooks/slash-imsg-handlers.js +148 -0
- package/dist/cli/chat/hooks/slash-imsg-handlers.js.map +1 -0
- package/dist/cli/chat/hooks/slash-node-handlers.d.ts +26 -0
- package/dist/cli/chat/hooks/slash-node-handlers.js +226 -0
- package/dist/cli/chat/hooks/slash-node-handlers.js.map +1 -0
- package/dist/cli/chat/hooks/useAgentLoop.d.ts +2 -20
- package/dist/cli/chat/hooks/useAgentLoop.js +344 -373
- package/dist/cli/chat/hooks/useAgentLoop.js.map +1 -0
- package/dist/cli/chat/hooks/useElapsedClock.d.ts +19 -0
- package/dist/cli/chat/hooks/useElapsedClock.js +80 -0
- package/dist/cli/chat/hooks/useElapsedClock.js.map +1 -0
- package/dist/cli/chat/hooks/useOverlayHandlers.d.ts +23 -0
- package/dist/cli/chat/hooks/useOverlayHandlers.js +125 -0
- package/dist/cli/chat/hooks/useOverlayHandlers.js.map +1 -0
- package/dist/cli/chat/hooks/useSlashCommands.d.ts +14 -33
- package/dist/cli/chat/hooks/useSlashCommands.js +167 -616
- package/dist/cli/chat/hooks/useSlashCommands.js.map +1 -0
- package/dist/cli/chat/hooks/useStreamingReducer.d.ts +66 -0
- package/dist/cli/chat/imsg-manager-render.d.ts +29 -0
- package/dist/cli/chat/imsg-manager-render.js +294 -0
- package/dist/cli/chat/imsg-manager-render.js.map +1 -0
- package/dist/cli/chat/slash-commands.d.ts +37 -0
- package/dist/cli/chat/slash-commands.js +194 -0
- package/dist/cli/chat/slash-commands.js.map +1 -0
- package/dist/cli/chat/store.d.ts +115 -0
- package/dist/cli/chat/store.js +177 -0
- package/dist/cli/chat/store.js.map +1 -0
- package/dist/cli/chat/tool-indicator-helpers.d.ts +14 -0
- package/dist/cli/chat/tool-indicator-helpers.js +167 -0
- package/dist/cli/chat/tool-indicator-helpers.js.map +1 -0
- package/dist/cli/chat/tool-indicator-summary.d.ts +6 -0
- package/dist/cli/chat/tool-indicator-summary.js +103 -0
- package/dist/cli/chat/tool-indicator-summary.js.map +1 -0
- package/dist/cli/chat/tool-indicator-types.d.ts +66 -0
- package/dist/cli/chat/tool-indicator-types.js +177 -0
- package/dist/cli/chat/tool-indicator-types.js.map +1 -0
- package/dist/cli/commands/__tests__/config-cmd.test.js +270 -0
- package/dist/cli/commands/__tests__/doctor.test.js +257 -0
- package/dist/cli/commands/__tests__/imsg-node-bridge.test.js +99 -0
- package/dist/cli/commands/__tests__/imsg-utils.test.js +73 -0
- package/dist/cli/commands/__tests__/init.test.js +214 -0
- package/dist/cli/commands/__tests__/mcp.test.js +287 -0
- package/dist/cli/commands/config-cmd.js +56 -57
- package/dist/cli/commands/config-cmd.js.map +1 -0
- package/dist/cli/commands/db.js +184 -169
- package/dist/cli/commands/db.js.map +1 -0
- package/dist/cli/commands/doctor.js +212 -122
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/imsg-config.d.ts +31 -0
- package/dist/cli/commands/imsg-config.js +104 -0
- package/dist/cli/commands/imsg-config.js.map +1 -0
- package/dist/cli/commands/imsg-node-bridge.d.ts +25 -0
- package/dist/cli/commands/imsg-node-bridge.js +229 -0
- package/dist/cli/commands/imsg-node-bridge.js.map +1 -0
- package/dist/cli/commands/imsg-utils.d.ts +14 -0
- package/dist/cli/commands/imsg-utils.js +42 -0
- package/dist/cli/commands/imsg-utils.js.map +1 -0
- package/dist/cli/commands/imsg-watcher-helpers.d.ts +40 -0
- package/dist/cli/commands/imsg-watcher-helpers.js +184 -0
- package/dist/cli/commands/imsg-watcher-helpers.js.map +1 -0
- package/dist/cli/commands/imsg-watcher.d.ts +11 -0
- package/dist/cli/commands/imsg-watcher.js +230 -0
- package/dist/cli/commands/imsg-watcher.js.map +1 -0
- package/dist/cli/commands/imsg.d.ts +14 -0
- package/dist/cli/commands/imsg.js +181 -0
- package/dist/cli/commands/imsg.js.map +1 -0
- package/dist/cli/commands/init.js +211 -244
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/mcp.js +127 -122
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/sessions.d.ts +9 -0
- package/dist/cli/commands/sessions.js +93 -0
- package/dist/cli/commands/sessions.js.map +1 -0
- package/dist/cli/login/LoginApp.js +358 -141
- package/dist/cli/login/LoginApp.js.map +1 -0
- package/dist/cli/print-mode.js +196 -177
- package/dist/cli/print-mode.js.map +1 -0
- package/dist/cli/serve-mode-persistence.d.ts +18 -0
- package/dist/cli/serve-mode-persistence.js +157 -0
- package/dist/cli/serve-mode-persistence.js.map +1 -0
- package/dist/cli/serve-mode-query.d.ts +9 -0
- package/dist/cli/serve-mode-query.js +247 -0
- package/dist/cli/serve-mode-query.js.map +1 -0
- package/dist/cli/serve-mode-types.d.ts +29 -0
- package/dist/cli/serve-mode-types.js +56 -0
- package/dist/cli/serve-mode-types.js.map +1 -0
- package/dist/cli/serve-mode.js +615 -530
- package/dist/cli/serve-mode.js.map +1 -0
- package/dist/cli/services/__tests__/agent-definitions.test.js +153 -0
- package/dist/cli/services/__tests__/agent-events-global.test.js +39 -0
- package/dist/cli/services/__tests__/agent-events.part2.test.js +113 -0
- package/dist/cli/services/__tests__/agent-events.test.js +157 -0
- package/dist/cli/services/__tests__/agent-loop-auth.test.js +392 -0
- package/dist/cli/services/__tests__/agent-loop-budget.test.js +389 -0
- package/dist/cli/services/__tests__/agent-loop-tools-lifecycle.test.js +430 -0
- package/dist/cli/services/__tests__/agent-loop-tools-maxturns.test.js +486 -0
- package/dist/cli/services/__tests__/agent-loop-utils-execution.test.js +528 -0
- package/dist/cli/services/__tests__/agent-loop-utils-helpers.test.js +466 -0
- package/dist/cli/services/__tests__/agent-worker-base-execute.test.js +257 -0
- package/dist/cli/services/__tests__/agent-worker-base-helpers.test.js +198 -0
- package/dist/cli/services/__tests__/agent-worker-base.test.js +278 -0
- package/dist/cli/services/__tests__/auth-service-exports.test.js +41 -0
- package/dist/cli/services/__tests__/auth-service.part2.test.js +169 -0
- package/dist/cli/services/__tests__/auth-service.test.js +242 -0
- package/dist/cli/services/__tests__/background-processes.test.js +282 -0
- package/dist/cli/services/__tests__/claude-md-loader.test.js +134 -0
- package/dist/cli/services/__tests__/config-store.test.js +247 -0
- package/dist/cli/services/__tests__/debug-log.test.js +199 -0
- package/dist/cli/services/__tests__/edge-cases-caching.test.js +174 -0
- package/dist/cli/services/__tests__/edge-cases-compaction-core.test.js +226 -0
- package/dist/cli/services/__tests__/edge-cases-compaction-openai.test.js +152 -0
- package/dist/cli/services/__tests__/edge-cases-compaction-shapes.test.js +53 -0
- package/dist/cli/services/__tests__/edge-cases-compaction-thinking.test.js +226 -0
- package/dist/cli/services/__tests__/edge-cases-compaction.test.js +131 -0
- package/dist/cli/services/__tests__/edge-cases-paths.test.js +86 -0
- package/dist/cli/services/__tests__/error-logger-messages.test.js +81 -0
- package/dist/cli/services/__tests__/error-logger-transport.test.js +119 -0
- package/dist/cli/services/__tests__/error-logger.test.js +264 -0
- package/dist/cli/services/__tests__/file-history.test.js +136 -0
- package/dist/cli/services/__tests__/git-context-cache-reset.test.js +223 -0
- package/dist/cli/services/__tests__/git-context.test.js +241 -0
- package/dist/cli/services/__tests__/interactive-tools-execute.test.js +166 -0
- package/dist/cli/services/__tests__/interactive-tools-plan.test.js +197 -0
- package/dist/cli/services/__tests__/interactive-tools.part2.test.js +168 -0
- package/dist/cli/services/__tests__/interactive-tools.test.js +179 -0
- package/dist/cli/services/__tests__/keybinding-manager.test.js +205 -0
- package/dist/cli/services/__tests__/local-tools-dispatch.test.js +404 -0
- package/dist/cli/services/__tests__/local-tools.test.js +238 -0
- package/dist/cli/services/__tests__/lsp-manager.test.js +364 -0
- package/dist/cli/services/__tests__/mcp-client-connect-disconnect.test.js +310 -0
- package/dist/cli/services/__tests__/mcp-client.test.js +93 -0
- package/dist/cli/services/__tests__/memory-manager.test.js +154 -0
- package/dist/cli/services/__tests__/model-manager-utils.test.js +154 -0
- package/dist/cli/services/__tests__/model-manager.test.js +175 -0
- package/dist/cli/services/__tests__/permission-modes.test.js +222 -0
- package/dist/cli/services/__tests__/ripgrep.test.js +328 -0
- package/dist/cli/services/__tests__/server-tools-execute.test.js +317 -0
- package/dist/cli/services/__tests__/server-tools.test.js +272 -0
- package/dist/cli/services/__tests__/session-persistence.test.js +245 -0
- package/dist/cli/services/__tests__/subagent-basic.test.js +489 -0
- package/dist/cli/services/__tests__/subagent-edge.test.js +545 -0
- package/dist/cli/services/__tests__/subagent-prompts.test.js +558 -0
- package/dist/cli/services/__tests__/subagent-worker-errors.test.js +255 -0
- package/dist/cli/services/__tests__/subagent-worker.test.js +242 -0
- package/dist/cli/services/__tests__/system-prompt.test.js +210 -0
- package/dist/cli/services/__tests__/team-lead-comms-messaging.test.js +250 -0
- package/dist/cli/services/__tests__/team-lead-comms-result.test.js +232 -0
- package/dist/cli/services/__tests__/team-lead-comms-stop.test.js +344 -0
- package/dist/cli/services/__tests__/team-lead-comms.test.js +285 -0
- package/dist/cli/services/__tests__/team-lead-create.test.js +327 -0
- package/dist/cli/services/__tests__/team-lead-run.test.js +318 -0
- package/dist/cli/services/__tests__/team-lead-stop.test.js +199 -0
- package/dist/cli/services/__tests__/team-state-comms.test.js +240 -0
- package/dist/cli/services/__tests__/team-state-core.test.js +230 -0
- package/dist/cli/services/__tests__/team-state-tasks-complete-fail-available.test.js +224 -0
- package/dist/cli/services/__tests__/team-state-tasks.test.js +184 -0
- package/dist/cli/services/__tests__/telemetry-ai-metadata.test.js +116 -0
- package/dist/cli/services/__tests__/telemetry.part2.test.js +195 -0
- package/dist/cli/services/__tests__/telemetry.test.js +176 -0
- package/dist/cli/services/agent-config.d.ts +5 -1
- package/dist/cli/services/agent-config.js +66 -36
- package/dist/cli/services/agent-config.js.map +1 -0
- package/dist/cli/services/agent-definitions.d.ts +4 -1
- package/dist/cli/services/agent-definitions.js +97 -56
- package/dist/cli/services/agent-definitions.js.map +1 -0
- package/dist/cli/services/agent-event-types.d.ts +148 -0
- package/dist/cli/services/agent-event-types.js +2 -0
- package/dist/cli/services/agent-event-types.js.map +1 -0
- package/dist/cli/services/agent-events.js +225 -162
- package/dist/cli/services/agent-events.js.map +1 -0
- package/dist/cli/services/agent-loop-iteration.d.ts +13 -0
- package/dist/cli/services/agent-loop-setup.d.ts +32 -0
- package/dist/cli/services/agent-loop-shell-summarize.d.ts +11 -0
- package/dist/cli/services/agent-loop-shell-summarize.js +94 -0
- package/dist/cli/services/agent-loop-shell-summarize.js.map +1 -0
- package/dist/cli/services/agent-loop-tools.d.ts +37 -0
- package/dist/cli/services/agent-loop-tools.js +243 -0
- package/dist/cli/services/agent-loop-tools.js.map +1 -0
- package/dist/cli/services/agent-loop-types.d.ts +52 -0
- package/dist/cli/services/agent-loop-types.js +25 -0
- package/dist/cli/services/agent-loop-types.js.map +1 -0
- package/dist/cli/services/agent-loop.d.ts +2 -2
- package/dist/cli/services/agent-loop.js +1135 -702
- package/dist/cli/services/agent-loop.js.map +1 -0
- package/dist/cli/services/agent-worker-base-api.d.ts +19 -0
- package/dist/cli/services/agent-worker-base-helpers.d.ts +27 -0
- package/dist/cli/services/agent-worker-base-tools.d.ts +16 -0
- package/dist/cli/services/agent-worker-base-types.d.ts +81 -0
- package/dist/cli/services/agent-worker-base.d.ts +35 -5
- package/dist/cli/services/agent-worker-base.js +337 -153
- package/dist/cli/services/agent-worker-base.js.map +1 -0
- package/dist/cli/services/api-retry.js +69 -64
- package/dist/cli/services/api-retry.js.map +1 -0
- package/dist/cli/services/auth-service.d.ts +3 -3
- package/dist/cli/services/auth-service.js +213 -136
- package/dist/cli/services/auth-service.js.map +1 -0
- package/dist/cli/services/background-agents.d.ts +26 -0
- package/dist/cli/services/background-processes-ops.d.ts +24 -0
- package/dist/cli/services/background-processes.d.ts +2 -1
- package/dist/cli/services/background-processes.js +347 -267
- package/dist/cli/services/background-processes.js.map +1 -0
- package/dist/cli/services/background-tool-defs.d.ts +50 -0
- package/dist/cli/services/browser-auth.d.ts +2 -2
- package/dist/cli/services/browser-auth.js +159 -118
- package/dist/cli/services/browser-auth.js.map +1 -0
- package/dist/cli/services/claude-md-loader.js +40 -36
- package/dist/cli/services/claude-md-loader.js.map +1 -0
- package/dist/cli/services/cli-agent-loop.d.ts +41 -0
- package/dist/cli/services/cli-agent-loop.js +104 -0
- package/dist/cli/services/cli-agent-loop.js.map +1 -0
- package/dist/cli/services/config-modules-model.test.js +133 -0
- package/dist/cli/services/config-modules-permission.test.js +85 -0
- package/dist/cli/services/config-modules-permissions.test.js +85 -0
- package/dist/cli/services/config-modules-session.test.js +297 -0
- package/dist/cli/services/config-store.d.ts +14 -4
- package/dist/cli/services/config-store.js +249 -117
- package/dist/cli/services/config-store.js.map +1 -0
- package/dist/cli/services/debug-log.d.ts +1 -1
- package/dist/cli/services/debug-log.js +34 -35
- package/dist/cli/services/debug-log.js.map +1 -0
- package/dist/cli/services/env-detect.d.ts +7 -0
- package/dist/cli/services/env-detect.js +9 -0
- package/dist/cli/services/env-detect.js.map +1 -0
- package/dist/cli/services/error-logger-internals.d.ts +25 -0
- package/dist/cli/services/error-logger-internals.js +111 -0
- package/dist/cli/services/error-logger-internals.js.map +1 -0
- package/dist/cli/services/error-logger.js +187 -169
- package/dist/cli/services/error-logger.js.map +1 -0
- package/dist/cli/services/file-history.d.ts +1 -1
- package/dist/cli/services/file-history.js +50 -54
- package/dist/cli/services/file-history.js.map +1 -0
- package/dist/cli/services/format-server-response-columns.test.js +265 -0
- package/dist/cli/services/format-server-response-fallback.test.js +65 -0
- package/dist/cli/services/format-server-response-formatters.d.ts +18 -0
- package/dist/cli/services/format-server-response-formatters.js +195 -0
- package/dist/cli/services/format-server-response-formatters.js.map +1 -0
- package/dist/cli/services/format-server-response-primitives-basic.test.js +261 -0
- package/dist/cli/services/format-server-response-primitives-nested.test.js +188 -0
- package/dist/cli/services/format-server-response-primitives.test.js +300 -0
- package/dist/cli/services/format-server-response-realworld.test.js +248 -0
- package/dist/cli/services/format-server-response-values.test.js +247 -0
- package/dist/cli/services/format-server-response.js +334 -372
- package/dist/cli/services/format-server-response.js.map +1 -0
- package/dist/cli/services/git-context.js +61 -45
- package/dist/cli/services/git-context.js.map +1 -0
- package/dist/cli/services/hooks-execute.d.ts +47 -0
- package/dist/cli/services/hooks-execute.js +181 -0
- package/dist/cli/services/hooks-execute.js.map +1 -0
- package/dist/cli/services/hooks-runners.test.js +184 -0
- package/dist/cli/services/hooks.d.ts +2 -2
- package/dist/cli/services/hooks.glob-load.test.js +233 -0
- package/dist/cli/services/hooks.js +195 -180
- package/dist/cli/services/hooks.js.map +1 -0
- package/dist/cli/services/hooks.run-hooks.test.js +184 -0
- package/dist/cli/services/hooks.test.js +233 -0
- package/dist/cli/services/ink-incremental.d.ts +19 -0
- package/dist/cli/services/ink-incremental.js +59 -0
- package/dist/cli/services/ink-incremental.js.map +1 -0
- package/dist/cli/services/ink-resize-fix.js +54 -44
- package/dist/cli/services/ink-resize-fix.js.map +1 -0
- package/dist/cli/services/ink-sync-output.d.ts +12 -0
- package/dist/cli/services/ink-sync-output.js +16 -0
- package/dist/cli/services/ink-sync-output.js.map +1 -0
- package/dist/cli/services/interactive-tool-defs.d.ts +80 -0
- package/dist/cli/services/interactive-tools.d.ts +5 -2
- package/dist/cli/services/interactive-tools.js +283 -213
- package/dist/cli/services/interactive-tools.js.map +1 -0
- package/dist/cli/services/keybinding-manager.d.ts +13 -1
- package/dist/cli/services/keybinding-manager.js +131 -63
- package/dist/cli/services/keybinding-manager.js.map +1 -0
- package/dist/cli/services/local-tools-agent-defs-tasks.d.ts +6 -0
- package/dist/cli/services/local-tools-agent-defs-tasks.js +245 -0
- package/dist/cli/services/local-tools-agent-defs-tasks.js.map +1 -0
- package/dist/cli/services/local-tools-agent-defs-utils.d.ts +6 -0
- package/dist/cli/services/local-tools-agent-defs-utils.js +198 -0
- package/dist/cli/services/local-tools-agent-defs-utils.js.map +1 -0
- package/dist/cli/services/local-tools-agent-defs.d.ts +10 -0
- package/dist/cli/services/local-tools-agent-defs.js +13 -0
- package/dist/cli/services/local-tools-agent-defs.js.map +1 -0
- package/dist/cli/services/local-tools-definitions.d.ts +6 -0
- package/dist/cli/services/local-tools-files.test.js +256 -0
- package/dist/cli/services/local-tools-read-many.d.ts +6 -0
- package/dist/cli/services/local-tools.d.ts +1 -1
- package/dist/cli/services/local-tools.js +938 -657
- package/dist/cli/services/local-tools.js.map +1 -0
- package/dist/cli/services/lsp-config.d.ts +13 -0
- package/dist/cli/services/lsp-config.js +72 -0
- package/dist/cli/services/lsp-config.js.map +1 -0
- package/dist/cli/services/lsp-formatters.d.ts +11 -0
- package/dist/cli/services/lsp-formatters.js +209 -0
- package/dist/cli/services/lsp-formatters.js.map +1 -0
- package/dist/cli/services/lsp-manager.js +757 -594
- package/dist/cli/services/lsp-manager.js.map +1 -0
- package/dist/cli/services/lsp-protocol.d.ts +9 -0
- package/dist/cli/services/lsp-protocol.js +40 -0
- package/dist/cli/services/lsp-protocol.js.map +1 -0
- package/dist/cli/services/lsp-server-docs.d.ts +8 -0
- package/dist/cli/services/lsp-server-docs.js +132 -0
- package/dist/cli/services/lsp-server-docs.js.map +1 -0
- package/dist/cli/services/lsp-server-documents.d.ts +8 -0
- package/dist/cli/services/lsp-server-documents.js +132 -0
- package/dist/cli/services/lsp-server-documents.js.map +1 -0
- package/dist/cli/services/lsp-server.d.ts +40 -0
- package/dist/cli/services/lsp-server.js +270 -0
- package/dist/cli/services/lsp-server.js.map +1 -0
- package/dist/cli/services/mcp-client.d.ts +1 -1
- package/dist/cli/services/mcp-client.js +173 -134
- package/dist/cli/services/mcp-client.js.map +1 -0
- package/dist/cli/services/memory-manager.js +53 -40
- package/dist/cli/services/memory-manager.js.map +1 -0
- package/dist/cli/services/model-manager.js +55 -40
- package/dist/cli/services/model-manager.js.map +1 -0
- package/dist/cli/services/model-router.js +115 -85
- package/dist/cli/services/model-router.js.map +1 -0
- package/dist/cli/services/model-router.test.js +245 -0
- package/dist/cli/services/paths.d.ts +30 -0
- package/dist/cli/services/paths.js +81 -0
- package/dist/cli/services/paths.js.map +1 -0
- package/dist/cli/services/permission-modes.js +45 -25
- package/dist/cli/services/permission-modes.js.map +1 -0
- package/dist/cli/services/project-index.d.ts +41 -0
- package/dist/cli/services/project-index.js +286 -0
- package/dist/cli/services/project-index.js.map +1 -0
- package/dist/cli/services/rewind-rewindTo.test.js +202 -0
- package/dist/cli/services/rewind.js +182 -168
- package/dist/cli/services/rewind.js.map +1 -0
- package/dist/cli/services/rewind.test.js +175 -0
- package/dist/cli/services/ripgrep.js +115 -115
- package/dist/cli/services/ripgrep.js.map +1 -0
- package/dist/cli/services/sandbox.d.ts +1 -1
- package/dist/cli/services/sandbox.js +58 -37
- package/dist/cli/services/sandbox.js.map +1 -0
- package/dist/cli/services/sandbox.test.js +198 -0
- package/dist/cli/services/server-tools-client.d.ts +46 -0
- package/dist/cli/services/server-tools-client.js +211 -0
- package/dist/cli/services/server-tools-client.js.map +1 -0
- package/dist/cli/services/server-tools-media.d.ts +21 -0
- package/dist/cli/services/server-tools-media.js +163 -0
- package/dist/cli/services/server-tools-media.js.map +1 -0
- package/dist/cli/services/server-tools-preprocess.d.ts +23 -0
- package/dist/cli/services/server-tools-preprocess.js +386 -0
- package/dist/cli/services/server-tools-preprocess.js.map +1 -0
- package/dist/cli/services/server-tools.d.ts +2 -0
- package/dist/cli/services/server-tools.js +763 -565
- package/dist/cli/services/server-tools.js.map +1 -0
- package/dist/cli/services/session-client.d.ts +78 -0
- package/dist/cli/services/session-client.js +197 -0
- package/dist/cli/services/session-client.js.map +1 -0
- package/dist/cli/services/session-persistence.d.ts +3 -0
- package/dist/cli/services/session-persistence.js +81 -74
- package/dist/cli/services/session-persistence.js.map +1 -0
- package/dist/cli/services/subagent-execution.d.ts +12 -0
- package/dist/cli/services/subagent-loop-v2.d.ts +36 -0
- package/dist/cli/services/subagent-loop-v2.js +238 -0
- package/dist/cli/services/subagent-loop-v2.js.map +1 -0
- package/dist/cli/services/subagent-tools.d.ts +10 -0
- package/dist/cli/services/subagent-tools.js +96 -0
- package/dist/cli/services/subagent-tools.js.map +1 -0
- package/dist/cli/services/subagent-types.d.ts +57 -0
- package/dist/cli/services/subagent-types.js +218 -0
- package/dist/cli/services/subagent-types.js.map +1 -0
- package/dist/cli/services/subagent-worker.js +42 -27
- package/dist/cli/services/subagent-worker.js.map +1 -0
- package/dist/cli/services/subagent.d.ts +2 -0
- package/dist/cli/services/subagent.js +606 -433
- package/dist/cli/services/subagent.js.map +1 -0
- package/dist/cli/services/system-prompt.js +111 -80
- package/dist/cli/services/system-prompt.js.map +1 -0
- package/dist/cli/services/task-decomposer.d.ts +1 -1
- package/dist/cli/services/task-decomposer.js +172 -139
- package/dist/cli/services/task-decomposer.js.map +1 -0
- package/dist/cli/services/team-lead-auto.d.ts +11 -0
- package/dist/cli/services/team-lead-execution.d.ts +28 -0
- package/dist/cli/services/team-lead-types.d.ts +37 -0
- package/dist/cli/services/team-lead-types.js +2 -0
- package/dist/cli/services/team-lead-types.js.map +1 -0
- package/dist/cli/services/team-lead.d.ts +62 -2
- package/dist/cli/services/team-lead.js +863 -528
- package/dist/cli/services/team-lead.js.map +1 -0
- package/dist/cli/services/team-state-members.d.ts +11 -0
- package/dist/cli/services/team-state-members.js +185 -0
- package/dist/cli/services/team-state-members.js.map +1 -0
- package/dist/cli/services/team-state-messaging.d.ts +16 -0
- package/dist/cli/services/team-state-messaging.js +90 -0
- package/dist/cli/services/team-state-messaging.js.map +1 -0
- package/dist/cli/services/team-state-tasks.d.ts +12 -0
- package/dist/cli/services/team-state-tasks.js +23 -0
- package/dist/cli/services/team-state-tasks.js.map +1 -0
- package/dist/cli/services/team-state-types.d.ts +54 -0
- package/dist/cli/services/team-state-types.js +129 -0
- package/dist/cli/services/team-state-types.js.map +1 -0
- package/dist/cli/services/team-state.d.ts +5 -0
- package/dist/cli/services/team-state.js +348 -319
- package/dist/cli/services/team-state.js.map +1 -0
- package/dist/cli/services/teammate-loop.js +557 -0
- package/dist/cli/services/teammate-loop.js.map +1 -0
- package/dist/cli/services/teammate-prompt.d.ts +2 -0
- package/dist/cli/services/teammate-prompt.js +68 -0
- package/dist/cli/services/teammate-prompt.js.map +1 -0
- package/dist/cli/services/teammate-tools.d.ts +6 -0
- package/dist/cli/services/teammate-tools.js +158 -0
- package/dist/cli/services/teammate-tools.js.map +1 -0
- package/dist/cli/services/teammate-types.d.ts +36 -0
- package/dist/cli/services/teammate-types.js +43 -0
- package/dist/cli/services/teammate-types.js.map +1 -0
- package/dist/cli/services/teammate-worker-helpers.d.ts +71 -0
- package/dist/cli/services/teammate-worker-helpers.js +183 -0
- package/dist/cli/services/teammate-worker-helpers.js.map +1 -0
- package/dist/cli/services/teammate-worker-task-cleanup.d.ts +27 -0
- package/dist/cli/services/teammate-worker-task-cleanup.js +91 -0
- package/dist/cli/services/teammate-worker-task-cleanup.js.map +1 -0
- package/dist/cli/services/teammate-worker-task-loop.d.ts +35 -0
- package/dist/cli/services/teammate-worker-task-loop.js +273 -0
- package/dist/cli/services/teammate-worker-task-loop.js.map +1 -0
- package/dist/cli/services/teammate-worker.d.ts +13 -0
- package/dist/cli/services/teammate-worker.js +294 -0
- package/dist/cli/services/teammate-worker.js.map +1 -0
- package/dist/cli/services/teammate.d.ts +8 -2
- package/dist/cli/services/teammate.js +857 -569
- package/dist/cli/services/teammate.js.map +1 -0
- package/dist/cli/services/telemetry-spans.d.ts +17 -0
- package/dist/cli/services/telemetry-spans.js +172 -0
- package/dist/cli/services/telemetry-spans.js.map +1 -0
- package/dist/cli/services/telemetry.d.ts +6 -1
- package/dist/cli/services/telemetry.js +180 -157
- package/dist/cli/services/telemetry.js.map +1 -0
- package/dist/cli/services/tools/__tests__/agent-tools-tasks-teams.test.js +250 -0
- package/dist/cli/services/tools/__tests__/agent-tools-teams.test.js +200 -0
- package/dist/cli/services/tools/__tests__/agent-tools.test.js +340 -0
- package/dist/cli/services/tools/__tests__/file-ops-cache.test.js +152 -0
- package/dist/cli/services/tools/__tests__/file-ops-notebook.test.js +249 -0
- package/dist/cli/services/tools/__tests__/file-ops-read.test.js +261 -0
- package/dist/cli/services/tools/__tests__/file-ops-write.test.js +292 -0
- package/dist/cli/services/tools/__tests__/search-tools-rg.test.js +92 -0
- package/dist/cli/services/tools/__tests__/search-tools.part2.test.js +174 -0
- package/dist/cli/services/tools/__tests__/search-tools.test.js +227 -0
- package/dist/cli/services/tools/__tests__/shell-exec-allowed-core.test.js +163 -0
- package/dist/cli/services/tools/__tests__/shell-exec-allowed-extended.test.js +220 -0
- package/dist/cli/services/tools/__tests__/shell-exec-allowed.part2.test.js +215 -0
- package/dist/cli/services/tools/__tests__/shell-exec-allowed.test.js +154 -0
- package/dist/cli/services/tools/__tests__/shell-exec-blocked.test.js +132 -0
- package/dist/cli/services/tools/__tests__/shell-exec-execution.test.js +245 -0
- package/dist/cli/services/tools/__tests__/task-manager-create.test.js +110 -0
- package/dist/cli/services/tools/__tests__/task-manager-crud.test.js +339 -0
- package/dist/cli/services/tools/__tests__/task-manager-list-get.test.js +343 -0
- package/dist/cli/services/tools/__tests__/task-manager-query.test.js +346 -0
- package/dist/cli/services/tools/__tests__/task-manager-routing.test.js +58 -0
- package/dist/cli/services/tools/__tests__/task-manager-update.test.js +224 -0
- package/dist/cli/services/tools/__tests__/task-manager.test.js +159 -0
- package/dist/cli/services/tools/__tests__/web-tools-html-search.test.js +227 -0
- package/dist/cli/services/tools/__tests__/web-tools.test.js +285 -0
- package/dist/cli/services/tools/agent-tools-tasks.d.ts +10 -0
- package/dist/cli/services/tools/agent-tools-tasks.js +216 -0
- package/dist/cli/services/tools/agent-tools-tasks.js.map +1 -0
- package/dist/cli/services/tools/agent-tools-team.d.ts +8 -0
- package/dist/cli/services/tools/agent-tools-team.js +101 -0
- package/dist/cli/services/tools/agent-tools-team.js.map +1 -0
- package/dist/cli/services/tools/agent-tools.d.ts +3 -3
- package/dist/cli/services/tools/agent-tools.js +555 -324
- package/dist/cli/services/tools/agent-tools.js.map +1 -0
- package/dist/cli/services/tools/file-ops-notebook.d.ts +9 -0
- package/dist/cli/services/tools/file-ops-notebook.js +186 -0
- package/dist/cli/services/tools/file-ops-notebook.js.map +1 -0
- package/dist/cli/services/tools/file-ops-read.d.ts +11 -0
- package/dist/cli/services/tools/file-ops-read.js +237 -0
- package/dist/cli/services/tools/file-ops-read.js.map +1 -0
- package/dist/cli/services/tools/file-ops-write.d.ts +8 -0
- package/dist/cli/services/tools/file-ops-write.js +260 -0
- package/dist/cli/services/tools/file-ops-write.js.map +1 -0
- package/dist/cli/services/tools/file-ops.d.ts +1 -0
- package/dist/cli/services/tools/file-ops.js +727 -447
- package/dist/cli/services/tools/file-ops.js.map +1 -0
- package/dist/cli/services/tools/html-to-text.d.ts +6 -0
- package/dist/cli/services/tools/html-to-text.js +118 -0
- package/dist/cli/services/tools/html-to-text.js.map +1 -0
- package/dist/cli/services/tools/search-tools.js +231 -162
- package/dist/cli/services/tools/search-tools.js.map +1 -0
- package/dist/cli/services/tools/shell-exec.js +197 -151
- package/dist/cli/services/tools/shell-exec.js.map +1 -0
- package/dist/cli/services/tools/shell-exec.test.js +148 -0
- package/dist/cli/services/tools/ssrf-guard.d.ts +6 -0
- package/dist/cli/services/tools/ssrf-guard.js +80 -0
- package/dist/cli/services/tools/ssrf-guard.js.map +1 -0
- package/dist/cli/services/tools/task-manager.js +206 -173
- package/dist/cli/services/tools/task-manager.js.map +1 -0
- package/dist/cli/services/tools/web-tools.js +388 -341
- package/dist/cli/services/tools/web-tools.js.map +1 -0
- package/dist/cli/setup/SetupApp.d.ts +2 -2
- package/dist/cli/setup/SetupApp.js +608 -160
- package/dist/cli/setup/SetupApp.js.map +1 -0
- package/dist/cli/setup/SetupComponents.d.ts +10 -0
- package/dist/cli/setup/SetupComponents.js +144 -0
- package/dist/cli/setup/SetupComponents.js.map +1 -0
- package/dist/cli/setup/setup-cli-targets.d.ts +9 -0
- package/dist/cli/setup/setup-cli-targets.js +49 -0
- package/dist/cli/setup/setup-cli-targets.js.map +1 -0
- package/dist/cli/shared/ErrorBoundary.d.ts +22 -0
- package/dist/cli/shared/ErrorBoundary.js +73 -0
- package/dist/cli/shared/ErrorBoundary.js.map +1 -0
- package/dist/cli/shared/InlineErrorBoundary.d.ts +22 -0
- package/dist/cli/shared/InlineErrorBoundary.js +35 -0
- package/dist/cli/shared/InlineErrorBoundary.js.map +1 -0
- package/dist/cli/shared/MatrixIntro.js +67 -69
- package/dist/cli/shared/MatrixIntro.js.map +1 -0
- package/dist/cli/shared/SharedTick.d.ts +10 -0
- package/dist/cli/shared/SpinnerSlot.d.ts +22 -0
- package/dist/cli/shared/SpinnerSlot.js +156 -0
- package/dist/cli/shared/SpinnerSlot.js.map +1 -0
- package/dist/cli/shared/Theme.d.ts +1 -1
- package/dist/cli/shared/Theme.js +136 -92
- package/dist/cli/shared/Theme.js.map +1 -0
- package/dist/cli/shared/WhaleBanner.js +100 -11
- package/dist/cli/shared/WhaleBanner.js.map +1 -0
- package/dist/cli/shared/__tests__/markdown.test.js +188 -0
- package/dist/cli/shared/format-utils.d.ts +16 -0
- package/dist/cli/shared/format-utils.js +121 -0
- package/dist/cli/shared/format-utils.js.map +1 -0
- package/dist/cli/shared/markdown-chart.d.ts +8 -0
- package/dist/cli/shared/markdown-chart.js +92 -0
- package/dist/cli/shared/markdown-chart.js.map +1 -0
- package/dist/cli/shared/markdown-diff.d.ts +15 -0
- package/dist/cli/shared/markdown-diff.js +205 -0
- package/dist/cli/shared/markdown-diff.js.map +1 -0
- package/dist/cli/shared/markdown-helpers.d.ts +33 -0
- package/dist/cli/shared/markdown-helpers.js +129 -0
- package/dist/cli/shared/markdown-helpers.js.map +1 -0
- package/dist/cli/shared/markdown-table.d.ts +10 -0
- package/dist/cli/shared/markdown-table.js +227 -0
- package/dist/cli/shared/markdown-table.js.map +1 -0
- package/dist/cli/shared/markdown.d.ts +2 -4
- package/dist/cli/shared/markdown.js +658 -703
- package/dist/cli/shared/markdown.js.map +1 -0
- package/dist/cli/shared/marked-terminal.d.js +2 -0
- package/dist/cli/shared/marked-terminal.d.js.map +1 -0
- package/dist/cli/shared/theme-manager.js +99 -90
- package/dist/cli/shared/theme-manager.js.map +1 -0
- package/dist/cli/shared/theme-presets.js +256 -254
- package/dist/cli/shared/theme-presets.js.map +1 -0
- package/dist/cli/shared/useLatestRef.d.ts +11 -0
- package/dist/cli/shared/useLatestRef.js +34 -0
- package/dist/cli/shared/useLatestRef.js.map +1 -0
- package/dist/cli/shared/useSyncState.d.ts +11 -0
- package/dist/cli/shared/useSyncState.js +39 -0
- package/dist/cli/shared/useSyncState.js.map +1 -0
- package/dist/cli/status/StatusApp.js +235 -86
- package/dist/cli/status/StatusApp.js.map +1 -0
- package/dist/cli/stores/StoreApp.js +278 -66
- package/dist/cli/stores/StoreApp.js.map +1 -0
- package/dist/index-agent.d.ts +11 -0
- package/dist/index-agent.js +83 -0
- package/dist/index-agent.js.map +1 -0
- package/dist/index-auth.d.ts +22 -0
- package/dist/index-auth.js +114 -0
- package/dist/index-auth.js.map +1 -0
- package/dist/index-handlers.d.ts +25 -0
- package/dist/index-handlers.js +164 -0
- package/dist/index-handlers.js.map +1 -0
- package/dist/index-tools.d.ts +22 -0
- package/dist/index-tools.js +115 -0
- package/dist/index-tools.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +509 -396
- package/dist/index.js.map +1 -0
- package/dist/local-agent/__tests__/connection-disconnect.test.js +201 -0
- package/dist/local-agent/__tests__/connection-lifecycle.test.js +289 -0
- package/dist/local-agent/__tests__/connection-msghandling.test.js +311 -0
- package/dist/local-agent/__tests__/connection-reconnect.test.js +230 -0
- package/dist/local-agent/__tests__/connection-toolexec.test.js +253 -0
- package/dist/local-agent/__tests__/discovery.test.js +328 -0
- package/dist/local-agent/__tests__/executor-background.test.js +219 -0
- package/dist/local-agent/__tests__/executor-exec.test.js +221 -0
- package/dist/local-agent/__tests__/executor-jobs-sessions.test.js +220 -0
- package/dist/local-agent/__tests__/executor-system-info.test.js +133 -0
- package/dist/local-agent/__tests__/executor-systeminfo.test.js +109 -0
- package/dist/local-agent/__tests__/executor.test.js +235 -0
- package/dist/local-agent/__tests__/index.test.js +139 -0
- package/dist/local-agent/connection-handlers.d.ts +8 -0
- package/dist/local-agent/connection-handlers.js +112 -0
- package/dist/local-agent/connection-handlers.js.map +1 -0
- package/dist/local-agent/connection-tools.d.ts +8 -0
- package/dist/local-agent/connection-tools.js +111 -0
- package/dist/local-agent/connection-tools.js.map +1 -0
- package/dist/local-agent/connection.d.ts +2 -2
- package/dist/local-agent/connection.js +352 -293
- package/dist/local-agent/connection.js.map +1 -0
- package/dist/local-agent/discovery.js +259 -122
- package/dist/local-agent/discovery.js.map +1 -0
- package/dist/local-agent/executor-jobs.d.ts +12 -0
- package/dist/local-agent/executor-jobs.js +143 -0
- package/dist/local-agent/executor-jobs.js.map +1 -0
- package/dist/local-agent/executor.d.ts +3 -0
- package/dist/local-agent/executor.js +218 -195
- package/dist/local-agent/executor.js.map +1 -0
- package/dist/local-agent/index.d.ts +2 -2
- package/dist/local-agent/index.js +156 -156
- package/dist/local-agent/index.js.map +1 -0
- package/dist/node/__tests__/cli-channels.test.js +293 -0
- package/dist/node/__tests__/cli-config-edge.test.js +154 -0
- package/dist/node/__tests__/cli-config.test.js +215 -0
- package/dist/node/__tests__/config.test.js +292 -0
- package/dist/node/__tests__/runtime-heartbeat.test.js +153 -0
- package/dist/node/__tests__/runtime-lifecycle-init.test.js +263 -0
- package/dist/node/__tests__/runtime-lifecycle-stats.test.js +180 -0
- package/dist/node/__tests__/runtime-lifecycle.test.js +305 -0
- package/dist/node/__tests__/runtime-relay.test.js +341 -0
- package/dist/node/adapters/__tests__/base.test.js +286 -0
- package/dist/node/adapters/__tests__/discord.test.js +284 -0
- package/dist/node/adapters/__tests__/email-send.test.js +295 -0
- package/dist/node/adapters/__tests__/email.inbound-send.test.js +217 -0
- package/dist/node/adapters/__tests__/email.lifecycle.test.js +211 -0
- package/dist/node/adapters/__tests__/email.test.js +290 -0
- package/dist/node/adapters/__tests__/email.webhook-send.test.js +251 -0
- package/dist/node/adapters/__tests__/imessage-filter.test.js +183 -0
- package/dist/node/adapters/__tests__/imessage-lifecycle.test.js +215 -0
- package/dist/node/adapters/__tests__/imessage-send-restart.test.js +227 -0
- package/dist/node/adapters/__tests__/slack.part2.test.js +135 -0
- package/dist/node/adapters/__tests__/slack.test.js +241 -0
- package/dist/node/adapters/__tests__/sms-extras.test.js +108 -0
- package/dist/node/adapters/__tests__/sms-lifecycle.test.js +203 -0
- package/dist/node/adapters/__tests__/sms-messaging.test.js +266 -0
- package/dist/node/adapters/__tests__/sms.part2.test.js +174 -0
- package/dist/node/adapters/__tests__/sms.test.js +253 -0
- package/dist/node/adapters/__tests__/telegram-polling.test.js +256 -0
- package/dist/node/adapters/__tests__/telegram-send.test.js +166 -0
- package/dist/node/adapters/__tests__/webchat-inbound.test.js +188 -0
- package/dist/node/adapters/__tests__/webchat-outbound.test.js +178 -0
- package/dist/node/adapters/__tests__/whatsapp-inbound.test.js +200 -0
- package/dist/node/adapters/__tests__/whatsapp-send.test.js +212 -0
- package/dist/node/adapters/__tests__/whatsapp.test.js +280 -0
- package/dist/node/adapters/base.js +18 -8
- package/dist/node/adapters/base.js.map +1 -0
- package/dist/node/adapters/discord-gateway.d.ts +42 -0
- package/dist/node/adapters/discord-gateway.js +169 -0
- package/dist/node/adapters/discord-gateway.js.map +1 -0
- package/dist/node/adapters/discord.js +286 -275
- package/dist/node/adapters/discord.js.map +1 -0
- package/dist/node/adapters/email.js +189 -202
- package/dist/node/adapters/email.js.map +1 -0
- package/dist/node/adapters/imessage.d.ts +11 -0
- package/dist/node/adapters/imessage.js +165 -145
- package/dist/node/adapters/imessage.js.map +1 -0
- package/dist/node/adapters/slack.js +237 -236
- package/dist/node/adapters/slack.js.map +1 -0
- package/dist/node/adapters/sms.js +149 -151
- package/dist/node/adapters/sms.js.map +1 -0
- package/dist/node/adapters/telegram.js +88 -92
- package/dist/node/adapters/telegram.js.map +1 -0
- package/dist/node/adapters/webchat.js +160 -136
- package/dist/node/adapters/webchat.js.map +1 -0
- package/dist/node/adapters/whatsapp.js +212 -215
- package/dist/node/adapters/whatsapp.js.map +1 -0
- package/dist/node/cli-channels.d.ts +6 -0
- package/dist/node/cli-channels.js +229 -0
- package/dist/node/cli-channels.js.map +1 -0
- package/dist/node/cli-node.d.ts +9 -0
- package/dist/node/cli-node.js +186 -0
- package/dist/node/cli-node.js.map +1 -0
- package/dist/node/cli-portal.d.ts +11 -0
- package/dist/node/cli-portal.js +503 -0
- package/dist/node/cli-portal.js.map +1 -0
- package/dist/node/cli.js +884 -653
- package/dist/node/cli.js.map +1 -0
- package/dist/node/config.js +20 -18
- package/dist/node/config.js.map +1 -0
- package/dist/node/gateway-client.js +191 -181
- package/dist/node/gateway-client.js.map +1 -0
- package/dist/node/portal/clipboard.js +161 -130
- package/dist/node/portal/clipboard.js.map +1 -0
- package/dist/node/portal/discovery.js +51 -45
- package/dist/node/portal/discovery.js.map +1 -0
- package/dist/node/portal/forward.js +64 -58
- package/dist/node/portal/forward.js.map +1 -0
- package/dist/node/portal/index.js +246 -221
- package/dist/node/portal/index.js.map +1 -0
- package/dist/node/portal/multiplexer.js +192 -182
- package/dist/node/portal/multiplexer.js.map +1 -0
- package/dist/node/portal/permissions.js +102 -70
- package/dist/node/portal/permissions.js.map +1 -0
- package/dist/node/portal/portal-target.d.ts +16 -0
- package/dist/node/portal/portal-target.js +102 -0
- package/dist/node/portal/portal-target.js.map +1 -0
- package/dist/node/portal/protocol-frames.d.ts +33 -0
- package/dist/node/portal/protocol-frames.js +170 -0
- package/dist/node/portal/protocol-frames.js.map +1 -0
- package/dist/node/portal/protocol.js +153 -116
- package/dist/node/portal/protocol.js.map +1 -0
- package/dist/node/portal/screen.js +80 -69
- package/dist/node/portal/screen.js.map +1 -0
- package/dist/node/portal/session.js +124 -117
- package/dist/node/portal/session.js.map +1 -0
- package/dist/node/portal/shell.js +140 -113
- package/dist/node/portal/shell.js.map +1 -0
- package/dist/node/portal/stream.js +77 -75
- package/dist/node/portal/stream.js.map +1 -0
- package/dist/node/portal/transfer.js +190 -167
- package/dist/node/portal/transfer.js.map +1 -0
- package/dist/node/portal/ui.js +124 -99
- package/dist/node/portal/ui.js.map +1 -0
- package/dist/node/remote-desktop/compile-helper.js +50 -45
- package/dist/node/remote-desktop/compile-helper.js.map +1 -0
- package/dist/node/remote-desktop/index.js +215 -187
- package/dist/node/remote-desktop/index.js.map +1 -0
- package/dist/node/remote-desktop/protocol.js +45 -29
- package/dist/node/remote-desktop/protocol.js.map +1 -0
- package/dist/node/runtime-network.d.ts +25 -0
- package/dist/node/runtime-network.js +226 -0
- package/dist/node/runtime-network.js.map +1 -0
- package/dist/node/runtime-utils.d.ts +27 -0
- package/dist/node/runtime-utils.js +99 -0
- package/dist/node/runtime-utils.js.map +1 -0
- package/dist/node/runtime.d.ts +1 -0
- package/dist/node/runtime.js +562 -409
- package/dist/node/runtime.js.map +1 -0
- package/dist/node/task-runner.d.ts +33 -0
- package/dist/node/task-runner.js +276 -0
- package/dist/node/task-runner.js.map +1 -0
- package/dist/server/__tests__/gateway-fast-fail.test.js +160 -0
- package/dist/server/__tests__/local-agent-gateway.test.js +186 -0
- package/dist/server/__tests__/proxy-handlers-delegation.test.js +240 -0
- package/dist/server/__tests__/proxy-handlers-validation.test.js +211 -0
- package/dist/server/__tests__/proxy-handlers.part2.test.js +240 -0
- package/dist/server/__tests__/proxy-handlers.test.js +213 -0
- package/dist/server/__tests__/strip-base64-e2e.test.js +303 -0
- package/dist/server/__tests__/strip-base64.test.js +256 -0
- package/dist/server/__tests__/tool-router-agent-tools.test.js +324 -0
- package/dist/server/__tests__/tool-router-execute-core.test.js +357 -0
- package/dist/server/__tests__/tool-router-execute-permissions.test.js +332 -0
- package/dist/server/__tests__/tool-router-execute.test.js +348 -0
- package/dist/server/__tests__/tool-router-load.test.js +432 -0
- package/dist/server/__tests__/tool-router-permissions.test.js +359 -0
- package/dist/server/__tests__/tool-router-registry-cache.test.js +383 -0
- package/dist/server/__tests__/tool-router-registry-handlers.test.js +272 -0
- package/dist/server/__tests__/tool-router-registry.test.js +331 -0
- package/dist/server/__tests__/validation-inventory.test.js +250 -0
- package/dist/server/__tests__/validation-misc.test.js +243 -0
- package/dist/server/__tests__/validation-supply-chain.test.js +188 -0
- package/dist/server/__tests__/worker.test.js +265 -0
- package/dist/server/handlers/__test-utils__/test-db.d.ts +2 -0
- package/dist/server/handlers/__test-utils__/test-db.js +52 -89
- package/dist/server/handlers/__test-utils__/test-db.js.map +1 -0
- package/dist/server/handlers/__tests__/conversation-lock.test.js +117 -0
- package/dist/server/handlers/__tests__/e2e/auth-cross-platform-login.e2e.test.js +268 -0
- package/dist/server/handlers/__tests__/e2e/auth-cross-platform-tokens.e2e.test.js +264 -0
- package/dist/server/handlers/__tests__/e2e/email-pipeline-send.e2e.test.js +214 -0
- package/dist/server/handlers/__tests__/e2e/email-pipeline-threads.e2e.test.js +168 -0
- package/dist/server/handlers/__tests__/e2e/error-logging-pipeline-dedup.e2e.test.js +229 -0
- package/dist/server/handlers/__tests__/e2e/error-logging-pipeline.e2e.test.js +239 -0
- package/dist/server/handlers/__tests__/e2e/error-logging-rate-limit.e2e.test.js +150 -0
- package/dist/server/handlers/__tests__/e2e/inventory-sync-guards.e2e.test.js +177 -0
- package/dist/server/handlers/__tests__/e2e/inventory-sync.e2e.test.js +228 -0
- package/dist/server/handlers/__tests__/e2e/inventory-sync.part2.e2e.test.js +188 -0
- package/dist/server/handlers/__tests__/e2e/order-lifecycle-fulfillment.e2e.test.js +295 -0
- package/dist/server/handlers/__tests__/e2e/order-lifecycle.e2e.test.js +277 -0
- package/dist/server/handlers/__tests__/e2e/order-lifecycle.fulfillment.e2e.test.js +307 -0
- package/dist/server/handlers/__tests__/e2e/order-lifecycle.setup.e2e.test.js +177 -0
- package/dist/server/handlers/__tests__/e2e/storefront-checkout-cart.e2e.test.js +255 -0
- package/dist/server/handlers/__tests__/e2e/storefront-checkout-webhook.e2e.test.js +231 -0
- package/dist/server/handlers/__tests__/e2e/workflow-execution-failures.e2e.test.js +235 -0
- package/dist/server/handlers/__tests__/e2e/workflow-execution.e2e.test.js +294 -0
- package/dist/server/handlers/__tests__/e2e/workflow-security.e2e.test.js +311 -0
- package/dist/server/handlers/__tests__/e2e/workflow-security.part2.e2e.test.js +267 -0
- package/dist/server/handlers/__tests__/workflow-cache.test.js +237 -0
- package/dist/server/handlers/analytics-errors-edge.test.js +173 -0
- package/dist/server/handlers/analytics.js +553 -260
- package/dist/server/handlers/analytics.js.map +1 -0
- package/dist/server/handlers/analytics.test.js +280 -0
- package/dist/server/handlers/api-docs-examples-ext.d.ts +9 -0
- package/dist/server/handlers/api-docs-examples-ext.js +278 -0
- package/dist/server/handlers/api-docs-examples-ext.js.map +1 -0
- package/dist/server/handlers/api-docs-examples.d.ts +8 -0
- package/dist/server/handlers/api-docs-examples.js +221 -0
- package/dist/server/handlers/api-docs-examples.js.map +1 -0
- package/dist/server/handlers/api-docs-sections-ext.d.ts +2 -0
- package/dist/server/handlers/api-docs-sections-ext.js +497 -0
- package/dist/server/handlers/api-docs-sections-ext.js.map +1 -0
- package/dist/server/handlers/api-docs-sections.d.ts +21 -0
- package/dist/server/handlers/api-docs-sections.js +293 -0
- package/dist/server/handlers/api-docs-sections.js.map +1 -0
- package/dist/server/handlers/api-docs.d.ts +2 -0
- package/dist/server/handlers/api-docs.js +1205 -893
- package/dist/server/handlers/api-docs.js.map +1 -0
- package/dist/server/handlers/api-keys.js +291 -242
- package/dist/server/handlers/api-keys.js.map +1 -0
- package/dist/server/handlers/api-keys.part2.test.js +157 -0
- package/dist/server/handlers/api-keys.test.js +161 -0
- package/dist/server/handlers/billing-core.d.ts +28 -0
- package/dist/server/handlers/billing-core.js +126 -0
- package/dist/server/handlers/billing-core.js.map +1 -0
- package/dist/server/handlers/billing-routes.d.ts +9 -0
- package/dist/server/handlers/billing-routes.js +243 -0
- package/dist/server/handlers/billing-routes.js.map +1 -0
- package/dist/server/handlers/billing-routes.test.js +123 -0
- package/dist/server/handlers/billing.js +330 -239
- package/dist/server/handlers/billing.js.map +1 -0
- package/dist/server/handlers/billing.test.js +215 -0
- package/dist/server/handlers/browser-actions-errors.test.js +94 -0
- package/dist/server/handlers/browser-actions.d.ts +35 -0
- package/dist/server/handlers/browser-actions.js +171 -0
- package/dist/server/handlers/browser-actions.js.map +1 -0
- package/dist/server/handlers/browser-actions.part2.test.js +190 -0
- package/dist/server/handlers/browser-actions.test.js +190 -0
- package/dist/server/handlers/browser-captcha.d.ts +6 -0
- package/dist/server/handlers/browser-captcha.js +172 -0
- package/dist/server/handlers/browser-captcha.js.map +1 -0
- package/dist/server/handlers/browser-lifecycle.d.ts +9 -0
- package/dist/server/handlers/browser-lifecycle.js +142 -0
- package/dist/server/handlers/browser-lifecycle.js.map +1 -0
- package/dist/server/handlers/browser-validation.test.js +257 -0
- package/dist/server/handlers/browser.js +468 -395
- package/dist/server/handlers/browser.js.map +1 -0
- package/dist/server/handlers/catalog-advanced.d.ts +9 -0
- package/dist/server/handlers/catalog-advanced.js +352 -0
- package/dist/server/handlers/catalog-advanced.js.map +1 -0
- package/dist/server/handlers/catalog-categories.d.ts +5 -0
- package/dist/server/handlers/catalog-categories.js +181 -0
- package/dist/server/handlers/catalog-categories.js.map +1 -0
- package/dist/server/handlers/catalog-products.d.ts +5 -0
- package/dist/server/handlers/catalog-products.js +404 -0
- package/dist/server/handlers/catalog-products.js.map +1 -0
- package/dist/server/handlers/catalog-schemas.d.ts +5 -0
- package/dist/server/handlers/catalog-schemas.js +426 -0
- package/dist/server/handlers/catalog-schemas.js.map +1 -0
- package/dist/server/handlers/catalog.js +1377 -978
- package/dist/server/handlers/catalog.js.map +1 -0
- package/dist/server/handlers/catalog.test.js +297 -0
- package/dist/server/handlers/clickhouse.js +157 -109
- package/dist/server/handlers/clickhouse.js.map +1 -0
- package/dist/server/handlers/comms-documents-advanced.d.ts +8 -0
- package/dist/server/handlers/comms-documents-advanced.js +159 -0
- package/dist/server/handlers/comms-documents-advanced.js.map +1 -0
- package/dist/server/handlers/comms-documents.d.ts +10 -0
- package/dist/server/handlers/comms-documents.js +445 -0
- package/dist/server/handlers/comms-documents.js.map +1 -0
- package/dist/server/handlers/comms-email.d.ts +10 -0
- package/dist/server/handlers/comms-email.js +492 -0
- package/dist/server/handlers/comms-email.js.map +1 -0
- package/dist/server/handlers/comms-pdf-generation.d.ts +8 -0
- package/dist/server/handlers/comms-pdf-generation.js +327 -0
- package/dist/server/handlers/comms-pdf-generation.js.map +1 -0
- package/dist/server/handlers/comms-pdf-helpers.d.ts +9 -0
- package/dist/server/handlers/comms-pdf-helpers.js +126 -0
- package/dist/server/handlers/comms-pdf-helpers.js.map +1 -0
- package/dist/server/handlers/comms-shared.d.ts +3 -0
- package/dist/server/handlers/comms-shared.js +28 -0
- package/dist/server/handlers/comms-shared.js.map +1 -0
- package/dist/server/handlers/comms.js +1439 -984
- package/dist/server/handlers/comms.js.map +1 -0
- package/dist/server/handlers/comms.test.js +289 -0
- package/dist/server/handlers/creations-actions.d.ts +21 -0
- package/dist/server/handlers/creations-actions.js +250 -0
- package/dist/server/handlers/creations-actions.js.map +1 -0
- package/dist/server/handlers/creations-advanced-collections.test.js +214 -0
- package/dist/server/handlers/creations-advanced-generate.test.js +142 -0
- package/dist/server/handlers/creations-advanced.test.js +171 -0
- package/dist/server/handlers/creations-collections-preview.test.js +214 -0
- package/dist/server/handlers/creations-crud.d.ts +35 -0
- package/dist/server/handlers/creations-crud.js +248 -0
- package/dist/server/handlers/creations-crud.js.map +1 -0
- package/dist/server/handlers/creations-crud.test.js +260 -0
- package/dist/server/handlers/creations-generate.d.ts +21 -0
- package/dist/server/handlers/creations-generate.js +256 -0
- package/dist/server/handlers/creations-generate.js.map +1 -0
- package/dist/server/handlers/creations-mutations.test.js +197 -0
- package/dist/server/handlers/creations.js +461 -394
- package/dist/server/handlers/creations.js.map +1 -0
- package/dist/server/handlers/crm-customers-read.d.ts +58 -0
- package/dist/server/handlers/crm-customers-read.js +208 -0
- package/dist/server/handlers/crm-customers-read.js.map +1 -0
- package/dist/server/handlers/crm-customers-write.d.ts +54 -0
- package/dist/server/handlers/crm-customers-write.js +414 -0
- package/dist/server/handlers/crm-customers-write.js.map +1 -0
- package/dist/server/handlers/crm-utils.d.ts +6 -0
- package/dist/server/handlers/crm-utils.js +19 -0
- package/dist/server/handlers/crm-utils.js.map +1 -0
- package/dist/server/handlers/crm.js +1082 -791
- package/dist/server/handlers/crm.js.map +1 -0
- package/dist/server/handlers/crm.test.js +179 -0
- package/dist/server/handlers/discovery-advertise.d.ts +18 -0
- package/dist/server/handlers/discovery-advertise.js +101 -0
- package/dist/server/handlers/discovery-advertise.js.map +1 -0
- package/dist/server/handlers/discovery-advertise.test.js +185 -0
- package/dist/server/handlers/discovery-scan.d.ts +19 -0
- package/dist/server/handlers/discovery-scan.js +107 -0
- package/dist/server/handlers/discovery-scan.js.map +1 -0
- package/dist/server/handlers/discovery-scan.test.js +233 -0
- package/dist/server/handlers/discovery.js +251 -232
- package/dist/server/handlers/discovery.js.map +1 -0
- package/dist/server/handlers/embeddings-embed-search.test.js +196 -0
- package/dist/server/handlers/embeddings-index-delete-stats.test.js +140 -0
- package/dist/server/handlers/embeddings-search.test.js +221 -0
- package/dist/server/handlers/embeddings.js +241 -164
- package/dist/server/handlers/embeddings.js.map +1 -0
- package/dist/server/handlers/embeddings.test.js +137 -0
- package/dist/server/handlers/enrichment-breach.d.ts +8 -0
- package/dist/server/handlers/enrichment-breach.js +266 -0
- package/dist/server/handlers/enrichment-breach.js.map +1 -0
- package/dist/server/handlers/enrichment-data.d.ts +13 -0
- package/dist/server/handlers/enrichment-data.js +145 -0
- package/dist/server/handlers/enrichment-data.js.map +1 -0
- package/dist/server/handlers/enrichment-enrich.d.ts +6 -0
- package/dist/server/handlers/enrichment-enrich.js +235 -0
- package/dist/server/handlers/enrichment-enrich.js.map +1 -0
- package/dist/server/handlers/enrichment-helpers.d.ts +10 -0
- package/dist/server/handlers/enrichment-helpers.js +17 -0
- package/dist/server/handlers/enrichment-helpers.js.map +1 -0
- package/dist/server/handlers/enrichment-mutations.test.js +240 -0
- package/dist/server/handlers/enrichment-queries.test.js +181 -0
- package/dist/server/handlers/enrichment-validation.test.js +177 -0
- package/dist/server/handlers/enrichment-writes.d.ts +16 -0
- package/dist/server/handlers/enrichment-writes.js +226 -0
- package/dist/server/handlers/enrichment-writes.js.map +1 -0
- package/dist/server/handlers/enrichment.js +887 -718
- package/dist/server/handlers/enrichment.js.map +1 -0
- package/dist/server/handlers/image-gen-actions.d.ts +18 -0
- package/dist/server/handlers/image-gen-actions.js +183 -0
- package/dist/server/handlers/image-gen-actions.js.map +1 -0
- package/dist/server/handlers/image-gen-providers.d.ts +29 -0
- package/dist/server/handlers/image-gen-providers.js +161 -0
- package/dist/server/handlers/image-gen-providers.js.map +1 -0
- package/dist/server/handlers/image-gen.js +467 -376
- package/dist/server/handlers/image-gen.js.map +1 -0
- package/dist/server/handlers/image-gen.test.js +205 -0
- package/dist/server/handlers/inventory-audit.d.ts +10 -0
- package/dist/server/handlers/inventory-audit.js +90 -0
- package/dist/server/handlers/inventory-audit.js.map +1 -0
- package/dist/server/handlers/inventory-helpers.d.ts +8 -0
- package/dist/server/handlers/inventory-helpers.js +19 -0
- package/dist/server/handlers/inventory-helpers.js.map +1 -0
- package/dist/server/handlers/inventory-query.d.ts +67 -0
- package/dist/server/handlers/inventory-query.js +299 -0
- package/dist/server/handlers/inventory-query.js.map +1 -0
- package/dist/server/handlers/inventory.js +797 -424
- package/dist/server/handlers/inventory.js.map +1 -0
- package/dist/server/handlers/inventory.test.js +380 -0
- package/dist/server/handlers/kali-background.test.js +222 -0
- package/dist/server/handlers/kali-errors.test.js +92 -0
- package/dist/server/handlers/kali-validation.test.js +234 -0
- package/dist/server/handlers/kali.js +272 -230
- package/dist/server/handlers/kali.js.map +1 -0
- package/dist/server/handlers/llm-providers-actions.test.js +220 -0
- package/dist/server/handlers/llm-providers-anthropic.test.js +239 -0
- package/dist/server/handlers/llm-providers-clients.d.ts +6 -0
- package/dist/server/handlers/llm-providers-clients.js +296 -0
- package/dist/server/handlers/llm-providers-clients.js.map +1 -0
- package/dist/server/handlers/llm-providers-credentials.d.ts +3 -0
- package/dist/server/handlers/llm-providers-credentials.js +109 -0
- package/dist/server/handlers/llm-providers-credentials.js.map +1 -0
- package/dist/server/handlers/llm-providers-failover.test.js +232 -0
- package/dist/server/handlers/llm-providers-models.d.ts +67 -0
- package/dist/server/handlers/llm-providers-models.js +213 -0
- package/dist/server/handlers/llm-providers-models.js.map +1 -0
- package/dist/server/handlers/llm-providers-providers.test.js +300 -0
- package/dist/server/handlers/llm-providers-validation.test.js +239 -0
- package/dist/server/handlers/llm-providers.js +803 -580
- package/dist/server/handlers/llm-providers.js.map +1 -0
- package/dist/server/handlers/local-agent-tools.test.js +224 -0
- package/dist/server/handlers/local-agent.js +133 -105
- package/dist/server/handlers/local-agent.js.map +1 -0
- package/dist/server/handlers/local-agent.test.js +198 -0
- package/dist/server/handlers/local-agent.tools-status.test.js +204 -0
- package/dist/server/handlers/local-agent.validation-exec.test.js +182 -0
- package/dist/server/handlers/media-actions.d.ts +14 -0
- package/dist/server/handlers/media-actions.js +398 -0
- package/dist/server/handlers/media-actions.js.map +1 -0
- package/dist/server/handlers/media-crud.d.ts +9 -0
- package/dist/server/handlers/media-crud.js +365 -0
- package/dist/server/handlers/media-crud.js.map +1 -0
- package/dist/server/handlers/media-upload.d.ts +4 -0
- package/dist/server/handlers/media-upload.js +179 -0
- package/dist/server/handlers/media-upload.js.map +1 -0
- package/dist/server/handlers/media-utils.d.ts +14 -0
- package/dist/server/handlers/media-utils.js +33 -0
- package/dist/server/handlers/media-utils.js.map +1 -0
- package/dist/server/handlers/media.js +1179 -857
- package/dist/server/handlers/media.js.map +1 -0
- package/dist/server/handlers/meta-ads-advanced.d.ts +46 -0
- package/dist/server/handlers/meta-ads-advanced.js +222 -0
- package/dist/server/handlers/meta-ads-advanced.js.map +1 -0
- package/dist/server/handlers/meta-ads-audience-rules.test.js +243 -0
- package/dist/server/handlers/meta-ads-audience-targeting.test.js +205 -0
- package/dist/server/handlers/meta-ads-audiences-targeting.test.js +383 -0
- package/dist/server/handlers/meta-ads-audiences.d.ts +48 -0
- package/dist/server/handlers/meta-ads-audiences.js +214 -0
- package/dist/server/handlers/meta-ads-audiences.js.map +1 -0
- package/dist/server/handlers/meta-ads-crud-ads.test.js +136 -0
- package/dist/server/handlers/meta-ads-crud-campaigns.test.js +189 -0
- package/dist/server/handlers/meta-ads-crud-create.test.js +303 -0
- package/dist/server/handlers/meta-ads-crud-list-update.test.js +259 -0
- package/dist/server/handlers/meta-ads-crud-read.d.ts +78 -0
- package/dist/server/handlers/meta-ads-crud-read.js +204 -0
- package/dist/server/handlers/meta-ads-crud-read.js.map +1 -0
- package/dist/server/handlers/meta-ads-crud-write.d.ts +105 -0
- package/dist/server/handlers/meta-ads-crud-write.js +390 -0
- package/dist/server/handlers/meta-ads-crud-write.js.map +1 -0
- package/dist/server/handlers/meta-ads-crud.d.ts +9 -0
- package/dist/server/handlers/meta-ads-crud.js +12 -0
- package/dist/server/handlers/meta-ads-crud.js.map +1 -0
- package/dist/server/handlers/meta-ads-delete-publish-sync.test.js +282 -0
- package/dist/server/handlers/meta-ads-graph-api.d.ts +25 -0
- package/dist/server/handlers/meta-ads-graph-api.js +155 -0
- package/dist/server/handlers/meta-ads-graph-api.js.map +1 -0
- package/dist/server/handlers/meta-ads-insights.test.js +80 -0
- package/dist/server/handlers/meta-ads-list-get.test.js +237 -0
- package/dist/server/handlers/meta-ads-media.d.ts +16 -0
- package/dist/server/handlers/meta-ads-media.js +205 -0
- package/dist/server/handlers/meta-ads-media.js.map +1 -0
- package/dist/server/handlers/meta-ads-pixels-rules.d.ts +127 -0
- package/dist/server/handlers/meta-ads-pixels-rules.js +463 -0
- package/dist/server/handlers/meta-ads-pixels-rules.js.map +1 -0
- package/dist/server/handlers/meta-ads-publish-ad.d.ts +11 -0
- package/dist/server/handlers/meta-ads-publish-ad.js +229 -0
- package/dist/server/handlers/meta-ads-publish-ad.js.map +1 -0
- package/dist/server/handlers/meta-ads-publish-delete.test.js +254 -0
- package/dist/server/handlers/meta-ads-publish-helpers.js +117 -0
- package/dist/server/handlers/meta-ads-publish-helpers.js.map +1 -0
- package/dist/server/handlers/meta-ads-publish-sync.test.js +205 -0
- package/dist/server/handlers/meta-ads-publish.d.ts +14 -0
- package/dist/server/handlers/meta-ads-publish.js +194 -0
- package/dist/server/handlers/meta-ads-publish.js.map +1 -0
- package/dist/server/handlers/meta-ads-publish.test.js +254 -0
- package/dist/server/handlers/meta-ads-sync-insights.test.js +184 -0
- package/dist/server/handlers/meta-ads-targeting.d.ts +27 -0
- package/dist/server/handlers/meta-ads-targeting.js +323 -0
- package/dist/server/handlers/meta-ads-targeting.js.map +1 -0
- package/dist/server/handlers/meta-ads-types.d.ts +49 -0
- package/dist/server/handlers/meta-ads-types.js +59 -0
- package/dist/server/handlers/meta-ads-types.js.map +1 -0
- package/dist/server/handlers/meta-ads-update.test.js +117 -0
- package/dist/server/handlers/meta-ads.d.ts +25 -0
- package/dist/server/handlers/meta-ads.js +3049 -2084
- package/dist/server/handlers/meta-ads.js.map +1 -0
- package/dist/server/handlers/nodes-channels.test.js +413 -0
- package/dist/server/handlers/nodes-events.test.js +131 -0
- package/dist/server/handlers/nodes-handlers-channels-messages.d.ts +20 -0
- package/dist/server/handlers/nodes-handlers-channels-messages.js +314 -0
- package/dist/server/handlers/nodes-handlers-channels-messages.js.map +1 -0
- package/dist/server/handlers/nodes-handlers-channels.d.ts +19 -0
- package/dist/server/handlers/nodes-handlers-channels.js +225 -0
- package/dist/server/handlers/nodes-handlers-channels.js.map +1 -0
- package/dist/server/handlers/nodes-handlers-mgmt.d.ts +33 -0
- package/dist/server/handlers/nodes-handlers-mgmt.js +418 -0
- package/dist/server/handlers/nodes-handlers-mgmt.js.map +1 -0
- package/dist/server/handlers/nodes-list-delete.test.js +171 -0
- package/dist/server/handlers/nodes-messages-delivery.test.js +208 -0
- package/dist/server/handlers/nodes-messages.test.js +211 -0
- package/dist/server/handlers/nodes-register.test.js +277 -0
- package/dist/server/handlers/nodes-routes-channels.d.ts +9 -0
- package/dist/server/handlers/nodes-routes-channels.js +217 -0
- package/dist/server/handlers/nodes-routes-channels.js.map +1 -0
- package/dist/server/handlers/nodes-routes-crud.d.ts +9 -0
- package/dist/server/handlers/nodes-routes-crud.js +290 -0
- package/dist/server/handlers/nodes-routes-crud.js.map +1 -0
- package/dist/server/handlers/nodes-routes-delivery.d.ts +9 -0
- package/dist/server/handlers/nodes-routes-delivery.js +226 -0
- package/dist/server/handlers/nodes-routes-delivery.js.map +1 -0
- package/dist/server/handlers/nodes-routes-messages.d.ts +9 -0
- package/dist/server/handlers/nodes-routes-messages.js +218 -0
- package/dist/server/handlers/nodes-routes-messages.js.map +1 -0
- package/dist/server/handlers/nodes-routes-register.d.ts +9 -0
- package/dist/server/handlers/nodes-routes-register.js +239 -0
- package/dist/server/handlers/nodes-routes-register.js.map +1 -0
- package/dist/server/handlers/nodes-types.d.ts +82 -0
- package/dist/server/handlers/nodes-types.js +220 -0
- package/dist/server/handlers/nodes-types.js.map +1 -0
- package/dist/server/handlers/nodes-utils.d.ts +70 -0
- package/dist/server/handlers/nodes-utils.js +214 -0
- package/dist/server/handlers/nodes-utils.js.map +1 -0
- package/dist/server/handlers/nodes.js +1321 -913
- package/dist/server/handlers/nodes.js.map +1 -0
- package/dist/server/handlers/nodes.test.js +353 -0
- package/dist/server/handlers/operations.js +183 -157
- package/dist/server/handlers/operations.js.map +1 -0
- package/dist/server/handlers/operations.test.js +136 -0
- package/dist/server/handlers/platform-telemetry.d.ts +10 -0
- package/dist/server/handlers/platform-telemetry.js +372 -0
- package/dist/server/handlers/platform-telemetry.js.map +1 -0
- package/dist/server/handlers/platform-telemetry.test.js +200 -0
- package/dist/server/handlers/platform-websearch.test.js +160 -0
- package/dist/server/handlers/platform.js +346 -210
- package/dist/server/handlers/platform.js.map +1 -0
- package/dist/server/handlers/remove-bg.js +118 -86
- package/dist/server/handlers/remove-bg.js.map +1 -0
- package/dist/server/handlers/sessions-handlers.d.ts +23 -0
- package/dist/server/handlers/sessions-handlers.js +374 -0
- package/dist/server/handlers/sessions-handlers.js.map +1 -0
- package/dist/server/handlers/storefront-cart.d.ts +31 -0
- package/dist/server/handlers/storefront-cart.js +381 -0
- package/dist/server/handlers/storefront-cart.js.map +1 -0
- package/dist/server/handlers/storefront.js +586 -446
- package/dist/server/handlers/storefront.js.map +1 -0
- package/dist/server/handlers/storefront.test.js +329 -0
- package/dist/server/handlers/supply-chain-transfers.d.ts +10 -0
- package/dist/server/handlers/supply-chain-transfers.js +214 -0
- package/dist/server/handlers/supply-chain-transfers.js.map +1 -0
- package/dist/server/handlers/supply-chain-utils.d.ts +2 -0
- package/dist/server/handlers/supply-chain-utils.js +21 -0
- package/dist/server/handlers/supply-chain-utils.js.map +1 -0
- package/dist/server/handlers/supply-chain.js +546 -326
- package/dist/server/handlers/supply-chain.js.map +1 -0
- package/dist/server/handlers/supply-chain.test.js +347 -0
- package/dist/server/handlers/transcription.js +106 -97
- package/dist/server/handlers/transcription.js.map +1 -0
- package/dist/server/handlers/transcription.test.js +118 -0
- package/dist/server/handlers/video-gen-providers.d.ts +30 -0
- package/dist/server/handlers/video-gen-providers.js +205 -0
- package/dist/server/handlers/video-gen-providers.js.map +1 -0
- package/dist/server/handlers/video-gen-sora.d.ts +5 -0
- package/dist/server/handlers/video-gen-sora.js +87 -0
- package/dist/server/handlers/video-gen-sora.js.map +1 -0
- package/dist/server/handlers/video-gen-veo.js +114 -0
- package/dist/server/handlers/video-gen-veo.js.map +1 -0
- package/dist/server/handlers/video-gen.js +593 -424
- package/dist/server/handlers/video-gen.js.map +1 -0
- package/dist/server/handlers/video-gen.test.js +146 -0
- package/dist/server/handlers/voice-handlers-audio.d.ts +9 -0
- package/dist/server/handlers/voice-handlers-audio.js +229 -0
- package/dist/server/handlers/voice-handlers-audio.js.map +1 -0
- package/dist/server/handlers/voice-handlers-music.d.ts +5 -0
- package/dist/server/handlers/voice-handlers-music.js +124 -0
- package/dist/server/handlers/voice-handlers-music.js.map +1 -0
- package/dist/server/handlers/voice-handlers-pvc.d.ts +8 -0
- package/dist/server/handlers/voice-handlers-pvc.js +345 -0
- package/dist/server/handlers/voice-handlers-pvc.js.map +1 -0
- package/dist/server/handlers/voice-handlers-tts.d.ts +5 -0
- package/dist/server/handlers/voice-handlers-tts.js +142 -0
- package/dist/server/handlers/voice-handlers-tts.js.map +1 -0
- package/dist/server/handlers/voice-handlers-voices.d.ts +8 -0
- package/dist/server/handlers/voice-handlers-voices.js +321 -0
- package/dist/server/handlers/voice-handlers-voices.js.map +1 -0
- package/dist/server/handlers/voice-utils.d.ts +32 -0
- package/dist/server/handlers/voice-utils.js +281 -0
- package/dist/server/handlers/voice-utils.js.map +1 -0
- package/dist/server/handlers/voice.js +1458 -1039
- package/dist/server/handlers/voice.js.map +1 -0
- package/dist/server/handlers/voice.test.js +153 -0
- package/dist/server/handlers/workflow-crud-advanced.d.ts +8 -0
- package/dist/server/handlers/workflow-crud-advanced.js +275 -0
- package/dist/server/handlers/workflow-crud-advanced.js.map +1 -0
- package/dist/server/handlers/workflow-crud-core.d.ts +8 -0
- package/dist/server/handlers/workflow-crud-core.js +286 -0
- package/dist/server/handlers/workflow-crud-core.js.map +1 -0
- package/dist/server/handlers/workflow-crud-events.d.ts +8 -0
- package/dist/server/handlers/workflow-crud-events.js +483 -0
- package/dist/server/handlers/workflow-crud-events.js.map +1 -0
- package/dist/server/handlers/workflow-crud-runs-lifecycle.d.ts +8 -0
- package/dist/server/handlers/workflow-crud-runs-lifecycle.js +231 -0
- package/dist/server/handlers/workflow-crud-runs-lifecycle.js.map +1 -0
- package/dist/server/handlers/workflow-crud-runs-versioning.d.ts +8 -0
- package/dist/server/handlers/workflow-crud-runs-versioning.js +319 -0
- package/dist/server/handlers/workflow-crud-runs-versioning.js.map +1 -0
- package/dist/server/handlers/workflow-crud-runs.d.ts +8 -0
- package/dist/server/handlers/workflow-crud-runs.js +18 -0
- package/dist/server/handlers/workflow-crud-runs.js.map +1 -0
- package/dist/server/handlers/workflow-steps-advancement.d.ts +13 -0
- package/dist/server/handlers/workflow-steps-advancement.js +197 -0
- package/dist/server/handlers/workflow-steps-advancement.js.map +1 -0
- package/dist/server/handlers/workflow-steps-circuit-breaker.d.ts +7 -0
- package/dist/server/handlers/workflow-steps-circuit-breaker.js +131 -0
- package/dist/server/handlers/workflow-steps-circuit-breaker.js.map +1 -0
- package/dist/server/handlers/workflow-steps-completion.d.ts +5 -0
- package/dist/server/handlers/workflow-steps-completion.js +254 -0
- package/dist/server/handlers/workflow-steps-completion.js.map +1 -0
- package/dist/server/handlers/workflow-steps-cron.d.ts +4 -0
- package/dist/server/handlers/workflow-steps-cron.js +259 -0
- package/dist/server/handlers/workflow-steps-cron.js.map +1 -0
- package/dist/server/handlers/workflow-steps-engine-execute.d.ts +3 -0
- package/dist/server/handlers/workflow-steps-engine-execute.js +388 -0
- package/dist/server/handlers/workflow-steps-engine-execute.js.map +1 -0
- package/dist/server/handlers/workflow-steps-engine-inline.d.ts +2 -0
- package/dist/server/handlers/workflow-steps-engine-inline.js +91 -0
- package/dist/server/handlers/workflow-steps-engine-inline.js.map +1 -0
- package/dist/server/handlers/workflow-steps-engine-persist.d.ts +5 -0
- package/dist/server/handlers/workflow-steps-engine-persist.js +192 -0
- package/dist/server/handlers/workflow-steps-engine-persist.js.map +1 -0
- package/dist/server/handlers/workflow-steps-engine-process.d.ts +7 -0
- package/dist/server/handlers/workflow-steps-engine-process.js +290 -0
- package/dist/server/handlers/workflow-steps-engine-process.js.map +1 -0
- package/dist/server/handlers/workflow-steps-engine.d.ts +3 -0
- package/dist/server/handlers/workflow-steps-engine.js +10 -0
- package/dist/server/handlers/workflow-steps-engine.js.map +1 -0
- package/dist/server/handlers/workflow-steps-executors-llm.d.ts +7 -0
- package/dist/server/handlers/workflow-steps-executors-llm.js +265 -0
- package/dist/server/handlers/workflow-steps-executors-llm.js.map +1 -0
- package/dist/server/handlers/workflow-steps-executors.d.ts +9 -0
- package/dist/server/handlers/workflow-steps-executors.js +188 -0
- package/dist/server/handlers/workflow-steps-executors.js.map +1 -0
- package/dist/server/handlers/workflow-steps-maintenance.d.ts +4 -0
- package/dist/server/handlers/workflow-steps-maintenance.js +256 -0
- package/dist/server/handlers/workflow-steps-maintenance.js.map +1 -0
- package/dist/server/handlers/workflow-steps-types.d.ts +84 -0
- package/dist/server/handlers/workflow-steps-types.js +179 -0
- package/dist/server/handlers/workflow-steps-types.js.map +1 -0
- package/dist/server/handlers/workflow-steps-webhook.d.ts +5 -0
- package/dist/server/handlers/workflow-steps-webhook.js +179 -0
- package/dist/server/handlers/workflow-steps-webhook.js.map +1 -0
- package/dist/server/handlers/workflow-steps.js +2837 -2116
- package/dist/server/handlers/workflow-steps.js.map +1 -0
- package/dist/server/handlers/workflow-steps.test.js +330 -0
- package/dist/server/handlers/workflows-extras.test.js +65 -0
- package/dist/server/handlers/workflows.js +1630 -933
- package/dist/server/handlers/workflows.js.map +1 -0
- package/dist/server/handlers/workflows.part2.test.js +170 -0
- package/dist/server/handlers/workflows.test.js +281 -0
- package/dist/server/index.js +1702 -2596
- package/dist/server/index.js.map +1 -0
- package/dist/server/lib/__tests__/batch-client-conversion-jsonl.test.js +171 -0
- package/dist/server/lib/__tests__/batch-client-polling.test.js +292 -0
- package/dist/server/lib/__tests__/batch-client-queue.test.js +270 -0
- package/dist/server/lib/__tests__/clickhouse-buffer.test.js +236 -0
- package/dist/server/lib/__tests__/code-worker-edge-cases.test.js +118 -0
- package/dist/server/lib/__tests__/code-worker-pool-execute.test.js +193 -0
- package/dist/server/lib/__tests__/code-worker-pool-execution.test.js +165 -0
- package/dist/server/lib/__tests__/code-worker-pool-init.test.js +131 -0
- package/dist/server/lib/__tests__/code-worker-pool.test.js +194 -0
- package/dist/server/lib/__tests__/code-worker-sandbox-ops.test.js +123 -0
- package/dist/server/lib/__tests__/code-worker-sandbox.test.js +217 -0
- package/dist/server/lib/__tests__/code-worker.test.js +179 -0
- package/dist/server/lib/__tests__/compaction-service-generate.test.js +229 -0
- package/dist/server/lib/__tests__/compaction-service.test.js +319 -0
- package/dist/server/lib/__tests__/otel.test.js +146 -0
- package/dist/server/lib/__tests__/prompt-sanitizer-validation.test.js +165 -0
- package/dist/server/lib/__tests__/prompt-sanitizer.sanitize.test.js +343 -0
- package/dist/server/lib/__tests__/prompt-sanitizer.test.js +328 -0
- package/dist/server/lib/__tests__/prompt-sanitizer.validate-tool.test.js +145 -0
- package/dist/server/lib/__tests__/provider-capabilities.test.js +263 -0
- package/dist/server/lib/__tests__/provider-failover-routing.test.js +145 -0
- package/dist/server/lib/__tests__/provider-failover-state.test.js +131 -0
- package/dist/server/lib/__tests__/rate-limiter-budgets.test.js +216 -0
- package/dist/server/lib/__tests__/rate-limiter.budgets-tools.test.js +113 -0
- package/dist/server/lib/__tests__/rate-limiter.check-request.test.js +141 -0
- package/dist/server/lib/__tests__/rate-limiter.stats-lifecycle.test.js +135 -0
- package/dist/server/lib/__tests__/rate-limiter.test.js +207 -0
- package/dist/server/lib/__tests__/server-agent-loop-abort-conditions.test.js +544 -0
- package/dist/server/lib/__tests__/server-agent-loop-abort.part2.test.js +504 -0
- package/dist/server/lib/__tests__/server-agent-loop-abort.test.js +396 -0
- package/dist/server/lib/__tests__/server-agent-loop-compaction.test.js +397 -0
- package/dist/server/lib/__tests__/server-agent-loop-failover.test.js +356 -0
- package/dist/server/lib/__tests__/server-agent-loop-features-caching.test.js +519 -0
- package/dist/server/lib/__tests__/server-agent-loop-features-edges.test.js +512 -0
- package/dist/server/lib/__tests__/server-subagent-bailout.test.js +194 -0
- package/dist/server/lib/__tests__/server-subagent-basics.test.js +348 -0
- package/dist/server/lib/__tests__/server-subagent-errors-abort.test.js +319 -0
- package/dist/server/lib/__tests__/server-subagent-errors-progress.test.js +253 -0
- package/dist/server/lib/__tests__/server-subagent-errors.part2.test.js +253 -0
- package/dist/server/lib/__tests__/server-subagent-errors.test.js +319 -0
- package/dist/server/lib/__tests__/session-checkpoint-load.test.js +275 -0
- package/dist/server/lib/__tests__/session-checkpoint-save.test.js +159 -0
- package/dist/server/lib/__tests__/ssrf-guard.test.js +93 -0
- package/dist/server/lib/__tests__/supabase-client.test.js +111 -0
- package/dist/server/lib/__tests__/template-resolver.test.js +317 -0
- package/dist/server/lib/__tests__/utils-timeout.test.js +49 -0
- package/dist/server/lib/__tests__/utils.test.js +322 -0
- package/dist/server/lib/agent-loop-executor.d.ts +7 -0
- package/dist/server/lib/agent-loop-executor.js +224 -0
- package/dist/server/lib/agent-loop-executor.js.map +1 -0
- package/dist/server/lib/agent-loop-turn.d.ts +53 -0
- package/dist/server/lib/agent-loop-turn.js +166 -0
- package/dist/server/lib/agent-loop-turn.js.map +1 -0
- package/dist/server/lib/agent-loop-types.d.ts +118 -0
- package/dist/server/lib/agent-loop-types.js +53 -0
- package/dist/server/lib/agent-loop-types.js.map +1 -0
- package/dist/server/lib/batch-client-anthropic.d.ts +10 -0
- package/dist/server/lib/batch-client-anthropic.js +144 -0
- package/dist/server/lib/batch-client-anthropic.js.map +1 -0
- package/dist/server/lib/batch-client-openai.d.ts +10 -0
- package/dist/server/lib/batch-client-openai.js +172 -0
- package/dist/server/lib/batch-client-openai.js.map +1 -0
- package/dist/server/lib/batch-client-types.d.ts +54 -0
- package/dist/server/lib/batch-client-types.js +27 -0
- package/dist/server/lib/batch-client-types.js.map +1 -0
- package/dist/server/lib/batch-client.js +471 -409
- package/dist/server/lib/batch-client.js.map +1 -0
- package/dist/server/lib/clickhouse-buffer.js +118 -104
- package/dist/server/lib/clickhouse-buffer.js.map +1 -0
- package/dist/server/lib/clickhouse-client.js +107 -107
- package/dist/server/lib/clickhouse-client.js.map +1 -0
- package/dist/server/lib/coa-renderer-components.d.ts +15 -0
- package/dist/server/lib/coa-renderer-components.js +361 -0
- package/dist/server/lib/coa-renderer-components.js.map +1 -0
- package/dist/server/lib/coa-renderer-pages.d.ts +15 -0
- package/dist/server/lib/coa-renderer-pages.js +467 -0
- package/dist/server/lib/coa-renderer-pages.js.map +1 -0
- package/dist/server/lib/coa-renderer-styles.d.ts +525 -0
- package/dist/server/lib/coa-renderer-styles.js +540 -0
- package/dist/server/lib/coa-renderer-styles.js.map +1 -0
- package/dist/server/lib/coa-renderer-tokens.d.ts +107 -0
- package/dist/server/lib/coa-renderer-tokens.js +46 -0
- package/dist/server/lib/coa-renderer-tokens.js.map +1 -0
- package/dist/server/lib/coa-renderer.js +1786 -356
- package/dist/server/lib/coa-renderer.js.map +1 -0
- package/dist/server/lib/code-worker-pool.js +227 -177
- package/dist/server/lib/code-worker-pool.js.map +1 -0
- package/dist/server/lib/code-worker.js +174 -164
- package/dist/server/lib/code-worker.js.map +1 -0
- package/dist/server/lib/compaction-service.d.ts +2 -12
- package/dist/server/lib/compaction-service.js +74 -184
- package/dist/server/lib/compaction-service.js.map +1 -0
- package/dist/server/lib/logger.js +36 -24
- package/dist/server/lib/logger.js.map +1 -0
- package/dist/server/lib/otel.js +101 -80
- package/dist/server/lib/otel.js.map +1 -0
- package/dist/server/lib/pdf-renderer-calc.d.ts +7 -0
- package/dist/server/lib/pdf-renderer-calc.js +272 -0
- package/dist/server/lib/pdf-renderer-calc.js.map +1 -0
- package/dist/server/lib/pdf-renderer-generation.d.ts +73 -0
- package/dist/server/lib/pdf-renderer-generation.js +298 -0
- package/dist/server/lib/pdf-renderer-generation.js.map +1 -0
- package/dist/server/lib/pdf-renderer-layout.d.ts +2 -0
- package/dist/server/lib/pdf-renderer-layout.js +144 -0
- package/dist/server/lib/pdf-renderer-layout.js.map +1 -0
- package/dist/server/lib/pdf-renderer-validation.d.ts +14 -0
- package/dist/server/lib/pdf-renderer-validation.js +220 -0
- package/dist/server/lib/pdf-renderer-validation.js.map +1 -0
- package/dist/server/lib/pdf-renderer.js +952 -788
- package/dist/server/lib/pdf-renderer.js.map +1 -0
- package/dist/server/lib/prompt-sanitizer.js +188 -108
- package/dist/server/lib/prompt-sanitizer.js.map +1 -0
- package/dist/server/lib/provider-capabilities.js +136 -138
- package/dist/server/lib/provider-capabilities.js.map +1 -0
- package/dist/server/lib/provider-failover.js +190 -168
- package/dist/server/lib/provider-failover.js.map +1 -0
- package/dist/server/lib/rate-limiter.js +186 -117
- package/dist/server/lib/rate-limiter.js.map +1 -0
- package/dist/server/lib/react-pdf-layout-elements.d.ts +8 -0
- package/dist/server/lib/react-pdf-layout-elements.js +366 -0
- package/dist/server/lib/react-pdf-layout-elements.js.map +1 -0
- package/dist/server/lib/react-pdf-layout-labels.d.ts +38 -0
- package/dist/server/lib/react-pdf-layout-labels.js +217 -0
- package/dist/server/lib/react-pdf-layout-labels.js.map +1 -0
- package/dist/server/lib/react-pdf-layout.js +551 -382
- package/dist/server/lib/react-pdf-layout.js.map +1 -0
- package/dist/server/lib/server-agent-loop-init.d.ts +28 -0
- package/dist/server/lib/server-agent-loop-init.js +138 -0
- package/dist/server/lib/server-agent-loop-init.js.map +1 -0
- package/dist/server/lib/server-agent-loop-v2.d.ts +110 -0
- package/dist/server/lib/server-agent-loop-v2.js +340 -0
- package/dist/server/lib/server-agent-loop-v2.js.map +1 -0
- package/dist/server/lib/server-agent-loop.d.ts +4 -1
- package/dist/server/lib/server-agent-loop.js +907 -634
- package/dist/server/lib/server-agent-loop.js.map +1 -0
- package/dist/server/lib/server-subagent-loop.d.ts +3 -0
- package/dist/server/lib/server-subagent-loop.js +267 -0
- package/dist/server/lib/server-subagent-loop.js.map +1 -0
- package/dist/server/lib/server-subagent.js +260 -164
- package/dist/server/lib/server-subagent.js.map +1 -0
- package/dist/server/lib/session-checkpoint.js +105 -96
- package/dist/server/lib/session-checkpoint.js.map +1 -0
- package/dist/server/lib/session-types.d.ts +106 -0
- package/dist/server/lib/session-types.js +2 -0
- package/dist/server/lib/session-types.js.map +1 -0
- package/dist/server/lib/ssrf-guard.js +193 -184
- package/dist/server/lib/ssrf-guard.js.map +1 -0
- package/dist/server/lib/supabase-client.js +94 -82
- package/dist/server/lib/supabase-client.js.map +1 -0
- package/dist/server/lib/template-resolver.js +154 -176
- package/dist/server/lib/template-resolver.js.map +1 -0
- package/dist/server/lib/utils.js +242 -133
- package/dist/server/lib/utils.js.map +1 -0
- package/dist/server/local-agent-gateway-api.d.ts +34 -0
- package/dist/server/local-agent-gateway-api.js +156 -0
- package/dist/server/local-agent-gateway-api.js.map +1 -0
- package/dist/server/local-agent-gateway-handler.d.ts +3 -0
- package/dist/server/local-agent-gateway-handler.js +292 -0
- package/dist/server/local-agent-gateway-handler.js.map +1 -0
- package/dist/server/local-agent-gateway-init.d.ts +21 -0
- package/dist/server/local-agent-gateway-init.js +143 -0
- package/dist/server/local-agent-gateway-init.js.map +1 -0
- package/dist/server/local-agent-gateway-messages.d.ts +12 -0
- package/dist/server/local-agent-gateway-messages.js +108 -0
- package/dist/server/local-agent-gateway-messages.js.map +1 -0
- package/dist/server/local-agent-gateway-stats.d.ts +53 -0
- package/dist/server/local-agent-gateway-stats.js +129 -0
- package/dist/server/local-agent-gateway-stats.js.map +1 -0
- package/dist/server/local-agent-gateway-types.d.ts +94 -0
- package/dist/server/local-agent-gateway-types.js +78 -0
- package/dist/server/local-agent-gateway-types.js.map +1 -0
- package/dist/server/local-agent-gateway.d.ts +8 -2
- package/dist/server/local-agent-gateway.js +825 -627
- package/dist/server/local-agent-gateway.js.map +1 -0
- package/dist/server/providers/__tests__/anthropic-adapter.test.js +228 -0
- package/dist/server/providers/__tests__/anthropic-betas-toolchoice.test.js +257 -0
- package/dist/server/providers/__tests__/anthropic-errors.test.js +262 -0
- package/dist/server/providers/__tests__/anthropic-stream-core.test.js +275 -0
- package/dist/server/providers/__tests__/anthropic-streaming-betas.test.js +247 -0
- package/dist/server/providers/__tests__/anthropic-streaming-core.test.js +275 -0
- package/dist/server/providers/__tests__/bedrock-config.test.js +177 -0
- package/dist/server/providers/__tests__/bedrock-stream-behavior-streaming.test.js +272 -0
- package/dist/server/providers/__tests__/bedrock-stream-behavior-toolchoice.test.js +214 -0
- package/dist/server/providers/__tests__/bedrock-stream-behavior.part2.test.js +165 -0
- package/dist/server/providers/__tests__/bedrock-stream-behavior.test.js +309 -0
- package/dist/server/providers/__tests__/bedrock-stream-body-credentials.test.js +170 -0
- package/dist/server/providers/__tests__/bedrock-stream-body-extras.test.js +183 -0
- package/dist/server/providers/__tests__/bedrock-stream-body-request.test.js +305 -0
- package/dist/server/providers/__tests__/bedrock-stream-body.part2.test.js +305 -0
- package/dist/server/providers/__tests__/bedrock-stream-body.test.js +175 -0
- package/dist/server/providers/__tests__/bedrock-stream-errors.test.js +165 -0
- package/dist/server/providers/__tests__/gemini-config-methods.test.js +182 -0
- package/dist/server/providers/__tests__/gemini-config-streaming.test.js +257 -0
- package/dist/server/providers/__tests__/gemini-conversion-messages.test.js +247 -0
- package/dist/server/providers/__tests__/gemini-conversion-schema.test.js +365 -0
- package/dist/server/providers/__tests__/gemini-tools-choice.test.js +221 -0
- package/dist/server/providers/__tests__/gemini-tools-fn.test.js +252 -0
- package/dist/server/providers/__tests__/openai-config.test.js +194 -0
- package/dist/server/providers/__tests__/openai-conversion.test.js +276 -0
- package/dist/server/providers/__tests__/openai-messages.test.js +261 -0
- package/dist/server/providers/__tests__/openai-streaming.test.js +394 -0
- package/dist/server/providers/__tests__/openai-tools-cache.test.js +227 -0
- package/dist/server/providers/__tests__/registry.test.js +183 -0
- package/dist/server/providers/__tests__/shared.test.js +297 -0
- package/dist/server/providers/anthropic.js +250 -172
- package/dist/server/providers/anthropic.js.map +1 -0
- package/dist/server/providers/bedrock.js +217 -158
- package/dist/server/providers/bedrock.js.map +1 -0
- package/dist/server/providers/gemini-conversion.d.ts +17 -0
- package/dist/server/providers/gemini-conversion.js +185 -0
- package/dist/server/providers/gemini-conversion.js.map +1 -0
- package/dist/server/providers/gemini-streaming.d.ts +18 -0
- package/dist/server/providers/gemini-streaming.js +187 -0
- package/dist/server/providers/gemini-streaming.js.map +1 -0
- package/dist/server/providers/gemini.js +548 -418
- package/dist/server/providers/gemini.js.map +1 -0
- package/dist/server/providers/openai-adapter.d.ts +15 -0
- package/dist/server/providers/openai-adapter.js +423 -0
- package/dist/server/providers/openai-adapter.js.map +1 -0
- package/dist/server/providers/openai-conversion.d.ts +21 -0
- package/dist/server/providers/openai-conversion.js +191 -0
- package/dist/server/providers/openai-conversion.js.map +1 -0
- package/dist/server/providers/openai.js +571 -437
- package/dist/server/providers/openai.js.map +1 -0
- package/dist/server/providers/registry.js +23 -18
- package/dist/server/providers/registry.js.map +1 -0
- package/dist/server/providers/shared.js +123 -95
- package/dist/server/providers/shared.js.map +1 -0
- package/dist/server/providers/types.js +1 -11
- package/dist/server/providers/types.js.map +1 -0
- package/dist/server/proxy-handlers.js +209 -165
- package/dist/server/proxy-handlers.js.map +1 -0
- package/dist/server/server-agent.d.ts +21 -0
- package/dist/server/server-agent.js +162 -0
- package/dist/server/server-agent.js.map +1 -0
- package/dist/server/server-chat.d.ts +6 -0
- package/dist/server/server-chat.js +210 -0
- package/dist/server/server-chat.js.map +1 -0
- package/dist/server/server-cost-guard.d.ts +16 -0
- package/dist/server/server-cost-guard.js +141 -0
- package/dist/server/server-cost-guard.js.map +1 -0
- package/dist/server/server-executors.d.ts +10 -0
- package/dist/server/server-executors.js +110 -0
- package/dist/server/server-executors.js.map +1 -0
- package/dist/server/server-helpers.d.ts +49 -0
- package/dist/server/server-helpers.js +210 -0
- package/dist/server/server-helpers.js.map +1 -0
- package/dist/server/server-persist.d.ts +43 -0
- package/dist/server/server-persist.js +249 -0
- package/dist/server/server-persist.js.map +1 -0
- package/dist/server/server-rate-limit.d.ts +9 -0
- package/dist/server/server-rate-limit.js +77 -0
- package/dist/server/server-rate-limit.js.map +1 -0
- package/dist/server/server-routes-approvals.d.ts +4 -0
- package/dist/server/server-routes-approvals.js +238 -0
- package/dist/server/server-routes-approvals.js.map +1 -0
- package/dist/server/server-routes-auth.d.ts +7 -0
- package/dist/server/server-routes-auth.js +532 -0
- package/dist/server/server-routes-auth.js.map +1 -0
- package/dist/server/server-routes-events.d.ts +4 -0
- package/dist/server/server-routes-events.js +167 -0
- package/dist/server/server-routes-events.js.map +1 -0
- package/dist/server/server-routes-public.d.ts +24 -0
- package/dist/server/server-routes-public.js +453 -0
- package/dist/server/server-routes-public.js.map +1 -0
- package/dist/server/server-routes-waitpoints.d.ts +4 -0
- package/dist/server/server-routes-waitpoints.js +190 -0
- package/dist/server/server-routes-waitpoints.js.map +1 -0
- package/dist/server/server-routes-webchat.d.ts +14 -0
- package/dist/server/server-routes-webchat.js +307 -0
- package/dist/server/server-routes-webchat.js.map +1 -0
- package/dist/server/server-routes-workflows.d.ts +5 -0
- package/dist/server/server-routes-workflows.js +289 -0
- package/dist/server/server-routes-workflows.js.map +1 -0
- package/dist/server/server-sse.d.ts +13 -0
- package/dist/server/server-sse.js +197 -0
- package/dist/server/server-sse.js.map +1 -0
- package/dist/server/server-store-circuit-breaker.d.ts +32 -0
- package/dist/server/server-store-circuit-breaker.js +211 -0
- package/dist/server/server-store-circuit-breaker.js.map +1 -0
- package/dist/server/server-store.d.ts +5 -0
- package/dist/server/server-store.js +71 -0
- package/dist/server/server-store.js.map +1 -0
- package/dist/server/server-trace.d.ts +41 -0
- package/dist/server/server-trace.js +133 -0
- package/dist/server/server-trace.js.map +1 -0
- package/dist/server/server-worker.d.ts +4 -0
- package/dist/server/server-worker.js +127 -0
- package/dist/server/server-worker.js.map +1 -0
- package/dist/server/session-events.d.ts +27 -0
- package/dist/server/session-events.js +69 -0
- package/dist/server/session-events.js.map +1 -0
- package/dist/server/session-manager.d.ts +52 -0
- package/dist/server/session-manager.js +502 -0
- package/dist/server/session-manager.js.map +1 -0
- package/dist/server/tool-router-discovery.d.ts +33 -0
- package/dist/server/tool-router-discovery.js +218 -0
- package/dist/server/tool-router-discovery.js.map +1 -0
- package/dist/server/tool-router-types.d.ts +91 -0
- package/dist/server/tool-router-types.js +336 -0
- package/dist/server/tool-router-types.js.map +1 -0
- package/dist/server/tool-router-user-tools.d.ts +16 -0
- package/dist/server/tool-router-user-tools.js +269 -0
- package/dist/server/tool-router-user-tools.js.map +1 -0
- package/dist/server/tool-router.js +959 -599
- package/dist/server/tool-router.js.map +1 -0
- package/dist/server/validation-schemas.d.ts +12 -0
- package/dist/server/validation-schemas.js +251 -0
- package/dist/server/validation-schemas.js.map +1 -0
- package/dist/server/validation.js +248 -188
- package/dist/server/validation.js.map +1 -0
- package/dist/server/worker.js +202 -133
- package/dist/server/worker.js.map +1 -0
- package/dist/setup.d.ts +2 -2
- package/dist/setup.js +151 -147
- package/dist/setup.js.map +1 -0
- package/dist/shared/agent-core-config.d.ts +12 -0
- package/dist/shared/agent-core-config.js +77 -0
- package/dist/shared/agent-core-config.js.map +1 -0
- package/dist/shared/agent-core-config.test.js +132 -0
- package/dist/shared/agent-core-context-thinking.test.js +293 -0
- package/dist/shared/agent-core-loop-calls.test.js +174 -0
- package/dist/shared/agent-core-loop-detector-bail.test.js +201 -0
- package/dist/shared/agent-core-loop-detector.test.js +195 -0
- package/dist/shared/agent-core-loop-errors.test.js +258 -0
- package/dist/shared/agent-core-loop.d.ts +53 -0
- package/dist/shared/agent-core-loop.js +251 -0
- package/dist/shared/agent-core-loop.js.map +1 -0
- package/dist/shared/agent-core-pricing.test.js +191 -0
- package/dist/shared/agent-core-sanitize-retry.test.js +129 -0
- package/dist/shared/agent-core-tools.d.ts +32 -0
- package/dist/shared/agent-core-tools.js +323 -0
- package/dist/shared/agent-core-tools.js.map +1 -0
- package/dist/shared/agent-core-types.d.ts +182 -0
- package/dist/shared/agent-core-types.js +265 -0
- package/dist/shared/agent-core-types.js.map +1 -0
- package/dist/shared/agent-core.d.ts +115 -26
- package/dist/shared/agent-core.js +956 -522
- package/dist/shared/agent-core.js.map +1 -0
- package/dist/shared/agent-loop-base.d.ts +130 -0
- package/dist/shared/agent-loop-base.js +347 -0
- package/dist/shared/agent-loop-base.js.map +1 -0
- package/dist/shared/anthropic-types.js +1 -6
- package/dist/shared/anthropic-types.js.map +1 -0
- package/dist/shared/api-client-build-request.test.js +228 -0
- package/dist/shared/api-client-build-system-caching.test.js +107 -0
- package/dist/shared/api-client-build.test.js +223 -0
- package/dist/shared/api-client-config.d.ts +21 -0
- package/dist/shared/api-client-helpers.d.ts +57 -0
- package/dist/shared/api-client-helpers.test.js +261 -0
- package/dist/shared/api-client-proxy-happy.test.js +255 -0
- package/dist/shared/api-client-proxy-retry.test.js +307 -0
- package/dist/shared/api-client-proxy.d.ts +26 -0
- package/dist/shared/api-client-proxy.test.js +255 -0
- package/dist/shared/api-client-retry.test.js +307 -0
- package/dist/shared/api-client-system-trimming.test.js +261 -0
- package/dist/shared/api-client-trimming.d.ts +36 -0
- package/dist/shared/api-client.d.ts +16 -9
- package/dist/shared/api-client.js +419 -327
- package/dist/shared/api-client.js.map +1 -0
- package/dist/shared/api-client.test.js +228 -0
- package/dist/shared/compaction-thinking.test.js +315 -0
- package/dist/shared/compaction-trimming.test.js +223 -0
- package/dist/shared/compaction.d.ts +36 -0
- package/dist/shared/compaction.js +138 -0
- package/dist/shared/compaction.js.map +1 -0
- package/dist/shared/constants.js +67 -64
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/exec-validator.d.ts +29 -0
- package/dist/shared/exec-validator.js +106 -0
- package/dist/shared/exec-validator.js.map +1 -0
- package/dist/shared/imsg-constants.d.ts +8 -0
- package/dist/shared/imsg-constants.js +13 -0
- package/dist/shared/imsg-constants.js.map +1 -0
- package/dist/shared/sse-parser-callbacks.test.js +422 -0
- package/dist/shared/sse-parser-collect.test.js +252 -0
- package/dist/shared/sse-parser-e2e.test.js +558 -0
- package/dist/shared/sse-parser-parse.test.js +253 -0
- package/dist/shared/sse-parser.js +221 -219
- package/dist/shared/sse-parser.js.map +1 -0
- package/dist/shared/tool-dispatch-advanced-batch-build.test.js +405 -0
- package/dist/shared/tool-dispatch-advanced.test.js +320 -0
- package/dist/shared/tool-dispatch-basic.test.js +278 -0
- package/dist/shared/tool-dispatch-content.d.ts +14 -0
- package/dist/shared/tool-dispatch-parallel.test.js +378 -0
- package/dist/shared/tool-dispatch.d.ts +4 -0
- package/dist/shared/tool-dispatch.js +226 -165
- package/dist/shared/tool-dispatch.js.map +1 -0
- package/dist/shared/types.js +1 -6
- package/dist/shared/types.js.map +1 -0
- package/dist/types/cli-highlight.d.js +2 -0
- package/dist/types/cli-highlight.d.js.map +1 -0
- package/dist/types/diff.d.js +2 -0
- package/dist/types/diff.d.js.map +1 -0
- package/dist/types/pdf-parse.d.js +2 -0
- package/dist/types/pdf-parse.d.js.map +1 -0
- package/dist/updater.d.ts +1 -1
- package/dist/updater.js +118 -92
- package/dist/updater.js.map +1 -0
- package/dist/webchat/__tests__/widget-messaging.test.js +323 -0
- package/dist/webchat/__tests__/widget.test.js +273 -0
- package/dist/webchat/widget-styles.d.ts +7 -0
- package/dist/webchat/widget-styles.js +11 -0
- package/dist/webchat/widget-styles.js.map +1 -0
- package/dist/webchat/widget.js +227 -380
- package/dist/webchat/widget.js.map +1 -0
- package/package.json +24 -11
- package/src/cli/services/builtin-skills/verify.md +72 -0
- package/vendor/ink/build/ansi-tokenizer.d.ts +38 -0
- package/vendor/ink/build/ansi-tokenizer.js +316 -0
- package/vendor/ink/build/ansi-tokenizer.js.map +1 -0
- package/vendor/ink/build/apply-styles.js +175 -0
- package/vendor/ink/build/build-layout.js +77 -0
- package/vendor/ink/build/calculate-wrapped-text.js +53 -0
- package/vendor/ink/build/colorize.d.ts +3 -0
- package/vendor/ink/build/colorize.js +48 -0
- package/vendor/ink/build/colorize.js.map +1 -0
- package/vendor/ink/build/components/AccessibilityContext.d.ts +3 -0
- package/vendor/ink/build/components/AccessibilityContext.js +5 -0
- package/vendor/ink/build/components/AccessibilityContext.js.map +1 -0
- package/vendor/ink/build/components/App.d.ts +18 -0
- package/vendor/ink/build/components/App.js +351 -0
- package/vendor/ink/build/components/App.js.map +1 -0
- package/vendor/ink/build/components/AppContext.d.ts +15 -0
- package/vendor/ink/build/components/AppContext.js +11 -0
- package/vendor/ink/build/components/AppContext.js.map +1 -0
- package/vendor/ink/build/components/BackgroundContext.d.ts +4 -0
- package/vendor/ink/build/components/BackgroundContext.js +3 -0
- package/vendor/ink/build/components/BackgroundContext.js.map +1 -0
- package/vendor/ink/build/components/Box.d.ts +117 -0
- package/vendor/ink/build/components/Box.js +34 -0
- package/vendor/ink/build/components/Box.js.map +1 -0
- package/vendor/ink/build/components/Color.js +62 -0
- package/vendor/ink/build/components/Cursor.d.ts +83 -0
- package/vendor/ink/build/components/Cursor.js +53 -0
- package/vendor/ink/build/components/Cursor.js.map +1 -0
- package/vendor/ink/build/components/CursorContext.d.ts +11 -0
- package/vendor/ink/build/components/CursorContext.js +8 -0
- package/vendor/ink/build/components/CursorContext.js.map +1 -0
- package/vendor/ink/build/components/ErrorBoundary.d.ts +18 -0
- package/vendor/ink/build/components/ErrorBoundary.js +23 -0
- package/vendor/ink/build/components/ErrorBoundary.js.map +1 -0
- package/vendor/ink/build/components/ErrorOverview.d.ts +6 -0
- package/vendor/ink/build/components/ErrorOverview.js +84 -0
- package/vendor/ink/build/components/ErrorOverview.js.map +1 -0
- package/vendor/ink/build/components/FocusContext.d.ts +16 -0
- package/vendor/ink/build/components/FocusContext.js +17 -0
- package/vendor/ink/build/components/FocusContext.js.map +1 -0
- package/vendor/ink/build/components/Newline.d.ts +13 -0
- package/vendor/ink/build/components/Newline.js +8 -0
- package/vendor/ink/build/components/Newline.js.map +1 -0
- package/vendor/ink/build/components/Spacer.d.ts +7 -0
- package/vendor/ink/build/components/Spacer.js +11 -0
- package/vendor/ink/build/components/Spacer.js.map +1 -0
- package/vendor/ink/build/components/Static.d.ts +24 -0
- package/vendor/ink/build/components/Static.js +28 -0
- package/vendor/ink/build/components/Static.js.map +1 -0
- package/vendor/ink/build/components/StderrContext.d.ts +15 -0
- package/vendor/ink/build/components/StderrContext.js +13 -0
- package/vendor/ink/build/components/StderrContext.js.map +1 -0
- package/vendor/ink/build/components/StdinContext.d.ts +22 -0
- package/vendor/ink/build/components/StdinContext.js +19 -0
- package/vendor/ink/build/components/StdinContext.js.map +1 -0
- package/vendor/ink/build/components/StdoutContext.d.ts +15 -0
- package/vendor/ink/build/components/StdoutContext.js +13 -0
- package/vendor/ink/build/components/StdoutContext.js.map +1 -0
- package/vendor/ink/build/components/Text.d.ts +55 -0
- package/vendor/ink/build/components/Text.js +50 -0
- package/vendor/ink/build/components/Text.js.map +1 -0
- package/vendor/ink/build/components/Transform.d.ts +16 -0
- package/vendor/ink/build/components/Transform.js +15 -0
- package/vendor/ink/build/components/Transform.js.map +1 -0
- package/vendor/ink/build/cursor-helpers.d.ts +38 -0
- package/vendor/ink/build/cursor-helpers.js +56 -0
- package/vendor/ink/build/cursor-helpers.js.map +1 -0
- package/vendor/ink/build/devtools-window-polyfill.d.ts +1 -0
- package/vendor/ink/build/devtools-window-polyfill.js +65 -0
- package/vendor/ink/build/devtools-window-polyfill.js.map +1 -0
- package/vendor/ink/build/devtools.d.ts +1 -0
- package/vendor/ink/build/devtools.js +11 -0
- package/vendor/ink/build/devtools.js.map +1 -0
- package/vendor/ink/build/dom.d.ts +56 -0
- package/vendor/ink/build/dom.js +124 -0
- package/vendor/ink/build/dom.js.map +1 -0
- package/vendor/ink/build/experimental/apply-style.js +140 -0
- package/vendor/ink/build/experimental/dom.js +123 -0
- package/vendor/ink/build/experimental/output.js +91 -0
- package/vendor/ink/build/experimental/reconciler.js +141 -0
- package/vendor/ink/build/experimental/renderer.js +81 -0
- package/vendor/ink/build/get-max-width.d.ts +3 -0
- package/vendor/ink/build/get-max-width.js +10 -0
- package/vendor/ink/build/get-max-width.js.map +1 -0
- package/vendor/ink/build/hooks/use-app.d.ts +5 -0
- package/vendor/ink/build/hooks/use-app.js +8 -0
- package/vendor/ink/build/hooks/use-app.js.map +1 -0
- package/vendor/ink/build/hooks/use-cursor.d.ts +12 -0
- package/vendor/ink/build/hooks/use-cursor.js +29 -0
- package/vendor/ink/build/hooks/use-cursor.js.map +1 -0
- package/vendor/ink/build/hooks/use-focus-manager.d.ts +28 -0
- package/vendor/ink/build/hooks/use-focus-manager.js +17 -0
- package/vendor/ink/build/hooks/use-focus-manager.js.map +1 -0
- package/vendor/ink/build/hooks/use-focus.d.ts +29 -0
- package/vendor/ink/build/hooks/use-focus.js +42 -0
- package/vendor/ink/build/hooks/use-focus.js.map +1 -0
- package/vendor/ink/build/hooks/use-input.d.ts +131 -0
- package/vendor/ink/build/hooks/use-input.js +124 -0
- package/vendor/ink/build/hooks/use-input.js.map +1 -0
- package/vendor/ink/build/hooks/use-is-screen-reader-enabled.d.ts +5 -0
- package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js +11 -0
- package/vendor/ink/build/hooks/use-is-screen-reader-enabled.js.map +1 -0
- package/vendor/ink/build/hooks/use-stderr.d.ts +5 -0
- package/vendor/ink/build/hooks/use-stderr.js +8 -0
- package/vendor/ink/build/hooks/use-stderr.js.map +1 -0
- package/vendor/ink/build/hooks/use-stdin.d.ts +5 -0
- package/vendor/ink/build/hooks/use-stdin.js +8 -0
- package/vendor/ink/build/hooks/use-stdin.js.map +1 -0
- package/vendor/ink/build/hooks/use-stdout.d.ts +5 -0
- package/vendor/ink/build/hooks/use-stdout.js +8 -0
- package/vendor/ink/build/hooks/use-stdout.js.map +1 -0
- package/vendor/ink/build/hooks/useInput.js +38 -0
- package/vendor/ink/build/index.d.ts +34 -0
- package/vendor/ink/build/index.js +20 -0
- package/vendor/ink/build/index.js.map +1 -0
- package/vendor/ink/build/ink.d.ts +90 -0
- package/vendor/ink/build/ink.js +677 -0
- package/vendor/ink/build/ink.js.map +1 -0
- package/vendor/ink/build/input-parser.d.ts +7 -0
- package/vendor/ink/build/input-parser.js +154 -0
- package/vendor/ink/build/input-parser.js.map +1 -0
- package/vendor/ink/build/instance.js +205 -0
- package/vendor/ink/build/instances.d.ts +3 -0
- package/vendor/ink/build/instances.js +8 -0
- package/vendor/ink/build/instances.js.map +1 -0
- package/vendor/ink/build/kitty-keyboard.d.ts +23 -0
- package/vendor/ink/build/kitty-keyboard.js +32 -0
- package/vendor/ink/build/kitty-keyboard.js.map +1 -0
- package/vendor/ink/build/layout.d.ts +7 -0
- package/vendor/ink/build/layout.js +33 -0
- package/vendor/ink/build/layout.js.map +1 -0
- package/vendor/ink/build/log-update.d.ts +19 -0
- package/vendor/ink/build/log-update.js +250 -0
- package/vendor/ink/build/log-update.js.map +1 -0
- package/vendor/ink/build/measure-element.d.ts +16 -0
- package/vendor/ink/build/measure-element.js +9 -0
- package/vendor/ink/build/measure-element.js.map +1 -0
- package/vendor/ink/build/measure-text.d.ts +6 -0
- package/vendor/ink/build/measure-text.js +21 -0
- package/vendor/ink/build/measure-text.js.map +1 -0
- package/vendor/ink/build/options.d.ts +52 -0
- package/vendor/ink/build/options.js +2 -0
- package/vendor/ink/build/options.js.map +1 -0
- package/vendor/ink/build/output.d.ts +35 -0
- package/vendor/ink/build/output.js +183 -0
- package/vendor/ink/build/output.js.map +1 -0
- package/vendor/ink/build/parse-keypress.d.ts +22 -0
- package/vendor/ink/build/parse-keypress.js +493 -0
- package/vendor/ink/build/parse-keypress.js.map +1 -0
- package/vendor/ink/build/reconciler.d.ts +4 -0
- package/vendor/ink/build/reconciler.js +274 -0
- package/vendor/ink/build/reconciler.js.map +1 -0
- package/vendor/ink/build/render-background.d.ts +4 -0
- package/vendor/ink/build/render-background.js +25 -0
- package/vendor/ink/build/render-background.js.map +1 -0
- package/vendor/ink/build/render-border.d.ts +4 -0
- package/vendor/ink/build/render-border.js +73 -0
- package/vendor/ink/build/render-border.js.map +1 -0
- package/vendor/ink/build/render-node-to-output.d.ts +14 -0
- package/vendor/ink/build/render-node-to-output.js +147 -0
- package/vendor/ink/build/render-node-to-output.js.map +1 -0
- package/vendor/ink/build/render-to-string.d.ts +38 -0
- package/vendor/ink/build/render-to-string.js +115 -0
- package/vendor/ink/build/render-to-string.js.map +1 -0
- package/vendor/ink/build/render.d.ts +121 -0
- package/vendor/ink/build/render.js +55 -0
- package/vendor/ink/build/render.js.map +1 -0
- package/vendor/ink/build/renderer.d.ts +8 -0
- package/vendor/ink/build/renderer.js +55 -0
- package/vendor/ink/build/renderer.js.map +1 -0
- package/vendor/ink/build/sanitize-ansi.d.ts +2 -0
- package/vendor/ink/build/sanitize-ansi.js +27 -0
- package/vendor/ink/build/sanitize-ansi.js.map +1 -0
- package/vendor/ink/build/screen-reader-update.d.ts +13 -0
- package/vendor/ink/build/screen-reader-update.js +38 -0
- package/vendor/ink/build/screen-reader-update.js.map +1 -0
- package/vendor/ink/build/squash-text-nodes.d.ts +3 -0
- package/vendor/ink/build/squash-text-nodes.js +36 -0
- package/vendor/ink/build/squash-text-nodes.js.map +1 -0
- package/vendor/ink/build/styles.d.ts +240 -0
- package/vendor/ink/build/styles.js +232 -0
- package/vendor/ink/build/styles.js.map +1 -0
- package/vendor/ink/build/utils.d.ts +2 -0
- package/vendor/ink/build/utils.js +4 -0
- package/vendor/ink/build/utils.js.map +1 -0
- package/vendor/ink/build/wrap-text.d.ts +3 -0
- package/vendor/ink/build/wrap-text.js +31 -0
- package/vendor/ink/build/wrap-text.js.map +1 -0
- package/vendor/ink/build/write-synchronized.d.ts +4 -0
- package/vendor/ink/build/write-synchronized.js +7 -0
- package/vendor/ink/build/write-synchronized.js.map +1 -0
- package/vendor/ink/license +10 -0
- package/vendor/ink/node_modules/@types/node/LICENSE +21 -0
- package/vendor/ink/node_modules/@types/node/README.md +15 -0
- package/vendor/ink/node_modules/@types/node/assert/strict.d.ts +105 -0
- package/vendor/ink/node_modules/@types/node/assert.d.ts +955 -0
- package/vendor/ink/node_modules/@types/node/async_hooks.d.ts +623 -0
- package/vendor/ink/node_modules/@types/node/buffer.buffer.d.ts +466 -0
- package/vendor/ink/node_modules/@types/node/buffer.d.ts +1810 -0
- package/vendor/ink/node_modules/@types/node/child_process.d.ts +1428 -0
- package/vendor/ink/node_modules/@types/node/cluster.d.ts +486 -0
- package/vendor/ink/node_modules/@types/node/compatibility/iterators.d.ts +21 -0
- package/vendor/ink/node_modules/@types/node/console.d.ts +151 -0
- package/vendor/ink/node_modules/@types/node/constants.d.ts +20 -0
- package/vendor/ink/node_modules/@types/node/crypto.d.ts +4065 -0
- package/vendor/ink/node_modules/@types/node/dgram.d.ts +564 -0
- package/vendor/ink/node_modules/@types/node/diagnostics_channel.d.ts +576 -0
- package/vendor/ink/node_modules/@types/node/dns/promises.d.ts +503 -0
- package/vendor/ink/node_modules/@types/node/dns.d.ts +922 -0
- package/vendor/ink/node_modules/@types/node/domain.d.ts +166 -0
- package/vendor/ink/node_modules/@types/node/events.d.ts +1054 -0
- package/vendor/ink/node_modules/@types/node/fs/promises.d.ts +1329 -0
- package/vendor/ink/node_modules/@types/node/fs.d.ts +4676 -0
- package/vendor/ink/node_modules/@types/node/globals.d.ts +150 -0
- package/vendor/ink/node_modules/@types/node/globals.typedarray.d.ts +101 -0
- package/vendor/ink/node_modules/@types/node/http.d.ts +2167 -0
- package/vendor/ink/node_modules/@types/node/http2.d.ts +2480 -0
- package/vendor/ink/node_modules/@types/node/https.d.ts +405 -0
- package/vendor/ink/node_modules/@types/node/index.d.ts +115 -0
- package/vendor/ink/node_modules/@types/node/inspector/promises.d.ts +41 -0
- package/vendor/ink/node_modules/@types/node/inspector.d.ts +224 -0
- package/vendor/ink/node_modules/@types/node/inspector.generated.d.ts +4226 -0
- package/vendor/ink/node_modules/@types/node/module.d.ts +819 -0
- package/vendor/ink/node_modules/@types/node/net.d.ts +933 -0
- package/vendor/ink/node_modules/@types/node/os.d.ts +507 -0
- package/vendor/ink/node_modules/@types/node/package.json +155 -0
- package/vendor/ink/node_modules/@types/node/path/posix.d.ts +8 -0
- package/vendor/ink/node_modules/@types/node/path/win32.d.ts +8 -0
- package/vendor/ink/node_modules/@types/node/path.d.ts +187 -0
- package/vendor/ink/node_modules/@types/node/perf_hooks.d.ts +643 -0
- package/vendor/ink/node_modules/@types/node/process.d.ts +2156 -0
- package/vendor/ink/node_modules/@types/node/punycode.d.ts +117 -0
- package/vendor/ink/node_modules/@types/node/querystring.d.ts +152 -0
- package/vendor/ink/node_modules/@types/node/quic.d.ts +910 -0
- package/vendor/ink/node_modules/@types/node/readline/promises.d.ts +161 -0
- package/vendor/ink/node_modules/@types/node/readline.d.ts +541 -0
- package/vendor/ink/node_modules/@types/node/repl.d.ts +415 -0
- package/vendor/ink/node_modules/@types/node/sea.d.ts +162 -0
- package/vendor/ink/node_modules/@types/node/sqlite.d.ts +955 -0
- package/vendor/ink/node_modules/@types/node/stream/consumers.d.ts +38 -0
- package/vendor/ink/node_modules/@types/node/stream/promises.d.ts +211 -0
- package/vendor/ink/node_modules/@types/node/stream/web.d.ts +296 -0
- package/vendor/ink/node_modules/@types/node/stream.d.ts +1760 -0
- package/vendor/ink/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/vendor/ink/node_modules/@types/node/test/reporters.d.ts +96 -0
- package/vendor/ink/node_modules/@types/node/test.d.ts +2240 -0
- package/vendor/ink/node_modules/@types/node/timers/promises.d.ts +108 -0
- package/vendor/ink/node_modules/@types/node/timers.d.ts +159 -0
- package/vendor/ink/node_modules/@types/node/tls.d.ts +1198 -0
- package/vendor/ink/node_modules/@types/node/trace_events.d.ts +197 -0
- package/vendor/ink/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
- package/vendor/ink/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/vendor/ink/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/vendor/ink/node_modules/@types/node/ts5.6/index.d.ts +117 -0
- package/vendor/ink/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/vendor/ink/node_modules/@types/node/ts5.7/index.d.ts +117 -0
- package/vendor/ink/node_modules/@types/node/tty.d.ts +250 -0
- package/vendor/ink/node_modules/@types/node/url.d.ts +519 -0
- package/vendor/ink/node_modules/@types/node/util/types.d.ts +558 -0
- package/vendor/ink/node_modules/@types/node/util.d.ts +1662 -0
- package/vendor/ink/node_modules/@types/node/v8.d.ts +983 -0
- package/vendor/ink/node_modules/@types/node/vm.d.ts +1208 -0
- package/vendor/ink/node_modules/@types/node/wasi.d.ts +202 -0
- package/vendor/ink/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
- package/vendor/ink/node_modules/@types/node/web-globals/blob.d.ts +23 -0
- package/vendor/ink/node_modules/@types/node/web-globals/console.d.ts +9 -0
- package/vendor/ink/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
- package/vendor/ink/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
- package/vendor/ink/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
- package/vendor/ink/node_modules/@types/node/web-globals/events.d.ts +106 -0
- package/vendor/ink/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
- package/vendor/ink/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
- package/vendor/ink/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
- package/vendor/ink/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/vendor/ink/node_modules/@types/node/web-globals/performance.d.ts +45 -0
- package/vendor/ink/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/vendor/ink/node_modules/@types/node/web-globals/streams.d.ts +115 -0
- package/vendor/ink/node_modules/@types/node/web-globals/timers.d.ts +44 -0
- package/vendor/ink/node_modules/@types/node/web-globals/url.d.ts +24 -0
- package/vendor/ink/node_modules/@types/node/worker_threads.d.ts +717 -0
- package/vendor/ink/node_modules/@types/node/zlib.d.ts +618 -0
- package/vendor/ink/node_modules/node-pty/LICENSE +69 -0
- package/vendor/ink/node_modules/node-pty/README.md +164 -0
- package/vendor/ink/node_modules/node-pty/binding.gyp +150 -0
- package/vendor/ink/node_modules/node-pty/lib/conpty_console_list_agent.js +25 -0
- package/vendor/ink/node_modules/node-pty/lib/eventEmitter2.js +47 -0
- package/vendor/ink/node_modules/node-pty/lib/index.js +52 -0
- package/vendor/ink/node_modules/node-pty/lib/interfaces.js +7 -0
- package/vendor/ink/node_modules/node-pty/lib/shared/conout.js +11 -0
- package/vendor/ink/node_modules/node-pty/lib/terminal.js +190 -0
- package/vendor/ink/node_modules/node-pty/lib/types.js +7 -0
- package/vendor/ink/node_modules/node-pty/lib/unixTerminal.js +349 -0
- package/vendor/ink/node_modules/node-pty/lib/utils.js +39 -0
- package/vendor/ink/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
- package/vendor/ink/node_modules/node-pty/lib/windowsPtyAgent.js +287 -0
- package/vendor/ink/node_modules/node-pty/lib/windowsTerminal.js +201 -0
- package/vendor/ink/node_modules/node-pty/lib/worker/conoutSocketWorker.js +22 -0
- package/vendor/ink/node_modules/node-pty/package.json +65 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/linux-arm64/pty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/linux-x64/pty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
- package/vendor/ink/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
- package/vendor/ink/node_modules/node-pty/scripts/post-install.js +76 -0
- package/vendor/ink/node_modules/node-pty/scripts/prebuild.js +34 -0
- package/vendor/ink/node_modules/node-pty/src/unix/pty.cc +875 -0
- package/vendor/ink/node_modules/node-pty/src/unix/spawn-helper.cc +23 -0
- package/vendor/ink/node_modules/node-pty/src/win/conpty.cc +582 -0
- package/vendor/ink/node_modules/node-pty/src/win/conpty.h +41 -0
- package/vendor/ink/node_modules/node-pty/src/win/conpty_console_list.cc +44 -0
- package/vendor/ink/node_modules/node-pty/src/win/path_util.cc +95 -0
- package/vendor/ink/node_modules/node-pty/src/win/path_util.h +26 -0
- package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/OpenConsole.exe +0 -0
- package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/conpty.dll +0 -0
- package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/OpenConsole.exe +0 -0
- package/vendor/ink/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/conpty.dll +0 -0
- package/vendor/ink/node_modules/node-pty/typings/node-pty.d.ts +215 -0
- package/vendor/ink/node_modules/undici-types/LICENSE +21 -0
- package/vendor/ink/node_modules/undici-types/README.md +6 -0
- package/vendor/ink/node_modules/undici-types/agent.d.ts +32 -0
- package/vendor/ink/node_modules/undici-types/api.d.ts +43 -0
- package/vendor/ink/node_modules/undici-types/balanced-pool.d.ts +30 -0
- package/vendor/ink/node_modules/undici-types/cache-interceptor.d.ts +173 -0
- package/vendor/ink/node_modules/undici-types/cache.d.ts +36 -0
- package/vendor/ink/node_modules/undici-types/client-stats.d.ts +15 -0
- package/vendor/ink/node_modules/undici-types/client.d.ts +108 -0
- package/vendor/ink/node_modules/undici-types/connector.d.ts +34 -0
- package/vendor/ink/node_modules/undici-types/content-type.d.ts +21 -0
- package/vendor/ink/node_modules/undici-types/cookies.d.ts +30 -0
- package/vendor/ink/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
- package/vendor/ink/node_modules/undici-types/dispatcher.d.ts +276 -0
- package/vendor/ink/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/vendor/ink/node_modules/undici-types/errors.d.ts +161 -0
- package/vendor/ink/node_modules/undici-types/eventsource.d.ts +66 -0
- package/vendor/ink/node_modules/undici-types/fetch.d.ts +211 -0
- package/vendor/ink/node_modules/undici-types/formdata.d.ts +108 -0
- package/vendor/ink/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/vendor/ink/node_modules/undici-types/global-origin.d.ts +7 -0
- package/vendor/ink/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/vendor/ink/node_modules/undici-types/handlers.d.ts +15 -0
- package/vendor/ink/node_modules/undici-types/header.d.ts +160 -0
- package/vendor/ink/node_modules/undici-types/index.d.ts +88 -0
- package/vendor/ink/node_modules/undici-types/interceptors.d.ts +73 -0
- package/vendor/ink/node_modules/undici-types/mock-agent.d.ts +68 -0
- package/vendor/ink/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/vendor/ink/node_modules/undici-types/mock-client.d.ts +27 -0
- package/vendor/ink/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/vendor/ink/node_modules/undici-types/mock-interceptor.d.ts +94 -0
- package/vendor/ink/node_modules/undici-types/mock-pool.d.ts +27 -0
- package/vendor/ink/node_modules/undici-types/package.json +55 -0
- package/vendor/ink/node_modules/undici-types/patch.d.ts +29 -0
- package/vendor/ink/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/vendor/ink/node_modules/undici-types/pool.d.ts +41 -0
- package/vendor/ink/node_modules/undici-types/proxy-agent.d.ts +29 -0
- package/vendor/ink/node_modules/undici-types/readable.d.ts +68 -0
- package/vendor/ink/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/vendor/ink/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/vendor/ink/node_modules/undici-types/round-robin-pool.d.ts +41 -0
- package/vendor/ink/node_modules/undici-types/snapshot-agent.d.ts +109 -0
- package/vendor/ink/node_modules/undici-types/util.d.ts +18 -0
- package/vendor/ink/node_modules/undici-types/utility.d.ts +7 -0
- package/vendor/ink/node_modules/undici-types/webidl.d.ts +341 -0
- package/vendor/ink/node_modules/undici-types/websocket.d.ts +186 -0
- package/vendor/ink/package.json +201 -0
- package/vendor/ink/readme.md +2636 -0
- package/bin/swag-agent.js +0 -9
- package/dist/server/lib/pg-rate-limiter.d.ts +0 -21
- package/dist/server/lib/pg-rate-limiter.js +0 -86
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.js","names":["randomUUID","setToolExecutor","setAgentExecutor","setTokenBroadcaster","setStepErrorBroadcaster","processWorkflowSteps","processWaitingSteps","executeAndAdvance","executeInlineChain","generateGuestApprovalUrl","verifyGuestApprovalSignature","processScheduleTriggers","enforceWorkflowTimeouts","processEventTriggers","cleanupOrphanedSteps","processDlqRetries","handleWebhookIngestion","initWorkerPool","getPoolStats","shutdownPool","getNextCronTime","logWorkflowEvent","completeWorkflowRun","handleWorkflows","supabase","args","storeId","action","sid","q","from","select","eq","order","ascending","status","trigger_type","data","error","limit","success","message","wf","workflow_id","single","runs","recent_runs","tc","trigger_config","cronExpr","cron_expression","cron","nextRunAt","next","toISOString","tz","timezone","insert","store_id","name","description","icon","is_active","max_concurrent_runs","max_run_duration_seconds","max_steps_per_run","max_retries_per_step","on_error_webhook_url","on_error_email","next_run_at","multitask_strategy","Array","isArray","steps","map","s","i","id","step_key","step_type","is_entry_point","on_success","on_failure","step_config","max_retries","retry_delay_seconds","timeout_seconds","input_schema","position_x","position_y","stepsErr","updates","allowed","k","undefined","utc","cronFromConfig","cronExplicit","update","maybeSingle","delete","deleted","wfCheck","stepCheck","step_id","workflows","su","wfId","idempotency_key","key","String","length","test","trigger_payload","payloadStr","JSON","stringify","in","wfConfig","strategy","activeRuns","active_runs","run","rpc","p_workflow_id","p_store_id","p_trigger_type","p_trigger_payload","p_idempotency_key","traceId","run_id","deduplicated","runUpdates","trace_id","published_version_id","version_id","priority","err","console","paused","resumed","cancelled","circuit_breaker_state","circuit_breaker_failures","reset","runCheck","p_days","days","existingSlug","slug","verify_signature","max_requests_per_minute","payload_transform","sync_response","sync_timeout_seconds","webhook_url","webhook_id","approval_id","response_status","approval","approvalErr","expires_at","Date","p_approval_id","p_response","p_response_data","response_data","p_responded_by","responded_by","p_changelog","changelog","p_published_by","published_by","versionsWfCheck","ver","vErr","versionWfCheck","steps_snapshot","stepData","rbWfCheck","version","verErr","stepsToInsert","upsert","onConflict","rolled_back_to","steps_restored","category","template_id","p_template_id","p_name","cpRunCheck","fromStepKey","from_step","checkpointQuery","checkpoint","origRun","newRun","startErr","step_outputs","checkpointStepDef","nextStepDef","max_attempts","original_run_id","checkpoint_id","replayed_from","eventsRunCheck","token","wp","wpErr","completion_data","completed_at","input","waitpoint_completed","waitpoint_data","step_run_id","completed","dlq_id","dlqEntry","originalRun","result","dlq_retry","retried_run_id","attempt_count","retried","new_run_id","dismissed_by","dismissed_at","notes","dismissed","graphWfCheck","nodes","type","label","position","x","y","config_summary","timeout","expression","tool_name","seconds","edges","push","to","cfg","on_true","on_false","parallelKeys","step_keys","child_steps","childKey","nodeStatus","stepRuns","sr","duration_ms","error_message","node_status","Object","keys","runAt","run_at","runAtDate","isNaN","getTime","one_time","schedule_cleared","event_type","evtId","evtErr","p_event_type","p_event_payload","event_payload","p_source","source","event_id","sub","subErr","filter_expression","subscription_id","delErr","or","tools","row","def","definition","inputSchema","actionProp","properties","actions","enum","tool_mode","is_read_only","requires_store_id"],"sources":["../../../src/server/handlers/workflows.ts"],"sourcesContent":["// server/handlers/workflows.ts — Workflow CRUD & management\n//\n// This file is the entry point for the workflow engine. It re-exports the step\n// execution engine from ./workflow-steps.ts and contains the handleWorkflows()\n// CRUD handler for the MCP tool interface.\n//\n// Step execution, inline chains, cron/schedule processing, event triggers,\n// webhook ingestion, circuit breakers, and all step-type executors live in\n// ./workflow-steps.ts.\n\nimport { randomUUID } from \"node:crypto\";\nimport type { SupabaseClient } from \"@supabase/supabase-js\";\n// Re-export everything from workflow-steps so existing imports from workflows.ts still work\nexport {\n // Injected executor setters\n setToolExecutor,\n setAgentExecutor,\n setTokenBroadcaster,\n setStepErrorBroadcaster,\n // Core engine\n processWorkflowSteps,\n processWaitingSteps,\n executeAndAdvance,\n executeInlineChain,\n // Guest approval\n generateGuestApprovalUrl,\n verifyGuestApprovalSignature,\n // Schedule / timeout / events\n processScheduleTriggers,\n enforceWorkflowTimeouts,\n processEventTriggers,\n // Resilience\n cleanupOrphanedSteps,\n processDlqRetries,\n // Webhook ingestion\n handleWebhookIngestion,\n // Worker pool management\n initWorkerPool,\n getPoolStats,\n shutdownPool,\n // Cron parser (used by CRUD)\n getNextCronTime,\n // Event journal (used by CRUD replay)\n logWorkflowEvent,\n // Types\n type StepClaim,\n type StepResult,\n // Run completion (used by CRUD start/cancel)\n completeWorkflowRun,\n} from \"./workflow-steps.js\";\n\nimport {\n executeInlineChain,\n getNextCronTime,\n completeWorkflowRun,\n logWorkflowEvent,\n} from \"./workflow-steps.js\";\n\n// ============================================================================\n// CRUD HANDLER — MCP tool interface\n// ============================================================================\n\nexport async function handleWorkflows(\n supabase: SupabaseClient, args: Record<string, unknown>, storeId?: string,\n): Promise<{ success: boolean; data?: unknown; error?: string }> {\n const action = args.action as string;\n const sid = storeId as string;\n\n switch (action) {\n case \"list\": {\n let q = supabase.from(\"workflows\")\n .select(\"id, name, description, icon, status, is_active, trigger_type, max_concurrent_runs, version, last_run_at, created_at, circuit_breaker_state\")\n .eq(\"store_id\", sid).order(\"created_at\", { ascending: false });\n if (args.status) q = q.eq(\"status\", args.status as string);\n if (args.trigger_type) q = q.eq(\"trigger_type\", args.trigger_type as string);\n const { data, error } = await q.limit((args.limit as number) || 50);\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"get\": {\n const { data: wf, error } = await supabase.from(\"workflows\")\n .select(\"*, workflow_steps(*)\").eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid).single();\n if (error) return { success: false, error: error.message };\n const { data: runs } = await supabase.from(\"workflow_runs\")\n .select(\"id, status, trigger_type, started_at, completed_at, duration_ms, error_message, error_step_key\")\n .eq(\"workflow_id\", args.workflow_id as string).order(\"created_at\", { ascending: false }).limit(10);\n return { success: true, data: { ...wf, recent_runs: runs || [] } };\n }\n\n case \"create\": {\n // Compute next_run_at from cron expression — check both top-level and trigger_config\n const tc = args.trigger_config as Record<string, unknown> | undefined;\n const cronExpr = (args.cron_expression as string)\n || (tc?.cron as string) || (tc?.cron_expression as string) || null;\n let nextRunAt: string | null = null;\n if (cronExpr) {\n const next = getNextCronTime(cronExpr);\n if (!next) return { success: false, error: `Invalid cron expression: ${cronExpr}` };\n nextRunAt = next.toISOString();\n }\n // Auto-extract timezone from trigger_config if not top-level\n const tz = (args.timezone as string) || (tc?.timezone as string) || \"UTC\";\n\n const { data, error } = await supabase.from(\"workflows\").insert({\n store_id: sid,\n name: args.name as string,\n description: args.description as string || null,\n icon: args.icon as string || null,\n status: (args.status as string) || \"draft\",\n is_active: args.status === \"active\",\n trigger_type: (args.trigger_type as string) || (cronExpr ? \"schedule\" : \"manual\"),\n trigger_config: args.trigger_config || {},\n max_concurrent_runs: (args.max_concurrent_runs as number) || 1,\n max_run_duration_seconds: (args.max_run_duration_seconds as number) || 3600,\n max_steps_per_run: (args.max_steps_per_run as number) || 50,\n max_retries_per_step: (args.max_retries_per_step as number) || 3,\n on_error_webhook_url: args.on_error_webhook_url as string || null,\n on_error_email: args.on_error_email as string || null,\n cron_expression: cronExpr,\n next_run_at: nextRunAt,\n timezone: tz,\n multitask_strategy: (args.multitask_strategy as string) || \"allow\",\n }).select().single();\n if (error) return { success: false, error: error.message };\n\n if (Array.isArray(args.steps)) {\n const steps = (args.steps as Array<Record<string, unknown>>).map((s, i) => ({\n workflow_id: data.id,\n step_key: s.step_key as string,\n step_type: s.step_type as string,\n is_entry_point: s.is_entry_point ?? (i === 0),\n on_success: s.on_success as string || null,\n on_failure: s.on_failure as string || null,\n step_config: s.step_config || {},\n max_retries: (s.max_retries as number) || 3,\n retry_delay_seconds: (s.retry_delay_seconds as number) || 10,\n timeout_seconds: (s.timeout_seconds as number) || 60,\n input_schema: s.input_schema || null,\n position_x: (s.position_x as number) || 0,\n position_y: (s.position_y as number) || i * 100,\n }));\n const { error: stepsErr } = await supabase.from(\"workflow_steps\").insert(steps);\n if (stepsErr) return { success: false, error: `Workflow created but steps failed: ${stepsErr.message}` };\n }\n return { success: true, data };\n }\n\n case \"update\": {\n const updates: Record<string, unknown> = {};\n const allowed = [\"name\", \"description\", \"icon\", \"status\", \"trigger_type\", \"trigger_config\",\n \"max_concurrent_runs\", \"max_run_duration_seconds\", \"max_steps_per_run\", \"max_retries_per_step\",\n \"on_error_webhook_url\", \"on_error_email\", \"multitask_strategy\", \"timezone\"];\n for (const k of allowed) { if (args[k] !== undefined) updates[k] = args[k]; }\n if (args.status !== undefined) updates.is_active = args.status === \"active\";\n\n // Handle cron_expression update — check both top-level and trigger_config\n const utc = args.trigger_config as Record<string, unknown> | undefined;\n const cronFromConfig = (utc?.cron as string) || (utc?.cron_expression as string) || null;\n const cronExplicit = args.cron_expression !== undefined ? (args.cron_expression as string | null) : null;\n const cronExpr = cronExplicit || cronFromConfig;\n\n if (cronExpr !== null && (args.cron_expression !== undefined || cronFromConfig)) {\n updates.cron_expression = cronExpr;\n const next = getNextCronTime(cronExpr);\n if (!next) return { success: false, error: `Invalid cron expression: ${cronExpr}` };\n updates.next_run_at = next.toISOString();\n // Auto-set trigger_type to schedule if cron is provided\n if (!updates.trigger_type) updates.trigger_type = \"schedule\";\n // Extract timezone from trigger_config if not top-level\n if (!updates.timezone && utc?.timezone) updates.timezone = utc.timezone;\n } else if (args.cron_expression === null) {\n // Explicitly clearing cron\n updates.cron_expression = null;\n updates.next_run_at = null;\n }\n\n const { data, error } = await supabase.from(\"workflows\")\n .update(updates).eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid).select().maybeSingle();\n if (error) return { success: false, error: error.message };\n if (!data) return { success: false, error: \"Workflow not found or store mismatch\" };\n return { success: true, data };\n }\n\n case \"delete\": {\n const { error } = await supabase.from(\"workflows\").delete()\n .eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid);\n return error ? { success: false, error: error.message } : { success: true, data: { deleted: true } };\n }\n\n case \"add_step\": {\n // H9 FIX: Verify workflow belongs to this store before adding step\n const { data: wfCheck } = await supabase.from(\"workflows\")\n .select(\"id\").eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid).single();\n if (!wfCheck) return { success: false, error: \"Workflow not found in this store\" };\n\n const { data, error } = await supabase.from(\"workflow_steps\").insert({\n workflow_id: args.workflow_id as string,\n step_key: args.step_key as string, step_type: args.step_type as string,\n is_entry_point: args.is_entry_point ?? false,\n on_success: args.on_success as string || null, on_failure: args.on_failure as string || null,\n step_config: args.step_config || {},\n max_retries: (args.max_retries as number) || 3,\n timeout_seconds: (args.timeout_seconds as number) || 60,\n input_schema: args.input_schema || null,\n }).select().single();\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"update_step\": {\n // H9 FIX: Verify step belongs to a workflow owned by this store\n const { data: stepCheck } = await supabase.from(\"workflow_steps\")\n .select(\"id, workflow_id, workflows!inner(store_id)\")\n .eq(\"id\", args.step_id as string).single();\n if (!stepCheck || (stepCheck as any).workflows?.store_id !== sid) {\n return { success: false, error: \"Step not found in this store's workflows\" };\n }\n\n const su: Record<string, unknown> = {};\n for (const k of [\"step_key\", \"step_type\", \"is_entry_point\", \"on_success\", \"on_failure\",\n \"step_config\", \"max_retries\", \"retry_delay_seconds\", \"timeout_seconds\", \"input_schema\",\n \"position_x\", \"position_y\"]) {\n if (args[k] !== undefined) {\n // Treat empty string as null for nullable fields (on_success, on_failure)\n su[k] = (args[k] === \"\" && (k === \"on_success\" || k === \"on_failure\")) ? null : args[k];\n }\n }\n const { data, error } = await supabase.from(\"workflow_steps\")\n .update(su).eq(\"id\", args.step_id as string).select().single();\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"delete_step\": {\n // H9 FIX: Verify step belongs to a workflow owned by this store\n const { data: stepCheck } = await supabase.from(\"workflow_steps\")\n .select(\"id, workflow_id, workflows!inner(store_id)\")\n .eq(\"id\", args.step_id as string).single();\n if (!stepCheck || (stepCheck as any).workflows?.store_id !== sid) {\n return { success: false, error: \"Step not found in this store's workflows\" };\n }\n const { error } = await supabase.from(\"workflow_steps\").delete().eq(\"id\", args.step_id as string);\n return error ? { success: false, error: error.message } : { success: true, data: { deleted: true } };\n }\n\n case \"start\": {\n const wfId = args.workflow_id as string;\n\n // FIX 5: Validate idempotency key format if provided\n if (args.idempotency_key) {\n const key = String(args.idempotency_key);\n if (key.length > 255 || !/^[a-zA-Z0-9._:\\/-]+$/.test(key)) {\n return { success: false, error: \"Invalid idempotency_key: must be 1-255 alphanumeric characters (with . _ : / -)\" };\n }\n }\n\n // FIX 6: Reject oversized trigger payloads before storing\n if (args.trigger_payload) {\n const payloadStr = JSON.stringify(args.trigger_payload);\n if (payloadStr.length > 10_000_000) {\n return { success: false, error: \"Trigger payload too large (max 10MB)\" };\n }\n }\n\n // Auto-activate workflow if needed (start implies intent to run)\n await supabase.from(\"workflows\").update({ is_active: true, status: \"active\" })\n .eq(\"id\", wfId).eq(\"store_id\", sid).in(\"status\", [\"draft\", \"paused\"]);\n\n // Load workflow config for strategy + concurrency + versioning\n const { data: wfConfig } = await supabase.from(\"workflows\")\n .select(\"multitask_strategy, published_version_id, max_concurrent_runs\").eq(\"id\", wfId).eq(\"store_id\", sid).single();\n if (!wfConfig) return { success: false, error: \"Workflow not found or access denied\" };\n const strategy = (wfConfig.multitask_strategy as string) || \"allow\";\n\n // Concurrency is enforced atomically inside start_workflow_run RPC (FOR UPDATE lock)\n // No app-side check needed — the RPC handles the race-free count + insert\n\n if (strategy !== \"allow\") {\n // Check for in-flight runs\n const { data: activeRuns } = await supabase.from(\"workflow_runs\")\n .select(\"id, status, created_at\")\n .eq(\"workflow_id\", wfId).eq(\"store_id\", sid)\n .in(\"status\", [\"running\", \"pending\"])\n .order(\"created_at\", { ascending: false })\n .limit(10);\n\n if (activeRuns?.length) {\n switch (strategy) {\n case \"reject\":\n return { success: false, error: `Workflow already has ${activeRuns.length} active run(s). Strategy: reject concurrent runs.`, data: { strategy: \"reject\", active_runs: activeRuns.length } };\n\n case \"enqueue\":\n // Let it through — the run will be created and the worker picks it up in order\n // Set priority lower so existing runs finish first\n break;\n\n case \"interrupt\":\n // Cancel all active runs before starting new one\n for (const run of activeRuns) {\n await completeWorkflowRun(supabase, run.id, wfId, sid, \"cancelled\", \"Interrupted by new run (multitask_strategy: interrupt)\");\n }\n break;\n\n case \"replace\":\n // Cancel all active runs AND delete their step runs\n for (const run of activeRuns) {\n await completeWorkflowRun(supabase, run.id, wfId, sid, \"cancelled\", \"Replaced by new run (multitask_strategy: replace)\");\n }\n break;\n }\n }\n }\n\n const { data, error } = await supabase.rpc(\"start_workflow_run\", {\n p_workflow_id: wfId, p_store_id: sid,\n p_trigger_type: (args.trigger_type as string) || \"manual\",\n p_trigger_payload: args.trigger_payload || {},\n p_idempotency_key: args.idempotency_key as string || null,\n });\n if (error) return { success: false, error: error.message };\n if (!data?.success) return { success: false, error: data?.error || \"Failed\" };\n\n // Generate trace_id for distributed tracing\n const traceId = data.run_id ? randomUUID() : undefined;\n\n // Set version_id, trace_id, priority\n if (data.run_id && !data.deduplicated) {\n const runUpdates: Record<string, unknown> = { trace_id: traceId };\n if (wfConfig?.published_version_id) runUpdates.version_id = wfConfig.published_version_id;\n if (strategy === \"enqueue\") runUpdates.priority = 3;\n\n await supabase.from(\"workflow_runs\").update(runUpdates).eq(\"id\", data.run_id);\n\n // Phase 1: Inline execution — execute first step immediately\n try {\n await executeInlineChain(supabase, data.run_id);\n } catch (err) {\n console.error(\"[workflow-inline] Error in inline chain:\", (err as Error).message);\n // Non-fatal — worker will pick up remaining steps\n }\n }\n\n return { success: true, data: { ...data, strategy, trace_id: traceId } };\n }\n\n case \"pause\": {\n const { error } = await supabase.from(\"workflow_runs\").update({ status: \"paused\" })\n .eq(\"id\", args.run_id as string).eq(\"store_id\", sid).eq(\"status\", \"running\");\n return error ? { success: false, error: error.message } : { success: true, data: { paused: true } };\n }\n\n case \"resume\": {\n const { error } = await supabase.from(\"workflow_runs\").update({ status: \"running\" })\n .eq(\"id\", args.run_id as string).eq(\"store_id\", sid).eq(\"status\", \"paused\");\n return error ? { success: false, error: error.message } : { success: true, data: { resumed: true } };\n }\n\n case \"cancel\": {\n const { data: run } = await supabase.from(\"workflow_runs\")\n .select(\"workflow_id, store_id\").eq(\"id\", args.run_id as string).eq(\"store_id\", sid).single();\n if (!run) return { success: false, error: \"Run not found or access denied\" };\n await completeWorkflowRun(supabase, args.run_id as string, run.workflow_id, run.store_id, \"cancelled\", \"Cancelled by user\");\n return { success: true, data: { cancelled: true } };\n }\n\n case \"reset_circuit_breaker\": {\n const { data, error } = await supabase.from(\"workflows\")\n .update({ circuit_breaker_state: \"closed\", circuit_breaker_failures: 0 })\n .eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid).select().single();\n if (error) return { success: false, error: error.message };\n if (!data) return { success: false, error: \"Workflow not found\" };\n return { success: true, data: { reset: true, workflow_id: data.id } };\n }\n\n case \"runs\": {\n let q = supabase.from(\"workflow_runs\")\n .select(\"id, workflow_id, status, trigger_type, trigger_payload, current_step_key, error_message, error_step_key, started_at, completed_at, duration_ms, created_at\")\n .eq(\"store_id\", sid).order(\"created_at\", { ascending: false });\n if (args.workflow_id) q = q.eq(\"workflow_id\", args.workflow_id as string);\n if (args.status) q = q.eq(\"status\", args.status as string);\n const { data, error } = await q.limit((args.limit as number) || 25);\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"step_runs\": {\n // IDOR FIX: Verify the run belongs to this store before querying step_runs\n const { data: runCheck } = await supabase.from(\"workflow_runs\")\n .select(\"id\").eq(\"id\", args.run_id as string).eq(\"store_id\", sid).single();\n if (!runCheck) return { success: false, error: \"Run not found or access denied\" };\n\n const { data, error } = await supabase.from(\"workflow_step_runs\")\n .select(\"id, step_key, step_type, status, input, output, error_message, attempt_count, started_at, completed_at, duration_ms, parent_step_run_id, child_run_id\")\n .eq(\"run_id\", args.run_id as string).order(\"created_at\", { ascending: true });\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"analytics\": {\n const { data, error } = await supabase.rpc(\"get_workflow_analytics\", {\n p_store_id: sid, p_days: (args.days as number) || 30,\n });\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"create_webhook\": {\n // P1 FIX: Ensure slug is globally unique to prevent cross-store webhook interception.\n // handleWebhookIngestion queries by slug without store_id, so duplicate slugs across\n // stores would cause one store to intercept another's webhooks.\n const { data: existingSlug } = await supabase\n .from(\"webhook_endpoints\")\n .select(\"id\")\n .eq(\"slug\", args.slug as string)\n .eq(\"is_active\", true)\n .limit(1);\n if (existingSlug?.length) {\n return { success: false, error: \"Webhook slug already in use. Choose a different slug.\" };\n }\n const { data, error } = await supabase.from(\"webhook_endpoints\").insert({\n store_id: sid, name: args.name as string, description: args.description as string || null,\n slug: args.slug as string, workflow_id: args.workflow_id as string,\n verify_signature: args.verify_signature ?? true,\n max_requests_per_minute: (args.max_requests_per_minute as number) || 60,\n payload_transform: args.payload_transform || null,\n sync_response: args.sync_response ?? false,\n sync_timeout_seconds: (args.sync_timeout_seconds as number) || 30,\n }).select().single();\n if (error) return { success: false, error: error.message };\n return { success: true, data: { ...data, webhook_url: `https://whale-agent.fly.dev/webhooks/${data.slug}` } };\n }\n\n case \"list_webhooks\": {\n const { data, error } = await supabase.from(\"webhook_endpoints\")\n .select(\"id, name, description, slug, workflow_id, is_active, verify_signature, sync_response, last_received_at, total_received, created_at\")\n .eq(\"store_id\", sid).order(\"created_at\", { ascending: false });\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"delete_webhook\": {\n const { error } = await supabase.from(\"webhook_endpoints\").delete()\n .eq(\"id\", args.webhook_id as string).eq(\"store_id\", sid);\n return error ? { success: false, error: error.message } : { success: true, data: { deleted: true } };\n }\n\n // ================================================================\n // PHASE 2: Approval actions\n // ================================================================\n\n case \"list_approvals\": {\n let q = supabase.from(\"workflow_approval_requests\")\n .select(\"id, run_id, step_run_id, workflow_id, title, description, prompt, options, form_schema, assigned_to, assigned_role, status, response_data, responded_by, responded_at, expires_at, timeout_action, created_at\")\n .eq(\"store_id\", sid).order(\"created_at\", { ascending: false });\n if (args.status) q = q.eq(\"status\", args.status as string);\n if (args.workflow_id) q = q.eq(\"workflow_id\", args.workflow_id as string);\n if (args.run_id) q = q.eq(\"run_id\", args.run_id as string);\n const { data, error } = await q.limit((args.limit as number) || 25);\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"respond_approval\": {\n if (!args.approval_id) return { success: false, error: \"approval_id required\" };\n if (!args.response_status) return { success: false, error: \"response_status required (approved/rejected)\" };\n\n // FIX 3: Check expiration before calling the RPC (defense in depth)\n const { data: approval, error: approvalErr } = await supabase.from(\"workflow_approval_requests\")\n .select(\"id, expires_at, status\")\n .eq(\"id\", args.approval_id as string).eq(\"store_id\", sid).single();\n if (approvalErr || !approval) return { success: false, error: \"Approval not found\" };\n if (approval.status !== \"pending\") return { success: false, error: `Approval already ${approval.status}` };\n if (approval.expires_at && new Date(approval.expires_at) < new Date()) {\n return { success: false, error: \"Approval has expired\" };\n }\n\n const { data, error } = await supabase.rpc(\"respond_to_approval\", {\n p_approval_id: args.approval_id as string,\n p_store_id: sid,\n p_response: args.response_status as string,\n p_response_data: args.response_data || {},\n p_responded_by: args.responded_by || null,\n });\n if (error) return { success: false, error: error.message };\n return data?.success ? { success: true, data } : { success: false, error: data?.error || \"Failed\" };\n }\n\n // ================================================================\n // PHASE 4: Versioning actions\n // ================================================================\n\n case \"publish\": {\n if (!args.workflow_id) return { success: false, error: \"workflow_id required\" };\n const { data, error } = await supabase.rpc(\"publish_workflow_version\", {\n p_workflow_id: args.workflow_id as string,\n p_store_id: sid,\n p_changelog: args.changelog as string || null,\n p_published_by: args.published_by || null,\n });\n if (error) return { success: false, error: error.message };\n if (!data?.success) return { success: false, error: data?.error || \"Failed\" };\n // Auto-activate on publish — publishing implies ready to run\n await supabase.from(\"workflows\").update({ is_active: true, status: \"active\" })\n .eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid);\n return { success: true, data };\n }\n\n case \"versions\": {\n if (!args.workflow_id) return { success: false, error: \"workflow_id required\" };\n // IDOR FIX: Verify the workflow belongs to this store\n const { data: versionsWfCheck } = await supabase.from(\"workflows\")\n .select(\"id\").eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid).single();\n if (!versionsWfCheck) return { success: false, error: \"Workflow not found or access denied\" };\n\n const { data, error } = await supabase.from(\"workflow_versions\")\n .select(\"id, version, name, description, trigger_type, published_by, published_at, changelog\")\n .eq(\"workflow_id\", args.workflow_id as string)\n .order(\"version\", { ascending: false })\n .limit((args.limit as number) || 25);\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"version_detail\": {\n if (!args.version_id) return { success: false, error: \"version_id required\" };\n // Load full version row\n const { data: ver, error: vErr } = await supabase.from(\"workflow_versions\")\n .select(\"*\")\n .eq(\"id\", args.version_id as string)\n .single();\n if (vErr || !ver) return { success: false, error: vErr?.message || \"Version not found\" };\n // IDOR FIX: Verify the version's workflow belongs to this store\n const { data: versionWfCheck } = await supabase.from(\"workflows\")\n .select(\"id\").eq(\"id\", ver.workflow_id).eq(\"store_id\", sid).single();\n if (!versionWfCheck) return { success: false, error: \"Version not found or access denied\" };\n // Also load the workflow steps that existed at publish time\n // (stored as a snapshot in the version row, or we load current steps for the workflow)\n let steps: unknown[] = [];\n if (ver.steps_snapshot && Array.isArray(ver.steps_snapshot)) {\n steps = ver.steps_snapshot;\n } else {\n // Fallback: load current steps from workflow_steps table\n const { data: stepData } = await supabase.from(\"workflow_steps\")\n .select(\"id, step_key, name, type, config, position_x, position_y, depends_on\")\n .eq(\"workflow_id\", ver.workflow_id)\n .order(\"step_order\", { ascending: true });\n steps = stepData || [];\n }\n return { success: true, data: { ...ver, steps } };\n }\n\n case \"rollback\": {\n if (!args.workflow_id || !args.version_id) return { success: false, error: \"workflow_id and version_id required\" };\n // Verify workflow belongs to this store\n const { data: rbWfCheck } = await supabase.from(\"workflows\")\n .select(\"id\").eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid).single();\n if (!rbWfCheck) return { success: false, error: \"Workflow not found or access denied\" };\n // Verify version belongs to this workflow\n const { data: version, error: verErr } = await supabase.from(\"workflow_versions\")\n .select(\"id, version, steps_snapshot\").eq(\"id\", args.version_id as string)\n .eq(\"workflow_id\", args.workflow_id as string).single();\n if (verErr || !version) return { success: false, error: \"Version not found for this workflow\" };\n\n // P1 FIX: Restore steps from snapshot — not just the version pointer\n if (version.steps_snapshot && Array.isArray(version.steps_snapshot)) {\n // Delete current steps\n await supabase.from(\"workflow_steps\")\n .delete().eq(\"workflow_id\", args.workflow_id as string);\n // Upsert from snapshot\n const stepsToInsert = (version.steps_snapshot as any[]).map((s: any) => ({\n ...s,\n workflow_id: args.workflow_id as string,\n }));\n if (stepsToInsert.length > 0) {\n await supabase.from(\"workflow_steps\").upsert(stepsToInsert, { onConflict: \"id\" });\n }\n }\n\n const { error } = await supabase.from(\"workflows\").update({\n published_version_id: version.id,\n }).eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid);\n return error ? { success: false, error: error.message } : { success: true, data: { rolled_back_to: version.version, version_id: version.id, steps_restored: !!(version.steps_snapshot) } };\n }\n\n // ================================================================\n // PHASE 5: Template actions\n // ================================================================\n\n case \"list_templates\": {\n let q = supabase.from(\"workflows\")\n .select(\"id, name, description, icon, trigger_type, template_category, template_tags, clone_count, created_at\")\n .eq(\"is_template\", true).order(\"clone_count\", { ascending: false });\n if (args.category) q = q.eq(\"template_category\", args.category as string);\n const { data, error } = await q.limit((args.limit as number) || 50);\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"clone_template\": {\n if (!args.template_id) return { success: false, error: \"template_id required\" };\n const { data, error } = await supabase.rpc(\"clone_workflow_template\", {\n p_template_id: args.template_id as string,\n p_store_id: sid,\n p_name: args.name as string || null,\n });\n if (error) return { success: false, error: error.message };\n return data?.success ? { success: true, data } : { success: false, error: data?.error || \"Failed\" };\n }\n\n // ================================================================\n // Checkpoint / replay — time-travel debugging\n // ================================================================\n\n case \"checkpoints\": {\n if (!args.run_id) return { success: false, error: \"run_id required\" };\n // IDOR FIX: Verify the run belongs to this store\n const { data: cpRunCheck } = await supabase.from(\"workflow_runs\")\n .select(\"id\").eq(\"id\", args.run_id as string).eq(\"store_id\", sid).single();\n if (!cpRunCheck) return { success: false, error: \"Run not found or access denied\" };\n\n const { data, error } = await supabase.from(\"workflow_checkpoints\")\n .select(\"id, step_key, step_run_id, sequence_number, created_at\")\n .eq(\"run_id\", args.run_id as string)\n .order(\"sequence_number\", { ascending: true });\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"replay\": {\n if (!args.run_id) return { success: false, error: \"run_id required\" };\n const fromStepKey = args.from_step as string;\n\n // Load the checkpoint to replay from\n let checkpointQuery = supabase.from(\"workflow_checkpoints\")\n .select(\"*\").eq(\"run_id\", args.run_id as string);\n if (fromStepKey) {\n checkpointQuery = checkpointQuery.eq(\"step_key\", fromStepKey);\n } else {\n // Default: replay from last successful checkpoint\n checkpointQuery = checkpointQuery.order(\"sequence_number\", { ascending: false }).limit(1);\n }\n const { data: checkpoint } = await checkpointQuery.single();\n if (!checkpoint) return { success: false, error: \"No checkpoint found\" };\n\n // Get original run's workflow (IDOR FIX: scope to store)\n const { data: origRun } = await supabase.from(\"workflow_runs\")\n .select(\"workflow_id, trigger_type, trigger_payload, version_id\")\n .eq(\"id\", args.run_id as string).eq(\"store_id\", sid).single();\n if (!origRun) return { success: false, error: \"Original run not found\" };\n\n // Start a new run with checkpoint state pre-loaded\n const { data: newRun, error: startErr } = await supabase.rpc(\"start_workflow_run\", {\n p_workflow_id: origRun.workflow_id,\n p_store_id: sid,\n p_trigger_type: \"replay\",\n p_trigger_payload: checkpoint.trigger_payload || origRun.trigger_payload || {},\n p_idempotency_key: null,\n });\n if (startErr || !newRun?.success) return { success: false, error: startErr?.message || \"Failed to start replay run\" };\n\n // Pre-load step_outputs from checkpoint\n await supabase.from(\"workflow_runs\").update({\n step_outputs: checkpoint.step_outputs,\n version_id: origRun.version_id,\n }).eq(\"id\", newRun.run_id);\n\n // Cancel the auto-created entry step runs (we'll create our own starting from the checkpoint step)\n await supabase.from(\"workflow_step_runs\").update({ status: \"cancelled\" })\n .eq(\"run_id\", newRun.run_id).eq(\"status\", \"pending\");\n\n // Find what step comes AFTER the checkpoint step\n const { data: checkpointStepDef } = await supabase.from(\"workflow_steps\")\n .select(\"on_success\").eq(\"workflow_id\", origRun.workflow_id)\n .eq(\"step_key\", checkpoint.step_key).single();\n\n if (checkpointStepDef?.on_success) {\n // createNextStepRunByKey is internal to workflow-steps — use direct insert\n const { data: nextStepDef } = await supabase.from(\"workflow_steps\")\n .select(\"id, step_key, step_type, max_retries\")\n .eq(\"workflow_id\", origRun.workflow_id).eq(\"step_key\", checkpointStepDef.on_success).single();\n if (nextStepDef) {\n await supabase.from(\"workflow_step_runs\").insert({\n run_id: newRun.run_id, step_id: nextStepDef.id, step_key: nextStepDef.step_key,\n step_type: nextStepDef.step_type, status: \"pending\", max_attempts: nextStepDef.max_retries ?? 3,\n });\n }\n try { await executeInlineChain(supabase, newRun.run_id); } catch (err) { console.error(\"[workflow] Inline chain failed for replay run\", newRun.run_id, \":\", (err as Error).message); }\n }\n\n logWorkflowEvent(supabase, newRun.run_id, \"run_replayed\", {\n original_run_id: args.run_id, from_step: checkpoint.step_key, checkpoint_id: checkpoint.id,\n });\n\n return { success: true, data: { run_id: newRun.run_id, replayed_from: checkpoint.step_key, original_run_id: args.run_id } };\n }\n\n // ================================================================\n // Event journal — time-travel debugging\n // ================================================================\n\n case \"events\": {\n if (!args.run_id) return { success: false, error: \"run_id required\" };\n // IDOR FIX: Verify the run belongs to this store\n const { data: eventsRunCheck } = await supabase.from(\"workflow_runs\")\n .select(\"id\").eq(\"id\", args.run_id as string).eq(\"store_id\", sid).single();\n if (!eventsRunCheck) return { success: false, error: \"Run not found or access denied\" };\n\n const { data, error } = await supabase.from(\"workflow_events\")\n .select(\"id, event_type, step_run_id, payload, created_at\")\n .eq(\"run_id\", args.run_id as string)\n .order(\"created_at\", { ascending: true })\n .limit((args.limit as number) || 200);\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n // ================================================================\n // Waitpoint actions\n // ================================================================\n\n case \"list_waitpoints\": {\n let q = supabase.from(\"waitpoint_tokens\")\n .select(\"id, token, run_id, step_run_id, label, status, expires_at, completed_at, created_at\")\n .eq(\"store_id\", sid).order(\"created_at\", { ascending: false });\n if (args.run_id) q = q.eq(\"run_id\", args.run_id as string);\n if (args.status) q = q.eq(\"status\", args.status as string);\n const { data, error } = await q.limit((args.limit as number) || 25);\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"complete_waitpoint\": {\n if (!args.token) return { success: false, error: \"token required\" };\n // Find the waitpoint\n const { data: wp, error: wpErr } = await supabase.from(\"waitpoint_tokens\")\n .select(\"id, run_id, step_run_id, store_id, expires_at, status\")\n .eq(\"token\", args.token as string).eq(\"store_id\", sid).single();\n if (wpErr || !wp) return { success: false, error: \"Waitpoint token not found\" };\n if (wp.status === \"completed\") return { success: false, error: \"Waitpoint already completed\" };\n if (wp.expires_at && new Date(wp.expires_at) < new Date()) return { success: false, error: \"Waitpoint expired\" };\n // Mark completed\n await supabase.from(\"waitpoint_tokens\").update({\n status: \"completed\", completion_data: args.data || {}, completed_at: new Date().toISOString(),\n }).eq(\"id\", wp.id);\n // Resume the waiting step\n await supabase.from(\"workflow_step_runs\").update({\n status: \"pending\", input: { waitpoint_completed: true, waitpoint_data: args.data || {} },\n }).eq(\"id\", wp.step_run_id).eq(\"status\", \"waiting\");\n // Inline resume\n try { await executeInlineChain(supabase, wp.run_id); } catch (err) { console.error(\"[workflow] Inline chain failed after waitpoint:\", (err as Error).message); }\n return { success: true, data: { completed: true, run_id: wp.run_id } };\n }\n\n // ================================================================\n // Dead Letter Queue actions\n // ================================================================\n\n case \"dlq\": {\n let q = supabase.from(\"workflow_dlq\")\n .select(\"id, workflow_id, workflow_name, run_id, error_message, error_step_key, trigger_type, status, run_duration_ms, created_at\")\n .eq(\"store_id\", sid).order(\"created_at\", { ascending: false });\n if (args.status) q = q.eq(\"status\", args.status as string);\n if (args.workflow_id) q = q.eq(\"workflow_id\", args.workflow_id as string);\n const { data, error } = await q.limit((args.limit as number) || 25);\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"dlq_retry\": {\n if (!args.dlq_id) return { success: false, error: \"dlq_id required\" };\n const { data: dlqEntry } = await supabase.from(\"workflow_dlq\")\n .select(\"*\").eq(\"id\", args.dlq_id as string).eq(\"store_id\", sid).single();\n if (!dlqEntry) return { success: false, error: \"DLQ entry not found\" };\n if (dlqEntry.status !== \"pending\") return { success: false, error: `DLQ entry already ${dlqEntry.status}` };\n\n // FIX 1: Preserve version_id from the original failed run\n const { data: originalRun } = await supabase.from(\"workflow_runs\")\n .select(\"version_id\")\n .eq(\"id\", dlqEntry.run_id)\n .single();\n\n // Start a fresh run of the same workflow with the same trigger\n const { data: result, error: startErr } = await supabase.rpc(\"start_workflow_run\", {\n p_workflow_id: dlqEntry.workflow_id,\n p_store_id: sid,\n p_trigger_type: dlqEntry.trigger_type || \"dlq_retry\",\n p_trigger_payload: { ...(dlqEntry.trigger_payload || {}), dlq_retry: true, original_run_id: dlqEntry.run_id },\n p_idempotency_key: null,\n });\n if (startErr || !result?.success) return { success: false, error: startErr?.message || result?.error || \"Retry failed\" };\n\n // Set version_id from the original failed run (same pattern as \"start\" action)\n if (result.run_id && !result.deduplicated && originalRun?.version_id) {\n await supabase.from(\"workflow_runs\").update({ version_id: originalRun.version_id }).eq(\"id\", result.run_id);\n }\n\n // Update DLQ entry\n await supabase.from(\"workflow_dlq\").update({\n status: \"retried\", retried_run_id: result.run_id,\n attempt_count: (dlqEntry.attempt_count || 1) + 1,\n }).eq(\"id\", dlqEntry.id);\n\n // Inline execution for the retry\n try { await executeInlineChain(supabase, result.run_id); } catch (err) { console.error(\"[workflow] Inline chain failed for DLQ retry run\", result.run_id, \":\", (err as Error).message); }\n\n return { success: true, data: { retried: true, new_run_id: result.run_id, dlq_id: dlqEntry.id } };\n }\n\n case \"dlq_dismiss\": {\n if (!args.dlq_id) return { success: false, error: \"dlq_id required\" };\n const { error } = await supabase.from(\"workflow_dlq\").update({\n status: \"dismissed\",\n dismissed_by: (args.dismissed_by as string) || null,\n dismissed_at: new Date().toISOString(),\n notes: (args.notes as string) || null,\n }).eq(\"id\", args.dlq_id as string).eq(\"store_id\", sid).eq(\"status\", \"pending\");\n return error ? { success: false, error: error.message } : { success: true, data: { dismissed: true } };\n }\n\n // ================================================================\n // Enhanced metrics + DAG visualization\n // ================================================================\n\n case \"metrics\": {\n const { data, error } = await supabase.rpc(\"get_workflow_metrics\", {\n p_store_id: sid, p_days: (args.days as number) || 30,\n });\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"graph\": {\n // Return DAG visualization data (nodes + edges) for a workflow\n if (!args.workflow_id) return { success: false, error: \"workflow_id required\" };\n // P0 FIX: IDOR protection — verify workflow belongs to this store before querying steps\n const { data: graphWfCheck } = await supabase.from(\"workflows\")\n .select(\"id\").eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid).single();\n if (!graphWfCheck) return { success: false, error: \"Workflow not found or access denied\" };\n\n const { data: steps, error: stepsErr } = await supabase.from(\"workflow_steps\")\n .select(\"id, step_key, step_type, is_entry_point, on_success, on_failure, position_x, position_y, step_config, timeout_seconds, max_retries\")\n .eq(\"workflow_id\", args.workflow_id as string)\n .order(\"position_y\", { ascending: true });\n if (stepsErr) return { success: false, error: stepsErr.message };\n\n const nodes = (steps || []).map(s => ({\n id: s.step_key,\n step_id: s.id, // UUID for update_step/delete_step\n type: s.step_type,\n label: s.step_key,\n is_entry_point: s.is_entry_point,\n on_success: s.on_success || null,\n on_failure: s.on_failure || null,\n max_retries: s.max_retries,\n timeout_seconds: s.timeout_seconds,\n step_config: s.step_config || {},\n position: { x: s.position_x || 0, y: s.position_y || 0 },\n config_summary: {\n timeout: s.timeout_seconds,\n max_retries: s.max_retries,\n ...(s.step_type === \"condition\" ? { expression: (s.step_config as any)?.expression } : {}),\n ...(s.step_type === \"tool\" ? { tool_name: (s.step_config as any)?.tool_name } : {}),\n ...(s.step_type === \"delay\" ? { seconds: (s.step_config as any)?.seconds } : {}),\n },\n }));\n\n const edges: Array<{ from: string; to: string; type: string }> = [];\n for (const s of steps || []) {\n if (s.on_success) edges.push({ from: s.step_key, to: s.on_success, type: \"success\" });\n if (s.on_failure) edges.push({ from: s.step_key, to: s.on_failure, type: \"failure\" });\n // Handle condition branches\n const cfg = s.step_config as any;\n if (s.step_type === \"condition\") {\n if (cfg?.on_true) edges.push({ from: s.step_key, to: cfg.on_true, type: \"true\" });\n if (cfg?.on_false) edges.push({ from: s.step_key, to: cfg.on_false, type: \"false\" });\n }\n // Handle parallel children\n const parallelKeys = cfg?.step_keys || cfg?.child_steps;\n if (s.step_type === \"parallel\" && Array.isArray(parallelKeys)) {\n for (const childKey of parallelKeys) {\n edges.push({ from: s.step_key, to: childKey, type: \"parallel\" });\n }\n }\n }\n\n // If run_id provided, overlay live status on nodes\n let nodeStatus: Record<string, { status: string; duration_ms: number | null; error?: string }> = {};\n if (args.run_id) {\n const { data: stepRuns } = await supabase.from(\"workflow_step_runs\")\n .select(\"step_key, status, duration_ms, error_message\")\n .eq(\"run_id\", args.run_id as string);\n for (const sr of stepRuns || []) {\n nodeStatus[sr.step_key] = { status: sr.status, duration_ms: sr.duration_ms, ...(sr.error_message ? { error: sr.error_message } : {}) };\n }\n }\n\n return { success: true, data: { nodes, edges, node_status: Object.keys(nodeStatus).length ? nodeStatus : undefined } };\n }\n\n // ================================================================\n // Schedule management\n // ================================================================\n\n case \"set_schedule\": {\n if (!args.workflow_id) return { success: false, error: \"workflow_id required\" };\n const cronExpr = args.cron_expression as string | null;\n const runAt = args.run_at as string | null;\n\n if (runAt) {\n // One-time schedule: run once at a specific datetime\n const runAtDate = new Date(runAt);\n if (isNaN(runAtDate.getTime())) return { success: false, error: `Invalid run_at datetime: ${runAt}` };\n if (runAtDate <= new Date()) return { success: false, error: \"run_at must be in the future\" };\n const { error } = await supabase.from(\"workflows\").update({\n cron_expression: null,\n next_run_at: runAtDate.toISOString(),\n trigger_type: \"schedule\",\n timezone: (args.timezone as string) || \"UTC\",\n is_active: true,\n status: \"active\",\n }).eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid);\n return error ? { success: false, error: error.message } : { success: true, data: { one_time: true, run_at: runAtDate.toISOString() } };\n } else if (cronExpr) {\n // Recurring cron schedule\n const next = getNextCronTime(cronExpr);\n if (!next) return { success: false, error: `Invalid cron expression: ${cronExpr}` };\n const { error } = await supabase.from(\"workflows\").update({\n cron_expression: cronExpr,\n next_run_at: next.toISOString(),\n trigger_type: \"schedule\",\n timezone: (args.timezone as string) || \"UTC\",\n }).eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid);\n return error ? { success: false, error: error.message } : { success: true, data: { cron: cronExpr, next_run_at: next.toISOString() } };\n } else {\n // Clear schedule\n const { error } = await supabase.from(\"workflows\").update({\n cron_expression: null, next_run_at: null,\n }).eq(\"id\", args.workflow_id as string).eq(\"store_id\", sid);\n return error ? { success: false, error: error.message } : { success: true, data: { schedule_cleared: true } };\n }\n }\n\n // ================================================================\n // Event bus — fire events & manage subscriptions\n // ================================================================\n\n case \"fire_event\": {\n if (!args.event_type) return { success: false, error: \"event_type required\" };\n const { data: evtId, error: evtErr } = await supabase.rpc(\"fire_event\", {\n p_store_id: sid,\n p_event_type: args.event_type as string,\n p_event_payload: (args.event_payload as Record<string, unknown>) || {},\n p_source: (args.source as string) || \"workflow_tool\",\n });\n return evtErr ? { success: false, error: evtErr.message } : { success: true, data: { event_id: evtId } };\n }\n\n case \"list_subscriptions\": {\n let q = supabase.from(\"workflow_event_subscriptions\")\n .select(\"id, store_id, workflow_id, event_type, filter_expression, is_active, created_at\")\n .eq(\"store_id\", sid).order(\"created_at\", { ascending: false });\n if (args.event_type) q = q.eq(\"event_type\", args.event_type as string);\n if (args.workflow_id) q = q.eq(\"workflow_id\", args.workflow_id as string);\n const { data, error } = await q.limit((args.limit as number) || 50);\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"create_subscription\": {\n if (!args.workflow_id) return { success: false, error: \"workflow_id required\" };\n if (!args.event_type) return { success: false, error: \"event_type required\" };\n const { data: sub, error: subErr } = await supabase.from(\"workflow_event_subscriptions\")\n .insert({\n store_id: sid,\n workflow_id: args.workflow_id as string,\n event_type: args.event_type as string,\n filter_expression: (args.filter_expression as string) || null,\n is_active: args.is_active !== false,\n })\n .select().single();\n return subErr ? { success: false, error: subErr.message } : { success: true, data: sub };\n }\n\n case \"delete_subscription\": {\n if (!args.subscription_id) return { success: false, error: \"subscription_id required\" };\n const { error: delErr } = await supabase.from(\"workflow_event_subscriptions\")\n .delete().eq(\"id\", args.subscription_id as string).eq(\"store_id\", sid);\n return delErr ? { success: false, error: delErr.message } : { success: true, data: { deleted: true } };\n }\n\n case \"list_events\": {\n let q = supabase.from(\"automation_events\")\n .select(\"id, store_id, event_type, event_payload, source, status, processed_at, error_message, created_at\")\n .eq(\"store_id\", sid).order(\"created_at\", { ascending: false });\n if (args.event_type) q = q.eq(\"event_type\", args.event_type as string);\n if (args.status) q = q.eq(\"status\", args.status as string);\n const { data, error } = await q.limit((args.limit as number) || 50);\n return error ? { success: false, error: error.message } : { success: true, data };\n }\n\n case \"list_tools\": {\n const { data, error } = await supabase.from(\"ai_tool_registry\")\n .select(\"name, description, category, definition, tool_mode, is_read_only, requires_store_id\")\n .eq(\"is_active\", true)\n .or(\"tool_mode.is.null,tool_mode.neq.code\")\n .order(\"category\").order(\"name\");\n if (error) return { success: false, error: error.message };\n const tools = (data || []).map((row: Record<string, unknown>) => {\n const def = row.definition as Record<string, unknown> | null;\n const inputSchema = def?.input_schema as Record<string, unknown> | null;\n const actionProp = (inputSchema?.properties as Record<string, unknown>)?.action as Record<string, unknown> | null;\n const actions = (actionProp?.enum as string[]) || [];\n return {\n name: row.name,\n description: row.description || def?.description || \"\",\n category: row.category || \"other\",\n actions,\n input_schema: inputSchema || null,\n tool_mode: row.tool_mode || null,\n is_read_only: row.is_read_only ?? false,\n requires_store_id: row.requires_store_id ?? false,\n };\n });\n return { success: true, data: { tools } };\n }\n\n default:\n return { success: false, error: `Unknown workflow action: ${action}` };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
// workflows.part2.test.ts — Tests for handleWorkflows: pause, resume, cancel, dlq, empty data, unknown action
|
|
2
|
+
|
|
3
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
4
|
+
import { HAS_TEST_DB, getTestClient, seedTracked, cleanup, TEST_STORE, RUN_PREFIX } from "./__test-utils__/test-db.js";
|
|
5
|
+
import { randomUUID } from "node:crypto";
|
|
6
|
+
// Mock workflow-steps exports that workflows.ts imports
|
|
7
|
+
vi.mock("./workflow-steps.js", () => ({
|
|
8
|
+
setToolExecutor: vi.fn(),
|
|
9
|
+
setAgentExecutor: vi.fn(),
|
|
10
|
+
setTokenBroadcaster: vi.fn(),
|
|
11
|
+
setStepErrorBroadcaster: vi.fn(),
|
|
12
|
+
processWorkflowSteps: vi.fn(),
|
|
13
|
+
processWaitingSteps: vi.fn(),
|
|
14
|
+
executeAndAdvance: vi.fn(),
|
|
15
|
+
executeInlineChain: vi.fn(),
|
|
16
|
+
generateGuestApprovalUrl: vi.fn(),
|
|
17
|
+
verifyGuestApprovalSignature: vi.fn(),
|
|
18
|
+
processScheduleTriggers: vi.fn(),
|
|
19
|
+
enforceWorkflowTimeouts: vi.fn(),
|
|
20
|
+
processEventTriggers: vi.fn(),
|
|
21
|
+
handleWebhookIngestion: vi.fn(),
|
|
22
|
+
initWorkerPool: vi.fn(),
|
|
23
|
+
getPoolStats: vi.fn(),
|
|
24
|
+
shutdownPool: vi.fn(),
|
|
25
|
+
getNextCronTime: vi.fn(() => new Date("2026-03-01T00:00:00Z")),
|
|
26
|
+
logWorkflowEvent: vi.fn(),
|
|
27
|
+
completeWorkflowRun: vi.fn()
|
|
28
|
+
}));
|
|
29
|
+
import { handleWorkflows } from "./workflows.js";
|
|
30
|
+
const sb = getTestClient();
|
|
31
|
+
describe.skipIf(!HAS_TEST_DB)("handleWorkflows — pause/resume/cancel & edge cases", () => {
|
|
32
|
+
beforeEach(() => {
|
|
33
|
+
vi.restoreAllMocks();
|
|
34
|
+
});
|
|
35
|
+
afterEach(async () => {
|
|
36
|
+
vi.restoreAllMocks();
|
|
37
|
+
await cleanup();
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// ========================================================================
|
|
41
|
+
// PAUSE / RESUME / CANCEL
|
|
42
|
+
// ========================================================================
|
|
43
|
+
|
|
44
|
+
describe("action: pause", () => {
|
|
45
|
+
it("pauses a running workflow run", async () => {
|
|
46
|
+
const wfId = randomUUID();
|
|
47
|
+
const runId = randomUUID();
|
|
48
|
+
await seedTracked("workflows", [{
|
|
49
|
+
id: wfId,
|
|
50
|
+
store_id: TEST_STORE,
|
|
51
|
+
name: `${RUN_PREFIX} WF`
|
|
52
|
+
}]);
|
|
53
|
+
await seedTracked("workflow_runs", [{
|
|
54
|
+
id: runId,
|
|
55
|
+
store_id: TEST_STORE,
|
|
56
|
+
workflow_id: wfId,
|
|
57
|
+
status: "running"
|
|
58
|
+
}]);
|
|
59
|
+
const result = await handleWorkflows(sb, {
|
|
60
|
+
action: "pause",
|
|
61
|
+
run_id: runId
|
|
62
|
+
}, TEST_STORE);
|
|
63
|
+
expect(result.success).toBe(true);
|
|
64
|
+
expect(result.data.paused).toBe(true);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
describe("action: resume", () => {
|
|
68
|
+
it("resumes a paused workflow run", async () => {
|
|
69
|
+
const wfId = randomUUID();
|
|
70
|
+
const runId = randomUUID();
|
|
71
|
+
await seedTracked("workflows", [{
|
|
72
|
+
id: wfId,
|
|
73
|
+
store_id: TEST_STORE,
|
|
74
|
+
name: `${RUN_PREFIX} WF`
|
|
75
|
+
}]);
|
|
76
|
+
await seedTracked("workflow_runs", [{
|
|
77
|
+
id: runId,
|
|
78
|
+
store_id: TEST_STORE,
|
|
79
|
+
workflow_id: wfId,
|
|
80
|
+
status: "paused"
|
|
81
|
+
}]);
|
|
82
|
+
const result = await handleWorkflows(sb, {
|
|
83
|
+
action: "resume",
|
|
84
|
+
run_id: runId
|
|
85
|
+
}, TEST_STORE);
|
|
86
|
+
expect(result.success).toBe(true);
|
|
87
|
+
expect(result.data.resumed).toBe(true);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
describe("action: cancel", () => {
|
|
91
|
+
it("cancels a workflow run", async () => {
|
|
92
|
+
const wfId = randomUUID();
|
|
93
|
+
const runId = randomUUID();
|
|
94
|
+
await seedTracked("workflows", [{
|
|
95
|
+
id: wfId,
|
|
96
|
+
store_id: TEST_STORE,
|
|
97
|
+
name: `${RUN_PREFIX} WF`
|
|
98
|
+
}]);
|
|
99
|
+
await seedTracked("workflow_runs", [{
|
|
100
|
+
id: runId,
|
|
101
|
+
store_id: TEST_STORE,
|
|
102
|
+
workflow_id: wfId
|
|
103
|
+
}]);
|
|
104
|
+
const result = await handleWorkflows(sb, {
|
|
105
|
+
action: "cancel",
|
|
106
|
+
run_id: runId
|
|
107
|
+
}, TEST_STORE);
|
|
108
|
+
expect(result.success).toBe(true);
|
|
109
|
+
expect(result.data.cancelled).toBe(true);
|
|
110
|
+
});
|
|
111
|
+
it("returns error when run not found", async () => {
|
|
112
|
+
const result = await handleWorkflows(sb, {
|
|
113
|
+
action: "cancel",
|
|
114
|
+
run_id: randomUUID()
|
|
115
|
+
}, TEST_STORE);
|
|
116
|
+
expect(result.success).toBe(false);
|
|
117
|
+
expect(result.error).toContain("not found");
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
// ========================================================================
|
|
122
|
+
// DLQ
|
|
123
|
+
// ========================================================================
|
|
124
|
+
|
|
125
|
+
describe("action: dlq", () => {
|
|
126
|
+
it("handles empty DLQ gracefully", async () => {
|
|
127
|
+
const result = await handleWorkflows(sb, {
|
|
128
|
+
action: "dlq"
|
|
129
|
+
}, TEST_STORE);
|
|
130
|
+
expect(result.success).toBe(true);
|
|
131
|
+
expect(Array.isArray(result.data)).toBe(true);
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
// ========================================================================
|
|
136
|
+
// EMPTY DATA
|
|
137
|
+
// ========================================================================
|
|
138
|
+
|
|
139
|
+
describe("empty data handling", () => {
|
|
140
|
+
it("handles empty workflow list gracefully", async () => {
|
|
141
|
+
const result = await handleWorkflows(sb, {
|
|
142
|
+
action: "list"
|
|
143
|
+
}, TEST_STORE);
|
|
144
|
+
expect(result.success).toBe(true);
|
|
145
|
+
expect(Array.isArray(result.data)).toBe(true);
|
|
146
|
+
});
|
|
147
|
+
it("rejects step_runs for non-existent run (IDOR protection)", async () => {
|
|
148
|
+
const result = await handleWorkflows(sb, {
|
|
149
|
+
action: "step_runs",
|
|
150
|
+
run_id: randomUUID()
|
|
151
|
+
}, TEST_STORE);
|
|
152
|
+
expect(result.success).toBe(false);
|
|
153
|
+
expect(result.error).toMatch(/not found|access denied/i);
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
// ========================================================================
|
|
158
|
+
// UNKNOWN ACTION
|
|
159
|
+
// ========================================================================
|
|
160
|
+
|
|
161
|
+
describe("unknown action", () => {
|
|
162
|
+
it("returns error for unrecognized action", async () => {
|
|
163
|
+
const result = await handleWorkflows(sb, {
|
|
164
|
+
action: "nonexistent_action"
|
|
165
|
+
}, TEST_STORE);
|
|
166
|
+
expect(result.success).toBe(false);
|
|
167
|
+
expect(result.error).toContain("Unknown workflow action");
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
});
|