@glubean/grpc 0.2.1 → 0.2.3
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/adapter.d.ts +13 -15
- package/dist/contract/adapter.d.ts.map +1 -1
- package/dist/contract/adapter.js +170 -184
- 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 +12 -10
- package/dist/contract/factory.js.map +1 -1
- package/dist/contract/index.d.ts +9 -26
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/contract/index.js +9 -43
- package/dist/contract/index.js.map +1 -1
- package/dist/contract/matchers.d.ts +10 -8
- package/dist/contract/matchers.d.ts.map +1 -1
- package/dist/contract/matchers.js +11 -25
- package/dist/contract/matchers.js.map +1 -1
- package/dist/contract/types.d.ts +28 -26
- package/dist/contract/types.d.ts.map +1 -1
- package/dist/index.d.ts +26 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -12
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -5,15 +5,22 @@
|
|
|
5
5
|
* model — "contract is a first-class citizen"). Registered via
|
|
6
6
|
* `contract.register("grpc", grpcAdapter)` on import — see ./index.ts.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* Attachment-model v10 adapter (Spike 4 migration). No per-case lifecycle:
|
|
9
|
+
* the case is pure semantics; setup-style work belongs to a
|
|
10
|
+
* `contract.bootstrap()` overlay. Function-valued `request` / `metadata`
|
|
11
|
+
* receive the case's logical input (matching `needs`), not v9 setup state.
|
|
12
|
+
*
|
|
13
|
+
* Responsibilities (same interface as HTTP adapter post-Phase-2c B+C):
|
|
14
|
+
* - execute: §5.1 step 5 raw run with no input (no overlay + no needs)
|
|
15
|
+
* - executeCase: v10 entry point — receives `resolvedInput` from
|
|
16
|
+
* dispatcher (§5.1 steps 1+3 — explicit input or overlay output)
|
|
17
|
+
* - executeCaseInFlow: receives logical input from `step.in` lens
|
|
18
|
+
* - project: runtime ContractProjection threading
|
|
19
|
+
* `given` / `runnability` / `hasNeeds` / `needsSchema`
|
|
13
20
|
* - normalize: runtime → JSON-safe ExtractedContractProjection
|
|
14
21
|
* - classifyFailure: gRPC status 0-16 → FailureKind
|
|
15
22
|
* - renderTarget: "Service/Method" → "Service.Method" (display-only)
|
|
16
|
-
* -
|
|
23
|
+
* - artifacts.markdown: case list
|
|
17
24
|
* - describePayload: high-level summary for index views
|
|
18
25
|
*
|
|
19
26
|
* Phase 1 scope: unary RPCs only. Streaming deferred to Phase 2.
|
|
@@ -31,14 +38,5 @@ export declare function parseTarget(target: string): {
|
|
|
31
38
|
} | undefined;
|
|
32
39
|
/** Convert a SchemaLike to a JSON Schema fragment if possible (best-effort). */
|
|
33
40
|
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
41
|
export declare const grpcAdapter: ContractProtocolAdapter<GrpcContractSpec, GrpcPayloadSchemas, GrpcContractMeta, GrpcSafeSchemas, GrpcContractSafeMeta>;
|
|
44
42
|
//# 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;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;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;AAgfD,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
|
@@ -5,19 +5,27 @@
|
|
|
5
5
|
* model — "contract is a first-class citizen"). Registered via
|
|
6
6
|
* `contract.register("grpc", grpcAdapter)` on import — see ./index.ts.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
8
|
+
* Attachment-model v10 adapter (Spike 4 migration). No per-case lifecycle:
|
|
9
|
+
* the case is pure semantics; setup-style work belongs to a
|
|
10
|
+
* `contract.bootstrap()` overlay. Function-valued `request` / `metadata`
|
|
11
|
+
* receive the case's logical input (matching `needs`), not v9 setup state.
|
|
12
|
+
*
|
|
13
|
+
* Responsibilities (same interface as HTTP adapter post-Phase-2c B+C):
|
|
14
|
+
* - execute: §5.1 step 5 raw run with no input (no overlay + no needs)
|
|
15
|
+
* - executeCase: v10 entry point — receives `resolvedInput` from
|
|
16
|
+
* dispatcher (§5.1 steps 1+3 — explicit input or overlay output)
|
|
17
|
+
* - executeCaseInFlow: receives logical input from `step.in` lens
|
|
18
|
+
* - project: runtime ContractProjection threading
|
|
19
|
+
* `given` / `runnability` / `hasNeeds` / `needsSchema`
|
|
13
20
|
* - normalize: runtime → JSON-safe ExtractedContractProjection
|
|
14
21
|
* - classifyFailure: gRPC status 0-16 → FailureKind
|
|
15
22
|
* - renderTarget: "Service/Method" → "Service.Method" (display-only)
|
|
16
|
-
* -
|
|
23
|
+
* - artifacts.markdown: case list
|
|
17
24
|
* - describePayload: high-level summary for index views
|
|
18
25
|
*
|
|
19
26
|
* Phase 1 scope: unary RPCs only. Streaming deferred to Phase 2.
|
|
20
27
|
*/
|
|
28
|
+
import { genericMarkdownPart } from "@glubean/sdk";
|
|
21
29
|
// =============================================================================
|
|
22
30
|
// Helpers
|
|
23
31
|
// =============================================================================
|
|
@@ -86,20 +94,27 @@ function resolveClient(caseSpec, spec) {
|
|
|
86
94
|
}
|
|
87
95
|
return client;
|
|
88
96
|
}
|
|
89
|
-
/**
|
|
90
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Merge metadata: instance defaults < contract defaults < case.
|
|
99
|
+
* v10 — function form receives the case's logical input (matching `needs`),
|
|
100
|
+
* NOT setup state.
|
|
101
|
+
*/
|
|
102
|
+
function resolveMetadata(spec, caseSpec, resolvedInput) {
|
|
91
103
|
const caseMd = typeof caseSpec.metadata === "function"
|
|
92
|
-
? caseSpec.metadata(
|
|
104
|
+
? caseSpec.metadata(resolvedInput)
|
|
93
105
|
: caseSpec.metadata;
|
|
94
106
|
const specMd = spec.defaultMetadata;
|
|
95
107
|
if (!caseMd && !specMd)
|
|
96
108
|
return undefined;
|
|
97
109
|
return { ...(specMd ?? {}), ...(caseMd ?? {}) };
|
|
98
110
|
}
|
|
99
|
-
/**
|
|
100
|
-
|
|
111
|
+
/**
|
|
112
|
+
* Resolve request with deep-merge: contract.defaultRequest < case.request.
|
|
113
|
+
* v10 — function form receives the case's logical input (matching `needs`).
|
|
114
|
+
*/
|
|
115
|
+
function resolveRequest(spec, caseSpec, resolvedInput) {
|
|
101
116
|
const caseReq = typeof caseSpec.request === "function"
|
|
102
|
-
? caseSpec.request(
|
|
117
|
+
? caseSpec.request(resolvedInput)
|
|
103
118
|
: caseSpec.request;
|
|
104
119
|
const merged = deepMerge(spec.defaultRequest, caseReq);
|
|
105
120
|
return merged;
|
|
@@ -112,63 +127,61 @@ function resolveDeadline(spec, caseSpec) {
|
|
|
112
127
|
// executeCase — standard (non-flow) case execution
|
|
113
128
|
// =============================================================================
|
|
114
129
|
/**
|
|
115
|
-
* Execute one gRPC contract case
|
|
130
|
+
* Execute one gRPC contract case (attachment-model v10).
|
|
131
|
+
*
|
|
132
|
+
* `resolvedInput` is the case's already-validated logical input
|
|
133
|
+
* (matches `needs` schema). Function-valued `request` / `metadata`
|
|
134
|
+
* receive it as their argument. When the case has no `needs` and no
|
|
135
|
+
* overlay/explicit-input is supplied, `resolvedInput` is undefined —
|
|
136
|
+
* function-valued fields then receive undefined (author error per
|
|
137
|
+
* §5.3 load-time guard "Adapter request builder is a function but
|
|
138
|
+
* case has no `needs`"; runtime tolerates it).
|
|
116
139
|
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
140
|
+
* No per-case setup/teardown in v10 — the contract case is pure
|
|
141
|
+
* semantics; setup-style work belongs to a `contract.bootstrap()`
|
|
142
|
+
* overlay (whose `ctx.cleanup(...)` runs LIFO around this fn).
|
|
120
143
|
*/
|
|
121
|
-
async function
|
|
144
|
+
async function executeStandaloneCaseGrpc(ctx, caseSpec, spec, resolvedInput) {
|
|
122
145
|
const parsedTarget = parseTarget(spec.target);
|
|
123
146
|
if (!parsedTarget) {
|
|
124
147
|
throw new Error(`gRPC contract: invalid target "${spec.target}". Expected "ServiceName/MethodName".`);
|
|
125
148
|
}
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
if (
|
|
148
|
-
ctx.
|
|
149
|
-
}
|
|
150
|
-
if (expectedStatus === 0) {
|
|
151
|
-
if (expect.schema) {
|
|
152
|
-
ctx.validate(result.message, expect.schema, `response message`);
|
|
153
|
-
}
|
|
154
|
-
if (expect.message) {
|
|
155
|
-
ctx.expect(result.message).toMatchObject(expect.message);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
if (expect.metadataMatch) {
|
|
159
|
-
ctx.expect(result.responseMetadata).toMatchObject(expect.metadataMatch);
|
|
160
|
-
}
|
|
161
|
-
if (expect.metadata) {
|
|
162
|
-
ctx.validate(result.responseMetadata, expect.metadata, `response metadata`);
|
|
149
|
+
const client = resolveClient(caseSpec, spec);
|
|
150
|
+
const request = resolveRequest(spec, caseSpec, resolvedInput);
|
|
151
|
+
const metadata = resolveMetadata(spec, caseSpec, resolvedInput);
|
|
152
|
+
const deadlineMs = resolveDeadline(spec, caseSpec);
|
|
153
|
+
const callResult = await client.call(parsedTarget.method, request, {
|
|
154
|
+
...(metadata ? { metadata } : {}),
|
|
155
|
+
...(deadlineMs !== undefined ? { deadlineMs } : {}),
|
|
156
|
+
});
|
|
157
|
+
const result = {
|
|
158
|
+
message: callResult.message,
|
|
159
|
+
status: callResult.status,
|
|
160
|
+
responseMetadata: callResult.responseMetadata,
|
|
161
|
+
duration: callResult.duration,
|
|
162
|
+
};
|
|
163
|
+
// Assertions
|
|
164
|
+
const expect = caseSpec.expect ?? {};
|
|
165
|
+
const expectedStatus = expect.statusCode ?? 0;
|
|
166
|
+
if (result.status.code !== expectedStatus) {
|
|
167
|
+
ctx.assert(false, `Expected gRPC status code ${expectedStatus} but got ${result.status.code} (${result.status.details})`, { actual: result.status.code, expected: expectedStatus });
|
|
168
|
+
}
|
|
169
|
+
if (expectedStatus === 0) {
|
|
170
|
+
if (expect.schema) {
|
|
171
|
+
ctx.validate(result.message, expect.schema, `response message`);
|
|
163
172
|
}
|
|
164
|
-
if (
|
|
165
|
-
|
|
173
|
+
if (expect.message) {
|
|
174
|
+
ctx.expect(result.message).toMatchObject(expect.message);
|
|
166
175
|
}
|
|
167
176
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
177
|
+
if (expect.metadataMatch) {
|
|
178
|
+
ctx.expect(result.responseMetadata).toMatchObject(expect.metadataMatch);
|
|
179
|
+
}
|
|
180
|
+
if (expect.metadata) {
|
|
181
|
+
ctx.validate(result.responseMetadata, expect.metadata, `response metadata`);
|
|
182
|
+
}
|
|
183
|
+
if (caseSpec.verify) {
|
|
184
|
+
await caseSpec.verify(ctx, result);
|
|
172
185
|
}
|
|
173
186
|
}
|
|
174
187
|
// =============================================================================
|
|
@@ -207,13 +220,25 @@ function projectGrpc(spec) {
|
|
|
207
220
|
extensions: casted.extensions,
|
|
208
221
|
requires: casted.requires,
|
|
209
222
|
defaultRun: casted.defaultRun,
|
|
223
|
+
// v10 attachment-model — thread `given` / `runnability` semantic +
|
|
224
|
+
// inventory fields through projection. `hasNeeds` is the
|
|
225
|
+
// authoritative rawBypass trigger downstream; `needsSchema` is
|
|
226
|
+
// the live SchemaLike that normalize() converts to JSON-safe.
|
|
227
|
+
given: casted.given,
|
|
228
|
+
runnability: casted.runnability,
|
|
229
|
+
hasNeeds: casted.needs !== undefined,
|
|
230
|
+
needsSchema: casted.needs,
|
|
210
231
|
};
|
|
211
232
|
});
|
|
233
|
+
// Read factory-provided metadata from the internal `_factory` channel
|
|
234
|
+
// populated by `mergeGrpcDefaults`.
|
|
235
|
+
const factory = spec._factory;
|
|
212
236
|
return {
|
|
213
237
|
protocol: "grpc",
|
|
214
238
|
target: spec.target,
|
|
215
239
|
description: spec.description,
|
|
216
240
|
feature: spec.feature,
|
|
241
|
+
instanceName: factory?.instanceName,
|
|
217
242
|
tags: spec.tags,
|
|
218
243
|
extensions: spec.extensions,
|
|
219
244
|
deprecated: spec.deprecated,
|
|
@@ -233,7 +258,18 @@ function normalizeGrpc(projection) {
|
|
|
233
258
|
response: schemaToJsonSchema(s.response) ?? undefined,
|
|
234
259
|
metadata: schemaToJsonSchema(s.metadata) ?? undefined,
|
|
235
260
|
};
|
|
236
|
-
|
|
261
|
+
// v10 — convert needsSchema to JSON-safe (may be null when the
|
|
262
|
+
// SchemaLike is opaque safeParse-only; `hasNeeds` decoupled
|
|
263
|
+
// remains true regardless).
|
|
264
|
+
const safeNeeds = schemaToJsonSchema(c.needsSchema) ?? undefined;
|
|
265
|
+
return {
|
|
266
|
+
...c,
|
|
267
|
+
schemas: safe,
|
|
268
|
+
given: c.given,
|
|
269
|
+
runnability: c.runnability,
|
|
270
|
+
hasNeeds: c.hasNeeds,
|
|
271
|
+
needsSchema: safeNeeds,
|
|
272
|
+
};
|
|
237
273
|
});
|
|
238
274
|
return {
|
|
239
275
|
id: projection.id,
|
|
@@ -254,19 +290,24 @@ function normalizeGrpc(projection) {
|
|
|
254
290
|
// executeCaseInFlow — flow-mode execution
|
|
255
291
|
// =============================================================================
|
|
256
292
|
/**
|
|
257
|
-
* Flow-mode case execution. Called by core's
|
|
293
|
+
* Flow-mode case execution (attachment-model v10). Called by core's
|
|
294
|
+
* `FlowBuilder.step()` dispatch.
|
|
258
295
|
*
|
|
259
296
|
* Core has already:
|
|
260
|
-
* 1. Computed `resolvedInputs` via `step.bindings.in(state)`
|
|
297
|
+
* 1. Computed `resolvedInputs` via `step.bindings.in(state)` — this is
|
|
298
|
+
* the case's LOGICAL input (matches `needs`), NOT a v9 adapter patch
|
|
261
299
|
* 2. Prepared current flow state
|
|
262
300
|
* 3. Passed the live ProtocolContract (access merged scoped-factory state
|
|
263
301
|
* via `contract._spec`)
|
|
264
302
|
*
|
|
265
303
|
* Adapter responsibilities:
|
|
266
|
-
* 1.
|
|
267
|
-
*
|
|
268
|
-
*
|
|
269
|
-
*
|
|
304
|
+
* 1. Pass `resolvedInputs` to function-valued `request` / `metadata`
|
|
305
|
+
* (static values pass through unchanged; contract-level
|
|
306
|
+
* `defaultRequest` / `defaultMetadata` still merge under)
|
|
307
|
+
* 2. Run call / expect / verify. There is no per-case setup or
|
|
308
|
+
* teardown in v10 (Spike 4 migration removed both fields); flow-
|
|
309
|
+
* level lifecycle is owned by the flow orchestrator's `setup()` /
|
|
310
|
+
* `teardown()` and per-step `contract.bootstrap()` overlays
|
|
270
311
|
* 3. Return GrpcFlowCaseOutput (= GrpcCaseResult<Res>) for `step.out` lens
|
|
271
312
|
*/
|
|
272
313
|
async function executeCaseInFlowGrpc(input) {
|
|
@@ -280,96 +321,49 @@ async function executeCaseInFlowGrpc(input) {
|
|
|
280
321
|
if (!parsed) {
|
|
281
322
|
throw new Error(`gRPC contract: invalid target "${spec.target}". Expected "ServiceName/MethodName".`);
|
|
282
323
|
}
|
|
283
|
-
//
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
responseMetadata: callResult.responseMetadata,
|
|
312
|
-
duration: callResult.duration,
|
|
313
|
-
};
|
|
314
|
-
// Assertions (same as executeCase, except allow tolerant behavior
|
|
315
|
-
// under the caller's flow orchestration)
|
|
316
|
-
const expect = caseSpec.expect ?? {};
|
|
317
|
-
const expectedStatus = expect.statusCode ?? 0;
|
|
318
|
-
if (result.status.code !== expectedStatus) {
|
|
319
|
-
ctx.assert(false, `Expected gRPC status code ${expectedStatus} but got ${result.status.code} (${result.status.details})`, { actual: result.status.code, expected: expectedStatus });
|
|
320
|
-
}
|
|
321
|
-
if (expectedStatus === 0) {
|
|
322
|
-
if (expect.schema) {
|
|
323
|
-
ctx.validate(result.message, expect.schema, `response message`);
|
|
324
|
-
}
|
|
325
|
-
if (expect.message) {
|
|
326
|
-
ctx.expect(result.message).toMatchObject(expect.message);
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
if (expect.metadataMatch) {
|
|
330
|
-
ctx.expect(result.responseMetadata).toMatchObject(expect.metadataMatch);
|
|
331
|
-
}
|
|
332
|
-
if (expect.metadata) {
|
|
333
|
-
ctx.validate(result.responseMetadata, expect.metadata, `response metadata`);
|
|
324
|
+
// v10 — `resolvedInputs` is the LOGICAL case input (matches `needs`),
|
|
325
|
+
// NOT an adapter patch. Function-valued `request` / `metadata` receive
|
|
326
|
+
// it; static values pass through. No setup / teardown — gone in v10
|
|
327
|
+
// (case has no lifecycle per attachment-model §4.1; flow orchestrator
|
|
328
|
+
// owns lifecycle, bootstrap overlay does pre-state, not case).
|
|
329
|
+
const client = resolveClient(caseSpec, spec);
|
|
330
|
+
const request = resolveRequest(spec, caseSpec, resolvedInputs);
|
|
331
|
+
const metadata = resolveMetadata(spec, caseSpec, resolvedInputs);
|
|
332
|
+
const deadlineMs = resolveDeadline(spec, caseSpec);
|
|
333
|
+
const callResult = await client.call(parsed.method, request, {
|
|
334
|
+
...(metadata ? { metadata } : {}),
|
|
335
|
+
...(deadlineMs !== undefined ? { deadlineMs } : {}),
|
|
336
|
+
});
|
|
337
|
+
const result = {
|
|
338
|
+
message: callResult.message,
|
|
339
|
+
status: callResult.status,
|
|
340
|
+
responseMetadata: callResult.responseMetadata,
|
|
341
|
+
duration: callResult.duration,
|
|
342
|
+
};
|
|
343
|
+
// Assertions (same as standalone path).
|
|
344
|
+
const expect = caseSpec.expect ?? {};
|
|
345
|
+
const expectedStatus = expect.statusCode ?? 0;
|
|
346
|
+
if (result.status.code !== expectedStatus) {
|
|
347
|
+
ctx.assert(false, `Expected gRPC status code ${expectedStatus} but got ${result.status.code} (${result.status.details})`, { actual: result.status.code, expected: expectedStatus });
|
|
348
|
+
}
|
|
349
|
+
if (expectedStatus === 0) {
|
|
350
|
+
if (expect.schema) {
|
|
351
|
+
ctx.validate(result.message, expect.schema, `response message`);
|
|
334
352
|
}
|
|
335
|
-
if (
|
|
336
|
-
|
|
353
|
+
if (expect.message) {
|
|
354
|
+
ctx.expect(result.message).toMatchObject(expect.message);
|
|
337
355
|
}
|
|
338
|
-
return result;
|
|
339
356
|
}
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
await caseSpec.teardown(ctx, state);
|
|
343
|
-
}
|
|
357
|
+
if (expect.metadataMatch) {
|
|
358
|
+
ctx.expect(result.responseMetadata).toMatchObject(expect.metadataMatch);
|
|
344
359
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
// validateCaseForFlow — reject function-valued fields in flow mode
|
|
348
|
-
// =============================================================================
|
|
349
|
-
/**
|
|
350
|
-
* Reject cases that reference case-local setup state via function-valued
|
|
351
|
-
* `request` or `metadata` fields when used in a flow. Flow mode can't
|
|
352
|
-
* supply per-case setup state (state belongs to flow orchestration).
|
|
353
|
-
*
|
|
354
|
-
* Parallels HTTP's `validateHttpCaseForFlow` — same discipline as HTTP's
|
|
355
|
-
* function-valued body/params/query/headers rejection.
|
|
356
|
-
*/
|
|
357
|
-
export function validateGrpcCaseForFlow(spec, caseKey, contractId) {
|
|
358
|
-
const caseSpec = spec.cases[caseKey];
|
|
359
|
-
if (!caseSpec) {
|
|
360
|
-
throw new Error(`contract.grpc(${JSON.stringify(contractId)}).case(${JSON.stringify(caseKey)}): case not found.`);
|
|
360
|
+
if (expect.metadata) {
|
|
361
|
+
ctx.validate(result.responseMetadata, expect.metadata, `response metadata`);
|
|
361
362
|
}
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
functionFields.push("request");
|
|
365
|
-
if (typeof caseSpec.metadata === "function")
|
|
366
|
-
functionFields.push("metadata");
|
|
367
|
-
if (functionFields.length > 0) {
|
|
368
|
-
throw new Error(`contract.grpc(${JSON.stringify(contractId)}).case(${JSON.stringify(caseKey)}): ` +
|
|
369
|
-
`cannot use function-valued ${functionFields.join(" / ")} in a flow step — ` +
|
|
370
|
-
`these fields depend on case-local setup state which isn't available in flow mode. ` +
|
|
371
|
-
`Move the value into flow state and use step.in lens instead.`);
|
|
363
|
+
if (caseSpec.verify) {
|
|
364
|
+
await caseSpec.verify(ctx, result);
|
|
372
365
|
}
|
|
366
|
+
return result;
|
|
373
367
|
}
|
|
374
368
|
// =============================================================================
|
|
375
369
|
// classifyFailure — gRPC status 0-16 → FailureKind
|
|
@@ -443,36 +437,6 @@ function renderGrpcTarget(target) {
|
|
|
443
437
|
return `${parsed.service}.${parsed.method}`;
|
|
444
438
|
}
|
|
445
439
|
// =============================================================================
|
|
446
|
-
// toMarkdown — case list, no OpenAPI
|
|
447
|
-
// =============================================================================
|
|
448
|
-
function toMarkdownGrpc(projection) {
|
|
449
|
-
const lines = [];
|
|
450
|
-
const displayTarget = renderGrpcTarget(projection.target ?? "");
|
|
451
|
-
lines.push(`### ${projection.id} — ${displayTarget}`);
|
|
452
|
-
if (projection.description)
|
|
453
|
-
lines.push(`\n${projection.description}`);
|
|
454
|
-
if (projection.deprecated)
|
|
455
|
-
lines.push(`\n**Deprecated:** ${projection.deprecated}`);
|
|
456
|
-
if (projection.cases.length === 0) {
|
|
457
|
-
lines.push("\n_(no cases)_");
|
|
458
|
-
return lines.join("\n");
|
|
459
|
-
}
|
|
460
|
-
lines.push("\n**Cases:**\n");
|
|
461
|
-
for (const c of projection.cases) {
|
|
462
|
-
const marker = c.lifecycle === "deprecated"
|
|
463
|
-
? " ⚠ deprecated"
|
|
464
|
-
: c.lifecycle === "deferred"
|
|
465
|
-
? " ⏸ deferred"
|
|
466
|
-
: "";
|
|
467
|
-
lines.push(`- \`${c.key}\`${marker} — ${c.description ?? ""}`);
|
|
468
|
-
if (c.deprecatedReason)
|
|
469
|
-
lines.push(` - deprecated: ${c.deprecatedReason}`);
|
|
470
|
-
if (c.deferredReason)
|
|
471
|
-
lines.push(` - deferred: ${c.deferredReason}`);
|
|
472
|
-
}
|
|
473
|
-
return lines.join("\n");
|
|
474
|
-
}
|
|
475
|
-
// =============================================================================
|
|
476
440
|
// describePayload — high-level summary for index views
|
|
477
441
|
// =============================================================================
|
|
478
442
|
function describeGrpcPayload(schemas) {
|
|
@@ -488,16 +452,38 @@ function describeGrpcPayload(schemas) {
|
|
|
488
452
|
// Exported adapter
|
|
489
453
|
// =============================================================================
|
|
490
454
|
export const grpcAdapter = {
|
|
455
|
+
// v0 path: no overlay + no needs (no resolvedInput) → run case raw.
|
|
456
|
+
// Per attachment-model §5.1 step 5; the dispatcher only reaches this
|
|
457
|
+
// path when no overlay is registered AND `needs` is absent.
|
|
491
458
|
async execute(ctx, caseSpec, contractSpec) {
|
|
492
|
-
await
|
|
459
|
+
await executeStandaloneCaseGrpc(ctx, caseSpec, contractSpec, undefined);
|
|
460
|
+
},
|
|
461
|
+
// v10 attachment-model entry point. Dispatcher routes here when:
|
|
462
|
+
// - explicit input was supplied (§5.1 step 1), OR
|
|
463
|
+
// - bootstrap overlay produced `resolvedInput` (§5.1 step 3),
|
|
464
|
+
// after the overlay's run() and needs-validation passes.
|
|
465
|
+
async executeCase({ ctx, contract, caseKey, resolvedInput }) {
|
|
466
|
+
const spec = contract._spec;
|
|
467
|
+
const caseSpec = spec.cases[caseKey];
|
|
468
|
+
if (!caseSpec) {
|
|
469
|
+
throw new Error(`gRPC contract: unknown case key "${caseKey}".`);
|
|
470
|
+
}
|
|
471
|
+
await executeStandaloneCaseGrpc(ctx, caseSpec, spec, resolvedInput);
|
|
493
472
|
},
|
|
494
473
|
project: projectGrpc,
|
|
495
474
|
normalize: normalizeGrpc,
|
|
496
475
|
executeCaseInFlow: executeCaseInFlowGrpc,
|
|
497
|
-
|
|
476
|
+
// v10: no validateCaseForFlow — function-valued `request` / `metadata`
|
|
477
|
+
// are legal in flow mode (they receive the logical input from `step.in`
|
|
478
|
+
// lens). `needs`-vs-function-fields consistency is enforced by the type
|
|
479
|
+
// system + §5.3 load-time guard, not at flow registration.
|
|
498
480
|
classifyFailure: classifyGrpcFailure,
|
|
499
481
|
renderTarget: renderGrpcTarget,
|
|
500
|
-
|
|
482
|
+
// Markdown uses the SDK's generic structured renderer — gRPC has no
|
|
483
|
+
// protocol-specific augmentations to contribute.
|
|
484
|
+
artifacts: {
|
|
485
|
+
markdown: (projection) => genericMarkdownPart(projection),
|
|
486
|
+
},
|
|
501
487
|
describePayload: describeGrpcPayload,
|
|
502
488
|
};
|
|
503
489
|
//# sourceMappingURL=adapter.js.map
|
|
@@ -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"}
|
package/dist/contract/factory.js
CHANGED
|
@@ -31,7 +31,11 @@ function mergeGrpcDefaults(defaults, spec) {
|
|
|
31
31
|
...(defaults.metadata ?? {}),
|
|
32
32
|
...(spec.defaultMetadata ?? {}),
|
|
33
33
|
};
|
|
34
|
-
|
|
34
|
+
// Embed the factory's instanceName into the spec via a private `_factory`
|
|
35
|
+
// channel. `projectGrpc` reads this at projection time so the produced
|
|
36
|
+
// `_projection` (and `_extracted`) already carries it — no post-dispatch
|
|
37
|
+
// mutation needed.
|
|
38
|
+
const baseMerged = {
|
|
35
39
|
...spec,
|
|
36
40
|
client: spec.client ?? defaults.client,
|
|
37
41
|
feature: spec.feature ?? defaults.feature,
|
|
@@ -40,12 +44,12 @@ function mergeGrpcDefaults(defaults, spec) {
|
|
|
40
44
|
defaultMetadata: Object.keys(mergedMetadata).length > 0 ? mergedMetadata : undefined,
|
|
41
45
|
deadlineMs: spec.deadlineMs ?? defaults.deadlineMs,
|
|
42
46
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
if (defaults._name) {
|
|
48
|
+
baseMerged._factory = {
|
|
49
|
+
instanceName: defaults._name,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return baseMerged;
|
|
49
53
|
}
|
|
50
54
|
/**
|
|
51
55
|
* Build a scoped gRPC factory. `dispatch` is `contract.grpc` attached by the
|
|
@@ -59,9 +63,7 @@ export function createGrpcFactory(dispatch, defaults) {
|
|
|
59
63
|
`then call instance("${id}", spec).`);
|
|
60
64
|
}
|
|
61
65
|
const merged = mergeGrpcDefaults(defaults, spec);
|
|
62
|
-
|
|
63
|
-
applyInstanceMetadata(result, defaults._name);
|
|
64
|
-
return result;
|
|
66
|
+
return dispatch(id, merged);
|
|
65
67
|
};
|
|
66
68
|
factory.with = (name, more = {}) => {
|
|
67
69
|
const mergedTags = [...(defaults?.tags ?? []), ...(more.tags ?? [])];
|
|
@@ -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
|
@@ -1,34 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* gRPC contract surface for @glubean/grpc
|
|
2
|
+
* gRPC contract surface for @glubean/grpc.
|
|
3
3
|
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* This module used to register `contract.grpc` + gRPC matchers as side effects
|
|
5
|
+
* at import time. In the plugin-manifest era that responsibility moved to the
|
|
6
|
+
* default export of `@glubean/grpc/src/index.ts`, which projects install
|
|
7
|
+
* explicitly via `installPlugin(...)` / `bootstrap()`.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* and `internal/40-discovery/proposals/contract-grpc-graphql-expansion.md` §5.1.
|
|
12
|
-
*
|
|
13
|
-
* Side-effect on import:
|
|
14
|
-
* 1. Register grpcAdapter so `contract.register("grpc", grpcAdapter)` wires
|
|
15
|
-
* the dispatcher (contract.grpc becomes the generic dispatcher).
|
|
16
|
-
* 2. Wrap dispatcher with createGrpcRoot so `contract.grpc.with(name, ...)`
|
|
17
|
-
* is available (parallel to HTTP's bootstrap in packages/sdk/src/index.ts
|
|
18
|
-
* lines 1618-1624).
|
|
19
|
-
*
|
|
20
|
-
* After this module loads, users can:
|
|
21
|
-
*
|
|
22
|
-
* import "@glubean/grpc"; // side-effect: registers grpc contract adapter
|
|
23
|
-
* import { contract } from "@glubean/sdk";
|
|
24
|
-
*
|
|
25
|
-
* const paymentContracts = contract.grpc.with("payment", { client });
|
|
26
|
-
* export const completePayment = paymentContracts("complete-payment", {
|
|
27
|
-
* target: "PaymentService/Complete",
|
|
28
|
-
* cases: { ok: { description: "...", expect: { statusCode: 0 } } },
|
|
29
|
-
* });
|
|
9
|
+
* This file is now **side-effect-free** — it only re-exports the adapter,
|
|
10
|
+
* factory, types, and matcher collection so the manifest in `../index.ts`
|
|
11
|
+
* can reference them.
|
|
30
12
|
*/
|
|
31
13
|
export { grpcAdapter } from "./adapter.js";
|
|
32
14
|
export { createGrpcFactory, createGrpcRoot } from "./factory.js";
|
|
15
|
+
export { grpcMatchers } from "./matchers.js";
|
|
33
16
|
export type { GrpcContractCase, GrpcContractDefaults, GrpcContractExample, GrpcContractExpect, GrpcContractFactory, GrpcContractMeta, GrpcContractRoot, GrpcContractSafeMeta, GrpcContractSpec, GrpcCaseResult, GrpcFlowCaseOutput, GrpcPayloadSchemas, GrpcSafeSchemas, InferGrpcRequest, InferGrpcResponse, } from "./types.js";
|
|
34
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|
package/dist/contract/index.js
CHANGED
|
@@ -1,50 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* gRPC contract surface for @glubean/grpc
|
|
2
|
+
* gRPC contract surface for @glubean/grpc.
|
|
3
3
|
*
|
|
4
|
-
* This module
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* This module used to register `contract.grpc` + gRPC matchers as side effects
|
|
5
|
+
* at import time. In the plugin-manifest era that responsibility moved to the
|
|
6
|
+
* default export of `@glubean/grpc/src/index.ts`, which projects install
|
|
7
|
+
* explicitly via `installPlugin(...)` / `bootstrap()`.
|
|
7
8
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* and `internal/40-discovery/proposals/contract-grpc-graphql-expansion.md` §5.1.
|
|
12
|
-
*
|
|
13
|
-
* Side-effect on import:
|
|
14
|
-
* 1. Register grpcAdapter so `contract.register("grpc", grpcAdapter)` wires
|
|
15
|
-
* the dispatcher (contract.grpc becomes the generic dispatcher).
|
|
16
|
-
* 2. Wrap dispatcher with createGrpcRoot so `contract.grpc.with(name, ...)`
|
|
17
|
-
* is available (parallel to HTTP's bootstrap in packages/sdk/src/index.ts
|
|
18
|
-
* lines 1618-1624).
|
|
19
|
-
*
|
|
20
|
-
* After this module loads, users can:
|
|
21
|
-
*
|
|
22
|
-
* import "@glubean/grpc"; // side-effect: registers grpc contract adapter
|
|
23
|
-
* import { contract } from "@glubean/sdk";
|
|
24
|
-
*
|
|
25
|
-
* const paymentContracts = contract.grpc.with("payment", { client });
|
|
26
|
-
* export const completePayment = paymentContracts("complete-payment", {
|
|
27
|
-
* target: "PaymentService/Complete",
|
|
28
|
-
* cases: { ok: { description: "...", expect: { statusCode: 0 } } },
|
|
29
|
-
* });
|
|
9
|
+
* This file is now **side-effect-free** — it only re-exports the adapter,
|
|
10
|
+
* factory, types, and matcher collection so the manifest in `../index.ts`
|
|
11
|
+
* can reference them.
|
|
30
12
|
*/
|
|
31
|
-
import { contract } from "@glubean/sdk";
|
|
32
|
-
import { grpcAdapter } from "./adapter.js";
|
|
33
|
-
import { createGrpcRoot } from "./factory.js";
|
|
34
|
-
import { registerGrpcMatchers } from "./matchers.js";
|
|
35
|
-
// Step 1: register the adapter. After this, `contract.grpc` exists as the
|
|
36
|
-
// generic dispatcher attached by `contract.register()`.
|
|
37
|
-
contract.register("grpc", grpcAdapter);
|
|
38
|
-
// Step 2: wrap dispatcher with the scoped-defaults factory so
|
|
39
|
-
// `contract.grpc.with(name, defaults)` UX works.
|
|
40
|
-
{
|
|
41
|
-
const dispatcher = contract.grpc;
|
|
42
|
-
contract.grpc = createGrpcRoot(dispatcher);
|
|
43
|
-
}
|
|
44
|
-
// Step 3: register gRPC custom matchers so
|
|
45
|
-
// `ctx.expect(res).toHaveGrpcStatus(0)` works out of the box.
|
|
46
|
-
registerGrpcMatchers();
|
|
47
|
-
// Re-exports for type consumers who import from the package directly.
|
|
48
13
|
export { grpcAdapter } from "./adapter.js";
|
|
49
14
|
export { createGrpcFactory, createGrpcRoot } from "./factory.js";
|
|
15
|
+
export { grpcMatchers } from "./matchers.js";
|
|
50
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
* See `packages/sdk/src/expect.ts` for the underlying `MatcherResult` /
|
|
23
23
|
* `Expectation.extend` / `CustomMatchers<T>` contracts.
|
|
24
24
|
*/
|
|
25
|
+
import { type MatcherResult } from "@glubean/sdk/expect";
|
|
25
26
|
declare module "@glubean/sdk/expect" {
|
|
26
27
|
interface CustomMatchers<T> {
|
|
27
28
|
/**
|
|
@@ -55,14 +56,15 @@ declare module "@glubean/sdk/expect" {
|
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
/**
|
|
58
|
-
*
|
|
59
|
-
* from `./index.ts` during the same side-effect block that registers the
|
|
60
|
-
* contract adapter; users get matchers + adapter from a single
|
|
61
|
-
* `import "@glubean/grpc"`.
|
|
59
|
+
* Collection of gRPC custom matchers, keyed by matcher name.
|
|
62
60
|
*
|
|
63
|
-
*
|
|
64
|
-
* `
|
|
65
|
-
*
|
|
61
|
+
* Consumed by the plugin manifest in `grpc/src/index.ts` as
|
|
62
|
+
* `manifest.matchers`. `installPlugin` drives the actual
|
|
63
|
+
* `Expectation.extend` call — plugin authors never need to touch it directly.
|
|
66
64
|
*/
|
|
67
|
-
export declare
|
|
65
|
+
export declare const grpcMatchers: {
|
|
66
|
+
readonly toHaveGrpcStatus: (actual: unknown, ...args: unknown[]) => MatcherResult;
|
|
67
|
+
readonly toHaveGrpcOk: (actual: unknown) => MatcherResult;
|
|
68
|
+
readonly toHaveGrpcMetadata: (actual: unknown, ...args: unknown[]) => MatcherResult;
|
|
69
|
+
};
|
|
68
70
|
//# sourceMappingURL=matchers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;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"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* See `packages/sdk/src/expect.ts` for the underlying `MatcherResult` /
|
|
23
23
|
* `Expectation.extend` / `CustomMatchers<T>` contracts.
|
|
24
24
|
*/
|
|
25
|
-
import {
|
|
25
|
+
import { inspect } from "@glubean/sdk/expect";
|
|
26
26
|
function readStatusCode(actual) {
|
|
27
27
|
const s = actual?.status;
|
|
28
28
|
return typeof s?.code === "number" ? s.code : undefined;
|
|
@@ -124,32 +124,18 @@ const toHaveGrpcMetadata = (actual, ...args) => {
|
|
|
124
124
|
};
|
|
125
125
|
};
|
|
126
126
|
// =============================================================================
|
|
127
|
-
//
|
|
127
|
+
// Matcher collection — consumed by the plugin manifest
|
|
128
128
|
// =============================================================================
|
|
129
129
|
/**
|
|
130
|
-
*
|
|
131
|
-
* from `./index.ts` during the same side-effect block that registers the
|
|
132
|
-
* contract adapter; users get matchers + adapter from a single
|
|
133
|
-
* `import "@glubean/grpc"`.
|
|
130
|
+
* Collection of gRPC custom matchers, keyed by matcher name.
|
|
134
131
|
*
|
|
135
|
-
*
|
|
136
|
-
* `
|
|
137
|
-
*
|
|
132
|
+
* Consumed by the plugin manifest in `grpc/src/index.ts` as
|
|
133
|
+
* `manifest.matchers`. `installPlugin` drives the actual
|
|
134
|
+
* `Expectation.extend` call — plugin authors never need to touch it directly.
|
|
138
135
|
*/
|
|
139
|
-
export
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
toHaveGrpcMetadata,
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
catch (err) {
|
|
148
|
-
if (err instanceof Error && /already exists/.test(err.message)) {
|
|
149
|
-
// Idempotent — re-import in a second harness instance is fine.
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
throw err;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
136
|
+
export const grpcMatchers = {
|
|
137
|
+
toHaveGrpcStatus,
|
|
138
|
+
toHaveGrpcOk,
|
|
139
|
+
toHaveGrpcMetadata,
|
|
140
|
+
};
|
|
155
141
|
//# sourceMappingURL=matchers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,
|
|
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 {
|
|
17
|
+
import type { BaseCaseSpec, Extensions } 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,31 +90,20 @@ export interface GrpcContractCase<Req = unknown, Res = unknown, S = void> {
|
|
|
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`.
|
|
96
|
+
*/
|
|
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.
|
|
86
101
|
*/
|
|
87
|
-
|
|
88
|
-
/** Per-call metadata (merged with instance + contract defaults). */
|
|
89
|
-
metadata?: Record<string, string> | ((state: S) => Record<string, string>);
|
|
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
|
-
/** Not yet executable; reason shown in skip message. */
|
|
99
|
-
deferred?: string;
|
|
100
|
-
/** Deprecated; value is the reason. */
|
|
101
|
-
deprecated?: string;
|
|
102
|
-
/** Additional tags (merged with contract-level tags). */
|
|
103
|
-
tags?: string[];
|
|
104
|
-
severity?: CaseSeverity;
|
|
105
|
-
requires?: CaseRequires;
|
|
106
|
-
defaultRun?: CaseDefaultRun;
|
|
107
|
-
/** Per-case extensions. */
|
|
108
|
-
extensions?: Extensions;
|
|
109
107
|
}
|
|
110
108
|
/**
|
|
111
109
|
* Result of running a single case. This is also the `CaseOutput` shape that
|
|
@@ -229,6 +227,10 @@ export type GrpcContractFactory = <Req, Res, Cases extends Record<string, GrpcCo
|
|
|
229
227
|
/**
|
|
230
228
|
* Infer request type from a GrpcContractCase. Placeholder for future
|
|
231
229
|
* ergonomic inference helpers parallel to HTTP's InferHttpInputs.
|
|
230
|
+
*
|
|
231
|
+
* Third generic slot is now `Needs` (was v9's `S` setup-state). Using
|
|
232
|
+
* `any` in the don't-care slot per Spike 0 Finding 2 (contravariant
|
|
233
|
+
* positions need `any`, not `unknown`, to keep inference stable).
|
|
232
234
|
*/
|
|
233
235
|
export type InferGrpcRequest<C> = C extends GrpcContractCase<infer Req, any, any> ? Req : never;
|
|
234
236
|
/**
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/contract/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
* @module grpc
|
|
58
58
|
*/
|
|
59
59
|
import type * as grpcTypes from "@grpc/grpc-js";
|
|
60
|
-
import type {
|
|
60
|
+
import type { ClientFactory, PluginManifest } from "@glubean/sdk";
|
|
61
61
|
/** Options for creating a gRPC client. */
|
|
62
62
|
export interface GrpcClientOptions {
|
|
63
63
|
/** Path to the .proto file */
|
|
@@ -174,7 +174,7 @@ export interface GrpcPluginOptions {
|
|
|
174
174
|
* });
|
|
175
175
|
* ```
|
|
176
176
|
*/
|
|
177
|
-
export declare function grpc(options: GrpcPluginOptions):
|
|
177
|
+
export declare function grpc(options: GrpcPluginOptions): ClientFactory<GrpcClient>;
|
|
178
178
|
/**
|
|
179
179
|
* Redaction scope declarations for gRPC traces.
|
|
180
180
|
*
|
|
@@ -210,7 +210,29 @@ export declare const GRPC_REDACTION_SCOPES: ({
|
|
|
210
210
|
handler: "json";
|
|
211
211
|
rules?: undefined;
|
|
212
212
|
})[];
|
|
213
|
-
|
|
214
|
-
|
|
213
|
+
/**
|
|
214
|
+
* Plugin manifest for `@glubean/grpc`. Declares:
|
|
215
|
+
*
|
|
216
|
+
* - `matchers` — `toHaveGrpcStatus`, `toHaveGrpcOk`, `toHaveGrpcMetadata`
|
|
217
|
+
* - `contracts` — `grpc` protocol adapter
|
|
218
|
+
* - `setup()` — wraps the auto-attached `contract.grpc` dispatcher with
|
|
219
|
+
* `createGrpcRoot` so `contract.grpc.with("name", { client })`
|
|
220
|
+
* UX works
|
|
221
|
+
*
|
|
222
|
+
* Install explicitly in your project's `glubean.setup.ts`:
|
|
223
|
+
*
|
|
224
|
+
* ```ts
|
|
225
|
+
* import { installPlugin } from "@glubean/sdk";
|
|
226
|
+
* import grpcPlugin from "@glubean/grpc";
|
|
227
|
+
* await installPlugin(grpcPlugin);
|
|
228
|
+
* ```
|
|
229
|
+
*
|
|
230
|
+
* **Note:** top-level `import "@glubean/grpc"` is **no longer** a side-effect
|
|
231
|
+
* registration. The manifest must be installed explicitly (directly or via
|
|
232
|
+
* `bootstrap(projectRoot)` which loads `glubean.setup.ts`).
|
|
233
|
+
*/
|
|
234
|
+
declare const grpcPlugin: PluginManifest;
|
|
235
|
+
export default grpcPlugin;
|
|
236
|
+
export { grpcAdapter, createGrpcFactory, createGrpcRoot, grpcMatchers, } from "./contract/index.js";
|
|
215
237
|
export type { GrpcContractCase, GrpcContractDefaults, GrpcContractExample, GrpcContractExpect, GrpcContractFactory, GrpcContractMeta, GrpcContractRoot, GrpcContractSafeMeta, GrpcContractSpec, GrpcCaseResult, GrpcFlowCaseOutput, GrpcPayloadSchemas, GrpcSafeSchemas, InferGrpcRequest, InferGrpcResponse, } from "./contract/index.js";
|
|
216
238
|
//# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAEH,OAAO,KAAK,KAAK,SAAS,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -56,7 +56,10 @@
|
|
|
56
56
|
*
|
|
57
57
|
* @module grpc
|
|
58
58
|
*/
|
|
59
|
-
import { definePlugin } from "@glubean/sdk
|
|
59
|
+
import { contract, defineClientFactory, definePlugin } from "@glubean/sdk";
|
|
60
|
+
import { grpcAdapter } from "./contract/adapter.js";
|
|
61
|
+
import { createGrpcRoot } from "./contract/factory.js";
|
|
62
|
+
import { grpcMatchers } from "./contract/matchers.js";
|
|
60
63
|
let grpcJs;
|
|
61
64
|
let protoLoader;
|
|
62
65
|
try {
|
|
@@ -259,7 +262,7 @@ export function createGrpcClient(options, hooks) {
|
|
|
259
262
|
* ```
|
|
260
263
|
*/
|
|
261
264
|
export function grpc(options) {
|
|
262
|
-
return
|
|
265
|
+
return defineClientFactory((runtime) => {
|
|
263
266
|
const resolvedAddress = runtime.resolveTemplate(options.address);
|
|
264
267
|
const resolvedMetadata = options.metadata
|
|
265
268
|
? Object.fromEntries(Object.entries(options.metadata).map(([k, v]) => [
|
|
@@ -332,15 +335,42 @@ export const GRPC_REDACTION_SCOPES = [
|
|
|
332
335
|
handler: "json",
|
|
333
336
|
},
|
|
334
337
|
];
|
|
335
|
-
//
|
|
336
|
-
//
|
|
337
|
-
//
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
338
|
+
// =============================================================================
|
|
339
|
+
// Plugin manifest (default export)
|
|
340
|
+
// =============================================================================
|
|
341
|
+
/**
|
|
342
|
+
* Plugin manifest for `@glubean/grpc`. Declares:
|
|
343
|
+
*
|
|
344
|
+
* - `matchers` — `toHaveGrpcStatus`, `toHaveGrpcOk`, `toHaveGrpcMetadata`
|
|
345
|
+
* - `contracts` — `grpc` protocol adapter
|
|
346
|
+
* - `setup()` — wraps the auto-attached `contract.grpc` dispatcher with
|
|
347
|
+
* `createGrpcRoot` so `contract.grpc.with("name", { client })`
|
|
348
|
+
* UX works
|
|
349
|
+
*
|
|
350
|
+
* Install explicitly in your project's `glubean.setup.ts`:
|
|
351
|
+
*
|
|
352
|
+
* ```ts
|
|
353
|
+
* import { installPlugin } from "@glubean/sdk";
|
|
354
|
+
* import grpcPlugin from "@glubean/grpc";
|
|
355
|
+
* await installPlugin(grpcPlugin);
|
|
356
|
+
* ```
|
|
357
|
+
*
|
|
358
|
+
* **Note:** top-level `import "@glubean/grpc"` is **no longer** a side-effect
|
|
359
|
+
* registration. The manifest must be installed explicitly (directly or via
|
|
360
|
+
* `bootstrap(projectRoot)` which loads `glubean.setup.ts`).
|
|
361
|
+
*/
|
|
362
|
+
const grpcPlugin = definePlugin({
|
|
363
|
+
name: "@glubean/grpc",
|
|
364
|
+
matchers: grpcMatchers,
|
|
365
|
+
contracts: { grpc: grpcAdapter },
|
|
366
|
+
setup() {
|
|
367
|
+
// Wrap the dispatcher attached by installPlugin with the scoped-defaults
|
|
368
|
+
// factory so `contract.grpc.with("name", { client })("case", spec)` works.
|
|
369
|
+
const dispatcher = contract.grpc;
|
|
370
|
+
contract.grpc = createGrpcRoot(dispatcher);
|
|
371
|
+
},
|
|
372
|
+
});
|
|
373
|
+
export default grpcPlugin;
|
|
344
374
|
// Re-export contract surface for type consumers
|
|
345
|
-
export { grpcAdapter, createGrpcFactory, createGrpcRoot, } from "./contract/index.js";
|
|
375
|
+
export { grpcAdapter, createGrpcFactory, createGrpcRoot, grpcMatchers, } from "./contract/index.js";
|
|
346
376
|
//# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
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.3",
|
|
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",
|