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