@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.
@@ -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
- * Responsibilities (same interface as HTTP adapter):
9
- * - execute: run a case's setup request expect verify → teardown
10
- * - executeCaseInFlow: deep-merge resolvedInputs, run case in flow mode
11
- * - validateCaseForFlow: reject function-valued request/metadata fields
12
- * - project: runtime ContractProjection<GrpcPayloadSchemas>
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
- * - toMarkdown: case list
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;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAEV,uBAAuB,EAMxB,MAAM,cAAc,CAAC;AAMtB,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;AAgZD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,IAAI,CAoBN;AAuID,eAAO,MAAM,WAAW,EAAE,uBAAuB,CAC/C,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,CAmBrB,CAAC"}
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"}
@@ -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
- * Responsibilities (same interface as HTTP adapter):
9
- * - execute: run a case's setup request expect verify → teardown
10
- * - executeCaseInFlow: deep-merge resolvedInputs, run case in flow mode
11
- * - validateCaseForFlow: reject function-valued request/metadata fields
12
- * - project: runtime ContractProjection<GrpcPayloadSchemas>
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
- * - toMarkdown: case list
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
- /** Merge metadata: instance defaults < contract defaults < case. */
90
- function resolveMetadata(spec, caseSpec, state) {
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(state)
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
- /** Resolve request with deep-merge: contract.defaultRequest < case.request. */
100
- function resolveRequest(spec, caseSpec, state) {
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(state)
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: setup → call → expect → verify → teardown.
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
- * Teardown runs in finally even if setup returned undefined (HTTP
118
- * convention so teardown can still do cleanup that doesn't depend on
119
- * setup state). See contract-flow.md Rule 1.
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 executeCase(ctx, caseSpec, spec) {
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 state = caseSpec.setup
127
- ? await caseSpec.setup(ctx)
128
- : undefined;
129
- try {
130
- const client = resolveClient(caseSpec, spec);
131
- const request = resolveRequest(spec, caseSpec, state);
132
- const metadata = resolveMetadata(spec, caseSpec, state);
133
- const deadlineMs = resolveDeadline(spec, caseSpec);
134
- const callResult = await client.call(parsedTarget.method, request, {
135
- ...(metadata ? { metadata } : {}),
136
- ...(deadlineMs !== undefined ? { deadlineMs } : {}),
137
- });
138
- const result = {
139
- message: callResult.message,
140
- status: callResult.status,
141
- responseMetadata: callResult.responseMetadata,
142
- duration: callResult.duration,
143
- };
144
- // Assertions
145
- const expect = caseSpec.expect ?? {};
146
- const expectedStatus = expect.statusCode ?? 0;
147
- if (result.status.code !== expectedStatus) {
148
- ctx.assert(false, `Expected gRPC status code ${expectedStatus} but got ${result.status.code} (${result.status.details})`, { actual: result.status.code, expected: expectedStatus });
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 (caseSpec.verify) {
165
- await caseSpec.verify(ctx, result);
173
+ if (expect.message) {
174
+ ctx.expect(result.message).toMatchObject(expect.message);
166
175
  }
167
176
  }
168
- finally {
169
- if (caseSpec.teardown) {
170
- await caseSpec.teardown(ctx, state);
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
- return { ...c, schemas: safe };
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 FlowBuilder.step() dispatch.
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)` (may be partial)
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. Merge resolvedInputs (shape: { request?, metadata?, deadlineMs? })
267
- * over case static spec
268
- * 2. Run case setup / call / expect / verify (Rule 1: case teardown runs in
269
- * step-local finally contract-flow §7.3)
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
- // In flow mode, setup is allowed but typically unused; state type is void.
284
- const state = caseSpec.setup ? await caseSpec.setup(ctx) : undefined;
285
- try {
286
- const client = resolveClient(caseSpec, spec);
287
- // Resolve static inputs from case (reject function fields — CG-3 validate
288
- // handles that; we guard here too for direct callers).
289
- const staticReq = typeof caseSpec.request === "function"
290
- ? undefined
291
- : caseSpec.request;
292
- const staticMd = typeof caseSpec.metadata === "function"
293
- ? undefined
294
- : caseSpec.metadata;
295
- const lensInput = (resolvedInputs ?? {});
296
- // Deep-merge lens request over case static + contract default
297
- const mergedRequest = deepMerge(deepMerge(spec.defaultRequest, staticReq), lensInput.request);
298
- const mergedMetadata = {
299
- ...(spec.defaultMetadata ?? {}),
300
- ...(staticMd ?? {}),
301
- ...(lensInput.metadata ?? {}),
302
- };
303
- const deadlineMs = lensInput.deadlineMs ?? caseSpec.deadlineMs ?? spec.deadlineMs;
304
- const callResult = await client.call(parsed.method, mergedRequest, {
305
- ...(Object.keys(mergedMetadata).length > 0 ? { metadata: mergedMetadata } : {}),
306
- ...(deadlineMs !== undefined ? { deadlineMs } : {}),
307
- });
308
- const result = {
309
- message: callResult.message,
310
- status: callResult.status,
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 (caseSpec.verify) {
336
- await caseSpec.verify(ctx, result);
353
+ if (expect.message) {
354
+ ctx.expect(result.message).toMatchObject(expect.message);
337
355
  }
338
- return result;
339
356
  }
340
- finally {
341
- if (caseSpec.teardown) {
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
- const functionFields = [];
363
- if (typeof caseSpec.request === "function")
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 executeCase(ctx, caseSpec, contractSpec);
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
- validateCaseForFlow: validateGrpcCaseForFlow,
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
- toMarkdown: toMarkdownGrpc,
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,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AAiD9E;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,mBAAmB,CA4CrB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,gBAAgB,CAEvE"}
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"}
@@ -31,7 +31,11 @@ function mergeGrpcDefaults(defaults, spec) {
31
31
  ...(defaults.metadata ?? {}),
32
32
  ...(spec.defaultMetadata ?? {}),
33
33
  };
34
- return {
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
- function applyInstanceMetadata(contract, instanceName) {
45
- // Mutate _projection to attach instanceName (not otherwise available to
46
- // adapter.project since it doesn't know the factory defaults).
47
- const proj = contract._projection;
48
- proj.instanceName = instanceName;
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
- const result = dispatch(id, merged);
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":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/contract/factory.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,17 @@
1
1
  /**
2
- * gRPC contract surface for @glubean/grpc 0.2.0.
2
+ * gRPC contract surface for @glubean/grpc.
3
3
  *
4
- * This module makes `@glubean/grpc` a single-package owner of both:
5
- * - Transport / test-plugin layer (existing `../index.ts`, unchanged)
6
- * - Contract adapter layer (this directory)
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
- * Design rationale: "contract is a first-class citizen, not an afterthought
9
- * to the transport plugin." See
10
- * `internal/00-product/positioning-v3.md` §12.0 resolved
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAwBH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,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,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,50 +1,16 @@
1
1
  /**
2
- * gRPC contract surface for @glubean/grpc 0.2.0.
2
+ * gRPC contract surface for @glubean/grpc.
3
3
  *
4
- * This module makes `@glubean/grpc` a single-package owner of both:
5
- * - Transport / test-plugin layer (existing `../index.ts`, unchanged)
6
- * - Contract adapter layer (this directory)
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
- * Design rationale: "contract is a first-class citizen, not an afterthought
9
- * to the transport plugin." See
10
- * `internal/00-product/positioning-v3.md` §12.0 resolved
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,0EAA0E;AAC1E,wDAAwD;AACxD,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEvC,8DAA8D;AAC9D,iDAAiD;AACjD,CAAC;IACC,MAAM,UAAU,GAAI,QAAgB,CAAC,IAA4C,CAAC;IACjF,QAAkD,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;AACxF,CAAC;AAED,2CAA2C;AAC3C,8DAA8D;AAC9D,oBAAoB,EAAE,CAAC;AAEvB,sEAAsE;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,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"}
@@ -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
- * Register gRPC matchers onto the shared `Expectation` prototype. Called
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
- * Idempotent: catches the "matcher already exists" error thrown by
64
- * `Expectation.extend` when the module is evaluated more than once
65
- * (duplicate imports, Vitest isolation boundaries, etc.).
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 function registerGrpcMatchers(): void;
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;AAQH,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;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAc3C"}
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 { Expectation, inspect } from "@glubean/sdk/expect";
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
- // Registrationside effect
127
+ // Matcher collection consumed by the plugin manifest
128
128
  // =============================================================================
129
129
  /**
130
- * Register gRPC matchers onto the shared `Expectation` prototype. Called
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
- * Idempotent: catches the "matcher already exists" error thrown by
136
- * `Expectation.extend` when the module is evaluated more than once
137
- * (duplicate imports, Vitest isolation boundaries, etc.).
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 function registerGrpcMatchers() {
140
- try {
141
- Expectation.extend({
142
- toHaveGrpcStatus,
143
- toHaveGrpcOk,
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":"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"}
1
+ {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/contract/matchers.ts"],"names":[],"mappings":"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"}
@@ -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 { CaseDefaultRun, CaseRequires, CaseSeverity, Extensions } from "@glubean/sdk";
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 fields (`request`, `metadata`) reference case-local setup
73
- * state. In flow mode these are rejected by `validateCaseForFlow` (same
74
- * discipline as HTTP's function-valued body/params/query/headers).
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, S = void> {
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 setup state.
85
- * Merged deep-style over contract `defaults.request`.
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
- request?: Req | ((state: S) => Req);
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":"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"}
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 { PluginFactory } from "@glubean/sdk";
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): PluginFactory<GrpcClient>;
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
- import "./contract/index.js";
214
- export { grpcAdapter, createGrpcFactory, createGrpcRoot, } from "./contract/index.js";
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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/plugin";
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 definePlugin((runtime) => {
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
- // Contract layer side-effect register on import of @glubean/grpc
337
- // -----------------------------------------------------------------------------
338
- //
339
- // This import runs `contract.register("grpc", grpcAdapter)` and wraps the
340
- // generic dispatcher with `createGrpcRoot` so users get the
341
- // `contract.grpc.with("name", { client })` UX as soon as they import
342
- // "@glubean/grpc". See ./contract/index.ts.
343
- import "./contract/index.js";
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":"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"}
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.1",
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.1"
23
+ "@glubean/sdk": "0.2.3"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "@grpc/grpc-js": "^1.12.0",