@vxil/config 0.6.0 → 0.7.0
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/index.d.ts +7 -1
- package/package.json +2 -2
- package/src/index.ts +6 -2
package/dist/index.d.ts
CHANGED
|
@@ -132,9 +132,15 @@ export interface FunctionTriggerRetry {
|
|
|
132
132
|
export type FunctionTrigger = {
|
|
133
133
|
kind: 'http';
|
|
134
134
|
path?: string;
|
|
135
|
-
}
|
|
135
|
+
}
|
|
136
|
+
/** `overlap: 'skip'` (2026-10-01): a due tick fires nothing while the
|
|
137
|
+
* previous tick's run is still open (queued / running / retrying / waiting /
|
|
138
|
+
* delayed) — the slot is counted, never caught up. Default `'allow'`. Every
|
|
139
|
+
* cron envelope carries `scheduled_for`, the slot it was due for. */
|
|
140
|
+
| {
|
|
136
141
|
kind: 'cron';
|
|
137
142
|
schedule: string;
|
|
143
|
+
overlap?: 'allow' | 'skip';
|
|
138
144
|
} | {
|
|
139
145
|
kind: 'queue';
|
|
140
146
|
source: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vxil/config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Typed vxil.config.ts authoring for the vxil backend platform — defineConfig, feature and cms field definitions (published for @vxil/cli).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://vxil.com",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"src"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@vxil/feature-configs": "0.
|
|
25
|
+
"@vxil/feature-configs": "0.7.0"
|
|
26
26
|
},
|
|
27
27
|
"publishConfig": {
|
|
28
28
|
"access": "public"
|
package/src/index.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// types); the control plane never executes this file. This keeps config-as-code
|
|
7
7
|
// §7.3-consistent — config is DATA; the only tenant CODE that crosses into vxil
|
|
8
8
|
// is (a) the Lane-A hook expressions (a closed sandbox) and (b) the functions/
|
|
9
|
-
// sources (the
|
|
9
|
+
// sources (the opt-in, plan-limited, egress-guarded crossing). Everything here is
|
|
10
10
|
// declarative. See https://vxil.com/docs/guide/05-typed-sdk-and-cli.
|
|
11
11
|
import type {
|
|
12
12
|
NotificationsConfig, JobsConfig, AuthConfig, RateLimitsConfig, FilesConfig,
|
|
@@ -156,7 +156,11 @@ export interface FunctionTriggerRetry {
|
|
|
156
156
|
* post-signup hook; at-least-once, ~1min fanout latency). */
|
|
157
157
|
export type FunctionTrigger =
|
|
158
158
|
| { kind: 'http'; path?: string }
|
|
159
|
-
|
|
159
|
+
/** `overlap: 'skip'` (2026-10-01): a due tick fires nothing while the
|
|
160
|
+
* previous tick's run is still open (queued / running / retrying / waiting /
|
|
161
|
+
* delayed) — the slot is counted, never caught up. Default `'allow'`. Every
|
|
162
|
+
* cron envelope carries `scheduled_for`, the slot it was due for. */
|
|
163
|
+
| { kind: 'cron'; schedule: string; overlap?: 'allow' | 'skip' }
|
|
160
164
|
| { kind: 'queue'; source: string; retry?: FunctionTriggerRetry }
|
|
161
165
|
/** `webhook`: the function is woken by a webhook_subscription fan-out whose
|
|
162
166
|
* target_url is `<edge>/v1/internal/fn/trigger/<name>?tenant=<id>`. That
|