@trigger.dev/sdk 4.6.4 → 4.7.1

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.
Files changed (123) hide show
  1. package/dist/commonjs/v3/ai.d.ts +5 -2
  2. package/dist/commonjs/v3/ai.js +189 -266
  3. package/dist/commonjs/v3/ai.js.map +1 -1
  4. package/dist/commonjs/v3/chat-client.js +7 -0
  5. package/dist/commonjs/v3/chat-client.js.map +1 -1
  6. package/dist/commonjs/v3/chat-server.d.ts +1 -0
  7. package/dist/commonjs/v3/chat-server.js +8 -0
  8. package/dist/commonjs/v3/chat-server.js.map +1 -1
  9. package/dist/commonjs/v3/chat.d.ts +28 -4
  10. package/dist/commonjs/v3/chat.js +41 -9
  11. package/dist/commonjs/v3/chat.js.map +1 -1
  12. package/dist/commonjs/v3/chatRouteWait.d.ts +21 -0
  13. package/dist/commonjs/v3/chatRouteWait.js +43 -0
  14. package/dist/commonjs/v3/chatRouteWait.js.map +1 -0
  15. package/dist/commonjs/v3/compactionResponse.js +5 -0
  16. package/dist/commonjs/v3/compactionResponse.js.map +1 -1
  17. package/dist/commonjs/v3/concurrency-shared.d.ts +13 -0
  18. package/dist/commonjs/v3/concurrency-shared.js +35 -0
  19. package/dist/commonjs/v3/concurrency-shared.js.map +1 -0
  20. package/dist/commonjs/v3/concurrencyLimits.d.ts +73 -0
  21. package/dist/commonjs/v3/concurrencyLimits.js +166 -0
  22. package/dist/commonjs/v3/concurrencyLimits.js.map +1 -0
  23. package/dist/commonjs/v3/index.d.ts +2 -1
  24. package/dist/commonjs/v3/index.js +3 -1
  25. package/dist/commonjs/v3/index.js.map +1 -1
  26. package/dist/commonjs/v3/managedChatResponse.d.ts +44 -0
  27. package/dist/commonjs/v3/managedChatResponse.js +233 -0
  28. package/dist/commonjs/v3/managedChatResponse.js.map +1 -0
  29. package/dist/commonjs/v3/queues.d.ts +31 -0
  30. package/dist/commonjs/v3/queues.js +31 -0
  31. package/dist/commonjs/v3/queues.js.map +1 -1
  32. package/dist/commonjs/v3/shared.d.ts +18 -1
  33. package/dist/commonjs/v3/shared.js +137 -47
  34. package/dist/commonjs/v3/shared.js.map +1 -1
  35. package/dist/commonjs/v3/steeringContext.d.ts +41 -0
  36. package/dist/commonjs/v3/steeringContext.js +118 -0
  37. package/dist/commonjs/v3/steeringContext.js.map +1 -0
  38. package/dist/commonjs/v3/transcriptStorage.d.ts +4 -1
  39. package/dist/commonjs/v3/transcriptStorage.js +51 -4
  40. package/dist/commonjs/v3/transcriptStorage.js.map +1 -1
  41. package/dist/commonjs/version.js +1 -1
  42. package/dist/esm/v3/ai.d.ts +5 -2
  43. package/dist/esm/v3/ai.js +189 -266
  44. package/dist/esm/v3/ai.js.map +1 -1
  45. package/dist/esm/v3/chat-client.js +7 -0
  46. package/dist/esm/v3/chat-client.js.map +1 -1
  47. package/dist/esm/v3/chat-server.d.ts +1 -0
  48. package/dist/esm/v3/chat-server.js +8 -0
  49. package/dist/esm/v3/chat-server.js.map +1 -1
  50. package/dist/esm/v3/chat.d.ts +28 -4
  51. package/dist/esm/v3/chat.js +41 -9
  52. package/dist/esm/v3/chat.js.map +1 -1
  53. package/dist/esm/v3/chatRouteWait.d.ts +21 -0
  54. package/dist/esm/v3/chatRouteWait.js +40 -0
  55. package/dist/esm/v3/chatRouteWait.js.map +1 -0
  56. package/dist/esm/v3/compactionResponse.js +5 -0
  57. package/dist/esm/v3/compactionResponse.js.map +1 -1
  58. package/dist/esm/v3/concurrency-shared.d.ts +13 -0
  59. package/dist/esm/v3/concurrency-shared.js +31 -0
  60. package/dist/esm/v3/concurrency-shared.js.map +1 -0
  61. package/dist/esm/v3/concurrencyLimits.d.ts +73 -0
  62. package/dist/esm/v3/concurrencyLimits.js +158 -0
  63. package/dist/esm/v3/concurrencyLimits.js.map +1 -0
  64. package/dist/esm/v3/index.d.ts +2 -1
  65. package/dist/esm/v3/index.js +2 -1
  66. package/dist/esm/v3/index.js.map +1 -1
  67. package/dist/esm/v3/managedChatResponse.d.ts +44 -0
  68. package/dist/esm/v3/managedChatResponse.js +228 -0
  69. package/dist/esm/v3/managedChatResponse.js.map +1 -0
  70. package/dist/esm/v3/queues.d.ts +31 -0
  71. package/dist/esm/v3/queues.js +31 -0
  72. package/dist/esm/v3/queues.js.map +1 -1
  73. package/dist/esm/v3/shared.d.ts +18 -1
  74. package/dist/esm/v3/shared.js +136 -47
  75. package/dist/esm/v3/shared.js.map +1 -1
  76. package/dist/esm/v3/steeringContext.d.ts +41 -0
  77. package/dist/esm/v3/steeringContext.js +113 -0
  78. package/dist/esm/v3/steeringContext.js.map +1 -0
  79. package/dist/esm/v3/transcriptStorage.d.ts +4 -1
  80. package/dist/esm/v3/transcriptStorage.js +51 -4
  81. package/dist/esm/v3/transcriptStorage.js.map +1 -1
  82. package/dist/esm/version.js +1 -1
  83. package/docs/ai-chat/client-protocol.mdx +3 -1
  84. package/docs/ai-chat/error-handling.mdx +44 -76
  85. package/docs/ai-chat/fast-starts.mdx +1 -1
  86. package/docs/ai-chat/frontend.mdx +27 -21
  87. package/docs/ai-chat/patterns/branching-conversations.mdx +95 -230
  88. package/docs/ai-chat/patterns/human-in-the-loop.mdx +166 -164
  89. package/docs/ai-chat/patterns/tool-result-auditing.mdx +28 -27
  90. package/docs/ai-chat/patterns/version-upgrades.mdx +4 -4
  91. package/docs/ai-chat/pending-messages.mdx +19 -5
  92. package/docs/ai-chat/quick-start.mdx +26 -20
  93. package/docs/ai-chat/reference.mdx +21 -3
  94. package/docs/ai-chat/sessions.mdx +1 -1
  95. package/docs/ai-chat/testing.mdx +16 -4
  96. package/docs/concurrency.mdx +384 -0
  97. package/docs/config/config-file.mdx +2 -0
  98. package/docs/database-connections.mdx +3 -3
  99. package/docs/deploy-environment-variables.mdx +6 -0
  100. package/docs/deployment/atomic-deployment.mdx +416 -132
  101. package/docs/deployment/overview.mdx +2 -2
  102. package/docs/deployment/preview-branches.mdx +2 -2
  103. package/docs/github-actions.mdx +26 -16
  104. package/docs/github-integration.mdx +2 -2
  105. package/docs/idempotency.mdx +43 -5
  106. package/docs/introduction.mdx +1 -1
  107. package/docs/limits.mdx +16 -6
  108. package/docs/manual-setup.mdx +1 -1
  109. package/docs/observability/query.mdx +25 -0
  110. package/docs/queues.mdx +271 -0
  111. package/docs/reports.mdx +1 -1
  112. package/docs/runs/priority.mdx +2 -25
  113. package/docs/self-hosting/env/webapp.mdx +9 -0
  114. package/docs/self-hosting/kubernetes.mdx +14 -3
  115. package/docs/tasks/overview.mdx +3 -5
  116. package/docs/troubleshooting-alerts.mdx +124 -1
  117. package/docs/troubleshooting.mdx +12 -0
  118. package/docs/vercel-integration.mdx +6 -7
  119. package/docs/versioning.mdx +1 -1
  120. package/docs/writing-tasks-introduction.mdx +2 -1
  121. package/package.json +2 -2
  122. package/docs/deployment/version-skew-protection.mdx +0 -492
  123. package/docs/queue-concurrency.mdx +0 -358
