dirac-lang 0.1.31 → 0.1.33
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 +28 -0
- package/dist/{chunk-MAPD5UUF.js → chunk-4LLFMVOW.js} +2 -2
- package/dist/{chunk-FWD3RMQ7.js → chunk-4QLTSCDG.js} +1 -1
- package/dist/{chunk-SIGINKX3.js → chunk-GLXVY235.js} +40 -2
- package/dist/{chunk-YAGJPLVS.js → chunk-HPGONBNW.js} +47 -21
- package/dist/cli.js +5 -5
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -4
- package/dist/{interpreter-CEGW4F6U.js → interpreter-F65BCAYX.js} +3 -3
- package/dist/{session-2OG5LRD4.js → session-UBATJEND.js} +1 -1
- package/dist/{subroutine-W2MI62EG.js → subroutine-V4D4LQIH.js} +2 -2
- package/dist/{tag-validator-3GP2CEDC.js → tag-validator-3RLLFTY6.js} +1 -1
- package/dist/test-runner.js +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -255,3 +255,31 @@ npm install -g dirac-lang
|
|
|
255
255
|
---
|
|
256
256
|
|
|
257
257
|
*"In the quantum realm, a bra meets a ket to produce reality. In Dirac, a declaration meets an LLM to produce execution."*
|
|
258
|
+
|
|
259
|
+
## PAUL: The Human-Friendly Dirac Dialect
|
|
260
|
+
|
|
261
|
+
Dirac’s XML-based language is designed for robust machine execution and symbolic reasoning. For human authors, we introduce **PAUL** (Programming AI Utility Language)—a concise, bra/ket-inspired notation for writing Dirac programs quickly and intuitively.
|
|
262
|
+
|
|
263
|
+
- PAUL uses bra/ket syntax and positional arguments for readability.
|
|
264
|
+
- It is ideal for human editing, rapid prototyping, and LLM prompts.
|
|
265
|
+
- PAUL scripts are typically saved with the `.bk` extension.
|
|
266
|
+
- The Dirac interpreter translates PAUL to XML Dirac for execution.
|
|
267
|
+
|
|
268
|
+
**Example:**
|
|
269
|
+
|
|
270
|
+
PAUL (.bk):
|
|
271
|
+
```
|
|
272
|
+
|greet Alice>
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Dirac XML (.di):
|
|
276
|
+
```xml
|
|
277
|
+
<greet name="Alice" />
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
**Note:**
|
|
281
|
+
- PAUL relies on conventions for mapping positional arguments to named parameters.
|
|
282
|
+
- For machine execution, always convert PAUL to XML Dirac.
|
|
283
|
+
- The `.bk` extension is recommended for PAUL scripts.
|
|
284
|
+
|
|
285
|
+
PAUL is the human-centric dialect of Dirac—optimized for clarity, speed, and LLM interaction.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
integrate
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HPGONBNW.js";
|
|
4
4
|
import {
|
|
5
5
|
DiracParser
|
|
6
6
|
} from "./chunk-HRHAMPOB.js";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
createSession,
|
|
9
9
|
getAvailableSubroutines,
|
|
10
10
|
getOutput
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-GLXVY235.js";
|
|
12
12
|
|
|
13
13
|
// src/utils/llm-adapter.ts
|
|
14
14
|
function createLLMAdapter(session) {
|
|
@@ -51,6 +51,38 @@ var OllamaProvider = class {
|
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
53
|
|
|
54
|
+
// src/llm/custom.ts
|
|
55
|
+
var CustomLLMProvider = class {
|
|
56
|
+
client;
|
|
57
|
+
model;
|
|
58
|
+
constructor(options = {}) {
|
|
59
|
+
this.client = new CustomLLMClient(options);
|
|
60
|
+
this.model = options.model || "default";
|
|
61
|
+
}
|
|
62
|
+
async complete(prompt, opts = {}) {
|
|
63
|
+
const messages = opts.messages || [
|
|
64
|
+
{ role: "user", content: prompt }
|
|
65
|
+
];
|
|
66
|
+
return await this.client.chat({ messages });
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
var CustomLLMClient = class {
|
|
70
|
+
baseUrl;
|
|
71
|
+
constructor({ baseUrl = "http://localhost:5001" } = {}) {
|
|
72
|
+
this.baseUrl = baseUrl;
|
|
73
|
+
}
|
|
74
|
+
async chat({ messages }) {
|
|
75
|
+
const prompt = messages.map((m) => `${m.role}: ${m.content}`).join("\n");
|
|
76
|
+
const res = await fetch(`${this.baseUrl}/chat`, {
|
|
77
|
+
method: "POST",
|
|
78
|
+
headers: { "Content-Type": "application/json" },
|
|
79
|
+
body: JSON.stringify({ message: prompt })
|
|
80
|
+
});
|
|
81
|
+
const data = await res.json();
|
|
82
|
+
return data.response;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
|
|
54
86
|
// src/runtime/session.ts
|
|
55
87
|
function substituteAttribute(session, value) {
|
|
56
88
|
if (typeof value !== "string") return value;
|
|
@@ -81,8 +113,12 @@ function createSession(config = {}) {
|
|
|
81
113
|
if (!openaiKey) throw new Error("OPENAI_API_KEY required for OpenAI provider");
|
|
82
114
|
llmClient = new OpenAI({ apiKey: openaiKey });
|
|
83
115
|
break;
|
|
116
|
+
case "custom":
|
|
117
|
+
const customBaseUrl = config.customLLMUrl || process.env.CUSTOM_LLM_URL || "http://localhost:5001";
|
|
118
|
+
llmClient = new CustomLLMProvider({ baseUrl: customBaseUrl, model: ollamaModel });
|
|
119
|
+
break;
|
|
84
120
|
default:
|
|
85
|
-
throw new Error(`Unknown LLM provider: ${llmProvider}. Use 'ollama', 'anthropic', or '
|
|
121
|
+
throw new Error(`Unknown LLM provider: ${llmProvider}. Use 'ollama', 'anthropic', 'openai', or 'custom'.`);
|
|
86
122
|
}
|
|
87
123
|
}
|
|
88
124
|
return {
|
|
@@ -107,7 +143,9 @@ function createSession(config = {}) {
|
|
|
107
143
|
isReturn: false,
|
|
108
144
|
isBreak: false,
|
|
109
145
|
skipSubroutineRegistration: false,
|
|
110
|
-
debug: config.debug || false
|
|
146
|
+
debug: config.debug || false,
|
|
147
|
+
currentFile: config.filePath
|
|
148
|
+
// Set current file from config for proper relative import resolution
|
|
111
149
|
};
|
|
112
150
|
}
|
|
113
151
|
function setVariable(session, name, value, visible = false) {
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-HRHAMPOB.js";
|
|
4
4
|
import {
|
|
5
5
|
executeSubroutine
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-4QLTSCDG.js";
|
|
7
7
|
import {
|
|
8
8
|
cleanSubroutinesToBoundary,
|
|
9
9
|
cleanToBoundary,
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
substituteVariables,
|
|
26
26
|
throwException,
|
|
27
27
|
unsetExceptionBoundary
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-GLXVY235.js";
|
|
29
29
|
|
|
30
30
|
// src/tags/parameters.ts
|
|
31
31
|
async function executeParameters(session, element) {
|
|
@@ -257,7 +257,7 @@ async function executeCall(session, element) {
|
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
259
|
async function registerExtendChain(session, subroutine, currentName) {
|
|
260
|
-
const { executeSubroutine: executeSubroutine2 } = await import("./subroutine-
|
|
260
|
+
const { executeSubroutine: executeSubroutine2 } = await import("./subroutine-V4D4LQIH.js");
|
|
261
261
|
const extendsAttr = subroutine.attributes.extends;
|
|
262
262
|
let parentName;
|
|
263
263
|
if (extendsAttr) {
|
|
@@ -425,12 +425,12 @@ async function executeIf(session, element) {
|
|
|
425
425
|
const condition = await evaluatePredicate(session, conditionElement);
|
|
426
426
|
if (condition) {
|
|
427
427
|
if (thenElement) {
|
|
428
|
-
const { integrateChildren: integrateChildren2 } = await import("./interpreter-
|
|
428
|
+
const { integrateChildren: integrateChildren2 } = await import("./interpreter-F65BCAYX.js");
|
|
429
429
|
await integrateChildren2(session, thenElement);
|
|
430
430
|
}
|
|
431
431
|
} else {
|
|
432
432
|
if (elseElement) {
|
|
433
|
-
const { integrateChildren: integrateChildren2 } = await import("./interpreter-
|
|
433
|
+
const { integrateChildren: integrateChildren2 } = await import("./interpreter-F65BCAYX.js");
|
|
434
434
|
await integrateChildren2(session, elseElement);
|
|
435
435
|
}
|
|
436
436
|
}
|
|
@@ -443,7 +443,7 @@ async function evaluatePredicate(session, predicateElement) {
|
|
|
443
443
|
return await evaluateCondition(session, predicateElement);
|
|
444
444
|
}
|
|
445
445
|
const outputLengthBefore = session.output.length;
|
|
446
|
-
const { integrate: integrate2 } = await import("./interpreter-
|
|
446
|
+
const { integrate: integrate2 } = await import("./interpreter-F65BCAYX.js");
|
|
447
447
|
await integrate2(session, predicateElement);
|
|
448
448
|
const newOutputChunks = session.output.slice(outputLengthBefore);
|
|
449
449
|
const result = newOutputChunks.join("").trim();
|
|
@@ -466,11 +466,11 @@ async function evaluateCondition(session, condElement) {
|
|
|
466
466
|
}
|
|
467
467
|
const outputLengthBefore = session.output.length;
|
|
468
468
|
const args = [];
|
|
469
|
-
const { integrate: integrate2 } = await import("./interpreter-
|
|
469
|
+
const { integrate: integrate2 } = await import("./interpreter-F65BCAYX.js");
|
|
470
470
|
for (const child of condElement.children) {
|
|
471
471
|
if (child.tag.toLowerCase() === "arg") {
|
|
472
472
|
const argOutputStart = session.output.length;
|
|
473
|
-
const { integrateChildren: integrateChildren2 } = await import("./interpreter-
|
|
473
|
+
const { integrateChildren: integrateChildren2 } = await import("./interpreter-F65BCAYX.js");
|
|
474
474
|
await integrateChildren2(session, child);
|
|
475
475
|
const newChunks = session.output.slice(argOutputStart);
|
|
476
476
|
const argValue = newChunks.join("");
|
|
@@ -531,7 +531,7 @@ function evaluateConditionType(evalType, args) {
|
|
|
531
531
|
// src/tags/llm.ts
|
|
532
532
|
async function executeLLM(session, element) {
|
|
533
533
|
if (!session.llmClient) {
|
|
534
|
-
throw new Error("<llm> tag requires LLM configuration. Set LLM_PROVIDER (ollama/anthropic/openai) and appropriate API keys in environment or config.yml");
|
|
534
|
+
throw new Error("<llm> tag requires LLM configuration. Set LLM_PROVIDER (ollama/anthropic/openai/custom) and appropriate API keys in environment or config.yml");
|
|
535
535
|
}
|
|
536
536
|
if (session.limits.currentLLMCalls >= session.limits.maxLLMCalls) {
|
|
537
537
|
throw new Error("Maximum LLM calls exceeded");
|
|
@@ -540,7 +540,8 @@ async function executeLLM(session, element) {
|
|
|
540
540
|
const providerName = session.llmClient.constructor.name;
|
|
541
541
|
const isOpenAI = providerName === "OpenAI";
|
|
542
542
|
const isOllama = providerName === "OllamaProvider";
|
|
543
|
-
const
|
|
543
|
+
const isCustom = providerName === "CustomLLMProvider";
|
|
544
|
+
const defaultModel = isOpenAI ? "gpt-4.1-2025-04-14" : isOllama ? "llama2" : isCustom ? "custom-model" : "claude-sonnet-4-20250514";
|
|
544
545
|
const model = element.attributes.model || process.env.DEFAULT_MODEL || defaultModel;
|
|
545
546
|
const outputVar = element.attributes.output;
|
|
546
547
|
const contextVar = element.attributes.context;
|
|
@@ -579,7 +580,7 @@ async function executeLLM(session, element) {
|
|
|
579
580
|
console.error("[LLM] Full prompt sent to LLM (noextra):\n" + prompt + "\n");
|
|
580
581
|
}
|
|
581
582
|
} else {
|
|
582
|
-
const { getAvailableSubroutines } = await import("./session-
|
|
583
|
+
const { getAvailableSubroutines } = await import("./session-UBATJEND.js");
|
|
583
584
|
const subroutines = getAvailableSubroutines(session);
|
|
584
585
|
if (session.debug) {
|
|
585
586
|
console.error(
|
|
@@ -647,6 +648,14 @@ then you call it like
|
|
|
647
648
|
temperature,
|
|
648
649
|
max_tokens: maxTokens
|
|
649
650
|
});
|
|
651
|
+
} else if (isCustom) {
|
|
652
|
+
const customPrompt = dialogHistory.map((m) => `${m.role}: ${m.content}`).join("\n");
|
|
653
|
+
result = await session.llmClient.complete(customPrompt, {
|
|
654
|
+
model,
|
|
655
|
+
temperature,
|
|
656
|
+
max_tokens: maxTokens,
|
|
657
|
+
messages: dialogHistory
|
|
658
|
+
});
|
|
650
659
|
} else {
|
|
651
660
|
const response = await session.llmClient.messages.create({
|
|
652
661
|
model,
|
|
@@ -706,7 +715,7 @@ ${result}
|
|
|
706
715
|
const parser = new DiracParser();
|
|
707
716
|
let dynamicAST = parser.parse(diracCode);
|
|
708
717
|
if (validateTags) {
|
|
709
|
-
const { validateDiracCode, applyCorrectedTags } = await import("./tag-validator-
|
|
718
|
+
const { validateDiracCode, applyCorrectedTags } = await import("./tag-validator-3RLLFTY6.js");
|
|
710
719
|
let validation = await validateDiracCode(session, dynamicAST, { autocorrect });
|
|
711
720
|
let retryCount = 0;
|
|
712
721
|
while (!validation.valid && retryCount < maxRetries) {
|
|
@@ -735,6 +744,14 @@ Please fix these errors and generate valid Dirac XML again. Remember to only use
|
|
|
735
744
|
temperature,
|
|
736
745
|
max_tokens: maxTokens
|
|
737
746
|
});
|
|
747
|
+
} else if (isCustom) {
|
|
748
|
+
const customPrompt = dialogHistory.map((m) => `${m.role}: ${m.content}`).join("\n");
|
|
749
|
+
result = await session.llmClient.complete(customPrompt, {
|
|
750
|
+
model,
|
|
751
|
+
temperature,
|
|
752
|
+
max_tokens: maxTokens,
|
|
753
|
+
messages: dialogHistory
|
|
754
|
+
});
|
|
738
755
|
} else {
|
|
739
756
|
const response = await session.llmClient.messages.create({
|
|
740
757
|
model,
|
|
@@ -815,6 +832,14 @@ ${feedbackPrompt}
|
|
|
815
832
|
temperature,
|
|
816
833
|
max_tokens: maxTokens
|
|
817
834
|
});
|
|
835
|
+
} else if (isCustom) {
|
|
836
|
+
const customPrompt = dialogHistory.map((m) => `${m.role}: ${m.content}`).join("\n");
|
|
837
|
+
result = await session.llmClient.complete(customPrompt, {
|
|
838
|
+
model,
|
|
839
|
+
temperature,
|
|
840
|
+
max_tokens: maxTokens,
|
|
841
|
+
messages: dialogHistory
|
|
842
|
+
});
|
|
818
843
|
} else {
|
|
819
844
|
const response = await session.llmClient.messages.create({
|
|
820
845
|
model,
|
|
@@ -987,10 +1012,11 @@ function resolveImportPath(src, currentDir) {
|
|
|
987
1012
|
return resolved.endsWith(".di") ? resolved : resolved + ".di";
|
|
988
1013
|
}
|
|
989
1014
|
async function executeImport(session, element) {
|
|
990
|
-
const
|
|
991
|
-
if (!
|
|
1015
|
+
const srcAttr = element.attributes.src;
|
|
1016
|
+
if (!srcAttr) {
|
|
992
1017
|
throw new Error("<import> requires src attribute");
|
|
993
1018
|
}
|
|
1019
|
+
const src = substituteAttribute(session, srcAttr);
|
|
994
1020
|
const currentDir = session.currentFile ? dirname2(session.currentFile) : process.cwd();
|
|
995
1021
|
const importPath = resolveImportPath(src, currentDir);
|
|
996
1022
|
if (session.debug) {
|
|
@@ -1236,7 +1262,7 @@ async function getBestTagMatch(candidate, allowed) {
|
|
|
1236
1262
|
return { tag: allowed[bestIdx], score: bestScore };
|
|
1237
1263
|
}
|
|
1238
1264
|
async function executeTagCheck(session, element) {
|
|
1239
|
-
const { getAvailableSubroutines } = await import("./session-
|
|
1265
|
+
const { getAvailableSubroutines } = await import("./session-UBATJEND.js");
|
|
1240
1266
|
const subroutines = getAvailableSubroutines(session);
|
|
1241
1267
|
const allowed = new Set(subroutines.map((s) => s.name));
|
|
1242
1268
|
console.error("[tag-check] Allowed subroutines:", Array.from(allowed));
|
|
@@ -1329,7 +1355,7 @@ async function executeTagCheck(session, element) {
|
|
|
1329
1355
|
const executeTag = correctedTag || tagName;
|
|
1330
1356
|
console.error(`[tag-check] Executing <${executeTag}/> as all checks passed and execute=true.`);
|
|
1331
1357
|
const elementToExecute = correctedTag ? { ...child, tag: correctedTag } : child;
|
|
1332
|
-
const { integrate: integrate2 } = await import("./interpreter-
|
|
1358
|
+
const { integrate: integrate2 } = await import("./interpreter-F65BCAYX.js");
|
|
1333
1359
|
await integrate2(session, elementToExecute);
|
|
1334
1360
|
}
|
|
1335
1361
|
}
|
|
@@ -1338,7 +1364,7 @@ async function executeTagCheck(session, element) {
|
|
|
1338
1364
|
// src/tags/throw.ts
|
|
1339
1365
|
async function executeThrow(session, element) {
|
|
1340
1366
|
const exceptionName = element.attributes?.name || "exception";
|
|
1341
|
-
const { integrateChildren: integrateChildren2 } = await import("./interpreter-
|
|
1367
|
+
const { integrateChildren: integrateChildren2 } = await import("./interpreter-F65BCAYX.js");
|
|
1342
1368
|
const exceptionDom = {
|
|
1343
1369
|
tag: "exception-content",
|
|
1344
1370
|
attributes: { name: exceptionName },
|
|
@@ -1351,7 +1377,7 @@ async function executeThrow(session, element) {
|
|
|
1351
1377
|
// src/tags/try.ts
|
|
1352
1378
|
async function executeTry(session, element) {
|
|
1353
1379
|
setExceptionBoundary(session);
|
|
1354
|
-
const { integrateChildren: integrateChildren2 } = await import("./interpreter-
|
|
1380
|
+
const { integrateChildren: integrateChildren2 } = await import("./interpreter-F65BCAYX.js");
|
|
1355
1381
|
await integrateChildren2(session, element);
|
|
1356
1382
|
unsetExceptionBoundary(session);
|
|
1357
1383
|
}
|
|
@@ -1361,7 +1387,7 @@ async function executeCatch(session, element) {
|
|
|
1361
1387
|
const exceptionName = element.attributes?.name || "exception";
|
|
1362
1388
|
const caughtCount = lookupException(session, exceptionName);
|
|
1363
1389
|
if (caughtCount > 0) {
|
|
1364
|
-
const { integrateChildren: integrateChildren2 } = await import("./interpreter-
|
|
1390
|
+
const { integrateChildren: integrateChildren2 } = await import("./interpreter-F65BCAYX.js");
|
|
1365
1391
|
await integrateChildren2(session, element);
|
|
1366
1392
|
}
|
|
1367
1393
|
flushCurrentException(session);
|
|
@@ -1370,7 +1396,7 @@ async function executeCatch(session, element) {
|
|
|
1370
1396
|
// src/tags/exception.ts
|
|
1371
1397
|
async function executeException(session, element) {
|
|
1372
1398
|
const exceptions = getCurrentExceptions(session);
|
|
1373
|
-
const { integrateChildren: integrateChildren2 } = await import("./interpreter-
|
|
1399
|
+
const { integrateChildren: integrateChildren2 } = await import("./interpreter-F65BCAYX.js");
|
|
1374
1400
|
for (const exceptionDom of exceptions) {
|
|
1375
1401
|
await integrateChildren2(session, exceptionDom);
|
|
1376
1402
|
}
|
|
@@ -1510,7 +1536,7 @@ async function executeForeach(session, element) {
|
|
|
1510
1536
|
const parser2 = new DiracParser2();
|
|
1511
1537
|
try {
|
|
1512
1538
|
const fromElement = parser2.parse(fromAttr);
|
|
1513
|
-
const { integrate: integrate2 } = await import("./interpreter-
|
|
1539
|
+
const { integrate: integrate2 } = await import("./interpreter-F65BCAYX.js");
|
|
1514
1540
|
await integrate2(session, fromElement);
|
|
1515
1541
|
} catch (e) {
|
|
1516
1542
|
session.output = savedOutput;
|
package/dist/cli.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
execute
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-4LLFMVOW.js";
|
|
5
|
+
import "./chunk-HPGONBNW.js";
|
|
6
6
|
import "./chunk-HRHAMPOB.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-4QLTSCDG.js";
|
|
8
|
+
import "./chunk-GLXVY235.js";
|
|
9
9
|
|
|
10
10
|
// src/cli.ts
|
|
11
11
|
import "dotenv/config";
|
|
@@ -13,7 +13,7 @@ import "dotenv/config";
|
|
|
13
13
|
// package.json
|
|
14
14
|
var package_default = {
|
|
15
15
|
name: "dirac-lang",
|
|
16
|
-
version: "0.1.
|
|
16
|
+
version: "0.1.33",
|
|
17
17
|
description: "LLM-Augmented Declarative Execution",
|
|
18
18
|
type: "module",
|
|
19
19
|
main: "dist/index.js",
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -2,19 +2,19 @@ import {
|
|
|
2
2
|
createLLMAdapter,
|
|
3
3
|
execute,
|
|
4
4
|
executeUserCommand
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-4LLFMVOW.js";
|
|
6
6
|
import {
|
|
7
7
|
integrate
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HPGONBNW.js";
|
|
9
9
|
import {
|
|
10
10
|
DiracParser
|
|
11
11
|
} from "./chunk-HRHAMPOB.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-4QLTSCDG.js";
|
|
13
13
|
import {
|
|
14
14
|
createSession,
|
|
15
15
|
getAvailableSubroutines,
|
|
16
16
|
getOutput
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-GLXVY235.js";
|
|
18
18
|
export {
|
|
19
19
|
DiracParser,
|
|
20
20
|
createLLMAdapter,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
integrate,
|
|
3
3
|
integrateChildren
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-HPGONBNW.js";
|
|
5
5
|
import "./chunk-HRHAMPOB.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-4QLTSCDG.js";
|
|
7
|
+
import "./chunk-GLXVY235.js";
|
|
8
8
|
export {
|
|
9
9
|
integrate,
|
|
10
10
|
integrateChildren
|
|
@@ -49,7 +49,7 @@ async function getBestTagMatch(candidate, allowed) {
|
|
|
49
49
|
}
|
|
50
50
|
async function validateTag(session, element, options = {}) {
|
|
51
51
|
const { autocorrect = false, similarityCutoff = SIMILARITY_CUTOFF } = options;
|
|
52
|
-
const { getAvailableSubroutines } = await import("./session-
|
|
52
|
+
const { getAvailableSubroutines } = await import("./session-UBATJEND.js");
|
|
53
53
|
const subroutines = getAvailableSubroutines(session);
|
|
54
54
|
const allowed = new Set(subroutines.map((s) => s.name));
|
|
55
55
|
const tagName = element.tag;
|
package/dist/test-runner.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
integrate
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HPGONBNW.js";
|
|
4
4
|
import {
|
|
5
5
|
DiracParser
|
|
6
6
|
} from "./chunk-HRHAMPOB.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-4QLTSCDG.js";
|
|
8
8
|
import {
|
|
9
9
|
createSession,
|
|
10
10
|
getOutput
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-GLXVY235.js";
|
|
12
12
|
|
|
13
13
|
// src/test-runner.ts
|
|
14
14
|
import fs from "fs";
|