@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.
- package/Authors.md +5 -0
- package/License.md +2 -4
- package/README.md +95 -1
- package/dist/src/explain.d.ts +106 -0
- package/dist/src/explain.d.ts.map +1 -0
- package/dist/src/explain.js +256 -0
- package/dist/src/explain.js.map +1 -0
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/model.d.ts +20 -15
- package/dist/src/model.d.ts.map +1 -1
- package/dist/src/solve.d.ts +3 -0
- package/dist/src/solve.d.ts.map +1 -1
- package/dist/src/solve.js +14 -4
- package/dist/src/solve.js.map +1 -1
- package/dist/src/validate.d.ts.map +1 -1
- package/dist/src/validate.js +30 -0
- package/dist/src/validate.js.map +1 -1
- package/dist/src/workflow.d.ts +112 -0
- package/dist/src/workflow.d.ts.map +1 -0
- package/dist/src/workflow.js +420 -0
- package/dist/src/workflow.js.map +1 -0
- package/package.json +15 -4
- package/src/explain.ts +401 -0
- package/src/index.ts +3 -1
- package/src/model.ts +25 -11
- package/src/solve.ts +24 -4
- package/src/validate.ts +31 -0
- package/src/workflow.ts +578 -0
package/dist/src/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,eAAO,MAAM,MAAM,EAAG,qBAA8B,CAAA;AAEpD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAErC,+EAA+E;AAC/E,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/src/solve.d.ts
CHANGED
|
@@ -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
|
package/dist/src/solve.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
package/dist/src/solve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solve.js","sourceRoot":"","sources":["../../src/solve.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,iBAAiB,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;
|
|
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"}
|
package/dist/src/validate.js
CHANGED
|
@@ -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}`);
|
package/dist/src/validate.js.map
CHANGED
|
@@ -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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"}
|