@osolmaz/pi-workflows 0.8.0 → 0.8.2
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 +2 -3
- package/dist/builtins/monitor.workflow.js +1 -0
- package/dist/builtins/monitor.workflow.js.map +1 -1
- package/docs/MONITOR.md +12 -9
- package/docs/WORKFLOW_UPDATES.md +8 -0
- package/docs/workflows.md +4 -12
- package/package.json +1 -5
- package/skills/monitor/SKILL.md +22 -15
- package/src/builtins/monitor.workflow.ts +1 -0
- package/dist/job-progress/index.d.ts +0 -3
- package/dist/job-progress/index.js +0 -4
- package/dist/job-progress/index.js.map +0 -1
- package/dist/job-progress/reporter.d.ts +0 -8
- package/dist/job-progress/reporter.js +0 -243
- package/dist/job-progress/reporter.js.map +0 -1
- package/dist/job-progress/types.d.ts +0 -65
- package/dist/job-progress/types.js +0 -2
- package/dist/job-progress/types.js.map +0 -1
- package/dist/job-progress/validation.d.ts +0 -5
- package/dist/job-progress/validation.js +0 -227
- package/dist/job-progress/validation.js.map +0 -1
- package/docs/JOB_PROGRESS.md +0 -119
- package/docs/plans/2026-08-17-durable-job-progress-plan.md +0 -176
- package/src/job-progress/index.ts +0 -24
- package/src/job-progress/reporter.ts +0 -304
- package/src/job-progress/types.ts +0 -92
- package/src/job-progress/validation.ts +0 -255
package/README.md
CHANGED
|
@@ -13,9 +13,8 @@ structured, validated output to route on. See the
|
|
|
13
13
|
[design philosophy](docs/DESIGN_PHILOSOPHY.md) for the principles behind the
|
|
14
14
|
engine and its public parts. Running steps can publish durable [workflow
|
|
15
15
|
updates](docs/WORKFLOW_UPDATES.md), including progress counts and ETA data.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
[workflow step messages](docs/WORKFLOW_STEP_MESSAGES.md), and the built-in
|
|
16
|
+
Agent instructions use compact [workflow step
|
|
17
|
+
messages](docs/WORKFLOW_STEP_MESSAGES.md), and the built-in
|
|
19
18
|
[monitor](docs/MONITOR.md) reports every check without starting an extra
|
|
20
19
|
assistant turn.
|
|
21
20
|
|
|
@@ -201,6 +201,7 @@ const monitorWorkflow = defineWorkflow({
|
|
|
201
201
|
? `Previous progress: ${formatProgressReport(priorEstimate.tracks.map((track) => track.estimate))}`
|
|
202
202
|
: "There is no previous measured progress.",
|
|
203
203
|
"Use available tools to inspect the current source of truth. Observe only unless the task explicitly authorizes a mutation.",
|
|
204
|
+
"You are the regular Pi model running this check and the observation adapter. When useful measurable facts appear during the check, publish them with workflow action update. Include the latest tracks in the final submission. Do not require the monitored target to implement a Pi-specific progress API, file, store, schema, or command.",
|
|
204
205
|
"Every accepted check must include a concise user-facing report. Add progress tracks only when the target provides measurable facts. Submit observed counts and target-provided finish times; do not invent rates or an ETA.",
|
|
205
206
|
"Choose route continue or stop.",
|
|
206
207
|
].join("\n\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.workflow.js","sourceRoot":"","sources":["../../src/builtins/monitor.workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"monitor.workflow.js","sourceRoot":"","sources":["../../src/builtins/monitor.workflow.ts"],"names":[],"mappings":"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"}
|
package/docs/MONITOR.md
CHANGED
|
@@ -19,13 +19,13 @@ The monitor checks a target, sends one status notification after every accepted
|
|
|
19
19
|
|
|
20
20
|
| Field | Required | Type | Default | Meaning |
|
|
21
21
|
| --------------------- | -------- | ------- | ------------------ | -------------------------------- |
|
|
22
|
-
| `task` | Yes | string | None | Self-contained
|
|
22
|
+
| `task` | Yes | string | None | Self-contained monitor task. |
|
|
23
23
|
| `everyMinutes` | No | integer | `30` | Minutes between accepted checks. |
|
|
24
24
|
| `stopWhen` | No | string | Explicit user stop | Condition that ends monitoring. |
|
|
25
25
|
| `maxChecks` | No | integer | `1000` | Run safety limit. |
|
|
26
26
|
| `checkTimeoutMinutes` | No | integer | Derived | Timeout for one agent check. |
|
|
27
27
|
|
|
28
|
-
`task` is 1 to 8,000 characters after trimming. It should name the target, stable identifier, source of truth, durable outputs, and
|
|
28
|
+
`task` is 1 to 8,000 characters after trimming. It should name the target, stable identifier, source of truth, durable outputs, authorized routine work, and safety boundary. It must state any authorized mutations. Monitoring is read-only when the task does not authorize a mutation.
|
|
29
29
|
|
|
30
30
|
`everyMinutes` is from 1 through 1,440. The interval begins after a check report is durably queued. It does not delay the first check.
|
|
31
31
|
|
|
@@ -124,6 +124,14 @@ It tells the model that every accepted check must include a concise report. It t
|
|
|
124
124
|
|
|
125
125
|
A check may use available tools to read current state. It must use the target's authoritative source instead of treating a prior report or workflow update as current truth.
|
|
126
126
|
|
|
127
|
+
## Progress ownership boundary
|
|
128
|
+
|
|
129
|
+
The regular Pi model running the check is the observation adapter. It uses the target-specific tools authorized by the task, converts observed facts into `pi-workflows.progress.v1` tracks, and publishes them through the existing `workflow` tool. Pi Workflows validates, stores, estimates, and displays those tracks.
|
|
130
|
+
|
|
131
|
+
The monitored target stays independent of Pi Workflows. A monitor must not require a target Job or application to import Pi Workflows, emit a Pi schema, write a Pi progress file, expose a Pi endpoint, create a progress store, or add a progress reader command solely for monitoring. Provider-specific clients and credentials do not belong in Pi Workflows.
|
|
132
|
+
|
|
133
|
+
When a target does not expose a factual count, total, or source estimate, the check reports that ETA is unavailable. Better application telemetry is separate work. It should expose normal operational facts for all operators, not a Pi-specific reporting protocol.
|
|
134
|
+
|
|
127
135
|
## Progress publication
|
|
128
136
|
|
|
129
137
|
`estimate` keeps the last eight usable intervals for each track in its normal node output. The output is durable and becomes the prior estimator state on the next loop visit.
|
|
@@ -242,11 +250,6 @@ One monitor can track several processes. Each uses a stable progress key. A miss
|
|
|
242
250
|
|
|
243
251
|
The progress estimator treats each key independently. A phase, unit, total, or counter reset in one track does not reset another track.
|
|
244
252
|
|
|
245
|
-
Remote Jobs can publish the same tracks in a strict
|
|
246
|
-
[`pi-workflows.job-progress.v1` snapshot](JOB_PROGRESS.md). A monitor discovers
|
|
247
|
-
the snapshot from immutable Job labels, validates its identity, and submits its
|
|
248
|
-
tracks without copying log-derived guesses into progress fields.
|
|
249
|
-
|
|
250
253
|
## Interval and lifetime
|
|
251
254
|
|
|
252
255
|
The normal workflow engine remains finite. The built-in monitor therefore retains the 1,000-check safety ceiling and must not claim to be mathematically unbounded.
|
|
@@ -257,11 +260,11 @@ The monitor skill must disclose a surfaced host limit and must never invent a sm
|
|
|
257
260
|
|
|
258
261
|
## Safety boundaries
|
|
259
262
|
|
|
260
|
-
|
|
263
|
+
An observation-only request authorizes only observation and scheduled checks. When the user asks the monitor to keep an objective running or finish it, the monitor skill may record routine, bounded work in `task`, including retries, restarts, pinned task code, tests, configuration repairs, and temporary cleanup. The task must preserve the exact objective and state every mutation boundary.
|
|
261
264
|
|
|
262
265
|
A progress object is data. It cannot contain a command or grant execution authority. Fixed probes belong in workflow-authored `action` or `shell` nodes.
|
|
263
266
|
|
|
264
|
-
Paid compute, inference runtime, and other domain policies continue to apply to every check.
|
|
267
|
+
A monitoring request does not create spending approval or a default spending ceiling. Existing approvals can cover paid actions, and the monitor should continue without another prompt while each action stays within them. Paid compute, inference runtime, and other domain policies continue to apply to every check.
|
|
265
268
|
|
|
266
269
|
## Validation and acceptance
|
|
267
270
|
|
package/docs/WORKFLOW_UPDATES.md
CHANGED
|
@@ -76,6 +76,14 @@ Updates do not:
|
|
|
76
76
|
|
|
77
77
|
A node's final result remains the only value that completes the node and controls routing.
|
|
78
78
|
|
|
79
|
+
## Model-mediated observation
|
|
80
|
+
|
|
81
|
+
For monitoring, the regular Pi model running the workflow step observes the external target and publishes progress with the existing `workflow` tool. This is the intended adapter boundary. Deterministic runtime code validates, persists, estimates, and renders the submitted data.
|
|
82
|
+
|
|
83
|
+
External Jobs and applications do not need a Pi Workflows dependency or reporting protocol. Provider-specific observation stays in the agent task and its authorized tools. If the target does not expose enough facts, the model publishes only what is known and leaves ETA unavailable.
|
|
84
|
+
|
|
85
|
+
Do not add a transport, endpoint, store, schema, or provider integration when the regular Pi model can observe the target and use `workflow update` or `submit`.
|
|
86
|
+
|
|
79
87
|
## Public types
|
|
80
88
|
|
|
81
89
|
The workflow layer adds these public types:
|
package/docs/workflows.md
CHANGED
|
@@ -349,8 +349,10 @@ The first check runs immediately. `everyMinutes` defaults to 30. Each accepted
|
|
|
349
349
|
check must provide one concise report and choose `continue` or `stop`. The
|
|
350
350
|
runtime queues that report as a workflow notification with `triggerTurn:
|
|
351
351
|
false`, so it does not cause an assistant reply. A check can also provide
|
|
352
|
-
independent progress tracks. Pi
|
|
353
|
-
|
|
352
|
+
independent progress tracks. The regular Pi model running the check observes
|
|
353
|
+
the target and submits those facts. Pi Workflows validates the counts and
|
|
354
|
+
calculates rates, confidence, and ETA deterministically. The target does not
|
|
355
|
+
need a Pi Workflows dependency or reporting protocol.
|
|
354
356
|
|
|
355
357
|
Intervals must be whole minutes from 1 through 1,440. When `stopWhen` is
|
|
356
358
|
omitted, the monitor stops only after an explicit user request. `maxChecks`
|
|
@@ -369,16 +371,6 @@ and resume later by running that wait again from the beginning.
|
|
|
369
371
|
A monitor uses the session's single active workflow slot. It does not provide
|
|
370
372
|
cron syntax, calendar scheduling, OS notifications, or a background service.
|
|
371
373
|
|
|
372
|
-
### Durable remote Job progress
|
|
373
|
-
|
|
374
|
-
Remote workers can publish the same progress tracks through
|
|
375
|
-
`@osolmaz/pi-workflows/job-progress`. The storage-neutral reporter writes a
|
|
376
|
-
strict, versioned snapshot through an application-supplied callback. A monitor
|
|
377
|
-
can read consecutive snapshots from an existing remote store and use the normal
|
|
378
|
-
progress estimator without treating logs as durable state. See
|
|
379
|
-
[JOB_PROGRESS.md](JOB_PROGRESS.md) for the API, snapshot schema, restart rules,
|
|
380
|
-
and discovery labels.
|
|
381
|
-
|
|
382
374
|
## The step contract
|
|
383
375
|
|
|
384
376
|
Every `agent` prompt ends with a step contract block naming the workflow, the
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osolmaz/pi-workflows",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "Workflow and controller runtime with a live terminal viewer for the pi coding agent",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package"
|
|
@@ -39,10 +39,6 @@
|
|
|
39
39
|
"./controllers": {
|
|
40
40
|
"types": "./dist/controllers/index.d.ts",
|
|
41
41
|
"default": "./dist/controllers/index.js"
|
|
42
|
-
},
|
|
43
|
-
"./job-progress": {
|
|
44
|
-
"types": "./dist/job-progress/index.d.ts",
|
|
45
|
-
"default": "./dist/job-progress/index.js"
|
|
46
42
|
}
|
|
47
43
|
},
|
|
48
44
|
"publishConfig": {
|
package/skills/monitor/SKILL.md
CHANGED
|
@@ -8,7 +8,7 @@ compatibility: Requires Pi Workflows and the built-in monitor workflow.
|
|
|
8
8
|
|
|
9
9
|
Use the built-in Pi `monitor` workflow as an autopilot for the requested objective. Monitoring is not passive status polling. The agent must maintain nominal operation, repair recoverable failures, resume durable work, and continue until the complete objective is verified or a material blocker makes safe continuation impossible.
|
|
10
10
|
|
|
11
|
-
A monitor request authorizes routine
|
|
11
|
+
A monitor request authorizes routine, bounded work needed to preserve and finish the stated objective, subject to the conversation and repository approval boundaries. Apply other skills as safety and operating instructions. Do not turn their normal checks into new approval requests when the monitored objective and an existing approval already cover the action. Monitoring does not authorize changing the objective, method, model, data source, production selection, or other consequential contract.
|
|
12
12
|
|
|
13
13
|
## Prepare and start without delay
|
|
14
14
|
|
|
@@ -26,7 +26,7 @@ Do not finish the initiating turn before the workflow start call. If a safe cont
|
|
|
26
26
|
|
|
27
27
|
Derive the workflow input from the full conversation:
|
|
28
28
|
|
|
29
|
-
- `task`: State the complete objective, the exact current target and stable identifiers, authoritative status sources, durable progress and final-output surfaces,
|
|
29
|
+
- `task`: State the complete objective, the exact current target and stable identifiers, authoritative status sources, durable progress and final-output surfaces, routine actions authorized by the monitor request, other recorded approvals, immutable boundaries, cost and credential rules, and required validation or downstream operations.
|
|
30
30
|
- `everyMinutes`: Use the user's interval when present. Use `30` when the user gives no interval. The built-in workflow accepts intervals from 1 minute through 24 hours.
|
|
31
31
|
- `stopWhen`: Infer verified completion from the full conversation. Describe completion of the complete objective, not only the end of one physical process. Also name material blockers that require human intervention.
|
|
32
32
|
|
|
@@ -34,11 +34,24 @@ When the conversation gives no clear finish criterion, set `stopWhen` to `Stop o
|
|
|
34
34
|
|
|
35
35
|
Do not invent a finite check count. Omit `maxChecks` unless the user explicitly requests one. The workflow host can apply its own safety upper bound. Disclose that bound if it appears.
|
|
36
36
|
|
|
37
|
+
## Keep routine work moving
|
|
38
|
+
|
|
39
|
+
While the workflow is active, do routine, bounded work required by the exact objective without asking for another confirmation. This includes:
|
|
40
|
+
|
|
41
|
+
- downloading, building, and running code pinned by the monitored objective;
|
|
42
|
+
- building and running task containers from a pinned benchmark or repository revision;
|
|
43
|
+
- installing pinned dependencies in the planned isolated environment;
|
|
44
|
+
- running canaries, tests, retries, restarts, and temporary cleanup;
|
|
45
|
+
- repairing configuration or storage-path errors without changing the method; and
|
|
46
|
+
- continuing paid work that already has applicable approval.
|
|
47
|
+
|
|
48
|
+
Pinned third-party code is part of the objective when the task names its exact repository, revision, lock file, image digest, or benchmark release. Resolve mutable references to immutable revisions when the applicable safety rules require it. Do not ask once per image, package, or task. New unpinned code, unrelated code, or broader privileges remain outside the monitor's authority.
|
|
49
|
+
|
|
37
50
|
## Paid infrastructure authority
|
|
38
51
|
|
|
39
|
-
A monitoring request does not grant spending approval or create a default spending ceiling. Before launching, resuming, retrying, or replacing paid work, load and follow the paid-compute, provider, Job-control, and runtime skills that apply.
|
|
52
|
+
A monitoring request does not grant spending approval or create a default spending ceiling. Before launching, resuming, retrying, or replacing paid work, load and follow the paid-compute, provider, Job-control, and runtime skills that apply. Use any applicable approval already recorded in the conversation or repository instructions.
|
|
40
53
|
|
|
41
|
-
|
|
54
|
+
When the paid action remains within the approved method, hardware, concurrency, cumulative cost ceiling, and recovery assumptions, continue without asking again. Stop for a decision before new paid work only when there is no applicable approval, the ceiling would be exceeded, or evidence invalidates an approved assumption.
|
|
42
55
|
|
|
43
56
|
The monitor may use a credential only when the conversation or repository has already authorized that credential's source, destination, and purpose. It may reuse that authorization for retries and replacement attempts under the same objective. It must not discover unrelated credentials, broaden scopes, copy credentials to a new store, or print secret values.
|
|
44
57
|
|
|
@@ -80,9 +93,11 @@ The workflow sends each report as a Pi notification. Notifications do not start
|
|
|
80
93
|
|
|
81
94
|
## Publish progress when measurable
|
|
82
95
|
|
|
96
|
+
The regular Pi model that runs the check is the observation adapter. It reads the target through the tools and sources named in the task, maps observed facts to progress tracks, and publishes them through the existing `workflow` tool. There is no separate monitor model.
|
|
97
|
+
|
|
83
98
|
Progress is optional. Do not invent it for work that has no factual count, total, rate, or source estimate.
|
|
84
99
|
|
|
85
|
-
When the target exposes measurable progress,
|
|
100
|
+
When the target exposes measurable progress, publish one or more tracks with `workflow` action `update` while the check is active when that gives the user useful current state. Include the latest tracks in the final check output, then call `submit` exactly once. Use a stable key for each independent process or workstream. Use `overall` for a real aggregate only; do not add unrelated tracks together.
|
|
86
101
|
|
|
87
102
|
Each track uses `pi-workflows.progress.v1` and can include:
|
|
88
103
|
|
|
@@ -95,17 +110,9 @@ Submit observed facts. The workflow computes rates, confidence, remaining work,
|
|
|
95
110
|
|
|
96
111
|
For several concurrent processes, publish one stable track per process. The Pi widget and viewers show them separately and keep each ETA independent.
|
|
97
112
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
A remote job can advertise a `pi-workflows.job-progress.v1` snapshot with these immutable labels:
|
|
101
|
-
|
|
102
|
-
- `progress_schema=pi-workflows.job-progress.v1`
|
|
103
|
-
- `progress_bucket=<existing-bucket>`
|
|
104
|
-
- `progress_prefix=<path-before-job-id>`
|
|
105
|
-
|
|
106
|
-
When these labels exist, form `<progress_prefix>/<physical-job-id>/progress.json`, read it from the named existing store with an already authorized credential, and validate it with the installed `@osolmaz/pi-workflows/job-progress` API. Reject a snapshot whose job ID, source revision, or work-contract identity does not match the observed Job. Do not follow a path or credential named inside unvalidated data.
|
|
113
|
+
Keep the monitored target independent of Pi Workflows. Do not require a target Job or application to import Pi Workflows, emit a Pi schema, write a Pi progress file, expose a Pi endpoint, create a progress store, or add a progress reader command solely for monitoring. Do not add provider-specific clients or credentials to Pi Workflows. Target-specific observation belongs in the check task and is performed by the regular Pi model with already authorized tools.
|
|
107
114
|
|
|
108
|
-
|
|
115
|
+
Before proposing a new progress API, transport, schema, or persistence layer, prove that the model cannot observe the needed facts and publish them through the existing `workflow update` and `submit` path. If the target does not expose enough facts for ETA, report `ETA unavailable`. Application telemetry changes require separate scope and should expose normal operational facts rather than a Pi-specific protocol.
|
|
109
116
|
|
|
110
117
|
## Apply finish rules
|
|
111
118
|
|
|
@@ -249,6 +249,7 @@ const monitorWorkflow: WorkflowDefinition = defineWorkflow({
|
|
|
249
249
|
? `Previous progress: ${formatProgressReport(priorEstimate.tracks.map((track) => track.estimate))}`
|
|
250
250
|
: "There is no previous measured progress.",
|
|
251
251
|
"Use available tools to inspect the current source of truth. Observe only unless the task explicitly authorizes a mutation.",
|
|
252
|
+
"You are the regular Pi model running this check and the observation adapter. When useful measurable facts appear during the check, publish them with workflow action update. Include the latest tracks in the final submission. Do not require the monitored target to implement a Pi-specific progress API, file, store, schema, or command.",
|
|
252
253
|
"Every accepted check must include a concise user-facing report. Add progress tracks only when the target provides measurable facts. Submit observed counts and target-provided finish times; do not invent rates or an ETA.",
|
|
253
254
|
"Choose route continue or stop.",
|
|
254
255
|
].join("\n\n");
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { createJobProgressReporter, estimateJobProgress, type JobProgressReporter, } from "./reporter.js";
|
|
2
|
-
export { isTerminalJobProgressState, MAX_JOB_PROGRESS_BYTES, MAX_JOB_PROGRESS_TRACKS, validateJobProgressSnapshot, } from "./validation.js";
|
|
3
|
-
export { JOB_PROGRESS_SCHEMA, type JobProgressCost, type JobProgressEstimate, type JobProgressIdentity, type JobProgressPublish, type JobProgressPublishResult, type JobProgressReporterOptions, type JobProgressSnapshot, type JobProgressState, type JobProgressTrack, type JobProgressUpdate, } from "./types.js";
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { createJobProgressReporter, estimateJobProgress, } from "./reporter.js";
|
|
2
|
-
export { isTerminalJobProgressState, MAX_JOB_PROGRESS_BYTES, MAX_JOB_PROGRESS_TRACKS, validateJobProgressSnapshot, } from "./validation.js";
|
|
3
|
-
export { JOB_PROGRESS_SCHEMA, } from "./types.js";
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/job-progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,mBAAmB,GAEpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,GAWpB,MAAM,YAAY,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type JobProgressEstimate, type JobProgressPublishResult, type JobProgressReporterOptions, type JobProgressSnapshot, type JobProgressUpdate } from "./types.js";
|
|
2
|
-
export type JobProgressReporter = {
|
|
3
|
-
report(update: JobProgressUpdate): Promise<JobProgressPublishResult>;
|
|
4
|
-
flush(): Promise<JobProgressPublishResult>;
|
|
5
|
-
snapshot(): JobProgressSnapshot;
|
|
6
|
-
};
|
|
7
|
-
export declare function createJobProgressReporter(options: JobProgressReporterOptions): JobProgressReporter;
|
|
8
|
-
export declare function estimateJobProgress(snapshots: JobProgressSnapshot[], now?: Date): JobProgressEstimate;
|
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
import { estimateProgress, } from "../workflows/index.js";
|
|
2
|
-
import { JOB_PROGRESS_SCHEMA, } from "./types.js";
|
|
3
|
-
import { isTerminalJobProgressState, validateJobProgressSnapshot } from "./validation.js";
|
|
4
|
-
const DEFAULT_MINIMUM_INTERVAL_MS = 30_000;
|
|
5
|
-
const DEFAULT_PUBLISH_TIMEOUT_MS = 15_000;
|
|
6
|
-
export function createJobProgressReporter(options) {
|
|
7
|
-
const now = options.now ?? (() => new Date());
|
|
8
|
-
const minimumIntervalMs = nonNegativeInteger(options.minimumIntervalMs ?? DEFAULT_MINIMUM_INTERVAL_MS, "minimumIntervalMs");
|
|
9
|
-
const publishTimeoutMs = positiveInteger(options.publishTimeoutMs ?? DEFAULT_PUBLISH_TIMEOUT_MS, "publishTimeoutMs");
|
|
10
|
-
let current = options.previousSnapshot === undefined
|
|
11
|
-
? validateJobProgressSnapshot({
|
|
12
|
-
schema: JOB_PROGRESS_SCHEMA,
|
|
13
|
-
application: options.application,
|
|
14
|
-
component: options.component,
|
|
15
|
-
jobId: options.jobId,
|
|
16
|
-
sourceRevision: options.sourceRevision,
|
|
17
|
-
contractHash: options.contractHash,
|
|
18
|
-
sequence: 0,
|
|
19
|
-
state: options.initialState ?? "running",
|
|
20
|
-
phase: options.initialPhase ?? "starting",
|
|
21
|
-
startedAt: options.startedAt,
|
|
22
|
-
updatedAt: options.startedAt,
|
|
23
|
-
...(options.deadlineAt === undefined ? {} : { deadlineAt: options.deadlineAt }),
|
|
24
|
-
tracks: options.initialTracks,
|
|
25
|
-
})
|
|
26
|
-
: validatePreviousSnapshot(options, options.previousSnapshot);
|
|
27
|
-
const resumed = options.previousSnapshot !== undefined;
|
|
28
|
-
let lastQueuedAtMs = resumed ? Date.parse(current.updatedAt) : Number.NEGATIVE_INFINITY;
|
|
29
|
-
let lastQueuedSequence = -1;
|
|
30
|
-
let lastPublishedSequence = resumed ? current.sequence : -1;
|
|
31
|
-
let queuedOperation;
|
|
32
|
-
let tail = Promise.resolve();
|
|
33
|
-
const enqueue = (snapshot) => {
|
|
34
|
-
if (lastQueuedSequence === snapshot.sequence && queuedOperation !== undefined) {
|
|
35
|
-
return queuedOperation;
|
|
36
|
-
}
|
|
37
|
-
lastQueuedAtMs = Date.parse(snapshot.updatedAt);
|
|
38
|
-
lastQueuedSequence = snapshot.sequence;
|
|
39
|
-
const started = tail.then(() => startPublication(options.publish, cloneSnapshot(snapshot), publishTimeoutMs));
|
|
40
|
-
const operation = started.then(async (publication) => {
|
|
41
|
-
await publication.result;
|
|
42
|
-
lastPublishedSequence = Math.max(lastPublishedSequence, snapshot.sequence);
|
|
43
|
-
});
|
|
44
|
-
queuedOperation = operation;
|
|
45
|
-
tail = started.then((publication) => publication.settled).catch(() => undefined);
|
|
46
|
-
void operation
|
|
47
|
-
.finally(() => {
|
|
48
|
-
if (lastQueuedSequence === snapshot.sequence) {
|
|
49
|
-
lastQueuedSequence = -1;
|
|
50
|
-
queuedOperation = undefined;
|
|
51
|
-
}
|
|
52
|
-
})
|
|
53
|
-
.catch(() => undefined);
|
|
54
|
-
return operation;
|
|
55
|
-
};
|
|
56
|
-
return {
|
|
57
|
-
async report(update) {
|
|
58
|
-
if (isTerminalJobProgressState(current.state)) {
|
|
59
|
-
throw new Error("job progress cannot change after a terminal state");
|
|
60
|
-
}
|
|
61
|
-
if (current.sequence >= Number.MAX_SAFE_INTEGER) {
|
|
62
|
-
throw new Error("job progress sequence is exhausted");
|
|
63
|
-
}
|
|
64
|
-
const timestamp = now().toISOString();
|
|
65
|
-
const state = update.state ?? current.state;
|
|
66
|
-
const phase = update.phase ?? current.phase;
|
|
67
|
-
const finishedAt = isTerminalJobProgressState(state)
|
|
68
|
-
? (update.finishedAt ?? timestamp)
|
|
69
|
-
: update.finishedAt;
|
|
70
|
-
const tracks = isTerminalJobProgressState(state)
|
|
71
|
-
? terminalizeTracks(update.tracks ?? current.tracks, state)
|
|
72
|
-
: (update.tracks ?? current.tracks);
|
|
73
|
-
const next = validateJobProgressSnapshot({
|
|
74
|
-
...current,
|
|
75
|
-
sequence: current.sequence + 1,
|
|
76
|
-
state,
|
|
77
|
-
phase,
|
|
78
|
-
updatedAt: timestamp,
|
|
79
|
-
tracks,
|
|
80
|
-
...(update.cost === undefined ? {} : { cost: update.cost }),
|
|
81
|
-
...(finishedAt === undefined ? {} : { finishedAt }),
|
|
82
|
-
});
|
|
83
|
-
assertMonotonicTracks(current, next);
|
|
84
|
-
const publishNow = update.force === true ||
|
|
85
|
-
phase !== current.phase ||
|
|
86
|
-
isTerminalJobProgressState(state) ||
|
|
87
|
-
Date.parse(timestamp) - lastQueuedAtMs >= minimumIntervalMs;
|
|
88
|
-
current = next;
|
|
89
|
-
if (!publishNow)
|
|
90
|
-
return { snapshot: cloneSnapshot(next), published: false };
|
|
91
|
-
await enqueue(next);
|
|
92
|
-
return { snapshot: cloneSnapshot(next), published: true };
|
|
93
|
-
},
|
|
94
|
-
async flush() {
|
|
95
|
-
const snapshot = current;
|
|
96
|
-
if (lastPublishedSequence >= snapshot.sequence) {
|
|
97
|
-
await tail;
|
|
98
|
-
return { snapshot: cloneSnapshot(snapshot), published: false };
|
|
99
|
-
}
|
|
100
|
-
await enqueue(snapshot);
|
|
101
|
-
return { snapshot: cloneSnapshot(snapshot), published: true };
|
|
102
|
-
},
|
|
103
|
-
snapshot() {
|
|
104
|
-
return cloneSnapshot(current);
|
|
105
|
-
},
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
export function estimateJobProgress(snapshots, now = new Date()) {
|
|
109
|
-
if (snapshots.length === 0)
|
|
110
|
-
throw new Error("job progress estimation requires at least one snapshot");
|
|
111
|
-
const validated = snapshots
|
|
112
|
-
.map(validateJobProgressSnapshot)
|
|
113
|
-
.sort((left, right) => left.sequence - right.sequence);
|
|
114
|
-
const latest = validated.at(-1);
|
|
115
|
-
for (const snapshot of validated)
|
|
116
|
-
assertSameIdentity(latest, snapshot);
|
|
117
|
-
for (let index = 1; index < validated.length; index += 1) {
|
|
118
|
-
const previous = validated[index - 1];
|
|
119
|
-
const current = validated[index];
|
|
120
|
-
if (previous.sequence === current.sequence) {
|
|
121
|
-
throw new Error(`job progress sequence ${current.sequence} is duplicated`);
|
|
122
|
-
}
|
|
123
|
-
if (Date.parse(previous.updatedAt) > Date.parse(current.updatedAt)) {
|
|
124
|
-
throw new Error("job progress updatedAt must not decrease as sequence increases");
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
const keys = latest.tracks.map((track) => track.key);
|
|
128
|
-
const tracks = keys.map((key) => {
|
|
129
|
-
const samples = validated.flatMap((snapshot) => {
|
|
130
|
-
const track = snapshot.tracks.find((candidate) => candidate.key === key);
|
|
131
|
-
return track === undefined ? [] : [{ at: snapshot.updatedAt, data: track.data }];
|
|
132
|
-
});
|
|
133
|
-
return { key, samples, estimate: estimateProgress(key, samples, now) };
|
|
134
|
-
});
|
|
135
|
-
return {
|
|
136
|
-
snapshot: cloneSnapshot(latest),
|
|
137
|
-
tracks,
|
|
138
|
-
estimates: tracks.map((track) => track.estimate),
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
function terminalizeTracks(tracks, state) {
|
|
142
|
-
return tracks.map((track) => ({
|
|
143
|
-
key: track.key,
|
|
144
|
-
data: {
|
|
145
|
-
...track.data,
|
|
146
|
-
status: track.data.status === "completed" ||
|
|
147
|
-
track.data.status === "failed" ||
|
|
148
|
-
track.data.status === "cancelled"
|
|
149
|
-
? track.data.status
|
|
150
|
-
: state,
|
|
151
|
-
},
|
|
152
|
-
}));
|
|
153
|
-
}
|
|
154
|
-
function assertMonotonicTracks(previous, next) {
|
|
155
|
-
if (previous.phase !== next.phase)
|
|
156
|
-
return;
|
|
157
|
-
for (const track of next.tracks) {
|
|
158
|
-
const prior = previous.tracks.find((candidate) => candidate.key === track.key);
|
|
159
|
-
if (prior === undefined || resetsTrack(prior, track))
|
|
160
|
-
continue;
|
|
161
|
-
if (prior.data.completed !== undefined &&
|
|
162
|
-
track.data.completed !== undefined &&
|
|
163
|
-
track.data.completed < prior.data.completed) {
|
|
164
|
-
throw new Error(`job progress track ${track.key} completed value must not decrease`);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
function resetsTrack(previous, next) {
|
|
169
|
-
return (previous.data.phase !== next.data.phase ||
|
|
170
|
-
previous.data.unit !== next.data.unit ||
|
|
171
|
-
previous.data.total !== next.data.total);
|
|
172
|
-
}
|
|
173
|
-
function assertSameIdentity(expected, actual) {
|
|
174
|
-
for (const field of [
|
|
175
|
-
"application",
|
|
176
|
-
"component",
|
|
177
|
-
"jobId",
|
|
178
|
-
"sourceRevision",
|
|
179
|
-
"contractHash",
|
|
180
|
-
"startedAt",
|
|
181
|
-
]) {
|
|
182
|
-
if (expected[field] !== actual[field]) {
|
|
183
|
-
throw new Error(`job progress sample ${field} does not match`);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
function startPublication(publish, snapshot, timeoutMs) {
|
|
188
|
-
const controller = new AbortController();
|
|
189
|
-
let timeout;
|
|
190
|
-
const write = publish(snapshot, controller.signal);
|
|
191
|
-
const deadline = new Promise((_resolve, reject) => {
|
|
192
|
-
timeout = setTimeout(() => {
|
|
193
|
-
controller.abort();
|
|
194
|
-
reject(new Error(`job progress publication timed out after ${timeoutMs} ms`));
|
|
195
|
-
}, timeoutMs);
|
|
196
|
-
});
|
|
197
|
-
const result = Promise.race([write, deadline]).finally(() => {
|
|
198
|
-
if (timeout !== undefined)
|
|
199
|
-
clearTimeout(timeout);
|
|
200
|
-
});
|
|
201
|
-
return {
|
|
202
|
-
result,
|
|
203
|
-
settled: write.then(() => undefined, () => undefined),
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
function validatePreviousSnapshot(identity, previous) {
|
|
207
|
-
const validated = validateJobProgressSnapshot(previous);
|
|
208
|
-
for (const field of [
|
|
209
|
-
"application",
|
|
210
|
-
"component",
|
|
211
|
-
"jobId",
|
|
212
|
-
"sourceRevision",
|
|
213
|
-
"contractHash",
|
|
214
|
-
"startedAt",
|
|
215
|
-
]) {
|
|
216
|
-
if (identity[field] !== validated[field]) {
|
|
217
|
-
throw new Error(`job progress previous snapshot ${field} does not match`);
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
if (isTerminalJobProgressState(validated.state)) {
|
|
221
|
-
throw new Error("job progress cannot resume from a terminal snapshot");
|
|
222
|
-
}
|
|
223
|
-
if (identity.deadlineAt !== validated.deadlineAt) {
|
|
224
|
-
throw new Error("job progress previous snapshot deadlineAt does not match");
|
|
225
|
-
}
|
|
226
|
-
return validated;
|
|
227
|
-
}
|
|
228
|
-
function cloneSnapshot(snapshot) {
|
|
229
|
-
return structuredClone(snapshot);
|
|
230
|
-
}
|
|
231
|
-
function nonNegativeInteger(value, field) {
|
|
232
|
-
if (!Number.isSafeInteger(value) || value < 0) {
|
|
233
|
-
throw new Error(`${field} must be a non-negative safe integer`);
|
|
234
|
-
}
|
|
235
|
-
return value;
|
|
236
|
-
}
|
|
237
|
-
function positiveInteger(value, field) {
|
|
238
|
-
if (!Number.isSafeInteger(value) || value <= 0) {
|
|
239
|
-
throw new Error(`${field} must be a positive safe integer`);
|
|
240
|
-
}
|
|
241
|
-
return value;
|
|
242
|
-
}
|
|
243
|
-
//# sourceMappingURL=reporter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../../src/job-progress/reporter.ts"],"names":[],"mappings":"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"}
|