@lokascript/compilation-service 2.9.4 → 2.11.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.
- package/CHANGELOG.md +21 -1
- package/dist/{chunk-MWUZGAKM.js → chunk-KWRIGXXK.js} +128 -2
- package/dist/chunk-KWRIGXXK.js.map +1 -0
- package/dist/{chunk-QPGHANJY.js → chunk-O3HB5MER.js} +2 -2
- package/dist/{core-parser-adapter-VCJB52SO-GRFPPAPG.js → core-parser-adapter-VCJB52SO-QPFN5AJA.js} +2 -2
- package/dist/{dist-VGR6QDPB.js → dist-6PFOOXNF.js} +653 -170
- package/dist/dist-6PFOOXNF.js.map +1 -0
- package/dist/{dist-FWHBOI2B.js → dist-XER75XZI.js} +3 -3
- package/dist/http.cjs +777 -173
- package/dist/http.cjs.map +1 -1
- package/dist/http.d.cts +2 -1
- package/dist/http.d.ts +2 -1
- package/dist/http.js +1 -1
- package/dist/index.cjs +779 -173
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/{service-ZMZn7WPv.d.cts → service-IyB2DZOm.d.cts} +48 -1
- package/dist/{service-ZMZn7WPv.d.ts → service-IyB2DZOm.d.ts} +48 -1
- package/package.json +6 -6
- package/dist/chunk-MWUZGAKM.js.map +0 -1
- package/dist/dist-VGR6QDPB.js.map +0 -1
- /package/dist/{chunk-QPGHANJY.js.map → chunk-O3HB5MER.js.map} +0 -0
- /package/dist/{core-parser-adapter-VCJB52SO-GRFPPAPG.js.map → core-parser-adapter-VCJB52SO-QPFN5AJA.js.map} +0 -0
- /package/dist/{dist-FWHBOI2B.js.map → dist-XER75XZI.js.map} +0 -0
package/dist/index.cjs
CHANGED
|
@@ -2334,6 +2334,37 @@ function parseTakeCommand(ctx, identifierNode) {
|
|
|
2334
2334
|
}
|
|
2335
2335
|
return CommandNodeBuilder.fromIdentifier(identifierNode).withArgs(...args).withModifiers(modifiers).endingAt(ctx.getPosition()).build();
|
|
2336
2336
|
}
|
|
2337
|
+
function consumeViewTransitionTail(ctx, args) {
|
|
2338
|
+
if (!ctx.check("using")) {
|
|
2339
|
+
return false;
|
|
2340
|
+
}
|
|
2341
|
+
ctx.advance();
|
|
2342
|
+
if (!ctx.match("view")) {
|
|
2343
|
+
throw new Error("expected 'view transition' after 'using'");
|
|
2344
|
+
}
|
|
2345
|
+
if (!ctx.match("transition")) {
|
|
2346
|
+
throw new Error("expected 'transition' after 'using view'");
|
|
2347
|
+
}
|
|
2348
|
+
args.push(ctx.createIdentifier("using"));
|
|
2349
|
+
args.push(ctx.createIdentifier("view"));
|
|
2350
|
+
args.push(ctx.createIdentifier("transition"));
|
|
2351
|
+
return true;
|
|
2352
|
+
}
|
|
2353
|
+
function parseProcessCommand(ctx, identifierNode) {
|
|
2354
|
+
if (!ctx.check("partials")) {
|
|
2355
|
+
return null;
|
|
2356
|
+
}
|
|
2357
|
+
const args = [];
|
|
2358
|
+
consumeKeywordToArgs(ctx, "partials", args);
|
|
2359
|
+
if (consumeKeywordToArgs(ctx, KEYWORDS$1.IN, args)) {
|
|
2360
|
+
const contentArg = parseOneArgument(ctx, ["using"]);
|
|
2361
|
+
if (contentArg) {
|
|
2362
|
+
args.push(contentArg);
|
|
2363
|
+
}
|
|
2364
|
+
}
|
|
2365
|
+
consumeViewTransitionTail(ctx, args);
|
|
2366
|
+
return CommandNodeBuilder.fromIdentifier(identifierNode).withArgs(...args).endingAt(ctx.getPosition()).build();
|
|
2367
|
+
}
|
|
2337
2368
|
function parseAddCommand(ctx, commandToken) {
|
|
2338
2369
|
const args = [];
|
|
2339
2370
|
if (ctx.match("{")) {
|
|
@@ -2432,6 +2463,7 @@ function parseSwapCommand(ctx, identifierNode) {
|
|
|
2432
2463
|
args.push(contentExpr);
|
|
2433
2464
|
}
|
|
2434
2465
|
}
|
|
2466
|
+
consumeViewTransitionTail(ctx, args);
|
|
2435
2467
|
return CommandNodeBuilder.fromIdentifier(identifierNode).withArgs(...args).endingAt(ctx.getPosition()).build();
|
|
2436
2468
|
}
|
|
2437
2469
|
function parseWaitCommand(ctx, commandToken) {
|
|
@@ -2875,6 +2907,8 @@ function parseCompoundCommand(ctx, identifierNode) {
|
|
|
2875
2907
|
case "swap":
|
|
2876
2908
|
case "morph":
|
|
2877
2909
|
return parseSwapCommand(ctx, identifierNode);
|
|
2910
|
+
case "process":
|
|
2911
|
+
return parseProcessCommand(ctx, identifierNode) ?? parseRegularCommand(ctx, identifierNode);
|
|
2878
2912
|
default:
|
|
2879
2913
|
return parseRegularCommand(ctx, identifierNode);
|
|
2880
2914
|
}
|
|
@@ -3186,6 +3220,9 @@ function parseTellCommand(ctx, identifierNode) {
|
|
|
3186
3220
|
if (!target) {
|
|
3187
3221
|
throw new Error("tell command requires a target expression");
|
|
3188
3222
|
}
|
|
3223
|
+
if (ctx.check(KEYWORDS$1.TO)) {
|
|
3224
|
+
ctx.advance();
|
|
3225
|
+
}
|
|
3189
3226
|
const commands = [];
|
|
3190
3227
|
while (!ctx.isAtEnd()) {
|
|
3191
3228
|
if (ctx.checkIsCommand()) {
|
|
@@ -3203,7 +3240,11 @@ function parseTellCommand(ctx, identifierNode) {
|
|
|
3203
3240
|
if (ctx.match(KEYWORDS$1.AND) || ctx.match(KEYWORDS$1.THEN)) {
|
|
3204
3241
|
continue;
|
|
3205
3242
|
}
|
|
3206
|
-
if (ctx.check(KEYWORDS$1.ELSE)
|
|
3243
|
+
if (ctx.check(KEYWORDS$1.ELSE)) {
|
|
3244
|
+
break;
|
|
3245
|
+
}
|
|
3246
|
+
if (ctx.check(KEYWORDS$1.END)) {
|
|
3247
|
+
ctx.advance();
|
|
3207
3248
|
break;
|
|
3208
3249
|
}
|
|
3209
3250
|
if (ctx.checkIsCommand()) {
|
|
@@ -3417,6 +3458,12 @@ function createChildContext(parent, element) {
|
|
|
3417
3458
|
function isHTMLElement$2(value) {
|
|
3418
3459
|
return value !== null && typeof value === "object" && "nodeType" in value && value.nodeType === 1 && "tagName" in value && typeof value.tagName === "string" && "classList" in value;
|
|
3419
3460
|
}
|
|
3461
|
+
function isInsertableNode(value) {
|
|
3462
|
+
if (value === null || typeof value !== "object")
|
|
3463
|
+
return false;
|
|
3464
|
+
const nodeType = value.nodeType;
|
|
3465
|
+
return nodeType === 1 || nodeType === 3 || nodeType === 11;
|
|
3466
|
+
}
|
|
3420
3467
|
function isNodeList(value) {
|
|
3421
3468
|
return value !== null && typeof value === "object" && "length" in value && typeof value.length === "number" && (Symbol.iterator in value || typeof value.item === "function");
|
|
3422
3469
|
}
|
|
@@ -4286,6 +4333,11 @@ function evaluateLiteral(node) {
|
|
|
4286
4333
|
}
|
|
4287
4334
|
async function evaluateIdentifier(node, context) {
|
|
4288
4335
|
const name = node.name;
|
|
4336
|
+
if (name.startsWith("$")) {
|
|
4337
|
+
notifyGlobalRead(name.slice(1), context);
|
|
4338
|
+
} else if (node.scope === "global") {
|
|
4339
|
+
notifyGlobalRead(name, context);
|
|
4340
|
+
}
|
|
4289
4341
|
if (name === "me" || name === "my" || name === "I") {
|
|
4290
4342
|
return getExpr(context, "me").evaluate(context);
|
|
4291
4343
|
}
|
|
@@ -4305,7 +4357,6 @@ async function evaluateIdentifier(node, context) {
|
|
|
4305
4357
|
return getExpr(context, "document").evaluate(context);
|
|
4306
4358
|
}
|
|
4307
4359
|
if (node.scope === "global" && context.globals?.has(name)) {
|
|
4308
|
-
notifyGlobalRead(name, context);
|
|
4309
4360
|
return context.globals.get(name);
|
|
4310
4361
|
}
|
|
4311
4362
|
if (node.scope === "element") {
|
|
@@ -4316,12 +4367,9 @@ async function evaluateIdentifier(node, context) {
|
|
|
4316
4367
|
return context.locals.get(name);
|
|
4317
4368
|
}
|
|
4318
4369
|
if (context.globals && context.globals.has(name)) {
|
|
4319
|
-
if (name.startsWith("$"))
|
|
4320
|
-
notifyGlobalRead(name.slice(1), context);
|
|
4321
4370
|
return context.globals.get(name);
|
|
4322
4371
|
}
|
|
4323
4372
|
if (name.startsWith("$") && context.globals && context.globals.has(name.slice(1))) {
|
|
4324
|
-
notifyGlobalRead(name.slice(1), context);
|
|
4325
4373
|
return context.globals.get(name.slice(1));
|
|
4326
4374
|
}
|
|
4327
4375
|
if (context[name] !== void 0) {
|
|
@@ -6028,7 +6076,7 @@ function command(config2) {
|
|
|
6028
6076
|
};
|
|
6029
6077
|
}
|
|
6030
6078
|
function commandMeta(metadata) {
|
|
6031
|
-
return {
|
|
6079
|
+
return { ...metadata };
|
|
6032
6080
|
}
|
|
6033
6081
|
function createFactory(CommandClass) {
|
|
6034
6082
|
return () => new CommandClass();
|
|
@@ -6580,7 +6628,7 @@ function insertContent(target, content, position) {
|
|
|
6580
6628
|
insertReplace(target, content);
|
|
6581
6629
|
return;
|
|
6582
6630
|
}
|
|
6583
|
-
if (
|
|
6631
|
+
if (isInsertableNode(content)) {
|
|
6584
6632
|
insertElement(target, content, position);
|
|
6585
6633
|
} else {
|
|
6586
6634
|
insertText(target, content, position);
|
|
@@ -6590,7 +6638,7 @@ function insertContentSemantic(target, content, position) {
|
|
|
6590
6638
|
insertContent(target, content, toInsertPosition(position));
|
|
6591
6639
|
}
|
|
6592
6640
|
function insertReplace(target, content) {
|
|
6593
|
-
if (
|
|
6641
|
+
if (isInsertableNode(content)) {
|
|
6594
6642
|
target.innerHTML = "";
|
|
6595
6643
|
target.appendChild(content);
|
|
6596
6644
|
} else {
|
|
@@ -6634,6 +6682,52 @@ function insertText(target, content, position) {
|
|
|
6634
6682
|
target.insertAdjacentText(domPosition, content);
|
|
6635
6683
|
}
|
|
6636
6684
|
}
|
|
6685
|
+
function moveOrInsert(parent, element, ref) {
|
|
6686
|
+
const p = parent;
|
|
6687
|
+
if (typeof p.moveBefore === "function" && element.isConnected && parent.isConnected) {
|
|
6688
|
+
try {
|
|
6689
|
+
p.moveBefore(element, ref);
|
|
6690
|
+
return;
|
|
6691
|
+
} catch {
|
|
6692
|
+
}
|
|
6693
|
+
}
|
|
6694
|
+
parent.insertBefore(element, ref);
|
|
6695
|
+
}
|
|
6696
|
+
function insertElementsInOrder(target, elements, position) {
|
|
6697
|
+
switch (position) {
|
|
6698
|
+
case "beforeend":
|
|
6699
|
+
for (const el of elements)
|
|
6700
|
+
moveOrInsert(target, el, null);
|
|
6701
|
+
break;
|
|
6702
|
+
case "afterbegin":
|
|
6703
|
+
for (let i = elements.length - 1; i >= 0; i--) {
|
|
6704
|
+
moveOrInsert(target, elements[i], target.firstChild);
|
|
6705
|
+
}
|
|
6706
|
+
break;
|
|
6707
|
+
case "beforebegin": {
|
|
6708
|
+
const parent = target.parentElement;
|
|
6709
|
+
if (!parent)
|
|
6710
|
+
return;
|
|
6711
|
+
for (const el of elements)
|
|
6712
|
+
moveOrInsert(parent, el, target);
|
|
6713
|
+
break;
|
|
6714
|
+
}
|
|
6715
|
+
case "afterend": {
|
|
6716
|
+
const parent = target.parentElement;
|
|
6717
|
+
if (!parent)
|
|
6718
|
+
return;
|
|
6719
|
+
for (let i = elements.length - 1; i >= 0; i--) {
|
|
6720
|
+
moveOrInsert(parent, elements[i], target.nextSibling);
|
|
6721
|
+
}
|
|
6722
|
+
break;
|
|
6723
|
+
}
|
|
6724
|
+
case "replace":
|
|
6725
|
+
target.innerHTML = "";
|
|
6726
|
+
for (const el of elements)
|
|
6727
|
+
moveOrInsert(target, el, null);
|
|
6728
|
+
break;
|
|
6729
|
+
}
|
|
6730
|
+
}
|
|
6637
6731
|
function removeElement(element) {
|
|
6638
6732
|
if (element.parentNode) {
|
|
6639
6733
|
element.remove();
|
|
@@ -7379,7 +7473,8 @@ function toMorphlexOptions(options) {
|
|
|
7379
7473
|
function getStartViewTransition() {
|
|
7380
7474
|
if (typeof document === "undefined")
|
|
7381
7475
|
return void 0;
|
|
7382
|
-
|
|
7476
|
+
const fn = document.startViewTransition;
|
|
7477
|
+
return typeof fn === "function" ? fn.bind(document) : void 0;
|
|
7383
7478
|
}
|
|
7384
7479
|
function isViewTransitionsSupported() {
|
|
7385
7480
|
return typeof getStartViewTransition() === "function";
|
|
@@ -13236,6 +13331,43 @@ function getPatternsForLanguage(code) {
|
|
|
13236
13331
|
function getPatternsForLanguageAndCommand(language, command2) {
|
|
13237
13332
|
return getPatternsForLanguage(language).filter((p) => p.command === command2).sort((a, b) => b.priority - a.priority);
|
|
13238
13333
|
}
|
|
13334
|
+
function resolveMarkerForRole(roleSpec, profile) {
|
|
13335
|
+
const overrideMarker = roleSpec.markerOverride?.[profile.code];
|
|
13336
|
+
const defaultMarker = profile.roleMarkers[roleSpec.role];
|
|
13337
|
+
if (overrideMarker !== void 0) {
|
|
13338
|
+
const alternatives = legacyMarkerAlternatives(roleSpec, profile.code, overrideMarker);
|
|
13339
|
+
return {
|
|
13340
|
+
primary: overrideMarker,
|
|
13341
|
+
...alternatives && { alternatives },
|
|
13342
|
+
position: defaultMarker?.position ?? "before",
|
|
13343
|
+
isOverride: true
|
|
13344
|
+
};
|
|
13345
|
+
}
|
|
13346
|
+
if (defaultMarker && defaultMarker.primary) {
|
|
13347
|
+
const result = {
|
|
13348
|
+
primary: defaultMarker.primary,
|
|
13349
|
+
position: defaultMarker.position,
|
|
13350
|
+
isOverride: false
|
|
13351
|
+
};
|
|
13352
|
+
if (defaultMarker.alternatives) {
|
|
13353
|
+
result.alternatives = defaultMarker.alternatives;
|
|
13354
|
+
}
|
|
13355
|
+
return result;
|
|
13356
|
+
}
|
|
13357
|
+
return null;
|
|
13358
|
+
}
|
|
13359
|
+
function legacyMarkerAlternatives(roleSpec, languageCode, overrideMarker) {
|
|
13360
|
+
const legacy = roleSpec.markerLegacy?.[languageCode];
|
|
13361
|
+
if (!legacy?.length) return void 0;
|
|
13362
|
+
const alternatives = [...new Set(legacy)].filter((a) => a && a !== overrideMarker);
|
|
13363
|
+
return alternatives.length ? alternatives : void 0;
|
|
13364
|
+
}
|
|
13365
|
+
function schemaMarkerAlternatives(roleSpec, languageCode, marker) {
|
|
13366
|
+
const legacy = roleSpec.markerLegacy?.[languageCode] ?? [];
|
|
13367
|
+
const variants = roleSpec.methodCarrier ? [] : roleSpec.markerVariants?.[languageCode] ?? [];
|
|
13368
|
+
const alternatives = [.../* @__PURE__ */ new Set([...legacy, ...variants])].filter((a) => a && a !== marker);
|
|
13369
|
+
return alternatives.length ? alternatives : void 0;
|
|
13370
|
+
}
|
|
13239
13371
|
function getPutPatternsBn() {
|
|
13240
13372
|
return [
|
|
13241
13373
|
// SOV verb-final positional put: `{patient} <posWord> {destination} \u0995\u09c7 \u09b0\u09be\u0996\u09c1\u09a8`
|
|
@@ -16819,43 +16951,6 @@ function sortRolesByWordOrder(roles, wordOrder) {
|
|
|
16819
16951
|
return aPos - bPos;
|
|
16820
16952
|
});
|
|
16821
16953
|
}
|
|
16822
|
-
function resolveMarkerForRole(roleSpec, profile) {
|
|
16823
|
-
const overrideMarker = roleSpec.markerOverride?.[profile.code];
|
|
16824
|
-
const defaultMarker = profile.roleMarkers[roleSpec.role];
|
|
16825
|
-
if (overrideMarker !== void 0) {
|
|
16826
|
-
const alternatives = legacyMarkerAlternatives(roleSpec, profile.code, overrideMarker);
|
|
16827
|
-
return {
|
|
16828
|
-
primary: overrideMarker,
|
|
16829
|
-
...alternatives && { alternatives },
|
|
16830
|
-
position: defaultMarker?.position ?? "before",
|
|
16831
|
-
isOverride: true
|
|
16832
|
-
};
|
|
16833
|
-
}
|
|
16834
|
-
if (defaultMarker && defaultMarker.primary) {
|
|
16835
|
-
const result = {
|
|
16836
|
-
primary: defaultMarker.primary,
|
|
16837
|
-
position: defaultMarker.position,
|
|
16838
|
-
isOverride: false
|
|
16839
|
-
};
|
|
16840
|
-
if (defaultMarker.alternatives) {
|
|
16841
|
-
result.alternatives = defaultMarker.alternatives;
|
|
16842
|
-
}
|
|
16843
|
-
return result;
|
|
16844
|
-
}
|
|
16845
|
-
return null;
|
|
16846
|
-
}
|
|
16847
|
-
function legacyMarkerAlternatives(roleSpec, languageCode, overrideMarker) {
|
|
16848
|
-
const legacy = roleSpec.markerLegacy?.[languageCode];
|
|
16849
|
-
if (!legacy?.length) return void 0;
|
|
16850
|
-
const alternatives = [...new Set(legacy)].filter((a) => a && a !== overrideMarker);
|
|
16851
|
-
return alternatives.length ? alternatives : void 0;
|
|
16852
|
-
}
|
|
16853
|
-
function schemaMarkerAlternatives(roleSpec, languageCode, marker) {
|
|
16854
|
-
const legacy = roleSpec.markerLegacy?.[languageCode] ?? [];
|
|
16855
|
-
const variants = roleSpec.methodCarrier ? [] : roleSpec.markerVariants?.[languageCode] ?? [];
|
|
16856
|
-
const alternatives = [.../* @__PURE__ */ new Set([...legacy, ...variants])].filter((a) => a && a !== marker);
|
|
16857
|
-
return alternatives.length ? alternatives : void 0;
|
|
16858
|
-
}
|
|
16859
16954
|
function resolveRoleMarker(roleSpec, profile) {
|
|
16860
16955
|
let marker;
|
|
16861
16956
|
let alternatives;
|
|
@@ -16888,6 +16983,44 @@ function appendOptionalScope(tokens, extraction, commandSchema) {
|
|
|
16888
16983
|
});
|
|
16889
16984
|
extraction.scope = { fromRole: "scope" };
|
|
16890
16985
|
}
|
|
16986
|
+
function appendOptionalViewTransition(tokens, extraction, commandSchema, languageCode) {
|
|
16987
|
+
appendOptionalTailRole(tokens, extraction, commandSchema, languageCode, "manner", {
|
|
16988
|
+
requireMarker: true
|
|
16989
|
+
});
|
|
16990
|
+
}
|
|
16991
|
+
function appendOptionalRecipient(tokens, extraction, commandSchema, languageCode) {
|
|
16992
|
+
appendOptionalTailRole(tokens, extraction, commandSchema, languageCode, "recipient", {
|
|
16993
|
+
requireMarker: false
|
|
16994
|
+
});
|
|
16995
|
+
}
|
|
16996
|
+
function appendOptionalTailRole(tokens, extraction, commandSchema, languageCode, role, opts) {
|
|
16997
|
+
const spec = commandSchema.roles.find((r) => r.role === role && !r.required);
|
|
16998
|
+
if (!spec) return;
|
|
16999
|
+
const marker = spec.markerOverride?.[languageCode];
|
|
17000
|
+
if (opts.requireMarker && !marker) return;
|
|
17001
|
+
tokens.push({
|
|
17002
|
+
type: "group",
|
|
17003
|
+
optional: true,
|
|
17004
|
+
tokens: [
|
|
17005
|
+
...(marker ? marker.split(/\s+/) : []).map((word) => ({
|
|
17006
|
+
type: "literal",
|
|
17007
|
+
value: word
|
|
17008
|
+
})),
|
|
17009
|
+
{
|
|
17010
|
+
type: "role",
|
|
17011
|
+
role,
|
|
17012
|
+
optional: true,
|
|
17013
|
+
expectedTypes: spec.expectedTypes,
|
|
17014
|
+
// Load-bearing, same as on the generated command patterns: it exempts
|
|
17015
|
+
// the trailing slot from the matcher's verb guard, keeps the uncaptured
|
|
17016
|
+
// slot out of `scoreRoleCoverage`'s denominator, and (for `keyword`)
|
|
17017
|
+
// normalizes the captured value type to the EN reference's `literal`.
|
|
17018
|
+
...spec.valueShape !== void 0 ? { valueShape: spec.valueShape } : {}
|
|
17019
|
+
}
|
|
17020
|
+
]
|
|
17021
|
+
});
|
|
17022
|
+
extraction[role] = { fromRole: role };
|
|
17023
|
+
}
|
|
16891
17024
|
function generateSOVEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config2) {
|
|
16892
17025
|
const tokens = [];
|
|
16893
17026
|
tokens.push({ type: "role", role: "event", optional: false });
|
|
@@ -16982,6 +17115,15 @@ function generateSOVPatientFirstEventHandlerPattern(commandSchema, profile, keyw
|
|
|
16982
17115
|
tokens.push(
|
|
16983
17116
|
...swapsOperands ? eventHandlerPatientGroup(commandSchema, trailingMarker) : eventHandlerDestinationGroup(commandSchema, trailingMarker)
|
|
16984
17117
|
);
|
|
17118
|
+
const extraction = {
|
|
17119
|
+
action: { value: commandSchema.action },
|
|
17120
|
+
event: { fromRole: "event" },
|
|
17121
|
+
[frontedRole]: { fromRole: frontedRole },
|
|
17122
|
+
...swapsOperands ? {} : eventHandlerDestinationExtraction(commandSchema),
|
|
17123
|
+
...eventHandlerSourceExtraction(commandSchema)
|
|
17124
|
+
};
|
|
17125
|
+
appendOptionalRecipient(tokens, extraction, commandSchema, profile.code);
|
|
17126
|
+
appendOptionalViewTransition(tokens, extraction, commandSchema, profile.code);
|
|
16985
17127
|
return {
|
|
16986
17128
|
id: `${commandSchema.action}-event-${profile.code}-sov-patient-first`,
|
|
16987
17129
|
language: profile.code,
|
|
@@ -16991,13 +17133,71 @@ function generateSOVPatientFirstEventHandlerPattern(commandSchema, profile, keyw
|
|
|
16991
17133
|
format: `{patient} ${patientMarker?.primary || ""} {event} ${eventMarker.primary} ${keyword.primary}`,
|
|
16992
17134
|
tokens
|
|
16993
17135
|
},
|
|
16994
|
-
extraction
|
|
16995
|
-
|
|
16996
|
-
|
|
16997
|
-
|
|
16998
|
-
|
|
16999
|
-
|
|
17136
|
+
extraction
|
|
17137
|
+
};
|
|
17138
|
+
}
|
|
17139
|
+
function generateSOVPatientFirstSourceFrontedEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config2) {
|
|
17140
|
+
const sourceSpec = commandSchema.roles.find((r) => r.role === "source");
|
|
17141
|
+
if (!sourceSpec) return null;
|
|
17142
|
+
const { marker: sourceMarker, alternatives: sourceAlts } = resolveRoleMarker(sourceSpec, profile);
|
|
17143
|
+
const patientMarker = profile.roleMarkers.patient;
|
|
17144
|
+
if (!sourceMarker) return null;
|
|
17145
|
+
if (sourceMarker === eventMarker.primary || sourceMarker === patientMarker?.primary) return null;
|
|
17146
|
+
const tokens = [];
|
|
17147
|
+
tokens.push({ type: "role", role: "patient", optional: false });
|
|
17148
|
+
if (patientMarker) {
|
|
17149
|
+
tokens.push(
|
|
17150
|
+
patientMarker.alternatives ? {
|
|
17151
|
+
type: "literal",
|
|
17152
|
+
value: patientMarker.primary,
|
|
17153
|
+
alternatives: patientMarker.alternatives
|
|
17154
|
+
} : { type: "literal", value: patientMarker.primary }
|
|
17155
|
+
);
|
|
17156
|
+
}
|
|
17157
|
+
tokens.push({
|
|
17158
|
+
type: "role",
|
|
17159
|
+
role: "source",
|
|
17160
|
+
optional: false,
|
|
17161
|
+
...sourceSpec.expectedTypes ? { expectedTypes: sourceSpec.expectedTypes } : {},
|
|
17162
|
+
...sourceSpec.valueShape !== void 0 ? { valueShape: sourceSpec.valueShape } : {}
|
|
17163
|
+
});
|
|
17164
|
+
for (const word of sourceMarker.split(/\s+/)) {
|
|
17165
|
+
tokens.push(
|
|
17166
|
+
sourceAlts && sourceMarker.split(/\s+/).length === 1 ? { type: "literal", value: word, alternatives: sourceAlts } : { type: "literal", value: word }
|
|
17167
|
+
);
|
|
17168
|
+
}
|
|
17169
|
+
tokens.push({ type: "role", role: "event", optional: false });
|
|
17170
|
+
if (eventMarker.position === "after") {
|
|
17171
|
+
const markerWords = eventMarker.primary.split(/\s+/);
|
|
17172
|
+
if (markerWords.length > 1) {
|
|
17173
|
+
for (const word of markerWords) tokens.push({ type: "literal", value: word });
|
|
17174
|
+
} else {
|
|
17175
|
+
tokens.push(
|
|
17176
|
+
eventMarker.alternatives ? { type: "literal", value: eventMarker.primary, alternatives: eventMarker.alternatives } : { type: "literal", value: eventMarker.primary }
|
|
17177
|
+
);
|
|
17000
17178
|
}
|
|
17179
|
+
}
|
|
17180
|
+
tokens.push(
|
|
17181
|
+
keyword.alternatives ? { type: "literal", value: keyword.primary, alternatives: keyword.alternatives } : { type: "literal", value: keyword.primary }
|
|
17182
|
+
);
|
|
17183
|
+
const extraction = {
|
|
17184
|
+
action: { value: commandSchema.action },
|
|
17185
|
+
event: { fromRole: "event" },
|
|
17186
|
+
patient: { fromRole: "patient" },
|
|
17187
|
+
source: { fromRole: "source" }
|
|
17188
|
+
};
|
|
17189
|
+
appendOptionalRecipient(tokens, extraction, commandSchema, profile.code);
|
|
17190
|
+
appendOptionalViewTransition(tokens, extraction, commandSchema, profile.code);
|
|
17191
|
+
return {
|
|
17192
|
+
id: `${commandSchema.action}-event-${profile.code}-sov-source-fronted`,
|
|
17193
|
+
language: profile.code,
|
|
17194
|
+
command: "on",
|
|
17195
|
+
priority: (config2.basePriority ?? 100) + 48,
|
|
17196
|
+
template: {
|
|
17197
|
+
format: `{patient} ${patientMarker?.primary || ""} {source} ${sourceMarker} {event} ${eventMarker.primary} ${keyword.primary}`,
|
|
17198
|
+
tokens
|
|
17199
|
+
},
|
|
17200
|
+
extraction
|
|
17001
17201
|
};
|
|
17002
17202
|
}
|
|
17003
17203
|
function generateSOVPatientFirstWithDestEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config2) {
|
|
@@ -17431,6 +17631,16 @@ function generateVSOVerbFirstEventHandlerPattern(commandSchema, profile, keyword
|
|
|
17431
17631
|
});
|
|
17432
17632
|
}
|
|
17433
17633
|
}
|
|
17634
|
+
const extraction = {
|
|
17635
|
+
action: { value: commandSchema.action },
|
|
17636
|
+
event: { fromRole: "event" },
|
|
17637
|
+
[swapsOperands ? "destination" : "patient"]: {
|
|
17638
|
+
fromRole: swapsOperands ? "destination" : "patient"
|
|
17639
|
+
},
|
|
17640
|
+
...swapsOperands ? {} : eventHandlerDestinationExtraction(commandSchema),
|
|
17641
|
+
...eventHandlerSourceExtraction(commandSchema)
|
|
17642
|
+
};
|
|
17643
|
+
appendOptionalViewTransition(tokens, extraction, commandSchema, profile.code);
|
|
17434
17644
|
return {
|
|
17435
17645
|
id: `${commandSchema.action}-event-${profile.code}-vso-verb-first`,
|
|
17436
17646
|
language: profile.code,
|
|
@@ -17441,15 +17651,7 @@ function generateVSOVerbFirstEventHandlerPattern(commandSchema, profile, keyword
|
|
|
17441
17651
|
format: `${keyword.primary} {patient} ${destMarker?.primary || ""} {destination?} ${eventMarker.primary} {event}`,
|
|
17442
17652
|
tokens
|
|
17443
17653
|
},
|
|
17444
|
-
extraction
|
|
17445
|
-
action: { value: commandSchema.action },
|
|
17446
|
-
event: { fromRole: "event" },
|
|
17447
|
-
[swapsOperands ? "destination" : "patient"]: {
|
|
17448
|
-
fromRole: swapsOperands ? "destination" : "patient"
|
|
17449
|
-
},
|
|
17450
|
-
...swapsOperands ? {} : eventHandlerDestinationExtraction(commandSchema),
|
|
17451
|
-
...eventHandlerSourceExtraction(commandSchema)
|
|
17452
|
-
}
|
|
17654
|
+
extraction
|
|
17453
17655
|
};
|
|
17454
17656
|
}
|
|
17455
17657
|
function generateVSOVerbFirstTwoRoleEventHandlerPattern(commandSchema, profile, keyword, eventMarker, config2) {
|
|
@@ -17883,6 +18085,14 @@ function generateEventHandlerPatterns(commandSchema, profile, config2 = defaultC
|
|
|
17883
18085
|
config2
|
|
17884
18086
|
)
|
|
17885
18087
|
);
|
|
18088
|
+
const sourceFronted = generateSOVPatientFirstSourceFrontedEventHandlerPattern(
|
|
18089
|
+
commandSchema,
|
|
18090
|
+
profile,
|
|
18091
|
+
keyword,
|
|
18092
|
+
eventMarker,
|
|
18093
|
+
config2
|
|
18094
|
+
);
|
|
18095
|
+
if (sourceFronted) patterns.push(sourceFronted);
|
|
17886
18096
|
const destMarkerCheck = profile.roleMarkers.destination;
|
|
17887
18097
|
if (destMarkerCheck && destMarkerCheck.primary !== eventMarker.primary) {
|
|
17888
18098
|
patterns.push(
|
|
@@ -18042,7 +18252,11 @@ function buildRoleToken(roleSpec, profile) {
|
|
|
18042
18252
|
type: "role",
|
|
18043
18253
|
role: roleSpec.role,
|
|
18044
18254
|
optional: !roleSpec.required,
|
|
18045
|
-
expectedTypes: roleSpec.expectedTypes
|
|
18255
|
+
expectedTypes: roleSpec.expectedTypes,
|
|
18256
|
+
// The matcher reads this too \u2014 a `'keyword'`-shaped slot holds a fixed
|
|
18257
|
+
// keyword phrase (`using view transition`) and must not be skipped by the
|
|
18258
|
+
// trailing-slot verb guard.
|
|
18259
|
+
...roleSpec.valueShape !== void 0 ? { valueShape: roleSpec.valueShape } : {}
|
|
18046
18260
|
};
|
|
18047
18261
|
const prefixLiteral = roleSpec.valuePrefixLiteral?.[profile.code];
|
|
18048
18262
|
const pushPrefixed = () => {
|
|
@@ -21082,7 +21296,7 @@ function fillSchemaDefaults(node) {
|
|
|
21082
21296
|
const roles = node.roles;
|
|
21083
21297
|
for (const spec of schema.roles) {
|
|
21084
21298
|
if (spec.default !== void 0 && !roles.has(spec.role)) {
|
|
21085
|
-
roles.set(spec.role, { ...spec.default });
|
|
21299
|
+
roles.set(spec.role, { ...spec.default, implicit: true });
|
|
21086
21300
|
}
|
|
21087
21301
|
}
|
|
21088
21302
|
}
|
|
@@ -24632,7 +24846,7 @@ function getGetPatternsBn() {
|
|
|
24632
24846
|
tokens: [
|
|
24633
24847
|
{ type: "role", role: "source" },
|
|
24634
24848
|
{ type: "literal", value: "\u09A5\u09C7\u0995\u09C7" },
|
|
24635
|
-
{ type: "literal", value: "\u09AA\u09BE\u09A8"
|
|
24849
|
+
{ type: "literal", value: "\u09AA\u09BE\u09A8" }
|
|
24636
24850
|
]
|
|
24637
24851
|
},
|
|
24638
24852
|
extraction: {
|
|
@@ -24648,7 +24862,7 @@ function getGetPatternsBn() {
|
|
|
24648
24862
|
template: {
|
|
24649
24863
|
format: "\u09AA\u09BE\u09A8 {source}",
|
|
24650
24864
|
tokens: [
|
|
24651
|
-
{ type: "literal", value: "\u09AA\u09BE\u09A8"
|
|
24865
|
+
{ type: "literal", value: "\u09AA\u09BE\u09A8" },
|
|
24652
24866
|
{ type: "role", role: "source" }
|
|
24653
24867
|
]
|
|
24654
24868
|
},
|
|
@@ -24732,7 +24946,7 @@ function getGetPatternsIt() {
|
|
|
24732
24946
|
template: {
|
|
24733
24947
|
format: "ottenere {patient} da {source}",
|
|
24734
24948
|
tokens: [
|
|
24735
|
-
{ type: "literal", value: "ottenere", alternatives: ["ottieni", "get"
|
|
24949
|
+
{ type: "literal", value: "ottenere", alternatives: ["ottieni", "get"] },
|
|
24736
24950
|
{ type: "role", role: "patient" },
|
|
24737
24951
|
{
|
|
24738
24952
|
type: "group",
|
|
@@ -24822,7 +25036,7 @@ function getGetPatternsRu() {
|
|
|
24822
25036
|
template: {
|
|
24823
25037
|
format: "\u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C {patient} \u0438\u0437 {source}",
|
|
24824
25038
|
tokens: [
|
|
24825
|
-
{ type: "literal", value: "\u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C", alternatives: ["\u043F\u043E\u043B\u0443\u0447\u0438"
|
|
25039
|
+
{ type: "literal", value: "\u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C", alternatives: ["\u043F\u043E\u043B\u0443\u0447\u0438"] },
|
|
24826
25040
|
{ type: "role", role: "patient" },
|
|
24827
25041
|
{
|
|
24828
25042
|
type: "group",
|
|
@@ -24847,7 +25061,7 @@ function getGetPatternsRu() {
|
|
|
24847
25061
|
template: {
|
|
24848
25062
|
format: "\u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C {patient}",
|
|
24849
25063
|
tokens: [
|
|
24850
|
-
{ type: "literal", value: "\u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C", alternatives: ["\u043F\u043E\u043B\u0443\u0447\u0438"
|
|
25064
|
+
{ type: "literal", value: "\u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C", alternatives: ["\u043F\u043E\u043B\u0443\u0447\u0438"] },
|
|
24851
25065
|
{ type: "role", role: "patient" }
|
|
24852
25066
|
]
|
|
24853
25067
|
},
|
|
@@ -24888,7 +25102,7 @@ function getGetPatternsUk() {
|
|
|
24888
25102
|
template: {
|
|
24889
25103
|
format: "\u043E\u0442\u0440\u0438\u043C\u0430\u0442\u0438 {patient} \u0437 {source}",
|
|
24890
25104
|
tokens: [
|
|
24891
|
-
{ type: "literal", value: "\u043E\u0442\u0440\u0438\u043C\u0430\u0442\u0438", alternatives: ["\u043E\u0442\u0440\u0438\u043C\u0430\u0439"
|
|
25105
|
+
{ type: "literal", value: "\u043E\u0442\u0440\u0438\u043C\u0430\u0442\u0438", alternatives: ["\u043E\u0442\u0440\u0438\u043C\u0430\u0439"] },
|
|
24892
25106
|
{ type: "role", role: "patient" },
|
|
24893
25107
|
{
|
|
24894
25108
|
type: "group",
|
|
@@ -24913,7 +25127,7 @@ function getGetPatternsUk() {
|
|
|
24913
25127
|
template: {
|
|
24914
25128
|
format: "\u043E\u0442\u0440\u0438\u043C\u0430\u0442\u0438 {patient}",
|
|
24915
25129
|
tokens: [
|
|
24916
|
-
{ type: "literal", value: "\u043E\u0442\u0440\u0438\u043C\u0430\u0442\u0438", alternatives: ["\u043E\u0442\u0440\u0438\u043C\u0430\u0439"
|
|
25130
|
+
{ type: "literal", value: "\u043E\u0442\u0440\u0438\u043C\u0430\u0442\u0438", alternatives: ["\u043E\u0442\u0440\u0438\u043C\u0430\u0439"] },
|
|
24917
25131
|
{ type: "role", role: "patient" }
|
|
24918
25132
|
]
|
|
24919
25133
|
},
|
|
@@ -24933,7 +25147,7 @@ function getGetPatternsVi() {
|
|
|
24933
25147
|
template: {
|
|
24934
25148
|
format: "l\u1EA5y gi\xE1 tr\u1ECB c\u1EE7a {target}",
|
|
24935
25149
|
tokens: [
|
|
24936
|
-
{ type: "literal", value: "l\u1EA5y gi\xE1 tr\u1ECB", alternatives: ["nh\u1EADn"
|
|
25150
|
+
{ type: "literal", value: "l\u1EA5y gi\xE1 tr\u1ECB", alternatives: ["nh\u1EADn"] },
|
|
24937
25151
|
{ type: "group", optional: true, tokens: [{ type: "literal", value: "c\u1EE7a" }] },
|
|
24938
25152
|
{ type: "role", role: "patient" }
|
|
24939
25153
|
]
|
|
@@ -24944,13 +25158,17 @@ function getGetPatternsVi() {
|
|
|
24944
25158
|
},
|
|
24945
25159
|
{
|
|
24946
25160
|
id: "get-vi-simple",
|
|
25161
|
+
// Head was `l\u1ea5y` (alt `l\u1ea5y gi\u00e1 tr\u1ecb`) \u2014 but bare `l\u1ea5y` is vi's TAKE verb,
|
|
25162
|
+
// so this pattern claimed every `l\u1ea5y .active t\u1eeb \u2026`. vi's get verb is the
|
|
25163
|
+
// three-word `l\u1ea5y gi\u00e1 tr\u1ecb` ("take the value of"), which is what the i18n
|
|
25164
|
+
// transformer renders; the bare form has no valid `get` surface.
|
|
24947
25165
|
language: "vi",
|
|
24948
25166
|
command: "get",
|
|
24949
25167
|
priority: 90,
|
|
24950
25168
|
template: {
|
|
24951
|
-
format: "l\u1EA5y {target}",
|
|
25169
|
+
format: "l\u1EA5y gi\xE1 tr\u1ECB {target}",
|
|
24952
25170
|
tokens: [
|
|
24953
|
-
{ type: "literal", value: "l\u1EA5y", alternatives: ["nh\u1EADn"
|
|
25171
|
+
{ type: "literal", value: "l\u1EA5y gi\xE1 tr\u1ECB", alternatives: ["nh\u1EADn"] },
|
|
24954
25172
|
{ type: "role", role: "patient" }
|
|
24955
25173
|
]
|
|
24956
25174
|
},
|
|
@@ -26726,7 +26944,7 @@ function makePickVariantPattern(language, spec) {
|
|
|
26726
26944
|
tokens
|
|
26727
26945
|
},
|
|
26728
26946
|
extraction: {
|
|
26729
|
-
method: { position: 1 },
|
|
26947
|
+
method: { position: 1, transform: retypePickUnitWord },
|
|
26730
26948
|
patient: { position: 2 },
|
|
26731
26949
|
source: {
|
|
26732
26950
|
marker: spec.srcMarker,
|
|
@@ -26758,7 +26976,7 @@ function makePickVerbFinalPattern(language, spec) {
|
|
|
26758
26976
|
},
|
|
26759
26977
|
extraction: {
|
|
26760
26978
|
source: { position: 0 },
|
|
26761
|
-
method: { position: 2 },
|
|
26979
|
+
method: { position: 2, transform: retypePickUnitWord },
|
|
26762
26980
|
patient: { position: 3 }
|
|
26763
26981
|
}
|
|
26764
26982
|
};
|
|
@@ -28268,7 +28486,7 @@ function createRuntimeInstance(options) {
|
|
|
28268
28486
|
return new Runtime(options);
|
|
28269
28487
|
}
|
|
28270
28488
|
function getVersion() {
|
|
28271
|
-
return
|
|
28489
|
+
return VERSION$1;
|
|
28272
28490
|
}
|
|
28273
28491
|
function toCompileError(error) {
|
|
28274
28492
|
return {
|
|
@@ -29384,7 +29602,7 @@ async function semanticNodeToRuntimeAST(node) {
|
|
|
29384
29602
|
const fw = await getFramework();
|
|
29385
29603
|
return fw.semanticNodeToRuntimeAST(node);
|
|
29386
29604
|
}
|
|
29387
|
-
var COMMAND_NAMES, COMMAND_MANIFEST, KEYWORDS$1, COMMAND_TERMINATORS, COMMANDS, COMPOUND_COMMANDS, CONTROL_FLOW_COMMANDS, PUT_OPERATIONS, PUT_OPERATION_KEYWORDS, HYPERSCRIPT_KEYWORDS, CommandClassification, CSS_FUNCTIONS, CONTEXT_VARS$1, LOGICAL_OPERATORS$1, COMPARISON_OPERATORS, DOM_EVENTS, TOKENIZER_KEYWORDS, TokenKind, MATHEMATICAL_OPERATORS, TIME_UNITS$1, isDebugEnabled$1, DEBUG, debug, debugEnabled, debugEventTarget, stats, DEFAULT_CONFIDENCE_THRESHOLD$1, SemanticIntegrationAdapter, STOP_TOKENS, STOP_DELIMITERS, CORE_FRAGMENT, PARSER_COMPARISON_FRAGMENT, ASSIGNMENT_FRAGMENT, PARSER_TABLE, FEATURE_REGISTRY, NODE_EVALUATORS, NODE_WRITERS, GLOBAL_WRITE_HOOKS, GLOBAL_READ_HOOKS, LOCAL_WRITE_HOOKS, LOCAL_READ_HOOKS, ParserExtensionRegistry, SINGLETON, WINDOW_KEY, MULTI_WORD_PATTERNS, DEFAULT_BOUNDARY_KEYWORDS, CommandNodeBuilder, OPERAND_INTRODUCERS, CONTEXT_POSSESSIVES, SWAP_STRATEGY_KEYWORDS, ELEMENT_PRONOUNS, GO_KEYWORDS, URL_HARD_STOPS, STRING_POSTFIX_UNITS, STRING_POSTFIX_BP, Parser, HookRegistry, sharedGlobals, elementScopes, ExpressionTypeRegistry, expressionTypeRegistry, BOOLEAN_ATTRIBUTES, SPECIAL_DOM_PROPERTIES, NUMBER_WORDS, conversionConfig, defaultConversions, TYPE_ALIASES, asExpression, isExpression, asyncExpression, conversionExpressions, UNSAFE_PROPS, possessiveExpression, myExpression, itsExpression$1, yourExpression, ofExpression, attributeExpression, attributeWithValueExpression, classReferenceExpression, idReferenceExpression, propertiesExpressions, NotSyncEvaluable, cachedFullRegistry, RAW_ARG_BUILTINS, CSS_PSEUDO_CLASSES, PSEUDO_CLASS_COLON_RE, BARE_REF_ESCAPE_RE, QUERY_REF_INTERP_RE, CleanupRegistry, EventSourceRegistry, ContextProviderRegistry, canonicalEvaluator, ContextBridge, CommandAdapterV2, CommandRegistryV2, defaultRegistry, RegistryIntegration, eventRecursionDepth, RuntimeBase, meExpression, youExpression, itExpression, itsExpression, resultExpression, querySelectorExpression, querySelectorAllExpression, idExpression, classExpression, closestExpression, parentExpression, windowExpression, documentExpression, elementWithSelectorExpression, styleRefExpression, possessiveStyleRefExpression, ofStyleRefExpression, referencesExpressions, isProduction, skipValidation, addDescribeToValidator, v, z, LRUCache, HyperscriptCache, globalCache, PerformanceTracker, performanceTracker, cleanupInterval, ComparisonInputSchema, PatternMatchingInputSchema, equalsExpression, strictEqualsExpression, notEqualsExpression, strictNotEqualsExpression, lessThanExpression, lessThanOrEqualExpression, greaterThanExpression, greaterThanOrEqualExpression, andExpression, orExpression, notExpression, isEmptyExpression, noExpression, isNotEmptyExpression, existsExpression, doesNotExistExpression, containsExpression, doesNotContainExpression, startsWithExpression, endsWithExpression, betweenExpression, matchesExpression, hasExpression, doesNotHaveExpression, logicalExpressions, BaseExpressionImpl, StringLiteralInputSchema, NumberLiteralInputSchema, BooleanLiteralInputSchema, BinaryOperationInputSchema, StringLiteralExpression, NumberLiteralExpression, BooleanLiteralExpression, AdditionExpression$1, StringConcatenationExpression, MultiplicationExpression$1, specialExpressions, firstExpression, lastExpression, atExpression, nextExpression, previousExpression, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, nextWithinExpression, previousWithinExpression, positionalExpressions, AdditionExpression2, SubtractionExpression, MultiplicationExpression2, DivisionExpression, ModuloExpression, PowerExpression, mathematicalExpressions, index$3, KEYWORD_PREPOSITIONS, VisibilityCommandBase, HideCommand, createHideCommand, ShowCommand, createShowCommand, SMART_ELEMENT_TAGS, DOMModificationBase, AddCommand, createAddCommand, positionMap, RemoveCommand, createRemoveCommand, PATTERN, BOOL_PROPS, ToggleCommand, createToggleCommand, PutCommand, createPutCommand, HTML_ESCAPE, MakeCommand, createMakeCommand, EmptyCommand, createEmptyCommand, OpenCommand, createOpenCommand, CloseCommand, createCloseCommand, SelectCommand, createSelectCommand, ResetCommand, createResetCommand, SUPPORTS_MOVE_BEFORE, ELEMENT_NODE_TYPE, TEXT_NODE_TYPE, IS_PARENT_NODE_TYPE, Operation, candidateNodes, candidateElements, candidateElementsWithIds, unmatchedNodes, unmatchedElements, whitespaceNodes, _idArrayMap, _idSetMap, _options, _Morph_instances, morphOneToMany_fn, morphOneToOne_fn, morphMatchingElements_fn, morphNonMatchingElements_fn, morphOtherNode_fn, visitAttributes_fn, visitTextArea_fn, replaceNode_fn, removeNode_fn, mapIdArraysForEach_fn, mapIdArrays_fn, mapIdSets_fn, Morph, morphAdapter, queue, processing, STRATEGY_KEYWORDS, SwapCommand, MorphCommand, createSwapCommand, createMorphCommand, CRITICAL_LAYOUT_ELEMENTS, STRUCTURAL_SEMANTIC_ELEMENTS, WARNING_ELEMENTS, DEFAULT_VALIDATION_CONFIG, globalConfig, STYLES, SEVERITY_ICONS, SEVERITY_LABELS, STRATEGY_MAP, ProcessPartialsCommand, createProcessPartialsCommand, WaitCommand, createWaitCommand, customResponseTypes, DEFAULT_FETCH_THROWS_ON, fetchThrowsOnPatterns, FetchCommand, createFetchCommand, SetCommand, createSetCommand, GetCommand, createGetCommand, NumericModifyCommand, createIncrementCommand, ClearCommand, createClearCommand, LogCommand, createLogCommand, EventDispatchCommand, createTriggerCommand, GoCommand, createGoCommand, KEYWORDS, HistoryCommand, createPushUrlCommand, ScrollCommand, createScrollCommand, ConditionalCommand, createConditionalCommand, createIfCommand, RepeatCommand, createRepeatCommand, ControlFlowSignalBase, BreakCommand, createBreakCommand, ContinueCommand, createContinueCommand, HaltCommand, createHaltCommand, ReturnCommand, createReturnCommand, ExitCommand, createExitCommand, ThrowCommand, createThrowCommand, CallCommand, createCallCommand, FocusCommand, createFocusCommand, BlurCommand, createBlurCommand, PseudoCommand, ContentInsertionCommand, AppendCommand, createAppendCommand, PrependCommand, createPrependCommand, TransitionCommand, createTransitionCommand, MeasureCommand, createMeasureCommand, SettleCommand, createSettleCommand, StartViewTransitionCommand, createStartViewTransitionCommand, TakeCommand, createTakeCommand, JsCommand, createJsCommand, AsyncCommand, createAsyncCommand, DefaultCommand, createDefaultCommand, TellCommand, createTellCommand, CopyCommand, createCopyCommand, PickCommand, createPickCommand, BeepCommand, createBeepCommand, BreakpointCommand, createBreakpointCommand, InstallCommand, RenderCommand, COMMAND_FACTORIES, Runtime, DEFAULT_REFERENCES, STRUCTURAL_ROLES, CHAIN_KEYWORDS, VERSION_HEADER_RE, VALID_KINDS, VALID_VALUE_TYPES$1, VALID_CHAIN_TYPES, VALID_ASYNC_VARIANTS, VALID_DIAGNOSTIC_LEVELS, DebugLogger, _PatternMatcher$1, PatternMatcher$1, patternMatcher$1, defaultConfig$1, GrammarTransformer, InMemoryDictionary, NullDictionary, InMemoryProfileProvider, NullProfileProvider, StringLiteralExtractor, NumberExtractor, IdentifierExtractor, UnicodeIdentifierExtractor, LatinExtendedIdentifierExtractor, SELECTOR_BODY_CHAR, PARTICLE_SCRIPT_CHAR, CssSelectorExtractor$1, WhitespaceExtractor, VALID_VALUE_TYPES, SCROLL_MARKERS, URL_MARKERS, PARTIALS_IN_MARKERS, DSLRegistry, MultilingualDSLImpl, DomainRegistry, COMMENT_PATTERN, CrossDomainDispatcher, DomainAwareScanner, AOTOrchestrator, TokenStreamImpl, DEFAULT_OPERATORS$1, OperatorExtractor$1, DEFAULT_PUNCTUATION$1, PunctuationExtractor$1, SIMPLE_TOKENIZER_OPERATOR_SET, MARKER_CONCEPT_NORMALIZEDS, ENGLISH_DOM_EVENT_NAMES, _BaseTokenizer, BaseTokenizer, BaseMorphologicalNormalizer, PatternTracker, MultiStatementParserImpl, index$2, __defProp2, __getOwnPropNames2, __esm2, __export2, SchemaErrorCodes, SchemaErrorMessages, SchemaErrorSuggestions, init_schema_error_codes, schema_validator_exports, MULTI_TYPE_PATIENT_COMMANDS, NO_REQUIRED_ROLES_COMMANDS, init_schema_validator, toggleSchema, addSchema, removeSchema, putSchema, setSchema, bindSchema, liveSchema, eventsourceSchema, socketSchema, workerSchema, interceptSchema, showSchema, hideSchema, onSchema, triggerSchema, waitSchema, fetchSchema, incrementSchema, decrementSchema, appendSchema, prependSchema, logSchema, getCommandSchema, takeSchema, makeSchema, haltSchema, settleSchema, throwSchema, sendSchema, ifSchema, unlessSchema, elseSchema, repeatSchema, forSchema, whileSchema, continueSchema, URL_MARKER_ALL_LANGS, goSchema, transitionSchema, cloneSchema, focusSchema, blurSchema, emptySchema, openSchema, closeSchema, selectSchema, clearSchema, resetSchema, breakpointSchema, callSchema, returnSchema, jsSchema, asyncSchema, tellSchema, defaultSchema, initSchema, behaviorSchema, installSchema, measureSchema, swapSchema, morphSchema, beepSchema, breakSchema, copySchema, exitSchema, pickSchema, scrollSchema, PARTIALS_IN_MARKER_ALL_LANGS, pushSchema, replaceSchema, processSchema, renderSchema, commandSchemas, init_command_schemas, tokenizers, profiles, patternCache, patternGenerator, registeredPatterns, init_registry, arabic_exports, arabicProfile, init_arabic, bengali_exports, bengaliProfile, init_bengali, german_exports, germanProfile, init_german, english_exports, englishProfile, init_english, spanish_exports, spanishProfile, init_spanish, french_exports, frenchProfile, init_french, he_exports, hebrewProfile, init_he, hindi_exports, hindiProfile, init_hindi, indonesian_exports, indonesianProfile, init_indonesian, italian_exports, italianProfile, init_italian, japanese_exports, japaneseProfile, init_japanese, korean_exports, koreanProfile, init_korean, ms_exports, malayProfile, init_ms, polish_exports, polishProfile, init_polish, portuguese_exports, portugueseProfile, init_portuguese, quechua_exports, quechuaProfile, init_quechua, russian_exports, russianProfile, init_russian, swahili_exports, swahiliProfile, init_swahili, thai_exports, thaiProfile, init_thai, tl_exports, tagalogProfile, init_tl, turkish_exports, turkishProfile, init_turkish, ukrainian_exports, ukrainianProfile, init_ukrainian, vietnamese_exports, vietnameseProfile, init_vietnamese, chinese_exports, chineseProfile, init_chinese, PUT_POSITIONAL, PUT_AT_END, init_put, init_token_utils, init_char_classifiers, init_base_tokenizer, init_base, DEFAULT_OPERATORS, OperatorExtractor2, DEFAULT_PUNCTUATION, PunctuationExtractor2, init_generic_extractors, CssSelectorExtractor2, init_css_selector, EventModifierExtractor, init_event_modifier, URL_PREFIXES, UrlExtractor, init_url, VariableRefExtractor, init_variable_ref, JapaneseKeywordExtractor, init_japanese_keyword, SINGLE_CHAR_PARTICLES, MULTI_CHAR_PARTICLES, JapaneseParticleExtractor, init_japanese_particle, TEMPORAL_EVENT_SUFFIXES, KoreanKeywordExtractor, init_korean_keyword, SINGLE_CHAR_PARTICLES2, MULTI_CHAR_PARTICLES2, KoreanParticleExtractor, init_korean_particle, ChineseKeywordExtractor, init_chinese_keyword, SINGLE_CHAR_PARTICLES3, MULTI_CHAR_PARTICLES3, ChineseParticleExtractor, init_chinese_particle, isVietnameseLetter, isVietnameseIdentifierChar, PREPOSITIONS, VietnameseKeywordExtractor, init_vietnamese_keyword, isArabic, PREPOSITIONS2, ArabicKeywordExtractor, init_arabic_keyword, isArabic2, PROCLITICS, NON_PROCLITIC_WORDS, ArabicProcliticExtractor, init_arabic_proclitic, isArabic3, TEMPORAL_MARKERS, ArabicTemporalExtractor, init_arabic_temporal, CyrillicKeywordExtractor, RUSSIAN_PREPOSITIONS, UKRAINIAN_PREPOSITIONS, init_cyrillic_keyword, HindiKeywordExtractor, init_hindi_keyword, SINGLE_POSTPOSITIONS, COMPOUND_POSTPOSITIONS, HindiParticleExtractor, init_hindi_particle, BengaliKeywordExtractor, init_bengali_keyword, SINGLE_POSTPOSITIONS2, BengaliParticleExtractor, init_bengali_particle, ThaiKeywordExtractor, init_thai_keyword, MalayKeywordExtractor, init_malay_keyword, PREPOSITIONS3, TagalogKeywordExtractor, init_tagalog_keyword, PREPOSITIONS4, isPolishLetter, isPolishIdentifierChar, PolishKeywordExtractor, init_polish_keyword, PREPOSITIONS5, isIndonesianLetter, isIndonesianIdentifierChar, IndonesianKeywordExtractor, init_indonesian_keyword, PREPOSITIONS6, isSwahiliLetter, isSwahiliIdentifierChar, SwahiliKeywordExtractor, init_swahili_keyword, POSTPOSITIONS, CASE_SUFFIXES, TurkishKeywordExtractor, init_turkish_keyword, SUFFIXES, POSTPOSITIONS2, AGGLUTINATIVE_MARKERS, QuechuaKeywordExtractor, init_quechua_keyword, isHebrew, PREPOSITIONS7, CONJUNCTIONS, HebrewKeywordExtractor, init_hebrew_keyword, isHebrew2, PROCLITIC_PREFIXES, EVENT_MARKER_PREFIXES, EVENT_NAMES, HebrewProcliticExtractor, init_hebrew_proclitic, AsciiIdentifierExtractor, init_ascii_identifier, init_extractors, init_extractor_helpers, EnglishKeywordExtractor, init_english_keyword, english_exports2, ENGLISH_EXTRAS, EnglishTokenizer, englishTokenizer, init_english2, init_types, JAPANESE_SUFFIX_RULES, SURU_PATTERNS, JapaneseMorphologicalNormalizer, init_japanese_normalizer, japanese_exports2, PARTICLES, JAPANESE_EXTRAS, JapaneseTokenizer, japaneseTokenizer, init_japanese2, KOREAN_SUFFIX_RULES, HADA_PATTERNS, KoreanMorphologicalNormalizer, init_korean_normalizer, korean_exports2, PARTICLES2, KOREAN_EXTRAS, KoreanTokenizer, koreanTokenizer, init_korean2, COMBINED_PREFIXES, SINGLE_PREFIXES, VERB_PREFIXES, SUFFIXES2, ArabicMorphologicalNormalizer, init_arabic_normalizer, arabic_exports2, CONJUNCTIONS2, PREPOSITIONS8, ARABIC_EXTRAS, ArabicTokenizer, arabicTokenizer, init_arabic2, AR_ENDINGS, ER_ENDINGS, IR_ENDINGS, ALL_ENDINGS, SpanishMorphologicalNormalizer, init_spanish_normalizer, isSpanishLetter, isSpanishIdentifierChar, PREPOSITIONS9, SpanishKeywordExtractor, init_spanish_keyword, spanish_exports2, PREPOSITIONS10, SPANISH_EXTRAS, SpanishTokenizer, spanishTokenizer, init_spanish2, TURKISH_SUFFIX_RULES, TurkishMorphologicalNormalizer, init_turkish_normalizer, turkish_exports2, POSTPOSITIONS3, CASE_SUFFIXES2, TURKISH_EXTRAS, TurkishTokenizer, turkishTokenizer, init_turkish2, chinese_exports2, PARTICLES3, CHINESE_EXTRAS, ChineseTokenizer, chineseTokenizer, init_chinese2, REFLEXIVE_SUFFIXES, AR_ENDINGS2, ER_ENDINGS2, IR_ENDINGS2, ALL_ENDINGS2, PortugueseMorphologicalNormalizer, init_portuguese_normalizer, isPortugueseLetter, isPortugueseIdentifierChar, PREPOSITIONS11, PortugueseKeywordExtractor, init_portuguese_keyword, portuguese_exports2, PREPOSITIONS12, PORTUGUESE_EXTRAS, PortugueseTokenizer, portugueseTokenizer, init_portuguese2, REFLEXIVE_SUFFIXES2, ER_ENDINGS3, IR_ENDINGS3, RE_ENDINGS, ALL_ENDINGS3, FrenchMorphologicalNormalizer, init_french_normalizer, isFrenchLetter, isFrenchIdentifierChar, PREPOSITIONS13, FrenchKeywordExtractor, init_french_keyword, french_exports2, FRENCH_EXTRAS, FrenchTokenizer, frenchTokenizer, init_french2, SEPARABLE_PREFIXES, VERB_ENDINGS, ELN_ERN_ENDINGS, ALL_ENDINGS4, GermanMorphologicalNormalizer, init_german_normalizer, isGermanLetter, isGermanIdentifierChar, PREPOSITIONS14, GermanKeywordExtractor, init_german_keyword, german_exports2, GERMAN_EXTRAS, GermanTokenizer, germanTokenizer, init_german2, indonesian_exports2, PREPOSITIONS15, INDONESIAN_EXTRAS, IndonesianTokenizer, indonesianTokenizer, init_indonesian2, QUECHUA_SUFFIX_RULES, QuechuaMorphologicalNormalizer, quechuaMorphologicalNormalizer, init_quechua_normalizer, quechua_exports2, QuechuaStringLiteralExtractor, SUFFIXES3, QUECHUA_EXTRAS, QuechuaTokenizer, quechuaTokenizer, init_quechua2, swahili_exports2, PREPOSITIONS16, SWAHILI_EXTRAS, SwahiliTokenizer, swahiliTokenizer, init_swahili2, REFLEXIVE_SUFFIXES3, ARE_ENDINGS, ERE_ENDINGS, IRE_ENDINGS, ALL_ENDINGS5, ItalianMorphologicalNormalizer, init_italian_normalizer, RomanceKeywordExtractor, ITALIAN_PREPOSITIONS, init_romance_language_keyword, italian_exports2, PREPOSITIONS17, ITALIAN_EXTRAS, ItalianTokenizer, italianTokenizer, init_italian2, vietnamese_exports2, VIETNAMESE_EXTRAS, VietnameseTokenizer, vietnameseTokenizer, init_vietnamese2, IMPERATIVE_TO_INFINITIVE, PolishMorphologicalNormalizer, init_polish_normalizer, polish_exports2, PREPOSITIONS18, POLISH_EXTRAS, PolishTokenizer, polishTokenizer, init_polish2, IMPERATIVE_TO_INFINITIVE2, RussianMorphologicalNormalizer, init_russian_normalizer, russian_exports2, PREPOSITIONS19, RUSSIAN_EXTRAS, RussianTokenizer, russianTokenizer, init_russian2, IMPERATIVE_TO_INFINITIVE3, UkrainianMorphologicalNormalizer, init_ukrainian_normalizer, ukrainian_exports2, PREPOSITIONS20, UKRAINIAN_EXTRAS, UkrainianTokenizer, ukrainianTokenizer, init_ukrainian2, he_exports2, PREPOSITIONS21, HEBREW_EXTRAS, HebrewTokenizer, hebrewTokenizer, init_he2, SUFFIX_RULES, HindiMorphologicalNormalizer, init_hindi_normalizer, hindi_exports2, SINGLE_POSTPOSITIONS3, HINDI_EXTRAS, HindiTokenizer, hindiTokenizer, init_hindi2, SUFFIX_RULES2, BengaliMorphologicalNormalizer, bengaliMorphologicalNormalizer, init_bengali_normalizer, bengali_exports2, SINGLE_POSTPOSITIONS4, BENGALI_EXTRAS, BengaliTokenizer, bengaliTokenizer, init_bengali2, thai_exports2, THAI_EXTRAS, ThaiTokenizer, thaiTokenizer, init_thai2, ms_exports2, MALAY_EXTRAS, MalayTokenizer, malayTokenizer, init_ms2, COMBINED_PREFIXES2, SINGLE_PREFIXES2, INFIXES, SUFFIXES4, TagalogMorphologicalNormalizer, tagalogMorphologicalNormalizer, init_tagalog_normalizer, tl_exports2, TAGALOG_EXTRAS, TagalogTokenizer, tagalogTokenizer, init_tl2, eventNameTranslations, eventNameLocalizations, eventLocalizationDenylist, init_event_handler, init_role_positioning, init_marker_resolution, init_event_handlers_sov, init_event_handlers_vso, defaultConfig, init_pattern_generator, fetchWithResponseTypeEnglish, fetchWithOptionsAndResponseTypeEnglish, fetchWithOptionsEnglish, fetchSimpleEnglish, fetchPatternsEn, init_fetch, pickVariantEnglish, pickPatternsEn, init_pick, swapSimpleEnglish, swapElementEnglish, swapStrategyOfEnglish, swapStrategyEnglish, swapPatternsEn, init_swap, init_toggle, VERB_FIRST_REPEAT_TIMES, SOV_REPEAT_TIMES, FOR_IN_HEADS, WHILE_HEADS, VERB_FIRST_UNTIL_HEADS, repeatUntilHeadQuMidClause, SOV_UNTIL_HEADS, repeatUntilHeadQu, SOV_FOR_BINDING_HEADS, BY_LANG, addPattern, init_repeat, init_wait, en_exports, repeatUntilEventFromEnglish, repeatUntilEventEnglish, repeatTimesEnglish, repeatForeverEnglish, setPossessiveEnglish, forEnglish, ifEnglish, unlessEnglish, temporalInEnglish, temporalAfterEnglish, init_en, DEFAULT_CONFIDENCE_THRESHOLD, HIGH_CONFIDENCE_THRESHOLD, CONTEXT_VARS, LOGICAL_OPERATORS, BOOLEAN_LITERALS, COMPARISON_KEYWORDS, POSITIONAL_KEYWORDS, TIME_UNITS, POSSESSIVE_CONTEXT_TYPES, POSTFIX_STOP_WORDS, POSITIONAL_CALL_KEYWORDS, ExpressionParser, waitMapper, putMapper, goMapper, RANGE_METHODS, COUNT_METHODS, REGEX_METHODS, pickMapper, mappers, ASTBuilder, KNOWN_PROFILES, PROPERTY_NAME_LEXICON, CONNECTIVE_LEXICON, OF_POSSESSIVE_MARKERS, ROLE_CONCEPT_TO_ENGLISH_LOCATIVE, LOCATIVE_SURFACES, ENGLISH_LOCATIVE_SENSES, POSITIONAL_KEYWORDS2, POSITIONAL_HEAD_DUALS, COMMAND_ACTION_KEYWORDS, AMBIGUOUS_SENSES, SENSE_PREDICATE_NORMALIZED, CONVERSION_TYPE_NAMES, CURATED_END_KEYWORDS, MAX_FOLD_TOKENS, KEY_RE, FUSED_PAIR_RE, OPTIONAL_ROLE_WEIGHT, DEFAULT_PARTIAL_CREDIT, MAX_STEM_PENALTY, STEM_PENALTY_FLOOR, VSO_VERB_BOOST, MAX_PREPOSITION_ADJUSTMENT, ARABIC_VERBS, PREFERRED_PREPOSITIONS, DefaultConfidenceModel, defaultConfidenceModel, BAREKEYWORD_BLOCK_ACTIONS, _PatternMatcher2, PatternMatcher, patternMatcher, OPENER_ACTIONS, PASCAL_CASE_NAME, OPENER_NORMS, TARGET_REFERENCES, ROLE_CONCEPTS, TRIGGER_SIGNATURE_LANGS, DEF_NAME, FEATURE_ACTIONS, OPAQUE_BODY_FEATURES, NAMED_FEATURES, HANDLER_BODY_FEATURES, DEF_BODY_FEATURES, SOV_KEYWORD_SEARCH_LIMIT, INTERCEPT_SOV_KEYWORD_LIMIT, MODIFIER_KEYWORDS, ONCE_SEQUENCES, DURATION_RE, EXCLUDED_FIRST_KINDS, BLOCK_HEADER_ACTIONS, BLOCK_NEEDS_TRAILING_END, SemanticRendererImpl, semanticRenderer, hyperscriptSchemaLookup, BLOCK_BODY_ACTIONS, NON_VALUE_KEYWORDS, POSITIONAL_VALUE_KEYWORDS, WAITABLE_EVENT_WORDS, SemanticParseError, MAX_UNCONSUMED_SPAN_CHARS, COVERAGE_RESIDUE_NORMALIZED, NORMALIZE_CHILD_FIELDS, _SemanticParserImpl, SemanticParserImpl, semanticParser, SemanticCache2, semanticCache, LANGUAGE_IMPORTERS, SUPPORTED_LANGUAGES, VERB_INITIAL_SPECS, VERB_FINAL_SPECS, repeatUntilEventFromEnglish2, repeatUntilEventEnglish2, repeatPatternsEn, setPossessiveEnglish2, setPatternsEn, forEnglish2, ifEnglish2, unlessEnglish2, controlFlowPatternsEn, temporalInEnglish2, temporalAfterEnglish2, temporalPatternsEn, allEnglishOnlyPatterns, PATTERN_LOADERS, _generatedPatternsPerLanguage, handcraftedLanguages, patternCache2, _allPatterns, schemaRegistry, DEFAULT_CONFIG, HIGH_FREQUENCY_TRIGGERS, THROTTLE_RECOMMENDED_TRIGGERS, _devModeEnabled, _devModeConfig, VERSION, index$1, HistorySwapBehavior, BoostedBehavior, DEFAULT_EVENT_TYPE, DEFAULT_LANGUAGE$1, compileSyncFn, compileAsyncFn, getRuntimeFn, configRef, RingBuffer, HISTORY_CAPACITY, DebugController, DEFAULT_LANGUAGE, ASTCache, astCache, semanticAnalyzerInstance, bridgeInstance, config, _defaultRuntime, _debugController, hyperscript, lokascript, OP_TABLE, Lexer, Tokens, MAX_HISTORY_SIZE$5, DefInputSchema, TypedDefFeatureImplementation, enhancedDefImplementation, MAX_HISTORY_SIZE$4, EnhancedOnInputSchema, TypedOnFeatureImplementation, enhancedOnImplementation, MAX_HISTORY_SIZE$3, BehaviorsInputSchema, TypedBehaviorsFeatureImplementation, enhancedBehaviorsImplementation, MAX_HISTORY_SIZE$2, SocketsInputSchema, TypedSocketsFeatureImplementation, enhancedSocketsImplementation, MAX_HISTORY_SIZE$1, WebWorkerInputSchema, TypedWebWorkerFeatureImplementation, enhancedWebWorkerImplementation, MAX_HISTORY_SIZE, EventSourceInputSchema, TypedEventSourceFeatureImplementation, enhancedEventSourceImplementation, INTERCHANGE_ADAPTER, POS, DiagnosticSeverity, SymbolKind, CompletionItemKind, _semanticModule, SemanticGrammarBridge, bridge, _fw, index;
|
|
29605
|
+
var COMMAND_NAMES, COMMAND_MANIFEST, KEYWORDS$1, COMMAND_TERMINATORS, COMMANDS, COMPOUND_COMMANDS, CONTROL_FLOW_COMMANDS, PUT_OPERATIONS, PUT_OPERATION_KEYWORDS, HYPERSCRIPT_KEYWORDS, CommandClassification, CSS_FUNCTIONS, CONTEXT_VARS$1, LOGICAL_OPERATORS$1, COMPARISON_OPERATORS, DOM_EVENTS, TOKENIZER_KEYWORDS, TokenKind, MATHEMATICAL_OPERATORS, TIME_UNITS$1, isDebugEnabled$1, DEBUG, debug, debugEnabled, debugEventTarget, stats, DEFAULT_CONFIDENCE_THRESHOLD$1, SemanticIntegrationAdapter, STOP_TOKENS, STOP_DELIMITERS, CORE_FRAGMENT, PARSER_COMPARISON_FRAGMENT, ASSIGNMENT_FRAGMENT, PARSER_TABLE, FEATURE_REGISTRY, NODE_EVALUATORS, NODE_WRITERS, GLOBAL_WRITE_HOOKS, GLOBAL_READ_HOOKS, LOCAL_WRITE_HOOKS, LOCAL_READ_HOOKS, ParserExtensionRegistry, SINGLETON, WINDOW_KEY, MULTI_WORD_PATTERNS, DEFAULT_BOUNDARY_KEYWORDS, CommandNodeBuilder, OPERAND_INTRODUCERS, CONTEXT_POSSESSIVES, SWAP_STRATEGY_KEYWORDS, ELEMENT_PRONOUNS, GO_KEYWORDS, URL_HARD_STOPS, STRING_POSTFIX_UNITS, STRING_POSTFIX_BP, Parser, HookRegistry, sharedGlobals, elementScopes, ExpressionTypeRegistry, expressionTypeRegistry, BOOLEAN_ATTRIBUTES, SPECIAL_DOM_PROPERTIES, NUMBER_WORDS, conversionConfig, defaultConversions, TYPE_ALIASES, asExpression, isExpression, asyncExpression, conversionExpressions, UNSAFE_PROPS, possessiveExpression, myExpression, itsExpression$1, yourExpression, ofExpression, attributeExpression, attributeWithValueExpression, classReferenceExpression, idReferenceExpression, propertiesExpressions, NotSyncEvaluable, cachedFullRegistry, RAW_ARG_BUILTINS, CSS_PSEUDO_CLASSES, PSEUDO_CLASS_COLON_RE, BARE_REF_ESCAPE_RE, QUERY_REF_INTERP_RE, CleanupRegistry, EventSourceRegistry, ContextProviderRegistry, canonicalEvaluator, ContextBridge, CommandAdapterV2, CommandRegistryV2, defaultRegistry, RegistryIntegration, eventRecursionDepth, RuntimeBase, meExpression, youExpression, itExpression, itsExpression, resultExpression, querySelectorExpression, querySelectorAllExpression, idExpression, classExpression, closestExpression, parentExpression, windowExpression, documentExpression, elementWithSelectorExpression, styleRefExpression, possessiveStyleRefExpression, ofStyleRefExpression, referencesExpressions, isProduction, skipValidation, addDescribeToValidator, v, z, LRUCache, HyperscriptCache, globalCache, PerformanceTracker, performanceTracker, cleanupInterval, ComparisonInputSchema, PatternMatchingInputSchema, equalsExpression, strictEqualsExpression, notEqualsExpression, strictNotEqualsExpression, lessThanExpression, lessThanOrEqualExpression, greaterThanExpression, greaterThanOrEqualExpression, andExpression, orExpression, notExpression, isEmptyExpression, noExpression, isNotEmptyExpression, existsExpression, doesNotExistExpression, containsExpression, doesNotContainExpression, startsWithExpression, endsWithExpression, betweenExpression, matchesExpression, hasExpression, doesNotHaveExpression, logicalExpressions, BaseExpressionImpl, StringLiteralInputSchema, NumberLiteralInputSchema, BooleanLiteralInputSchema, BinaryOperationInputSchema, StringLiteralExpression, NumberLiteralExpression, BooleanLiteralExpression, AdditionExpression$1, StringConcatenationExpression, MultiplicationExpression$1, specialExpressions, firstExpression, lastExpression, atExpression, nextExpression, previousExpression, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, nextWithinExpression, previousWithinExpression, positionalExpressions, AdditionExpression2, SubtractionExpression, MultiplicationExpression2, DivisionExpression, ModuloExpression, PowerExpression, mathematicalExpressions, index$3, KEYWORD_PREPOSITIONS, VisibilityCommandBase, HideCommand, createHideCommand, ShowCommand, createShowCommand, SMART_ELEMENT_TAGS, DOMModificationBase, AddCommand, createAddCommand, positionMap, RemoveCommand, createRemoveCommand, PATTERN, BOOL_PROPS, ToggleCommand, createToggleCommand, PutCommand, createPutCommand, HTML_ESCAPE, MakeCommand, createMakeCommand, EmptyCommand, createEmptyCommand, OpenCommand, createOpenCommand, CloseCommand, createCloseCommand, SelectCommand, createSelectCommand, ResetCommand, createResetCommand, SUPPORTS_MOVE_BEFORE, ELEMENT_NODE_TYPE, TEXT_NODE_TYPE, IS_PARENT_NODE_TYPE, Operation, candidateNodes, candidateElements, candidateElementsWithIds, unmatchedNodes, unmatchedElements, whitespaceNodes, _idArrayMap, _idSetMap, _options, _Morph_instances, morphOneToMany_fn, morphOneToOne_fn, morphMatchingElements_fn, morphNonMatchingElements_fn, morphOtherNode_fn, visitAttributes_fn, visitTextArea_fn, replaceNode_fn, removeNode_fn, mapIdArraysForEach_fn, mapIdArrays_fn, mapIdSets_fn, Morph, morphAdapter, queue, processing, STRATEGY_KEYWORDS, SwapCommand, MorphCommand, createSwapCommand, createMorphCommand, CRITICAL_LAYOUT_ELEMENTS, STRUCTURAL_SEMANTIC_ELEMENTS, WARNING_ELEMENTS, DEFAULT_VALIDATION_CONFIG, globalConfig, STYLES, SEVERITY_ICONS, SEVERITY_LABELS, STRATEGY_MAP, ProcessPartialsCommand, createProcessPartialsCommand, WaitCommand, createWaitCommand, customResponseTypes, DEFAULT_FETCH_THROWS_ON, fetchThrowsOnPatterns, FetchCommand, createFetchCommand, SetCommand, createSetCommand, GetCommand, createGetCommand, NumericModifyCommand, createIncrementCommand, ClearCommand, createClearCommand, LogCommand, createLogCommand, EventDispatchCommand, createTriggerCommand, GoCommand, createGoCommand, KEYWORDS, HistoryCommand, createPushUrlCommand, ScrollCommand, createScrollCommand, ConditionalCommand, createConditionalCommand, createIfCommand, RepeatCommand, createRepeatCommand, ControlFlowSignalBase, BreakCommand, createBreakCommand, ContinueCommand, createContinueCommand, HaltCommand, createHaltCommand, ReturnCommand, createReturnCommand, ExitCommand, createExitCommand, ThrowCommand, createThrowCommand, CallCommand, createCallCommand, FocusCommand, createFocusCommand, BlurCommand, createBlurCommand, PseudoCommand, ContentInsertionCommand, AppendCommand, createAppendCommand, PrependCommand, createPrependCommand, TransitionCommand, createTransitionCommand, MeasureCommand, createMeasureCommand, SettleCommand, createSettleCommand, StartViewTransitionCommand, createStartViewTransitionCommand, TakeCommand, createTakeCommand, JsCommand, createJsCommand, AsyncCommand, createAsyncCommand, DefaultCommand, createDefaultCommand, TellCommand, createTellCommand, CopyCommand, createCopyCommand, PickCommand, createPickCommand, BeepCommand, createBeepCommand, BreakpointCommand, createBreakpointCommand, InstallCommand, RenderCommand, COMMAND_FACTORIES, Runtime, VERSION$1, DEFAULT_REFERENCES, STRUCTURAL_ROLES, CHAIN_KEYWORDS, VERSION_HEADER_RE, VALID_KINDS, VALID_VALUE_TYPES$1, VALID_CHAIN_TYPES, VALID_ASYNC_VARIANTS, VALID_DIAGNOSTIC_LEVELS, DebugLogger, _PatternMatcher$1, PatternMatcher$1, patternMatcher$1, defaultConfig$1, GrammarTransformer, InMemoryDictionary, NullDictionary, InMemoryProfileProvider, NullProfileProvider, StringLiteralExtractor, NumberExtractor, IdentifierExtractor, UnicodeIdentifierExtractor, LatinExtendedIdentifierExtractor, SELECTOR_BODY_CHAR, PARTICLE_SCRIPT_CHAR, CssSelectorExtractor$1, WhitespaceExtractor, VALID_VALUE_TYPES, SCROLL_MARKERS, URL_MARKERS, PARTIALS_IN_MARKERS, DSLRegistry, MultilingualDSLImpl, DomainRegistry, COMMENT_PATTERN, CrossDomainDispatcher, DomainAwareScanner, AOTOrchestrator, TokenStreamImpl, DEFAULT_OPERATORS$1, OperatorExtractor$1, DEFAULT_PUNCTUATION$1, PunctuationExtractor$1, SIMPLE_TOKENIZER_OPERATOR_SET, MARKER_CONCEPT_NORMALIZEDS, ENGLISH_DOM_EVENT_NAMES, _BaseTokenizer, BaseTokenizer, BaseMorphologicalNormalizer, PatternTracker, MultiStatementParserImpl, index$2, __defProp2, __getOwnPropNames2, __esm2, __export2, SchemaErrorCodes, SchemaErrorMessages, SchemaErrorSuggestions, init_schema_error_codes, schema_validator_exports, MULTI_TYPE_PATIENT_COMMANDS, NO_REQUIRED_ROLES_COMMANDS, init_schema_validator, toggleSchema, addSchema, removeSchema, putSchema, setSchema, bindSchema, liveSchema, eventsourceSchema, socketSchema, workerSchema, interceptSchema, showSchema, hideSchema, onSchema, triggerSchema, waitSchema, fetchSchema, incrementSchema, decrementSchema, appendSchema, prependSchema, logSchema, getCommandSchema, takeSchema, makeSchema, haltSchema, settleSchema, throwSchema, sendSchema, ifSchema, unlessSchema, elseSchema, repeatSchema, forSchema, whileSchema, continueSchema, URL_MARKER_ALL_LANGS, goSchema, transitionSchema, cloneSchema, focusSchema, blurSchema, emptySchema, openSchema, closeSchema, selectSchema, clearSchema, resetSchema, breakpointSchema, callSchema, returnSchema, jsSchema, asyncSchema, tellSchema, defaultSchema, initSchema, behaviorSchema, installSchema, measureSchema, USING_VIEW_MARKER_ALL_LANGS, VIEW_TRANSITION_MANNER_ROLE, swapSchema, morphSchema, beepSchema, breakSchema, copySchema, exitSchema, pickSchema, scrollSchema, PARTIALS_IN_MARKER_ALL_LANGS, pushSchema, replaceSchema, processSchema, renderSchema, commandSchemas, init_command_schemas, tokenizers, profiles, patternCache, patternGenerator, registeredPatterns, init_registry, arabic_exports, arabicProfile, init_arabic, bengali_exports, bengaliProfile, init_bengali, german_exports, germanProfile, init_german, english_exports, englishProfile, init_english, spanish_exports, spanishProfile, init_spanish, french_exports, frenchProfile, init_french, he_exports, hebrewProfile, init_he, hindi_exports, hindiProfile, init_hindi, indonesian_exports, indonesianProfile, init_indonesian, italian_exports, italianProfile, init_italian, japanese_exports, japaneseProfile, init_japanese, korean_exports, koreanProfile, init_korean, ms_exports, malayProfile, init_ms, polish_exports, polishProfile, init_polish, portuguese_exports, portugueseProfile, init_portuguese, quechua_exports, quechuaProfile, init_quechua, russian_exports, russianProfile, init_russian, swahili_exports, swahiliProfile, init_swahili, thai_exports, thaiProfile, init_thai, tl_exports, tagalogProfile, init_tl, turkish_exports, turkishProfile, init_turkish, ukrainian_exports, ukrainianProfile, init_ukrainian, vietnamese_exports, vietnameseProfile, init_vietnamese, chinese_exports, chineseProfile, init_chinese, ROLE_MARKER_CONCEPTS, init_marker_resolution, PUT_POSITIONAL, PUT_AT_END, init_put, init_token_utils, init_char_classifiers, init_base_tokenizer, init_base, DEFAULT_OPERATORS, OperatorExtractor2, DEFAULT_PUNCTUATION, PunctuationExtractor2, init_generic_extractors, CssSelectorExtractor2, init_css_selector, EventModifierExtractor, init_event_modifier, URL_PREFIXES, UrlExtractor, init_url, VariableRefExtractor, init_variable_ref, JapaneseKeywordExtractor, init_japanese_keyword, SINGLE_CHAR_PARTICLES, MULTI_CHAR_PARTICLES, JapaneseParticleExtractor, init_japanese_particle, TEMPORAL_EVENT_SUFFIXES, KoreanKeywordExtractor, init_korean_keyword, SINGLE_CHAR_PARTICLES2, MULTI_CHAR_PARTICLES2, KoreanParticleExtractor, init_korean_particle, ChineseKeywordExtractor, init_chinese_keyword, SINGLE_CHAR_PARTICLES3, MULTI_CHAR_PARTICLES3, ChineseParticleExtractor, init_chinese_particle, isVietnameseLetter, isVietnameseIdentifierChar, PREPOSITIONS, VietnameseKeywordExtractor, init_vietnamese_keyword, isArabic, PREPOSITIONS2, ArabicKeywordExtractor, init_arabic_keyword, isArabic2, PROCLITICS, NON_PROCLITIC_WORDS, ArabicProcliticExtractor, init_arabic_proclitic, isArabic3, TEMPORAL_MARKERS, ArabicTemporalExtractor, init_arabic_temporal, CyrillicKeywordExtractor, RUSSIAN_PREPOSITIONS, UKRAINIAN_PREPOSITIONS, init_cyrillic_keyword, HindiKeywordExtractor, init_hindi_keyword, SINGLE_POSTPOSITIONS, COMPOUND_POSTPOSITIONS, HindiParticleExtractor, init_hindi_particle, BengaliKeywordExtractor, init_bengali_keyword, SINGLE_POSTPOSITIONS2, BengaliParticleExtractor, init_bengali_particle, ThaiKeywordExtractor, init_thai_keyword, MalayKeywordExtractor, init_malay_keyword, PREPOSITIONS3, TagalogKeywordExtractor, init_tagalog_keyword, PREPOSITIONS4, isPolishLetter, isPolishIdentifierChar, PolishKeywordExtractor, init_polish_keyword, PREPOSITIONS5, isIndonesianLetter, isIndonesianIdentifierChar, IndonesianKeywordExtractor, init_indonesian_keyword, PREPOSITIONS6, isSwahiliLetter, isSwahiliIdentifierChar, SwahiliKeywordExtractor, init_swahili_keyword, POSTPOSITIONS, CASE_SUFFIXES, TurkishKeywordExtractor, init_turkish_keyword, SUFFIXES, POSTPOSITIONS2, AGGLUTINATIVE_MARKERS, QuechuaKeywordExtractor, init_quechua_keyword, isHebrew, PREPOSITIONS7, CONJUNCTIONS, HebrewKeywordExtractor, init_hebrew_keyword, isHebrew2, PROCLITIC_PREFIXES, EVENT_MARKER_PREFIXES, EVENT_NAMES, HebrewProcliticExtractor, init_hebrew_proclitic, AsciiIdentifierExtractor, init_ascii_identifier, init_extractors, init_extractor_helpers, EnglishKeywordExtractor, init_english_keyword, english_exports2, ENGLISH_EXTRAS, EnglishTokenizer, englishTokenizer, init_english2, init_types, JAPANESE_SUFFIX_RULES, SURU_PATTERNS, JapaneseMorphologicalNormalizer, init_japanese_normalizer, japanese_exports2, PARTICLES, JAPANESE_EXTRAS, JapaneseTokenizer, japaneseTokenizer, init_japanese2, KOREAN_SUFFIX_RULES, HADA_PATTERNS, KoreanMorphologicalNormalizer, init_korean_normalizer, korean_exports2, PARTICLES2, KOREAN_EXTRAS, KoreanTokenizer, koreanTokenizer, init_korean2, COMBINED_PREFIXES, SINGLE_PREFIXES, VERB_PREFIXES, SUFFIXES2, ArabicMorphologicalNormalizer, init_arabic_normalizer, arabic_exports2, CONJUNCTIONS2, PREPOSITIONS8, ARABIC_EXTRAS, ArabicTokenizer, arabicTokenizer, init_arabic2, AR_ENDINGS, ER_ENDINGS, IR_ENDINGS, ALL_ENDINGS, SpanishMorphologicalNormalizer, init_spanish_normalizer, isSpanishLetter, isSpanishIdentifierChar, PREPOSITIONS9, SpanishKeywordExtractor, init_spanish_keyword, spanish_exports2, PREPOSITIONS10, SPANISH_EXTRAS, SpanishTokenizer, spanishTokenizer, init_spanish2, TURKISH_SUFFIX_RULES, TurkishMorphologicalNormalizer, init_turkish_normalizer, turkish_exports2, POSTPOSITIONS3, CASE_SUFFIXES2, TURKISH_EXTRAS, TurkishTokenizer, turkishTokenizer, init_turkish2, chinese_exports2, PARTICLES3, CHINESE_EXTRAS, ChineseTokenizer, chineseTokenizer, init_chinese2, REFLEXIVE_SUFFIXES, AR_ENDINGS2, ER_ENDINGS2, IR_ENDINGS2, ALL_ENDINGS2, PortugueseMorphologicalNormalizer, init_portuguese_normalizer, isPortugueseLetter, isPortugueseIdentifierChar, PREPOSITIONS11, PortugueseKeywordExtractor, init_portuguese_keyword, portuguese_exports2, PREPOSITIONS12, PORTUGUESE_EXTRAS, PortugueseTokenizer, portugueseTokenizer, init_portuguese2, REFLEXIVE_SUFFIXES2, ER_ENDINGS3, IR_ENDINGS3, RE_ENDINGS, ALL_ENDINGS3, FrenchMorphologicalNormalizer, init_french_normalizer, isFrenchLetter, isFrenchIdentifierChar, PREPOSITIONS13, FrenchKeywordExtractor, init_french_keyword, french_exports2, FRENCH_EXTRAS, FrenchTokenizer, frenchTokenizer, init_french2, SEPARABLE_PREFIXES, VERB_ENDINGS, ELN_ERN_ENDINGS, ALL_ENDINGS4, GermanMorphologicalNormalizer, init_german_normalizer, isGermanLetter, isGermanIdentifierChar, PREPOSITIONS14, GermanKeywordExtractor, init_german_keyword, german_exports2, GERMAN_EXTRAS, GermanTokenizer, germanTokenizer, init_german2, indonesian_exports2, PREPOSITIONS15, INDONESIAN_EXTRAS, IndonesianTokenizer, indonesianTokenizer, init_indonesian2, QUECHUA_SUFFIX_RULES, QuechuaMorphologicalNormalizer, quechuaMorphologicalNormalizer, init_quechua_normalizer, quechua_exports2, QuechuaStringLiteralExtractor, SUFFIXES3, QUECHUA_EXTRAS, QuechuaTokenizer, quechuaTokenizer, init_quechua2, swahili_exports2, PREPOSITIONS16, SWAHILI_EXTRAS, SwahiliTokenizer, swahiliTokenizer, init_swahili2, REFLEXIVE_SUFFIXES3, ARE_ENDINGS, ERE_ENDINGS, IRE_ENDINGS, ALL_ENDINGS5, ItalianMorphologicalNormalizer, init_italian_normalizer, RomanceKeywordExtractor, ITALIAN_PREPOSITIONS, init_romance_language_keyword, italian_exports2, PREPOSITIONS17, ITALIAN_EXTRAS, ItalianTokenizer, italianTokenizer, init_italian2, vietnamese_exports2, VIETNAMESE_EXTRAS, VietnameseTokenizer, vietnameseTokenizer, init_vietnamese2, IMPERATIVE_TO_INFINITIVE, PolishMorphologicalNormalizer, init_polish_normalizer, polish_exports2, PREPOSITIONS18, POLISH_EXTRAS, PolishTokenizer, polishTokenizer, init_polish2, IMPERATIVE_TO_INFINITIVE2, RussianMorphologicalNormalizer, init_russian_normalizer, russian_exports2, PREPOSITIONS19, RUSSIAN_EXTRAS, RussianTokenizer, russianTokenizer, init_russian2, IMPERATIVE_TO_INFINITIVE3, UkrainianMorphologicalNormalizer, init_ukrainian_normalizer, ukrainian_exports2, PREPOSITIONS20, UKRAINIAN_EXTRAS, UkrainianTokenizer, ukrainianTokenizer, init_ukrainian2, he_exports2, PREPOSITIONS21, HEBREW_EXTRAS, HebrewTokenizer, hebrewTokenizer, init_he2, SUFFIX_RULES, HindiMorphologicalNormalizer, init_hindi_normalizer, hindi_exports2, SINGLE_POSTPOSITIONS3, HINDI_EXTRAS, HindiTokenizer, hindiTokenizer, init_hindi2, SUFFIX_RULES2, BengaliMorphologicalNormalizer, bengaliMorphologicalNormalizer, init_bengali_normalizer, bengali_exports2, SINGLE_POSTPOSITIONS4, BENGALI_EXTRAS, BengaliTokenizer, bengaliTokenizer, init_bengali2, thai_exports2, THAI_EXTRAS, ThaiTokenizer, thaiTokenizer, init_thai2, ms_exports2, MALAY_EXTRAS, MalayTokenizer, malayTokenizer, init_ms2, COMBINED_PREFIXES2, SINGLE_PREFIXES2, INFIXES, SUFFIXES4, TagalogMorphologicalNormalizer, tagalogMorphologicalNormalizer, init_tagalog_normalizer, tl_exports2, TAGALOG_EXTRAS, TagalogTokenizer, tagalogTokenizer, init_tl2, eventNameTranslations, eventNameLocalizations, eventLocalizationDenylist, init_event_handler, init_role_positioning, init_event_handlers_sov, init_event_handlers_vso, defaultConfig, init_pattern_generator, fetchWithResponseTypeEnglish, fetchWithOptionsAndResponseTypeEnglish, fetchWithOptionsEnglish, fetchSimpleEnglish, fetchPatternsEn, init_fetch, pickVariantEnglish, pickPatternsEn, init_pick, VIEW_TRANSITION_TAIL, swapSimpleEnglish, swapElementEnglish, swapStrategyOfEnglish, swapStrategyEnglish, swapPatternsEn, init_swap, init_toggle, VERB_FIRST_REPEAT_TIMES, SOV_REPEAT_TIMES, FOR_IN_HEADS, WHILE_HEADS, VERB_FIRST_UNTIL_HEADS, repeatUntilHeadQuMidClause, SOV_UNTIL_HEADS, repeatUntilHeadQu, SOV_FOR_BINDING_HEADS, BY_LANG, addPattern, init_repeat, init_wait, en_exports, repeatUntilEventFromEnglish, repeatUntilEventEnglish, repeatTimesEnglish, repeatForeverEnglish, setPossessiveEnglish, forEnglish, ifEnglish, unlessEnglish, temporalInEnglish, temporalAfterEnglish, init_en, DEFAULT_CONFIDENCE_THRESHOLD, HIGH_CONFIDENCE_THRESHOLD, CONTEXT_VARS, LOGICAL_OPERATORS, BOOLEAN_LITERALS, COMPARISON_KEYWORDS, POSITIONAL_KEYWORDS, TIME_UNITS, POSSESSIVE_CONTEXT_TYPES, POSTFIX_STOP_WORDS, POSITIONAL_CALL_KEYWORDS, ExpressionParser, waitMapper, putMapper, goMapper, RANGE_METHODS, COUNT_METHODS, REGEX_METHODS, pickMapper, mappers, ASTBuilder, KNOWN_PROFILES, PROPERTY_NAME_LEXICON, CONNECTIVE_LEXICON, OF_POSSESSIVE_MARKERS, ROLE_CONCEPT_TO_ENGLISH_LOCATIVE, LOCATIVE_SURFACES, ENGLISH_LOCATIVE_SENSES, POSITIONAL_KEYWORDS2, POSITIONAL_HEAD_DUALS, COMMAND_ACTION_KEYWORDS, AMBIGUOUS_SENSES, SENSE_PREDICATE_NORMALIZED, CONVERSION_TYPE_NAMES, CURATED_END_KEYWORDS, MAX_FOLD_TOKENS, KEY_RE, FUSED_PAIR_RE, OPTIONAL_ROLE_WEIGHT, DEFAULT_PARTIAL_CREDIT, MAX_STEM_PENALTY, STEM_PENALTY_FLOOR, VSO_VERB_BOOST, MAX_PREPOSITION_ADJUSTMENT, ARABIC_VERBS, PREFERRED_PREPOSITIONS, DefaultConfidenceModel, defaultConfidenceModel, BAREKEYWORD_BLOCK_ACTIONS, _PatternMatcher2, PatternMatcher, patternMatcher, OPENER_ACTIONS, PASCAL_CASE_NAME, OPENER_NORMS, TARGET_REFERENCES, ROLE_CONCEPTS, TRIGGER_SIGNATURE_LANGS, DEF_NAME, FEATURE_ACTIONS, OPAQUE_BODY_FEATURES, NAMED_FEATURES, HANDLER_BODY_FEATURES, DEF_BODY_FEATURES, SOV_KEYWORD_SEARCH_LIMIT, INTERCEPT_SOV_KEYWORD_LIMIT, MODIFIER_KEYWORDS, ONCE_SEQUENCES, DURATION_RE, EXCLUDED_FIRST_KINDS, BLOCK_HEADER_ACTIONS, BLOCK_NEEDS_TRAILING_END, SemanticRendererImpl, semanticRenderer, hyperscriptSchemaLookup, BLOCK_BODY_ACTIONS, NON_VALUE_KEYWORDS, POSITIONAL_VALUE_KEYWORDS, WAITABLE_EVENT_WORDS, SemanticParseError, MAX_UNCONSUMED_SPAN_CHARS, COVERAGE_RESIDUE_NORMALIZED, NORMALIZE_CHILD_FIELDS, _SemanticParserImpl, SemanticParserImpl, semanticParser, SemanticCache2, semanticCache, LANGUAGE_IMPORTERS, SUPPORTED_LANGUAGES, PICK_UNIT_WORDS, retypePickUnitWord, VERB_INITIAL_SPECS, VERB_FINAL_SPECS, repeatUntilEventFromEnglish2, repeatUntilEventEnglish2, repeatPatternsEn, setPossessiveEnglish2, setPatternsEn, forEnglish2, ifEnglish2, unlessEnglish2, controlFlowPatternsEn, temporalInEnglish2, temporalAfterEnglish2, temporalPatternsEn, allEnglishOnlyPatterns, PATTERN_LOADERS, _generatedPatternsPerLanguage, handcraftedLanguages, patternCache2, _allPatterns, schemaRegistry, DEFAULT_CONFIG, HIGH_FREQUENCY_TRIGGERS, THROTTLE_RECOMMENDED_TRIGGERS, _devModeEnabled, _devModeConfig, VERSION, index$1, HistorySwapBehavior, BoostedBehavior, DEFAULT_EVENT_TYPE, DEFAULT_LANGUAGE$1, compileSyncFn, compileAsyncFn, getRuntimeFn, configRef, RingBuffer, HISTORY_CAPACITY, DebugController, DEFAULT_LANGUAGE, ASTCache, astCache, semanticAnalyzerInstance, bridgeInstance, config, _defaultRuntime, _debugController, hyperscript, lokascript, OP_TABLE, Lexer, Tokens, MAX_HISTORY_SIZE$5, DefInputSchema, TypedDefFeatureImplementation, enhancedDefImplementation, MAX_HISTORY_SIZE$4, EnhancedOnInputSchema, TypedOnFeatureImplementation, enhancedOnImplementation, MAX_HISTORY_SIZE$3, BehaviorsInputSchema, TypedBehaviorsFeatureImplementation, enhancedBehaviorsImplementation, MAX_HISTORY_SIZE$2, SocketsInputSchema, TypedSocketsFeatureImplementation, enhancedSocketsImplementation, MAX_HISTORY_SIZE$1, WebWorkerInputSchema, TypedWebWorkerFeatureImplementation, enhancedWebWorkerImplementation, MAX_HISTORY_SIZE, EventSourceInputSchema, TypedEventSourceFeatureImplementation, enhancedEventSourceImplementation, INTERCHANGE_ADAPTER, POS, DiagnosticSeverity, SymbolKind, CompletionItemKind, _semanticModule, SemanticGrammarBridge, bridge, _fw, index;
|
|
29388
29606
|
var init_dist = __esm({
|
|
29389
29607
|
"../core/dist/index.mjs"() {
|
|
29390
29608
|
"use strict";
|
|
@@ -32510,15 +32728,15 @@ var init_dist = __esm({
|
|
|
32510
32728
|
braceDepth--;
|
|
32511
32729
|
}
|
|
32512
32730
|
}
|
|
32513
|
-
const
|
|
32731
|
+
const valueString2 = this.originalInput && valueStart >= 0 && valueEnd > valueStart ? this.originalInput.slice(valueStart, valueEnd) : valueTokens.join("");
|
|
32514
32732
|
const value = hasTemplateExpression ? {
|
|
32515
32733
|
type: "templateLiteral",
|
|
32516
|
-
value:
|
|
32734
|
+
value: valueString2,
|
|
32517
32735
|
start: pos2.start,
|
|
32518
32736
|
end: this.getPosition().end,
|
|
32519
32737
|
line: pos2.line,
|
|
32520
32738
|
column: pos2.column
|
|
32521
|
-
} : this.createLiteral(
|
|
32739
|
+
} : this.createLiteral(valueString2, valueString2);
|
|
32522
32740
|
properties.push({ key, value });
|
|
32523
32741
|
if (this.check(";")) {
|
|
32524
32742
|
this.advance();
|
|
@@ -33383,7 +33601,8 @@ var init_dist = __esm({
|
|
|
33383
33601
|
"closest",
|
|
33384
33602
|
"js",
|
|
33385
33603
|
"tell",
|
|
33386
|
-
"fetch"
|
|
33604
|
+
"fetch",
|
|
33605
|
+
"process"
|
|
33387
33606
|
];
|
|
33388
33607
|
if (this.semanticAdapter && !skipSemanticParsing.includes(commandName.toLowerCase())) {
|
|
33389
33608
|
const remainingInput = this.getRemainingInput();
|
|
@@ -35587,7 +35806,7 @@ var init_dist = __esm({
|
|
|
35587
35806
|
return {
|
|
35588
35807
|
description: this.impl.metadata?.description || "",
|
|
35589
35808
|
examples: this.impl.metadata?.examples || [],
|
|
35590
|
-
syntax:
|
|
35809
|
+
syntax: typeof syntax === "string" ? syntax : syntax ? syntax.join(" | ") : ""
|
|
35591
35810
|
};
|
|
35592
35811
|
}
|
|
35593
35812
|
async execute(context, ...args) {
|
|
@@ -35655,10 +35874,8 @@ var init_dist = __esm({
|
|
|
35655
35874
|
}
|
|
35656
35875
|
}
|
|
35657
35876
|
validate(input) {
|
|
35658
|
-
|
|
35659
|
-
|
|
35660
|
-
}
|
|
35661
|
-
return { isValid: true, errors: [], suggestions: [] };
|
|
35877
|
+
const isValid = this.impl.validate ? this.impl.validate(input) : true;
|
|
35878
|
+
return { isValid, errors: [], suggestions: [] };
|
|
35662
35879
|
}
|
|
35663
35880
|
};
|
|
35664
35881
|
CommandRegistryV2 = class {
|
|
@@ -40243,7 +40460,11 @@ var init_dist = __esm({
|
|
|
40243
40460
|
} else {
|
|
40244
40461
|
for (const t of targets) {
|
|
40245
40462
|
const content = this.parseValue(value);
|
|
40246
|
-
|
|
40463
|
+
if (Array.isArray(content)) {
|
|
40464
|
+
insertElementsInOrder(t, content, toInsertPosition(position));
|
|
40465
|
+
} else {
|
|
40466
|
+
insertContentSemantic(t, content, position);
|
|
40467
|
+
}
|
|
40247
40468
|
}
|
|
40248
40469
|
}
|
|
40249
40470
|
return targets;
|
|
@@ -40275,6 +40496,11 @@ var init_dist = __esm({
|
|
|
40275
40496
|
parseValue(v2) {
|
|
40276
40497
|
if (isHTMLElement$2(v2))
|
|
40277
40498
|
return v2;
|
|
40499
|
+
if (Array.isArray(v2) && v2.length > 0 && v2.every(isHTMLElement$2)) {
|
|
40500
|
+
return v2;
|
|
40501
|
+
}
|
|
40502
|
+
if (isInsertableNode(v2))
|
|
40503
|
+
return v2;
|
|
40278
40504
|
return v2 == null ? "" : String(v2);
|
|
40279
40505
|
}
|
|
40280
40506
|
looksLikeCss(s) {
|
|
@@ -41261,7 +41487,7 @@ var init_dist = __esm({
|
|
|
41261
41487
|
};
|
|
41262
41488
|
}
|
|
41263
41489
|
}
|
|
41264
|
-
let useViewTransition =
|
|
41490
|
+
let useViewTransition = raw.modifiers?.viewTransition !== void 0;
|
|
41265
41491
|
if (usingIndex !== -1) {
|
|
41266
41492
|
const afterUsing = argKeywords.slice(usingIndex + 1);
|
|
41267
41493
|
if (afterUsing.includes("view") && afterUsing.includes("transition")) {
|
|
@@ -41457,7 +41683,7 @@ var init_dist = __esm({
|
|
|
41457
41683
|
const withIndex = argKeywords.findIndex((k) => k === "with");
|
|
41458
41684
|
const overIndex = argKeywords.findIndex((k) => k === "over");
|
|
41459
41685
|
const usingIndex = argKeywords.findIndex((k) => k === "using");
|
|
41460
|
-
let useViewTransition =
|
|
41686
|
+
let useViewTransition = raw.modifiers?.viewTransition !== void 0;
|
|
41461
41687
|
if (usingIndex !== -1) {
|
|
41462
41688
|
const afterUsing = argKeywords.slice(usingIndex + 1);
|
|
41463
41689
|
if (afterUsing.includes("view") && afterUsing.includes("transition")) {
|
|
@@ -41533,7 +41759,11 @@ var init_dist = __esm({
|
|
|
41533
41759
|
})();
|
|
41534
41760
|
_classThis.metadata = commandMeta({
|
|
41535
41761
|
description: "Morph content into target elements (intelligent diffing, preserves state)",
|
|
41536
|
-
syntax: [
|
|
41762
|
+
syntax: [
|
|
41763
|
+
"morph <target> with <content>",
|
|
41764
|
+
"morph over <target> with <content>",
|
|
41765
|
+
"morph <target> with <content> using view transition"
|
|
41766
|
+
],
|
|
41537
41767
|
examples: ["morph #target with it", "morph over #modal with fetchedContent"],
|
|
41538
41768
|
sideEffects: ["dom-mutation"],
|
|
41539
41769
|
category: "dom",
|
|
@@ -41672,24 +41902,32 @@ var init_dist = __esm({
|
|
|
41672
41902
|
if (!args || args.length === 0) {
|
|
41673
41903
|
throw new Error("process partials command requires content argument");
|
|
41674
41904
|
}
|
|
41675
|
-
const
|
|
41676
|
-
|
|
41677
|
-
|
|
41678
|
-
|
|
41679
|
-
|
|
41680
|
-
|
|
41681
|
-
|
|
41682
|
-
|
|
41683
|
-
|
|
41684
|
-
|
|
41905
|
+
const keywordOf = (node) => {
|
|
41906
|
+
const n = node;
|
|
41907
|
+
if (!n || typeof n !== "object")
|
|
41908
|
+
return null;
|
|
41909
|
+
if (n.type === "identifier" && typeof n.name === "string")
|
|
41910
|
+
return n.name.toLowerCase();
|
|
41911
|
+
if (n.type === "literal" && typeof n.value === "string")
|
|
41912
|
+
return n.value.toLowerCase();
|
|
41913
|
+
return null;
|
|
41914
|
+
};
|
|
41915
|
+
const keywords = args.map(keywordOf);
|
|
41916
|
+
const partialsIndex = keywords.indexOf("partials");
|
|
41917
|
+
const inIndex = keywords.indexOf("in");
|
|
41918
|
+
let contentNode;
|
|
41685
41919
|
if (partialsIndex === -1) {
|
|
41686
|
-
|
|
41687
|
-
|
|
41688
|
-
|
|
41689
|
-
|
|
41690
|
-
|
|
41920
|
+
if (inIndex !== -1) {
|
|
41921
|
+
throw new Error('process command expects "partials" keyword: process partials in <content>');
|
|
41922
|
+
}
|
|
41923
|
+
contentNode = args[0];
|
|
41924
|
+
} else {
|
|
41925
|
+
if (inIndex === -1 || inIndex <= partialsIndex) {
|
|
41926
|
+
throw new Error('process partials command expects "in" keyword: process partials in <content>');
|
|
41927
|
+
}
|
|
41928
|
+
contentNode = args[inIndex + 1];
|
|
41691
41929
|
}
|
|
41692
|
-
const contentArg =
|
|
41930
|
+
const contentArg = contentNode ? await evaluator.evaluate(contentNode, context) : void 0;
|
|
41693
41931
|
let html;
|
|
41694
41932
|
if (typeof contentArg === "string") {
|
|
41695
41933
|
html = contentArg;
|
|
@@ -41700,10 +41938,10 @@ var init_dist = __esm({
|
|
|
41700
41938
|
} else {
|
|
41701
41939
|
throw new Error("process partials: content must be an HTML string or element");
|
|
41702
41940
|
}
|
|
41703
|
-
|
|
41704
|
-
|
|
41941
|
+
let useViewTransition = raw.modifiers?.viewTransition !== void 0;
|
|
41942
|
+
const usingIndex = keywords.indexOf("using");
|
|
41705
41943
|
if (usingIndex !== -1) {
|
|
41706
|
-
const remaining =
|
|
41944
|
+
const remaining = keywords.slice(usingIndex + 1);
|
|
41707
41945
|
if (remaining.includes("view") && remaining.includes("transition")) {
|
|
41708
41946
|
useViewTransition = true;
|
|
41709
41947
|
}
|
|
@@ -46737,6 +46975,7 @@ var init_dist = __esm({
|
|
|
46737
46975
|
return this.registry;
|
|
46738
46976
|
}
|
|
46739
46977
|
};
|
|
46978
|
+
VERSION$1 = "2.10.0";
|
|
46740
46979
|
DEFAULT_REFERENCES = /* @__PURE__ */ new Set([
|
|
46741
46980
|
"me",
|
|
46742
46981
|
"you",
|
|
@@ -48497,14 +48736,26 @@ var init_dist = __esm({
|
|
|
48497
48736
|
}
|
|
48498
48737
|
translate(input, fromLanguage, toLanguage) {
|
|
48499
48738
|
if (isExplicitSyntax$1(input)) return input;
|
|
48500
|
-
|
|
48501
|
-
|
|
48502
|
-
|
|
48503
|
-
|
|
48504
|
-
|
|
48739
|
+
let node;
|
|
48740
|
+
try {
|
|
48741
|
+
node = this.parseWithConfidence(input, fromLanguage).node;
|
|
48742
|
+
} catch (parseError) {
|
|
48743
|
+
if (this.hasGrammarProfile(fromLanguage) && this.hasGrammarProfile(toLanguage)) {
|
|
48744
|
+
return this.transformer.transform(input, fromLanguage, toLanguage);
|
|
48505
48745
|
}
|
|
48746
|
+
throw parseError;
|
|
48747
|
+
}
|
|
48748
|
+
const rendered = this.registry.getSupportedLanguages().includes(toLanguage) ? this.render(node, toLanguage) : null;
|
|
48749
|
+
if (rendered != null) return rendered;
|
|
48750
|
+
if (this.hasGrammarProfile(fromLanguage) && this.hasGrammarProfile(toLanguage)) {
|
|
48751
|
+
return this.transformer.transform(input, fromLanguage, toLanguage);
|
|
48506
48752
|
}
|
|
48507
|
-
|
|
48753
|
+
throw new Error(
|
|
48754
|
+
`translate() could not render action "${node.action}" in language "${toLanguage}": no custom renderer, domain renderer, or schema pattern covers it, and no grammar profile is configured for the transformer fallback. Either add "${toLanguage}" to the DSL's languages/renderer, or set 'grammarProfile' on its LanguageConfig in createMultilingualDSL() (parse/validate/compile do not need it).`
|
|
48755
|
+
);
|
|
48756
|
+
}
|
|
48757
|
+
hasGrammarProfile(language) {
|
|
48758
|
+
return this.profileProvider.getProfile(language) != null;
|
|
48508
48759
|
}
|
|
48509
48760
|
compile(input, language) {
|
|
48510
48761
|
if (!this.codeGenerator) {
|
|
@@ -50726,7 +50977,6 @@ ${body}
|
|
|
50726
50977
|
category: "dom-class",
|
|
50727
50978
|
primaryRole: "patient",
|
|
50728
50979
|
// `toggle .active on #btn for 2s` \u2192 args ['.active'], modifiers { on, for }.
|
|
50729
|
-
// NOTE: `duration` is read here but not declared in `roles` below.
|
|
50730
50980
|
ast: { args: ["patient"], modifiers: { on: "destination", for: "duration" } },
|
|
50731
50981
|
roles: [
|
|
50732
50982
|
{
|
|
@@ -50736,7 +50986,13 @@ ${body}
|
|
|
50736
50986
|
expectedTypes: ["selector"],
|
|
50737
50987
|
selectorKinds: ["class", "attribute"],
|
|
50738
50988
|
svoPosition: 1,
|
|
50739
|
-
sovPosition: 2
|
|
50989
|
+
sovPosition: 2,
|
|
50990
|
+
// zh: the transformer emits `\u5207\u6362 \u628a .active` (the profile's \u628a patient
|
|
50991
|
+
// marker), but natural zh writes `\u5207\u6362 .active` bare \u2014 the handcrafted
|
|
50992
|
+
// patterns' form. Optional accepts both; without it the generated
|
|
50993
|
+
// pattern REQUIRED \u628a and the slim bundles could not parse the bare
|
|
50994
|
+
// form at all. Same treatment as go's destination.
|
|
50995
|
+
markerOptional: { zh: true }
|
|
50740
50996
|
},
|
|
50741
50997
|
{
|
|
50742
50998
|
role: "destination",
|
|
@@ -51074,6 +51330,8 @@ ${body}
|
|
|
51074
51330
|
markerOverride: {
|
|
51075
51331
|
en: "",
|
|
51076
51332
|
// No marker before destination in English: "set :x to 5"
|
|
51333
|
+
es: "",
|
|
51334
|
+
// "establecer x a 5" - no marker before variable (profile default `en` matched nothing)
|
|
51077
51335
|
ja: "\u3092",
|
|
51078
51336
|
// "x \u3092 10 \u306b \u8a2d\u5b9a" - variable gets object marker
|
|
51079
51337
|
ko: "\uB97C",
|
|
@@ -51096,9 +51354,19 @@ ${body}
|
|
|
51096
51354
|
// generated hi set patterns carried the swapped markers and matched no
|
|
51097
51355
|
// corpus, so the whole hi set-family (set-text/inner-html/style/attribute)
|
|
51098
51356
|
// fell to the bare-event fallback (S6 set-trio).
|
|
51099
|
-
hi: "\u0915\u094B"
|
|
51357
|
+
hi: "\u0915\u094B",
|
|
51100
51358
|
// target (destination) gets \u0915\u094b
|
|
51101
|
-
|
|
51359
|
+
// zh: the transformer emits the verb-first BA form `\u8bbe\u7f6e \u628a X \u5230 V`
|
|
51360
|
+
// (\u628a before the variable), while natural zh writes `\u8bbe\u7f6e X \u4e3a V`
|
|
51361
|
+
// (unmarked). \u628a as the marker, optional below, accepts both. The
|
|
51362
|
+
// profile default \u5728 matched neither form, so the generated zh set
|
|
51363
|
+
// patterns were dead weight and the slim bundles (schema-generated
|
|
51364
|
+
// patterns only) could not parse set at all.
|
|
51365
|
+
zh: "\u628A"
|
|
51366
|
+
},
|
|
51367
|
+
// Accept the unmarked natural form alongside the transformer's \u628a form
|
|
51368
|
+
// (same treatment as go's destination).
|
|
51369
|
+
markerOptional: { zh: true }
|
|
51102
51370
|
},
|
|
51103
51371
|
{
|
|
51104
51372
|
role: "patient",
|
|
@@ -51141,8 +51409,14 @@ ${body}
|
|
|
51141
51409
|
// "x \u0995\u09c7 10 \u09a4\u09c7 \u09b8\u09c7\u099f" - destination marker on value
|
|
51142
51410
|
qu: "man",
|
|
51143
51411
|
// "x ta 10 man churay" - destination marker on value
|
|
51144
|
-
hi: "\u092E\u0947\u0902"
|
|
51412
|
+
hi: "\u092E\u0947\u0902",
|
|
51145
51413
|
// value (patient) gets \u092e\u0947\u0902 \u2014 see the destination note above
|
|
51414
|
+
// zh: the transformer/corpus form marks the value with \u5230 (`\u8bbe\u7f6e \u628a X
|
|
51415
|
+
// \u5230 V`); natural zh uses \u4e3a (`\u8bbe\u7f6e X \u4e3a V`). \u5230 is the override,
|
|
51416
|
+
// the \u4e3a-family rides along as variants (all merged as alternatives
|
|
51417
|
+
// by schemaMarkerAlternatives). Profile default \u628a was the PATIENT
|
|
51418
|
+
// marker, which never precedes set's value in either form.
|
|
51419
|
+
zh: "\u5230"
|
|
51146
51420
|
},
|
|
51147
51421
|
// Turkish dative is allomorphic under vowel harmony: the i18n transformer
|
|
51148
51422
|
// emits `e` for quoted-string values (`"red" e`) but `-ya` for a value
|
|
@@ -51155,7 +51429,11 @@ ${body}
|
|
|
51155
51429
|
// not parse as a bare command while `t\u0131klama da @disabled i do\u011fru ya
|
|
51156
51430
|
// ayarla` did. See STRUCTURAL_ARCS_ROADMAP.md (tr set-attribute).
|
|
51157
51431
|
markerVariants: {
|
|
51158
|
-
tr: ["e", "a", "ye", "ya"]
|
|
51432
|
+
tr: ["e", "a", "ye", "ya"],
|
|
51433
|
+
// Natural zh value markers (`\u8bbe\u7f6e X \u4e3a V`), simplified + traditional +
|
|
51434
|
+
// resultative \u2014 the handcrafted set-zh-full alternatives, kept parseable
|
|
51435
|
+
// alongside the transformer's \u5230 override above.
|
|
51436
|
+
zh: ["\u4E3A", "\u70BA", "\u6210"]
|
|
51159
51437
|
}
|
|
51160
51438
|
},
|
|
51161
51439
|
{
|
|
@@ -51817,8 +52095,8 @@ ${body}
|
|
|
51817
52095
|
description: "Take content from a source element",
|
|
51818
52096
|
category: "dom-content",
|
|
51819
52097
|
primaryRole: "patient",
|
|
51820
|
-
// `take .active from #parent` \u2192 args ['.active'], modifiers { from
|
|
51821
|
-
ast: { args: ["patient"], modifiers: { from: "source" } },
|
|
52098
|
+
// `take .active from #parent for me` \u2192 args ['.active'], modifiers { from, for }.
|
|
52099
|
+
ast: { args: ["patient"], modifiers: { from: "source", for: "recipient" } },
|
|
51822
52100
|
roles: [
|
|
51823
52101
|
{
|
|
51824
52102
|
role: "patient",
|
|
@@ -51841,6 +52119,38 @@ ${body}
|
|
|
51841
52119
|
expectedTypes: ["selector", "reference"],
|
|
51842
52120
|
svoPosition: 2,
|
|
51843
52121
|
sovPosition: 1
|
|
52122
|
+
},
|
|
52123
|
+
{
|
|
52124
|
+
role: "recipient",
|
|
52125
|
+
description: "The element the class moves ONTO (`take .active from .tab for me`)",
|
|
52126
|
+
required: false,
|
|
52127
|
+
// References only, deliberately. Upstream accepts an element expression,
|
|
52128
|
+
// but the 23 non-en corpus surfaces carry the recipient as a BARE
|
|
52129
|
+
// trailing pronoun (i18n renders `\u2026 von .tab-button ich`), so this slot
|
|
52130
|
+
// is marker-less almost everywhere and a selector-typed slot would
|
|
52131
|
+
// swallow the second selector of `take .active from .a .b`. English is
|
|
52132
|
+
// unaffected: `take` is on the core parser's skipSemanticParsing list,
|
|
52133
|
+
// so the traditional parser owns `for <anything>` there.
|
|
52134
|
+
expectedTypes: ["reference"],
|
|
52135
|
+
svoPosition: 3,
|
|
52136
|
+
sovPosition: 3,
|
|
52137
|
+
// NO default. The runtime already defaults the recipient to `me`
|
|
52138
|
+
// (commands/animation/take.ts), and a schema default would emit an
|
|
52139
|
+
// explicit `for me` modifier on every take \u2014 re-smuggling the exact
|
|
52140
|
+
// "absent means absent" semantics #859 removed from `source`.
|
|
52141
|
+
//
|
|
52142
|
+
// Shape-anchored on `reference`: without it this optional slot weighs
|
|
52143
|
+
// into every take pattern's denominator in `scoreRoleCoverage`, dropping
|
|
52144
|
+
// plain `take .active from .tab-button` from 1.0 to ~0.69 \u2014 the toggle-es
|
|
52145
|
+
// regression class the R1 role-set flip ratchet exists to catch.
|
|
52146
|
+
valueShape: "reference",
|
|
52147
|
+
// en only. The other 23 languages render the recipient unmarked, so a
|
|
52148
|
+
// marker there would never match their corpus rows; where the marker-less
|
|
52149
|
+
// slot proves inert they stay uncaptured and the pattern lands in the
|
|
52150
|
+
// baseline's `roleLossyPatterns` as named R1 burn-down tail. A language
|
|
52151
|
+
// gets a real particle here ONLY if the empty slot perturbs its other
|
|
52152
|
+
// parses (toggle's ja \u9593 / ko \ub3d9\uc548 case).
|
|
52153
|
+
markerOverride: { en: "for" }
|
|
51844
52154
|
}
|
|
51845
52155
|
]
|
|
51846
52156
|
};
|
|
@@ -52905,6 +53215,47 @@ ${body}
|
|
|
52905
53215
|
}
|
|
52906
53216
|
]
|
|
52907
53217
|
};
|
|
53218
|
+
USING_VIEW_MARKER_ALL_LANGS = {
|
|
53219
|
+
en: "using view",
|
|
53220
|
+
es: "using view",
|
|
53221
|
+
pt: "using view",
|
|
53222
|
+
fr: "using view",
|
|
53223
|
+
de: "using view",
|
|
53224
|
+
it: "using view",
|
|
53225
|
+
ja: "using view",
|
|
53226
|
+
ko: "using view",
|
|
53227
|
+
zh: "using view",
|
|
53228
|
+
ar: "using view",
|
|
53229
|
+
he: "using view",
|
|
53230
|
+
hi: "using view",
|
|
53231
|
+
bn: "using view",
|
|
53232
|
+
tr: "using view",
|
|
53233
|
+
ru: "using view",
|
|
53234
|
+
uk: "using view",
|
|
53235
|
+
pl: "using view",
|
|
53236
|
+
id: "using view",
|
|
53237
|
+
vi: "using view",
|
|
53238
|
+
th: "using view",
|
|
53239
|
+
ms: "using view",
|
|
53240
|
+
tl: "using view",
|
|
53241
|
+
sw: "using view",
|
|
53242
|
+
qu: "using view"
|
|
53243
|
+
};
|
|
53244
|
+
VIEW_TRANSITION_MANNER_ROLE = {
|
|
53245
|
+
role: "manner",
|
|
53246
|
+
description: "Run the swap inside a `document.startViewTransition()` (`using view transition`)",
|
|
53247
|
+
required: false,
|
|
53248
|
+
// Both types, because the SAME word tokenizes differently per language and
|
|
53249
|
+
// the difference is an accident of vocabulary: `transition` is a command
|
|
53250
|
+
// keyword in en/fr (it is also their verb) and a bare identifier everywhere
|
|
53251
|
+
// else, which types it `literal` in the first group and `expression` in the
|
|
53252
|
+
// second. Measured: with `['literal']` alone only en and fr captured the
|
|
53253
|
+
// tail. Widening is safe precisely because the slot is marker-guarded \u2014
|
|
53254
|
+
// nothing reaches it until `using view` has matched.
|
|
53255
|
+
expectedTypes: ["literal", "expression"],
|
|
53256
|
+
valueShape: "keyword",
|
|
53257
|
+
markerOverride: USING_VIEW_MARKER_ALL_LANGS
|
|
53258
|
+
};
|
|
52908
53259
|
swapSchema = {
|
|
52909
53260
|
action: "swap",
|
|
52910
53261
|
description: "Swap DOM content using various strategies (innerHTML, outerHTML, delete, etc.)",
|
|
@@ -52925,7 +53276,11 @@ ${body}
|
|
|
52925
53276
|
// work. Preserved verbatim by the Arc F migration (a faithful migration must
|
|
52926
53277
|
// not change output) and pinned as two `drift` exemptions; this is the
|
|
52927
53278
|
// behavior fix those entries were waiting for.
|
|
52928
|
-
|
|
53279
|
+
//
|
|
53280
|
+
// `manner` is the exception to "keyword-positional args": it rides as
|
|
53281
|
+
// `modifiers.viewTransition`, which SwapCommand.parseInput reads for presence
|
|
53282
|
+
// alongside its existing flat-args `using`/`view`/`transition` scan.
|
|
53283
|
+
ast: { args: ["method", "destination", "patient"], modifiers: { viewTransition: "manner" } },
|
|
52929
53284
|
roles: [
|
|
52930
53285
|
{
|
|
52931
53286
|
role: "method",
|
|
@@ -53020,6 +53375,11 @@ ${body}
|
|
|
53020
53375
|
ar: "\u0628\u0640",
|
|
53021
53376
|
tl: "nang"
|
|
53022
53377
|
}
|
|
53378
|
+
},
|
|
53379
|
+
{
|
|
53380
|
+
...VIEW_TRANSITION_MANNER_ROLE,
|
|
53381
|
+
svoPosition: 4,
|
|
53382
|
+
sovPosition: 4
|
|
53023
53383
|
}
|
|
53024
53384
|
]
|
|
53025
53385
|
};
|
|
@@ -53030,7 +53390,15 @@ ${body}
|
|
|
53030
53390
|
primaryRole: "patient",
|
|
53031
53391
|
// `morph #list to it` \u2192 args [content], modifiers { on: element }.
|
|
53032
53392
|
// Content is source or destination; the element being morphed is the patient.
|
|
53033
|
-
|
|
53393
|
+
//
|
|
53394
|
+
// `manner` rides as `modifiers.viewTransition`, same as swap/process \u2014
|
|
53395
|
+
// MorphCommand.parseInput reads it for presence alongside its existing
|
|
53396
|
+
// flat-args `using`/`view`/`transition` scan (the traditional-parser path,
|
|
53397
|
+
// which owns English because morph sits on SKIP_SEMANTIC_COMMANDS).
|
|
53398
|
+
ast: {
|
|
53399
|
+
args: [["source", "destination"]],
|
|
53400
|
+
modifiers: { on: "patient", viewTransition: "manner" }
|
|
53401
|
+
},
|
|
53034
53402
|
roles: [
|
|
53035
53403
|
{
|
|
53036
53404
|
role: "patient",
|
|
@@ -53051,6 +53419,18 @@ ${body}
|
|
|
53051
53419
|
sovPosition: 2,
|
|
53052
53420
|
markerOverride: { en: "to" }
|
|
53053
53421
|
// "morph #target to it"
|
|
53422
|
+
},
|
|
53423
|
+
{
|
|
53424
|
+
// `morph #target to it using view transition` \u2014 the same tail as swap and
|
|
53425
|
+
// process, closed here for the same reason (#870's third-schema filing):
|
|
53426
|
+
// without the role the semantic parser matched morph at confidence 1.0
|
|
53427
|
+
// and stranded the tail, so every semantic-only consumer (multilingual
|
|
53428
|
+
// bundles, the bridge, `translate()`) silently dropped the animation
|
|
53429
|
+
// request in all 24 languages. Morph has NO hand-written patterns in any
|
|
53430
|
+
// language, so this schema role is the whole fix on the pattern side.
|
|
53431
|
+
...VIEW_TRANSITION_MANNER_ROLE,
|
|
53432
|
+
svoPosition: 3,
|
|
53433
|
+
sovPosition: 3
|
|
53054
53434
|
}
|
|
53055
53435
|
]
|
|
53056
53436
|
};
|
|
@@ -53237,6 +53617,13 @@ ${body}
|
|
|
53237
53617
|
description: "Process hx-partial markup in HTML content",
|
|
53238
53618
|
category: "dom-content",
|
|
53239
53619
|
primaryRole: "patient",
|
|
53620
|
+
// `process partials in it` \u2192 args ['it']; the optional tail rides as
|
|
53621
|
+
// `modifiers.viewTransition`, which ProcessPartialsCommand.parseInput has
|
|
53622
|
+
// read since #861 (`raw.modifiers?.viewTransition !== undefined`). Without a
|
|
53623
|
+
// descriptor this schema fell through to `buildGenericCommand`, whose
|
|
53624
|
+
// modifier list is fixed (destination/duration/method/style) and would have
|
|
53625
|
+
// dropped a captured `manner` on the floor.
|
|
53626
|
+
ast: { args: ["patient"], modifiers: { viewTransition: "manner" } },
|
|
53240
53627
|
roles: [
|
|
53241
53628
|
{
|
|
53242
53629
|
role: "patient",
|
|
@@ -53246,6 +53633,11 @@ ${body}
|
|
|
53246
53633
|
svoPosition: 1,
|
|
53247
53634
|
sovPosition: 1,
|
|
53248
53635
|
markerOverride: PARTIALS_IN_MARKER_ALL_LANGS
|
|
53636
|
+
},
|
|
53637
|
+
{
|
|
53638
|
+
...VIEW_TRANSITION_MANNER_ROLE,
|
|
53639
|
+
svoPosition: 2,
|
|
53640
|
+
sovPosition: 2
|
|
53249
53641
|
}
|
|
53250
53642
|
]
|
|
53251
53643
|
};
|
|
@@ -54674,7 +55066,9 @@ ${body}
|
|
|
54674
55066
|
trigger: { primary: "d\xE9clencher", normalized: "trigger" },
|
|
54675
55067
|
send: { primary: "envoyer", alternatives: ["envoie"], normalized: "send" },
|
|
54676
55068
|
focus: { primary: "focaliser", alternatives: ["concentrer"], normalized: "focus" },
|
|
54677
|
-
|
|
55069
|
+
// `d\u00e9focaliser` is an unattested infinitive; French pedagogy writes
|
|
55070
|
+
// `perte de focus` for the event (2026-07 terminology review).
|
|
55071
|
+
blur: { primary: "perte de focus", alternatives: ["d\xE9focaliser"], normalized: "blur" },
|
|
54678
55072
|
// Phase 1 (v0.9.90): DOM / form state / debug
|
|
54679
55073
|
// `vide` (adjective, "empty") is the i18n transformer's `is empty` predicate
|
|
54680
55074
|
// form; `vider` is the verb ("to empty"). Accept both so the emptiness check
|
|
@@ -54687,7 +55081,13 @@ ${body}
|
|
|
54687
55081
|
reset: { primary: "r\xE9initialiser", alternatives: ["reinitialiser"], normalized: "reset" },
|
|
54688
55082
|
breakpoint: { primary: "point-arr\xEAt", alternatives: ["point-arret"], normalized: "breakpoint" },
|
|
54689
55083
|
go: { primary: "aller", alternatives: ["naviguer", "va"], normalized: "go" },
|
|
54690
|
-
|
|
55084
|
+
// MDN fr and the OQLF standardize the noun `d\u00e9filement` for the event; the
|
|
55085
|
+
// infinitive stays as an alternative.
|
|
55086
|
+
scroll: {
|
|
55087
|
+
primary: "d\xE9filement",
|
|
55088
|
+
alternatives: ["defilement", "d\xE9filer", "faire-d\xE9filer"],
|
|
55089
|
+
normalized: "scroll"
|
|
55090
|
+
},
|
|
54691
55091
|
push: { primary: "pousser", normalized: "push" },
|
|
54692
55092
|
replace: { primary: "remplacer", normalized: "replace" },
|
|
54693
55093
|
process: { primary: "traiter", normalized: "process" },
|
|
@@ -54753,9 +55153,15 @@ ${body}
|
|
|
54753
55153
|
after: { primary: "apr\xE8s", normalized: "after" },
|
|
54754
55154
|
// Common event names (for event handler patterns)
|
|
54755
55155
|
click: { primary: "clic", alternatives: ["clique"], normalized: "click" },
|
|
54756
|
-
// `resize` event (window-resize):
|
|
54757
|
-
// event
|
|
54758
|
-
|
|
55156
|
+
// `resize` event (window-resize): the noun `redimensionnement` is the
|
|
55157
|
+
// attested event form ("lors du redimensionnement de la fen\u00eatre"). The dict
|
|
55158
|
+
// still emits redimensionner, kept as an alternative so the event keeps
|
|
55159
|
+
// typing as literal="resize" (matching en) instead of expression.
|
|
55160
|
+
resize: {
|
|
55161
|
+
primary: "redimensionnement",
|
|
55162
|
+
alternatives: ["redimensionner"],
|
|
55163
|
+
normalized: "resize"
|
|
55164
|
+
},
|
|
54759
55165
|
hover: { primary: "survol", alternatives: ["survoler"], normalized: "hover" },
|
|
54760
55166
|
submit: { primary: "soumission", alternatives: ["soumettre"], normalized: "submit" },
|
|
54761
55167
|
input: { primary: "saisie", alternatives: ["entr\xE9e"], normalized: "input" },
|
|
@@ -58493,9 +58899,17 @@ ${body}
|
|
|
58493
58899
|
on: { primary: "\xFCzerinde", alternatives: ["zaman"], normalized: "on" },
|
|
58494
58900
|
trigger: { primary: "tetikle", normalized: "trigger" },
|
|
58495
58901
|
send: { primary: "g\xF6nder", normalized: "send" },
|
|
58496
|
-
// DOM focus
|
|
58497
|
-
|
|
58498
|
-
|
|
58902
|
+
// DOM focus. `odaklanma` (the act of focusing) leads over the static state
|
|
58903
|
+
// noun `odak` \u2014 Turkish event prose says "odaklanma olay\u0131". `bulan\u0131k` was
|
|
58904
|
+
// the optical blur (CSS filters, image processing), never the DOM event;
|
|
58905
|
+
// native usage is `odak kayb\u0131` (loss of focus). 2026-07 terminology-review
|
|
58906
|
+
// corrections; old forms stay as parse alternatives.
|
|
58907
|
+
focus: { primary: "odaklanma", alternatives: ["odak"], normalized: "focus" },
|
|
58908
|
+
blur: {
|
|
58909
|
+
primary: "odak kayb\u0131",
|
|
58910
|
+
alternatives: ["odak kaybi", "bulan\u0131k", "bulan\u0131kl\u0131k", "bulanik"],
|
|
58911
|
+
normalized: "blur"
|
|
58912
|
+
},
|
|
58499
58913
|
// Phase 1 (v0.9.90): DOM / form state / debug
|
|
58500
58914
|
empty: { primary: "bo\u015Falt", alternatives: ["bosalt", "bo\u015F"], normalized: "empty" },
|
|
58501
58915
|
open: { primary: "a\xE7", alternatives: ["ac"], normalized: "open" },
|
|
@@ -58516,7 +58930,9 @@ ${body}
|
|
|
58516
58930
|
},
|
|
58517
58931
|
hover: { primary: "\xFCzerine gelme", alternatives: ["\xFCzerinde gezinme"], normalized: "hover" },
|
|
58518
58932
|
submit: { primary: "g\xF6nderme", normalized: "submit" },
|
|
58519
|
-
|
|
58933
|
+
// `giri\u015f` reads as entry/login (giri\u015f yapma) and can imply an auth event;
|
|
58934
|
+
// the data-input term is `girdi` ("Girdi (Input) Eventleri").
|
|
58935
|
+
input: { primary: "girdi", alternatives: ["giri\u015F", "giris"], normalized: "input" },
|
|
58520
58936
|
change: { primary: "de\u011Fi\u015Fiklik", alternatives: ["de\u011Fi\u015Fim", "degisim"], normalized: "change" },
|
|
58521
58937
|
// `load` event: the i18n dict emits y\u00fckle for `load`. Without this keyword the
|
|
58522
58938
|
// SOV reorder's mid-stream `y\u00fckle de` (on load) tokenized as the `install`
|
|
@@ -58526,7 +58942,13 @@ ${body}
|
|
|
58526
58942
|
load: { primary: "y\xFCkle", normalized: "load" },
|
|
58527
58943
|
// Navigation
|
|
58528
58944
|
go: { primary: "git", normalized: "go" },
|
|
58529
|
-
|
|
58945
|
+
// `kayd\u0131r` is the bare imperative; the attested event noun is `kayd\u0131rma`
|
|
58946
|
+
// ("kayd\u0131rma olay\u0131"). The imperative stays as an alternative.
|
|
58947
|
+
scroll: {
|
|
58948
|
+
primary: "kayd\u0131rma",
|
|
58949
|
+
alternatives: ["kaydirma", "kayd\u0131r", "kaydir"],
|
|
58950
|
+
normalized: "scroll"
|
|
58951
|
+
},
|
|
58530
58952
|
push: { primary: "itele", alternatives: ["push"], normalized: "push" },
|
|
58531
58953
|
replace: { primary: "de\u011Fi\u015Ftir_url", alternatives: ["degistir_url"], normalized: "replace" },
|
|
58532
58954
|
process: { primary: "i\u015Fle", alternatives: ["isle"], normalized: "process" },
|
|
@@ -59469,6 +59891,20 @@ ${body}
|
|
|
59469
59891
|
};
|
|
59470
59892
|
}
|
|
59471
59893
|
});
|
|
59894
|
+
init_marker_resolution = __esm2({
|
|
59895
|
+
"src/parser/utils/marker-resolution.ts"() {
|
|
59896
|
+
ROLE_MARKER_CONCEPTS = /* @__PURE__ */ new Set([
|
|
59897
|
+
"destination",
|
|
59898
|
+
"source",
|
|
59899
|
+
"patient",
|
|
59900
|
+
"object",
|
|
59901
|
+
"event",
|
|
59902
|
+
"eventmarker",
|
|
59903
|
+
"manner",
|
|
59904
|
+
"instrument"
|
|
59905
|
+
]);
|
|
59906
|
+
}
|
|
59907
|
+
});
|
|
59472
59908
|
init_put = __esm2({
|
|
59473
59909
|
"src/patterns/put.ts"() {
|
|
59474
59910
|
PUT_POSITIONAL = [
|
|
@@ -70505,10 +70941,6 @@ ${body}
|
|
|
70505
70941
|
"src/parser/utils/role-positioning.ts"() {
|
|
70506
70942
|
}
|
|
70507
70943
|
});
|
|
70508
|
-
init_marker_resolution = __esm2({
|
|
70509
|
-
"src/parser/utils/marker-resolution.ts"() {
|
|
70510
|
-
}
|
|
70511
|
-
});
|
|
70512
70944
|
init_event_handlers_sov = __esm2({
|
|
70513
70945
|
"src/generators/event-handlers-sov.ts"() {
|
|
70514
70946
|
init_command_schemas();
|
|
@@ -70662,6 +71094,21 @@ ${body}
|
|
|
70662
71094
|
});
|
|
70663
71095
|
init_swap = __esm2({
|
|
70664
71096
|
"src/patterns/languages/en/swap.ts"() {
|
|
71097
|
+
VIEW_TRANSITION_TAIL = {
|
|
71098
|
+
type: "group",
|
|
71099
|
+
optional: true,
|
|
71100
|
+
tokens: [
|
|
71101
|
+
{ type: "literal", value: "using" },
|
|
71102
|
+
{ type: "literal", value: "view" },
|
|
71103
|
+
{
|
|
71104
|
+
type: "role",
|
|
71105
|
+
role: "manner",
|
|
71106
|
+
optional: true,
|
|
71107
|
+
expectedTypes: ["literal", "expression"],
|
|
71108
|
+
valueShape: "keyword"
|
|
71109
|
+
}
|
|
71110
|
+
]
|
|
71111
|
+
};
|
|
70665
71112
|
swapSimpleEnglish = {
|
|
70666
71113
|
id: "swap-en-handcrafted",
|
|
70667
71114
|
language: "en",
|
|
@@ -70669,11 +71116,12 @@ ${body}
|
|
|
70669
71116
|
priority: 110,
|
|
70670
71117
|
// Higher than generated patterns
|
|
70671
71118
|
template: {
|
|
70672
|
-
format: "swap {method} {destination}",
|
|
71119
|
+
format: "swap {method} {destination} [using view {manner}]",
|
|
70673
71120
|
tokens: [
|
|
70674
71121
|
{ type: "literal", value: "swap" },
|
|
70675
71122
|
{ type: "role", role: "method" },
|
|
70676
|
-
{ type: "role", role: "destination" }
|
|
71123
|
+
{ type: "role", role: "destination" },
|
|
71124
|
+
VIEW_TRANSITION_TAIL
|
|
70677
71125
|
]
|
|
70678
71126
|
},
|
|
70679
71127
|
extraction: {
|
|
@@ -70687,12 +71135,13 @@ ${body}
|
|
|
70687
71135
|
command: "swap",
|
|
70688
71136
|
priority: 120,
|
|
70689
71137
|
template: {
|
|
70690
|
-
format: "swap {destination} with {patient}",
|
|
71138
|
+
format: "swap {destination} with {patient} [using view {manner}]",
|
|
70691
71139
|
tokens: [
|
|
70692
71140
|
{ type: "literal", value: "swap" },
|
|
70693
71141
|
{ type: "role", role: "destination" },
|
|
70694
71142
|
{ type: "literal", value: "with" },
|
|
70695
|
-
{ type: "role", role: "patient" }
|
|
71143
|
+
{ type: "role", role: "patient" },
|
|
71144
|
+
VIEW_TRANSITION_TAIL
|
|
70696
71145
|
]
|
|
70697
71146
|
},
|
|
70698
71147
|
extraction: {}
|
|
@@ -70703,14 +71152,15 @@ ${body}
|
|
|
70703
71152
|
command: "swap",
|
|
70704
71153
|
priority: 140,
|
|
70705
71154
|
template: {
|
|
70706
|
-
format: "swap {method} of {destination} with {patient}",
|
|
71155
|
+
format: "swap {method} of {destination} with {patient} [using view {manner}]",
|
|
70707
71156
|
tokens: [
|
|
70708
71157
|
{ type: "literal", value: "swap" },
|
|
70709
71158
|
{ type: "role", role: "method" },
|
|
70710
71159
|
{ type: "literal", value: "of" },
|
|
70711
71160
|
{ type: "role", role: "destination" },
|
|
70712
71161
|
{ type: "literal", value: "with" },
|
|
70713
|
-
{ type: "role", role: "patient" }
|
|
71162
|
+
{ type: "role", role: "patient" },
|
|
71163
|
+
VIEW_TRANSITION_TAIL
|
|
70714
71164
|
]
|
|
70715
71165
|
},
|
|
70716
71166
|
extraction: {}
|
|
@@ -70721,13 +71171,14 @@ ${body}
|
|
|
70721
71171
|
command: "swap",
|
|
70722
71172
|
priority: 130,
|
|
70723
71173
|
template: {
|
|
70724
|
-
format: "swap {method} {destination} with {patient}",
|
|
71174
|
+
format: "swap {method} {destination} with {patient} [using view {manner}]",
|
|
70725
71175
|
tokens: [
|
|
70726
71176
|
{ type: "literal", value: "swap" },
|
|
70727
71177
|
{ type: "role", role: "method" },
|
|
70728
71178
|
{ type: "role", role: "destination" },
|
|
70729
71179
|
{ type: "literal", value: "with" },
|
|
70730
|
-
{ type: "role", role: "patient" }
|
|
71180
|
+
{ type: "role", role: "patient" },
|
|
71181
|
+
VIEW_TRANSITION_TAIL
|
|
70731
71182
|
]
|
|
70732
71183
|
},
|
|
70733
71184
|
extraction: {}
|
|
@@ -72329,6 +72780,7 @@ ${body}
|
|
|
72329
72780
|
vi: vietnameseProfile,
|
|
72330
72781
|
zh: chineseProfile
|
|
72331
72782
|
});
|
|
72783
|
+
init_marker_resolution();
|
|
72332
72784
|
init_command_schemas();
|
|
72333
72785
|
init_english();
|
|
72334
72786
|
init_command_schemas();
|
|
@@ -72579,7 +73031,8 @@ ${body}
|
|
|
72579
73031
|
const hasDefault = (role) => {
|
|
72580
73032
|
return pattern.extraction?.[role]?.default !== void 0;
|
|
72581
73033
|
};
|
|
72582
|
-
const
|
|
73034
|
+
const wrappedAction = pattern.command === "on" ? pattern.extraction?.action?.value : void 0;
|
|
73035
|
+
const schemaRoles = commandSchemas[wrappedAction ?? pattern.command]?.roles;
|
|
72583
73036
|
const isShapeAnchored = (role) => schemaRoles?.find((r) => r.role === role)?.valueShape !== void 0;
|
|
72584
73037
|
for (const token of pattern.template.tokens) {
|
|
72585
73038
|
if (token.type === "role") {
|
|
@@ -72972,7 +73425,7 @@ ${body}
|
|
|
72972
73425
|
return patternToken.optional || false;
|
|
72973
73426
|
}
|
|
72974
73427
|
}
|
|
72975
|
-
if (patternToken.optional && nextPatternToken === void 0 && patternToken.role !== "event" && patternToken.role !== "action" && token.kind === "keyword") {
|
|
73428
|
+
if (patternToken.optional && nextPatternToken === void 0 && patternToken.role !== "event" && patternToken.role !== "action" && patternToken.valueShape !== "keyword" && token.kind === "keyword") {
|
|
72976
73429
|
const verbNorm = (token.normalized ?? token.value).toLowerCase();
|
|
72977
73430
|
if (verbNorm in commandSchemas) {
|
|
72978
73431
|
return true;
|
|
@@ -73127,7 +73580,14 @@ ${body}
|
|
|
73127
73580
|
}
|
|
73128
73581
|
}
|
|
73129
73582
|
}
|
|
73130
|
-
|
|
73583
|
+
if (patternToken.valueShape === "keyword" && value.type === "expression") {
|
|
73584
|
+
captured.set(
|
|
73585
|
+
patternToken.role,
|
|
73586
|
+
createLiteral(String(value.raw ?? ""))
|
|
73587
|
+
);
|
|
73588
|
+
} else {
|
|
73589
|
+
captured.set(patternToken.role, value);
|
|
73590
|
+
}
|
|
73131
73591
|
tokens.advance();
|
|
73132
73592
|
if (patternToken.role === "event") {
|
|
73133
73593
|
const filterTok = tokens.peek();
|
|
@@ -73716,17 +74176,7 @@ ${body}
|
|
|
73716
74176
|
* so this never blocks a genuine `my value` / `its style` possessive.
|
|
73717
74177
|
*/
|
|
73718
74178
|
isRoleMarkerConcept(normalized2) {
|
|
73719
|
-
|
|
73720
|
-
"destination",
|
|
73721
|
-
"source",
|
|
73722
|
-
"patient",
|
|
73723
|
-
"object",
|
|
73724
|
-
"event",
|
|
73725
|
-
"eventmarker",
|
|
73726
|
-
"manner",
|
|
73727
|
-
"instrument"
|
|
73728
|
-
]);
|
|
73729
|
-
return markerConcepts.has(normalized2.toLowerCase());
|
|
74179
|
+
return ROLE_MARKER_CONCEPTS.has(normalized2.toLowerCase());
|
|
73730
74180
|
}
|
|
73731
74181
|
/**
|
|
73732
74182
|
* Does `token` look like an EVENT name for the `event` role? Events are bare
|
|
@@ -74112,7 +74562,7 @@ ${body}
|
|
|
74112
74562
|
*/
|
|
74113
74563
|
matchGroupToken(tokens, patternToken, captured, nextPatternToken) {
|
|
74114
74564
|
const mark = tokens.mark();
|
|
74115
|
-
const capturedBefore = new
|
|
74565
|
+
const capturedBefore = new Map(captured);
|
|
74116
74566
|
const success = this.matchTokenSequence(
|
|
74117
74567
|
tokens,
|
|
74118
74568
|
patternToken.tokens,
|
|
@@ -74126,6 +74576,11 @@ ${body}
|
|
|
74126
74576
|
captured.delete(role);
|
|
74127
74577
|
}
|
|
74128
74578
|
}
|
|
74579
|
+
for (const [role, value] of capturedBefore) {
|
|
74580
|
+
if (captured.get(role) !== value) {
|
|
74581
|
+
captured.set(role, value);
|
|
74582
|
+
}
|
|
74583
|
+
}
|
|
74129
74584
|
return patternToken.optional || false;
|
|
74130
74585
|
}
|
|
74131
74586
|
return true;
|
|
@@ -74227,7 +74682,7 @@ ${body}
|
|
|
74227
74682
|
} else if (rule.value !== void 0) {
|
|
74228
74683
|
captured.set(role, { type: "literal", value: rule.value });
|
|
74229
74684
|
} else if (rule.default) {
|
|
74230
|
-
captured.set(role, rule.default);
|
|
74685
|
+
captured.set(role, { ...rule.default, implicit: true });
|
|
74231
74686
|
}
|
|
74232
74687
|
}
|
|
74233
74688
|
}
|
|
@@ -74397,6 +74852,7 @@ ${body}
|
|
|
74397
74852
|
init_base();
|
|
74398
74853
|
init_registry();
|
|
74399
74854
|
init_command_schemas();
|
|
74855
|
+
init_marker_resolution();
|
|
74400
74856
|
init_registry();
|
|
74401
74857
|
OPENER_ACTIONS = ["if", "unless", "repeat", "for", "while"];
|
|
74402
74858
|
PASCAL_CASE_NAME = /^[A-Z][A-Za-z0-9_]*$/;
|
|
@@ -74529,14 +74985,20 @@ ${body}
|
|
|
74529
74985
|
return parts.join(" ");
|
|
74530
74986
|
}
|
|
74531
74987
|
/**
|
|
74532
|
-
* Join a statement list the way a block body reads:
|
|
74533
|
-
* but a single space immediately after a loop/tell block header
|
|
74534
|
-
* follows directly).
|
|
74535
|
-
* keeps its own copy because it also handles the multi-handler
|
|
74536
|
-
* cases.
|
|
74988
|
+
* Join a statement list the way a block body reads: the target language's `then`
|
|
74989
|
+
* between siblings, but a single space immediately after a loop/tell block header
|
|
74990
|
+
* (whose body follows directly). Used by renderConditional's branches;
|
|
74991
|
+
* renderCompound keeps its own copy because it also handles the multi-handler
|
|
74992
|
+
* and bind-feature cases.
|
|
74993
|
+
*
|
|
74994
|
+
* The chain word is localized (`this.keyword(language, 'then')`) for the same
|
|
74995
|
+
* reason renderCompound localizes it: a hardcoded English `then` leaks into every
|
|
74996
|
+
* non-en block body (`\u3082\u3057 \u2026 \u524a\u9664 then \u8ffd\u52a0`), which no target-language tokenizer
|
|
74997
|
+
* recognizes as a connector.
|
|
74537
74998
|
*/
|
|
74538
74999
|
joinStatements(statements, language) {
|
|
74539
75000
|
const rendered = statements.map((s) => this.render(s, language));
|
|
75001
|
+
const thenKw = this.keyword(language, "then");
|
|
74540
75002
|
let out = rendered[0] ?? "";
|
|
74541
75003
|
for (let i = 1; i < rendered.length; i++) {
|
|
74542
75004
|
const prev = statements[i - 1];
|
|
@@ -74544,7 +75006,7 @@ ${body}
|
|
|
74544
75006
|
if (prev.kind === "command" && BLOCK_NEEDS_TRAILING_END.has(prev.action)) {
|
|
74545
75007
|
out += ` ${this.keyword(language, "end")}`;
|
|
74546
75008
|
}
|
|
74547
|
-
out += (afterBlockHeader ? " " :
|
|
75009
|
+
out += (afterBlockHeader ? " " : ` ${thenKw} `) + rendered[i];
|
|
74548
75010
|
}
|
|
74549
75011
|
return out;
|
|
74550
75012
|
}
|
|
@@ -74717,6 +75179,7 @@ ${body}
|
|
|
74717
75179
|
if (!roleToken) continue;
|
|
74718
75180
|
const roleValue = node.roles.get(roleName);
|
|
74719
75181
|
if (roleValue?.type !== "reference" || roleValue.value !== "me") continue;
|
|
75182
|
+
if (!roleValue.implicit) continue;
|
|
74720
75183
|
if (roleName === "destination") {
|
|
74721
75184
|
const patient = node.roles.get("patient");
|
|
74722
75185
|
if (patient?.type === "literal" && patient.dataType === "string") continue;
|
|
@@ -75564,7 +76027,7 @@ ${body}
|
|
|
75564
76027
|
}
|
|
75565
76028
|
let eventModifiers = patternMatcher.extractEventModifiers(tokens);
|
|
75566
76029
|
const sourceValue = match.captured.get("source");
|
|
75567
|
-
if (sourceValue && match.pattern.id.
|
|
76030
|
+
if (sourceValue && match.pattern.id.endsWith("source") && !(sourceValue.type === "reference" && sourceValue.value === "me")) {
|
|
75568
76031
|
eventModifiers = { ...eventModifiers ?? {}, from: sourceValue };
|
|
75569
76032
|
}
|
|
75570
76033
|
const additionalEvents = this.extractOrConjunctionEvents(tokens, language);
|
|
@@ -75714,13 +76177,18 @@ ${body}
|
|
|
75714
76177
|
if (!spec) return true;
|
|
75715
76178
|
return spec.expectedTypes.length > 0 && !spec.expectedTypes.includes(valType(val));
|
|
75716
76179
|
};
|
|
76180
|
+
const isMarkerConceptJunk = (role, val) => role === "patient" && !!schema && !schema.roles.some((r) => r.role === "patient") && valType(val) === "literal" && ROLE_MARKER_CONCEPTS.has(
|
|
76181
|
+
String(val.value ?? "").toLowerCase()
|
|
76182
|
+
);
|
|
75717
76183
|
const preservesFused = !!first && first.kind === "command" && Object.entries(roles).every(([role, val]) => {
|
|
75718
|
-
if (isIgnorableFusedRole(role, val)) return true;
|
|
76184
|
+
if (isIgnorableFusedRole(role, val) || isMarkerConceptJunk(role, val)) return true;
|
|
75719
76185
|
const rv = first.roles.get(mapRole(role));
|
|
75720
76186
|
if (rv !== void 0 && valType(rv) === valType(val)) return true;
|
|
75721
76187
|
if (role === "patient" && actionName === "pick" && valType(val) === "literal") {
|
|
75722
76188
|
const mv = first.roles.get("method");
|
|
75723
|
-
|
|
76189
|
+
const mvType = valType(mv);
|
|
76190
|
+
const mvSurface = mvType === "literal" ? String(mv.value) : mvType === "expression" ? String(mv.raw) : void 0;
|
|
76191
|
+
return mvSurface !== void 0 && mvSurface === String(val.value);
|
|
75724
76192
|
}
|
|
75725
76193
|
return false;
|
|
75726
76194
|
});
|
|
@@ -75730,7 +76198,12 @@ ${body}
|
|
|
75730
76198
|
// the swap can never swallow a body command. The body-swallowing
|
|
75731
76199
|
// generated repeat matches none of these ids.
|
|
75732
76200
|
/^repeat-.*-(times|for-in|while-head|until-head)$/.test(reparsePid);
|
|
75733
|
-
if (reparsed.length === 1 && first && first.kind === "command" && first.action === actionName && preservesFused && headOnlyOk &&
|
|
76201
|
+
if (reparsed.length === 1 && first && first.kind === "command" && first.action === actionName && preservesFused && headOnlyOk && // Strictly-more: the re-parse must recover something the fused
|
|
76202
|
+
// capture lacked. Junk marker captures are excluded from the
|
|
76203
|
+
// count \u2014 a fused shape whose ONLY role is a swallowed marker
|
|
76204
|
+
// (scroll: `destination:literal="destination"`) would otherwise
|
|
76205
|
+
// tie 1 > 1 and veto its own repair.
|
|
76206
|
+
first.roles.size > Object.entries(roles).filter(([r, v2]) => !isMarkerConceptJunk(r, v2)).length) {
|
|
75734
76207
|
commandNode = first;
|
|
75735
76208
|
while (tokens.position() < clauseEnd) tokens.advance();
|
|
75736
76209
|
} else {
|
|
@@ -78817,6 +79290,12 @@ ${body}
|
|
|
78817
79290
|
init_event_handler();
|
|
78818
79291
|
init_wait();
|
|
78819
79292
|
init_repeat();
|
|
79293
|
+
PICK_UNIT_WORDS = /* @__PURE__ */ new Set(["character", "characters", "item", "items"]);
|
|
79294
|
+
retypePickUnitWord = (raw) => {
|
|
79295
|
+
if (PICK_UNIT_WORDS.has(raw)) return { type: "expression", raw };
|
|
79296
|
+
const n = Number(raw);
|
|
79297
|
+
return createLiteral(raw !== "" && !Number.isNaN(n) ? n : raw);
|
|
79298
|
+
};
|
|
78820
79299
|
VERB_INITIAL_SPECS = {
|
|
78821
79300
|
ar: { srcMarker: "\u0645\u0646" },
|
|
78822
79301
|
de: { srcMarker: "von", srcAlternatives: ["aus"] },
|
|
@@ -90504,6 +90983,7 @@ __export(index_exports, {
|
|
|
90504
90983
|
extractOperations: () => extractOperations,
|
|
90505
90984
|
generateCacheKey: () => generateCacheKey,
|
|
90506
90985
|
jsonToSemanticNode: () => import_ir.jsonToSemanticNode,
|
|
90986
|
+
scoreNodes: () => import_fidelity.scoreNodes,
|
|
90507
90987
|
validateSemanticJSON: () => import_ir.validateSemanticJSON
|
|
90508
90988
|
});
|
|
90509
90989
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -90760,6 +91240,9 @@ function generateSummary(trigger, opDiffs) {
|
|
|
90760
91240
|
return parts.join(". ");
|
|
90761
91241
|
}
|
|
90762
91242
|
|
|
91243
|
+
// src/scoring/score.ts
|
|
91244
|
+
var import_fidelity = require("@lokascript/semantic/fidelity");
|
|
91245
|
+
|
|
90763
91246
|
// src/input/detect.ts
|
|
90764
91247
|
function detectFormat(input) {
|
|
90765
91248
|
const trimmed = input.trim();
|
|
@@ -90816,6 +91299,23 @@ function normalize(request) {
|
|
|
90816
91299
|
return normalizeNatural(input, request.language ?? "en");
|
|
90817
91300
|
}
|
|
90818
91301
|
}
|
|
91302
|
+
function liftNodeDiagnostics(node, diagnostics) {
|
|
91303
|
+
const nodeDiags = node.diagnostics;
|
|
91304
|
+
if (!Array.isArray(nodeDiags)) return;
|
|
91305
|
+
for (const d of nodeDiags) {
|
|
91306
|
+
if (d.severity !== "warning" && d.severity !== "error") continue;
|
|
91307
|
+
const diag = {
|
|
91308
|
+
severity: d.severity,
|
|
91309
|
+
// Parser codes are kebab-case; this surface uses UPPER_SNAKE (PARSE_ERROR &c).
|
|
91310
|
+
code: (d.code ?? "PARSE_DIAGNOSTIC").replace(/-/g, "_").toUpperCase(),
|
|
91311
|
+
message: d.message ?? "parser diagnostic"
|
|
91312
|
+
};
|
|
91313
|
+
if (d.code === "unconsumed-input") {
|
|
91314
|
+
diag.suggestion = "Dropped tokens were parsed but bound to no role \u2014 usually a missing role marker (e.g. 'to'/'on'/'from' before the target), so the role fell back to a default like `me`. Compare the returned roles against your intent.";
|
|
91315
|
+
}
|
|
91316
|
+
diagnostics.push(diag);
|
|
91317
|
+
}
|
|
91318
|
+
}
|
|
90819
91319
|
function normalizeNatural(code, language) {
|
|
90820
91320
|
const diagnostics = [];
|
|
90821
91321
|
try {
|
|
@@ -90836,6 +91336,7 @@ function normalizeNatural(code, language) {
|
|
|
90836
91336
|
});
|
|
90837
91337
|
return { node: null, confidence: result.confidence, format: "natural", diagnostics };
|
|
90838
91338
|
}
|
|
91339
|
+
liftNodeDiagnostics(result.node, diagnostics);
|
|
90839
91340
|
return {
|
|
90840
91341
|
node: result.node,
|
|
90841
91342
|
confidence: result.confidence,
|
|
@@ -90893,6 +91394,66 @@ function normalizeJSON(input) {
|
|
|
90893
91394
|
};
|
|
90894
91395
|
}
|
|
90895
91396
|
|
|
91397
|
+
// src/validation/inert-shapes.ts
|
|
91398
|
+
var QUANTIFIER = /^(all|every|each)\.(\S+)$/;
|
|
91399
|
+
var PREDICATE_AS_CLASS = /(^|\s)\.(has|is|contains|matches|includes)(\s|$)/;
|
|
91400
|
+
function valueString(v2) {
|
|
91401
|
+
return String(v2.value ?? v2.raw ?? "");
|
|
91402
|
+
}
|
|
91403
|
+
function checkInertShapes(node) {
|
|
91404
|
+
const out = [];
|
|
91405
|
+
walk(node, out);
|
|
91406
|
+
return out;
|
|
91407
|
+
}
|
|
91408
|
+
function walk(node, out) {
|
|
91409
|
+
if (!node || typeof node !== "object") return;
|
|
91410
|
+
const n = node;
|
|
91411
|
+
if (n.roles && typeof n.roles.entries === "function") {
|
|
91412
|
+
for (const [role, raw] of n.roles.entries()) {
|
|
91413
|
+
const v2 = raw ?? {};
|
|
91414
|
+
const s = valueString(v2);
|
|
91415
|
+
const q = v2.type === "expression" ? QUANTIFIER.exec(s) : null;
|
|
91416
|
+
if (q && (role === "destination" || role === "source")) {
|
|
91417
|
+
out.push({
|
|
91418
|
+
severity: "warning",
|
|
91419
|
+
code: "INERT_QUANTIFIER_TARGET",
|
|
91420
|
+
message: `${role} parsed as property access "${s}" \u2014 "${q[1]}" is an undefined identifier at runtime, so this ${role} will not resolve.`,
|
|
91421
|
+
suggestion: `Selectors already address every match: write the bare selector (e.g. ".${q[2]}") without "${q[1]}".`
|
|
91422
|
+
});
|
|
91423
|
+
continue;
|
|
91424
|
+
}
|
|
91425
|
+
if (role === "condition" && v2.type === "expression" && PREDICATE_AS_CLASS.test(s)) {
|
|
91426
|
+
const word = PREDICATE_AS_CLASS.exec(s)?.[2];
|
|
91427
|
+
out.push({
|
|
91428
|
+
severity: "warning",
|
|
91429
|
+
code: "HALF_PARSED_CONDITION",
|
|
91430
|
+
message: `condition parsed ".${word}" as a class selector (full condition: "${s}") \u2014 it will evaluate falsy and the body will never run.`,
|
|
91431
|
+
suggestion: "For class tests use `matches`: `if #box matches .danger`."
|
|
91432
|
+
});
|
|
91433
|
+
continue;
|
|
91434
|
+
}
|
|
91435
|
+
if (v2.type === "selector" && s.startsWith("<")) {
|
|
91436
|
+
out.push({
|
|
91437
|
+
severity: "warning",
|
|
91438
|
+
code: "UNSUPPORTED_QUERY_LITERAL",
|
|
91439
|
+
message: `${role} selector "${s}" uses query-literal syntax, which this parser does not support \u2014 at runtime it is an invalid CSS selector and matches nothing.`,
|
|
91440
|
+
suggestion: `Use a plain CSS selector instead (e.g. "${s.replace(/^<|\/?>$/g, "")}").`
|
|
91441
|
+
});
|
|
91442
|
+
continue;
|
|
91443
|
+
}
|
|
91444
|
+
if (n.action === "set" && v2.type === "property-path" && v2.property === "text") {
|
|
91445
|
+
out.push({
|
|
91446
|
+
severity: "warning",
|
|
91447
|
+
code: "INERT_PROPERTY_WRITE",
|
|
91448
|
+
message: `set targets property "text" \u2014 on most elements this is not a DOM property, so the write usually changes nothing visible.`,
|
|
91449
|
+
suggestion: 'Use `textContent` (`set the textContent of #el to \u2026`) or `put "\u2026" into #el`.'
|
|
91450
|
+
});
|
|
91451
|
+
}
|
|
91452
|
+
}
|
|
91453
|
+
}
|
|
91454
|
+
if (Array.isArray(n.body)) for (const child of n.body) walk(child, out);
|
|
91455
|
+
}
|
|
91456
|
+
|
|
90896
91457
|
// src/validation/gates.ts
|
|
90897
91458
|
var _validators = null;
|
|
90898
91459
|
function initValidation(validators) {
|
|
@@ -90949,6 +91510,7 @@ function runValidationGates(node, confidence, confidenceThreshold) {
|
|
|
90949
91510
|
}
|
|
90950
91511
|
}
|
|
90951
91512
|
}
|
|
91513
|
+
diagnostics.push(...checkInertShapes(node));
|
|
90952
91514
|
return { pass: true, diagnostics, adjustedConfidence };
|
|
90953
91515
|
}
|
|
90954
91516
|
function nodeToParseResult(node) {
|
|
@@ -93401,9 +93963,17 @@ var CompilationService = class _CompilationService {
|
|
|
93401
93963
|
}
|
|
93402
93964
|
try {
|
|
93403
93965
|
const result = this.translateFn(request.code, request.from, request.to);
|
|
93966
|
+
let verification;
|
|
93967
|
+
if (request.verify !== false) {
|
|
93968
|
+
verification = this.scoreFidelity({
|
|
93969
|
+
reference: { code: request.code, language: request.from },
|
|
93970
|
+
candidate: { code: result, language: request.to }
|
|
93971
|
+
});
|
|
93972
|
+
}
|
|
93404
93973
|
return {
|
|
93405
93974
|
ok: true,
|
|
93406
93975
|
code: result,
|
|
93976
|
+
...verification !== void 0 ? { verification } : {},
|
|
93407
93977
|
diagnostics: []
|
|
93408
93978
|
};
|
|
93409
93979
|
} catch (error) {
|
|
@@ -93627,6 +94197,41 @@ var CompilationService = class _CompilationService {
|
|
|
93627
94197
|
diagnostics
|
|
93628
94198
|
};
|
|
93629
94199
|
}
|
|
94200
|
+
/**
|
|
94201
|
+
* Score a candidate against a reference for structural fidelity — the
|
|
94202
|
+
* multilingual ratchet's scorers (docs/FIDELITY.md) applied to one pair of
|
|
94203
|
+
* inputs. Sides accept any input format and may be in different languages;
|
|
94204
|
+
* see src/scoring/score.ts for signal semantics. Complementary to diff():
|
|
94205
|
+
* diff answers "identical, and where not?", this answers "how faithful, and
|
|
94206
|
+
* what exactly is missing or hallucinated?".
|
|
94207
|
+
*/
|
|
94208
|
+
scoreFidelity(request) {
|
|
94209
|
+
const diagnostics = [];
|
|
94210
|
+
const threshold = request.confidence ?? this.confidenceThreshold;
|
|
94211
|
+
const normRef = normalize({ ...request.reference, confidence: request.confidence });
|
|
94212
|
+
diagnostics.push(
|
|
94213
|
+
...normRef.diagnostics.map((d) => ({ ...d, message: `[reference] ${d.message}` }))
|
|
94214
|
+
);
|
|
94215
|
+
const normCand = normalize({ ...request.candidate, confidence: request.confidence });
|
|
94216
|
+
diagnostics.push(
|
|
94217
|
+
...normCand.diagnostics.map((d) => ({ ...d, message: `[candidate] ${d.message}` }))
|
|
94218
|
+
);
|
|
94219
|
+
if (!normRef.node || !normCand.node) {
|
|
94220
|
+
return { ok: false, diagnostics };
|
|
94221
|
+
}
|
|
94222
|
+
const gateRef = runValidationGates(normRef.node, normRef.confidence, threshold);
|
|
94223
|
+
const gateCand = runValidationGates(normCand.node, normCand.confidence, threshold);
|
|
94224
|
+
diagnostics.push(
|
|
94225
|
+
...gateRef.diagnostics.map((d) => ({ ...d, message: `[reference] ${d.message}` }))
|
|
94226
|
+
);
|
|
94227
|
+
diagnostics.push(
|
|
94228
|
+
...gateCand.diagnostics.map((d) => ({ ...d, message: `[candidate] ${d.message}` }))
|
|
94229
|
+
);
|
|
94230
|
+
if (!gateRef.pass || !gateCand.pass) {
|
|
94231
|
+
return { ok: false, diagnostics };
|
|
94232
|
+
}
|
|
94233
|
+
return { ok: true, diagnostics, ...(0, import_fidelity.scoreNodes)(normRef.node, normCand.node) };
|
|
94234
|
+
}
|
|
93630
94235
|
/**
|
|
93631
94236
|
* Generate a target-specific output from LSE (bracket syntax or protocol JSON).
|
|
93632
94237
|
*
|
|
@@ -93839,6 +94444,7 @@ var import_ir = require("@lokascript/framework/ir");
|
|
|
93839
94444
|
extractOperations,
|
|
93840
94445
|
generateCacheKey,
|
|
93841
94446
|
jsonToSemanticNode,
|
|
94447
|
+
scoreNodes,
|
|
93842
94448
|
validateSemanticJSON
|
|
93843
94449
|
});
|
|
93844
94450
|
//# sourceMappingURL=index.cjs.map
|