@mono-agent/cron-adapter 0.19.1 → 0.20.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/README.md +40 -6
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +39 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/scheduler.d.ts +74 -20
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +264 -48
- package/dist/scheduler.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -52,6 +52,11 @@ The config-first host pins every configured job to `overlap: "skip"`: a tick
|
|
|
52
52
|
that overlaps an active run of the same job is skipped. There is no cron config
|
|
53
53
|
field for queueing or replacing active runs.
|
|
54
54
|
|
|
55
|
+
The host may additionally register config-disabled jobs for inspection while
|
|
56
|
+
arming only their effective runtime-enabled subset. Administrative run-now and
|
|
57
|
+
enable/disable controls are host-owned; they are disabled by default and do not
|
|
58
|
+
make this adapter responsible for network authorization or durable state.
|
|
59
|
+
|
|
55
60
|
### Programmatic use
|
|
56
61
|
|
|
57
62
|
Install the adapter directly only when building a custom host:
|
|
@@ -95,6 +100,17 @@ Only future ticks after startup are scheduled. Direct programmatic `startCronAda
|
|
|
95
100
|
|
|
96
101
|
Programmatic hosts composing native notification can set a job's explicit `notifyConversationId`, pass a pre-resolved `notifyFallbackConversationId`, or provide `resolveNotifyFallbackConversationId` on the adapter options. The resolver runs once per firing; the selected route is used for request `replyTo` and returned on the succeeded `CronJobResult`, so a host can deliver the final text on the exact same route without resolving it again after the run. The resolver receives the run's optional `AbortSignal`, and the adapter also races its promise against that signal so replace/stop can reclaim the firing even when resolver code does not cooperate.
|
|
97
102
|
|
|
103
|
+
Cron is a text/verbatim destination, not a reply-file transport. A response
|
|
104
|
+
with attachments, MCP Apps, or prior part failures keeps its answer text
|
|
105
|
+
byte-for-byte unchanged and adds bounded `replyPartOutcomes` to
|
|
106
|
+
`CronJobResult`. Attachments and MCP Apps terminate as
|
|
107
|
+
`unsupported_destination`; fixed sanitized records never expose source ids,
|
|
108
|
+
paths, URLs, integrity values, or payloads. The adapter emits the outcomes once
|
|
109
|
+
on the result and leaves audit ownership to its host. The config-first app logs
|
|
110
|
+
one bounded outcome audit whether notification is enabled or disabled, then
|
|
111
|
+
sends only unchanged text when native notification is enabled; it never claims
|
|
112
|
+
that notification was disabled or that a file was sent.
|
|
113
|
+
|
|
98
114
|
Cron expressions use the standard five positional fields `minute hour day-of-month month day-of-week`. The timezone defaults to `UTC`. Six-field expressions with seconds and macro aliases such as `@daily` are not supported. Hashed `H` fields are stable: the scheduler seeds them from the job `id`; direct `validateCronExpression` callers must pass a non-empty `hashSeed` when validating `H`. Hosts can validate user input with the same parser used by the scheduler:
|
|
99
115
|
|
|
100
116
|
```ts
|
|
@@ -146,11 +162,21 @@ The request lifecycle is:
|
|
|
146
162
|
duplicate ids, and projects enabled entries through `toCronJobs`.
|
|
147
163
|
2. `cron-expression.ts` validates the five-field expression and resolves the
|
|
148
164
|
next timezone-aware firing; hashed fields use the job id as their seed.
|
|
149
|
-
3. `scheduler.ts`
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
165
|
+
3. `scheduler.ts` obtains a host-supplied or local per-job admission identity,
|
|
166
|
+
preserving immutable `orderedAt` plus a sequence for scheduled, manual,
|
|
167
|
+
queued, skipped, and dropped records. Scheduled and manual ids occupy
|
|
168
|
+
disjoint spaces.
|
|
169
|
+
4. The scheduler applies the same overlap guard and watchdog to timer and
|
|
170
|
+
`runNow()` admission, creates an abortable `AgentRequestBase`, and invokes
|
|
171
|
+
the host-owned responder. Caller-controlled cron ids never widen that shared
|
|
172
|
+
request contract; an artifact harness id is reported separately.
|
|
173
|
+
5. The scheduler emits typed events/results; the host decides whether to log,
|
|
174
|
+
persist, audit, or deliver them. Synchronous and asynchronous host-state
|
|
175
|
+
failures are reported through `onDegraded` and error logging; a timer
|
|
176
|
+
admission failure consumes only that scheduled instant and still re-arms the
|
|
177
|
+
next strictly-later target. `snapshots()` exposes armed state and
|
|
178
|
+
`setEffectiveEnabled()` re-arms safely. `stop()` clears timers, queues, and
|
|
179
|
+
active runs.
|
|
154
180
|
|
|
155
181
|
### Package structure
|
|
156
182
|
|
|
@@ -170,7 +196,7 @@ The request lifecycle is:
|
|
|
170
196
|
| --- | --- |
|
|
171
197
|
| `loadCronAdapterConfig` | Load and validate config, env, and optional `cron/*.md` jobs. |
|
|
172
198
|
| `toCronJobs` | Drop disabled config entries and produce scheduler-ready jobs. |
|
|
173
|
-
| `startCronAdapter` | Start
|
|
199
|
+
| `startCronAdapter` | Start scheduling in a custom host and obtain snapshots, run-now, effective-enable, and stop controls. |
|
|
174
200
|
| `validateCronExpression` | Validate user input with the scheduler's parser. |
|
|
175
201
|
| `loadCronJobsFromDirectory` / `parseCronJobMarkdown` | Build custom directory-backed authoring flows. |
|
|
176
202
|
| `CronJobResult` | Handle every terminal and overlap/queue result explicitly. |
|
|
@@ -193,13 +219,21 @@ CronAdapterOptions
|
|
|
193
219
|
CronAdapterStartResult
|
|
194
220
|
CronExpressionValidationOptions
|
|
195
221
|
CronExpressionValidationResult
|
|
222
|
+
CronFiringIdentity
|
|
196
223
|
CronJob
|
|
197
224
|
CronJobConfig
|
|
198
225
|
CronJobResult
|
|
226
|
+
CronJobSnapshot
|
|
199
227
|
CronOverflowPolicy
|
|
200
228
|
CronOverlapMode
|
|
201
229
|
CronRequestMetadata
|
|
230
|
+
CronRunTrigger
|
|
202
231
|
LoadCronAdapterConfigInput
|
|
232
|
+
MAX_CRON_CONVERSATION_ID_BYTES
|
|
233
|
+
MAX_CRON_EXPRESSION_BYTES
|
|
234
|
+
MAX_CRON_JOBS
|
|
235
|
+
MAX_CRON_JOB_ID_BYTES
|
|
236
|
+
MAX_CRON_TIMEZONE_BYTES
|
|
203
237
|
RedactedCronAdapterConfig
|
|
204
238
|
loadCronAdapterConfig
|
|
205
239
|
loadCronJobsFromDirectory
|
package/dist/config.d.ts
CHANGED
|
@@ -19,6 +19,8 @@ export interface CronJobConfig {
|
|
|
19
19
|
}
|
|
20
20
|
export interface CronAdapterConfig {
|
|
21
21
|
readonly jobs: readonly CronJobConfig[];
|
|
22
|
+
/** Administrative operator mutations are opt-in and default off. */
|
|
23
|
+
readonly operatorActionsEnabled?: boolean;
|
|
22
24
|
}
|
|
23
25
|
export type RedactedCronAdapterConfig = CronAdapterConfig;
|
|
24
26
|
export interface LoadCronAdapterConfigInput {
|
|
@@ -30,6 +32,12 @@ export interface LoadCronAdapterConfigInput {
|
|
|
30
32
|
/** Overrides the cron jobs folder; defaults to `cron.dir` / `MONO_AGENT_CRON_DIR` / `cron`. */
|
|
31
33
|
readonly dir?: string;
|
|
32
34
|
}
|
|
35
|
+
/** Public cron/operator identities stay bounded so overview pages have a hard wire ceiling. */
|
|
36
|
+
export declare const MAX_CRON_JOBS = 64;
|
|
37
|
+
export declare const MAX_CRON_JOB_ID_BYTES = 256;
|
|
38
|
+
export declare const MAX_CRON_EXPRESSION_BYTES = 256;
|
|
39
|
+
export declare const MAX_CRON_TIMEZONE_BYTES = 128;
|
|
40
|
+
export declare const MAX_CRON_CONVERSATION_ID_BYTES = 512;
|
|
33
41
|
export declare function loadCronAdapterConfig(input: LoadCronAdapterConfigInput): Promise<CronAdapterConfig>;
|
|
34
42
|
/**
|
|
35
43
|
* Project the loaded config down to the runtime {@link CronJob} shape consumed
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAoB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,gFAAgF;IAChF,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;IACxC,oEAAoE;IACpE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,+FAA+F;AAC/F,eAAO,MAAM,aAAa,KAAyB,CAAC;AACpD,eAAO,MAAM,qBAAqB,MAAiC,CAAC;AACpE,eAAO,MAAM,yBAAyB,MAAqC,CAAC;AAC5E,eAAO,MAAM,uBAAuB,MAAmC,CAAC;AACxE,eAAO,MAAM,8BAA8B,MAA0C,CAAC;AAKtF,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAczG;AAwGD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,EAAE,CAe/D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,iBAAiB,GAAG,yBAAyB,CAO5F;AAkFD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EAkBzD,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
import { resolve } from "node:path";
|
|
2
|
-
import { fieldSpecMappings, layerJsonOntoEnv, normalizeOptionalString, readBoolean, readInteger, readJsonSection, readSettingsJson, } from "@mono-agent/agent-contracts";
|
|
2
|
+
import { MAX_CRON_OPERATOR_CONVERSATION_ID_BYTES, MAX_CRON_OPERATOR_EXPRESSION_BYTES, MAX_CRON_OPERATOR_JOB_ID_BYTES, MAX_CRON_OPERATOR_JOBS, MAX_CRON_OPERATOR_TIMEZONE_BYTES, fieldSpecMappings, layerJsonOntoEnv, normalizeOptionalString, readBoolean, readInteger, readJsonSection, readSettingsJson, } from "@mono-agent/agent-contracts";
|
|
3
3
|
import { loadCronJobsFromDirectory } from "./jobs-dir.js";
|
|
4
4
|
import { CronAdapterError } from "./scheduler.js";
|
|
5
5
|
const DEFAULT_JOB_ID = "default";
|
|
6
6
|
const DEFAULT_TIMEZONE = "UTC";
|
|
7
7
|
const DEFAULT_CRON_DIR = "cron";
|
|
8
|
+
/** Public cron/operator identities stay bounded so overview pages have a hard wire ceiling. */
|
|
9
|
+
export const MAX_CRON_JOBS = MAX_CRON_OPERATOR_JOBS;
|
|
10
|
+
export const MAX_CRON_JOB_ID_BYTES = MAX_CRON_OPERATOR_JOB_ID_BYTES;
|
|
11
|
+
export const MAX_CRON_EXPRESSION_BYTES = MAX_CRON_OPERATOR_EXPRESSION_BYTES;
|
|
12
|
+
export const MAX_CRON_TIMEZONE_BYTES = MAX_CRON_OPERATOR_TIMEZONE_BYTES;
|
|
13
|
+
export const MAX_CRON_CONVERSATION_ID_BYTES = MAX_CRON_OPERATOR_CONVERSATION_ID_BYTES;
|
|
8
14
|
const invalidConfig = (message, details) => new CronAdapterError("invalid_config", message, details);
|
|
9
15
|
export async function loadCronAdapterConfig(input) {
|
|
10
16
|
const json = input.json ?? (input.jsonPath === undefined ? {} : (await readSettingsJson(input.jsonPath)).json);
|
|
11
17
|
const configJobs = loadConfigJobs(json, input.env);
|
|
12
18
|
const directoryJobs = await loadDirectoryJobs(json, input);
|
|
13
|
-
|
|
19
|
+
const layered = layerCronJsonOntoEnv(json, input.env);
|
|
20
|
+
const operatorActionsEnabled = readBoolean(layered.MONO_AGENT_CRON_OPERATOR_ACTIONS_ENABLED, "MONO_AGENT_CRON_OPERATOR_ACTIONS_ENABLED", false, invalidConfig);
|
|
21
|
+
const jobs = mergeJobs(configJobs, directoryJobs);
|
|
22
|
+
assertCronOperatorWireBounds(jobs);
|
|
23
|
+
return { jobs, operatorActionsEnabled };
|
|
14
24
|
}
|
|
15
25
|
/**
|
|
16
26
|
* Jobs defined inline in config: `MONO_AGENT_CRON_JOBS_JSON` (highest), then the
|
|
@@ -128,6 +138,7 @@ export function redactCronAdapterConfig(config) {
|
|
|
128
138
|
// redaction is the identity transform; we only clone to preserve immutability.
|
|
129
139
|
return {
|
|
130
140
|
jobs: config.jobs.map((job) => ({ ...job })),
|
|
141
|
+
...(config.operatorActionsEnabled === undefined ? {} : { operatorActionsEnabled: config.operatorActionsEnabled }),
|
|
131
142
|
};
|
|
132
143
|
}
|
|
133
144
|
function readJobsJson(value) {
|
|
@@ -177,6 +188,26 @@ function normalizeJobConfig(entry, index) {
|
|
|
177
188
|
...(effort === undefined ? {} : { effort }),
|
|
178
189
|
};
|
|
179
190
|
}
|
|
191
|
+
function assertCronOperatorWireBounds(jobs) {
|
|
192
|
+
if (jobs.length > MAX_CRON_JOBS) {
|
|
193
|
+
throw invalidConfig(`Cron supports at most ${String(MAX_CRON_JOBS)} configured jobs.`, {
|
|
194
|
+
count: jobs.length,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
for (const [index, job] of jobs.entries()) {
|
|
198
|
+
assertBoundedUtf8(job.id, MAX_CRON_JOB_ID_BYTES, "cron.jobs[].id", index);
|
|
199
|
+
assertBoundedUtf8(job.expression, MAX_CRON_EXPRESSION_BYTES, "cron.jobs[].expression", index);
|
|
200
|
+
assertBoundedUtf8(job.timezone, MAX_CRON_TIMEZONE_BYTES, "cron.jobs[].timezone", index);
|
|
201
|
+
if (job.conversationId !== undefined) {
|
|
202
|
+
assertBoundedUtf8(job.conversationId, MAX_CRON_CONVERSATION_ID_BYTES, "cron.jobs[].conversationId", index);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function assertBoundedUtf8(value, maxBytes, field, index) {
|
|
207
|
+
if (Buffer.byteLength(value, "utf8") > maxBytes) {
|
|
208
|
+
throw invalidConfig(`${field} must be at most ${String(maxBytes)} UTF-8 bytes.`, { index });
|
|
209
|
+
}
|
|
210
|
+
}
|
|
180
211
|
/**
|
|
181
212
|
* The `cron` section's field registry: the single source of truth both the
|
|
182
213
|
* JSON→env layering below and the app's config provenance view derive from.
|
|
@@ -184,6 +215,12 @@ function normalizeJobConfig(entry, index) {
|
|
|
184
215
|
* are read straight from JSON / the filesystem).
|
|
185
216
|
*/
|
|
186
217
|
export const CRON_CONFIG_FIELDS = [
|
|
218
|
+
{
|
|
219
|
+
id: "cron.operatorActions.enabled",
|
|
220
|
+
env: "MONO_AGENT_CRON_OPERATOR_ACTIONS_ENABLED",
|
|
221
|
+
kind: "boolean",
|
|
222
|
+
fromJson: (s) => isRecord(s.operatorActions) ? s.operatorActions.enabled : undefined,
|
|
223
|
+
},
|
|
187
224
|
{ id: "cron.enabled", env: "MONO_AGENT_CRON_ENABLED", kind: "boolean", fromJson: (s) => s.enabled },
|
|
188
225
|
{ id: "cron.dir", env: "MONO_AGENT_CRON_DIR", fromJson: (s) => s.dir },
|
|
189
226
|
{ id: "cron.expression", env: "MONO_AGENT_CRON_EXPRESSION", fromJson: (s) => s.expression },
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { CronAdapterError, startCronAdapter, } from "./scheduler.js";
|
|
2
|
-
export type { CronAdapterErrorCode, CronAdapterErrorDetails, CronAdapterLogger, CronAdapterOptions, CronAdapterStartResult, CronJob, CronJobResult, CronOverflowPolicy, CronOverlapMode, CronRequestMetadata, } from "./scheduler.js";
|
|
2
|
+
export type { CronAdapterErrorCode, CronAdapterErrorDetails, CronAdapterLogger, CronAdapterOptions, CronAdapterStartResult, CronFiringIdentity, CronJobSnapshot, CronJob, CronJobResult, CronOverflowPolicy, CronOverlapMode, CronRequestMetadata, CronRunTrigger, } from "./scheduler.js";
|
|
3
3
|
export { validateCronExpression } from "./cron-expression.js";
|
|
4
4
|
export type { CronExpressionValidationOptions, CronExpressionValidationResult, } from "./cron-expression.js";
|
|
5
|
-
export { CRON_CONFIG_FIELDS, loadCronAdapterConfig, redactCronAdapterConfig, toCronJobs, } from "./config.js";
|
|
5
|
+
export { CRON_CONFIG_FIELDS, MAX_CRON_CONVERSATION_ID_BYTES, MAX_CRON_EXPRESSION_BYTES, MAX_CRON_JOB_ID_BYTES, MAX_CRON_JOBS, MAX_CRON_TIMEZONE_BYTES, loadCronAdapterConfig, redactCronAdapterConfig, toCronJobs, } from "./config.js";
|
|
6
6
|
export type { CronAdapterConfig, CronJobConfig, LoadCronAdapterConfigInput, RedactedCronAdapterConfig, } from "./config.js";
|
|
7
7
|
export { loadCronJobsFromDirectory, parseCronJobMarkdown, } from "./jobs-dir.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EACV,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,yBAAyB,EACzB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { CronAdapterError, startCronAdapter, } from "./scheduler.js";
|
|
2
2
|
export { validateCronExpression } from "./cron-expression.js";
|
|
3
|
-
export { CRON_CONFIG_FIELDS, loadCronAdapterConfig, redactCronAdapterConfig, toCronJobs, } from "./config.js";
|
|
3
|
+
export { CRON_CONFIG_FIELDS, MAX_CRON_CONVERSATION_ID_BYTES, MAX_CRON_EXPRESSION_BYTES, MAX_CRON_JOB_ID_BYTES, MAX_CRON_JOBS, MAX_CRON_TIMEZONE_BYTES, loadCronAdapterConfig, redactCronAdapterConfig, toCronJobs, } from "./config.js";
|
|
4
4
|
export { loadCronJobsFromDirectory, parseCronJobMarkdown, } from "./jobs-dir.js";
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAiBxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAM9D,OAAO,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,yBAAyB,EACzB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,GACX,MAAM,aAAa,CAAC;AAQrB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
package/dist/scheduler.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { type AgentMessageStream, type AgentRequestBase, type AgentResponder, type AgentResponse } from "@mono-agent/agent-contracts";
|
|
1
|
+
import { type AgentMessageStream, type AgentReplyPartDeliveryOutcome, type AgentRequestBase, type AgentResponder, type AgentResponse, type AgentStreamEvent } from "@mono-agent/agent-contracts";
|
|
2
2
|
export interface CronRequestMetadata {
|
|
3
3
|
readonly jobId: string;
|
|
4
|
+
/** Stable cron-domain identity; distinct from the harness artifact run id. */
|
|
5
|
+
readonly cronRunId: string;
|
|
6
|
+
readonly sequence: number;
|
|
7
|
+
readonly orderedAt: string;
|
|
8
|
+
readonly trigger: CronRunTrigger;
|
|
4
9
|
readonly expression: string;
|
|
5
10
|
readonly timezone: string;
|
|
6
11
|
readonly scheduledAt: string;
|
|
@@ -16,6 +21,8 @@ export interface CronRequestMetadata {
|
|
|
16
21
|
}
|
|
17
22
|
export interface CronJob {
|
|
18
23
|
readonly id: string;
|
|
24
|
+
/** Runtime-effective state. Defaults to true for programmatic compatibility. */
|
|
25
|
+
readonly enabled?: boolean;
|
|
19
26
|
readonly expression: string;
|
|
20
27
|
readonly timezone?: string;
|
|
21
28
|
readonly prompt: string;
|
|
@@ -46,40 +53,56 @@ export interface CronJob {
|
|
|
46
53
|
export type CronOverlapMode = "queue" | "skip" | "replace";
|
|
47
54
|
/** What to do when a job's queue exceeds maxQueueDepth (overlap:"queue"). */
|
|
48
55
|
export type CronOverflowPolicy = "preserve" | "coalesce" | "drop-oldest";
|
|
49
|
-
export type
|
|
50
|
-
|
|
56
|
+
export type CronRunTrigger = "scheduled" | "manual";
|
|
57
|
+
/** Immutable identity allocated once for every admitted firing. */
|
|
58
|
+
export interface CronFiringIdentity {
|
|
59
|
+
readonly runId: string;
|
|
51
60
|
readonly jobId: string;
|
|
52
61
|
readonly scheduledAt: string;
|
|
62
|
+
readonly orderedAt: string;
|
|
63
|
+
readonly sequence: number;
|
|
64
|
+
readonly trigger: CronRunTrigger;
|
|
65
|
+
}
|
|
66
|
+
interface CronResultIdentity {
|
|
67
|
+
readonly cronRunId: string;
|
|
68
|
+
readonly jobId: string;
|
|
69
|
+
readonly scheduledAt: string;
|
|
70
|
+
readonly orderedAt: string;
|
|
71
|
+
readonly sequence: number;
|
|
72
|
+
readonly trigger: CronRunTrigger;
|
|
73
|
+
}
|
|
74
|
+
export type CronJobResult = (CronResultIdentity & {
|
|
75
|
+
readonly kind: "succeeded";
|
|
53
76
|
readonly startedAt: string;
|
|
54
77
|
readonly completedAt: string;
|
|
55
78
|
/** Physical native-notify route snapshotted before the responder started. */
|
|
56
79
|
readonly notifyConversationId?: string;
|
|
57
80
|
readonly text?: string;
|
|
58
81
|
readonly metadata?: Record<string, unknown>;
|
|
59
|
-
|
|
82
|
+
/** Terminal, sanitized outcomes for rich parts this adapter cannot deliver. */
|
|
83
|
+
readonly replyPartOutcomes?: readonly AgentReplyPartDeliveryOutcome[];
|
|
84
|
+
}) | (CronResultIdentity & {
|
|
60
85
|
readonly kind: "failed" | "cancelled";
|
|
61
|
-
readonly jobId: string;
|
|
62
|
-
readonly scheduledAt: string;
|
|
63
86
|
readonly startedAt: string;
|
|
64
87
|
readonly completedAt: string;
|
|
65
88
|
readonly error: string;
|
|
66
89
|
readonly failureKind?: string;
|
|
67
|
-
|
|
90
|
+
/** Harness artifact id, when a recorder was created before failure. */
|
|
91
|
+
readonly runId?: string;
|
|
92
|
+
/** Present when a responder resolved with parts after this run was cancelled. */
|
|
93
|
+
readonly replyPartOutcomes?: readonly AgentReplyPartDeliveryOutcome[];
|
|
94
|
+
}) | (CronResultIdentity & {
|
|
68
95
|
readonly kind: "skipped";
|
|
69
|
-
readonly jobId: string;
|
|
70
|
-
readonly scheduledAt: string;
|
|
71
96
|
readonly reason: "overlap";
|
|
72
|
-
|
|
97
|
+
readonly blockedByRunId: string;
|
|
98
|
+
readonly blockedByTrigger: CronRunTrigger;
|
|
99
|
+
}) | (CronResultIdentity & {
|
|
73
100
|
readonly kind: "queued";
|
|
74
|
-
readonly jobId: string;
|
|
75
|
-
readonly scheduledAt: string;
|
|
76
101
|
readonly queueDepth: number;
|
|
77
|
-
} | {
|
|
102
|
+
}) | (CronResultIdentity & {
|
|
78
103
|
readonly kind: "dropped";
|
|
79
|
-
readonly jobId: string;
|
|
80
|
-
readonly scheduledAt: string;
|
|
81
104
|
readonly reason: "overflow";
|
|
82
|
-
};
|
|
105
|
+
});
|
|
83
106
|
export interface CronAdapterLogger {
|
|
84
107
|
debug?(message: string, metadata?: Record<string, unknown>): void;
|
|
85
108
|
info?(message: string, metadata?: Record<string, unknown>): void;
|
|
@@ -98,7 +121,22 @@ export interface CronAdapterOptions {
|
|
|
98
121
|
*/
|
|
99
122
|
readonly resolveNotifyFallbackConversationId?: (abortSignal?: AbortSignal) => Promise<string | undefined>;
|
|
100
123
|
readonly now?: () => Date;
|
|
124
|
+
/** Host-owned durable identity allocator. Called synchronously before admission. */
|
|
125
|
+
readonly admitFiring?: (input: {
|
|
126
|
+
readonly jobId: string;
|
|
127
|
+
readonly scheduledAt: string;
|
|
128
|
+
readonly observedAt: string;
|
|
129
|
+
readonly trigger: CronRunTrigger;
|
|
130
|
+
}) => CronFiringIdentity;
|
|
131
|
+
/** Observe the exact transition into responder execution. */
|
|
132
|
+
readonly onRunStarted?: (firing: CronFiringIdentity, startedAt: string) => void | Promise<void>;
|
|
133
|
+
/** Persist/render canonical runtime events without inventing cron-only cards. */
|
|
134
|
+
readonly onEvent?: (firing: CronFiringIdentity, event: AgentStreamEvent) => void | Promise<void>;
|
|
135
|
+
/** Resolve the harness artifact id correlated by the host recorder hook. */
|
|
136
|
+
readonly resolveArtifactRunId?: (firing: CronFiringIdentity) => string | undefined;
|
|
101
137
|
readonly onResult?: (result: CronJobResult) => void | Promise<void>;
|
|
138
|
+
/** Host-owned durable state became unavailable after startup. */
|
|
139
|
+
readonly onDegraded?: (reason: string) => void;
|
|
102
140
|
readonly logger?: CronAdapterLogger;
|
|
103
141
|
/** Overlap policy for a job that fires while still running. Default "skip". */
|
|
104
142
|
readonly overlap?: CronOverlapMode;
|
|
@@ -118,8 +156,21 @@ export interface CronAdapterOptions {
|
|
|
118
156
|
export interface CronAdapterStartResult {
|
|
119
157
|
readonly jobs: readonly CronJob[];
|
|
120
158
|
readonly activeJobCount: number;
|
|
159
|
+
snapshots(): readonly CronJobSnapshot[];
|
|
160
|
+
/** Start a manual firing; an optional identity must have been host-admitted durably. */
|
|
161
|
+
runNow(jobId: string, admitted?: CronFiringIdentity): CronFiringIdentity;
|
|
162
|
+
setEffectiveEnabled(jobId: string, enabled: boolean): CronJobSnapshot;
|
|
121
163
|
stop(): void;
|
|
122
164
|
}
|
|
165
|
+
export interface CronJobSnapshot {
|
|
166
|
+
readonly jobId: string;
|
|
167
|
+
readonly expression: string;
|
|
168
|
+
readonly timezone: string;
|
|
169
|
+
readonly effectiveEnabled: boolean;
|
|
170
|
+
readonly conversationId: string;
|
|
171
|
+
readonly nextRunAt?: string;
|
|
172
|
+
readonly activeRunId?: string;
|
|
173
|
+
}
|
|
123
174
|
export type CronAdapterErrorCode = "invalid_config" | "stream_closed";
|
|
124
175
|
export interface CronAdapterErrorDetails {
|
|
125
176
|
readonly code?: CronAdapterErrorCode;
|
|
@@ -131,11 +182,14 @@ export declare class CronAdapterError extends Error {
|
|
|
131
182
|
readonly details: CronAdapterErrorDetails;
|
|
132
183
|
constructor(code: CronAdapterErrorCode, message: string, details?: CronAdapterErrorDetails);
|
|
133
184
|
}
|
|
134
|
-
interface PendingFiring {
|
|
135
|
-
|
|
185
|
+
interface PendingFiring extends CronFiringIdentity {
|
|
186
|
+
}
|
|
187
|
+
interface ActiveFiring {
|
|
188
|
+
readonly controller: AbortController;
|
|
189
|
+
readonly firing: CronFiringIdentity;
|
|
136
190
|
}
|
|
137
191
|
interface JobRuntimeState {
|
|
138
|
-
active:
|
|
192
|
+
active: ActiveFiring | undefined;
|
|
139
193
|
pending: PendingFiring[];
|
|
140
194
|
}
|
|
141
195
|
export declare function startCronAdapter(options: CronAdapterOptions): CronAdapterStartResult;
|
|
@@ -145,6 +199,6 @@ export declare function startCronAdapter(options: CronAdapterOptions): CronAdapt
|
|
|
145
199
|
* defense-in-depth fallback can be regression-tested directly, bypassing the
|
|
146
200
|
* startup `validateOptions` gate that rejects invalid overlap values.
|
|
147
201
|
*/
|
|
148
|
-
export declare function handleTick(job: CronJob, scheduledAtDate: Date, options: CronAdapterOptions, jobStates: Map<string, JobRuntimeState
|
|
202
|
+
export declare function handleTick(job: CronJob, scheduledAtDate: Date, options: CronAdapterOptions, jobStates: Map<string, JobRuntimeState>, sequenceByJob?: Map<string, number>, trigger?: CronRunTrigger, admitted?: CronFiringIdentity): CronFiringIdentity;
|
|
149
203
|
export {};
|
|
150
204
|
//# sourceMappingURL=scheduler.d.ts.map
|
package/dist/scheduler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/scheduler.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BufferedMessageStream, isAgentResponseCancelledError, normalizeOptionalString, } from "@mono-agent/agent-contracts";
|
|
1
|
+
import { BufferedMessageStream, isAgentResponseCancelledError, normalizeOptionalString, unsupportedReplyPartDeliveryOutcomes, } from "@mono-agent/agent-contracts";
|
|
2
2
|
import { validateCronExpression } from "./cron-expression.js";
|
|
3
3
|
export class CronAdapterError extends Error {
|
|
4
4
|
code;
|
|
@@ -15,10 +15,37 @@ const MAX_TIMEOUT_MS = 2_147_483_647;
|
|
|
15
15
|
export function startCronAdapter(options) {
|
|
16
16
|
validateOptions(options);
|
|
17
17
|
const jobStates = new Map();
|
|
18
|
-
const
|
|
18
|
+
const sequenceByJob = new Map();
|
|
19
|
+
let stopped = false;
|
|
20
|
+
const scheduled = options.jobs.map((job) => ({
|
|
21
|
+
job,
|
|
22
|
+
enabled: job.enabled !== false,
|
|
23
|
+
nextRunAt: undefined,
|
|
24
|
+
timer: undefined,
|
|
25
|
+
}));
|
|
19
26
|
for (const entry of scheduled) {
|
|
20
|
-
|
|
27
|
+
if (entry.enabled)
|
|
28
|
+
scheduleNext(entry, options, jobStates, sequenceByJob);
|
|
21
29
|
}
|
|
30
|
+
const requireEntry = (jobId) => {
|
|
31
|
+
const entry = scheduled.find((candidate) => candidate.job.id === jobId);
|
|
32
|
+
if (entry === undefined) {
|
|
33
|
+
throw new CronAdapterError("invalid_config", `Unknown cron job "${jobId}".`, { jobId });
|
|
34
|
+
}
|
|
35
|
+
return entry;
|
|
36
|
+
};
|
|
37
|
+
const snapshotOfEntry = (entry) => {
|
|
38
|
+
const active = jobStates.get(entry.job.id)?.active;
|
|
39
|
+
return {
|
|
40
|
+
jobId: entry.job.id,
|
|
41
|
+
expression: entry.job.expression,
|
|
42
|
+
timezone: entry.job.timezone ?? DEFAULT_TIMEZONE,
|
|
43
|
+
effectiveEnabled: entry.enabled,
|
|
44
|
+
conversationId: entry.job.conversationId ?? `cron:${entry.job.id}`,
|
|
45
|
+
...(entry.nextRunAt === undefined ? {} : { nextRunAt: entry.nextRunAt.toISOString() }),
|
|
46
|
+
...(active === undefined ? {} : { activeRunId: active.firing.runId }),
|
|
47
|
+
};
|
|
48
|
+
};
|
|
22
49
|
return {
|
|
23
50
|
jobs: options.jobs.slice(),
|
|
24
51
|
get activeJobCount() {
|
|
@@ -29,22 +56,58 @@ export function startCronAdapter(options) {
|
|
|
29
56
|
}
|
|
30
57
|
return count;
|
|
31
58
|
},
|
|
59
|
+
snapshots() {
|
|
60
|
+
return scheduled.map(snapshotOfEntry);
|
|
61
|
+
},
|
|
62
|
+
runNow(jobId, admitted) {
|
|
63
|
+
if (stopped) {
|
|
64
|
+
throw new CronAdapterError("invalid_config", "Cron adapter is stopped.", { jobId });
|
|
65
|
+
}
|
|
66
|
+
const entry = requireEntry(jobId);
|
|
67
|
+
const now = admitted === undefined
|
|
68
|
+
? options.now?.() ?? new Date()
|
|
69
|
+
: new Date(admitted.scheduledAt);
|
|
70
|
+
return handleTick(entry.job, now, options, jobStates, sequenceByJob, "manual", admitted);
|
|
71
|
+
},
|
|
72
|
+
setEffectiveEnabled(jobId, enabled) {
|
|
73
|
+
if (stopped) {
|
|
74
|
+
throw new CronAdapterError("invalid_config", "Cron adapter is stopped.", { jobId });
|
|
75
|
+
}
|
|
76
|
+
const entry = requireEntry(jobId);
|
|
77
|
+
if (entry.enabled === enabled)
|
|
78
|
+
return snapshotOfEntry(entry);
|
|
79
|
+
entry.enabled = enabled;
|
|
80
|
+
if (!enabled) {
|
|
81
|
+
if (entry.timer !== undefined)
|
|
82
|
+
clearTimeout(entry.timer);
|
|
83
|
+
entry.timer = undefined;
|
|
84
|
+
entry.nextRunAt = undefined;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
scheduleNext(entry, options, jobStates, sequenceByJob);
|
|
88
|
+
}
|
|
89
|
+
return snapshotOfEntry(entry);
|
|
90
|
+
},
|
|
32
91
|
stop() {
|
|
92
|
+
stopped = true;
|
|
33
93
|
for (const entry of scheduled) {
|
|
34
94
|
if (entry.timer !== undefined) {
|
|
35
95
|
clearTimeout(entry.timer);
|
|
36
96
|
entry.timer = undefined;
|
|
37
97
|
}
|
|
98
|
+
entry.nextRunAt = undefined;
|
|
38
99
|
}
|
|
39
100
|
for (const state of jobStates.values()) {
|
|
40
101
|
state.pending.length = 0;
|
|
41
|
-
state.active?.abort(new Error("Cron adapter stopped."));
|
|
102
|
+
state.active?.controller.abort(new Error("Cron adapter stopped."));
|
|
42
103
|
}
|
|
43
104
|
jobStates.clear();
|
|
44
105
|
},
|
|
45
106
|
};
|
|
46
107
|
}
|
|
47
|
-
function scheduleNext(entry, options, jobStates, lastFiredScheduledAt) {
|
|
108
|
+
function scheduleNext(entry, options, jobStates, sequenceByJob, lastFiredScheduledAt) {
|
|
109
|
+
if (!entry.enabled)
|
|
110
|
+
return;
|
|
48
111
|
const now = options.now?.() ?? new Date();
|
|
49
112
|
// Belt-and-braces against a backward clock step (or a timer that coalesced early
|
|
50
113
|
// and woke the just-fired timer before its target): never compute the next fire
|
|
@@ -56,7 +119,8 @@ function scheduleNext(entry, options, jobStates, lastFiredScheduledAt) {
|
|
|
56
119
|
? now
|
|
57
120
|
: new Date(Math.max(now.getTime(), lastFiredScheduledAt.getTime()));
|
|
58
121
|
const scheduledAt = nextDateFor(entry.job, base);
|
|
59
|
-
|
|
122
|
+
entry.nextRunAt = scheduledAt;
|
|
123
|
+
armTimer(entry, scheduledAt, options, jobStates, sequenceByJob);
|
|
60
124
|
}
|
|
61
125
|
/**
|
|
62
126
|
* Arm (or re-arm) `entry.timer` to fire at `scheduledAt`. Splitting arming from
|
|
@@ -67,7 +131,9 @@ function scheduleNext(entry, options, jobStates, lastFiredScheduledAt) {
|
|
|
67
131
|
* the same target again — a duplicate that trips the overlap guard as a spurious
|
|
68
132
|
* kind:"skipped".
|
|
69
133
|
*/
|
|
70
|
-
function armTimer(entry, scheduledAt, options, jobStates) {
|
|
134
|
+
function armTimer(entry, scheduledAt, options, jobStates, sequenceByJob) {
|
|
135
|
+
if (!entry.enabled)
|
|
136
|
+
return;
|
|
71
137
|
const now = options.now?.() ?? new Date();
|
|
72
138
|
const delayMs = Math.max(0, scheduledAt.getTime() - now.getTime());
|
|
73
139
|
entry.timer = setTimeout(() => {
|
|
@@ -78,7 +144,7 @@ function armTimer(entry, scheduledAt, options, jobStates) {
|
|
|
78
144
|
// the next cron instant here; keeping the same target is more precise, identical
|
|
79
145
|
// semantics.)
|
|
80
146
|
if (delayMs > MAX_TIMEOUT_MS) {
|
|
81
|
-
armTimer(entry, scheduledAt, options, jobStates);
|
|
147
|
+
armTimer(entry, scheduledAt, options, jobStates, sequenceByJob);
|
|
82
148
|
return;
|
|
83
149
|
}
|
|
84
150
|
// Early-wake guard: if the timer woke before `scheduledAt`, re-arm for the
|
|
@@ -86,14 +152,41 @@ function armTimer(entry, scheduledAt, options, jobStates) {
|
|
|
86
152
|
// the remainder shrinks as the real clock catches up to `scheduledAt`.
|
|
87
153
|
const wake = options.now?.() ?? new Date();
|
|
88
154
|
if (wake.getTime() < scheduledAt.getTime()) {
|
|
89
|
-
armTimer(entry, scheduledAt, options, jobStates);
|
|
155
|
+
armTimer(entry, scheduledAt, options, jobStates, sequenceByJob);
|
|
90
156
|
return;
|
|
91
157
|
}
|
|
158
|
+
if (!entry.enabled)
|
|
159
|
+
return;
|
|
160
|
+
entry.nextRunAt = undefined;
|
|
92
161
|
// Due (now >= scheduledAt): dispatch this firing, then schedule the next one
|
|
93
162
|
// anchored at-or-after this firing so a backward clock step cannot recompute the
|
|
94
163
|
// same target (see scheduleNext's `base`).
|
|
95
|
-
|
|
96
|
-
|
|
164
|
+
try {
|
|
165
|
+
handleTick(entry.job, scheduledAt, options, jobStates, sequenceByJob, "scheduled");
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
reportDegraded(options, "Cron firing admission failed.", error, {
|
|
169
|
+
jobId: entry.job.id,
|
|
170
|
+
scheduledAt: scheduledAt.toISOString(),
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
finally {
|
|
174
|
+
// Admission is host-persistent and may fail synchronously. The failed
|
|
175
|
+
// instant is still consumed: always compute the next strictly-later target
|
|
176
|
+
// from the original scheduled anchor so one store fault neither crashes
|
|
177
|
+
// the timer callback nor permanently unarms the job.
|
|
178
|
+
if (entry.enabled) {
|
|
179
|
+
try {
|
|
180
|
+
scheduleNext(entry, options, jobStates, sequenceByJob, scheduledAt);
|
|
181
|
+
}
|
|
182
|
+
catch (error) {
|
|
183
|
+
reportDegraded(options, "Cron timer could not schedule its next firing.", error, {
|
|
184
|
+
jobId: entry.job.id,
|
|
185
|
+
scheduledAt: scheduledAt.toISOString(),
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
97
190
|
}, Math.min(delayMs, MAX_TIMEOUT_MS));
|
|
98
191
|
}
|
|
99
192
|
function ensureState(jobStates, jobId) {
|
|
@@ -104,20 +197,66 @@ function ensureState(jobStates, jobId) {
|
|
|
104
197
|
}
|
|
105
198
|
return state;
|
|
106
199
|
}
|
|
200
|
+
function resultIdentity(firing) {
|
|
201
|
+
return {
|
|
202
|
+
cronRunId: firing.runId,
|
|
203
|
+
jobId: firing.jobId,
|
|
204
|
+
scheduledAt: firing.scheduledAt,
|
|
205
|
+
orderedAt: firing.orderedAt,
|
|
206
|
+
sequence: firing.sequence,
|
|
207
|
+
trigger: firing.trigger,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
function artifactRunIdFields(options, firing) {
|
|
211
|
+
const runId = options.resolveArtifactRunId?.(firing);
|
|
212
|
+
return runId === undefined ? {} : { runId };
|
|
213
|
+
}
|
|
214
|
+
function assertFiringIdentity(firing, expected) {
|
|
215
|
+
if (normalizeOptionalString(firing.runId) === undefined
|
|
216
|
+
|| firing.jobId !== expected.jobId
|
|
217
|
+
|| firing.scheduledAt !== expected.scheduledAt
|
|
218
|
+
|| firing.trigger !== expected.trigger
|
|
219
|
+
|| !Number.isSafeInteger(firing.sequence)
|
|
220
|
+
|| firing.sequence <= 0
|
|
221
|
+
|| Number.isNaN(Date.parse(firing.orderedAt))) {
|
|
222
|
+
throw new CronAdapterError("invalid_config", "Cron firing allocator returned an invalid identity.", {
|
|
223
|
+
jobId: expected.jobId,
|
|
224
|
+
scheduledAt: expected.scheduledAt,
|
|
225
|
+
trigger: expected.trigger,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
107
229
|
/**
|
|
108
230
|
* Internal: dispatch a single firing for a job, honoring the overlap policy.
|
|
109
231
|
* Exported (but not re-exported from the package index) so the overlap
|
|
110
232
|
* defense-in-depth fallback can be regression-tested directly, bypassing the
|
|
111
233
|
* startup `validateOptions` gate that rejects invalid overlap values.
|
|
112
234
|
*/
|
|
113
|
-
export function handleTick(job, scheduledAtDate, options, jobStates) {
|
|
235
|
+
export function handleTick(job, scheduledAtDate, options, jobStates, sequenceByJob = new Map(), trigger = "scheduled", admitted) {
|
|
114
236
|
const scheduledAt = scheduledAtDate.toISOString();
|
|
237
|
+
const observedAt = (options.now?.() ?? new Date()).toISOString();
|
|
238
|
+
const nextSequence = (sequenceByJob.get(job.id) ?? 0) + 1;
|
|
239
|
+
const fallbackFiring = {
|
|
240
|
+
runId: trigger === "manual"
|
|
241
|
+
? `cron:${encodeURIComponent(job.id)}:${observedAt}:m${String(nextSequence)}`
|
|
242
|
+
: `cron:${encodeURIComponent(job.id)}:${scheduledAt}`,
|
|
243
|
+
jobId: job.id,
|
|
244
|
+
scheduledAt,
|
|
245
|
+
orderedAt: observedAt,
|
|
246
|
+
sequence: nextSequence,
|
|
247
|
+
trigger,
|
|
248
|
+
};
|
|
249
|
+
const firing = admitted
|
|
250
|
+
?? options.admitFiring?.({ jobId: job.id, scheduledAt, observedAt, trigger })
|
|
251
|
+
?? fallbackFiring;
|
|
252
|
+
assertFiringIdentity(firing, { jobId: job.id, scheduledAt, trigger });
|
|
253
|
+
sequenceByJob.set(job.id, Math.max(nextSequence, firing.sequence));
|
|
115
254
|
const state = ensureState(jobStates, job.id);
|
|
116
255
|
// No run in flight for this job: start immediately. Distinct jobs always run
|
|
117
256
|
// in parallel because each has its own state.
|
|
118
257
|
if (state.active === undefined) {
|
|
119
|
-
startRun(job,
|
|
120
|
-
return;
|
|
258
|
+
startRun(job, firing, options, jobStates, state);
|
|
259
|
+
return firing;
|
|
121
260
|
}
|
|
122
261
|
// Default to "skip" (the documented/legacy behavior): an overlapping firing is
|
|
123
262
|
// dropped while a prior run is active. "queue"/"replace" are opt-in; "queue"
|
|
@@ -125,8 +264,14 @@ export function handleTick(job, scheduledAtDate, options, jobStates) {
|
|
|
125
264
|
const mode = options.overlap ?? "skip";
|
|
126
265
|
if (mode === "skip") {
|
|
127
266
|
options.logger?.warn?.("Cron job skipped because a prior run is still active.", { jobId: job.id, scheduledAt });
|
|
128
|
-
void emitResult(options, {
|
|
129
|
-
|
|
267
|
+
void emitResult(options, {
|
|
268
|
+
...resultIdentity(firing),
|
|
269
|
+
kind: "skipped",
|
|
270
|
+
reason: "overlap",
|
|
271
|
+
blockedByRunId: state.active.firing.runId,
|
|
272
|
+
blockedByTrigger: state.active.firing.trigger,
|
|
273
|
+
});
|
|
274
|
+
return firing;
|
|
130
275
|
}
|
|
131
276
|
if (mode === "replace") {
|
|
132
277
|
// Discard pending + the in-flight run; the newest firing wins. Emit a
|
|
@@ -134,17 +279,17 @@ export function handleTick(job, scheduledAtDate, options, jobStates) {
|
|
|
134
279
|
// kind:"queued" never becomes a dangling firing with no terminal — mirroring
|
|
135
280
|
// the queue branch's drop-oldest/coalesce observability below.
|
|
136
281
|
for (const dropped of state.pending) {
|
|
137
|
-
void emitResult(options, { kind: "dropped",
|
|
282
|
+
void emitResult(options, { ...resultIdentity(dropped), kind: "dropped", reason: "overflow" });
|
|
138
283
|
}
|
|
139
|
-
state.pending = [
|
|
140
|
-
state.active.abort(new Error("Cron job replaced by a newer scheduled run."));
|
|
141
|
-
void emitResult(options, { kind: "queued",
|
|
142
|
-
return;
|
|
284
|
+
state.pending = [firing];
|
|
285
|
+
state.active.controller.abort(new Error("Cron job replaced by a newer scheduled run."));
|
|
286
|
+
void emitResult(options, { ...resultIdentity(firing), kind: "queued", queueDepth: state.pending.length });
|
|
287
|
+
return firing;
|
|
143
288
|
}
|
|
144
289
|
// "queue" (opt-in): preserve every firing, drained in order after the active
|
|
145
290
|
// run finishes. Bound it with maxQueueDepth + overflow to limit memory.
|
|
146
291
|
if (mode === "queue") {
|
|
147
|
-
state.pending.push(
|
|
292
|
+
state.pending.push(firing);
|
|
148
293
|
const max = options.maxQueueDepth;
|
|
149
294
|
if (max !== undefined && max >= 0 && state.pending.length > max) {
|
|
150
295
|
const overflow = options.overflow ?? "preserve";
|
|
@@ -152,7 +297,7 @@ export function handleTick(job, scheduledAtDate, options, jobStates) {
|
|
|
152
297
|
const dropped = state.pending.shift();
|
|
153
298
|
if (dropped !== undefined) {
|
|
154
299
|
options.logger?.warn?.("Cron firing dropped (queue overflow, drop-oldest).", { jobId: job.id, maxQueueDepth: max });
|
|
155
|
-
void emitResult(options, { kind: "dropped",
|
|
300
|
+
void emitResult(options, { ...resultIdentity(dropped), kind: "dropped", reason: "overflow" });
|
|
156
301
|
}
|
|
157
302
|
}
|
|
158
303
|
else if (overflow === "coalesce") {
|
|
@@ -160,7 +305,7 @@ export function handleTick(job, scheduledAtDate, options, jobStates) {
|
|
|
160
305
|
const droppedOnes = state.pending.slice(0, -1);
|
|
161
306
|
state.pending = newest === undefined ? [] : [newest];
|
|
162
307
|
for (const dropped of droppedOnes) {
|
|
163
|
-
void emitResult(options, { kind: "dropped",
|
|
308
|
+
void emitResult(options, { ...resultIdentity(dropped), kind: "dropped", reason: "overflow" });
|
|
164
309
|
}
|
|
165
310
|
}
|
|
166
311
|
else {
|
|
@@ -172,8 +317,8 @@ export function handleTick(job, scheduledAtDate, options, jobStates) {
|
|
|
172
317
|
});
|
|
173
318
|
}
|
|
174
319
|
}
|
|
175
|
-
void emitResult(options, { kind: "queued",
|
|
176
|
-
return;
|
|
320
|
+
void emitResult(options, { ...resultIdentity(firing), kind: "queued", queueDepth: state.pending.length });
|
|
321
|
+
return firing;
|
|
177
322
|
}
|
|
178
323
|
// Any unrecognized mode (e.g. an invalid value passed via a cast or untyped
|
|
179
324
|
// JS/JSON consumer) defaults to the safe "skip" behavior rather than silently
|
|
@@ -182,15 +327,20 @@ export function handleTick(job, scheduledAtDate, options, jobStates) {
|
|
|
182
327
|
jobId: job.id,
|
|
183
328
|
overlap: options.overlap,
|
|
184
329
|
});
|
|
185
|
-
void emitResult(options, {
|
|
330
|
+
void emitResult(options, {
|
|
331
|
+
...resultIdentity(firing),
|
|
332
|
+
kind: "skipped",
|
|
333
|
+
reason: "overlap",
|
|
334
|
+
blockedByRunId: state.active.firing.runId,
|
|
335
|
+
blockedByTrigger: state.active.firing.trigger,
|
|
336
|
+
});
|
|
337
|
+
return firing;
|
|
186
338
|
}
|
|
187
|
-
function startRun(job,
|
|
339
|
+
function startRun(job, firing, options, jobStates, state) {
|
|
188
340
|
const controller = new AbortController();
|
|
189
|
-
state.active = controller;
|
|
341
|
+
state.active = { controller, firing };
|
|
190
342
|
const startedAt = (options.now?.() ?? new Date()).toISOString();
|
|
191
|
-
const stream = new
|
|
192
|
-
onClosed: () => new CronAdapterError("stream_closed", "Cannot write to a finished cron stream."),
|
|
193
|
-
});
|
|
343
|
+
const stream = new CronMessageStream(firing, options);
|
|
194
344
|
// Finalize the run at most once. Hung run work (a resolver or responder promise
|
|
195
345
|
// that never settles AND ignores the abort signal) would otherwise leave
|
|
196
346
|
// `state.active` set forever, skipping every future firing.
|
|
@@ -222,12 +372,12 @@ function startRun(job, scheduledAt, options, jobStates, state) {
|
|
|
222
372
|
controller.abort(new Error(`Cron job exceeded maxRunMs (${limitMs}ms).`));
|
|
223
373
|
finalize(async () => {
|
|
224
374
|
const result = {
|
|
375
|
+
...resultIdentity(firing),
|
|
225
376
|
kind: "failed",
|
|
226
|
-
jobId: job.id,
|
|
227
|
-
scheduledAt,
|
|
228
377
|
startedAt,
|
|
229
378
|
completedAt: (options.now?.() ?? new Date()).toISOString(),
|
|
230
379
|
error: `Cron job timed out after ${limitMs}ms (run did not settle); reclaiming the slot.`,
|
|
380
|
+
...artifactRunIdFields(options, firing),
|
|
231
381
|
};
|
|
232
382
|
options.logger?.error?.("Cron job timed out; reclaiming the slot.", { jobId: job.id, maxRunMs: limitMs });
|
|
233
383
|
await emitResult(options, result);
|
|
@@ -236,7 +386,20 @@ function startRun(job, scheduledAt, options, jobStates, state) {
|
|
|
236
386
|
// Don't let the watchdog timer keep the process alive on its own.
|
|
237
387
|
watchdog.unref?.();
|
|
238
388
|
}
|
|
239
|
-
|
|
389
|
+
// Defer host callback evaluation into the promise chain: Promise.resolve(x)
|
|
390
|
+
// cannot catch a synchronous throw that occurs while evaluating x. A failed
|
|
391
|
+
// durable running transition fails this firing before model work starts, then
|
|
392
|
+
// the common finalizer reclaims the overlap slot.
|
|
393
|
+
void Promise.resolve()
|
|
394
|
+
.then(async () => await options.onRunStarted?.(firing, startedAt))
|
|
395
|
+
.catch((error) => {
|
|
396
|
+
reportDegraded(options, "Cron run-start persistence failed.", error, {
|
|
397
|
+
jobId: job.id,
|
|
398
|
+
runId: firing.runId,
|
|
399
|
+
});
|
|
400
|
+
throw error;
|
|
401
|
+
})
|
|
402
|
+
.then(async () => await resolveNotifyConversationId(job, options, controller.signal))
|
|
240
403
|
.then(async (notifyConversationId) => {
|
|
241
404
|
if (controller.signal.aborted) {
|
|
242
405
|
throw controller.signal.reason ?? new Error("Cron job was cancelled before responder start.");
|
|
@@ -249,9 +412,13 @@ function startRun(job, scheduledAt, options, jobStates, state) {
|
|
|
249
412
|
metadata: {
|
|
250
413
|
cron: {
|
|
251
414
|
jobId: job.id,
|
|
415
|
+
cronRunId: firing.runId,
|
|
416
|
+
sequence: firing.sequence,
|
|
417
|
+
orderedAt: firing.orderedAt,
|
|
418
|
+
trigger: firing.trigger,
|
|
252
419
|
expression: job.expression,
|
|
253
420
|
timezone: job.timezone ?? DEFAULT_TIMEZONE,
|
|
254
|
-
scheduledAt,
|
|
421
|
+
scheduledAt: firing.scheduledAt,
|
|
255
422
|
startedAt,
|
|
256
423
|
...(job.notify === true
|
|
257
424
|
? {
|
|
@@ -271,7 +438,11 @@ function startRun(job, scheduledAt, options, jobStates, state) {
|
|
|
271
438
|
})
|
|
272
439
|
.then(({ response, notifyConversationId }) => {
|
|
273
440
|
finalize(async () => {
|
|
274
|
-
|
|
441
|
+
const replyPartOutcomes = unsupportedReplyPartDeliveryOutcomes(response.parts);
|
|
442
|
+
await stream.finish(response.text, {
|
|
443
|
+
...(response.parts === undefined ? {} : { parts: response.parts }),
|
|
444
|
+
unsupportedPartFallback: "none",
|
|
445
|
+
});
|
|
275
446
|
// Guard against a responder that ignores/races the abort signal and still
|
|
276
447
|
// resolves with text: if THIS run's controller was aborted (overlap:"replace"
|
|
277
448
|
// discarding the in-flight run, the watchdog, or stop()), report the run as
|
|
@@ -280,29 +451,30 @@ function startRun(job, scheduledAt, options, jobStates, state) {
|
|
|
280
451
|
// mirrors the .catch() classification below and LiveSessionManager.drain().
|
|
281
452
|
if (controller.signal.aborted) {
|
|
282
453
|
const result = {
|
|
454
|
+
...resultIdentity(firing),
|
|
283
455
|
kind: "cancelled",
|
|
284
|
-
jobId: job.id,
|
|
285
|
-
scheduledAt,
|
|
286
456
|
startedAt,
|
|
287
457
|
completedAt: (options.now?.() ?? new Date()).toISOString(),
|
|
288
458
|
error: "Cron job cancelled (responder resolved after abort).",
|
|
459
|
+
...artifactRunIdFields(options, firing),
|
|
460
|
+
...(replyPartOutcomes === undefined ? {} : { replyPartOutcomes }),
|
|
289
461
|
};
|
|
290
462
|
options.logger?.warn?.("Cron job responder resolved after abort; reporting cancelled.", {
|
|
291
463
|
jobId: job.id,
|
|
292
|
-
error:
|
|
464
|
+
error: "Cron job cancelled (responder resolved after abort).",
|
|
293
465
|
});
|
|
294
466
|
await emitResult(options, result);
|
|
295
467
|
return;
|
|
296
468
|
}
|
|
297
469
|
const result = {
|
|
470
|
+
...resultIdentity(firing),
|
|
298
471
|
kind: "succeeded",
|
|
299
|
-
jobId: job.id,
|
|
300
|
-
scheduledAt,
|
|
301
472
|
startedAt,
|
|
302
473
|
completedAt: (options.now?.() ?? new Date()).toISOString(),
|
|
303
474
|
...(notifyConversationId === undefined ? {} : { notifyConversationId }),
|
|
304
|
-
...(stream.text.length === 0 ? {} : { text: stream.text }),
|
|
475
|
+
...((response.text ?? stream.text).length === 0 ? {} : { text: response.text ?? stream.text }),
|
|
305
476
|
...(response.metadata === undefined ? {} : { metadata: response.metadata }),
|
|
477
|
+
...(replyPartOutcomes === undefined ? {} : { replyPartOutcomes }),
|
|
306
478
|
};
|
|
307
479
|
await emitResult(options, result);
|
|
308
480
|
});
|
|
@@ -312,22 +484,44 @@ function startRun(job, scheduledAt, options, jobStates, state) {
|
|
|
312
484
|
const cancelled = controller.signal.aborted || isAgentResponseCancelledError(error);
|
|
313
485
|
const failureKind = failureKindFromUnknown(error);
|
|
314
486
|
const result = {
|
|
487
|
+
...resultIdentity(firing),
|
|
315
488
|
kind: cancelled ? "cancelled" : "failed",
|
|
316
|
-
jobId: job.id,
|
|
317
|
-
scheduledAt,
|
|
318
489
|
startedAt,
|
|
319
490
|
completedAt: (options.now?.() ?? new Date()).toISOString(),
|
|
320
491
|
error: errorToMessage(error),
|
|
321
492
|
...(failureKind === undefined ? {} : { failureKind }),
|
|
493
|
+
...artifactRunIdFields(options, firing),
|
|
322
494
|
};
|
|
323
495
|
options.logger?.[cancelled ? "warn" : "error"]?.("Cron job run failed.", {
|
|
324
496
|
jobId: job.id,
|
|
325
|
-
error:
|
|
497
|
+
error: errorToMessage(error),
|
|
326
498
|
});
|
|
327
499
|
await emitResult(options, result);
|
|
328
500
|
});
|
|
329
501
|
});
|
|
330
502
|
}
|
|
503
|
+
class CronMessageStream extends BufferedMessageStream {
|
|
504
|
+
firing;
|
|
505
|
+
options;
|
|
506
|
+
constructor(firing, options) {
|
|
507
|
+
super({
|
|
508
|
+
onClosed: () => new CronAdapterError("stream_closed", "Cannot write to a finished cron stream."),
|
|
509
|
+
});
|
|
510
|
+
this.firing = firing;
|
|
511
|
+
this.options = options;
|
|
512
|
+
}
|
|
513
|
+
async event(event) {
|
|
514
|
+
try {
|
|
515
|
+
await this.options.onEvent?.(this.firing, event);
|
|
516
|
+
}
|
|
517
|
+
catch (error) {
|
|
518
|
+
reportDegraded(this.options, "Cron run event could not be persisted.", error, {
|
|
519
|
+
jobId: this.firing.jobId,
|
|
520
|
+
runId: this.firing.runId,
|
|
521
|
+
});
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
}
|
|
331
525
|
async function resolveNotifyConversationId(job, options, abortSignal) {
|
|
332
526
|
if (job.notify !== true) {
|
|
333
527
|
return undefined;
|
|
@@ -389,7 +583,7 @@ function toReplyTarget(conversationId) {
|
|
|
389
583
|
function drainNext(job, options, jobStates, state) {
|
|
390
584
|
const next = state.pending.shift();
|
|
391
585
|
if (next !== undefined) {
|
|
392
|
-
startRun(job, next
|
|
586
|
+
startRun(job, next, options, jobStates, state);
|
|
393
587
|
return;
|
|
394
588
|
}
|
|
395
589
|
if (state.active === undefined && state.pending.length === 0) {
|
|
@@ -397,7 +591,29 @@ function drainNext(job, options, jobStates, state) {
|
|
|
397
591
|
}
|
|
398
592
|
}
|
|
399
593
|
async function emitResult(options, result) {
|
|
400
|
-
|
|
594
|
+
try {
|
|
595
|
+
await options.onResult?.(result);
|
|
596
|
+
}
|
|
597
|
+
catch (error) {
|
|
598
|
+
reportDegraded(options, "Cron run-result persistence failed.", error, {
|
|
599
|
+
jobId: result.jobId,
|
|
600
|
+
runId: result.cronRunId,
|
|
601
|
+
kind: result.kind,
|
|
602
|
+
});
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
function reportDegraded(options, message, error, metadata) {
|
|
606
|
+
const detail = errorToMessage(error);
|
|
607
|
+
options.logger?.error?.(message, { ...metadata, error: detail });
|
|
608
|
+
try {
|
|
609
|
+
options.onDegraded?.(`${message} ${detail}`);
|
|
610
|
+
}
|
|
611
|
+
catch (callbackError) {
|
|
612
|
+
options.logger?.error?.("Cron degradation callback failed.", {
|
|
613
|
+
...metadata,
|
|
614
|
+
error: errorToMessage(callbackError),
|
|
615
|
+
});
|
|
616
|
+
}
|
|
401
617
|
}
|
|
402
618
|
function nextDateFor(job, currentDate) {
|
|
403
619
|
const result = validateCronExpression(job.expression, {
|
package/dist/scheduler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mono-agent/cron-adapter",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "Cron-based scheduled invocation adapter for agent responders.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "GPL-3.0-only",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"README.md"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@mono-agent/agent-contracts": "0.
|
|
29
|
+
"@mono-agent/agent-contracts": "0.20.0",
|
|
30
30
|
"cron-parser": "^5.5.0"
|
|
31
31
|
},
|
|
32
32
|
"publishConfig": {
|