@pipelex/sdk 0.32.0 → 0.34.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 +40 -5
- package/dist/artifacts.js +23 -9
- package/dist/artifacts.js.map +1 -1
- package/dist/cli/args.d.ts +41 -0
- package/dist/cli/args.js +96 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/bundle.d.ts +45 -0
- package/dist/cli/bundle.js +148 -0
- package/dist/cli/bundle.js.map +1 -0
- package/dist/cli/environment.d.ts +36 -0
- package/dist/cli/environment.js +72 -0
- package/dist/cli/environment.js.map +1 -0
- package/dist/cli/help.d.ts +4 -0
- package/dist/cli/help.js +56 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/inputs.d.ts +13 -0
- package/dist/cli/inputs.js +70 -0
- package/dist/cli/inputs.js.map +1 -0
- package/dist/cli/io.d.ts +79 -0
- package/dist/cli/io.js +96 -0
- package/dist/cli/io.js.map +1 -0
- package/dist/cli/main.d.ts +18 -0
- package/dist/cli/main.js +58 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/method.d.ts +56 -0
- package/dist/cli/method.js +108 -0
- package/dist/cli/method.js.map +1 -0
- package/dist/cli/present.d.ts +43 -0
- package/dist/cli/present.js +191 -0
- package/dist/cli/present.js.map +1 -0
- package/dist/cli/run.d.ts +17 -0
- package/dist/cli/run.js +290 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/script.d.ts +23 -0
- package/dist/cli/script.js +212 -0
- package/dist/cli/script.js.map +1 -0
- package/dist/cli/source.d.ts +49 -0
- package/dist/cli/source.js +71 -0
- package/dist/cli/source.js.map +1 -0
- package/dist/cli.d.ts +10 -0
- package/dist/cli.js +65 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +125 -17
- package/dist/client.js +383 -109
- package/dist/client.js.map +1 -1
- package/dist/codegen-check.d.ts +9 -0
- package/dist/codegen-check.js +12 -6
- package/dist/codegen-check.js.map +1 -1
- package/dist/error-models.d.ts +60 -2
- package/dist/error-models.js +169 -3
- package/dist/error-models.js.map +1 -1
- package/dist/error-verdicts.d.ts +34 -0
- package/dist/error-verdicts.js +69 -0
- package/dist/error-verdicts.js.map +1 -0
- package/dist/errors.d.ts +250 -48
- package/dist/errors.js +330 -64
- package/dist/errors.js.map +1 -1
- package/dist/hooks/validate-client.d.ts +3 -3
- package/dist/hooks/validate-client.js +3 -3
- package/dist/index.d.ts +4 -4
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/prepare-inputs.d.ts +6 -0
- package/dist/prepare-inputs.js +46 -14
- package/dist/prepare-inputs.js.map +1 -1
- package/dist/runs.d.ts +28 -1
- package/dist/runs.js +2 -1
- package/dist/runs.js.map +1 -1
- package/dist/upload-grant.d.ts +15 -10
- package/dist/upload-grant.js +36 -17
- package/dist/upload-grant.js.map +1 -1
- package/dist/upload.d.ts +6 -0
- package/dist/upload.js +25 -7
- package/dist/upload.js.map +1 -1
- package/dist/user-agent.d.ts +3 -2
- package/dist/user-agent.js +3 -2
- package/dist/user-agent.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/architecture.md +15 -9
- package/docs/artifact-download.md +3 -3
- package/docs/cli.md +123 -0
- package/docs/client-identification.md +1 -1
- package/docs/errors.md +96 -11
- package/docs/input-preparation.md +16 -8
- package/docs/run-results.md +20 -0
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -18,6 +18,24 @@ It also exports `summarizeUsage`, which folds a completed run's usage records in
|
|
|
18
18
|
npm install @pipelex/sdk
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
## Run a method from the command line
|
|
22
|
+
|
|
23
|
+
The package publishes one command, `pipelex-sdk`, so a method runs with nothing installed but Node 22.12 or later and a key in `PIPELEX_API_KEY`:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx @pipelex/sdk run --method github.com/acme/methods/receipt-review@v1.0.0 --inputs-template > inputs.json
|
|
27
|
+
npx @pipelex/sdk run --method github.com/acme/methods/receipt-review@v1.0.0 --inputs inputs.json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
`--method` takes a published address, a catalog id (`mt_…`) or a local `.mthds` file or bundle directory. The run's main output is printed on stdout as JSON, and the run id, each uploaded file and every error on stderr. `script` writes a method its own command, a shell script pinned to this SDK's version:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx @pipelex/sdk script --method github.com/acme/methods/receipt-review@v1.0.0
|
|
34
|
+
./receipt-review --inputs inputs.json
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
See [`docs/cli.md`](./docs/cli.md) for every flag, the output, the exit codes and Ctrl-C.
|
|
38
|
+
|
|
21
39
|
## Usage
|
|
22
40
|
|
|
23
41
|
```ts
|
|
@@ -77,9 +95,25 @@ try {
|
|
|
77
95
|
|
|
78
96
|
### Errors
|
|
79
97
|
|
|
80
|
-
|
|
98
|
+
Every error the SDK throws carries a verdict: `retryable`, whether asking again can succeed, and `errorDomain`, who can fix the failure (`input` for the caller, `config` for a change to the environment such as the credential, the plan or the base URL, `runtime` for nobody beforehand). Both are always decided, and `errorVerdictOf` reads them from anything a `catch` holds, returning `undefined` for what is not an SDK error, such as a bug in the calling code or your own abort. "Retryable" means a retry can succeed, not that it is safe: a start answered with a `500` may already have created a run.
|
|
99
|
+
|
|
100
|
+
```ts
|
|
101
|
+
import { errorVerdictOf } from "@pipelex/sdk";
|
|
102
|
+
|
|
103
|
+
try {
|
|
104
|
+
await client.startAndWaitForResult({ method_id: "mt_abc123", inputs });
|
|
105
|
+
} catch (err) {
|
|
106
|
+
const verdict = errorVerdictOf(err);
|
|
107
|
+
if (verdict === undefined) throw err; // not an SDK error: a bug, or the caller's own abort
|
|
108
|
+
if (verdict.retryable) return scheduleRetry();
|
|
109
|
+
if (verdict.errorDomain === "input") return askTheUserToFix(err);
|
|
110
|
+
return reportToOperator(err);
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
A refused request throws an `ApiResponseError` carrying every member of the server's RFC 9457 problem document. **Branch on `errorDomain` and `type`**, as the hosted-envelope spec says, never on the HTTP status or the message: `errorDomain` is the verdict's domain and `type` is the stable URI of the error class, the same on every occurrence. The verdict is the server's when it sent a valid one, and otherwise the SDK's fallback, read from the status, except that an `input` or `config` domain the server sent without `retryable` is not retryable; `problemDocument` keeps what the server sent. `userAction` gives the next step, and `requestId` — from the body, or the `X-Request-ID` header — is the id to hand to support. `code` (the platform's native code, one-to-one with `type`) and `errorType` (the runner's exception class name) stay available as each surface's finer code, and `errors` carries the platform's field-level failures.
|
|
81
115
|
|
|
82
|
-
On the hosted API, a run that ends without completing throws a `RunFailedError` from `waitForResult`, `startAndWaitForResult` and `downloadArtifacts`, and comes back as the `failed` arm of `getRunResult`. (Against a bare `pipelex-api` runner, `startAndWaitForResult` runs the method with the blocking `execute`, so a failed run there throws the runner's `ApiResponseError`, whose problem members carry the same classification.) Its `status` is the run's terminal status and its `error` is the run's stored error report, typed
|
|
116
|
+
On the hosted API, a run that ends without completing throws a `RunFailedError` from `waitForResult`, `startAndWaitForResult` and `downloadArtifacts`, and comes back as the `failed` arm of `getRunResult`. (Against a bare `pipelex-api` runner, `startAndWaitForResult` runs the method with the blocking `execute`, so a failed run there throws the runner's `ApiResponseError`, whose problem members carry the same classification.) Its `status` is the run's terminal status and its `error` is the run's stored error report, checked field by field and typed as `RunErrorReport`: the reason in `message`, `error_domain`, `type_uri` and `retryable` to branch on, `user_action` as the next step, and the inference details. It is `null` when the run ended without a report, and the error's own verdict comes from it: the report's domain, and retryable only when the report says so. The report is the runner's VERBOSE one, provider text included, so what a person sees is your presentation:
|
|
83
117
|
|
|
84
118
|
```ts
|
|
85
119
|
import { RunFailedError } from "@pipelex/sdk";
|
|
@@ -94,11 +128,11 @@ try {
|
|
|
94
128
|
}
|
|
95
129
|
```
|
|
96
130
|
|
|
97
|
-
[`docs/errors.md`](./docs/errors.md)
|
|
131
|
+
[`docs/errors.md`](./docs/errors.md) gives each class's verdict, the fallback table, and every field of both.
|
|
98
132
|
|
|
99
133
|
### Client identification
|
|
100
134
|
|
|
101
|
-
Every request to the API carries a `User-Agent` such as `pipelex-sdk-js/0.21.0 node/22.4.0 (darwin; arm64)`, which the hosted platform reads to attribute traffic to a client surface in its analytics. A program built on the SDK can put its own name in front with `appInfo`, shaped like Stripe's option of that name; an invalid field is refused at construction with a `TypeError`. In a browser the SDK sets no `User-Agent`. A program that also calls the API with its own `fetch` gets the same value from the exported `buildUserAgent(appInfo)`. The convention is the
|
|
135
|
+
Every request to the API carries a `User-Agent` such as `pipelex-sdk-js/0.21.0 node/22.4.0 (darwin; arm64)`, which the hosted platform reads to attribute traffic to a client surface in its analytics. A program built on the SDK can put its own name in front with `appInfo`, shaped like Stripe's option of that name; an invalid field is refused at construction with a `TypeError`. In a browser the SDK sets no `User-Agent`. A program that also calls the API with its own `fetch` gets the same value from the exported `buildUserAgent(appInfo)`. The convention is the spec `conformance/specs/client-identification.md`, in the `conformance` repository, where the cross-repo specs sit beside the tests that verify them, and [`docs/client-identification.md`](./docs/client-identification.md) describes this SDK's side of it.
|
|
102
136
|
|
|
103
137
|
```ts
|
|
104
138
|
const client = new PipelexApiClient({ appInfo: { name: "acme-invoicer", version: "1.4.0" } });
|
|
@@ -131,13 +165,14 @@ These pages ship inside the published package, so a reader who has only installe
|
|
|
131
165
|
| Page | What it covers |
|
|
132
166
|
| --- | --- |
|
|
133
167
|
| [`docs/architecture.md`](./docs/architecture.md) | The whole client surface: the request pipeline, every route, the typed errors |
|
|
168
|
+
| [`docs/cli.md`](./docs/cli.md) | The `pipelex-sdk` command: `run` and `script`, the environment it reads, what it prints, its exit codes, how it reads a bundle, and the case table it shares with the Python SDK |
|
|
134
169
|
| [`docs/run-results.md`](./docs/run-results.md) | Every field of `RunResults` — the run id as a durable handle, `main_stuff`, `working_memory`, `graph_spec`, the usage pair, produced files |
|
|
135
170
|
| [`docs/run-usage.md`](./docs/run-usage.md) | What a run consumed, record by record, and `summarizeUsage` which folds them into one reading |
|
|
136
171
|
| [`docs/artifact-download.md`](./docs/artifact-download.md) | Turning the `pipelex-storage://` references a run produced back into bytes: `locateArtifacts`, `collectArtifacts`, `resolveArtifacts`, `fetchArtifact`, `downloadArtifacts`, and how a saved file is named after the field it fills |
|
|
137
172
|
| [`docs/input-preparation.md`](./docs/input-preparation.md) | The other direction — `uploadFile` and `prepareInputs`, which turn local files into references a run can take, and the upload grant a browser page sends a file with |
|
|
138
173
|
| [`docs/crate-routes.md`](./docs/crate-routes.md) | `resolve`, `codegen` and `pipeIo` — the normalized crate, the stamped types, and a method's I/O artifacts without a validation — and the offline `runCodegenCheck` that guards a committed tree |
|
|
139
174
|
| [`docs/client-identification.md`](./docs/client-identification.md) | The `User-Agent` every API request carries, and `appInfo`, the option that puts your program's name in front of it |
|
|
140
|
-
| [`docs/errors.md`](./docs/errors.md) |
|
|
175
|
+
| [`docs/errors.md`](./docs/errors.md) | The verdict every error carries (`retryable`, `errorDomain`, `errorVerdictOf`), a failed run's stored error report on `RunFailedError` and `RunRead`, and every member of a refused request's `ApiResponseError`, with the fields to branch on |
|
|
141
176
|
|
|
142
177
|
## Develop
|
|
143
178
|
|
package/dist/artifacts.js
CHANGED
|
@@ -29,6 +29,20 @@ import { ApiResponseError, ArtifactAuthenticationError, ArtifactFetchError, Arti
|
|
|
29
29
|
import { isNodeRuntime } from "./upload.js";
|
|
30
30
|
import { MAX_TIMER_DELAY_MS, isTimerDelay } from "./timers.js";
|
|
31
31
|
// ── Constants ────────────────────────────────────────────────────────
|
|
32
|
+
/**
|
|
33
|
+
* The verdict of an argument the artifact operations refuse (a `scope`, a bound, a location):
|
|
34
|
+
* the caller's to fix, and asking again unchanged cannot pass.
|
|
35
|
+
*/
|
|
36
|
+
const ARGUMENT_REFUSED = {
|
|
37
|
+
verdict: { errorDomain: "input", retryable: false },
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* The verdict of an environment that cannot hold a download (a runtime with no filesystem, a
|
|
41
|
+
* directory that cannot be created): someone changes the environment first.
|
|
42
|
+
*/
|
|
43
|
+
const ENVIRONMENT_REFUSED = {
|
|
44
|
+
verdict: { errorDomain: "config", retryable: false },
|
|
45
|
+
};
|
|
32
46
|
/** The scheme of a durable storage reference. */
|
|
33
47
|
export const PIPELEX_STORAGE_SCHEME = "pipelex-storage://";
|
|
34
48
|
/**
|
|
@@ -268,14 +282,14 @@ export function artifactFilename(location, contentType, scope) {
|
|
|
268
282
|
const loose = location;
|
|
269
283
|
const uri = loose?.uri;
|
|
270
284
|
if (typeof uri !== "string") {
|
|
271
|
-
throw new ArtifactOperationError(`artifactFilename needs a location carrying its reference as a string "uri"; got ${String(uri)}
|
|
285
|
+
throw new ArtifactOperationError(`artifactFilename needs a location carrying its reference as a string "uri"; got ${String(uri)}.`, ARGUMENT_REFUSED);
|
|
272
286
|
}
|
|
273
287
|
const foundAt = loose?.found_at;
|
|
274
288
|
const first = Array.isArray(foundAt) ? foundAt[0] : undefined;
|
|
275
289
|
const segments = typeof first === "string" ? parsePath(first) : undefined;
|
|
276
290
|
if (segments === undefined) {
|
|
277
291
|
throw new ArtifactOperationError(`artifactFilename needs a location whose first "found_at" entry is a path such as ` +
|
|
278
|
-
`"$.items[0].url"; got ${typeof first === "string" ? JSON.stringify(first) : String(first)}
|
|
292
|
+
`"$.items[0].url"; got ${typeof first === "string" ? JSON.stringify(first) : String(first)}.`, ARGUMENT_REFUSED);
|
|
279
293
|
}
|
|
280
294
|
return filenameFor(segments, uri, contentType, scope);
|
|
281
295
|
}
|
|
@@ -345,7 +359,7 @@ function extensionOf(name) {
|
|
|
345
359
|
}
|
|
346
360
|
function requireScope(scope) {
|
|
347
361
|
if (scope !== "main_stuff" && scope !== "working_memory") {
|
|
348
|
-
throw new ArtifactOperationError(`"scope" must be "main_stuff" or "working_memory", got ${String(scope)}
|
|
362
|
+
throw new ArtifactOperationError(`"scope" must be "main_stuff" or "working_memory", got ${String(scope)}.`, ARGUMENT_REFUSED);
|
|
349
363
|
}
|
|
350
364
|
}
|
|
351
365
|
// ── resolveArtifacts ─────────────────────────────────────────────────
|
|
@@ -415,13 +429,13 @@ function fetchBounds(options) {
|
|
|
415
429
|
// A longer delay overflows the timer, which then fires at once as a false timeout.
|
|
416
430
|
if (!isTimerDelay(timeoutMs)) {
|
|
417
431
|
throw new ArtifactOperationError(`"timeoutMs" must be a positive number no larger than ${MAX_TIMER_DELAY_MS}, got ` +
|
|
418
|
-
`${String(timeoutMs)}
|
|
432
|
+
`${String(timeoutMs)}.`, ARGUMENT_REFUSED);
|
|
419
433
|
}
|
|
420
434
|
return { maxBytes, timeoutMs, allowHttp: options.allowHttp ?? false, signal: options.signal };
|
|
421
435
|
}
|
|
422
436
|
function requirePositive(name, value) {
|
|
423
437
|
if (!Number.isFinite(value) || value <= 0) {
|
|
424
|
-
throw new ArtifactOperationError(`"${name}" must be a positive number, got ${String(value)}
|
|
438
|
+
throw new ArtifactOperationError(`"${name}" must be a positive number, got ${String(value)}.`, ARGUMENT_REFUSED);
|
|
425
439
|
}
|
|
426
440
|
}
|
|
427
441
|
/**
|
|
@@ -782,14 +796,14 @@ async function readCompletedResults(client, runId, scope, signal) {
|
|
|
782
796
|
export async function downloadArtifacts(client, request) {
|
|
783
797
|
if (!isNodeRuntime()) {
|
|
784
798
|
throw new ArtifactOperationError("downloadArtifacts writes to a filesystem and is Node-only. In another runtime, resolve " +
|
|
785
|
-
"with resolveArtifacts or stream with fetchArtifact instead.");
|
|
799
|
+
"with resolveArtifacts or stream with fetchArtifact instead.", ENVIRONMENT_REFUSED);
|
|
786
800
|
}
|
|
787
801
|
const scope = request.scope ?? "main_stuff";
|
|
788
802
|
requireScope(scope);
|
|
789
803
|
const concurrency = request.concurrency ?? DEFAULT_DOWNLOAD_CONCURRENCY;
|
|
790
804
|
const maxTotalBytes = request.maxTotalBytes ?? DEFAULT_DOWNLOAD_MAX_TOTAL_BYTES;
|
|
791
805
|
if (!Number.isInteger(concurrency) || concurrency < 1) {
|
|
792
|
-
throw new ArtifactOperationError(`"concurrency" must be a positive integer, got ${String(concurrency)}
|
|
806
|
+
throw new ArtifactOperationError(`"concurrency" must be a positive integer, got ${String(concurrency)}.`, ARGUMENT_REFUSED);
|
|
793
807
|
}
|
|
794
808
|
requirePositive("maxTotalBytes", maxTotalBytes);
|
|
795
809
|
const bounds = fetchBounds(request);
|
|
@@ -797,7 +811,7 @@ export async function downloadArtifacts(client, request) {
|
|
|
797
811
|
const hasResults = request.results != null;
|
|
798
812
|
if (hasRunId === hasResults) {
|
|
799
813
|
throw new ArtifactOperationError("downloadArtifacts takes exactly one of `run_id` (the results are re-read) or `results` " +
|
|
800
|
-
"(a RunResults in hand).");
|
|
814
|
+
"(a RunResults in hand).", ARGUMENT_REFUSED);
|
|
801
815
|
}
|
|
802
816
|
const results = hasResults
|
|
803
817
|
? request.results
|
|
@@ -825,7 +839,7 @@ export async function downloadArtifacts(client, request) {
|
|
|
825
839
|
await fs.mkdir(dir, { recursive: true });
|
|
826
840
|
}
|
|
827
841
|
catch (cause) {
|
|
828
|
-
throw new ArtifactOperationError(`The download directory "${dir}" cannot be created or used: ${cause instanceof Error ? cause.message : String(cause)}.`, { cause });
|
|
842
|
+
throw new ArtifactOperationError(`The download directory "${dir}" cannot be created or used: ${cause instanceof Error ? cause.message : String(cause)}.`, { cause, ...ENVIRONMENT_REFUSED });
|
|
829
843
|
}
|
|
830
844
|
// Dense, never sparse: `map` skips the holes of `new Array(n)`, and the verdict
|
|
831
845
|
// must name every reference, reached or not.
|
package/dist/artifacts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../src/artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The flags of one subcommand, read with `node:util`'s `parseArgs` and held to rules the Python
|
|
3
|
+
* twin's `argparse` can follow word for word, so both commands refuse the same command lines.
|
|
4
|
+
*
|
|
5
|
+
* `parseArgs` runs in its lenient mode and returns its tokens, and the rules are applied to the
|
|
6
|
+
* tokens in command-line order, the first problem being the one reported:
|
|
7
|
+
*
|
|
8
|
+
* - `--help` or `-h` anywhere before `--` asks for the subcommand's help, whatever else is there,
|
|
9
|
+
* even where a flag's value would be expected: an argument that is exactly one of the two is
|
|
10
|
+
* never taken as a value, so `run --method --help` prints the help. A parser that would take it
|
|
11
|
+
* as the value, as `parseArgs` and `argparse` both do, is followed by a scan for it. The `--`
|
|
12
|
+
* that bounds the scan is the one the parser reads as the end of the options, not a `--` a
|
|
13
|
+
* string flag took as its value.
|
|
14
|
+
* - An option the subcommand does not take is refused, and so is any positional argument.
|
|
15
|
+
* - A flag given twice is refused, rather than the last one winning: a script written by
|
|
16
|
+
* `script` passes its own arguments through, and a second `--method` must not quietly run
|
|
17
|
+
* another method.
|
|
18
|
+
* - A string flag needs a non-empty value, given as the next argument or after `=`. A next
|
|
19
|
+
* argument that starts with `-` is not taken as the value, except `-` alone, which `--inputs`
|
|
20
|
+
* reads as stdin; `--name=-x` is how a value starting with `-` is given.
|
|
21
|
+
* - A boolean flag takes no value.
|
|
22
|
+
*/
|
|
23
|
+
/** One flag a subcommand takes, by its long name. */
|
|
24
|
+
export interface FlagSpec {
|
|
25
|
+
readonly type: "string" | "boolean";
|
|
26
|
+
}
|
|
27
|
+
/** The flags a subcommand takes, by long name, without the `--`. */
|
|
28
|
+
export type FlagSpecs = Readonly<Record<string, FlagSpec>>;
|
|
29
|
+
/** What a subcommand's command line asked for. */
|
|
30
|
+
export interface ParsedFlags {
|
|
31
|
+
/** Whether `--help` was asked for, in which case nothing else was read. */
|
|
32
|
+
readonly help: boolean;
|
|
33
|
+
readonly strings: ReadonlyMap<string, string>;
|
|
34
|
+
readonly booleans: ReadonlySet<string>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Read a subcommand's command line against its flags.
|
|
38
|
+
*
|
|
39
|
+
* @throws {CommandError} A usage error naming the first problem, in command-line order.
|
|
40
|
+
*/
|
|
41
|
+
export declare function parseFlags(command: string, args: readonly string[], specs: FlagSpecs): ParsedFlags;
|
package/dist/cli/args.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The flags of one subcommand, read with `node:util`'s `parseArgs` and held to rules the Python
|
|
3
|
+
* twin's `argparse` can follow word for word, so both commands refuse the same command lines.
|
|
4
|
+
*
|
|
5
|
+
* `parseArgs` runs in its lenient mode and returns its tokens, and the rules are applied to the
|
|
6
|
+
* tokens in command-line order, the first problem being the one reported:
|
|
7
|
+
*
|
|
8
|
+
* - `--help` or `-h` anywhere before `--` asks for the subcommand's help, whatever else is there,
|
|
9
|
+
* even where a flag's value would be expected: an argument that is exactly one of the two is
|
|
10
|
+
* never taken as a value, so `run --method --help` prints the help. A parser that would take it
|
|
11
|
+
* as the value, as `parseArgs` and `argparse` both do, is followed by a scan for it. The `--`
|
|
12
|
+
* that bounds the scan is the one the parser reads as the end of the options, not a `--` a
|
|
13
|
+
* string flag took as its value.
|
|
14
|
+
* - An option the subcommand does not take is refused, and so is any positional argument.
|
|
15
|
+
* - A flag given twice is refused, rather than the last one winning: a script written by
|
|
16
|
+
* `script` passes its own arguments through, and a second `--method` must not quietly run
|
|
17
|
+
* another method.
|
|
18
|
+
* - A string flag needs a non-empty value, given as the next argument or after `=`. A next
|
|
19
|
+
* argument that starts with `-` is not taken as the value, except `-` alone, which `--inputs`
|
|
20
|
+
* reads as stdin; `--name=-x` is how a value starting with `-` is given.
|
|
21
|
+
* - A boolean flag takes no value.
|
|
22
|
+
*/
|
|
23
|
+
import { parseArgs } from "node:util";
|
|
24
|
+
import { usageError } from "./io.js";
|
|
25
|
+
/** The two arguments that ask for a subcommand's help. */
|
|
26
|
+
const HELP_ARGUMENTS = ["--help", "-h"];
|
|
27
|
+
/**
|
|
28
|
+
* Read a subcommand's command line against its flags.
|
|
29
|
+
*
|
|
30
|
+
* @throws {CommandError} A usage error naming the first problem, in command-line order.
|
|
31
|
+
*/
|
|
32
|
+
export function parseFlags(command, args, specs) {
|
|
33
|
+
const options = {
|
|
34
|
+
help: { type: "boolean", short: "h" },
|
|
35
|
+
};
|
|
36
|
+
for (const [name, spec] of Object.entries(specs))
|
|
37
|
+
options[name] = { type: spec.type };
|
|
38
|
+
const { tokens } = parseArgs({
|
|
39
|
+
args: [...args],
|
|
40
|
+
options,
|
|
41
|
+
strict: false,
|
|
42
|
+
allowPositionals: true,
|
|
43
|
+
tokens: true,
|
|
44
|
+
});
|
|
45
|
+
// The `--` that ends the options is the one the parser reads as such: a `--` a string flag took
|
|
46
|
+
// as its value ends nothing, so `run --pipe -- --method --help` asks for the help.
|
|
47
|
+
const terminator = tokens.find((token) => token.kind === "option-terminator");
|
|
48
|
+
const beforeTerminator = terminator === undefined ? args : args.slice(0, terminator.index);
|
|
49
|
+
if (beforeTerminator.some((arg) => HELP_ARGUMENTS.includes(arg))) {
|
|
50
|
+
return { help: true, strings: new Map(), booleans: new Set() };
|
|
51
|
+
}
|
|
52
|
+
// `-h` inside a group of short options, such as `-xh`, asks for the help too.
|
|
53
|
+
if (tokens.some((token) => token.kind === "option" && token.name === "help" && token.value === undefined)) {
|
|
54
|
+
return { help: true, strings: new Map(), booleans: new Set() };
|
|
55
|
+
}
|
|
56
|
+
const strings = new Map();
|
|
57
|
+
const booleans = new Set();
|
|
58
|
+
const seen = new Set();
|
|
59
|
+
for (const token of tokens) {
|
|
60
|
+
if (token.kind === "option-terminator")
|
|
61
|
+
continue;
|
|
62
|
+
if (token.kind === "positional") {
|
|
63
|
+
throw misuse(command, `unexpected argument "${token.value}"`);
|
|
64
|
+
}
|
|
65
|
+
if (token.name === "help")
|
|
66
|
+
throw misuse(command, "--help takes no value");
|
|
67
|
+
const spec = Object.hasOwn(specs, token.name) ? specs[token.name] : undefined;
|
|
68
|
+
if (spec === undefined) {
|
|
69
|
+
throw misuse(command, `unknown option ${token.rawName}`);
|
|
70
|
+
}
|
|
71
|
+
const flag = `--${token.name}`;
|
|
72
|
+
if (seen.has(token.name)) {
|
|
73
|
+
throw misuse(command, `${flag} was given more than once`);
|
|
74
|
+
}
|
|
75
|
+
seen.add(token.name);
|
|
76
|
+
if (spec.type === "boolean") {
|
|
77
|
+
if (token.value !== undefined)
|
|
78
|
+
throw misuse(command, `${flag} takes no value`);
|
|
79
|
+
booleans.add(token.name);
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
const value = token.value;
|
|
83
|
+
const takenFromNext = !token.inlineValue;
|
|
84
|
+
if (value === undefined ||
|
|
85
|
+
value === "" ||
|
|
86
|
+
(takenFromNext && value.startsWith("-") && value !== "-")) {
|
|
87
|
+
throw misuse(command, `${flag} needs a value`);
|
|
88
|
+
}
|
|
89
|
+
strings.set(token.name, value);
|
|
90
|
+
}
|
|
91
|
+
return { help: false, strings, booleans };
|
|
92
|
+
}
|
|
93
|
+
function misuse(command, message) {
|
|
94
|
+
return usageError(`${message}.`, [`Run 'pipelex-sdk ${command} --help' to see its flags.`]);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The bundle reader: a `--method` path read from disk into the files `run` sends inline.
|
|
3
|
+
*
|
|
4
|
+
* The rules are the command's contract, recorded as cases in `tests/fixtures/cli-cases.json` so
|
|
5
|
+
* that the Python twin reads a bundle the same way (`docs/cli.md`, "Reading a bundle"):
|
|
6
|
+
*
|
|
7
|
+
* - **A `.mthds` file** is a one-file bundle, sent under its own file name. A file of any other
|
|
8
|
+
* name is refused.
|
|
9
|
+
* - **A directory** is every `.mthds` file under it, at any depth, each sent under its path
|
|
10
|
+
* relative to the directory, with `/` between segments.
|
|
11
|
+
* - **The order** is the order of those names compared code point by code point, which is the
|
|
12
|
+
* order of their UTF-8 bytes: `Zeta.mthds` before `main.mthds`, and `steps/score.mthds` before
|
|
13
|
+
* `steps2.mthds`. A run sends the contents in this order, and the first of two files to declare
|
|
14
|
+
* the same metadata is the one kept.
|
|
15
|
+
* - **A hidden entry**, a file or a directory whose name starts with `.`, is skipped, so a
|
|
16
|
+
* `.venv/` or a `.git/` inside a bundle is never read.
|
|
17
|
+
* - **Any file not named `.mthds`** is ignored, Python files included: the command sends only
|
|
18
|
+
* the MTHDS sources.
|
|
19
|
+
* - **A symbolic link** is judged by its own name: one named `.mthds` that leads to a file is read
|
|
20
|
+
* through, under the link's name; one that leads to a directory is not descended into, which
|
|
21
|
+
* keeps a link cycle from looping; and one that leads nowhere is refused. The `--method` path
|
|
22
|
+
* itself may be a link, and is followed.
|
|
23
|
+
* - **A directory with no `.mthds` file** under it is refused, as is a file that is not UTF-8
|
|
24
|
+
* text and a directory that cannot be listed. A byte-order mark is kept as the file's first
|
|
25
|
+
* character, as it is on disk.
|
|
26
|
+
*
|
|
27
|
+
* Every refusal is a usage error, raised before any request.
|
|
28
|
+
*/
|
|
29
|
+
/** The extension of a bundle's files. */
|
|
30
|
+
export declare const BUNDLE_SUFFIX = ".mthds";
|
|
31
|
+
/** One file of a bundle: the name it is sent under, and its text. */
|
|
32
|
+
export interface BundleFile {
|
|
33
|
+
readonly name: string;
|
|
34
|
+
readonly content: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Read the bundle a `--method` path names, in the order the rules above give.
|
|
38
|
+
*
|
|
39
|
+
* @throws {CommandError} A usage error for a path that names no bundle.
|
|
40
|
+
*/
|
|
41
|
+
export declare function readBundle(given: string): Promise<BundleFile[]>;
|
|
42
|
+
/** Compare two strings code point by code point, which is comparing their UTF-8 bytes. */
|
|
43
|
+
export declare function compareCodePoints(left: string, right: string): number;
|
|
44
|
+
/** The system's reason for a failed file operation: its code, else its message. */
|
|
45
|
+
export declare function systemReason(error: unknown): string;
|