@glubean/scanner 0.5.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contract-extraction.d.ts +131 -137
- package/dist/contract-extraction.d.ts.map +1 -1
- package/dist/contract-extraction.js +74 -212
- package/dist/contract-extraction.js.map +1 -1
- package/dist/extractor-ast.d.ts +1 -9
- package/dist/extractor-ast.d.ts.map +1 -1
- package/dist/extractor-ast.js +676 -87
- package/dist/extractor-ast.js.map +1 -1
- package/dist/extractor-static.d.ts +9 -11
- package/dist/extractor-static.d.ts.map +1 -1
- package/dist/extractor-static.js +12 -5
- package/dist/extractor-static.js.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/kinds.d.ts +42 -0
- package/dist/kinds.d.ts.map +1 -0
- package/dist/kinds.js +53 -0
- package/dist/kinds.js.map +1 -0
- package/dist/load-extraction.d.ts +42 -0
- package/dist/load-extraction.d.ts.map +1 -0
- package/dist/load-extraction.js +89 -0
- package/dist/load-extraction.js.map +1 -0
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +49 -23
- package/dist/scanner.js.map +1 -1
- package/dist/static.d.ts +2 -2
- package/dist/static.d.ts.map +1 -1
- package/dist/static.js +1 -1
- package/dist/static.js.map +1 -1
- package/dist/types.d.ts +45 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -1
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
* Output:
|
|
9
9
|
* - NormalizedContractMeta — JSON-safe contract projection (mirrors
|
|
10
10
|
* ExtractedContractProjection from sdk, plus `exportName`)
|
|
11
|
-
* - NormalizedFlowMeta — JSON-safe flow projection (mirrors
|
|
12
11
|
* ExtractedFlowProjection, plus `exportName`)
|
|
13
12
|
*
|
|
14
13
|
* Schema conversion: anywhere scanner sees a value with `.toJSONSchema()`
|
|
@@ -97,6 +96,17 @@ export interface NormalizedCaseMeta {
|
|
|
97
96
|
* decoration for consumers that want the schema shape when available.
|
|
98
97
|
*/
|
|
99
98
|
needsSchema?: unknown;
|
|
99
|
+
/**
|
|
100
|
+
* "inbound" = the counterparty calls us (inbound-contract-design §9.2).
|
|
101
|
+
* Absent = outbound. Inbound cases are never runnable — consumers
|
|
102
|
+
* enumerating executable cases must skip them (see `runnable`).
|
|
103
|
+
*/
|
|
104
|
+
direction?: "inbound";
|
|
105
|
+
/**
|
|
106
|
+
* `false` = the case registers no Test / runnable-inventory entry
|
|
107
|
+
* (design §9.5); it exists in contract metadata only. Absent = runnable.
|
|
108
|
+
*/
|
|
109
|
+
runnable?: boolean;
|
|
100
110
|
}
|
|
101
111
|
/**
|
|
102
112
|
* Protocol-agnostic contract metadata. Mirrors `ExtractedContractProjection`.
|
|
@@ -116,6 +126,15 @@ export interface NormalizedContractMeta {
|
|
|
116
126
|
schemas?: unknown;
|
|
117
127
|
meta?: unknown;
|
|
118
128
|
cases: NormalizedCaseMeta[];
|
|
129
|
+
/**
|
|
130
|
+
* Fully-qualified logical paths of schemas DECLARED but not projectable
|
|
131
|
+
* (the adapter's `schemaToJsonSchema` couldn't convert them). Mirrors
|
|
132
|
+
* `ExtractedContractProjection.unprojectableSchemas`. The schema VALUE is
|
|
133
|
+
* `undefined` in the projection either way; this list lets a snapshot tell
|
|
134
|
+
* "couldn't project" apart from "no schema" and derive `projectionComplete`.
|
|
135
|
+
* Omitted when every declared schema projected cleanly.
|
|
136
|
+
*/
|
|
137
|
+
unprojectableSchemas?: string[];
|
|
119
138
|
}
|
|
120
139
|
/**
|
|
121
140
|
* @deprecated Alias for NormalizedContractMeta. Use directly.
|
|
@@ -125,15 +144,17 @@ export type ExtractedContract = NormalizedContractMeta;
|
|
|
125
144
|
* Single step in a flow projection. Discriminated by `kind`.
|
|
126
145
|
*/
|
|
127
146
|
/**
|
|
128
|
-
* JSON-safe predicate descriptor
|
|
129
|
-
*
|
|
130
|
-
* duplicated structurally rather than imported).
|
|
147
|
+
* JSON-safe predicate descriptor (scanner-side mirror of the SDK's
|
|
148
|
+
* `ExtractedPredicate` — scanner is dep-free, shape duplicated structurally).
|
|
131
149
|
*/
|
|
132
150
|
export type NormalizedPredicate = {
|
|
133
151
|
kind: "compare";
|
|
134
152
|
op: string;
|
|
135
153
|
path: string[];
|
|
136
|
-
|
|
154
|
+
/** scalar compare — absent on the path-vs-path form (phase4 §7). */
|
|
155
|
+
value?: string | number | boolean | null;
|
|
156
|
+
/** path-vs-path compare (eq/ne): the rhs state path. */
|
|
157
|
+
rhsPath?: string[];
|
|
137
158
|
} | {
|
|
138
159
|
kind: "in";
|
|
139
160
|
path: string[];
|
|
@@ -158,95 +179,106 @@ export type NormalizedPredicate = {
|
|
|
158
179
|
strictness: "L1" | "L0";
|
|
159
180
|
mayDoAsyncIO: boolean;
|
|
160
181
|
};
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
caseKey: string;
|
|
166
|
-
protocol: string;
|
|
167
|
-
target: string;
|
|
168
|
-
inputs?: NormalizedFieldMapping[];
|
|
169
|
-
outputs?: NormalizedFieldMapping[];
|
|
170
|
-
/** Accepted alternate outcome keys (HTTP: status numbers) when the step declared `accept`. */
|
|
171
|
-
accept?: ReadonlyArray<string | number>;
|
|
172
|
-
} | {
|
|
173
|
-
kind: "compute";
|
|
174
|
-
name?: string;
|
|
175
|
-
reads: string[];
|
|
176
|
-
writes: string[];
|
|
177
|
-
} | {
|
|
178
|
-
/**
|
|
179
|
-
* Branch (condition / switch). `mode` discriminates value-switch vs
|
|
180
|
-
* predicate-branch. Sub-steps (cases + default) nest recursively so
|
|
181
|
-
* downstream consumers can render/inspect the full tree.
|
|
182
|
-
*/
|
|
183
|
-
kind: "branch";
|
|
184
|
-
mode: "value" | "predicate";
|
|
182
|
+
/** One projected workflow node (scanner-side mirror of ProjectedWorkflowNode). */
|
|
183
|
+
export interface NormalizedWorkflowNode {
|
|
184
|
+
kind: string;
|
|
185
|
+
id: string;
|
|
185
186
|
name?: string;
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
187
|
+
description?: string;
|
|
188
|
+
tags?: string[];
|
|
189
|
+
extensions?: Record<string, unknown>;
|
|
190
|
+
/** Static floor grade; the runtime may promote `opaque` → `trace`. */
|
|
191
|
+
grade: "full" | "partial" | "opaque";
|
|
192
|
+
/** contract-call / poll: protocol target + identity. */
|
|
193
|
+
target?: string;
|
|
194
|
+
protocol?: string;
|
|
195
|
+
contractId?: string;
|
|
196
|
+
caseKey?: string;
|
|
197
|
+
accept?: Array<string | number>;
|
|
198
|
+
/** action/compute dataflow hints. */
|
|
199
|
+
reads?: string[];
|
|
200
|
+
writes?: string[];
|
|
201
|
+
asserts?: string;
|
|
202
|
+
note?: string;
|
|
203
|
+
/** group children. */
|
|
204
|
+
nodes?: NormalizedWorkflowNode[];
|
|
205
|
+
/** branch family (addendum §9): decision mode + projected case table. */
|
|
206
|
+
mode?: "predicate" | "value";
|
|
207
|
+
cases?: Array<{
|
|
208
|
+
label?: string;
|
|
190
209
|
value?: string | number | boolean | null;
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
/** predicate-mode: JSON-safe predicate (absent in the duck-typed fallback path). */
|
|
194
|
-
predicate?: NormalizedPredicate;
|
|
195
|
-
steps: NormalizedFlowStep[];
|
|
210
|
+
when?: NormalizedPredicate;
|
|
211
|
+
nodes: NormalizedWorkflowNode[];
|
|
196
212
|
}>;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
|
|
201
|
-
* by `timeoutMs` / `maxAttempts` / `perAttemptTimeoutMs`. `until` is the
|
|
202
|
-
* exit predicate (L2 precise, or `{kind:"opaque",...}` when marked).
|
|
203
|
-
*/
|
|
204
|
-
kind: "poll";
|
|
205
|
-
name?: string;
|
|
206
|
-
contractId: string;
|
|
207
|
-
caseKey: string;
|
|
208
|
-
protocol: string;
|
|
209
|
-
target: string;
|
|
210
|
-
inputs?: NormalizedFieldMapping[];
|
|
211
|
-
outputs?: NormalizedFieldMapping[];
|
|
212
|
-
accept?: ReadonlyArray<string | number>;
|
|
213
|
-
/** Exit predicate (absent only in the duck-typed fallback path). */
|
|
214
|
-
until?: NormalizedPredicate;
|
|
213
|
+
/** branch family: fallback nodes (branch else / switch identity / route default). */
|
|
214
|
+
default?: NormalizedWorkflowNode[];
|
|
215
|
+
/** route: terminal — no trunk continues after the taken case. */
|
|
216
|
+
terminal?: boolean;
|
|
215
217
|
message?: string;
|
|
216
|
-
|
|
217
|
-
|
|
218
|
+
/** branch (value mode, S2.18): extracted selector path of `on`. */
|
|
219
|
+
onPath?: string[];
|
|
220
|
+
/** branch family (S2.18): present (always "identity") when no default
|
|
221
|
+
* subtree is declared — explicit pass-through, not "unknown". */
|
|
222
|
+
defaultBehavior?: "identity";
|
|
223
|
+
/** poll: exit predicate + bounds. ABSENT on inbound polls (see `inbound`). */
|
|
224
|
+
until?: NormalizedPredicate;
|
|
225
|
+
/** poll (inbound, inbound-contract-design §9.3): the await declaration —
|
|
226
|
+
* gated lens paths + the case's `within` promise. Presence = inbound. */
|
|
227
|
+
inbound?: {
|
|
228
|
+
viaPath: string[];
|
|
229
|
+
correlate?: {
|
|
230
|
+
eventPath: string[];
|
|
231
|
+
statePath: string[];
|
|
232
|
+
};
|
|
233
|
+
withinMs?: number;
|
|
234
|
+
};
|
|
235
|
+
every?: number;
|
|
236
|
+
backoff?: number;
|
|
218
237
|
timeoutMs?: number;
|
|
219
238
|
perAttemptTimeoutMs?: number;
|
|
220
239
|
maxAttempts?: number;
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
path: string;
|
|
227
|
-
} | {
|
|
228
|
-
kind: "literal";
|
|
229
|
-
value: unknown;
|
|
230
|
-
} | {
|
|
231
|
-
kind: "pass-through";
|
|
240
|
+
/** call/action: explicit-intent retry. */
|
|
241
|
+
retry?: {
|
|
242
|
+
attempts: number;
|
|
243
|
+
delay?: number;
|
|
244
|
+
reason: string;
|
|
232
245
|
};
|
|
246
|
+
/** check (declarative form): extracted L2 predicates — assertions as data. */
|
|
247
|
+
expects?: unknown[];
|
|
248
|
+
/** call/action/check: per-node terminal timeout (§17 #4). */
|
|
249
|
+
nodeTimeoutMs?: number;
|
|
233
250
|
}
|
|
234
|
-
/**
|
|
235
|
-
|
|
236
|
-
*/
|
|
237
|
-
export interface NormalizedFlowMeta {
|
|
251
|
+
/** Workflow projection as carried in metadata.json (mirror of WorkflowProjection). */
|
|
252
|
+
export interface NormalizedWorkflowMeta {
|
|
238
253
|
id: string;
|
|
254
|
+
/** Data-driven member (workflow.each/pick): the un-interpolated template id.
|
|
255
|
+
* Rows share ONE projected structure — only id/name/tags vary. */
|
|
256
|
+
templateId?: string;
|
|
257
|
+
/** Trace-grouping id (parallel matrices). */
|
|
258
|
+
groupId?: string;
|
|
259
|
+
/** Lifecycle visibility (phase4 §6): presence ⟺ the phase is declared;
|
|
260
|
+
* note is the author's natural-language hint. Not a node — no grade. */
|
|
261
|
+
setup?: {
|
|
262
|
+
note?: string;
|
|
263
|
+
timeoutMs?: number;
|
|
264
|
+
};
|
|
265
|
+
teardown?: {
|
|
266
|
+
note?: string;
|
|
267
|
+
timeoutMs?: number;
|
|
268
|
+
};
|
|
269
|
+
/** Members of this group may run in parallel. */
|
|
270
|
+
parallel?: boolean;
|
|
239
271
|
exportName: string;
|
|
240
|
-
|
|
272
|
+
name?: string;
|
|
241
273
|
description?: string;
|
|
242
274
|
tags?: string[];
|
|
243
|
-
|
|
244
|
-
/** Mirrors `FlowMeta.skip` — skip reason for discoverable flows. */
|
|
275
|
+
/** Skip reason — discoverable so scanner/Cloud honor a deferred workflow. */
|
|
245
276
|
skip?: string;
|
|
246
|
-
/** Mirrors `FlowMeta.only` — focus filter. */
|
|
247
277
|
only?: boolean;
|
|
248
|
-
|
|
249
|
-
|
|
278
|
+
extensions?: Record<string, unknown>;
|
|
279
|
+
nodes: NormalizedWorkflowNode[];
|
|
280
|
+
/** Count of node static grades (workflow-level rollup, proposal §7.2). */
|
|
281
|
+
gradeSummary: Record<"full" | "partial" | "opaque", number>;
|
|
250
282
|
}
|
|
251
283
|
/**
|
|
252
284
|
* Default execution mode for a contract case — runs the case directly with
|
|
@@ -295,28 +327,22 @@ export interface NormalizedBootstrapOverlayAttachment {
|
|
|
295
327
|
needsSchema: unknown;
|
|
296
328
|
};
|
|
297
329
|
}
|
|
298
|
-
/**
|
|
299
|
-
* Flow attachment — orchestrates a sequence of contract calls under a
|
|
300
|
-
* single test id. Distinct from raw / overlay (no underlying case).
|
|
301
|
-
*/
|
|
302
|
-
export interface NormalizedFlowAttachment {
|
|
303
|
-
kind: "flow";
|
|
304
|
-
/** Flow test id (`flowId`). */
|
|
305
|
-
testId: string;
|
|
306
|
-
exportName: string;
|
|
307
|
-
flow: NormalizedFlowMeta;
|
|
308
|
-
}
|
|
309
330
|
/** Discriminated attachment entry. One per testId in the inventory. */
|
|
310
|
-
export type NormalizedAttachmentMeta = NormalizedRawAttachment | NormalizedBootstrapOverlayAttachment
|
|
331
|
+
export type NormalizedAttachmentMeta = NormalizedRawAttachment | NormalizedBootstrapOverlayAttachment;
|
|
311
332
|
/** Result of extracting contracts/attachments from one or more files. */
|
|
312
333
|
export interface ExtractionResult {
|
|
313
334
|
contracts: NormalizedContractMeta[];
|
|
314
335
|
/**
|
|
315
336
|
* Attachment inventory per attachment-model §7.3. Always present
|
|
316
|
-
* (may be empty).
|
|
317
|
-
* top-level field — flows now appear here as `kind: "flow"` entries.
|
|
337
|
+
* (may be empty).
|
|
318
338
|
*/
|
|
319
339
|
attachments: NormalizedAttachmentMeta[];
|
|
340
|
+
/**
|
|
341
|
+
* vNext workflow projections (S2.6) — read off `BuiltWorkflow._projection`.
|
|
342
|
+
* A first-class top-level array (NOT an attachment kind: workflows are not
|
|
343
|
+
* contract attachments; the attachment model stays contract-scoped).
|
|
344
|
+
*/
|
|
345
|
+
workflows: NormalizedWorkflowMeta[];
|
|
320
346
|
errors: Array<{
|
|
321
347
|
file: string;
|
|
322
348
|
error: string;
|
|
@@ -376,49 +402,14 @@ export declare function isProtocolContract(val: unknown): val is {
|
|
|
376
402
|
_extracted: Record<string, unknown>;
|
|
377
403
|
};
|
|
378
404
|
/**
|
|
379
|
-
*
|
|
380
|
-
*
|
|
381
|
-
*
|
|
382
|
-
* May also carry `_extracted` — a pre-computed ExtractedFlowProjection
|
|
383
|
-
* populated by the SDK's flow builder via `normalizeFlow(_flow)`. When
|
|
384
|
-
* present it is the source of truth for scanner output (full field
|
|
385
|
-
* mappings, compute reads/writes). When absent we degrade to duck-typing
|
|
386
|
-
* `_flow` directly (no lens proxy tracing in scanner since it is
|
|
387
|
-
* dependency-free).
|
|
405
|
+
* Type guard — a built vNext workflow handle (`workflow(...).build()`):
|
|
406
|
+
* a Test[] array carrying the workflow IR + the pre-computed `_projection`
|
|
407
|
+
* (the same dual shape as FlowContract, recognized the same dep-free way).
|
|
388
408
|
*/
|
|
389
|
-
export declare function
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
protocol: "flow";
|
|
393
|
-
description?: string;
|
|
394
|
-
tags?: string[];
|
|
395
|
-
extensions?: Record<string, unknown>;
|
|
396
|
-
skip?: string;
|
|
397
|
-
only?: boolean;
|
|
398
|
-
setup?: (...args: any[]) => unknown;
|
|
399
|
-
teardown?: (...args: any[]) => unknown;
|
|
400
|
-
steps: Array<any>;
|
|
401
|
-
};
|
|
402
|
-
_extracted?: {
|
|
403
|
-
id: string;
|
|
404
|
-
protocol: "flow";
|
|
405
|
-
description?: string;
|
|
406
|
-
tags?: string[];
|
|
407
|
-
extensions?: Record<string, unknown>;
|
|
408
|
-
skip?: string;
|
|
409
|
-
only?: boolean;
|
|
410
|
-
setupDynamic?: true;
|
|
411
|
-
steps: Array<any>;
|
|
412
|
-
};
|
|
409
|
+
export declare function isBuiltWorkflow(val: unknown): val is {
|
|
410
|
+
__glubean_type: "workflow";
|
|
411
|
+
_projection: Omit<NormalizedWorkflowMeta, "exportName">;
|
|
413
412
|
};
|
|
414
|
-
export declare function protocolContractToNormalized(value: {
|
|
415
|
-
_projection: any;
|
|
416
|
-
_extracted: any;
|
|
417
|
-
}, exportName: string): NormalizedContractMeta;
|
|
418
|
-
export declare function flowContractToNormalized(value: {
|
|
419
|
-
_flow: any;
|
|
420
|
-
_extracted?: any;
|
|
421
|
-
}, exportName: string): NormalizedFlowMeta;
|
|
422
413
|
/**
|
|
423
414
|
* Bootstrap overlay marker collected during file walk — pre-synthesis raw
|
|
424
415
|
* material. Not yet a final attachment entry; `synthesizeAttachments`
|
|
@@ -430,6 +421,10 @@ export interface BootstrapOverlayMarker {
|
|
|
430
421
|
contractId: string;
|
|
431
422
|
caseKey: string;
|
|
432
423
|
}
|
|
424
|
+
export declare function protocolContractToNormalized(value: {
|
|
425
|
+
_projection: any;
|
|
426
|
+
_extracted: any;
|
|
427
|
+
}, exportName: string): NormalizedContractMeta;
|
|
433
428
|
/**
|
|
434
429
|
* Convert a BootstrapAttachment runtime export to a marker. Splits
|
|
435
430
|
* `testId` into contractId + caseKey at the LAST dot (contractId can have
|
|
@@ -450,14 +445,13 @@ export declare function bootstrapAttachmentToNormalized(attachment: {
|
|
|
450
445
|
* available per §5.1).
|
|
451
446
|
* 3. Duplicate detection: two markers with the same testId → push a
|
|
452
447
|
* load-time error. Keep the first; subsequent overlays ignored.
|
|
453
|
-
* 4. Append flows as `kind: "flow"` entries.
|
|
454
448
|
*
|
|
455
449
|
* Overlays whose testId doesn't match any contract case stand alone —
|
|
456
450
|
* we still emit them as `bootstrap-overlay` (no `rawBypass`, no targetRef
|
|
457
451
|
* verification). This keeps cross-file overlay registration discoverable
|
|
458
452
|
* even when the contract module hasn't been scanned yet.
|
|
459
453
|
*/
|
|
460
|
-
export declare function synthesizeAttachments(contracts: NormalizedContractMeta[],
|
|
454
|
+
export declare function synthesizeAttachments(contracts: NormalizedContractMeta[], markers: BootstrapOverlayMarker[]): {
|
|
461
455
|
attachments: NormalizedAttachmentMeta[];
|
|
462
456
|
errors: ExtractionResult["errors"];
|
|
463
457
|
};
|
|
@@ -465,7 +459,7 @@ export declare function synthesizeAttachments(contracts: NormalizedContractMeta[
|
|
|
465
459
|
* Extract contracts + attachments from a single file by dynamic import.
|
|
466
460
|
* One file's import failure does not block others.
|
|
467
461
|
*
|
|
468
|
-
* Per-file synthesis: only this file's contracts/
|
|
462
|
+
* Per-file synthesis: only this file's contracts/markers are seen.
|
|
469
463
|
* Cross-file overlay replacement (overlay in fileA targets case in fileB)
|
|
470
464
|
* only resolves at project level via `extractContractsFromProject`.
|
|
471
465
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-extraction.d.ts","sourceRoot":"","sources":["../src/contract-extraction.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"contract-extraction.d.ts","sourceRoot":"","sources":["../src/contract-extraction.ts"],"names":[],"mappings":"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"}
|