@glubean/scanner 0.1.36 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,12 +2,18 @@
2
2
  * Runtime contract extraction — dynamically imports .contract.ts modules
3
3
  * and extracts metadata from exported contract objects.
4
4
  *
5
- * This is the shared extraction layer used by scanner, CLI, and MCP.
6
- * Produces NormalizedContractMeta a protocol-agnostic contract model.
5
+ * Scanner is duck-typing-only (no @glubean/sdk dependency). We recognize
6
+ * shapes without importing types.
7
7
  *
8
- * Supports:
9
- * - HttpContract (from contract.http.with())
10
- * - ProtocolContract (from contract.register() with adapter v2)
8
+ * Output:
9
+ * - NormalizedContractMeta — JSON-safe contract projection (mirrors
10
+ * ExtractedContractProjection from sdk, plus `exportName`)
11
+ * - NormalizedFlowMeta — JSON-safe flow projection (mirrors
12
+ * ExtractedFlowProjection, plus `exportName`)
13
+ *
14
+ * Schema conversion: anywhere scanner sees a value with `.toJSONSchema()`
15
+ * it invokes that method. This handles Zod schemas embedded inside
16
+ * adapter-defined `schemas` opaque blobs without knowing the protocol.
11
17
  */
12
18
  /** Case lifecycle. */
13
19
  export type CaseLifecycle = "active" | "deferred" | "deprecated";
@@ -30,7 +36,11 @@ export interface NormalizedParamMeta {
30
36
  required?: boolean;
31
37
  deprecated?: boolean;
32
38
  }
