@pipelex/sdk 0.20.0 → 0.21.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 +10 -0
- package/dist/client.d.ts +21 -0
- package/dist/client.js +30 -65
- package/dist/client.js.map +1 -1
- package/dist/execute-result.d.ts +29 -2
- package/dist/execute-result.js +63 -2
- package/dist/execute-result.js.map +1 -1
- package/dist/hooks/claude-mthds-check.js +2 -2
- package/dist/hooks/claude-mthds-check.js.map +1 -1
- package/dist/hooks/validate-client.d.ts +12 -0
- package/dist/hooks/validate-client.js +15 -0
- package/dist/hooks/validate-client.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/user-agent.d.ts +66 -0
- package/dist/user-agent.js +153 -0
- package/dist/user-agent.js.map +1 -0
- package/dist/version.d.ts +6 -0
- package/dist/version.js +7 -0
- package/dist/version.js.map +1 -0
- package/docs/architecture.md +4 -2
- package/docs/client-identification.md +54 -0
- package/docs/run-results.md +11 -1
- package/docs/run-usage.md +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -75,6 +75,15 @@ try {
|
|
|
75
75
|
}
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
+
### Client identification
|
|
79
|
+
|
|
80
|
+
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`. The convention is the workspace spec `docs/specs/client-identification.md`, and [`docs/client-identification.md`](./docs/client-identification.md) describes this SDK's side of it.
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
const client = new PipelexApiClient({ appInfo: { name: "acme-invoicer", version: "1.4.0" } });
|
|
84
|
+
// User-Agent: acme-invoicer/1.4.0 pipelex-sdk-js/<version> node/<version> (<os>; <arch>)
|
|
85
|
+
```
|
|
86
|
+
|
|
78
87
|
The full client surface is documented in [`docs/architecture.md`](./docs/architecture.md).
|
|
79
88
|
|
|
80
89
|
## Documentation
|
|
@@ -90,6 +99,7 @@ These pages ship inside the published package, so a reader who has only installe
|
|
|
90
99
|
| [`docs/input-preparation.md`](./docs/input-preparation.md) | The other direction — `uploadFile` and `prepareInputs`, which turn local files into references a run can take |
|
|
91
100
|
| [`docs/crate-routes.md`](./docs/crate-routes.md) | `resolve` and `codegen`, and the offline `runCodegenCheck` that guards a committed tree |
|
|
92
101
|
| [`docs/build-routes.md`](./docs/build-routes.md) | The `/v1/build/*` projections: `buildInputs`, `buildOutput`, `buildRunner` |
|
|
102
|
+
| [`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 |
|
|
93
103
|
|
|
94
104
|
## Develop
|
|
95
105
|
|
package/dist/client.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { MTHDSProtocol, ModelCategory, ModelDeck, RunOptions, StartOptions,
|
|
|
2
2
|
import type { BuildInputsRequest, BuildInputsResponse, BuildOutputRequest, BuildOutputResponse, BuildRunnerRequest, BuildRunnerResponse, CodegenRequest, CodegenResponse, ConceptRequest, ConceptResponse, DictPipeOutput, FormatResponse, LintResponse, MthdsFileItem, PipeSpecRequest, PipeSpecResponse, PipelexRunResultStart, PipelexValidationResult, ResolveRequest, ResolveResponse, ValidateMethodSelector } 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, MethodDeletionAccepted, MethodPage, MethodSummary, MethodWriteInput, OnboardingSubmission, PipelexApiKeyCreated, PipelexApiKeyList, ListRunsQuery, PipelineRun, RunDetail, RunPage, PlanView, ResolvedStorageUrl, SubscriptionResponse, UpdateRunInput, UploadInput, UploadedFile, UserProfile } from "./product-models.js";
|
|
5
|
+
import type { AppInfo } from "./user-agent.js";
|
|
5
6
|
import type { UploadableAsset, UploadFileOptions, UploadRecord } from "./upload.js";
|
|
6
7
|
import type { PrepareInputsRequest, PreparedInputs } from "./prepare-inputs.js";
|
|
7
8
|
import type { BulkResolveStorageUrlsInput, BulkResolvedStorageUrls, DownloadArtifactsRequest, DownloadArtifactsResult, FetchArtifactOptions, ResolvedArtifact } from "./artifacts.js";
|
|
@@ -110,6 +111,15 @@ export interface PipelexApiClientOptions {
|
|
|
110
111
|
* default.
|
|
111
112
|
*/
|
|
112
113
|
baseUrl?: string;
|
|
114
|
+
/**
|
|
115
|
+
* The integrator's identity, placed before the SDK's own token in the
|
|
116
|
+
* `User-Agent` every request to the API carries (Stripe-style), e.g.
|
|
117
|
+
* `{ name: "acme-invoicer", version: "1.4.0" }` →
|
|
118
|
+
* `acme-invoicer/1.4.0 pipelex-sdk-js/<v> node/<v> (<os>; <arch>)`. Validated at
|
|
119
|
+
* construction: a field that is not an RFC 9110 token throws a `TypeError`. See
|
|
120
|
+
* the workspace spec `docs/specs/client-identification.md`.
|
|
121
|
+
*/
|
|
122
|
+
appInfo?: AppInfo;
|
|
113
123
|
}
|
|
114
124
|
/** Hosted default — the client composes every endpoint as `{base}/v1/{endpoint}`. */
|
|
115
125
|
export declare const DEFAULT_API_BASE_URL = "https://api.pipelex.com";
|
|
@@ -120,9 +130,20 @@ export declare class PipelexApiClient implements MTHDSProtocol<DictPipeOutput> {
|
|
|
120
130
|
private readonly originUrl;
|
|
121
131
|
/** Cached `/v1/version` handshake outcome — whether the durable lifecycle is served. */
|
|
122
132
|
private lifecycleAvailable;
|
|
133
|
+
/**
|
|
134
|
+
* The `User-Agent` sent on every API request, computed once at construction;
|
|
135
|
+
* `undefined` in a browser, where no header may be set.
|
|
136
|
+
*/
|
|
137
|
+
private readonly userAgent;
|
|
123
138
|
constructor(options?: PipelexApiClientOptions);
|
|
124
139
|
/** Build an API URL: `<base>/v1/<endpoint>`. */
|
|
125
140
|
private url;
|
|
141
|
+
/**
|
|
142
|
+
* The headers of every request to the API — the one place they are built, so
|
|
143
|
+
* no request path can miss the `User-Agent` or the bearer. Requests to third
|
|
144
|
+
* parties (presigned object-store URLs) never go through here.
|
|
145
|
+
*/
|
|
146
|
+
private requestHeaders;
|
|
126
147
|
/**
|
|
127
148
|
* Issue one HTTP request and return the raw status/headers/body. Wraps
|
|
128
149
|
* DNS/connect/TLS/timeout failures as `ApiUnreachableError`; a caller-driven
|
package/dist/client.js
CHANGED
|
@@ -5,10 +5,11 @@ import { assertExclusiveRunSources, hasBundlePayload, parseMethodFiles, serializ
|
|
|
5
5
|
import { pollUntilResult, } from "./runs.js";
|
|
6
6
|
import { ApiResponseError, ApiUnreachableError, EmptyMethodSourceError, MissingMainStuffError, PipelineExecuteTimeoutError, PipelineRequestError, RunLifecycleUnavailableError, RunStillRunningError, } from "./errors.js";
|
|
7
7
|
import { methodSourceToContents } from "./method-source.js";
|
|
8
|
+
import { buildUserAgent } from "./user-agent.js";
|
|
8
9
|
import { uploadFile as uploadFileImpl } from "./upload.js";
|
|
9
10
|
import { prepareInputs as prepareInputsImpl } from "./prepare-inputs.js";
|
|
10
11
|
import { downloadArtifacts as downloadArtifactsImpl, fetchArtifact as fetchArtifactImpl, resolveArtifacts as resolveArtifactsImpl, } from "./artifacts.js";
|
|
11
|
-
import { PipelexExecuteResult } from "./execute-result.js";
|
|
12
|
+
import { PipelexExecuteResult, resultsFromExecute } from "./execute-result.js";
|
|
12
13
|
// A pure RUNAWAY guard on `iterateMethods`, deliberately not a coverage limit.
|
|
13
14
|
//
|
|
14
15
|
// It counts TOTAL pages, not empty ones. An earlier version capped consecutive
|
|
@@ -69,7 +70,14 @@ export class PipelexApiClient {
|
|
|
69
70
|
originUrl;
|
|
70
71
|
/** Cached `/v1/version` handshake outcome — whether the durable lifecycle is served. */
|
|
71
72
|
lifecycleAvailable;
|
|
73
|
+
/**
|
|
74
|
+
* The `User-Agent` sent on every API request, computed once at construction;
|
|
75
|
+
* `undefined` in a browser, where no header may be set.
|
|
76
|
+
*/
|
|
77
|
+
userAgent;
|
|
72
78
|
constructor(options = {}) {
|
|
79
|
+
// First, so an invalid `appInfo` is refused before anything else is resolved.
|
|
80
|
+
this.userAgent = buildUserAgent(options.appInfo);
|
|
73
81
|
this.apiKey = options.apiKey ?? process.env.PIPELEX_API_KEY;
|
|
74
82
|
const normalizedBaseUrl = (options.baseUrl ??
|
|
75
83
|
process.env.PIPELEX_BASE_URL ??
|
|
@@ -94,21 +102,33 @@ export class PipelexApiClient {
|
|
|
94
102
|
}
|
|
95
103
|
// ── Transport ──────────────────────────────────────────────────────
|
|
96
104
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
* cleanly. Non-2xx interpretation is left to the caller. `url` is a fully
|
|
101
|
-
* resolved absolute URL.
|
|
105
|
+
* The headers of every request to the API — the one place they are built, so
|
|
106
|
+
* no request path can miss the `User-Agent` or the bearer. Requests to third
|
|
107
|
+
* parties (presigned object-store URLs) never go through here.
|
|
102
108
|
*/
|
|
103
|
-
|
|
109
|
+
requestHeaders(hasBody) {
|
|
104
110
|
const headers = { Accept: "application/json" };
|
|
111
|
+
if (this.userAgent !== undefined) {
|
|
112
|
+
headers["User-Agent"] = this.userAgent;
|
|
113
|
+
}
|
|
105
114
|
if (this.apiKey) {
|
|
106
115
|
headers["Authorization"] = `Bearer ${this.apiKey}`;
|
|
107
116
|
}
|
|
108
|
-
const hasBody = options.body !== undefined;
|
|
109
117
|
if (hasBody) {
|
|
110
118
|
headers["Content-Type"] = "application/json";
|
|
111
119
|
}
|
|
120
|
+
return headers;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Issue one HTTP request and return the raw status/headers/body. Wraps
|
|
124
|
+
* DNS/connect/TLS/timeout failures as `ApiUnreachableError`; a caller-driven
|
|
125
|
+
* abort (Ctrl-C / agent walk-away) propagates as-is so the poll loop can stop
|
|
126
|
+
* cleanly. Non-2xx interpretation is left to the caller. `url` is a fully
|
|
127
|
+
* resolved absolute URL.
|
|
128
|
+
*/
|
|
129
|
+
async requestRaw(method, url, options = {}) {
|
|
130
|
+
const hasBody = options.body !== undefined;
|
|
131
|
+
const headers = this.requestHeaders(hasBody);
|
|
112
132
|
const timeoutMs = options.timeoutMs ?? DEFAULT_REQUEST_TIMEOUT_MS;
|
|
113
133
|
const controller = new AbortController();
|
|
114
134
|
const timer = setTimeout(() => controller.abort(new DOMException("Request timed out.", "TimeoutError")), timeoutMs);
|
|
@@ -166,16 +186,9 @@ export class PipelexApiClient {
|
|
|
166
186
|
* `ApiResponseError` instead.
|
|
167
187
|
*/
|
|
168
188
|
async requestJson(method, url, body) {
|
|
169
|
-
const headers = { Accept: "application/json" };
|
|
170
|
-
if (this.apiKey) {
|
|
171
|
-
headers["Authorization"] = `Bearer ${this.apiKey}`;
|
|
172
|
-
}
|
|
173
|
-
if (body !== undefined) {
|
|
174
|
-
headers["Content-Type"] = "application/json";
|
|
175
|
-
}
|
|
176
189
|
const res = await fetch(url, {
|
|
177
190
|
method,
|
|
178
|
-
headers,
|
|
191
|
+
headers: this.requestHeaders(body !== undefined),
|
|
179
192
|
body: body !== undefined ? JSON.stringify(body) : undefined,
|
|
180
193
|
});
|
|
181
194
|
if (!res.ok) {
|
|
@@ -1366,7 +1379,7 @@ export class PipelexApiClient {
|
|
|
1366
1379
|
method_id: options.method_id ?? undefined,
|
|
1367
1380
|
extra: options.extra ?? undefined,
|
|
1368
1381
|
});
|
|
1369
|
-
return
|
|
1382
|
+
return resultsFromExecute(response);
|
|
1370
1383
|
}
|
|
1371
1384
|
}
|
|
1372
1385
|
// ── Module helpers ────────────────────────────────────────────────────
|
|
@@ -1392,54 +1405,6 @@ function isValidBaseUrl(value) {
|
|
|
1392
1405
|
return false;
|
|
1393
1406
|
return !parsed.search && !parsed.hash;
|
|
1394
1407
|
}
|
|
1395
|
-
/**
|
|
1396
|
-
* Map the protocol's blocking `POST /v1/execute` response onto the lifecycle's
|
|
1397
|
-
* `RunResults`. `response.main_stuff` resolves the main output out of the returned
|
|
1398
|
-
* working memory (and throws `MissingMainStuffError` if the run named no locatable
|
|
1399
|
-
* main stuff), so the durable and blocking paths hand back the same `main_stuff`
|
|
1400
|
-
* content shape — the same shape the hosted path relays from S3. The working memory, the graph
|
|
1401
|
-
* pair, the three I/O artifacts and the usage pair are lifted off `pipe_output` onto their own
|
|
1402
|
-
* fields, so `working_memory`, `graph_spec`, the artifacts and the usage pair read the same on
|
|
1403
|
-
* both paths, and `pipe_output` itself still rides whole (blocking only). `graph_assembly_error`
|
|
1404
|
-
* and `pipe_io_artifacts_error` do not read the same yet: both are lifted here but absent from
|
|
1405
|
-
* the hosted body.
|
|
1406
|
-
*/
|
|
1407
|
-
function mapRunResultToRunResults(response) {
|
|
1408
|
-
// `working_memory` is a declared field of `DictPipeOutput`, so it lifts without a cast. By the
|
|
1409
|
-
// time it is read, `main_stuff` has already been resolved out of it, so a response that carries
|
|
1410
|
-
// no working memory has thrown `MissingMainStuffError` above; the `?? null` keeps the blocking
|
|
1411
|
-
// path's convention for an absent key all the same. The graph pair and the usage pair ride
|
|
1412
|
-
// `pipe_output` as Pipelex extension fields, beside `working_memory` — `DictPipeOutput` is
|
|
1413
|
-
// extension-open, mirroring the Python model's `extra="allow"`, so they are read through the
|
|
1414
|
-
// type rather than by casting the whole value away. Lifting every one of them onto its
|
|
1415
|
-
// top-level field is what makes `.working_memory`, `.graph_spec` and `.tokens_usages` read the
|
|
1416
|
-
// same on the blocking and durable paths. The remaining casts are unavoidable: an
|
|
1417
|
-
// index-signature read is `unknown`, and this is unvalidated server JSON.
|
|
1418
|
-
//
|
|
1419
|
-
// The runner carries the three I/O artifacts in one envelope (`PipeIOArtifacts`: they share a
|
|
1420
|
-
// key set and are always built together), while the hosted results body relays them as three
|
|
1421
|
-
// sibling artifacts. `RunResults` follows the hosted shape and this unwraps the envelope onto
|
|
1422
|
-
// it, so `.pipe_io_contracts` and its two siblings read the same whichever path ran — the same
|
|
1423
|
-
// lift `working_memory` and the graph get.
|
|
1424
|
-
const pipeIoArtifacts = (response.pipe_output["pipe_io_artifacts"] ?? null);
|
|
1425
|
-
return {
|
|
1426
|
-
pipeline_run_id: response.pipeline_run_id,
|
|
1427
|
-
main_stuff: response.main_stuff,
|
|
1428
|
-
working_memory: response.pipe_output.working_memory ?? null,
|
|
1429
|
-
graph_spec: response.pipe_output["graph_spec"] ?? null,
|
|
1430
|
-
graph_assembly_error: (response.pipe_output["graph_assembly_error"] ??
|
|
1431
|
-
null),
|
|
1432
|
-
pipe_io_contracts: pipeIoArtifacts?.pipe_io_contracts ?? null,
|
|
1433
|
-
input_form: pipeIoArtifacts?.input_form ?? null,
|
|
1434
|
-
output_form: pipeIoArtifacts?.output_form ?? null,
|
|
1435
|
-
pipe_io_artifacts_error: (response.pipe_output["pipe_io_artifacts_error"] ??
|
|
1436
|
-
null),
|
|
1437
|
-
pipe_output: response.pipe_output,
|
|
1438
|
-
tokens_usages: (response.pipe_output["tokens_usages"] ?? null),
|
|
1439
|
-
usage_assembly_error: (response.pipe_output["usage_assembly_error"] ??
|
|
1440
|
-
null),
|
|
1441
|
-
};
|
|
1442
|
-
}
|
|
1443
1408
|
// The protocol's own request fields — `extra` is for extension args only.
|
|
1444
1409
|
// `files` / `bundle_b64` are reserved too: they are named run-source options,
|
|
1445
1410
|
// so smuggling them through `extra` (which merges last into the body) would
|
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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"}
|
package/dist/execute-result.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The blocking `execute()` result — a `DictRunResultExecute` that resolves its `.main_stuff
|
|
2
|
+
* The blocking `execute()` result — a `DictRunResultExecute` that resolves its `.main_stuff` — and
|
|
3
|
+
* the public lift from that result onto `RunResults`.
|
|
3
4
|
*
|
|
4
5
|
* Kept in its own module (mirroring the Python SDK's `execute_result.py`) so the
|
|
5
|
-
* resolved-output concern sits apart from the raw wire models in `models.ts`.
|
|
6
|
+
* resolved-output concern sits apart from the raw wire models in `models.ts`. The lift lives here
|
|
7
|
+
* for the same reason and in the same direction: it takes a `PipelexExecuteResult` and builds a
|
|
8
|
+
* `RunResults`, so it belongs on the side that already depends on `runs.ts`.
|
|
6
9
|
*/
|
|
7
10
|
import type { DictPipeOutput, DictRunResultExecute, MethodProvenance } from "./models.js";
|
|
11
|
+
import type { RunResults } from "./runs.js";
|
|
8
12
|
/**
|
|
9
13
|
* The SDK's blocking `execute()` result — a `DictRunResultExecute` that also exposes the
|
|
10
14
|
* resolved main output as `.main_stuff`.
|
|
@@ -50,3 +54,26 @@ export declare class PipelexExecuteResult implements DictRunResultExecute {
|
|
|
50
54
|
*/
|
|
51
55
|
get main_stuff(): unknown;
|
|
52
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Lift a blocking `execute()` result onto the lifecycle's `RunResults` — the same shape a durable
|
|
59
|
+
* run hands back.
|
|
60
|
+
*
|
|
61
|
+
* `execute()` returns the runner's whole typed envelope, where the usage pair, the graph pair, the
|
|
62
|
+
* working memory and the three I/O artifacts ride the extension-open `pipe_output` as Pipelex
|
|
63
|
+
* extension fields. This function is the one place that lifts each onto the declared field of the
|
|
64
|
+
* same name, so a caller driving the blocking route itself reaches `summarizeUsage`,
|
|
65
|
+
* `collectArtifacts` and every other run-results field exactly as it would on the hosted path,
|
|
66
|
+
* instead of re-reading `pipe_output` by hand. It is pure: no client, no network, no I/O.
|
|
67
|
+
* `startAndWaitForResult` calls it on its bare-runner fallback, which is the only caller inside
|
|
68
|
+
* the SDK.
|
|
69
|
+
*
|
|
70
|
+
* `response.main_stuff` resolves the main output out of the returned working memory (and throws
|
|
71
|
+
* `MissingMainStuffError` if the run named no locatable main stuff), so the durable and blocking
|
|
72
|
+
* paths hand back the same `main_stuff` content shape — the same shape the hosted path relays from
|
|
73
|
+
* S3. The working memory, the graph pair, the three I/O artifacts and the usage pair are lifted off
|
|
74
|
+
* `pipe_output` onto their own fields, so `working_memory`, `graph_spec`, the artifacts and the
|
|
75
|
+
* usage pair read the same on both paths, and `pipe_output` itself still rides whole (blocking
|
|
76
|
+
* only). `graph_assembly_error` and `pipe_io_artifacts_error` do not read the same yet: both are
|
|
77
|
+
* lifted here but absent from the hosted body.
|
|
78
|
+
*/
|
|
79
|
+
export declare function resultsFromExecute(response: PipelexExecuteResult): RunResults;
|
package/dist/execute-result.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The blocking `execute()` result — a `DictRunResultExecute` that resolves its `.main_stuff
|
|
2
|
+
* The blocking `execute()` result — a `DictRunResultExecute` that resolves its `.main_stuff` — and
|
|
3
|
+
* the public lift from that result onto `RunResults`.
|
|
3
4
|
*
|
|
4
5
|
* Kept in its own module (mirroring the Python SDK's `execute_result.py`) so the
|
|
5
|
-
* resolved-output concern sits apart from the raw wire models in `models.ts`.
|
|
6
|
+
* resolved-output concern sits apart from the raw wire models in `models.ts`. The lift lives here
|
|
7
|
+
* for the same reason and in the same direction: it takes a `PipelexExecuteResult` and builds a
|
|
8
|
+
* `RunResults`, so it belongs on the side that already depends on `runs.ts`.
|
|
6
9
|
*/
|
|
7
10
|
import { MissingMainStuffError } from "./errors.js";
|
|
8
11
|
/**
|
|
@@ -77,4 +80,62 @@ export class PipelexExecuteResult {
|
|
|
77
80
|
return stuff.content;
|
|
78
81
|
}
|
|
79
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Lift a blocking `execute()` result onto the lifecycle's `RunResults` — the same shape a durable
|
|
85
|
+
* run hands back.
|
|
86
|
+
*
|
|
87
|
+
* `execute()` returns the runner's whole typed envelope, where the usage pair, the graph pair, the
|
|
88
|
+
* working memory and the three I/O artifacts ride the extension-open `pipe_output` as Pipelex
|
|
89
|
+
* extension fields. This function is the one place that lifts each onto the declared field of the
|
|
90
|
+
* same name, so a caller driving the blocking route itself reaches `summarizeUsage`,
|
|
91
|
+
* `collectArtifacts` and every other run-results field exactly as it would on the hosted path,
|
|
92
|
+
* instead of re-reading `pipe_output` by hand. It is pure: no client, no network, no I/O.
|
|
93
|
+
* `startAndWaitForResult` calls it on its bare-runner fallback, which is the only caller inside
|
|
94
|
+
* the SDK.
|
|
95
|
+
*
|
|
96
|
+
* `response.main_stuff` resolves the main output out of the returned working memory (and throws
|
|
97
|
+
* `MissingMainStuffError` if the run named no locatable main stuff), so the durable and blocking
|
|
98
|
+
* paths hand back the same `main_stuff` content shape — the same shape the hosted path relays from
|
|
99
|
+
* S3. The working memory, the graph pair, the three I/O artifacts and the usage pair are lifted off
|
|
100
|
+
* `pipe_output` onto their own fields, so `working_memory`, `graph_spec`, the artifacts and the
|
|
101
|
+
* usage pair read the same on both paths, and `pipe_output` itself still rides whole (blocking
|
|
102
|
+
* only). `graph_assembly_error` and `pipe_io_artifacts_error` do not read the same yet: both are
|
|
103
|
+
* lifted here but absent from the hosted body.
|
|
104
|
+
*/
|
|
105
|
+
export function resultsFromExecute(response) {
|
|
106
|
+
// `working_memory` is a declared field of `DictPipeOutput`, so it lifts without a cast. By the
|
|
107
|
+
// time it is read, `main_stuff` has already been resolved out of it, so a response that carries
|
|
108
|
+
// no working memory has thrown `MissingMainStuffError` above; the `?? null` keeps the blocking
|
|
109
|
+
// path's convention for an absent key all the same. The graph pair and the usage pair ride
|
|
110
|
+
// `pipe_output` as Pipelex extension fields, beside `working_memory` — `DictPipeOutput` is
|
|
111
|
+
// extension-open, mirroring the Python model's `extra="allow"`, so they are read through the
|
|
112
|
+
// type rather than by casting the whole value away. Lifting every one of them onto its
|
|
113
|
+
// top-level field is what makes `.working_memory`, `.graph_spec` and `.tokens_usages` read the
|
|
114
|
+
// same on the blocking and durable paths. The remaining casts are unavoidable: an
|
|
115
|
+
// index-signature read is `unknown`, and this is unvalidated server JSON.
|
|
116
|
+
//
|
|
117
|
+
// The runner carries the three I/O artifacts in one envelope (`PipeIOArtifacts`: they share a
|
|
118
|
+
// key set and are always built together), while the hosted results body relays them as three
|
|
119
|
+
// sibling artifacts. `RunResults` follows the hosted shape and this unwraps the envelope onto
|
|
120
|
+
// it, so `.pipe_io_contracts` and its two siblings read the same whichever path ran — the same
|
|
121
|
+
// lift `working_memory` and the graph get.
|
|
122
|
+
const pipeIoArtifacts = (response.pipe_output["pipe_io_artifacts"] ?? null);
|
|
123
|
+
return {
|
|
124
|
+
pipeline_run_id: response.pipeline_run_id,
|
|
125
|
+
main_stuff: response.main_stuff,
|
|
126
|
+
working_memory: response.pipe_output.working_memory ?? null,
|
|
127
|
+
graph_spec: response.pipe_output["graph_spec"] ?? null,
|
|
128
|
+
graph_assembly_error: (response.pipe_output["graph_assembly_error"] ??
|
|
129
|
+
null),
|
|
130
|
+
pipe_io_contracts: pipeIoArtifacts?.pipe_io_contracts ?? null,
|
|
131
|
+
input_form: pipeIoArtifacts?.input_form ?? null,
|
|
132
|
+
output_form: pipeIoArtifacts?.output_form ?? null,
|
|
133
|
+
pipe_io_artifacts_error: (response.pipe_output["pipe_io_artifacts_error"] ??
|
|
134
|
+
null),
|
|
135
|
+
pipe_output: response.pipe_output,
|
|
136
|
+
tokens_usages: (response.pipe_output["tokens_usages"] ?? null),
|
|
137
|
+
usage_assembly_error: (response.pipe_output["usage_assembly_error"] ??
|
|
138
|
+
null),
|
|
139
|
+
};
|
|
140
|
+
}
|
|
80
141
|
//# sourceMappingURL=execute-result.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-result.js","sourceRoot":"","sources":["../src/execute-result.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"execute-result.js","sourceRoot":"","sources":["../src/execute-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
*/
|
|
29
29
|
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
30
30
|
import { resolve as resolvePath } from "node:path";
|
|
31
|
-
import { PipelexApiClient } from "../client.js";
|
|
32
31
|
import { decideAfterLint, decideAfterValidate, encodeOutcome, extractCodexMthdsFiles, extractMthdsFilePath, extractVibeMthdsFilePath, mergeOutcomes, } from "./check-core.js";
|
|
33
32
|
import { gatherBundle } from "./bundle-gather.js";
|
|
33
|
+
import { createHookClient } from "./validate-client.js";
|
|
34
34
|
/** Per-request ceiling on the one network call — well under the hook's overall timeout. */
|
|
35
35
|
const VALIDATE_TIMEOUT_MS = 10_000;
|
|
36
36
|
async function readStdin() {
|
|
@@ -114,7 +114,7 @@ async function runValidateStage(filePath) {
|
|
|
114
114
|
return { status: "unavailable" };
|
|
115
115
|
}
|
|
116
116
|
try {
|
|
117
|
-
const client =
|
|
117
|
+
const client = createHookClient();
|
|
118
118
|
// The client owns the ceiling: on timeout it aborts the fetch itself, so the
|
|
119
119
|
// request does not keep running after the hook has given up on it.
|
|
120
120
|
const result = await client.validateFiles(gathered.files, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mthds-check.js","sourceRoot":"","sources":["../../src/hooks/claude-mthds-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"claude-mthds-check.js","sourceRoot":"","sources":["../../src/hooks/claude-mthds-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The API client the `.mthds` post-edit hook validates through, named for the
|
|
3
|
+
* `User-Agent` contract (`docs/specs/client-identification.md`): the hook
|
|
4
|
+
* identifies itself as `pipelex-mthds-check`, the registry token of the `hook`
|
|
5
|
+
* surface, in front of the SDK's own `pipelex-sdk-js` token.
|
|
6
|
+
*/
|
|
7
|
+
import { PipelexApiClient } from "../client.js";
|
|
8
|
+
import type { AppInfo } from "../user-agent.js";
|
|
9
|
+
/** The hook's identity — it ships inside this package, so it carries the SDK's version. */
|
|
10
|
+
export declare const HOOK_APP_INFO: AppInfo;
|
|
11
|
+
/** Build the client the hook's validate stage calls (key and base URL from the environment). */
|
|
12
|
+
export declare function createHookClient(): PipelexApiClient;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The API client the `.mthds` post-edit hook validates through, named for the
|
|
3
|
+
* `User-Agent` contract (`docs/specs/client-identification.md`): the hook
|
|
4
|
+
* identifies itself as `pipelex-mthds-check`, the registry token of the `hook`
|
|
5
|
+
* surface, in front of the SDK's own `pipelex-sdk-js` token.
|
|
6
|
+
*/
|
|
7
|
+
import { PipelexApiClient } from "../client.js";
|
|
8
|
+
import { SDK_VERSION } from "../version.js";
|
|
9
|
+
/** The hook's identity — it ships inside this package, so it carries the SDK's version. */
|
|
10
|
+
export const HOOK_APP_INFO = { name: "pipelex-mthds-check", version: SDK_VERSION };
|
|
11
|
+
/** Build the client the hook's validate stage calls (key and base URL from the environment). */
|
|
12
|
+
export function createHookClient() {
|
|
13
|
+
return new PipelexApiClient({ appInfo: HOOK_APP_INFO });
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=validate-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-client.js","sourceRoot":"","sources":["../../src/hooks/validate-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,aAAa,GAAY,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAE5F,gGAAgG;AAChG,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;AAC1D,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,12 +7,13 @@
|
|
|
7
7
|
* errors. Consumers should import everything they need from `@pipelex/sdk`.
|
|
8
8
|
*/
|
|
9
9
|
/** Package version. Kept in sync with `package.json` — enforced by `tests/index.test.ts`. */
|
|
10
|
-
export
|
|
10
|
+
export { SDK_VERSION } from "./version.js";
|
|
11
11
|
export * from "mthds/protocol";
|
|
12
12
|
export { PipelexApiClient, DEFAULT_API_BASE_URL } from "./client.js";
|
|
13
|
+
export type { AppInfo } from "./user-agent.js";
|
|
13
14
|
export type { MthdsFile, PipelexApiRunExtensions, PipelexHostedRunExtensions, PipelexRunOptions, PipelexStartOptions, ValidateMethodSelector, ValidateFilesOptions, PipelexApiClientOptions, } from "./client.js";
|
|
14
15
|
export { methodSourceToContents } from "./method-source.js";
|
|
15
|
-
export { PipelexExecuteResult } from "./execute-result.js";
|
|
16
|
+
export { PipelexExecuteResult, resultsFromExecute } from "./execute-result.js";
|
|
16
17
|
export type { UploadableAsset, UploadFileOptions, UploadRecord } from "./upload.js";
|
|
17
18
|
export type { PrepareInputsBase, PrepareInputsClosure, PrepareInputsRequest, PreparedInputs, } from "./prepare-inputs.js";
|
|
18
19
|
export { collectArtifacts, artifactFilename, PIPELEX_STORAGE_SCHEME, BULK_RESOLVE_MAX_URIS, DEFAULT_ARTIFACT_MAX_BYTES, DEFAULT_ARTIFACT_TIMEOUT_MS, DEFAULT_DOWNLOAD_MAX_TOTAL_BYTES, DEFAULT_DOWNLOAD_CONCURRENCY, } from "./artifacts.js";
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* errors. Consumers should import everything they need from `@pipelex/sdk`.
|
|
8
8
|
*/
|
|
9
9
|
/** Package version. Kept in sync with `package.json` — enforced by `tests/index.test.ts`. */
|
|
10
|
-
export
|
|
10
|
+
export { SDK_VERSION } from "./version.js";
|
|
11
11
|
// ── Pure MTHDS Protocol surface (re-exported from the `mthds/protocol` subpath) ──
|
|
12
12
|
// The standard's interface, wire models, request/options surface, abstract domain
|
|
13
13
|
// shapes, and the protocol-base `PipelineRequestError`. Re-exported so apps have a
|
|
@@ -17,8 +17,9 @@ export * from "mthds/protocol";
|
|
|
17
17
|
export { PipelexApiClient, DEFAULT_API_BASE_URL } from "./client.js";
|
|
18
18
|
// Canonical parser: a stored method's polymorphic `MethodData.mthds` source → bundle contents.
|
|
19
19
|
export { methodSourceToContents } from "./method-source.js";
|
|
20
|
-
// The blocking `execute()` result — a `DictRunResultExecute` with a resolved `.main_stuff
|
|
21
|
-
|
|
20
|
+
// The blocking `execute()` result — a `DictRunResultExecute` with a resolved `.main_stuff` — and
|
|
21
|
+
// the lift from it onto `RunResults`, for a caller who drives `execute()` itself.
|
|
22
|
+
export { PipelexExecuteResult, resultsFromExecute } from "./execute-result.js";
|
|
22
23
|
// ── Artifacts (the download twin of input preparation) ──────────────
|
|
23
24
|
// `collectArtifacts` and `artifactFilename` are pure and standalone; the network
|
|
24
25
|
// operations (`resolveArtifacts` / `fetchArtifact` / `downloadArtifacts`) are client
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,6FAA6F;AAC7F,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,6FAA6F;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,oFAAoF;AACpF,kFAAkF;AAClF,mFAAmF;AACnF,wBAAwB;AACxB,cAAc,gBAAgB,CAAC;AAE/B,wEAAwE;AACxE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAarE,+FAA+F;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,iGAAiG;AACjG,kFAAkF;AAClF,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAY/E,uEAAuE;AACvE,iFAAiF;AACjF,qFAAqF;AACrF,0EAA0E;AAC1E,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAgFxB,+EAA+E;AAC/E,4EAA4E;AAC5E,iFAAiF;AACjF,0EAA0E;AAC1E,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAiD5B,wEAAwE;AACxE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAWpE,oFAAoF;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAS5C,+EAA+E;AAC/E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client identification: the `User-Agent` this SDK sends to the Pipelex API.
|
|
3
|
+
*
|
|
4
|
+
* Implements the workspace contract `docs/specs/client-identification.md`. The
|
|
5
|
+
* value is a sequence of RFC 9110 product tokens, outermost first:
|
|
6
|
+
*
|
|
7
|
+
* [<appInfo>] pipelex-sdk-js/<SDK_VERSION> [<runtime>/<version> (<os>; <arch>)]
|
|
8
|
+
*
|
|
9
|
+
* The integrator's `appInfo` comes first, the SDK next, the runtime last. The SDK
|
|
10
|
+
* calls `fetch` itself, so no other library appears on the transport path. In a
|
|
11
|
+
* browser no header is produced at all: browsers either ignore it or turn it into
|
|
12
|
+
* a CORS preflight the API refuses.
|
|
13
|
+
*
|
|
14
|
+
* The header is self-declared and unauthenticated — analytics and diagnostics
|
|
15
|
+
* only, never an authorization signal.
|
|
16
|
+
*/
|
|
17
|
+
/** The SDK's own product token name, from the spec's token registry. */
|
|
18
|
+
export declare const SDK_TOKEN_NAME = "pipelex-sdk-js";
|
|
19
|
+
/** The spec's ceiling on the whole header value. */
|
|
20
|
+
export declare const MAX_USER_AGENT_LENGTH = 512;
|
|
21
|
+
/**
|
|
22
|
+
* The integrator's identity, placed before the SDK's own token (Stripe-style).
|
|
23
|
+
*
|
|
24
|
+
* Renders as `name/version (<details>; +url)`; the `/version` and the comment are
|
|
25
|
+
* dropped when empty. An invalid field is refused at construction with a
|
|
26
|
+
* `TypeError` — it is never silently dropped or rewritten.
|
|
27
|
+
*/
|
|
28
|
+
export interface AppInfo {
|
|
29
|
+
/** An RFC 9110 `token`, lowercase kebab-case by convention, e.g. `acme-invoicer`. */
|
|
30
|
+
name: string;
|
|
31
|
+
/** An RFC 9110 `token`, e.g. `1.4.0`. */
|
|
32
|
+
version?: string;
|
|
33
|
+
/** A URL, rendered in the comment as `+url`. */
|
|
34
|
+
url?: string;
|
|
35
|
+
/** Comment parameters, each a `token` or `token=value`, rendered before `+url`. */
|
|
36
|
+
details?: string[];
|
|
37
|
+
}
|
|
38
|
+
/** The runtime the SDK is running on, as far as the header is concerned. */
|
|
39
|
+
export type RuntimeInfo = {
|
|
40
|
+
kind: "browser";
|
|
41
|
+
} | {
|
|
42
|
+
kind: "server";
|
|
43
|
+
name?: string;
|
|
44
|
+
version?: string;
|
|
45
|
+
os?: string;
|
|
46
|
+
arch?: string;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Refuse an `appInfo` the spec's grammar does not admit, with a `TypeError` naming
|
|
50
|
+
* the offending field. Empty `version`, `url` and `details` are treated as absent.
|
|
51
|
+
*/
|
|
52
|
+
export declare function validateAppInfo(appInfo: AppInfo): void;
|
|
53
|
+
/** Render a validated `appInfo` as `name/version (<details>; +url)`, omitting empty parts. */
|
|
54
|
+
export declare function renderAppInfo(appInfo: AppInfo): string;
|
|
55
|
+
/**
|
|
56
|
+
* Read the runtime from the globals. A browser (a window with a document, or a
|
|
57
|
+
* web worker) is reported as such so the caller sets no header. Deno is checked
|
|
58
|
+
* before Bun and Node because it also exposes a Node-compatible `process`.
|
|
59
|
+
*/
|
|
60
|
+
export declare function detectRuntime(scope?: Record<string, unknown>): RuntimeInfo;
|
|
61
|
+
/**
|
|
62
|
+
* Build the full `User-Agent` value, or `undefined` in a browser, where no header
|
|
63
|
+
* may be set. Validates `appInfo` first and refuses (with a `RangeError`) a value
|
|
64
|
+
* that would exceed the spec's 512-character ceiling rather than truncating it.
|
|
65
|
+
*/
|
|
66
|
+
export declare function buildUserAgent(appInfo?: AppInfo, runtime?: RuntimeInfo): string | undefined;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client identification: the `User-Agent` this SDK sends to the Pipelex API.
|
|
3
|
+
*
|
|
4
|
+
* Implements the workspace contract `docs/specs/client-identification.md`. The
|
|
5
|
+
* value is a sequence of RFC 9110 product tokens, outermost first:
|
|
6
|
+
*
|
|
7
|
+
* [<appInfo>] pipelex-sdk-js/<SDK_VERSION> [<runtime>/<version> (<os>; <arch>)]
|
|
8
|
+
*
|
|
9
|
+
* The integrator's `appInfo` comes first, the SDK next, the runtime last. The SDK
|
|
10
|
+
* calls `fetch` itself, so no other library appears on the transport path. In a
|
|
11
|
+
* browser no header is produced at all: browsers either ignore it or turn it into
|
|
12
|
+
* a CORS preflight the API refuses.
|
|
13
|
+
*
|
|
14
|
+
* The header is self-declared and unauthenticated — analytics and diagnostics
|
|
15
|
+
* only, never an authorization signal.
|
|
16
|
+
*/
|
|
17
|
+
import { SDK_VERSION } from "./version.js";
|
|
18
|
+
/** The SDK's own product token name, from the spec's token registry. */
|
|
19
|
+
export const SDK_TOKEN_NAME = "pipelex-sdk-js";
|
|
20
|
+
/** The spec's ceiling on the whole header value. */
|
|
21
|
+
export const MAX_USER_AGENT_LENGTH = 512;
|
|
22
|
+
// RFC 9110 §5.6.2: tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." /
|
|
23
|
+
// "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA.
|
|
24
|
+
const TOKEN = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;
|
|
25
|
+
// `value = token / ( name "/" version )`.
|
|
26
|
+
const DETAIL_VALUE = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+(\/[!#$%&'*+\-.^_`|~0-9A-Za-z]+)?$/;
|
|
27
|
+
// A URL inside a comment: visible ASCII, no whitespace, and none of the characters
|
|
28
|
+
// that would close the comment or split it into another parameter.
|
|
29
|
+
const COMMENT_URL = /^[!-~]+$/;
|
|
30
|
+
const COMMENT_BREAKERS = /[()\\;]/;
|
|
31
|
+
function isToken(value) {
|
|
32
|
+
return TOKEN.test(value);
|
|
33
|
+
}
|
|
34
|
+
function isDetail(detail) {
|
|
35
|
+
const eq = detail.indexOf("=");
|
|
36
|
+
if (eq === -1)
|
|
37
|
+
return isToken(detail);
|
|
38
|
+
return isToken(detail.slice(0, eq)) && DETAIL_VALUE.test(detail.slice(eq + 1));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Refuse an `appInfo` the spec's grammar does not admit, with a `TypeError` naming
|
|
42
|
+
* the offending field. Empty `version`, `url` and `details` are treated as absent.
|
|
43
|
+
*/
|
|
44
|
+
export function validateAppInfo(appInfo) {
|
|
45
|
+
if (typeof appInfo !== "object" || appInfo === null) {
|
|
46
|
+
throw new TypeError("appInfo must be an object with at least a `name`.");
|
|
47
|
+
}
|
|
48
|
+
if (typeof appInfo.name !== "string" || !isToken(appInfo.name)) {
|
|
49
|
+
throw new TypeError(`appInfo.name ${JSON.stringify(appInfo.name)} is not an RFC 9110 token ` +
|
|
50
|
+
"(letters, digits and !#$%&'*+-.^_`|~ only, non-empty).");
|
|
51
|
+
}
|
|
52
|
+
if (appInfo.version !== undefined && appInfo.version !== "") {
|
|
53
|
+
if (typeof appInfo.version !== "string" || !isToken(appInfo.version)) {
|
|
54
|
+
throw new TypeError(`appInfo.version ${JSON.stringify(appInfo.version)} is not an RFC 9110 token.`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (appInfo.url !== undefined && appInfo.url !== "") {
|
|
58
|
+
if (typeof appInfo.url !== "string" ||
|
|
59
|
+
!COMMENT_URL.test(appInfo.url) ||
|
|
60
|
+
COMMENT_BREAKERS.test(appInfo.url)) {
|
|
61
|
+
throw new TypeError(`appInfo.url ${JSON.stringify(appInfo.url)} cannot sit in a User-Agent comment ` +
|
|
62
|
+
"(visible ASCII only, no whitespace, parentheses, backslash or semicolon).");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (appInfo.details !== undefined) {
|
|
66
|
+
if (!Array.isArray(appInfo.details)) {
|
|
67
|
+
throw new TypeError("appInfo.details must be an array of strings.");
|
|
68
|
+
}
|
|
69
|
+
for (const detail of appInfo.details) {
|
|
70
|
+
if (typeof detail !== "string" || !isDetail(detail)) {
|
|
71
|
+
throw new TypeError(`appInfo.details entry ${JSON.stringify(detail)} is neither a token nor token=value.`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/** Render a validated `appInfo` as `name/version (<details>; +url)`, omitting empty parts. */
|
|
77
|
+
export function renderAppInfo(appInfo) {
|
|
78
|
+
let product = appInfo.name;
|
|
79
|
+
if (appInfo.version)
|
|
80
|
+
product += `/${appInfo.version}`;
|
|
81
|
+
const params = [...(appInfo.details ?? [])];
|
|
82
|
+
if (appInfo.url)
|
|
83
|
+
params.push(`+${appInfo.url}`);
|
|
84
|
+
return params.length > 0 ? `${product} (${params.join("; ")})` : product;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Read the runtime from the globals. A browser (a window with a document, or a
|
|
88
|
+
* web worker) is reported as such so the caller sets no header. Deno is checked
|
|
89
|
+
* before Bun and Node because it also exposes a Node-compatible `process`.
|
|
90
|
+
*/
|
|
91
|
+
export function detectRuntime(scope = globalThis) {
|
|
92
|
+
const win = scope["window"];
|
|
93
|
+
if ((win !== undefined && win !== null && win.document !== undefined) ||
|
|
94
|
+
typeof scope["importScripts"] === "function") {
|
|
95
|
+
return { kind: "browser" };
|
|
96
|
+
}
|
|
97
|
+
const deno = scope["Deno"];
|
|
98
|
+
if (deno?.version?.deno) {
|
|
99
|
+
return {
|
|
100
|
+
kind: "server",
|
|
101
|
+
name: "deno",
|
|
102
|
+
version: deno.version.deno,
|
|
103
|
+
os: deno.build?.os,
|
|
104
|
+
arch: deno.build?.arch,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
const proc = scope["process"];
|
|
108
|
+
const bun = proc?.versions?.["bun"];
|
|
109
|
+
if (bun) {
|
|
110
|
+
return { kind: "server", name: "bun", version: bun, os: proc.platform, arch: proc.arch };
|
|
111
|
+
}
|
|
112
|
+
const node = proc?.versions?.["node"];
|
|
113
|
+
if (node) {
|
|
114
|
+
return { kind: "server", name: "node", version: node, os: proc.platform, arch: proc.arch };
|
|
115
|
+
}
|
|
116
|
+
return { kind: "server" };
|
|
117
|
+
}
|
|
118
|
+
function renderRuntime(runtime) {
|
|
119
|
+
if (!runtime.name || !runtime.version || !isToken(runtime.version))
|
|
120
|
+
return undefined;
|
|
121
|
+
const token = `${runtime.name}/${runtime.version}`;
|
|
122
|
+
const platform = [runtime.os, runtime.arch].filter((part) => typeof part === "string" && isToken(part));
|
|
123
|
+
return platform.length > 0 ? `${token} (${platform.join("; ")})` : token;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Build the full `User-Agent` value, or `undefined` in a browser, where no header
|
|
127
|
+
* may be set. Validates `appInfo` first and refuses (with a `RangeError`) a value
|
|
128
|
+
* that would exceed the spec's 512-character ceiling rather than truncating it.
|
|
129
|
+
*/
|
|
130
|
+
export function buildUserAgent(appInfo, runtime = detectRuntime()) {
|
|
131
|
+
if (appInfo !== undefined)
|
|
132
|
+
validateAppInfo(appInfo);
|
|
133
|
+
const parts = [];
|
|
134
|
+
if (appInfo !== undefined)
|
|
135
|
+
parts.push(renderAppInfo(appInfo));
|
|
136
|
+
parts.push(`${SDK_TOKEN_NAME}/${SDK_VERSION}`);
|
|
137
|
+
if (runtime.kind === "server") {
|
|
138
|
+
const runtimePart = renderRuntime(runtime);
|
|
139
|
+
if (runtimePart)
|
|
140
|
+
parts.push(runtimePart);
|
|
141
|
+
}
|
|
142
|
+
const value = parts.join(" ");
|
|
143
|
+
// Checked before the browser return, so an `appInfo` refused on a server is refused
|
|
144
|
+
// in a browser too: the refusal is a property of the `appInfo`, not of the runtime.
|
|
145
|
+
if (value.length > MAX_USER_AGENT_LENGTH) {
|
|
146
|
+
throw new RangeError(`The User-Agent built from appInfo is ${value.length} characters; the ceiling is ` +
|
|
147
|
+
`${MAX_USER_AGENT_LENGTH}. Shorten appInfo.details or appInfo.url.`);
|
|
148
|
+
}
|
|
149
|
+
if (runtime.kind === "browser")
|
|
150
|
+
return undefined;
|
|
151
|
+
return value;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=user-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-agent.js","sourceRoot":"","sources":["../src/user-agent.ts"],"names":[],"mappings":"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"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The package version, in a module of its own so the client can stamp it on the
|
|
3
|
+
* `User-Agent` without importing the public barrel. Kept in sync with
|
|
4
|
+
* `package.json` — enforced by `tests/index.test.ts`.
|
|
5
|
+
*/
|
|
6
|
+
export const SDK_VERSION = "0.21.0";
|
|
7
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC"}
|
package/docs/architecture.md
CHANGED
|
@@ -87,8 +87,10 @@ Flat `src/` (mirrors `mthds-js`'s `runners/api` flatness — the SDK has one cli
|
|
|
87
87
|
- `artifacts.ts` — the artifact stack, the download twin of `prepareInputs`, in layers: `collectArtifacts` (a pure, exported walk for `pipelex-storage://` references), `resolveArtifacts` (the bulk resolve route over a whole list, chunked at its bound), `fetchArtifact` (one reference as a bounded `Response`) and `downloadArtifacts` (Node-only, a run's produced files saved under a directory as a produced verdict), plus `artifactFilename`, the filename derivation the MCP server used to own. The three network operations are client methods over a small structural seam (`ArtifactCapableClient`: the raw `resolveStorageUrls` call and `getRunResult`); the module's static import graph stays free of Node builtins, because `node:fs/promises`, `node:path` and `undici` are loaded by dynamic import behind `isNodeRuntime()` — a browser-targeting bundler still has to mark `node:*` and `undici` external, as it already must for `upload.ts`. `undici` is a runtime dependency for one reason: the fetch runs on an `Agent` carrying `headersTimeout` and `bodyTimeout`, the per-stall bounds an `AbortSignal` budget does not give, and Node exposes its bundled undici's `fetch` but not its `Agent`. See [artifact-download.md](./artifact-download.md).
|
|
88
88
|
- `runs.ts` — the run-lifecycle types (`RunStatus`, `RunRead`, `RunResults`, `RunResultState`) and the single poll loop (`pollUntilResult`). `RunResults.main_stuff` (the resolved main output content) is always present for a completed run: on the hosted path it is the `main_stuff.json` S3 artifact; on the bare-runner blocking path the SDK resolves it from the returned working memory via the response's `main_stuff_name`, so both paths deliver the same shape. Consumers read `main_stuff` directly. `working_memory` — every named stuff of the run, `{ root, aliases }`, typed `DictWorkingMemory` from `models.ts` — reads the same on both paths: the hosted path relays the `working_memory.json` artifact, and the blocking path lifts it off `pipe_output`, which still rides whole (blocking path only). `graph_spec` — the executed graph — also reaches the client on both paths: the hosted path relays the `graphspec.json` artifact, and the blocking path lifts it off `pipe_output` beside `graph_assembly_error`, the graph's twin of `usage_assembly_error`. That error field is declared ahead of the wire on the hosted side, where the platform's results body relays no such key and the field is therefore absent, reading `undefined` rather than `null`. A completed run that cannot deliver a main stuff throws `MissingMainStuffError`. `runs.ts` also owns `TokensUsageRecord` — one client-facing usage record per inference call, carried by `RunResults.tokens_usages` on both paths. That is a mirror of a wire contract this SDK does not own (inference accounting is a Pipelex runtime extension rather than part of the MTHDS standard): every field is optional and the interface carries an index signature so pre-contract artifacts (relayed verbatim, never migrated) still type-check. See [`run-usage.md`](./run-usage.md) for the field reference, the cost/null semantics, and the old-artifact rules, and [`run-results.md`](./run-results.md) for the field-by-field account of `RunResults` — the durable handle, the output and how to read it, the run's working memory, the executed graph and how to render or keep it, and the produced files with their short-lived links.
|
|
89
89
|
- `usage.ts` — `summarizeUsage`, the **pure** fold of a run's usage pair (`tokens_usages` / `usage_assembly_error`) into one `UsageSummary`: a `state` (`records`, `no_inference` or `unavailable`), the null-aware total cost with its `cost_partial` flag, the `input` and `output` token totals, the call count, the relayed assembly error, and a `by_pipe` rollup sorted by cost with the unattributed calls grouped under a `null` `pipe_code`. It applies the rules [`run-usage.md`](./run-usage.md#summarizing-a-run--summarizeusage) states, so that every consumer reads one computation rather than re-deriving those rules by hand. It imports types from `runs.ts` and nothing else: no client, no fetch, no `mthds/protocol`.
|
|
90
|
-
- `execute-result.ts` — `PipelexExecuteResult`, a `DictRunResultExecute` subtype that adds a resolved `.main_stuff` accessor (dug out of `pipe_output`'s working memory via the response's `main_stuff_name`, throwing `MissingMainStuffError` if unlocatable). `execute()` returns it, giving blocking and durable results the **same output accessor** — `result.main_stuff` — so callers never branch on which path ran. The neutral `mthds` wire model leaves `main_stuff_name` in its extension index signature; this Pipelex-branded subtype declares it as a typed field (Pipelex owns that concept). `
|
|
90
|
+
- `execute-result.ts` — `PipelexExecuteResult`, a `DictRunResultExecute` subtype that adds a resolved `.main_stuff` accessor (dug out of `pipe_output`'s working memory via the response's `main_stuff_name`, throwing `MissingMainStuffError` if unlocatable). `execute()` returns it, giving blocking and durable results the **same output accessor** — `result.main_stuff` — so callers never branch on which path ran. The neutral `mthds` wire model leaves `main_stuff_name` in its extension index signature; this Pipelex-branded subtype declares it as a typed field (Pipelex owns that concept). `resultsFromExecute` (the public lift from that result onto `RunResults`, in the same module) reads that accessor too, keeping the resolution single-sourced; the `executeBlocking` fallback is its only caller inside the SDK, and a consumer driving `execute()` directly calls it by name.
|
|
91
91
|
- `errors.ts` — the transport and run-lifecycle typed errors, the input-preparation family under `InputPreparationError`, and the artifact family under `ArtifactOperationError` (`ScopeUnavailableError`, `ArtifactFetchError`, `ArtifactAuthenticationError`, the last carrying the download verdict so far); all derive from the protocol-base `PipelineRequestError` (re-exported from `mthds/protocol`) except `ClientAuthenticationError`. It is not the whole error surface: `codegen-check.ts` exports `CodegenLockError`, which extends plain `Error` because nothing was requested over the wire.
|
|
92
|
+
- `user-agent.ts` — client identification per the workspace spec `docs/specs/client-identification.md`: the exported `AppInfo` option, its RFC 9110 token validation (a `TypeError` on a bad field, a `RangeError` past the 512-character ceiling), its rendering, the runtime detection (Node, Bun, Deno, or a browser, where no header is set) and `buildUserAgent`, which the client calls once at construction. The client's private `requestHeaders` is the one place API request headers are built, so every route carries the value; the artifact fetch of a presigned link never goes through it. See [client-identification.md](./client-identification.md).
|
|
93
|
+
- `version.ts` — `SDK_VERSION`, in its own module so the client stamps it on the `User-Agent` without importing the barrel, which re-exports it.
|
|
92
94
|
- `index.ts` — the public barrel: `export * from "mthds/protocol"` (single import source for the standard surface) plus the client, models, run types, the standalone pure helpers (`runCodegenCheck`, `summarizeUsage`, `collectArtifacts`, `artifactFilename`), and errors.
|
|
93
95
|
|
|
94
96
|
## Client surface (current)
|
|
@@ -120,7 +122,7 @@ The hosted catalog/account routes the webapp drives. All ride the same `{base}/v
|
|
|
120
122
|
|
|
121
123
|
## Hook bundle (`dist-hooks/check.mjs`)
|
|
122
124
|
|
|
123
|
-
`src/hooks/` holds the post-edit `.mthds` hook pipeline (local lint/format via `@pipelex/tools-wasm`, then a `POST /v1/validate` verdict through this SDK), bundled into a single dependency-free ESM file by `npm run build:hook`. The one specifier left external is `undici`, reached only by the artifact fetch path through a dynamic import the hook never executes, so the bundle does not inline an HTTP client it cannot use. **Distribution is source-checkout vendoring, not npm:** `pipelex-plugins` runs `make vendor-hook`, which builds `dist-hooks/check.mjs` in a sibling checkout of this repo and copies it in as a static hook asset — the published `@pipelex/sdk` tarball deliberately does not ship the bundle (it inlines the ~4 MB WASM engine, and no npm consumer of the SDK's library API uses it). `dist-hooks/` is gitignored; the consumer repo's own checks gate a stale vendored copy.
|
|
125
|
+
`src/hooks/` holds the post-edit `.mthds` hook pipeline (local lint/format via `@pipelex/tools-wasm`, then a `POST /v1/validate` verdict through this SDK), bundled into a single dependency-free ESM file by `npm run build:hook`. Its validate client is built by `src/hooks/validate-client.ts` with `appInfo: { name: "pipelex-mthds-check", version: SDK_VERSION }`, the `hook` surface's registry token, so the platform attributes its calls to the hook rather than to a plain SDK caller. The one specifier left external is `undici`, reached only by the artifact fetch path through a dynamic import the hook never executes, so the bundle does not inline an HTTP client it cannot use. **Distribution is source-checkout vendoring, not npm:** `pipelex-plugins` runs `make vendor-hook`, which builds `dist-hooks/check.mjs` in a sibling checkout of this repo and copies it in as a static hook asset — the published `@pipelex/sdk` tarball deliberately does not ship the bundle (it inlines the ~4 MB WASM engine, and no npm consumer of the SDK's library API uses it). `dist-hooks/` is gitignored; the consumer repo's own checks gate a stale vendored copy.
|
|
124
126
|
|
|
125
127
|
## Testing
|
|
126
128
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Client identification (`User-Agent` and `appInfo`)
|
|
2
|
+
|
|
3
|
+
Every request `PipelexApiClient` sends to the Pipelex API carries a `User-Agent` header that says which program made it. The hosted platform parses that header into the client surface it reports in product analytics and in its access log, which is how it tells a run started by an SDK script from one started by the web app, the MCP server, the CLI or the coding-agent hook. The convention is shared by every first-party client and is fixed by the workspace spec `docs/specs/client-identification.md`; this page describes how this SDK implements it.
|
|
4
|
+
|
|
5
|
+
## What the SDK sends
|
|
6
|
+
|
|
7
|
+
The value is a sequence of RFC 9110 product tokens, outermost first: the integrator's program (when it names itself through `appInfo`), then this SDK, then the runtime.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
pipelex-sdk-js/0.21.0 node/22.4.0 (darwin; arm64)
|
|
11
|
+
acme-invoicer/1.4.0 pipelex-sdk-js/0.21.0 node/22.4.0 (darwin; arm64)
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The SDK token is `pipelex-sdk-js/<SDK_VERSION>`, where `SDK_VERSION` is the package version (a test keeps it equal to `package.json`). The runtime token is `node/<version>`, `bun/<version>` or `deno/<version>`, followed by `(<os>; <arch>)`; when the runtime's version cannot be read the runtime token is left out. The SDK calls `fetch` itself, so no other library appears between the SDK token and the runtime.
|
|
15
|
+
|
|
16
|
+
The header is built once, when the client is constructed, and one private helper assembles the headers of every API request, so the protocol routes, the product routes, the extension routes and the origin-level `health()` probe all carry it. The fetch of a presigned object-store link by `fetchArtifact` or `downloadArtifacts` is a request to a third party and carries no header at all, as before.
|
|
17
|
+
|
|
18
|
+
**In a browser the SDK sets no `User-Agent`.** Browsers either ignore the header or turn it into a CORS preflight the API refuses, so a page running the SDK is identified by the browser's own `User-Agent`. The SDK treats a global `window` with a `document`, or a web worker, as a browser.
|
|
19
|
+
|
|
20
|
+
The header is self-declared and unauthenticated. The platform uses it for analytics and diagnostics only, never for authorization, rate limits or entitlements.
|
|
21
|
+
|
|
22
|
+
## Naming your program with `appInfo`
|
|
23
|
+
|
|
24
|
+
An integrator puts its own name in front of the SDK's token by passing `appInfo` at construction, in the same shape as Stripe's option of that name:
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
import { PipelexApiClient, type AppInfo } from "@pipelex/sdk";
|
|
28
|
+
|
|
29
|
+
const appInfo: AppInfo = {
|
|
30
|
+
name: "acme-invoicer",
|
|
31
|
+
version: "1.4.0",
|
|
32
|
+
details: ["batch"],
|
|
33
|
+
url: "https://acme.example",
|
|
34
|
+
};
|
|
35
|
+
const client = new PipelexApiClient({ appInfo });
|
|
36
|
+
// User-Agent: acme-invoicer/1.4.0 (batch; +https://acme.example) pipelex-sdk-js/0.21.0 node/22.4.0 (darwin; arm64)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
| Field | Required | Meaning |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| `name` | yes | An RFC 9110 token: ASCII letters, digits and the punctuation RFC 9110 allows in a token (no spaces, slashes, parentheses or semicolons), lowercase kebab-case by convention |
|
|
42
|
+
| `version` | no | A token, such as `1.4.0` |
|
|
43
|
+
| `url` | no | A URL, rendered in the comment as `+url` |
|
|
44
|
+
| `details` | no | Comment parameters, each a token or `token=value` (the value may be `name/version`), rendered before `+url` |
|
|
45
|
+
|
|
46
|
+
It renders as `name/version (<details>; +url)`, dropping the `/version` and the comment when they are empty. The constructor validates it and throws a `TypeError` naming the field when a value falls outside the grammar, and a `RangeError` when the whole header would exceed the spec's 512-character ceiling, in a browser as on a server although no header is sent there; the SDK never silently drops or rewrites a field. The header must never carry a secret, a user identifier, an email or a hostname.
|
|
47
|
+
|
|
48
|
+
First-party programs name themselves the same way. The coding-agent validation hook bundled in `dist-hooks/check.mjs` constructs its client with `appInfo: { name: "pipelex-mthds-check", version: SDK_VERSION }` (`src/hooks/validate-client.ts`), so its requests read:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
pipelex-mthds-check/0.21.0 pipelex-sdk-js/0.21.0 node/22.4.0 (darwin; arm64)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
A subclass of `PipelexApiClient`, such as the MCP server's size-guarded client, inherits the option through the constructor and passes its own `appInfo` the same way.
|
package/docs/run-results.md
CHANGED
|
@@ -4,6 +4,16 @@ A completed run hands back one object, `RunResults` (`src/runs.ts`), and every f
|
|
|
4
4
|
|
|
5
5
|
Two paths produce it. Against the hosted API the SDK starts a durable run and polls `GET /v1/runs/{id}/results`, where the platform relays the run's S3 artifacts verbatim. Against a bare `pipelex-api` runner, which has no run store, the SDK falls back to the blocking `POST /v1/execute` and maps the runner's native `pipe_output` onto the same shape, lifting the artifacts that ride it onto their own fields. `startAndWaitForResult` picks between the two from the `GET /v1/version` handshake, so a consumer does not choose.
|
|
6
6
|
|
|
7
|
+
**Calling the blocking route yourself.** `execute()` returns a `PipelexExecuteResult` rather than a `RunResults`, because that object is the runner's whole typed envelope and nothing of it is thrown away. To read such a result through this page's fields, lift it: `resultsFromExecute(result)` (`src/execute-result.ts`) is the same mapping `startAndWaitForResult` applies on its fallback, exposed for the caller who drives `execute()` directly. It is pure — no client, no network — and what it buys is everything written against `RunResults`: `summarizeUsage`, `downloadArtifacts`, the graph pair and the three I/O artifacts, instead of re-reading `pipe_output` by hand.
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { resultsFromExecute, summarizeUsage } from "@pipelex/sdk";
|
|
11
|
+
|
|
12
|
+
const executeResult = await client.execute({ pipe_code: "my_domain.my_pipe", mthds_contents: [source] });
|
|
13
|
+
const results = resultsFromExecute(executeResult);
|
|
14
|
+
console.log(results.main_stuff, summarizeUsage(results).total_cost_usd);
|
|
15
|
+
```
|
|
16
|
+
|
|
7
17
|
| field | type | hosted (durable) path | bare-runner (blocking) path |
|
|
8
18
|
|---|---|---|---|
|
|
9
19
|
| `pipeline_run_id` | `string` | the run store's id | the runner's own id for the call |
|
|
@@ -176,7 +186,7 @@ For the run's totals, call `summarizeUsage(results)` rather than adding the reco
|
|
|
176
186
|
|
|
177
187
|
## `pipe_output` — the runner's native output
|
|
178
188
|
|
|
179
|
-
`pipe_output` is the bare runner's whole native output, and it is present on the blocking path only — the hosted results body carries no such key, so on that path it reads `undefined`. It is supplementary: `main_stuff`, `working_memory`, the graph and the usage pair are all lifted out of it onto fields that read the same on both paths, so a consumer that wants every named stuff of the run reads `working_memory`, not `pipe_output.working_memory`, and its code keeps working against the hosted API. What `pipe_output` adds is the runner's output exactly as it arrived. It is typed `DictPipeOutput`, which is extension-open — the runner's Pipelex extension fields are reachable through the index signature without casting the whole value away.
|
|
189
|
+
`pipe_output` is the bare runner's whole native output, and it is present on the blocking path only — the hosted results body carries no such key, so on that path it reads `undefined`. It is supplementary: `main_stuff`, `working_memory`, the graph and the usage pair are all lifted out of it onto fields that read the same on both paths, so a consumer that wants every named stuff of the run reads `working_memory`, not `pipe_output.working_memory`, and its code keeps working against the hosted API. What `pipe_output` adds is the runner's output exactly as it arrived. It is typed `DictPipeOutput`, which is extension-open — the runner's Pipelex extension fields are reachable through the index signature without casting the whole value away. A caller holding an `execute()` result rather than a `RunResults` does that lift with `resultsFromExecute`, described at the top of this page, instead of reading the extension fields itself.
|
|
180
190
|
|
|
181
191
|
## Produced files
|
|
182
192
|
|
package/docs/run-usage.md
CHANGED
|
@@ -24,7 +24,7 @@ For the run's totals, do not add the records up by hand: [`summarizeUsage`](#sum
|
|
|
24
24
|
The accessor is the same whichever path ran. `startAndWaitForResult` picks a path from the `GET /v1/version` handshake:
|
|
25
25
|
|
|
26
26
|
- **Hosted (durable) path** — the records come from the runner's `tokens_usages.json` artifact, which `GET /v1/runs/{id}/results` unpacks onto the results body as top-level keys and relays verbatim.
|
|
27
|
-
- **Bare runner (blocking) path** — the records ride the execute response's extension-open `pipe_output` as Pipelex extension fields; the SDK lifts them onto the same two top-level fields.
|
|
27
|
+
- **Bare runner (blocking) path** — the records ride the execute response's extension-open `pipe_output` as Pipelex extension fields; the SDK lifts them onto the same two top-level fields. A caller that drives the blocking `execute()` itself applies that same lift with `resultsFromExecute(result)` (`src/execute-result.ts`), which hands back the `RunResults` this page's accessors are written against — there is no need to read the records off `pipe_output` by hand. See [`run-results.md`](./run-results.md).
|
|
28
28
|
|
|
29
29
|
Because the runtime emits both surfaces through one helper, the two cannot structurally diverge.
|
|
30
30
|
|