@glubean/sdk 0.5.1 → 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.
Files changed (151) hide show
  1. package/dist/contract-artifacts.d.ts +39 -21
  2. package/dist/contract-artifacts.d.ts.map +1 -1
  3. package/dist/contract-artifacts.js +80 -24
  4. package/dist/contract-artifacts.js.map +1 -1
  5. package/dist/contract-core.d.ts +10 -21
  6. package/dist/contract-core.d.ts.map +1 -1
  7. package/dist/contract-core.js +26 -812
  8. package/dist/contract-core.js.map +1 -1
  9. package/dist/contract-http/adapter.d.ts +13 -0
  10. package/dist/contract-http/adapter.d.ts.map +1 -1
  11. package/dist/contract-http/adapter.js +191 -23
  12. package/dist/contract-http/adapter.js.map +1 -1
  13. package/dist/contract-http/factory.d.ts +2 -2
  14. package/dist/contract-http/factory.d.ts.map +1 -1
  15. package/dist/contract-http/factory.js +5 -0
  16. package/dist/contract-http/factory.js.map +1 -1
  17. package/dist/contract-http/inbound-match.d.ts +47 -0
  18. package/dist/contract-http/inbound-match.d.ts.map +1 -0
  19. package/dist/contract-http/inbound-match.js +136 -0
  20. package/dist/contract-http/inbound-match.js.map +1 -0
  21. package/dist/contract-http/inbound-verify.d.ts +46 -0
  22. package/dist/contract-http/inbound-verify.d.ts.map +1 -0
  23. package/dist/contract-http/inbound-verify.js +101 -0
  24. package/dist/contract-http/inbound-verify.js.map +1 -0
  25. package/dist/contract-http/inbound.d.ts +45 -0
  26. package/dist/contract-http/inbound.d.ts.map +1 -0
  27. package/dist/contract-http/inbound.js +89 -0
  28. package/dist/contract-http/inbound.js.map +1 -0
  29. package/dist/contract-http/index.d.ts +5 -0
  30. package/dist/contract-http/index.d.ts.map +1 -1
  31. package/dist/contract-http/index.js +3 -0
  32. package/dist/contract-http/index.js.map +1 -1
  33. package/dist/contract-http/openapi.d.ts +0 -7
  34. package/dist/contract-http/openapi.d.ts.map +1 -1
  35. package/dist/contract-http/openapi.js +20 -14
  36. package/dist/contract-http/openapi.js.map +1 -1
  37. package/dist/contract-http/types.d.ts +106 -2
  38. package/dist/contract-http/types.d.ts.map +1 -1
  39. package/dist/contract-http/types.js +33 -0
  40. package/dist/contract-http/types.js.map +1 -1
  41. package/dist/contract-types.d.ts +148 -446
  42. package/dist/contract-types.d.ts.map +1 -1
  43. package/dist/data-path.d.ts.map +1 -1
  44. package/dist/data-path.js +10 -2
  45. package/dist/data-path.js.map +1 -1
  46. package/dist/index.d.ts +10 -6
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +10 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/internal.d.ts +7 -0
  51. package/dist/internal.d.ts.map +1 -1
  52. package/dist/internal.js +14 -0
  53. package/dist/internal.js.map +1 -1
  54. package/dist/load/artifact.d.ts +376 -0
  55. package/dist/load/artifact.d.ts.map +1 -0
  56. package/dist/load/artifact.js +14 -0
  57. package/dist/load/artifact.js.map +1 -0
  58. package/dist/load/builder.d.ts +80 -0
  59. package/dist/load/builder.d.ts.map +1 -0
  60. package/dist/load/builder.js +262 -0
  61. package/dist/load/builder.js.map +1 -0
  62. package/dist/load/context.d.ts +81 -0
  63. package/dist/load/context.d.ts.map +1 -0
  64. package/dist/load/context.js +2 -0
  65. package/dist/load/context.js.map +1 -0
  66. package/dist/load/duration.d.ts +9 -0
  67. package/dist/load/duration.d.ts.map +1 -0
  68. package/dist/load/duration.js +22 -0
  69. package/dist/load/duration.js.map +1 -0
  70. package/dist/load/events.d.ts +132 -0
  71. package/dist/load/events.d.ts.map +1 -0
  72. package/dist/load/events.js +2 -0
  73. package/dist/load/events.js.map +1 -0
  74. package/dist/load/feeder.d.ts +118 -0
  75. package/dist/load/feeder.d.ts.map +1 -0
  76. package/dist/load/feeder.js +170 -0
  77. package/dist/load/feeder.js.map +1 -0
  78. package/dist/load/index.d.ts +32 -0
  79. package/dist/load/index.d.ts.map +1 -0
  80. package/dist/load/index.js +7 -0
  81. package/dist/load/index.js.map +1 -0
  82. package/dist/load/progress.d.ts +56 -0
  83. package/dist/load/progress.d.ts.map +1 -0
  84. package/dist/load/progress.js +2 -0
  85. package/dist/load/progress.js.map +1 -0
  86. package/dist/load/projection.d.ts +36 -0
  87. package/dist/load/projection.d.ts.map +1 -0
  88. package/dist/load/projection.js +47 -0
  89. package/dist/load/projection.js.map +1 -0
  90. package/dist/load/runner.d.ts +201 -0
  91. package/dist/load/runner.d.ts.map +1 -0
  92. package/dist/load/runner.js +78 -0
  93. package/dist/load/runner.js.map +1 -0
  94. package/dist/load/scenario.d.ts +130 -0
  95. package/dist/load/scenario.d.ts.map +1 -0
  96. package/dist/load/scenario.js +9 -0
  97. package/dist/load/scenario.js.map +1 -0
  98. package/dist/load/step.d.ts +42 -0
  99. package/dist/load/step.d.ts.map +1 -0
  100. package/dist/load/step.js +2 -0
  101. package/dist/load/step.js.map +1 -0
  102. package/dist/{contract-flow-poll.d.ts → poll-primitives.d.ts} +8 -81
  103. package/dist/poll-primitives.d.ts.map +1 -0
  104. package/dist/{contract-flow-poll.js → poll-primitives.js} +10 -64
  105. package/dist/poll-primitives.js.map +1 -0
  106. package/dist/{contract-flow-condition.d.ts → predicates.d.ts} +34 -71
  107. package/dist/predicates.d.ts.map +1 -0
  108. package/dist/{contract-flow-condition.js → predicates.js} +86 -80
  109. package/dist/predicates.js.map +1 -0
  110. package/dist/test/builder.js +2 -2
  111. package/dist/test/builder.js.map +1 -1
  112. package/dist/test/utils.d.ts +7 -0
  113. package/dist/test/utils.d.ts.map +1 -1
  114. package/dist/test/utils.js +22 -17
  115. package/dist/test/utils.js.map +1 -1
  116. package/dist/types.d.ts +42 -14
  117. package/dist/types.d.ts.map +1 -1
  118. package/dist/types.js.map +1 -1
  119. package/dist/workflow/builder.d.ts +386 -0
  120. package/dist/workflow/builder.d.ts.map +1 -0
  121. package/dist/workflow/builder.js +1150 -0
  122. package/dist/workflow/builder.js.map +1 -0
  123. package/dist/workflow/execute.d.ts +277 -0
  124. package/dist/workflow/execute.d.ts.map +1 -0
  125. package/dist/workflow/execute.js +1489 -0
  126. package/dist/workflow/execute.js.map +1 -0
  127. package/dist/workflow/index.d.ts +11 -0
  128. package/dist/workflow/index.d.ts.map +1 -0
  129. package/dist/workflow/index.js +15 -0
  130. package/dist/workflow/index.js.map +1 -0
  131. package/dist/workflow/project.d.ts +18 -0
  132. package/dist/workflow/project.d.ts.map +1 -0
  133. package/dist/workflow/project.js +321 -0
  134. package/dist/workflow/project.js.map +1 -0
  135. package/dist/workflow/retry.d.ts +13 -0
  136. package/dist/workflow/retry.d.ts.map +1 -0
  137. package/dist/workflow/retry.js +15 -0
  138. package/dist/workflow/retry.js.map +1 -0
  139. package/dist/workflow/types.d.ts +512 -0
  140. package/dist/workflow/types.d.ts.map +1 -0
  141. package/dist/workflow/types.js +2 -0
  142. package/dist/workflow/types.js.map +1 -0
  143. package/package.json +9 -2
  144. package/dist/contract-flow-condition.d.ts.map +0 -1
  145. package/dist/contract-flow-condition.js.map +0 -1
  146. package/dist/contract-flow-poll.d.ts.map +0 -1
  147. package/dist/contract-flow-poll.js.map +0 -1
  148. package/dist/contract-http/flow-helpers.d.ts +0 -12
  149. package/dist/contract-http/flow-helpers.d.ts.map +0 -1
  150. package/dist/contract-http/flow-helpers.js +0 -34
  151. package/dist/contract-http/flow-helpers.js.map +0 -1
@@ -1,7 +1,12 @@
1
1
  /**
2
- * @module contract-flow-poll
2
+ * @module poll-primitives
3
3
  *
4
- * Bounded poll-until primitive for `contract.flow()` runtime + projection.
4
+ * Bounded poll-until primitives shared by the vNext `workflow().poll`
5
+ * executor, `test()` helpers, and (until D2 deletes it) the legacy
6
+ * `contract.flow()` loop. Renamed from `contract-flow-poll.ts` (Nv1-D1,
7
+ * 2026-06-13): the quarantine/budget/bounds machinery was never
8
+ * flow-specific. The legacy flow's poll step shapes that used to live here
9
+ * were deleted with the flow itself (Nv1-D2).
5
10
  *
6
11
  * A poll repeats ONE contract case until an exit predicate over the RESPONSE
7
12
  * holds, BOUNDED by a total wall-clock deadline and/or a finite per-attempt
@@ -16,7 +21,6 @@
16
21
  * `contract-core.ts` (it needs the shared committed-state cell).
17
22
  */
18
23
  import { Expectation } from "./expect.js";
19
- import { evalPredicate, extractPredicate, } from "./contract-flow-condition.js";
20
24
  /** Backoff cap — mirrors the test() step retry-backoff ceiling. */
21
25
  export const BACKOFF_CAP_MS = 30_000;
22
26
  /** Default interval between attempts when `every` is omitted. */
@@ -130,36 +134,6 @@ export function raceBudget(promise, budgetMs, onTimeout) {
130
134
  });
131
135
  }
132
136
  // =============================================================================
133
- // Exit-predicate evaluation (three tiers)
134
- // =============================================================================
135
- function isOpaqueExit(p) {
136
- return p.kind === "opaque";
137
- }
138
- /**
139
- * Evaluate a poll exit predicate. L2 declarative reads the RESPONSE (`evalPredicate`
140
- * with subject = response). Opaque tiers get `(ctx, res, state)`. Non-boolean
141
- * results fail fast (mirrors condition Phase 6); a thrown error / `ctx.skip()`
142
- * propagates to the caller.
143
- */
144
- export async function evalPollExit(until, response, ctx, state) {
145
- if (isOpaqueExit(until)) {
146
- const out = until.fn(ctx, response, state);
147
- if (until.sync && out && typeof out.then === "function") {
148
- throw new Error("pollFn (L1) exit predicate must be synchronous — it returned a thenable. Use pollAsync for async/I-O exit predicates.");
149
- }
150
- const result = await out;
151
- if (typeof result !== "boolean") {
152
- throw new Error(`${until.sync ? "pollFn (L1)" : "pollAsync (L0)"} exit predicate must return a boolean; ` +
153
- `got ${result === null ? "null" : typeof result}`);
154
- }
155
- return result;
156
- }
157
- // L2 declarative — predicate subject is the response.
158
- return evalPredicate(until, response);
159
- }
160
- // =============================================================================
161
- // Build-time bound validation
162
- // =============================================================================
163
137
  /**
164
138
  * Validate poll bounds at construction. Two rules (both required), plus
165
139
  * finiteness on every timing value (an `Infinity` bound would un-bound the loop):
@@ -190,34 +164,6 @@ export function validatePollBounds(bounds, stepLabel) {
190
164
  `could block forever. Provide \`timeout\` (total wall-clock) or \`perAttemptTimeout\` (per-attempt budget).`);
191
165
  }
192
166
  }
193
- /**
194
- * Normalize a runtime poll step to JSON-safe form. `dryRun` produces the
195
- * input/output field mappings (the same Proxy dry-run normalizeFlow uses for a
196
- * contract-call step), so the poll node carries data-flow edges like a step.
197
- */
198
- export function extractPollStep(step, dryRun) {
199
- const projection = step.contract._projection;
200
- const { inputs, outputs } = dryRun(step);
201
- const untilExtracted = isOpaqueExit(step.until)
202
- ? { kind: "opaque", strictness: step.until.sync ? "L1" : "L0", mayDoAsyncIO: !step.until.sync }
203
- : extractPredicate(step.until);
204
- return {
205
- kind: "poll",
206
- ...(step.name ? { name: step.name } : {}),
207
- contractId: projection.id,
208
- caseKey: step.caseKey,
209
- protocol: projection.protocol,
210
- target: projection.target ?? "",
211
- ...(inputs && inputs.length ? { inputs } : {}),
212
- ...(outputs && outputs.length ? { outputs } : {}),
213
- ...(step.bindings?.accept ? { accept: step.bindings.accept } : {}),
214
- until: untilExtracted,
215
- ...(step.message ? { message: step.message } : {}),
216
- every: step.every ?? DEFAULT_EVERY_MS,
217
- backoff: step.backoff ?? 1,
218
- ...(step.timeoutMs !== undefined ? { timeoutMs: step.timeoutMs } : {}),
219
- ...(step.perAttemptTimeoutMs !== undefined ? { perAttemptTimeoutMs: step.perAttemptTimeoutMs } : {}),
220
- ...(step.maxAttempts !== undefined ? { maxAttempts: step.maxAttempts } : {}),
221
- };
222
- }
223
- //# sourceMappingURL=contract-flow-poll.js.map
167
+ // =============================================================================
168
+ // Projection (JSON-safe)
169
+ //# sourceMappingURL=poll-primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll-primitives.js","sourceRoot":"","sources":["../src/poll-primitives.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  /**
2
- * Conditional branching predicate foundation (Phase 1).
2
+ * Predicatesthe shared declarative (L2) engine of the SDK.
3
3
  *
