@trigger.dev/sdk 0.0.0-prerelease-20260911153544 → 0.0.0-prerelease-windows-bundle-fix-20260928100448
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/v3/ai.d.ts +37 -12
- package/dist/commonjs/v3/ai.js +349 -278
- package/dist/commonjs/v3/ai.js.map +1 -1
- package/dist/commonjs/v3/auth.js +8 -2
- package/dist/commonjs/v3/auth.js.map +1 -1
- package/dist/commonjs/v3/chat-client.js +7 -0
- package/dist/commonjs/v3/chat-client.js.map +1 -1
- package/dist/commonjs/v3/chat-server.d.ts +1 -0
- package/dist/commonjs/v3/chat-server.js +8 -0
- package/dist/commonjs/v3/chat-server.js.map +1 -1
- package/dist/commonjs/v3/chat.js +13 -9
- package/dist/commonjs/v3/chat.js.map +1 -1
- package/dist/commonjs/v3/compactionResponse.d.ts +9 -0
- package/dist/commonjs/v3/compactionResponse.js +37 -0
- package/dist/commonjs/v3/compactionResponse.js.map +1 -0
- package/dist/commonjs/v3/concurrency-shared.d.ts +13 -0
- package/dist/commonjs/v3/concurrency-shared.js +35 -0
- package/dist/commonjs/v3/concurrency-shared.js.map +1 -0
- package/dist/commonjs/v3/concurrencyLimits.d.ts +73 -0
- package/dist/commonjs/v3/concurrencyLimits.js +166 -0
- package/dist/commonjs/v3/concurrencyLimits.js.map +1 -0
- package/dist/commonjs/v3/index.d.ts +2 -1
- package/dist/commonjs/v3/index.js +3 -1
- package/dist/commonjs/v3/index.js.map +1 -1
- package/dist/commonjs/v3/managedChatResponse.d.ts +44 -0
- package/dist/commonjs/v3/managedChatResponse.js +233 -0
- package/dist/commonjs/v3/managedChatResponse.js.map +1 -0
- package/dist/commonjs/v3/queues.d.ts +31 -0
- package/dist/commonjs/v3/queues.js +31 -0
- package/dist/commonjs/v3/queues.js.map +1 -1
- package/dist/commonjs/v3/runs.d.ts +5 -0
- package/dist/commonjs/v3/sessionTracing.d.ts +7 -0
- package/dist/commonjs/v3/sessionTracing.js +44 -0
- package/dist/commonjs/v3/sessionTracing.js.map +1 -0
- package/dist/commonjs/v3/sessions.js +31 -34
- package/dist/commonjs/v3/sessions.js.map +1 -1
- package/dist/commonjs/v3/shared.d.ts +18 -1
- package/dist/commonjs/v3/shared.js +145 -52
- package/dist/commonjs/v3/shared.js.map +1 -1
- package/dist/commonjs/v3/steeringContext.d.ts +41 -0
- package/dist/commonjs/v3/steeringContext.js +118 -0
- package/dist/commonjs/v3/steeringContext.js.map +1 -0
- package/dist/commonjs/v3/transcriptStorage.d.ts +4 -1
- package/dist/commonjs/v3/transcriptStorage.js +55 -4
- package/dist/commonjs/v3/transcriptStorage.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/esm/v3/ai.d.ts +37 -12
- package/dist/esm/v3/ai.js +350 -279
- package/dist/esm/v3/ai.js.map +1 -1
- package/dist/esm/v3/auth.js +8 -2
- package/dist/esm/v3/auth.js.map +1 -1
- package/dist/esm/v3/chat-client.js +7 -0
- package/dist/esm/v3/chat-client.js.map +1 -1
- package/dist/esm/v3/chat-server.d.ts +1 -0
- package/dist/esm/v3/chat-server.js +8 -0
- package/dist/esm/v3/chat-server.js.map +1 -1
- package/dist/esm/v3/chat.js +13 -9
- package/dist/esm/v3/chat.js.map +1 -1
- package/dist/esm/v3/compactionResponse.d.ts +9 -0
- package/dist/esm/v3/compactionResponse.js +34 -0
- package/dist/esm/v3/compactionResponse.js.map +1 -0
- package/dist/esm/v3/concurrency-shared.d.ts +13 -0
- package/dist/esm/v3/concurrency-shared.js +31 -0
- package/dist/esm/v3/concurrency-shared.js.map +1 -0
- package/dist/esm/v3/concurrencyLimits.d.ts +73 -0
- package/dist/esm/v3/concurrencyLimits.js +158 -0
- package/dist/esm/v3/concurrencyLimits.js.map +1 -0
- package/dist/esm/v3/index.d.ts +2 -1
- package/dist/esm/v3/index.js +2 -1
- package/dist/esm/v3/index.js.map +1 -1
- package/dist/esm/v3/managedChatResponse.d.ts +44 -0
- package/dist/esm/v3/managedChatResponse.js +228 -0
- package/dist/esm/v3/managedChatResponse.js.map +1 -0
- package/dist/esm/v3/queues.d.ts +31 -0
- package/dist/esm/v3/queues.js +31 -0
- package/dist/esm/v3/queues.js.map +1 -1
- package/dist/esm/v3/runs.d.ts +5 -0
- package/dist/esm/v3/sessionTracing.d.ts +7 -0
- package/dist/esm/v3/sessionTracing.js +40 -0
- package/dist/esm/v3/sessionTracing.js.map +1 -0
- package/dist/esm/v3/sessions.js +31 -34
- package/dist/esm/v3/sessions.js.map +1 -1
- package/dist/esm/v3/shared.d.ts +18 -1
- package/dist/esm/v3/shared.js +145 -53
- package/dist/esm/v3/shared.js.map +1 -1
- package/dist/esm/v3/steeringContext.d.ts +41 -0
- package/dist/esm/v3/steeringContext.js +113 -0
- package/dist/esm/v3/steeringContext.js.map +1 -0
- package/dist/esm/v3/transcriptStorage.d.ts +4 -1
- package/dist/esm/v3/transcriptStorage.js +55 -5
- package/dist/esm/v3/transcriptStorage.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/docs/ai-chat/anatomy.mdx +44 -24
- package/docs/ai-chat/client-protocol.mdx +2 -0
- package/docs/ai-chat/error-handling.mdx +44 -76
- package/docs/ai-chat/frontend.mdx +27 -21
- package/docs/ai-chat/lifecycle-hooks.mdx +4 -2
- package/docs/ai-chat/patterns/branching-conversations.mdx +95 -230
- package/docs/ai-chat/patterns/human-in-the-loop.mdx +166 -164
- package/docs/ai-chat/patterns/tool-result-auditing.mdx +28 -27
- package/docs/ai-chat/pending-messages.mdx +19 -5
- package/docs/ai-chat/quick-start.mdx +26 -20
- package/docs/ai-chat/reference.mdx +4 -2
- package/docs/ai-chat/testing.mdx +16 -4
- package/docs/cli-env-commands.mdx +114 -0
- package/docs/cli-projects-commands.mdx +62 -0
- package/docs/cli-runs-commands.mdx +94 -0
- package/docs/concurrency.mdx +384 -0
- package/docs/database-connections.mdx +3 -3
- package/docs/deploy-environment-variables.mdx +6 -0
- package/docs/idempotency.mdx +43 -5
- package/docs/introduction.mdx +58 -152
- package/docs/limits.mdx +16 -6
- package/docs/observability/query.mdx +25 -0
- package/docs/queues.mdx +248 -0
- package/docs/reports.mdx +1 -1
- package/docs/runs/priority.mdx +2 -25
- package/docs/self-hosting/env/webapp.mdx +7 -0
- package/docs/tasks/overview.mdx +3 -5
- package/docs/troubleshooting-alerts.mdx +124 -1
- package/docs/troubleshooting.mdx +12 -0
- package/docs/writing-tasks-introduction.mdx +2 -1
- package/package.json +2 -2
- package/docs/queue-concurrency.mdx +0 -358
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.responseAfterCompaction = responseAfterCompaction;
|
|
4
|
+
/**
|
|
5
|
+
* Inner compaction summarizes completed model steps, but the captured UI response
|
|
6
|
+
* still contains every step. Trim that prefix before model-message conversion:
|
|
7
|
+
* one step can produce zero, one or several model messages (hidden reasoning,
|
|
8
|
+
* provider tools, custom tool outputs), so a model-message count is not a UI offset.
|
|
9
|
+
* The full response is left untouched for display and transcript persistence.
|
|
10
|
+
*/
|
|
11
|
+
function responseAfterCompaction(response, compactedSteps, originalResponse) {
|
|
12
|
+
if (!compactedSteps)
|
|
13
|
+
return response;
|
|
14
|
+
// Approval and head-start continuations append new steps to the existing
|
|
15
|
+
// assistant. Its original parts were also summarized, but are not in this
|
|
16
|
+
// turn's prepareStep.steps. Count their markers separately. Prefixes without
|
|
17
|
+
// markers are naturally skipped before the first new step.
|
|
18
|
+
const originalSteps = originalResponse?.id === response.id
|
|
19
|
+
? originalResponse.parts.filter((part) => part.type === "step-start").length
|
|
20
|
+
: 0;
|
|
21
|
+
const stepsToSkip = originalSteps + compactedSteps;
|
|
22
|
+
let step = 0;
|
|
23
|
+
let start = response.parts.length;
|
|
24
|
+
for (let i = 0; i < response.parts.length; i++) {
|
|
25
|
+
if (response.parts[i]?.type === "step-start" && ++step > stepsToSkip) {
|
|
26
|
+
start = i;
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
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--;
|
|
35
|
+
return { ...response, parts: response.parts.slice(start) };
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=compactionResponse.js.map
|
|
@@ -0,0 +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,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,
|
|
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
|
+
};
|