@@ -0,0 +1,21 @@
1
+ import { type SessionChannelRouter, type SessionStreamRecord } from "@trigger.dev/core/v3";
2
+ type ChatRouteWakeResult = {
3
+ ok: true;
4
+ waitpointId: string;
5
+ } | {
6
+ ok: false;
7
+ error: Error;
8
+ };
9
+ export declare function waitForChatRouteAfterIdle(router: SessionChannelRouter, route: string, options: {
10
+ timeout?: string;
11
+ postWakeTimeoutMs?: number;
12
+ now?: () => number;
13
+ wake: (timeout: string | undefined, lastSeqNum: number | undefined) => Promise<ChatRouteWakeResult>;
14
+ }): Promise<{
15
+ ok: true;
16
+ record: SessionStreamRecord;
17
+ } | {
18
+ ok: false;
19
+ error: Error;
20
+ }>;
21
+ export {};
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.waitForChatRouteAfterIdle = waitForChatRouteAfterIdle;
4
+ const v3_1 = require("@trigger.dev/core/v3");
5
+ const isomorphic_1 = require("@trigger.dev/core/v3/isomorphic");
6
+ const POST_WAKE_TIMEOUT_MS = 5_000;
7
+ async function waitForChatRouteAfterIdle(router, route, options) {
8
+ const now = options.now ?? Date.now;
9
+ const timeoutMs = options.timeout ? (0, isomorphic_1.parseNaturalLanguageDurationInMs)(options.timeout) : undefined;
10
+ const parsedDeadline = timeoutMs !== undefined
11
+ ? now() + timeoutMs
12
+ : options.timeout === undefined
13
+ ? undefined
14
+ : Date.parse(options.timeout);
15
+ const deadline = parsedDeadline !== undefined && Number.isFinite(parsedDeadline) ? parsedDeadline : undefined;
16
+ const postWakeTimeoutMs = options.postWakeTimeoutMs ?? POST_WAKE_TIMEOUT_MS;
17
+ while (true) {
18
+ const remainingMs = deadline === undefined ? undefined : deadline - now();
19
+ if (remainingMs !== undefined && remainingMs <= 0) {
20
+ return { ok: false, error: new v3_1.WaitpointTimeoutError("Timed out") };
21
+ }
22
+ const wakeTimeout = remainingMs === undefined
23
+ ? options.timeout
24
+ : `${Math.max(1, Math.ceil(remainingMs / 1000))}s`;
25
+ // A queued record holds the replay floor back, but should not wake this
26
+ // waitpoint again after we have already seen it. Snapshot before checking
27
+ // the route so a record arriving during registration still wakes us.
28
+ const wakeFrom = router.appliedThrough();
29
+ const buffered = await router.next(route, { timeoutMs: 0 });
30
+ if (buffered)
31
+ return { ok: true, record: buffered };
32
+ const wake = await options.wake(wakeTimeout, wakeFrom);
33
+ if (!wake.ok)
34
+ return wake;
35
+ const deliveryBudget = deadline === undefined
36
+ ? postWakeTimeoutMs
37
+ : Math.max(0, Math.min(postWakeTimeoutMs, deadline - now()));
38
+ const record = await router.next(route, { timeoutMs: deliveryBudget });
39
+ if (record)
40
+ return { ok: true, record };
41
+ }
42
+ }
43
+ //# sourceMappingURL=chatRouteWait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatRouteWait.js","sourceRoot":"","sources":["../../../src/v3/chatRouteWait.ts"],"names":[],"mappings":";;;AAAA,6CAI8B;AAC9B,gEAAmF;AAEnF,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAI5B,KAAK,oCACV,MAA4B,EAC5B,KAAa,EACb,OAQC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,6CAAgC,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClG,MAAM,cAAc,GAClB,SAAS,KAAK,SAAS;QACrB,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS;QACnB,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,QAAQ,GACZ,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/F,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,oBAAoB,CAAC;IAE5E,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,WAAW,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC;QAC1E,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,0BAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;QACtE,CAAC;QAED,MAAM,WAAW,GACf,WAAW,KAAK,SAAS;YACvB,CAAC,CAAC,OAAO,CAAC,OAAO;YACjB,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;QACvD,wEAAwE;QACxE,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,QAAQ;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAEpD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAE1B,MAAM,cAAc,GAClB,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;QACvE,IAAI,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;AACH,CAAC"}
@@ -27,6 +27,11 @@ function responseAfterCompaction(response, compactedSteps, originalResponse) {
27
27
  break;
28
28
  }
