@glubean/grpc 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -12
- package/dist/contract/adapter.d.ts +16 -17
- package/dist/contract/adapter.d.ts.map +1 -1
- package/dist/contract/adapter.js +167 -155
- package/dist/contract/adapter.js.map +1 -1
- package/dist/contract/factory.d.ts +1 -1
- package/dist/contract/factory.d.ts.map +1 -1
- package/dist/contract/factory.js.map +1 -1
- package/dist/contract/index.d.ts +1 -0
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/contract/index.js +1 -0
- package/dist/contract/index.js.map +1 -1
- package/dist/contract/matchers.d.ts +5 -4
- package/dist/contract/matchers.d.ts.map +1 -1
- package/dist/contract/matchers.js +5 -4
- package/dist/contract/matchers.js.map +1 -1
- package/dist/contract/types.d.ts +46 -16
- package/dist/contract/types.d.ts.map +1 -1
- package/dist/contract/types.js +14 -1
- package/dist/contract/types.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ gRPC for [Glubean](https://glubean.dev). This package owns two layers:
|
|
|
5
5
|
- **Contract** — author gRPC API intent as a single artifact (`contract.grpc.with(...)`). Executable spec, agent-readable, fits `contract.flow()` composition. **Recommended for new work.**
|
|
6
6
|
- **Transport plugin** — low-level gRPC client with auto-tracing, used via `configure({ plugins: { ... } })`. Still supported for test-after / exploratory work.
|
|
7
7
|
|
|
8
|
-
> **v0.2.0 single-package release note:** in earlier drafts, gRPC contract was planned as a separate `@glubean/contract-grpc` package. Decision 2026-04-20: one package per protocol.
|
|
8
|
+
> **v0.2.0 single-package release note:** in earlier drafts, gRPC contract was planned as a separate `@glubean/contract-grpc` package. Decision 2026-04-20: one package per protocol. The package now ships a plugin manifest; install it explicitly from `glubean.setup.ts` to enable `contract.grpc`.
|
|
9
9
|
|
|
10
10
|
## Install
|
|
11
11
|
|
|
@@ -15,6 +15,16 @@ npm install @glubean/grpc @grpc/grpc-js @grpc/proto-loader
|
|
|
15
15
|
|
|
16
16
|
`@grpc/grpc-js` and `@grpc/proto-loader` are peer dependencies.
|
|
17
17
|
|
|
18
|
+
Install the contract plugin in your project setup:
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
// glubean.setup.ts
|
|
22
|
+
import { installPlugin } from "@glubean/sdk";
|
|
23
|
+
import grpcPlugin from "@glubean/grpc";
|
|
24
|
+
|
|
25
|
+
await installPlugin(grpcPlugin);
|
|
26
|
+
```
|
|
27
|
+
|
|
18
28
|
---
|
|
19
29
|
|
|
20
30
|
## Quick Start — Contract
|
|
@@ -22,7 +32,7 @@ npm install @glubean/grpc @grpc/grpc-js @grpc/proto-loader
|
|
|
22
32
|
```ts
|
|
23
33
|
import { contract, configure } from "@glubean/sdk";
|
|
24
34
|
import { grpc } from "@glubean/grpc";
|
|
25
|
-
|
|
35
|
+
import { z } from "zod";
|
|
26
36
|
|
|
27
37
|
const { payment } = configure({
|
|
28
38
|
plugins: {
|
|
@@ -45,7 +55,8 @@ export const completePayment = paymentContracts("complete-payment", {
|
|
|
45
55
|
cases: {
|
|
46
56
|
happy: {
|
|
47
57
|
description: "order with valid payment method completes successfully",
|
|
48
|
-
|
|
58
|
+
needs: z.object({ orderId: z.string(), amount: z.number() }),
|
|
59
|
+
request: ({ orderId, amount }) => ({ orderId, amount, currency: "USD" }),
|
|
49
60
|
expect: {
|
|
50
61
|
statusCode: 0, // OK
|
|
51
62
|
message: { status: "completed" },
|
|
@@ -85,12 +96,12 @@ export const checkoutFlow = contract
|
|
|
85
96
|
})
|
|
86
97
|
// Step 2: gRPC — complete payment
|
|
87
98
|
.step(completePayment.case("happy"), {
|
|
88
|
-
in: (s: any) => ({
|
|
99
|
+
in: (s: any) => ({ orderId: s.orderId, amount: s.amount }),
|
|
89
100
|
out: (s, res: any) => ({ ...s, paymentId: res.message.paymentId }),
|
|
90
101
|
})
|
|
91
102
|
// Step 3: HTTP — confirm
|
|
92
103
|
.step(getOrder.case("byId"), {
|
|
93
|
-
in: (s: any) => ({
|
|
104
|
+
in: (s: any) => ({ id: s.orderId }),
|
|
94
105
|
});
|
|
95
106
|
```
|
|
96
107
|
|
|
@@ -102,7 +113,7 @@ Flow state threads through via typed `in` / `out` lenses, **across protocols**.
|
|
|
102
113
|
- **Structured failure classification** — gRPC status codes map to `transient` / `client` / `semantic` / `auth` / `server` kinds; transient codes (1 CANCELLED, 4 DEADLINE_EXCEEDED, 8 RESOURCE_EXHAUSTED, 14 UNAVAILABLE) marked `retryable`
|
|
103
114
|
- **Projection to Markdown** — case inventory with lifecycle markers, via `glubean contracts`
|
|
104
115
|
- **Flow composition** — mix with HTTP / GraphQL cases, same artifact
|
|
105
|
-
- **Scanner + MCP integration** — `glubean scan`, `glubean_extract_contracts` MCP tool, all work unchanged for `contract.grpc(...)`
|
|
116
|
+
- **Scanner + MCP integration** — `glubean scan`, `glubean_extract_contracts` MCP tool, all work unchanged for `contract.grpc.with(...)`
|
|
106
117
|
|
|
107
118
|
---
|
|
108
119
|
|
|
@@ -284,12 +295,10 @@ Close the underlying gRPC channel.
|
|
|
284
295
|
|
|
285
296
|
## Custom matchers
|
|
286
297
|
|
|
287
|
-
|
|
288
|
-
`ctx.expect()` surface.
|
|
298
|
+
Installing the `@glubean/grpc` plugin manifest from `glubean.setup.ts`
|
|
299
|
+
registers gRPC matchers onto the shared `ctx.expect()` surface.
|
|
289
300
|
|
|
290
301
|
```ts
|
|
291
|
-
import "@glubean/grpc";
|
|
292
|
-
|
|
293
302
|
// Works on GrpcCallResult (transport) and GrpcCaseResult (contract verify / flow out lens)
|
|
294
303
|
ctx.expect(res).toHaveGrpcStatus(0); // exact code
|
|
295
304
|
ctx.expect(res).toHaveGrpcOk(); // convenience for code 0
|
|
@@ -353,7 +362,7 @@ instance `defaults.metadata` < contract `defaultMetadata` < case `metadata` < fl
|
|
|
353
362
|
## Migration: 0.1.x → 0.2.0
|
|
354
363
|
|
|
355
364
|
**What's new:**
|
|
356
|
-
- Contract adapter shipped inside this package. `
|
|
365
|
+
- Contract adapter shipped inside this package. Install the manifest from `glubean.setup.ts` to enable `contract.grpc.with(...)` — a bare `import "@glubean/grpc"` is not enough.
|
|
357
366
|
- Single-package model: no separate `@glubean/contract-grpc` package.
|
|
358
367
|
|
|
359
368
|
**What's not broken:**
|
|
@@ -362,7 +371,7 @@ instance `defaults.metadata` < contract `defaultMetadata` < case `metadata` < fl
|
|
|
362
371
|
- All 0.1.x transport tests still pass without modification.
|
|
363
372
|
|
|
364
373
|
**Only additive API changes:**
|
|
365
|
-
- `contract.grpc.with(...)`
|
|
374
|
+
- `contract.grpc.with(...)` available after calling `installPlugin(grpcManifest)` in `glubean.setup.ts`.
|
|
366
375
|
- Export surface gained contract types (`GrpcContractSpec`, `GrpcContractCase`, etc.).
|
|
367
376
|
|
|
368
377
|
If you currently use `@glubean/grpc` only as a transport plugin and do not import `contract.grpc` anywhere, no migration is required.
|
|
@@ -2,18 +2,26 @@
|
|
|
2
2
|
* Built-in gRPC contract adapter for @glubean/grpc 0.2.0.
|
|
3
3
|
*
|
|
4
4
|
* Shipped alongside the transport plugin in @glubean/grpc (single-package
|
|
5
|
-
* model — "contract is a first-class citizen"). Registered via
|
|
6
|
-
* `
|
|
5
|
+
* model — "contract is a first-class citizen"). Registered via the plugin
|
|
6
|
+
* manifest (`installPlugin(grpcManifest)` in `glubean.setup.ts`); a bare
|
|
7
|
+
* import does not register the adapter.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Attachment-model v10 adapter (Spike 4 migration). No per-case lifecycle:
|
|
10
|
+
* the case is pure semantics; setup-style work belongs to a
|
|
11
|
+
* `contract.bootstrap()` overlay. Function-valued `request` / `metadata`
|
|
12
|
+
* receive the case's logical input (matching `needs`), not v9 setup state.
|
|
13
|
+
*
|
|
14
|
+
* Responsibilities (same interface as HTTP adapter post-Phase-2c B+C):
|
|
15
|
+
* - execute: §5.1 step 5 raw run with no input (no overlay + no needs)
|
|
16
|
+
* - executeCase: v10 entry point — receives `resolvedInput` from
|
|
17
|
+
* dispatcher (§5.1 steps 1+3 — explicit input or overlay output)
|
|
18
|
+
* - executeCaseInFlow: receives logical input from `step.in` lens
|
|
19
|
+
* - project: runtime ContractProjection threading
|
|
20
|
+
* `given` / `runnability` / `hasNeeds` / `needsSchema`
|
|
13
21
|
* - normalize: runtime → JSON-safe ExtractedContractProjection
|
|
14
22
|
* - classifyFailure: gRPC status 0-16 → FailureKind
|
|
15
23
|
* - renderTarget: "Service/Method" → "Service.Method" (display-only)
|
|
16
|
-
* -
|
|
24
|
+
* - artifacts.markdown: case list
|
|
17
25
|
* - describePayload: high-level summary for index views
|
|
18
26
|
*
|
|
19
27
|
* Phase 1 scope: unary RPCs only. Streaming deferred to Phase 2.
|
|
@@ -31,14 +39,5 @@ export declare function parseTarget(target: string): {
|
|
|
31
39
|
} | undefined;
|
|
32
40
|
/** Convert a SchemaLike to a JSON Schema fragment if possible (best-effort). */
|
|
33
41
|
export declare function schemaToJsonSchema(schema: unknown): Record<string, unknown> | null;
|
|
34
|
-
/**
|
|
35
|
-
* Reject cases that reference case-local setup state via function-valued
|
|
36
|
-
* `request` or `metadata` fields when used in a flow. Flow mode can't
|
|
37
|
-
* supply per-case setup state (state belongs to flow orchestration).
|
|
38
|
-
*
|
|
39
|
-
* Parallels HTTP's `validateHttpCaseForFlow` — same discipline as HTTP's
|
|
40
|
-
* function-valued body/params/query/headers rejection.
|
|
41
|
-
*/
|
|
42
|
-
export declare function validateGrpcCaseForFlow(spec: GrpcContractSpec, caseKey: string, contractId: string): void;
|
|
43
42
|
export declare const grpcAdapter: ContractProtocolAdapter<GrpcContractSpec, GrpcPayloadSchemas, GrpcContractMeta, GrpcSafeSchemas, GrpcContractSafeMeta>;
|
|
44
43
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/contract/adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/contract/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAEV,uBAAuB,EAMxB,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EAEV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAMpB;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAOjD;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAalF;AAofD,eAAO,MAAM,WAAW,EAAE,uBAAuB,CAC/C,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,CA+CrB,CAAC"}
|
package/dist/contract/adapter.js
CHANGED
|
@@ -2,18 +2,26 @@
|
|
|
2
2
|
* Built-in gRPC contract adapter for @glubean/grpc 0.2.0.
|
|
3
3
|
*
|
|
4
4
|
* Shipped alongside the transport plugin in @glubean/grpc (single-package
|
|
5
|
-
* model — "contract is a first-class citizen"). Registered via
|
|
6
|
-
* `
|
|
5
|
+
* model — "contract is a first-class citizen"). Registered via the plugin
|
|
6
|
+
* manifest (`installPlugin(grpcManifest)` in `glubean.setup.ts`); a bare
|
|
7
|
+
* import does not register the adapter.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Attachment-model v10 adapter (Spike 4 migration). No per-case lifecycle:
|
|
10
|
+
* the case is pure semantics; setup-style work belongs to a
|
|
11
|
+
* `contract.bootstrap()` overlay. Function-valued `request` / `metadata`
|
|
12
|
+
* receive the case's logical input (matching `needs`), not v9 setup state.
|
|
13
|
+
*
|
|
14
|
+
* Responsibilities (same interface as HTTP adapter post-Phase-2c B+C):
|
|
15
|
+
* - execute: §5.1 step 5 raw run with no input (no overlay + no needs)
|
|
16
|
+
* - executeCase: v10 entry point — receives `resolvedInput` from
|
|
17
|
+
* dispatcher (§5.1 steps 1+3 — explicit input or overlay output)
|
|
18
|
+
* - executeCaseInFlow: receives logical input from `step.in` lens
|
|
19
|
+
* - project: runtime ContractProjection threading
|
|
20
|
+
* `given` / `runnability` / `hasNeeds` / `needsSchema`
|
|
13
21
|
* - normalize: runtime → JSON-safe ExtractedContractProjection
|
|
14
22
|
* - classifyFailure: gRPC status 0-16 → FailureKind
|
|
15
23
|
* - renderTarget: "Service/Method" → "Service.Method" (display-only)
|
|
16
|
-
* -
|
|
24
|
+
* - artifacts.markdown: case list
|
|
17
25
|
* - describePayload: high-level summary for index views
|
|
18
26
|
*
|
|
19
27
|
* Phase 1 scope: unary RPCs only. Streaming deferred to Phase 2.
|
|
@@ -87,20 +95,27 @@ function resolveClient(caseSpec, spec) {
|
|
|
87
95
|
}
|
|
88
96
|
return client;
|
|
89
97
|
}
|
|
90
|
-
/**
|
|
91
|
-
|
|
98
|
+
/**
|
|
99
|
+
* Merge metadata: instance defaults < contract defaults < case.
|
|
100
|
+
* v10 — function form receives the case's logical input (matching `needs`),
|
|
101
|
+
* NOT setup state.
|
|
102
|
+
*/
|
|
103
|
+
function resolveMetadata(spec, caseSpec, resolvedInput) {
|
|
92
104
|
const caseMd = typeof caseSpec.metadata === "function"
|
|
93
|
-
? caseSpec.metadata(
|
|
105
|
+
? caseSpec.metadata(resolvedInput)
|
|
94
106
|
: caseSpec.metadata;
|
|
95
107
|
const specMd = spec.defaultMetadata;
|
|
96
108
|
if (!caseMd && !specMd)
|
|
97
109
|
return undefined;
|
|
98
110
|
return { ...(specMd ?? {}), ...(caseMd ?? {}) };
|
|
99
111
|
}
|
|
100
|
-
/**
|
|
101
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Resolve request with deep-merge: contract.defaultRequest < case.request.
|
|
114
|
+
* v10 — function form receives the case's logical input (matching `needs`).
|
|
115
|
+
*/
|
|
116
|
+
function resolveRequest(spec, caseSpec, resolvedInput) {
|
|
102
117
|
const caseReq = typeof caseSpec.request === "function"
|
|
103
|
-
? caseSpec.request(
|
|
118
|
+
? caseSpec.request(resolvedInput)
|
|
104
119
|
: caseSpec.request;
|
|
105
120
|
const merged = deepMerge(spec.defaultRequest, caseReq);
|
|
106
121
|
return merged;
|
|
@@ -113,63 +128,61 @@ function resolveDeadline(spec, caseSpec) {
|
|
|
113
128
|
// executeCase — standard (non-flow) case execution
|
|
114
129
|
// =============================================================================
|
|
115
130
|
/**
|
|
116
|
-
* Execute one gRPC contract case
|
|
131
|
+
* Execute one gRPC contract case (attachment-model v10).
|
|
132
|
+
*
|
|
133
|
+
* `resolvedInput` is the case's already-validated logical input
|
|
134
|
+
* (matches `needs` schema). Function-valued `request` / `metadata`
|
|
135
|
+
* receive it as their argument. When the case has no `needs` and no
|
|
136
|
+
* overlay/explicit-input is supplied, `resolvedInput` is undefined —
|
|
137
|
+
* function-valued fields then receive undefined (author error per
|
|
138
|
+
* §5.3 load-time guard "Adapter request builder is a function but
|
|
139
|
+
* case has no `needs`"; runtime tolerates it).
|
|
117
140
|
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
141
|
+
* No per-case setup/teardown in v10 — the contract case is pure
|
|
142
|
+
* semantics; setup-style work belongs to a `contract.bootstrap()`
|
|
143
|
+
* overlay (whose `ctx.cleanup(...)` runs LIFO around this fn).
|
|
121
144
|
*/
|
|
122
|
-
async function
|
|
145
|
+
async function executeStandaloneCaseGrpc(ctx, caseSpec, spec, resolvedInput) {
|
|
123
146
|
const parsedTarget = parseTarget(spec.target);
|
|
124
147
|
if (!parsedTarget) {
|
|
125
148
|
throw new Error(`gRPC contract: invalid target "${spec.target}". Expected "ServiceName/MethodName".`);
|
|
126
149
|
}
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
if (
|
|
149
|
-
ctx.
|
|
150
|
-
}
|
|
151
|
-
if (expectedStatus === 0) {
|
|
152
|
-
if (expect.schema) {
|
|
153
|
-
ctx.validate(result.message, expect.schema, `response message`);
|
|
154
|
-
}
|
|
155
|
-
if (expect.message) {
|
|
156
|
-
ctx.expect(result.message).toMatchObject(expect.message);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
if (expect.metadataMatch) {
|
|
160
|
-
ctx.expect(result.responseMetadata).toMatchObject(expect.metadataMatch);
|
|
161
|
-
}
|
|
162
|
-
if (expect.metadata) {
|
|
163
|
-
ctx.validate(result.responseMetadata, expect.metadata, `response metadata`);
|
|
150
|
+
const client = resolveClient(caseSpec, spec);
|
|
151
|
+
const request = resolveRequest(spec, caseSpec, resolvedInput);
|
|
152
|
+
const metadata = resolveMetadata(spec, caseSpec, resolvedInput);
|
|
153
|
+
const deadlineMs = resolveDeadline(spec, caseSpec);
|
|
154
|
+
const callResult = await client.call(parsedTarget.method, request, {
|
|
155
|
+
...(metadata ? { metadata } : {}),
|
|
156
|
+
...(deadlineMs !== undefined ? { deadlineMs } : {}),
|
|
157
|
+
});
|
|
158
|
+
const result = {
|
|
159
|
+
message: callResult.message,
|
|
160
|
+
status: callResult.status,
|
|
161
|
+
responseMetadata: callResult.responseMetadata,
|
|
162
|
+
duration: callResult.duration,
|
|
163
|
+
};
|
|
164
|
+
// Assertions
|
|
165
|
+
const expect = caseSpec.expect ?? {};
|
|
166
|
+
const expectedStatus = expect.statusCode ?? 0;
|
|
167
|
+
if (result.status.code !== expectedStatus) {
|
|
168
|
+
ctx.assert(false, `Expected gRPC status code ${expectedStatus} but got ${result.status.code} (${result.status.details})`, { actual: result.status.code, expected: expectedStatus });
|
|
169
|
+
}
|
|
170
|
+
if (expectedStatus === 0) {
|
|
171
|
+
if (expect.schema) {
|
|
172
|
+
ctx.validate(result.message, expect.schema, `response message`);
|
|
164
173
|
}
|
|
165
|
-
if (
|
|
166
|
-
|
|
174
|
+
if (expect.message) {
|
|
175
|
+
ctx.expect(result.message).toMatchObject(expect.message);
|
|
167
176
|
}
|
|
168
177
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
178
|
+
if (expect.metadataMatch) {
|
|
179
|
+
ctx.expect(result.responseMetadata).toMatchObject(expect.metadataMatch);
|
|
180
|
+
}
|
|
181
|
+
if (expect.metadata) {
|
|
182
|
+
ctx.validate(result.responseMetadata, expect.metadata, `response metadata`);
|
|
183
|
+
}
|
|
184
|
+
if (caseSpec.verify) {
|
|
185
|
+
await caseSpec.verify(ctx, result);
|
|
173
186
|
}
|
|
174
187
|
}
|
|
175
188
|
// =============================================================================
|
|
@@ -208,6 +221,16 @@ function projectGrpc(spec) {
|
|
|
208
221
|
extensions: casted.extensions,
|
|
209
222
|
requires: casted.requires,
|
|
210
223
|
defaultRun: casted.defaultRun,
|
|
224
|
+
// v10 attachment-model — thread `given` / `runnability` semantic +
|
|
225
|
+
// inventory fields through projection. `hasNeeds` is the
|
|
226
|
+
// authoritative rawBypass trigger downstream; `needsSchema` is
|
|
227
|
+
// the live SchemaLike that normalize() converts to JSON-safe.
|
|
228
|
+
given: casted.given,
|
|
229
|
+
hasVerify: typeof casted.verify === "function",
|
|
230
|
+
verifyRules: casted.verifyRules,
|
|
231
|
+
runnability: casted.runnability,
|
|
232
|
+
hasNeeds: casted.needs !== undefined,
|
|
233
|
+
needsSchema: casted.needs,
|
|
211
234
|
};
|
|
212
235
|
});
|
|
213
236
|
// Read factory-provided metadata from the internal `_factory` channel
|
|
@@ -238,7 +261,20 @@ function normalizeGrpc(projection) {
|
|
|
238
261
|
response: schemaToJsonSchema(s.response) ?? undefined,
|
|
239
262
|
metadata: schemaToJsonSchema(s.metadata) ?? undefined,
|
|
240
263
|
};
|
|
241
|
-
|
|
264
|
+
// v10 — convert needsSchema to JSON-safe (may be null when the
|
|
265
|
+
// SchemaLike is opaque safeParse-only; `hasNeeds` decoupled
|
|
266
|
+
// remains true regardless).
|
|
267
|
+
const safeNeeds = schemaToJsonSchema(c.needsSchema) ?? undefined;
|
|
268
|
+
return {
|
|
269
|
+
...c,
|
|
270
|
+
schemas: safe,
|
|
271
|
+
given: c.given,
|
|
272
|
+
hasVerify: c.hasVerify,
|
|
273
|
+
verifyRules: c.verifyRules,
|
|
274
|
+
runnability: c.runnability,
|
|
275
|
+
hasNeeds: c.hasNeeds,
|
|
276
|
+
needsSchema: safeNeeds,
|
|
277
|
+
};
|
|
242
278
|
});
|
|
243
279
|
return {
|
|
244
280
|
id: projection.id,
|
|
@@ -259,19 +295,24 @@ function normalizeGrpc(projection) {
|
|
|
259
295
|
// executeCaseInFlow — flow-mode execution
|
|
260
296
|
// =============================================================================
|
|
261
297
|
/**
|
|
262
|
-
* Flow-mode case execution. Called by core's
|
|
298
|
+
* Flow-mode case execution (attachment-model v10). Called by core's
|
|
299
|
+
* `FlowBuilder.step()` dispatch.
|
|
263
300
|
*
|
|
264
301
|
* Core has already:
|
|
265
|
-
* 1. Computed `resolvedInputs` via `step.bindings.in(state)`
|
|
302
|
+
* 1. Computed `resolvedInputs` via `step.bindings.in(state)` — this is
|
|
303
|
+
* the case's LOGICAL input (matches `needs`), NOT a v9 adapter patch
|
|
266
304
|
* 2. Prepared current flow state
|
|
267
305
|
* 3. Passed the live ProtocolContract (access merged scoped-factory state
|
|
268
306
|
* via `contract._spec`)
|
|
269
307
|
*
|
|
270
308
|
* Adapter responsibilities:
|
|
271
|
-
* 1.
|
|
272
|
-
*
|
|
273
|
-
*
|
|
274
|
-
*
|
|
309
|
+
* 1. Pass `resolvedInputs` to function-valued `request` / `metadata`
|
|
310
|
+
* (static values pass through unchanged; contract-level
|
|
311
|
+
* `defaultRequest` / `defaultMetadata` still merge under)
|
|
312
|
+
* 2. Run call / expect / verify. There is no per-case setup or
|
|
313
|
+
* teardown in v10 (Spike 4 migration removed both fields); flow-
|
|
314
|
+
* level lifecycle is owned by the flow orchestrator's `setup()` /
|
|
315
|
+
* `teardown()` and per-step `contract.bootstrap()` overlays
|
|
275
316
|
* 3. Return GrpcFlowCaseOutput (= GrpcCaseResult<Res>) for `step.out` lens
|
|
276
317
|
*/
|
|
277
318
|
async function executeCaseInFlowGrpc(input) {
|
|
@@ -285,96 +326,49 @@ async function executeCaseInFlowGrpc(input) {
|
|
|
285
326
|
if (!parsed) {
|
|
286
327
|
throw new Error(`gRPC contract: invalid target "${spec.target}". Expected "ServiceName/MethodName".`);
|
|
287
328
|
}
|
|
288
|
-
//
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
responseMetadata: callResult.responseMetadata,
|
|
317
|
-
duration: callResult.duration,
|
|
318
|
-
};
|
|
319
|
-
// Assertions (same as executeCase, except allow tolerant behavior
|
|
320
|
-
// under the caller's flow orchestration)
|
|
321
|
-
const expect = caseSpec.expect ?? {};
|
|
322
|
-
const expectedStatus = expect.statusCode ?? 0;
|
|
323
|
-
if (result.status.code !== expectedStatus) {
|
|
324
|
-
ctx.assert(false, `Expected gRPC status code ${expectedStatus} but got ${result.status.code} (${result.status.details})`, { actual: result.status.code, expected: expectedStatus });
|
|
325
|
-
}
|
|
326
|
-
if (expectedStatus === 0) {
|
|
327
|
-
if (expect.schema) {
|
|
328
|
-
ctx.validate(result.message, expect.schema, `response message`);
|
|
329
|
-
}
|
|
330
|
-
if (expect.message) {
|
|
331
|
-
ctx.expect(result.message).toMatchObject(expect.message);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
if (expect.metadataMatch) {
|
|
335
|
-
ctx.expect(result.responseMetadata).toMatchObject(expect.metadataMatch);
|
|
336
|
-
}
|
|
337
|
-
if (expect.metadata) {
|
|
338
|
-
ctx.validate(result.responseMetadata, expect.metadata, `response metadata`);
|
|
329
|
+
// v10 — `resolvedInputs` is the LOGICAL case input (matches `needs`),
|
|
330
|
+
// NOT an adapter patch. Function-valued `request` / `metadata` receive
|
|
331
|
+
// it; static values pass through. No setup / teardown — gone in v10
|
|
332
|
+
// (case has no lifecycle per attachment-model §4.1; flow orchestrator
|
|
333
|
+
// owns lifecycle, bootstrap overlay does pre-state, not case).
|
|
334
|
+
const client = resolveClient(caseSpec, spec);
|
|
335
|
+
const request = resolveRequest(spec, caseSpec, resolvedInputs);
|
|
336
|
+
const metadata = resolveMetadata(spec, caseSpec, resolvedInputs);
|
|
337
|
+
const deadlineMs = resolveDeadline(spec, caseSpec);
|
|
338
|
+
const callResult = await client.call(parsed.method, request, {
|
|
339
|
+
...(metadata ? { metadata } : {}),
|
|
340
|
+
...(deadlineMs !== undefined ? { deadlineMs } : {}),
|
|
341
|
+
});
|
|
342
|
+
const result = {
|
|
343
|
+
message: callResult.message,
|
|
344
|
+
status: callResult.status,
|
|
345
|
+
responseMetadata: callResult.responseMetadata,
|
|
346
|
+
duration: callResult.duration,
|
|
347
|
+
};
|
|
348
|
+
// Assertions (same as standalone path).
|
|
349
|
+
const expect = caseSpec.expect ?? {};
|
|
350
|
+
const expectedStatus = expect.statusCode ?? 0;
|
|
351
|
+
if (result.status.code !== expectedStatus) {
|
|
352
|
+
ctx.assert(false, `Expected gRPC status code ${expectedStatus} but got ${result.status.code} (${result.status.details})`, { actual: result.status.code, expected: expectedStatus });
|
|
353
|
+
}
|
|
354
|
+
if (expectedStatus === 0) {
|
|
355
|
+
if (expect.schema) {
|
|
356
|
+
ctx.validate(result.message, expect.schema, `response message`);
|
|
339
357
|
}
|
|
340
|
-
if (
|
|
341
|
-
|
|
358
|
+
if (expect.message) {
|
|
359
|
+
ctx.expect(result.message).toMatchObject(expect.message);
|
|
342
360
|
}
|
|
343
|
-
return result;
|
|
344
361
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
await caseSpec.teardown(ctx, state);
|
|
348
|
-
}
|
|
362
|
+
if (expect.metadataMatch) {
|
|
363
|
+
ctx.expect(result.responseMetadata).toMatchObject(expect.metadataMatch);
|
|
349
364
|
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
// validateCaseForFlow — reject function-valued fields in flow mode
|
|
353
|
-
// =============================================================================
|
|
354
|
-
/**
|
|
355
|
-
* Reject cases that reference case-local setup state via function-valued
|
|
356
|
-
* `request` or `metadata` fields when used in a flow. Flow mode can't
|
|
357
|
-
* supply per-case setup state (state belongs to flow orchestration).
|
|
358
|
-
*
|
|
359
|
-
* Parallels HTTP's `validateHttpCaseForFlow` — same discipline as HTTP's
|
|
360
|
-
* function-valued body/params/query/headers rejection.
|
|
361
|
-
*/
|
|
362
|
-
export function validateGrpcCaseForFlow(spec, caseKey, contractId) {
|
|
363
|
-
const caseSpec = spec.cases[caseKey];
|
|
364
|
-
if (!caseSpec) {
|
|
365
|
-
throw new Error(`contract.grpc(${JSON.stringify(contractId)}).case(${JSON.stringify(caseKey)}): case not found.`);
|
|
365
|
+
if (expect.metadata) {
|
|
366
|
+
ctx.validate(result.responseMetadata, expect.metadata, `response metadata`);
|
|
366
367
|
}
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
functionFields.push("request");
|
|
370
|
-
if (typeof caseSpec.metadata === "function")
|
|
371
|
-
functionFields.push("metadata");
|
|
372
|
-
if (functionFields.length > 0) {
|
|
373
|
-
throw new Error(`contract.grpc(${JSON.stringify(contractId)}).case(${JSON.stringify(caseKey)}): ` +
|
|
374
|
-
`cannot use function-valued ${functionFields.join(" / ")} in a flow step — ` +
|
|
375
|
-
`these fields depend on case-local setup state which isn't available in flow mode. ` +
|
|
376
|
-
`Move the value into flow state and use step.in lens instead.`);
|
|
368
|
+
if (caseSpec.verify) {
|
|
369
|
+
await caseSpec.verify(ctx, result);
|
|
377
370
|
}
|
|
371
|
+
return result;
|
|
378
372
|
}
|
|
379
373
|
// =============================================================================
|
|
380
374
|
// classifyFailure — gRPC status 0-16 → FailureKind
|
|
@@ -463,13 +457,31 @@ function describeGrpcPayload(schemas) {
|
|
|
463
457
|
// Exported adapter
|
|
464
458
|
// =============================================================================
|
|
465
459
|
export const grpcAdapter = {
|
|
460
|
+
// v0 path: no overlay + no needs (no resolvedInput) → run case raw.
|
|
461
|
+
// Per attachment-model §5.1 step 5; the dispatcher only reaches this
|
|
462
|
+
// path when no overlay is registered AND `needs` is absent.
|
|
466
463
|
async execute(ctx, caseSpec, contractSpec) {
|
|
467
|
-
await
|
|
464
|
+
await executeStandaloneCaseGrpc(ctx, caseSpec, contractSpec, undefined);
|
|
465
|
+
},
|
|
466
|
+
// v10 attachment-model entry point. Dispatcher routes here when:
|
|
467
|
+
// - explicit input was supplied (§5.1 step 1), OR
|
|
468
|
+
// - bootstrap overlay produced `resolvedInput` (§5.1 step 3),
|
|
469
|
+
// after the overlay's run() and needs-validation passes.
|
|
470
|
+
async executeCase({ ctx, contract, caseKey, resolvedInput }) {
|
|
471
|
+
const spec = contract._spec;
|
|
472
|
+
const caseSpec = spec.cases[caseKey];
|
|
473
|
+
if (!caseSpec) {
|
|
474
|
+
throw new Error(`gRPC contract: unknown case key "${caseKey}".`);
|
|
475
|
+
}
|
|
476
|
+
await executeStandaloneCaseGrpc(ctx, caseSpec, spec, resolvedInput);
|
|
468
477
|
},
|
|
469
478
|
project: projectGrpc,
|
|
470
479
|
normalize: normalizeGrpc,
|
|
471
480
|
executeCaseInFlow: executeCaseInFlowGrpc,
|
|
472
|
-
|
|
481
|
+
// v10: no validateCaseForFlow — function-valued `request` / `metadata`
|
|
482
|
+
// are legal in flow mode (they receive the logical input from `step.in`
|
|
483
|
+
// lens). `needs`-vs-function-fields consistency is enforced by the type
|
|
484
|
+
// system + §5.3 load-time guard, not at flow registration.
|
|
473
485
|
classifyFailure: classifyGrpcFailure,
|
|
474
486
|
renderTarget: renderGrpcTarget,
|
|
475
487
|
// Markdown uses the SDK's generic structured renderer — gRPC has no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/contract/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/contract/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ import type { GrpcContractCase, GrpcContractDefaults, GrpcContractFactory, GrpcC
|
|
|
18
18
|
type InternalDefaults = GrpcContractDefaults & {
|
|
19
19
|
_name?: string;
|
|
20
20
|
};
|
|
21
|
-
type GrpcDispatch = <Req, Res, Cases extends Record<string, GrpcContractCase<Req, Res, any>>>(id: string, spec: GrpcContractSpec<Req, Res, Cases>) => ProtocolContract<GrpcContractSpec, GrpcPayloadSchemas, GrpcContractMeta>;
|
|
21
|
+
type GrpcDispatch = <Req, Res, Cases extends Record<string, GrpcContractCase<Req, Res, any>>>(id: string, spec: GrpcContractSpec<Req, Res, Cases>) => ProtocolContract<GrpcContractSpec<Req, Res, Cases>, GrpcPayloadSchemas, GrpcContractMeta, Cases>;
|
|
22
22
|
/**
|
|
23
23
|
* Build a scoped gRPC factory. `dispatch` is `contract.grpc` attached by the
|
|
24
24
|
* core's register() call — we wrap it to inject instance defaults.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,KAAK,gBAAgB,GAAG,oBAAoB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,KAAK,YAAY,GAAG,CAClB,GAAG,EACH,GAAG,EACH,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAE7D,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KACpC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAc,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,KAAK,gBAAgB,GAAG,oBAAoB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,KAAK,YAAY,GAAG,CAClB,GAAG,EACH,GAAG,EACH,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAE7D,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,KACpC,gBAAgB,CACnB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EACjC,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,CACN,CAAC;AA+CF;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,mBAAmB,CA+CrB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,gBAAgB,CAEvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/contract/index.d.ts
CHANGED
|
@@ -13,5 +13,6 @@
|
|
|
13
13
|
export { grpcAdapter } from "./adapter.js";
|
|
14
14
|
export { createGrpcFactory, createGrpcRoot } from "./factory.js";
|
|
15
15
|
export { grpcMatchers } from "./matchers.js";
|
|
16
|
+
export { defineGrpcCase } from "./types.js";
|
|
16
17
|
export type { GrpcContractCase, GrpcContractDefaults, GrpcContractExample, GrpcContractExpect, GrpcContractFactory, GrpcContractMeta, GrpcContractRoot, GrpcContractSafeMeta, GrpcContractSpec, GrpcCaseResult, GrpcFlowCaseOutput, GrpcPayloadSchemas, GrpcSafeSchemas, InferGrpcRequest, InferGrpcResponse, } from "./types.js";
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/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,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/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,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
|
package/dist/contract/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contract/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,YAAY,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contract/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,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* gRPC custom matchers for `ctx.expect()`.
|
|
3
3
|
*
|
|
4
|
-
* Registered
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* `
|
|
4
|
+
* Registered when the plugin manifest is installed via
|
|
5
|
+
* `installPlugin(grpcManifest)` in `glubean.setup.ts`. A bare
|
|
6
|
+
* `import "@glubean/grpc"` does not register matchers — use the manifest.
|
|
7
|
+
* Matchers become available on every `ctx.expect(res)` call and are fully
|
|
8
|
+
* typed via the `CustomMatchers<T>` declaration merging block below.
|
|
8
9
|
*
|
|
9
10
|
* Matchers work on any object that carries gRPC response shape, including:
|
|
10
11
|
* - `GrpcCallResult` from `@glubean/grpc` transport (direct client.call)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAM/E,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,cAAc,CAAC,CAAC;QACxB;;;;;;;;WAQG;QACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAEjE;;;;;WAKG;QACH,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE/C;;;;;;;;;WASG;QACH,kBAAkB,CAChB,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,WAAW,CAAC,CAAC,CAAC,CAAC;KACnB;CACF;AAgJD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;wCA1Gf,OAAO,WACN,OAAO,EAAE,KACjB,aAAa;oCAyBc,OAAO,KAAG,aAAa;0CAwB3C,OAAO,WACN,OAAO,EAAE,KACjB,aAAa;CAyDN,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* gRPC custom matchers for `ctx.expect()`.
|
|
3
3
|
*
|
|
4
|
-
* Registered
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* `
|
|
4
|
+
* Registered when the plugin manifest is installed via
|
|
5
|
+
* `installPlugin(grpcManifest)` in `glubean.setup.ts`. A bare
|
|
6
|
+
* `import "@glubean/grpc"` does not register matchers — use the manifest.
|
|
7
|
+
* Matchers become available on every `ctx.expect(res)` call and are fully
|
|
8
|
+
* typed via the `CustomMatchers<T>` declaration merging block below.
|
|
8
9
|
*
|
|
9
10
|
* Matchers work on any object that carries gRPC response shape, including:
|
|
10
11
|
* - `GrpcCallResult` from `@glubean/grpc` transport (direct client.call)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"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"}
|
package/dist/contract/types.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* - Phase 1 scope: unary RPCs only (no streaming)
|
|
15
15
|
*/
|
|
16
16
|
import type { SchemaLike, TestContext } from "@glubean/sdk";
|
|
17
|
-
import type { BaseCaseSpec, Extensions } from "@glubean/sdk";
|
|
17
|
+
import type { BaseCaseSpec, Extensions, ProtocolContract } from "@glubean/sdk";
|
|
18
18
|
import type { GrpcClient } from "../index.js";
|
|
19
19
|
/**
|
|
20
20
|
* Defaults for a gRPC contract instance (contract.grpc.with("name", {...})).
|
|
@@ -67,13 +67,22 @@ export interface GrpcContractExpect<T = unknown> {
|
|
|
67
67
|
examples?: Record<string, GrpcContractExample<T>>;
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
|
-
* One case on a gRPC contract.
|
|
70
|
+
* One case on a gRPC contract (attachment-model v10).
|
|
71
71
|
*
|
|
72
|
-
* Function-valued
|
|
73
|
-
*
|
|
74
|
-
*
|
|
72
|
+
* Function-valued `request` / `metadata` receive the case's **logical
|
|
73
|
+
* input** — the value matching `needs: SchemaLike<Needs>`. In standalone
|
|
74
|
+
* mode the input comes from a bootstrap overlay's `run()` output or
|
|
75
|
+
* CLI `--input-json`; in flow mode from `step.bindings.in(state)`. There
|
|
76
|
+
* is no per-case setup state in v10 (per attachment-model §4.1 — case is
|
|
77
|
+
* pure semantics, not lifecycle).
|
|
75
78
|
*/
|
|
76
|
-
export interface GrpcContractCase<Req = unknown, Res = unknown,
|
|
79
|
+
export interface GrpcContractCase<Req = unknown, Res = unknown, Needs = void> extends BaseCaseSpec {
|
|
80
|
+
/**
|
|
81
|
+
* Per-case logical input schema (redeclares `BaseCaseSpec.needs` with
|
|
82
|
+
* the case's own `Needs` so action fields can type-narrow correctly).
|
|
83
|
+
* Mirrors HTTP `ContractCase.needs` redeclaration (Phase 2c B+C).
|
|
84
|
+
*/
|
|
85
|
+
needs?: SchemaLike<Needs>;
|
|
77
86
|
/** Per-case gRPC client override. */
|
|
78
87
|
client?: GrpcClient;
|
|
79
88
|
/** Why this case exists — required. */
|
|
@@ -81,21 +90,33 @@ export interface GrpcContractCase<Req = unknown, Res = unknown, S = void> extend
|
|
|
81
90
|
/** Expected response. */
|
|
82
91
|
expect?: GrpcContractExpect<Res>;
|
|
83
92
|
/**
|
|
84
|
-
* Request message. Object shorthand or a function of
|
|
85
|
-
* Merged deep-style over contract
|
|
93
|
+
* Request message. Object shorthand or a function of the case's
|
|
94
|
+
* logical input (matching `needs`). Merged deep-style over contract
|
|
95
|
+
* `defaultRequest`.
|
|
86
96
|
*/
|
|
87
|
-
request?: Req | ((
|
|
88
|
-
/**
|
|
89
|
-
|
|
97
|
+
request?: Req | ((input: Needs) => Req);
|
|
98
|
+
/**
|
|
99
|
+
* Per-call metadata (merged with instance + contract defaults).
|
|
100
|
+
* Function form receives the case's logical input.
|
|
101
|
+
*/
|
|
102
|
+
metadata?: Record<string, string> | ((input: Needs) => Record<string, string>);
|
|
90
103
|
/** Per-call deadline in ms (overrides instance / contract defaults). */
|
|
91
104
|
deadlineMs?: number;
|
|
92
|
-
/** Setup runs before the call. Return value flows to request/metadata fn + teardown. */
|
|
93
|
-
setup?: (ctx: TestContext) => Promise<S>;
|
|
94
|
-
/** Teardown runs after verify, even on failure. */
|
|
95
|
-
teardown?: (ctx: TestContext, state: S) => Promise<void>;
|
|
96
105
|
/** Business-logic verify — runs after status + schema + message match. */
|
|
97
106
|
verify?: (ctx: TestContext, res: GrpcCaseResult<Res>) => void | Promise<void>;
|
|
98
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Case factory for input-bearing gRPC cases.
|
|
110
|
+
*
|
|
111
|
+
* TypeScript cannot infer and correlate `needs` with function-valued sibling
|
|
112
|
+
* fields inside a plain object literal. Capturing `Needs` at the case's own
|
|
113
|
+
* const site makes `request` and `metadata` functions type-check against the
|
|
114
|
+
* declared logical input.
|
|
115
|
+
*
|
|
116
|
+
* The default request type is a record rather than `unknown` so the static
|
|
117
|
+
* branch does not swallow function values and bypass the `Needs` check.
|
|
118
|
+
*/
|
|
119
|
+
export declare function defineGrpcCase<Needs = void, Req = Record<string, unknown>, Res = unknown>(c: GrpcContractCase<Req, Res, Needs>): GrpcContractCase<Req, Res, Needs>;
|
|
99
120
|
/**
|
|
100
121
|
* Result of running a single case. This is also the `CaseOutput` shape that
|
|
101
122
|
* flow `step.out(state, res)` lens receives.
|
|
@@ -214,10 +235,19 @@ export type GrpcFlowCaseOutput<Res = unknown> = GrpcCaseResult<Res>;
|
|
|
214
235
|
export type GrpcContractRoot = {
|
|
215
236
|
with: (instanceName: string, defaults?: GrpcContractDefaults) => GrpcContractFactory;
|
|
216
237
|
};
|
|
217
|
-
export type GrpcContractFactory = <Req, Res, Cases extends Record<string, GrpcContractCase<Req, Res, any>>>(id: string, spec: GrpcContractSpec<Req, Res, Cases>) =>
|
|
238
|
+
export type GrpcContractFactory = <Req, Res, Cases extends Record<string, GrpcContractCase<Req, Res, any>>>(id: string, spec: GrpcContractSpec<Req, Res, Cases>) => ProtocolContract<GrpcContractSpec<Req, Res, Cases>, GrpcPayloadSchemas, GrpcContractMeta, Cases>;
|
|
239
|
+
declare module "@glubean/sdk" {
|
|
240
|
+
interface ContractProtocolRoots {
|
|
241
|
+
grpc: GrpcContractRoot;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
218
244
|
/**
|
|
219
245
|
* Infer request type from a GrpcContractCase. Placeholder for future
|
|
220
246
|
* ergonomic inference helpers parallel to HTTP's InferHttpInputs.
|
|
247
|
+
*
|
|
248
|
+
* Third generic slot is now `Needs` (was v9's `S` setup-state). Using
|
|
249
|
+
* `any` in the don't-care slot per Spike 0 Finding 2 (contravariant
|
|
250
|
+
* positions need `any`, not `unknown`, to keep inference stable).
|
|
221
251
|
*/
|
|
222
252
|
export type InferGrpcRequest<C> = C extends GrpcContractCase<infer Req, any, any> ? Req : never;
|
|
223
253
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contract/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contract/types.ts"],"names":[],"mappings":"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"}
|
package/dist/contract/types.js
CHANGED
|
@@ -13,5 +13,18 @@
|
|
|
13
13
|
* - Deadlines replace HTTP timeouts (ms)
|
|
14
14
|
* - Phase 1 scope: unary RPCs only (no streaming)
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Case factory for input-bearing gRPC cases.
|
|
18
|
+
*
|
|
19
|
+
* TypeScript cannot infer and correlate `needs` with function-valued sibling
|
|
20
|
+
* fields inside a plain object literal. Capturing `Needs` at the case's own
|
|
21
|
+
* const site makes `request` and `metadata` functions type-check against the
|
|
22
|
+
* declared logical input.
|
|
23
|
+
*
|
|
24
|
+
* The default request type is a record rather than `unknown` so the static
|
|
25
|
+
* branch does not swallow function values and bypass the `Needs` check.
|
|
26
|
+
*/
|
|
27
|
+
export function defineGrpcCase(c) {
|
|
28
|
+
return c;
|
|
29
|
+
}
|
|
17
30
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/contract/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/contract/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+HH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAI5B,CAAoC;IACpC,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @glubean/grpc 0.2.0 — single-package owner of both:
|
|
3
3
|
* - Transport / test-plugin layer (this file — unchanged from 0.1.x)
|
|
4
|
-
* - Contract adapter layer (`./contract/`,
|
|
4
|
+
* - Contract adapter layer (`./contract/`, installed via plugin manifest)
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Install the default plugin manifest from glubean.setup.ts to register the
|
|
7
|
+
* gRPC contract adapter:
|
|
8
|
+
* `installPlugin(grpcPlugin)` → `contract.grpc.with(...)` UX.
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
+
* Registration lives in the plugin manifest + `setup()` at the bottom of this
|
|
11
|
+
* file; `./contract/index.ts` is side-effect-free and only re-exports the
|
|
12
|
+
* adapter, factory, matchers, and types referenced by the manifest. See
|
|
10
13
|
* `internal/40-discovery/proposals/contract-grpc-graphql-expansion.md` §5.1
|
|
11
14
|
* for the single-package rationale ("contract is a first-class citizen").
|
|
12
15
|
*
|
|
@@ -233,6 +236,6 @@ export declare const GRPC_REDACTION_SCOPES: ({
|
|
|
233
236
|
*/
|
|
234
237
|
declare const grpcPlugin: PluginManifest;
|
|
235
238
|
export default grpcPlugin;
|
|
236
|
-
export { grpcAdapter, createGrpcFactory, createGrpcRoot, grpcMatchers, } from "./contract/index.js";
|
|
239
|
+
export { grpcAdapter, createGrpcFactory, createGrpcRoot, defineGrpcCase, grpcMatchers, } from "./contract/index.js";
|
|
237
240
|
export type { GrpcContractCase, GrpcContractDefaults, GrpcContractExample, GrpcContractExpect, GrpcContractFactory, GrpcContractMeta, GrpcContractRoot, GrpcContractSafeMeta, GrpcContractSpec, GrpcCaseResult, GrpcFlowCaseOutput, GrpcPayloadSchemas, GrpcSafeSchemas, InferGrpcRequest, InferGrpcResponse, } from "./contract/index.js";
|
|
238
241
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @glubean/grpc 0.2.0 — single-package owner of both:
|
|
3
3
|
* - Transport / test-plugin layer (this file — unchanged from 0.1.x)
|
|
4
|
-
* - Contract adapter layer (`./contract/`,
|
|
4
|
+
* - Contract adapter layer (`./contract/`, installed via plugin manifest)
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Install the default plugin manifest from glubean.setup.ts to register the
|
|
7
|
+
* gRPC contract adapter:
|
|
8
|
+
* `installPlugin(grpcPlugin)` → `contract.grpc.with(...)` UX.
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
+
* Registration lives in the plugin manifest + `setup()` at the bottom of this
|
|
11
|
+
* file; `./contract/index.ts` is side-effect-free and only re-exports the
|
|
12
|
+
* adapter, factory, matchers, and types referenced by the manifest. See
|
|
10
13
|
* `internal/40-discovery/proposals/contract-grpc-graphql-expansion.md` §5.1
|
|
11
14
|
* for the single-package rationale ("contract is a first-class citizen").
|
|
12
15
|
*
|
|
@@ -372,5 +375,5 @@ const grpcPlugin = definePlugin({
|
|
|
372
375
|
});
|
|
373
376
|
export default grpcPlugin;
|
|
374
377
|
// Re-export contract surface for type consumers
|
|
375
|
-
export { grpcAdapter, createGrpcFactory, createGrpcRoot, grpcMatchers, } from "./contract/index.js";
|
|
378
|
+
export { grpcAdapter, createGrpcFactory, createGrpcRoot, defineGrpcCase, grpcMatchers, } from "./contract/index.js";
|
|
376
379
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glubean/grpc",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"./dist/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@glubean/sdk": "0.2.
|
|
23
|
+
"@glubean/sdk": "0.2.3"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"@grpc/grpc-js": "^1.12.0",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "tsc -p tsconfig.build.json",
|
|
42
|
-
"test": "vitest run"
|
|
42
|
+
"test": "vitest run && npm run test:types",
|
|
43
|
+
"test:types": "tsc --noEmit -p tsconfig.json"
|
|
43
44
|
}
|
|
44
45
|
}
|