@pipelex/sdk 0.57.0 → 0.59.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/dist/cli/script.d.ts +1 -1
- package/dist/client.d.ts +101 -5
- package/dist/client.js +145 -12
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts +3 -2
- package/dist/errors.js +3 -2
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/models.d.ts +8 -0
- package/dist/product-models.d.ts +24 -4
- package/dist/runs.d.ts +7 -0
- package/dist/runs.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/webhooks.d.ts +286 -0
- package/dist/webhooks.js +318 -0
- package/dist/webhooks.js.map +1 -0
- package/docs/architecture.md +8 -2
- package/docs/webhooks.md +119 -0
- package/package.json +1 -1
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,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,eAAe,EAAE,MAAM,aAAa,CAAC;AACtF,sFAAsF;AACtF,yFAAyF;AACzF,2EAA2E;AAC3E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAezF,oFAAoF;AACpF,6FAA6F;AAC7F,+FAA+F;AAC/F,kDAAkD;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,+FAA+F;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,+FAA+F;AAC/F,6FAA6F;AAC7F,iGAAiG;AACjG,8FAA8F;AAC9F,iEAAiE;AACjE,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEhG,iGAAiG;AACjG,kFAAkF;AAClF,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAQ/E,6FAA6F;AAC7F,6FAA6F;AAC7F,4CAA4C;AAC5C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAcpE,+FAA+F;AAC/F,0EAA0E;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,uEAAuE;AACvE,wFAAwF;AACxF,0FAA0F;AAC1F,iFAAiF;AACjF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAqExB,+EAA+E;AAC/E,4EAA4E;AAC5E,iFAAiF;AACjF,0EAA0E;AAC1E,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAuI5B,wEAAwE;AACxE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAwBnB,oFAAoF;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAS5C,+FAA+F;AAC/F,2FAA2F;AAC3F,iGAAiG;AACjG,kFAAkF;AAClF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAcrB,mFAAmF;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
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,eAAe,EAAE,MAAM,aAAa,CAAC;AACtF,sFAAsF;AACtF,yFAAyF;AACzF,2EAA2E;AAC3E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAezF,oFAAoF;AACpF,6FAA6F;AAC7F,+FAA+F;AAC/F,kDAAkD;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,+FAA+F;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,+FAA+F;AAC/F,6FAA6F;AAC7F,iGAAiG;AACjG,8FAA8F;AAC9F,iEAAiE;AACjE,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEhG,iGAAiG;AACjG,kFAAkF;AAClF,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAQ/E,6FAA6F;AAC7F,6FAA6F;AAC7F,4CAA4C;AAC5C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAcpE,+FAA+F;AAC/F,0EAA0E;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,uEAAuE;AACvE,wFAAwF;AACxF,0FAA0F;AAC1F,iFAAiF;AACjF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,EAChC,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAqExB,+EAA+E;AAC/E,4EAA4E;AAC5E,iFAAiF;AACjF,0EAA0E;AAC1E,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAuI5B,wEAAwE;AACxE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAwBnB,mGAAmG;AACnG,4FAA4F;AAC5F,wFAAwF;AACxF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,uBAAuB,EACvB,mCAAmC,EACnC,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAqBvB,oFAAoF;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAS5C,+FAA+F;AAC/F,2FAA2F;AAC3F,iGAAiG;AACjG,kFAAkF;AAClF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAcrB,mFAAmF;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/models.d.ts
CHANGED
|
@@ -71,6 +71,14 @@ export interface PipelexRunResultStart extends RunResultStart {
|
|
|
71
71
|
* or `null` for any other run, and on a server that does not resolve version selectors.
|
|
72
72
|
*/
|
|
73
73
|
method_version?: number | "draft" | null;
|
|
74
|
+
/**
|
|
75
|
+
* The webhook URLs the run registered in `callback_urls`, each redacted to its scheme, its host
|
|
76
|
+
* and a port other than the scheme's default, with `/***` in place of a path or query string,
|
|
77
|
+
* so a caller sees at once that its webhooks were taken. Absent for a run that registered none,
|
|
78
|
+
* since the platform leaves a member with no value out of the acknowledgement (the status read
|
|
79
|
+
* and the run record answer `null` instead), and on a server that does not echo them.
|
|
80
|
+
*/
|
|
81
|
+
callback_urls?: string[] | null;
|
|
74
82
|
}
|
|
75
83
|
/**
|
|
76
84
|
* The hosted tooling routes' own selector — the layer-3 extension the platform
|
package/dist/product-models.d.ts
CHANGED
|
@@ -1508,10 +1508,11 @@ export interface PipelineRun {
|
|
|
1508
1508
|
*
|
|
1509
1509
|
* Exactly what a history row shows, and nothing more: the run's id, which method it ran and
|
|
1510
1510
|
* which version of it, who started it, when it started and finished, whether it succeeded,
|
|
1511
|
-
* which pipe it ran
|
|
1512
|
-
* and author by id, so a client names them from the catalog and
|
|
1513
|
-
* rest of the run's record — its organization, its workflow id
|
|
1514
|
-
* it with `getRunDetail` (or
|
|
1511
|
+
* which pipe it ran, for a failed run why, and whether its results can be read. A list across
|
|
1512
|
+
* methods names each row's method and author by id, so a client names them from the catalog and
|
|
1513
|
+
* the organization's members. The rest of the run's record — its organization, its workflow id,
|
|
1514
|
+
* where its results are stored — is not sent on the list; read it with `getRunDetail` (or
|
|
1515
|
+
* `getRunStatus`) once a run is opened.
|
|
1515
1516
|
*/
|
|
1516
1517
|
export interface RunHistoryItem {
|
|
1517
1518
|
pipeline_run_id: string;
|
|
@@ -1538,6 +1539,18 @@ export interface RunHistoryItem {
|
|
|
1538
1539
|
method_version?: number | "draft" | null;
|
|
1539
1540
|
/** The SHA-256 of the sources the run sent as text (see `PipelineRun.source_digest`). */
|
|
1540
1541
|
source_digest?: string | null;
|
|
1542
|
+
/**
|
|
1543
|
+
* Whether the platform stored the run's results, so `getRunResult` can read them: `true`
|
|
1544
|
+
* exactly when the run is `COMPLETED` with its results stored, `false` on every other row. Only
|
|
1545
|
+
* while the run is still queued or running (`PENDING`, `STARTED`, `RUNNING`) does `false` mean
|
|
1546
|
+
* "not yet". On a run that ended any other way than `COMPLETED` it is `false` for good, there
|
|
1547
|
+
* being no results to read, and on a `COMPLETED` run it is `false` for good when the result went
|
|
1548
|
+
* inline to the caller that started it, as a blocking `execute` run's does, and the results read
|
|
1549
|
+
* of such a run answers `404 run.results_not_stored`, so a history asks for no results on that
|
|
1550
|
+
* row. Where the results are stored stays off the list. Absent from a platform that predates the
|
|
1551
|
+
* field, which says nothing either way: an absent field does not mean `false`.
|
|
1552
|
+
*/
|
|
1553
|
+
results_stored?: boolean;
|
|
1541
1554
|
}
|
|
1542
1555
|
/**
|
|
1543
1556
|
* A single run, whole — `GET /v1/runs/{id}`.
|
|
@@ -1575,6 +1588,13 @@ export interface RunDetail extends PipelineRun {
|
|
|
1575
1588
|
tree_digest?: string | null;
|
|
1576
1589
|
/** The runner's fingerprint of the crate it loaded the tree into; `null` when it reported none. */
|
|
1577
1590
|
crate_fingerprint?: string | null;
|
|
1591
|
+
/**
|
|
1592
|
+
* The webhook URLs the run registered in `callback_urls`, each redacted to its scheme, its host
|
|
1593
|
+
* and a port other than the scheme's default, with `/***` in place of a path or query string.
|
|
1594
|
+
* `null` for a run that registered none; absent on a server that does not serve it. Its
|
|
1595
|
+
* deliveries are read with `listRunWebhookDeliveries`.
|
|
1596
|
+
*/
|
|
1597
|
+
callback_urls?: string[] | null;
|
|
1578
1598
|
}
|
|
1579
1599
|
/** Query for one page of run history. */
|
|
1580
1600
|
export interface ListRunsQuery {
|
package/dist/runs.d.ts
CHANGED
|
@@ -164,6 +164,13 @@ export interface RunRead extends RunPublic {
|
|
|
164
164
|
* saved before the platform recorded it; absent on a server that does not serve it.
|
|
165
165
|
*/
|
|
166
166
|
request_id?: string | null;
|
|
167
|
+
/**
|
|
168
|
+
* The webhook URLs the run registered in `callback_urls`, each redacted to its scheme, its host
|
|
169
|
+
* and a port other than the scheme's default, with `/***` in place of a path or query string.
|
|
170
|
+
* `null` for a run that registered none; absent on a server that does not serve it. A run's
|
|
171
|
+
* `run.finished` event carries this read without it.
|
|
172
|
+
*/
|
|
173
|
+
callback_urls?: string[] | null;
|
|
167
174
|
/** The `Retry-After` header's delay, in seconds; set when the platform sent one. */
|
|
168
175
|
retry_after_seconds?: number | null;
|
|
169
176
|
}
|
package/dist/runs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Caller webhooks: the `run.finished` event a Pipelex runtime sends each URL a run registered in
|
|
3
|
+
* `callback_urls` once the run has ended, the receiver's verification of a call, and the shapes of
|
|
4
|
+
* the hosted delivery log and of an organization's signing secret.
|
|
5
|
+
*
|
|
6
|
+
* The contract is the spec `conformance/specs/pipelex-caller-webhooks.md`, in the `conformance`
|
|
7
|
+
* repository: a call is a Standard Webhooks v1 `POST`, its `webhook-id`, `webhook-timestamp` and
|
|
8
|
+
* `webhook-signature` headers signing `{webhook-id}.{webhook-timestamp}.{body}` with HMAC-SHA256
|
|
9
|
+
* under a `whsec_` secret, and its body a `run.finished` event. `verifyWebhook` follows the spec's
|
|
10
|
+
* verification procedure step by step and is held to its known-answer vectors, a byte-identical copy
|
|
11
|
+
* of which this package's tests run (`tests/fixtures/caller-webhooks/`).
|
|
12
|
+
*
|
|
13
|
+
* Browser-safe, as the whole barrel is: the signature is computed with Web Crypto
|
|
14
|
+
* (`globalThis.crypto.subtle`), which Node, Deno, Bun, edge runtimes and browsers carry, never with
|
|
15
|
+
* `node:crypto`. See `docs/webhooks.md`.
|
|
16
|
+
*/
|
|
17
|
+
import { ProblemError } from "mthds/protocol";
|
|
18
|
+
import type { Problem } from "mthds/protocol";
|
|
19
|
+
import type { RunStatus } from "./runs.js";
|
|
20
|
+
/** The `type` of the event a run's end sends: one type for every ending, the outcome in `data.status`. */
|
|
21
|
+
export declare const RUN_FINISHED_EVENT_TYPE = "run.finished";
|
|
22
|
+
/**
|
|
23
|
+
* How far a call's `webhook-timestamp` may be from the receiver's clock, either way, in seconds:
|
|
24
|
+
* five minutes, as the contract sets it. A call further away is refused, which bounds how long a
|
|
25
|
+
* captured call can be replayed.
|
|
26
|
+
*/
|
|
27
|
+
export declare const WEBHOOK_TIMESTAMP_TOLERANCE_SECONDS = 300;
|
|
28
|
+
/**
|
|
29
|
+
* The status a `run.finished` event's `data` reports. A self-hosted runner sends the MTHDS
|
|
30
|
+
* protocol's status read, `completed` or `failed`, a cancelled or timed-out run reading `failed`
|
|
31
|
+
* with a code that says why. The hosted plane sends its own status read until it moves onto the
|
|
32
|
+
* protocol's, so its event reads an ended `RunStatus` in uppercase, `COMPLETED`, `FAILED`,
|
|
33
|
+
* `CANCELLED`, `TERMINATED` or `TIMED_OUT`, and its spelling turns lowercase when it does. Read
|
|
34
|
+
* open: a status this SDK does not name arrives as its raw string. To tell a success from a
|
|
35
|
+
* failure under both spellings, compare `status.toLowerCase()` with `"completed"`.
|
|
36
|
+
*/
|
|
37
|
+
export type RunFinishedStatus = "completed" | "failed" | Extract<RunStatus, "COMPLETED" | "FAILED" | "CANCELLED" | "TERMINATED" | "TIMED_OUT"> | (string & {});
|
|
38
|
+
/**
|
|
39
|
+
* A `run.finished` event's `data`: the run as its caller's status read served it when the delivery
|
|
40
|
+
* was created, the same on every attempt and replay of the delivery.
|
|
41
|
+
*
|
|
42
|
+
* Two shapes reach a receiver today, and this type accepts both. A self-hosted runner sends the
|
|
43
|
+
* MTHDS protocol's status read (`pipeline_run_id`, a lowercase `status`, and for a failed run its
|
|
44
|
+
* problem as `error`, a member with no value left out). The hosted plane sends the body of its own
|
|
45
|
+
* `GET /v1/runs/{id}/status` (this SDK's `RunRead`) without `callback_urls`: an uppercase `status`,
|
|
46
|
+
* a member with no value written as `null`, and the platform's own members, such as `finished_at`,
|
|
47
|
+
* `method_id` and `request_id`. That shape does not validate against the contract's JSON Schema,
|
|
48
|
+
* which describes the protocol's read; the hosted event follows its status read onto the
|
|
49
|
+
* protocol's shape when that read moves, with no change of its own.
|
|
50
|
+
*/
|
|
51
|
+
export interface RunFinishedEventData {
|
|
52
|
+
/** The run that ended. */
|
|
53
|
+
pipeline_run_id: string;
|
|
54
|
+
/** How it ended; see `RunFinishedStatus` for the two spellings. */
|
|
55
|
+
status: RunFinishedStatus;
|
|
56
|
+
/**
|
|
57
|
+
* A failed run's problem, in its caller's view: never its `diagnostics`. Kept when it is a
|
|
58
|
+
* problem document (`isProblem`), and read as `null` otherwise; absent on a completed run of a
|
|
59
|
+
* self-hosted runner, `null` on one of the hosted plane.
|
|
60
|
+
*/
|
|
61
|
+
error?: Problem | null;
|
|
62
|
+
/** Every other member the status read served, as it served it. */
|
|
63
|
+
[member: string]: unknown;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The body of the call a run's end makes to each URL it registered: a `run.finished` event. The
|
|
67
|
+
* event never carries the run's results; fetch them with `getRunResult` and the `pipeline_run_id`
|
|
68
|
+
* of `data`. A receiver deduplicates on the `webhook-id` header, never on the body or `attempt`.
|
|
69
|
+
*/
|
|
70
|
+
export interface RunFinishedEvent {
|
|
71
|
+
type: typeof RUN_FINISHED_EVENT_TYPE;
|
|
72
|
+
/** When the run ended, its `finished_at`, as an RFC 3339 date-time in UTC. Not the call's send time. */
|
|
73
|
+
timestamp: string;
|
|
74
|
+
/**
|
|
75
|
+
* Which attempt of the delivery this call is, from 1. Informational: it increases with each retry
|
|
76
|
+
* and a replay continues it, but a runtime that runs its delivery step again may skip numbers or
|
|
77
|
+
* start again at 1 under the same `webhook-id`, so never rely on it being unique or gapless.
|
|
78
|
+
*/
|
|
79
|
+
attempt: number;
|
|
80
|
+
/** The run as its caller's status read served it; see `RunFinishedEventData`. */
|
|
81
|
+
data: RunFinishedEventData;
|
|
82
|
+
/** A member a later contract adds, which a receiver ignores. */
|
|
83
|
+
[member: string]: unknown;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* An event whose `type` this SDK does not read. A receiver acknowledges it with a `2xx` rather
|
|
87
|
+
* than failing it, so the sender does not retry an event the receiver has no use for.
|
|
88
|
+
*/
|
|
89
|
+
export interface UnknownWebhookEvent {
|
|
90
|
+
type: string;
|
|
91
|
+
[member: string]: unknown;
|
|
92
|
+
}
|
|
93
|
+
/** What `verifyWebhook` returns: a `run.finished` event, or one of a type this SDK does not read. */
|
|
94
|
+
export type WebhookEvent = RunFinishedEvent | UnknownWebhookEvent;
|
|
95
|
+
/** Whether `event` is a `run.finished` event, narrowing it to `RunFinishedEvent`. */
|
|
96
|
+
export declare function isRunFinishedEvent(event: WebhookEvent): event is RunFinishedEvent;
|
|
97
|
+
/**
|
|
98
|
+
* The headers of a call, as a receiver's framework hands them over: a fetch `Headers` (a Next.js
|
|
99
|
+
* route handler, Hono, a worker) or a plain record (Node's `IncomingHttpHeaders`, Express). Names
|
|
100
|
+
* are matched whatever their case. A header given as several values is read as those values
|
|
101
|
+
* joined by spaces, which for `webhook-signature` lists every signature they carry.
|
|
102
|
+
*/
|
|
103
|
+
export type WebhookHeaders = Headers | Readonly<Record<string, string | readonly string[] | undefined>>;
|
|
104
|
+
/** `verifyWebhook`'s options. */
|
|
105
|
+
export interface VerifyWebhookOptions {
|
|
106
|
+
/**
|
|
107
|
+
* The receiver's clock, which the call's `webhook-timestamp` must be within five minutes of;
|
|
108
|
+
* the current time when absent. Given for a test, or to verify a call received earlier.
|
|
109
|
+
*/
|
|
110
|
+
now?: Date;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Why `verifyWebhook` refused a call, named as the contract's verification procedure names its
|
|
114
|
+
* steps, in the order it takes them:
|
|
115
|
+
*
|
|
116
|
+
* - `missing_header`: `webhook-id`, `webhook-timestamp` or `webhook-signature` is absent or empty;
|
|
117
|
+
* - `timestamp`: `webhook-timestamp` is not a whole number of Unix seconds, or is more than five
|
|
118
|
+
* minutes from the receiver's clock, either way;
|
|
119
|
+
* - `signature`: no `v1` signature in `webhook-signature` is the call's under any secret given.
|
|
120
|
+
*/
|
|
121
|
+
export type WebhookRefusal = "missing_header" | "timestamp" | "signature";
|
|
122
|
+
/**
|
|
123
|
+
* A call `verifyWebhook` refused: it does not come from the runtime holding the secret, or not
|
|
124
|
+
* within the last five minutes, so its body must not be acted on. Answer it with a status outside
|
|
125
|
+
* `2xx`, such as `401`, which the sender counts as a failed attempt and retries.
|
|
126
|
+
*
|
|
127
|
+
* Branch on `refusal` (see `WebhookRefusal`). Its problem treats the signature as the call's
|
|
128
|
+
* credential: `auth.missing_credential` for a missing header, `auth.invalid_credential` for a
|
|
129
|
+
* timestamp or a signature refused. Nothing was requested, so it is no `PipelexRequestError`; it
|
|
130
|
+
* is a `ProblemError`, as every error this SDK raises is.
|
|
131
|
+
*/
|
|
132
|
+
export declare class WebhookVerificationError extends ProblemError {
|
|
133
|
+
/** Which step of the verification refused the call. */
|
|
134
|
+
readonly refusal: WebhookRefusal;
|
|
135
|
+
constructor(message: string, refusal: WebhookRefusal);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* A verified call whose body is not a webhook event this SDK can read: bytes that are not UTF-8,
|
|
139
|
+
* text that is not JSON, JSON that is not an object with a string `type`, or a `run.finished` event
|
|
140
|
+
* missing a member the contract gives it or carrying one of the wrong type. The call does come from
|
|
141
|
+
* the runtime holding the secret, so this is that runtime's fault, never the receiver's.
|
|
142
|
+
*
|
|
143
|
+
* Its problem is `request.malformed`, whose `reason` is `not_utf8` or `not_json`, for a body that
|
|
144
|
+
* does not parse, and `request.invalid`, whose `field` names the member as a dotted path (`type`,
|
|
145
|
+
* `attempt`, `data.status`), for one that parses but is no event.
|
|
146
|
+
*/
|
|
147
|
+
export declare class WebhookEventUnreadableError extends ProblemError {
|
|
148
|
+
constructor(message: string, problem: Problem, options?: {
|
|
149
|
+
cause?: unknown;
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Verify a call to a caller webhook and read its event.
|
|
154
|
+
*
|
|
155
|
+
* It follows the contract's procedure: it refuses a call missing one of the three headers, then
|
|
156
|
+
* one whose `webhook-timestamp` is more than five minutes from `options.now`, then one whose
|
|
157
|
+
* `webhook-signature` lists no `v1` signature matching its own, computed from the raw body under
|
|
158
|
+
* each secret given and compared in constant time. Only then does it parse the body.
|
|
159
|
+
*
|
|
160
|
+
* Give `body` exactly as received, the raw bytes or their text, never a value parsed and written
|
|
161
|
+
* again: the same JSON written with other bytes signs differently. In a framework that parses JSON
|
|
162
|
+
* bodies by itself, read the raw body instead (`await request.text()` in a fetch handler,
|
|
163
|
+
* `express.raw({ type: "application/json" })` in Express).
|
|
164
|
+
*
|
|
165
|
+
* `secret` is the `whsec_` secret the runtime signs with: the organization's, which its admins read
|
|
166
|
+
* with `getWebhookSecret`, or the one a self-hosted runner's operator configured. During a rotation
|
|
167
|
+
* give both, the call then verifying under either: the hosted plane signs every call with the new
|
|
168
|
+
* secret and the previous one for 24 hours.
|
|
169
|
+
*
|
|
170
|
+
* Returns the event: a `RunFinishedEvent` (`isRunFinishedEvent`), or an `UnknownWebhookEvent` for a
|
|
171
|
+
* `type` this SDK does not read, to acknowledge and ignore. Deduplicate on the `webhook-id` header,
|
|
172
|
+
* since a delivery can arrive more than once.
|
|
173
|
+
*
|
|
174
|
+
* Throws `WebhookVerificationError` for a call refused, whose `refusal` says why;
|
|
175
|
+
* `WebhookEventUnreadableError` for a verified call that holds no event this SDK reads; and
|
|
176
|
+
* `RequestArgumentError` for a `secret` that is not a `whsec_` secret written in standard base64
|
|
177
|
+
* with its padding, a `body` that is neither text nor bytes, or an `options.now` that is no valid
|
|
178
|
+
* `Date`, before the call is looked at.
|
|
179
|
+
*/
|
|
180
|
+
export declare function verifyWebhook(body: string | Uint8Array | ArrayBuffer, headers: WebhookHeaders, secret: string | readonly string[], options?: VerifyWebhookOptions): Promise<WebhookEvent>;
|
|
181
|
+
/**
|
|
182
|
+
* Where a delivery stands: `pending` while on its retry schedule, `delivered` once a receiver
|
|
183
|
+
* answered `2xx`, `failed` past its last attempt, which a replay can still deliver. Read open: a
|
|
184
|
+
* state this SDK does not name arrives as its raw string.
|
|
185
|
+
*/
|
|
186
|
+
export type WebhookDeliveryState = "pending" | "delivered" | "failed";
|
|
187
|
+
/**
|
|
188
|
+
* Why an attempt got no HTTP answer: `timeout` (none within fifteen seconds), `connection` (none
|
|
189
|
+
* could be made, or it was cut), `tls` (the handshake failed, the receiver's certificate
|
|
190
|
+
* included), `refused_address` (the host resolved to a private, loopback, link-local or metadata
|
|
191
|
+
* address, or to none). An attempt that got an answer records its `status_code` instead.
|
|
192
|
+
*/
|
|
193
|
+
export type WebhookAttemptFailure = "timeout" | "connection" | "tls" | "refused_address";
|
|
194
|
+
/** One attempt of a delivery: when it was sent, what came back, how long it took. No response body is kept. */
|
|
195
|
+
export interface WebhookDeliveryAttempt {
|
|
196
|
+
/** The attempt's number, from 1: the body's `attempt`. */
|
|
197
|
+
attempt: number;
|
|
198
|
+
/** When it was sent, ISO-8601 UTC. */
|
|
199
|
+
attempted_at: string;
|
|
200
|
+
/** The HTTP status the receiver answered; `null` when no answer came. */
|
|
201
|
+
status_code: number | null;
|
|
202
|
+
/** Why no answer came; `null` when one did. */
|
|
203
|
+
failure: WebhookAttemptFailure | (string & {}) | null;
|
|
204
|
+
/** How long it took, in milliseconds. */
|
|
205
|
+
duration_ms: number | null;
|
|
206
|
+
}
|
|
207
|
+
/** One delivery of a run's webhook, as anyone who can read the run sees it. */
|
|
208
|
+
export interface WebhookDeliverySummary {
|
|
209
|
+
/** `whd_` and hexadecimal digits: the receiver's `webhook-id`, the same on every attempt and replay. */
|
|
210
|
+
delivery_id: string;
|
|
211
|
+
/** The run whose event the delivery carries. */
|
|
212
|
+
pipeline_run_id: string;
|
|
213
|
+
/** The URL's position in the run's `callback_urls`, from 0. */
|
|
214
|
+
url_index: number;
|
|
215
|
+
/**
|
|
216
|
+
* The URL redacted, as every view shows a registered URL: its scheme, its host and a port other
|
|
217
|
+
* than the scheme's default, with `/***` in place of a path or query string, which may hold the
|
|
218
|
+
* receiver's credential.
|
|
219
|
+
*/
|
|
220
|
+
url: string;
|
|
221
|
+
state: WebhookDeliveryState | (string & {});
|
|
222
|
+
/** The event's `type`, `run.finished`. */
|
|
223
|
+
event_type: string;
|
|
224
|
+
/** When the delivery was recorded, ISO-8601 UTC. */
|
|
225
|
+
created_at: string;
|
|
226
|
+
/** Every attempt so far, oldest first, replays included. */
|
|
227
|
+
attempts: WebhookDeliveryAttempt[];
|
|
228
|
+
}
|
|
229
|
+
/** One delivery with its event as sent — `GET /v1/runs/{id}/webhook-deliveries/{delivery_id}`. */
|
|
230
|
+
export interface WebhookDeliveryDetail extends WebhookDeliverySummary {
|
|
231
|
+
/**
|
|
232
|
+
* The body of the delivery's latest attempt, as sent: `type`, `timestamp`, `attempt` and `data`,
|
|
233
|
+
* every attempt's body differing only in its `attempt`. Before any attempt, the body its first
|
|
234
|
+
* attempt carries.
|
|
235
|
+
*/
|
|
236
|
+
event: WebhookEvent;
|
|
237
|
+
}
|
|
238
|
+
/** A run's deliveries — `GET /v1/runs/{id}/webhook-deliveries`. */
|
|
239
|
+
export interface WebhookDeliveryList {
|
|
240
|
+
pipeline_run_id: string;
|
|
241
|
+
/**
|
|
242
|
+
* One delivery per URL the run registered, in their order, once the run has ended; none for a
|
|
243
|
+
* run that registered none or has not ended.
|
|
244
|
+
*/
|
|
245
|
+
deliveries: WebhookDeliverySummary[];
|
|
246
|
+
}
|
|
247
|
+
/** A replay queued — the `202` of `POST /v1/runs/{id}/webhook-deliveries/{delivery_id}/replay`. */
|
|
248
|
+
export interface WebhookReplayAccepted {
|
|
249
|
+
pipeline_run_id: string;
|
|
250
|
+
/** The delivery replayed: the `webhook-id` the replay is sent under. */
|
|
251
|
+
delivery_id: string;
|
|
252
|
+
/**
|
|
253
|
+
* The attempt number the replay is sent under. A replay asked again before this one is sent is
|
|
254
|
+
* this same attempt.
|
|
255
|
+
*/
|
|
256
|
+
attempt: number;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* An organization's webhook signing secret — `GET /v1/organizations/{org_id}/webhook-secret` and
|
|
260
|
+
* its rotation. Only the current secret's value is served: the previous one, still signing until
|
|
261
|
+
* `previous_secret_expires_at`, is the one a receiver already holds.
|
|
262
|
+
*/
|
|
263
|
+
export interface WebhookSecret {
|
|
264
|
+
/** `whsec_` and the base64 of 32 random bytes: give the whole value to `verifyWebhook`. */
|
|
265
|
+
secret: string;
|
|
266
|
+
/** When the organization's first secret was generated, ISO-8601 UTC. */
|
|
267
|
+
created_at: string;
|
|
268
|
+
/** When it was last rotated; `null` when never. */
|
|
269
|
+
rotated_at: string | null;
|
|
270
|
+
/**
|
|
271
|
+
* Until when the secret the last rotation replaced still signs beside this one, ISO-8601 UTC;
|
|
272
|
+
* `null` once that has passed, or when nothing was replaced.
|
|
273
|
+
*/
|
|
274
|
+
previous_secret_expires_at: string | null;
|
|
275
|
+
}
|
|
276
|
+
/** What a secret rotation sends beside its path: the request's own header. */
|
|
277
|
+
export interface WebhookSecretRotateOptions {
|
|
278
|
+
/**
|
|
279
|
+
* The rotation's idempotency key, sent as the `Idempotency-Key` header, and not sent at all when
|
|
280
|
+
* absent or `null`. The answer carries the new secret, so the platform never replays it: the same
|
|
281
|
+
* key sent again is refused `409` `request.already_executed`, rotating nothing more, and the
|
|
282
|
+
* caller reads the secret with `getWebhookSecret`. A key is 1 to 255 visible ASCII characters,
|
|
283
|
+
* anything else a `RequestArgumentError` before any request.
|
|
284
|
+
*/
|
|
285
|
+
idempotencyKey?: string | null;
|
|
286
|
+
}
|