@pipelex/sdk 0.26.0 → 0.28.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 +2 -2
- package/dist/artifacts.d.ts +2 -4
- package/dist/artifacts.js +8 -4
- package/dist/artifacts.js.map +1 -1
- package/dist/client.d.ts +61 -19
- package/dist/client.js +80 -21
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/method-source.d.ts +3 -3
- package/dist/method-source.js +3 -3
- package/dist/models.d.ts +100 -10
- package/dist/prepare-inputs.d.ts +35 -34
- package/dist/prepare-inputs.js +110 -129
- package/dist/prepare-inputs.js.map +1 -1
- package/dist/product-models.d.ts +27 -1
- package/dist/runs.d.ts +47 -7
- package/dist/runs.js +42 -1
- package/dist/runs.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/architecture.md +11 -11
- package/docs/artifact-download.md +1 -1
- package/docs/build-routes.md +1 -1
- package/docs/crate-routes.md +49 -12
- package/docs/errors.md +2 -1
- package/docs/input-preparation.md +16 -19
- package/docs/run-results.md +15 -2
- package/package.json +1 -1
package/dist/prepare-inputs.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `prepareInputs` — signature-driven input preparation.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* `prepareInputs` — signature-driven input preparation. Reads the target pipe's
|
|
3
|
+
* declared inputs from the **input-form descriptor** `POST /v1/pipe-io` returns,
|
|
4
|
+
* interprets the caller's inputs top-down against it, uploads the file-bearing
|
|
5
|
+
* values, and returns rewritten inputs (canonical content carrying
|
|
6
6
|
* `pipelex-storage://` in `url`) plus one upload record per prepared asset.
|
|
7
7
|
*
|
|
8
8
|
* The method is named the same three ways every other method-taking operation
|
|
9
9
|
* takes it — inline `files`, a `method_ref` address, or a stored `method_id` —
|
|
10
|
-
* exactly one per call. All three are pass-throughs to `POST /v1/
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* exactly one per call. All three are pass-throughs to `POST /v1/pipe-io`, which
|
|
11
|
+
* resolves an address on the runner and an id on the platform, so nothing is
|
|
12
|
+
* expanded client-side. The route also SELECTS the pipe: the caller's qualified
|
|
13
|
+
* `pipe_ref`, else the method's own entry pipe, and the ref it answers with is
|
|
14
|
+
* the one prepared. It runs no dry run, so preparing inputs costs one static load.
|
|
13
15
|
*
|
|
14
16
|
* Per input, the caller may submit EITHER the **compact** value (a bare source /
|
|
15
17
|
* canonical `{url}` content) OR the explicit `{ concept, content }` envelope —
|
|
@@ -19,19 +21,33 @@
|
|
|
19
21
|
* `input_normalizer.py`).
|
|
20
22
|
*
|
|
21
23
|
* **The descriptor is the classifier, never the value's shape.** `input_form`
|
|
22
|
-
* (the MTHDS standard's artifact
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
24
|
+
* (the MTHDS standard's artifact) states the kind at every depth — `document` /
|
|
25
|
+
* `image` mark a file position, `object` recurses through `fields`, `list`
|
|
26
|
+
* through `item`, everything else passes through. That is what makes an
|
|
27
|
+
* OPTIONAL nested file field prepare like a required one, and a `text` field
|
|
28
|
+
* merely *named* `url` stay untouched: both were misread while the signature
|
|
29
|
+
* came from the rendered inputs template, whose file signal was a `url`-bearing
|
|
30
|
+
* dict. See `docs/input-preparation.md`, which `pipelex-sdk-python` mirrors case
|
|
31
|
+
* for case.
|
|
30
32
|
*/
|
|
31
|
-
import { InputPreparationError } from "./errors.js";
|
|
33
|
+
import { ApiResponseError, InputPreparationError } from "./errors.js";
|
|
32
34
|
import { uploadFile } from "./upload.js";
|
|
33
35
|
const PIPELEX_STORAGE_SCHEME = "pipelex-storage://";
|
|
34
36
|
const HTTP_URL_RE = /^https?:\/\//i;
|
|
37
|
+
/**
|
|
38
|
+
* The `error_type`s of the route's pipe-selection refusals — the only `422`s
|
|
39
|
+
* `prepareInputs` turns into an `InputPreparationError`. They are the runtime's
|
|
40
|
+
* entry-lookup classes, the vocabulary the run routes speak too: a ref that names
|
|
41
|
+
* no pipe, or no entry pipe at all, is `EntryPipeNotFoundError`; a code that
|
|
42
|
+
* matches pipes in several domains, or several `main_pipe` declarations, is
|
|
43
|
+
* `EntryPipeAmbiguousError`. Every other `422` (a malformed body, an over-limit
|
|
44
|
+
* file, a fetched package with no `.mthds` file, a stored method with no source)
|
|
45
|
+
* shares the generic `ValidationError` type and stays an `ApiResponseError`.
|
|
46
|
+
*/
|
|
47
|
+
const PIPE_SELECTION_ERROR_TYPES = new Set([
|
|
48
|
+
"EntryPipeNotFoundError",
|
|
49
|
+
"EntryPipeAmbiguousError",
|
|
50
|
+
]);
|
|
35
51
|
/** Strict plain-object test — excludes arrays, `Uint8Array`, `Blob`, and other exotics. */
|
|
36
52
|
function isPlainObject(value) {
|
|
37
53
|
return Object.prototype.toString.call(value) === "[object Object]";
|
|
@@ -198,7 +214,7 @@ async function resolveNode(ctx, node, callerValue) {
|
|
|
198
214
|
* Normalize and check the three selectors. Empty is absent (`files: []`,
|
|
199
215
|
* `method_ref: ""`, `method_id: " "`), mirroring the run options' rule and the
|
|
200
216
|
* Python `CrateRequestBase` normalisers, and exactly one must remain — the check
|
|
201
|
-
* lives here because this helper is the one that composes the `
|
|
217
|
+
* lives here because this helper is the one that composes the `pipeIo` call.
|
|
202
218
|
* The illegal shapes are compile errors for typed callers; this backs them up for
|
|
203
219
|
* untyped (JS) ones with a typed `InputPreparationError`.
|
|
204
220
|
*/
|
|
@@ -222,7 +238,8 @@ function resolveSelector(request) {
|
|
|
222
238
|
"catalog id).");
|
|
223
239
|
}
|
|
224
240
|
if (given.length > 1) {
|
|
225
|
-
throw new InputPreparationError(`Cannot prepare inputs: ${given.join(" and ")} were
|
|
241
|
+
throw new InputPreparationError(`Cannot prepare inputs: ${given.join(" and ")} were ${given.length === 2 ? "both" : "all"} ` +
|
|
242
|
+
"given. Supply exactly one method " +
|
|
226
243
|
"selector — `files`, `method_ref` or `method_id`.");
|
|
227
244
|
}
|
|
228
245
|
if (files !== undefined)
|
|
@@ -232,113 +249,84 @@ function resolveSelector(request) {
|
|
|
232
249
|
return { method_id: methodId };
|
|
233
250
|
}
|
|
234
251
|
/**
|
|
235
|
-
*
|
|
236
|
-
*
|
|
252
|
+
* Normalize the caller's `pipe_ref` and refuse, before any request, the two
|
|
253
|
+
* spellings preparation cannot honour. Empty is absent, so the route's selection
|
|
254
|
+
* chain decides.
|
|
237
255
|
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
256
|
+
* - A **bare** `pipe_code` is refused because a request names a pipe by its
|
|
257
|
+
* qualified ref. The route will refuse it too once the runner's shared
|
|
258
|
+
* selection enforces that rule; until then it would resolve a bare code across
|
|
259
|
+
* domains, and preparation does not lean on that fallback.
|
|
260
|
+
* - An **`alias->domain.pipe_code`** ref is refused because the alias names a
|
|
261
|
+
* dependency package's pipe, and preparation covers the method's own pipes: the
|
|
262
|
+
* crate routes do not load an address-based dependency at all. The run route
|
|
263
|
+
* takes such a ref; preparation refuses it, and that asymmetry is deliberate.
|
|
243
264
|
*/
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
if (
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
const sources = hasAnySource
|
|
252
|
-
? selector.files.map((file, index) => file.source ?? `inline://file-${index + 1}.mthds`)
|
|
253
|
-
: undefined;
|
|
254
|
-
result = await client.validate(contents, true, sources, undefined, ["input_form"]);
|
|
265
|
+
function normalizePipeRef(raw) {
|
|
266
|
+
const pipeRef = nonEmptyString(raw);
|
|
267
|
+
if (pipeRef === undefined)
|
|
268
|
+
return undefined;
|
|
269
|
+
if (pipeRef.includes("->")) {
|
|
270
|
+
throw new InputPreparationError(`Cannot prepare inputs: \`pipe_ref\` "${pipeRef}" names a dependency package's pipe. ` +
|
|
271
|
+
"Preparation covers the method's own pipes: name one as `domain.pipe_code`.");
|
|
255
272
|
}
|
|
256
|
-
|
|
257
|
-
|
|
273
|
+
if (!pipeRef.includes(".")) {
|
|
274
|
+
throw new InputPreparationError(`Cannot prepare inputs: \`pipe_ref\` must be qualified (\`domain.pipe_code\`), got the bare ` +
|
|
275
|
+
`"${pipeRef}".`);
|
|
258
276
|
}
|
|
259
|
-
|
|
260
|
-
const first = result.validation_errors[0]?.message ?? result.message;
|
|
261
|
-
throw new InputPreparationError(`Cannot prepare inputs: the method signature did not resolve — ${first}`);
|
|
262
|
-
}
|
|
263
|
-
return result;
|
|
277
|
+
return pipeRef;
|
|
264
278
|
}
|
|
265
279
|
/**
|
|
266
|
-
*
|
|
267
|
-
*
|
|
268
|
-
* the report's resolved default — read on the field's PRESENCE, never on its
|
|
269
|
-
* truthiness — and, behind an ABSENT field only, the bundle's declared
|
|
270
|
-
* `main_pipe` then the single pipe.
|
|
280
|
+
* Ask `POST /v1/pipe-io` for the pipe and its signature, whatever the selector,
|
|
281
|
+
* and hand back the valid report.
|
|
271
282
|
*
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
*
|
|
278
|
-
*
|
|
279
|
-
* parsed body is handed through untouched, so strict `=== undefined` is the whole
|
|
280
|
-
* absence test.
|
|
283
|
+
* The route runs no dry run and does not refuse a method with pending
|
|
284
|
+
* signatures elsewhere: preparation needs a pipe's DECLARED inputs, and whether
|
|
285
|
+
* the method runs is the run's verdict, not preparation's. The `is_valid: false`
|
|
286
|
+
* arm means the closure does not load, which is a preparation failure. So is a
|
|
287
|
+
* selection the route refuses — an unknown `pipe_ref`, no entry pipe, several —
|
|
288
|
+
* which it answers with a `422` typed by one of {@link PIPE_SELECTION_ERROR_TYPES};
|
|
289
|
+
* every other failure is re-thrown unchanged.
|
|
281
290
|
*/
|
|
282
|
-
function
|
|
283
|
-
const
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
throw new InputPreparationError(`Cannot prepare inputs: \`pipe_ref\` must be qualified (\`domain.pipe_code\`), got the bare ` +
|
|
288
|
-
`"${requested}". The method declares: ${candidates}.`);
|
|
289
|
-
}
|
|
290
|
-
if (!(requested in inputForm)) {
|
|
291
|
-
throw new InputPreparationError(`Cannot prepare inputs: the method declares no pipe "${requested}". It declares: ${candidates}.`);
|
|
292
|
-
}
|
|
293
|
-
return requested;
|
|
291
|
+
async function fetchSignature(client, selector, pipeRef) {
|
|
292
|
+
const request = pipeRef === undefined ? { ...selector } : { ...selector, pipe_ref: pipeRef };
|
|
293
|
+
let result;
|
|
294
|
+
try {
|
|
295
|
+
result = await client.pipeIo(request);
|
|
294
296
|
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
// no pipe would not resolve one either. Neither fallback stands behind it.
|
|
303
|
-
throw new InputPreparationError(`Cannot prepare inputs: the server determined no entry pipe for this method, so a run that ` +
|
|
304
|
-
`names no pipe would not resolve one (no \`main_pipe\` is declared, or the package manifest ` +
|
|
305
|
-
`names a pipe the closure does not declare or declares in several domains). Pass ` +
|
|
306
|
-
`\`pipe_ref\`. It declares: ${candidates}.`);
|
|
297
|
+
catch (error) {
|
|
298
|
+
if (error instanceof ApiResponseError &&
|
|
299
|
+
error.status === 422 &&
|
|
300
|
+
error.errorType !== undefined &&
|
|
301
|
+
PIPE_SELECTION_ERROR_TYPES.has(error.errorType)) {
|
|
302
|
+
const detail = error.serverMessage ?? error.message;
|
|
303
|
+
throw new InputPreparationError(`Cannot prepare inputs: ${detail}`, { cause: error });
|
|
307
304
|
}
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
`its \`input_form\` descriptor does not describe it. Pass \`pipe_ref\`. It declares: ${candidates}.`);
|
|
314
|
-
}
|
|
315
|
-
return statedDefault;
|
|
305
|
+
throw error;
|
|
306
|
+
}
|
|
307
|
+
if (!result.is_valid) {
|
|
308
|
+
const first = result.validation_errors[0]?.message ?? result.message;
|
|
309
|
+
throw new InputPreparationError(`Cannot prepare inputs: the method signature did not resolve — ${first}`);
|
|
316
310
|
}
|
|
317
|
-
|
|
318
|
-
// on purpose, so read it defensively and fall through rather than trust it.
|
|
319
|
-
const blueprintDefault = readBlueprintMainPipeRef(report.bundle_blueprint);
|
|
320
|
-
if (blueprintDefault !== undefined && blueprintDefault in inputForm)
|
|
321
|
-
return blueprintDefault;
|
|
322
|
-
if (refs.length === 1)
|
|
323
|
-
return refs[0];
|
|
324
|
-
throw new InputPreparationError(`Cannot prepare inputs: the method declares no single default pipe, so \`pipe_ref\` is required. ` +
|
|
325
|
-
`It declares: ${candidates}.`);
|
|
311
|
+
return result;
|
|
326
312
|
}
|
|
327
313
|
/**
|
|
328
|
-
* The
|
|
329
|
-
*
|
|
330
|
-
*
|
|
314
|
+
* The descriptor of the pipe the route selected. The route answers a
|
|
315
|
+
* single-pipe request with `input_form` keyed by exactly the `pipe_ref` it
|
|
316
|
+
* resolved, so a missing ref or a missing key is the answer contradicting itself
|
|
317
|
+
* — preparing any other pipe would silently walk the wrong signature.
|
|
331
318
|
*/
|
|
332
|
-
function
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
319
|
+
function selectedDescriptor(report) {
|
|
320
|
+
const pipeRef = nonEmptyString(report.pipe_ref);
|
|
321
|
+
const inputForm = report.input_form;
|
|
322
|
+
if (pipeRef === undefined || !isPlainObject(inputForm) || !Object.hasOwn(inputForm, pipeRef)) {
|
|
323
|
+
const described = isPlainObject(inputForm)
|
|
324
|
+
? Object.keys(inputForm).join(", ") || "none"
|
|
325
|
+
: "none";
|
|
326
|
+
throw new InputPreparationError(`Cannot prepare inputs: the pipe I/O answer selected ${pipeRef === undefined ? "no pipe" : `"${pipeRef}"`}, ` +
|
|
327
|
+
`but its \`input_form\` does not describe it (it describes: ${described}).`);
|
|
328
|
+
}
|
|
329
|
+
return inputForm[pipeRef];
|
|
342
330
|
}
|
|
343
331
|
/**
|
|
344
332
|
* Prepare a pipe's inputs: upload local/byte/data-URL assets at the signature's
|
|
@@ -346,27 +334,20 @@ function readBlueprintMainPipeRef(blueprint) {
|
|
|
346
334
|
* records. HTTP(S) URLs and existing `pipelex-storage://` URIs pass through
|
|
347
335
|
* unchanged. All failures are raised before any run is created.
|
|
348
336
|
*
|
|
349
|
-
* The signature
|
|
350
|
-
*
|
|
351
|
-
*
|
|
352
|
-
*
|
|
353
|
-
* {@link InputPreparationError};
|
|
354
|
-
* malformed selector, an unknown or foreign-org
|
|
355
|
-
* auth, a server fault
|
|
337
|
+
* The pipe and its signature come from one `POST /v1/pipe-io`, whatever the
|
|
338
|
+
* selector — inline `files`, a `method_ref` the runner resolves, or a
|
|
339
|
+
* `method_id` the platform resolves. A bare or alias-qualified `pipe_ref`, a
|
|
340
|
+
* closure that does not load, and a selection the route refuses (an unknown
|
|
341
|
+
* `pipe_ref`, no entry pipe, several) throw {@link InputPreparationError}; any
|
|
342
|
+
* other failure from the route (a malformed selector, an unknown or foreign-org
|
|
343
|
+
* id, no package at the address, auth, a server fault, a deployment that does not
|
|
344
|
+
* serve the route) surfaces as `ApiResponseError`, unchanged.
|
|
356
345
|
*/
|
|
357
346
|
export async function prepareInputs(client, request) {
|
|
358
347
|
const selector = resolveSelector(request);
|
|
359
|
-
const
|
|
360
|
-
const
|
|
361
|
-
|
|
362
|
-
// Never a silent degrade to "no uploads": without the descriptor there is no
|
|
363
|
-
// signature to prepare against.
|
|
364
|
-
throw new InputPreparationError("Cannot prepare inputs: the validate report carries no `input_form` descriptor — the signature " +
|
|
365
|
-
'preparation reads. The descriptor rides `views: ["input_form"]` on pipelex-api >= 0.18.0; ' +
|
|
366
|
-
"point the client at a runner that serves it.");
|
|
367
|
-
}
|
|
368
|
-
const pipeRef = selectPipeRef(report, inputForm, nonEmptyString(request.pipe_ref));
|
|
369
|
-
const descriptor = inputForm[pipeRef];
|
|
348
|
+
const pipeRef = normalizePipeRef(request.pipe_ref);
|
|
349
|
+
const report = await fetchSignature(client, selector, pipeRef);
|
|
350
|
+
const descriptor = selectedDescriptor(report);
|
|
370
351
|
const declared = new Map(descriptor.fields.map((field) => [field.name, field]));
|
|
371
352
|
const ctx = { client, uploads: [], dedup: new Map() };
|
|
372
353
|
const rewritten = { ...request.inputs };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-inputs.js","sourceRoot":"","sources":["../src/prepare-inputs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prepare-inputs.js","sourceRoot":"","sources":["../src/prepare-inputs.ts"],"names":[],"mappings":"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"}
|
package/dist/product-models.d.ts
CHANGED
|
@@ -271,6 +271,10 @@ export interface UploadGrant {
|
|
|
271
271
|
}
|
|
272
272
|
/** Per-pipe progress marker surfaced in a run's `pipe_statuses` map. */
|
|
273
273
|
export type PipeStatus = "scheduled" | "running" | "succeeded" | "failed" | "skipped";
|
|
274
|
+
/**
|
|
275
|
+
* A run's record — the base of `RunDetail`, which `getRunDetail` returns. The run-history list
|
|
276
|
+
* does not return it: its rows are the slimmer `RunHistoryItem`.
|
|
277
|
+
*/
|
|
274
278
|
export interface PipelineRun {
|
|
275
279
|
pipeline_run_id: string;
|
|
276
280
|
/** `null` on an ad-hoc run — one started from an inline bundle belongs to no
|
|
@@ -294,6 +298,28 @@ export interface PipelineRun {
|
|
|
294
298
|
* WHY a run failed rather than showing a generic message. */
|
|
295
299
|
error?: RunErrorReport | null;
|
|
296
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* One row of a method's run history — an item of `listRuns`' page and of `iterateRuns`.
|
|
303
|
+
*
|
|
304
|
+
* Exactly what a history row shows, and nothing more: the run's id, when it started and
|
|
305
|
+
* finished, whether it succeeded, which pipe it ran and, for a failed run, why. The rest of the
|
|
306
|
+
* run's record — its organization, its creator, its method (the caller just named it), its
|
|
307
|
+
* workflow id — is not sent on the list; read it with `getRunDetail` (or `getRunStatus`) once a
|
|
308
|
+
* run is opened.
|
|
309
|
+
*/
|
|
310
|
+
export interface RunHistoryItem {
|
|
311
|
+
pipeline_run_id: string;
|
|
312
|
+
status: RunStatus;
|
|
313
|
+
/** ISO-8601 instant the run was created. */
|
|
314
|
+
created_at: string;
|
|
315
|
+
/** ISO-8601 instant the run reached a terminal status; `null` or absent while it runs. */
|
|
316
|
+
finished_at?: string | null;
|
|
317
|
+
/** `null` when the runner resolved the pipe from the bundle's `main_pipe`. */
|
|
318
|
+
pipe_code?: string | null;
|
|
319
|
+
/** The runner's stored error report — present only on a failed run that recorded one,
|
|
320
|
+
* so opening it from history shows why without another read. */
|
|
321
|
+
error?: RunErrorReport | null;
|
|
322
|
+
}
|
|
297
323
|
/**
|
|
298
324
|
* A single run, whole — `GET /v1/runs/{id}`.
|
|
299
325
|
*
|
|
@@ -338,7 +364,7 @@ export interface ListRunsQuery {
|
|
|
338
364
|
* avoid.
|
|
339
365
|
*/
|
|
340
366
|
export interface RunPage {
|
|
341
|
-
items:
|
|
367
|
+
items: RunHistoryItem[];
|
|
342
368
|
nextCursor: string | null;
|
|
343
369
|
}
|
|
344
370
|
/** The admin/manual run-status patch — `status` is a free string here. */
|
package/dist/runs.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ import type { DictPipeOutput, DictWorkingMemory } from "./models.js";
|
|
|
17
17
|
* Wire contract mirrors the Pipelex Hosted API:
|
|
18
18
|
* POST /v1/start → RunResultStart (start, 202)
|
|
19
19
|
* GET /v1/runs/{pipeline_run_id}/status → RunRead (status, self-healing)
|
|
20
|
-
* GET /v1/runs/{pipeline_run_id}/results → 202 / 200 / 409 (results)
|
|
20
|
+
* GET /v1/runs/{pipeline_run_id}/results → 202 / 200 / 409 (results; `?artifacts=` narrows it)
|
|
21
21
|
*/
|
|
22
22
|
/**
|
|
23
23
|
* Hosted run lifecycle status. Mirrors `pipelex_shared.schemas.run.RunStatus`
|
|
@@ -122,16 +122,50 @@ export interface TokensUsageRecord {
|
|
|
122
122
|
/** Legacy fields on a pre-contract artifact relayed verbatim (`job_metadata`, `unit_costs`). */
|
|
123
123
|
[extension: string]: unknown;
|
|
124
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* The result artifacts a results read can be narrowed to, in the platform's order. Passing some
|
|
127
|
+
* of them as `artifacts` to `getRunResult` (or `waitForResult` / `startAndWaitForResult`) sends
|
|
128
|
+
* `?artifacts=` and the platform reads, re-signs and returns only those. `tokens_usages` brings
|
|
129
|
+
* `usage_assembly_error` with it.
|
|
130
|
+
*/
|
|
131
|
+
export declare const RUN_RESULT_ARTIFACTS: readonly ["graph_spec", "pipe_io_contracts", "input_form", "output_form", "main_stuff", "working_memory", "tokens_usages"];
|
|
132
|
+
/** One result artifact a results read can be narrowed to — see `RUN_RESULT_ARTIFACTS`. */
|
|
133
|
+
export type RunResultArtifact = (typeof RUN_RESULT_ARTIFACTS)[number];
|
|
134
|
+
/**
|
|
135
|
+
* Refuse an artifact selection the platform would answer with a 400: an empty one, or one naming
|
|
136
|
+
* an artifact it does not know. `undefined` is no selection, which reads every artifact.
|
|
137
|
+
*/
|
|
138
|
+
export declare function assertArtifactSelection(artifacts: readonly string[] | undefined): void;
|
|
139
|
+
/** Whether a results read with this selection carries `main_stuff` — no selection reads all. */
|
|
140
|
+
export declare function selectionIncludesMainStuff(artifacts: readonly RunResultArtifact[] | undefined): boolean;
|
|
141
|
+
/** `getRunResult` options. */
|
|
142
|
+
export interface GetRunResultOptions {
|
|
143
|
+
/** Abort the read. */
|
|
144
|
+
signal?: AbortSignal;
|
|
145
|
+
/**
|
|
146
|
+
* Read only these artifacts, sent as one comma-separated `?artifacts=` parameter. Omitted, the
|
|
147
|
+
* read returns every artifact. With a selection, an unselected artifact is ABSENT from the
|
|
148
|
+
* result (`undefined`), while a selected one the run never wrote is `null`. An empty selection
|
|
149
|
+
* or an unknown name is a `RangeError` before any request.
|
|
150
|
+
*/
|
|
151
|
+
artifacts?: readonly RunResultArtifact[];
|
|
152
|
+
}
|
|
125
153
|
/**
|
|
126
154
|
* Result artifacts for a completed run — `GET /v1/runs/{pipeline_run_id}/results`.
|
|
127
155
|
*
|
|
156
|
+
* **Absent versus null.** A read narrowed with `artifacts` carries only the artifacts it named: an
|
|
157
|
+
* unselected artifact is absent (`undefined`), a selected one the run did not write is `null`.
|
|
158
|
+
* Without a selection every artifact field is present on the hosted path. So `undefined` means
|
|
159
|
+
* "not asked for" and `null` means "asked for, not there".
|
|
160
|
+
*
|
|
128
161
|
* `main_stuff` is the resolved main output content and is ALWAYS present for a
|
|
129
162
|
* completed run (the pipelex >= 0.37 main-stuff invariant): on the hosted path it
|
|
130
163
|
* is the `main_stuff.json` S3 artifact relayed verbatim; on the bare-runner blocking
|
|
131
164
|
* path the SDK resolves it from the returned working memory via the run's
|
|
132
165
|
* `main_stuff_name`, so both paths deliver the same content shape. Consumers read
|
|
133
166
|
* `main_stuff` directly — no shape-guessing. A completed run that cannot deliver a
|
|
134
|
-
* main stuff throws `MissingMainStuffError
|
|
167
|
+
* main stuff throws `MissingMainStuffError` — when the read asked for it, which a read with no
|
|
168
|
+
* selection does.
|
|
135
169
|
*/
|
|
136
170
|
export interface RunResults {
|
|
137
171
|
pipeline_run_id: string;
|
|
@@ -140,9 +174,10 @@ export interface RunResults {
|
|
|
140
174
|
* because the content is polymorphic: a structured output is an object of the concept's fields,
|
|
141
175
|
* a multiple output the envelope `{ items: [...] }` the runtime's `ListContent` serialises to,
|
|
142
176
|
* and a native is wrapped too (`{ text }`, `{ number }`). It may be a valid empty value — an
|
|
143
|
-
* empty `items`, an empty `text` — but it is never
|
|
177
|
+
* empty `items`, an empty `text` — but it is never null. It is absent only from a read whose
|
|
178
|
+
* `artifacts` selection left it out. See `docs/run-results.md`.
|
|
144
179
|
*/
|
|
145
|
-
main_stuff
|
|
180
|
+
main_stuff?: unknown;
|
|
146
181
|
/**
|
|
147
182
|
* The run's working memory — every named stuff of the run (`{ root, aliases }`), the inputs it
|
|
148
183
|
* was given and the intermediates it produced as well as the main output, each stuff carried as
|
|
@@ -283,13 +318,18 @@ export interface WaitForResultOptions {
|
|
|
283
318
|
attempt: number;
|
|
284
319
|
elapsedMs: number;
|
|
285
320
|
}) => void;
|
|
321
|
+
/**
|
|
322
|
+
* Read only these result artifacts on each poll — `getRunResult`'s `artifacts`. The 202 a
|
|
323
|
+
* running run answers carries nothing, so the selection only shapes the completed result.
|
|
324
|
+
* `startAndWaitForResult`'s blocking fallback on a bare runner ignores it and returns every
|
|
325
|
+
* artifact the runner sent.
|
|
326
|
+
*/
|
|
327
|
+
artifacts?: readonly RunResultArtifact[];
|
|
286
328
|
}
|
|
287
329
|
export declare const DEFAULT_POLL_INTERVAL_MS = 2000;
|
|
288
330
|
export declare const DEFAULT_WAIT_TIMEOUT_MS = 1200000;
|
|
289
331
|
/** A single result lookup — the primitive the poll loop drives. */
|
|
290
|
-
export type FetchResultOnce = (runId: string, options?:
|
|
291
|
-
signal?: AbortSignal;
|
|
292
|
-
}) => Promise<RunResultState>;
|
|
332
|
+
export type FetchResultOnce = (runId: string, options?: GetRunResultOptions) => Promise<RunResultState>;
|
|
293
333
|
/**
|
|
294
334
|
* Refuse wait options no poll loop can honour. A NaN would reach the sleep's timer as a
|
|
295
335
|
* 1 ms delay and poll in a tight loop. `startAndWaitForResult` calls this before it starts
|
package/dist/runs.js
CHANGED
|
@@ -15,6 +15,44 @@ export function isTerminalRunStatus(status) {
|
|
|
15
15
|
export function isSuccessRunStatus(status) {
|
|
16
16
|
return status === "COMPLETED";
|
|
17
17
|
}
|
|
18
|
+
// ── Results artifact selection ───────────────────────────────────
|
|
19
|
+
/**
|
|
20
|
+
* The result artifacts a results read can be narrowed to, in the platform's order. Passing some
|
|
21
|
+
* of them as `artifacts` to `getRunResult` (or `waitForResult` / `startAndWaitForResult`) sends
|
|
22
|
+
* `?artifacts=` and the platform reads, re-signs and returns only those. `tokens_usages` brings
|
|
23
|
+
* `usage_assembly_error` with it.
|
|
24
|
+
*/
|
|
25
|
+
export const RUN_RESULT_ARTIFACTS = [
|
|
26
|
+
"graph_spec",
|
|
27
|
+
"pipe_io_contracts",
|
|
28
|
+
"input_form",
|
|
29
|
+
"output_form",
|
|
30
|
+
"main_stuff",
|
|
31
|
+
"working_memory",
|
|
32
|
+
"tokens_usages",
|
|
33
|
+
];
|
|
34
|
+
/**
|
|
35
|
+
* Refuse an artifact selection the platform would answer with a 400: an empty one, or one naming
|
|
36
|
+
* an artifact it does not know. `undefined` is no selection, which reads every artifact.
|
|
37
|
+
*/
|
|
38
|
+
export function assertArtifactSelection(artifacts) {
|
|
39
|
+
if (artifacts === undefined)
|
|
40
|
+
return;
|
|
41
|
+
if (!Array.isArray(artifacts) || artifacts.length === 0) {
|
|
42
|
+
throw new RangeError(`"artifacts" must name one or more of ${RUN_RESULT_ARTIFACTS.join(", ")}; omit it to read ` +
|
|
43
|
+
"every artifact.");
|
|
44
|
+
}
|
|
45
|
+
const known = RUN_RESULT_ARTIFACTS;
|
|
46
|
+
const unknown = artifacts.filter((name) => !known.includes(name));
|
|
47
|
+
if (unknown.length > 0) {
|
|
48
|
+
throw new RangeError(`Unknown result artifact(s) ${unknown.join(", ")}; valid artifacts are: ` +
|
|
49
|
+
`${RUN_RESULT_ARTIFACTS.join(", ")}.`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/** Whether a results read with this selection carries `main_stuff` — no selection reads all. */
|
|
53
|
+
export function selectionIncludesMainStuff(artifacts) {
|
|
54
|
+
return artifacts === undefined || artifacts.includes("main_stuff");
|
|
55
|
+
}
|
|
18
56
|
// ── Poll loop ───────────────────────────────────────────────────────
|
|
19
57
|
export const DEFAULT_POLL_INTERVAL_MS = 2_000;
|
|
20
58
|
export const DEFAULT_WAIT_TIMEOUT_MS = 1_200_000; // 20 min — matches the runner's blocking execute ceiling.
|
|
@@ -29,6 +67,7 @@ export function assertWaitOptions(options = {}) {
|
|
|
29
67
|
throw new RangeError(`"intervalMs" and "timeoutMs" must be numbers, got ${String(intervalMs)} and ` +
|
|
30
68
|
`${String(timeoutMs)}.`);
|
|
31
69
|
}
|
|
70
|
+
assertArtifactSelection(options.artifacts);
|
|
32
71
|
}
|
|
33
72
|
/**
|
|
34
73
|
* Poll a single-shot result lookup (`fetchOnce`) until the run reaches a
|
|
@@ -55,7 +94,9 @@ export async function pollUntilResult(fetchOnce, runId, options = {}) {
|
|
|
55
94
|
if (elapsedMs >= timeoutMs) {
|
|
56
95
|
throw new RunTimeoutError(`Run ${runId} did not reach a terminal state within ${timeoutMs}ms.`, runId, timeoutMs);
|
|
57
96
|
}
|
|
58
|
-
const state = await fetchOnce(runId,
|
|
97
|
+
const state = await fetchOnce(runId, options.artifacts === undefined
|
|
98
|
+
? { signal: options.signal }
|
|
99
|
+
: { signal: options.signal, artifacts: options.artifacts });
|
|
59
100
|
if (state.state === "completed") {
|
|
60
101
|
return state.result;
|
|
61
102
|
}
|
package/dist/runs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAyCjD,MAAM,qBAAqB,GAA2B,IAAI,GAAG,CAAY;IACvE,WAAW;IACX,QAAQ;IACR,WAAW;IACX,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,OAAO,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,OAAO,MAAM,KAAK,WAAW,CAAC;AAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED