@trayai/helix-sdk 1.13.0 → 1.13.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.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,14 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
  The SDK and [`@trayai/helix-cli`](https://www.npmjs.com/package/@trayai/helix-cli) are
9
9
  released together and share a version — install matching versions.
10
10
 
11
+ ## 1.13.1
12
+
13
+ ### Changed
14
+
15
+ - Documented the 15-minute handler time limit for scheduled functions and
16
+ `ctx.callFunctionAsync` targets (previously documented as 180 seconds), and that a failed
17
+ run is retried about a minute later rather than five.
18
+
11
19
  ## 1.9.0
12
20
 
13
21
  ### Added
package/README.md CHANGED
@@ -256,10 +256,10 @@ Things to know:
256
256
  - Files and directories starting with `_` below `_scheduled/` are treated as helpers, not schedules — the only files that belong in the directory besides schedule definitions.
257
257
  - `getContext()` works inside schedule handlers; shared code can detect a scheduled run by checking for `ctx.trigger`.
258
258
 
259
- Limits — schedules run in the same deployed runtime as HTTP functions and share its execution limits:
259
+ Limits — schedules run in the same deployed runtime as HTTP functions but get a longer time limit:
260
260
 
261
- - **Handler time limit: 180 seconds.** A run still going at the limit is killed and counts as failed. Work that can't reliably finish in time should be split across runs — persist progress (for example in `ctx.kv()`) and continue on the next fire.
262
- - **Delivery is at-least-once.** A failed run — a thrown error, a timed-out handler, or an infrastructure failure — is retried once roughly five minutes later, then dropped. Write handlers to be idempotent: a retry re-runs the whole handler with the same `ctx.trigger.scheduledAt`.
261
+ - **Handler time limit: 15 minutes.** A run still going at the limit is killed and counts as failed. Work that can't reliably finish in time should be split across runs — persist progress (for example in `ctx.kv()`) and continue on the next fire.
262
+ - **Delivery is at-least-once.** A failed run — a thrown error, a timed-out handler, or an infrastructure failure — is retried once, usually about a minute later, then dropped. Write handlers to be idempotent: a retry re-runs the whole handler with the same `ctx.trigger.scheduledAt`.
263
263
  - **Highest frequency is once per minute** — 5-field cron has minute granularity.
264
264
  - **Memory is managed by the platform** and is not configurable per function.
265
265
  - Fires are scheduled for the exact cron minute, but execution can start late under load or on a cold start — compare `ctx.trigger.scheduledAt` (intended) with `ctx.trigger.firedAt` (actual) when lateness matters.
@@ -297,6 +297,8 @@ Things to know:
297
297
 
298
298
  - **Fire-and-forget only.** `callFunctionAsync` resolves once the call is accepted, not once the
299
299
  target runs — there is no result, status, or execution id to get back.
300
+ - **15-minute time limit.** The target runs with the same 15-minute handler time limit as a
301
+ scheduled function; a run still going at the limit is killed and counts as failed.
300
302
  - **Chaining is capped at two hops.** A normal (HTTP or scheduled) execution can call once; the
301
303
  execution it starts can call once more; a third hop is refused.
302
304
  - **The target must accept `POST`.** The call always dispatches as `POST`, regardless of the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trayai/helix-sdk",
3
- "version": "1.13.0",
3
+ "version": "1.13.1",
4
4
  "description": "Helix SDK runtime — defineFunction, ctx, defineConfig, authed HTTP",
5
5
  "license": "Apache-2.0",
6
6
  "author": "trayio",