@objectstack/trigger-schedule 17.0.0-rc.0 → 17.0.0-rc.2

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 (2) hide show
  1. package/CHANGELOG.md +1360 -0
  2. package/package.json +9 -7
package/CHANGELOG.md ADDED
@@ -0,0 +1,1360 @@
1
+ # @objectstack/plugin-trigger-schedule
2
+
3
+ ## 17.0.0-rc.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [430dcc2]
8
+ - Updated dependencies [e6ac4bd]
9
+ - Updated dependencies [80334c7]
10
+ - Updated dependencies [ce5242c]
11
+ - Updated dependencies [a7163ea]
12
+ - Updated dependencies [e6e9379]
13
+ - Updated dependencies [98877c9]
14
+ - Updated dependencies [98877c9]
15
+ - Updated dependencies [e6b1b69]
16
+ - Updated dependencies [ad047d2]
17
+ - Updated dependencies [2826d1e]
18
+ - Updated dependencies [5a84d41]
19
+ - Updated dependencies [20b1a9e]
20
+ - Updated dependencies [203a449]
21
+ - Updated dependencies [ac37fc6]
22
+ - Updated dependencies [4820f55]
23
+ - Updated dependencies [462d9c4]
24
+ - Updated dependencies [7d21581]
25
+ - Updated dependencies [f2445c9]
26
+ - Updated dependencies [23338c3]
27
+ - Updated dependencies [5b843fb]
28
+ - Updated dependencies [b4487aa]
29
+ - Updated dependencies [65ca83a]
30
+ - Updated dependencies [67bf2e2]
31
+ - Updated dependencies [c6d1cb4]
32
+ - Updated dependencies [36030ff]
33
+ - Updated dependencies [6117f7b]
34
+ - Updated dependencies [e533b0b]
35
+ - Updated dependencies [cdf4d9a]
36
+ - Updated dependencies [aee1806]
37
+ - Updated dependencies [c13350b]
38
+ - Updated dependencies [c13350b]
39
+ - Updated dependencies [9ca2d85]
40
+ - Updated dependencies [c13350b]
41
+ - Updated dependencies [891d345]
42
+ - Updated dependencies [a52e2ef]
43
+ - Updated dependencies [5293114]
44
+ - Updated dependencies [20bc357]
45
+ - Updated dependencies [5966c2a]
46
+ - Updated dependencies [2382580]
47
+ - Updated dependencies [d9fa683]
48
+ - Updated dependencies [3c7bcc0]
49
+ - Updated dependencies [4b6cac7]
50
+ - Updated dependencies [7631964]
51
+ - Updated dependencies [ac471a0]
52
+ - Updated dependencies [60ae58e]
53
+ - Updated dependencies [ce92674]
54
+ - Updated dependencies [9f601e8]
55
+ - Updated dependencies [51c5227]
56
+ - Updated dependencies [a4a85c8]
57
+ - Updated dependencies [07a4e26]
58
+ - Updated dependencies [ec975f1]
59
+ - Updated dependencies [eb4204b]
60
+ - Updated dependencies [4f13be2]
61
+ - Updated dependencies [61cc079]
62
+ - Updated dependencies [0e96e46]
63
+ - Updated dependencies [d52d4fe]
64
+ - Updated dependencies [742cebb]
65
+ - Updated dependencies [ce92674]
66
+ - Updated dependencies [cf2c9b7]
67
+ - Updated dependencies [833b512]
68
+ - Updated dependencies [0f9faa2]
69
+ - Updated dependencies [7cf42fe]
70
+ - Updated dependencies [5966c2a]
71
+ - Updated dependencies [f78dd83]
72
+ - Updated dependencies [a2cd18a]
73
+ - Updated dependencies [4638aaa]
74
+ - Updated dependencies [0222d3c]
75
+ - Updated dependencies [071d0dc]
76
+ - Updated dependencies [0a936ea]
77
+ - Updated dependencies [023c00b]
78
+ - Updated dependencies [155507e]
79
+ - Updated dependencies [7bba90b]
80
+ - Updated dependencies [7e05d8e]
81
+ - Updated dependencies [061406d]
82
+ - Updated dependencies [c1f344b]
83
+ - Updated dependencies [9c93465]
84
+ - Updated dependencies [ebb209c]
85
+ - Updated dependencies [63b33e6]
86
+ - Updated dependencies [2a44c1d]
87
+ - Updated dependencies [695cfbd]
88
+ - Updated dependencies [7445149]
89
+ - Updated dependencies [071d0dc]
90
+ - Updated dependencies [0848bea]
91
+ - Updated dependencies [d51bed2]
92
+ - Updated dependencies [b8b3c64]
93
+ - Updated dependencies [0c0fbd9]
94
+ - Updated dependencies [f3141d8]
95
+ - Updated dependencies [5a84d41]
96
+ - Updated dependencies [fd3013a]
97
+ - Updated dependencies [21676eb]
98
+ - Updated dependencies [e336549]
99
+ - Updated dependencies [d40f43a]
100
+ - Updated dependencies [e5e7ee0]
101
+ - Updated dependencies [a2ebea2]
102
+ - Updated dependencies [800bdb0]
103
+ - Updated dependencies [04f1182]
104
+ - Updated dependencies [5647006]
105
+ - Updated dependencies [38f7e4f]
106
+ - Updated dependencies [c57f3cf]
107
+ - Updated dependencies [97faca3]
108
+ - Updated dependencies [ad5fe25]
109
+ - Updated dependencies [ea90179]
110
+ - Updated dependencies [ce92674]
111
+ - Updated dependencies [5ef0b5b]
112
+ - Updated dependencies [48fbacb]
113
+ - Updated dependencies [355e951]
114
+ - Updated dependencies [dadb43f]
115
+ - @objectstack/spec@17.0.0-rc.2
116
+ - @objectstack/core@17.0.0-rc.2
117
+
118
+ ## 17.0.0-rc.1
119
+
120
+ ### Patch Changes
121
+
122
+ - 2e836de: chore(packaging): CHANGELOG.md ships in every npm tarball (#4261)
123
+
124
+ The AGENTS.md post-task checklist requires breaking changesets to carry their
125
+ FROM → TO migration because "this text ships to consumers as `CHANGELOG.md`
126
+ inside the npm package and is what an upgrading agent greps after the tombstone
127
+ error." That delivery path was severed for 68 of the 69 publishable packages:
128
+ npm packs `package.json` / `README*` / `LICENSE*` unconditionally but — unlike
129
+ older npm versions — not `CHANGELOG.md`, and the canonical
130
+ `"files": ["dist", "README.md"]` whitelist never named it. Measured on npm
131
+ 10.9.7: `npm pack --dry-run` on `@objectstack/types` shipped 3 files while its
132
+ 70KB `CHANGELOG.md` stayed behind. Only `@objectstack/spec` listed it
133
+ explicitly.
134
+
135
+ The tombstone-error scenario is precisely the one where the repo is out of
136
+ reach — the upgrading agent has `node_modules` and nothing else — so the
137
+ migration text has to ride in the tarball. Every publishable package now
138
+ declares `CHANGELOG.md` in `files`, and the canonical whitelist is
139
+ `["dist", "README.md", "CHANGELOG.md"]`.
140
+
141
+ The other half is the gate: `check:published-files` gains a fifth invariant,
142
+ COMPLETE — a whitelist that fails to cover `CHANGELOG.md` fails the
143
+ always-required lint job, so the next package cannot silently sever the path
144
+ again. `@objectstack/spec`'s per-package EXTRA_ENTRIES exemption dissolves
145
+ into the canonical set.
146
+
147
+ Consumer-visible change: one more file per install (the package's changelog,
148
+ e.g. 70.8KB for `@objectstack/types`), and `grep -r "removed key"
149
+ node_modules/@objectstack/*/CHANGELOG.md` now finds the migration it was
150
+ promised.
151
+
152
+ - Updated dependencies [6a67d7a]
153
+ - Updated dependencies [0ecc656]
154
+ - Updated dependencies [06772eb]
155
+ - Updated dependencies [270650f]
156
+ - Updated dependencies [3aef718]
157
+ - Updated dependencies [1ea6bce]
158
+ - Updated dependencies [c1dcacd]
159
+ - Updated dependencies [ad303ed]
160
+ - Updated dependencies [32ccb23]
161
+ - Updated dependencies [f5a4ef0]
162
+ - Updated dependencies [2d3e255]
163
+ - Updated dependencies [7d7521f]
164
+ - Updated dependencies [5dc4d02]
165
+ - Updated dependencies [05154a1]
166
+ - Updated dependencies [9b6fe7c]
167
+ - Updated dependencies [8c711fb]
168
+ - Updated dependencies [09e4547]
169
+ - Updated dependencies [91f4c78]
170
+ - Updated dependencies [820eff9]
171
+ - Updated dependencies [8d895ff]
172
+ - Updated dependencies [f6472d7]
173
+ - Updated dependencies [78caf51]
174
+ - Updated dependencies [62a789b]
175
+ - Updated dependencies [789ad63]
176
+ - Updated dependencies [2af1988]
177
+ - Updated dependencies [0af50a3]
178
+ - Updated dependencies [2e836de]
179
+ - Updated dependencies [12a19a8]
180
+ - Updated dependencies [41dcda3]
181
+ - Updated dependencies [c8124e5]
182
+ - Updated dependencies [a1a4140]
183
+ - Updated dependencies [217e2e6]
184
+ - Updated dependencies [86a71d1]
185
+ - Updated dependencies [d5c75e2]
186
+ - Updated dependencies [03d26f7]
187
+ - Updated dependencies [4384921]
188
+ - Updated dependencies [3c628ce]
189
+ - Updated dependencies [7cb922e]
190
+ - Updated dependencies [1d22114]
191
+ - Updated dependencies [b5f9397]
192
+ - Updated dependencies [ed77493]
193
+ - Updated dependencies [58a03d2]
194
+ - Updated dependencies [dc530b4]
195
+ - Updated dependencies [e59786e]
196
+ - Updated dependencies [bcf1112]
197
+ - Updated dependencies [9774b78]
198
+ - Updated dependencies [b07d829]
199
+ - Updated dependencies [a648e96]
200
+ - Updated dependencies [a47ac06]
201
+ - Updated dependencies [e4c61a7]
202
+ - Updated dependencies [cc60165]
203
+ - Updated dependencies [081aa6f]
204
+ - Updated dependencies [91f4c78]
205
+ - Updated dependencies [e8d0c21]
206
+ - Updated dependencies [45dc446]
207
+ - Updated dependencies [c1d44f7]
208
+ - Updated dependencies [ab9fb5c]
209
+ - Updated dependencies [f985b3f]
210
+ - Updated dependencies [9a4932a]
211
+ - Updated dependencies [f9fc874]
212
+ - Updated dependencies [011b386]
213
+ - Updated dependencies [7777e8f]
214
+ - Updated dependencies [507b92a]
215
+ - Updated dependencies [7309c81]
216
+ - Updated dependencies [20bc1ec]
217
+ - Updated dependencies [90c2b15]
218
+ - Updated dependencies [42eeb7d]
219
+ - Updated dependencies [01e124d]
220
+ - Updated dependencies [7ce02eb]
221
+ - Updated dependencies [a13827e]
222
+ - Updated dependencies [7733604]
223
+ - Updated dependencies [40e420f]
224
+ - Updated dependencies [d13004a]
225
+ - Updated dependencies [be7360c]
226
+ - Updated dependencies [5b47ab5]
227
+ - Updated dependencies [b09d8d9]
228
+ - Updated dependencies [b09d8d9]
229
+ - Updated dependencies [8675db6]
230
+ - Updated dependencies [b09d8d9]
231
+ - Updated dependencies [3eb1b2b]
232
+ - Updated dependencies [59b85c0]
233
+ - Updated dependencies [6e357ed]
234
+ - Updated dependencies [d6938bf]
235
+ - Updated dependencies [31e0be9]
236
+ - Updated dependencies [4bfd455]
237
+ - Updated dependencies [ffd2ce2]
238
+ - Updated dependencies [62f8017]
239
+ - Updated dependencies [a831df1]
240
+ - Updated dependencies [f752ee3]
241
+ - Updated dependencies [a1b61e0]
242
+ - Updated dependencies [cd6b9f2]
243
+ - Updated dependencies [2cb6d3c]
244
+ - Updated dependencies [af2a095]
245
+ - Updated dependencies [ec796d5]
246
+ - Updated dependencies [e87fea1]
247
+ - Updated dependencies [c65e529]
248
+ - Updated dependencies [3ca34c1]
249
+ - Updated dependencies [239c3a3]
250
+ - Updated dependencies [94a0bbc]
251
+ - Updated dependencies [d6bfb3d]
252
+ - Updated dependencies [a2266a6]
253
+ - Updated dependencies [d25a0ec]
254
+ - Updated dependencies [667b83e]
255
+ - Updated dependencies [627b188]
256
+ - Updated dependencies [8d4eae7]
257
+ - Updated dependencies [857a6cf]
258
+ - Updated dependencies [65a3a84]
259
+ - Updated dependencies [ccd9397]
260
+ - Updated dependencies [bca935b]
261
+ - Updated dependencies [d92c72d]
262
+ - Updated dependencies [c54c822]
263
+ - Updated dependencies [8dcc0f5]
264
+ - Updated dependencies [75b9e51]
265
+ - Updated dependencies [0a2f233]
266
+ - Updated dependencies [8621cdd]
267
+ - Updated dependencies [6f23667]
268
+ - Updated dependencies [5d21a48]
269
+ - Updated dependencies [19365b7]
270
+ - Updated dependencies [b7ed26d]
271
+ - Updated dependencies [b3a3d83]
272
+ - Updated dependencies [7a55913]
273
+ - Updated dependencies [35accbf]
274
+ - Updated dependencies [6038de7]
275
+ - Updated dependencies [eb95d97]
276
+ - Updated dependencies [e4c2dc8]
277
+ - Updated dependencies [1bd2795]
278
+ - Updated dependencies [8186a70]
279
+ - Updated dependencies [a329cca]
280
+ - Updated dependencies [6eec18c]
281
+ - Updated dependencies [4d7bebf]
282
+ - Updated dependencies [821ac7a]
283
+ - Updated dependencies [8f81731]
284
+ - Updated dependencies [8b50cb3]
285
+ - Updated dependencies [8c2db68]
286
+ - Updated dependencies [22b5e54]
287
+ - Updated dependencies [0166bd5]
288
+ - Updated dependencies [9b702dc]
289
+ - Updated dependencies [ab16331]
290
+ - @objectstack/spec@17.0.0-rc.1
291
+ - @objectstack/core@17.0.0-rc.1
292
+
293
+ ## 17.0.0-rc.0
294
+
295
+ ### Patch Changes
296
+
297
+ - Updated dependencies [50616d9]
298
+ - Updated dependencies [08b5a3d]
299
+ - Updated dependencies [d99aeb3]
300
+ - Updated dependencies [4727eb8]
301
+ - Updated dependencies [f63cd09]
302
+ - Updated dependencies [fa3d0cf]
303
+ - Updated dependencies [af5a224]
304
+ - Updated dependencies [71f76e1]
305
+ - Updated dependencies [37b1346]
306
+ - Updated dependencies [99736a0]
307
+ - Updated dependencies [fe67e34]
308
+ - Updated dependencies [fdb4f50]
309
+ - Updated dependencies [1bd5652]
310
+ - Updated dependencies [14252d3]
311
+ - Updated dependencies [7fb436c]
312
+ - Updated dependencies [879ea13]
313
+ - Updated dependencies [201b31f]
314
+ - Updated dependencies [e2616e0]
315
+ - Updated dependencies [6fdc5c6]
316
+ - Updated dependencies [8b9d71e]
317
+ - Updated dependencies [33f5e23]
318
+ - Updated dependencies [259af21]
319
+ - Updated dependencies [587fc91]
320
+ - Updated dependencies [1986594]
321
+ - Updated dependencies [ad4af62]
322
+ - Updated dependencies [d44dbfa]
323
+ - Updated dependencies [474fe39]
324
+ - Updated dependencies [0bc685a]
325
+ - Updated dependencies [b949059]
326
+ - Updated dependencies [be1c52c]
327
+ - Updated dependencies [c5ff96d]
328
+ - Updated dependencies [84e7be9]
329
+ - Updated dependencies [a6c3f38]
330
+ - Updated dependencies [debc23a]
331
+ - Updated dependencies [0f8ad09]
332
+ - Updated dependencies [8f9689f]
333
+ - Updated dependencies [57a3bb3]
334
+ - Updated dependencies [5f9a987]
335
+ - Updated dependencies [db02d47]
336
+ - Updated dependencies [0bfdf46]
337
+ - Updated dependencies [376a061]
338
+ - Updated dependencies [7c7e246]
339
+ - Updated dependencies [f35cdc5]
340
+ - Updated dependencies [9ea2bc5]
341
+ - Updated dependencies [c2d9098]
342
+ - Updated dependencies [a227ed7]
343
+ - Updated dependencies [9613396]
344
+ - Updated dependencies [e47b342]
345
+ - Updated dependencies [4ed7ed4]
346
+ - Updated dependencies [2fa4ca1]
347
+ - Updated dependencies [f5a2320]
348
+ - Updated dependencies [deb538f]
349
+ - Updated dependencies [5b89711]
350
+ - Updated dependencies [0c8a22f]
351
+ - Updated dependencies [763931e]
352
+ - Updated dependencies [de9af8a]
353
+ - Updated dependencies [c4df271]
354
+ - Updated dependencies [a41ba5c]
355
+ - Updated dependencies [189854c]
356
+ - Updated dependencies [0e3a226]
357
+ - Updated dependencies [1d4756e]
358
+ - Updated dependencies [720c5ad]
359
+ - Updated dependencies [a8d1e24]
360
+ - Updated dependencies [41642b0]
361
+ - Updated dependencies [4cca74c]
362
+ - Updated dependencies [88ef03e]
363
+ - Updated dependencies [9e2caf3]
364
+ - Updated dependencies [81ce41a]
365
+ - Updated dependencies [85e1e4e]
366
+ - Updated dependencies [dac6a08]
367
+ - Updated dependencies [394b7a1]
368
+ - Updated dependencies [677b591]
369
+ - Updated dependencies [d77d1b7]
370
+ - Updated dependencies [5b79a34]
371
+ - Updated dependencies [c757854]
372
+ - Updated dependencies [0045682]
373
+ - Updated dependencies [2a5f04a]
374
+ - Updated dependencies [4f740b0]
375
+ - Updated dependencies [67452d1]
376
+ - Updated dependencies [0fc6219]
377
+ - Updated dependencies [605e190]
378
+ - Updated dependencies [c6c59f1]
379
+ - Updated dependencies [b0e78a8]
380
+ - Updated dependencies [f31cc8d]
381
+ - Updated dependencies [f343dc4]
382
+ - Updated dependencies [8269e32]
383
+ - Updated dependencies [74f7339]
384
+ - Updated dependencies [a6c35a2]
385
+ - Updated dependencies [c2f1002]
386
+ - Updated dependencies [f163028]
387
+ - Updated dependencies [f07808c]
388
+ - Updated dependencies [7ffc3d3]
389
+ - Updated dependencies [88346ba]
390
+ - Updated dependencies [4631592]
391
+ - Updated dependencies [32ff033]
392
+ - Updated dependencies [5ac93d4]
393
+ - Updated dependencies [93f267f]
394
+ - Updated dependencies [0024abf]
395
+ - Updated dependencies [acbf364]
396
+ - Updated dependencies [7687f7b]
397
+ - Updated dependencies [1659072]
398
+ - Updated dependencies [abceb0d]
399
+ - Updated dependencies [0c302a7]
400
+ - Updated dependencies [6633337]
401
+ - Updated dependencies [f00d8d4]
402
+ - Updated dependencies [503be86]
403
+ - Updated dependencies [cde1975]
404
+ - Updated dependencies [0bc685a]
405
+ - Updated dependencies [11949fc]
406
+ - Updated dependencies [b098b0e]
407
+ - Updated dependencies [4d00b13]
408
+ - Updated dependencies [57bab76]
409
+ - Updated dependencies [b90086a]
410
+ - Updated dependencies [b95577a]
411
+ - Updated dependencies [83c161f]
412
+ - Updated dependencies [d8c4957]
413
+ - Updated dependencies [f24cb83]
414
+ - Updated dependencies [5dbbb92]
415
+ - Updated dependencies [69f1dfd]
416
+ - @objectstack/spec@17.0.0-rc.0
417
+ - @objectstack/core@17.0.0-rc.0
418
+
419
+ ## 16.1.0
420
+
421
+ ### Patch Changes
422
+
423
+ - Updated dependencies [9e45b63]
424
+ - Updated dependencies [b20201f]
425
+ - @objectstack/spec@16.1.0
426
+ - @objectstack/core@16.1.0
427
+
428
+ ## 16.0.0
429
+
430
+ ### Minor Changes
431
+
432
+ - a2795f6: feat(triggers): declarative time-relative trigger — daily sweep instead of fragile date-equality (#1874)
433
+
434
+ Time-relative business rules ("alert 60 days before a contract's `end_date`")
435
+ could only be expressed as a `record_change` flow gated on a date-equality
436
+ condition like `end_date == daysFromNow(60)`. That predicate is only evaluated
437
+ when the record _happens to change_, so it fires only if a record is edited on
438
+ exactly the threshold day — i.e. almost never, unattended. The robust
439
+ alternative was a hand-written cron + range query that every author
440
+ re-implemented (contracts `renewal_alert`, hr `document_expiring_soon`,
441
+ procurement `po_overdue`, …).
442
+
443
+ A flow's start node can now declare a `timeRelative` descriptor instead:
444
+
445
+ ```ts
446
+ config: {
447
+ timeRelative: {
448
+ object: 'contracts',
449
+ dateField: 'end_date',
450
+ offsetDays: [60, 30, 7], // T-minus reminders — fires on each threshold day
451
+ // — or — withinDays: 30 // "expiring soon" range; negative = overdue lookback
452
+ filter: { status: 'active' }, // optional, ANDed with the date window
453
+ },
454
+ schedule: { type: 'cron', expression: '0 8 * * *' }, // optional; defaults to daily 08:00 UTC
455
+ }
456
+ ```
457
+
458
+ The new `time_relative` trigger (shipped in `@objectstack/trigger-schedule` as
459
+ `TimeRelativeTriggerPlugin`) sweeps the object on that schedule and launches the
460
+ flow **once per matching record**, with the record on the automation context —
461
+ so the start-node `condition` gate and `{record.<field>}` interpolation work
462
+ exactly as for a record-change flow. Because the window is evaluated every day,
463
+ a threshold is never missed regardless of when the record last changed. The
464
+ discovery query runs as a system operation (RLS-bypassing) and is capped
465
+ (`maxRecords`, default 1000) so a mis-scoped window can't fan out unboundedly;
466
+ per-record failures are isolated so one bad row never aborts the sweep.
467
+
468
+ The automation engine routes a start node carrying `config.timeRelative` to the
469
+ `time_relative` trigger (ahead of the plain `schedule` trigger, whose behavior is
470
+ unchanged), and `os validate` gains readiness checks for the new descriptor
471
+ (unknown swept object, ambiguous draft status). New authorable spec key:
472
+ `TimeRelativeTriggerSchema` (`@objectstack/spec/automation`).
473
+
474
+ ### Patch Changes
475
+
476
+ - Updated dependencies [f972574]
477
+ - Updated dependencies [6289ec3]
478
+ - Updated dependencies [22013aa]
479
+ - Updated dependencies [3ad3dd5]
480
+ - Updated dependencies [8efa395]
481
+ - Updated dependencies [3a18b60]
482
+ - Updated dependencies [a8aa34c]
483
+ - Updated dependencies [e057f42]
484
+ - Updated dependencies [a3823b2]
485
+ - Updated dependencies [43a3efb]
486
+ - Updated dependencies [524696a]
487
+ - Updated dependencies [bfa3c3f]
488
+ - Updated dependencies [5e3301d]
489
+ - Updated dependencies [dd9f223]
490
+ - Updated dependencies [46e876c]
491
+ - Updated dependencies [5f05de2]
492
+ - Updated dependencies [021ba4c]
493
+ - Updated dependencies [158aa14]
494
+ - Updated dependencies [62a2117]
495
+ - Updated dependencies [d2723e2]
496
+ - Updated dependencies [fefcd54]
497
+ - Updated dependencies [beaf2de]
498
+ - Updated dependencies [369eb6e]
499
+ - Updated dependencies [06ff734]
500
+ - Updated dependencies [b659111]
501
+ - Updated dependencies [5754a23]
502
+ - Updated dependencies [6c270a6]
503
+ - Updated dependencies [290e2f0]
504
+ - Updated dependencies [668dd17]
505
+ - Updated dependencies [8abf133]
506
+ - Updated dependencies [e0859b1]
507
+ - Updated dependencies [04ecd4e]
508
+ - Updated dependencies [4d5a892]
509
+ - Updated dependencies [16cebeb]
510
+ - Updated dependencies [86d30af]
511
+ - Updated dependencies [8923843]
512
+ - Updated dependencies [a2795f6]
513
+ - Updated dependencies [f16b492]
514
+ - Updated dependencies [4b6fde8]
515
+ - Updated dependencies [2018df9]
516
+ - Updated dependencies [fc5a3a2]
517
+ - Updated dependencies [8ff9210]
518
+ - @objectstack/spec@16.0.0
519
+ - @objectstack/core@16.0.0
520
+
521
+ ## 16.0.0-rc.1
522
+
523
+ ### Patch Changes
524
+
525
+ - Updated dependencies [6289ec3]
526
+ - Updated dependencies [8efa395]
527
+ - Updated dependencies [bfa3c3f]
528
+ - Updated dependencies [62a2117]
529
+ - Updated dependencies [06ff734]
530
+ - @objectstack/spec@16.0.0-rc.1
531
+ - @objectstack/core@16.0.0-rc.1
532
+
533
+ ## 16.0.0-rc.0
534
+
535
+ ### Minor Changes
536
+
537
+ - a2795f6: feat(triggers): declarative time-relative trigger — daily sweep instead of fragile date-equality (#1874)
538
+
539
+ Time-relative business rules ("alert 60 days before a contract's `end_date`")
540
+ could only be expressed as a `record_change` flow gated on a date-equality
541
+ condition like `end_date == daysFromNow(60)`. That predicate is only evaluated
542
+ when the record _happens to change_, so it fires only if a record is edited on
543
+ exactly the threshold day — i.e. almost never, unattended. The robust
544
+ alternative was a hand-written cron + range query that every author
545
+ re-implemented (contracts `renewal_alert`, hr `document_expiring_soon`,
546
+ procurement `po_overdue`, …).
547
+
548
+ A flow's start node can now declare a `timeRelative` descriptor instead:
549
+
550
+ ```ts
551
+ config: {
552
+ timeRelative: {
553
+ object: 'contracts',
554
+ dateField: 'end_date',
555
+ offsetDays: [60, 30, 7], // T-minus reminders — fires on each threshold day
556
+ // — or — withinDays: 30 // "expiring soon" range; negative = overdue lookback
557
+ filter: { status: 'active' }, // optional, ANDed with the date window
558
+ },
559
+ schedule: { type: 'cron', expression: '0 8 * * *' }, // optional; defaults to daily 08:00 UTC
560
+ }
561
+ ```
562
+
563
+ The new `time_relative` trigger (shipped in `@objectstack/trigger-schedule` as
564
+ `TimeRelativeTriggerPlugin`) sweeps the object on that schedule and launches the
565
+ flow **once per matching record**, with the record on the automation context —
566
+ so the start-node `condition` gate and `{record.<field>}` interpolation work
567
+ exactly as for a record-change flow. Because the window is evaluated every day,
568
+ a threshold is never missed regardless of when the record last changed. The
569
+ discovery query runs as a system operation (RLS-bypassing) and is capped
570
+ (`maxRecords`, default 1000) so a mis-scoped window can't fan out unboundedly;
571
+ per-record failures are isolated so one bad row never aborts the sweep.
572
+
573
+ The automation engine routes a start node carrying `config.timeRelative` to the
574
+ `time_relative` trigger (ahead of the plain `schedule` trigger, whose behavior is
575
+ unchanged), and `os validate` gains readiness checks for the new descriptor
576
+ (unknown swept object, ambiguous draft status). New authorable spec key:
577
+ `TimeRelativeTriggerSchema` (`@objectstack/spec/automation`).
578
+
579
+ ### Patch Changes
580
+
581
+ - Updated dependencies [f972574]
582
+ - Updated dependencies [22013aa]
583
+ - Updated dependencies [3ad3dd5]
584
+ - Updated dependencies [3a18b60]
585
+ - Updated dependencies [a8aa34c]
586
+ - Updated dependencies [e057f42]
587
+ - Updated dependencies [a3823b2]
588
+ - Updated dependencies [43a3efb]
589
+ - Updated dependencies [524696a]
590
+ - Updated dependencies [5e3301d]
591
+ - Updated dependencies [dd9f223]
592
+ - Updated dependencies [46e876c]
593
+ - Updated dependencies [5f05de2]
594
+ - Updated dependencies [021ba4c]
595
+ - Updated dependencies [158aa14]
596
+ - Updated dependencies [d2723e2]
597
+ - Updated dependencies [fefcd54]
598
+ - Updated dependencies [beaf2de]
599
+ - Updated dependencies [369eb6e]
600
+ - Updated dependencies [b659111]
601
+ - Updated dependencies [5754a23]
602
+ - Updated dependencies [6c270a6]
603
+ - Updated dependencies [290e2f0]
604
+ - Updated dependencies [668dd17]
605
+ - Updated dependencies [8abf133]
606
+ - Updated dependencies [e0859b1]
607
+ - Updated dependencies [04ecd4e]
608
+ - Updated dependencies [4d5a892]
609
+ - Updated dependencies [16cebeb]
610
+ - Updated dependencies [86d30af]
611
+ - Updated dependencies [8923843]
612
+ - Updated dependencies [a2795f6]
613
+ - Updated dependencies [f16b492]
614
+ - Updated dependencies [4b6fde8]
615
+ - Updated dependencies [2018df9]
616
+ - Updated dependencies [fc5a3a2]
617
+ - @objectstack/spec@16.0.0-rc.0
618
+ - @objectstack/core@16.0.0-rc.0
619
+
620
+ ## 15.1.1
621
+
622
+ ### Patch Changes
623
+
624
+ - @objectstack/spec@15.1.1
625
+ - @objectstack/core@15.1.1
626
+
627
+ ## 15.1.0
628
+
629
+ ### Patch Changes
630
+
631
+ - Updated dependencies [f531a26]
632
+ - Updated dependencies [f531a26]
633
+ - Updated dependencies [f531a26]
634
+ - Updated dependencies [f531a26]
635
+ - Updated dependencies [f531a26]
636
+ - Updated dependencies [f531a26]
637
+ - Updated dependencies [3fe9df1]
638
+ - Updated dependencies [f531a26]
639
+ - Updated dependencies [f531a26]
640
+ - Updated dependencies [f531a26]
641
+ - Updated dependencies [f531a26]
642
+ - Updated dependencies [f531a26]
643
+ - Updated dependencies [f531a26]
644
+ - Updated dependencies [f531a26]
645
+ - Updated dependencies [f531a26]
646
+ - Updated dependencies [f531a26]
647
+ - Updated dependencies [f531a26]
648
+ - Updated dependencies [f531a26]
649
+ - Updated dependencies [f531a26]
650
+ - Updated dependencies [4109153]
651
+ - Updated dependencies [f531a26]
652
+ - Updated dependencies [f531a26]
653
+ - Updated dependencies [f531a26]
654
+ - Updated dependencies [f531a26]
655
+ - Updated dependencies [f531a26]
656
+ - Updated dependencies [f531a26]
657
+ - Updated dependencies [627f225]
658
+ - Updated dependencies [f531a26]
659
+ - Updated dependencies [f531a26]
660
+ - Updated dependencies [f531a26]
661
+ - @objectstack/spec@15.1.0
662
+ - @objectstack/core@15.1.0
663
+
664
+ ## 15.0.0
665
+
666
+ ### Patch Changes
667
+
668
+ - Updated dependencies [28b7c28]
669
+ - Updated dependencies [13749ec]
670
+ - Updated dependencies [e62c233]
671
+ - Updated dependencies [ed61c9b]
672
+ - Updated dependencies [31d04d4]
673
+ - @objectstack/spec@15.0.0
674
+ - @objectstack/core@15.0.0
675
+
676
+ ## 14.8.0
677
+
678
+ ### Patch Changes
679
+
680
+ - Updated dependencies [16b4bf6]
681
+ - Updated dependencies [16b4bf6]
682
+ - Updated dependencies [10e8983]
683
+ - Updated dependencies [607aaf4]
684
+ - Updated dependencies [bb71321]
685
+ - @objectstack/spec@14.8.0
686
+ - @objectstack/core@14.8.0
687
+
688
+ ## 14.7.0
689
+
690
+ ### Patch Changes
691
+
692
+ - Updated dependencies [d6a72eb]
693
+ - @objectstack/spec@14.7.0
694
+ - @objectstack/core@14.7.0
695
+
696
+ ## 14.6.0
697
+
698
+ ### Patch Changes
699
+
700
+ - Updated dependencies [609cb13]
701
+ - Updated dependencies [ce6d151]
702
+ - @objectstack/spec@14.6.0
703
+ - @objectstack/core@14.6.0
704
+
705
+ ## 14.5.0
706
+
707
+ ### Patch Changes
708
+
709
+ - Updated dependencies [526805e]
710
+ - Updated dependencies [d79ca07]
711
+ - Updated dependencies [33ebd34]
712
+ - Updated dependencies [c044f08]
713
+ - Updated dependencies [01274eb]
714
+ - @objectstack/spec@14.5.0
715
+ - @objectstack/core@14.5.0
716
+
717
+ ## 14.4.0
718
+
719
+ ### Patch Changes
720
+
721
+ - Updated dependencies [7953832]
722
+ - Updated dependencies [82e745e]
723
+ - Updated dependencies [f3035bd]
724
+ - Updated dependencies [82c0d94]
725
+ - Updated dependencies [7449476]
726
+ - @objectstack/spec@14.4.0
727
+ - @objectstack/core@14.4.0
728
+
729
+ ## 14.3.0
730
+
731
+ ### Patch Changes
732
+
733
+ - Updated dependencies [2a71f48]
734
+ - Updated dependencies [02f6af4]
735
+ - Updated dependencies [c1064f1]
736
+ - @objectstack/spec@14.3.0
737
+ - @objectstack/core@14.3.0
738
+
739
+ ## 14.2.0
740
+
741
+ ### Patch Changes
742
+
743
+ - Updated dependencies [ac8f029]
744
+ - Updated dependencies [4ab9958]
745
+ - @objectstack/spec@14.2.0
746
+ - @objectstack/core@14.2.0
747
+
748
+ ## 14.1.0
749
+
750
+ ### Patch Changes
751
+
752
+ - Updated dependencies [5a8465f]
753
+ - Updated dependencies [7f8620b]
754
+ - Updated dependencies [82ba3a6]
755
+ - @objectstack/spec@14.1.0
756
+ - @objectstack/core@14.1.0
757
+
758
+ ## 14.0.0
759
+
760
+ ### Patch Changes
761
+
762
+ - Updated dependencies [0a8e685]
763
+ - Updated dependencies [afa8115]
764
+ - Updated dependencies [80f12ca]
765
+ - Updated dependencies [e2fa074]
766
+ - Updated dependencies [23c8668]
767
+ - Updated dependencies [29f017d]
768
+ - Updated dependencies [216fa9a]
769
+ - Updated dependencies [6c22b12]
770
+ - @objectstack/spec@14.0.0
771
+ - @objectstack/core@14.0.0
772
+
773
+ ## 13.0.0
774
+
775
+ ### Patch Changes
776
+
777
+ - Updated dependencies [6d83431]
778
+ - Updated dependencies [01917c2]
779
+ - Updated dependencies [b271691]
780
+ - Updated dependencies [a5a1e41]
781
+ - Updated dependencies [466adf6]
782
+ - Updated dependencies [5be00c3]
783
+ - Updated dependencies [466adf6]
784
+ - Updated dependencies [2bee609]
785
+ - Updated dependencies [fc7e7f7]
786
+ - @objectstack/spec@13.0.0
787
+ - @objectstack/core@13.0.0
788
+
789
+ ## 12.6.0
790
+
791
+ ### Patch Changes
792
+
793
+ - Updated dependencies [6cebf22]
794
+ - Updated dependencies [21420d9]
795
+ - @objectstack/spec@12.6.0
796
+ - @objectstack/core@12.6.0
797
+
798
+ ## 12.5.0
799
+
800
+ ### Patch Changes
801
+
802
+ - Updated dependencies [8b3d363]
803
+ - @objectstack/spec@12.5.0
804
+ - @objectstack/core@12.5.0
805
+
806
+ ## 12.4.0
807
+
808
+ ### Patch Changes
809
+
810
+ - Updated dependencies [60dc3ba]
811
+ - @objectstack/spec@12.4.0
812
+ - @objectstack/core@12.4.0
813
+
814
+ ## 12.3.0
815
+
816
+ ### Patch Changes
817
+
818
+ - Updated dependencies [e7eceec]
819
+ - @objectstack/spec@12.3.0
820
+ - @objectstack/core@12.3.0
821
+
822
+ ## 12.2.0
823
+
824
+ ### Patch Changes
825
+
826
+ - Updated dependencies [fce8ff4]
827
+ - Updated dependencies [3962023]
828
+ - Updated dependencies [2bb193d]
829
+ - Updated dependencies [0426d27]
830
+ - Updated dependencies [da807f7]
831
+ - Updated dependencies [4f5b791]
832
+ - @objectstack/spec@12.2.0
833
+ - @objectstack/core@12.2.0
834
+
835
+ ## 12.1.0
836
+
837
+ ### Patch Changes
838
+
839
+ - Updated dependencies [93e6d02]
840
+ - @objectstack/spec@12.1.0
841
+ - @objectstack/core@12.1.0
842
+
843
+ ## 12.0.0
844
+
845
+ ### Patch Changes
846
+
847
+ - Updated dependencies [a8df396]
848
+ - Updated dependencies [e695fe0]
849
+ - Updated dependencies [7c09621]
850
+ - Updated dependencies [7709db4]
851
+ - Updated dependencies [2082109]
852
+ - Updated dependencies [7c09621]
853
+ - Updated dependencies [9860de4]
854
+ - Updated dependencies [069c205]
855
+ - @objectstack/spec@12.0.0
856
+ - @objectstack/core@12.0.0
857
+
858
+ ## 11.10.0
859
+
860
+ ### Patch Changes
861
+
862
+ - Updated dependencies [6a9397e]
863
+ - Updated dependencies [c0efe5d]
864
+ - @objectstack/spec@11.10.0
865
+ - @objectstack/core@11.10.0
866
+
867
+ ## 11.9.0
868
+
869
+ ### Patch Changes
870
+
871
+ - Updated dependencies [d3595d9]
872
+ - @objectstack/spec@11.9.0
873
+ - @objectstack/core@11.9.0
874
+
875
+ ## 11.8.0
876
+
877
+ ### Patch Changes
878
+
879
+ - @objectstack/spec@11.8.0
880
+ - @objectstack/core@11.8.0
881
+
882
+ ## 11.7.0
883
+
884
+ ### Patch Changes
885
+
886
+ - Updated dependencies [5178906]
887
+ - @objectstack/spec@11.7.0
888
+ - @objectstack/core@11.7.0
889
+
890
+ ## 11.6.0
891
+
892
+ ### Patch Changes
893
+
894
+ - @objectstack/spec@11.6.0
895
+ - @objectstack/core@11.6.0
896
+
897
+ ## 11.5.0
898
+
899
+ ### Patch Changes
900
+
901
+ - Updated dependencies [6ee4f04]
902
+ - Updated dependencies [c1e3a65]
903
+ - @objectstack/spec@11.5.0
904
+ - @objectstack/core@11.5.0
905
+
906
+ ## 11.4.0
907
+
908
+ ### Patch Changes
909
+
910
+ - Updated dependencies [5821c51]
911
+ - Updated dependencies [a0fce3f]
912
+ - @objectstack/spec@11.4.0
913
+ - @objectstack/core@11.4.0
914
+
915
+ ## 11.3.0
916
+
917
+ ### Patch Changes
918
+
919
+ - Updated dependencies [58e8e31]
920
+ - Updated dependencies [b4a5df0]
921
+ - @objectstack/spec@11.3.0
922
+ - @objectstack/core@11.3.0
923
+
924
+ ## 11.2.0
925
+
926
+ ### Patch Changes
927
+
928
+ - Updated dependencies [d0f4b13]
929
+ - Updated dependencies [302bdab]
930
+ - @objectstack/spec@11.2.0
931
+ - @objectstack/core@11.2.0
932
+
933
+ ## 11.1.0
934
+
935
+ ### Patch Changes
936
+
937
+ - Updated dependencies [ce0b4f6]
938
+ - Updated dependencies [9ccfcd6]
939
+ - Updated dependencies [ecf193f]
940
+ - Updated dependencies [51bec81]
941
+ - Updated dependencies [3e593a7]
942
+ - Updated dependencies [63d5403]
943
+ - @objectstack/core@11.1.0
944
+ - @objectstack/spec@11.1.0
945
+
946
+ ## 11.0.0
947
+
948
+ ### Patch Changes
949
+
950
+ - ad143ce: fix(security): surface the schedule/user-less `runAs:'user'` fail-open (#1888 follow-up)
951
+
952
+ With `flow.runAs` now enforced (#1888), a **schedule-triggered** flow with the
953
+ default `runAs:'user'` has no trigger user. `resolveRunDataContext` returns
954
+ `undefined` for that case, so the CRUD nodes pass no ObjectQL `options.context`
955
+ and the security middleware — which _skips_ when there is no identity (it
956
+ delegates auth to the auth layer) — runs the operation **UNSCOPED** (effectively
957
+ elevated). An author who left `runAs` at the `'user'` default expecting a
958
+ restricted run silently gets an unscoped one — a fail-open footgun (ADR-0049: a
959
+ security property must not silently do the opposite of what it implies).
960
+
961
+ This is the **product decision** to make that explicit, chosen to keep legitimate
962
+ scheduled CRUD working (denying outright would break it, and silently elevating
963
+ would hide the author's intent). Prevention happens where the platform can tell
964
+ intent apart (author/build time); the runtime stays non-breaking but is no longer
965
+ silent:
966
+
967
+ - **Author-time lint** (`@objectstack/cli`, `lintFlowPatterns`): a new advisory
968
+ rule `flow-schedule-runas-unscoped` flags a schedule-triggered flow whose
969
+ effective `runAs` is `user` (explicit or unset) and which performs a data
970
+ operation — pointing the author at `runAs:'system'`. Catches the footgun at
971
+ compile time, before deploy (most flows are AI-authored).
972
+ - **Runtime warning** (`@objectstack/service-automation`): the engine now emits a
973
+ clear one-per-run warning when a user-mode run resolves no trigger identity and
974
+ the flow touches data — the fail-open is _audible_ rather than silent. Behavior
975
+ is otherwise unchanged (the run still executes), so scheduled CRUD that relied
976
+ on this is not broken. New helpers `runIsUnscopedUserMode`, `flowTouchesData`,
977
+ and `DATA_NODE_TYPES` are exported alongside `resolveRunDataContext`.
978
+ - **Spec describe** (`@objectstack/spec`): `FlowSchema.runAs` now states that a
979
+ scheduled run has no user, so under `user` it runs unscoped — declare `system`.
980
+
981
+ The first-party example apps that tripped the new lint are fixed to declare
982
+ `runAs:'system'` explicitly (`stale_opportunity_sweep`, the app-todo
983
+ `task_reminder` / `overdue_escalation` sweeps) — they read/write across owners and
984
+ were running unscoped by default.
985
+
986
+ Longer term, attributing scheduled runs to a dedicated service principal (so they
987
+ are scopable + audit-attributable rather than unscoped) is the right enforcement;
988
+ tracked as M2 follow-up.
989
+
990
+ Proven by a service-automation unit test (the engine warns once for a user-less
991
+ user-mode data run; stays silent for `system`, for an identified user, and for a
992
+ data-less flow), an end-to-end test wiring the **real `ScheduleTrigger` to the
993
+ real engine** (`@objectstack/trigger-schedule`) that fires a job and asserts the
994
+ user-less identity reaches the engine + trips the warning through the actual cron
995
+ path, and a dogfood gate (`flow-runas-schedule.dogfood.test.ts`) that drives
996
+ user-less runs through the real automation + security + data stack: a
997
+ `runAs:'user'` run reads + writes an owner-scoped note a member cannot — audibly —
998
+ while `runAs:'system'` is the explicit, warning-free equivalent.
999
+
1000
+ Refs #1888, ADR-0049.
1001
+
1002
+ - Updated dependencies [ab5718a]
1003
+ - Updated dependencies [4845c12]
1004
+ - Updated dependencies [c1a754a]
1005
+ - Updated dependencies [6fbe91f]
1006
+ - Updated dependencies [715d667]
1007
+ - Updated dependencies [5eef4cf]
1008
+ - Updated dependencies [72759e1]
1009
+ - Updated dependencies [6c4fbd9]
1010
+ - Updated dependencies [ef3ed67]
1011
+ - Updated dependencies [cd51229]
1012
+ - Updated dependencies [7697a0e]
1013
+ - Updated dependencies [e7e04f1]
1014
+ - Updated dependencies [cfd5ac4]
1015
+ - Updated dependencies [2be5c1f]
1016
+ - Updated dependencies [ad143ce]
1017
+ - Updated dependencies [5c4a8c8]
1018
+ - Updated dependencies [3afaeed]
1019
+ - Updated dependencies [8801c02]
1020
+ - Updated dependencies [3d04e06]
1021
+ - Updated dependencies [4a84c98]
1022
+ - Updated dependencies [c715d25]
1023
+ - Updated dependencies [aa33b02]
1024
+ - Updated dependencies [d980f0d]
1025
+ - Updated dependencies [a658523]
1026
+ - Updated dependencies [82ff91c]
1027
+ - Updated dependencies [638f472]
1028
+ - @objectstack/spec@11.0.0
1029
+ - @objectstack/core@11.0.0
1030
+
1031
+ ## 10.3.0
1032
+
1033
+ ### Patch Changes
1034
+
1035
+ - @objectstack/spec@10.3.0
1036
+ - @objectstack/core@10.3.0
1037
+
1038
+ ## 10.2.0
1039
+
1040
+ ### Patch Changes
1041
+
1042
+ - Updated dependencies [b496498]
1043
+ - @objectstack/spec@10.2.0
1044
+ - @objectstack/core@10.2.0
1045
+
1046
+ ## 10.1.0
1047
+
1048
+ ### Patch Changes
1049
+
1050
+ - Updated dependencies [49da36e]
1051
+ - Updated dependencies [ac79f16]
1052
+ - @objectstack/spec@10.1.0
1053
+ - @objectstack/core@10.1.0
1054
+
1055
+ ## 10.0.0
1056
+
1057
+ ### Patch Changes
1058
+
1059
+ - Updated dependencies [d7ff626]
1060
+ - Updated dependencies [2a1b16b]
1061
+ - Updated dependencies [e16f2a8]
1062
+ - Updated dependencies [e411a82]
1063
+ - Updated dependencies [a581385]
1064
+ - Updated dependencies [d5f6d29]
1065
+ - Updated dependencies [220ce5b]
1066
+ - Updated dependencies [3efe334]
1067
+ - Updated dependencies [feead7e]
1068
+ - Updated dependencies [6ca20b3]
1069
+ - Updated dependencies [5f875fe]
1070
+ - Updated dependencies [b469950]
1071
+ - @objectstack/spec@10.0.0
1072
+ - @objectstack/core@10.0.0
1073
+
1074
+ ## 9.11.0
1075
+
1076
+ ### Patch Changes
1077
+
1078
+ - Updated dependencies [e7f6539]
1079
+ - Updated dependencies [2365d07]
1080
+ - Updated dependencies [6595b53]
1081
+ - Updated dependencies [fa8964d]
1082
+ - Updated dependencies [36138c7]
1083
+ - Updated dependencies [a8e4f3b]
1084
+ - Updated dependencies [4c213c2]
1085
+ - Updated dependencies [2afb612]
1086
+ - @objectstack/spec@9.11.0
1087
+ - @objectstack/core@9.11.0
1088
+
1089
+ ## 9.10.0
1090
+
1091
+ ### Patch Changes
1092
+
1093
+ - Updated dependencies [db02bd5]
1094
+ - Updated dependencies [641675d]
1095
+ - Updated dependencies [94e9040]
1096
+ - Updated dependencies [1f88fd9]
1097
+ - Updated dependencies [1f88fd9]
1098
+ - @objectstack/spec@9.10.0
1099
+ - @objectstack/core@9.10.0
1100
+
1101
+ ## 9.9.1
1102
+
1103
+ ### Patch Changes
1104
+
1105
+ - @objectstack/spec@9.9.1
1106
+ - @objectstack/core@9.9.1
1107
+
1108
+ ## 9.9.0
1109
+
1110
+ ### Patch Changes
1111
+
1112
+ - Updated dependencies [84249a4]
1113
+ - Updated dependencies [11af299]
1114
+ - Updated dependencies [d5774b5]
1115
+ - Updated dependencies [134043a]
1116
+ - Updated dependencies [90108e0]
1117
+ - Updated dependencies [9afeb2d]
1118
+ - Updated dependencies [6bec07e]
1119
+ - Updated dependencies [601cc11]
1120
+ - Updated dependencies [575448d]
1121
+ - @objectstack/spec@9.9.0
1122
+ - @objectstack/core@9.9.0
1123
+
1124
+ ## 9.8.0
1125
+
1126
+ ### Patch Changes
1127
+
1128
+ - Updated dependencies [97c55b3]
1129
+ - Updated dependencies [1b1f490]
1130
+ - @objectstack/spec@9.8.0
1131
+ - @objectstack/core@9.8.0
1132
+
1133
+ ## 9.7.0
1134
+
1135
+ ### Patch Changes
1136
+
1137
+ - @objectstack/spec@9.7.0
1138
+ - @objectstack/core@9.7.0
1139
+
1140
+ ## 9.6.0
1141
+
1142
+ ### Patch Changes
1143
+
1144
+ - Updated dependencies [d1e930a]
1145
+ - Updated dependencies [71578f2]
1146
+ - Updated dependencies [5e3a301]
1147
+ - Updated dependencies [5db2742]
1148
+ - @objectstack/spec@9.6.0
1149
+ - @objectstack/core@9.6.0
1150
+
1151
+ ## 9.5.1
1152
+
1153
+ ### Patch Changes
1154
+
1155
+ - Updated dependencies [ee72aae]
1156
+ - @objectstack/spec@9.5.1
1157
+ - @objectstack/core@9.5.1
1158
+
1159
+ ## 9.5.0
1160
+
1161
+ ### Patch Changes
1162
+
1163
+ - Updated dependencies [d08551c]
1164
+ - Updated dependencies [707aeed]
1165
+ - Updated dependencies [7a103d4]
1166
+ - Updated dependencies [4b01250]
1167
+ - @objectstack/spec@9.5.0
1168
+ - @objectstack/core@9.5.0
1169
+
1170
+ ## 9.4.0
1171
+
1172
+ ### Patch Changes
1173
+
1174
+ - Updated dependencies [060467a]
1175
+ - Updated dependencies [0856476]
1176
+ - Updated dependencies [b678d8c]
1177
+ - Updated dependencies [b678d8c]
1178
+ - Updated dependencies [b678d8c]
1179
+ - @objectstack/spec@9.4.0
1180
+ - @objectstack/core@9.4.0
1181
+
1182
+ ## 9.3.0
1183
+
1184
+ ### Minor Changes
1185
+
1186
+ - f15d6f6: ADR-0042 SLA auto-escalation + ADR-0041 mechanical landing. plugin-approvals now owns a jobs-backed escalation scanner (`runEscalations`, interval job `approvals-sla-escalation` + boot catch-up): overdue pending requests escalate **at most once** (the `escalate` audit row is the idempotency marker, written audit-first) executing the node's `escalation.action` — notify / reassign-to-`escalateTo` / auto_approve / auto_reject as the reserved actor `system:sla`. The trigger packages drop their `plugin-` prefix (`@objectstack/trigger-record-change`, `@objectstack/trigger-schedule`) per ADR-0041, and `ActionDescriptor` gains an optional `maturity: 'ga' | 'beta' | 'reserved'` field so designers can grey out contract-ahead-of-runtime surfaces.
1187
+
1188
+ ### Patch Changes
1189
+
1190
+ - Updated dependencies [1ada658]
1191
+ - Updated dependencies [3219191]
1192
+ - Updated dependencies [290f631]
1193
+ - Updated dependencies [50b7b47]
1194
+ - Updated dependencies [f15d6f6]
1195
+ - Updated dependencies [f8684ea]
1196
+ - Updated dependencies [b4765be]
1197
+ - @objectstack/spec@9.3.0
1198
+ - @objectstack/core@9.3.0
1199
+
1200
+ ## 9.2.0
1201
+
1202
+ ### Patch Changes
1203
+
1204
+ - Updated dependencies [2f57b75]
1205
+ - Updated dependencies [2f57b75]
1206
+ - @objectstack/spec@9.2.0
1207
+ - @objectstack/core@9.2.0
1208
+
1209
+ ## 9.1.0
1210
+
1211
+ ### Patch Changes
1212
+
1213
+ - Updated dependencies [b9062c9]
1214
+ - @objectstack/spec@9.1.0
1215
+ - @objectstack/core@9.1.0
1216
+
1217
+ ## 9.0.1
1218
+
1219
+ ### Patch Changes
1220
+
1221
+ - Updated dependencies [1817845]
1222
+ - @objectstack/spec@9.0.1
1223
+ - @objectstack/core@9.0.1
1224
+
1225
+ ## 9.0.0
1226
+
1227
+ ### Patch Changes
1228
+
1229
+ - Updated dependencies [4c3f693]
1230
+ - Updated dependencies [0bf39f1]
1231
+ - Updated dependencies [f533f42]
1232
+ - Updated dependencies [1c83ee8]
1233
+ - @objectstack/spec@9.0.0
1234
+ - @objectstack/core@9.0.0
1235
+
1236
+ ## 8.0.1
1237
+
1238
+ ### Patch Changes
1239
+
1240
+ - @objectstack/spec@8.0.1
1241
+ - @objectstack/core@8.0.1
1242
+
1243
+ ## 8.0.0
1244
+
1245
+ ### Patch Changes
1246
+
1247
+ - Updated dependencies [a46c017]
1248
+ - Updated dependencies [b990b89]
1249
+ - Updated dependencies [99111ec]
1250
+ - Updated dependencies [d5a8161]
1251
+ - Updated dependencies [5cf1f1b]
1252
+ - Updated dependencies [9ef89d4]
1253
+ - Updated dependencies [3306d2f]
1254
+ - Updated dependencies [c262301]
1255
+ - Updated dependencies [bc44195]
1256
+ - Updated dependencies [9e2e229]
1257
+ - @objectstack/spec@8.0.0
1258
+ - @objectstack/core@8.0.0
1259
+
1260
+ ## 7.9.0
1261
+
1262
+ ### Patch Changes
1263
+
1264
+ - @objectstack/spec@7.9.0
1265
+ - @objectstack/core@7.9.0
1266
+
1267
+ ## 7.8.0
1268
+
1269
+ ### Patch Changes
1270
+
1271
+ - Updated dependencies [06f2bbb]
1272
+ - Updated dependencies [36719db]
1273
+ - Updated dependencies [424ab26]
1274
+ - @objectstack/spec@7.8.0
1275
+ - @objectstack/core@7.8.0
1276
+
1277
+ ## 7.7.0
1278
+
1279
+ ### Patch Changes
1280
+
1281
+ - Updated dependencies [b391955]
1282
+ - Updated dependencies [f06b64e]
1283
+ - Updated dependencies [023bf93]
1284
+ - @objectstack/spec@7.7.0
1285
+ - @objectstack/core@7.7.0
1286
+
1287
+ ## 7.6.0
1288
+
1289
+ ### Patch Changes
1290
+
1291
+ - Updated dependencies [955d4c8]
1292
+ - Updated dependencies [c4a4cbd]
1293
+ - Updated dependencies [b046ec2]
1294
+ - Updated dependencies [2170ad9]
1295
+ - Updated dependencies [02d6359]
1296
+ - Updated dependencies [7648242]
1297
+ - Updated dependencies [8fa1e7f]
1298
+ - Updated dependencies [55866f5]
1299
+ - Updated dependencies [60f9c45]
1300
+ - @objectstack/spec@7.6.0
1301
+ - @objectstack/core@7.6.0
1302
+
1303
+ ## 7.5.0
1304
+
1305
+ ### Patch Changes
1306
+
1307
+ - @objectstack/spec@7.5.0
1308
+ - @objectstack/core@7.5.0
1309
+
1310
+ ## 7.4.1
1311
+
1312
+ ### Patch Changes
1313
+
1314
+ - @objectstack/spec@7.4.1
1315
+ - @objectstack/core@7.4.1
1316
+
1317
+ ## 7.4.0
1318
+
1319
+ ### Minor Changes
1320
+
1321
+ - 03fd7f0: Schedule flow trigger — auto-launch flows on a cron/interval/once schedule.
1322
+
1323
+ The sibling of `@objectstack/plugin-trigger-record-change`: it completes the
1324
+ _time-based_ arm of the automation engine's `FlowTrigger` extension point. The
1325
+ engine already parses a flow's start node into a `schedule` binding
1326
+ (`flow.type === 'schedule'` or a start-node `config.schedule` descriptor); this
1327
+ plugin registers the concrete `schedule` trigger and delegates timing to the
1328
+ platform `IJobService` (the `'job'` service), so it stays adapter-agnostic — the
1329
+ job service selects a cron-capable adapter (durable `DbJobAdapter` /
1330
+ `CronJobAdapter`) for cron schedules and the interval adapter otherwise.
1331
+
1332
+ - `normalizeSchedule` accepts the canonical `JobSchedule` plus shorthands (a
1333
+ bare cron string, `{ cron }` / `{ expression }`, `{ every }` / `{ intervalMs }`,
1334
+ `{ at }`).
1335
+ - When a job fires, the flow runs with `event: 'schedule'` and
1336
+ `params: { jobId, flowName, schedule }`; the engine's start-condition gate
1337
+ still applies.
1338
+ - Error-isolated (a flow failure never crashes the job runner); per-flow job
1339
+ name so `stop()` cancels exactly one flow; the job service is resolved lazily
1340
+ per bind so adapter upgrades are picked up; graceful degrade when the
1341
+ automation or job service is absent.
1342
+
1343
+ No engine change required — the `schedule` binding shipped with the
1344
+ record-change trigger PR.
1345
+
1346
+ ### Patch Changes
1347
+
1348
+ - Updated dependencies [23c7107]
1349
+ - Updated dependencies [c72daad]
1350
+ - Updated dependencies [f115182]
1351
+ - Updated dependencies [2faf9f2]
1352
+ - Updated dependencies [2faf9f2]
1353
+ - Updated dependencies [2faf9f2]
1354
+ - Updated dependencies [58b450b]
1355
+ - Updated dependencies [82eb6cf]
1356
+ - Updated dependencies [13d8653]
1357
+ - Updated dependencies [ff3d006]
1358
+ - Updated dependencies [5e831de]
1359
+ - @objectstack/spec@7.4.0
1360
+ - @objectstack/core@7.4.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@objectstack/trigger-schedule",
3
- "version": "17.0.0-rc.0",
3
+ "version": "17.0.0-rc.2",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Schedule flow trigger for ObjectStack — auto-launches flows on a cron/interval/once schedule via the IJobService (ADR-0018)",
6
6
  "main": "dist/index.js",
@@ -13,14 +13,14 @@
13
13
  }
14
14
  },
15
15
  "dependencies": {
16
- "@objectstack/core": "17.0.0-rc.0",
17
- "@objectstack/spec": "17.0.0-rc.0"
16
+ "@objectstack/core": "17.0.0-rc.2",
17
+ "@objectstack/spec": "17.0.0-rc.2"
18
18
  },
19
19
  "devDependencies": {
20
- "@types/node": "^26.1.1",
20
+ "@types/node": "^26.1.2",
21
21
  "typescript": "^6.0.3",
22
22
  "vitest": "^4.1.10",
23
- "@objectstack/service-automation": "17.0.0-rc.0"
23
+ "@objectstack/service-automation": "17.0.0-rc.2"
24
24
  },
25
25
  "keywords": [
26
26
  "objectstack",
@@ -44,13 +44,15 @@
44
44
  },
45
45
  "files": [
46
46
  "dist",
47
- "README.md"
47
+ "README.md",
48
+ "CHANGELOG.md"
48
49
  ],
49
50
  "engines": {
50
51
  "node": ">=22.0.0"
51
52
  },
52
53
  "scripts": {
53
54
  "build": "tsup --config ../../../tsup.config.ts",
54
- "test": "vitest run --passWithNoTests"
55
+ "test": "vitest run --passWithNoTests",
56
+ "typecheck": "tsc --noEmit"
55
57
  }
56
58
  }