@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.
- package/CHANGELOG.md +1245 -0
- 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": "
|
|
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/
|
|
17
|
-
"@objectstack/
|
|
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": "
|
|
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": ">=
|
|
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
|
}
|