@pipelex/sdk 0.58.0 → 0.60.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/index.d.ts CHANGED
@@ -30,9 +30,11 @@ export type { ArtifactItemError, ArtifactLocation, ArtifactScope, BulkResolveSto
30
30
  export type { DiagnosticKind, DiagnosticRange, Diagnostic, LintResponse, FormatResponse, DictStuff, DictWorkingMemory, DictPipeOutput, DictRunResultExecute, MethodProvenance, PipelexRunResultStart, PipelexHostedToolingExtensions, DryRunStatus, ValidatedPipeEntry, LiftablePipeEntry, TreeFileUse, TreeFileRead, PipelexValidationReport, PipelexInvalidReport, PipelexValidationResult, CrateRequestBase, CrateRouteOptions, CrateInvalidReport, GeneratedArtifact, ResolveRequest, ResolveValidReport, ResolveResponse, CodegenKind, CodegenTarget, CodegenRequest, CodegenValidReport, CodegenResponse, PipeIORequest, PipeIOValidReport, PipeIOResponse, ModelCheckCategory, ModelReferenceKind, ModelReferenceResolution, ModelReferenceMatchBase, PresetMatch, AliasMatch, WaterfallMatch, HandleMatch, ModelReferenceMatch, ModelReferenceVerdictBase, PresetReferenceVerdict, AliasReferenceVerdict, WaterfallReferenceVerdict, HandleReferenceVerdict, ModelReferenceVerdict, } from "./models.js";
31
31
  export { runCodegenCheck, isStampableArtifactPath, STAMPABLE_ARTIFACT_SUFFIXES, CodegenLockError, } from "./codegen-check.js";
32
32
  export type { CodegenCheckInput, CodegenCheckReport, CodegenDrift, CodegenDriftCategory, CodegenTreeFile, } from "./codegen-check.js";
33
- export type { UserProfile, BundleStorageReference, ListMethodCopiesQuery, ListMethodExamplesQuery, ListMethodsQuery, ListMethodVersionsQuery, MethodCopied, MethodCopiedFrom, MethodCopyInput, MethodCopyLimit, MethodCopyMarker, MethodCopyOutcome, MethodCopyPage, MethodCopyRefusalReason, MethodCopyRefused, MethodCopyResult, MethodData, MethodDeletionAccepted, MethodDeletionState, MethodDetail, MethodDraftInput, MethodExample, MethodExampleAssistantCreated, MethodExampleAssistantKept, MethodExampleAssistantSaveInput, MethodExampleAssistantSaveOutcome, MethodExampleAssistantSaveResult, MethodExampleCreateInput, MethodExampleLatestRunInput, MethodExampleLatestRunOutcome, MethodExampleLatestRunRecorded, MethodExampleLatestRunResult, MethodExampleLatestRunStale, MethodExamplePage, MethodExampleUpdateInput, MethodPage, MethodPublished, MethodPublishInput, MethodPublishOutcome, MethodPublishRefusalReason, MethodPublishRefused, MethodPublishResult, MethodPublishUnchanged, MethodRenameInput, MethodSummary, MethodTreeInput, MethodVersion, MethodVersionPage, MethodVersionSummary, MethodWriteInput, SavedMethodFile, Membership, MembershipsResponse, OrgRole, BrandingColors, BrandingColorsUpdate, LogoDescriptor, OrganizationBranding, OrganizationBrandingUpdate, SubscriptionResponse, PlanView, InvoiceView, CheckoutResponse, ChangePlanResponse, BillingPortalResponse, PipelexApiKey, PipelexApiKeyCreated, PipelexApiKeyList, OnboardingRole, OnboardingCurrentTool, OnboardingInputType, OnboardingHeardFrom, OnboardingSubmission, DraftFileAdded, DraftFileBlob, DraftFileFromFileInput, DraftFileFromFileResult, FileArchive, FileArchiveFailure, FileArchiveFailureCode, FileArchiveLimit, FileArchiveRequest, FileArchiveSource, FileArchiveState, FileDetail, FileKind, FileLink, FileLinkError, FileLinksResult, FileLinkTarget, FileOrigin, FilePage, FileRecord, FileRecordList, FileRenameInput, FileRole, FileState, FileSummary, FileUse, FileUseHolderType, FileUsePage, GetFileQuery, GetFilesByUriOptions, ListFilesQuery, ListRunFilesQuery, RunFileEntry, RunFileMark, RunFilesPage, RunFilesState, RunInputLink, ResolvedStorageUrl, UploadInput, UploadedFile, UploadGrantInput, UploadGrant, UploadKind, ListRunsQuery, PipelineRun, RunDetail, RunHistoryItem, RunPage, UpdateRunInput, } from "./product-models.js";
33
+ export type { UserProfile, BundleStorageReference, ListMethodExamplesQuery, ListMethodsQuery, ListMethodVersionsQuery, MethodCopied, MethodCopiedFrom, MethodCopyInput, MethodCopyLimit, MethodCopyOutcome, MethodCopyRefusalReason, MethodCopyRefused, MethodCopyResult, MethodData, MethodDeletionAccepted, MethodDeletionState, MethodDetail, MethodDraftInput, MethodExample, MethodExampleAssistantCreated, MethodExampleAssistantKept, MethodExampleAssistantSaveInput, MethodExampleAssistantSaveOutcome, MethodExampleAssistantSaveResult, MethodExampleCreateInput, MethodExampleLatestRunInput, MethodExampleLatestRunOutcome, MethodExampleLatestRunRecorded, MethodExampleLatestRunResult, MethodExampleLatestRunStale, MethodExamplePage, MethodExampleUpdateInput, MethodPage, MethodPublished, MethodPublishInput, MethodPublishOutcome, MethodPublishRefusalReason, MethodPublishRefused, MethodPublishResult, MethodPublishUnchanged, MethodRenameInput, MethodSummary, MethodTreeInput, MethodVersion, MethodVersionPage, MethodVersionSummary, MethodWriteInput, SavedMethodFile, Membership, MembershipsResponse, OrgRole, BrandingColors, BrandingColorsUpdate, LogoDescriptor, OrganizationBranding, OrganizationBrandingUpdate, SubscriptionResponse, PlanView, InvoiceView, CheckoutResponse, ChangePlanResponse, BillingPortalResponse, PipelexApiKey, PipelexApiKeyCreated, PipelexApiKeyList, OnboardingRole, OnboardingCurrentTool, OnboardingInputType, OnboardingHeardFrom, OnboardingSubmission, DraftFileAdded, DraftFileBlob, DraftFileFromFileInput, DraftFileFromFileResult, FileArchive, FileArchiveFailure, FileArchiveFailureCode, FileArchiveLimit, FileArchiveRequest, FileArchiveSource, FileArchiveState, FileDetail, FileKind, FileLink, FileLinkError, FileLinksResult, FileLinkTarget, FileOrigin, FilePage, FileRecord, FileRecordList, FileRenameInput, FileRole, FileState, FileSummary, FileUse, FileUseHolderType, FileUsePage, GetFileQuery, GetFilesByUriOptions, ListFilesQuery, ListRunFilesQuery, RunFileEntry, RunFileMark, RunFilesPage, RunFilesState, RunInputLink, ResolvedStorageUrl, UploadInput, UploadedFile, UploadGrantInput, UploadGrant, UploadKind, ListRunsQuery, PipelineRun, RunDetail, RunHistoryItem, RunPage, UpdateRunInput, } from "./product-models.js";
34
34
  export { isFresherRunProgress, isTerminalRunStatus, isSuccessRunStatus, RUN_RESULT_ARTIFACTS, } from "./runs.js";
35
35
  export type { DegradationReason, GetRunResultOptions, ProgressAttempt, ProgressBatch, ProgressCondition, ProgressFailure, ProgressInvocation, ProgressInvocationStatus, RunDegradation, RunProgress, RunProgressStatus, RunResultArtifact, RunStatus, RunPublic, RunRead, RunResults, RunResultState, StartAndWaitForResultOptions, TokensUsageRecord, WaitForResultOptions, } from "./runs.js";
36
+ export { verifyWebhook, isRunFinishedEvent, RUN_FINISHED_EVENT_TYPE, WEBHOOK_TIMESTAMP_TOLERANCE_SECONDS, WebhookVerificationError, WebhookEventUnreadableError, } from "./webhooks.js";
37
+ export type { RunFinishedEvent, RunFinishedEventData, RunFinishedStatus, UnknownWebhookEvent, VerifyWebhookOptions, WebhookAttemptFailure, WebhookDeliveryAttempt, WebhookDeliveryDetail, WebhookDeliveryList, WebhookDeliveryState, WebhookDeliverySummary, WebhookEvent, WebhookHeaders, WebhookRefusal, WebhookReplayAccepted, WebhookReplayOptions, WebhookSecret, WebhookSecretRotateOptions, } from "./webhooks.js";
36
38
  export { summarizeUsage } from "./usage.js";
37
39
  export type { PipeUsageSummary, RunUsagePair, UsageSummary, UsageSummaryState, UsageTokenTotals, } from "./usage.js";
38
40
  export { PipelexRequestError, RequestArgumentError, ApiResponseError, ApiUnreachableError, MissingMainStuffError, PagingNotTerminatingError, PipelineExecuteTimeoutError, RunFailedError, RunTimeoutError, RunStillRunningError, RunLifecycleUnavailableError, InputPreparationError, InvalidLocalSourceError, InvalidInputValueError, UploadNotAllowedError, MethodLoadError, RejectedAssetError, UnsupportedUploadCapabilityError, UploadAuthenticationError, TestFileRefusedError, UploadTransportError, ArtifactOperationError, ArtifactAuthenticationError, ArtifactFetchError, ScopeUnavailableError, MethodFileTransferError, } from "./errors.js";
package/dist/index.js CHANGED
@@ -54,6 +54,10 @@ export { locateArtifacts, collectArtifacts, artifactFilename, PIPELEX_STORAGE_SC
54
54
  export { runCodegenCheck, isStampableArtifactPath, STAMPABLE_ARTIFACT_SUFFIXES, CodegenLockError, } from "./codegen-check.js";
55
55
  // ── Run lifecycle (hosted extension — NOT part of the protocol) ──────
56
56
  export { isFresherRunProgress, isTerminalRunStatus, isSuccessRunStatus, RUN_RESULT_ARTIFACTS, } from "./runs.js";
57
+ // ── Caller webhooks (the `run.finished` event, its verification, the delivery log, the secret) ──
58
+ // `verifyWebhook` runs where the receiver runs, with Web Crypto, so it needs no client; the
59
+ // delivery-log and secret routes are client methods, and only their shapes travel here.
60
+ export { verifyWebhook, isRunFinishedEvent, RUN_FINISHED_EVENT_TYPE, WEBHOOK_TIMESTAMP_TOLERANCE_SECONDS, WebhookVerificationError, WebhookEventUnreadableError, } from "./webhooks.js";
57
61
  // ── Usage summary (pure — folds a run's usage pair into one null-aware reading) ──
58
62
  export { summarizeUsage } from "./usage.js";
59
63
  // ── Typed errors (ProblemError and PipelineRequestError ride the protocol re-export above) ──
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;AAoI5B,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;AAsBvB,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
@@ -428,7 +436,9 @@ export interface FormatResponse {
428
436
  * An **address-form** `method_ref` (`github.com/<owner>/<repo>[/<selector>][@<tag>]`) is
429
437
  * resolved by the server (pipelex-api >= 0.21.0): the package's whole tree is fetched at the tag
430
438
  * and read as a tree sent in `files` is. The **registry form** (any non-address reference) stays
431
- * reserved and answers `501` until a method registry exists.
439
+ * reserved until a method registry exists: the server refuses it with a `422`
440
+ * `request.unsupported` whose `params.reason` is `registry_form_method_ref`, as pipelex-api does
441
+ * from v0.90.0, where it answered `501` before.
432
442
  *
433
443
  * The XOR is a server-side invariant, not a type-level one: expressing it as a union here would
434
444
  * make the common `{ files }` call site pick a branch for no gain, and the server rejects the
@@ -614,8 +624,10 @@ export interface PipeIORequest extends CrateRequestBase, PipelexHostedToolingExt
614
624
  * declaration. A selection the server refuses is a problem coded by what went wrong, of
615
625
  * the domain `input`, the candidates in its parameters where there are some:
616
626
  * `request.pipe_not_found` for a ref that names no pipe, `request.pipe_unspecified` for
617
- * (without `all_pipes`) a method with no entry pipe, `request.pipe_ambiguous` for a code that
618
- * matches pipes in several domains or (without `all_pipes`) several `main_pipe` declarations.
627
+ * (without `all_pipes`) a method with no entry pipe or, with no manifest, several bundles'
628
+ * `main_pipe` declarations, `request.pipe_ambiguous` for a bare code that matches pipes in
629
+ * several domains. A manifest `main_pipe` that no bundle or several define is the method's own
630
+ * fault, `method.pipe_unresolved` or `method.ref_ambiguous`.
619
631
  * A malformed request is `request.malformed`.
620
632
  *
621
633
  * The server does not refuse a bare code yet: a bare ref that matches one pipe is
@@ -467,42 +467,6 @@ export interface MethodCopyLimit {
467
467
  value: number;
468
468
  reached: number;
469
469
  }
470
- /** Query for one page of a method's copies. */
471
- export interface ListMethodCopiesQuery {
472
- /**
473
- * Page size, from 1 to 100; the API defaults to 50 and refuses a `limit` outside that range
474
- * with a `422`.
475
- */
476
- limit?: number;
477
- /** Opaque `nextCursor` from the previous page. */
478
- cursor?: string;
479
- }
480
- /**
481
- * The original's record of one copy made of it — a row of `listMethodCopies`. It names the
482
- * destination by its id alone, never its name, so the listing tells no reader the name of an
483
- * organization they do not belong to: show a destination's name only from the reader's own
484
- * memberships. The marker stays when its copy is erased, and the copy then reads as not found.
485
- */
486
- export interface MethodCopyMarker {
487
- /** The copy's method id, in the destination organization. */
488
- copy_method_id: string;
489
- /** The canonical id of the organization the copy was made in. */
490
- destination_org_id: string;
491
- /** The canonical id of the member who made the copy. */
492
- copied_by_user_id: string;
493
- /** ISO 8601 UTC instant the copy's row was written. */
494
- copied_at: string;
495
- }
496
- /**
497
- * One page of a method's copies, in the order of the copies' ids, which says nothing of when each
498
- * was made. `nextCursor` is opaque — pass it straight back to `listMethodCopies` to continue;
499
- * `null` means this was the last page. A method never copied, and a copy, which names its
500
- * original through `copied_from` and has no copies of its own, answer an empty page.
501
- */
502
- export interface MethodCopyPage {
503
- items: MethodCopyMarker[];
504
- nextCursor: string | null;
505
- }
506
470
  /**
507
471
  * One saved example of a method — what `createMethodExample`, `getMethodExample`,
508
472
  * `updateMethodExample` and both arms of `recordMethodExampleLatestRun` and
@@ -1588,6 +1552,13 @@ export interface RunDetail extends PipelineRun {
1588
1552
  tree_digest?: string | null;
1589
1553
  /** The runner's fingerprint of the crate it loaded the tree into; `null` when it reported none. */
1590
1554
  crate_fingerprint?: string | null;
1555
+ /**
1556
+ * The webhook URLs the run registered in `callback_urls`, each redacted to its scheme, its host
1557
+ * and a port other than the scheme's default, with `/***` in place of a path or query string.
1558
+ * `null` for a run that registered none; absent on a server that does not serve it. Its
1559
+ * deliveries are read with `listRunWebhookDeliveries`.
1560
+ */
1561
+ callback_urls?: string[] | null;
1591
1562
  }
1592
1563
  /** Query for one page of run history. */
1593
1564
  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
@@ -3,4 +3,4 @@
3
3
  * `User-Agent` without importing the public barrel. Kept in sync with
4
4
  * `package.json` — enforced by `tests/index.test.ts`.
5
5
  */
6
- export declare const SDK_VERSION = "0.58.0";
6
+ export declare const SDK_VERSION = "0.60.0";
package/dist/version.js CHANGED
@@ -3,5 +3,5 @@
3
3
  * `User-Agent` without importing the public barrel. Kept in sync with
4
4
  * `package.json` — enforced by `tests/index.test.ts`.
5
5
  */
6
- export const SDK_VERSION = "0.58.0";
6
+ export const SDK_VERSION = "0.60.0";
7
7
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,304 @@
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
+ /**
210
+ * The receiver's `webhook-id`, the same on every attempt and replay: `whd_` followed by ASCII
211
+ * letters, digits and underscores, at most 64 characters in all. Treat it as opaque, a key to
212
+ * deduplicate on and nothing to parse.
213
+ */
214
+ delivery_id: string;
215
+ /** The run whose event the delivery carries. */
216
+ pipeline_run_id: string;
217
+ /** The URL's position in the run's `callback_urls`, from 0. */
218
+ url_index: number;
219
+ /**
220
+ * The URL redacted, as every view shows a registered URL: its scheme, its host and a port other
221
+ * than the scheme's default, with `/***` in place of a path or query string, which may hold the
222
+ * receiver's credential.
223
+ */
224
+ url: string;
225
+ state: WebhookDeliveryState | (string & {});
226
+ /** The event's `type`, `run.finished`. */
227
+ event_type: string;
228
+ /** When the delivery was recorded, ISO-8601 UTC. */
229
+ created_at: string;
230
+ /** Every attempt so far, oldest first, replays included. */
231
+ attempts: WebhookDeliveryAttempt[];
232
+ }
233
+ /** One delivery with its event as sent — `GET /v1/runs/{id}/webhook-deliveries/{delivery_id}`. */
234
+ export interface WebhookDeliveryDetail extends WebhookDeliverySummary {
235
+ /**
236
+ * The body of the delivery's latest attempt, as sent: `type`, `timestamp`, `attempt` and `data`,
237
+ * every attempt's body differing only in its `attempt`. Before any attempt, the body its first
238
+ * attempt carries.
239
+ */
240
+ event: WebhookEvent;
241
+ }
242
+ /** A run's deliveries — `GET /v1/runs/{id}/webhook-deliveries`. */
243
+ export interface WebhookDeliveryList {
244
+ pipeline_run_id: string;
245
+ /**
246
+ * One delivery per URL the run registered, in their order, once the run has ended; none for a
247
+ * run that registered none or has not ended.
248
+ */
249
+ deliveries: WebhookDeliverySummary[];
250
+ }
251
+ /** A replay queued — the `202` of `POST /v1/runs/{id}/webhook-deliveries/{delivery_id}/replay`. */
252
+ export interface WebhookReplayAccepted {
253
+ pipeline_run_id: string;
254
+ /** The delivery replayed: the `webhook-id` the replay is sent under. */
255
+ delivery_id: string;
256
+ /**
257
+ * The attempt number the replay is sent under. A replay asked again before this one is sent is
258
+ * this same attempt.
259
+ */
260
+ attempt: number;
261
+ }
262
+ /** What a delivery's replay sends beside its path: the request's own header. */
263
+ export interface WebhookReplayOptions {
264
+ /**
265
+ * The replay's idempotency key, sent as the `Idempotency-Key` header, and not sent at all when
266
+ * absent or `null`. Generate one per replay the caller means to ask for (a `crypto.randomUUID()`
267
+ * is a good key), and keep it across that replay's retries: the same replay sent again under the
268
+ * same key is answered with the stored answer, naming the same attempt, so a replay whose answer
269
+ * was lost can be sent again without the delivery being sent twice. A key reused for another
270
+ * request is refused `409` `request.idempotency_conflict`, and one whose earlier request is still
271
+ * being handled `409` `request.idempotency_key_in_use`, whose `retry` is `yes`. A key is 1 to 255
272
+ * visible ASCII characters, anything else a `RequestArgumentError` before any request.
273
+ */
274
+ idempotencyKey?: string | null;
275
+ }
276
+ /**
277
+ * An organization's webhook signing secret — `GET /v1/organizations/{org_id}/webhook-secret` and
278
+ * its rotation. Only the current secret's value is served: the previous one, still signing until
279
+ * `previous_secret_expires_at`, is the one a receiver already holds.
280
+ */
281
+ export interface WebhookSecret {
282
+ /** `whsec_` and the base64 of 32 random bytes: give the whole value to `verifyWebhook`. */
283
+ secret: string;
284
+ /** When the organization's first secret was generated, ISO-8601 UTC. */
285
+ created_at: string;
286
+ /** When it was last rotated; `null` when never. */
287
+ rotated_at: string | null;
288
+ /**
289
+ * Until when the secret the last rotation replaced still signs beside this one, ISO-8601 UTC;
290
+ * `null` once that has passed, or when nothing was replaced.
291
+ */
292
+ previous_secret_expires_at: string | null;
293
+ }
294
+ /** What a secret rotation sends beside its path: the request's own header. */
295
+ export interface WebhookSecretRotateOptions {
296
+ /**
297
+ * The rotation's idempotency key, sent as the `Idempotency-Key` header, and not sent at all when
298
+ * absent or `null`. The answer carries the new secret, so the platform never replays it: the same
299
+ * key sent again is refused `409` `request.already_executed`, rotating nothing more, and the
300
+ * caller reads the secret with `getWebhookSecret`. A key is 1 to 255 visible ASCII characters,
301
+ * anything else a `RequestArgumentError` before any request.
302
+ */
303
+ idempotencyKey?: string | null;
304
+ }