@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.
Files changed (78) hide show
  1. package/dist/configure.d.ts +4 -21
  2. package/dist/configure.d.ts.map +1 -1
  3. package/dist/configure.js +19 -145
  4. package/dist/configure.js.map +1 -1
  5. package/dist/contract-core.d.ts +98 -0
  6. package/dist/contract-core.d.ts.map +1 -0
  7. package/dist/contract-core.js +749 -0
  8. package/dist/contract-core.js.map +1 -0
  9. package/dist/contract-http/adapter.d.ts +52 -0
  10. package/dist/contract-http/adapter.d.ts.map +1 -0
  11. package/dist/contract-http/adapter.js +650 -0
  12. package/dist/contract-http/adapter.js.map +1 -0
  13. package/dist/contract-http/factory.d.ts +32 -0
  14. package/dist/contract-http/factory.d.ts.map +1 -0
  15. package/dist/contract-http/factory.js +83 -0
  16. package/dist/contract-http/factory.js.map +1 -0
  17. package/dist/contract-http/flow-helpers.d.ts +12 -0
  18. package/dist/contract-http/flow-helpers.d.ts.map +1 -0
  19. package/dist/contract-http/flow-helpers.js +34 -0
  20. package/dist/contract-http/flow-helpers.js.map +1 -0
  21. package/dist/contract-http/index.d.ts +16 -0
  22. package/dist/contract-http/index.d.ts.map +1 -0
  23. package/dist/contract-http/index.js +15 -0
  24. package/dist/contract-http/index.js.map +1 -0
  25. package/dist/contract-http/markdown.d.ts +10 -0
  26. package/dist/contract-http/markdown.d.ts.map +1 -0
  27. package/dist/contract-http/markdown.js +21 -0
  28. package/dist/contract-http/markdown.js.map +1 -0
  29. package/dist/contract-http/openapi.d.ts +15 -0
  30. package/dist/contract-http/openapi.d.ts.map +1 -0
  31. package/dist/contract-http/openapi.js +38 -0
  32. package/dist/contract-http/openapi.js.map +1 -0
  33. package/dist/contract-http/types.d.ts +252 -0
  34. package/dist/contract-http/types.d.ts.map +1 -0
  35. package/dist/contract-http/types.js +13 -0
  36. package/dist/contract-http/types.js.map +1 -0
  37. package/dist/contract-types.d.ts +420 -467
  38. package/dist/contract-types.d.ts.map +1 -1
  39. package/dist/contract-types.js +16 -4
  40. package/dist/contract-types.js.map +1 -1
  41. package/dist/each-builder.d.ts +244 -0
  42. package/dist/each-builder.d.ts.map +1 -0
  43. package/dist/each-builder.js +268 -0
  44. package/dist/each-builder.js.map +1 -0
  45. package/dist/index.d.ts +30 -513
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +33 -826
  48. package/dist/index.js.map +1 -1
  49. package/dist/internal.d.ts +1 -0
  50. package/dist/internal.d.ts.map +1 -1
  51. package/dist/internal.js +1 -0
  52. package/dist/internal.js.map +1 -1
  53. package/dist/runtime-carrier.d.ts +142 -0
  54. package/dist/runtime-carrier.d.ts.map +1 -0
  55. package/dist/runtime-carrier.js +148 -0
  56. package/dist/runtime-carrier.js.map +1 -0
  57. package/dist/session.d.ts.map +1 -1
  58. package/dist/session.js +2 -1
  59. package/dist/session.js.map +1 -1
  60. package/dist/test-builder.d.ts +249 -0
  61. package/dist/test-builder.d.ts.map +1 -0
  62. package/dist/test-builder.js +265 -0
  63. package/dist/test-builder.js.map +1 -0
  64. package/dist/test-extend.d.ts +59 -0
  65. package/dist/test-extend.d.ts.map +1 -0
  66. package/dist/test-extend.js +111 -0
  67. package/dist/test-extend.js.map +1 -0
  68. package/dist/test-utils.d.ts +39 -0
  69. package/dist/test-utils.d.ts.map +1 -0
  70. package/dist/test-utils.js +91 -0
  71. package/dist/test-utils.js.map +1 -0
  72. package/dist/types.d.ts +41 -122
  73. package/dist/types.d.ts.map +1 -1
  74. package/package.json +1 -1
  75. package/dist/contract.d.ts +0 -64
  76. package/dist/contract.d.ts.map +0 -1
  77. package/dist/contract.js +0 -793
  78. package/dist/contract.js.map +0 -1
@@ -50,26 +50,9 @@
50
50
  *
51
51
  * @module configure
52
52
  */
53
- import type { ConfigureOptions, ConfigureResult, GlubeanAction, GlubeanEvent, GlubeanRuntime, Trace, HttpClient, PluginEntry, PluginFactory, ReservedConfigureKeys, ResolvePlugins } from "./types.js";
54
- /**
55
- * Shape of the runtime context injected by the harness before test execution.
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> | PluginEntry<any>> = Record<string, never>>(options: ConfigureOptions & {
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
  };
@@ -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,EACf,aAAa,EACb,YAAY,EACZ,cAAc,EACd,KAAK,EACL,UAAU,EAGV,WAAW,EACX,aAAa,EAEb,qBAAqB,EACrB,cAAc,EACf,MAAM,YAAY,CAAC;AAMpB;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7C;AA4GD;;;;;;;;;;;;;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;AAyaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CACtE,MAAM,EACN,KAAK,CACN,EAED,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"}
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 from the global slot.
55
- * Throws a clear error if accessed outside of test execution (e.g., at scan time).
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 = globalThis.__glubeanRuntime;
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(name, entry, cache) {
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: buildActivationAwareHttpClient(name, entry.activation, runtime.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 = entry.factory.create(augmented);
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(name, entry) {
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(name, entry, cache);
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(name, entry, cache);
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(name, entry, cache);
324
+ const instance = resolvePlugin(factory, cache);
451
325
  return Reflect.has(instance, prop);
452
326
  },
453
327
  ownKeys() {
454
- const instance = resolvePlugin(name, entry, cache);
328
+ const instance = resolvePlugin(factory, cache);
455
329
  return Reflect.ownKeys(instance);
456
330
  },
457
331
  getOwnPropertyDescriptor(_target, prop) {
458
- const instance = resolvePlugin(name, entry, cache);
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, rawEntry] of Object.entries(plugins)) {
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(name, normalizePluginEntry(rawEntry));
344
+ result[name] = buildLazyPlugin(factory);
471
345
  }
472
346
  return result;
473
347
  }
@@ -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"}