@cavelang/solver 0.27.14 → 0.29.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.
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import type { Options, Result, SolverAdapter } from './adapter.ts';
2
+ import * as Explain from './explain.ts';
2
3
  import type { Model } from './model.ts';
3
4
  /** Validates and negotiates a model before crossing the adapter boundary. */
4
5
  export declare const run: (adapter: SolverAdapter, model: Model, options?: Options) => Promise<Result>;
6
+ /** Solve and return a traceable JSON explanation envelope. */
7
+ export declare const runWithExplanation: (adapter: SolverAdapter, model: Model, options?: Options, context?: Explain.Context) => Promise<Explain.Report>;
5
8
  //# sourceMappingURL=solve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solve.d.ts","sourceRoot":"","sources":["../../src/solve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAElE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,6EAA6E;AAC7E,eAAO,MAAM,GAAG,GAAU,SAAS,aAAa,EAAE,OAAO,KAAK,EAAE,UAAS,OAAY,KAAG,OAAO,CAAC,MAAM,CAMrG,CAAA"}
1
+ {"version":3,"file":"solve.d.ts","sourceRoot":"","sources":["../../src/solve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAElE,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAevC,6EAA6E;AAC7E,eAAO,MAAM,GAAG,GAAU,SAAS,aAAa,EAAE,OAAO,KAAK,EAAE,UAAS,OAAY,KAAG,OAAO,CAAC,MAAM,CAErG,CAAA;AAED,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,GAC7B,SAAS,aAAa,EACtB,OAAO,KAAK,EACZ,UAAS,OAAY,EACrB,UAAS,OAAO,CAAC,OAAY,KAC5B,OAAO,CAAC,OAAO,CAAC,MAAM,CAGxB,CAAA"}
package/dist/src/solve.js CHANGED
@@ -1,12 +1,22 @@
1
1
  import * as Capability from "./capability.js";
2
+ import * as Explain from "./explain.js";
2
3
  import * as Validate from "./validate.js";
3
- /** Validates and negotiates a model before crossing the adapter boundary. */
4
- export const run = async (adapter, model, options = {}) => {
4
+ const prepared = (adapter, model, options) => {
5
5
  const limits = Validate.mergeLimits(options.limits);
6
6
  Validate.model(model, limits);
7
- const missing = Capability.missing(adapter, model, options.unsatCore ?? false);
7
+ const unsatCore = options.unsatCore ?? false;
8
+ const missing = Capability.missing(adapter, model, unsatCore);
8
9
  if (missing.length > 0)
9
10
  throw new Capability.UnsupportedModelError(adapter.backend.name, missing);
10
- return adapter.solve(model, { limits, unsatCore: options.unsatCore ?? false });
11
+ return { limits, run: () => adapter.solve(model, { limits, unsatCore }) };
12
+ };
13
+ /** Validates and negotiates a model before crossing the adapter boundary. */
14
+ export const run = async (adapter, model, options = {}) => {
15
+ return prepared(adapter, model, options).run();
16
+ };
17
+ /** Solve and return a traceable JSON explanation envelope. */
18
+ export const runWithExplanation = async (adapter, model, options = {}, context = {}) => {
19
+ const solve = prepared(adapter, model, options);
20
+ return Explain.report(model, await solve.run(), solve.limits, context);
11
21
  };
12
22
  //# sourceMappingURL=solve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"solve.js","sourceRoot":"","sources":["../../src/solve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,OAAsB,EAAE,KAAY,EAAE,UAAmB,EAAE,EAAmB,EAAE;IACxG,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,CAAA;IAC9E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACjG,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAA;AAChF,CAAC,CAAA"}
1
+ {"version":3,"file":"solve.js","sourceRoot":"","sources":["../../src/solve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC,MAAM,QAAQ,GAAG,CAAC,OAAsB,EAAE,KAAY,EAAE,OAAgB,EAGtE,EAAE;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAA;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAC7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACjG,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;AAC3E,CAAC,CAAA;AAED,6EAA6E;AAC7E,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,OAAsB,EAAE,KAAY,EAAE,UAAmB,EAAE,EAAmB,EAAE;IACxG,OAAO,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAA;AAChD,CAAC,CAAA;AAED,8DAA8D;AAC9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,OAAsB,EACtB,KAAY,EACZ,UAAmB,EAAE,EACrB,UAA2B,EAAE,EACJ,EAAE;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACxE,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1C,OAAO,EAA2B,KAAK,KAAK,EAAgC,MAAM,YAAY,CAAA;AAE9F,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;gBAExB,QAAQ,EAAE,SAAS,MAAM,EAAE;CAKxC;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,KAAK,EAAE,MAAM,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAOjE;AAiKD,eAAO,MAAM,WAAW,GAAI,QAAO,OAAO,CAAC,MAAM,CAAM,KAAG,MAQzD,CAAA;AAgBD,sEAAsE;AACtE,eAAO,MAAM,KAAK,GAAI,OAAO,KAAK,EAAE,aAAY,OAAO,CAAC,MAAM,CAAM,KAAG,KA+EtE,CAAA"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1C,OAAO,EAA2B,KAAK,KAAK,EAAgC,MAAM,YAAY,CAAA;AAE9F,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CACjC,CAAA;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;gBAExB,QAAQ,EAAE,SAAS,MAAM,EAAE;CAKxC;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,KAAK,EAAE,MAAM,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAOjE;AA2LD,eAAO,MAAM,WAAW,GAAI,QAAO,OAAO,CAAC,MAAM,CAAM,KAAG,MAQzD,CAAA;AAgBD,sEAAsE;AACtE,eAAO,MAAM,KAAK,GAAI,OAAO,KAAK,EAAE,aAAY,OAAO,CAAC,MAAM,CAAM,KAAG,KAoFtE,CAAA"}
@@ -39,6 +39,31 @@ const requireId = (id, path, problems) => {
39
39
  problems.push(`${path} must match ${String(idPattern)}`);
40
40
  }
41
41
  };
42
+ const provenance = (value, path, problems) => {
43
+ if (value.declaration !== undefined) {
44
+ if (value.declaration.uri.trim() === '')
45
+ problems.push(`${path}.declaration.uri must not be empty`);
46
+ for (const position of ['line', 'column']) {
47
+ const at = value.declaration[position];
48
+ if (at !== undefined && (!Number.isSafeInteger(at) || at <= 0)) {
49
+ problems.push(`${path}.declaration.${position} must be a positive safe integer`);
50
+ }
51
+ }
52
+ }
53
+ for (const [name, ids] of [
54
+ ['evidenceRowIds', value.evidenceRowIds],
55
+ ['scenarioInputIds', value.scenarioInputIds]
56
+ ]) {
57
+ if (ids === undefined)
58
+ continue;
59
+ if (new Set(ids).size !== ids.length)
60
+ problems.push(`${path}.${name} contains duplicate identifiers`);
61
+ ids.forEach((id, index) => {
62
+ if (id.trim() === '')
63
+ problems.push(`${path}.${name}[${index}] must not be empty`);
64
+ });
65
+ }
66
+ };
42
67
  const duplicates = (ids, path, problems) => {
43
68
  const seen = new Set();
44
69
  for (const id of ids) {
@@ -201,6 +226,7 @@ export const model = (input, limitInput = {}) => {
201
226
  duplicates(enumDeclarations.map(domain => domain.id), 'enums', problems);
202
227
  enumDeclarations.forEach((domain, index) => {
203
228
  requireId(domain.id, `enums[${index}].id`, problems);
229
+ provenance(domain, `enums[${index}]`, problems);
204
230
  if (domain.values.length === 0)
205
231
  problems.push(`enums[${index}] must contain at least one value`);
206
232
  if (new Set(domain.values).size !== domain.values.length)
@@ -211,6 +237,7 @@ export const model = (input, limitInput = {}) => {
211
237
  duplicates(input.variables.map(variable => variable.id), 'variables', problems);
212
238
  input.variables.forEach((variable, index) => {
213
239
  requireId(variable.id, `variables[${index}].id`, problems);
240
+ provenance(variable, `variables[${index}]`, problems);
214
241
  variables.set(variable.id, variable);
215
242
  if (variable.sort === 'enum' && !domains.has(variable.domain)) {
216
243
  problems.push(`variables[${index}] references unknown enum domain ${JSON.stringify(variable.domain)}`);
@@ -247,12 +274,14 @@ export const model = (input, limitInput = {}) => {
247
274
  const walk = { nodes: 0, depth: 0 };
248
275
  input.constraints.forEach((constraint, index) => {
249
276
  requireId(constraint.id, `constraints[${index}].id`, problems);
277
+ provenance(constraint, `constraints[${index}]`, problems);
250
278
  const sort = infer(constraint.expression, `constraints[${index}].expression`, variables, domains, problems, walk, 1);
251
279
  if (sort.kind !== 'bool')
252
280
  problems.push(`constraints[${index}].expression must be boolean, received ${sort.kind}`);
253
281
  });
254
282
  (input.softConstraints ?? []).forEach((constraint, index) => {
255
283
  requireId(constraint.id, `softConstraints[${index}].id`, problems);
284
+ provenance(constraint, `softConstraints[${index}]`, problems);
256
285
  const sort = infer(constraint.expression, `softConstraints[${index}].expression`, variables, domains, problems, walk, 1);
257
286
  if (sort.kind !== 'bool')
258
287
  problems.push(`softConstraints[${index}].expression must be boolean, received ${sort.kind}`);
@@ -263,6 +292,7 @@ export const model = (input, limitInput = {}) => {
263
292
  });
264
293
  (input.objectives ?? []).forEach((objective, index) => {
265
294
  requireId(objective.id, `objectives[${index}].id`, problems);
295
+ provenance(objective, `objectives[${index}]`, problems);
266
296
  const sort = infer(objective.expression, `objectives[${index}].expression`, variables, domains, problems, walk, 1);
267
297
  if (!numeric(sort))
268
298
  problems.push(`objectives[${index}].expression must be numeric, received ${sort.kind}`);
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ import type { Options, SolverAdapter } from './adapter.ts';
2
+ import * as Explain from './explain.ts';
3
+ import type { Model, Value } from './model.ts';
4
+ export declare const schema: "cave.solver/workflow@1";
5
+ export declare class WorkflowValidationError extends Error {
6
+ constructor(message: string);
7
+ }
8
+ export type Domain = {
9
+ readonly variableId: string;
10
+ readonly kind: 'finite';
11
+ readonly sort: 'bool';
12
+ readonly values: readonly boolean[];
13
+ } | {
14
+ readonly variableId: string;
15
+ readonly kind: 'finite';
16
+ readonly sort: 'enum';
17
+ readonly domain: string;
18
+ readonly values: readonly string[];
19
+ } | {
20
+ readonly variableId: string;
21
+ readonly kind: 'interval';
22
+ readonly sort: 'int';
23
+ readonly min: string;
24
+ readonly max: string;
25
+ } | {
26
+ readonly variableId: string;
27
+ readonly kind: 'interval';
28
+ readonly sort: 'real';
29
+ readonly min: {
30
+ readonly numerator: string;
31
+ readonly denominator: string;
32
+ };
33
+ readonly max: {
34
+ readonly numerator: string;
35
+ readonly denominator: string;
36
+ };
37
+ };
38
+ export type Scope = {
39
+ readonly domains: readonly Domain[];
40
+ readonly assumptions: readonly string[];
41
+ readonly theories: readonly ('booleans' | 'bounded-integers' | 'exact-rationals' | 'finite-enums')[];
42
+ };
43
+ export type TieBreak = {
44
+ readonly variableId: string;
45
+ readonly preference: 'false-first' | 'smallest-first' | 'lexical-first';
46
+ };
47
+ export type Operation = {
48
+ readonly kind: 'feasibility';
49
+ } | {
50
+ readonly kind: 'optimization';
51
+ } | {
52
+ readonly kind: 'counterexample';
53
+ readonly invariantId: string;
54
+ readonly verdict: 'counterexample' | 'holds-within-scope' | 'unknown';
55
+ };
56
+ export type Report = {
57
+ readonly schema: typeof schema;
58
+ readonly operation: Operation;
59
+ readonly modelDigest: string;
60
+ readonly scope: Scope;
61
+ readonly tieBreak: readonly TieBreak[];
62
+ readonly explanation: Explain.Report;
63
+ };
64
+ export type Binding = {
65
+ readonly variableId: string;
66
+ readonly value: Value;
67
+ };
68
+ export type SensitivityRequest = {
69
+ readonly variableId: string;
70
+ readonly samples: readonly Value[];
71
+ /** Assignments to keep constant while the selected variable changes. */
72
+ readonly fixed?: readonly Binding[];
73
+ /** Variables whose assignments define a preferred-result transition. */
74
+ readonly observe?: readonly string[];
75
+ readonly operation?: 'feasibility' | 'optimization';
76
+ readonly maxRuns?: number;
77
+ };
78
+ export type SensitivityPoint = {
79
+ readonly index: number;
80
+ readonly value: Value;
81
+ readonly report: Report;
82
+ };
83
+ export type Transition = {
84
+ readonly afterIndex: number;
85
+ readonly from: Value;
86
+ readonly to: Value;
87
+ readonly fromSignature: string;
88
+ readonly toSignature: string;
89
+ };
90
+ export type UnknownRegion = {
91
+ readonly startIndex: number;
92
+ readonly endIndex: number;
93
+ readonly from: Value;
94
+ readonly to: Value;
95
+ };
96
+ export type SensitivityReport = {
97
+ readonly schema: typeof schema;
98
+ readonly operation: 'sensitivity';
99
+ readonly modelDigest: string;
100
+ readonly variableId: string;
101
+ readonly fixed: readonly Binding[];
102
+ readonly observe: readonly string[];
103
+ readonly points: readonly SensitivityPoint[];
104
+ readonly transitions: readonly Transition[];
105
+ readonly unknownRegions: readonly UnknownRegion[];
106
+ };
107
+ export declare const maxSensitivityRuns = 64;
108
+ export declare const feasibility: (adapter: SolverAdapter, model: Model, options?: Options, context?: Explain.Context) => Promise<Report>;
109
+ export declare const optimization: (adapter: SolverAdapter, model: Model, options?: Options, context?: Explain.Context) => Promise<Report>;
110
+ export declare const counterexample: (adapter: SolverAdapter, model: Model, invariantId: string, options?: Options, context?: Explain.Context) => Promise<Report>;
111
+ export declare const sensitivity: (adapter: SolverAdapter, model: Model, request: SensitivityRequest, options?: Options, context?: Explain.Context) => Promise<SensitivityReport>;
112
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/workflow.ts"],"names":[],"mappings":"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"}