@cavelang/solver-z3 0.35.0 → 0.36.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 (44) hide show
  1. package/BENCHMARK.md +56 -3
  2. package/README.md +267 -9
  3. package/dist/scripts/benchmark.js +35 -13
  4. package/dist/scripts/benchmark.js.map +1 -1
  5. package/dist/scripts/memory-stress.d.ts +2 -0
  6. package/dist/scripts/memory-stress.d.ts.map +1 -0
  7. package/dist/scripts/memory-stress.js +74 -0
  8. package/dist/scripts/memory-stress.js.map +1 -0
  9. package/dist/src/cleanup.d.ts +8 -0
  10. package/dist/src/cleanup.d.ts.map +1 -0
  11. package/dist/src/cleanup.js +65 -0
  12. package/dist/src/cleanup.js.map +1 -0
  13. package/dist/src/close-workers.d.ts +12 -0
  14. package/dist/src/close-workers.d.ts.map +1 -0
  15. package/dist/src/close-workers.js +27 -0
  16. package/dist/src/close-workers.js.map +1 -0
  17. package/dist/src/deadline.d.ts +7 -0
  18. package/dist/src/deadline.d.ts.map +1 -0
  19. package/dist/src/deadline.js +46 -0
  20. package/dist/src/deadline.js.map +1 -0
  21. package/dist/src/error-message.d.ts +3 -0
  22. package/dist/src/error-message.d.ts.map +1 -0
  23. package/dist/src/error-message.js +10 -0
  24. package/dist/src/error-message.js.map +1 -0
  25. package/dist/src/runtime.d.ts.map +1 -1
  26. package/dist/src/runtime.js +137 -72
  27. package/dist/src/runtime.js.map +1 -1
  28. package/dist/src/with-release.d.ts +3 -0
  29. package/dist/src/with-release.d.ts.map +1 -0
  30. package/dist/src/with-release.js +25 -0
  31. package/dist/src/with-release.js.map +1 -0
  32. package/dist/src/workflow-fixture.d.ts.map +1 -1
  33. package/dist/src/workflow-fixture.js +27 -10
  34. package/dist/src/workflow-fixture.js.map +1 -1
  35. package/package.json +4 -3
  36. package/scripts/benchmark.ts +35 -12
  37. package/scripts/memory-stress.ts +72 -0
  38. package/src/cleanup.ts +55 -0
  39. package/src/close-workers.ts +28 -0
  40. package/src/deadline.ts +40 -0
  41. package/src/error-message.ts +5 -0
  42. package/src/runtime.ts +132 -70
  43. package/src/with-release.ts +21 -0
  44. package/src/workflow-fixture.ts +30 -11
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Await the operation before releasing its owned native resource. */
2
+ export declare const withRelease: <T>(operation: () => Promise<T>, release: () => void) => Promise<T>;
3
+ //# sourceMappingURL=with-release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-release.d.ts","sourceRoot":"","sources":["../../src/with-release.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,eAAO,MAAM,WAAW,GAAU,CAAC,EAAE,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,MAAM,IAAI,KAAG,OAAO,CAAC,CAAC,CAiBhG,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { errorMessage } from "./error-message.js";
2
+ /** Await the operation before releasing its owned native resource. */
3
+ export const withRelease = async (operation, release) => {
4
+ let failed = false;
5
+ let operationError;
6
+ try {
7
+ return await operation();
8
+ }
9
+ catch (error) {
10
+ failed = true;
11
+ operationError = error;
12
+ throw error;
13
+ }
14
+ finally {
15
+ try {
16
+ release();
17
+ }
18
+ catch (error) {
19
+ if (!failed)
20
+ throw error;
21
+ throw new AggregateError([operationError, error], `Z3 operation failed: ${errorMessage(operationError)}; native release also failed: ${errorMessage(error)}`, { cause: operationError });
22
+ }
23
+ }
24
+ };
25
+ //# sourceMappingURL=with-release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-release.js","sourceRoot":"","sources":["../../src/with-release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,sEAAsE;AACtE,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAK,SAA2B,EAAE,OAAmB,EAAc,EAAE;IACnG,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,cAAuB,CAAA;IAC3B,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAA;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,IAAI,CAAA;QACb,cAAc,GAAG,KAAK,CAAA;QACtB,MAAM,KAAK,CAAA;IACb,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,OAAO,EAAE,CAAA;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM;gBAAE,MAAM,KAAK,CAAA;YACxB,MAAM,IAAI,cAAc,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,EAC9C,wBAAwB,YAAY,CAAC,cAAc,CAAC,iCAAiC,YAAY,CAAC,KAAK,CAAC,EAAE,EAC1G,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-fixture.d.ts","sourceRoot":"","sources":["../../src/workflow-fixture.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAY,MAAM,kBAAkB,CAAA;AAG3D,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAmC1F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CACtC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAQ,kBAAuB,KAAG,KAAK,CAAC,CAgEzE,CAAA;AAyDD,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,SAAS,MAAM,EAAE,EACvB,WAAW,OAAO,CAAC,CAAC,KACnB,OAAO,CAAC,MAAM,CAmDhB,CAAA"}
1
+ {"version":3,"file":"workflow-fixture.d.ts","sourceRoot":"","sources":["../../src/workflow-fixture.ts"],"names":[],"mappings":"AACA,qFAAqF;AAErF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAY,MAAM,kBAAkB,CAAA;AAG3D,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAqC1F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CACtC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAQ,kBAAuB,KAAG,KAAK,CAAC,CAgEzE,CAAA;AA6DD,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,SAAS,MAAM,EAAE,EACvB,WAAW,OAAO,CAAC,CAAC,KACnB,OAAO,CAAC,MAAM,CA+DhB,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { errorMessage } from "./error-message.js";
1
2
  /** Named CLI fixture for the solver workflow API. No raw model input is accepted. */
2
3
  import { Adapter, Model, Workflow } from '@cavelang/solver';
3
4
  import { create } from "./runtime.js";
@@ -14,7 +15,9 @@ Options:
14
15
  --deployment-frequency <1..12> Default: 6
15
16
  --from <1..12> Sensitivity start; default: 1
16
17
  --to <1..12> Sensitivity end; default: 12
17
- --timeout-ms <positive integer> Per solver run; default: 10000
18
+ --timeout-ms <1..2147483647> Per solver run; default: 10000
19
+ --max-explanation-bits <integer> Local evaluation; default: ${Adapter.defaultLimits.maxExplanationBits}
20
+ --max-explanation-work <integer> Cumulative local evaluation; default: ${Adapter.defaultLimits.maxExplanationWork}
18
21
 
19
22
  The fixture is the only selectable model. Inputs are bounded and typed before
20
23
  the optional Z3 adapter runs; arbitrary expressions and SMT-LIB are rejected.
@@ -118,7 +121,7 @@ const parse = (argv) => {
118
121
  for (let index = 2; index < argv.length; index += 2) {
119
122
  const flag = argv[index];
120
123
  const value = argv[index + 1];
121
- if (flag === undefined || !['--team-size', '--deployment-frequency', '--from', '--to', '--timeout-ms'].includes(flag)) {
124
+ if (flag === undefined || !['--team-size', '--deployment-frequency', '--from', '--to', '--timeout-ms', '--max-explanation-bits', '--max-explanation-work'].includes(flag)) {
122
125
  return fail(`unknown workflow option ${JSON.stringify(flag ?? '')}`);
123
126
  }
124
127
  if (value === undefined || value.startsWith('--'))
@@ -138,11 +141,13 @@ const parse = (argv) => {
138
141
  deploymentFrequency: parseInteger('--deployment-frequency', values.get('--deployment-frequency') ?? '6', 1, 12),
139
142
  from,
140
143
  to,
141
- timeoutMs: parseInteger('--timeout-ms', values.get('--timeout-ms') ?? '10000', 1)
144
+ timeoutMs: parseInteger('--timeout-ms', values.get('--timeout-ms') ?? '10000', 1, 2147483647),
145
+ maxExplanationBits: parseInteger('--max-explanation-bits', values.get('--max-explanation-bits') ?? String(Adapter.defaultLimits.maxExplanationBits), 1),
146
+ maxExplanationWork: parseInteger('--max-explanation-work', values.get('--max-explanation-work') ?? String(Adapter.defaultLimits.maxExplanationWork), 1)
142
147
  };
143
148
  }
144
149
  catch (error) {
145
- return fail(error instanceof Error ? error.message : String(error));
150
+ return fail(errorMessage(error));
146
151
  }
147
152
  };
148
153
  /** Runs the allowlisted fixture. Supplying an adapter is intended for tests. */
@@ -150,11 +155,9 @@ export const runWorkflowFixture = async (argv, supplied) => {
150
155
  const parsed = parse(argv);
151
156
  if ('code' in parsed)
152
157
  return parsed;
153
- const runtime = supplied === undefined ? await create() : undefined;
154
- const adapter = supplied ?? runtime;
155
- const options = { limits: { timeoutMs: parsed.timeoutMs } };
158
+ const options = { limits: { timeoutMs: parsed.timeoutMs, maxExplanationBits: parsed.maxExplanationBits, maxExplanationWork: parsed.maxExplanationWork } };
156
159
  const context = { snapshot: { transactionTime: null } };
157
- try {
160
+ const execute = async (adapter) => {
158
161
  switch (parsed.operation) {
159
162
  case 'feasibility':
160
163
  return ok(await Workflow.feasibility(adapter, architectureModel({ teamSize: parsed.teamSize, deploymentFrequency: parsed.deploymentFrequency }), options, context));
@@ -174,12 +177,26 @@ export const runWorkflowFixture = async (argv, supplied) => {
174
177
  }, options, context));
175
178
  }
176
179
  }
180
+ };
181
+ let runtime;
182
+ let result;
183
+ try {
184
+ runtime = supplied === undefined ? await create() : undefined;
185
+ result = await execute(supplied ?? runtime);
177
186
  }
178
187
  catch (error) {
179
- return { code: 1, out: '', err: `${error instanceof Error ? error.message : String(error)}\n` };
188
+ result = { code: 1, out: '', err: `${errorMessage(error)}\n` };
180
189
  }
181
- finally {
190
+ try {
182
191
  await runtime?.close();
183
192
  }
193
+ catch (error) {
194
+ result = {
195
+ code: 1,
196
+ out: '',
197
+ err: `${result.err}Z3 shutdown failed: ${errorMessage(error)}\n`
198
+ };
199
+ }
200
+ return result;
184
201
  };
185
202
  //# sourceMappingURL=workflow-fixture.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-fixture.js","sourceRoot":"","sources":["../../src/workflow-fixture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-fixture.js","sourceRoot":"","sources":["../../src/workflow-fixture.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cavelang/solver-z3",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "type": "module",
5
5
  "description": "Optional Node.js Z3 WebAssembly adapter and allowlisted workflow fixture for CAVE formal reasoning.",
6
6
  "keywords": [
@@ -21,7 +21,7 @@
21
21
  "directory": "packages/solver-z3"
22
22
  },
23
23
  "engines": {
24
- "node": "^22.18.0 || ^24.0.0 || ^26.0.0"
24
+ "node": "^24.16.0 || ^26.1.0"
25
25
  },
26
26
  "exports": {
27
27
  ".": {
@@ -49,10 +49,11 @@
49
49
  },
50
50
  "dependencies": {
51
51
  "z3-solver": "5.2.0",
52
- "@cavelang/solver": "0.35.0"
52
+ "@cavelang/solver": "0.36.0"
53
53
  },
54
54
  "scripts": {
55
55
  "benchmark": "node --disable-warning=ExperimentalWarning scripts/benchmark.ts",
56
+ "test:memory-stress": "node --expose-gc --disable-warning=ExperimentalWarning scripts/memory-stress.ts",
56
57
  "build": "tsc -b",
57
58
  "test": "node --disable-warning=ExperimentalWarning --test \"test/*.test.ts\"",
58
59
  "typecheck": "tsc -b"
@@ -1,13 +1,15 @@
1
+ import assert from 'node:assert/strict'
1
2
  import { readFile, readdir, stat } from 'node:fs/promises'
2
3
  import { dirname, join } from 'node:path'
3
4
  import { createRequire } from 'node:module'
4
5
  import { gzipSync } from 'node:zlib'
5
6
  import { performance } from 'node:perf_hooks'
6
- import { Model, Solve } from '@cavelang/solver'
7
+ import { Canonical, Model, Solve } from '@cavelang/solver'
7
8
  import { create } from '@cavelang/solver-z3'
8
9
 
9
10
  const require = createRequire(import.meta.url)
10
11
  const packageRoot = dirname(require.resolve('z3-solver/package.json'))
12
+ const dependencyVersion = (JSON.parse(await readFile(join(packageRoot, 'package.json'), 'utf8')) as { version: string }).version
11
13
 
12
14
  const files = async (directory: string): Promise<string[]> => {
13
15
  const entries = await readdir(directory, { withFileTypes: true })
@@ -54,23 +56,42 @@ const architecture: Model.t = {
54
56
  objectives: [{ id: 'min-monthly-cost', direction: 'minimize', expression: ref('monthly-cost') }]
55
57
  }
56
58
 
59
+ const verify = (result: Awaited<ReturnType<typeof Solve.run>>, phase: string): void => {
60
+ if (result.status !== 'optimal') throw new Error(`${phase} fixture returned ${result.status}`)
61
+ assert.equal(result.optimalityProved, true, `${phase}: optimality must be proved`)
62
+ const cost = { sort: 'real', numerator: '321', denominator: '4' }
63
+ assert.deepEqual(result.assignment, {
64
+ choice: { sort: 'enum', domain: 'architecture', value: 'monolith' },
65
+ 'team-size': { sort: 'int', value: '12' },
66
+ 'monthly-cost': cost
67
+ }, `${phase}: incorrect benchmark assignment`)
68
+ assert.equal(result.objectives.length, 1, `${phase}: expected one objective`)
69
+ assert.equal(result.objectives[0]?.objectiveId, 'min-monthly-cost')
70
+ assert.deepEqual(result.objectives[0]?.value, cost, `${phase}: incorrect exact optimum`)
71
+ }
72
+
57
73
  const beforeRssBytes = process.memoryUsage().rss
58
74
  const runtime = await create()
59
- const firstStarted = performance.now()
60
- const first = await Solve.run(runtime, architecture)
61
- const firstCheckMs = performance.now() - firstStarted
62
- if (first.status !== 'optimal') throw new Error(`benchmark fixture returned ${first.status}`)
63
-
75
+ let firstCheckMs: number
64
76
  const warmRuns = 25
65
77
  const warm: number[] = []
66
- for (let index = 0; index < warmRuns; index += 1) {
67
- const started = performance.now()
68
- const result = await Solve.run(runtime, architecture)
69
- if (result.status !== 'optimal') throw new Error(`warm fixture returned ${result.status}`)
70
- warm.push(performance.now() - started)
78
+ try {
79
+ const firstStarted = performance.now()
80
+ const first = await Solve.run(runtime, architecture)
81
+ firstCheckMs = performance.now() - firstStarted
82
+ verify(first, 'benchmark')
83
+
84
+ for (let index = 0; index < warmRuns; index += 1) {
85
+ const started = performance.now()
86
+ const result = await Solve.run(runtime, architecture)
87
+ const elapsed = performance.now() - started
88
+ verify(result, 'warm')
89
+ warm.push(elapsed)
90
+ }
91
+ } finally {
92
+ await runtime.close()
71
93
  }
72
94
 
73
- await runtime.close()
74
95
  warm.sort((left, right) => left - right)
75
96
  const mean = warm.reduce((sum, value) => sum + value, 0) / warm.length
76
97
 
@@ -79,6 +100,8 @@ console.log(JSON.stringify({
79
100
  platform: `${process.platform}-${process.arch}`,
80
101
  node: process.version,
81
102
  backend: runtime.backend,
103
+ dependency: { name: 'z3-solver', version: dependencyVersion },
104
+ fixture: { modelDigest: Canonical.digest(architecture), verifiedChecks: warm.length + 1 },
82
105
  artifacts: {
83
106
  files: paths.length,
84
107
  installedBytes,
@@ -0,0 +1,72 @@
1
+ import * as assert from 'node:assert/strict'
2
+ import { Model, Solve } from '@cavelang/solver'
3
+ import { create } from '@cavelang/solver-z3'
4
+
5
+ const gc = (globalThis as { gc?: () => void }).gc
6
+ assert.ok(gc, 'run this diagnostic with node --expose-gc')
7
+ assert.ok(process.argv.slice(2).every(argument => argument === '--large') && process.argv.length <= 3,
8
+ 'usage: memory-stress.ts [--large]')
9
+ const large = process.argv.includes('--large')
10
+ const iterations = large ? 3 : 10
11
+ const runtime = await create()
12
+ const count = 3_000
13
+ const model: Model.t = {
14
+ schema: Model.schema,
15
+ variables: Array.from({ length: count }, (_, index) => ({ id: `x${index}`, sort: 'int', min: 0, max: 1 })),
16
+ constraints: [],
17
+ objectives: [{
18
+ id: 'total', direction: 'maximize',
19
+ expression: { kind: 'add', operands: Array.from({ length: count }, (_, index) => ({ kind: 'variable', id: `x${index}` })) }
20
+ }]
21
+ }
22
+ const small: Model.t = { schema: Model.schema, variables: [{ id: 'ok', sort: 'bool' }], constraints: [] }
23
+ const timer = setInterval(gc, 1)
24
+ try {
25
+ console.log(JSON.stringify({ node: process.version, platform: process.platform, arch: process.arch, backend: runtime.backend, iterations, variables: count, largeVariables: large ? 75_000 : 0 }))
26
+ for (let iteration = 0; iteration < iterations; iteration++) {
27
+ const limited = await Solve.run(runtime, small, { limits: { maxMemoryBytes: 1024 * 1024 } })
28
+ console.log(JSON.stringify({ iteration, phase: 'limited', result: limited }))
29
+ assert.equal(limited.status, 'unknown')
30
+ if (limited.status === 'unknown') {
31
+ assert.equal(limited.reason.kind, 'resource-limit')
32
+ assert.equal(limited.reason.limit, 'maxMemoryBytes')
33
+ }
34
+ const largeResults = []
35
+ if (large) {
36
+ const largeCount = 75_000
37
+ const variables: Model.Variable[] = Array.from({ length: largeCount }, (_, index) => ({ id: `v${index}`, sort: 'int', min: 0, max: 1 }))
38
+ for (const optimize of [false, true]) {
39
+ console.log(JSON.stringify({ iteration, phase: optimize ? 'large-optimization-start' : 'large-feasibility-start' }))
40
+ const started = performance.now()
41
+ const result = await Solve.run(runtime, {
42
+ schema: Model.schema,
43
+ variables,
44
+ constraints: [{ id: 'outside-last-domain', expression: { kind: 'lt', left: { kind: 'variable', id: `v${largeCount - 1}` }, right: { kind: 'literal', sort: 'int', value: '0' } } }],
45
+ ...(optimize ? { objectives: [{ id: 'constant', direction: 'minimize' as const, expression: { kind: 'literal' as const, sort: 'int' as const, value: '0' } }] } : {})
46
+ }, { limits: {
47
+ maxVariables: largeCount,
48
+ // Two one-digit bounds per variable, plus the constraint and optional objective literals.
49
+ maxNumericDigits: 2 * largeCount + 2,
50
+ // This diagnostic checks cleanup correctness, not shared-runner latency.
51
+ timeoutMs: 120_000
52
+ } })
53
+ console.log(JSON.stringify({ iteration, phase: optimize ? 'large-optimization' : 'large-feasibility', result, wallMs: performance.now() - started, memory: process.memoryUsage() }))
54
+ // Probe subsequent requests before asserting so a poisoned runtime is visible.
55
+ largeResults.push(result)
56
+ }
57
+ }
58
+ console.log(JSON.stringify({ iteration, phase: 'recovery-start' }))
59
+ const result = await Solve.run(runtime, model, { limits: { maxVariables: count, timeoutMs: 30_000 } })
60
+ console.log(JSON.stringify({ iteration, phase: 'recovered', status: result.status, elapsedMs: result.elapsedMs, ...(result.status === 'unknown' ? { reason: result.reason } : {}), ...(result.status === 'optimal' ? { objectives: result.objectives } : {}) }))
61
+ assert.equal(result.status, 'optimal', JSON.stringify(result))
62
+ if (result.status === 'optimal') {
63
+ assert.deepEqual(result.objectives, [{ objectiveId: 'total', value: { sort: 'int', value: String(count) } }])
64
+ assert.equal(Object.keys(result.assignment).length, count)
65
+ for (const value of Object.values(result.assignment)) assert.deepEqual(value, { sort: 'int', value: '1' })
66
+ }
67
+ for (const result of largeResults) assert.equal(result.status, 'unsatisfied', JSON.stringify(result))
68
+ }
69
+ } finally {
70
+ clearInterval(timer)
71
+ await runtime.close()
72
+ }
package/src/cleanup.ts ADDED
@@ -0,0 +1,55 @@
1
+ import { errorMessage } from './error-message.ts'
2
+
3
+ /**
4
+ * The binding's finalizers call this instance's low-level API directly, outside
5
+ * its async mutex. Native AST deletion must not race a pthread solver check.
6
+ * Guard the two async native operations CAVE uses; normal synchronous releases
7
+ * remain immediate, and queued releases drain before a check returns to CAVE.
8
+ */
9
+ export const guardCleanup = (api: object): void => {
10
+ const functions = api as Record<string, unknown>
11
+ const pending: (() => void)[] = []
12
+ let checking = 0
13
+ for (const [name, value] of Object.entries(functions)) {
14
+ if (typeof value !== 'function') continue
15
+ if (name === 'dec_ref' || name.endsWith('_dec_ref') || name === 'del_context') {
16
+ functions[name] = (...args: unknown[]) => {
17
+ const release = () => { value.apply(api, args) }
18
+ if (checking > 0) pending.push(release)
19
+ else release()
20
+ }
21
+ }
22
+ }
23
+ for (const name of ['solver_check_assumptions', 'optimize_check']) {
24
+ const check = functions[name]
25
+ if (typeof check !== 'function') throw new TypeError(`Z3 is missing ${name}`)
26
+ functions[name] = async (...args: unknown[]) => {
27
+ checking++
28
+ let checkFailed = false
29
+ let checkError: unknown
30
+ try {
31
+ return await check.apply(api, args)
32
+ } catch (error) {
33
+ checkFailed = true
34
+ checkError = error
35
+ throw error
36
+ } finally {
37
+ checking--
38
+ if (checking === 0) {
39
+ const releases = pending.splice(0)
40
+ const failures: unknown[] = []
41
+ for (const release of releases) {
42
+ try { release() } catch (error) { failures.push(error) }
43
+ }
44
+ if (failures.length > 0) {
45
+ if (!checkFailed && failures.length === 1) throw failures[0]
46
+ const errors = checkFailed ? [checkError, ...failures] : failures
47
+ throw new AggregateError(errors,
48
+ `Z3 native cleanup failed: ${errors.map(errorMessage).join('; ')}`,
49
+ checkFailed ? { cause: checkError } : undefined)
50
+ }
51
+ }
52
+ }
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,28 @@
1
+ import { errorMessage } from './error-message.ts'
2
+ type Worker = { terminate: () => Promise<unknown> }
3
+ type Pool = {
4
+ readonly runningWorkers: readonly Worker[]
5
+ readonly unusedWorkers: readonly Worker[]
6
+ terminateAllThreads: () => void
7
+ }
8
+
9
+ /** Keep Emscripten's message handlers until Node confirms each worker has exited. */
10
+ export const closeWorkers = async (pool: Pool | undefined): Promise<void> => {
11
+ if (pool === undefined) return
12
+ const stopped = new Set<Worker>()
13
+ while (true) {
14
+ const workers = [...new Set([...pool.runningWorkers, ...pool.unusedWorkers])]
15
+ .filter(worker => !stopped.has(worker))
16
+ if (workers.length === 0) break
17
+ for (const worker of workers) stopped.add(worker)
18
+ // A throwing termination must not prevent attempts on the remaining workers.
19
+ // Keep handlers alive until every attempted termination has settled.
20
+ const results = await Promise.allSettled(workers.map(async worker => worker.terminate()))
21
+ const failures = results.flatMap(result => result.status === 'rejected' ? [result.reason] : [])
22
+ if (failures.length === 1) throw failures[0]
23
+ if (failures.length > 1) throw new AggregateError(failures, `Z3 worker termination failed: ${failures.map(errorMessage).join('; ')}`)
24
+ }
25
+ // The binding replaces handlers with warnings when it clears the pool.
26
+ // Worker exit acknowledgments ensure pending cleanup messages came first.
27
+ pool.terminateAllThreads()
28
+ }
@@ -0,0 +1,40 @@
1
+ export const withDeadline = async (
2
+ context: { interrupt: () => void },
3
+ timeoutMs: number,
4
+ check: () => Promise<'sat' | 'unsat' | 'unknown'>
5
+ ): Promise<{ readonly status: 'sat' | 'unsat' | 'unknown', readonly interrupted: boolean }> => {
6
+ let interrupted = false
7
+ let interruptFailed = false
8
+ let interruptError: unknown
9
+ // Dispatch and native cancellation are asynchronous. Keep requesting cancellation
10
+ // until the check settles instead of assuming one interrupt was acknowledged.
11
+ const interrupt = (): void => {
12
+ interrupted = true
13
+ try { context.interrupt() } catch (error) {
14
+ // Timer failures belong to this check, not the host's uncaught-error
15
+ // handler. Retain one error while continuing cooperative cancellation.
16
+ if (!interruptFailed) { interruptFailed = true; interruptError = error }
17
+ }
18
+ timer = setTimeout(interrupt, 50)
19
+ timer.unref()
20
+ }
21
+ let timer = setTimeout(interrupt, timeoutMs)
22
+ timer.unref()
23
+ try {
24
+ let status: 'sat' | 'unsat' | 'unknown'
25
+ try { status = await check() } catch (error) {
26
+ if (interruptFailed) {
27
+ throw new AggregateError([error, interruptError],
28
+ `Z3 check failed: ${errorMessage(error)}; deadline interruption also failed: ${errorMessage(interruptError)}`,
29
+ { cause: error })
30
+ }
31
+ throw error
32
+ }
33
+ // Wait for native work before the caller releases its solver/optimizer.
34
+ if (interruptFailed) throw interruptError
35
+ return { status, interrupted }
36
+ } finally {
37
+ clearTimeout(timer)
38
+ }
39
+ }
40
+ import { errorMessage } from './error-message.ts'
@@ -0,0 +1,5 @@
1
+ /** Formatting a failure must not prevent runtime cleanup or replace its diagnostic. */
2
+ export const errorMessage = (error: unknown): string => {
3
+ try { return error instanceof Error ? String(error.message) : String(error) }
4
+ catch { return '[unprintable thrown value]' }
5
+ }