29
29
  }
30
+ // Injection/data events following the last summarized step precede the
31
+ // next step-start. They happened after compaction and belong to the suffix,
32
+ // including a stop before that next step ever started.
33
+ while (start > 0 && response.parts[start - 1]?.type.startsWith("data-"))
34
+ start--;
30
35
  return { ...response, parts: response.parts.slice(start) };
31
36
  }
32
37
  //# sourceMappingURL=compactionResponse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compactionResponse.js","sourceRoot":"","sources":["../../../src/v3/compactionResponse.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,iCACE,QAAW,EACX,cAAuB,EACvB,gBAA4B;IAE5B,IAAI,CAAC,cAAc;QAAE,OAAO,QAAQ,CAAC;IAErC,yEAAyE;IACzE,0EAA0E;IAC1E,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,aAAa,GACjB,gBAAgB,EAAE,EAAE,KAAK,QAAQ,CAAC,EAAE;QAClC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,MAAM;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,MAAM,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IACnD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,CAAC;YACrE,KAAK,GAAG,CAAC,CAAC;YACV,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"compactionResponse.js","sourceRoot":"","sources":["../../../src/v3/compactionResponse.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACH,iCACE,QAAW,EACX,cAAuB,EACvB,gBAA4B;IAE5B,IAAI,CAAC,cAAc;QAAE,OAAO,QAAQ,CAAC;IAErC,yEAAyE;IACzE,0EAA0E;IAC1E,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,aAAa,GACjB,gBAAgB,EAAE,EAAE,KAAK,QAAQ,CAAC,EAAE;QAClC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,MAAM;QAC5E,CAAC,CAAC,CAAC,CAAC;IACR,MAAM,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IACnD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,YAAY,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,CAAC;YACrE,KAAK,GAAG,CAAC,CAAC;YACV,MAAM;QACR,CAAC;IACH,CAAC;IACD,uEAAuE;IACvE,4EAA4E;IAC5E,uDAAuD;IACvD,OAAO,KAAK,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,KAAK,EAAE,CAAC;IACjF,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Concurrency helpers with no runtime dependencies, importable from the lean
