@openwop/openwop 1.1.1 → 1.1.2

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/types.d.ts CHANGED
@@ -11,7 +11,7 @@
11
11
  * rather than relying on the SDK to refuse unknown values.
12
12
  */
13
13
  /** Run statuses per `RunSnapshot.status` in OpenAPI. */
14
- export type RunStatus = 'pending' | 'running' | 'paused' | 'waiting-approval' | 'waiting-input' | 'completed' | 'failed' | 'cancelled';
14
+ export type RunStatus = 'pending' | 'running' | 'paused' | 'waiting-approval' | 'waiting-input' | 'waiting-external' | 'completed' | 'failed' | 'cancelled';
15
15
  export interface Capabilities {
16
16
  protocolVersion: string;
17
17
  supportedEnvelopes: readonly string[];
@@ -49,6 +49,24 @@ export interface RunSnapshot {
49
49
  code?: string;
50
50
  message?: string;
51
51
  };
52
+ /** Linkage back to the parent run when this run was spawned via
53
+ * `core.subWorkflow`. Per `interrupt-profiles.md §openwop-interrupt-
54
+ * cascade-cancel`: child runs preserve `parentRunId` + `parentNodeId`
55
+ * so cancellation can cascade. Absent for top-level runs. */
56
+ parentRunId?: string;
57
+ parentNodeId?: string;
58
+ /** Surfaced for `waiting-*` runs per `interrupt.md §"Signed-token
59
+ * callback"`. Carries the open interrupt's metadata so clients can
60
+ * resolve via `POST /v1/interrupts/{token}` without consulting a
61
+ * separate endpoint. Hosts MAY omit `data` to keep payloads small;
62
+ * the token + callbackUrl are the load-bearing fields. */
63
+ interrupt?: {
64
+ kind: string;
65
+ nodeId: string;
66
+ interruptToken?: string;
67
+ callbackUrl?: string;
68
+ data?: unknown;
69
+ };
52
70
  }
