jevascript 0.1.0 → 0.1.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 (56) hide show
  1. package/README.md +51 -11
  2. package/dist/cache.d.ts +5 -2
  3. package/dist/cache.d.ts.map +1 -1
  4. package/dist/cache.js +10 -12
  5. package/dist/cache.js.map +1 -1
  6. package/dist/collections.d.ts.map +1 -1
  7. package/dist/collections.js +68 -27
  8. package/dist/collections.js.map +1 -1
  9. package/dist/config.d.ts +6 -0
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +8 -2
  12. package/dist/config.js.map +1 -1
  13. package/dist/context.d.ts +17 -50
  14. package/dist/context.d.ts.map +1 -1
  15. package/dist/context.js +33 -108
  16. package/dist/context.js.map +1 -1
  17. package/dist/define.d.ts +26 -13
  18. package/dist/define.d.ts.map +1 -1
  19. package/dist/define.js +4 -0
  20. package/dist/define.js.map +1 -1
  21. package/dist/env.d.ts +6 -0
  22. package/dist/env.d.ts.map +1 -0
  23. package/dist/env.js +8 -0
  24. package/dist/env.js.map +1 -0
  25. package/dist/errors.d.ts +7 -2
  26. package/dist/errors.d.ts.map +1 -1
  27. package/dist/errors.js +13 -4
  28. package/dist/errors.js.map +1 -1
  29. package/dist/evaluate.d.ts.map +1 -1
  30. package/dist/evaluate.js +11 -12
  31. package/dist/evaluate.js.map +1 -1
  32. package/dist/index.d.ts +7 -8
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -2
  35. package/dist/index.js.map +1 -1
  36. package/dist/interpret.d.ts +25 -0
  37. package/dist/interpret.d.ts.map +1 -0
  38. package/dist/interpret.js +77 -0
  39. package/dist/interpret.js.map +1 -0
  40. package/dist/outputs.d.ts.map +1 -1
  41. package/dist/outputs.js +2 -1
  42. package/dist/outputs.js.map +1 -1
  43. package/dist/providers/jev.d.ts.map +1 -1
  44. package/dist/providers/jev.js +153 -48
  45. package/dist/providers/jev.js.map +1 -1
  46. package/dist/questions.d.ts +41 -4
  47. package/dist/questions.d.ts.map +1 -1
  48. package/dist/questions.js +8 -7
  49. package/dist/questions.js.map +1 -1
  50. package/dist/runner.d.ts +2 -1
  51. package/dist/runner.d.ts.map +1 -1
  52. package/dist/runner.js +53 -34
  53. package/dist/runner.js.map +1 -1
  54. package/dist/types.d.ts +2 -2
  55. package/dist/types.d.ts.map +1 -1
  56. package/package.json +33 -6
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,KAAK,OAAO,EAAuB,MAAM,aAAa,CAAA;AAEnH,OAAO,EAAmB,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGjF,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAEjB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAsD,KAAK,EAAE,MAAM,YAAY,CAAA;AAE3F,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAgBlF,qBAAa,eAAe;;gBASd,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,OAAuB;IAgI1D;;;;;OAKG;IACH,EAAE,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAIlF,4EAA4E;IAC5E,KAAK,CAAC,CAAC,SAAS,YAAY,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAI3F,oFAAoF;IACpF,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,aAAa,GAAG,EAAE,EAC9D,OAAO,EAAE,CAAC,EACV,KAAK,CAAC,EAAE,CAAC,GACR,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAIzC;;;;;;OAMG;IACG,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAI/F;;;;;;;OAOG;IACG,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAChD,IAAI,EAAE,CAAC,GACN,OAAO,CAAC;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;KAAE,CAAC;CAU/E"}
package/dist/context.js CHANGED
@@ -1,30 +1,12 @@
1
- import { BUILTIN_DEFAULTS, globalRuntime, shouldWarnUnbatched } from "./config.js";
2
- import { LowConfidenceError } from "./errors.js";
1
+ import { globalRuntime, resolveTimeout, shouldWarnUnbatched } from "./config.js";
3
2
  import { emit, runPlan } from "./runner.js";
4
3
  import { bindCollections } from "./collections.js";
5
4
  import { parseTtlOrUndefined } from "./internal.js";
5
+ import { interpret, resolveSamples } from "./interpret.js";
6
6
  import { DEFAULT_SCORE_FRAME, buildChoose, buildIs, buildScore, } from "./questions.js";
7
7
  function scoreFrame(config) {
8
8
  return config.defaults?.scoreFrame ?? DEFAULT_SCORE_FRAME;
9
9
  }
10
- /** Rounds needed for this question. `minConfidence` implies measurement. */
11
- function resolveSamples(kind, options, config) {
12
- if (options.samples !== undefined)
13
- return Math.max(1, options.samples);
14
- const needsMeasurement = options.minConfidence !== undefined && kind === "truth";
15
- if (!needsMeasurement)
16
- return 1;
17
- return config.defaults?.samples ?? BUILTIN_DEFAULTS.samples;
18
- }
19
- async function applyFallback(confidence, minConfidence, value, fallback) {
20
- if (minConfidence === undefined)
21
- return value;
22
- if (confidence !== undefined && confidence >= minConfidence)
23
- return value;
24
- if (fallback === undefined)
25
- throw new LowConfidenceError(confidence ?? 0, minConfidence, value);
26
- return typeof fallback === "function" ? await fallback() : fallback;
27
- }
28
10
  export class SemanticContext {
29
11
  #state;
30
12
  #pending = [];
@@ -54,7 +36,7 @@ export class SemanticContext {
54
36
  const planned = {
55
37
  key,
56
38
  question,
57
- samples: resolveSamples(question.kind, options, this.#config),
39
+ samples: resolveSamples(question.kind, options, this.#config.defaults),
58
40
  ...(ttl !== undefined ? { cacheTtlMs: ttl } : {}),
59
41
  };
60
42
  return new Promise((resolve, reject) => {
@@ -62,7 +44,7 @@ export class SemanticContext {
62
44
  key,
63
45
  provider,
64
46
  planned,
65
- timeoutMs: options.timeoutMs ?? this.#config.defaults?.timeoutMs,
47
+ timeoutMs: resolveTimeout(options.timeoutMs, this.#config),
66
48
  metric: options.metric,
67
49
  settle: (answer, measured, cached) => resolve({ answer, measured, cached }),
68
50
  fail: reject,
@@ -105,9 +87,12 @@ export class SemanticContext {
105
87
  byProvider.set(item.provider, [item]);
106
88
  }
107
89
  await Promise.all([...byProvider].map(async ([provider, items]) => {
108
- const timeouts = items.map((i) => i.timeoutMs).filter((t) => t !== undefined);
90
+ // One request carries every question, so it runs under the most
91
+ // generous deadline among them — or none, if any asked for none.
92
+ const timeouts = items.map((i) => i.timeoutMs);
93
+ const timeoutMs = timeouts.includes(undefined) ? undefined : Math.max(...timeouts);
109
94
  try {
110
- const result = await runPlan(provider, this.#state, items.map((i) => i.planned), { store: this.#runtime.store, ...(timeouts.length > 0 ? { timeoutMs: Math.max(...timeouts) } : {}) });
95
+ const result = await runPlan(provider, this.#state, items.map((i) => i.planned), { store: this.#runtime.store, ...(timeoutMs !== undefined ? { timeoutMs } : {}) });
111
96
  // Only name the batch when every question came from the same
112
97
  // definition; a mixed batch has no single identity to report.
113
98
  const names = new Set(items.map((i) => (i.metric ? `${i.metric.name}@${i.metric.version ?? ""}` : "")));
@@ -136,60 +121,29 @@ export class SemanticContext {
136
121
  }
137
122
  }));
138
123
  }
139
- async is(condition, options = {}) {
140
- const provider = this.#runtime.provider(options.provider);
141
- const built = buildIs(condition, options);
142
- const { answer, measured } = await this.#enqueue(provider, built.question, options);
143
- const probability = answer.probability;
144
- const defaults = this.#config.defaults;
145
- if (options.allowUnknown) {
146
- const [low, high] = options.uncertaintyBand ?? defaults?.uncertaintyBand ?? BUILTIN_DEFAULTS.uncertaintyBand;
147
- if (probability >= low && probability <= high)
148
- return "unknown";
149
- }
150
- const threshold = options.threshold ?? defaults?.threshold ?? BUILTIN_DEFAULTS.threshold;
151
- const raw = probability > threshold;
152
- const value = await applyFallback(measured, options.minConfidence ?? defaults?.minConfidence, raw, options.fallback);
153
- if (options.detailed) {
154
- return { value, probability, ...(measured !== undefined ? { confidence: measured } : {}) };
155
- }
156
- return value;
124
+ /** Sends one built question and interprets its answer. Every primitive goes through here. */
125
+ async #ask(built) {
126
+ const provider = this.#runtime.provider(built.options.provider);
127
+ const { answer, measured } = await this.#enqueue(provider, built.question, built.options);
128
+ return interpret(built, answer, measured, this.#config.defaults);
157
129
  }
158
- async score(criterion, options = {}) {
159
- const provider = this.#runtime.provider(options.provider);
160
- const built = buildScore(criterion, options, scoreFrame(this.#config));
161
- const { answer, measured } = await this.#enqueue(provider, built.question, options);
162
- const [min, max] = built.range;
163
- const defaults = this.#config.defaults;
164
- let raw;
165
- let detail;
166
- if (answer.kind === "level") {
167
- const levels = answer.probabilities.length;
168
- const position = levels > 1 ? answer.level / (levels - 1) : 0;
169
- raw = min + position * (max - min);
170
- detail = { value: raw, level: answer.level, confidence: answer.confidence };
171
- }
172
- else {
173
- const probability = answer.probability;
174
- raw = min + probability * (max - min);
175
- detail = { value: raw, probability, ...(measured !== undefined ? { confidence: measured } : {}) };
176
- }
177
- const value = await applyFallback(detail.confidence, options.minConfidence ?? defaults?.minConfidence, raw, options.fallback);
178
- return options.detailed ? { ...detail, value } : value;
130
+ /**
131
+ * P(condition) thresholded into a boolean.
132
+ *
133
+ * `allowUnknown: true` widens the result to `boolean | "unknown"`, and
134
+ * `detailed: true` returns the probability alongside — the types follow.
135
+ */
136
+ is(condition, options) {
137
+ return this.#ask(buildIs(condition, options ?? {}));
138
+ }
139
+ /** A probability- or rubric-backed number on `range` (0–100 by default). */
140
+ score(criterion, options) {
141
+ return this.#ask(buildScore(criterion, options ?? {}, scoreFrame(this.#config)));
179
142
  }
180
- async choose(input, extra = {}) {
181
- const provider = this.#runtime.provider(extra.provider);
182
- const built = buildChoose(input, extra);
183
- const { answer } = await this.#enqueue(provider, built.question, extra);
184
- const choice = answer;
185
- const value = await applyFallback(choice.confidence, extra.minConfidence ?? this.#config.defaults?.minConfidence, choice.choice, extra.fallback);
186
- return extra.detailed
187
- ? { value, confidence: choice.confidence, probabilities: { ...choice.probabilities } }
188
- : value;
143
+ /** Exactly one of the options. The literal union is inferred without `as const`. */
144
+ choose(options, extra) {
145
+ return this.#ask(buildChoose(options, extra ?? {}));
189
146
  }
190
- // -------------------------------------------------------------------------
191
- // rank()
192
- // -------------------------------------------------------------------------
193
147
  /**
194
148
  * Orders items by how well they fit this state.
195
149
  *
@@ -200,52 +154,23 @@ export class SemanticContext {
200
154
  async rank(items, options) {
201
155
  return bindCollections(this.#runtime).rank(items, { ...options, context: this.#state });
202
156
  }
203
- // -------------------------------------------------------------------------
204
- // batch()
205
- // -------------------------------------------------------------------------
206
157
  /**
207
158
  * Evaluates every question against this state in a single request.
208
159
  *
209
160
  * Equivalent to creating the same questions in one turn and awaiting them
210
- * together; this form just makes the intent explicit and names the results.
161
+ * together including every option: thresholds, `allowUnknown`,
162
+ * `minConfidence` and `fallback`, `detailed`. This form just makes the
163
+ * intent explicit and names the results.
211
164
  */
212
165
  async batch(spec) {
213
166
  const frame = scoreFrame(this.#config);
214
167
  const entries = Object.entries(spec);
215
- const results = await Promise.all(entries.map(async ([, questionSpec]) => {
216
- const built = questionSpec.build(frame);
217
- const provider = this.#runtime.provider(built.options.provider);
218
- const { answer, measured } = await this.#enqueue(provider, built.question, built.options);
219
- return this.#interpret(built, answer, measured);
220
- }));
168
+ const results = await Promise.all(entries.map(([, questionSpec]) => this.#ask(questionSpec.build(frame))));
221
169
  const output = {};
222
170
  entries.forEach(([key], index) => {
223
171
  output[key] = results[index];
224
172
  });
225
173
  return output;
226
174
  }
227
- #interpret(built, answer, measured) {
228
- const defaults = this.#config.defaults;
229
- if (built.operation === "choose")
230
- return answer.choice;
231
- if (built.operation === "is") {
232
- const options = built.options;
233
- const probability = answer.probability;
234
- if (options.allowUnknown) {
235
- const [low, high] = options.uncertaintyBand ?? defaults?.uncertaintyBand ?? BUILTIN_DEFAULTS.uncertaintyBand;
236
- if (probability >= low && probability <= high)
237
- return "unknown";
238
- }
239
- return probability > (options.threshold ?? defaults?.threshold ?? BUILTIN_DEFAULTS.threshold);
240
- }
241
- const [min, max] = built.range ?? [0, 100];
242
- if (answer.kind === "level") {
243
- const levels = answer.probabilities.length;
244
- const position = levels > 1 ? answer.level / (levels - 1) : 0;
245
- return min + position * (max - min);
246
- }
247
- void measured;
248
- return min + answer.probability * (max - min);
249
- }
250
175
  }
251
176
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/define.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type Runtime } from "./config.ts";
2
- import type { IsOptions, QuestionSpec, ScoreOptions, SharedOptions } from "./questions.ts";
2
+ import type { IsOptions, QuestionSpec, ScoreOptions, SharedOptions, TruthValue } from "./questions.ts";
3
3
  import type { JsonValue, State } from "./types.ts";
4
4
  import type { NumberOutput } from "./outputs.ts";
5
5
  export interface MetricDefinition {
@@ -16,18 +16,27 @@ export interface MetricDefinition {
16
16
  /** What clearly does not count, even when it looks close — the near-misses. */
17
17
  falseWhen?: string | JsonValue;
18
18
  output?: NumberOutput;
19
- defaults?: Omit<ScoreOptions, "range" | "levels">;
19
+ defaults?: MetricOptions;
20
20
  }
21
+ /** Per-call options for a metric. Its shape — range, rubric, framing — belongs to the definition. */
22
+ export type MetricOptions = Omit<ScoreOptions, "range" | "levels" | "asProposition" | "detailed" | "metric">;
21
23
  export interface Metric {
22
- (state: State, options?: ScoreOptions): Promise<number>;
24
+ (state: State, options?: MetricOptions): Promise<number>;
23
25
  readonly name: string;
24
26
  readonly version: string | undefined;
25
27
  readonly definition: MetricDefinition;
26
28
  /** Use inside `batch()` to share a request with other questions. */
27
- question(options?: ScoreOptions): QuestionSpec<number>;
29
+ question(options?: MetricOptions): QuestionSpec<number>;
28
30
  }
29
31
  export declare function defineMetric(definition: MetricDefinition): Metric;
30
32
  export declare function defineMetricWith(runtime: Runtime, definition: MetricDefinition): Metric;
33
+ /** Options a rule may set as defaults. `allowUnknown` here changes what the rule returns. */
34
+ export type RuleDefaults = Omit<SharedOptions, "detailed" | "metric"> & {
35
+ threshold?: number;
36
+ allowUnknown?: boolean;
37
+ uncertaintyBand?: readonly [number, number];
38
+ fallback?: boolean | (() => boolean | Promise<boolean>);
39
+ };
31
40
  export interface RuleDefinition {
32
41
  name: string;
33
42
  version?: string;
@@ -35,18 +44,22 @@ export interface RuleDefinition {
35
44
  condition: string;
36
45
  trueWhen?: string | JsonValue;
37
46
  falseWhen?: string | JsonValue;
38
- defaults?: SharedOptions & {
39
- threshold?: number;
40
- allowUnknown?: boolean;
41
- };
47
+ defaults?: RuleDefaults;
42
48
  }
43
- export interface Rule {
44
- (state: State, options?: IsOptions): Promise<boolean>;
49
+ /**
50
+ * Per-call options for a rule. Whether it may answer "unknown" is part of the
51
+ * definition, so it is not overridable per call — that keeps the return type honest.
52
+ */
53
+ export type RuleOptions = Omit<IsOptions, "detailed" | "allowUnknown" | "metric" | "trueWhen" | "falseWhen">;
54
+ /** What a rule resolves to: `boolean`, or `boolean | "unknown"` when its defaults allow it. */
55
+ export type RuleValue<D extends RuleDefinition> = "defaults" extends keyof D ? TruthValue<NonNullable<D["defaults"]>> | (undefined extends D["defaults"] ? boolean : never) : boolean;
56
+ export interface Rule<V extends boolean | "unknown" = boolean> {
57
+ (state: State, options?: RuleOptions): Promise<V>;
45
58
  readonly name: string;
46
59
  readonly version: string | undefined;
47
60
  readonly definition: RuleDefinition;
48
- question(options?: IsOptions): QuestionSpec<boolean>;
61
+ question(options?: RuleOptions): QuestionSpec<V>;
49
62
  }
50
- export declare function defineRule(definition: RuleDefinition): Rule;
51
- export declare function defineRuleWith(runtime: Runtime, definition: RuleDefinition): Rule;
63
+ export declare function defineRule<const D extends RuleDefinition>(definition: D): Rule<RuleValue<D>>;
64
+ export declare function defineRuleWith<const D extends RuleDefinition>(runtime: Runtime, definition: D): Rule<RuleValue<D>>;
52
65
  //# sourceMappingURL=define.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE1F,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,yGAAyG;IACzG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;CACvD;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAEjE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAkCvF;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,QAAQ,CAAC,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAC1E;AAED,MAAM,WAAW,IAAI;IACnB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAA;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;CACrD;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,CAE3D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,GAAG,IAAI,CA4BjF"}
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
package/dist/define.js CHANGED
@@ -11,6 +11,8 @@ export function defineMetricWith(runtime, definition) {
11
11
  const baseOptions = (override = {}) => ({
12
12
  ...definition.defaults,
13
13
  ...override,
14
+ // The call signature promises a number, whatever arrives at runtime.
15
+ detailed: false,
14
16
  metric: identity,
15
17
  range,
16
18
  asProposition: true,
@@ -39,6 +41,8 @@ export function defineRuleWith(runtime, definition) {
39
41
  const baseOptions = (override = {}) => ({
40
42
  ...definition.defaults,
41
43
  ...override,
44
+ detailed: false,
45
+ allowUnknown: definition.defaults?.allowUnknown ?? false,
42
46
  metric: identity,
43
47
  ...(definition.trueWhen !== undefined ? { trueWhen: definition.trueWhen } : {}),
44
48
  ...(definition.falseWhen !== undefined ? { falseWhen: definition.falseWhen } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"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"}
package/dist/env.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Reads an environment variable where one exists. Runtimes without `process`
3
+ * (edge workers) simply have no environment to read, rather than crashing.
4
+ */
5
+ export declare function env(name: string): string | undefined;
6
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEpD"}
package/dist/env.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Reads an environment variable where one exists. Runtimes without `process`
3
+ * (edge workers) simply have no environment to read, rather than crashing.
4
+ */
5
+ export function env(name) {
6
+ return typeof process === "undefined" ? undefined : process.env?.[name];
7
+ }
8
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,IAAY;IAC9B,OAAO,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC"}
package/dist/errors.d.ts CHANGED
@@ -22,7 +22,12 @@ export declare class SemanticValidationError extends SemanticError {
22
22
  constructor(condition: string, probability: number);
23
23
  }
24
24
  export declare class ProviderError extends SemanticError {
25
- readonly status?: number | undefined;
26
- constructor(message: string, status?: number | undefined);
25
+ readonly status: number | undefined;
26
+ constructor(message: string, status?: number);
27
+ }
28
+ /** The evaluation did not finish inside its deadline. Retries count against the same deadline. */
29
+ export declare class SemanticTimeoutError extends ProviderError {
30
+ readonly timeoutMs: number;
31
+ constructor(provider: string, timeoutMs: number);
27
32
  }
28
33
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,aAAa;;CAQpD;AAED,wFAAwF;AACxF,qBAAa,0BAA2B,SAAQ,aAAa;IAEzD,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM;gBADf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM;CAKf;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IAEjD,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO;gBAFd,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,OAAO;CAQ1B;AAED,qBAAa,uBAAwB,SAAQ,aAAa;IAEtD,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM;gBADnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM;CAK/B;AAED,qBAAa,aAAc,SAAQ,aAAa;IAG5C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;gBADxB,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA;CAK3B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,aAAa;;CAQpD;AAED,wFAAwF;AACxF,qBAAa,0BAA2B,SAAQ,aAAa;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAM5D;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;gBAEX,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAUtE;AAED,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;gBAEhB,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAMnD;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;gBAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;CAK7C;AAED,kGAAkG;AAClG,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;gBAEd,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAKhD"}
package/dist/errors.js CHANGED
@@ -17,9 +17,9 @@ export class UnsupportedByProviderError extends SemanticError {
17
17
  feature;
18
18
  constructor(provider, feature, hint) {
19
19
  super(`Provider "${provider}" cannot do ${feature}. ${hint}`);
20
+ this.name = "UnsupportedByProviderError";
20
21
  this.provider = provider;
21
22
  this.feature = feature;
22
- this.name = "UnsupportedByProviderError";
23
23
  }
24
24
  }
25
25
  export class LowConfidenceError extends SemanticError {
@@ -29,10 +29,10 @@ export class LowConfidenceError extends SemanticError {
29
29
  constructor(confidence, minConfidence, value) {
30
30
  super(`Confidence ${confidence.toFixed(3)} is below minConfidence ${minConfidence}. ` +
31
31
  "Supply `fallback` to degrade gracefully, or lower the threshold.");
32
+ this.name = "LowConfidenceError";
32
33
  this.confidence = confidence;
33
34
  this.minConfidence = minConfidence;
34
35
  this.value = value;
35
- this.name = "LowConfidenceError";
36
36
  }
37
37
  }
38
38
  export class SemanticValidationError extends SemanticError {
@@ -40,17 +40,26 @@ export class SemanticValidationError extends SemanticError {
40
40
  probability;
41
41
  constructor(condition, probability) {
42
42
  super(`Value failed semantic condition ${JSON.stringify(condition)} (p=${probability.toFixed(3)}).`);
43
+ this.name = "SemanticValidationError";
43
44
  this.condition = condition;
44
45
  this.probability = probability;
45
- this.name = "SemanticValidationError";
46
46
  }
47
47
  }
48
48
  export class ProviderError extends SemanticError {
49
49
  status;
50
50
  constructor(message, status) {
51
51
  super(message);
52
- this.status = status;
53
52
  this.name = "ProviderError";
53
+ this.status = status;
54
+ }
55
+ }
56
+ /** The evaluation did not finish inside its deadline. Retries count against the same deadline. */
57
+ export class SemanticTimeoutError extends ProviderError {
58
+ timeoutMs;
59
+ constructor(provider, timeoutMs) {
60
+ super(`Provider "${provider}" did not answer within ${timeoutMs}ms.`);
61
+ this.name = "SemanticTimeoutError";
62
+ this.timeoutMs = timeoutMs;
54
63
  }
55
64
  }
56
65
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IACnD;QACE,KAAK,CACH,sEAAsE;YACpE,qEAAqE,CACxE,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,wFAAwF;AACxF,MAAM,OAAO,0BAA2B,SAAQ,aAAa;IAEhD;IACA;IAFX,YACW,QAAgB,EAChB,OAAe,EACxB,IAAY;QAEZ,KAAK,CAAC,aAAa,QAAQ,eAAe,OAAO,KAAK,IAAI,EAAE,CAAC,CAAA;QAJpD,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAAQ;QAIxB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IAExC;IACA;IACA;IAHX,YACW,UAAkB,EAClB,aAAqB,EACrB,KAAc;QAEvB,KAAK,CACH,cAAc,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,aAAa,IAAI;YAC7E,kEAAkE,CACrE,CAAA;QAPQ,eAAU,GAAV,UAAU,CAAQ;QAClB,kBAAa,GAAb,aAAa,CAAQ;QACrB,UAAK,GAAL,KAAK,CAAS;QAMvB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,aAAa;IAE7C;IACA;IAFX,YACW,SAAiB,EACjB,WAAmB;QAE5B,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAH3F,cAAS,GAAT,SAAS,CAAQ;QACjB,gBAAW,GAAX,WAAW,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,aAAa;IAGnC;IAFX,YACE,OAAe,EACN,MAAe;QAExB,KAAK,CAAC,OAAO,CAAC,CAAA;QAFL,WAAM,GAAN,MAAM,CAAS;QAGxB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IACnD;QACE,KAAK,CACH,sEAAsE;YACpE,qEAAqE,CACxE,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,wFAAwF;AACxF,MAAM,OAAO,0BAA2B,SAAQ,aAAa;IAClD,QAAQ,CAAQ;IAChB,OAAO,CAAQ;IAExB,YAAY,QAAgB,EAAE,OAAe,EAAE,IAAY;QACzD,KAAK,CAAC,aAAa,QAAQ,eAAe,OAAO,KAAK,IAAI,EAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IAC1C,UAAU,CAAQ;IAClB,aAAa,CAAQ;IACrB,KAAK,CAAS;IAEvB,YAAY,UAAkB,EAAE,aAAqB,EAAE,KAAc;QACnE,KAAK,CACH,cAAc,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,aAAa,IAAI;YAC7E,kEAAkE,CACrE,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,aAAa;IAC/C,SAAS,CAAQ;IACjB,WAAW,CAAQ;IAE5B,YAAY,SAAiB,EAAE,WAAmB;QAChD,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACpG,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,aAAa;IACrC,MAAM,CAAoB;IAEnC,YAAY,OAAe,EAAE,MAAe;QAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAED,kGAAkG;AAClG,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IAC5C,SAAS,CAAQ;IAE1B,YAAY,QAAgB,EAAE,SAAiB;QAC7C,KAAK,CAAC,aAAa,QAAQ,2BAA2B,SAAS,KAAK,CAAC,CAAA;QACrE,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;QAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAI3E,OAAO,KAAK,EAAE,SAAS,EAAgB,WAAW,EAAE,MAAM,cAAc,CAAA;AACxE,OAAO,KAAK,EAA6B,gBAAgB,EAAoB,KAAK,EAAe,MAAM,YAAY,CAAA;AAEnH,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,SAAS;IAClD,IAAI,EAAE,KAAK,CAAA;IACX;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,MAAM,EAAE,CAAC,CAAA;IACT,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AAwED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAExG;AAED,4EAA4E;AAC5E,wBAAsB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAwE9H"}
1
+ {"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAK3F,OAAO,KAAK,EAAE,SAAS,EAAgB,WAAW,EAAE,MAAM,cAAc,CAAA;AACxE,OAAO,KAAK,EAAgB,gBAAgB,EAAoB,KAAK,EAAe,MAAM,YAAY,CAAA;AAEtG,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,SAAS;IAClD,IAAI,EAAE,KAAK,CAAA;IACX;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,MAAM,EAAE,CAAC,CAAA;IACT,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AA4ED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAExG;AAED,4EAA4E;AAC5E,wBAAsB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAkE9H"}
package/dist/evaluate.js CHANGED
@@ -1,6 +1,7 @@
1
- import { BUILTIN_DEFAULTS, globalRuntime } from "./config.js";
1
+ import { BUILTIN_DEFAULTS, globalRuntime, resolveTimeout } from "./config.js";
2
2
  import { emit, runPlan } from "./runner.js";
3
3
  import { parseTtlOrUndefined } from "./internal.js";
4
+ import { toRange } from "./interpret.js";
4
5
  import { DEFAULT_SCORE_FRAME } from "./questions.js";
5
6
  /**
6
7
  * Each question's instructions must be a proposition, on its own.
@@ -26,7 +27,12 @@ function collect(output, path, into) {
26
27
  collect(field, [...path, name], into);
27
28
  return;
28
29
  }
29
- const key = path.length === 0 ? "value" : path.join("__");
30
+ // Readable keys where possible, but `{ a__b }` and `{ a: { b } }` must not
31
+ // share one: a collision would silently answer one field with the other.
32
+ const base = path.length === 0 ? "value" : path.join("__");
33
+ let key = base;
34
+ for (let n = 2; into.some((leaf) => leaf.key === key); n++)
35
+ key = `${base}_${n}`;
30
36
  const instructions = instructionsFor(path, output.describe, output.kind);
31
37
  if (output.kind === "boolean") {
32
38
  into.push({
@@ -94,7 +100,8 @@ export async function evaluateWith(runtime, request) {
94
100
  samples: request.samples ?? 1,
95
101
  ...(ttl !== undefined ? { cacheTtlMs: ttl } : {}),
96
102
  }));
97
- const result = await runPlan(provider, state, planned, { store: runtime.store, ...(request.timeoutMs !== undefined ? { timeoutMs: request.timeoutMs } : {}) });
103
+ const timeoutMs = resolveTimeout(request.timeoutMs, runtime.config);
104
+ const result = await runPlan(provider, state, planned, { store: runtime.store, ...(timeoutMs !== undefined ? { timeoutMs } : {}) });
98
105
  emit({
99
106
  operation: "evaluate",
100
107
  keys: leaves.map((l) => l.key),
@@ -122,15 +129,7 @@ export async function evaluateWith(runtime, request) {
122
129
  value = answer.choice;
123
130
  }
124
131
  else {
125
- const { min, max } = leaf.output;
126
- if (answer.kind === "level") {
127
- const width = answer.probabilities.length;
128
- const position = width > 1 ? answer.level / (width - 1) : 0;
129
- value = min + position * (max - min);
130
- }
131
- else {
132
- value = min + answer.probability * (max - min);
133
- }
132
+ value = toRange(leaf.question, answer, [leaf.output.min, leaf.output.max]);
134
133
  }
135
134
  if (leaf.path.length === 0)
136
135
  scalar = value;
@@ -1 +1 @@
1
- {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluate.js","sourceRoot":"","sources":["../src/evaluate.ts"],"names":[],"mappings":"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"}