3
+ * browser and route-handler entrypoints (chat-client, chat-server) without
4
+ * pulling the task runtime's module graph into those bundles.
5
+ */
6
+ /**
7
+ * Trigger-time named limits: strings only, like `queue`. They replace the task's
8
+ * declared named limits for this run; the server resolves names to the run's gates.
9
+ */
10
+ export declare function triggerConcurrencyBody(concurrency: string | string[] | undefined): {
11
+ concurrency?: string[];
12
+ };
13
+ export declare function validateConcurrencyLimitName(name: string): void;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Concurrency helpers with no runtime dependencies, importable from the lean
4
+ * browser and route-handler entrypoints (chat-client, chat-server) without
5
+ * pulling the task runtime's module graph into those bundles.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.triggerConcurrencyBody = triggerConcurrencyBody;
9
+ exports.validateConcurrencyLimitName = validateConcurrencyLimitName;
10
+ /**
11
+ * Trigger-time named limits: strings only, like `queue`. They replace the task's
12
+ * declared named limits for this run; the server resolves names to the run's gates.
13
+ */
14
+ function triggerConcurrencyBody(concurrency) {
15
+ if (concurrency === undefined) {
16
+ return {};
17
+ }
18
+ const limits = Array.isArray(concurrency) ? concurrency : [concurrency];
19
+ if (limits.length > 2) {
20
+ throw new Error("The concurrency option accepts at most two named limits.");
21
+ }
22
+ if (limits.some((name) => typeof name !== "string" || name.length === 0)) {
23
+ throw new Error("The concurrency option takes limit names: non-empty strings.");
24
+ }
25
+ for (const name of limits) {
26
+ validateConcurrencyLimitName(name);
27
+ }
28
+ return { concurrency: limits };
29
+ }
30
+ function validateConcurrencyLimitName(name) {
31
+ if (!/^[a-zA-Z0-9_-]{1,122}$/.test(name)) {
32
+ throw new Error(`Concurrency limit "${name}": names are 1-122 characters using only letters, numbers, underscores and hyphens.`);
33
+ }
34
+ }
35
+ //# sourceMappingURL=concurrency-shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency-shared.js","sourceRoot":"","sources":["../../../src/v3/concurrency-shared.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;AAEH;;;GAGG;AACH,gCAAuC,WAA0C;IAG/E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,sCAA6C,IAAY;IACvD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,sBAAsB,IAAI,qFAAqF,CAChH,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,73 @@
1
+ import type { ApiPromise, ApiRequestOptions, ConcurrencyLimitItem, ListConcurrencyLimitOptions, OffsetLimitPagePromise, OverrideConcurrencyLimitRequestBody } from "@trigger.dev/core/v3";
2
+ /**
3
+ * Lists the environment's named concurrency limits (anonymous inline limits appear
4
+ * under their derived `task/<taskId>` names).
5
+ *
6
+ * @param options - The list options
7
+ * @param options.page - The page number
8
+ * @param options.perPage - The number of limits per page
9
+ * @returns The list of concurrency limits
10
+ */
11
+ export declare function list(options?: ListConcurrencyLimitOptions, requestOptions?: ApiRequestOptions): OffsetLimitPagePromise<typeof ConcurrencyLimitItem>;
12
+ /**
13
+ * Retrieves a concurrency limit by name.
14
+ *
15
+ * @example
16
+ *
17
+ * ```ts
18
+ * const limit = await concurrencyLimits.retrieve("openai");
19
+ * console.log(limit.running, limit.queued, limit.total.current);
20
+ * ```
21
+ * @param name - The limit's name, as declared with `concurrencyLimit()`
22
+ * @returns The concurrency limit
23
+ */
24
+ export declare function retrieve(name: string, requestOptions?: ApiRequestOptions): ApiPromise<ConcurrencyLimitItem>;
25
+ /**
26
+ * Overrides a concurrency limit's bounds. Only the given fields change; the
27
+ * declared values are kept as the base and restored by `reset`. To stop runs
28
+ * holding a limit, prefer `pause` (it keeps the configured bounds); overriding
29
+ * `total` to `0` also blocks every run holding the limit.
30
+ *
31
+ * @example
32
+ *
33
+ * ```ts
34
+ * await concurrencyLimits.override("openai", { total: 50 });
35
+ * ```
36
+ * @param name - The limit's name
37
+ * @param override - The bounds to change (`perKey` and/or `total`)
38
+ * @returns The updated concurrency limit
39
+ */
40
+ export declare function override(name: string, override: OverrideConcurrencyLimitRequestBody, requestOptions?: ApiRequestOptions): ApiPromise<ConcurrencyLimitItem>;
41
+ /**
42
+ * Resets a concurrency limit back to its declared values, clearing any override.
43
+ *
44
+ * @param name - The limit's name
45
+ * @returns The updated concurrency limit
46
+ */
47
+ export declare function reset(name: string, requestOptions?: ApiRequestOptions): ApiPromise<ConcurrencyLimitItem>;
48
+ /**
49
+ * Pauses a concurrency limit. Nothing holding the limit is admitted until it is
50
+ * resumed; runs already executing continue. The configured bounds are kept.
51
+ *
52
+ * @example
53
+ *
54
+ * ```ts
55
+ * await concurrencyLimits.pause("openai");
56
+ * ```
57
+ * @param name - The limit's name
58
+ * @returns The updated concurrency limit
59
+ */
60
+ export declare function pause(name: string, requestOptions?: ApiRequestOptions): ApiPromise<ConcurrencyLimitItem>;
61
+ /**
62
+ * Resumes a paused concurrency limit, so runs holding it can be admitted again
63
+ * under its configured bounds.
64
+ *
65
+ * @example
66
+ *
67
+ * ```ts
68
+ * await concurrencyLimits.resume("openai");
69
+ * ```
70
+ * @param name - The limit's name
71
+ * @returns The updated concurrency limit
72
+ */
73
+ export declare function resume(name: string, requestOptions?: ApiRequestOptions): ApiPromise<ConcurrencyLimitItem>;
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.list = list;
4
+ exports.retrieve = retrieve;
5
+ exports.override = override;
6
+ exports.reset = reset;
7
+ exports.pause = pause;
8
+ exports.resume = resume;
9
+ const v3_1 = require("@trigger.dev/core/v3");
10
+ const tracer_js_1 = require("./tracer.js");
11
+ /**
12
+ * Lists the environment's named concurrency limits (anonymous inline limits appear
13
+ * under their derived `task/<taskId>` names).
14
+ *
15
+ * @param options - The list options
16
+ * @param options.page - The page number
17
+ * @param options.perPage - The number of limits per page
18
+ * @returns The list of concurrency limits
19
+ */
20
+ function list(options, requestOptions) {
21
+ const apiClient = v3_1.apiClientManager.clientOrThrow();
22
+ const $requestOptions = (0, v3_1.mergeRequestOptions)({
23
+ tracer: tracer_js_1.tracer,
24
+ name: "concurrencyLimits.list()",
25
+ icon: "queue",
26
+ }, requestOptions);
27
+ return apiClient.listConcurrencyLimits(options, $requestOptions);
28
+ }
29
+ /**
30
+ * Retrieves a concurrency limit by name.
31
+ *
32
+ * @example
33
+ *
34
+ * ```ts
35
+ * const limit = await concurrencyLimits.retrieve("openai");
36
+ * console.log(limit.running, limit.queued, limit.total.current);
37
+ * ```
38
+ * @param name - The limit's name, as declared with `concurrencyLimit()`
39
+ * @returns The concurrency limit
40
+ */
41
+ function retrieve(name, requestOptions) {
42
+ const apiClient = v3_1.apiClientManager.clientOrThrow();
43
+ const $requestOptions = (0, v3_1.mergeRequestOptions)({
44
+ tracer: tracer_js_1.tracer,
45
+ name: "concurrencyLimits.retrieve()",
46
+ icon: "queue",
47
+ attributes: {
48
+ ...(0, v3_1.flattenAttributes)({ name }),
49
+ ...(0, v3_1.accessoryAttributes)({
50
+ items: [{ text: name, variant: "normal" }],
51
+ style: "codepath",
52
+ }),
53
+ },
54
+ }, requestOptions);
55
+ return apiClient.retrieveConcurrencyLimit(name, $requestOptions);
56
+ }
57
+ /**
58
+ * Overrides a concurrency limit's bounds. Only the given fields change; the
59
+ * declared values are kept as the base and restored by `reset`. To stop runs
60
+ * holding a limit, prefer `pause` (it keeps the configured bounds); overriding
61
+ * `total` to `0` also blocks every run holding the limit.
62
+ *
63
+ * @example
64
+ *
65
+ * ```ts
66
+ * await concurrencyLimits.override("openai", { total: 50 });
67
+ * ```
68
+ * @param name - The limit's name
69
+ * @param override - The bounds to change (`perKey` and/or `total`)
70
+ * @returns The updated concurrency limit
71
+ */
72
+ function override(name, override, requestOptions) {
73
+ const apiClient = v3_1.apiClientManager.clientOrThrow();
74
+ const $requestOptions = (0, v3_1.mergeRequestOptions)({
75
+ tracer: tracer_js_1.tracer,
76
+ name: "concurrencyLimits.override()",
77
+ icon: "queue",
78
+ attributes: {
79
+ ...(0, v3_1.flattenAttributes)({ name, override }),
80
+ ...(0, v3_1.accessoryAttributes)({
81
+ items: [{ text: name, variant: "normal" }],
82
+ style: "codepath",
83
+ }),
84
+ },
85
+ }, requestOptions);
86
+ return apiClient.overrideConcurrencyLimit(name, override, $requestOptions);
87
+ }
88
+ /**
89
+ * Resets a concurrency limit back to its declared values, clearing any override.
90
+ *
91
+ * @param name - The limit's name
92
+ * @returns The updated concurrency limit
93
+ */
94
+ function reset(name, requestOptions) {
95
+ const apiClient = v3_1.apiClientManager.clientOrThrow();
96
+ const $requestOptions = (0, v3_1.mergeRequestOptions)({
97
+ tracer: tracer_js_1.tracer,
98
+ name: "concurrencyLimits.reset()",
99
+ icon: "queue",
100
+ attributes: {
101
+ ...(0, v3_1.flattenAttributes)({ name }),
102
+ ...(0, v3_1.accessoryAttributes)({
103
+ items: [{ text: name, variant: "normal" }],
104
+ style: "codepath",
105
+ }),
106
+ },
107
+ }, requestOptions);
108
+ return apiClient.resetConcurrencyLimit(name, $requestOptions);
109
+ }
110
+ /**
111
+ * Pauses a concurrency limit. Nothing holding the limit is admitted until it is
112
+ * resumed; runs already executing continue. The configured bounds are kept.
113
+ *
114
+ * @example
115
+ *
116
+ * ```ts
117
+ * await concurrencyLimits.pause("openai");
118
+ * ```
119
+ * @param name - The limit's name
120
+ * @returns The updated concurrency limit
121
+ */
122
+ function pause(name, requestOptions) {
123
+ const apiClient = v3_1.apiClientManager.clientOrThrow();
124
+ const $requestOptions = (0, v3_1.mergeRequestOptions)({
125
+ tracer: tracer_js_1.tracer,
126
+ name: "concurrencyLimits.pause()",
127
+ icon: "queue",
128
+ attributes: {
129
+ ...(0, v3_1.flattenAttributes)({ name }),
130
+ ...(0, v3_1.accessoryAttributes)({
131
+ items: [{ text: name, variant: "normal" }],
132
+ style: "codepath",
133
+ }),
134
+ },
135
+ }, requestOptions);
136
+ return apiClient.pauseConcurrencyLimit(name, "pause", $requestOptions);
137
+ }
138
+ /**
139
+ * Resumes a paused concurrency limit, so runs holding it can be admitted again
140
+ * under its configured bounds.
141
+ *
142
+ * @example
143
+ *
144
+ * ```ts
145
+ * await concurrencyLimits.resume("openai");
146
+ * ```
147
+ * @param name - The limit's name
148
+ * @returns The updated concurrency limit
149
+ */
150
+ function resume(name, requestOptions) {
151
+ const apiClient = v3_1.apiClientManager.clientOrThrow();
152
+ const $requestOptions = (0, v3_1.mergeRequestOptions)({
153
+ tracer: tracer_js_1.tracer,
154
+ name: "concurrencyLimits.resume()",
155
+ icon: "queue",
156
+ attributes: {
157
+ ...(0, v3_1.flattenAttributes)({ name }),
158
+ ...(0, v3_1.accessoryAttributes)({
159
+ items: [{ text: name, variant: "normal" }],
160
+ style: "codepath",
161
+ }),
162
+ },
163
+ }, requestOptions);
164
+ return apiClient.pauseConcurrencyLimit(name, "resume", $requestOptions);
165
+ }
166
+ //# sourceMappingURL=concurrencyLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrencyLimits.js","sourceRoot":"","sources":["../../../src/v3/concurrencyLimits.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export * from "./cache.js";
2
2
  export * from "./config.js";
