@astrale-os/adapter-cloudflare 0.5.0-beta.64 → 0.5.0-beta.65
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/CHANGELOG.md +14 -0
- package/dist/build/configuration/invocation-timeout.d.ts +2 -0
- package/dist/build/configuration/invocation-timeout.js +9 -0
- package/dist/build/configuration.d.ts +1 -0
- package/dist/build/configuration.js +1 -0
- package/dist/build/worker/codegen/service.d.ts +1 -0
- package/dist/build/worker/codegen/service.js +1 -0
- package/dist/build/worker/execution.prepare.js +3 -1
- package/dist/params.d.ts +6 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.0-beta.65](https://github.com/astrale-os/sdk/compare/adapter-cloudflare-v0.5.0-beta.64...adapter-cloudflare-v0.5.0-beta.65) (2026-08-27)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* **adapter-cloudflare:** configure invocation timeout ([#290](https://github.com/astrale-os/sdk/issues/290)) ([9c4e144](https://github.com/astrale-os/sdk/commit/9c4e144618846e8e1c8d76c432e8d5008285c3b7))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @astrale-os/sdk bumped to 0.5.0-beta.62
|
|
16
|
+
|
|
3
17
|
## [0.5.0-beta.64](https://github.com/astrale-os/sdk/compare/adapter-cloudflare-v0.5.0-beta.63...adapter-cloudflare-v0.5.0-beta.64) (2026-08-27)
|
|
4
18
|
|
|
5
19
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const MAXIMUM_TIMER_MS = 2_147_483_647;
|
|
2
|
+
export function workerInvocationTimeout(value) {
|
|
3
|
+
if (value === undefined)
|
|
4
|
+
return undefined;
|
|
5
|
+
if (!Number.isSafeInteger(value) || value <= 0 || value > MAXIMUM_TIMER_MS) {
|
|
6
|
+
throw new TypeError('Cloudflare invocationTimeoutMs must be a positive integer within the platform timer range.');
|
|
7
|
+
}
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { deploymentAddressing } from './configuration/addressing.js';
|
|
2
|
+
export { workerInvocationTimeout } from './configuration/invocation-timeout.js';
|
|
2
3
|
export { workerRequestLimit } from './configuration/request-limit.js';
|
|
3
4
|
export { resolveRouter } from './configuration/router.js';
|
|
4
5
|
export { workerName } from './configuration/worker-name.js';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { deploymentAddressing } from './configuration/addressing.js';
|
|
2
|
+
export { workerInvocationTimeout } from './configuration/invocation-timeout.js';
|
|
2
3
|
export { workerRequestLimit } from './configuration/request-limit.js';
|
|
3
4
|
export { resolveRouter } from './configuration/router.js';
|
|
4
5
|
export { workerName } from './configuration/worker-name.js';
|
|
@@ -5,6 +5,7 @@ export interface ExecutionCodegenOptions {
|
|
|
5
5
|
readonly workerSpecifier?: string;
|
|
6
6
|
readonly build: Build;
|
|
7
7
|
readonly maximumRequestBytes?: number;
|
|
8
|
+
readonly invocationTimeoutMs?: number;
|
|
8
9
|
readonly providerAssignedWorker?: string;
|
|
9
10
|
readonly router?: {
|
|
10
11
|
readonly binding: string;
|
|
@@ -44,6 +44,7 @@ ${frontend} load: async () => ({
|
|
|
44
44
|
resolveEnvironment: runtimeBindings,
|
|
45
45
|
resolveUrl: (env, requestOrigin) => env.WORKER_URL ?? env.IDENTITY_ISS ?? requestOrigin,
|
|
46
46
|
${options.maximumRequestBytes === undefined ? '' : `maximumRequestBytes: ${options.maximumRequestBytes},`}
|
|
47
|
+
${options.invocationTimeoutMs === undefined ? '' : `invocationTimeoutMs: ${options.invocationTimeoutMs},`}
|
|
47
48
|
${options.providerAssignedWorker === undefined ? '' : `providerAssignedWorker: ${JSON.stringify(options.providerAssignedWorker)},`}
|
|
48
49
|
selfBinding: (env) => env.SELF,${routeSubrequest}
|
|
49
50
|
})
|
|
@@ -4,7 +4,7 @@ import { SIGNING_IDENTITY_BINDING } from '../../identity/binding.js';
|
|
|
4
4
|
import { admitWorkerBundle } from '../bundle/admit.js';
|
|
5
5
|
import { generateExecutionEntry, generateExecutionService } from '../codegen/execution.js';
|
|
6
6
|
import { generateWranglerConfig } from '../codegen/wrangler.js';
|
|
7
|
-
import { workerRequestLimit } from '../configuration.js';
|
|
7
|
+
import { workerInvocationTimeout, workerRequestLimit } from '../configuration.js';
|
|
8
8
|
import { qualifyWorkerBundle } from '../qualification.js';
|
|
9
9
|
import { runWranglerBundle } from '../wrangler-cli.js';
|
|
10
10
|
import { workerModuleSpecifier } from './specifier.js';
|
|
@@ -15,12 +15,14 @@ export async function prepareExecution(input) {
|
|
|
15
15
|
const runtimeSpecifier = moduleSpecifier(relative(input.directory, runtimePath));
|
|
16
16
|
const workerSpecifier = workerModuleSpecifier();
|
|
17
17
|
const maximumRequestBytes = workerRequestLimit(input.params.maximumRequestBytes);
|
|
18
|
+
const invocationTimeoutMs = workerInvocationTimeout(input.params.invocationTimeoutMs);
|
|
18
19
|
const serviceSource = generateExecutionService({
|
|
19
20
|
origin: input.context.build.schema.compiled.root.origin,
|
|
20
21
|
runtimeSpecifier,
|
|
21
22
|
workerSpecifier,
|
|
22
23
|
build: input.context.build,
|
|
23
24
|
...(maximumRequestBytes === undefined ? {} : { maximumRequestBytes }),
|
|
25
|
+
...(invocationTimeoutMs === undefined ? {} : { invocationTimeoutMs }),
|
|
24
26
|
...(input.configuredIssuer === undefined && input.direct
|
|
25
27
|
? { providerAssignedWorker: input.name }
|
|
26
28
|
: {}),
|
package/dist/params.d.ts
CHANGED
|
@@ -56,6 +56,12 @@ export interface CloudflareParams {
|
|
|
56
56
|
* application traffic; Publication and Bundle delivery have separate limits.
|
|
57
57
|
*/
|
|
58
58
|
readonly maximumRequestBytes?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Maximum wall-clock lifetime of one invocation, including Workflow steps and
|
|
61
|
+
* returned streams. Defaults to 30 seconds. Increase this for intentionally
|
|
62
|
+
* long provider orchestration while retaining a finite application budget.
|
|
63
|
+
*/
|
|
64
|
+
readonly invocationTimeoutMs?: number;
|
|
59
65
|
/**
|
|
60
66
|
* Escape hatch: raw wrangler config deep-merged over the generated base. Use
|
|
61
67
|
* it to declare extra bindings the adapter has no typed field for — KV, R2,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astrale-os/adapter-cloudflare",
|
|
3
|
-
"version": "0.5.0-beta.
|
|
3
|
+
"version": "0.5.0-beta.65",
|
|
4
4
|
"description": "Deploy an Astrale application through Cloudflare Workers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"adapter",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"registry": "https://registry.npmjs.org/"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@astrale-os/sdk": "0.5.0-beta.
|
|
52
|
+
"@astrale-os/sdk": "0.5.0-beta.62",
|
|
53
53
|
"@noble/hashes": "2.3.0",
|
|
54
54
|
"hono": "^4.6.20",
|
|
55
55
|
"jose": "^6.1.3",
|