4
- * The declarative (L2) predicate layer for `flow().condition` / `switchOn` /
5
- * `switchCond` (design: internal/40-discovery/proposals/contract-flow-condition.md).
4
+ * Renamed from `contract-flow-condition.ts` (Nv1-D1, 2026-06-13): this was
5
+ * never flow-specific — it is the predicate foundation consumed by the vNext
6
+ * `workflow()` builder (branch/switch/route `when`, poll `until`, check
7
+ * `expect[]`, inbound correlate paths) and by `test()` helpers. The legacy
8
+ * `contract.flow()` step shapes that used to live here were deleted with the
9
+ * flow itself (Nv1-D2).
6
10
  *
7
11
  * A predicate is built ONLY through `predicateScope(...)` (`when` / `all` / `any`
8
12
  * / `not`) — never hand-authored — so every node is:
@@ -18,7 +22,6 @@
18
22
  * surface, and the opaque (L1/L0) tiers land in later phases.
19
23
  */
20
24
  import type { TestContext } from "./types.js";
21
- import type { RuntimeFlowStep, ExtractedFlowStep } from "./contract-types.js";
22
25
  /** JSON-safe scalar — the only thing a predicate may compare against. */
23
26
  export type JsonScalar = string | number | boolean | null;
24
27
  declare const PREDICATE_BRAND: unique symbol;