3
3
  export { retry, type RetryOptions } from "./retry.js";
4
- export { queue, BatchTriggerError } from "./shared.js";
4
+ export { queue, concurrencyLimit, BatchTriggerError } from "./shared.js";
5
5
  export * from "./tasks.js";
6
6
  export * from "./batch.js";
7
7
  export * from "./wait.js";
@@ -29,6 +29,7 @@ export * as schedules from "./schedules/index.js";
29
29
  export { deployments, type RetrieveCurrentDeploymentResponseBody, type ApiDeploymentListResponseItem, } from "./deployments.js";
30
30
  export * as envvars from "./envvars.js";
31
31
  export * as queues from "./queues.js";
32
+ export * as concurrencyLimits from "./concurrencyLimits.js";
32
33
  export type { ImportEnvironmentVariablesParams } from "./envvars.js";
33
34
  export { configure, auth } from "./auth.js";
34
35
  export { TriggerClient, type TriggerClientConfig } from "./triggerClient.js";
@@ -36,13 +36,14 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  };
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.skills = exports.prompts = exports.TriggerClient = exports.auth = exports.configure = exports.queues = exports.envvars = exports.deployments = exports.schedules = exports.runs = exports.logger = exports.isChatChunkTooLargeError = exports.ChatChunkTooLargeError = exports.CompleteTaskWithOutput = exports.OutOfMemoryError = exports.AbortTaskRunError = exports.UnprocessableEntityError = exports.RateLimitError = exports.PermissionDeniedError = exports.NotFoundError = exports.InternalServerError = exports.ConflictError = exports.BadRequestError = exports.AuthenticationError = exports.ApiError = exports.BatchTriggerError = exports.queue = exports.retry = void 0;
39
+ exports.skills = exports.prompts = exports.TriggerClient = exports.auth = exports.configure = exports.concurrencyLimits = exports.queues = exports.envvars = exports.deployments = exports.schedules = exports.runs = exports.logger = exports.isChatChunkTooLargeError = exports.ChatChunkTooLargeError = exports.CompleteTaskWithOutput = exports.OutOfMemoryError = exports.AbortTaskRunError = exports.UnprocessableEntityError = exports.RateLimitError = exports.PermissionDeniedError = exports.NotFoundError = exports.InternalServerError = exports.ConflictError = exports.BadRequestError = exports.AuthenticationError = exports.ApiError = exports.BatchTriggerError = exports.concurrencyLimit = exports.queue = exports.retry = void 0;
40
40
  __exportStar(require("./cache.js"), exports);
