@pipelex/sdk 0.11.0 → 0.13.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 +7 -2
- package/dist/client.d.ts +67 -10
- package/dist/client.js +102 -9
- package/dist/client.js.map +1 -1
- package/dist/codegen-check.d.ts +153 -0
- package/dist/codegen-check.js +518 -0
- package/dist/codegen-check.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +109 -9
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -6,7 +6,9 @@ TypeScript SDK for the **Pipelex hosted API** — execute MTHDS methods, manage
|
|
|
6
6
|
|
|
7
7
|
## Status
|
|
8
8
|
|
|
9
|
-
Early. `PipelexApiClient` implements the MTHDS protocol-execution routes (`execute` / `start` / `validate` / `models` / `version`), the build helpers (`/v1/build/*`), the durable run lifecycle (`start` → poll → result), and the Pipelex product routes (user profile, methods catalog, organizations, billing, API keys, gateway key, onboarding, storage, runs list/update).
|
|
9
|
+
Early. `PipelexApiClient` implements the MTHDS protocol-execution routes (`execute` / `start` / `validate` / `models` / `version`), the build helpers (`/v1/build/*`), the crate routes (`resolve` / `codegen`), the durable run lifecycle (`start` → poll → result), and the Pipelex product routes (user profile, methods catalog, organizations, billing, API keys, gateway key, onboarding, storage, runs list/update).
|
|
10
|
+
|
|
11
|
+
Besides the client, the package exports `runCodegenCheck` — a **pure** offline check that verifies a committed `codegen()` tree still matches its `codegen.lock`. It needs no server, no key, and no client instance, so it fits a CI job. See [`docs/crate-routes.md`](./docs/crate-routes.md#the-offline-check--runcodegencheck).
|
|
10
12
|
|
|
11
13
|
## Install
|
|
12
14
|
|
|
@@ -46,7 +48,10 @@ import { PipelexApiClient, ApiResponseError } from "@pipelex/sdk";
|
|
|
46
48
|
const client = new PipelexApiClient({ apiKey: process.env.PIPELEX_API_KEY });
|
|
47
49
|
|
|
48
50
|
const me = await client.getMe(); // GET /v1/me
|
|
49
|
-
const
|
|
51
|
+
const page = await client.listMethods(); // GET /v1/methods — one page: { items, nextCursor }
|
|
52
|
+
for await (const method of client.iterateMethods()) {
|
|
53
|
+
// follows the cursor for callers that genuinely want the whole catalog
|
|
54
|
+
}
|
|
50
55
|
const created = await client.createMethod({ name: "Greeter", mthds: "domain = 'demo'" });
|
|
51
56
|
|
|
52
57
|
try {
|
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { MTHDSProtocol, ModelCategory, ModelDeck, RunOptions, RunResultStart, StartOptions, VersionInfo } from "mthds/protocol";
|
|
2
|
-
import type { BuildInputsRequest, BuildInputsResponse, BuildOutputRequest, BuildOutputResponse, BuildRunnerRequest, BuildRunnerResponse, ConceptRequest, ConceptResponse, DictPipeOutput, FormatResponse, InputsTemplateFormat, LintResponse, MthdsFileItem, PipeSpecRequest, PipeSpecResponse, PipelexValidationResult } from "./models.js";
|
|
2
|
+
import type { BuildInputsRequest, BuildInputsResponse, BuildOutputRequest, BuildOutputResponse, BuildRunnerRequest, BuildRunnerResponse, CodegenRequest, CodegenResponse, ConceptRequest, ConceptResponse, DictPipeOutput, FormatResponse, InputsTemplateFormat, LintResponse, MthdsFileItem, PipeSpecRequest, PipeSpecResponse, PipelexValidationResult, ResolveRequest, ResolveResponse } from "./models.js";
|
|
3
3
|
import { type RunRead, type RunResults, type RunResultState, type WaitForResultOptions } from "./runs.js";
|
|
4
4
|
import type { BillingPortalResponse, ChangePlanResponse, CheckoutResponse, GatewayApiKey, GatewayApiKeyStatus, InvoiceView, Membership, MembershipsResponse, ListMethodsQuery, MethodData, MethodPage, MethodSummary, MethodWriteInput, OnboardingSubmission, PipelexApiKeyCreated, PipelexApiKeyList, ListRunsQuery, PipelineRun, RunDetail, RunPage, PlanView, ResolvedStorageUrl, SubscriptionResponse, UpdateRunInput, UploadInput, UploadedFile, UserProfile } from "./product-models.js";
|
|
5
5
|
import type { UploadableAsset, UploadFileOptions, UploadRecord } from "./upload.js";
|
|
@@ -192,18 +192,39 @@ export declare class PipelexApiClient implements MTHDSProtocol<DictPipeOutput> {
|
|
|
192
192
|
*/
|
|
193
193
|
format(content: string, options?: Record<string, unknown>): Promise<FormatResponse>;
|
|
194
194
|
/**
|
|
195
|
-
* POST one of the Pipelex-API extension routes — the tools (`lint`, `format`)
|
|
196
|
-
* the build projections (`build/*`). Their
|
|
197
|
-
* mapped to the typed `ApiResponseError` like
|
|
195
|
+
* POST one of the Pipelex-API extension routes — the tools (`lint`, `format`), the
|
|
196
|
+
* crate routes (`resolve`, `codegen`), and the build projections (`build/*`). Their
|
|
197
|
+
* non-2xx bodies are RFC 7807 problems, mapped to the typed `ApiResponseError` like
|
|
198
|
+
* the product routes.
|
|
198
199
|
*
|
|
199
|
-
* The mapping is what makes their no-verdict arms usable: a
|
|
200
|
-
* `422` for
|
|
201
|
-
*
|
|
202
|
-
* `
|
|
200
|
+
* The mapping is what makes their no-verdict arms usable: a crate-family route
|
|
201
|
+
* answers `422` for a request it cannot act on (an unresolvable pipe selector on the
|
|
202
|
+
* build routes; an unknown `kind`/`target`, or a `pipe_ref` on the concept-set-wide
|
|
203
|
+
* `types` kind, on `codegen`) and `501` for the reserved `method_ref`. A caller
|
|
204
|
+
* branches on `ApiResponseError.status`, never on a message.
|
|
203
205
|
*
|
|
204
206
|
* All of these are inference-free, so they default to the management-call timeout.
|
|
205
207
|
* `build/runner` is the exception — it dry-run-sweeps the closure — and overrides it
|
|
206
208
|
* via `timeoutMs`.
|
|
209
|
+
*
|
|
210
|
+
* **The static routes deliberately expose no `timeoutMs` / `signal`, and that is not
|
|
211
|
+
* an oversight to be "fixed" per route.** Automated reviewers have proposed adding
|
|
212
|
+
* them to whichever route was newest more than once; the reasons they are absent are:
|
|
213
|
+
*
|
|
214
|
+
* 1. The split tracks the **dry-run sweep**, not the age of the route. `build/runner`
|
|
215
|
+
* is slow because it sweeps (the whole closure when `pipe_ref` is omitted); every
|
|
216
|
+
* other extension route rides the static core (`crate_ops.py` is explicit that
|
|
217
|
+
* `build/runner` "is the exception — it needs the dry-run sweep"). Giving one
|
|
218
|
+
* static route an override while its siblings lack one is the inconsistency.
|
|
219
|
+
* 2. The input is **bounded server-side** — `pipelex-api/api/limits.py` caps a request
|
|
220
|
+
* at 16 `.mthds` files of 1 MiB each — and none of these routes runs inference.
|
|
221
|
+
* 3. On the hosted path an override would be **inert**: the gateway caps responses at
|
|
222
|
+
* ~30s (see `POLL_REQUEST_TIMEOUT_MS` above), so raising `timeoutMs` would still be
|
|
223
|
+
* cut off upstream, just with a less honest error.
|
|
224
|
+
*
|
|
225
|
+
* If a static route ever genuinely needs longer, give the WHOLE static family one
|
|
226
|
+
* uniform transport-options parameter in a single pass — do not bolt it onto one
|
|
227
|
+
* route.
|
|
207
228
|
*/
|
|
208
229
|
private requestExtension;
|
|
209
230
|
/** The model deck the runner can route to — `GET /v1/models[?type=]`. */
|
|
@@ -213,6 +234,40 @@ export declare class PipelexApiClient implements MTHDSProtocol<DictPipeOutput> {
|
|
|
213
234
|
* The handshake for feature detection (hosted extensions or not).
|
|
214
235
|
*/
|
|
215
236
|
version(): Promise<VersionInfo>;
|
|
237
|
+
/**
|
|
238
|
+
* Resolve a closure into its normalized library crate — `POST /v1/resolve`.
|
|
239
|
+
*
|
|
240
|
+
* Resolution is a first-class language operation alongside validation: the closure is
|
|
241
|
+
* loaded and statically validated, then emitted as the **normalized library crate**
|
|
242
|
+
* (fully qualified refs, refinement flattened, natives materialized, fingerprint set)
|
|
243
|
+
* — the MTHDS standard's Library Crate Format. It runs NO dry-run sweep, so a valid
|
|
244
|
+
* verdict here says the library resolves, never that it runs; that is `validate`'s
|
|
245
|
+
* vocabulary.
|
|
246
|
+
*
|
|
247
|
+
* Returns a **200 verdict**: pattern-match `is_valid` before reading the arm — a
|
|
248
|
+
* closure that does not parse/load/validate comes back as `is_valid: false` with
|
|
249
|
+
* `validation_errors[]`, not as a thrown error. Only a no-verdict condition throws
|
|
250
|
+
* `ApiResponseError`: a malformed selector (neither or both of `files`/`method_ref`)
|
|
251
|
+
* is a 422, and the reserved `method_ref` is a `501` until the server-side method
|
|
252
|
+
* registry lands. To resolve a STORED method today, expand it first:
|
|
253
|
+
* `resolve({ files: await client.getMethodClosure(methodId) })`.
|
|
254
|
+
*/
|
|
255
|
+
resolve(request: ResolveRequest): Promise<ResolveResponse>;
|
|
256
|
+
/**
|
|
257
|
+
* Project a closure's crate into stamped typed artifacts — `POST /v1/codegen`.
|
|
258
|
+
*
|
|
259
|
+
* Resolves the closure exactly like {@link resolve}, then projects the crate through
|
|
260
|
+
* the two explicit axes — `kind` (`types` today) × `target` (`ts-zod` for TypeScript
|
|
261
|
+
* consumers, `python-pydantic`, `python-structures`) — and returns the artifact set
|
|
262
|
+
* plus its `codegen.lock`. Write both verbatim and the tree is byte-identical to a
|
|
263
|
+
* local `pipelex codegen types` run, so the offline `pipelex codegen check` passes on
|
|
264
|
+
* it; the SDK deliberately does not write files for you.
|
|
265
|
+
*
|
|
266
|
+
* Same 200-verdict discipline as {@link resolve}. Only a no-verdict condition throws
|
|
267
|
+
* `ApiResponseError`: an unknown `kind`/`target`, a `pipe_ref` on the concept-set-wide
|
|
268
|
+
* `types` kind, or a malformed selector is a 422; `method_ref` is a `501`.
|
|
269
|
+
*/
|
|
270
|
+
codegen(request: CodegenRequest): Promise<CodegenResponse>;
|
|
216
271
|
/**
|
|
217
272
|
* Project a pipe's declared inputs as a fill-in template — `POST /v1/build/inputs`.
|
|
218
273
|
*
|
|
@@ -253,8 +308,10 @@ export declare class PipelexApiClient implements MTHDSProtocol<DictPipeOutput> {
|
|
|
253
308
|
*
|
|
254
309
|
* Because of that sweep it is the one extension route that can legitimately run
|
|
255
310
|
* long, so it gets its own generous timeout (5 min) rather than the 30s the static
|
|
256
|
-
* routes use
|
|
257
|
-
*
|
|
311
|
+
* routes use, and it is the ONLY extension route that takes transport options at all
|
|
312
|
+
* (the policy note on `requestExtension` says why the static ones do not). Override it
|
|
313
|
+
* per call with `options.timeoutMs`; a caller that stops caring mid-sweep can cancel
|
|
314
|
+
* via `options.signal` instead of waiting it out.
|
|
258
315
|
*/
|
|
259
316
|
buildRunner(request: BuildRunnerRequest, options?: {
|
|
260
317
|
timeoutMs?: number;
|
package/dist/client.js
CHANGED
|
@@ -423,6 +423,17 @@ export class PipelexApiClient {
|
|
|
423
423
|
});
|
|
424
424
|
}
|
|
425
425
|
// ── Tools extensions (Pipelex API — `/v1/lint`, `/v1/format`) ─────────
|
|
426
|
+
//
|
|
427
|
+
// NOT REACHABLE ON ANY HOSTED ENVIRONMENT. Both are served by any `pipelex-api`
|
|
428
|
+
// runner, but neither the gateway's API-key allowlist nor the platform's tooling
|
|
429
|
+
// proxy lists them, so every `*.pipelex.com` origin answers a gateway
|
|
430
|
+
// `403 {"message":"Forbidden"}` — refused before any service sees the request.
|
|
431
|
+
// Measured 2026-08-19 on prod AND `api-dev.pipelex.com`: on the same origin, with
|
|
432
|
+
// the same key, `validate` succeeds while these two 403. Dev is not a workaround.
|
|
433
|
+
//
|
|
434
|
+
// The crate routes (`resolve`/`codegen`) shared this gap and were allowlisted on
|
|
435
|
+
// dev — these two were NOT included in that change. Point `baseUrl` at a runner.
|
|
436
|
+
// Tracked in `wip/hosted-exposure-crate-and-tools-routes.md`.
|
|
426
437
|
/**
|
|
427
438
|
* Lint one `.mthds` file against the embedded MTHDS schema — `POST /v1/lint`.
|
|
428
439
|
*
|
|
@@ -464,18 +475,39 @@ export class PipelexApiClient {
|
|
|
464
475
|
return this.requestExtension("format", body);
|
|
465
476
|
}
|
|
466
477
|
/**
|
|
467
|
-
* POST one of the Pipelex-API extension routes — the tools (`lint`, `format`)
|
|
468
|
-
* the build projections (`build/*`). Their
|
|
469
|
-
* mapped to the typed `ApiResponseError` like
|
|
478
|
+
* POST one of the Pipelex-API extension routes — the tools (`lint`, `format`), the
|
|
479
|
+
* crate routes (`resolve`, `codegen`), and the build projections (`build/*`). Their
|
|
480
|
+
* non-2xx bodies are RFC 7807 problems, mapped to the typed `ApiResponseError` like
|
|
481
|
+
* the product routes.
|
|
470
482
|
*
|
|
471
|
-
* The mapping is what makes their no-verdict arms usable: a
|
|
472
|
-
* `422` for
|
|
473
|
-
*
|
|
474
|
-
* `
|
|
483
|
+
* The mapping is what makes their no-verdict arms usable: a crate-family route
|
|
484
|
+
* answers `422` for a request it cannot act on (an unresolvable pipe selector on the
|
|
485
|
+
* build routes; an unknown `kind`/`target`, or a `pipe_ref` on the concept-set-wide
|
|
486
|
+
* `types` kind, on `codegen`) and `501` for the reserved `method_ref`. A caller
|
|
487
|
+
* branches on `ApiResponseError.status`, never on a message.
|
|
475
488
|
*
|
|
476
489
|
* All of these are inference-free, so they default to the management-call timeout.
|
|
477
490
|
* `build/runner` is the exception — it dry-run-sweeps the closure — and overrides it
|
|
478
491
|
* via `timeoutMs`.
|
|
492
|
+
*
|
|
493
|
+
* **The static routes deliberately expose no `timeoutMs` / `signal`, and that is not
|
|
494
|
+
* an oversight to be "fixed" per route.** Automated reviewers have proposed adding
|
|
495
|
+
* them to whichever route was newest more than once; the reasons they are absent are:
|
|
496
|
+
*
|
|
497
|
+
* 1. The split tracks the **dry-run sweep**, not the age of the route. `build/runner`
|
|
498
|
+
* is slow because it sweeps (the whole closure when `pipe_ref` is omitted); every
|
|
499
|
+
* other extension route rides the static core (`crate_ops.py` is explicit that
|
|
500
|
+
* `build/runner` "is the exception — it needs the dry-run sweep"). Giving one
|
|
501
|
+
* static route an override while its siblings lack one is the inconsistency.
|
|
502
|
+
* 2. The input is **bounded server-side** — `pipelex-api/api/limits.py` caps a request
|
|
503
|
+
* at 16 `.mthds` files of 1 MiB each — and none of these routes runs inference.
|
|
504
|
+
* 3. On the hosted path an override would be **inert**: the gateway caps responses at
|
|
505
|
+
* ~30s (see `POLL_REQUEST_TIMEOUT_MS` above), so raising `timeoutMs` would still be
|
|
506
|
+
* cut off upstream, just with a less honest error.
|
|
507
|
+
*
|
|
508
|
+
* If a static route ever genuinely needs longer, give the WHOLE static family one
|
|
509
|
+
* uniform transport-options parameter in a single pass — do not bolt it onto one
|
|
510
|
+
* route.
|
|
479
511
|
*/
|
|
480
512
|
async requestExtension(endpoint, body, options = {}) {
|
|
481
513
|
const res = await this.requestRaw("POST", this.url(endpoint), {
|
|
@@ -512,6 +544,65 @@ export class PipelexApiClient {
|
|
|
512
544
|
}
|
|
513
545
|
return JSON.parse(res.body);
|
|
514
546
|
}
|
|
547
|
+
// ── Crate extensions (Pipelex API — `/v1/resolve`, `/v1/codegen`) ─────
|
|
548
|
+
//
|
|
549
|
+
// HOSTED EXPOSURE IS PARTIAL — dev yes, prod not yet. Both routes are served by
|
|
550
|
+
// any `pipelex-api` runner. On the hosted plane they must additionally be listed
|
|
551
|
+
// by the gateway's API-key allowlist and the platform's tooling proxy, which each
|
|
552
|
+
// enumerate routes explicitly (`validate`, `models`, `build/*`, …); an unlisted
|
|
553
|
+
// path answers a gateway `403 {"message":"Forbidden"}` — refused before any
|
|
554
|
+
// service sees it, so not even an RFC 7807 problem body.
|
|
555
|
+
//
|
|
556
|
+
// Measured 2026-08-19, same key, same run:
|
|
557
|
+
// api-dev.pipelex.com (pipelex-hosted@0.9.0) resolve + codegen OK, full
|
|
558
|
+
// verdict discipline intact (200 `is_valid:false`, 501, 422)
|
|
559
|
+
// api.pipelex.com (pipelex-hosted@0.2.6) both still 403
|
|
560
|
+
//
|
|
561
|
+
// So prod is waiting on the deploy, not on another code change. `lint`/`format`
|
|
562
|
+
// are still 403 on BOTH — only the crate routes were allowlisted. Tracked in
|
|
563
|
+
// `wip/hosted-exposure-crate-and-tools-routes.md`.
|
|
564
|
+
//
|
|
565
|
+
// Both are STATIC routes (no dry-run sweep), so like every static sibling they take
|
|
566
|
+
// no `timeoutMs`/`signal` — see the policy note on `requestExtension` before adding
|
|
567
|
+
// one here.
|
|
568
|
+
/**
|
|
569
|
+
* Resolve a closure into its normalized library crate — `POST /v1/resolve`.
|
|
570
|
+
*
|
|
571
|
+
* Resolution is a first-class language operation alongside validation: the closure is
|
|
572
|
+
* loaded and statically validated, then emitted as the **normalized library crate**
|
|
573
|
+
* (fully qualified refs, refinement flattened, natives materialized, fingerprint set)
|
|
574
|
+
* — the MTHDS standard's Library Crate Format. It runs NO dry-run sweep, so a valid
|
|
575
|
+
* verdict here says the library resolves, never that it runs; that is `validate`'s
|
|
576
|
+
* vocabulary.
|
|
577
|
+
*
|
|
578
|
+
* Returns a **200 verdict**: pattern-match `is_valid` before reading the arm — a
|
|
579
|
+
* closure that does not parse/load/validate comes back as `is_valid: false` with
|
|
580
|
+
* `validation_errors[]`, not as a thrown error. Only a no-verdict condition throws
|
|
581
|
+
* `ApiResponseError`: a malformed selector (neither or both of `files`/`method_ref`)
|
|
582
|
+
* is a 422, and the reserved `method_ref` is a `501` until the server-side method
|
|
583
|
+
* registry lands. To resolve a STORED method today, expand it first:
|
|
584
|
+
* `resolve({ files: await client.getMethodClosure(methodId) })`.
|
|
585
|
+
*/
|
|
586
|
+
async resolve(request) {
|
|
587
|
+
return this.requestExtension("resolve", request);
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* Project a closure's crate into stamped typed artifacts — `POST /v1/codegen`.
|
|
591
|
+
*
|
|
592
|
+
* Resolves the closure exactly like {@link resolve}, then projects the crate through
|
|
593
|
+
* the two explicit axes — `kind` (`types` today) × `target` (`ts-zod` for TypeScript
|
|
594
|
+
* consumers, `python-pydantic`, `python-structures`) — and returns the artifact set
|
|
595
|
+
* plus its `codegen.lock`. Write both verbatim and the tree is byte-identical to a
|
|
596
|
+
* local `pipelex codegen types` run, so the offline `pipelex codegen check` passes on
|
|
597
|
+
* it; the SDK deliberately does not write files for you.
|
|
598
|
+
*
|
|
599
|
+
* Same 200-verdict discipline as {@link resolve}. Only a no-verdict condition throws
|
|
600
|
+
* `ApiResponseError`: an unknown `kind`/`target`, a `pipe_ref` on the concept-set-wide
|
|
601
|
+
* `types` kind, or a malformed selector is a 422; `method_ref` is a `501`.
|
|
602
|
+
*/
|
|
603
|
+
async codegen(request) {
|
|
604
|
+
return this.requestExtension("codegen", request);
|
|
605
|
+
}
|
|
515
606
|
// ── Build extensions (Pipelex API layer 2 — `/v1/build/*`) ────────
|
|
516
607
|
/**
|
|
517
608
|
* Project a pipe's declared inputs as a fill-in template — `POST /v1/build/inputs`.
|
|
@@ -582,8 +673,10 @@ export class PipelexApiClient {
|
|
|
582
673
|
*
|
|
583
674
|
* Because of that sweep it is the one extension route that can legitimately run
|
|
584
675
|
* long, so it gets its own generous timeout (5 min) rather than the 30s the static
|
|
585
|
-
* routes use
|
|
586
|
-
*
|
|
676
|
+
* routes use, and it is the ONLY extension route that takes transport options at all
|
|
677
|
+
* (the policy note on `requestExtension` says why the static ones do not). Override it
|
|
678
|
+
* per call with `options.timeoutMs`; a caller that stops caring mid-sweep can cancel
|
|
679
|
+
* via `options.signal` instead of waiting it out.
|
|
587
680
|
*/
|
|
588
681
|
async buildRunner(request, options = {}) {
|
|
589
682
|
return this.requestExtension("build/runner", request, {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The offline codegen drift check — pure hashing, no engine, no network, no API key.
|
|
3
|
+
*
|
|
4
|
+
* `client.codegen()` returns stamped artifacts plus a `codegen.lock`; a consumer that
|
|
5
|
+
* commits that tree needs a CI gate over it. This module is that gate — it proves the tree
|
|
6
|
+
* and its lock still agree with each other. Whether the tree still matches what the METHOD
|
|
7
|
+
* resolves to is a second, separate question: answering it needs the engine, so the check
|
|
8
|
+
* cannot, and a caller closes it by comparing {@link CodegenCheckReport.crateFingerprint}
|
|
9
|
+
* against a live `codegen()` response. It never regenerates: regeneration is a **dev action**
|
|
10
|
+
* (it needs the engine), the check is the **CI action** (it needs only hashes), so a
|
|
11
|
+
* template improvement upstream never reddens a consumer's CI.
|
|
12
|
+
*
|
|
13
|
+
* The check is a mirror of pipelex's `run_codegen_check`, and deliberately so: the
|
|
14
|
+
* spec pins the algorithm as "pure hashing, so any client (the CLI, an SDK, a short
|
|
15
|
+
* CI script) implements it identically". A verdict computed here must equal the one
|
|
16
|
+
* `pipelex codegen check` computes over the same bytes — including the drift detail
|
|
17
|
+
* strings, which are kept verbatim so a consumer switching between the CLI and this
|
|
18
|
+
* SDK reads the same report.
|
|
19
|
+
*
|
|
20
|
+
* **Pure by design.** No filesystem, no fetch, no Node builtins: the caller walks its
|
|
21
|
+
* own tree and hands in the text; this module owns the verdict. That is the same
|
|
22
|
+
* split pipelex draws between `build_stamped_projection` (pure) and
|
|
23
|
+
* `write_stamped_projection` (local materialization). Hashing goes through WebCrypto rather
|
|
24
|
+
* than `node:crypto` so this module adds no Node builtin to the barrel's import graph — which
|
|
25
|
+
* is not by itself the same as the barrel being browser-bundleable, since `upload.ts` still
|
|
26
|
+
* names `node:fs/promises` and a browser-targeting bundler must mark `node:*` external.
|
|
27
|
+
*
|
|
28
|
+
* @see {@link runCodegenCheck} for the caller's obligations, which are load-bearing:
|
|
29
|
+
* an incomplete file list or re-encoded text produces a *wrong verdict*, not an error.
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* The file suffixes codegen stamps — the mirror of pipelex's `STAMPABLE_SUFFIXES`.
|
|
33
|
+
*
|
|
34
|
+
* Exported so a caller's tree walk filters exactly like the check does: a file whose
|
|
35
|
+
* suffix is not here can never be an artifact and can never be an orphan, so it is
|
|
36
|
+
* skipped rather than rejected (this is what lets a consumer park a sidecar such as
|
|
37
|
+
* `sources.json` beside the lock).
|
|
38
|
+
*/
|
|
39
|
+
export declare const STAMPABLE_ARTIFACT_SUFFIXES: readonly string[];
|
|
40
|
+
/** Whether `path` names a file type codegen stamps (and therefore one the check considers). */
|
|
41
|
+
export declare function isStampableArtifactPath(path: string): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* A no-verdict condition: the lock is malformed, or a path (in the lock or in the
|
|
44
|
+
* supplied tree) is not a safe canonical artifact path.
|
|
45
|
+
*
|
|
46
|
+
* Deliberately NOT a drift and NOT a `PipelineRequestError`: nothing was requested
|
|
47
|
+
* over the wire, and the check could not produce a verdict at all. A CLI consumer
|
|
48
|
+
* maps a drift report to its exit-1 path and this error to exit 2, per the codegen
|
|
49
|
+
* spec's exit-code policy.
|
|
50
|
+
*/
|
|
51
|
+
export declare class CodegenLockError extends Error {
|
|
52
|
+
constructor(message: string, options?: {
|
|
53
|
+
cause?: unknown;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/** The kind of drift found for one artifact — the canonical `DriftCategory` values. */
|
|
57
|
+
export type CodegenDriftCategory = "missing" | "modified" | "hand-edited" | "orphan";
|
|
58
|
+
/** One drifting artifact: its path (relative to the lock), the category, and a human detail. */
|
|
59
|
+
export interface CodegenDrift {
|
|
60
|
+
path: string;
|
|
61
|
+
category: CodegenDriftCategory;
|
|
62
|
+
detail: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* One file of the tree being checked.
|
|
66
|
+
*
|
|
67
|
+
* Structurally identical to `GeneratedArtifact`, so a `codegen()` response's
|
|
68
|
+
* `artifacts` array feeds straight in with no mapping.
|
|
69
|
+
*/
|
|
70
|
+
export interface CodegenTreeFile {
|
|
71
|
+
/** Relative to the lock's directory, forward slashes, canonical — no `./`, no `..`. */
|
|
72
|
+
path: string;
|
|
73
|
+
/**
|
|
74
|
+
* The file's text as read — no BOM stripping, no re-encoding, no reformatting.
|
|
75
|
+
*
|
|
76
|
+
* Line endings are the one thing normalized for you (`\r\n` and lone `\r` become
|
|
77
|
+
* `\n`), mirroring the reference reader — see {@link runCodegenCheck}.
|
|
78
|
+
*/
|
|
79
|
+
content: string;
|
|
80
|
+
}
|
|
81
|
+
/** What {@link runCodegenCheck} needs: the lock's text and the tree it governs. */
|
|
82
|
+
export interface CodegenCheckInput {
|
|
83
|
+
/** The `codegen.lock` content, verbatim. A missing lock is the caller's own concern. */
|
|
84
|
+
lockContent: string;
|
|
85
|
+
/** Every file under the lock's directory, recursively — see {@link runCodegenCheck}. */
|
|
86
|
+
files: readonly CodegenTreeFile[];
|
|
87
|
+
}
|
|
88
|
+
/** The structured verdict of one offline check. */
|
|
89
|
+
export interface CodegenCheckReport {
|
|
90
|
+
/** Locked-artifact drifts first (sorted by path), then orphans (sorted by path). */
|
|
91
|
+
drifts: CodegenDrift[];
|
|
92
|
+
/** Whether the tree is in sync — exactly `drifts.length === 0`. */
|
|
93
|
+
isCurrent: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* The lock header's crate fingerprint. Surfaced so a caller can compare a committed
|
|
96
|
+
* tree against a live `codegen()` response's `crate_fingerprint` — a comparison the
|
|
97
|
+
* check itself deliberately never makes, since it would need the engine.
|
|
98
|
+
*/
|
|
99
|
+
crateFingerprint: string;
|
|
100
|
+
/** The lock header's pipelex engine version, surfaced for the same reason. */
|
|
101
|
+
engineVersion: string;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Run the offline drift check over one generated tree.
|
|
105
|
+
*
|
|
106
|
+
* The algorithm, per the codegen spec's "Offline check algorithm":
|
|
107
|
+
*
|
|
108
|
+
* 1. For each artifact in the lock, locate it in `files` and recompute the hash of the
|
|
109
|
+
* body below its stamp; absent is a `missing` drift, a mismatch is a drift.
|
|
110
|
+
* 2. A locked file whose stamp is gone, unparseable, or self-inconsistent is `hand-edited`.
|
|
111
|
+
* 3. A stamped file the lock does not track is an `orphan` (the stale-artifact class a
|
|
112
|
+
* per-file stamp cannot catch on its own).
|
|
113
|
+
*
|
|
114
|
+
* At most **one** drift is reported per locked path, and `hand-edited` outranks
|
|
115
|
+
* `modified`: a hand edit trips both conditions and is reported once, as the hand edit.
|
|
116
|
+
*
|
|
117
|
+
* **The caller's obligations.** Each one, unmet, yields a *wrong verdict* rather than an
|
|
118
|
+
* error, so none of them can be left implicit:
|
|
119
|
+
*
|
|
120
|
+
* - **Pass the file's text as read, without reformatting it.** The hash is over exact UTF-8
|
|
121
|
+
* bytes and the stamp parser requires the text to *start with* the begin-marker line, so
|
|
122
|
+
* re-encoding, inserting a BOM, or running a formatter over an artifact reports
|
|
123
|
+
* `hand-edited`. Line endings are the one exception: `\r\n` and lone `\r` are normalized
|
|
124
|
+
* to `\n` first, mirroring the universal-newline translation the reference reader applies
|
|
125
|
+
* (see `normalizeNewlines`) — so a Windows checkout under `core.autocrlf=true` is NOT a
|
|
126
|
+
* false hand-edit here, just as it is not one for the CLI. Committing generated artifacts
|
|
127
|
+
* with a `.gitattributes` entry (e.g. `src/generated/** -text`) is still worth doing for
|
|
128
|
+
* diff hygiene; it is simply no longer load-bearing for the verdict.
|
|
129
|
+
* - **Walk the whole tree, recursively, from the lock's directory**, and pass paths
|
|
130
|
+
* relative to it. An incomplete list yields a wrong verdict in either direction: an
|
|
131
|
+
* omitted *locked* file is reported `missing` though it sits on disk, and an omitted
|
|
132
|
+
* *orphan* is never seen at all — `isCurrent: true`, a false negative on precisely the
|
|
133
|
+
* drift class orphan detection exists for. Filter with {@link isStampableArtifactPath}
|
|
134
|
+
* to walk exactly what the check considers. Pruning vendor/VCS directories and skipping
|
|
135
|
+
* symlinks is walk policy and stays with the caller (moot for a per-method generated
|
|
136
|
+
* directory, which holds nothing else).
|
|
137
|
+
* - **Decode the bytes yourself, and decode strictly.** `content` is already a `string`, so
|
|
138
|
+
* pipelex's "not valid UTF-8 → hand-edited" branch is unreachable here — and note the obvious
|
|
139
|
+
* reader does not hand it back to you: `readFile(path, "utf8")` substitutes U+FFFD for invalid
|
|
140
|
+
* bytes and never throws, so a corrupted artifact whose body legitimately contains U+FFFD can
|
|
141
|
+
* still hash to the locked value and report current. Decode with
|
|
142
|
+
* `new TextDecoder("utf-8", { fatal: true })` if that matters to you, and report a file you
|
|
143
|
+
* could not decode yourself — or omit it and accept a `missing` drift for it.
|
|
144
|
+
*
|
|
145
|
+
* What the check deliberately does **not** do: it never compares a stamp's
|
|
146
|
+
* `crate_fingerprint` against the lock's, and it never re-resolves the crate. Both need
|
|
147
|
+
* the engine, which is the whole point of the offline split.
|
|
148
|
+
*
|
|
149
|
+
* @throws {CodegenLockError} for a no-verdict condition — a malformed lock, a lock whose
|
|
150
|
+
* `lock_version` this build cannot read, an unsafe or duplicate artifact path in the lock, or a
|
|
151
|
+
* non-canonical or duplicate path in `files`.
|
|
152
|
+
*/
|
|
153
|
+
export declare function runCodegenCheck(input: CodegenCheckInput): Promise<CodegenCheckReport>;
|