@@ -36,6 +39,16 @@ export type BranchPredicate<S = unknown> = {
36
39
  readonly lens: (s: S) => unknown;
37
40
  readonly path: readonly string[];
38
41
  readonly value: JsonScalar;
42
+ readonly rhsPath?: undefined;
43
+ } | {
44
+ /** path-vs-path compare (phase4 §7 / addendum §2): the most common
45
+ * RELATIONAL assertion (`s.profileId == s.userId`). eq/ne only in v1. */
46
+ readonly kind: "compare";
47
+ readonly op: "eq" | "ne";
48
+ readonly lens: (s: S) => unknown;
49
+ readonly path: readonly string[];
50
+ readonly value?: undefined;
51
+ readonly rhsPath: readonly string[];
39
52
  } | {
40
53
  readonly kind: "in";
41
54
  readonly lens: (s: S) => unknown;
@@ -73,6 +86,10 @@ export interface WhenClause<S, V> {
73
86
  lt(value: [Exclude<V, null | undefined>] extends [number] ? number : never): BranchPredicate<S>;
74
87
  lte(value: [Exclude<V, null | undefined>] extends [number] ? number : never): BranchPredicate<S>;
75
88
  matches(pattern: [Exclude<V, null | undefined>] extends [string] ? string | RegExp : never): BranchPredicate<S>;
89
+ /** path-vs-path equality: compares this selection against ANOTHER state
90
+ * path (phase4 §7). The rhs lens passes the same P0 selector-source gate. */
91
+ eqPath(rhs: (s: S) => V): BranchPredicate<S>;
92
+ nePath(rhs: (s: S) => V): BranchPredicate<S>;
76
93
  }
77
94
  /** Scoped predicate builder; `S` flows from `condition`'s generic into each lens. */
78
95
  export interface PredicateScope<S> {
@@ -104,11 +121,21 @@ export declare function assertSelectorSource(fn: (...args: any[]) => unknown): v
104
121
  * projection-safe) and `=== NaN` never matches.
105
122
  */
106
123
  export declare function assertSwitchCaseValues(values: readonly JsonScalar[]): void;
124
+ /**
125
+ * Gate + extract a pure selector lens to its frozen path. The single trust
126
+ * boundary every projected lens passes — predicates here, and the workflow
127
+ * inbound poll's `via`/`correlate` lenses (inbound-contract-design §9.3).
128
+ */
129
+ export declare function selectorPath(lens: (s: any) => unknown): readonly string[];
107
130
  /**
108
131
  * Build a `PredicateScope<S>`. The runtime is untyped (`any`); the public typing
109
132
  * comes from the `PredicateScope<S>` / `WhenClause<S, V>` interfaces it is cast to.
110
133
  */
111
134
  export declare function predicateScope<S>(): PredicateScope<S>;
135
+ /** Safe path traversal: returns `undefined` if any intermediate is null/undefined.
136
+ * Shared with the inbound matcher (codex I3 R1: walking the EXTRACTED path can
137
+ * never throw, unlike calling a `e => e.data.id` lens on a shape-less body). */
138
+ export declare function resolvePath(state: unknown, path: readonly string[]): unknown;
112
139
  /** Evaluate a declarative predicate against a concrete state. Pure, no I/O. */
113
140
  export declare function evalPredicate<S>(pred: BranchPredicate<S>, state: S): boolean;
114
141
  /**
@@ -128,51 +155,13 @@ export interface OpaquePredicate {
128
155
  sync: boolean;
129
156
  fn: (ctx: TestContext, s: any) => boolean | Promise<boolean>;
130
157
  }
131
- /** Unified runtime branch node. mode discriminates value-switch vs predicate-branch. */
132
- export type RuntimeBranchStep = RuntimeValueSwitchStep | RuntimePredicateBranchStep;
133
- export interface RuntimeValueSwitchStep {
134
- kind: "branch";
135
- mode: "value";
136
- name?: string;
137
- /**
138
- * subject lens, normalized to `(ctx, s)` (flow wraps its `(s)=>V` as `(_ctx,s)=>lens(s)`).
139
- * Evaluated exactly once. `path` present for flow (L2, strict-Proxy traced → safe
140
- * traversal at runtime + decision-table projection); absent for test (arbitrary lens).
141
- */
142
- subject: {
143
- lens: (ctx: TestContext, s: any) => any;
144
- path?: readonly string[];
145
- };
146
- cases: ReadonlyArray<{
147
- value: JsonScalar;
148
- steps: RuntimeFlowStep[];
149
- }>;
150
- default: RuntimeFlowStep[];
151
- }
152
- export interface RuntimePredicateBranchStep {
153
- kind: "branch";
154
- mode: "predicate";
155
- name?: string;
156
- cases: ReadonlyArray<{
157
- message?: string;
158
- predicate: BranchPredicate<any> | OpaquePredicate;
159
- steps: RuntimeFlowStep[];
160
- }>;
161
- default: RuntimeFlowStep[];
162
- }
163
- /**
164
- * Select the steps a branch takes against a concrete state (first-match → default).
165
- * Always async (L0 opaque predicates may be async). For value-mode the subject lens
166
- * is evaluated exactly once: flow uses the captured `path` (safe traversal, no throw
167
- * on missing intermediates), test calls the lens.
168
- */
169
- export declare function selectBranchSteps(step: RuntimeBranchStep, state: unknown, ctx: TestContext): Promise<RuntimeFlowStep[]>;
170
158
  /** JSON-safe predicate shape for a predicate-mode case. */
171
159
  export type ExtractedPredicate = {
172
160
  kind: "compare";
173
161
  op: string;
174
162
  path: string[];
175
- value: JsonScalar;
163
+ value?: JsonScalar;
164
+ rhsPath?: string[];
176
165
  } | {
177
166
  kind: "in";
178
167
  path: string[];
@@ -197,33 +186,7 @@ export type ExtractedPredicate = {
197
186
  strictness: "L1" | "L0";
198
187
  mayDoAsyncIO: boolean;
199
188
  };
200
- export type ExtractedBranchStep = {
201
- kind: "branch";
202
- mode: "value";
203
- name?: string;
204
- subjectPath: string[];
205
- cases: Array<{
206
- value: JsonScalar;
207
- steps: ExtractedFlowStep[];
208
- }>;
209
- default: ExtractedFlowStep[];
210
- } | {
211
- kind: "branch";
212
- mode: "predicate";
213
- name?: string;
214
- cases: Array<{
215
- message?: string;
216
- predicate: ExtractedPredicate;
217
- steps: ExtractedFlowStep[];
218
- }>;
219
- default: ExtractedFlowStep[];
220
- };
221
189
  /** Map a runtime predicate (path already captured at construction) to JSON-safe form. */
222
190
  export declare function extractPredicate(pred: BranchPredicate<any> | OpaquePredicate): ExtractedPredicate;
223
- /**
224
- * Normalize a runtime branch step to JSON-safe form. `recurse` normalizes a
225
- * sub-step list (provided by normalizeFlow so nested branches recurse).
226
- */
227
- export declare function extractBranchStep(step: RuntimeBranchStep, recurse: (steps: RuntimeFlowStep[]) => ExtractedFlowStep[]): ExtractedBranchStep;
228
191
  export {};
229
- //# sourceMappingURL=contract-flow-condition.d.ts.map
192
+ //# sourceMappingURL=predicates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../src/predicates.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  /**
2
- * Conditional branching predicate foundation (Phase 1).
2
+ * Predicatesthe shared declarative (L2) engine of the SDK.
3
3
  *
4
- * The declarative (L2) predicate layer for `flow().condition` / `switchOn` /
5
- * `switchCond` (design: internal/40-discovery/proposals/contract-flow-condition.md).
4
+ * Renamed from `contract-flow-condition.ts` (Nv1-D1, 2026-06-13): this was
5
+ * never flow-specific — it is the predicate foundation consumed by the vNext
6
+ * `workflow()` builder (branch/switch/route `when`, poll `until`, check
7
+ * `expect[]`, inbound correlate paths) and by `test()` helpers. The legacy
8
+ * `contract.flow()` step shapes that used to live here were deleted with the
9
+ * flow itself (Nv1-D2).
6
10
  *
7
11
  * A predicate is built ONLY through `predicateScope(...)` (`when` / `all` / `any`
8
12
  * / `not`) — never hand-authored — so every node is:
@@ -37,7 +41,9 @@ const PREDICATE_BRAND = Symbol("glubean.branch-predicate");
37
41
  * a future P1 enrichment; this string check is the P0 gate.)
38
42
  */
39
43
  export function assertSelectorSource(fn) {
40
- const src = fn.toString().trim();
44
+ // Function.prototype.toString.call an own `toString` on the lens object
45
+ // must not be able to spoof the source the gate inspects (S2.18 consult).
46
+ const src = Function.prototype.toString.call(fn).trim();
41
47
  const arrowAt = src.indexOf("=>");
42
48
  if (arrowAt < 0) {
43
49
  throw new LensPurityError("lens", "predicate lens must be an arrow function");
@@ -139,7 +145,12 @@ function isBrandedPredicate(node) {
139
145
  node !== null &&
140
146
  node[PREDICATE_BRAND] === true);
141
147
  }
142
- function selectorPath(lens) {
148
+ /**
149
+ * Gate + extract a pure selector lens to its frozen path. The single trust
150
+ * boundary every projected lens passes — predicates here, and the workflow
151
+ * inbound poll's `via`/`correlate` lenses (inbound-contract-design §9.3).
152
+ */
153
+ export function selectorPath(lens) {
143
154
  assertSelectorSource(lens); // P0 source gate (ternary / free-var / calls)
144
155
  return Object.freeze(extractSelectorPath(lens)); // strict-Proxy path + Proxy purity
145
156
  }
@@ -184,8 +195,19 @@ export function predicateScope() {
184
195
  ...(re.flags ? { flags: re.flags } : {}),
185
196
  });
186
197
  },
198
+ eqPath: (rhs) => brandFreeze({ kind: "compare", op: "eq", lens, path, rhsPath: selectorPath(rhs) }),
199
+ nePath: (rhs) => brandFreeze({ kind: "compare", op: "ne", lens, path, rhsPath: selectorPath(rhs) }),
187
200
  };