41
41
  __exportStar(require("./config.js"), exports);
42
42
  var retry_js_1 = require("./retry.js");
43
43
  Object.defineProperty(exports, "retry", { enumerable: true, get: function () { return retry_js_1.retry; } });
44
44
  var shared_js_1 = require("./shared.js");
45
45
  Object.defineProperty(exports, "queue", { enumerable: true, get: function () { return shared_js_1.queue; } });
46
+ Object.defineProperty(exports, "concurrencyLimit", { enumerable: true, get: function () { return shared_js_1.concurrencyLimit; } });
46
47
  Object.defineProperty(exports, "BatchTriggerError", { enumerable: true, get: function () { return shared_js_1.BatchTriggerError; } });
47
48
  __exportStar(require("./tasks.js"), exports);
48
49
  __exportStar(require("./batch.js"), exports);
@@ -84,6 +85,7 @@ var deployments_js_1 = require("./deployments.js");
84
85
  Object.defineProperty(exports, "deployments", { enumerable: true, get: function () { return deployments_js_1.deployments; } });
85
86
  exports.envvars = __importStar(require("./envvars.js"));
86
87
  exports.queues = __importStar(require("./queues.js"));
88
+ exports.concurrencyLimits = __importStar(require("./concurrencyLimits.js"));
87
89
  var auth_js_1 = require("./auth.js");
