@glubean/sdk 0.1.39 → 0.2.1
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/configure.d.ts +4 -21
- package/dist/configure.d.ts.map +1 -1
- package/dist/configure.js +19 -145
- package/dist/configure.js.map +1 -1
- package/dist/contract-core.d.ts +98 -0
- package/dist/contract-core.d.ts.map +1 -0
- package/dist/contract-core.js +749 -0
- package/dist/contract-core.js.map +1 -0
- package/dist/contract-http/adapter.d.ts +52 -0
- package/dist/contract-http/adapter.d.ts.map +1 -0
- package/dist/contract-http/adapter.js +650 -0
- package/dist/contract-http/adapter.js.map +1 -0
- package/dist/contract-http/factory.d.ts +32 -0
- package/dist/contract-http/factory.d.ts.map +1 -0
- package/dist/contract-http/factory.js +83 -0
- package/dist/contract-http/factory.js.map +1 -0
- package/dist/contract-http/flow-helpers.d.ts +12 -0
- package/dist/contract-http/flow-helpers.d.ts.map +1 -0
- package/dist/contract-http/flow-helpers.js +34 -0
- package/dist/contract-http/flow-helpers.js.map +1 -0
- package/dist/contract-http/index.d.ts +16 -0
- package/dist/contract-http/index.d.ts.map +1 -0
- package/dist/contract-http/index.js +15 -0
- package/dist/contract-http/index.js.map +1 -0
- package/dist/contract-http/markdown.d.ts +10 -0
- package/dist/contract-http/markdown.d.ts.map +1 -0
- package/dist/contract-http/markdown.js +21 -0
- package/dist/contract-http/markdown.js.map +1 -0
- package/dist/contract-http/openapi.d.ts +15 -0
- package/dist/contract-http/openapi.d.ts.map +1 -0
- package/dist/contract-http/openapi.js +38 -0
- package/dist/contract-http/openapi.js.map +1 -0
- package/dist/contract-http/types.d.ts +252 -0
- package/dist/contract-http/types.d.ts.map +1 -0
- package/dist/contract-http/types.js +13 -0
- package/dist/contract-http/types.js.map +1 -0
- package/dist/contract-types.d.ts +420 -467
- package/dist/contract-types.d.ts.map +1 -1
- package/dist/contract-types.js +16 -4
- package/dist/contract-types.js.map +1 -1
- package/dist/each-builder.d.ts +244 -0
- package/dist/each-builder.d.ts.map +1 -0
- package/dist/each-builder.js +268 -0
- package/dist/each-builder.js.map +1 -0
- package/dist/index.d.ts +30 -513
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -826
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -0
- package/dist/internal.js.map +1 -1
- package/dist/runtime-carrier.d.ts +142 -0
- package/dist/runtime-carrier.d.ts.map +1 -0
- package/dist/runtime-carrier.js +148 -0
- package/dist/runtime-carrier.js.map +1 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +2 -1
- package/dist/session.js.map +1 -1
- package/dist/test-builder.d.ts +249 -0
- package/dist/test-builder.d.ts.map +1 -0
- package/dist/test-builder.js +265 -0
- package/dist/test-builder.js.map +1 -0
- package/dist/test-extend.d.ts +59 -0
- package/dist/test-extend.d.ts.map +1 -0
- package/dist/test-extend.js +111 -0
- package/dist/test-extend.js.map +1 -0
- package/dist/test-utils.d.ts +39 -0
- package/dist/test-utils.d.ts.map +1 -0
- package/dist/test-utils.js +91 -0
- package/dist/test-utils.js.map +1 -0
- package/dist/types.d.ts +41 -122
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/contract.d.ts +0 -64
- package/dist/contract.d.ts.map +0 -1
- package/dist/contract.js +0 -793
- package/dist/contract.js.map +0 -1
package/dist/configure.d.ts
CHANGED
|
@@ -50,26 +50,9 @@
|
|
|
50
50
|
*
|
|
51
51
|
* @module configure
|
|
52
52
|
*/
|
|
53
|
-
import type { ConfigureOptions, ConfigureResult,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
* This is the internal shape — the public `GlubeanRuntime` in types.ts adds
|
|
57
|
-
* helper methods (requireVar, requireSecret, resolveTemplate) for plugins.
|
|
58
|
-
*
|
|
59
|
-
* @internal
|
|
60
|
-
*/
|
|
61
|
-
export interface InternalRuntime {
|
|
62
|
-
vars: Record<string, string>;
|
|
63
|
-
secrets: Record<string, string>;
|
|
64
|
-
/** Session key-value store. Set during session setup, available to all tests. */
|
|
65
|
-
session: Record<string, unknown>;
|
|
66
|
-
http: HttpClient;
|
|
67
|
-
test?: GlubeanRuntime["test"];
|
|
68
|
-
trace?(t: Trace): void;
|
|
69
|
-
action?(a: GlubeanAction): void;
|
|
70
|
-
event?(ev: GlubeanEvent): void;
|
|
71
|
-
log?(message: string, data?: unknown): void;
|
|
72
|
-
}
|
|
53
|
+
import type { ConfigureOptions, ConfigureResult, PluginFactory, ReservedConfigureKeys, ResolvePlugins } from "./types.js";
|
|
54
|
+
import { type InternalRuntime } from "./runtime-carrier.js";
|
|
55
|
+
export type { InternalRuntime };
|
|
73
56
|
/**
|
|
74
57
|
* Resolve `{{key}}` template placeholders in a string.
|
|
75
58
|
*
|
|
@@ -133,7 +116,7 @@ export declare function resolveTemplate(template: string, vars: Record<string, s
|
|
|
133
116
|
* import { http, vars } from "./configure.js";
|
|
134
117
|
* ```
|
|
135
118
|
*/
|
|
136
|
-
export declare function configure<V extends Record<string, string> = Record<string, string>, S extends Record<string, string> = Record<string, string>, P extends Record<string, PluginFactory<any
|
|
119
|
+
export declare function configure<V extends Record<string, string> = Record<string, string>, S extends Record<string, string> = Record<string, string>, P extends Record<string, PluginFactory<any>> = Record<string, never>>(options: ConfigureOptions & {
|
|
137
120
|
vars?: {
|
|
138
121
|
[K in keyof V]: string;
|
|
139
122
|
};
|
package/dist/configure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,KAAK,EAEV,gBAAgB,EAChB,eAAe,
|
|
1
|
+
{"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,KAAK,EAEV,gBAAgB,EAChB,eAAe,EAGf,aAAa,EACb,qBAAqB,EACrB,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAG9B,YAAY,EAAE,eAAe,EAAE,CAAC;AA8GhC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAgBR;AAyOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,SAAS,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAEzD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAEpE,OAAO,EAAE,gBAAgB,GAAG;IAC1B,IAAI,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;KAAE,CAAC;IAClC,OAAO,CAAC,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;KAAE,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,GAAG;SAAG,CAAC,IAAI,qBAAqB,CAAC,CAAC,EAAE,KAAK;KAAE,CAAC;CACxD,GAEC,eAAe,CACf;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CAAE,EAC1B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CAAE,CAC3B,GACC,cAAc,CAAC,CAAC,CAAC,CAuBpB"}
|
package/dist/configure.js
CHANGED
|
@@ -50,14 +50,19 @@
|
|
|
50
50
|
*
|
|
51
51
|
* @module configure
|
|
52
52
|
*/
|
|
53
|
+
import { getRuntime as getCarrierRuntime, } from "./runtime-carrier.js";
|
|
54
|
+
// =============================================================================
|
|
55
|
+
// Runtime accessor
|
|
56
|
+
// =============================================================================
|
|
53
57
|
/**
|
|
54
|
-
* Get the current runtime context
|
|
55
|
-
*
|
|
58
|
+
* Get the current runtime context, throwing if accessed outside test execution.
|
|
59
|
+
* Thin wrapper over the carrier's optional `getRuntime()` that preserves the
|
|
60
|
+
* legacy throw-on-missing contract.
|
|
56
61
|
*
|
|
57
62
|
* @internal
|
|
58
63
|
*/
|
|
59
64
|
function getRuntime() {
|
|
60
|
-
const runtime =
|
|
65
|
+
const runtime = getCarrierRuntime();
|
|
61
66
|
if (!runtime) {
|
|
62
67
|
throw new Error("configure() values can only be accessed during test execution. " +
|
|
63
68
|
"Did you try to read a var or secret at module load time? " +
|
|
@@ -263,144 +268,13 @@ function buildLazyHttp(httpOptions) {
|
|
|
263
268
|
*/
|
|
264
269
|
/** Reserved keys that plugins cannot shadow. */
|
|
265
270
|
const RESERVED_KEYS = new Set(["vars", "secrets", "http"]);
|
|
266
|
-
function normalizePluginEntry(entry) {
|
|
267
|
-
if ("factory" in entry)
|
|
268
|
-
return entry;
|
|
269
|
-
return { factory: entry };
|
|
270
|
-
}
|
|
271
|
-
function toMethodList(value) {
|
|
272
|
-
if (!value)
|
|
273
|
-
return [];
|
|
274
|
-
const list = Array.isArray(value) ? value : [value];
|
|
275
|
-
return list.map((method) => method.toUpperCase());
|
|
276
|
-
}
|
|
277
|
-
function toUrlString(input) {
|
|
278
|
-
if (input instanceof Request)
|
|
279
|
-
return input.url;
|
|
280
|
-
if (input instanceof URL)
|
|
281
|
-
return input.toString();
|
|
282
|
-
return input;
|
|
283
|
-
}
|
|
284
|
-
function toPathname(input) {
|
|
285
|
-
try {
|
|
286
|
-
if (input instanceof Request)
|
|
287
|
-
return new URL(input.url).pathname;
|
|
288
|
-
if (input instanceof URL)
|
|
289
|
-
return input.pathname;
|
|
290
|
-
const isAbsolute = /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(input);
|
|
291
|
-
const parsed = isAbsolute ? new URL(input) : new URL(input, "http://glubean.local");
|
|
292
|
-
return parsed.pathname;
|
|
293
|
-
}
|
|
294
|
-
catch {
|
|
295
|
-
return "";
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
function matchesPattern(value, pattern) {
|
|
299
|
-
if (pattern instanceof RegExp)
|
|
300
|
-
return pattern.test(value);
|
|
301
|
-
return value.startsWith(pattern);
|
|
302
|
-
}
|
|
303
|
-
function matchesRequestMatcher(matcher, method, url) {
|
|
304
|
-
const methods = toMethodList(matcher.method);
|
|
305
|
-
if (methods.length > 0 && !methods.includes(method)) {
|
|
306
|
-
return false;
|
|
307
|
-
}
|
|
308
|
-
if (matcher.url) {
|
|
309
|
-
const rawUrl = toUrlString(url);
|
|
310
|
-
if (!matchesPattern(rawUrl, matcher.url)) {
|
|
311
|
-
return false;
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
if (matcher.path) {
|
|
315
|
-
const pathname = toPathname(url);
|
|
316
|
-
if (!matchesPattern(pathname, matcher.path)) {
|
|
317
|
-
return false;
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
return true;
|
|
321
|
-
}
|
|
322
|
-
function evaluateRequestActivation(activation, method, url) {
|
|
323
|
-
const rules = activation?.requests;
|
|
324
|
-
if (!rules)
|
|
325
|
-
return { active: true };
|
|
326
|
-
const exclude = rules.exclude ?? [];
|
|
327
|
-
if (exclude.some((matcher) => matchesRequestMatcher(matcher, method, url))) {
|
|
328
|
-
return {
|
|
329
|
-
active: false,
|
|
330
|
-
reason: "request matches activation.requests.exclude",
|
|
331
|
-
};
|
|
332
|
-
}
|
|
333
|
-
const include = rules.include ?? [];
|
|
334
|
-
if (include.length > 0 && !include.some((matcher) => matchesRequestMatcher(matcher, method, url))) {
|
|
335
|
-
return {
|
|
336
|
-
active: false,
|
|
337
|
-
reason: "request does not match activation.requests.include",
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
return { active: true };
|
|
341
|
-
}
|
|
342
|
-
function evaluateTagActivation(activation, runtime) {
|
|
343
|
-
const rules = activation?.tags;
|
|
344
|
-
if (!rules)
|
|
345
|
-
return { active: true };
|
|
346
|
-
const runtimeTags = new Set(runtime.test?.tags ?? []);
|
|
347
|
-
const disable = rules.disable ?? [];
|
|
348
|
-
for (const tag of disable) {
|
|
349
|
-
if (runtimeTags.has(tag)) {
|
|
350
|
-
return {
|
|
351
|
-
active: false,
|
|
352
|
-
reason: `test tag "${tag}" matches activation.tags.disable`,
|
|
353
|
-
};
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
const enable = rules.enable ?? [];
|
|
357
|
-
if (enable.length > 0) {
|
|
358
|
-
const matched = enable.some((tag) => runtimeTags.has(tag));
|
|
359
|
-
if (!matched) {
|
|
360
|
-
return {
|
|
361
|
-
active: false,
|
|
362
|
-
reason: `current test tags do not match activation.tags.enable (${enable.join(", ")})`,
|
|
363
|
-
};
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
return { active: true };
|
|
367
|
-
}
|
|
368
|
-
function buildActivationAwareHttpClient(pluginName, activation, http) {
|
|
369
|
-
if (!activation?.requests)
|
|
370
|
-
return http;
|
|
371
|
-
function assertRequestActive(method, url) {
|
|
372
|
-
const decision = evaluateRequestActivation(activation, method, url);
|
|
373
|
-
if (decision.active)
|
|
374
|
-
return;
|
|
375
|
-
throw new Error(`Plugin "${pluginName}" is inactive for request ${method} ${toUrlString(url)}: ${decision.reason}.`);
|
|
376
|
-
}
|
|
377
|
-
const METHODS = ["get", "post", "put", "patch", "delete", "head"];
|
|
378
|
-
const wrapped = function (url, options) {
|
|
379
|
-
const method = (options?.method ?? (url instanceof Request ? url.method : "GET")).toUpperCase();
|
|
380
|
-
assertRequestActive(method, url);
|
|
381
|
-
return http(url, options);
|
|
382
|
-
};
|
|
383
|
-
for (const methodName of METHODS) {
|
|
384
|
-
wrapped[methodName] = (url, options) => {
|
|
385
|
-
assertRequestActive(methodName.toUpperCase(), url);
|
|
386
|
-
return http[methodName](url, options);
|
|
387
|
-
};
|
|
388
|
-
}
|
|
389
|
-
wrapped.extend = (options) => buildActivationAwareHttpClient(pluginName, activation, http.extend(options));
|
|
390
|
-
return wrapped;
|
|
391
|
-
}
|
|
392
271
|
/**
|
|
393
272
|
* Resolve (or retrieve cached) the real plugin instance for the current runtime.
|
|
394
273
|
*
|
|
395
274
|
* @internal
|
|
396
275
|
*/
|
|
397
|
-
function resolvePlugin(
|
|
276
|
+
function resolvePlugin(factory, cache) {
|
|
398
277
|
const runtime = getRuntime();
|
|
399
|
-
const tagDecision = evaluateTagActivation(entry.activation, runtime);
|
|
400
|
-
if (!tagDecision.active) {
|
|
401
|
-
const testId = runtime.test?.id;
|
|
402
|
-
throw new Error(`Plugin "${name}" is inactive${testId ? ` for test "${testId}"` : ""}: ${tagDecision.reason}.`);
|
|
403
|
-
}
|
|
404
278
|
if (cache.has(runtime))
|
|
405
279
|
return cache.get(runtime);
|
|
406
280
|
// Build the augmented runtime that plugins see
|
|
@@ -408,7 +282,7 @@ function resolvePlugin(name, entry, cache) {
|
|
|
408
282
|
const augmented = {
|
|
409
283
|
vars: runtime.vars,
|
|
410
284
|
secrets: runtime.secrets,
|
|
411
|
-
http:
|
|
285
|
+
http: runtime.http,
|
|
412
286
|
test: runtime.test,
|
|
413
287
|
requireVar,
|
|
414
288
|
requireSecret,
|
|
@@ -418,7 +292,7 @@ function resolvePlugin(name, entry, cache) {
|
|
|
418
292
|
event: runtime.event?.bind(runtime) ?? noop,
|
|
419
293
|
log: runtime.log?.bind(runtime) ?? noop,
|
|
420
294
|
};
|
|
421
|
-
const instance =
|
|
295
|
+
const instance = factory.create(augmented);
|
|
422
296
|
cache.set(runtime, instance);
|
|
423
297
|
return instance;
|
|
424
298
|
}
|
|
@@ -432,42 +306,42 @@ function resolvePlugin(name, entry, cache) {
|
|
|
432
306
|
*
|
|
433
307
|
* @internal
|
|
434
308
|
*/
|
|
435
|
-
function buildLazyPlugin(
|
|
309
|
+
function buildLazyPlugin(factory) {
|
|
436
310
|
const cache = new WeakMap();
|
|
437
311
|
return new Proxy(Object.create(null), {
|
|
438
312
|
get(_target, prop, receiver) {
|
|
439
|
-
const instance = resolvePlugin(
|
|
313
|
+
const instance = resolvePlugin(factory, cache);
|
|
440
314
|
const value = Reflect.get(instance, prop, receiver);
|
|
441
315
|
return typeof value === "function"
|
|
442
316
|
? value.bind(instance)
|
|
443
317
|
: value;
|
|
444
318
|
},
|
|
445
319
|
set(_target, prop, value) {
|
|
446
|
-
const instance = resolvePlugin(
|
|
320
|
+
const instance = resolvePlugin(factory, cache);
|
|
447
321
|
return Reflect.set(instance, prop, value);
|
|
448
322
|
},
|
|
449
323
|
has(_target, prop) {
|
|
450
|
-
const instance = resolvePlugin(
|
|
324
|
+
const instance = resolvePlugin(factory, cache);
|
|
451
325
|
return Reflect.has(instance, prop);
|
|
452
326
|
},
|
|
453
327
|
ownKeys() {
|
|
454
|
-
const instance = resolvePlugin(
|
|
328
|
+
const instance = resolvePlugin(factory, cache);
|
|
455
329
|
return Reflect.ownKeys(instance);
|
|
456
330
|
},
|
|
457
331
|
getOwnPropertyDescriptor(_target, prop) {
|
|
458
|
-
const instance = resolvePlugin(
|
|
332
|
+
const instance = resolvePlugin(factory, cache);
|
|
459
333
|
return Object.getOwnPropertyDescriptor(instance, prop);
|
|
460
334
|
},
|
|
461
335
|
});
|
|
462
336
|
}
|
|
463
337
|
function buildLazyPlugins(plugins) {
|
|
464
338
|
const result = {};
|
|
465
|
-
for (const [name,
|
|
339
|
+
for (const [name, factory] of Object.entries(plugins)) {
|
|
466
340
|
if (RESERVED_KEYS.has(name)) {
|
|
467
341
|
throw new Error(`Plugin name "${name}" conflicts with a reserved configure() field. ` +
|
|
468
342
|
`Choose a different key (reserved: ${[...RESERVED_KEYS].join(", ")}).`);
|
|
469
343
|
}
|
|
470
|
-
result[name] = buildLazyPlugin(
|
|
344
|
+
result[name] = buildLazyPlugin(factory);
|
|
471
345
|
}
|
|
472
346
|
return result;
|
|
473
347
|
}
|
package/dist/configure.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"configure.js","sourceRoot":"","sources":["../src/configure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol-agnostic contract core.
|
|
3
|
+
*
|
|
4
|
+
* Provides:
|
|
5
|
+
* - Adapter registry (`_adapters`)
|
|
6
|
+
* - `contract.register(protocol, adapter)` — plugin extension point
|
|
7
|
+
* - `contract[protocol](id, spec)` dispatcher — validates 1:1 case keys,
|
|
8
|
+
* invokes adapter.execute per case, registers tests + ContractRegistryMeta
|
|
9
|
+
* - `contract.flow(id)` — protocol-agnostic FlowBuilder
|
|
10
|
+
* - `runFlow(flow, ctx)` — core flow execution helper (Rule 1/2 teardown)
|
|
11
|
+
* - `normalizeFlow(runtime)` — Runtime → ExtractedFlowProjection
|
|
12
|
+
* - Permissive Proxy tracer for `compute` nodes (best-effort reads/writes)
|
|
13
|
+
*
|
|
14
|
+
* HTTP is NOT handled here — it registers itself in `./contract-http/`.
|
|
15
|
+
* This file has zero HTTP-specific code.
|
|
16
|
+
*
|
|
17
|
+
* See:
|
|
18
|
+
* - `internal/40-discovery/proposals/contract-generics-complete.md` v5
|
|
19
|
+
* - `internal/40-discovery/proposals/contract-flow.md` v9
|
|
20
|
+
*/
|
|
21
|
+
import type { TestContext } from "./types.js";
|
|
22
|
+
import type { ContractProtocolAdapter, ExtractedFlowProjection, FieldMapping, FlowBuilder, FlowContract, FlowMeta, RuntimeFlowProjection } from "./contract-types.js";
|
|
23
|
+
/** Internal accessor for plugins / downstream (scanner, runner). */
|
|
24
|
+
export declare function getAdapter(protocol: string): ContractProtocolAdapter<any, any, any, any, any> | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Register an adapter. Called by built-in HTTP adapter on SDK load, and by
|
|
27
|
+
* external protocol packages (`@glubean/grpc`, `@glubean/graphql` etc.) on
|
|
28
|
+
* their import — single-package model, each protocol package owns both
|
|
29
|
+
* transport + contract adapter.
|
|
30
|
+
*/
|
|
31
|
+
declare function register<Spec, RuntimeSchemas = unknown, RuntimeMeta = unknown, SafeSchemas = unknown, SafeMeta = unknown>(protocol: string, adapter: ContractProtocolAdapter<Spec, RuntimeSchemas, RuntimeMeta, SafeSchemas, SafeMeta>): void;
|
|
32
|
+
type ContractNamespace = {
|
|
33
|
+
register: typeof register;
|
|
34
|
+
flow: typeof flow;
|
|
35
|
+
[protocol: string]: unknown;
|
|
36
|
+
};
|
|
37
|
+
export declare const contract: ContractNamespace;
|
|
38
|
+
/**
|
|
39
|
+
* Protocol-agnostic flow builder. See contract-flow.md v9 §4.1.
|
|
40
|
+
*/
|
|
41
|
+
export declare function flow(idOrMeta: string | FlowMeta): FlowBuilder<unknown>;
|
|
42
|
+
/**
|
|
43
|
+
* Core flow execution helper. Implements the Rule 1 / Rule 2 teardown
|
|
44
|
+
* semantics from contract-flow.md §7.
|
|
45
|
+
*/
|
|
46
|
+
export declare function runFlow<State>(flowContract: FlowContract<State>, ctx: TestContext): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Normalize a RuntimeFlowProjection to JSON-safe ExtractedFlowProjection.
|
|
49
|
+
* Runs Proxy dry-run of lens functions to extract FieldMappings.
|
|
50
|
+
*
|
|
51
|
+
* Lens purity is enforced here: if a `step.bindings.in` or `.out` lens
|
|
52
|
+
* violates purity (method call, `new`, etc.), `LensPurityError` is thrown
|
|
53
|
+
* with step context so the author sees which step needs fixing.
|
|
54
|
+
*/
|
|
55
|
+
export declare function normalizeFlow<State>(runtime: RuntimeFlowProjection<State> & {
|
|
56
|
+
id: string;
|
|
57
|
+
}): ExtractedFlowProjection;
|
|
58
|
+
/**
|
|
59
|
+
* Run a pure lens `fn: (state) => output` with a tracing Proxy, extracting
|
|
60
|
+
* FieldMappings from state paths to output paths.
|
|
61
|
+
*
|
|
62
|
+
* Pure-lens enforcement: method calls, `new`, and coercion on the state
|
|
63
|
+
* proxy raise `LensPurityError`. Errors are **not** swallowed — the caller
|
|
64
|
+
* (typically `normalizeFlow`) wraps them with step context and re-throws,
|
|
65
|
+
* so authors see the failure at flow build time rather than silently
|
|
66
|
+
* losing projection data.
|
|
67
|
+
*/
|
|
68
|
+
export declare function extractMappings(fn: (state: any) => any): FieldMapping[];
|
|
69
|
+
/**
|
|
70
|
+
* Extract FieldMappings from `out: (state, response) => newState`.
|
|
71
|
+
* Same purity contract as `extractMappings`.
|
|
72
|
+
*/
|
|
73
|
+
export declare function extractMappingsOut(fn: (state: any, response: any) => any): FieldMapping[];
|
|
74
|
+
/**
|
|
75
|
+
* Raised by the strict lens Proxy when a user lens fn attempts an operation
|
|
76
|
+
* that breaks the "pure field access + repack" contract. Caught and re-
|
|
77
|
+
* thrown with step context by `normalizeFlow`.
|
|
78
|
+
*/
|
|
79
|
+
export declare class LensPurityError extends Error {
|
|
80
|
+
readonly path: string;
|
|
81
|
+
readonly operation: string;
|
|
82
|
+
constructor(path: string, operation: string);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Trace a `compute` fn to extract top-level reads + writes.
|
|
86
|
+
*
|
|
87
|
+
* Compute allows arbitrary sync TS (template literals, method calls, .map()),
|
|
88
|
+
* so the Proxy must be permissive: respond to primitive coercion, swallow
|
|
89
|
+
* method calls, etc. We only record top-level property access paths.
|
|
90
|
+
*
|
|
91
|
+
* See contract-flow.md §4.1.1 for design + known limitations.
|
|
92
|
+
*/
|
|
93
|
+
export declare function traceComputeFn(fn: (state: any) => any): {
|
|
94
|
+
reads: string[];
|
|
95
|
+
writes: string[];
|
|
96
|
+
};
|
|
97
|
+
export {};
|
|
98
|
+
//# sourceMappingURL=contract-core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-core.d.ts","sourceRoot":"","sources":["../src/contract-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAQ,WAAW,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAEV,uBAAuB,EAGvB,uBAAuB,EAEvB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,QAAQ,EAKR,qBAAqB,EAEtB,MAAM,qBAAqB,CAAC;AAS7B,oEAAoE;AACpE,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,GACf,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,CAE9D;AAYD;;;;;GAKG;AACH,iBAAS,QAAQ,CACf,IAAI,EACJ,cAAc,GAAG,OAAO,EACxB,WAAW,GAAG,OAAO,EACrB,WAAW,GAAG,OAAO,EACrB,QAAQ,GAAG,OAAO,EAElB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,uBAAuB,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,GACzF,IAAI,CAgBN;AA6OD,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,EAAE,OAAO,IAAI,CAAC;IAClB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,iBAGtB,CAAC;AAMF;;GAEG;AACH,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAqJtE;AAyBD;;;GAGG;AACH,wBAAsB,OAAO,CAAC,KAAK,EACjC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,EACjC,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAuEf;AAMD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EACjC,OAAO,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACrD,uBAAuB,CAoEzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,YAAY,EAAE,CAIvE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,GAAG,GACrC,YAAY,EAAE,CAMhB;AAkED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBACf,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAY5C;AAiDD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GACtB;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAavC"}
|