@trigger.dev/sdk 0.0.0-prerelease-20260508094307 → 0.0.0-prerelease-20260810145618
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commonjs/imports/ai-runtime-cjs.cjs.map +1 -0
- package/dist/commonjs/imports/ai-runtime.js +27 -0
- package/dist/commonjs/package.json +2 -1
- package/dist/commonjs/v3/agentSkillsRuntime.d.ts +28 -0
- package/dist/commonjs/v3/agentSkillsRuntime.js +173 -0
- package/dist/commonjs/v3/agentSkillsRuntime.js.map +1 -0
- package/dist/commonjs/v3/ai-shared.d.ts +134 -0
- package/dist/commonjs/v3/ai-shared.js +166 -0
- package/dist/commonjs/v3/ai-shared.js.map +1 -0
- package/dist/commonjs/v3/ai.d.ts +3130 -6
- package/dist/commonjs/v3/ai.js +7255 -18
- package/dist/commonjs/v3/ai.js.map +1 -1
- package/dist/commonjs/v3/aiAutoTelemetry.d.ts +2 -0
- package/dist/commonjs/v3/aiAutoTelemetry.js +81 -0
- package/dist/commonjs/v3/aiAutoTelemetry.js.map +1 -0
- package/dist/commonjs/v3/auth.d.ts +18 -4
- package/dist/commonjs/v3/auth.js +72 -17
- package/dist/commonjs/v3/auth.js.map +1 -1
- package/dist/commonjs/v3/auth.test.js +149 -0
- package/dist/commonjs/v3/auth.test.js.map +1 -0
- package/dist/commonjs/v3/batch.d.ts +1 -1
- package/dist/commonjs/v3/batch.js.map +1 -1
- package/dist/commonjs/v3/batchDebounce.test.js +189 -0
- package/dist/commonjs/v3/batchDebounce.test.js.map +1 -0
- package/dist/commonjs/v3/cache.js.map +1 -1
- package/dist/commonjs/v3/chat-client.d.ts +314 -0
- package/dist/commonjs/v3/chat-client.js +655 -0
- package/dist/commonjs/v3/chat-client.js.map +1 -0
- package/dist/commonjs/v3/chat-react.d.ts +156 -0
- package/dist/commonjs/v3/chat-react.js +334 -0
- package/dist/commonjs/v3/chat-react.js.map +1 -0
- package/dist/commonjs/v3/chat-server.d.ts +305 -0
- package/dist/commonjs/v3/chat-server.js +909 -0
- package/dist/commonjs/v3/chat-server.js.map +1 -0
- package/dist/commonjs/v3/chat-server.test.js +713 -0
- package/dist/commonjs/v3/chat-server.test.js.map +1 -0
- package/dist/commonjs/v3/chat-tab-coordinator.d.ts +65 -0
- package/dist/commonjs/v3/chat-tab-coordinator.js +235 -0
- package/dist/commonjs/v3/chat-tab-coordinator.js.map +1 -0
- package/dist/commonjs/v3/chat-tab-coordinator.test.d.ts +1 -0
- package/dist/commonjs/v3/chat-tab-coordinator.test.js +140 -0
- package/dist/commonjs/v3/chat-tab-coordinator.test.js.map +1 -0
- package/dist/commonjs/v3/chat.d.ts +651 -0
- package/dist/commonjs/v3/chat.js +1256 -0
- package/dist/commonjs/v3/chat.js.map +1 -0
- package/dist/commonjs/v3/chat.test.d.ts +1 -0
- package/dist/commonjs/v3/chat.test.js +1194 -0
- package/dist/commonjs/v3/chat.test.js.map +1 -0
- package/dist/commonjs/v3/config.js +1 -9
- package/dist/commonjs/v3/config.js.map +1 -1
- package/dist/commonjs/v3/createStartSessionAction.test.d.ts +1 -0
- package/dist/commonjs/v3/createStartSessionAction.test.js +176 -0
- package/dist/commonjs/v3/createStartSessionAction.test.js.map +1 -0
- package/dist/commonjs/v3/deployments.d.ts +25 -0
- package/dist/commonjs/v3/deployments.js +37 -0
- package/dist/commonjs/v3/deployments.js.map +1 -0
- package/dist/commonjs/v3/envvars.js.map +1 -1
- package/dist/commonjs/v3/hooks.js.map +1 -1
- package/dist/commonjs/v3/idempotencyKeys.js.map +1 -1
- package/dist/commonjs/v3/index.d.ts +8 -4
- package/dist/commonjs/v3/index.js +26 -8
- package/dist/commonjs/v3/index.js.map +1 -1
- package/dist/commonjs/v3/locals.js.map +1 -1
- package/dist/commonjs/v3/metadata.d.ts +2 -2
- package/dist/commonjs/v3/metadata.js.map +1 -1
- package/dist/commonjs/v3/prompt.js +2 -6
- package/dist/commonjs/v3/prompt.js.map +1 -1
- package/dist/commonjs/v3/promptManagement.js.map +1 -1
- package/dist/commonjs/v3/query.js.map +1 -1
- package/dist/commonjs/v3/queues.d.ts +1 -1
- package/dist/commonjs/v3/queues.js.map +1 -1
- package/dist/commonjs/v3/retry.d.ts +1 -1
- package/dist/commonjs/v3/retry.js +1 -1
- package/dist/commonjs/v3/retry.js.map +1 -1
- package/dist/commonjs/v3/runs-bulk.test.d.ts +1 -0
- package/dist/commonjs/v3/runs-bulk.test.js +141 -0
- package/dist/commonjs/v3/runs-bulk.test.js.map +1 -0
- package/dist/commonjs/v3/runs.d.ts +108 -77
- package/dist/commonjs/v3/runs.js +88 -0
- package/dist/commonjs/v3/runs.js.map +1 -1
- package/dist/commonjs/v3/schedules/index.d.ts +3 -3
- package/dist/commonjs/v3/schedules/index.js.map +1 -1
- package/dist/commonjs/v3/sessions.d.ts +232 -0
- package/dist/commonjs/v3/sessions.js +673 -0
- package/dist/commonjs/v3/sessions.js.map +1 -0
- package/dist/commonjs/v3/sessions.test.d.ts +1 -0
- package/dist/commonjs/v3/sessions.test.js +154 -0
- package/dist/commonjs/v3/sessions.test.js.map +1 -0
- package/dist/commonjs/v3/shared.d.ts +29 -7
- package/dist/commonjs/v3/shared.js +314 -43
- package/dist/commonjs/v3/shared.js.map +1 -1
- package/dist/commonjs/v3/shared.test.js +46 -0
- package/dist/commonjs/v3/shared.test.js.map +1 -1
- package/dist/commonjs/v3/skill.d.ts +99 -0
- package/dist/commonjs/v3/skill.js +165 -0
- package/dist/commonjs/v3/skill.js.map +1 -0
- package/dist/commonjs/v3/skills.d.ts +2 -0
- package/dist/commonjs/v3/skills.js +6 -0
- package/dist/commonjs/v3/skills.js.map +1 -0
- package/dist/commonjs/v3/streams.d.ts +1 -1
- package/dist/commonjs/v3/streams.js +131 -24
- package/dist/commonjs/v3/streams.js.map +1 -1
- package/dist/commonjs/v3/streams.test.js +3 -3
- package/dist/commonjs/v3/streams.test.js.map +1 -1
- package/dist/commonjs/v3/tasks.d.ts +2 -1
- package/dist/commonjs/v3/tasks.js +1 -0
- package/dist/commonjs/v3/tasks.js.map +1 -1
- package/dist/commonjs/v3/test/index.d.ts +3 -0
- package/dist/commonjs/v3/test/index.js +18 -0
- package/dist/commonjs/v3/test/index.js.map +1 -0
- package/dist/commonjs/v3/test/mock-chat-agent.d.ts +265 -0
- package/dist/commonjs/v3/test/mock-chat-agent.js +466 -0
- package/dist/commonjs/v3/test/mock-chat-agent.js.map +1 -0
- package/dist/commonjs/v3/test/setup-catalog.d.ts +1 -0
- package/dist/commonjs/v3/test/setup-catalog.js +18 -0
- package/dist/commonjs/v3/test/setup-catalog.js.map +1 -0
- package/dist/commonjs/v3/test/test-session-handle.d.ts +54 -0
- package/dist/commonjs/v3/test/test-session-handle.js +268 -0
- package/dist/commonjs/v3/test/test-session-handle.js.map +1 -0
- package/dist/commonjs/v3/triggerClient.d.ts +45 -0
- package/dist/commonjs/v3/triggerClient.js +114 -0
- package/dist/commonjs/v3/triggerClient.js.map +1 -0
- package/dist/commonjs/v3/triggerClient.test.d.ts +1 -0
- package/dist/commonjs/v3/triggerClient.test.js +226 -0
- package/dist/commonjs/v3/triggerClient.test.js.map +1 -0
- package/dist/commonjs/v3/triggerClient.types.test.d.ts +1 -0
- package/dist/commonjs/v3/triggerClient.types.test.js +123 -0
- package/dist/commonjs/v3/triggerClient.types.test.js.map +1 -0
- package/dist/commonjs/v3/wait.d.ts +8 -2
- package/dist/commonjs/v3/wait.js.map +1 -1
- package/dist/commonjs/v3/waitUntil.js.map +1 -1
- package/dist/commonjs/v3/webhooks.js +1 -1
- package/dist/commonjs/v3/webhooks.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/imports/ai-runtime.d.ts +2 -0
- package/dist/esm/imports/ai-runtime.js +16 -0
- package/dist/esm/imports/ai-runtime.js.map +1 -0
- package/dist/esm/package.json +2 -1
- package/dist/esm/v3/agentSkillsRuntime.d.ts +28 -0
- package/dist/esm/v3/agentSkillsRuntime.js +136 -0
- package/dist/esm/v3/agentSkillsRuntime.js.map +1 -0
- package/dist/esm/v3/ai-shared.d.ts +134 -0
- package/dist/esm/v3/ai-shared.js +161 -0
- package/dist/esm/v3/ai-shared.js.map +1 -0
- package/dist/esm/v3/ai.d.ts +3130 -6
- package/dist/esm/v3/ai.js +7248 -14
- package/dist/esm/v3/ai.js.map +1 -1
- package/dist/esm/v3/aiAutoTelemetry.d.ts +2 -0
- package/dist/esm/v3/aiAutoTelemetry.js +78 -0
- package/dist/esm/v3/aiAutoTelemetry.js.map +1 -0
- package/dist/esm/v3/auth.d.ts +18 -4
- package/dist/esm/v3/auth.js +70 -15
- package/dist/esm/v3/auth.js.map +1 -1
- package/dist/esm/v3/auth.test.d.ts +1 -0
- package/dist/esm/v3/auth.test.js +147 -0
- package/dist/esm/v3/auth.test.js.map +1 -0
- package/dist/esm/v3/batch.d.ts +1 -1
- package/dist/esm/v3/batch.js +1 -1
- package/dist/esm/v3/batch.js.map +1 -1
- package/dist/esm/v3/batchDebounce.test.d.ts +1 -0
- package/dist/esm/v3/batchDebounce.test.js +187 -0
- package/dist/esm/v3/batchDebounce.test.js.map +1 -0
- package/dist/esm/v3/chat-client.d.ts +314 -0
- package/dist/esm/v3/chat-client.js +650 -0
- package/dist/esm/v3/chat-client.js.map +1 -0
- package/dist/esm/v3/chat-react.d.ts +156 -0
- package/dist/esm/v3/chat-react.js +329 -0
- package/dist/esm/v3/chat-react.js.map +1 -0
- package/dist/esm/v3/chat-server.d.ts +305 -0
- package/dist/esm/v3/chat-server.js +906 -0
- package/dist/esm/v3/chat-server.js.map +1 -0
- package/dist/esm/v3/chat-server.test.d.ts +1 -0
- package/dist/esm/v3/chat-server.test.js +711 -0
- package/dist/esm/v3/chat-server.test.js.map +1 -0
- package/dist/esm/v3/chat-tab-coordinator.d.ts +65 -0
- package/dist/esm/v3/chat-tab-coordinator.js +231 -0
- package/dist/esm/v3/chat-tab-coordinator.js.map +1 -0
- package/dist/esm/v3/chat-tab-coordinator.test.d.ts +1 -0
- package/dist/esm/v3/chat-tab-coordinator.test.js +138 -0
- package/dist/esm/v3/chat-tab-coordinator.test.js.map +1 -0
- package/dist/esm/v3/chat.d.ts +651 -0
- package/dist/esm/v3/chat.js +1249 -0
- package/dist/esm/v3/chat.js.map +1 -0
- package/dist/esm/v3/chat.test.d.ts +1 -0
- package/dist/esm/v3/chat.test.js +1192 -0
- package/dist/esm/v3/chat.test.js.map +1 -0
- package/dist/esm/v3/config.js +1 -9
- package/dist/esm/v3/config.js.map +1 -1
- package/dist/esm/v3/createStartSessionAction.test.d.ts +1 -0
- package/dist/esm/v3/createStartSessionAction.test.js +174 -0
- package/dist/esm/v3/createStartSessionAction.test.js.map +1 -0
- package/dist/esm/v3/deployments.d.ts +25 -0
- package/dist/esm/v3/deployments.js +34 -0
- package/dist/esm/v3/deployments.js.map +1 -0
- package/dist/esm/v3/envvars.js.map +1 -1
- package/dist/esm/v3/idempotencyKeys.js +1 -1
- package/dist/esm/v3/idempotencyKeys.js.map +1 -1
- package/dist/esm/v3/index.d.ts +8 -4
- package/dist/esm/v3/index.js +5 -1
- package/dist/esm/v3/index.js.map +1 -1
- package/dist/esm/v3/metadata.d.ts +2 -2
- package/dist/esm/v3/metadata.js.map +1 -1
- package/dist/esm/v3/prompt.js +2 -6
- package/dist/esm/v3/prompt.js.map +1 -1
- package/dist/esm/v3/promptManagement.js.map +1 -1
- package/dist/esm/v3/query.js.map +1 -1
- package/dist/esm/v3/queues.d.ts +1 -1
- package/dist/esm/v3/queues.js.map +1 -1
- package/dist/esm/v3/retry.d.ts +1 -1
- package/dist/esm/v3/retry.js +1 -1
- package/dist/esm/v3/retry.js.map +1 -1
- package/dist/esm/v3/runs-bulk.test.d.ts +1 -0
- package/dist/esm/v3/runs-bulk.test.js +139 -0
- package/dist/esm/v3/runs-bulk.test.js.map +1 -0
- package/dist/esm/v3/runs.d.ts +110 -79
- package/dist/esm/v3/runs.js +88 -0
- package/dist/esm/v3/runs.js.map +1 -1
- package/dist/esm/v3/schedules/index.d.ts +3 -3
- package/dist/esm/v3/schedules/index.js.map +1 -1
- package/dist/esm/v3/sessions.d.ts +232 -0
- package/dist/esm/v3/sessions.js +665 -0
- package/dist/esm/v3/sessions.js.map +1 -0
- package/dist/esm/v3/sessions.test.d.ts +1 -0
- package/dist/esm/v3/sessions.test.js +152 -0
- package/dist/esm/v3/sessions.test.js.map +1 -0
- package/dist/esm/v3/shared.d.ts +29 -7
- package/dist/esm/v3/shared.js +312 -44
- package/dist/esm/v3/shared.js.map +1 -1
- package/dist/esm/v3/shared.test.js +47 -1
- package/dist/esm/v3/shared.test.js.map +1 -1
- package/dist/esm/v3/skill.d.ts +99 -0
- package/dist/esm/v3/skill.js +128 -0
- package/dist/esm/v3/skill.js.map +1 -0
- package/dist/esm/v3/skills.d.ts +2 -0
- package/dist/esm/v3/skills.js +2 -0
- package/dist/esm/v3/skills.js.map +1 -0
- package/dist/esm/v3/streams.d.ts +1 -1
- package/dist/esm/v3/streams.js +131 -25
- package/dist/esm/v3/streams.js.map +1 -1
- package/dist/esm/v3/streams.test.js +4 -4
- package/dist/esm/v3/streams.test.js.map +1 -1
- package/dist/esm/v3/tasks.d.ts +2 -1
- package/dist/esm/v3/tasks.js +2 -1
- package/dist/esm/v3/tasks.js.map +1 -1
- package/dist/esm/v3/test/index.d.ts +3 -0
- package/dist/esm/v3/test/index.js +13 -0
- package/dist/esm/v3/test/index.js.map +1 -0
- package/dist/esm/v3/test/mock-chat-agent.d.ts +265 -0
- package/dist/esm/v3/test/mock-chat-agent.js +463 -0
- package/dist/esm/v3/test/mock-chat-agent.js.map +1 -0
- package/dist/esm/v3/test/setup-catalog.d.ts +1 -0
- package/dist/esm/v3/test/setup-catalog.js +16 -0
- package/dist/esm/v3/test/setup-catalog.js.map +1 -0
- package/dist/esm/v3/test/test-session-handle.d.ts +54 -0
- package/dist/esm/v3/test/test-session-handle.js +263 -0
- package/dist/esm/v3/test/test-session-handle.js.map +1 -0
- package/dist/esm/v3/triggerClient.d.ts +45 -0
- package/dist/esm/v3/triggerClient.js +77 -0
- package/dist/esm/v3/triggerClient.js.map +1 -0
- package/dist/esm/v3/triggerClient.test.d.ts +1 -0
- package/dist/esm/v3/triggerClient.test.js +224 -0
- package/dist/esm/v3/triggerClient.test.js.map +1 -0
- package/dist/esm/v3/triggerClient.types.test.d.ts +1 -0
- package/dist/esm/v3/triggerClient.types.test.js +88 -0
- package/dist/esm/v3/triggerClient.types.test.js.map +1 -0
- package/dist/esm/v3/wait.d.ts +8 -2
- package/dist/esm/v3/wait.js.map +1 -1
- package/dist/esm/v3/webhooks.js +1 -1
- package/dist/esm/v3/webhooks.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/docs/ai/prompts.mdx +426 -0
- package/docs/ai-chat/actions.mdx +111 -0
- package/docs/ai-chat/anatomy.mdx +67 -0
- package/docs/ai-chat/backend.mdx +813 -0
- package/docs/ai-chat/background-injection.mdx +217 -0
- package/docs/ai-chat/changelog.mdx +958 -0
- package/docs/ai-chat/chat-local.mdx +170 -0
- package/docs/ai-chat/client-protocol.mdx +1083 -0
- package/docs/ai-chat/compaction.mdx +407 -0
- package/docs/ai-chat/custom-agents.mdx +387 -0
- package/docs/ai-chat/error-handling.mdx +411 -0
- package/docs/ai-chat/fast-starts.mdx +757 -0
- package/docs/ai-chat/frontend.mdx +622 -0
- package/docs/ai-chat/how-it-works.mdx +226 -0
- package/docs/ai-chat/lifecycle-hooks.mdx +526 -0
- package/docs/ai-chat/mcp.mdx +97 -0
- package/docs/ai-chat/migrating-from-a-route-handler.mdx +592 -0
- package/docs/ai-chat/overview.mdx +86 -0
- package/docs/ai-chat/patterns/branching-conversations.mdx +280 -0
- package/docs/ai-chat/patterns/code-sandbox.mdx +122 -0
- package/docs/ai-chat/patterns/database-persistence.mdx +410 -0
- package/docs/ai-chat/patterns/human-in-the-loop.mdx +279 -0
- package/docs/ai-chat/patterns/large-payloads.mdx +165 -0
- package/docs/ai-chat/patterns/oom-resilience.mdx +116 -0
- package/docs/ai-chat/patterns/persistence-and-replay.mdx +207 -0
- package/docs/ai-chat/patterns/recovery-boot.mdx +226 -0
- package/docs/ai-chat/patterns/skills.mdx +217 -0
- package/docs/ai-chat/patterns/sub-agents.mdx +379 -0
- package/docs/ai-chat/patterns/tool-result-auditing.mdx +144 -0
- package/docs/ai-chat/patterns/trusted-edge-signals.mdx +333 -0
- package/docs/ai-chat/patterns/version-upgrades.mdx +168 -0
- package/docs/ai-chat/pending-messages.mdx +345 -0
- package/docs/ai-chat/prompt-caching.mdx +206 -0
- package/docs/ai-chat/quick-start.mdx +157 -0
- package/docs/ai-chat/reference.mdx +925 -0
- package/docs/ai-chat/server-chat.mdx +259 -0
- package/docs/ai-chat/sessions.mdx +329 -0
- package/docs/ai-chat/testing.mdx +678 -0
- package/docs/ai-chat/tools.mdx +187 -0
- package/docs/ai-chat/types.mdx +238 -0
- package/docs/ai-chat/upgrade-guide.mdx +511 -0
- package/docs/apikeys.mdx +54 -0
- package/docs/billing-limits.mdx +73 -0
- package/docs/building-with-ai.mdx +261 -0
- package/docs/bulk-actions.mdx +77 -0
- package/docs/changelog.mdx +6 -0
- package/docs/cli-deploy-commands.mdx +9 -0
- package/docs/cli-dev-commands.mdx +9 -0
- package/docs/cli-init-commands.mdx +58 -0
- package/docs/cli-introduction.mdx +25 -0
- package/docs/cli-list-profiles-commands.mdx +42 -0
- package/docs/cli-login-commands.mdx +33 -0
- package/docs/cli-logout-commands.mdx +33 -0
- package/docs/cli-preview-archive.mdx +59 -0
- package/docs/cli-promote-commands.mdx +9 -0
- package/docs/cli-switch.mdx +43 -0
- package/docs/cli-update-commands.mdx +42 -0
- package/docs/cli-whoami-commands.mdx +33 -0
- package/docs/community.mdx +6 -0
- package/docs/config/config-file.mdx +602 -0
- package/docs/config/extensions/additionalFiles.mdx +38 -0
- package/docs/config/extensions/additionalPackages.mdx +40 -0
- package/docs/config/extensions/aptGet.mdx +34 -0
- package/docs/config/extensions/audioWaveform.mdx +20 -0
- package/docs/config/extensions/custom.mdx +380 -0
- package/docs/config/extensions/emitDecoratorMetadata.mdx +52 -0
- package/docs/config/extensions/esbuildPlugin.mdx +31 -0
- package/docs/config/extensions/ffmpeg.mdx +45 -0
- package/docs/config/extensions/lightpanda.mdx +56 -0
- package/docs/config/extensions/overview.mdx +67 -0
- package/docs/config/extensions/playwright.mdx +195 -0
- package/docs/config/extensions/prismaExtension.mdx +1014 -0
- package/docs/config/extensions/puppeteer.mdx +30 -0
- package/docs/config/extensions/pythonExtension.mdx +182 -0
- package/docs/config/extensions/syncEnvVars.mdx +318 -0
- package/docs/context.mdx +235 -0
- package/docs/database-connections.mdx +213 -0
- package/docs/deploy-environment-variables.mdx +435 -0
- package/docs/deployment/atomic-deployment.mdx +172 -0
- package/docs/deployment/dev-branches.mdx +92 -0
- package/docs/deployment/overview.mdx +257 -0
- package/docs/deployment/preview-branches.mdx +224 -0
- package/docs/errors-retrying.mdx +383 -0
- package/docs/github-actions.mdx +222 -0
- package/docs/github-integration.mdx +136 -0
- package/docs/github-repo.mdx +8 -0
- package/docs/help-email.mdx +6 -0
- package/docs/help-slack.mdx +12 -0
- package/docs/hidden-tasks.mdx +56 -0
- package/docs/how-it-works.mdx +454 -0
- package/docs/how-to-reduce-your-spend.mdx +211 -0
- package/docs/idempotency.mdx +504 -0
- package/docs/introduction.mdx +223 -0
- package/docs/limits.mdx +250 -0
- package/docs/logging.mdx +195 -0
- package/docs/machines.mdx +952 -0
- package/docs/manual-setup.mdx +632 -0
- package/docs/mcp-agent-rules.mdx +41 -0
- package/docs/mcp-introduction.mdx +385 -0
- package/docs/mcp-tools.mdx +273 -0
- package/docs/migrating-from-v3.mdx +332 -0
- package/docs/observability/dashboards.mdx +102 -0
- package/docs/observability/query.mdx +585 -0
- package/docs/open-source-contributing.mdx +16 -0
- package/docs/private-networking/aws-console-setup.mdx +304 -0
- package/docs/private-networking/overview.mdx +144 -0
- package/docs/private-networking/troubleshooting.mdx +78 -0
- package/docs/queue-concurrency.mdx +358 -0
- package/docs/quick-start.mdx +97 -0
- package/docs/realtime/auth.mdx +208 -0
- package/docs/realtime/backend/overview.mdx +45 -0
- package/docs/realtime/backend/streams.mdx +418 -0
- package/docs/realtime/backend/subscribe.mdx +225 -0
- package/docs/realtime/how-it-works.mdx +94 -0
- package/docs/realtime/overview.mdx +63 -0
- package/docs/realtime/react-hooks/overview.mdx +73 -0
- package/docs/realtime/react-hooks/streams.mdx +449 -0
- package/docs/realtime/react-hooks/subscribe.mdx +674 -0
- package/docs/realtime/react-hooks/swr.mdx +87 -0
- package/docs/realtime/react-hooks/triggering.mdx +194 -0
- package/docs/realtime/react-hooks/use-wait-token.mdx +34 -0
- package/docs/realtime/run-object.mdx +174 -0
- package/docs/replaying.mdx +72 -0
- package/docs/request-feature.mdx +6 -0
- package/docs/roadmap.mdx +6 -0
- package/docs/run-tests.mdx +21 -0
- package/docs/run-usage.mdx +113 -0
- package/docs/runs/bulk-actions.mdx +183 -0
- package/docs/runs/heartbeats.mdx +38 -0
- package/docs/runs/max-duration.mdx +139 -0
- package/docs/runs/metadata.mdx +734 -0
- package/docs/runs/priority.mdx +31 -0
- package/docs/runs.mdx +396 -0
- package/docs/self-hosting/docker.mdx +512 -0
- package/docs/self-hosting/env/supervisor.mdx +75 -0
- package/docs/self-hosting/env/webapp.mdx +282 -0
- package/docs/self-hosting/kubernetes.mdx +714 -0
- package/docs/self-hosting/overview.mdx +119 -0
- package/docs/self-hosting/security.mdx +50 -0
- package/docs/skills.mdx +85 -0
- package/docs/tags.mdx +120 -0
- package/docs/tasks/overview.mdx +697 -0
- package/docs/tasks/scheduled.mdx +404 -0
- package/docs/tasks/schemaTask.mdx +413 -0
- package/docs/tasks/streams.mdx +884 -0
- package/docs/triggering.mdx +1332 -0
- package/docs/troubleshooting-alerts.mdx +385 -0
- package/docs/troubleshooting-debugging-in-vscode.mdx +9 -0
- package/docs/troubleshooting-github-issues.mdx +6 -0
- package/docs/troubleshooting-uptime-status.mdx +7 -0
- package/docs/troubleshooting.mdx +402 -0
- package/docs/upgrading-packages.mdx +80 -0
- package/docs/vercel-integration.mdx +207 -0
- package/docs/versioning.mdx +56 -0
- package/docs/video-walkthrough.mdx +23 -0
- package/docs/wait-for-token.mdx +540 -0
- package/docs/wait-for.mdx +42 -0
- package/docs/wait-until.mdx +53 -0
- package/docs/wait.mdx +18 -0
- package/docs/writing-tasks-introduction.mdx +33 -0
- package/package.json +105 -13
- package/skills/trigger-authoring-chat-agent/SKILL.md +296 -0
- package/skills/trigger-authoring-tasks/SKILL.md +254 -0
- package/skills/trigger-chat-agent-advanced/SKILL.md +368 -0
- package/skills/trigger-cost-savings/SKILL.md +116 -0
- package/skills/trigger-realtime-and-frontend/SKILL.md +276 -0
- package/dist/commonjs/v3/config.test.js +0 -27
- package/dist/commonjs/v3/config.test.js.map +0 -1
- package/dist/commonjs/v3/maxComputeSeconds.d.ts +0 -11
- package/dist/commonjs/v3/maxComputeSeconds.js +0 -14
- package/dist/commonjs/v3/maxComputeSeconds.js.map +0 -1
- package/dist/commonjs/v3/maxComputeSeconds.test.js +0 -19
- package/dist/commonjs/v3/maxComputeSeconds.test.js.map +0 -1
- package/dist/esm/v3/config.test.js +0 -25
- package/dist/esm/v3/config.test.js.map +0 -1
- package/dist/esm/v3/maxComputeSeconds.d.ts +0 -11
- package/dist/esm/v3/maxComputeSeconds.js +0 -11
- package/dist/esm/v3/maxComputeSeconds.js.map +0 -1
- package/dist/esm/v3/maxComputeSeconds.test.js +0 -17
- package/dist/esm/v3/maxComputeSeconds.test.js.map +0 -1
- /package/dist/commonjs/{v3/config.test.d.ts → imports/ai-runtime.d.ts} +0 -0
- /package/dist/commonjs/v3/{maxComputeSeconds.test.d.ts → auth.test.d.ts} +0 -0
- /package/dist/{esm/v3/config.test.d.ts → commonjs/v3/batchDebounce.test.d.ts} +0 -0
- /package/dist/{esm/v3/maxComputeSeconds.test.d.ts → commonjs/v3/chat-server.test.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-runtime-cjs.cjs","sourceRoot":"","sources":["../../../src/imports/ai-runtime-cjs.cts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,iFAAiF;;AAEjF,aAAa;AACb,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzB,aAAa;AACb,MAAM,CAAC,OAAO,CAAC,sBAAsB,GAAG,EAAE,CAAC,sBAAsB,CAAC;AAClE,aAAa;AACb,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;AAC5C,aAAa;AACb,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AAC1C,aAAa;AACb,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;AAC5C,aAAa;AACb,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;AAC9C,aAAa;AACb,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AAC1C,aAAa;AACb,MAAM,CAAC,OAAO,CAAC,mBAAmB,GAAG,EAAE,CAAC,mBAAmB,CAAC;AAC5D,aAAa;AACb,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;AAC5C,aAAa;AACb,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;AAC9B,aAAa;AACb,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// CJS variant of ./ai-runtime.ts — tshy swaps this in for the CommonJS build.
|
|
3
|
+
// `require("ai")` of an ESM-only package is supported on Node >=20.19 / >=22.12.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
// @ts-ignore
|
|
6
|
+
const ai = require("ai");
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
module.exports.convertToModelMessages = ai.convertToModelMessages;
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
module.exports.dynamicTool = ai.dynamicTool;
|
|
11
|
+
// @ts-ignore
|
|
12
|
+
module.exports.generateId = ai.generateId;
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
module.exports.getToolName = ai.getToolName;
|
|
15
|
+
// @ts-ignore
|
|
16
|
+
module.exports.isToolUIPart = ai.isToolUIPart;
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
module.exports.jsonSchema = ai.jsonSchema;
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
module.exports.readUIMessageStream = ai.readUIMessageStream;
|
|
21
|
+
// @ts-ignore
|
|
22
|
+
module.exports.stepCountIs = ai.stepCountIs;
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
module.exports.tool = ai.tool;
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
module.exports.zodSchema = ai.zodSchema;
|
|
27
|
+
//# sourceMappingURL=ai-runtime-cjs.cjs.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type BashSkillInput = {
|
|
2
|
+
/** Absolute path to the skill's root (used as `cwd`). */
|
|
3
|
+
skillPath: string;
|
|
4
|
+
/** The bash command to run. */
|
|
5
|
+
command: string;
|
|
6
|
+
/** Optional abort signal forwarded to `spawn()`. */
|
|
7
|
+
abortSignal?: AbortSignal;
|
|
8
|
+
};
|
|
9
|
+
export type BashSkillResult = {
|
|
10
|
+
exitCode: number | null;
|
|
11
|
+
stdout: string;
|
|
12
|
+
stderr: string;
|
|
13
|
+
} | {
|
|
14
|
+
error: string;
|
|
15
|
+
};
|
|
16
|
+
export type ReadFileInSkillInput = {
|
|
17
|
+
/** Absolute path to the skill's root — the relative path must resolve inside it. */
|
|
18
|
+
skillPath: string;
|
|
19
|
+
/** Relative path the tool caller supplied. */
|
|
20
|
+
relativePath: string;
|
|
21
|
+
};
|
|
22
|
+
export type ReadFileInSkillResult = {
|
|
23
|
+
content: string;
|
|
24
|
+
} | {
|
|
25
|
+
error: string;
|
|
26
|
+
};
|
|
27
|
+
export declare function readFileInSkill({ skillPath, relativePath, }: ReadFileInSkillInput): Promise<ReadFileInSkillResult>;
|
|
28
|
+
export declare function runBashInSkill({ skillPath, command, abortSignal, }: BashSkillInput): Promise<BashSkillResult>;
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.readFileInSkill = readFileInSkill;
|
|
37
|
+
exports.runBashInSkill = runBashInSkill;
|
|
38
|
+
const node_child_process_1 = require("node:child_process");
|
|
39
|
+
const fs = __importStar(require("node:fs/promises"));
|
|
40
|
+
const nodePath = __importStar(require("node:path"));
|
|
41
|
+
/**
|
|
42
|
+
* Server-only runtime for the auto-injected skill tools
|
|
43
|
+
* (`loadSkill` / `readFile` / `bash`) that `chat.agent({ skills })`
|
|
44
|
+
* wires up. Split off from `./ai.ts` so the chat-agent surface in
|
|
45
|
+
* `@trigger.dev/sdk/ai` stays importable from client bundles —
|
|
46
|
+
* Next.js + Webpack reject top-level `node:*` imports anywhere in a
|
|
47
|
+
* client graph, even when a consumer only pulls in types.
|
|
48
|
+
*
|
|
49
|
+
* The SDK's `ai.ts` loads this module via a computed-string dynamic
|
|
50
|
+
* import inside each tool's `execute` — webpack treats the
|
|
51
|
+
* expression as an unknown dependency and skips static tracing, so
|
|
52
|
+
* the node-only symbols here never surface in a client build. The
|
|
53
|
+
* module resolves fine at runtime on a server worker because the
|
|
54
|
+
* relative path (`./agentSkillsRuntime.js`) lands next to `ai.js` in
|
|
55
|
+
* the emitted dist.
|
|
56
|
+
*
|
|
57
|
+
* Public subpath: `@trigger.dev/sdk/ai/skills-runtime`. Customers
|
|
58
|
+
* who want to eagerly bundle the runtime server-side (e.g. warming
|
|
59
|
+
* it on worker bootstrap) can import from there.
|
|
60
|
+
*/
|
|
61
|
+
const DEFAULT_BASH_OUTPUT_BYTES = 64 * 1024;
|
|
62
|
+
const DEFAULT_READ_FILE_BYTES = 1024 * 1024;
|
|
63
|
+
function truncate(s, limit) {
|
|
64
|
+
if (s.length <= limit)
|
|
65
|
+
return s;
|
|
66
|
+
return s.slice(0, limit) + `\n…[truncated ${s.length - limit} bytes]`;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Path-traversal guard: confirm `relative` resolves inside `root`,
|
|
70
|
+
* even after symlinks are followed. Throws if it escapes via `..`, an
|
|
71
|
+
* absolute prefix, or a symlink that points outside. Returns the
|
|
72
|
+
* resolved real path.
|
|
73
|
+
*
|
|
74
|
+
* `fs.realpath` only works on paths that exist, so when the resolved
|
|
75
|
+
* path doesn't exist yet (e.g. writing a new file) we fall back to
|
|
76
|
+
* the lexical check — a non-existent path can't traverse a symlink
|
|
77
|
+
* to escape since the symlink doesn't exist either.
|
|
78
|
+
*/
|
|
79
|
+
async function safeJoinInside(root, relative) {
|
|
80
|
+
if (nodePath.isAbsolute(relative)) {
|
|
81
|
+
throw new Error(`Path must be relative to the skill directory: ${relative}`);
|
|
82
|
+
}
|
|
83
|
+
const realRoot = await fs.realpath(nodePath.resolve(root));
|
|
84
|
+
const resolved = nodePath.resolve(realRoot, relative);
|
|
85
|
+
let real = resolved;
|
|
86
|
+
try {
|
|
87
|
+
real = await fs.realpath(resolved);
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
if (err.code !== "ENOENT") {
|
|
91
|
+
throw err;
|
|
92
|
+
}
|
|
93
|
+
// Path doesn't exist yet; fall through with the lexical resolve.
|
|
94
|
+
}
|
|
95
|
+
const normalized = realRoot + nodePath.sep;
|
|
96
|
+
if (real !== realRoot && !real.startsWith(normalized)) {
|
|
97
|
+
throw new Error(`Path escapes the skill directory: ${relative}`);
|
|
98
|
+
}
|
|
99
|
+
return real;
|
|
100
|
+
}
|
|
101
|
+
async function readFileInSkill({ skillPath, relativePath, }) {
|
|
102
|
+
let absolute;
|
|
103
|
+
try {
|
|
104
|
+
absolute = await safeJoinInside(skillPath, relativePath);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
return { error: err.message };
|
|
108
|
+
}
|
|
109
|
+
try {
|
|
110
|
+
const content = await fs.readFile(absolute, "utf8");
|
|
111
|
+
return { content: truncate(content, DEFAULT_READ_FILE_BYTES) };
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
return { error: err.message };
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
async function runBashInSkill({ skillPath, command, abortSignal, }) {
|
|
118
|
+
return new Promise((resolvePromise) => {
|
|
119
|
+
let child;
|
|
120
|
+
try {
|
|
121
|
+
child = (0, node_child_process_1.spawn)("bash", ["-c", command], {
|
|
122
|
+
cwd: skillPath,
|
|
123
|
+
signal: abortSignal,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
resolvePromise({ error: err.message });
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
// Cap stdout/stderr accumulation at the byte budget so an
|
|
131
|
+
// LLM-generated command (`cat /dev/zero`, `yes`) can't OOM the
|
|
132
|
+
// worker. Track total seen length separately so the truncation
|
|
133
|
+
// notice still reports how much was dropped.
|
|
134
|
+
let stdout = "";
|
|
135
|
+
let stderr = "";
|
|
136
|
+
let stdoutSeen = 0;
|
|
137
|
+
let stderrSeen = 0;
|
|
138
|
+
const limit = DEFAULT_BASH_OUTPUT_BYTES;
|
|
139
|
+
child.stdout?.on("data", (chunk) => {
|
|
140
|
+
const text = chunk.toString();
|
|
141
|
+
stdoutSeen += text.length;
|
|
142
|
+
if (stdout.length >= limit)
|
|
143
|
+
return;
|
|
144
|
+
const remaining = limit - stdout.length;
|
|
145
|
+
stdout += text.length > remaining ? text.slice(0, remaining) : text;
|
|
146
|
+
});
|
|
147
|
+
child.stderr?.on("data", (chunk) => {
|
|
148
|
+
const text = chunk.toString();
|
|
149
|
+
stderrSeen += text.length;
|
|
150
|
+
if (stderr.length >= limit)
|
|
151
|
+
return;
|
|
152
|
+
const remaining = limit - stderr.length;
|
|
153
|
+
stderr += text.length > remaining ? text.slice(0, remaining) : text;
|
|
154
|
+
});
|
|
155
|
+
child.once("close", (code) => {
|
|
156
|
+
const stdoutFinal = stdoutSeen > stdout.length
|
|
157
|
+
? `${stdout}\n…[truncated ${stdoutSeen - stdout.length} bytes]`
|
|
158
|
+
: stdout;
|
|
159
|
+
const stderrFinal = stderrSeen > stderr.length
|
|
160
|
+
? `${stderr}\n…[truncated ${stderrSeen - stderr.length} bytes]`
|
|
161
|
+
: stderr;
|
|
162
|
+
resolvePromise({
|
|
163
|
+
exitCode: code,
|
|
164
|
+
stdout: stdoutFinal,
|
|
165
|
+
stderr: stderrFinal,
|
|
166
|
+
});
|
|
167
|
+
});
|
|
168
|
+
child.once("error", (err) => {
|
|
169
|
+
resolvePromise({ error: err.message });
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=agentSkillsRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentSkillsRuntime.js","sourceRoot":"","sources":["../../../src/v3/agentSkillsRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe primitives shared between `@trigger.dev/sdk/ai` (server) and
|
|
3
|
+
* `@trigger.dev/sdk/chat` / `@trigger.dev/sdk/chat/react` (client).
|
|
4
|
+
*
|
|
5
|
+
* This module exists to keep `ai.ts` reachable only from the server graph.
|
|
6
|
+
* `ai.ts` weighs in at ~7000 lines and statically imports the agent-skills
|
|
7
|
+
* runtime (which uses `node:child_process` / `node:fs/promises`). When a
|
|
8
|
+
* browser bundle imports a runtime value from `ai.ts` — historically the
|
|
9
|
+
* `PENDING_MESSAGE_INJECTED_TYPE` constant in `chat-react.ts` — the bundler
|
|
10
|
+
* traces `ai.ts`'s entire module graph into the client chunk and hits the
|
|
11
|
+
* `node:` builtins, which Turbopack rejects outright (and webpack flags as
|
|
12
|
+
* a "Critical dependency" warning).
|
|
13
|
+
*
|
|
14
|
+
* Anything in this file MUST stay free of `node:*` imports and free of any
|
|
15
|
+
* import from `ai.ts`.
|
|
16
|
+
*/
|
|
17
|
+
import type { Task, AnyTask } from "@trigger.dev/core/v3";
|
|
18
|
+
import type { InferUITools, ToolSet, UIDataTypes, UIMessage } from "ai";
|
|
19
|
+
/**
|
|
20
|
+
* Message-part `type` value for the pending-message data part the agent
|
|
21
|
+
* injects when a follow-up message arrives mid-turn.
|
|
22
|
+
*/
|
|
23
|
+
export declare const PENDING_MESSAGE_INJECTED_TYPE: "data-pending-message-injected";
|
|
24
|
+
import type { ChatTaskWirePayload } from "./chat.js";
|
|
25
|
+
export type { ChatTaskWirePayload, ChatInputChunk } from "./chat.js";
|
|
26
|
+
/**
|
|
27
|
+
* Extracts the client-data (`metadata`) type from a chat task.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import type { InferChatClientData } from "@trigger.dev/sdk/ai";
|
|
32
|
+
* import type { myChat } from "@/trigger/chat";
|
|
33
|
+
*
|
|
34
|
+
* type MyClientData = InferChatClientData<typeof myChat>;
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export type InferChatClientData<TTask extends AnyTask> = TTask extends Task<string, ChatTaskWirePayload<any, infer TMetadata>, any> ? TMetadata : unknown;
|
|
38
|
+
/**
|
|
39
|
+
* Extracts the UI message type from a chat task (wire payload `message` items).
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* import type { InferChatUIMessage } from "@trigger.dev/sdk/ai";
|
|
44
|
+
* import type { myChat } from "@/trigger/chat";
|
|
45
|
+
*
|
|
46
|
+
* type Msg = InferChatUIMessage<typeof myChat>;
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export type InferChatUIMessage<TTask extends AnyTask> = TTask extends Task<string, ChatTaskWirePayload<infer TUIM extends UIMessage, any>, any> ? TUIM : UIMessage;
|
|
50
|
+
/**
|
|
51
|
+
* Derive the chat `UIMessage` type for a given tool set. The tool-part types
|
|
52
|
+
* (`tool-${name}` with typed input/output) are inferred from the tools. Use
|
|
53
|
+
* this to declare the message type from your tools (e.g. to pass to
|
|
54
|
+
* `chat.withUIMessage<...>()` or to type the frontend) without hand-writing
|
|
55
|
+
* the `UIMessage<unknown, UIDataTypes, InferUITools<...>>` triple.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* import type { InferChatUIMessageFromTools } from "@trigger.dev/sdk/ai";
|
|
60
|
+
* const tools = { search, readFile };
|
|
61
|
+
* type ChatUiMessage = InferChatUIMessageFromTools<typeof tools>;
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export type InferChatUIMessageFromTools<TTools extends ToolSet> = UIMessage<unknown, UIDataTypes, InferUITools<TTools>>;
|
|
65
|
+
/**
|
|
66
|
+
* Upsert an incoming wire message into the customer's DB-backed chain
|
|
67
|
+
* inside a `hydrateMessages` hook. Returns `true` iff the chain was
|
|
68
|
+
* mutated (the caller should persist).
|
|
69
|
+
*
|
|
70
|
+
* Handles the three cases that matter:
|
|
71
|
+
*
|
|
72
|
+
* - **Non-submit-message trigger** (`regenerate-message` / `action`,
|
|
73
|
+
* or `submit-message` with no incoming): no-op. Returns `false`.
|
|
74
|
+
* - **Incoming id already in `stored`** (HITL `addToolOutput` /
|
|
75
|
+
* `addToolApproveResponse` continuation — the wire carries the
|
|
76
|
+
* existing assistant's id with a slim resolution payload): no-op.
|
|
77
|
+
* The runtime's per-turn merge overlays the new tool-state advance
|
|
78
|
+
* onto the existing entry; pushing again would duplicate the row
|
|
79
|
+
* in the chain you return, and the duplicate slim copy would hit
|
|
80
|
+
* `toModelMessages` with no `input`. Returns `false`.
|
|
81
|
+
* - **Incoming id not in `stored`** (typically a fresh user message
|
|
82
|
+
* on a new turn): push. Returns `true`.
|
|
83
|
+
*
|
|
84
|
+
* Mutates `stored` in place. The caller persists `stored`, not the
|
|
85
|
+
* return value.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* import { chat, upsertIncomingMessage } from "@trigger.dev/sdk/ai";
|
|
90
|
+
*
|
|
91
|
+
* chat.agent({
|
|
92
|
+
* hydrateMessages: async ({ chatId, trigger, incomingMessages }) => {
|
|
93
|
+
* const record = await db.chat.findUnique({ where: { id: chatId } });
|
|
94
|
+
* const stored = record?.messages ?? [];
|
|
95
|
+
* if (upsertIncomingMessage(stored, { trigger, incomingMessages })) {
|
|
96
|
+
* await db.chat.update({ where: { id: chatId }, data: { messages: stored } });
|
|
97
|
+
* }
|
|
98
|
+
* return stored;
|
|
99
|
+
* },
|
|
100
|
+
* });
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function upsertIncomingMessage<TMsg extends UIMessage = UIMessage>(stored: TMsg[], event: {
|
|
104
|
+
trigger: "submit-message" | "regenerate-message" | "action";
|
|
105
|
+
incomingMessages: TMsg[];
|
|
106
|
+
}): boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Slim an outgoing assistant message before it ships on `submit-message`.
|
|
109
|
+
*
|
|
110
|
+
* When the client calls `addToolOutput(...)` to resolve a HITL tool (or
|
|
111
|
+
* `addToolApproveResponse(...)` to approve/deny one), the AI SDK turns
|
|
112
|
+
* it into a `submit-message` whose `messages.at(-1)` is the existing
|
|
113
|
+
* assistant message with the new state stitched onto a single tool
|
|
114
|
+
* part. On a reasoning-heavy multi-step turn, that full assistant
|
|
115
|
+
* message can be 600 KB – 1 MB (encrypted reasoning blobs, reasoning
|
|
116
|
+
* text, full tool `input` JSON, prior tool outputs) — well over the
|
|
117
|
+
* `.in/append` cap.
|
|
118
|
+
*
|
|
119
|
+
* The agent runtime only consumes the wire-advanced fields of those
|
|
120
|
+
* tool parts (state + output / errorText / approval). Everything else
|
|
121
|
+
* (text, reasoning, tool `input`) is rebuilt server-side from the
|
|
122
|
+
* durable snapshot or `hydrateMessages`. So we drop everything but
|
|
123
|
+
* the advanced tool parts here, and reduce those to just the fields
|
|
124
|
+
* the server overlays.
|
|
125
|
+
*
|
|
126
|
+
* The slim only fires when the assistant message carries at least one
|
|
127
|
+
* wire-advanceable tool part. Plain assistant resends (no resolved /
|
|
128
|
+
* approval-responded tool) and non-assistant messages pass through
|
|
129
|
+
* untouched.
|
|
130
|
+
*
|
|
131
|
+
* Pairs with the per-turn merge on the agent side
|
|
132
|
+
* (`mergeIncomingIntoHydrated` in `ai.ts`).
|
|
133
|
+
*/
|
|
134
|
+
export declare function slimSubmitMessageForWire<TMsg extends UIMessage | undefined>(message: TMsg): TMsg;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Browser-safe primitives shared between `@trigger.dev/sdk/ai` (server) and
|
|
4
|
+
* `@trigger.dev/sdk/chat` / `@trigger.dev/sdk/chat/react` (client).
|
|
5
|
+
*
|
|
6
|
+
* This module exists to keep `ai.ts` reachable only from the server graph.
|
|
7
|
+
* `ai.ts` weighs in at ~7000 lines and statically imports the agent-skills
|
|
8
|
+
* runtime (which uses `node:child_process` / `node:fs/promises`). When a
|
|
9
|
+
* browser bundle imports a runtime value from `ai.ts` — historically the
|
|
10
|
+
* `PENDING_MESSAGE_INJECTED_TYPE` constant in `chat-react.ts` — the bundler
|
|
11
|
+
* traces `ai.ts`'s entire module graph into the client chunk and hits the
|
|
12
|
+
* `node:` builtins, which Turbopack rejects outright (and webpack flags as
|
|
13
|
+
* a "Critical dependency" warning).
|
|
14
|
+
*
|
|
15
|
+
* Anything in this file MUST stay free of `node:*` imports and free of any
|
|
16
|
+
* import from `ai.ts`.
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.PENDING_MESSAGE_INJECTED_TYPE = void 0;
|
|
20
|
+
exports.upsertIncomingMessage = upsertIncomingMessage;
|
|
21
|
+
exports.slimSubmitMessageForWire = slimSubmitMessageForWire;
|
|
22
|
+
/**
|
|
23
|
+
* Message-part `type` value for the pending-message data part the agent
|
|
24
|
+
* injects when a follow-up message arrives mid-turn.
|
|
25
|
+
*/
|
|
26
|
+
exports.PENDING_MESSAGE_INJECTED_TYPE = "data-pending-message-injected";
|
|
27
|
+
/**
|
|
28
|
+
* Upsert an incoming wire message into the customer's DB-backed chain
|
|
29
|
+
* inside a `hydrateMessages` hook. Returns `true` iff the chain was
|
|
30
|
+
* mutated (the caller should persist).
|
|
31
|
+
*
|
|
32
|
+
* Handles the three cases that matter:
|
|
33
|
+
*
|
|
34
|
+
* - **Non-submit-message trigger** (`regenerate-message` / `action`,
|
|
35
|
+
* or `submit-message` with no incoming): no-op. Returns `false`.
|
|
36
|
+
* - **Incoming id already in `stored`** (HITL `addToolOutput` /
|
|
37
|
+
* `addToolApproveResponse` continuation — the wire carries the
|
|
38
|
+
* existing assistant's id with a slim resolution payload): no-op.
|
|
39
|
+
* The runtime's per-turn merge overlays the new tool-state advance
|
|
40
|
+
* onto the existing entry; pushing again would duplicate the row
|
|
41
|
+
* in the chain you return, and the duplicate slim copy would hit
|
|
42
|
+
* `toModelMessages` with no `input`. Returns `false`.
|
|
43
|
+
* - **Incoming id not in `stored`** (typically a fresh user message
|
|
44
|
+
* on a new turn): push. Returns `true`.
|
|
45
|
+
*
|
|
46
|
+
* Mutates `stored` in place. The caller persists `stored`, not the
|
|
47
|
+
* return value.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* import { chat, upsertIncomingMessage } from "@trigger.dev/sdk/ai";
|
|
52
|
+
*
|
|
53
|
+
* chat.agent({
|
|
54
|
+
* hydrateMessages: async ({ chatId, trigger, incomingMessages }) => {
|
|
55
|
+
* const record = await db.chat.findUnique({ where: { id: chatId } });
|
|
56
|
+
* const stored = record?.messages ?? [];
|
|
57
|
+
* if (upsertIncomingMessage(stored, { trigger, incomingMessages })) {
|
|
58
|
+
* await db.chat.update({ where: { id: chatId }, data: { messages: stored } });
|
|
59
|
+
* }
|
|
60
|
+
* return stored;
|
|
61
|
+
* },
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
function upsertIncomingMessage(stored, event) {
|
|
66
|
+
if (event.trigger !== "submit-message")
|
|
67
|
+
return false;
|
|
68
|
+
if (event.incomingMessages.length === 0)
|
|
69
|
+
return false;
|
|
70
|
+
const newMsg = event.incomingMessages[event.incomingMessages.length - 1];
|
|
71
|
+
if (!newMsg)
|
|
72
|
+
return false;
|
|
73
|
+
if (newMsg.id) {
|
|
74
|
+
const existingIdx = stored.findIndex((m) => m.id === newMsg.id);
|
|
75
|
+
if (existingIdx !== -1)
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
stored.push(newMsg);
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Tool-part states that the client advances and ships back over the wire.
|
|
83
|
+
* Covers HITL `addToolOutput` (output-available / output-error) and the
|
|
84
|
+
* approval flow (approval-responded / output-denied). `input-streaming` /
|
|
85
|
+
* `input-available` / `approval-requested` are server-emitted only — if
|
|
86
|
+
* we see them on the wire we treat them as no-ops and skip the slim/merge.
|
|
87
|
+
*/
|
|
88
|
+
function isWireAdvanceableToolState(state) {
|
|
89
|
+
return (state === "output-available" ||
|
|
90
|
+
state === "output-error" ||
|
|
91
|
+
state === "approval-responded" ||
|
|
92
|
+
state === "output-denied");
|
|
93
|
+
}
|
|
94
|
+
/** Whether a tool-UI part is a static (`tool-${name}`) or dynamic tool. */
|
|
95
|
+
function isToolPartType(type) {
|
|
96
|
+
return typeof type === "string" && (type.startsWith("tool-") || type === "dynamic-tool");
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Slim an outgoing assistant message before it ships on `submit-message`.
|
|
100
|
+
*
|
|
101
|
+
* When the client calls `addToolOutput(...)` to resolve a HITL tool (or
|
|
102
|
+
* `addToolApproveResponse(...)` to approve/deny one), the AI SDK turns
|
|
103
|
+
* it into a `submit-message` whose `messages.at(-1)` is the existing
|
|
104
|
+
* assistant message with the new state stitched onto a single tool
|
|
105
|
+
* part. On a reasoning-heavy multi-step turn, that full assistant
|
|
106
|
+
* message can be 600 KB – 1 MB (encrypted reasoning blobs, reasoning
|
|
107
|
+
* text, full tool `input` JSON, prior tool outputs) — well over the
|
|
108
|
+
* `.in/append` cap.
|
|
109
|
+
*
|
|
110
|
+
* The agent runtime only consumes the wire-advanced fields of those
|
|
111
|
+
* tool parts (state + output / errorText / approval). Everything else
|
|
112
|
+
* (text, reasoning, tool `input`) is rebuilt server-side from the
|
|
113
|
+
* durable snapshot or `hydrateMessages`. So we drop everything but
|
|
114
|
+
* the advanced tool parts here, and reduce those to just the fields
|
|
115
|
+
* the server overlays.
|
|
116
|
+
*
|
|
117
|
+
* The slim only fires when the assistant message carries at least one
|
|
118
|
+
* wire-advanceable tool part. Plain assistant resends (no resolved /
|
|
119
|
+
* approval-responded tool) and non-assistant messages pass through
|
|
120
|
+
* untouched.
|
|
121
|
+
*
|
|
122
|
+
* Pairs with the per-turn merge on the agent side
|
|
123
|
+
* (`mergeIncomingIntoHydrated` in `ai.ts`).
|
|
124
|
+
*/
|
|
125
|
+
function slimSubmitMessageForWire(message) {
|
|
126
|
+
if (!message)
|
|
127
|
+
return message;
|
|
128
|
+
if (message.role !== "assistant")
|
|
129
|
+
return message;
|
|
130
|
+
const parts = (message.parts ?? []);
|
|
131
|
+
const advancedToolParts = parts.filter((p) => p && typeof p === "object" && isToolPartType(p.type) && isWireAdvanceableToolState(p.state));
|
|
132
|
+
if (advancedToolParts.length === 0)
|
|
133
|
+
return message;
|
|
134
|
+
const slimParts = advancedToolParts.map((p) => {
|
|
135
|
+
const base = {
|
|
136
|
+
type: p.type,
|
|
137
|
+
toolCallId: p.toolCallId,
|
|
138
|
+
state: p.state,
|
|
139
|
+
};
|
|
140
|
+
if (p.type === "dynamic-tool" && typeof p.toolName === "string") {
|
|
141
|
+
base.toolName = p.toolName;
|
|
142
|
+
}
|
|
143
|
+
if (p.state === "output-available") {
|
|
144
|
+
base.output = p.output;
|
|
145
|
+
if (p.approval !== undefined)
|
|
146
|
+
base.approval = p.approval;
|
|
147
|
+
}
|
|
148
|
+
else if (p.state === "output-error") {
|
|
149
|
+
if (p.errorText !== undefined)
|
|
150
|
+
base.errorText = p.errorText;
|
|
151
|
+
if (p.approval !== undefined)
|
|
152
|
+
base.approval = p.approval;
|
|
153
|
+
}
|
|
154
|
+
else if (p.state === "approval-responded" || p.state === "output-denied") {
|
|
155
|
+
if (p.approval !== undefined)
|
|
156
|
+
base.approval = p.approval;
|
|
157
|
+
}
|
|
158
|
+
return base;
|
|
159
|
+
});
|
|
160
|
+
return {
|
|
161
|
+
id: message.id,
|
|
162
|
+
role: message.role,
|
|
163
|
+
parts: slimParts,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=ai-shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-shared.js","sourceRoot":"","sources":["../../../src/v3/ai-shared.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;AAKH;;;GAGG;AACU,QAAA,6BAA6B,GAAG,+BAAwC,CAAC;AA0DtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,+BACE,MAAc,EACd,KAGC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,WAAW,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACvC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,0BAA0B,CACjC,KAAc;IAEd,OAAO,CACL,KAAK,KAAK,kBAAkB;QAC5B,KAAK,KAAK,cAAc;QACxB,KAAK,KAAK,oBAAoB;QAC9B,KAAK,KAAK,eAAe,CAC1B,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAS,cAAc,CAAC,IAAa;IACnC,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,KAAK,cAAc,CAAC,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,kCAA6E,OAAa;IACxF,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IAC7B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAU,CAAC;IAC7C,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,CAAC,CAAC,KAAK,CAAC,CAC9F,CAAC;IACF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACnD,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;QACjD,MAAM,IAAI,GAA4B;YACpC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC;QACF,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,KAAK,kBAAkB,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACvB,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC3D,CAAC;aAAM,IAAI,CAAC,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;YAC5D,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC3D,CAAC;aAAM,IAAI,CAAC,CAAC,KAAK,KAAK,oBAAoB,IAAI,CAAC,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;YAC3E,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,SAAS;KACE,CAAC;AACvB,CAAC"}
|