88
90
  Object.defineProperty(exports, "configure", { enumerable: true, get: function () { return auth_js_1.configure; } });
89
91
  Object.defineProperty(exports, "auth", { enumerable: true, get: function () { return auth_js_1.auth; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v3/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,8CAA4B;AAC5B,uCAAsD;AAA7C,iGAAA,KAAK,OAAA;AACd,yCAAuD;AAA9C,kGAAA,KAAK,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AACjC,6CAA2B;AAC3B,6CAA2B;AAC3B,4CAA0B;AAC1B,iDAA+B;AAC/B,6CAA2B;AAC3B,uDAAqC;AACrC,4CAA0B;AAC1B,gDAA8B;AAC9B,+CAA6B;AAC7B,gDAA8B;AAC9B,8CAA4B;AAC5B,4CAA0B;AAC1B,+CAA6B;AAC7B,kDAAgC;AAChC,+CAA6B;AAC7B,gDAA8B;AAC9B,6CAA2B;AAS3B,2CAiB8B;AAhB5B,8FAAA,QAAQ,OAAA;AACR,yGAAA,mBAAmB,OAAA;AACnB,qGAAA,eAAe,OAAA;AACf,mGAAA,aAAa,OAAA;AACb,yGAAA,mBAAmB,OAAA;AACnB,mGAAA,aAAa,OAAA;AACb,2GAAA,qBAAqB,OAAA;AACrB,oGAAA,cAAc,OAAA;AACd,8GAAA,wBAAwB,OAAA;AACxB,uGAAA,iBAAiB,OAAA;AACjB,sGAAA,gBAAgB,OAAA;AAChB,4GAAA,sBAAsB,OAAA;AACtB,4GAAA,sBAAsB,OAAA;AACtB,8GAAA,wBAAwB,OAAA;AACxB,4FAAA,MAAM,OAAA;AAIR,qCAUmB;AATjB,+FAAA,IAAI,OAAA;AAUN,QAAY,SAAS,iDAA6B;AAClD,mDAI0B;AAHxB,6GAAA,WAAW,OAAA;AAIb,QAAY,OAAO,yCAAqB;AACxC,QAAY,MAAM,wCAAoB;AAGtC,qCAA4C;AAAnC,oGAAA,SAAS,OAAA;AAAE,+FAAA,IAAI,OAAA;AACxB,uDAA6E;AAApE,iHAAA,aAAa,OAAA;AACtB,QAAY,OAAO,yCAAqB;AACxC,QAAY,MAAM,wCAAoB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v3/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,8CAA4B;AAC5B,uCAAsD;AAA7C,iGAAA,KAAK,OAAA;AACd,yCAAyE;AAAhE,kGAAA,KAAK,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AACnD,6CAA2B;AAC3B,6CAA2B;AAC3B,4CAA0B;AAC1B,iDAA+B;AAC/B,6CAA2B;AAC3B,uDAAqC;AACrC,4CAA0B;AAC1B,gDAA8B;AAC9B,+CAA6B;AAC7B,gDAA8B;AAC9B,8CAA4B;AAC5B,4CAA0B;AAC1B,+CAA6B;AAC7B,kDAAgC;AAChC,+CAA6B;AAC7B,gDAA8B;AAC9B,6CAA2B;AAS3B,2CAiB8B;AAhB5B,8FAAA,QAAQ,OAAA;AACR,yGAAA,mBAAmB,OAAA;AACnB,qGAAA,eAAe,OAAA;AACf,mGAAA,aAAa,OAAA;AACb,yGAAA,mBAAmB,OAAA;AACnB,mGAAA,aAAa,OAAA;AACb,2GAAA,qBAAqB,OAAA;AACrB,oGAAA,cAAc,OAAA;AACd,8GAAA,wBAAwB,OAAA;AACxB,uGAAA,iBAAiB,OAAA;AACjB,sGAAA,gBAAgB,OAAA;AAChB,4GAAA,sBAAsB,OAAA;AACtB,4GAAA,sBAAsB,OAAA;AACtB,8GAAA,wBAAwB,OAAA;AACxB,4FAAA,MAAM,OAAA;AAIR,qCAUmB;AATjB,+FAAA,IAAI,OAAA;AAUN,QAAY,SAAS,iDAA6B;AAClD,mDAI0B;AAHxB,6GAAA,WAAW,OAAA;AAIb,QAAY,OAAO,yCAAqB;AACxC,QAAY,MAAM,wCAAoB;AACtC,QAAY,iBAAiB,mDAA+B;AAG5D,qCAA4C;AAAnC,oGAAA,SAAS,OAAA;AAAE,+FAAA,IAAI,OAAA;AACxB,uDAA6E;AAApE,iHAAA,aAAa,OAAA;AACtB,QAAY,OAAO,yCAAqB;AACxC,QAAY,MAAM,wCAAoB"}
@@ -0,0 +1,44 @@
1
+ import type { UIMessage, UIMessageChunk } from "ai";
2
+ /** One ordered output channel for a turn's managed model and data chunks. */
3
+ export declare class ManagedChatResponse {
4
+ private readonly publish;
5
+ private controller?;
6
+ private completion?;
7
+ private failure?;
8
+ private closed;
9
+ private chunks;
10
+ private original?;
11
+ private fallbackId;
12
+ private completedSteps;
13
+ private dataBoundary;
14
+ private generationOffset;
15
+ private orderedSteps;
16
+ private pendingData;
17
+ constructor(publish: (stream: ReadableStream<UIMessageChunk>) => Promise<unknown>);
18
+ seed(messages: readonly UIMessage[] | undefined): void;
19
+ get isClosed(): boolean;
20
+ get revision(): number;
21
+ continues(id: string): boolean;
22
+ beginGeneration(): void;
23
+ afterStep(completedSteps: number): void;
24
+ /** Raw pipes own their output ordering and do not feed this capture. */
25
+ useRawPipe(): void;
26
+ private flushPendingData;
27
+ writeData(chunk: UIMessageChunk): void;
28
+ write(chunk: UIMessageChunk, capture?: boolean): void;
29
+ pipe(source: AsyncIterable<UIMessageChunk> | ReadableStream<UIMessageChunk>, signal?: AbortSignal): Promise<void>;
30
+ /** Native reduction of the exact admitted chunks, including same-ID updates. */
31
+ snapshot(options?: {
32
+ message: UIMessage;
33
+ from: number;
34
+ }): Promise<UIMessage | undefined>;
35
+ close(): Promise<void>;
36
+ }
37
+ /** Hook streams share a publisher; only persistent data joins managed capture. */
38
+ export declare function createOrderedChatWriter(activeResponse: () => ManagedChatResponse | undefined, publish: (stream: ReadableStream<UIMessageChunk>) => Promise<unknown>): {
39
+ writer: {
40
+ write(part: UIMessageChunk): void;
41
+ merge(stream: ReadableStream<UIMessageChunk>): void;
42
+ };
43
+ flush(): Promise<void>;
44
+ };