@glubean/sdk 0.5.1 → 0.8.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/contract-artifacts.d.ts +39 -21
- package/dist/contract-artifacts.d.ts.map +1 -1
- package/dist/contract-artifacts.js +80 -24
- package/dist/contract-artifacts.js.map +1 -1
- package/dist/contract-core.d.ts +10 -21
- package/dist/contract-core.d.ts.map +1 -1
- package/dist/contract-core.js +26 -812
- package/dist/contract-core.js.map +1 -1
- package/dist/contract-http/adapter.d.ts +13 -0
- package/dist/contract-http/adapter.d.ts.map +1 -1
- package/dist/contract-http/adapter.js +191 -23
- package/dist/contract-http/adapter.js.map +1 -1
- package/dist/contract-http/factory.d.ts +2 -2
- package/dist/contract-http/factory.d.ts.map +1 -1
- package/dist/contract-http/factory.js +5 -0
- package/dist/contract-http/factory.js.map +1 -1
- package/dist/contract-http/inbound-match.d.ts +47 -0
- package/dist/contract-http/inbound-match.d.ts.map +1 -0
- package/dist/contract-http/inbound-match.js +136 -0
- package/dist/contract-http/inbound-match.js.map +1 -0
- package/dist/contract-http/inbound-verify.d.ts +46 -0
- package/dist/contract-http/inbound-verify.d.ts.map +1 -0
- package/dist/contract-http/inbound-verify.js +101 -0
- package/dist/contract-http/inbound-verify.js.map +1 -0
- package/dist/contract-http/inbound.d.ts +45 -0
- package/dist/contract-http/inbound.d.ts.map +1 -0
- package/dist/contract-http/inbound.js +89 -0
- package/dist/contract-http/inbound.js.map +1 -0
- package/dist/contract-http/index.d.ts +5 -0
- package/dist/contract-http/index.d.ts.map +1 -1
- package/dist/contract-http/index.js +3 -0
- package/dist/contract-http/index.js.map +1 -1
- package/dist/contract-http/openapi.d.ts +0 -7
- package/dist/contract-http/openapi.d.ts.map +1 -1
- package/dist/contract-http/openapi.js +20 -14
- package/dist/contract-http/openapi.js.map +1 -1
- package/dist/contract-http/types.d.ts +106 -2
- package/dist/contract-http/types.d.ts.map +1 -1
- package/dist/contract-http/types.js +33 -0
- package/dist/contract-http/types.js.map +1 -1
- package/dist/contract-types.d.ts +148 -446
- package/dist/contract-types.d.ts.map +1 -1
- package/dist/data-path.d.ts.map +1 -1
- package/dist/data-path.js +10 -2
- package/dist/data-path.js.map +1 -1
- package/dist/index.d.ts +10 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +7 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +14 -0
- package/dist/internal.js.map +1 -1
- package/dist/load/artifact.d.ts +376 -0
- package/dist/load/artifact.d.ts.map +1 -0
- package/dist/load/artifact.js +14 -0
- package/dist/load/artifact.js.map +1 -0
- package/dist/load/builder.d.ts +80 -0
- package/dist/load/builder.d.ts.map +1 -0
- package/dist/load/builder.js +262 -0
- package/dist/load/builder.js.map +1 -0
- package/dist/load/context.d.ts +81 -0
- package/dist/load/context.d.ts.map +1 -0
- package/dist/load/context.js +2 -0
- package/dist/load/context.js.map +1 -0
- package/dist/load/duration.d.ts +9 -0
- package/dist/load/duration.d.ts.map +1 -0
- package/dist/load/duration.js +22 -0
- package/dist/load/duration.js.map +1 -0
- package/dist/load/events.d.ts +132 -0
- package/dist/load/events.d.ts.map +1 -0
- package/dist/load/events.js +2 -0
- package/dist/load/events.js.map +1 -0
- package/dist/load/feeder.d.ts +118 -0
- package/dist/load/feeder.d.ts.map +1 -0
- package/dist/load/feeder.js +170 -0
- package/dist/load/feeder.js.map +1 -0
- package/dist/load/index.d.ts +32 -0
- package/dist/load/index.d.ts.map +1 -0
- package/dist/load/index.js +7 -0
- package/dist/load/index.js.map +1 -0
- package/dist/load/progress.d.ts +56 -0
- package/dist/load/progress.d.ts.map +1 -0
- package/dist/load/progress.js +2 -0
- package/dist/load/progress.js.map +1 -0
- package/dist/load/projection.d.ts +36 -0
- package/dist/load/projection.d.ts.map +1 -0
- package/dist/load/projection.js +47 -0
- package/dist/load/projection.js.map +1 -0
- package/dist/load/runner.d.ts +201 -0
- package/dist/load/runner.d.ts.map +1 -0
- package/dist/load/runner.js +78 -0
- package/dist/load/runner.js.map +1 -0
- package/dist/load/scenario.d.ts +130 -0
- package/dist/load/scenario.d.ts.map +1 -0
- package/dist/load/scenario.js +9 -0
- package/dist/load/scenario.js.map +1 -0
- package/dist/load/step.d.ts +42 -0
- package/dist/load/step.d.ts.map +1 -0
- package/dist/load/step.js +2 -0
- package/dist/load/step.js.map +1 -0
- package/dist/{contract-flow-poll.d.ts → poll-primitives.d.ts} +8 -81
- package/dist/poll-primitives.d.ts.map +1 -0
- package/dist/{contract-flow-poll.js → poll-primitives.js} +10 -64
- package/dist/poll-primitives.js.map +1 -0
- package/dist/{contract-flow-condition.d.ts → predicates.d.ts} +34 -71
- package/dist/predicates.d.ts.map +1 -0
- package/dist/{contract-flow-condition.js → predicates.js} +86 -80
- package/dist/predicates.js.map +1 -0
- package/dist/test/builder.js +2 -2
- package/dist/test/builder.js.map +1 -1
- package/dist/test/utils.d.ts +7 -0
- package/dist/test/utils.d.ts.map +1 -1
- package/dist/test/utils.js +22 -17
- package/dist/test/utils.js.map +1 -1
- package/dist/types.d.ts +42 -14
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/workflow/builder.d.ts +386 -0
- package/dist/workflow/builder.d.ts.map +1 -0
- package/dist/workflow/builder.js +1150 -0
- package/dist/workflow/builder.js.map +1 -0
- package/dist/workflow/execute.d.ts +277 -0
- package/dist/workflow/execute.d.ts.map +1 -0
- package/dist/workflow/execute.js +1489 -0
- package/dist/workflow/execute.js.map +1 -0
- package/dist/workflow/index.d.ts +11 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +15 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/project.d.ts +18 -0
- package/dist/workflow/project.d.ts.map +1 -0
- package/dist/workflow/project.js +321 -0
- package/dist/workflow/project.js.map +1 -0
- package/dist/workflow/retry.d.ts +13 -0
- package/dist/workflow/retry.d.ts.map +1 -0
- package/dist/workflow/retry.js +15 -0
- package/dist/workflow/retry.js.map +1 -0
- package/dist/workflow/types.d.ts +512 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/types.js +2 -0
- package/dist/workflow/types.js.map +1 -0
- package/package.json +9 -2
- package/dist/contract-flow-condition.d.ts.map +0 -1
- package/dist/contract-flow-condition.js.map +0 -1
- package/dist/contract-flow-poll.d.ts.map +0 -1
- package/dist/contract-flow-poll.js.map +0 -1
- package/dist/contract-http/flow-helpers.d.ts +0 -12
- package/dist/contract-http/flow-helpers.d.ts.map +0 -1
- package/dist/contract-http/flow-helpers.js +0 -34
- package/dist/contract-http/flow-helpers.js.map +0 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inbound HTTP — receiver protocol + a zero-dependency local inbox.
|
|
3
|
+
*
|
|
4
|
+
* Design: internal/40-discovery/proposals/inbound-contract-design.md §9
|
|
5
|
+
* (Candidate 1 + hybrid, owner-decided 2026-06-12). An inbound contract case
|
|
6
|
+
* declares the PROMISE ("the counterparty will POST shape S, signed");
|
|
7
|
+
* a receiver supplies the TRANSPORT. The two are deliberately decoupled:
|
|
8
|
+
* the SDK defines the interface here, libraries/user code implement it
|
|
9
|
+
* (plain functions — the extend-removal rule: tools come in via imports,
|
|
10
|
+
* never via a fixtures mechanism).
|
|
11
|
+
*/
|
|
12
|
+
import { createServer } from "node:http";
|
|
13
|
+
/**
|
|
14
|
+
* Zero-dependency local inbox: an ephemeral HTTP server recording every
|
|
15
|
+
* request as an {@link InboundDelivery}. This is the dev/CI receiver for
|
|
16
|
+
* counterparties that can reach the test host directly; tunnel transports
|
|
17
|
+
* (smee.io etc.) are user-side compositions — start the tunnel pointing at
|
|
18
|
+
* `inbox.url` and hand the same handle (or a `scope()` of it) to the
|
|
19
|
+
* workflow.
|
|
20
|
+
*/
|
|
21
|
+
export async function createLocalInbox(options) {
|
|
22
|
+
const unclaimed = [];
|
|
23
|
+
const claimed = new Set();
|
|
24
|
+
let seq = 0;
|
|
25
|
+
const server = createServer((req, res) => {
|
|
26
|
+
// Collect raw Buffer chunks and concatenate ONCE: per-chunk string
|
|
27
|
+
// coercion would decode each chunk separately, corrupting multi-byte
|
|
28
|
+
// UTF-8 sequences split across TCP chunks — and the body is the HMAC
|
|
29
|
+
// input (codex I1-R1 P2).
|
|
30
|
+
const chunks = [];
|
|
31
|
+
req.on("data", (chunk) => {
|
|
32
|
+
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
33
|
+
});
|
|
34
|
+
req.on("end", () => {
|
|
35
|
+
const bodyBytes = Buffer.concat(chunks);
|
|
36
|
+
const url = new URL(req.url ?? "/", "http://localhost");
|
|
37
|
+
const headers = {};
|
|
38
|
+
for (const [k, v] of Object.entries(req.headers)) {
|
|
39
|
+
if (typeof v === "string")
|
|
40
|
+
headers[k] = v;
|
|
41
|
+
else if (Array.isArray(v))
|
|
42
|
+
headers[k] = v.join(", ");
|
|
43
|
+
}
|
|
44
|
+
seq += 1;
|
|
45
|
+
unclaimed.push({
|
|
46
|
+
id: `d-${seq}`,
|
|
47
|
+
bodyBytes: new Uint8Array(bodyBytes),
|
|
48
|
+
rawBody: bodyBytes.toString("utf8"),
|
|
49
|
+
headers,
|
|
50
|
+
method: req.method ?? "GET",
|
|
51
|
+
path: url.pathname,
|
|
52
|
+
receivedAt: Date.now(),
|
|
53
|
+
});
|
|
54
|
+
res.statusCode = 200;
|
|
55
|
+
res.end("ok");
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
const host = options?.host ?? "127.0.0.1";
|
|
59
|
+
await new Promise((resolve, reject) => {
|
|
60
|
+
server.once("error", reject);
|
|
61
|
+
server.listen(options?.port ?? 0, host, () => resolve());
|
|
62
|
+
});
|
|
63
|
+
const address = server.address();
|
|
64
|
+
const port = typeof address === "object" && address !== null ? address.port : 0;
|
|
65
|
+
const live = () => unclaimed.filter((d) => !claimed.has(d.id));
|
|
66
|
+
const claim = (id) => {
|
|
67
|
+
claimed.add(id);
|
|
68
|
+
};
|
|
69
|
+
// Idempotent: server.close() rejects with ERR_SERVER_NOT_RUNNING when
|
|
70
|
+
// called twice, and scoped handles share this one server.
|
|
71
|
+
let closing;
|
|
72
|
+
const close = () => (closing ??= new Promise((resolve, reject) => {
|
|
73
|
+
server.close((err) => (err ? reject(err) : resolve()));
|
|
74
|
+
}));
|
|
75
|
+
const rootUrl = `http://${host}:${port}`;
|
|
76
|
+
return {
|
|
77
|
+
deliveries: live,
|
|
78
|
+
claim,
|
|
79
|
+
url: rootUrl,
|
|
80
|
+
close,
|
|
81
|
+
scope: (path) => ({
|
|
82
|
+
deliveries: () => live().filter((d) => d.path === path),
|
|
83
|
+
claim,
|
|
84
|
+
url: `${rootUrl}${path}`,
|
|
85
|
+
close,
|
|
86
|
+
}),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=inbound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../src/contract-http/inbound.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAe,MAAM,WAAW,CAAC;AAyBtD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAOtC;IACC,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,MAAM,MAAM,GAAW,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/C,mEAAmE;QACnE,qEAAqE;QACrE,qEAAqE;QACrE,0BAA0B;QAC1B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;YACxD,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;qBACrC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;YACD,GAAG,IAAI,CAAC,CAAC;YACT,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE,EAAE,KAAK,GAAG,EAAE;gBACd,SAAS,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC;gBACpC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACnC,OAAO;gBACP,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,KAAK;gBAC3B,IAAI,EAAE,GAAG,CAAC,QAAQ;gBAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;aACvB,CAAC,CAAC;YACH,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,WAAW,CAAC;IAC1C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,sEAAsE;IACtE,0DAA0D;IAC1D,IAAI,OAAkC,CAAC;IACvC,MAAM,KAAK,GAAG,GAAG,EAAE,CACjB,CAAC,OAAO,KAAK,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACjD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,OAAO,GAAG,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC;IAEzC,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,KAAK;QACL,GAAG,EAAE,OAAO;QACZ,KAAK;QACL,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC;YACxB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;YACvD,KAAK;YACL,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,EAAE;YACxB,KAAK;SACN,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -11,6 +11,11 @@
|
|
|
11
11
|
* `import "@glubean/grpc"` wires `contract.register("grpc", grpcAdapter)`.
|
|
12
12
|
*/
|
|
13
13
|
export { httpAdapter } from "./adapter.js";
|
|
14
|
+
export { createLocalInbox } from "./inbound.js";
|
|
15
|
+
export type { InboundDelivery, LocalInbox, ReceiverHandle } from "./inbound.js";
|
|
16
|
+
export { inboundCase, isInboundCase } from "./types.js";
|
|
17
|
+
export { getSignatureVerifier, registerSignatureVerifier, STRIPE_V1_DEFAULT_TOLERANCE_MS, } from "./inbound-verify.js";
|
|
18
|
+
export type { SignatureVerifier, SignatureVerifyInput, SignatureVerifyResult, } from "./inbound-verify.js";
|
|
14
19
|
export { createHttpFactory, createHttpRoot } from "./factory.js";
|
|
15
20
|
export { defineHttpCase } from "./types.js";
|
|
16
21
|
export type { HttpContractSpec, HttpContractDefaults, HttpSecurityScheme, HttpContractRoot, HttpContractFactory, ContractCase, ContractExpect, ContractExample, NormalizedHeaders, ParamValue, RequestSpec, HttpPayloadSchemas, HttpSafeSchemas, HttpContractMeta, HttpParamSchema, HttpParamMeta, HttpFlowCaseOutput, InferHttpInputs, InferHttpOutput, } from "./types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract-http/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,YAAY,EAEV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,WAAW,EAEX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract-http/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,YAAY,EAEV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,WAAW,EAEX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC"}
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
* `import "@glubean/grpc"` wires `contract.register("grpc", grpcAdapter)`.
|
|
12
12
|
*/
|
|
13
13
|
export { httpAdapter } from "./adapter.js";
|
|
14
|
+
export { createLocalInbox } from "./inbound.js";
|
|
15
|
+
export { inboundCase, isInboundCase } from "./types.js";
|
|
16
|
+
export { getSignatureVerifier, registerSignatureVerifier, STRIPE_V1_DEFAULT_TOLERANCE_MS, } from "./inbound-verify.js";
|
|
14
17
|
export { createHttpFactory, createHttpRoot } from "./factory.js";
|
|
15
18
|
export { defineHttpCase } from "./types.js";
|
|
16
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contract-http/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contract-http/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -54,11 +54,4 @@ export declare function buildOpenApiPartForHttp(projection: ExtractedContractPro
|
|
|
54
54
|
* reaching here.
|
|
55
55
|
*/
|
|
56
56
|
export declare function mergeOpenApiParts(parts: OpenApiDocument[], options?: OpenApiOptions): OpenApiDocument;
|
|
57
|
-
/**
|
|
58
|
-
* Empty OpenAPI 3.1 skeleton returned when no HTTP contract contributes a
|
|
59
|
-
* part (e.g. a project with only gRPC / GraphQL contracts, or an empty
|
|
60
|
-
* project). Used as `openapiArtifact.empty` so callers always receive a
|
|
61
|
-
* valid `OpenApiDocument`.
|
|
62
|
-
*/
|
|
63
|
-
export declare const emptyOpenApiDocument: OpenApiDocument;
|
|
64
57
|
//# sourceMappingURL=openapi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/contract-http/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMpE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/contract-http/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMpE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AA6MD;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,2BAA2B,CAAC,eAAe,EAAE,gBAAgB,CAAC,GACzE,eAAe,GAAG,IAAI,CAkTxB;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EAAE,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,eAAe,CA8DjB"}
|
|
@@ -110,12 +110,24 @@ export function buildOpenApiPartForHttp(projection) {
|
|
|
110
110
|
let apiPath = match[2];
|
|
111
111
|
// Convert :param to {param} for OpenAPI
|
|
112
112
|
apiPath = apiPath.replace(/:(\w+)/g, "{$1}");
|
|
113
|
+
// Inbound cases (direction: "inbound", inbound-contract-design §9.2) have
|
|
114
|
+
// no response of ours to document — running them through the response
|
|
115
|
+
// merge below would fabricate a dummy 200 (codex I2 R1 P2). They are
|
|
116
|
+
// excluded from responses/params and surfaced via x-glubean-cases; full
|
|
117
|
+
// inbound rendering (OpenAPI 3.1 `webhooks` / AsyncAPI) is slice I4.
|
|
118
|
+
const outboundCases = c.cases.filter((cas) => cas.direction !== "inbound");
|
|
119
|
+
// An inbound-only contract has NO callable operation — emitting a path
|
|
120
|
+
// with empty/fabricated responses misdocuments it. Null parts are
|
|
121
|
+
// filtered by the render pipeline; the contract stays visible in
|
|
122
|
+
// markdown/metadata until I4 gives it a real artifact.
|
|
123
|
+
if (outboundCases.length === 0)
|
|
124
|
+
return null;
|
|
113
125
|
// Dual-shape field reads (nested v0.2+ / flat pre-v0.2 fixtures)
|
|
114
126
|
const fields = readContractFields(c);
|
|
115
127
|
// Collect security scheme
|
|
116
128
|
const secMapping = securityToOpenApi(fields.security, c.instanceName);
|
|
117
129
|
const responses = {};
|
|
118
|
-
for (const cas of
|
|
130
|
+
for (const cas of outboundCases) {
|
|
119
131
|
const casFields = readCaseFields(cas);
|
|
120
132
|
const statusCode = String(casFields.status ?? 200);
|
|
121
133
|
const contentType = casFields.responseContentType ?? "application/json";
|
|
@@ -185,12 +197,17 @@ export function buildOpenApiPartForHttp(projection) {
|
|
|
185
197
|
operation.tags = [c.feature];
|
|
186
198
|
const glubeanCases = c.cases
|
|
187
199
|
.map((cas) => {
|
|
188
|
-
|
|
200
|
+
// Inbound cases always surface here (their direction + promise are the
|
|
201
|
+
// projection content); outbound cases only when they carry a marker.
|
|
202
|
+
const hasProjectionMarker = cas.direction === "inbound" ||
|
|
203
|
+
cas.given !== undefined ||
|
|
189
204
|
cas.hasVerify !== undefined ||
|
|
190
205
|
cas.verifyRules !== undefined;
|
|
191
206
|
if (!hasProjectionMarker)
|
|
192
207
|
return null;
|
|
193
208
|
const out = { key: cas.key };
|
|
209
|
+
if (cas.direction)
|
|
210
|
+
out.direction = cas.direction;
|
|
194
211
|
if (cas.description)
|
|
195
212
|
out.description = cas.description;
|
|
196
213
|
if (cas.given)
|
|
@@ -246,7 +263,7 @@ export function buildOpenApiPartForHttp(projection) {
|
|
|
246
263
|
};
|
|
247
264
|
const mergedParamMetas = {};
|
|
248
265
|
const mergedQueryMetas = {};
|
|
249
|
-
for (const cas of
|
|
266
|
+
for (const cas of outboundCases) {
|
|
250
267
|
const casFields = readCaseFields(cas);
|
|
251
268
|
mergeFieldLevel(mergedParamMetas, casFields.paramSchemas);
|
|
252
269
|
mergeFieldLevel(mergedQueryMetas, casFields.querySchemas);
|
|
@@ -400,15 +417,4 @@ export function mergeOpenApiParts(parts, options) {
|
|
|
400
417
|
doc.paths = paths;
|
|
401
418
|
return doc;
|
|
402
419
|
}
|
|
403
|
-
/**
|
|
404
|
-
* Empty OpenAPI 3.1 skeleton returned when no HTTP contract contributes a
|
|
405
|
-
* part (e.g. a project with only gRPC / GraphQL contracts, or an empty
|
|
406
|
-
* project). Used as `openapiArtifact.empty` so callers always receive a
|
|
407
|
-
* valid `OpenApiDocument`.
|
|
408
|
-
*/
|
|
409
|
-
export const emptyOpenApiDocument = {
|
|
410
|
-
openapi: "3.1.0",
|
|
411
|
-
info: { title: "", version: "0.0.0" },
|
|
412
|
-
paths: {},
|
|
413
|
-
};
|
|
414
420
|
//# sourceMappingURL=openapi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/contract-http/openapi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../src/contract-http/openapi.ts"],"names":[],"mappings":"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"}
|
|
@@ -171,6 +171,93 @@ export interface ContractCase<T = unknown, Needs = void> extends BaseCaseSpec {
|
|
|
171
171
|
/** Business-logic verify — runs after status and schema validation. */
|
|
172
172
|
verify?: (ctx: TestContext, res: T) => Promise<void>;
|
|
173
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* Declarative signature expectation for an inbound case. `scheme` is a
|
|
176
|
+
* REGISTERED verifier name (see `registerSignatureVerifier`); `secretRef`
|
|
177
|
+
* is a NAME into ctx.secrets — never a value. Projection / OpenAPI / Cloud
|
|
178
|
+
* only ever see these names (design blind spot 9).
|
|
179
|
+
*/
|
|
180
|
+
export interface InboundSignatureSpec {
|
|
181
|
+
/** Registered verifier name. Built-ins: "stripe-v1", "hmac-sha256". */
|
|
182
|
+
scheme: "stripe-v1" | "hmac-sha256" | (string & {});
|
|
183
|
+
/** Request header carrying the signature (lowercased for lookup). */
|
|
184
|
+
header: string;
|
|
185
|
+
/** Secrets NAME — resolved via ctx.secrets at match time, never projected as a value. */
|
|
186
|
+
secretRef: string;
|
|
187
|
+
/** Replay window for timestamped schemes (stripe-v1 default 5 min). */
|
|
188
|
+
toleranceMs?: number;
|
|
189
|
+
}
|
|
190
|
+
/** Static header expectation for an inbound case (JSON-safe by construction). */
|
|
191
|
+
export type InboundHeaderMatcher = {
|
|
192
|
+
present: true;
|
|
193
|
+
} | {
|
|
194
|
+
eq: string;
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* What the counterparty PROMISES to deliver. Validation order is the §9.4
|
|
198
|
+
* taxonomy: signature first (over exact bytes), then parse, then type/
|
|
199
|
+
* correlation discrimination, then `bodySchema`.
|
|
200
|
+
*/
|
|
201
|
+
export interface InboundExpect<T = unknown> {
|
|
202
|
+
/** Validated AFTER authentication, on the parsed JSON body. */
|
|
203
|
+
bodySchema: SchemaLike<T>;
|
|
204
|
+
/** Static header expectations (checked on authenticated deliveries). */
|
|
205
|
+
headers?: Record<string, InboundHeaderMatcher>;
|
|
206
|
+
signature?: InboundSignatureSpec;
|
|
207
|
+
/**
|
|
208
|
+
* Latency promise in ms — documentation + the inbound poll's default
|
|
209
|
+
* timeout. Measured evidence is `receivedAt` vs poll-node start
|
|
210
|
+
* (design blind spot 4).
|
|
211
|
+
*/
|
|
212
|
+
within?: number;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* An inbound contract case: the counterparty calls US. Declares the PROMISE
|
|
216
|
+
* ("X will POST shape S, signed with K, within T") — the receiver transport
|
|
217
|
+
* is supplied at the workflow side (`.poll(ref, { via })`, slice I3).
|
|
218
|
+
*
|
|
219
|
+
* NOT runnable (design §9.5): there is nothing to execute without a live
|
|
220
|
+
* counterparty — no Test is registered, CLI runnable discovery skips it,
|
|
221
|
+
* and `.call()`/flow `.step()` reject its ref. It appears in projection /
|
|
222
|
+
* metadata with `direction: "inbound"`.
|
|
223
|
+
*
|
|
224
|
+
* `needs`/`runnability`/`requires`/`defaultRun`/`verifyRules` are omitted:
|
|
225
|
+
* all are vocabulary of outbound execution (logical input / runnable
|
|
226
|
+
* inventory / verify() companions) and have no meaning for a case that is
|
|
227
|
+
* awaited, not run.
|
|
228
|
+
*/
|
|
229
|
+
export interface InboundContractCase<T = unknown> extends Omit<BaseCaseSpec, "needs" | "runnability" | "requires" | "defaultRun" | "verifyRules"> {
|
|
230
|
+
direction: "inbound";
|
|
231
|
+
/** Why this case exists — required (same rule as outbound cases). */
|
|
232
|
+
description: string;
|
|
233
|
+
expect: InboundExpect<T>;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Brand a case spec as inbound — the authoring helper for the `cases` map:
|
|
237
|
+
*
|
|
238
|
+
* ```ts
|
|
239
|
+
* export const stripeWebhooks = api("stripe.webhooks", {
|
|
240
|
+
* endpoint: "POST /webhooks/stripe", // where the counterparty posts
|
|
241
|
+
* cases: {
|
|
242
|
+
* paymentIntentCreated: inboundCase({
|
|
243
|
+
* description: "Stripe posts payment_intent.created, signed",
|
|
244
|
+
* expect: {
|
|
245
|
+
* bodySchema: PaymentIntentCreatedEvent,
|
|
246
|
+
* signature: { scheme: "stripe-v1", header: "stripe-signature", secretRef: "WEBHOOK_SECRET" },
|
|
247
|
+
* within: 60_000,
|
|
248
|
+
* },
|
|
249
|
+
* }),
|
|
250
|
+
* },
|
|
251
|
+
* });
|
|
252
|
+
* ```
|
|
253
|
+
*
|
|
254
|
+
* Writing `direction: "inbound"` inline in the literal is equivalent.
|
|
255
|
+
*/
|
|
256
|
+
export declare function inboundCase<T = unknown>(spec: Omit<InboundContractCase<T>, "direction">): InboundContractCase<T>;
|
|
257
|
+
/** Runtime discriminator for inbound case specs. */
|
|
258
|
+
export declare function isInboundCase(c: unknown): c is InboundContractCase<any>;
|
|
259
|
+
/** Any case authorable in an HTTP contract's `cases` map. */
|
|
260
|
+
export type HttpCase<T = unknown, Needs = void> = ContractCase<T, Needs> | InboundContractCase<T>;
|
|
174
261
|
/**
|
|
175
262
|
* Structured request specification. Can be a bare SchemaLike (JSON body
|
|
176
263
|
* shorthand) or a full object with content type / headers / examples.
|
|
@@ -182,7 +269,7 @@ export type RequestSpec = SchemaLike<unknown> | {
|
|
|
182
269
|
example?: unknown;
|
|
183
270
|
examples?: Record<string, ContractExample<unknown>>;
|
|
184
271
|
};
|
|
185
|
-
export interface HttpContractSpec<Cases extends Record<string,
|
|
272
|
+
export interface HttpContractSpec<Cases extends Record<string, HttpCase<any, any>> = Record<string, HttpCase>> {
|
|
186
273
|
/** HTTP method + path, e.g. "POST /users" or "GET /runs/:runId". */
|
|
187
274
|
endpoint: string;
|
|
188
275
|
description?: string;
|
|
@@ -223,6 +310,16 @@ export interface HttpPayloadSchemas {
|
|
|
223
310
|
params?: Record<string, HttpParamSchema>;
|
|
224
311
|
query?: Record<string, HttpParamSchema>;
|
|
225
312
|
security?: HttpSecurityScheme;
|
|
313
|
+
/**
|
|
314
|
+
* Present only on cases with `direction: "inbound"` — the counterparty's
|
|
315
|
+
* promise. `signature.secretRef` is a secrets NAME, safe by construction.
|
|
316
|
+
*/
|
|
317
|
+
inbound?: {
|
|
318
|
+
body?: SchemaLike<unknown>;
|
|
319
|
+
headers?: Record<string, InboundHeaderMatcher>;
|
|
320
|
+
signature?: InboundSignatureSpec;
|
|
321
|
+
within?: number;
|
|
322
|
+
};
|
|
226
323
|
/**
|
|
227
324
|
* Type-only markers read by core's `InferAcceptKey` / `InferRawOutcome` /
|
|
228
325
|
* `ApplyCaseOutput` hooks so a flow step's `accept` is typed as `number`
|
|
@@ -266,6 +363,13 @@ export interface HttpSafeSchemas {
|
|
|
266
363
|
params?: Record<string, HttpParamMeta>;
|
|
267
364
|
query?: Record<string, HttpParamMeta>;
|
|
268
365
|
security?: HttpSecurityScheme;
|
|
366
|
+
/** Inbound promise (JSON-safe): `body` is JSON Schema; the rest is verbatim. */
|
|
367
|
+
inbound?: {
|
|
368
|
+
body?: unknown;
|
|
369
|
+
headers?: Record<string, InboundHeaderMatcher>;
|
|
370
|
+
signature?: InboundSignatureSpec;
|
|
371
|
+
within?: number;
|
|
372
|
+
};
|
|
269
373
|
}
|
|
270
374
|
export interface HttpParamSchema {
|
|
271
375
|
schema?: SchemaLike<unknown>;
|
|
@@ -320,7 +424,7 @@ export interface HttpFlowCaseOutput {
|
|
|
320
424
|
* `contract.http.with("name", defaults)`.
|
|
321
425
|
*/
|
|
322
426
|
export interface HttpContractFactory {
|
|
323
|
-
<const Cases extends Record<string,
|
|
427
|
+
<const Cases extends Record<string, HttpCase<any, any>>>(id: string, spec: HttpContractSpec<Cases>): ProtocolContract<HttpContractSpec<Cases>, HttpPayloadSchemas, HttpContractMeta, Cases>;
|
|
324
428
|
with(name: string, defaults: HttpContractDefaults): HttpContractFactory;
|
|
325
429
|
}
|
|
326
430
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contract-http/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contract-http/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAM9B;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,OAAO,GACP;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAClD,IAAI,CAAC;AAMT,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAMD,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,KAAK,EAAE,CAAC,CAAC;IACT,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN;IACE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAMN,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,OAAO;IACzC,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACxC,mDAAmD;IACnD,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/C;AAMD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,OAAO,EAAE,GACT,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,QAAQ,GACR,eAAe,GACf,IAAI,CAAC;AAET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,cAAc,CAAC,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,EACtD,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,GACxB,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAExB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,GAAG,IAAI,CAAE,SAAQ,YAAY;IAC3E;;;;;OAKG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAE1B,qCAAqC;IACrC,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAE1B;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC;IAEpD,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEjF,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEhF,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9E,uEAAuE;IACvE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAMD;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACpD,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,iFAAiF;AACjF,MAAM,MAAM,oBAAoB,GAAG;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,+DAA+D;IAC/D,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,OAAO,CAC9C,SAAQ,IAAI,CACV,YAAY,EACZ,OAAO,GAAG,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,aAAa,CACpE;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,WAAW,CAAC,CAAC,GAAG,OAAO,EACrC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,GAC9C,mBAAmB,CAAC,CAAC,CAAC,CAExB;AAED,oDAAoD;AAIpD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAMvE;AAED,6DAA6D;AAC7D,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,GAAG,IAAI,IAC1C,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,GACtB,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAM3B;;;GAGG;AACH,MAAM,MAAM,WAAW,GACnB,UAAU,CAAC,OAAO,CAAC,GACnB;IACE,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;CACrD,CAAC;AAMN,MAAM,WAAW,gBAAgB,CAC/B,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE3E,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IAEjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yCAAyC;IACzC,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,wBAAwB;IACxB,KAAK,EAAE,KAAK,CAAC;CACd;AAMD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;KACrD,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACxC,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;KACrD,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAE9B;;;OAGG;IACH,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAC/C,SAAS,CAAC,EAAE,oBAAoB,CAAC;QACjC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CACf,MAAM,EACN;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAC3D,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CACf,MAAM,EACN;YAAE,KAAK,EAAE,OAAO,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAC3D,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAE9B,gFAAgF;IAChF,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAC/C,SAAS,CAAC,EAAE,oBAAoB,CAAC;QACjC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD;;;;GAIG;AACH,MAAM,MAAM,eAAe,CAAC,EAAE,GAAG,kBAAkB,IAAI;IACrD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,EAAE,GAAG,kBAAkB,IAAI;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAMF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;GAKG;AAKH;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAKlC,CAAC,KAAK,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACrD,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC5B,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC1F,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;CACzE;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;CACzE"}
|
|
@@ -65,4 +65,37 @@
|
|
|
65
65
|
export function defineHttpCase(c) {
|
|
66
66
|
return c;
|
|
67
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Brand a case spec as inbound — the authoring helper for the `cases` map:
|
|
70
|
+
*
|
|
71
|
+
* ```ts
|
|
72
|
+
* export const stripeWebhooks = api("stripe.webhooks", {
|
|
73
|
+
* endpoint: "POST /webhooks/stripe", // where the counterparty posts
|
|
74
|
+
* cases: {
|
|
75
|
+
* paymentIntentCreated: inboundCase({
|
|
76
|
+
* description: "Stripe posts payment_intent.created, signed",
|
|
77
|
+
* expect: {
|
|
78
|
+
* bodySchema: PaymentIntentCreatedEvent,
|
|
79
|
+
* signature: { scheme: "stripe-v1", header: "stripe-signature", secretRef: "WEBHOOK_SECRET" },
|
|
80
|
+
* within: 60_000,
|
|
81
|
+
* },
|
|
82
|
+
* }),
|
|
83
|
+
* },
|
|
84
|
+
* });
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* Writing `direction: "inbound"` inline in the literal is equivalent.
|
|
88
|
+
*/
|
|
89
|
+
export function inboundCase(spec) {
|
|
90
|
+
return { ...spec, direction: "inbound" };
|
|
91
|
+
}
|
|
92
|
+
/** Runtime discriminator for inbound case specs. */
|
|
93
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- guard target
|
|
94
|
+
// must be InboundContractCase<any> so union narrowing also excludes
|
|
95
|
+
// InboundContractCase<any> members (an <unknown> target fails to subsume them).
|
|
96
|
+
export function isInboundCase(c) {
|
|
97
|
+
return (!!c &&
|
|
98
|
+
typeof c === "object" &&
|
|
99
|
+
c.direction === "inbound");
|
|
100
|
+
}
|
|
68
101
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/contract-http/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmHH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,UAAU,cAAc,CAC5B,CAAyB;IAEzB,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/contract-http/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmHH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,UAAU,cAAc,CAC5B,CAAyB;IAEzB,OAAO,CAAC,CAAC;AACX,CAAC;AAmHD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,WAAW,CACzB,IAA+C;IAE/C,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED,oDAAoD;AACpD,8EAA8E;AAC9E,oEAAoE;AACpE,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,CAAU;IACtC,OAAO,CACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,QAAQ;QACpB,CAA6B,CAAC,SAAS,KAAK,SAAS,CACvD,CAAC;AACJ,CAAC"}
|