@pipelex/sdk 0.46.1 → 0.48.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.
Files changed (51) hide show
  1. package/README.md +20 -9
  2. package/dist/cli/script.d.ts +1 -1
  3. package/dist/cli/source.d.ts +8 -7
  4. package/dist/cli/source.js +11 -5
  5. package/dist/cli/source.js.map +1 -1
  6. package/dist/client.d.ts +455 -237
  7. package/dist/client.js +1067 -522
  8. package/dist/client.js.map +1 -1
  9. package/dist/errors.d.ts +49 -19
  10. package/dist/errors.js +50 -21
  11. package/dist/errors.js.map +1 -1
  12. package/dist/hooks/bundle-gather.d.ts +28 -40
  13. package/dist/hooks/bundle-gather.js +55 -230
  14. package/dist/hooks/bundle-gather.js.map +1 -1
  15. package/dist/hooks/claude-mthds-check.d.ts +7 -5
  16. package/dist/hooks/claude-mthds-check.js +8 -53
  17. package/dist/hooks/claude-mthds-check.js.map +1 -1
  18. package/dist/hooks/validate-stage.d.ts +27 -0
  19. package/dist/hooks/validate-stage.js +57 -0
  20. package/dist/hooks/validate-stage.js.map +1 -0
  21. package/dist/index.d.ts +7 -7
  22. package/dist/index.js +6 -3
  23. package/dist/index.js.map +1 -1
  24. package/dist/method-trees.d.ts +344 -0
  25. package/dist/method-trees.js +876 -0
  26. package/dist/method-trees.js.map +1 -0
  27. package/dist/models.d.ts +162 -59
  28. package/dist/prepare-inputs.d.ts +46 -27
  29. package/dist/prepare-inputs.js +123 -42
  30. package/dist/prepare-inputs.js.map +1 -1
  31. package/dist/product-models.d.ts +97 -75
  32. package/dist/runs.d.ts +5 -3
  33. package/dist/runs.js.map +1 -1
  34. package/dist/version.d.ts +1 -1
  35. package/dist/version.js +1 -1
  36. package/docs/architecture.md +20 -21
  37. package/docs/cli.md +1 -1
  38. package/docs/crate-routes.md +42 -20
  39. package/docs/errors.md +7 -6
  40. package/docs/hook-bundle.md +1 -1
  41. package/docs/input-preparation.md +15 -40
  42. package/docs/method-trees.md +199 -0
  43. package/docs/run-results.md +5 -2
  44. package/package.json +2 -2
  45. package/dist/bundle-resources.d.ts +0 -62
  46. package/dist/bundle-resources.js +0 -165
  47. package/dist/bundle-resources.js.map +0 -1
  48. package/dist/method-source.d.ts +0 -19
  49. package/dist/method-source.js +0 -50
  50. package/dist/method-source.js.map +0 -1
  51. package/docs/bundle-resources.md +0 -107
@@ -6,10 +6,10 @@
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
- * 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/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
9
+ * takes it — its tree (a `directory`, `contents`, a listed `tree` or the `files`
10
+ * map), a `method_ref` address, or a stored `method_id` — exactly one per call.
11
+ * All three reach `POST /v1/pipe-io`: the tree as the `files` map `pipeIo` sends,
12
+ * an address resolved on the runner and an id on the platform. The route also SELECTS the pipe: the caller's qualified
13
13
  * `pipe_ref`, else the method's own entry pipe, and the ref it answers with is
14
14
  * the one prepared. It runs no dry run, so preparing inputs costs one static load.
15
15
  *
@@ -33,7 +33,7 @@
33
33
  import { isValidationItem } from "./error-models.js";
34
34
  import { throwIfAborted } from "./runs.js";
35
35
  import { ApiResponseError, InputPreparationError, InvalidInputValueError, MethodLoadError, UploadNotAllowedError, } from "./errors.js";
36
- import { hasBundleResources, isResourceMap } from "./bundle-resources.js";
36
+ import { treeShapeFault } from "./method-trees.js";
37
37
  import { uploadFile } from "./upload.js";
38
38
  const PIPELEX_STORAGE_SCHEME = "pipelex-storage://";
39
39
  const HTTP_URL_RE = /^https?:\/\//i;