33
- /** Normalized case metadata. Protocol-agnostic. */
39
+ /**
40
+ * Protocol-agnostic case metadata. Mirrors sdk's `ExtractedCaseMeta`.
41
+ * `schemas` and `meta` are adapter-defined JSON-safe blobs; scanner treats
42
+ * them as opaque but converts any embedded `.toJSONSchema()` methods.
43
+ */
34
44
  export interface NormalizedCaseMeta {
35
45
  key: string;
36
46
  description?: string;
@@ -40,144 +50,106 @@ export interface NormalizedCaseMeta {
40
50
  deprecatedReason?: string;
41
51
  requires?: CaseRequires;
42
52
  defaultRun?: CaseDefaultRun;
43
- schemaMount?: string;
44
- /** Protocol-specific expectations. HTTP: { status: 200 }, gRPC: { code: 0 } */
45
- protocolExpect?: Record<string, unknown>;
46
- responseSchema: unknown | null;
47
- /** Response headers schema (OpenAPI + runtime validation) */
48
- responseHeaders?: unknown | null;
49
- /** Response content-type (HTTP-specific) */
50
- responseContentType?: string;
51
- /** Named response examples for OpenAPI docs */
52
- examples?: Record<string, NormalizedExample>;
53
- /** Per-path-param metadata */
54
- paramSchemas?: Record<string, NormalizedParamMeta>;
55
- /** Per-query-param metadata */
56
- querySchemas?: Record<string, NormalizedParamMeta>;
57
- /** Fully merged extensions (defaults < contract < case). Keys are x-* OpenAPI extensions. */
53
+ tags?: string[];
58
54
  extensions?: Record<string, unknown>;
55
+ /** Adapter-defined payload shape (opaque to scanner). */
56
+ schemas?: unknown;
57
+ /** Adapter-defined free-form meta (opaque). */
58
+ meta?: unknown;
59
59
  }
60
- /** Normalized contract metadata. Protocol-agnostic. Evolved from ExtractedContract. */
60
+ /**
61
+ * Protocol-agnostic contract metadata. Mirrors `ExtractedContractProjection`.
62
+ */
61
63
  export interface NormalizedContractMeta {
62
64
  id: string;
63
65
  exportName: string;
64
66
  protocol: string;
65
- /** Protocol-agnostic target. HTTP: "GET /users", gRPC: "Greeter/SayHello" */
67
+ /** Protocol-agnostic target (HTTP: "POST /users"). */
66
68
  target: string;
67
69
  description?: string;
68
70
  feature?: string;
69
71
  instanceName?: string;
70
- security?: unknown;
71
- schemaMount?: string;
72
- requestSchema: unknown | null;
73
- /** Request content type (HTTP-specific; default application/json) */
74
- requestContentType?: string;
75
- /** Request headers schema (OpenAPI docs) */
76
- requestHeaders?: unknown | null;
77
- /** Single request example */
78
- requestExample?: unknown;
79
- /** Named request examples */
80
- requestExamples?: Record<string, NormalizedExample>;
81
- /** Contract-level deprecation reason (propagates to all cases) */
72
+ tags?: string[];
82
73
  deprecated?: string;
83
- /** Contract-level merged extensions (defaults < contract). Keys are x-* OpenAPI extensions. */
84
74
  extensions?: Record<string, unknown>;
85
- protocolMeta?: Record<string, unknown>;
75
+ schemas?: unknown;
76
+ meta?: unknown;
86
77
  cases: NormalizedCaseMeta[];
87
78
  }
88
79
  /**
89
- * @deprecated Alias for NormalizedContractMeta. Use NormalizedContractMeta directly.
80
+ * @deprecated Alias for NormalizedContractMeta. Use directly.
90
81
  */
91
82
  export type ExtractedContract = NormalizedContractMeta;
92
- /** Result of extracting contracts from one or more files. */
93
- export interface ExtractionResult {
94
- contracts: NormalizedContractMeta[];
95
- errors: Array<{
96
- file: string;
97
- error: string;
98
- }>;
83
+ /**
84
+ * Single step in a flow projection. Discriminated by `kind`.
85
+ */
86
+ export type NormalizedFlowStep = {
87
+ kind: "contract-call";
88
+ name?: string;
89
+ contractId: string;
90
+ caseKey: string;
91
+ protocol: string;
92
+ target: string;
93
+ inputs?: NormalizedFieldMapping[];
94
+ outputs?: NormalizedFieldMapping[];
95
+ } | {
96
+ kind: "compute";
97
+ name?: string;
98
+ reads: string[];
99
+ writes: string[];
100
+ };
101
+ export interface NormalizedFieldMapping {
102
+ target: string;
103
+ source: {
104
+ kind: "path";
105
+ path: string;
106
+ } | {
107
+ kind: "literal";
108
+ value: unknown;
109
+ } | {
110
+ kind: "pass-through";
111
+ };
99
112
  }
100
113
  /**
101
- * Check if a value looks like an HttpContract (duck-typing).
102
- * HttpContract extends Array<Test> and has id + endpoint.
114
+ * Protocol-agnostic flow metadata. Mirrors `ExtractedFlowProjection`.
103
115
  */
104
- export declare function isHttpContract(val: unknown): val is {
116
+ export interface NormalizedFlowMeta {
105
117
  id: string;
106
- endpoint: string;
118
+ exportName: string;
119
+ protocol: "flow";
107
120
  description?: string;
108
- feature?: string;
109
- instanceName?: string;
110
- security?: unknown;
111
- deprecated?: string;
121
+ tags?: string[];
112
122
  extensions?: Record<string, unknown>;
113
- requestContentType?: string;
114
- requestHeaders?: {
115
- toJSONSchema?: () => unknown;
116
- };
117
- requestExample?: unknown;
118
- requestExamples?: Record<string, {
119
- value: unknown;
120
- summary?: string;
121
- description?: string;
122
- }>;
123
- request?: {
124
- toJSONSchema?: () => unknown;
125
- };
126
- _caseSchemas?: Record<string, {
127
- expectStatus?: number;
128
- responseSchema?: {
129
- toJSONSchema?: () => unknown;
130
- };
131
- responseHeaders?: {
132
- toJSONSchema?: () => unknown;
133
- };
134
- responseContentType?: string;
135
- example?: unknown;
136
- examples?: Record<string, {
137
- value: unknown;
138
- summary?: string;
139
- description?: string;
140
- }>;
141
- paramSchemas?: Record<string, {
142
- schema?: {
143
- toJSONSchema?: () => unknown;
144
- };
145
- description?: string;
146
- required?: boolean;
147
- deprecated?: boolean;
148
- }>;
149
- querySchemas?: Record<string, {
150
- schema?: {
151
- toJSONSchema?: () => unknown;
152
- };
153
- description?: string;
154
- required?: boolean;
155
- deprecated?: boolean;
156
- }>;
157
- description?: string;
158
- deferred?: string;
159
- deprecated?: string;
160
- severity?: string;
161
- lifecycle?: string;
162
- requires?: string;
163
- defaultRun?: string;
164
- extensions?: Record<string, unknown>;
123
+ setupDynamic?: true;
124
+ steps: NormalizedFlowStep[];
125
+ }
126
+ /** Result of extracting contracts/flows from one or more files. */
127
+ export interface ExtractionResult {
128
+ contracts: NormalizedContractMeta[];
129
+ flows?: NormalizedFlowMeta[];
130
+ errors: Array<{
131
+ file: string;
132
+ error: string;
165
133
  }>;
166
- };
134
+ }
167
135
  /**
168
- * Check if a value looks like a ProtocolContract (duck-typing).
169
- * ProtocolContract extends Array<Test> and has _projection with protocol + target.
136
+ * Check if a value looks like a ProtocolContract.
137
+ * ProtocolContract extends Array<Test> and has `_projection` with protocol + target.
138
+ * (HTTP contracts now go through the same shape since the rewrite.)
170
139
  */
171
140
  export declare function isProtocolContract(val: unknown): val is {
172
141
  _projection: {
142
+ id?: string;
173
143
  protocol: string;
174
144
  target: string;
175
145
  description?: string;
176
146
  feature?: string;
177
147
  instanceName?: string;
178
- security?: unknown;
179
- schemaMount?: string;
180
- requestSchema?: unknown;
148
+ tags?: string[];
149
+ deprecated?: string;
150
+ extensions?: Record<string, unknown>;
151
+ schemas?: unknown;
152
+ meta?: unknown;
181
153
  cases: Array<{
182
154
  key: string;
183
155
  description?: string;
@@ -187,28 +159,68 @@ export declare function isProtocolContract(val: unknown): val is {
187
159
  deprecatedReason?: string;
188
160
  requires?: string;
189
161
  defaultRun?: string;
190
- schemaMount?: string;
191
- protocolExpect?: Record<string, unknown>;
192
- responseSchema?: unknown;
193
- protocolMeta?: Record<string, unknown>;
162
+ tags?: string[];
163
+ extensions?: Record<string, unknown>;
164
+ schemas?: unknown;
165
+ meta?: unknown;
194
166
  }>;
195
- protocolMeta?: Record<string, unknown>;
196
167
  };
197
168
  };
198
169
  /**
199
- * Try to convert a SchemaLike to JSON Schema using Zod v4's toJSONSchema.
200
- * Uses the schema's own instance method to avoid cross-instance issues.
201
- * Returns null if the schema is not a Zod type or conversion fails.
170
+ * Check if a value looks like a FlowContract.
171
+ * FlowContract extends Array<Test> and has `_flow.protocol === "flow"`.
172
+ *
173
+ * May also carry `_extracted` — a pre-computed ExtractedFlowProjection
174
+ * populated by the SDK's flow builder via `normalizeFlow(_flow)`. When
175
+ * present it is the source of truth for scanner output (full field
176
+ * mappings, compute reads/writes). When absent we degrade to duck-typing
177
+ * `_flow` directly (no lens proxy tracing in scanner since it is
178
+ * dependency-free).
179
+ */
180
+ export declare function isFlowContract(val: unknown): val is {
181
+ _flow: {
182
+ id: string;
183
+ protocol: "flow";
184
+ description?: string;
185
+ tags?: string[];
186
+ extensions?: Record<string, unknown>;
187
+ setup?: (...args: any[]) => unknown;
188
+ teardown?: (...args: any[]) => unknown;
189
+ steps: Array<any>;
190
+ };
191
+ _extracted?: {
192
+ id: string;
193
+ protocol: "flow";
194
+ description?: string;
195
+ tags?: string[];
196
+ extensions?: Record<string, unknown>;
197
+ setupDynamic?: true;
198
+ steps: Array<any>;
199
+ };
200
+ };
201
+ /**
202
+ * Convert a live schema (Zod/Valibot/etc.) to a JSON Schema plain object.
203
+ * Falls back to passing through or null.
202
204
  */
203
205
  export declare function schemaToJsonSchema(schema: unknown): unknown | null;
204
206
  /**
205
- * Extract contracts from a single file by dynamic import.
206
- * Supports HttpContract (.with()) and ProtocolContract (register() v2).
207
+ * Recursively walk a value converting any embedded Zod/valibot schemas
208
+ * (detected by `.toJSONSchema()` method) to plain JSON Schema objects.
209
+ * Other values pass through as-is.
210
+ *
211
+ * Used by scanner to produce JSON-safe output even when adapter didn't run
212
+ * `.normalize()` (e.g. when we read `_projection` directly).
213
+ */
214
+ export declare function deepNormalizeSchemas(value: unknown, depth?: number): unknown;
215
+ /**
216
+ * Extract contracts + flows from a single file by dynamic import.
217
+ * One file's import failure does not block others.
207
218
  */
208
219
  export declare function extractContractFromFile(filePath: string): Promise<ExtractionResult>;
209
220
  /**
210
- * Extract contracts from all .contract.{ts,js,mjs} files in a project.
211
- * Each file is imported independently — one file's failure does not block others.
221
+ * Extract contracts + flows from all recognized files in a project.
212
222
  */
213
223
  export declare function extractContractsFromProject(dir: string): Promise<ExtractionResult>;
224
+ /** @deprecated Removed in v0.2 — HTTP now goes through isProtocolContract. */
225
+ export declare function isHttpContract(_val: unknown): never;
214
226
  //# sourceMappingURL=contract-extraction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-extraction.d.ts","sourceRoot":"","sources":["../src/contract-extraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-extraction.d.ts","sourceRoot":"","sources":["../src/contract-extraction.ts"],"names":[],"mappings":"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"}