@pipelex/sdk 0.15.0 → 0.17.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 +9 -0
- package/dist/client.d.ts +147 -59
- package/dist/client.js +237 -74
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts +5 -3
- package/dist/errors.js +5 -3
- package/dist/errors.js.map +1 -1
- package/dist/execute-result.d.ts +11 -1
- package/dist/execute-result.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/models.d.ts +116 -16
- package/dist/prepare-inputs.d.ts +66 -61
- package/dist/prepare-inputs.js +213 -96
- package/dist/prepare-inputs.js.map +1 -1
- package/package.json +2 -2
package/dist/prepare-inputs.d.ts
CHANGED
|
@@ -1,50 +1,71 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `prepareInputs` — signature-driven input preparation. Resolves the target
|
|
3
|
-
* pipe's declared inputs
|
|
4
|
-
* caller's inputs top-down against it, uploads the
|
|
5
|
-
* returns rewritten inputs (canonical content carrying
|
|
6
|
-
* `url`) plus one upload record per prepared asset.
|
|
3
|
+
* pipe's declared inputs from the **input-form descriptor** on the validate
|
|
4
|
+
* report, interprets the caller's inputs top-down against it, uploads the
|
|
5
|
+
* file-bearing values, and returns rewritten inputs (canonical content carrying
|
|
6
|
+
* `pipelex-storage://` in `url`) plus one upload record per prepared asset.
|
|
7
|
+
*
|
|
8
|
+
* The method is named the same three ways every other method-taking operation
|
|
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/validate`,
|
|
11
|
+
* which resolves an address on the runner and an id on the platform, so nothing
|
|
12
|
+
* is expanded client-side.
|
|
7
13
|
*
|
|
8
14
|
* Per input, the caller may submit EITHER the **compact** value (a bare source /
|
|
9
|
-
* canonical `{url}` content) OR the explicit `{ concept, content }` envelope
|
|
10
|
-
* `
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* `
|
|
15
|
+
* canonical `{url}` content) OR the explicit `{ concept, content }` envelope —
|
|
16
|
+
* its `content` is interpreted exactly as the compact value would be, and the
|
|
17
|
+
* envelope is preserved on output (the `concept` annotation rides through; the
|
|
18
|
+
* runtime accepts it — see `pipelex`'s `input_shaper.py` `_is_explicit` /
|
|
19
|
+
* `input_normalizer.py`).
|
|
14
20
|
*
|
|
15
|
-
* The
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
21
|
+
* **The descriptor is the classifier, never the value's shape.** `input_form`
|
|
22
|
+
* (the MTHDS standard's artifact, opted into with `views: ["input_form"]`)
|
|
23
|
+
* states the kind at every depth — `document` / `image` mark a file position,
|
|
24
|
+
* `object` recurses through `fields`, `list` through `item`, everything else
|
|
25
|
+
* passes through. That is what makes an OPTIONAL nested file field prepare like
|
|
26
|
+
* a required one, and a `text` field merely *named* `url` stay untouched: both
|
|
27
|
+
* were misread while the signature came from the rendered inputs template, whose
|
|
28
|
+
* file signal was a `url`-bearing dict. See `docs/input-preparation.md` and the
|
|
29
|
+
* shared behavior matrix (`wip/upload/behavior-matrix.md`).
|
|
22
30
|
*/
|
|
23
|
-
import type {
|
|
31
|
+
import type { MthdsFileItem, PipelexValidationResult, ValidateMethodSelector } from "./models.js";
|
|
24
32
|
import type { UploadCapableClient, UploadRecord } from "./upload.js";
|
|
25
|
-
/** The
|
|
26
|
-
interface PrepareInputsBase {
|
|
27
|
-
/**
|
|
33
|
+
/** The shared half of the request: the target pipe and the caller's inputs. */
|
|
34
|
+
export interface PrepareInputsBase {
|
|
35
|
+
/**
|
|
36
|
+
* The pipe to prepare inputs for, as a QUALIFIED `domain.pipe_code` ref. Omit
|
|
37
|
+
* it to default — see "Pipe selection" in `docs/input-preparation.md`. A bare
|
|
38
|
+
* `pipe_code` is refused: the descriptor is keyed by qualified refs, and search
|
|
39
|
+
* is a run-route affordance this helper deliberately does not grow. So is an
|
|
40
|
+
* `alias->domain.pipe_code` ref: the alias names a dependency package's pipe,
|
|
41
|
+
* which the descriptor does not describe (it covers the method's own pipes).
|
|
42
|
+
*/
|
|
28
43
|
pipe_ref?: string;
|
|
29
|
-
/** The caller's
|
|
44
|
+
/** The caller's inputs (variable name → value), compact or explicit-envelope per input. */
|
|
30
45
|
inputs: Record<string, unknown>;
|
|
31
46
|
}
|
|
32
47
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
48
|
+
* How the method is named — exactly one of the three selectors, each pinning the
|
|
49
|
+
* other two to `never` so a second one is a compile error (the same XOR
|
|
50
|
+
* `ValidateMethodSelector` states for the tooling routes). All three reach the
|
|
51
|
+
* server as-is: `files` inline, `method_ref` resolved by the runner, `method_id`
|
|
52
|
+
* resolved by the platform.
|
|
38
53
|
*/
|
|
39
|
-
export type
|
|
40
|
-
/** The method closure — inline MTHDS files. This is the signature source. */
|
|
54
|
+
export type PrepareInputsClosure = {
|
|
41
55
|
files: MthdsFileItem[];
|
|
56
|
+
method_ref?: never;
|
|
57
|
+
method_id?: never;
|
|
58
|
+
} | {
|
|
59
|
+
method_ref: string;
|
|
60
|
+
files?: never;
|
|
42
61
|
method_id?: never;
|
|
43
|
-
}
|
|
44
|
-
/** A stored method's id — resolved client-side to its closure before the build call. */
|
|
62
|
+
} | {
|
|
45
63
|
method_id: string;
|
|
46
64
|
files?: never;
|
|
47
|
-
|
|
65
|
+
method_ref?: never;
|
|
66
|
+
};
|
|
67
|
+
/** What `prepareInputs` takes: one method selector, the target pipe, the caller's inputs. */
|
|
68
|
+
export type PrepareInputsRequest = PrepareInputsBase & PrepareInputsClosure;
|
|
48
69
|
/** The result of `prepareInputs`: rewritten inputs (copy-on-write) plus upload records. */
|
|
49
70
|
export interface PreparedInputs {
|
|
50
71
|
/** A copy of `inputs` with each file-bearing value rewritten to canonical content carrying `pipelex-storage://` in `url`. */
|
|
@@ -53,44 +74,28 @@ export interface PreparedInputs {
|
|
|
53
74
|
uploads: UploadRecord[];
|
|
54
75
|
}
|
|
55
76
|
/**
|
|
56
|
-
* The client surface `prepareInputs` needs: raw `upload`,
|
|
57
|
-
* signature source
|
|
77
|
+
* The client surface `prepareInputs` needs: raw `upload`, and `validate` as the
|
|
78
|
+
* signature source. Typed as the client's own `validate` signature so
|
|
79
|
+
* `PipelexApiClient` satisfies it structurally.
|
|
58
80
|
*/
|
|
59
81
|
export interface PrepareCapableClient extends UploadCapableClient {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
explicit?: boolean;
|
|
65
|
-
}): Promise<BuildInputsResponse>;
|
|
66
|
-
/** Resolve a stored method's id into its runnable closure — the by-id signature source. */
|
|
67
|
-
getMethodClosure(methodId: string): Promise<MthdsFileItem[]>;
|
|
82
|
+
validate(source: string[] | ValidateMethodSelector, allowSignatures?: boolean, mthdsSources?: string[], render?: string[], views?: string[], options?: {
|
|
83
|
+
timeoutMs?: number;
|
|
84
|
+
signal?: AbortSignal;
|
|
85
|
+
}): Promise<PipelexValidationResult>;
|
|
68
86
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Resolve a `files` / `method_id` closure pair to inline files: reject an
|
|
71
|
-
* over-specified `{ files, method_id }` (both given) before any resolution
|
|
72
|
-
* runs, then either return the inline `files` unchanged or fetch-and-parse the
|
|
73
|
-
* stored method behind `method_id` via `getMethodClosure`. Returns `undefined`
|
|
74
|
-
* when NEITHER is given — the caller decides what that means for its own
|
|
75
|
-
* request shape, since `buildInputs` (client.ts) also accepts a third source,
|
|
76
|
-
* the reserved `method_ref`, that `prepareInputs` does not.
|
|
77
|
-
*
|
|
78
|
-
* Shared between `PipelexApiClient.buildInputs` and `resolveClosureFiles`
|
|
79
|
-
* (below) so the files/method_id invariant is defined in exactly one place —
|
|
80
|
-
* a duplicated copy of this exact check is what let a `buildInputs`-only
|
|
81
|
-
* revision briefly reject a legitimate `method_ref`-only request.
|
|
82
|
-
*/
|
|
83
|
-
export declare function resolveFilesOrMethodId(files: MthdsFileItem[] | undefined, methodId: string | undefined, getMethodClosure: (methodId: string) => Promise<MthdsFileItem[]>, makeError: (message: string) => Error): Promise<MthdsFileItem[] | undefined>;
|
|
84
87
|
/**
|
|
85
88
|
* Prepare a pipe's inputs: upload local/byte/data-URL assets at the signature's
|
|
86
89
|
* file-bearing positions and return copy-on-write rewritten inputs plus upload
|
|
87
90
|
* records. HTTP(S) URLs and existing `pipelex-storage://` URIs pass through
|
|
88
91
|
* unchanged. All failures are raised before any run is created.
|
|
89
92
|
*
|
|
90
|
-
* The
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
93
|
+
* The signature comes from one `POST /v1/validate` with `views: ["input_form"]`,
|
|
94
|
+
* whatever the selector — inline `files`, a `method_ref` the runner resolves, or
|
|
95
|
+
* a `method_id` the platform resolves. A closure that does not load, an unknown
|
|
96
|
+
* `pipe_ref`, no default pipe, or a report with no descriptor throw
|
|
97
|
+
* {@link InputPreparationError}; a no-verdict condition from the route (a
|
|
98
|
+
* malformed selector, an unknown or foreign-org id, no package at the address,
|
|
99
|
+
* auth, a server fault) surfaces as `ApiResponseError`, unchanged.
|
|
94
100
|
*/
|
|
95
101
|
export declare function prepareInputs(client: PrepareCapableClient, request: PrepareInputsRequest): Promise<PreparedInputs>;
|
|
96
|
-
export {};
|
package/dist/prepare-inputs.js
CHANGED
|
@@ -1,24 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `prepareInputs` — signature-driven input preparation. Resolves the target
|
|
3
|
-
* pipe's declared inputs
|
|
4
|
-
* caller's inputs top-down against it, uploads the
|
|
5
|
-
* returns rewritten inputs (canonical content carrying
|
|
6
|
-
* `url`) plus one upload record per prepared asset.
|
|
3
|
+
* pipe's declared inputs from the **input-form descriptor** on the validate
|
|
4
|
+
* report, interprets the caller's inputs top-down against it, uploads the
|
|
5
|
+
* file-bearing values, and returns rewritten inputs (canonical content carrying
|
|
6
|
+
* `pipelex-storage://` in `url`) plus one upload record per prepared asset.
|
|
7
|
+
*
|
|
8
|
+
* The method is named the same three ways every other method-taking operation
|
|
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/validate`,
|
|
11
|
+
* which resolves an address on the runner and an id on the platform, so nothing
|
|
12
|
+
* is expanded client-side.
|
|
7
13
|
*
|
|
8
14
|
* Per input, the caller may submit EITHER the **compact** value (a bare source /
|
|
9
|
-
* canonical `{url}` content) OR the explicit `{ concept, content }` envelope
|
|
10
|
-
* `
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* `
|
|
15
|
+
* canonical `{url}` content) OR the explicit `{ concept, content }` envelope —
|
|
16
|
+
* its `content` is interpreted exactly as the compact value would be, and the
|
|
17
|
+
* envelope is preserved on output (the `concept` annotation rides through; the
|
|
18
|
+
* runtime accepts it — see `pipelex`'s `input_shaper.py` `_is_explicit` /
|
|
19
|
+
* `input_normalizer.py`).
|
|
14
20
|
*
|
|
15
|
-
* The
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
21
|
+
* **The descriptor is the classifier, never the value's shape.** `input_form`
|
|
22
|
+
* (the MTHDS standard's artifact, opted into with `views: ["input_form"]`)
|
|
23
|
+
* states the kind at every depth — `document` / `image` mark a file position,
|
|
24
|
+
* `object` recurses through `fields`, `list` through `item`, everything else
|
|
25
|
+
* passes through. That is what makes an OPTIONAL nested file field prepare like
|
|
26
|
+
* a required one, and a `text` field merely *named* `url` stay untouched: both
|
|
27
|
+
* were misread while the signature came from the rendered inputs template, whose
|
|
28
|
+
* file signal was a `url`-bearing dict. See `docs/input-preparation.md` and the
|
|
29
|
+
* shared behavior matrix (`wip/upload/behavior-matrix.md`).
|
|
22
30
|
*/
|
|
23
31
|
import { InputPreparationError } from "./errors.js";
|
|
24
32
|
import { uploadFile } from "./upload.js";
|
|
@@ -28,16 +36,26 @@ const HTTP_URL_RE = /^https?:\/\//i;
|
|
|
28
36
|
function isPlainObject(value) {
|
|
29
37
|
return Object.prototype.toString.call(value) === "[object Object]";
|
|
30
38
|
}
|
|
31
|
-
/** A
|
|
39
|
+
/** A trimmed non-empty string, or `undefined` — the "empty is absent" rule. */
|
|
40
|
+
function nonEmptyString(value) {
|
|
41
|
+
if (typeof value !== "string")
|
|
42
|
+
return undefined;
|
|
43
|
+
const trimmed = value.trim();
|
|
44
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* A canonical Image/Document content is a plain object carrying a `url` key.
|
|
48
|
+
* A VALUE-shape helper only: it is consulted at a position the descriptor has
|
|
49
|
+
* already declared a file, never as the signal that one is there.
|
|
50
|
+
*/
|
|
32
51
|
function isFileContent(node) {
|
|
33
52
|
return isPlainObject(node) && "url" in node;
|
|
34
53
|
}
|
|
35
54
|
/**
|
|
36
|
-
* The explicit
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* both fields is not misread as an envelope.
|
|
55
|
+
* The explicit envelope: a plain object whose keys are EXACTLY `concept` and
|
|
56
|
+
* `content`. Matches the runtime's `_is_explicit` (`pipelex`'s
|
|
57
|
+
* `input_shaper.py`): exact keys, not a superset, so a structured-content input
|
|
58
|
+
* that merely happens to carry both fields is not misread as an envelope.
|
|
41
59
|
*/
|
|
42
60
|
function isExplicitEnvelope(value) {
|
|
43
61
|
if (!isPlainObject(value))
|
|
@@ -133,66 +151,166 @@ async function resolveFilePosition(ctx, callerValue) {
|
|
|
133
151
|
const resolved = await resolveSource(ctx, callerValue);
|
|
134
152
|
return { url: resolved };
|
|
135
153
|
}
|
|
136
|
-
/**
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
154
|
+
/**
|
|
155
|
+
* Descriptor-guided walk, discriminated on the node's `kind`:
|
|
156
|
+
*
|
|
157
|
+
* - `document` / `image` — a file position, whatever the value's shape;
|
|
158
|
+
* - `object` — walk the declared `fields` by name; keys the descriptor does not
|
|
159
|
+
* name are copied through untouched;
|
|
160
|
+
* - `list` — walk `item` against each element;
|
|
161
|
+
* - every other kind (`text`, `prose`, `date`, `number`, `boolean`, `enum`,
|
|
162
|
+
* `unknown`) — pass through at any depth. `unknown` is the standard's escape
|
|
163
|
+
* hatch for a `Dynamic` / `Composite` input, and it is NOT interpreted: the
|
|
164
|
+
* signature declares no file there, and uploading by value shape is the defect
|
|
165
|
+
* this walk removes. A caller with such an input uploads with `uploadFile`
|
|
166
|
+
* first and passes the storage URI.
|
|
167
|
+
*
|
|
168
|
+
* A caller value whose shape disagrees with the node (a scalar at an `object`, a
|
|
169
|
+
* non-array at a `list`) passes through for the run to reject — preparation never
|
|
170
|
+
* second-guesses the signature.
|
|
171
|
+
*/
|
|
172
|
+
async function resolveNode(ctx, node, callerValue) {
|
|
173
|
+
switch (node.kind) {
|
|
174
|
+
case "document":
|
|
175
|
+
case "image":
|
|
176
|
+
return resolveFilePosition(ctx, callerValue);
|
|
177
|
+
case "object": {
|
|
178
|
+
if (!isPlainObject(callerValue))
|
|
179
|
+
return callerValue;
|
|
180
|
+
const result = { ...callerValue };
|
|
181
|
+
for (const field of node.fields) {
|
|
182
|
+
if (Object.hasOwn(callerValue, field.name)) {
|
|
183
|
+
result[field.name] = await resolveNode(ctx, field, callerValue[field.name]);
|
|
184
|
+
}
|
|
153
185
|
}
|
|
186
|
+
return result;
|
|
187
|
+
}
|
|
188
|
+
case "list": {
|
|
189
|
+
if (!Array.isArray(callerValue))
|
|
190
|
+
return callerValue;
|
|
191
|
+
return Promise.all(callerValue.map((element) => resolveNode(ctx, node.item, element)));
|
|
154
192
|
}
|
|
155
|
-
|
|
193
|
+
default:
|
|
194
|
+
return callerValue;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Normalize and check the three selectors. Empty is absent (`files: []`,
|
|
199
|
+
* `method_ref: ""`, `method_id: " "`), mirroring the run options' rule and the
|
|
200
|
+
* Python `CrateRequestBase` normalisers, and exactly one must remain — the check
|
|
201
|
+
* lives here because this helper is the one that composes the `validate` call.
|
|
202
|
+
* The illegal shapes are compile errors for typed callers; this backs them up for
|
|
203
|
+
* untyped (JS) ones with a typed `InputPreparationError`.
|
|
204
|
+
*/
|
|
205
|
+
function resolveSelector(request) {
|
|
206
|
+
const raw = request;
|
|
207
|
+
const files = Array.isArray(raw["files"]) && raw["files"].length > 0
|
|
208
|
+
? raw["files"]
|
|
209
|
+
: undefined;
|
|
210
|
+
const methodRef = nonEmptyString(raw["method_ref"]);
|
|
211
|
+
const methodId = nonEmptyString(raw["method_id"]);
|
|
212
|
+
const given = [];
|
|
213
|
+
if (files !== undefined)
|
|
214
|
+
given.push("`files`");
|
|
215
|
+
if (methodRef !== undefined)
|
|
216
|
+
given.push("`method_ref`");
|
|
217
|
+
if (methodId !== undefined)
|
|
218
|
+
given.push("`method_id`");
|
|
219
|
+
if (given.length === 0) {
|
|
220
|
+
throw new InputPreparationError("Cannot prepare inputs: no method selector. Supply exactly one of `files` (an inline MTHDS " +
|
|
221
|
+
"closure), `method_ref` (a published method's address) or `method_id` (a stored method's " +
|
|
222
|
+
"catalog id).");
|
|
223
|
+
}
|
|
224
|
+
if (given.length > 1) {
|
|
225
|
+
throw new InputPreparationError(`Cannot prepare inputs: ${given.join(" and ")} were both given. Supply exactly one method ` +
|
|
226
|
+
"selector — `files`, `method_ref` or `method_id`.");
|
|
156
227
|
}
|
|
157
|
-
|
|
228
|
+
if (files !== undefined)
|
|
229
|
+
return { files };
|
|
230
|
+
if (methodRef !== undefined)
|
|
231
|
+
return { method_ref: methodRef };
|
|
232
|
+
return { method_id: methodId };
|
|
158
233
|
}
|
|
159
234
|
/**
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
* runs, then either return the inline `files` unchanged or fetch-and-parse the
|
|
163
|
-
* stored method behind `method_id` via `getMethodClosure`. Returns `undefined`
|
|
164
|
-
* when NEITHER is given — the caller decides what that means for its own
|
|
165
|
-
* request shape, since `buildInputs` (client.ts) also accepts a third source,
|
|
166
|
-
* the reserved `method_ref`, that `prepareInputs` does not.
|
|
235
|
+
* Ask `validate` for the signature, whatever the selector, and hand back the
|
|
236
|
+
* valid report.
|
|
167
237
|
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
* a
|
|
171
|
-
*
|
|
238
|
+
* `allowSignatures: true` on purpose: preparation needs a pipe's DECLARED inputs,
|
|
239
|
+
* and a bundle mid-authoring with an unresolved signature elsewhere must not be
|
|
240
|
+
* refused inputs for a pipe whose inputs are declared. Whether the bundle runs is
|
|
241
|
+
* the run's verdict, not preparation's. The `is_valid: false` arm still means the
|
|
242
|
+
* closure does not load, which is a preparation failure.
|
|
172
243
|
*/
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
244
|
+
async function fetchSignature(client, selector) {
|
|
245
|
+
let result;
|
|
246
|
+
if ("files" in selector) {
|
|
247
|
+
const contents = selector.files.map((file) => file.content);
|
|
248
|
+
// `validateFiles`' rule: label every content once any file names a source, so
|
|
249
|
+
// the server never sees a length-mismatched `mthds_sources` array.
|
|
250
|
+
const hasAnySource = selector.files.some((file) => file.source !== undefined);
|
|
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"]);
|
|
176
255
|
}
|
|
177
|
-
|
|
178
|
-
|
|
256
|
+
else {
|
|
257
|
+
result = await client.validate(selector, true, undefined, undefined, ["input_form"]);
|
|
179
258
|
}
|
|
180
|
-
|
|
259
|
+
if (!result.is_valid) {
|
|
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;
|
|
181
264
|
}
|
|
182
265
|
/**
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
* and the "neither given" case is rejected here (prepareInputs has no third
|
|
188
|
-
* closure source, unlike `buildInputs`).
|
|
266
|
+
* Pick the pipe whose descriptor guides the walk, in the order `docs/input-preparation.md`
|
|
267
|
+
* documents: an explicit qualified `pipe_ref`, then the report's typed resolved
|
|
268
|
+
* default, then the bundle's declared `main_pipe`, then the single pipe — else an
|
|
269
|
+
* error naming the candidates.
|
|
189
270
|
*/
|
|
190
|
-
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
271
|
+
function selectPipeRef(report, inputForm, requested) {
|
|
272
|
+
const refs = Object.keys(inputForm);
|
|
273
|
+
const candidates = refs.length > 0 ? refs.join(", ") : "(none — the closure declares no pipes)";
|
|
274
|
+
if (requested !== undefined) {
|
|
275
|
+
if (!requested.includes(".")) {
|
|
276
|
+
throw new InputPreparationError(`Cannot prepare inputs: \`pipe_ref\` must be qualified (\`domain.pipe_code\`), got the bare ` +
|
|
277
|
+
`"${requested}". The method declares: ${candidates}.`);
|
|
278
|
+
}
|
|
279
|
+
if (!(requested in inputForm)) {
|
|
280
|
+
throw new InputPreparationError(`Cannot prepare inputs: the method declares no pipe "${requested}". It declares: ${candidates}.`);
|
|
281
|
+
}
|
|
282
|
+
return requested;
|
|
194
283
|
}
|
|
195
|
-
|
|
284
|
+
// The typed resolved default, when the runner serves it (manifest-aware for a
|
|
285
|
+
// `method_ref` package, which is why it outranks the blueprint read below).
|
|
286
|
+
const typedDefault = nonEmptyString(report.default_pipe_ref);
|
|
287
|
+
if (typedDefault !== undefined && typedDefault in inputForm)
|
|
288
|
+
return typedDefault;
|
|
289
|
+
// `bundle_blueprint` is opaque transport in this SDK on purpose, so read it
|
|
290
|
+
// defensively and fall through rather than trust it.
|
|
291
|
+
const blueprintDefault = readBlueprintMainPipeRef(report.bundle_blueprint);
|
|
292
|
+
if (blueprintDefault !== undefined && blueprintDefault in inputForm)
|
|
293
|
+
return blueprintDefault;
|
|
294
|
+
if (refs.length === 1)
|
|
295
|
+
return refs[0];
|
|
296
|
+
throw new InputPreparationError(`Cannot prepare inputs: the method declares no single default pipe, so \`pipe_ref\` is required. ` +
|
|
297
|
+
`It declares: ${candidates}.`);
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* The bundle blueprint's declared `main_pipe`, qualified by its `domain` when it
|
|
301
|
+
* is authored bare. Every read is defensive: the blueprint is typed
|
|
302
|
+
* `Record<string, unknown>` because its schema is the runtime's, not this SDK's.
|
|
303
|
+
*/
|
|
304
|
+
function readBlueprintMainPipeRef(blueprint) {
|
|
305
|
+
if (!isPlainObject(blueprint))
|
|
306
|
+
return undefined;
|
|
307
|
+
const mainPipe = nonEmptyString(blueprint["main_pipe"]);
|
|
308
|
+
if (mainPipe === undefined)
|
|
309
|
+
return undefined;
|
|
310
|
+
if (mainPipe.includes("."))
|
|
311
|
+
return mainPipe;
|
|
312
|
+
const domain = nonEmptyString(blueprint["domain"]);
|
|
313
|
+
return domain === undefined ? undefined : `${domain}.${mainPipe}`;
|
|
196
314
|
}
|
|
197
315
|
/**
|
|
198
316
|
* Prepare a pipe's inputs: upload local/byte/data-URL assets at the signature's
|
|
@@ -200,45 +318,44 @@ async function resolveClosureFiles(client, request) {
|
|
|
200
318
|
* records. HTTP(S) URLs and existing `pipelex-storage://` URIs pass through
|
|
201
319
|
* unchanged. All failures are raised before any run is created.
|
|
202
320
|
*
|
|
203
|
-
* The
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
321
|
+
* The signature comes from one `POST /v1/validate` with `views: ["input_form"]`,
|
|
322
|
+
* whatever the selector — inline `files`, a `method_ref` the runner resolves, or
|
|
323
|
+
* a `method_id` the platform resolves. A closure that does not load, an unknown
|
|
324
|
+
* `pipe_ref`, no default pipe, or a report with no descriptor throw
|
|
325
|
+
* {@link InputPreparationError}; a no-verdict condition from the route (a
|
|
326
|
+
* malformed selector, an unknown or foreign-org id, no package at the address,
|
|
327
|
+
* auth, a server fault) surfaces as `ApiResponseError`, unchanged.
|
|
207
328
|
*/
|
|
208
329
|
export async function prepareInputs(client, request) {
|
|
209
|
-
const
|
|
210
|
-
const report = await client
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
throw new InputPreparationError(`Cannot prepare inputs: the method signature did not resolve — ${first}`);
|
|
219
|
-
}
|
|
220
|
-
// We requested `format: "json"`, so the valid arm carries the envelope in `inputs`.
|
|
221
|
-
if (report.format !== "json") {
|
|
222
|
-
throw new InputPreparationError(`Cannot prepare inputs: expected a JSON inputs template, got "${report.format}".`);
|
|
330
|
+
const selector = resolveSelector(request);
|
|
331
|
+
const report = await fetchSignature(client, selector);
|
|
332
|
+
const inputForm = report.input_form;
|
|
333
|
+
if (inputForm === undefined) {
|
|
334
|
+
// Never a silent degrade to "no uploads": without the descriptor there is no
|
|
335
|
+
// signature to prepare against.
|
|
336
|
+
throw new InputPreparationError("Cannot prepare inputs: the validate report carries no `input_form` descriptor — the signature " +
|
|
337
|
+
'preparation reads. The descriptor rides `views: ["input_form"]` on pipelex-api >= 0.18.0; ' +
|
|
338
|
+
"point the client at a runner that serves it.");
|
|
223
339
|
}
|
|
224
|
-
const
|
|
340
|
+
const pipeRef = selectPipeRef(report, inputForm, nonEmptyString(request.pipe_ref));
|
|
341
|
+
const descriptor = inputForm[pipeRef];
|
|
342
|
+
const declared = new Map(descriptor.fields.map((field) => [field.name, field]));
|
|
225
343
|
const ctx = { client, uploads: [], dedup: new Map() };
|
|
226
344
|
const rewritten = { ...request.inputs };
|
|
227
345
|
for (const [name, callerValue] of Object.entries(request.inputs)) {
|
|
228
|
-
const
|
|
229
|
-
if (
|
|
230
|
-
// Not a declared input
|
|
231
|
-
continue;
|
|
346
|
+
const field = declared.get(name);
|
|
347
|
+
if (field === undefined) {
|
|
348
|
+
continue; // Not a declared input — pass through untouched, as today.
|
|
232
349
|
}
|
|
233
350
|
if (isExplicitEnvelope(callerValue)) {
|
|
234
|
-
// The caller filled the explicit `{ concept, content }`
|
|
235
|
-
// inner content against the
|
|
351
|
+
// The caller filled the explicit `{ concept, content }` envelope: walk the
|
|
352
|
+
// inner content against the same node, then re-wrap so the concept
|
|
236
353
|
// annotation rides through to the run (the runtime accepts the envelope).
|
|
237
|
-
const walked = await resolveNode(ctx,
|
|
354
|
+
const walked = await resolveNode(ctx, field, callerValue.content);
|
|
238
355
|
rewritten[name] = { ...callerValue, content: walked };
|
|
239
356
|
}
|
|
240
357
|
else {
|
|
241
|
-
rewritten[name] = await resolveNode(ctx,
|
|
358
|
+
rewritten[name] = await resolveNode(ctx, field, callerValue);
|
|
242
359
|
}
|
|
243
360
|
}
|
|
244
361
|
return { inputs: rewritten, uploads: ctx.uploads };
|
|
@@ -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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pipelex/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "TypeScript SDK for the Pipelex hosted API — execute methods, manage runs, and call the product surface.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"vitest": "^4.0.18"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"mthds": "^0.
|
|
62
|
+
"mthds": "^0.25.0",
|
|
63
63
|
"smol-toml": "^1.6.0"
|
|
64
64
|
}
|
|
65
65
|
}
|