@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()`
|
|
@@ -18,6 +17,7 @@
|
|
|
18
17
|
import { pathToFileURL } from "node:url";
|
|
19
18
|
import { resolve, basename } from "node:path";
|
|
20
19
|
import { readdirSync, statSync } from "node:fs";
|
|
20
|
+
import { GLUBEAN_KINDS, buildSuffixes } from "./kinds.js";
|
|
21
21
|
// =============================================================================
|
|
22
22
|
// Duck typing
|
|
23
23
|
// =============================================================================
|
|
@@ -57,24 +57,37 @@ export function isProtocolContract(val) {
|
|
|
57
57
|
val._extracted !== null);
|
|
58
58
|
}
|
|
59
59
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* populated by the SDK's flow builder via `normalizeFlow(_flow)`. When
|
|
65
|
-
* present it is the source of truth for scanner output (full field
|
|
66
|
-
* mappings, compute reads/writes). When absent we degrade to duck-typing
|
|
67
|
-
* `_flow` directly (no lens proxy tracing in scanner since it is
|
|
68
|
-
* dependency-free).
|
|
60
|
+
* If the export is an un-built vNext `WorkflowBuilder` (user omitted the
|
|
61
|
+
* trailing `.build()`), call `.build()` to resolve it to a `BuiltWorkflow`.
|
|
62
|
+
* Duck-typed like the flow builder; a build() that throws (poisoned builder)
|
|
63
|
+
* leaves the value unrecognized — the import error surface is the SDK's.
|
|
69
64
|
*/
|
|
70
|
-
|
|
65
|
+
function autoBuildWorkflowBuilder(val) {
|
|
66
|
+
if (typeof val === "object" &&
|
|
67
|
+
val !== null &&
|
|
68
|
+
val.__glubean_type === "workflow-builder" &&
|
|
69
|
+
typeof val.build === "function") {
|
|
70
|
+
try {
|
|
71
|
+
return val.build();
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
return val;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return val;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Type guard — a built vNext workflow handle (`workflow(...).build()`):
|
|
81
|
+
* a Test[] array carrying the workflow IR + the pre-computed `_projection`
|
|
82
|
+
* (the same dual shape as FlowContract, recognized the same dep-free way).
|
|
83
|
+
*/
|
|
84
|
+
export function isBuiltWorkflow(val) {
|
|
71
85
|
return (Array.isArray(val) &&
|
|
72
|
-
|
|
73
|
-
val.
|
|
74
|
-
val.
|
|
86
|
+
val.__glubean_type === "workflow" &&
|
|
87
|
+
typeof val._projection === "object" &&
|
|
88
|
+
val._projection !== null &&
|
|
89
|
+
typeof val._projection.id === "string");
|
|
75
90
|
}
|
|
76
|
-
// =============================================================================
|
|
77
|
-
// Mapping: projection → NormalizedContractMeta
|
|
78
91
|
//
|
|
79
92
|
// Reads the adapter-produced `_extracted` (JSON-safe form). The SDK's
|
|
80
93
|
// `dispatchContract` populates this field unconditionally by calling
|
|
@@ -97,6 +110,9 @@ export function protocolContractToNormalized(value, exportName) {
|
|
|
97
110
|
extensions: ex.extensions,
|
|
98
111
|
schemas: ex.schemas,
|
|
99
112
|
meta: ex.meta,
|
|
113
|
+
...(Array.isArray(ex.unprojectableSchemas) && ex.unprojectableSchemas.length > 0
|
|
114
|
+
? { unprojectableSchemas: ex.unprojectableSchemas }
|
|
115
|
+
: {}),
|
|
100
116
|
cases: (ex.cases ?? []).map((c) => ({
|
|
101
117
|
key: c.key,
|
|
102
118
|
description: c.description,
|
|
@@ -116,178 +132,11 @@ export function protocolContractToNormalized(value, exportName) {
|
|
|
116
132
|
runnability: c.runnability,
|
|
117
133
|
hasNeeds: c.hasNeeds,
|
|
118
134
|
needsSchema: c.needsSchema,
|
|
135
|
+
direction: c.direction,
|
|
136
|
+
runnable: c.runnable,
|
|
119
137
|
})),
|
|
120
138
|
};
|
|
121
139
|
}
|
|
122
|
-
export function flowContractToNormalized(value, exportName) {
|
|
123
|
-
// Prefer the pre-computed extracted projection. The SDK's flow builder
|
|
124
|
-
// populates `_extracted` via `normalizeFlow(_flow)` — this path carries
|
|
125
|
-
// full FieldMapping data for `.step()` lenses and reads/writes for
|
|
126
|
-
// `.compute()` nodes. Scanner just attaches `exportName`.
|
|
127
|
-
if (value._extracted) {
|
|
128
|
-
const ex = value._extracted;
|
|
129
|
-
return {
|
|
130
|
-
id: ex.id,
|
|
131
|
-
exportName,
|
|
132
|
-
protocol: "flow",
|
|
133
|
-
description: ex.description,
|
|
134
|
-
tags: ex.tags,
|
|
135
|
-
extensions: ex.extensions,
|
|
136
|
-
...(ex.skip !== undefined ? { skip: ex.skip } : {}),
|
|
137
|
-
...(ex.only !== undefined ? { only: ex.only } : {}),
|
|
138
|
-
setupDynamic: ex.setupDynamic,
|
|
139
|
-
steps: (ex.steps ?? []).map(mapExtractedStep),
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
// Fallback: duck-type `_flow` directly. Lens tracing is unavailable
|
|
143
|
-
// here (scanner is dep-free); callers downstream lose FieldMappings +
|
|
144
|
-
// compute reads/writes. In practice this only fires for flows
|
|
145
|
-
// constructed outside the canonical SDK path (e.g. test fixtures).
|
|
146
|
-
const f = value._flow;
|
|
147
|
-
return {
|
|
148
|
-
id: f.id,
|
|
149
|
-
exportName,
|
|
150
|
-
protocol: "flow",
|
|
151
|
-
description: f.description,
|
|
152
|
-
tags: f.tags,
|
|
153
|
-
extensions: f.extensions,
|
|
154
|
-
...(f.skip !== undefined ? { skip: f.skip } : {}),
|
|
155
|
-
...(f.only !== undefined ? { only: f.only } : {}),
|
|
156
|
-
setupDynamic: f.setup ? true : undefined,
|
|
157
|
-
steps: (f.steps ?? []).map(mapRuntimeFlowStep),
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Recursively normalize a step from the pre-computed `_extracted` projection
|
|
162
|
-
* (JSON-safe). Branch cases + default nest through the same mapper so nested
|
|
163
|
-
* branches and their leaf steps are preserved rather than collapsed into an
|
|
164
|
-
* empty contract-call.
|
|
165
|
-
*/
|
|
166
|
-
function mapExtractedStep(s) {
|
|
167
|
-
if (s.kind === "compute") {
|
|
168
|
-
return { kind: "compute", name: s.name, reads: s.reads ?? [], writes: s.writes ?? [] };
|
|
169
|
-
}
|
|
170
|
-
if (s.kind === "branch") {
|
|
171
|
-
return {
|
|
172
|
-
kind: "branch",
|
|
173
|
-
mode: s.mode,
|
|
174
|
-
...(s.name !== undefined ? { name: s.name } : {}),
|
|
175
|
-
...(s.subjectPath !== undefined ? { subjectPath: s.subjectPath } : {}),
|
|
176
|
-
cases: (s.cases ?? []).map((c) => ({
|
|
177
|
-
...(c.value !== undefined ? { value: c.value } : {}),
|
|
178
|
-
...(c.message !== undefined ? { message: c.message } : {}),
|
|
179
|
-
...(c.predicate !== undefined ? { predicate: c.predicate } : {}),
|
|
180
|
-
steps: (c.steps ?? []).map(mapExtractedStep),
|
|
181
|
-
})),
|
|
182
|
-
default: (s.default ?? []).map(mapExtractedStep),
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
if (s.kind === "poll") {
|
|
186
|
-
return {
|
|
187
|
-
kind: "poll",
|
|
188
|
-
...(s.name !== undefined ? { name: s.name } : {}),
|
|
189
|
-
contractId: s.contractId ?? "",
|
|
190
|
-
caseKey: s.caseKey ?? "",
|
|
191
|
-
protocol: s.protocol ?? "",
|
|
192
|
-
target: s.target ?? "",
|
|
193
|
-
inputs: s.inputs,
|
|
194
|
-
outputs: s.outputs,
|
|
195
|
-
...(Array.isArray(s.accept) ? { accept: s.accept } : {}),
|
|
196
|
-
...(s.until !== undefined ? { until: s.until } : {}),
|
|
197
|
-
...(s.message !== undefined ? { message: s.message } : {}),
|
|
198
|
-
every: s.every ?? 0,
|
|
199
|
-
backoff: s.backoff ?? 1,
|
|
200
|
-
...(s.timeoutMs !== undefined ? { timeoutMs: s.timeoutMs } : {}),
|
|
201
|
-
...(s.perAttemptTimeoutMs !== undefined ? { perAttemptTimeoutMs: s.perAttemptTimeoutMs } : {}),
|
|
202
|
-
...(s.maxAttempts !== undefined ? { maxAttempts: s.maxAttempts } : {}),
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
return {
|
|
206
|
-
kind: "contract-call",
|
|
207
|
-
name: s.name,
|
|
208
|
-
contractId: s.contractId ?? "",
|
|
209
|
-
caseKey: s.caseKey ?? "",
|
|
210
|
-
protocol: s.protocol ?? "",
|
|
211
|
-
target: s.target ?? "",
|
|
212
|
-
inputs: s.inputs,
|
|
213
|
-
outputs: s.outputs,
|
|
214
|
-
...(Array.isArray(s.accept) ? { accept: s.accept } : {}),
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Recursively normalize a step from a duck-typed runtime `_flow`. The runtime
|
|
219
|
-
* predicate is not JSON-safe (branded builder object), so the predicate is
|
|
220
|
-
* omitted in this fallback path; sub-steps are still preserved.
|
|
221
|
-
*/
|
|
222
|
-
function mapRuntimeFlowStep(s) {
|
|
223
|
-
if (s.kind === "compute") {
|
|
224
|
-
return { kind: "compute", name: s.name, reads: [], writes: [] };
|
|
225
|
-
}
|
|
226
|
-
if (s.kind === "branch") {
|
|
227
|
-
return {
|
|
228
|
-
kind: "branch",
|
|
229
|
-
mode: s.mode,
|
|
230
|
-
...(s.name !== undefined ? { name: s.name } : {}),
|
|
231
|
-
...(s.subject?.path !== undefined ? { subjectPath: [...s.subject.path] } : {}),
|
|
232
|
-
cases: (s.cases ?? []).map((c) => ({
|
|
233
|
-
...(c.value !== undefined ? { value: c.value } : {}),
|
|
234
|
-
...(c.message !== undefined ? { message: c.message } : {}),
|
|
235
|
-
steps: (c.steps ?? []).map(mapRuntimeFlowStep),
|
|
236
|
-
})),
|
|
237
|
-
default: (s.default ?? []).map(mapRuntimeFlowStep),
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
if (s.kind === "poll") {
|
|
241
|
-
// `until` omitted: the runtime exit predicate is a branded builder object
|
|
242
|
-
// (not JSON-safe), like a branch predicate in this fallback path.
|
|
243
|
-
return {
|
|
244
|
-
kind: "poll",
|
|
245
|
-
...(s.name !== undefined ? { name: s.name } : {}),
|
|
246
|
-
contractId: s.contract?._projection?.id ?? s.ref?.contractId ?? "",
|
|
247
|
-
caseKey: s.caseKey ?? s.ref?.caseKey ?? "",
|
|
248
|
-
protocol: s.ref?.protocol ?? "",
|
|
249
|
-
target: s.ref?.target ?? "",
|
|
250
|
-
...(Array.isArray(s.bindings?.accept) ? { accept: s.bindings.accept } : {}),
|
|
251
|
-
...(s.message !== undefined ? { message: s.message } : {}),
|
|
252
|
-
every: s.every ?? 0,
|
|
253
|
-
backoff: s.backoff ?? 1,
|
|
254
|
-
...(s.timeoutMs !== undefined ? { timeoutMs: s.timeoutMs } : {}),
|
|
255
|
-
...(s.perAttemptTimeoutMs !== undefined ? { perAttemptTimeoutMs: s.perAttemptTimeoutMs } : {}),
|
|
256
|
-
...(s.maxAttempts !== undefined ? { maxAttempts: s.maxAttempts } : {}),
|
|
257
|
-
};
|
|
258
|
-
}
|
|
259
|
-
return {
|
|
260
|
-
kind: "contract-call",
|
|
261
|
-
name: s.name,
|
|
262
|
-
contractId: s.contract?._projection?.id ?? s.ref?.contractId ?? "",
|
|
263
|
-
caseKey: s.caseKey ?? s.ref?.caseKey ?? "",
|
|
264
|
-
protocol: s.ref?.protocol ?? "",
|
|
265
|
-
target: s.ref?.target ?? "",
|
|
266
|
-
...(Array.isArray(s.bindings?.accept) ? { accept: s.bindings.accept } : {}),
|
|
267
|
-
};
|
|
268
|
-
}
|
|
269
|
-
// =============================================================================
|
|
270
|
-
// FlowBuilder auto-build
|
|
271
|
-
// =============================================================================
|
|
272
|
-
/**
|
|
273
|
-
* If `val` is an unbuilt FlowBuilder (from `contract.flow(id).step(...)`
|
|
274
|
-
* without a trailing `.build()`), call `.build()` to resolve it to a
|
|
275
|
-
* FlowContract. Scanner is dep-free, so we duck-type the builder shape.
|
|
276
|
-
*/
|
|
277
|
-
function autoBuildFlowBuilder(val) {
|
|
278
|
-
if (typeof val === "object" &&
|
|
279
|
-
val !== null &&
|
|
280
|
-
val.__glubean_type === "flow-builder" &&
|
|
281
|
-
typeof val.build === "function") {
|
|
282
|
-
try {
|
|
283
|
-
return val.build();
|
|
284
|
-
}
|
|
285
|
-
catch {
|
|
286
|
-
return val;
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
return val;
|
|
290
|
-
}
|
|
291
140
|
/**
|
|
292
141
|
* Convert a BootstrapAttachment runtime export to a marker. Splits
|
|
293
142
|
* `testId` into contractId + caseKey at the LAST dot (contractId can have
|
|
@@ -331,14 +180,13 @@ function normalizeRunnability(runnability) {
|
|
|
331
180
|
* available per §5.1).
|
|
332
181
|
* 3. Duplicate detection: two markers with the same testId → push a
|
|
333
182
|
* load-time error. Keep the first; subsequent overlays ignored.
|
|
334
|
-
* 4. Append flows as `kind: "flow"` entries.
|
|
335
183
|
*
|
|
336
184
|
* Overlays whose testId doesn't match any contract case stand alone —
|
|
337
185
|
* we still emit them as `bootstrap-overlay` (no `rawBypass`, no targetRef
|
|
338
186
|
* verification). This keeps cross-file overlay registration discoverable
|
|
339
187
|
* even when the contract module hasn't been scanned yet.
|
|
340
188
|
*/
|
|
341
|
-
export function synthesizeAttachments(contracts,
|
|
189
|
+
export function synthesizeAttachments(contracts, markers) {
|
|
342
190
|
const errors = [];
|
|
343
191
|
// Index cases by testId for O(1) lookup during overlay application.
|
|
344
192
|
const caseByTestId = new Map();
|
|
@@ -352,6 +200,11 @@ export function synthesizeAttachments(contracts, flows, markers) {
|
|
|
352
200
|
// first-class field, no longer hidden under `extensions`).
|
|
353
201
|
const byTestId = new Map();
|
|
354
202
|
for (const [testId, { contract, case: c }] of caseByTestId) {
|
|
203
|
+
// Non-runnable cases (direction: "inbound", inbound-contract-design §9.5)
|
|
204
|
+
// never enter the runnable inventory: the SDK dispatcher registered no
|
|
205
|
+
// Test for them, so advertising a raw attachment would point at nothing.
|
|
206
|
+
if (c.runnable === false)
|
|
207
|
+
continue;
|
|
355
208
|
const runnability = normalizeRunnability(c.runnability);
|
|
356
209
|
byTestId.set(testId, {
|
|
357
210
|
kind: "raw",
|
|
@@ -397,16 +250,7 @@ export function synthesizeAttachments(contracts, flows, markers) {
|
|
|
397
250
|
};
|
|
398
251
|
byTestId.set(marker.testId, overlay);
|
|
399
252
|
}
|
|
400
|
-
// Step 4: append flows.
|
|
401
253
|
const attachments = Array.from(byTestId.values());
|
|
402
|
-
for (const flow of flows) {
|
|
403
|
-
attachments.push({
|
|
404
|
-
kind: "flow",
|
|
405
|
-
testId: flow.id,
|
|
406
|
-
exportName: flow.exportName,
|
|
407
|
-
flow,
|
|
408
|
-
});
|
|
409
|
-
}
|
|
410
254
|
return { attachments, errors };
|
|
411
255
|
}
|
|
412
256
|
// Per-path mtime cache used by collectRawMaterials() to decide when to
|
|
@@ -422,7 +266,7 @@ const _importMtimeCache = new Map();
|
|
|
422
266
|
*/
|
|
423
267
|
async function collectRawMaterials(filePath) {
|
|
424
268
|
const contracts = [];
|
|
425
|
-
const
|
|
269
|
+
const workflows = [];
|
|
426
270
|
const markers = [];
|
|
427
271
|
const errors = [];
|
|
428
272
|
const absolutePath = resolve(filePath);
|
|
@@ -465,9 +309,19 @@ async function collectRawMaterials(filePath) {
|
|
|
465
309
|
// `export const signup = contract.flow(...).step(...)` returns a
|
|
466
310
|
// FlowBuilder (not a FlowContract) because `.build()` is optional.
|
|
467
311
|
// Scanner must build it to reach the `_flow` projection.
|
|
468
|
-
const value =
|
|
469
|
-
if (
|
|
470
|
-
|
|
312
|
+
const value = autoBuildWorkflowBuilder(rawValue);
|
|
313
|
+
if (isBuiltWorkflow(value)) {
|
|
314
|
+
// The projection is pre-computed by the SDK's build() (S2.6) — carry
|
|
315
|
+
// it verbatim, stamped with the export name like flows are.
|
|
316
|
+
workflows.push({ ...value._projection, exportName });
|
|
317
|
+
}
|
|
318
|
+
else if (Array.isArray(value) && value.some(isBuiltWorkflow)) {
|
|
319
|
+
// workflow.each() exports a BuiltWorkflow[] (addendum §3) — collect
|
|
320
|
+
// every member's projection (rows share one structure; ids/tags vary).
|
|
321
|
+
for (const member of value) {
|
|
322
|
+
if (isBuiltWorkflow(member))
|
|
323
|
+
workflows.push({ ...member._projection, exportName });
|
|
324
|
+
}
|
|
471
325
|
}
|
|
472
326
|
else if (isProtocolContract(value)) {
|
|
473
327
|
contracts.push(protocolContractToNormalized(value, exportName));
|
|
@@ -483,22 +337,23 @@ async function collectRawMaterials(filePath) {
|
|
|
483
337
|
const message = err instanceof Error ? err.message : String(err);
|
|
484
338
|
errors.push({ file: absolutePath, error: message });
|
|
485
339
|
}
|
|
486
|
-
return { contracts,
|
|
340
|
+
return { contracts, workflows, markers, errors };
|
|
487
341
|
}
|
|
488
342
|
/**
|
|
489
343
|
* Extract contracts + attachments from a single file by dynamic import.
|
|
490
344
|
* One file's import failure does not block others.
|
|
491
345
|
*
|
|
492
|
-
* Per-file synthesis: only this file's contracts/
|
|
346
|
+
* Per-file synthesis: only this file's contracts/markers are seen.
|
|
493
347
|
* Cross-file overlay replacement (overlay in fileA targets case in fileB)
|
|
494
348
|
* only resolves at project level via `extractContractsFromProject`.
|
|
495
349
|
*/
|
|
496
350
|
export async function extractContractFromFile(filePath) {
|
|
497
351
|
const raw = await collectRawMaterials(filePath);
|
|
498
|
-
const synth = synthesizeAttachments(raw.contracts, raw.
|
|
352
|
+
const synth = synthesizeAttachments(raw.contracts, raw.markers);
|
|
499
353
|
return {
|
|
500
354
|
contracts: raw.contracts,
|
|
501
355
|
attachments: synth.attachments,
|
|
356
|
+
workflows: raw.workflows,
|
|
502
357
|
errors: [...raw.errors, ...synth.errors],
|
|
503
358
|
};
|
|
504
359
|
}
|
|
@@ -506,14 +361,22 @@ export async function extractContractFromFile(filePath) {
|
|
|
506
361
|
// Project-level extraction
|
|
507
362
|
// =============================================================================
|
|
508
363
|
/**
|
|
509
|
-
* Find all .contract.{ts,js,mjs}, .flow.{ts,js,mjs},
|
|
510
|
-
* .bootstrap.{ts,js,mjs} files in a directory tree.
|
|
364
|
+
* Find all .contract.{ts,js,mjs}, .workflow.{ts,js,mjs}, .flow.{ts,js,mjs},
|
|
365
|
+
* and .bootstrap.{ts,js,mjs} files in a directory tree.
|
|
511
366
|
*
|
|
512
367
|
* v10 attachment model §7.4 mandates eager loading of `.bootstrap.` files
|
|
513
368
|
* so overlay registrations fire during module evaluation. Without this,
|
|
514
369
|
* filtered runs (CLI / MCP) could miss overlay registrations and silently
|
|
515
370
|
* fall through to the no-overlay path.
|
|
516
371
|
*/
|
|
372
|
+
// Declaration files safe to runtime-import. Matched by SUFFIX, not substring:
|
|
373
|
+
// a `.workflow.` substring would also import `checkout.workflow.test.ts` /
|
|
374
|
+
// `foo.workflow.config.ts` — non-artifact files that can throw on import or
|
|
375
|
+
// run top-level side effects, and (for test files) violate the scanner's
|
|
376
|
+
// never-import-test-files invariant (codex 0.6 P2).
|
|
377
|
+
// Artifact files safe to eagerly runtime-import (contract / workflow / flow /
|
|
378
|
+
// bootstrap), derived from the canonical kind registry (kinds.ts).
|
|
379
|
+
const ARTIFACT_FILE_SUFFIXES = GLUBEAN_KINDS.filter((k) => k.runtimeArtifact).flatMap((k) => buildSuffixes(k.stems));
|
|
517
380
|
function findContractAndFlowFiles(dir) {
|
|
518
381
|
const files = [];
|
|
519
382
|
const walk = (d) => {
|
|
@@ -525,9 +388,7 @@ function findContractAndFlowFiles(dir) {
|
|
|
525
388
|
walk(full);
|
|
526
389
|
else {
|
|
527
390
|
const base = basename(entry);
|
|
528
|
-
if (base.
|
|
529
|
-
base.includes(".flow.") ||
|
|
530
|
-
base.includes(".bootstrap.")) {
|
|
391
|
+
if (ARTIFACT_FILE_SUFFIXES.some((suffix) => base.endsWith(suffix))) {
|
|
531
392
|
files.push(full);
|
|
532
393
|
}
|
|
533
394
|
}
|
|
@@ -549,23 +410,24 @@ function findContractAndFlowFiles(dir) {
|
|
|
549
410
|
export async function extractContractsFromProject(dir) {
|
|
550
411
|
const files = findContractAndFlowFiles(dir);
|
|
551
412
|
if (files.length === 0) {
|
|
552
|
-
return { contracts: [], attachments: [], errors: [] };
|
|
413
|
+
return { contracts: [], attachments: [], workflows: [], errors: [] };
|
|
553
414
|
}
|
|
554
415
|
const allContracts = [];
|
|
555
|
-
const
|
|
416
|
+
const allWorkflows = [];
|
|
556
417
|
const allMarkers = [];
|
|
557
418
|
const allErrors = [];
|
|
558
419
|
for (const filePath of files) {
|
|
559
420
|
const raw = await collectRawMaterials(filePath);
|
|
560
421
|
allContracts.push(...raw.contracts);
|
|
561
|
-
|
|
422
|
+
allWorkflows.push(...raw.workflows);
|
|
562
423
|
allMarkers.push(...raw.markers);
|
|
563
424
|
allErrors.push(...raw.errors);
|
|
564
425
|
}
|
|
565
|
-
const synth = synthesizeAttachments(allContracts,
|
|
426
|
+
const synth = synthesizeAttachments(allContracts, allMarkers);
|
|
566
427
|
return {
|
|
567
428
|
contracts: allContracts,
|
|
568
429
|
attachments: synth.attachments,
|
|
430
|
+
workflows: allWorkflows,
|
|
569
431
|
errors: [...allErrors, ...synth.errors],
|
|
570
432
|
};
|
|
571
433
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-extraction.js","sourceRoot":"","sources":["../src/contract-extraction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract-extraction.js","sourceRoot":"","sources":["../src/contract-extraction.ts"],"names":[],"mappings":"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"}
|
package/dist/extractor-ast.d.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* AST-migrated in later phases.
|
|
14
14
|
*/
|
|
15
15
|
import type { ExportMeta } from "./types.js";
|
|
16
|
-
import type { ContractStaticMeta,
|
|
16
|
+
import type { ContractStaticMeta, PickMeta } from "./extractor-static.js";
|
|
17
17
|
/**
|
|
18
18
|
* Extract test metadata from TypeScript source via @babel/parser AST.
|
|
19
19
|
* Drop-in replacement for the regex `extractFromSource` — same `ExportMeta[]`.
|
|
@@ -36,14 +36,6 @@ export declare function extractFromSource(content: string, customFns?: string[])
|
|
|
36
36
|
export declare function extractContractCases(content: string, opts?: {
|
|
37
37
|
broad?: boolean;
|
|
38
38
|
}): ContractStaticMeta[];
|
|
39
|
-
/**
|
|
40
|
-
* Structural (marker-free) flow extraction: every `export const X = <fn>.flow("id")…`
|
|
41
|
-
* → `FlowStaticMeta`. Replaces vscode's `// @flow`-gated extractMarkedFlows — AST
|
|
42
|
-
* recognizes the `.flow("id")` call shape directly, so no magic comment is needed
|
|
43
|
-
* (aligns vscode discovery with the CLI, which never required markers). Returns []
|
|
44
|
-
* on parse error.
|
|
45
|
-
*/
|
|
46
|
-
export declare function extractFlows(content: string): FlowStaticMeta[];
|
|
47
39
|
/**
|
|
48
40
|
* AST replacement for the regex `extractPickExamples` — discovers
|
|
49
41
|
* `<fn>.pick(data)("id-template", ...)` exports for CodeLens. Inline object data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor-ast.d.ts","sourceRoot":"","sources":["../src/extractor-ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"extractor-ast.d.ts","sourceRoot":"","sources":["../src/extractor-ast.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAiBH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAA0B,kBAAkB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA81BlG;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,CAerF;AAoJD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,kBAAkB,EAAE,CAuCtB;AAyED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1E,QAAQ,EAAE,CAmFZ;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAC3C,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CASpE"}
|