53
71
  /**
54
72
  * Per-run parameter overlay carried in `RunOptions.configurable`. Reserved
@@ -92,6 +110,76 @@ export interface CancelRunResponse {
92
110
  runId: string;
93
111
  status: 'cancelled' | 'cancelling';
94
112
  }
113
+ /**
114
+ * Portable JSON diagnostic export for a single run per
115
+ * `spec/v1/debug-bundle.md` + `schemas/debug-bundle.schema.json`.
116
+ *
117
+ * Hosts MAY omit non-required fields. Consumers MUST treat masked /
118
+ * omitted / hashed values as the spec-canonical content per the host's
119
+ * advertised `redactionMode` — they are NOT placeholders for missing
120
+ * data.
121
+ */
122
+ export interface DebugBundle {
123
+ bundleVersion: string;
124
+ generatedAt: string;
125
+ host: {
126
+ name?: string;
127
+ version?: string;
128
+ vendor?: string;
129
+ };
130
+ run: Record<string, unknown>;
131
+ events: ReadonlyArray<Record<string, unknown>>;
132
+ redactionApplied: boolean;
133
+ /** Reflects the host's `capabilities.compliance.defaultMode`. */
134
+ redactionMode: 'mask' | 'omit' | 'hash' | 'passthrough';
135
+ /** True when the bundle hit the host's size cap; pair with `truncatedReason`. */
136
+ truncated?: boolean;
137
+ truncatedReason?: string;
138
+ [key: string]: unknown;
139
+ }
140
+ export interface DebugBundleOptions {
141
+ /** Optional host-extension query parameter to lower the size cap for testing. Spec-canonical hosts SHOULD prefer `host.<vendor>.<query>` namespacing; this is the SQLite-reference convention. */
142
+ maxEvents?: number;
143
+ }
144
+ export interface RegisterWebhookRequest {
145
+ /** Receiver URL the host will POST signed deliveries to. */
146
+ url: string;
147
+ /** Event types to subscribe to (subset of the `RunEventType` enum). */
148
+ events: readonly string[];
149
+ /** Optional pre-shared secret; if omitted the host generates one and returns it in the response. */
150
+ secret?: string;
151
+ /** Optional tag filter — only events from runs carrying these tags are delivered. */
152
+ tags?: readonly string[];
153
+ }
154
+ export interface RegisterWebhookResponse {
155
+ /** Server-issued opaque subscription id; pass to `webhooks.unregister`. */
156
+ subscriptionId: string;
157
+ url: string;
158
+ /**
159
+ * The signing secret. **Returned ONCE on registration** — the host
160
+ * cannot recover it later. Store it server-side for HMAC verification.
161
+ */
162
+ secret: string;
163
+ eventTypes: readonly string[];
164
+ createdAt: string;
165
+ }
166
+ export interface PauseRunRequest {
167
+ reason?: string;
168
+ drainPolicy?: 'immediate' | 'drain-current-node';
169
+ }
170
+ export interface PauseRunResponse {
171
+ runId: string;
172
+ status: 'paused';
173
+ pausedAt?: string;
174
+ }
175
+ export interface ResumeRunRequest {
176
+ reason?: string;
177
+ }
178
+ export interface ResumeRunResponse {
179
+ runId: string;
180
+ status: 'running';
181
+ resumedAt?: string;
182
+ }
95
183
  export interface BulkCancelRunsRequest {
96
184
  runIds: readonly string[];
97
185
  reason?: string;
@@ -329,8 +417,82 @@ export interface AgentsCapability {
329
417
  reasoning?: {
330
418
  verbosity: ReasoningVerbosity;
331
419
  tokenLimit?: number;
420
+ /** RFC 0024. When `true`, host MAY emit `agent.reasoning.delta`
421
+ * events incrementally while a reasoning block is still open,
422
+ * in addition to the final `agent.reasoned`. Consumers that
423
+ * only read `agent.reasoned` remain correct (the closing event
424
+ * is authoritative). */
425
+ streaming?: boolean;
332
426
  };
333
427
  }
428
+ /** `agent.reasoned` payload (RFC 0002 §B). Fired once per closed
429
+ * reasoning block. The `reasoning` field is authoritative — when a
430
+ * streaming host also emitted `agent.reasoning.delta` events, this
431
+ * event still carries the complete trace (possibly after host-side
432
+ * truncation under `verbosity: 'summary'`). */
433
+ export interface AgentReasonedPayload {
434
+ agentId: string;
435
+ reasoning: string;
436
+ verbosity?: ReasoningVerbosity;
437
+ [key: string]: unknown;
438
+ }
439
+ /** `agent.reasoning.delta` payload (RFC 0024). Incremental reasoning
440
+ * chunk emitted while a reasoning block is still open. Consumers
441
+ * concatenate `delta` strings in `sequence` order to reconstruct
442
+ * the in-progress trace; the closing `agent.reasoned` event carries
443
+ * the authoritative final content. */
444
+ export interface AgentReasoningDeltaPayload {
445
+ agentId: string;
446
+ delta: string;
447
+ sequence: number;
448
+ verbosity?: ReasoningVerbosity;
449
+ [key: string]: unknown;
450
+ }
451
+ /** `agent.toolCalled` payload (RFC 0002 §B). Pairs with `agent.toolReturned`
452
+ * via shared `callId`; the toolReturned event's `causationId` equals
453
+ * the toolCalled event's `eventId`. */
454
+ export interface AgentToolCalledPayload {
455
+ agentId: string;
456
+ toolName: string;
457
+ callId: string;
458
+ inputs?: unknown;
459
+ [key: string]: unknown;
460
+ }
461
+ /** `agent.toolReturned` payload (RFC 0002 §B). `outcome` and `error`
462
+ * are mutually exclusive: success returns set `outcome`; failures set
463
+ * `error`. Hosts that need stricter validation layer it host-side. */
464
+ export interface AgentToolReturnedPayload {
465
+ agentId: string;
466
+ toolName: string;
467
+ callId: string;
468
+ outcome?: unknown;
469
+ error?: ErrorEnvelope;
470
+ [key: string]: unknown;
471
+ }
472
+ /** `agent.handoff` payload (RFC 0002 §B). Note the distinct field
473
+ * names — `fromAgentId` / `toAgentId`, NOT a single `agentId` like
474
+ * the other agent.* events. */
475
+ export interface AgentHandoffPayload {
476
+ fromAgentId: string;
477
+ toAgentId: string;
478
+ reason?: string;
479
+ [key: string]: unknown;
480
+ }
481
+ /** `agent.decided` payload (RFC 0002 §B). `confidence` in `[0, 1]`
482
+ * drives the low-confidence escalation contract (`node.suspended
483
+ * { reason: 'low-confidence' }`) when below the resolved threshold. */
484
+ export interface AgentDecidedPayload {
485
+ agentId: string;
486
+ decision: unknown;
487
+ confidence?: number;
488
+ [key: string]: unknown;
489
+ }
490
+ /** A `RunEventDoc` narrowed to a specific event-type discriminator +
491
+ * payload shape. Returned by the `isAgent*` type guards in
492
+ * `event-helpers.ts`. */
493
+ export interface TypedRunEvent<T> extends RunEventDoc {
494
+ payload: T;
495
+ }
334
496
  /** Profile identifiers per auth-profiles.md. */
335
497
  export type AuthProfileClaim = 'openwop-audit-log-integrity' | 'openwop-auth-api-key-rotation' | 'openwop-auth-oauth2-client-credentials' | 'openwop-auth-oidc-user-bearer' | 'openwop-auth-mtls' | 'openwop-discovery-auth-scoped' | 'openwop-interrupt-quorum' | 'openwop-interrupt-auth-required' | 'openwop-interrupt-external-event' | 'openwop-interrupt-cascade-cancel' | 'openwop-production';
336
498
  /** Rotation advertisement shape per auth-profiles.md §"openwop-auth-api-key-rotation". */
@@ -343,6 +505,219 @@ export interface DiscoveryAuthScopedCapability {
343
505
  supported: true;
344
506
  mode: 'same-endpoint';
345
507
  }
508
+ /** Wire metadata on every AI Envelope. */
509
+ export interface EnvelopeMeta {
510
+ /** Provenance of this emission. */
511
+ source: 'ai-generation' | 'user' | 'system';
512
+ /** Mirrors `RunEventDoc.contentTrust`. Hosts MUST set 'untrusted' for MCP / A2A origin. */
513
+ contentTrust?: 'trusted' | 'untrusted';
514
+ /** ISO 8601 UTC timestamp. */
515
+ ts: string;
516
+ /** Optional W3C trace-context for distributed tracing. */
517
+ traceparent?: string;
518
+ /** Optional human-readable label for ops dashboards. */
519
+ label?: string;
520
+ }
521
+ /** Chunking info for streamed emissions. (in-flight) */
522
+ export interface PartialInfo {
523
+ isPartial: boolean;
524
+ index: number;
525
+ /** -1 when total is unknown (streaming without precount). */
526
+ total: number;
527
+ }
528
+ /** Canonical inbound LLM-emission wire shape per `spec/v1/ai-envelope.md`. */
529
+ export interface AIEnvelope<TPayload = unknown> {
530
+ /** Discriminator for payload shape, kind routing, and Envelope Contract gate. */
531
+ type: string;
532
+ /** Per-kind schema version. Absent → treat as 0. */
533
+ schemaVersion?: number;
534
+ /** Globally unique envelope id. Engine-assigned if absent on receipt. */
535
+ envelopeId: string;
536
+ /** Caller-stable id for dedup, replay short-circuit, and causal chaining. */
537
+ correlationId: string;
538
+ /** Set when the emitting node is identifiable. */
539
+ nodeId?: string;
540
+ /** Discriminated payload. Shape selected by `type`. */
541
+ payload: TPayload;
542
+ /** Wire metadata. */
543
+ meta: EnvelopeMeta;
544
+ /** Present when this is one fragment of a streamed emission. */
545
+ partial?: PartialInfo;
546
+ }
547
+ /** Per-typeId envelope-kind permission set per `ai-envelope.md` §"Envelope Contract". */
548
+ export interface EnvelopeContract {
549
+ /** Kinds the engine will accept from this node. */
550
+ accepts: string[];
551
+ /** Refusal behavior for non-`accepts`, non-universal kinds. */
552
+ refusalMode: 'fail-node' | 'discard-and-warn';
553
+ }
554
+ /** Returned by the engine's `acceptEnvelope` path. */
555
+ export type EnvelopeOutcome = {
556
+ status: 'accepted';
557
+ recordedEventIds: string[];
558
+ } | {
559
+ status: 'gated';
560
+ reason: string;
561
+ gate: EnvelopeContractRefusal;
562
+ } | {
563
+ status: 'invalid';
564
+ reason: string;
565
+ details: ValidationDetail[];
566
+ } | {
567
+ status: 'breached';
568
+ reason: string;
569
+ capKind: 'envelopes' | 'schema' | 'clarification';
570
+ };
571
+ export interface EnvelopeContractRefusal {
572
+ refusedType: string;
573
+ acceptedTypes: string[];
574
+ refusalMode: 'fail-node' | 'discard-and-warn';
575
+ }
576
+ export interface ValidationDetail {
577
+ path: string;
578
+ message: string;
579
+ }
580
+ /** Optional capability advertisement. Default when absent: 'warn'. */
581
+ export type EnvelopeStrictness = 'warn' | 'strict';
582
+ /** Optional capability advertisement per `ai-envelope.md` §"Capability handshake integration". */
583
+ export interface EnvelopeContractsCapability {
584
+ advertised: boolean;
585
+ }
586
+ /** Payload of the universal `clarification.request` envelope kind. */
587
+ export interface ClarificationRequestPayload {
588
+ questions: Array<{
589
+ id: string;
590
+ question: string;
591
+ schema?: Record<string, unknown>;
592
+ }>;
593
+ contextType?: string;
594
+ }
595
+ /** Payload of the universal `schema.request` envelope kind. */
596
+ export interface SchemaRequestPayload {
597
+ envelopeType: string;
598
+ reason?: string;
599
+ }
600
+ /** Payload of the universal `schema.response` envelope kind (LLM ack). */
601
+ export interface SchemaResponsePayload {
602
+ envelopeType: string;
603
+ ack: true;
604
+ }
605
+ /**
606
+ * Payload of the universal `error` envelope kind (the LLM's deliberate error
607
+ * report). Distinct from `ErrorEnvelope` (the host's HTTP error response).
608
+ */
609
+ export interface AIEnvelopeErrorPayload {
610
+ code: string;
611
+ message: string;
612
+ details?: Record<string, unknown>;
613
+ }
614
+ /**
615
+ * Role a PromptTemplate plays when composed into an LLM call. Shared enum
616
+ * `$ref`-ed by every schema that names a prompt kind. Per
617
+ * `schemas/prompt-kind.schema.json`.
618
+ */
619
+ export type PromptKind = 'system' | 'user' | 'few-shot' | 'schema-hint';
620
+ /**
621
+ * Typed interpolation slot in a PromptTemplate. Bindings are validated
622
+ * against this declaration before composition. Per
623
+ * `schemas/prompt-template.schema.json#/$defs/PromptVariable`.
624
+ */
625
+ export interface PromptVariable {
626
+ name: string;
627
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
628
+ required: boolean;
629
+ source?: 'input' | 'variable' | 'secret' | 'context';
630
+ extractPath?: string;
631
+ defaultValue?: unknown;
632
+ description?: string;
633
+ }
634
+ /**
635
+ * Named, versioned, variable-bound prompt body. Per
636
+ * `schemas/prompt-template.schema.json` + spec/v1/prompts.md §PromptTemplate.
637
+ *
638
+ * `meta.packName` + `meta.packVersion` are required when `meta.source: "pack"`
639
+ * (RFC 0028 §C); a JSON-Schema `if/then` conditional enforces this at the
640
+ * wire layer.
641
+ */
642
+ export interface PromptTemplate {
643
+ templateId: string;
644
+ version: string;
645
+ kind: PromptKind;
646
+ text: string;
647
+ name?: string;
648
+ description?: string;
649
+ variables?: PromptVariable[];
650
+ modelHints?: {
651
+ modelClass?: string;
652
+ temperature?: number;
653
+ maxTokens?: number;
654
+ envelopeType?: string;
655
+ };
656
+ tags?: string[];
657
+ meta?: {
658
+ author?: string;
659
+ createdAt?: string;
660
+ updatedAt?: string;
661
+ source?: 'host' | 'pack' | 'user';
662
+ packName?: string;
663
+ packVersion?: string;
664
+ };
665
+ }
666
+ /**
667
+ * Reference to a PromptTemplate. Two equivalent forms — the stringy URI
668
+ * `prompt:<templateId>[@<version>]` and the structured object — per
669
+ * `schemas/prompt-ref.schema.json`. The stringy form is canonical for
670
+ * inline use; the object form is canonical when `libraryId` disambiguation
671
+ * or per-reference `variableOverrides` are needed.
672
+ */
673
+ export type PromptRef = string | {
674
+ libraryId?: string;
675
+ templateId: string;
676
+ version?: string;
677
+ variableOverrides?: Record<string, unknown>;
678
+ };
679
+ /** Filter set for `client.prompts.list(...)` per RFC 0028 §A. */
680
+ export interface ListPromptsRequest {
681
+ kind?: PromptKind;
682
+ tag?: string;
683
+ modelClass?: string;
684
+ source?: 'host' | 'pack' | 'user';
685
+ cursor?: string;
686
+ limit?: number;
687
+ }
688
+ export interface ListPromptsResponse {
689
+ items: PromptTemplate[];
690
+ nextCursor?: string;
691
+ }
692
+ /** Identifier set for `client.prompts.get(...)` per RFC 0028 §A. */
693
+ export interface GetPromptRequest {
694
+ templateId: string;
695
+ /** Pin to a SemVer version. When omitted, returns the latest. */
696
+ version?: string;
697
+ /** Disambiguate when multiple installed packs ship the same templateId. */
698
+ libraryId?: string;
699
+ }
700
+ /** Request shape for `client.prompts.render(...)` per RFC 0028 §A. */
701
+ export interface RenderPromptRequest {
702
+ ref: PromptRef;
703
+ variables: Record<string, unknown>;
704
+ /**
705
+ * Aggregate trust marker for the supplied bindings; propagated through
706
+ * composition per RFC 0027 §E. Defaults to `trusted` when omitted.
707
+ */
708
+ contentTrust?: 'trusted' | 'untrusted';
709
+ }
710
+ /** Response shape for `client.prompts.render(...)`. The `hash` and
711
+ * `variableHashes` are always present; `composed` populates only under
712
+ * `capabilities.prompts.observability: "full"`. Same deterministic-hash
713
+ * invariant as `prompt.composed` events (RFC 0027 §F). */
714
+ export interface RenderPromptResponse {
715
+ hash: string;
716
+ refs: string[];
717
+ variableHashes: Record<string, string>;
718
+ composed?: string;
719
+ contentTrust?: 'trusted' | 'untrusted';
720
+ }
346
721
  /**
347
722
  * Thrown when the server returns a non-2xx response. Carries the original
348
723
  * status, parsed error envelope (if available), the raw response text,
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA0ZH;;;;;;;GAOG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,MAAM,CAAS;IACf,QAAQ,CAA4B;IACpC,OAAO,CAAS;IACzB,iEAAiE;IACxD,WAAW,CAAqB;IACzC,yEAAyE;IAChE,OAAO,CAAqB;IAErC,YACE,MAAc,EACd,OAAe,EACf,QAAmC,EACnC,WAA+B;QAE/B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,WAAW,GAAG,QAAQ,EAAE,OAAO,IAAI,gCAAgC,MAAM,EAAE,CAAC;QAClF,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,WAAW,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;QACrF,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,WAAmB;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAk0BH;;;;;;;GAOG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACxB,MAAM,CAAS;IACf,QAAQ,CAA4B;IACpC,OAAO,CAAS;IACzB,iEAAiE;IACxD,WAAW,CAAqB;IACzC,yEAAyE;IAChE,OAAO,CAAqB;IAErC,YACE,MAAc,EACd,OAAe,EACf,QAAmC,EACnC,WAA+B;QAE/B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,WAAW,GAAG,QAAQ,EAAE,OAAO,IAAI,gCAAgC,MAAM,EAAE,CAAC;QAClF,MAAM,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW,WAAW,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;QACrF,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,WAAmB;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACnE,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Webhook delivery-verification helpers per `spec/v1/webhooks.md`
3
+ * §"Signature recipe". Receivers MUST verify both the HMAC AND the
4
+ * timestamp freshness before accepting a delivery — verifying HMAC
5
+ * alone leaves the receiver open to replay attacks.
6
+ *
7
+ * The canonical signing recipe:
8
+ *
9
+ * hmac = HMAC-SHA256(secret, `${timestamp}.${rawBody}`)
10
+ * header `openwop-Webhook-Signature: v1=<hmac-hex>`
11
+ * header `openwop-Webhook-Timestamp: <unix-seconds>`
12
+ *
13
+ * Verification:
14
+ *
15
+ * 1. Parse the `v1=<hex>` value from the signature header.
16
+ * 2. Recompute `expected = HMAC-SHA256(secret, `${timestamp}.${rawBody}`)`.
17
+ * 3. Compare using **constant-time** equality (timing-safe).
18
+ * 4. Reject when `|now - timestamp|` exceeds the freshness window
19
+ * (default 5 minutes per `webhooks.md`'s recommendation).
20
+ *
21
+ * Implementation note: this helper uses `node:crypto`'s `timingSafeEqual`
22
+ * for the comparison. The browser-side equivalent (Web Crypto's
23
+ * `subtle.verify`) is not wrapped here — the SDK's runtime is Node.
24
+ *
25
+ * @module @openwop/openwop/webhook-helpers
26
+ */
27
+ /** Default freshness window per `spec/v1/webhooks.md` §"Replay attack resistance". */
28
+ export declare const DEFAULT_WEBHOOK_FRESHNESS_WINDOW_SECONDS = 300;
29
+ export interface VerifyWebhookSignatureOptions {
30
+ /**
31
+ * Maximum age in seconds for the delivery timestamp before it's
32
+ * treated as a replay. Default 300 (5 minutes) per the spec.
33
+ * Set to 0 to disable timestamp checks (NOT recommended).
34
+ */
35
+ freshnessWindowSeconds?: number;
36
+ /**
37
+ * Override the "now" timestamp in unix seconds. Useful for testing.
38
+ * Default `Math.floor(Date.now() / 1000)`.
39
+ */
40
+ nowSeconds?: number;
41
+ }
42
+ export type VerifyWebhookOutcome = {
43
+ valid: true;
44
+ } | {
45
+ valid: false;
46
+ reason: 'signature_mismatch' | 'timestamp_expired' | 'timestamp_too_far_in_future' | 'malformed_signature_header' | 'malformed_timestamp_header';
47
+ };
48
+ /**
49
+ * Verify a webhook delivery per `spec/v1/webhooks.md` §"Signature
50
+ * recipe". Returns `{ valid: true }` on success; otherwise
51
+ * `{ valid: false, reason }` so callers can log + alert appropriately.
52
+ *
53
+ * Callers MUST pass the **raw** body bytes — JSON-parsed-then-
54
+ * re-serialized bodies will fail verification because the host
55
+ * signs the exact bytes it delivered.
56
+ *
57
+ * @param secret The pre-shared secret returned from `webhooks.register`.
58
+ * @param signatureHeader The value of the `openwop-Webhook-Signature` header (e.g., `"v1=abc123…"`).
59
+ * @param timestampHeader The value of the `openwop-Webhook-Timestamp` header (unix seconds as string).
60
+ * @param rawBody The exact request body bytes the host POSTed.
61
+ */
62
+ export declare function verifyWebhookSignature(secret: string, signatureHeader: string, timestampHeader: string, rawBody: string | Buffer, options?: VerifyWebhookSignatureOptions): VerifyWebhookOutcome;
63
+ /**
64
+ * Compute the canonical webhook signature for a payload — useful when
65
+ * implementing a host (forward direction) OR when generating test
66
+ * fixtures. Receivers verify via `verifyWebhookSignature`; this is the
67
+ * inverse.
68
+ */
69
+ export declare function signWebhookDelivery(secret: string, timestamp: number, rawBody: string | Buffer): {
70
+ signatureHeader: string;
71
+ timestampHeader: string;
72
+ };
73
+ //# sourceMappingURL=webhook-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-helpers.d.ts","sourceRoot":"","sources":["../src/webhook-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,sFAAsF;AACtF,eAAO,MAAM,wCAAwC,MAAM,CAAC;AAE5D,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GACf;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,oBAAoB,GAAG,mBAAmB,GAAG,6BAA6B,GAAG,4BAA4B,GAAG,4BAA4B,CAAA;CAAE,CAAC;AAEvK;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,OAAO,GAAE,6BAAkC,GAC1C,oBAAoB,CAyCtB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAOtD"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Webhook delivery-verification helpers per `spec/v1/webhooks.md`
3
+ * §"Signature recipe". Receivers MUST verify both the HMAC AND the
4
+ * timestamp freshness before accepting a delivery — verifying HMAC
5
+ * alone leaves the receiver open to replay attacks.
6
+ *
7
+ * The canonical signing recipe:
8
+ *
9
+ * hmac = HMAC-SHA256(secret, `${timestamp}.${rawBody}`)
10
+ * header `openwop-Webhook-Signature: v1=<hmac-hex>`
11
+ * header `openwop-Webhook-Timestamp: <unix-seconds>`
12
+ *
13
+ * Verification:
14
+ *
15
+ * 1. Parse the `v1=<hex>` value from the signature header.
16
+ * 2. Recompute `expected = HMAC-SHA256(secret, `${timestamp}.${rawBody}`)`.
17
+ * 3. Compare using **constant-time** equality (timing-safe).
18
+ * 4. Reject when `|now - timestamp|` exceeds the freshness window
19
+ * (default 5 minutes per `webhooks.md`'s recommendation).
20
+ *
21
+ * Implementation note: this helper uses `node:crypto`'s `timingSafeEqual`
22
+ * for the comparison. The browser-side equivalent (Web Crypto's
23
+ * `subtle.verify`) is not wrapped here — the SDK's runtime is Node.
24
+ *
25
+ * @module @openwop/openwop/webhook-helpers
26
+ */
27
+ import { createHmac, timingSafeEqual } from 'node:crypto';
28
+ /** Default freshness window per `spec/v1/webhooks.md` §"Replay attack resistance". */
29
+ export const DEFAULT_WEBHOOK_FRESHNESS_WINDOW_SECONDS = 300;
30
+ /**
31
+ * Verify a webhook delivery per `spec/v1/webhooks.md` §"Signature
32
+ * recipe". Returns `{ valid: true }` on success; otherwise
33
+ * `{ valid: false, reason }` so callers can log + alert appropriately.
34
+ *
35
+ * Callers MUST pass the **raw** body bytes — JSON-parsed-then-
36
+ * re-serialized bodies will fail verification because the host
37
+ * signs the exact bytes it delivered.
38
+ *
39
+ * @param secret The pre-shared secret returned from `webhooks.register`.
40
+ * @param signatureHeader The value of the `openwop-Webhook-Signature` header (e.g., `"v1=abc123…"`).
41
+ * @param timestampHeader The value of the `openwop-Webhook-Timestamp` header (unix seconds as string).
42
+ * @param rawBody The exact request body bytes the host POSTed.
43
+ */
44
+ export function verifyWebhookSignature(secret, signatureHeader, timestampHeader, rawBody, options = {}) {
45
+ // 1. Parse the signature header.
46
+ if (!signatureHeader.startsWith('v1=')) {
47
+ return { valid: false, reason: 'malformed_signature_header' };
48
+ }
49
+ const providedHex = signatureHeader.slice(3);
50
+ if (!/^[0-9a-f]+$/i.test(providedHex)) {
51
+ return { valid: false, reason: 'malformed_signature_header' };
52
+ }
53
+ // 2. Parse the timestamp.
54
+ const timestamp = Number(timestampHeader);
55
+ if (!Number.isInteger(timestamp) || timestamp <= 0) {
56
+ return { valid: false, reason: 'malformed_timestamp_header' };
57
+ }
58
+ // 3. Freshness check.
59
+ const window = options.freshnessWindowSeconds ?? DEFAULT_WEBHOOK_FRESHNESS_WINDOW_SECONDS;
60
+ if (window > 0) {
61
+ const now = options.nowSeconds ?? Math.floor(Date.now() / 1000);
62
+ const delta = now - timestamp;
63
+ if (delta > window)
64
+ return { valid: false, reason: 'timestamp_expired' };
65
+ // Allow small future skew (within the window) but reject far-future timestamps.
66
+ if (delta < -window)
67
+ return { valid: false, reason: 'timestamp_too_far_in_future' };
68
+ }
69
+ // 4. Recompute + constant-time compare.
70
+ const bodyStr = typeof rawBody === 'string' ? rawBody : rawBody.toString('utf8');
71
+ const signedBytes = `${timestamp}.${bodyStr}`;
72
+ const expectedHex = createHmac('sha256', secret).update(signedBytes, 'utf8').digest('hex');
73
+ const providedBuf = Buffer.from(providedHex, 'hex');
74
+ const expectedBuf = Buffer.from(expectedHex, 'hex');
75
+ if (providedBuf.length !== expectedBuf.length) {
76
+ return { valid: false, reason: 'signature_mismatch' };
77
+ }
78
+ if (!timingSafeEqual(providedBuf, expectedBuf)) {
79
+ return { valid: false, reason: 'signature_mismatch' };
80
+ }
81
+ return { valid: true };
82
+ }
83
+ /**
84
+ * Compute the canonical webhook signature for a payload — useful when
85
+ * implementing a host (forward direction) OR when generating test
86
+ * fixtures. Receivers verify via `verifyWebhookSignature`; this is the
87
+ * inverse.
88
+ */
89
+ export function signWebhookDelivery(secret, timestamp, rawBody) {
90
+ const bodyStr = typeof rawBody === 'string' ? rawBody : rawBody.toString('utf8');
91
+ const hex = createHmac('sha256', secret).update(`${timestamp}.${bodyStr}`, 'utf8').digest('hex');
92
+ return {
93
+ signatureHeader: `v1=${hex}`,
94
+ timestampHeader: String(timestamp),
95
+ };
96
+ }
97
+ //# sourceMappingURL=webhook-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-helpers.js","sourceRoot":"","sources":["../src/webhook-helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openwop/openwop",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Production-ready TypeScript reference SDK for OpenWOP v1.0 compliant servers.",
5
5
  "repository": {
6
6
  "type": "git",