@monotykamary/localterm-server 1.17.2 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/automation-scheduler.d.ts.map +1 -1
- package/dist/automation-scheduler.js +8 -2
- package/dist/automation-scheduler.js.map +1 -1
- package/dist/automation-store.d.ts +5 -2
- package/dist/automation-store.d.ts.map +1 -1
- package/dist/automation-store.js +128 -13
- package/dist/automation-store.js.map +1 -1
- package/dist/cdp/cdp-client.d.ts +76 -0
- package/dist/cdp/cdp-client.d.ts.map +1 -0
- package/dist/cdp/cdp-client.js +263 -0
- package/dist/cdp/cdp-client.js.map +1 -0
- package/dist/cdp/detect-chromium.d.ts +38 -0
- package/dist/cdp/detect-chromium.d.ts.map +1 -0
- package/dist/cdp/detect-chromium.js +97 -0
- package/dist/cdp/detect-chromium.js.map +1 -0
- package/dist/cdp/open-background-tab.d.ts +33 -0
- package/dist/cdp/open-background-tab.d.ts.map +1 -0
- package/dist/cdp/open-background-tab.js +98 -0
- package/dist/cdp/open-background-tab.js.map +1 -0
- package/dist/constants.d.ts +8 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +26 -1
- package/dist/constants.js.map +1 -1
- package/dist/heartbeat-store.d.ts +7 -0
- package/dist/heartbeat-store.d.ts.map +1 -0
- package/dist/heartbeat-store.js +45 -0
- package/dist/heartbeat-store.js.map +1 -0
- package/dist/index.d.ts +19 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +208 -25
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +4 -3
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +3 -2
- package/dist/protocol.js.map +1 -1
- package/dist/schemas.d.ts +633 -16
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +185 -14
- package/dist/schemas.js.map +1 -1
- package/dist/types.d.ts +8 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/compile-schedule.d.ts +6 -0
- package/dist/utils/compile-schedule.d.ts.map +1 -0
- package/dist/utils/compile-schedule.js +173 -0
- package/dist/utils/compile-schedule.js.map +1 -0
- package/dist/utils/compute-next-automation-run-at.d.ts.map +1 -1
- package/dist/utils/compute-next-automation-run-at.js +14 -3
- package/dist/utils/compute-next-automation-run-at.js.map +1 -1
- package/dist/utils/reconcile-downtime.d.ts +3 -0
- package/dist/utils/reconcile-downtime.d.ts.map +1 -0
- package/dist/utils/reconcile-downtime.js +25 -0
- package/dist/utils/reconcile-downtime.js.map +1 -0
- package/package.json +1 -1
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,eAAO,MAAM,YAAY;;;kBAKd,CAAC;AAmBZ,eAAO,MAAM,2BAA2B;;;;;;;;;4BAGtC,CAAC;AAuDH,eAAO,MAAM,uBAAuB;;;;;;EAMlC,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;kBAQtB,CAAC;AAiCZ,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA0DnC,CAAC;AAKH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAG9B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;4BAQnC,CAAC;AAIH,eAAO,MAAM,yBAAyB;;;EAAiC,CAAC;AAExE,eAAO,MAAM,yBAAyB;;;;;;;EAOpC,CAAC;AAGH,eAAO,MAAM,6BAA6B;;;;;;;EAA4B,CAAC;AAEvE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;kBAgB3B,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;kBAOzB,CAAC;AAuBZ,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAA2C,CAAC;AAIzE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAO7B,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKvB,CAAC;AAYZ,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;kBAYpB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;kBAKzB,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU7B,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU7B,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;kBAE5B,CAAC;AAEZ,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAE/B,CAAC;AASZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAUtC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;kBAanB,CAAC;AAEZ,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;kBAKvB,CAAC"}
|
package/dist/schemas.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { AUTOMATIONS_FILE_VERSION, MAX_AUTOMATION_COMMAND_LENGTH, MAX_AUTOMATION_NAME_LENGTH, MAX_COLS, MAX_CRON_EXPRESSION_LENGTH, MAX_FOREGROUND_LENGTH, MAX_INPUT_BYTES, MAX_NOTIFICATION_LENGTH, MAX_OUTPUT_BYTES, MAX_ROWS, MAX_TITLE_LENGTH, } from "./constants.js";
|
|
2
|
+
import { AUTOMATION_RUN_HISTORY_CAP, AUTOMATION_RUN_LIMIT_MAX, AUTOMATIONS_FILE_VERSION, MAX_AUTOMATION_COMMAND_LENGTH, MAX_AUTOMATION_NAME_LENGTH, MAX_AUTOMATION_TIMES_PER_DAY, MAX_COLS, MAX_CRON_EXPRESSION_LENGTH, MAX_FOREGROUND_LENGTH, MAX_INPUT_BYTES, MAX_NOTIFICATION_LENGTH, MAX_OUTPUT_BYTES, MAX_ROWS, MAX_TITLE_LENGTH, } from "./constants.js";
|
|
3
3
|
export const healthSchema = z
|
|
4
4
|
.object({
|
|
5
5
|
ok: z.boolean(),
|
|
@@ -94,13 +94,133 @@ const gitDiffSummaryMessageSchema = z
|
|
|
94
94
|
summary: gitDiffSummarySchema,
|
|
95
95
|
})
|
|
96
96
|
.strict();
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
97
|
+
// ----------------------------------------------------------------------------
|
|
98
|
+
// Automations (file format v2).
|
|
99
|
+
//
|
|
100
|
+
// A v2 automation stores a STRUCTURED schedule (friendly presets + a raw-cron
|
|
101
|
+
// escape hatch) instead of a bare cron string, a run-count limit + lifecycle,
|
|
102
|
+
// and a capped run-history array. The cron engine stays the single timing
|
|
103
|
+
// authority: every schedule kind compiles to one (or, for "timesOfDay",
|
|
104
|
+
// several) 5-field cron strings via utils/compile-schedule.ts, computed on the
|
|
105
|
+
// fly — no derived cron is persisted. The wire shape re-derives `cron` and the
|
|
106
|
+
// legacy `lastRun` for back-compat.
|
|
107
|
+
// ----------------------------------------------------------------------------
|
|
108
|
+
// Bounds mirror cron-expression.ts exactly (minute 0-59, hour 0-23, Vixie
|
|
109
|
+
// day-of-week 0=Sun..6=Sat, day-of-month 1-31).
|
|
110
|
+
const scheduleMinuteSchema = z.number().int().min(0).max(59);
|
|
111
|
+
const scheduleHourSchema = z.number().int().min(0).max(23);
|
|
112
|
+
const scheduleDayOfWeekSchema = z.number().int().min(0).max(6);
|
|
113
|
+
const scheduleDayOfMonthSchema = z.number().int().min(1).max(31);
|
|
114
|
+
const scheduleStepMinutesSchema = z.number().int().min(1).max(59);
|
|
115
|
+
const scheduleStepHoursSchema = z.number().int().min(1).max(23);
|
|
116
|
+
const scheduleTimeOfDaySchema = z
|
|
117
|
+
.object({ hour: scheduleHourSchema, minute: scheduleMinuteSchema })
|
|
118
|
+
.strict();
|
|
119
|
+
export const automationScheduleSchema = z.discriminatedUnion("kind", [
|
|
120
|
+
// "<minute> * * * *"
|
|
121
|
+
z.object({ kind: z.literal("hourly"), minute: scheduleMinuteSchema }).strict(),
|
|
122
|
+
// "<minute> <hour> * * *"
|
|
123
|
+
z
|
|
124
|
+
.object({ kind: z.literal("daily"), hour: scheduleHourSchema, minute: scheduleMinuteSchema })
|
|
125
|
+
.strict(),
|
|
126
|
+
// Multiple times a day -> one cron per distinct time.
|
|
127
|
+
z
|
|
128
|
+
.object({
|
|
129
|
+
kind: z.literal("timesOfDay"),
|
|
130
|
+
times: z.array(scheduleTimeOfDaySchema).min(1).max(MAX_AUTOMATION_TIMES_PER_DAY),
|
|
131
|
+
})
|
|
132
|
+
.strict(),
|
|
133
|
+
// Weekdays/weekends -> "<minute> <hour> * * 1-5" / "<minute> <hour> * * 0,6"
|
|
134
|
+
z
|
|
135
|
+
.object({
|
|
136
|
+
kind: z.literal("weekdaysPreset"),
|
|
137
|
+
preset: z.enum(["weekdays", "weekends"]),
|
|
138
|
+
hour: scheduleHourSchema,
|
|
139
|
+
minute: scheduleMinuteSchema,
|
|
140
|
+
})
|
|
141
|
+
.strict(),
|
|
142
|
+
// Specific weekdays -> "<minute> <hour> * * <sorted dow list>"
|
|
143
|
+
z
|
|
144
|
+
.object({
|
|
145
|
+
kind: z.literal("weekly"),
|
|
146
|
+
daysOfWeek: z.array(scheduleDayOfWeekSchema).min(1).max(7),
|
|
147
|
+
hour: scheduleHourSchema,
|
|
148
|
+
minute: scheduleMinuteSchema,
|
|
149
|
+
})
|
|
150
|
+
.strict(),
|
|
151
|
+
// Specific days of month -> "<minute> <hour> <sorted dom list> * *"
|
|
152
|
+
z
|
|
153
|
+
.object({
|
|
154
|
+
kind: z.literal("monthly"),
|
|
155
|
+
daysOfMonth: z.array(scheduleDayOfMonthSchema).min(1).max(31),
|
|
156
|
+
hour: scheduleHourSchema,
|
|
157
|
+
minute: scheduleMinuteSchema,
|
|
158
|
+
})
|
|
159
|
+
.strict(),
|
|
160
|
+
// "*/<step> * * * *"
|
|
161
|
+
z.object({ kind: z.literal("everyNMinutes"), step: scheduleStepMinutesSchema }).strict(),
|
|
162
|
+
// "<minute> */<step> * * *"
|
|
163
|
+
z
|
|
164
|
+
.object({
|
|
165
|
+
kind: z.literal("everyNHours"),
|
|
166
|
+
step: scheduleStepHoursSchema,
|
|
167
|
+
minute: scheduleMinuteSchema,
|
|
168
|
+
})
|
|
169
|
+
.strict(),
|
|
170
|
+
// Advanced escape hatch — raw 5-field cron, validated at the route layer.
|
|
171
|
+
z
|
|
172
|
+
.object({
|
|
173
|
+
kind: z.literal("cron"),
|
|
174
|
+
expression: z.string().min(1).max(MAX_CRON_EXPRESSION_LENGTH),
|
|
175
|
+
})
|
|
176
|
+
.strict(),
|
|
177
|
+
]);
|
|
178
|
+
// Create/update accept either the structured schedule or a legacy bare cron
|
|
179
|
+
// string (coerced to {kind:"cron"} at the store) so existing curl/skill
|
|
180
|
+
// consumers keep working.
|
|
181
|
+
export const scheduleInputSchema = z.union([
|
|
182
|
+
automationScheduleSchema,
|
|
183
|
+
z.string().min(1).max(MAX_CRON_EXPRESSION_LENGTH),
|
|
184
|
+
]);
|
|
185
|
+
export const automationRunLimitSchema = z.discriminatedUnion("kind", [
|
|
186
|
+
z.object({ kind: z.literal("forever") }).strict(),
|
|
187
|
+
z
|
|
188
|
+
.object({
|
|
189
|
+
kind: z.literal("count"),
|
|
190
|
+
max: z.number().int().min(1).max(AUTOMATION_RUN_LIMIT_MAX),
|
|
191
|
+
})
|
|
192
|
+
.strict(),
|
|
103
193
|
]);
|
|
194
|
+
// "finished" = a count limit has been reached. Terminal and orthogonal to
|
|
195
|
+
// `enabled`; cleared only by POST /:id/reset.
|
|
196
|
+
export const automationLifecycleSchema = z.enum(["active", "finished"]);
|
|
197
|
+
export const automationRunStatusSchema = z.enum([
|
|
198
|
+
"launched", // tab open requested, awaiting a WS claim
|
|
199
|
+
"running", // a tab claimed the run and the command is executing
|
|
200
|
+
"completed", // command finished with exit code 0
|
|
201
|
+
"failed", // command finished with a non-zero exit code
|
|
202
|
+
"missed", // launched but no tab claimed it before it expired (daemon WAS alive)
|
|
203
|
+
"skipped", // scheduled occurrence inside a daemon-downtime window; never launched
|
|
204
|
+
]);
|
|
205
|
+
// Retained for the derived wire `lastRun`; status widened to include "skipped".
|
|
206
|
+
export const automationLastRunStatusSchema = automationRunStatusSchema;
|
|
207
|
+
export const automationRunRecordSchema = z
|
|
208
|
+
.object({
|
|
209
|
+
runId: z.string().min(1),
|
|
210
|
+
// The intended minute boundary (ms). Equals startedAt for manual runs;
|
|
211
|
+
// stable identity/sort key.
|
|
212
|
+
scheduledFor: z.number().int().nonnegative(),
|
|
213
|
+
// Launch-attempt time; null for a "skipped" (never-launched) run.
|
|
214
|
+
startedAt: z.number().int().nonnegative().nullable(),
|
|
215
|
+
// Terminal time; null while launched/running.
|
|
216
|
+
finishedAt: z.number().int().nonnegative().nullable(),
|
|
217
|
+
status: automationRunStatusSchema,
|
|
218
|
+
exitCode: z.number().int().nullable(),
|
|
219
|
+
trigger: z.enum(["schedule", "manual"]),
|
|
220
|
+
// false for manual + skipped; true for scheduled launches.
|
|
221
|
+
countsTowardLimit: z.boolean(),
|
|
222
|
+
})
|
|
223
|
+
.strict();
|
|
104
224
|
export const automationLastRunSchema = z
|
|
105
225
|
.object({
|
|
106
226
|
runId: z.string().min(1),
|
|
@@ -109,20 +229,36 @@ export const automationLastRunSchema = z
|
|
|
109
229
|
exitCode: z.number().int().nullable(),
|
|
110
230
|
})
|
|
111
231
|
.strict();
|
|
112
|
-
|
|
232
|
+
// Stored shape (automations.json v2). No derived fields (cron/lastRun/nextRunAt
|
|
233
|
+
// live only on the wire).
|
|
234
|
+
const automationStoredShape = {
|
|
113
235
|
id: z.string().min(1),
|
|
114
236
|
name: z.string().min(1).max(MAX_AUTOMATION_NAME_LENGTH),
|
|
115
|
-
schedule:
|
|
237
|
+
schedule: automationScheduleSchema,
|
|
116
238
|
cwd: z.string().min(1),
|
|
117
239
|
command: z.string().min(1).max(MAX_AUTOMATION_COMMAND_LENGTH),
|
|
118
240
|
enabled: z.boolean(),
|
|
241
|
+
limit: automationRunLimitSchema,
|
|
242
|
+
// When true, the run's browser tab is closed once the command finishes
|
|
243
|
+
// (only honored for tabs opened via CDP). Defaults false → tab stays open.
|
|
244
|
+
// Optional in the persisted shape so pre-existing v2 files load unchanged.
|
|
245
|
+
closeOnFinish: z.boolean().default(false),
|
|
246
|
+
runCount: z.number().int().nonnegative(),
|
|
247
|
+
lifecycle: automationLifecycleSchema,
|
|
248
|
+
runs: z.array(automationRunRecordSchema).max(AUTOMATION_RUN_HISTORY_CAP),
|
|
119
249
|
createdAt: z.number().int().nonnegative(),
|
|
120
250
|
updatedAt: z.number().int().nonnegative(),
|
|
121
|
-
lastRun: automationLastRunSchema.nullable(),
|
|
122
251
|
};
|
|
123
|
-
export const automationSchema = z.object(
|
|
252
|
+
export const automationSchema = z.object(automationStoredShape).strict();
|
|
253
|
+
// Wire shape: stored fields + derived nextRunAt, cron (first compiled cron,
|
|
254
|
+
// for display/back-compat), and lastRun (projection of runs[0]).
|
|
124
255
|
export const automationWithNextRunSchema = z
|
|
125
|
-
.object({
|
|
256
|
+
.object({
|
|
257
|
+
...automationStoredShape,
|
|
258
|
+
nextRunAt: z.number().int().nullable(),
|
|
259
|
+
cron: z.string().min(1),
|
|
260
|
+
lastRun: automationLastRunSchema.nullable(),
|
|
261
|
+
})
|
|
126
262
|
.strict();
|
|
127
263
|
export const automationsFileSchema = z
|
|
128
264
|
.object({
|
|
@@ -130,24 +266,59 @@ export const automationsFileSchema = z
|
|
|
130
266
|
automations: z.array(automationSchema),
|
|
131
267
|
})
|
|
132
268
|
.strict();
|
|
133
|
-
|
|
269
|
+
// Frozen v1 file shape — read only by the v1->v2 migrator in automation-store.
|
|
270
|
+
const automationV1LastRunSchema = z
|
|
271
|
+
.object({
|
|
272
|
+
runId: z.string().min(1),
|
|
273
|
+
at: z.number().int().nonnegative(),
|
|
274
|
+
status: z.enum(["launched", "running", "completed", "failed", "missed"]),
|
|
275
|
+
exitCode: z.number().int().nullable(),
|
|
276
|
+
})
|
|
277
|
+
.strict();
|
|
278
|
+
export const automationV1Schema = z
|
|
134
279
|
.object({
|
|
280
|
+
id: z.string().min(1),
|
|
135
281
|
name: z.string().min(1).max(MAX_AUTOMATION_NAME_LENGTH),
|
|
136
282
|
schedule: z.string().min(1).max(MAX_CRON_EXPRESSION_LENGTH),
|
|
137
283
|
cwd: z.string().min(1),
|
|
138
284
|
command: z.string().min(1).max(MAX_AUTOMATION_COMMAND_LENGTH),
|
|
285
|
+
enabled: z.boolean(),
|
|
286
|
+
createdAt: z.number().int().nonnegative(),
|
|
287
|
+
updatedAt: z.number().int().nonnegative(),
|
|
288
|
+
lastRun: automationV1LastRunSchema.nullable(),
|
|
289
|
+
})
|
|
290
|
+
.strict();
|
|
291
|
+
export const automationsFileV1Schema = z
|
|
292
|
+
.object({
|
|
293
|
+
version: z.literal(1),
|
|
294
|
+
automations: z.array(automationV1Schema),
|
|
295
|
+
})
|
|
296
|
+
.strict();
|
|
297
|
+
export const createAutomationInputSchema = z
|
|
298
|
+
.object({
|
|
299
|
+
name: z.string().min(1).max(MAX_AUTOMATION_NAME_LENGTH),
|
|
300
|
+
schedule: scheduleInputSchema,
|
|
301
|
+
cwd: z.string().min(1),
|
|
302
|
+
command: z.string().min(1).max(MAX_AUTOMATION_COMMAND_LENGTH),
|
|
139
303
|
enabled: z.boolean().optional(),
|
|
304
|
+
limit: automationRunLimitSchema.optional(),
|
|
305
|
+
closeOnFinish: z.boolean().optional(),
|
|
140
306
|
})
|
|
141
307
|
.strict();
|
|
142
308
|
export const updateAutomationInputSchema = z
|
|
143
309
|
.object({
|
|
144
310
|
name: z.string().min(1).max(MAX_AUTOMATION_NAME_LENGTH).optional(),
|
|
145
|
-
schedule:
|
|
311
|
+
schedule: scheduleInputSchema.optional(),
|
|
146
312
|
cwd: z.string().min(1).optional(),
|
|
147
313
|
command: z.string().min(1).max(MAX_AUTOMATION_COMMAND_LENGTH).optional(),
|
|
148
314
|
enabled: z.boolean().optional(),
|
|
315
|
+
limit: automationRunLimitSchema.optional(),
|
|
316
|
+
closeOnFinish: z.boolean().optional(),
|
|
149
317
|
})
|
|
150
318
|
.strict();
|
|
319
|
+
export const resetAutomationInputSchema = z
|
|
320
|
+
.object({ clearHistory: z.boolean().optional() })
|
|
321
|
+
.strict();
|
|
151
322
|
export const automationsListResponseSchema = z
|
|
152
323
|
.object({ automations: z.array(automationWithNextRunSchema) })
|
|
153
324
|
.strict();
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { z } from "zod";
|
|
2
|
-
import type { automationLastRunSchema, automationLastRunStatusSchema, automationSchema, automationWithNextRunSchema, clientToServerMessageSchema, createAutomationInputSchema, gitDiffFileSchema, gitDiffFileStatusSchema, gitDiffResponseSchema, gitDiffSummarySchema, serverToClientMessageSchema, updateAutomationInputSchema } from "./schemas.js";
|
|
2
|
+
import type { automationLastRunSchema, automationLastRunStatusSchema, automationLifecycleSchema, automationRunLimitSchema, automationRunRecordSchema, automationRunStatusSchema, automationScheduleSchema, automationSchema, automationV1Schema, automationWithNextRunSchema, clientToServerMessageSchema, createAutomationInputSchema, gitDiffFileSchema, gitDiffFileStatusSchema, gitDiffResponseSchema, gitDiffSummarySchema, resetAutomationInputSchema, serverToClientMessageSchema, updateAutomationInputSchema } from "./schemas.js";
|
|
3
3
|
export interface SpawnPtyInput {
|
|
4
4
|
cols?: number;
|
|
5
5
|
rows?: number;
|
|
@@ -19,10 +19,17 @@ export type ClientToServerMessage = z.infer<typeof clientToServerMessageSchema>;
|
|
|
19
19
|
export type ServerToClientMessage = z.infer<typeof serverToClientMessageSchema>;
|
|
20
20
|
export type AutomationLastRunStatus = z.infer<typeof automationLastRunStatusSchema>;
|
|
21
21
|
export type AutomationLastRun = z.infer<typeof automationLastRunSchema>;
|
|
22
|
+
export type AutomationSchedule = z.infer<typeof automationScheduleSchema>;
|
|
23
|
+
export type AutomationRunLimit = z.infer<typeof automationRunLimitSchema>;
|
|
24
|
+
export type AutomationLifecycle = z.infer<typeof automationLifecycleSchema>;
|
|
25
|
+
export type AutomationRunStatus = z.infer<typeof automationRunStatusSchema>;
|
|
26
|
+
export type AutomationRunRecord = z.infer<typeof automationRunRecordSchema>;
|
|
22
27
|
export type Automation = z.infer<typeof automationSchema>;
|
|
28
|
+
export type AutomationV1 = z.infer<typeof automationV1Schema>;
|
|
23
29
|
export type AutomationWithNextRun = z.infer<typeof automationWithNextRunSchema>;
|
|
24
30
|
export type CreateAutomationInput = z.infer<typeof createAutomationInputSchema>;
|
|
25
31
|
export type UpdateAutomationInput = z.infer<typeof updateAutomationInputSchema>;
|
|
32
|
+
export type ResetAutomationInput = z.infer<typeof resetAutomationInputSchema>;
|
|
26
33
|
export type GitDiffFileStatus = z.infer<typeof gitDiffFileStatusSchema>;
|
|
27
34
|
export type GitDiffSummary = z.infer<typeof gitDiffSummarySchema>;
|
|
28
35
|
export type GitDiffFile = z.infer<typeof gitDiffFileSchema>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,EAChB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AutomationSchedule } from "../types.js";
|
|
2
|
+
export declare const compileScheduleAll: (schedule: AutomationSchedule) => string[];
|
|
3
|
+
export declare const compileSchedule: (schedule: AutomationSchedule) => string;
|
|
4
|
+
export declare const recognizePreset: (expression: string) => AutomationSchedule | null;
|
|
5
|
+
export declare const normalizeScheduleInput: (input: AutomationSchedule | string) => AutomationSchedule;
|
|
6
|
+
//# sourceMappingURL=compile-schedule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-schedule.d.ts","sourceRoot":"","sources":["../../src/utils/compile-schedule.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAYtD,eAAO,MAAM,kBAAkB,GAAI,UAAU,kBAAkB,KAAG,MAAM,EA6CvE,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,UAAU,kBAAkB,KAAG,MAC9B,CAAC;AAuFlC,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,KAAG,kBAAkB,GAAG,IAWzE,CAAC;AAKF,eAAO,MAAM,sBAAsB,GAAI,OAAO,kBAAkB,GAAG,MAAM,KAAG,kBAI3E,CAAC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
// The cron engine is the single timing authority. Every structured schedule
|
|
2
|
+
// kind compiles here to one — or, for "timesOfDay", several — 5-field cron
|
|
3
|
+
// strings that the scheduler and next-run util parse directly. Nothing derived
|
|
4
|
+
// is persisted; this runs on the fly.
|
|
5
|
+
//
|
|
6
|
+
// recognizePreset() goes the other way (a raw cron string -> a friendly preset)
|
|
7
|
+
// and is the v1->v2 migration's and the bare-string API's only path to friendly
|
|
8
|
+
// labels. It is provably lossless: a candidate preset is accepted ONLY if it
|
|
9
|
+
// recompiles to a cron whose parse is set-equal to the original. Any divergence
|
|
10
|
+
// (or an unparseable string) falls back to {kind:"cron"} byte-for-byte, so the
|
|
11
|
+
// firing schedule never changes.
|
|
12
|
+
import { parseCronExpression } from "../cron-expression.js";
|
|
13
|
+
const WEEKDAYS_CRON_DOW = "1-5";
|
|
14
|
+
const WEEKENDS_CRON_DOW = "0,6";
|
|
15
|
+
const MINUTE_FIELD_MAX = 59;
|
|
16
|
+
const HOUR_FIELD_MAX = 23;
|
|
17
|
+
const MONTH_FIELD_SIZE = 12;
|
|
18
|
+
const HOUR_FIELD_SIZE = 24;
|
|
19
|
+
const sortUnique = (values) => [...new Set(values)].sort((a, b) => a - b);
|
|
20
|
+
export const compileScheduleAll = (schedule) => {
|
|
21
|
+
switch (schedule.kind) {
|
|
22
|
+
case "hourly":
|
|
23
|
+
return [`${schedule.minute} * * * *`];
|
|
24
|
+
case "daily":
|
|
25
|
+
return [`${schedule.minute} ${schedule.hour} * * *`];
|
|
26
|
+
case "timesOfDay": {
|
|
27
|
+
const ordered = [...schedule.times].sort((a, b) => a.hour * 60 + a.minute - (b.hour * 60 + b.minute));
|
|
28
|
+
const seen = new Set();
|
|
29
|
+
const crons = [];
|
|
30
|
+
for (const time of ordered) {
|
|
31
|
+
const key = time.hour * 60 + time.minute;
|
|
32
|
+
if (seen.has(key))
|
|
33
|
+
continue;
|
|
34
|
+
seen.add(key);
|
|
35
|
+
crons.push(`${time.minute} ${time.hour} * * *`);
|
|
36
|
+
}
|
|
37
|
+
return crons;
|
|
38
|
+
}
|
|
39
|
+
case "weekdaysPreset":
|
|
40
|
+
return [
|
|
41
|
+
`${schedule.minute} ${schedule.hour} * * ${schedule.preset === "weekdays" ? WEEKDAYS_CRON_DOW : WEEKENDS_CRON_DOW}`,
|
|
42
|
+
];
|
|
43
|
+
case "weekly":
|
|
44
|
+
return [
|
|
45
|
+
`${schedule.minute} ${schedule.hour} * * ${sortUnique(schedule.daysOfWeek).join(",")}`,
|
|
46
|
+
];
|
|
47
|
+
case "monthly":
|
|
48
|
+
return [
|
|
49
|
+
`${schedule.minute} ${schedule.hour} ${sortUnique(schedule.daysOfMonth).join(",")} * *`,
|
|
50
|
+
];
|
|
51
|
+
case "everyNMinutes":
|
|
52
|
+
return [`*/${schedule.step} * * * *`];
|
|
53
|
+
case "everyNHours":
|
|
54
|
+
return [`${schedule.minute} */${schedule.step} * * *`];
|
|
55
|
+
case "cron":
|
|
56
|
+
return [schedule.expression.trim()];
|
|
57
|
+
default: {
|
|
58
|
+
const exhaustive = schedule;
|
|
59
|
+
return exhaustive;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
// The canonical cron for display/back-compat. For "timesOfDay" it is the
|
|
64
|
+
// earliest time's cron; the scheduler always reads compileScheduleAll().
|
|
65
|
+
export const compileSchedule = (schedule) => compileScheduleAll(schedule)[0];
|
|
66
|
+
const numericSetEqual = (a, b) => {
|
|
67
|
+
if (a.size !== b.size)
|
|
68
|
+
return false;
|
|
69
|
+
for (const value of a) {
|
|
70
|
+
if (!b.has(value))
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
};
|
|
75
|
+
const parsedCronEqual = (a, b) => numericSetEqual(a.minutes, b.minutes) &&
|
|
76
|
+
numericSetEqual(a.hours, b.hours) &&
|
|
77
|
+
numericSetEqual(a.daysOfMonth, b.daysOfMonth) &&
|
|
78
|
+
numericSetEqual(a.months, b.months) &&
|
|
79
|
+
numericSetEqual(a.daysOfWeek, b.daysOfWeek) &&
|
|
80
|
+
a.isDayOfMonthRestricted === b.isDayOfMonthRestricted &&
|
|
81
|
+
a.isDayOfWeekRestricted === b.isDayOfWeekRestricted;
|
|
82
|
+
// A set is a "*/step" expansion iff it is exactly {0, step, 2*step, …} over
|
|
83
|
+
// [0, max]. Returns the step, or null when the set is irregular.
|
|
84
|
+
const detectStep = (values, max) => {
|
|
85
|
+
const sorted = [...values].sort((a, b) => a - b);
|
|
86
|
+
if (sorted.length < 2 || sorted[0] !== 0)
|
|
87
|
+
return null;
|
|
88
|
+
const step = sorted[1];
|
|
89
|
+
if (step < 1)
|
|
90
|
+
return null;
|
|
91
|
+
const expected = [];
|
|
92
|
+
for (let value = 0; value <= max; value += step)
|
|
93
|
+
expected.push(value);
|
|
94
|
+
if (expected.length !== sorted.length)
|
|
95
|
+
return null;
|
|
96
|
+
return expected.every((value, index) => value === sorted[index]) ? step : null;
|
|
97
|
+
};
|
|
98
|
+
const recognizeCandidate = (parsed) => {
|
|
99
|
+
// Every preset keeps the month field wildcard; a restricted month stays cron.
|
|
100
|
+
if (parsed.months.size !== MONTH_FIELD_SIZE)
|
|
101
|
+
return null;
|
|
102
|
+
const domWild = !parsed.isDayOfMonthRestricted;
|
|
103
|
+
const dowWild = !parsed.isDayOfWeekRestricted;
|
|
104
|
+
const hoursFull = parsed.hours.size === HOUR_FIELD_SIZE;
|
|
105
|
+
// Multi-minute is only "every N minutes" (every hour, all day fields wild).
|
|
106
|
+
if (parsed.minutes.size > 1) {
|
|
107
|
+
if (!hoursFull || !domWild || !dowWild)
|
|
108
|
+
return null;
|
|
109
|
+
const step = detectStep(parsed.minutes, MINUTE_FIELD_MAX);
|
|
110
|
+
return step === null ? null : { kind: "everyNMinutes", step };
|
|
111
|
+
}
|
|
112
|
+
const minute = [...parsed.minutes][0];
|
|
113
|
+
// "every N hours": single minute, hours are a */step, all day fields wild.
|
|
114
|
+
if (!hoursFull && parsed.hours.size > 1) {
|
|
115
|
+
if (!domWild || !dowWild)
|
|
116
|
+
return null;
|
|
117
|
+
const step = detectStep(parsed.hours, HOUR_FIELD_MAX);
|
|
118
|
+
return step === null ? null : { kind: "everyNHours", step, minute };
|
|
119
|
+
}
|
|
120
|
+
// Hourly: single minute, every hour, all day fields wild.
|
|
121
|
+
if (hoursFull) {
|
|
122
|
+
if (!domWild || !dowWild)
|
|
123
|
+
return null;
|
|
124
|
+
return { kind: "hourly", minute };
|
|
125
|
+
}
|
|
126
|
+
// Single specific hour from here on.
|
|
127
|
+
if (parsed.hours.size !== 1)
|
|
128
|
+
return null;
|
|
129
|
+
const hour = [...parsed.hours][0];
|
|
130
|
+
if (domWild && dowWild)
|
|
131
|
+
return { kind: "daily", hour, minute };
|
|
132
|
+
if (domWild && !dowWild) {
|
|
133
|
+
const days = [...parsed.daysOfWeek].filter((day) => day >= 0 && day <= 6).sort((a, b) => a - b);
|
|
134
|
+
if (days.length === 5 && days.every((day, index) => day === index + 1)) {
|
|
135
|
+
return { kind: "weekdaysPreset", preset: "weekdays", hour, minute };
|
|
136
|
+
}
|
|
137
|
+
if (days.length === 2 && days[0] === 0 && days[1] === 6) {
|
|
138
|
+
return { kind: "weekdaysPreset", preset: "weekends", hour, minute };
|
|
139
|
+
}
|
|
140
|
+
return days.length > 0 ? { kind: "weekly", daysOfWeek: days, hour, minute } : null;
|
|
141
|
+
}
|
|
142
|
+
if (!domWild && dowWild) {
|
|
143
|
+
const days = [...parsed.daysOfMonth].sort((a, b) => a - b);
|
|
144
|
+
return days.length > 0 ? { kind: "monthly", daysOfMonth: days, hour, minute } : null;
|
|
145
|
+
}
|
|
146
|
+
// Both day fields restricted -> Vixie OR semantics; no preset, stay cron.
|
|
147
|
+
return null;
|
|
148
|
+
};
|
|
149
|
+
export const recognizePreset = (expression) => {
|
|
150
|
+
const parsed = parseCronExpression(expression);
|
|
151
|
+
if (!parsed)
|
|
152
|
+
return null;
|
|
153
|
+
const candidate = recognizeCandidate(parsed);
|
|
154
|
+
if (!candidate)
|
|
155
|
+
return null;
|
|
156
|
+
// Parse-equality safety net: only single-cron candidates are recognized, so
|
|
157
|
+
// the recompiled cron must re-parse set-equal to the original.
|
|
158
|
+
const compiled = compileScheduleAll(candidate);
|
|
159
|
+
if (compiled.length !== 1)
|
|
160
|
+
return null;
|
|
161
|
+
const recompiled = parseCronExpression(compiled[0]);
|
|
162
|
+
return recompiled && parsedCronEqual(parsed, recompiled) ? candidate : null;
|
|
163
|
+
};
|
|
164
|
+
// Create/update/migration entry point: a bare cron string becomes a recognized
|
|
165
|
+
// preset (or {kind:"cron"}); a structured schedule is kept verbatim (an explicit
|
|
166
|
+
// {kind:"cron"} stays advanced — the caller chose the escape hatch).
|
|
167
|
+
export const normalizeScheduleInput = (input) => {
|
|
168
|
+
if (typeof input !== "string")
|
|
169
|
+
return input;
|
|
170
|
+
const trimmed = input.trim();
|
|
171
|
+
return recognizePreset(trimmed) ?? { kind: "cron", expression: trimmed };
|
|
172
|
+
};
|
|
173
|
+
//# sourceMappingURL=compile-schedule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-schedule.js","sourceRoot":"","sources":["../../src/utils/compile-schedule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute-next-automation-run-at.d.ts","sourceRoot":"","sources":["../../src/utils/compute-next-automation-run-at.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"compute-next-automation-run-at.d.ts","sourceRoot":"","sources":["../../src/utils/compute-next-automation-run-at.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,eAAO,MAAM,0BAA0B,GAAI,YAAY,UAAU,EAAE,MAAM,IAAI,KAAG,MAAM,GAAG,IAaxF,CAAC"}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
import { nextCronOccurrence, parseCronExpression } from "../cron-expression.js";
|
|
2
|
+
import { compileScheduleAll } from "./compile-schedule.js";
|
|
2
3
|
export const computeNextAutomationRunAt = (automation, from) => {
|
|
3
4
|
if (!automation.enabled)
|
|
4
5
|
return null;
|
|
5
|
-
|
|
6
|
-
if (!parsed)
|
|
6
|
+
if (automation.lifecycle === "finished")
|
|
7
7
|
return null;
|
|
8
|
-
|
|
8
|
+
// The earliest next occurrence across every compiled cron (timesOfDay yields
|
|
9
|
+
// several); skip any expression that fails to parse.
|
|
10
|
+
const candidates = [];
|
|
11
|
+
for (const expression of compileScheduleAll(automation.schedule)) {
|
|
12
|
+
const parsed = parseCronExpression(expression);
|
|
13
|
+
if (!parsed)
|
|
14
|
+
continue;
|
|
15
|
+
const next = nextCronOccurrence(parsed, from);
|
|
16
|
+
if (next)
|
|
17
|
+
candidates.push(next.getTime());
|
|
18
|
+
}
|
|
19
|
+
return candidates.length > 0 ? Math.min(...candidates) : null;
|
|
9
20
|
};
|
|
10
21
|
//# sourceMappingURL=compute-next-automation-run-at.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute-next-automation-run-at.js","sourceRoot":"","sources":["../../src/utils/compute-next-automation-run-at.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"compute-next-automation-run-at.js","sourceRoot":"","sources":["../../src/utils/compute-next-automation-run-at.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,UAAsB,EAAE,IAAU,EAAiB,EAAE;IAC9F,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,UAAU,CAAC,SAAS,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACrD,6EAA6E;IAC7E,qDAAqD;IACrD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile-downtime.d.ts","sourceRoot":"","sources":["../../src/utils/reconcile-downtime.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAO9C,eAAO,MAAM,0BAA0B,GACrC,YAAY,UAAU,EACtB,aAAa,MAAM,EACnB,KAAK,MAAM,KACV,MAAM,EAeR,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AUTOMATION_DOWNTIME_RECONCILE_CAP, AUTOMATION_RECONCILE_LOOKBACK_MS, } from "../constants.js";
|
|
2
|
+
import { nextCronOccurrence, parseCronExpression } from "../cron-expression.js";
|
|
3
|
+
import { compileScheduleAll } from "./compile-schedule.js";
|
|
4
|
+
// The most-recent missed scheduled occurrences (epoch-ms) in the downtime
|
|
5
|
+
// window (lastAliveAt, now). Enumeration starts no earlier than a fixed
|
|
6
|
+
// lookback so a frequent schedule can't walk forever after a long outage; only
|
|
7
|
+
// the most-recent AUTOMATION_DOWNTIME_RECONCILE_CAP are kept regardless.
|
|
8
|
+
export const enumerateMissedOccurrences = (automation, lastAliveAt, now) => {
|
|
9
|
+
const effectiveFrom = Math.max(lastAliveAt, now - AUTOMATION_RECONCILE_LOOKBACK_MS);
|
|
10
|
+
const fromDate = new Date(effectiveFrom);
|
|
11
|
+
const collected = [];
|
|
12
|
+
for (const expression of compileScheduleAll(automation.schedule)) {
|
|
13
|
+
const parsed = parseCronExpression(expression);
|
|
14
|
+
if (!parsed)
|
|
15
|
+
continue;
|
|
16
|
+
let cursor = nextCronOccurrence(parsed, fromDate);
|
|
17
|
+
while (cursor && cursor.getTime() < now) {
|
|
18
|
+
collected.push(cursor.getTime());
|
|
19
|
+
cursor = nextCronOccurrence(parsed, cursor);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const unique = [...new Set(collected)].sort((a, b) => a - b);
|
|
23
|
+
return unique.slice(-AUTOMATION_DOWNTIME_RECONCILE_CAP);
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=reconcile-downtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconcile-downtime.js","sourceRoot":"","sources":["../../src/utils/reconcile-downtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,0EAA0E;AAC1E,wEAAwE;AACxE,+EAA+E;AAC/E,yEAAyE;AACzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,UAAsB,EACtB,WAAmB,EACnB,GAAW,EACD,EAAE;IACZ,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,gCAAgC,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,UAAU,IAAI,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACjC,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,iCAAiC,CAAC,CAAC;AAC1D,CAAC,CAAC"}
|