chiasmus 0.1.18 → 0.1.19
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/README.md +1 -1
- package/dist/graph/native-analyses.d.ts +6 -5
- package/dist/graph/native-analyses.d.ts.map +1 -1
- package/dist/graph/native-analyses.js +6 -5
- package/dist/graph/native-analyses.js.map +1 -1
- package/dist/llm/anthropic.d.ts +14 -5
- package/dist/llm/anthropic.d.ts.map +1 -1
- package/dist/llm/anthropic.js +31 -5
- package/dist/llm/anthropic.js.map +1 -1
- package/dist/llm/azure-openai.d.ts +34 -0
- package/dist/llm/azure-openai.d.ts.map +1 -0
- package/dist/llm/azure-openai.js +71 -0
- package/dist/llm/azure-openai.js.map +1 -0
- package/dist/llm/index.d.ts +2 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +1 -0
- package/dist/llm/index.js.map +1 -1
- package/dist/mcp-server.js +1 -1
- package/dist/skills/starters.js +3 -3
- package/dist/skills/starters.js.map +1 -1
- package/dist/solvers/prolog-solver.d.ts.map +1 -1
- package/dist/solvers/prolog-solver.js +440 -109
- package/dist/solvers/prolog-solver.js.map +1 -1
- package/dist/solvers/types.d.ts +2 -0
- package/dist/solvers/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Chiasmus
|
|
2
2
|
|
|
3
|
-
MCP server that gives LLMs access to formal verification via Z3 (SMT solver) and
|
|
3
|
+
MCP server that gives LLMs access to formal verification via Z3 (SMT solver) and SWI-Prolog (via `prolog-wasm-full`, includes `library(clpfd)`), plus tree-sitter-based source code analysis. Translates natural language problems into formal logic using a template-based pipeline, verifies results with mathematical certainty, and analyzes call graphs for reachability, dead code, and impact analysis.
|
|
4
4
|
|
|
5
5
|
### Example use cases
|
|
6
6
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Native graph analyses — O(V+E) implementations that run directly on a
|
|
3
|
-
* CodeGraph without going through
|
|
4
|
-
* (no tabling, linear-scan method filter) times
|
|
5
|
-
* for the reachability-heavy analyses (cycles,
|
|
6
|
-
* dead-code). The Prolog rule set is still
|
|
7
|
-
* `facts` output remains usable with
|
|
3
|
+
* CodeGraph without going through Prolog. These exist because the
|
|
4
|
+
* Prolog rule set we emit (no tabling, linear-scan method filter) times
|
|
5
|
+
* out on mid-size codebases for the reachability-heavy analyses (cycles,
|
|
6
|
+
* impact, reachability, path, dead-code). The Prolog rule set is still
|
|
7
|
+
* emitted by graphToProlog so the `facts` output remains usable with
|
|
8
|
+
* chiasmus_verify.
|
|
8
9
|
*/
|
|
9
10
|
import type { CodeGraph } from "./types.js";
|
|
10
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-analyses.d.ts","sourceRoot":"","sources":["../../src/graph/native-analyses.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"native-analyses.d.ts","sourceRoot":"","sources":["../../src/graph/native-analyses.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA+C5C;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE,CAgGjD;AAsBD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAqBhF;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAoDzE;AAsDD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BjE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAiC3E;AAED,0GAA0G;AAC1G,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAYlE;AAED,2GAA2G;AAC3G,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAYlE"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Native graph analyses — O(V+E) implementations that run directly on a
|
|
3
|
-
* CodeGraph without going through
|
|
4
|
-
* (no tabling, linear-scan method filter) times
|
|
5
|
-
* for the reachability-heavy analyses (cycles,
|
|
6
|
-
* dead-code). The Prolog rule set is still
|
|
7
|
-
* `facts` output remains usable with
|
|
3
|
+
* CodeGraph without going through Prolog. These exist because the
|
|
4
|
+
* Prolog rule set we emit (no tabling, linear-scan method filter) times
|
|
5
|
+
* out on mid-size codebases for the reachability-heavy analyses (cycles,
|
|
6
|
+
* impact, reachability, path, dead-code). The Prolog rule set is still
|
|
7
|
+
* emitted by graphToProlog so the `facts` output remains usable with
|
|
8
|
+
* chiasmus_verify.
|
|
8
9
|
*/
|
|
9
10
|
function buildIndex(graph) {
|
|
10
11
|
const adj = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-analyses.js","sourceRoot":"","sources":["../../src/graph/native-analyses.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"native-analyses.js","sourceRoot":"","sources":["../../src/graph/native-analyses.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/anthropic.d.ts
CHANGED
|
@@ -26,14 +26,23 @@ export declare class AnthropicAdapter implements LLMAdapter {
|
|
|
26
26
|
export declare function createLLMFromEnv(): LLMAdapter | null;
|
|
27
27
|
/**
|
|
28
28
|
* Create an EmbeddingAdapter from environment variables, or null if not
|
|
29
|
-
* configured. Anthropic has no embeddings API, so this checks
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
29
|
+
* configured. Anthropic has no embeddings API, so this checks third-party
|
|
30
|
+
* providers:
|
|
31
|
+
* AZURE_OPENAI_API_KEY (+ AZURE_OPENAI_API_ENDPOINT or AZURE_OPENAI_ENDPOINT,
|
|
32
|
+
* + AZURE_OPENAI_EMBED_DEPLOYMENT)
|
|
33
|
+
* → Azure OpenAI
|
|
34
|
+
* OPENAI_API_KEY → OpenAI
|
|
35
|
+
* DEEPSEEK_API_KEY → DeepSeek (OpenAI-compatible)
|
|
36
|
+
* OPENROUTER_API_KEY → OpenRouter (OpenAI-compatible)
|
|
34
37
|
*
|
|
35
38
|
* Override model with CHIASMUS_EMBED_MODEL, base URL with
|
|
36
39
|
* CHIASMUS_EMBED_URL, and dimension with CHIASMUS_EMBED_DIM.
|
|
40
|
+
*
|
|
41
|
+
* Azure ignores CHIASMUS_EMBED_URL — its URL is derived from
|
|
42
|
+
* AZURE_OPENAI_API_ENDPOINT plus the deployment name. The deployment name
|
|
43
|
+
* (a value chosen by the user at provisioning time, not a model name)
|
|
44
|
+
* must be supplied via AZURE_OPENAI_EMBED_DEPLOYMENT; there is no safe
|
|
45
|
+
* default. API version comes from AZURE_OPENAI_API_VERSION.
|
|
37
46
|
*/
|
|
38
47
|
export declare function createEmbeddingFromEnv(): EmbeddingAdapter | null;
|
|
39
48
|
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAS3E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAiB,YAAW,UAAU;IACjD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,eAAe;IAO7B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAkCxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,GAAG,IAAI,CAmCpD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,GAAG,IAAI,CAyDhE"}
|
package/dist/llm/anthropic.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { OpenAICompatibleAdapter, OpenAICompatibleEmbeddingAdapter } from "./openai-compatible.js";
|
|
2
|
+
import { AzureOpenAIEmbeddingAdapter } from "./azure-openai.js";
|
|
2
3
|
const DEFAULT_MODEL = "claude-sonnet-4-6";
|
|
3
4
|
const DEFAULT_URL = "https://api.anthropic.com/v1/messages";
|
|
4
5
|
const DEFAULT_MAX_TOKENS = 4096;
|
|
@@ -87,20 +88,45 @@ export function createLLMFromEnv() {
|
|
|
87
88
|
}
|
|
88
89
|
/**
|
|
89
90
|
* Create an EmbeddingAdapter from environment variables, or null if not
|
|
90
|
-
* configured. Anthropic has no embeddings API, so this checks
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
91
|
+
* configured. Anthropic has no embeddings API, so this checks third-party
|
|
92
|
+
* providers:
|
|
93
|
+
* AZURE_OPENAI_API_KEY (+ AZURE_OPENAI_API_ENDPOINT or AZURE_OPENAI_ENDPOINT,
|
|
94
|
+
* + AZURE_OPENAI_EMBED_DEPLOYMENT)
|
|
95
|
+
* → Azure OpenAI
|
|
96
|
+
* OPENAI_API_KEY → OpenAI
|
|
97
|
+
* DEEPSEEK_API_KEY → DeepSeek (OpenAI-compatible)
|
|
98
|
+
* OPENROUTER_API_KEY → OpenRouter (OpenAI-compatible)
|
|
95
99
|
*
|
|
96
100
|
* Override model with CHIASMUS_EMBED_MODEL, base URL with
|
|
97
101
|
* CHIASMUS_EMBED_URL, and dimension with CHIASMUS_EMBED_DIM.
|
|
102
|
+
*
|
|
103
|
+
* Azure ignores CHIASMUS_EMBED_URL — its URL is derived from
|
|
104
|
+
* AZURE_OPENAI_API_ENDPOINT plus the deployment name. The deployment name
|
|
105
|
+
* (a value chosen by the user at provisioning time, not a model name)
|
|
106
|
+
* must be supplied via AZURE_OPENAI_EMBED_DEPLOYMENT; there is no safe
|
|
107
|
+
* default. API version comes from AZURE_OPENAI_API_VERSION.
|
|
98
108
|
*/
|
|
99
109
|
export function createEmbeddingFromEnv() {
|
|
100
110
|
const model = process.env.CHIASMUS_EMBED_MODEL ?? "text-embedding-3-small";
|
|
101
111
|
const customUrl = process.env.CHIASMUS_EMBED_URL;
|
|
102
112
|
const dimEnv = process.env.CHIASMUS_EMBED_DIM;
|
|
103
113
|
const dimension = dimEnv ? Number.parseInt(dimEnv, 10) : undefined;
|
|
114
|
+
const azureKey = process.env.AZURE_OPENAI_API_KEY;
|
|
115
|
+
const azureEndpoint = process.env.AZURE_OPENAI_API_ENDPOINT ?? process.env.AZURE_OPENAI_ENDPOINT;
|
|
116
|
+
if (azureKey && azureEndpoint) {
|
|
117
|
+
const deployment = process.env.AZURE_OPENAI_EMBED_DEPLOYMENT;
|
|
118
|
+
if (!deployment) {
|
|
119
|
+
console.warn("[chiasmus] Azure OpenAI embedding configuration is incomplete: AZURE_OPENAI_API_KEY and AZURE_OPENAI_API_ENDPOINT are set, but AZURE_OPENAI_EMBED_DEPLOYMENT is missing. Azure routes by deployment name (chosen at provisioning), so there is no safe default. Embeddings will be unavailable until the deployment name is provided.");
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
return new AzureOpenAIEmbeddingAdapter({
|
|
123
|
+
apiKey: azureKey,
|
|
124
|
+
endpoint: azureEndpoint,
|
|
125
|
+
deployment,
|
|
126
|
+
apiVersion: process.env.AZURE_OPENAI_API_VERSION,
|
|
127
|
+
dimension,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
104
130
|
const openaiKey = process.env.OPENAI_API_KEY;
|
|
105
131
|
if (openaiKey) {
|
|
106
132
|
return new OpenAICompatibleEmbeddingAdapter({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/llm/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { EmbeddingAdapter } from "./types.js";
|
|
2
|
+
export interface AzureOpenAIEmbeddingConfig {
|
|
3
|
+
apiKey: string;
|
|
4
|
+
/** Azure OpenAI resource endpoint, e.g. "https://my-resource.openai.azure.com" */
|
|
5
|
+
endpoint: string;
|
|
6
|
+
/** Deployment name (Azure routes by deployment, not model). */
|
|
7
|
+
deployment: string;
|
|
8
|
+
/** Azure OpenAI API version, e.g. "2023-05-15". */
|
|
9
|
+
apiVersion?: string;
|
|
10
|
+
/** Optional fixed dimension. Defaults to the deployment's native output. */
|
|
11
|
+
dimension?: number;
|
|
12
|
+
/** Max texts per request. Defaults to 16 (Azure embedding limit). */
|
|
13
|
+
batchSize?: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Adapter for Azure OpenAI embeddings. Differs from the vanilla
|
|
17
|
+
* OpenAI-compatible adapter in two ways:
|
|
18
|
+
* - auth header is `api-key`, not `Authorization: Bearer`
|
|
19
|
+
* - URL is `<endpoint>/openai/deployments/<deployment>/embeddings?api-version=<v>`
|
|
20
|
+
* (the deployment determines the model; no `model` field in the body)
|
|
21
|
+
*
|
|
22
|
+
* Azure caps embedding requests at 16 inputs by default; the adapter
|
|
23
|
+
* batches accordingly.
|
|
24
|
+
*/
|
|
25
|
+
export declare class AzureOpenAIEmbeddingAdapter implements EmbeddingAdapter {
|
|
26
|
+
private apiKey;
|
|
27
|
+
private url;
|
|
28
|
+
private dim;
|
|
29
|
+
private batchSize;
|
|
30
|
+
constructor(config: AzureOpenAIEmbeddingConfig);
|
|
31
|
+
embed(texts: string[]): Promise<number[][]>;
|
|
32
|
+
dimension(): number;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=azure-openai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azure-openai.d.ts","sourceRoot":"","sources":["../../src/llm/azure-openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAKnD,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,qBAAa,2BAA4B,YAAW,gBAAgB;IAClE,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,0BAA0B;IAexC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAmCjD,SAAS,IAAI,MAAM;CAQpB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
2
|
+
const DEFAULT_API_VERSION = "2023-05-15";
|
|
3
|
+
/**
|
|
4
|
+
* Adapter for Azure OpenAI embeddings. Differs from the vanilla
|
|
5
|
+
* OpenAI-compatible adapter in two ways:
|
|
6
|
+
* - auth header is `api-key`, not `Authorization: Bearer`
|
|
7
|
+
* - URL is `<endpoint>/openai/deployments/<deployment>/embeddings?api-version=<v>`
|
|
8
|
+
* (the deployment determines the model; no `model` field in the body)
|
|
9
|
+
*
|
|
10
|
+
* Azure caps embedding requests at 16 inputs by default; the adapter
|
|
11
|
+
* batches accordingly.
|
|
12
|
+
*/
|
|
13
|
+
export class AzureOpenAIEmbeddingAdapter {
|
|
14
|
+
apiKey;
|
|
15
|
+
url;
|
|
16
|
+
dim;
|
|
17
|
+
batchSize;
|
|
18
|
+
constructor(config) {
|
|
19
|
+
const endpoint = config.endpoint.replace(/\/+$/, "");
|
|
20
|
+
const apiVersion = config.apiVersion ?? DEFAULT_API_VERSION;
|
|
21
|
+
this.apiKey = config.apiKey;
|
|
22
|
+
// Azure deployment names today are restricted to alphanumerics, dashes,
|
|
23
|
+
// and underscores, but encodeURIComponent costs nothing and prevents
|
|
24
|
+
// the URL from breaking if those rules ever loosen or if a stray space
|
|
25
|
+
// sneaks in via env config. apiVersion gets the same treatment.
|
|
26
|
+
const deployment = encodeURIComponent(config.deployment);
|
|
27
|
+
const versionParam = encodeURIComponent(apiVersion);
|
|
28
|
+
this.url = `${endpoint}/openai/deployments/${deployment}/embeddings?api-version=${versionParam}`;
|
|
29
|
+
this.dim = config.dimension ?? null;
|
|
30
|
+
this.batchSize = config.batchSize ?? 16;
|
|
31
|
+
}
|
|
32
|
+
async embed(texts) {
|
|
33
|
+
if (texts.length === 0)
|
|
34
|
+
return [];
|
|
35
|
+
const out = [];
|
|
36
|
+
for (let i = 0; i < texts.length; i += this.batchSize) {
|
|
37
|
+
const chunk = texts.slice(i, i + this.batchSize);
|
|
38
|
+
const body = { input: chunk };
|
|
39
|
+
if (this.dim !== null)
|
|
40
|
+
body.dimensions = this.dim;
|
|
41
|
+
const response = await fetch(this.url, {
|
|
42
|
+
method: "POST",
|
|
43
|
+
headers: {
|
|
44
|
+
"Content-Type": "application/json",
|
|
45
|
+
"api-key": this.apiKey,
|
|
46
|
+
},
|
|
47
|
+
body: JSON.stringify(body),
|
|
48
|
+
signal: AbortSignal.timeout(DEFAULT_TIMEOUT_MS),
|
|
49
|
+
});
|
|
50
|
+
if (!response.ok) {
|
|
51
|
+
const text = await response.text();
|
|
52
|
+
throw new Error(`Azure embeddings API error ${response.status}: ${text}`);
|
|
53
|
+
}
|
|
54
|
+
const data = (await response.json());
|
|
55
|
+
const sorted = [...data.data].sort((a, b) => a.index - b.index);
|
|
56
|
+
for (const row of sorted) {
|
|
57
|
+
if (this.dim === null)
|
|
58
|
+
this.dim = row.embedding.length;
|
|
59
|
+
out.push(row.embedding);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
64
|
+
dimension() {
|
|
65
|
+
if (this.dim === null) {
|
|
66
|
+
throw new Error("Embedding dimension is unknown until the first embed() call. Pass { dimension } in config to avoid this.");
|
|
67
|
+
}
|
|
68
|
+
return this.dim;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=azure-openai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azure-openai.js","sourceRoot":"","sources":["../../src/llm/azure-openai.ts"],"names":[],"mappings":"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"}
|
package/dist/llm/index.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export { createLLMFromEnv, createEmbeddingFromEnv, AnthropicAdapter } from "./an
|
|
|
2
2
|
export type { AnthropicConfig } from "./anthropic.js";
|
|
3
3
|
export { OpenAICompatibleAdapter, OpenAICompatibleEmbeddingAdapter } from "./openai-compatible.js";
|
|
4
4
|
export type { OpenAICompatibleConfig, OpenAICompatibleEmbeddingConfig } from "./openai-compatible.js";
|
|
5
|
+
export { AzureOpenAIEmbeddingAdapter } from "./azure-openai.js";
|
|
6
|
+
export type { AzureOpenAIEmbeddingConfig } from "./azure-openai.js";
|
|
5
7
|
export { MockEmbeddingAdapter } from "./mock.js";
|
|
6
8
|
export type { MockEmbeddingConfig } from "./mock.js";
|
|
7
9
|
export type { LLMAdapter, LLMMessage, EmbeddingAdapter } from "./types.js";
|
package/dist/llm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AACnG,YAAY,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AACnG,YAAY,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/llm/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { createLLMFromEnv, createEmbeddingFromEnv, AnthropicAdapter } from "./anthropic.js";
|
|
2
2
|
export { OpenAICompatibleAdapter, OpenAICompatibleEmbeddingAdapter } from "./openai-compatible.js";
|
|
3
|
+
export { AzureOpenAIEmbeddingAdapter } from "./azure-openai.js";
|
|
3
4
|
export { MockEmbeddingAdapter } from "./mock.js";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/llm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE5F,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAEnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE5F,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAEnG,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/mcp-server.js
CHANGED
|
@@ -52,7 +52,7 @@ Z3 RULES:
|
|
|
52
52
|
|
|
53
53
|
PROLOG RULES:
|
|
54
54
|
⚠ All clauses end with period
|
|
55
|
-
⚠ No recursive reachability on cyclic graphs
|
|
55
|
+
⚠ No recursive reachability on cyclic graphs without tabling → infinite loop. Add ":- table reach/2." (SWI tabling), or query edges individually and BFS externally.
|
|
56
56
|
⚠ Use "queries" param (JSON array) to batch multiple queries against same program in one call
|
|
57
57
|
|
|
58
58
|
Z3 EXAMPLE (RBAC conflict):
|
package/dist/skills/starters.js
CHANGED
|
@@ -356,7 +356,7 @@ export const STARTER_TEMPLATES = [
|
|
|
356
356
|
],
|
|
357
357
|
tips: [
|
|
358
358
|
"All clauses end with period. Lowercase = atoms, Uppercase = variables.",
|
|
359
|
-
"No recursive rules on cyclic data
|
|
359
|
+
"No recursive rules on cyclic data without tabling → infinite loop. Add `:- table reach/2.` if needed.",
|
|
360
360
|
],
|
|
361
361
|
},
|
|
362
362
|
{
|
|
@@ -806,7 +806,7 @@ missing_pair(Func, Expected) :-
|
|
|
806
806
|
"For CALLER → CALLEE propagation, reverse the calls/2 direction in the rule",
|
|
807
807
|
"Multiple labels: duplicate the skeleton for each label with a different predicate name",
|
|
808
808
|
"Add negation to find gaps: unlabeled_but_should_be(Func) :- calls_failing(Func), \\+ has_error_handler(Func).",
|
|
809
|
-
"Keep call graph acyclic in propagation rules
|
|
809
|
+
"Keep call graph acyclic in propagation rules, add depth limits, or table the recursive predicate (`:- table prop/1.`)",
|
|
810
810
|
],
|
|
811
811
|
example: `calls(handle_request, db_query).
|
|
812
812
|
calls(handle_request, validate).
|
|
@@ -886,7 +886,7 @@ violation(Sink) :- tainted(Sink), sink(Sink).`,
|
|
|
886
886
|
"sanitize(X) stops propagation: nodes AFTER a sanitizer are NOT tainted",
|
|
887
887
|
"Query tainted(X) to see all tainted nodes, violation(X) to see actual security issues",
|
|
888
888
|
"For multi-path analysis: a node is tainted if ANY incoming path is unsanitized",
|
|
889
|
-
"Keep flow graph acyclic
|
|
889
|
+
"Keep flow graph acyclic, add visited-list tracking, or table the recursive predicate (`:- table tainted/1.`)",
|
|
890
890
|
],
|
|
891
891
|
example: `flows(user_input, parse).
|
|
892
892
|
flows(parse, validate).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"starters.js","sourceRoot":"","sources":["../../src/skills/starters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"starters.js","sourceRoot":"","sources":["../../src/skills/starters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prolog-solver.d.ts","sourceRoot":"","sources":["../../src/solvers/prolog-solver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAA2C,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"prolog-solver.d.ts","sourceRoot":"","sources":["../../src/solvers/prolog-solver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAA2C,MAAM,YAAY,CAAC;AAmdlF,wBAAgB,kBAAkB,IAAI,MAAM,CAsK3C"}
|
|
@@ -1,46 +1,317 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { initProlog } from "prolog-wasm-full";
|
|
2
2
|
const MAX_ANSWERS = 1000;
|
|
3
3
|
const DEFAULT_MAX_INFERENCES = 100_000;
|
|
4
4
|
const MAX_TRACE_ENTRIES = 500;
|
|
5
|
-
//
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
// Internal variable for detecting inference-limit overrun. Picked to be
|
|
6
|
+
// unlikely to collide with anything a user program writes.
|
|
7
|
+
const LIMIT_MARKER_VAR = "ChiasmusLimitResult_3F2A1B";
|
|
8
|
+
const LIMIT_EXCEEDED_ATOM = "inference_limit_exceeded";
|
|
9
|
+
const SAFE_PATH_RE = /^[/A-Za-z0-9_.-]+$/;
|
|
10
|
+
// prolog-wasm-full has a single-init lifecycle (Emscripten factory
|
|
11
|
+
// invalidates after first instantiation), so we lazily init exactly
|
|
12
|
+
// one global instance shared across solver calls. Per-solve isolation
|
|
13
|
+
// happens by wrapping every consult in its own SWI module and tearing
|
|
14
|
+
// the module down afterwards — concurrent solves with overlapping
|
|
15
|
+
// predicate names see independent namespaces. The `/tmp/_chiasmus_*.pl`
|
|
16
|
+
// paths look like host filesystem paths but live in Emscripten's
|
|
17
|
+
// in-memory MEMFS — nothing touches the host disk.
|
|
18
|
+
let plPromise = null;
|
|
19
|
+
let pathCounter = 0;
|
|
20
|
+
let sessionCounter = 0;
|
|
21
|
+
function uniqueSessionModule() {
|
|
22
|
+
return `chiasmus_session_${++sessionCounter}`;
|
|
13
23
|
}
|
|
14
|
-
function
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
async function getPl() {
|
|
25
|
+
plPromise ??= (async () => {
|
|
26
|
+
const pl = await initProlog();
|
|
27
|
+
// The message-capture predicate and hook must be module-qualified to
|
|
28
|
+
// `user:`. SWI invokes message_hook from whichever module is emitting
|
|
29
|
+
// the message (often `system:` for low-level errors), and an unqualified
|
|
30
|
+
// assertz inside the hook body would resolve to the caller's module —
|
|
31
|
+
// failing silently with `Unknown procedure: system:$chiasmus_msg/2` and
|
|
32
|
+
// dropping the error on the floor.
|
|
33
|
+
pl.consult(`
|
|
34
|
+
:- use_module(library(lists)).
|
|
35
|
+
:- use_module(library(clpfd)).
|
|
36
|
+
:- dynamic(user:'$chiasmus_msg'/2).
|
|
37
|
+
:- multifile(user:message_hook/3).
|
|
38
|
+
user:message_hook(_Term, Kind, Lines) :-
|
|
39
|
+
(Kind == error ; Kind == warning),
|
|
40
|
+
with_output_to(string(S),
|
|
41
|
+
print_message_lines(current_output, '', Lines)),
|
|
42
|
+
assertz(user:'$chiasmus_msg'(Kind, S)),
|
|
43
|
+
fail.
|
|
44
|
+
`);
|
|
45
|
+
return pl;
|
|
46
|
+
})();
|
|
47
|
+
return plPromise;
|
|
21
48
|
}
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
49
|
+
function clearMessages(pl) {
|
|
50
|
+
try {
|
|
51
|
+
pl.stock.call(`retractall(user:'$chiasmus_msg'(_, _))`);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
/* best-effort */
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function collectErrorMessages(pl) {
|
|
58
|
+
try {
|
|
59
|
+
const rows = pl.query(`user:'$chiasmus_msg'(error, M)`).all();
|
|
60
|
+
return rows
|
|
61
|
+
.map((r) => (r.M == null ? "" : String(r.M).trim()))
|
|
62
|
+
.filter((s) => s.length > 0);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Validate a query string by attempting to parse it. Returns null on
|
|
70
|
+
* success, or the syntax-error description on failure.
|
|
71
|
+
*
|
|
72
|
+
* `pl.query()` does not propagate parse errors through the JS layer
|
|
73
|
+
* (they print to stderr but the handle just returns no answers). We
|
|
74
|
+
* pre-parse via `read_term_from_atom/3` so callers see a structured
|
|
75
|
+
* error rather than silent empty results.
|
|
76
|
+
*/
|
|
77
|
+
function validateQuery(pl, goal) {
|
|
78
|
+
// Single-quote escape for embedding in Prolog atom syntax.
|
|
79
|
+
const atom = goal.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
|
|
80
|
+
clearMessages(pl);
|
|
81
|
+
const ok = pl.stock.call(`catch(read_term_from_atom('${atom}', _, []), Err, ` +
|
|
82
|
+
`(with_output_to(string(EStr), write(Err)), ` +
|
|
83
|
+
`assertz(user:'$chiasmus_msg'(error, EStr))))`);
|
|
84
|
+
const errs = collectErrorMessages(pl);
|
|
85
|
+
if (errs.length > 0)
|
|
86
|
+
return errs.join("\n");
|
|
87
|
+
if (!ok)
|
|
88
|
+
return "query parse failed";
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
function uniqueTempPath() {
|
|
92
|
+
return `/tmp/_chiasmus_prolog_${Date.now()}_${pathCounter++}.pl`;
|
|
93
|
+
}
|
|
94
|
+
// ---------------------------------------------------------------------
|
|
95
|
+
// Term rendering — reverse of prolog-wasm-full's stock marshaller.
|
|
96
|
+
//
|
|
97
|
+
// The stock query API returns these JS shapes:
|
|
98
|
+
// atom → string ("knight")
|
|
99
|
+
// integer / float → number
|
|
100
|
+
// true / false → boolean
|
|
101
|
+
// list → array
|
|
102
|
+
// compound foo(...) → { $t: "t", functor: "foo", foo: [[arg1, ...]] }
|
|
103
|
+
// Args are double-wrapped (`foo: [[a, b, c]]`) — outer array has one
|
|
104
|
+
// element, the args tuple. We unwrap and render to Prolog syntax.
|
|
105
|
+
function isAtomBare(s) {
|
|
106
|
+
return /^[a-z][a-zA-Z0-9_]*$/.test(s);
|
|
107
|
+
}
|
|
108
|
+
function termToProlog(value) {
|
|
109
|
+
if (value === null || value === undefined)
|
|
110
|
+
return "_";
|
|
111
|
+
if (typeof value === "boolean")
|
|
112
|
+
return value ? "true" : "false";
|
|
113
|
+
if (typeof value === "number")
|
|
114
|
+
return String(value);
|
|
115
|
+
if (typeof value === "string") {
|
|
116
|
+
if (isAtomBare(value))
|
|
117
|
+
return value;
|
|
118
|
+
return `'${value.replace(/\\/g, "\\\\").replace(/'/g, "\\'")}'`;
|
|
119
|
+
}
|
|
120
|
+
if (Array.isArray(value)) {
|
|
121
|
+
return `[${value.map(termToProlog).join(", ")}]`;
|
|
122
|
+
}
|
|
123
|
+
if (typeof value === "object") {
|
|
124
|
+
const v = value;
|
|
125
|
+
if (v.$t === "t" && typeof v.functor === "string") {
|
|
126
|
+
const fn = v.functor;
|
|
127
|
+
const argsWrap = v[fn];
|
|
128
|
+
const args = Array.isArray(argsWrap) &&
|
|
129
|
+
argsWrap.length === 1 &&
|
|
130
|
+
Array.isArray(argsWrap[0])
|
|
131
|
+
? argsWrap[0]
|
|
132
|
+
: Array.isArray(argsWrap)
|
|
133
|
+
? argsWrap
|
|
134
|
+
: [argsWrap];
|
|
135
|
+
if (fn === "-" && args.length === 2) {
|
|
136
|
+
return `${termToProlog(args[0])}-${termToProlog(args[1])}`;
|
|
137
|
+
}
|
|
138
|
+
return `${fn}(${args.map(termToProlog).join(", ")})`;
|
|
139
|
+
}
|
|
140
|
+
return JSON.stringify(v);
|
|
141
|
+
}
|
|
142
|
+
return JSON.stringify(value);
|
|
143
|
+
}
|
|
144
|
+
function bindingsToFormatted(bindings) {
|
|
145
|
+
const entries = Object.entries(bindings);
|
|
146
|
+
if (entries.length === 0)
|
|
147
|
+
return "true";
|
|
148
|
+
return entries.map(([k, v]) => `${k} = ${v}`).join(", ");
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Strip a trailing `.` or leading `?-` the user/model sometimes includes
|
|
152
|
+
* around a goal — SWI's stock query API expects a bare goal expression.
|
|
153
|
+
*/
|
|
154
|
+
function normalizeQuery(q) {
|
|
155
|
+
let s = q.trim();
|
|
156
|
+
if (s.startsWith("?-"))
|
|
157
|
+
s = s.slice(2).trim();
|
|
158
|
+
if (s.endsWith("."))
|
|
159
|
+
s = s.slice(0, -1).trim();
|
|
160
|
+
return s;
|
|
161
|
+
}
|
|
162
|
+
class CapReachedError extends Error {
|
|
163
|
+
}
|
|
164
|
+
class LimitExceededError extends Error {
|
|
165
|
+
}
|
|
166
|
+
function runQuery(pl, goal, opts = {}) {
|
|
167
|
+
const normalized = normalizeQuery(goal);
|
|
168
|
+
if (!normalized)
|
|
169
|
+
return { error: "empty query" };
|
|
170
|
+
let handle;
|
|
171
|
+
try {
|
|
172
|
+
handle = pl.query(normalized);
|
|
173
|
+
}
|
|
174
|
+
catch (e) {
|
|
175
|
+
return { error: e instanceof Error ? e.message : String(e) };
|
|
176
|
+
}
|
|
177
|
+
const answers = [];
|
|
178
|
+
const cap = opts.maxAnswers ?? MAX_ANSWERS;
|
|
179
|
+
let limitExceeded = false;
|
|
180
|
+
try {
|
|
181
|
+
try {
|
|
182
|
+
handle.forEach((rawBindings) => {
|
|
183
|
+
if (answers.length >= cap)
|
|
184
|
+
throw new CapReachedError();
|
|
185
|
+
if (opts.detectLimitMarker) {
|
|
186
|
+
const marker = rawBindings[LIMIT_MARKER_VAR];
|
|
187
|
+
if (marker === LIMIT_EXCEEDED_ATOM) {
|
|
188
|
+
limitExceeded = true;
|
|
189
|
+
throw new LimitExceededError();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
const bindings = {};
|
|
193
|
+
for (const [k, v] of Object.entries(rawBindings)) {
|
|
194
|
+
if (k === LIMIT_MARKER_VAR)
|
|
195
|
+
continue;
|
|
196
|
+
bindings[k] = termToProlog(v);
|
|
197
|
+
}
|
|
198
|
+
answers.push(bindings);
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
finally {
|
|
202
|
+
try {
|
|
203
|
+
handle.close();
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
/* best-effort */
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
catch (e) {
|
|
211
|
+
if (e instanceof LimitExceededError || limitExceeded) {
|
|
212
|
+
return { error: "inference limit exceeded" };
|
|
213
|
+
}
|
|
214
|
+
if (!(e instanceof CapReachedError)) {
|
|
215
|
+
return { error: e instanceof Error ? e.message : String(e) };
|
|
216
|
+
}
|
|
217
|
+
// Cap reached — return what we have.
|
|
218
|
+
}
|
|
219
|
+
return { answers };
|
|
31
220
|
}
|
|
32
221
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
222
|
+
* Tear down a session module: abolish every locally-defined predicate
|
|
223
|
+
* (skipping imports), unload the source file, unlink the MEMFS path.
|
|
224
|
+
* Returns warnings — strings naming each step that failed. Cleanup is
|
|
225
|
+
* best-effort: a failure leaks a small amount of state into the global
|
|
226
|
+
* SWI namespace but the user already has their answer, so we surface
|
|
227
|
+
* it on the result rather than masking the solve outcome.
|
|
37
228
|
*/
|
|
229
|
+
function cleanupSession(pl, moduleId, path) {
|
|
230
|
+
const warnings = [];
|
|
231
|
+
// Enumerate user-defined predicates in the module. `imported_from(_)`
|
|
232
|
+
// filter excludes preds pulled in by `use_module(library(...))` — we
|
|
233
|
+
// don't want to abolish library bindings, only the user's clauses.
|
|
234
|
+
let preds = [];
|
|
235
|
+
try {
|
|
236
|
+
preds = pl
|
|
237
|
+
.query(`current_predicate(${moduleId}:F/A), ` +
|
|
238
|
+
`functor(H, F, A), ` +
|
|
239
|
+
`\\+ predicate_property(${moduleId}:H, imported_from(_))`)
|
|
240
|
+
.all();
|
|
241
|
+
}
|
|
242
|
+
catch (e) {
|
|
243
|
+
warnings.push(`enumerate predicates in ${moduleId}: ${e instanceof Error ? e.message : String(e)}`);
|
|
244
|
+
}
|
|
245
|
+
for (const row of preds) {
|
|
246
|
+
const f = row.F;
|
|
247
|
+
const a = row.A;
|
|
248
|
+
if (typeof f !== "string" || typeof a !== "number") {
|
|
249
|
+
warnings.push(`skip non-canonical predicate spec: ${String(f)}/${String(a)}`);
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
if (!isAtomBare(f)) {
|
|
253
|
+
// Quoted atoms (e.g. internal `$...` preds) — abolish via quoted form.
|
|
254
|
+
try {
|
|
255
|
+
const quoted = `'${f.replace(/\\/g, "\\\\").replace(/'/g, "\\'")}'`;
|
|
256
|
+
const ok = pl.stock.call(`abolish(${moduleId}:${quoted}/${a})`);
|
|
257
|
+
if (!ok)
|
|
258
|
+
warnings.push(`abolish ${moduleId}:${quoted}/${a} returned false`);
|
|
259
|
+
}
|
|
260
|
+
catch (e) {
|
|
261
|
+
warnings.push(`abolish ${moduleId}:${f}/${a}: ${e instanceof Error ? e.message : String(e)}`);
|
|
262
|
+
}
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
265
|
+
try {
|
|
266
|
+
const ok = pl.stock.call(`abolish(${moduleId}:${f}/${a})`);
|
|
267
|
+
if (!ok)
|
|
268
|
+
warnings.push(`abolish ${moduleId}:${f}/${a} returned false`);
|
|
269
|
+
}
|
|
270
|
+
catch (e) {
|
|
271
|
+
warnings.push(`abolish ${moduleId}:${f}/${a}: ${e instanceof Error ? e.message : String(e)}`);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
try {
|
|
275
|
+
pl.stock.call(`unload_file('${path}')`);
|
|
276
|
+
}
|
|
277
|
+
catch (e) {
|
|
278
|
+
warnings.push(`unload_file ${path}: ${e instanceof Error ? e.message : String(e)}`);
|
|
279
|
+
}
|
|
280
|
+
try {
|
|
281
|
+
pl.em.FS.unlink(path);
|
|
282
|
+
}
|
|
283
|
+
catch {
|
|
284
|
+
// File may already be gone (e.g. consult never ran). Not a warning —
|
|
285
|
+
// we explicitly call cleanupSession even on the never-consulted path.
|
|
286
|
+
}
|
|
287
|
+
return warnings;
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Best-effort unlink for the case where the program never made it to
|
|
291
|
+
* consult. Failures here are silent — there's nothing actionable for
|
|
292
|
+
* the caller (the file simply may not exist).
|
|
293
|
+
*/
|
|
294
|
+
function tryUnlink(pl, path) {
|
|
295
|
+
try {
|
|
296
|
+
pl.em.FS.unlink(path);
|
|
297
|
+
}
|
|
298
|
+
catch {
|
|
299
|
+
/* never written */
|
|
300
|
+
}
|
|
301
|
+
return [];
|
|
302
|
+
}
|
|
303
|
+
// ---------------------------------------------------------------------
|
|
304
|
+
// Tracing instrumentation
|
|
305
|
+
// ---------------------------------------------------------------------
|
|
306
|
+
//
|
|
307
|
+
// Rewrites each rule `head :- body.` to `head :- body, assertz(trace_goal(head)).`
|
|
308
|
+
// so trace_goal/1 accumulates which rules fired with bound variables.
|
|
309
|
+
// Facts and directives are left unchanged.
|
|
38
310
|
function instrumentForTracing(program) {
|
|
39
311
|
const parts = [":- dynamic(trace_goal/1).\n\n"];
|
|
40
312
|
let pos = 0;
|
|
41
313
|
const len = program.length;
|
|
42
314
|
while (pos < len) {
|
|
43
|
-
// Skip whitespace in bulk
|
|
44
315
|
const wsStart = pos;
|
|
45
316
|
while (pos < len && /\s/.test(program[pos]))
|
|
46
317
|
pos++;
|
|
@@ -49,7 +320,6 @@ function instrumentForTracing(program) {
|
|
|
49
320
|
}
|
|
50
321
|
if (pos >= len)
|
|
51
322
|
break;
|
|
52
|
-
// Skip line comments in bulk
|
|
53
323
|
if (program[pos] === "%") {
|
|
54
324
|
const nlIdx = program.indexOf("\n", pos);
|
|
55
325
|
if (nlIdx === -1) {
|
|
@@ -60,15 +330,14 @@ function instrumentForTracing(program) {
|
|
|
60
330
|
pos = nlIdx + 1;
|
|
61
331
|
continue;
|
|
62
332
|
}
|
|
63
|
-
// Scan a clause: from pos to the next period at depth 0
|
|
64
333
|
const clauseStart = pos;
|
|
65
334
|
let depth = 0;
|
|
66
335
|
let inQuote = false;
|
|
336
|
+
let emittedClause = false;
|
|
67
337
|
while (pos < len) {
|
|
68
338
|
const ch = program[pos];
|
|
69
339
|
if (inQuote) {
|
|
70
340
|
if (ch === "\\") {
|
|
71
|
-
// Backslash escape: skip the next char (covers \', \\, \n, etc.)
|
|
72
341
|
pos += 2;
|
|
73
342
|
continue;
|
|
74
343
|
}
|
|
@@ -107,10 +376,10 @@ function instrumentForTracing(program) {
|
|
|
107
376
|
continue;
|
|
108
377
|
}
|
|
109
378
|
if (ch === "." && depth === 0) {
|
|
110
|
-
// A `.` flanked by digits is a decimal literal
|
|
111
|
-
//
|
|
112
|
-
//
|
|
113
|
-
//
|
|
379
|
+
// A `.` flanked by digits is a decimal literal, not a clause
|
|
380
|
+
// terminator. In Prolog only whitespace, EOF, or `%` legitimately
|
|
381
|
+
// follows a clause-ending period, so the digit-flanked case is
|
|
382
|
+
// unambiguous.
|
|
114
383
|
const prevCh = pos > 0 ? program[pos - 1] : "";
|
|
115
384
|
const nextCh = pos + 1 < len ? program[pos + 1] : "";
|
|
116
385
|
if (prevCh >= "0" && prevCh <= "9" && nextCh >= "0" && nextCh <= "9") {
|
|
@@ -121,22 +390,29 @@ function instrumentForTracing(program) {
|
|
|
121
390
|
const clause = program.slice(clauseStart, pos).trim();
|
|
122
391
|
if (clause.startsWith(":-")) {
|
|
123
392
|
parts.push(clause + "\n");
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
const neckIdx = findNeck(clause);
|
|
127
|
-
if (neckIdx >= 0) {
|
|
128
|
-
const head = clause.slice(0, neckIdx).trim();
|
|
129
|
-
const body = clause.slice(neckIdx + 2).slice(0, -1).trim();
|
|
130
|
-
parts.push(`${head} :- ${body}, assertz(trace_goal(${head})).\n`);
|
|
131
393
|
}
|
|
132
394
|
else {
|
|
133
|
-
|
|
395
|
+
const neckIdx = findNeck(clause);
|
|
396
|
+
if (neckIdx >= 0) {
|
|
397
|
+
const head = clause.slice(0, neckIdx).trim();
|
|
398
|
+
const body = clause.slice(neckIdx + 2).slice(0, -1).trim();
|
|
399
|
+
parts.push(`${head} :- ${body}, assertz(trace_goal(${head})).\n`);
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
parts.push(clause + "\n");
|
|
403
|
+
}
|
|
134
404
|
}
|
|
405
|
+
emittedClause = true;
|
|
135
406
|
break;
|
|
136
407
|
}
|
|
137
408
|
pos++;
|
|
138
409
|
}
|
|
139
|
-
|
|
410
|
+
// If we exhausted the input without finding a clause-terminator, the
|
|
411
|
+
// tail is a partial clause — push it verbatim so SWI surfaces the
|
|
412
|
+
// syntax error rather than us silently dropping it. Don't push if we
|
|
413
|
+
// already emitted a clause from the inner while: pos can equal len
|
|
414
|
+
// there too (final clause flush against EOF) and we'd double-emit.
|
|
415
|
+
if (!emittedClause && program.slice(clauseStart, pos).trim()) {
|
|
140
416
|
parts.push(program.slice(clauseStart));
|
|
141
417
|
}
|
|
142
418
|
}
|
|
@@ -151,7 +427,7 @@ function findNeck(clause) {
|
|
|
151
427
|
if (ch === "\\") {
|
|
152
428
|
i++;
|
|
153
429
|
continue;
|
|
154
|
-
}
|
|
430
|
+
}
|
|
155
431
|
if (ch === "'" && clause[i + 1] === "'") {
|
|
156
432
|
i++;
|
|
157
433
|
continue;
|
|
@@ -185,16 +461,6 @@ function findNeck(clause) {
|
|
|
185
461
|
}
|
|
186
462
|
return -1;
|
|
187
463
|
}
|
|
188
|
-
function formatError(session, err) {
|
|
189
|
-
if (err instanceof Error)
|
|
190
|
-
return err.message;
|
|
191
|
-
try {
|
|
192
|
-
return session.format_answer(err) || String(err);
|
|
193
|
-
}
|
|
194
|
-
catch {
|
|
195
|
-
return String(err);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
464
|
export function createPrologSolver() {
|
|
199
465
|
let disposed = false;
|
|
200
466
|
return {
|
|
@@ -206,71 +472,136 @@ export function createPrologSolver() {
|
|
|
206
472
|
if (input.type !== "prolog") {
|
|
207
473
|
return { status: "error", error: "Expected prolog input type" };
|
|
208
474
|
}
|
|
209
|
-
|
|
210
|
-
const program = explain ? instrumentForTracing(input.program) : input.program;
|
|
211
|
-
const inferenceBudget = input.maxInferences ?? DEFAULT_MAX_INFERENCES;
|
|
212
|
-
const session = pl.create(inferenceBudget);
|
|
475
|
+
let pl;
|
|
213
476
|
try {
|
|
214
|
-
await
|
|
477
|
+
pl = await getPl();
|
|
215
478
|
}
|
|
216
479
|
catch (e) {
|
|
217
|
-
return {
|
|
480
|
+
return {
|
|
481
|
+
status: "error",
|
|
482
|
+
error: `prolog init failed: ${e instanceof Error ? e.message : String(e)}`,
|
|
483
|
+
};
|
|
484
|
+
}
|
|
485
|
+
const explain = input.explain ?? false;
|
|
486
|
+
const userProgram = explain
|
|
487
|
+
? instrumentForTracing(input.program)
|
|
488
|
+
: input.program;
|
|
489
|
+
const inferenceBudget = input.maxInferences ?? DEFAULT_MAX_INFERENCES;
|
|
490
|
+
const moduleId = uniqueSessionModule();
|
|
491
|
+
const path = uniqueTempPath();
|
|
492
|
+
if (!SAFE_PATH_RE.test(path)) {
|
|
493
|
+
return {
|
|
494
|
+
status: "error",
|
|
495
|
+
error: `internal: tempfile path failed safety check: ${path}`,
|
|
496
|
+
};
|
|
218
497
|
}
|
|
498
|
+
// Wrap the user code in a fresh module. `:- module(M, [])` puts
|
|
499
|
+
// every definition in M's namespace; built-ins still resolve via
|
|
500
|
+
// the auto-imported `system` module, and we explicitly import
|
|
501
|
+
// the libraries the user is likely to reach for. This is what
|
|
502
|
+
// gives concurrent solves with overlapping predicate names
|
|
503
|
+
// independent state.
|
|
504
|
+
const program = `:- module(${moduleId}, []).\n` +
|
|
505
|
+
`:- use_module(library(lists)).\n` +
|
|
506
|
+
`:- use_module(library(clpfd)).\n` +
|
|
507
|
+
userProgram;
|
|
508
|
+
let consulted = false;
|
|
509
|
+
const finalize = (result, prefix = []) => {
|
|
510
|
+
const cleanupWarnings = consulted
|
|
511
|
+
? cleanupSession(pl, moduleId, path)
|
|
512
|
+
: tryUnlink(pl, path);
|
|
513
|
+
const warnings = [...prefix, ...cleanupWarnings];
|
|
514
|
+
if (warnings.length === 0)
|
|
515
|
+
return result;
|
|
516
|
+
if (result.status === "success") {
|
|
517
|
+
return { ...result, warnings };
|
|
518
|
+
}
|
|
519
|
+
if (result.status === "error") {
|
|
520
|
+
return { ...result, warnings };
|
|
521
|
+
}
|
|
522
|
+
return result;
|
|
523
|
+
};
|
|
219
524
|
try {
|
|
220
|
-
|
|
525
|
+
pl.em.FS.writeFile(path, program);
|
|
221
526
|
}
|
|
222
527
|
catch (e) {
|
|
223
|
-
return {
|
|
528
|
+
return finalize({
|
|
529
|
+
status: "error",
|
|
530
|
+
error: `failed to stage program: ${e instanceof Error ? e.message : String(e)}`,
|
|
531
|
+
});
|
|
224
532
|
}
|
|
225
|
-
|
|
533
|
+
clearMessages(pl);
|
|
226
534
|
try {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
if (ans === null)
|
|
230
|
-
break;
|
|
231
|
-
const bindings = {};
|
|
232
|
-
const links = ans.links;
|
|
233
|
-
if (links) {
|
|
234
|
-
for (const [name, term] of Object.entries(links)) {
|
|
235
|
-
bindings[name] = term.toString?.()
|
|
236
|
-
?? term.id
|
|
237
|
-
?? String(term);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
const formatted = pl.format_answer(ans) ?? "";
|
|
241
|
-
answers.push({ bindings, formatted });
|
|
242
|
-
}
|
|
535
|
+
pl.stock.call(`consult('${path}')`);
|
|
536
|
+
consulted = true;
|
|
243
537
|
}
|
|
244
538
|
catch (e) {
|
|
245
|
-
return {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
539
|
+
return finalize({
|
|
540
|
+
status: "error",
|
|
541
|
+
error: `consult failed: ${e instanceof Error ? e.message : String(e)}`,
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
const consultErrs = collectErrorMessages(pl);
|
|
545
|
+
if (consultErrs.length > 0) {
|
|
546
|
+
return finalize({ status: "error", error: consultErrs.join("\n") });
|
|
547
|
+
}
|
|
548
|
+
const normalized = normalizeQuery(input.query);
|
|
549
|
+
if (!normalized) {
|
|
550
|
+
return finalize({ status: "error", error: "empty query" });
|
|
551
|
+
}
|
|
552
|
+
const parseErr = validateQuery(pl, normalized);
|
|
553
|
+
if (parseErr) {
|
|
554
|
+
return finalize({ status: "error", error: parseErr });
|
|
555
|
+
}
|
|
556
|
+
// Wrap the user goal in three concentric layers (innermost first):
|
|
557
|
+
// 1. `${moduleId}:Goal` — resolve predicates against the session
|
|
558
|
+
// module, so the user's `parent(...)` finds their own clauses.
|
|
559
|
+
// 2. `call_with_inference_limit(..., Budget, Marker)` — bound
|
|
560
|
+
// runaway labelings; Marker binds to LIMIT_EXCEEDED_ATOM on
|
|
561
|
+
// overrun.
|
|
562
|
+
// 3. `catch(..., Err, recovery)` — turn existence_error and
|
|
563
|
+
// friends into structured solver errors instead of letting
|
|
564
|
+
// SWI print them and the JS handle silently return zero
|
|
565
|
+
// answers. Recovery asserts the error term to our shared
|
|
566
|
+
// message buffer and fails so the iterator terminates.
|
|
567
|
+
const wrapped = `catch(` +
|
|
568
|
+
`call_with_inference_limit((${moduleId}:(${normalized})), ${inferenceBudget}, ${LIMIT_MARKER_VAR}), ` +
|
|
569
|
+
`Err, ` +
|
|
570
|
+
`(with_output_to(string(EStr), write(Err)), ` +
|
|
571
|
+
`assertz(user:'$chiasmus_msg'(error, EStr)), fail))`;
|
|
572
|
+
clearMessages(pl);
|
|
573
|
+
const queryResult = runQuery(pl, wrapped, { detectLimitMarker: true });
|
|
574
|
+
const queryErrs = collectErrorMessages(pl);
|
|
575
|
+
if (queryErrs.length > 0) {
|
|
576
|
+
return finalize({ status: "error", error: queryErrs.join("\n") });
|
|
577
|
+
}
|
|
578
|
+
if ("error" in queryResult) {
|
|
579
|
+
return finalize({ status: "error", error: queryResult.error });
|
|
580
|
+
}
|
|
581
|
+
const answers = queryResult.answers.map((bindings) => ({
|
|
582
|
+
bindings,
|
|
583
|
+
formatted: bindingsToFormatted(bindings),
|
|
584
|
+
}));
|
|
585
|
+
if (!explain) {
|
|
586
|
+
return finalize({ status: "success", answers });
|
|
587
|
+
}
|
|
588
|
+
// Collect derivation trace from the session-local trace_goal/1.
|
|
589
|
+
const traceResult = runQuery(pl, `${moduleId}:trace_goal(X)`, {
|
|
590
|
+
maxAnswers: MAX_TRACE_ENTRIES,
|
|
591
|
+
});
|
|
592
|
+
if ("error" in traceResult) {
|
|
593
|
+
return finalize({ status: "success", answers });
|
|
594
|
+
}
|
|
595
|
+
const trace = [];
|
|
596
|
+
const seen = new Set();
|
|
597
|
+
for (const row of traceResult.answers) {
|
|
598
|
+
const entry = row.X;
|
|
599
|
+
if (typeof entry === "string" && !seen.has(entry)) {
|
|
600
|
+
seen.add(entry);
|
|
601
|
+
trace.push(entry);
|
|
271
602
|
}
|
|
272
603
|
}
|
|
273
|
-
return { status: "success", answers };
|
|
604
|
+
return finalize({ status: "success", answers, trace });
|
|
274
605
|
},
|
|
275
606
|
dispose() {
|
|
276
607
|
if (!disposed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prolog-solver.js","sourceRoot":"","sources":["../../src/solvers/prolog-solver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prolog-solver.js","sourceRoot":"","sources":["../../src/solvers/prolog-solver.ts"],"names":[],"mappings":"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"}
|
package/dist/solvers/types.d.ts
CHANGED
|
@@ -13,9 +13,11 @@ export type SolverResult = {
|
|
|
13
13
|
status: "success";
|
|
14
14
|
answers: PrologAnswer[];
|
|
15
15
|
trace?: string[];
|
|
16
|
+
warnings?: string[];
|
|
16
17
|
} | {
|
|
17
18
|
status: "error";
|
|
18
19
|
error: string;
|
|
20
|
+
warnings?: string[];
|
|
19
21
|
};
|
|
20
22
|
/** A single Prolog query answer: variable bindings */
|
|
21
23
|
export interface PrologAnswer {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/solvers/types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEzC,mCAAmC;AACnC,MAAM,MAAM,YAAY,GACpB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/solvers/types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEzC,mCAAmC;AACnC,MAAM,MAAM,YAAY,GACpB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAChD;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACzC;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACrF;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE5D,sDAAsD;AACtD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,+CAA+C;AAC/C,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjD,0DAA0D;IAC1D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAwB;AACxB,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chiasmus",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Neurosymbolic verification engine - MCP server for formal reasoning with Z3 and
|
|
5
|
+
"description": "Neurosymbolic verification engine - MCP server for formal reasoning with Z3 and SWI-Prolog (WASM)",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"bin": {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"graphology-metrics": "^2.4.0",
|
|
84
84
|
"proper-lockfile": "^4.1.2",
|
|
85
85
|
"repl-sandbox": "^0.1.1",
|
|
86
|
-
"
|
|
86
|
+
"prolog-wasm-full": "^0.2.0",
|
|
87
87
|
"tree-sitter": "^0.22.4",
|
|
88
88
|
"tree-sitter-go": "^0.23.2",
|
|
89
89
|
"tree-sitter-javascript": "^0.23.1",
|