@@ -313,54 +313,134 @@ async function resolveNode(ctx, node, callerValue, at) {
313
313
  }
314
314
  }
315
315
  }
316
- /** Whether `resources` is a plain object with no file in it, which sends nothing. */
317
- function isEmptyResourceMap(resources) {
318
- return isResourceMap(resources) && !hasBundleResources(resources);
316
+ /** A map holding at least one key, or `undefined`: an empty map selects nothing. */
317
+ function nonEmptyMap(value) {
318
+ return isPlainObject(value) && Object.keys(value).length > 0
319
+ ? value
320
+ : undefined;
321
+ }
322
+ /** How a value that should have been a map is named in a refusal. */
323
+ function describeNonMap(value) {
324
+ if (Array.isArray(value))
325
+ return "a list";
326
+ if (value instanceof Uint8Array)
327
+ return "bytes";
328
+ return typeof value;
329
+ }
330
+ /**
331
+ * Refuse a selector member that is given but is not a map, such as a list, or whose values are not
332
+ * what `isValue` accepts, before any request: read as absent, a list would leave the method
333
+ * unselected, or select another one, without a word.
334
+ */
335
+ function refuseNonMap(name, value, holds, isValue) {
336
+ if (value === undefined || value === null)
337
+ return;
338
+ if (!isPlainObject(value)) {
339
+ throw new InputPreparationError(`Cannot prepare inputs: \`${name}\` must be ${holds}, got ${describeNonMap(value)}.`);
340
+ }
341
+ for (const [key, entry] of Object.entries(value)) {
342
+ if (!isValue(entry)) {
343
+ throw new InputPreparationError(`Cannot prepare inputs: \`${name}\` must be ${holds}, and "${key}" holds ` +
344
+ `${entry === null ? "null" : describeNonMap(entry)}.`);
345
+ }
346
+ }
319
347
  }
320
348
  /**
321
- * Normalize and check the three selectors. Empty is absent (`files: []`,
322
- * `method_ref: ""`, `method_id: " "`), mirroring the run options' rule and the
323
- * Python `CrateRequestBase` normalisers, and exactly one must remain — the check
324
- * lives here because this helper is the one that composes the `pipeIo` call.
325
- * `resources` that carry a file accompany inline `files` only. The illegal shapes
326
- * are compile errors for typed callers; this backs them up for untyped (JS) ones
327
- * with a typed `InputPreparationError`.
349
+ * The caller's `tree`, checked as far as the client reads it before any request: an object with a
350
+ * `files` list holding at least one file, a `digest` string and a `readFile` function. A tree with
351
+ * no file is refused here, since a method tree holds at least one; the client's own check would
352
+ * name `pipeIo()` rather than the preparation.
353
+ */
354
+ function checkedTree(value) {
355
+ if (value === undefined || value === null)
356
+ return undefined;
357
+ const fault = treeShapeFault(value);
358
+ if (fault !== undefined) {
359
+ throw new InputPreparationError("Cannot prepare inputs: `tree` must be a listed method tree — its `files`, its `digest` and " +
360
+ "a `readFile` — such as the `MethodTree` the client's `listMethodTree` returns, got " +
361
+ `${fault}.`);
362
+ }
363
+ const tree = value;
364
+ if (tree.files.length === 0) {
365
+ throw new InputPreparationError("Cannot prepare inputs: `tree` holds no file, and a method tree holds at least one.");
366
+ }
367
+ return tree;
368
+ }
369
+ /**
370
+ * Normalize and check the three selectors. Empty is absent (`files: {}`, `contents: {}`,
371
+ * `directory: ""`, `method_ref: ""`, `method_id: " "`), mirroring the crate routes' rule and the
372
+ * Python `CrateRequestBase` normalisers, and exactly one must remain — the check lives here
373
+ * because this helper is the one that composes the `pipeIo` call. The tree counts as one
374
+ * selector, given in exactly one of `directory`, `contents`, `tree` and `files`, and a `files`
375
+ * that is not a map, such as the retired list of `{ content, source }` items, is refused rather
376
+ * than read as absent; so are a `directory` that is not a string, a `contents` or `dependencies`
377
+ * that is not a map, and a `tree` that is not a listed tree or holds no file. `dependencies`
378
+ * accompany the tree only. The illegal shapes are compile errors for typed callers; this backs
379
+ * them up for untyped (JS) ones with a typed `InputPreparationError`.
328
380
  */
329
381
  function resolveSelector(request) {
330
382
  const raw = request;
331
- const files = Array.isArray(raw["files"]) && raw["files"].length > 0
332
- ? raw["files"]
333
- : undefined;
383
+ const rawFiles = raw["files"];
384
+ if (rawFiles !== undefined && rawFiles !== null && !isPlainObject(rawFiles)) {
385
+ throw new InputPreparationError("Cannot prepare inputs: `files` must be the method's tree as a map from tree path to file " +
386
+ `entry, got ${Array.isArray(rawFiles) ? "a list" : typeof rawFiles}.`);
387
+ }
388
+ refuseNonMap("contents", raw["contents"], "the method's files as a map from tree path to bytes or text", (entry) => typeof entry === "string" || entry instanceof Uint8Array);
389
+ refuseNonMap("dependencies", raw["dependencies"], "the method packages as a map from package address to its map of file entries", isPlainObject);
390
+ const rawDirectory = raw["directory"];
391
+ if (rawDirectory !== undefined && rawDirectory !== null && typeof rawDirectory !== "string") {
392
+ throw new InputPreparationError("Cannot prepare inputs: `directory` must be the method's directory as a path, got " +
393
+ `${describeNonMap(rawDirectory)}.`);
394
+ }
395
+ const directory = typeof rawDirectory === "string" && rawDirectory !== "" ? rawDirectory : undefined;
396
+ const files = nonEmptyMap(rawFiles);
397
+ const tree = checkedTree(raw["tree"]);
398
+ const contents = nonEmptyMap(raw["contents"]);
399
+ const dependencies = nonEmptyMap(raw["dependencies"]);
334
400
  const methodRef = nonEmptyString(raw["method_ref"]);
335
401
  const methodId = nonEmptyString(raw["method_id"]);
336
- // Any value goes on with inline `files`, so the client's encoder refuses one that is not a
337
- // map of paths to bytes, as it does on every route; an empty map is not sent.
338
- const rawResources = raw["resources"];
339
- const resources = rawResources === undefined || rawResources === null
340
- ? undefined
341
- : rawResources;
342
- const given = [];
402
+ const treeForms = [];
403
+ if (directory !== undefined)
404
+ treeForms.push("`directory`");
405
+ if (contents !== undefined)
406
+ treeForms.push("`contents`");
407
+ if (tree !== undefined)
408
+ treeForms.push("`tree`");
343
409
  if (files !== undefined)
344
- given.push("`files`");
410
+ treeForms.push("`files`");
411
+ if (treeForms.length > 1) {
412
+ throw new InputPreparationError(`Cannot prepare inputs: the method's tree was given as ${treeForms.join(" and ")}. Give it ` +
413
+ "in one form — `directory`, `contents`, `tree` or `files`.");
414
+ }
415
+ const given = [...treeForms];
345
416
  if (methodRef !== undefined)
346
417
  given.push("`method_ref`");
347
418
  if (methodId !== undefined)
348
419
  given.push("`method_id`");
349
420
  if (given.length === 0) {
350
- throw new InputPreparationError("Cannot prepare inputs: no method selector. Supply exactly one of `files` (an inline MTHDS " +
351
- "closure), `method_ref` (a published method's address) or `method_id` (a stored method's " +
352
- "catalog id).");
421
+ throw new InputPreparationError("Cannot prepare inputs: no method selector. Supply exactly one of the method's tree " +
422
+ "(`directory`, `contents`, `tree` or `files`), `method_ref` (a published method's address) or " +
423
+ "`method_id` (a stored method's catalog id).");
353
424
  }
354
425
  if (given.length > 1) {
355
426
  throw new InputPreparationError(`Cannot prepare inputs: ${given.join(" and ")} were ${given.length === 2 ? "both" : "all"} ` +
356
427
  "given. Supply exactly one method " +
357
- "selector — `files`, `method_ref` or `method_id`.");
428
+ "selector — the method's tree, `method_ref` or `method_id`.");
358
429
  }
359
- if (files !== undefined)
360
- return resources === undefined ? { files } : { files, resources };
361
- // Beside the other selectors only an empty map passes, as it sends nothing.
362
- if (resources !== undefined && !isEmptyResourceMap(resources)) {
363
- throw new InputPreparationError(`Cannot prepare inputs: \`resources\` accompany inline \`files\`; a ${methodRef !== undefined ? "published" : "stored"} method's files are its own.`);
430
+ if (treeForms.length === 1) {
431
+ return {
432
+ ...(directory === undefined ? {} : { directory }),
433
+ ...(contents === undefined ? {} : { contents }),
434
+ ...(tree === undefined ? {} : { tree }),
435
+ ...(files === undefined ? {} : { files }),
436
+ ...(dependencies === undefined ? {} : { dependencies }),
437
+ };
438
+ }
439
+ // Beside the other selectors only empty maps pass, as they send nothing.
440
+ const owner = methodRef !== undefined ? "published" : "stored";
441
+ if (dependencies !== undefined) {
442
+ throw new InputPreparationError(`Cannot prepare inputs: \`dependencies\` accompany the method's own tree; a ${owner} ` +
443
+ "method's packages are its own.");
364
444
  }
365
445
  if (methodRef !== undefined)
366
446
  return { method_ref: methodRef };
@@ -376,8 +456,7 @@ function resolveSelector(request) {
376
456
  * selection enforces that rule; until then it would resolve a bare code across
377
457
  * domains, and preparation does not lean on that fallback.
378
458
  * - An **`alias->domain.pipe_code`** ref is refused because the alias names a
379
- * dependency package's pipe, and preparation covers the method's own pipes: the
380
- * crate routes do not load an address-based dependency at all. The run route
459
+ * dependency package's pipe, and preparation covers the method's own pipes. The run route
381
460
  * takes such a ref; preparation refuses it, and that asymmetry is deliberate.
382
461
  */
383
462
  function normalizePipeRef(raw) {
@@ -421,11 +500,11 @@ function resolveAllowUploads(raw) {
421
500
  * `input_form` that does not describe the selected pipe does, and one whose
422
501
  * descriptor is malformed where the walk reads it.
423
502
  */
424
- async function fetchSignature(client, selector, pipeRef) {
503
+ async function fetchSignature(client, selector, pipeRef, signal) {
425
504
  const request = pipeRef === undefined ? { ...selector } : { ...selector, pipe_ref: pipeRef };
426
505
  let result;
427
506
  try {
428
- result = await client.pipeIo(request);
507
+ result = await client.pipeIo(request, signal === undefined ? {} : { signal });
429
508
  }
430
509
  catch (error) {
431
510
  if (error instanceof ApiResponseError &&
@@ -600,8 +679,10 @@ function described(value) {
600
679
  * that would need either throws {@link UploadNotAllowedError}, naming them too.
601
680
  *
602
681
  * The pipe and its signature come from one `POST /v1/pipe-io`, whatever the
603
- * selector — inline `files`, a `method_ref` the runner resolves, or a
604
- * `method_id` the platform resolves. A bare or alias-qualified `pipe_ref`, a
682
+ * selector — the method's tree, a `method_ref` the runner resolves, or a
683
+ * `method_id` the platform resolves. A `tree` or `contents` too large to send
684
+ * inline goes by hash, and a blob that fails to upload throws
685
+ * `MethodFileTransferError` before the route is asked. A bare or alias-qualified `pipe_ref`, a
605
686
  * closure that does not load, and a selection the route refuses (an unknown
606
687
  * `pipe_ref`, no entry pipe, several) throw {@link InputPreparationError}. So
607
688
  * does an answer that breaks the route's contract, with a `runtime` verdict that
@@ -617,7 +698,7 @@ export async function prepareInputs(client, request) {
617
698
  const pipeRef = normalizePipeRef(request.pipe_ref);
618
699
  const allowUploads = resolveAllowUploads(request.allowUploads);
619
700
  throwIfAborted(request.signal);
620
- const report = await fetchSignature(client, selector, pipeRef);
701
+ const report = await fetchSignature(client, selector, pipeRef, request.signal);
621
702
  throwIfAborted(request.signal);
622
703
  const descriptor = selectedDescriptor(report);
623
704
  const declared = new Map(descriptor.fields.map((field) => [field.name, field]));
@@ -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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"}
@@ -9,8 +9,8 @@
9
9
  * stays in the consumer. Each model holds only the fields the product actually
10
10
  * consumes — not a speculative mirror of every server field.
11
11
  */
12
- import type { MethodFile } from "mthds/protocol";
13
12
  import type { RunErrorReport } from "./error-models.js";
13
+ import type { MethodTreeForms } from "./method-trees.js";
14
14
  import type { PipelexValidationResult } from "./models.js";
15
15
  import type { RunStatus } from "./runs.js";
16
16
  export interface UserProfile {
@@ -21,18 +21,37 @@ export interface UserProfile {
21
21
  onboarding_completed_at?: string | null;
22
22
  }
23
23
  /**
24
- * One published version without its sources — what `listMethodVersions` lists, what a
24
+ * One file of a saved method's tree, as `getMethod` and `getMethodVersion` list it, in tree path
25
+ * order. `writeMethodTree` downloads and writes a listing.
26
+ */
27
+ export interface SavedMethodFile {
28
+ /** Its tree path. */
29
+ path: string;
30
+ /** The SHA-256 of its bytes, 64 lowercase hex characters. */
31
+ sha256: string;
32
+ /** Its size in bytes. */
33
+ size: number;
34
+ /**
35
+ * A link to its bytes, signed by storage, which any HTTP client reads with no credential. It is
36
+ * a bearer credential until it expires: keep it out of logs, messages and stored records.
37
+ */
38
+ url: string;
39
+ /** ISO-8601 UTC instant the link stops working, about fifteen minutes after the read. */
40
+ expires_at: string;
41
+ }
42
+ /**
43
+ * One published version without its files — what `listMethodVersions` lists, what a
25
44
  * method read carries as `latest_published`, and what a publish answers as `version`.
26
45
  */
27
46
  export interface MethodVersionSummary {
28
47
  /** The version number, from 1, never reused and never renumbered. */
29
48
  version: number;
30
49
  /**
31
- * SHA-256 of the canonical form of the version's two file sets (`.mthds` and Python), as 64
32
- * lowercase hex characters — the same function as the method's `draft_digest`, so equal
33
- * digests mean the same sources would run.
50
+ * The digest of the version's tree, `sha256:` and 64 lowercase hex characters — the same
51
+ * function as the method's `draft_digest`, so equal digests mean the same files would run.
52
+ * `null` for a version stored before methods were trees and never rewritten as one.
34
53
  */
35
- source_digest: string;
54
+ tree_digest: string | null;
36
55
  /**
37
56
  * The runner's `crate.fingerprint` for the bundle (`POST /v1/resolve`), which covers its
38
57
  * meaning rather than its bytes and is what generated client code is checked against.
@@ -53,45 +72,31 @@ export interface MethodVersionSummary {
53
72
  published_by: string;
54
73
  }
55
74
  /**
56
- * One published version with its sources — `getMethodVersion`. It carries no `name`, which
75
+ * One published version with its files — `getMethodVersion`. It carries no `name`, which
57
76
  * belongs to the method and changes without a publish, and no `input_data`, which is the
58
77
  * editor's form state and not part of what a caller runs.
59
78
  */
60
79
  export interface MethodVersion extends MethodVersionSummary {
61
80
  method_id: string;
62
- /** The version's `.mthds` source, in the same stored form as `MethodData.mthds`. */
63
- mthds: string;
64
- /**
65
- * The version's custom-PipeFunc Python, as `MethodFile[]`, parsed from the wire string
66
- * exactly as `MethodData.python` is. Empty array when the version has no custom Python.
67
- */
68
- python?: MethodFile[];
81
+ /** The version's tree, one entry per file in tree path order, each with a link to its bytes. */
82
+ files: SavedMethodFile[];
69
83
  }
70
84
  /**
71
- * A saved method — `getMethod`, `createMethod`, `writeDraft`, `renameMethod`, and the
72
- * `method` of every publish outcome. Its content fields ARE the draft; the latest
73
- * published version is summarized in `latest_published`.
85
+ * A saved method — `createMethod`, `writeDraft`, `renameMethod`, and the `method` of every
86
+ * publish outcome; `getMethod` answers it with the draft's files (`MethodDetail`). Its draft is
87
+ * named by `draft_digest`; the latest published version is summarized in `latest_published`.
74
88
  *
75
89
  * The publish state a client shows is derived, never stored: never published
76
- * (`latest_version` is `null`), published with the draft unchanged (`draft_digest ===
77
- * latest_published.source_digest`), or published with the draft ahead (they differ).
90
+ * (`latest_version` is `null`), published with the draft unchanged (`draft_digest` is not
91
+ * `null` and equals `latest_published.tree_digest`), or published with the draft ahead (they
92
+ * differ).
78
93
  */
79
94
  export interface MethodData {
80
95
  method_id: string;
81
96
  org_id: string;
82
97
  created_by_user_id: string;
83
98
  name: string;
84
- /** The draft's `.mthds` bundle source. */
85
- mthds: string;
86
- /**
87
- * The draft's custom-PipeFunc Python sources, as `MethodFile[]` (`{ name, content }`). On
88
- * the wire this is the serialized `[{ name, content }]` catalog string (empty
89
- * `""` when the method has no custom Python); the client (de)serializes it via
90
- * `mthds/protocol`'s `parseMethodFiles`/`serializeMethodFiles`, so callers work
91
- * with the typed array. Empty array when the method has no custom Python.
92
- */
93
- python?: MethodFile[];
94
- /** The editor's form inputs, saved with the draft and outside both digests. */
99
+ /** The editor's form inputs, saved with the draft and outside its digest. */
95
100
  input_data?: Record<string, unknown> | null;
96
101
  /** Legacy persisted output spec; optional. */
97
102
  pipe_output?: Record<string, unknown> | null;
@@ -111,11 +116,11 @@ export interface MethodData {
111
116
  */
112
117
  updated_at: string;
113
118
  /**
114
- * The draft's digest: SHA-256 of the canonical form of its two file sets, 64 lowercase hex
115
- * characters. `input_data` is outside it, so saving only the form inputs moves the token and
116
- * leaves the digest as it was.
119
+ * The draft's tree digest, `sha256:` and 64 lowercase hex characters; `null` for an empty
120
+ * draft. `input_data` is outside it, so saving only the form inputs moves the token and leaves
121
+ * the digest as it was.
117
122
  */
118
- draft_digest: string;
123
+ draft_digest: string | null;
119
124
  /** The number of the latest published version; `null` when the method was never published. */
120
125
  latest_version: number | null;
121
126
  /** The latest published version's summary; `null` when the method was never published. */
@@ -128,6 +133,14 @@ export interface MethodData {
128
133
  */
129
134
  deletion_state?: MethodDeletionState | null;
130
135
  }
136
+ /**
137
+ * A saved method with its draft's files — what `getMethod` answers. `files` lists the draft's
138
+ * tree in tree path order, each file with its SHA-256, its size and a link to its bytes valid for
139
+ * about fifteen minutes, and is empty for an empty draft; `writeMethodTree` brings it to disk.
140
+ */
141
+ export interface MethodDetail extends MethodData {
142
+ files: SavedMethodFile[];
143
+ }
131
144
  /** Where a method is in the erasure cascade; absent on a normal method. */
132
145
  export type MethodDeletionState = "pending" | "in_progress" | "failed";
133
146
  /**
@@ -146,12 +159,11 @@ export interface MethodDeletionAccepted {
146
159
  /**
147
160
  * One row of the method LIST — deliberately much smaller than `MethodData`.
148
161
  *
149
- * The list is served from a narrow DynamoDB index projection, so `mthds` and
150
- * `python` are **not here and never will be**. That is the whole point: the
151
- * previous list returned every method's full bundle, hit DynamoDB's 1 MB page
152
- * cap at a couple hundred methods and silently returned a SHORT ARRAY —
153
- * methods vanished from the UI with no error at all. Use `getMethod(id)` when
154
- * you need the bundle.
162
+ * The list is served from a narrow DynamoDB index projection, so a method's files
163
+ * are **not here and never will be**. That is the whole point: a list that returned
164
+ * every method's full bundle hit DynamoDB's 1 MB page cap at a couple hundred methods
165
+ * and silently returned a SHORT ARRAY — methods vanished from the UI with no error at
166
+ * all. Use `getMethod(id)` when you need the files.
155
167
  *
156
168
  * `updated_at` is absent by design too. The catalog is ordered by `created_at`
157
169
  * (immutable — over a mutable sort key a cursor duplicates and skips rows), and
@@ -160,8 +172,9 @@ export interface MethodDeletionAccepted {
160
172
  *
161
173
  * The row carries the method's publish state, so a list tells its methods apart without
162
174
  * reading each one: never published (`latest_version` is `null`), published with the draft
163
- * unchanged (`draft_digest === latest_published.source_digest`), or published with the draft
164
- * ahead (they differ). The three fields are absent from a platform that does not serve them.
175
+ * unchanged (`draft_digest` is not `null` and equals `latest_published.tree_digest`), or
176
+ * published with the draft ahead (they differ). The three fields are absent from a platform that
177
+ * does not serve them.
165
178
  */
166
179
  export interface MethodSummary {
167
180
  method_id: string;
@@ -178,12 +191,7 @@ export interface MethodSummary {
178
191
  latest_version?: number | null;
179
192
  /** The latest published version's summary; `null` when the method was never published. */
180
193
  latest_published?: MethodVersionSummary | null;
181
- /**
182
- * The digest the last draft write stored, in the form of `MethodData.draft_digest`. Unlike on
183
- * `MethodData` it can be `null` here: the list reads an index that holds no bundle to digest,
184
- * so a row that never stored a digest carries `null` until its next draft write stores one.
185
- * Compare it with `latest_published.source_digest` only when both are strings.
186
- */
194
+ /** The draft's tree digest, as `MethodData.draft_digest`; `null` for an empty draft. */
187
195
  draft_digest?: string | null;
188
196
  }
189
197
  export interface ListMethodsQuery {
@@ -222,34 +230,41 @@ export interface MethodPage {
222
230
  nextCursor: string | null;
223
231
  }
224
232
  /**
225
- * The create payload — `createMethod`. A new method holds this as its draft and has no
226
- * version yet. Its draft is then written with `writeDraft` and its name changed with
227
- * `renameMethod`.
233
+ * A method's tree in the four forms a save takes, of which a save gives at most one (see
234
+ * `MethodTreeForms`):
235
+ *
236
+ * - `directory`, a method directory on disk, listed by the `mthds` package's lister under the
237
+ * standard's membership rule and the deployment's limits (Node only);
238
+ * - `contents`, each file's bytes or text by tree path;
239
+ * - `tree`, a tree whose files the client reads, such as the `MethodTree` the `mthds` package's
240
+ * `listMethodTree` lists from a directory;
241
+ * - `files`, the MTHDS standard's map of file entries, the same `files` a run takes, sent as
242
+ * given: a file's text, `{ base64 }`, or `{ sha256, size }` for bytes the organization holds.
243
+ *
244
+ * A `directory`, `contents` or `tree` travels inline when its inline map weighs 256 KiB or less
245
+ * and no more than the inline limit the platform announces, or when the platform keeps no blob
246
+ * store, and otherwise by hash, after the client uploads the files the organization lacks (see
247
+ * `docs/method-trees.md`). On a save, `files: null` empties the draft.
228
248
  */
229
- export interface MethodWriteInput {
249
+ export type MethodTreeInput = MethodTreeForms;
250
+ /**
251
+ * The create payload — `createMethod`. A new method holds its tree as its draft and has no
252
+ * version yet; with no tree, the draft is empty. Its draft is then written with `writeDraft`
253
+ * and its name changed with `renameMethod`.
254
+ */
255
+ export interface MethodWriteInput extends MethodTreeInput {
230
256
  name: string;
231
- mthds: string;
232
- /**
233
- * Custom-PipeFunc Python as `MethodFile[]`, serialized to the catalog string on the wire;
234
- * omitted or an empty array, the method has none.
235
- */
236
- python?: MethodFile[];
237
257
  input_data?: Record<string, unknown> | null;
238
258
  }
239
259
  /**
240
260
  * The draft write — `writeDraft`, `PUT /v1/methods/{id}/draft`. It never validates: a draft
241
261
  * may be invalid, and an autosave of work in progress often is.
262
+ *
263
+ * The write replaces the draft's whole tree, given in exactly one form (see `MethodTreeInput`):
264
+ * `files: null` empties the draft, and a draft giving no tree is refused, so keeping the stored
265
+ * files means sending them again.
242
266
  */
243
- export interface MethodDraftInput {
244
- /** The draft's `.mthds` files, in the stored serialized form. Required. */
245
- mthds: string;
246
- /**
247
- * Custom-PipeFunc Python as `MethodFile[]`. Three-way: **omit** (`undefined`) keeps the
248
- * stored Python (the client sends nothing); an **empty array** `[]` clears it (the client
249
- * serializes it to `""`); a **non-empty array** replaces it. It is a replace, not a merge —
250
- * send the full set on a write that intends to change it.
251
- */
252
- python?: MethodFile[];
267
+ export interface MethodDraftInput extends MethodTreeInput {
253
268
  /**
254
269
  * The editor's form inputs. Three-way too: **omit** keeps the stored inputs, an explicit
255
270
  * `null` clears them, and any other value replaces them.
@@ -661,10 +676,11 @@ export interface PipelineRun {
661
676
  */
662
677
  method_version?: number | "draft" | null;
663
678
  /**
664
- * The digest of the files the run ran, in the canonical form of `MethodData.draft_digest`, so
665
- * an inline run identical to a version records that version's `source_digest`. `null` when
666
- * the platform never held the files, as on a `method_ref` run; absent on a run recorded by a
667
- * platform that did not record it yet.
679
+ * The SHA-256 of the sources the run sent as text, 64 lowercase hex characters with no prefix —
680
+ * not a tree digest. `null` for a run whose method was a tree holding a Base64 or a hash entry,
681
+ * a stored method's included, which `RunDetail.tree_digest` names instead, and when the platform
682
+ * never held the files, as on a `method_ref` run; absent on a run recorded by a platform that
683
+ * did not record it yet.
668
684
  */
669
685
  source_digest?: string | null;
670
686
  }
@@ -696,7 +712,7 @@ export interface RunHistoryItem {
696
712
  * and of the draft together, so this is how a row says which one it was.
697
713
  */
698
714
  method_version?: number | "draft" | null;
699
- /** The digest of the files the run ran (see `PipelineRun.source_digest`). */
715
+ /** The SHA-256 of the sources the run sent as text (see `PipelineRun.source_digest`). */
700
716
  source_digest?: string | null;
701
717
  }
702
718
  /**
@@ -711,8 +727,7 @@ export interface RunHistoryItem {
711
727
  * multiplied by the page size on one and by the poll rate on the other.
712
728
  */
713
729
  export interface RunDetail extends PipelineRun {
714
- /** One entry PER `.mthds` FILE, not one bundle string — the same array shape
715
- * the protocol's validate call takes and echoes back. A single-file method
730
+ /** One entry PER `.mthds` FILE, not one bundle string. A single-file method
716
731
  * is an array of one. */
717
732
  mthds_contents?: string[] | null;
718
733
  /**
@@ -729,6 +744,13 @@ export interface RunDetail extends PipelineRun {
729
744
  * read does, as `RunRead.request_id`.
730
745
  */
731
746
  request_id?: string | null;
747
+ /**
748
+ * The digest of the method tree the run sent as `files`, `sha256:` and 64 lowercase hex
749
+ * characters, a stored method's run included; `null` for a run that recorded none.
750
+ */
751
+ tree_digest?: string | null;
752
+ /** The runner's fingerprint of the crate it loaded the tree into; `null` when it reported none. */
753
+ crate_fingerprint?: string | null;
732
754
  }
733
755
  /** Query for one page of run history. */
734
756
  export interface ListRunsQuery {
package/dist/runs.d.ts CHANGED
@@ -80,9 +80,11 @@ export interface RunPublic {
80
80
  */
81
81
  method_version?: number | "draft" | null;
82
82
  /**
83
- * The digest of the files the run ran, in the canonical form of `MethodData.draft_digest`;
84
- * `null` when the platform never held the files, as on a `method_ref` run. A hosted
85
- * extension, absent on a server that does not record it.
83
+ * The SHA-256 of the sources the run sent as text (`mthds_contents`, or a `files` map of text
84
+ * entries), 64 lowercase hex characters, which is not a tree digest (`RunDetail.tree_digest`
85
+ * names a run's tree); `null` when the platform never held the sources as text, as on a run of
86
+ * a saved method or a `method_ref` run. A hosted extension, absent on a server that does not
87
+ * record it.
86
88
  */
87
89
  source_digest?: string | null;
88
90
  /** Server-specific response fields (defined by the server you call). */