crewly 1.20.67 → 1.20.68
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/config/skills/agent/core/drive-read/SKILL.md +1 -10
- package/config/skills/agent/core/drive-search/SKILL.md +0 -9
- package/config/skills/agent/core/drive-upload/SKILL.md +0 -9
- package/dist/backend/backend/src/constants.d.ts +44 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +44 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +6 -19
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +16 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +32 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +17 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +57 -9
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +23 -0
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +50 -0
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +28 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js +66 -30
- package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts +11 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.js +68 -18
- package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +44 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +44 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +17 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +57 -9
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +23 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +50 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts +162 -0
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js +708 -0
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js.map +1 -0
- package/dist/cli/backend/src/services/monitoring/runtime-token-parser.service.d.ts +73 -0
- package/dist/cli/backend/src/services/monitoring/runtime-token-parser.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/monitoring/runtime-token-parser.service.js +199 -0
- package/dist/cli/backend/src/services/monitoring/runtime-token-parser.service.js.map +1 -0
- package/package.json +1 -1
|
@@ -60,6 +60,29 @@ export declare class SubAgentMessageQueue {
|
|
|
60
60
|
* @returns Array of queued messages in insertion order, or empty array
|
|
61
61
|
*/
|
|
62
62
|
dequeueAll(sessionName: string): QueuedAgentMessage[];
|
|
63
|
+
/**
|
|
64
|
+
* Hand every queued message to `send`, one at a time.
|
|
65
|
+
*
|
|
66
|
+
* `sendMessageToAgent` answers `{ success: true, queued: true }` when it
|
|
67
|
+
* finds the agent busy and puts the message back — so a caller that only
|
|
68
|
+
* checked for a thrown error logged "Delivered" in the same millisecond
|
|
69
|
+
* as the re-queue, and reading the log pointed at the agent when the
|
|
70
|
+
* message had never reached it. Both call sites had their own copy of
|
|
71
|
+
* this loop; this is the shared one, and it distinguishes the two
|
|
72
|
+
* outcomes (2026-09-21, Ella).
|
|
73
|
+
*
|
|
74
|
+
* @param sessionName - The agent session name
|
|
75
|
+
* @param send - Delivers one message; `queued` means it went back on the queue
|
|
76
|
+
* @param gapMs - Pause between messages so the agent can process each
|
|
77
|
+
* @returns How many were delivered, deferred again, and failed
|
|
78
|
+
*/
|
|
79
|
+
flush(sessionName: string, send: (data: string) => Promise<{
|
|
80
|
+
queued?: boolean;
|
|
81
|
+
}>, gapMs?: number): Promise<{
|
|
82
|
+
delivered: number;
|
|
83
|
+
deferred: number;
|
|
84
|
+
failed: number;
|
|
85
|
+
}>;
|
|
63
86
|
/**
|
|
64
87
|
* Check if there are pending messages for a session.
|
|
65
88
|
*
|
package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-agent-message-queue.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/sub-agent-message-queue.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,oBAAoB;IAO1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IA8BhD;;;;;;OAMG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAiBrD;;;;;OAKG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAKxC;;;;OAIG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAWhC;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAIzC"}
|
|
1
|
+
{"version":3,"file":"sub-agent-message-queue.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/sub-agent-message-queue.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,eAAe,CAA2C;IAClE,OAAO,CAAC,MAAM,CAAkB;IAEhC,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,oBAAoB;IAO1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IA8BhD;;;;;;OAMG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAiBrD;;;;;;;;;;;;;;;OAeG;IACG,KAAK,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,EACrD,KAAK,SAAI,GACP,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAiCnE;;;;;OAKG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAKxC;;;;OAIG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAWhC;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAIzC"}
|
|
@@ -97,6 +97,56 @@ export class SubAgentMessageQueue {
|
|
|
97
97
|
});
|
|
98
98
|
return messages;
|
|
99
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Hand every queued message to `send`, one at a time.
|
|
102
|
+
*
|
|
103
|
+
* `sendMessageToAgent` answers `{ success: true, queued: true }` when it
|
|
104
|
+
* finds the agent busy and puts the message back — so a caller that only
|
|
105
|
+
* checked for a thrown error logged "Delivered" in the same millisecond
|
|
106
|
+
* as the re-queue, and reading the log pointed at the agent when the
|
|
107
|
+
* message had never reached it. Both call sites had their own copy of
|
|
108
|
+
* this loop; this is the shared one, and it distinguishes the two
|
|
109
|
+
* outcomes (2026-09-21, Ella).
|
|
110
|
+
*
|
|
111
|
+
* @param sessionName - The agent session name
|
|
112
|
+
* @param send - Delivers one message; `queued` means it went back on the queue
|
|
113
|
+
* @param gapMs - Pause between messages so the agent can process each
|
|
114
|
+
* @returns How many were delivered, deferred again, and failed
|
|
115
|
+
*/
|
|
116
|
+
async flush(sessionName, send, gapMs = 0) {
|
|
117
|
+
const pending = this.dequeueAll(sessionName);
|
|
118
|
+
const out = { delivered: 0, deferred: 0, failed: 0 };
|
|
119
|
+
for (const [i, queued] of pending.entries()) {
|
|
120
|
+
try {
|
|
121
|
+
const result = await send(queued.data);
|
|
122
|
+
if (result?.queued) {
|
|
123
|
+
out.deferred += 1;
|
|
124
|
+
this.logger.info('Queued message deferred again — agent still busy', {
|
|
125
|
+
sessionName,
|
|
126
|
+
queuedAt: new Date(queued.queuedAt).toISOString(),
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
out.delivered += 1;
|
|
131
|
+
this.logger.info('Queued message delivered', {
|
|
132
|
+
sessionName,
|
|
133
|
+
queuedAt: new Date(queued.queuedAt).toISOString(),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch (err) {
|
|
138
|
+
out.failed += 1;
|
|
139
|
+
this.logger.error('Failed to deliver a queued message', {
|
|
140
|
+
sessionName,
|
|
141
|
+
error: err instanceof Error ? err.message : String(err),
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
if (gapMs > 0 && i < pending.length - 1) {
|
|
145
|
+
await new Promise((r) => setTimeout(r, gapMs));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return out;
|
|
149
|
+
}
|
|
100
150
|
/**
|
|
101
151
|
* Check if there are pending messages for a session.
|
|
102
152
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-agent-message-queue.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/sub-agent-message-queue.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sub-agent-message-queue.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/sub-agent-message-queue.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -214,9 +214,30 @@ export declare class TriggerEngine {
|
|
|
214
214
|
/**
|
|
215
215
|
* Schedules a one-shot timer for a delay or fireAt trigger.
|
|
216
216
|
*
|
|
217
|
+
* Node caps a single timer at 2^31 - 1 ms (~24.85 days). A larger delay
|
|
218
|
+
* overflows: Node emits TimeoutOverflowWarning and arms the timer for 1 ms,
|
|
219
|
+
* so a `--fire-at` three weeks out fired the moment it was created. The
|
|
220
|
+
* wait is therefore chained — each hop arms at most MAX_TIMER_DELAY_MS and,
|
|
221
|
+
* on expiry, re-arms while the target is still in the future. The remaining
|
|
222
|
+
* time is recomputed from the wall clock on every hop, so chaining does not
|
|
223
|
+
* accumulate drift. All one-shot paths (create, resume, re-arm on boot) go
|
|
224
|
+
* through here.
|
|
225
|
+
*
|
|
217
226
|
* @param trigger - The time trigger to schedule
|
|
218
227
|
*/
|
|
219
228
|
private scheduleOneShot;
|
|
229
|
+
/**
|
|
230
|
+
* Resolves the absolute wall-clock time a one-shot trigger should fire.
|
|
231
|
+
*
|
|
232
|
+
* `fireAt` wins over `delayMs`; `delayMs` is anchored to the trigger's
|
|
233
|
+
* `createdAt`, so the target survives a process restart unchanged.
|
|
234
|
+
*
|
|
235
|
+
* @param trigger - A time trigger configured with `fireAt` or `delayMs`
|
|
236
|
+
* @returns Fire time in epoch milliseconds, or undefined for cron configs
|
|
237
|
+
* and for an unparseable `fireAt` (which must not fire at all,
|
|
238
|
+
* rather than fire immediately)
|
|
239
|
+
*/
|
|
240
|
+
private resolveOneShotTargetMs;
|
|
220
241
|
/**
|
|
221
242
|
* Clears a one-shot timer for a trigger.
|
|
222
243
|
*
|
|
@@ -226,8 +247,14 @@ export declare class TriggerEngine {
|
|
|
226
247
|
/**
|
|
227
248
|
* Calculates the next fire time for a time trigger config.
|
|
228
249
|
*
|
|
250
|
+
* A `delayMs` trigger is anchored to its `createdAt` (the same anchor
|
|
251
|
+
* scheduleOneShot fires on), so `--in-minutes N` shows the real fire time
|
|
252
|
+
* instead of nothing.
|
|
253
|
+
*
|
|
229
254
|
* @param config - Time trigger configuration
|
|
230
|
-
* @
|
|
255
|
+
* @param createdAt - ISO8601 creation time of the trigger; anchors `delayMs`
|
|
256
|
+
* @returns ISO string of next fire time, or undefined when it cannot be
|
|
257
|
+
* computed (invalid cron, unparseable createdAt)
|
|
231
258
|
*/
|
|
232
259
|
private calculateNextFireAt;
|
|
233
260
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-engine.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/trigger-engine.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"trigger-engine.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/trigger-engine.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,aAAa,EAIlB,KAAK,kBAAkB,EAGxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAqBzE;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,UAAU,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IAqDJ,OAAO,CAAC,QAAQ,CAAC,WAAW;IApDhD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAmC;IAEnD,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,CAAgC;IAChD;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAAmG;IAEzH,8CAA8C;IAC9C,OAAO,CAAC,aAAa,CAAqC;IAE1D,gDAAgD;IAChD,OAAO,CAAC,iBAAiB,CAA+C;IAExE,+EAA+E;IAC/E,OAAO,CAAC,aAAa,CAAyD;IAE9E,+CAA+C;IAC/C,OAAO,CAAC,OAAO,CAAS;IAExB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,oBAAoB,CAAK;IAEjC;;;;OAIG;IACH,OAAO;IAMP;;;;;OAKG;WACW,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa;IAQ9D;;OAEG;WACW,aAAa,IAAI,IAAI;IAWnC;;;;OAIG;IACI,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAInD;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAQ5D;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAcnC;;OAEG;IACI,IAAI,IAAI,IAAI;IAiBnB;;;;OAIG;IACI,SAAS,IAAI,OAAO;IAQ3B;;;;;;OAMG;IACU,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IAiDhE;;;;;OAKG;IACI,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI3C;;;;;OAKG;IACI,IAAI,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,EAAE;IAQ9C;;;;;OAKG;IACU,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYhD;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBjD;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYjD;;;;;OAKG;IACU,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAejD;;;;;;OAMG;IACU,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6DlF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACU,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuBjE;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;;OAIG;IACU,iBAAiB,CAAC,SAAS,EAAE;QACxC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsBhC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;;;;;;;;;;;;;;OAgBG;YACW,YAAY;IA4B1B;;;;;;;;;;;;;;;;;;;;;;OAsBG;YACW,oBAAoB;IA0ClC;;;;;;;;;;;;OAYG;YACW,mBAAmB;IAyCjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,WAAW,IAAI;QACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KACtC;IAUD;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAwC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;YACW,eAAe;IAoD7B;;;;OAIG;IACI,SAAS,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC;CAqBF"}
|
|
@@ -21,6 +21,7 @@ import { atomicWriteJsonWithGuard, IntegrityViolationError, } from '../../utils/
|
|
|
21
21
|
import { createTrigger, validateCreateTriggerInput, } from '../../types/v2/index.js';
|
|
22
22
|
import { getNextRunTime } from '../workflow/cron-task.service.js';
|
|
23
23
|
import { resolveProjectDataDir } from '../core/crewly-home.utils.js';
|
|
24
|
+
import { TRIGGER_ENGINE_CONSTANTS } from '../../constants.js';
|
|
24
25
|
// ---------------------------------------------------------------------------
|
|
25
26
|
// Constants
|
|
26
27
|
// ---------------------------------------------------------------------------
|
|
@@ -221,7 +222,7 @@ export class TriggerEngine {
|
|
|
221
222
|
this.triggers.set(trigger.id, trigger);
|
|
222
223
|
// Calculate nextFireAt for time triggers
|
|
223
224
|
if (trigger.config.type === 'time') {
|
|
224
|
-
trigger.nextFireAt = this.calculateNextFireAt(trigger.config);
|
|
225
|
+
trigger.nextFireAt = this.calculateNextFireAt(trigger.config, trigger.createdAt);
|
|
225
226
|
}
|
|
226
227
|
await this.persistTriggers();
|
|
227
228
|
// Set up runtime hooks if engine is running
|
|
@@ -286,7 +287,7 @@ export class TriggerEngine {
|
|
|
286
287
|
trigger.status = 'active';
|
|
287
288
|
// Recalculate nextFireAt for time triggers
|
|
288
289
|
if (trigger.config.type === 'time') {
|
|
289
|
-
trigger.nextFireAt = this.calculateNextFireAt(trigger.config);
|
|
290
|
+
trigger.nextFireAt = this.calculateNextFireAt(trigger.config, trigger.createdAt);
|
|
290
291
|
if (this.running && (trigger.config.delayMs || trigger.config.fireAt)) {
|
|
291
292
|
this.scheduleOneShot(trigger);
|
|
292
293
|
}
|
|
@@ -387,7 +388,7 @@ export class TriggerEngine {
|
|
|
387
388
|
}
|
|
388
389
|
else if (trigger.config.type === 'time' && trigger.config.cronExpression) {
|
|
389
390
|
// Recalculate next fire for cron triggers
|
|
390
|
-
trigger.nextFireAt = this.calculateNextFireAt(trigger.config);
|
|
391
|
+
trigger.nextFireAt = this.calculateNextFireAt(trigger.config, trigger.createdAt);
|
|
391
392
|
}
|
|
392
393
|
await this.persistTriggers();
|
|
393
394
|
return { triggerId: trigger.id, productive, firedAt: now };
|
|
@@ -468,44 +469,70 @@ export class TriggerEngine {
|
|
|
468
469
|
/**
|
|
469
470
|
* Schedules a one-shot timer for a delay or fireAt trigger.
|
|
470
471
|
*
|
|
472
|
+
* Node caps a single timer at 2^31 - 1 ms (~24.85 days). A larger delay
|
|
473
|
+
* overflows: Node emits TimeoutOverflowWarning and arms the timer for 1 ms,
|
|
474
|
+
* so a `--fire-at` three weeks out fired the moment it was created. The
|
|
475
|
+
* wait is therefore chained — each hop arms at most MAX_TIMER_DELAY_MS and,
|
|
476
|
+
* on expiry, re-arms while the target is still in the future. The remaining
|
|
477
|
+
* time is recomputed from the wall clock on every hop, so chaining does not
|
|
478
|
+
* accumulate drift. All one-shot paths (create, resume, re-arm on boot) go
|
|
479
|
+
* through here.
|
|
480
|
+
*
|
|
471
481
|
* @param trigger - The time trigger to schedule
|
|
472
482
|
*/
|
|
473
483
|
scheduleOneShot(trigger) {
|
|
474
484
|
this.clearOneShotTimer(trigger.id);
|
|
475
|
-
const
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
const fireAtDate = new Date(config.fireAt);
|
|
479
|
-
delayMs = fireAtDate.getTime() - Date.now();
|
|
480
|
-
if (delayMs <= 0) {
|
|
481
|
-
// Already past — fire immediately
|
|
482
|
-
this.fire(trigger).catch((err) => {
|
|
483
|
-
this.logger.error('Immediate fire failed', { triggerId: trigger.id, error: String(err) });
|
|
484
|
-
});
|
|
485
|
-
return;
|
|
486
|
-
}
|
|
487
|
-
}
|
|
488
|
-
else if (config.delayMs) {
|
|
489
|
-
const createdAt = new Date(trigger.createdAt).getTime();
|
|
490
|
-
delayMs = createdAt + config.delayMs - Date.now();
|
|
491
|
-
if (delayMs <= 0) {
|
|
492
|
-
this.fire(trigger).catch((err) => {
|
|
493
|
-
this.logger.error('Immediate fire failed', { triggerId: trigger.id, error: String(err) });
|
|
494
|
-
});
|
|
495
|
-
return;
|
|
496
|
-
}
|
|
485
|
+
const targetMs = this.resolveOneShotTargetMs(trigger);
|
|
486
|
+
if (targetMs === undefined) {
|
|
487
|
+
return;
|
|
497
488
|
}
|
|
498
|
-
|
|
489
|
+
const remainingMs = targetMs - Date.now();
|
|
490
|
+
if (remainingMs <= 0) {
|
|
491
|
+
// Already past — fire immediately
|
|
492
|
+
this.fire(trigger).catch((err) => {
|
|
493
|
+
this.logger.error('Immediate fire failed', { triggerId: trigger.id, error: String(err) });
|
|
494
|
+
});
|
|
499
495
|
return;
|
|
500
496
|
}
|
|
497
|
+
const waitMs = Math.min(remainingMs, TRIGGER_ENGINE_CONSTANTS.MAX_TIMER_DELAY_MS);
|
|
501
498
|
const timer = setTimeout(() => {
|
|
502
499
|
this.oneShotTimers.delete(trigger.id);
|
|
500
|
+
if (trigger.status !== 'active') {
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
if (targetMs - Date.now() > 0) {
|
|
504
|
+
// The full wait did not fit in one timer — arm the next hop.
|
|
505
|
+
this.scheduleOneShot(trigger);
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
503
508
|
this.fire(trigger).catch((err) => {
|
|
504
509
|
this.logger.error('One-shot fire failed', { triggerId: trigger.id, error: String(err) });
|
|
505
510
|
});
|
|
506
|
-
},
|
|
511
|
+
}, waitMs);
|
|
507
512
|
this.oneShotTimers.set(trigger.id, timer);
|
|
508
513
|
}
|
|
514
|
+
/**
|
|
515
|
+
* Resolves the absolute wall-clock time a one-shot trigger should fire.
|
|
516
|
+
*
|
|
517
|
+
* `fireAt` wins over `delayMs`; `delayMs` is anchored to the trigger's
|
|
518
|
+
* `createdAt`, so the target survives a process restart unchanged.
|
|
519
|
+
*
|
|
520
|
+
* @param trigger - A time trigger configured with `fireAt` or `delayMs`
|
|
521
|
+
* @returns Fire time in epoch milliseconds, or undefined for cron configs
|
|
522
|
+
* and for an unparseable `fireAt` (which must not fire at all,
|
|
523
|
+
* rather than fire immediately)
|
|
524
|
+
*/
|
|
525
|
+
resolveOneShotTargetMs(trigger) {
|
|
526
|
+
const config = trigger.config;
|
|
527
|
+
if (config.fireAt) {
|
|
528
|
+
const t = new Date(config.fireAt).getTime();
|
|
529
|
+
return Number.isNaN(t) ? undefined : t;
|
|
530
|
+
}
|
|
531
|
+
if (config.delayMs) {
|
|
532
|
+
return new Date(trigger.createdAt).getTime() + config.delayMs;
|
|
533
|
+
}
|
|
534
|
+
return undefined;
|
|
535
|
+
}
|
|
509
536
|
/**
|
|
510
537
|
* Clears a one-shot timer for a trigger.
|
|
511
538
|
*
|
|
@@ -521,10 +548,16 @@ export class TriggerEngine {
|
|
|
521
548
|
/**
|
|
522
549
|
* Calculates the next fire time for a time trigger config.
|
|
523
550
|
*
|
|
551
|
+
* A `delayMs` trigger is anchored to its `createdAt` (the same anchor
|
|
552
|
+
* scheduleOneShot fires on), so `--in-minutes N` shows the real fire time
|
|
553
|
+
* instead of nothing.
|
|
554
|
+
*
|
|
524
555
|
* @param config - Time trigger configuration
|
|
525
|
-
* @
|
|
556
|
+
* @param createdAt - ISO8601 creation time of the trigger; anchors `delayMs`
|
|
557
|
+
* @returns ISO string of next fire time, or undefined when it cannot be
|
|
558
|
+
* computed (invalid cron, unparseable createdAt)
|
|
526
559
|
*/
|
|
527
|
-
calculateNextFireAt(config) {
|
|
560
|
+
calculateNextFireAt(config, createdAt) {
|
|
528
561
|
if (config.cronExpression) {
|
|
529
562
|
try {
|
|
530
563
|
return getNextRunTime(config.cronExpression, config.timezone || 'UTC');
|
|
@@ -536,7 +569,10 @@ export class TriggerEngine {
|
|
|
536
569
|
if (config.fireAt) {
|
|
537
570
|
return config.fireAt;
|
|
538
571
|
}
|
|
539
|
-
|
|
572
|
+
if (config.delayMs) {
|
|
573
|
+
const target = new Date(createdAt).getTime() + config.delayMs;
|
|
574
|
+
return Number.isNaN(target) ? undefined : new Date(target).toISOString();
|
|
575
|
+
}
|
|
540
576
|
return undefined;
|
|
541
577
|
}
|
|
542
578
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-engine.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/trigger-engine.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trigger-engine.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/v3/trigger-engine.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,10 +63,20 @@ export declare function parseCronField(spec: string, min: number, max: number):
|
|
|
63
63
|
* "0 9 * * *" in Asia/Shanghai fires at 09:00 Shanghai time regardless of
|
|
64
64
|
* the server's local timezone.
|
|
65
65
|
*
|
|
66
|
+
* The search covers `CRON_SCHEDULE_CONSTANTS.NEXT_RUN_HORIZON_DAYS` (a full
|
|
67
|
+
* year) without stepping every minute: a day whose date fields do not match
|
|
68
|
+
* is skipped in one hop (to just before its end, then hour-by-hour to the
|
|
69
|
+
* boundary), and an hour that does not match is skipped to the next hour
|
|
70
|
+
* boundary. Every hop stays inside the unit it is skipping, so no matching
|
|
71
|
+
* minute can be jumped over — including across DST transitions.
|
|
72
|
+
*
|
|
66
73
|
* @param cronExpression - Standard 5-field cron expression
|
|
67
74
|
* @param timezone - IANA timezone (e.g. "UTC", "America/New_York")
|
|
68
75
|
* @param after - Calculate next run after this date (defaults to now)
|
|
69
|
-
* @returns ISO string of next run time (always UTC)
|
|
76
|
+
* @returns ISO string of next run time (always UTC). For an expression with
|
|
77
|
+
* no match inside the horizon (e.g. "0 0 31 2 *") returns now+24h,
|
|
78
|
+
* which is NOT schedule-aligned, and logs a WARN naming the expression
|
|
79
|
+
* @throws Error if the expression does not have exactly 5 fields
|
|
70
80
|
*/
|
|
71
81
|
export declare function getNextRunTime(cronExpression: string, timezone: string, after?: Date): string;
|
|
72
82
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron-task.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/workflow/cron-task.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"cron-task.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/workflow/cron-task.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ import { existsSync } from 'fs';
|
|
|
16
16
|
import { readFile, writeFile, mkdir, readdir } from 'fs/promises';
|
|
17
17
|
import { v4 as uuidv4 } from 'uuid';
|
|
18
18
|
import { LoggerService } from '../core/logger.service.js';
|
|
19
|
+
import { CRON_SCHEDULE_CONSTANTS } from '../../constants.js';
|
|
19
20
|
/**
|
|
20
21
|
* Check interval for cron task evaluation (60 seconds).
|
|
21
22
|
*/
|
|
@@ -174,6 +175,24 @@ export function parseCronField(spec, min, max) {
|
|
|
174
175
|
}
|
|
175
176
|
return result;
|
|
176
177
|
}
|
|
178
|
+
/** Minutes in a calendar day, used for in-day skips. */
|
|
179
|
+
const MINUTES_PER_DAY = 24 * 60;
|
|
180
|
+
let cronHelperLogger;
|
|
181
|
+
/**
|
|
182
|
+
* Logger for the module-level cron helpers, created on first use.
|
|
183
|
+
*
|
|
184
|
+
* `getNextRunTime` is a free function with no service instance, so it cannot
|
|
185
|
+
* use `CronTaskService`'s logger. Lazy so importing this module never touches
|
|
186
|
+
* the logger singleton.
|
|
187
|
+
*
|
|
188
|
+
* @returns The shared component logger for cron helpers
|
|
189
|
+
*/
|
|
190
|
+
function helperLogger() {
|
|
191
|
+
if (!cronHelperLogger) {
|
|
192
|
+
cronHelperLogger = LoggerService.getInstance().createComponentLogger('CronSchedule');
|
|
193
|
+
}
|
|
194
|
+
return cronHelperLogger;
|
|
195
|
+
}
|
|
177
196
|
/**
|
|
178
197
|
* Parse a cron expression and calculate the next run time.
|
|
179
198
|
* Supports standard 5-field cron: minute hour day-of-month month day-of-week.
|
|
@@ -184,10 +203,20 @@ export function parseCronField(spec, min, max) {
|
|
|
184
203
|
* "0 9 * * *" in Asia/Shanghai fires at 09:00 Shanghai time regardless of
|
|
185
204
|
* the server's local timezone.
|
|
186
205
|
*
|
|
206
|
+
* The search covers `CRON_SCHEDULE_CONSTANTS.NEXT_RUN_HORIZON_DAYS` (a full
|
|
207
|
+
* year) without stepping every minute: a day whose date fields do not match
|
|
208
|
+
* is skipped in one hop (to just before its end, then hour-by-hour to the
|
|
209
|
+
* boundary), and an hour that does not match is skipped to the next hour
|
|
210
|
+
* boundary. Every hop stays inside the unit it is skipping, so no matching
|
|
211
|
+
* minute can be jumped over — including across DST transitions.
|
|
212
|
+
*
|
|
187
213
|
* @param cronExpression - Standard 5-field cron expression
|
|
188
214
|
* @param timezone - IANA timezone (e.g. "UTC", "America/New_York")
|
|
189
215
|
* @param after - Calculate next run after this date (defaults to now)
|
|
190
|
-
* @returns ISO string of next run time (always UTC)
|
|
216
|
+
* @returns ISO string of next run time (always UTC). For an expression with
|
|
217
|
+
* no match inside the horizon (e.g. "0 0 31 2 *") returns now+24h,
|
|
218
|
+
* which is NOT schedule-aligned, and logs a WARN naming the expression
|
|
219
|
+
* @throws Error if the expression does not have exactly 5 fields
|
|
191
220
|
*/
|
|
192
221
|
export function getNextRunTime(cronExpression, timezone, after) {
|
|
193
222
|
const now = after || new Date();
|
|
@@ -196,7 +225,7 @@ export function getNextRunTime(cronExpression, timezone, after) {
|
|
|
196
225
|
throw new Error(`Invalid cron expression: expected 5 fields, got ${parts.length}`);
|
|
197
226
|
}
|
|
198
227
|
// A bad/empty tz must not crash the whole evaluate tick (it would throw
|
|
199
|
-
// inside the
|
|
228
|
+
// inside the scan below); fall back to UTC.
|
|
200
229
|
const tz = safeTimezone(timezone);
|
|
201
230
|
const minuteSet = parseCronField(parts[0], 0, 59);
|
|
202
231
|
const hourSet = parseCronField(parts[1], 0, 23);
|
|
@@ -207,31 +236,52 @@ export function getNextRunTime(cronExpression, timezone, after) {
|
|
|
207
236
|
// Advance by 1 minute minimum to avoid re-triggering
|
|
208
237
|
candidate.setSeconds(0, 0);
|
|
209
238
|
candidate.setMinutes(candidate.getMinutes() + 1);
|
|
210
|
-
|
|
211
|
-
|
|
239
|
+
const horizonMs = CRON_SCHEDULE_CONSTANTS.NEXT_RUN_HORIZON_DAYS * MINUTES_PER_DAY * 60_000;
|
|
240
|
+
const limit = now.getTime() + horizonMs;
|
|
241
|
+
const buffer = CRON_SCHEDULE_CONSTANTS.DAY_END_SKIP_BUFFER_MINUTES;
|
|
242
|
+
let candidatesExamined = 0;
|
|
243
|
+
while (candidate.getTime() <= limit) {
|
|
244
|
+
candidatesExamined += 1;
|
|
212
245
|
// Extract fields in the TARGET timezone, not server-local
|
|
213
246
|
const tp = getDatePartsInTimezone(candidate, tz);
|
|
214
|
-
const minuteMatch = !minuteSet || minuteSet.has(tp.minute);
|
|
215
|
-
const hourMatch = !hourSet || hourSet.has(tp.hour);
|
|
216
247
|
const domMatch = !domSet || domSet.has(tp.dayOfMonth);
|
|
217
248
|
const monthMatch = !monthSet || monthSet.has(tp.month);
|
|
218
249
|
const dowMatch = !dowSet || dowSet.has(tp.dayOfWeek);
|
|
219
|
-
if (
|
|
250
|
+
if (!(domMatch && monthMatch && dowMatch)) {
|
|
251
|
+
// Wrong day: skip to ~buffer minutes before its end, then hour by
|
|
252
|
+
// hour to the day boundary. Both hops stay inside this day.
|
|
253
|
+
const minutesLeftInDay = MINUTES_PER_DAY - (tp.hour * 60 + tp.minute);
|
|
254
|
+
const hop = minutesLeftInDay > buffer ? minutesLeftInDay - buffer : Math.max(1, 60 - tp.minute);
|
|
255
|
+
candidate.setMinutes(candidate.getMinutes() + hop);
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
const hourMatch = !hourSet || hourSet.has(tp.hour);
|
|
259
|
+
if (!hourMatch) {
|
|
260
|
+
// Wrong hour: skip to the next hour boundary (in tz).
|
|
261
|
+
candidate.setMinutes(candidate.getMinutes() + Math.max(1, 60 - tp.minute));
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
const minuteMatch = !minuteSet || minuteSet.has(tp.minute);
|
|
265
|
+
if (minuteMatch) {
|
|
220
266
|
return candidate.toISOString();
|
|
221
267
|
}
|
|
222
268
|
candidate.setMinutes(candidate.getMinutes() + 1);
|
|
223
269
|
}
|
|
224
|
-
// No match
|
|
225
|
-
//
|
|
226
|
-
//
|
|
227
|
-
//
|
|
228
|
-
//
|
|
229
|
-
//
|
|
230
|
-
//
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
270
|
+
// No match inside a full year. With tz validated (UTC fallback) this only
|
|
271
|
+
// happens for a genuinely impossible expression (e.g. "0 0 31 2 *" — Feb
|
|
272
|
+
// 31) or a DOM/DOW contradiction. Warn loudly instead of silently
|
|
273
|
+
// returning a non-cron-aligned now+24h that would drift the task forever
|
|
274
|
+
// (the #678 fire-time-drift symptom). We still return a value so the eval
|
|
275
|
+
// loop never throws; the WARN + the resulting daily WorkItem make the
|
|
276
|
+
// broken expression visible so it can be fixed/disabled.
|
|
277
|
+
helperLogger().warn('getNextRunTime: no run time within the horizon — expression is impossible (e.g. an invalid ' +
|
|
278
|
+
'day/month combo). Returning now+24h, which will NOT align to the schedule. Fix or disable this cron.', {
|
|
279
|
+
cronExpression,
|
|
280
|
+
timezone: tz,
|
|
281
|
+
horizonDays: CRON_SCHEDULE_CONSTANTS.NEXT_RUN_HORIZON_DAYS,
|
|
282
|
+
candidatesExamined,
|
|
283
|
+
});
|
|
284
|
+
return new Date(now.getTime() + CRON_SCHEDULE_CONSTANTS.IMPOSSIBLE_EXPRESSION_FALLBACK_MS).toISOString();
|
|
235
285
|
}
|
|
236
286
|
/**
|
|
237
287
|
* Service for managing cron tasks with per-team scoped storage.
|