188
201
  };
202
+ const treeHasRhsPath = (pred) => {
203
+ if (pred.kind === "compare")
204
+ return pred.rhsPath !== undefined;
205
+ if (pred.kind === "and" || pred.kind === "or")
206
+ return pred.clauses.some(treeHasRhsPath);
207
+ if (pred.kind === "not")
208
+ return treeHasRhsPath(pred.clause);
209
+ return false;
210
+ };
189
211
  const combine = (kind, clauses) => {
190
212
  if (clauses.length === 0) {
191
213
  throw new LensPurityError(`predicate.${kind}`, `${kind}() needs at least one clause`);
@@ -196,12 +218,23 @@ export function predicateScope() {
196
218
  when: when,
197
219
  all: (...clauses) => combine("and", clauses),
198
220
  any: (...clauses) => combine("or", clauses),
199
- not: (clause) => brandFreeze({ kind: "not", clause }),
221
+ not: (clause) => {
222
+ // path-vs-path under NOT would invert the missing-operand-never-matches
223
+ // rule (`not(eqPath)` passes against {} — codex S2.17 R3 P2). Binary
224
+ // semantics can't carry "missing" through negation; both directions
225
+ // are directly expressible (eqPath / nePath), so reject the negation.
226
+ if (treeHasRhsPath(clause)) {
227
+ throw new LensPurityError("predicate.not", "path-vs-path compares cannot be negated — use nePath/eqPath to express the direction directly");
228
+ }
229
+ return brandFreeze({ kind: "not", clause });
230
+ },
200
231
  };
201
232
  }
202
233
  // --- runtime evaluation ------------------------------------------------------
203
- /** Safe path traversal: returns `undefined` if any intermediate is null/undefined. */
204
- function resolvePath(state, path) {
234
+ /** Safe path traversal: returns `undefined` if any intermediate is null/undefined.
235
+ * Shared with the inbound matcher (codex I3 R1: walking the EXTRACTED path can
236
+ * never throw, unlike calling a `e => e.data.id` lens on a shape-less body). */
237
+ export function resolvePath(state, path) {
205
238
  let cur = state;
206
239
  for (const seg of path) {
207
240
  if (cur === null || cur === undefined)
@@ -215,6 +248,17 @@ export function evalPredicate(pred, state) {
215
248
  switch (pred.kind) {
216
249
  case "compare": {
217
250
  const actual = resolvePath(state, pred.path);
251
+ if (pred.rhsPath !== undefined) {
252
+ const rhs = resolvePath(state, pred.rhsPath);
253
+ // A MISSING operand never matches (codex S2.17 R1 P2): undefined ===
254
+ // undefined would let `profileId eqPath userId` pass against {} —
255
+ // scalar eq can't even author undefined. Authors asserting absence
256
+ // use absent() explicitly.
257
+ if (actual === undefined || rhs === undefined)
258
+ return false;
259
+ // path-vs-path is eq/ne only in v1; strict === like scalar compare
260
+ return pred.op === "eq" ? actual === rhs : actual !== rhs;
261
+ }
218
262
  switch (pred.op) {
219
263
  case "eq":
220
264
  return actual === pred.value;
@@ -264,6 +308,20 @@ export function evalPredicate(pred, state) {
264
308
  // --- L2 predicate tree validation (second line of defense) -------------------
265
309
  const COMPARE_OPS = new Set(["eq", "ne", "gt", "gte", "lt", "lte"]);
266
310
  const PRESENCE_OPS = new Set(["exists", "absent", "truthy", "falsy"]);
311
+ /** Does this (untrusted) predicate tree contain a path-vs-path compare? */
312
+ function subtreeHasRhsPath(node) {
313
+ if (!node || typeof node !== "object")
314
+ return false;
315
+ const n = node;
316
+ if (n.kind === "compare")
317
+ return n.rhsPath !== undefined;
318
+ if ((n.kind === "and" || n.kind === "or") && Array.isArray(n.clauses)) {
319
+ return n.clauses.some(subtreeHasRhsPath);
320
+ }
321
+ if (n.kind === "not")
322
+ return subtreeHasRhsPath(n.clause);
323
+ return false;
324
+ }
267
325
  function assertPath(path, op) {
268
326
  if (!Array.isArray(path) || !path.every((seg) => typeof seg === "string")) {
269
327
  throw new LensPurityError(op, `predicate path must be a string[]`);
@@ -299,6 +357,17 @@ export function assertL2Predicate(node, op = "condition") {
299
357
  throw new LensPurityError(op, `invalid compare op ${JSON.stringify(c.op)}`);
300
358
  }
301
359
  assertPath(c.path, op);
360
+ if (c.rhsPath !== undefined) {
361
+ // path-vs-path (phase4 §7): eq/ne only; value must be absent
362
+ if (c.op !== "eq" && c.op !== "ne") {
363
+ throw new LensPurityError(op, `path-vs-path compare supports eq/ne only; got ${c.op}`);
364
+ }
365
+ if (c.value !== undefined) {
366
+ throw new LensPurityError(op, `compare cannot carry both value and rhsPath`);
367
+ }
368
+ assertPath(c.rhsPath, op);
369
+ return;
370
+ }
302
371
  assertJsonScalar(c.value, op);
303
372
  assertFiniteScalar(c.value, op);
304
373
  assertRelationalOperand(c.op, c.value);
@@ -347,6 +416,11 @@ export function assertL2Predicate(node, op = "condition") {
347
416
  case "not": {
348
417
  const c = node;
349
418
  assertL2Predicate(c.clause, op);
419
+ // mirror the construction-time guard for as-any/deserialized trees
420
+ // (codex S2.17 R3 P2): path-vs-path cannot be negated.
421
+ if (subtreeHasRhsPath(c.clause)) {
422
+ throw new LensPurityError(op, "path-vs-path compares cannot be negated — use nePath/eqPath to express the direction directly");
423
+ }
350
424
  return;
351
425
  }
352
426
  default:
@@ -358,49 +432,6 @@ export function assertL2Predicate(node, op = "condition") {
358
432
  function isOpaque(p) {
359
433
  return p.kind === "opaque";
360
434
  }
361
- /** Evaluate one predicate-mode case predicate (L2 declarative sync / L1 sync / L0 async). */
362
- async function evalCasePredicate(pred, state, ctx) {
363
- if (isOpaque(pred)) {
364
- const out = pred.fn(ctx, state);
365
- if (pred.sync && out && typeof out.then === "function") {
366
- throw new Error("conditionFn (L1) predicate must be synchronous — it returned a thenable. Use conditionAsync for async/I-O predicates.");
367
- }
368
- const result = await out;
369
- // The API types the predicate as `boolean`, but JS / `as any` callers can
370
- // return a truthy non-boolean (e.g. the string "false", an object). Fail
371
- // fast instead of letting `selectBranchSteps`' `if` silently take a branch
372
- // on a coerced value.
373
- if (typeof result !== "boolean") {
374
- throw new Error(`${pred.sync ? "conditionFn (L1)" : "conditionAsync (L0)"} predicate must return a boolean; ` +
375
- `got ${result === null ? "null" : typeof result}`);
376
- }
377
- return result;
378
- }
379
- return evalPredicate(pred, state);
380
- }
381
- /**
382
- * Select the steps a branch takes against a concrete state (first-match → default).
383
- * Always async (L0 opaque predicates may be async). For value-mode the subject lens
384
- * is evaluated exactly once: flow uses the captured `path` (safe traversal, no throw
385
- * on missing intermediates), test calls the lens.
386
- */
387
- export async function selectBranchSteps(step, state, ctx) {
388
- if (step.mode === "value") {
389
- const subject = step.subject.path
390
- ? resolvePath(state, step.subject.path)
391
- : step.subject.lens(ctx, state);
392
- for (const c of step.cases) {
393
- if (subject === c.value)
394
- return c.steps;
395
- }
396
- return step.default;
397
- }
398
- for (const c of step.cases) {
399
- if (await evalCasePredicate(c.predicate, state, ctx))
400
- return c.steps;
401
- }
402
- return step.default;
403
- }
404
435
  /** Map a runtime predicate (path already captured at construction) to JSON-safe form. */
405
436
  export function extractPredicate(pred) {
406
437
  if (isOpaque(pred)) {
@@ -408,7 +439,9 @@ export function extractPredicate(pred) {
408
439
  }
409
440
  switch (pred.kind) {
410
441
  case "compare":
411
- return { kind: "compare", op: pred.op, path: [...pred.path], value: pred.value };
442
+ return pred.rhsPath !== undefined
443
+ ? { kind: "compare", op: pred.op, path: [...pred.path], rhsPath: [...pred.rhsPath] }
444
+ : { kind: "compare", op: pred.op, path: [...pred.path], value: pred.value };
412
445
  case "in":
413
446
  return { kind: "in", path: [...pred.path], values: [...pred.values] };
414
447
  case "presence":
@@ -427,31 +460,4 @@ export function extractPredicate(pred) {
427
460
  return { kind: "not", clause: extractPredicate(pred.clause) };
428
461
  }
429
462
  }
430
- /**
431
- * Normalize a runtime branch step to JSON-safe form. `recurse` normalizes a
432
- * sub-step list (provided by normalizeFlow so nested branches recurse).
433
- */
434
- export function extractBranchStep(step, recurse) {
435
- if (step.mode === "value") {
436
- return {
437
- kind: "branch",
438
- mode: "value",
439
- ...(step.name ? { name: step.name } : {}),
440
- subjectPath: step.subject.path ? [...step.subject.path] : [],
441
- cases: step.cases.map((c) => ({ value: c.value, steps: recurse(c.steps) })),
442
- default: recurse(step.default),
443
- };
444
- }
445
- return {
446
- kind: "branch",
447
- mode: "predicate",
448
- ...(step.name ? { name: step.name } : {}),
449
- cases: step.cases.map((c) => ({
450
- ...(c.message ? { message: c.message } : {}),
451
- predicate: extractPredicate(c.predicate),
452
- steps: recurse(c.steps),
453
- })),
454
- default: recurse(step.default),
455
- };
456
- }
457
- //# sourceMappingURL=contract-flow-condition.js.map
463
+ //# sourceMappingURL=predicates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"predicates.js","sourceRoot":"","sources":["../src/predicates.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { isTestBranchStep } from "../types.js";
2
2
  import { registerTest } from "../internal.js";
3
3
  import { toArray } from "../data.js";
4
- import { assertSwitchCaseValues } from "../contract-flow-condition.js";
5
- import { validatePollBounds } from "../contract-flow-poll.js";
4
+ import { assertSwitchCaseValues } from "../predicates.js";
5
+ import { validatePollBounds } from "../poll-primitives.js";
6
6
  /**
7
7
  * Flatten steps for registry metadata: a branch contributes its first-class
8
8
  * LEAF steps (recursively, across cases + default) — NOT a synthetic branch
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/test/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/test/builder.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,13 @@ export declare function resolveBaseMeta(idOrMeta: string | TestMeta): TestMeta;
33
33
  export declare function normalizeEachTable<T extends Record<string, unknown>>(table: readonly T[] | Record<string, T>): (T & {
34
34
  _pick?: string;
35
35
  })[];
36
+ /**
37
+ * Resolve a GLUBEAN_PICK override against a set of example keys — the single
38
+ * matching semantic shared by `selectPickExamples` and `workflow.pick`'s
39
+ * filter pre-check: `all`/`*` selects everything, `*`-globs match by pattern,
40
+ * anything else matches literally. Returns the matched keys (possibly empty).
41
+ */
42
+ export declare function matchPickKeys(pickedEnv: string, keys: readonly string[]): string[];
36
43
  export declare function selectPickExamples<T extends Record<string, unknown>>(examples: Record<string, T>, count: number): (T & {
37
44
  _pick: string;
38
45
  })[];