@almadar/core 3.0.0 → 4.1.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/dist/index.js CHANGED
@@ -545,10 +545,40 @@ var TraitReferenceSchema = z.object({
545
545
  ref: z.string().min(1),
546
546
  linkedEntity: z.string().optional(),
547
547
  name: z.string().optional(),
548
- events: z.record(z.string(), z.string()).optional(),
548
+ events: z.record(
549
+ z.string().min(1, "events key (atom event name) must be non-empty"),
550
+ z.string().min(1, "events value (caller event name) must be non-empty")
551
+ ).optional(),
549
552
  config: z.record(z.record(z.unknown())).optional(),
550
- appliesTo: z.array(z.string()).optional()
551
- });
553
+ appliesTo: z.array(z.string()).optional(),
554
+ // Phase F.7: zod accepts an array (the inliner validates element
555
+ // shape). The full ListenDefinition shape isn't recursively encoded
556
+ // here because TraitReference is the call-site form — listen entries
557
+ // pasted in are already-resolved structured definitions, not nested
558
+ // overrides.
559
+ listens: z.array(z.unknown()).optional(),
560
+ emitsScope: z.enum(["internal", "external"]).optional(),
561
+ // Phase F.8: per-transition effects override. The keys are event
562
+ // names (the transition triggers AFTER renames). Values are arrays
563
+ // of SExpression-shaped data; the inliner validates the SExpression
564
+ // shape during application, so the schema accepts loose `unknown[]`.
565
+ effects: z.record(
566
+ z.string().min(1, "effects override key (event name) must be non-empty"),
567
+ z.array(z.unknown())
568
+ ).optional()
569
+ }).refine(
570
+ (ref2) => {
571
+ if (!ref2.events) return true;
572
+ for (const [from, to] of Object.entries(ref2.events)) {
573
+ if (from.length === 0 || to.length === 0) return false;
574
+ }
575
+ return true;
576
+ },
577
+ {
578
+ message: 'TraitReference "events" entries must have non-empty atom and caller event names',
579
+ path: ["events"]
580
+ }
581
+ );
552
582
  var TraitSchema = z.object({
553
583
  name: z.string().min(1),
554
584
  description: z.string().optional(),
@@ -571,7 +601,13 @@ var TraitRefSchema = z.union([
571
601
  config: z.record(z.unknown()).optional(),
572
602
  linkedEntity: z.string().optional(),
573
603
  name: z.string().optional(),
574
- events: z.record(z.string(), z.string()).optional()
604
+ // Phase F.4: same non-empty refine as TraitReferenceSchema.events.
605
+ // Both schemas accept the same call-site argument shape, so the
606
+ // validators should agree.
607
+ events: z.record(
608
+ z.string().min(1, "events key (atom event name) must be non-empty"),
609
+ z.string().min(1, "events value (caller event name) must be non-empty")
610
+ ).optional()
575
611
  }),
576
612
  TraitSchema
577
613
  // Allow inline trait definitions
@@ -835,12 +871,24 @@ var ServiceDefinitionSchema = z.discriminatedUnion("type", [
835
871
  function isServiceReference(service) {
836
872
  return typeof service === "string";
837
873
  }
874
+ function isServiceReferenceObject(service) {
875
+ return typeof service === "object" && service !== null && "ref" in service && !("type" in service);
876
+ }
838
877
  var ServiceRefStringSchema = z.string().regex(
839
878
  /^[A-Z][a-zA-Z0-9]*\.services\.[a-zA-Z][a-zA-Z0-9]*$/,
840
879
  'Service reference must be in format "Alias.services.ServiceName" (e.g., "Weather.services.openweather")'
841
880
  );
881
+ var ServiceRefObjectSchema = z.object({
882
+ ref: ServiceRefStringSchema,
883
+ description: z.string().optional(),
884
+ baseUrl: z.string().url("baseUrl override must be a valid URL").optional(),
885
+ headers: z.record(z.string()).optional(),
886
+ url: z.string().url("url override must be a valid URL").optional(),
887
+ serverPath: z.string().optional()
888
+ });
842
889
  var ServiceRefSchema = z.union([
843
890
  ServiceDefinitionSchema,
891
+ ServiceRefObjectSchema,
844
892
  ServiceRefStringSchema
845
893
  ]);
846
894
  function parseServiceRef(ref2) {
@@ -899,7 +947,21 @@ var EntityCallSchema = z.object({
899
947
  fields: z.array(EntityFieldSchema).optional(),
900
948
  persistence: EntityPersistenceSchema.optional(),
901
949
  collection: z.string().optional()
902
- });
950
+ }).refine(
951
+ (call) => {
952
+ if (!call.fields) return true;
953
+ const seen = /* @__PURE__ */ new Set();
954
+ for (const field of call.fields) {
955
+ if (seen.has(field.name)) return false;
956
+ seen.add(field.name);
957
+ }
958
+ return true;
959
+ },
960
+ {
961
+ message: 'EntityCall "fields" override list must not contain duplicate field names',
962
+ path: ["fields"]
963
+ }
964
+ );
903
965
  var EntityRefSchema = z.union([
904
966
  EntitySchema,
905
967
  EntityRefStringSchema,
@@ -1255,6 +1317,802 @@ function isResolvedIR(ir) {
1255
1317
  return typeof r.appName === "string" && r.traits instanceof Map && r.pages instanceof Map;
1256
1318
  }
1257
1319
 
1320
+ // src/generated/lolo-type-metadata.ts
1321
+ var LOLO_TYPE_METADATA = {
1322
+ "generatedAt": "2026-04-08T05:13:35.374Z",
1323
+ "enums": [
1324
+ {
1325
+ "name": "EntityPersistence",
1326
+ "values": [
1327
+ "persistent",
1328
+ "runtime",
1329
+ "singleton",
1330
+ "instance",
1331
+ "local"
1332
+ ],
1333
+ "source": "src/types/entity.ts:25"
1334
+ },
1335
+ {
1336
+ "name": "EventScope",
1337
+ "values": [
1338
+ "internal",
1339
+ "external"
1340
+ ],
1341
+ "source": "src/types/trait.ts:176"
1342
+ },
1343
+ {
1344
+ "name": "FieldFormat",
1345
+ "values": [
1346
+ "email",
1347
+ "url",
1348
+ "phone",
1349
+ "date",
1350
+ "datetime",
1351
+ "uuid"
1352
+ ],
1353
+ "source": "src/types/field.ts:133"
1354
+ },
1355
+ {
1356
+ "name": "FieldType",
1357
+ "values": [
1358
+ "string",
1359
+ "number",
1360
+ "boolean",
1361
+ "date",
1362
+ "timestamp",
1363
+ "datetime",
1364
+ "array",
1365
+ "object",
1366
+ "enum",
1367
+ "relation"
1368
+ ],
1369
+ "source": "src/types/field.ts:23"
1370
+ },
1371
+ {
1372
+ "name": "RelationCardinality",
1373
+ "values": [
1374
+ "one",
1375
+ "many",
1376
+ "one-to-many",
1377
+ "many-to-one",
1378
+ "many-to-many"
1379
+ ],
1380
+ "source": "src/types/field.ts:56"
1381
+ },
1382
+ {
1383
+ "name": "TraitCategory",
1384
+ "values": [
1385
+ "lifecycle",
1386
+ "temporal",
1387
+ "validation",
1388
+ "notification",
1389
+ "integration",
1390
+ "interaction",
1391
+ "agent",
1392
+ "game-core",
1393
+ "game-character",
1394
+ "game-ai",
1395
+ "game-combat",
1396
+ "game-items",
1397
+ "game-cards",
1398
+ "game-board",
1399
+ "game-puzzle"
1400
+ ],
1401
+ "source": "src/types/trait.ts:25"
1402
+ },
1403
+ {
1404
+ "name": "UISlot",
1405
+ "values": [
1406
+ "main",
1407
+ "sidebar",
1408
+ "modal",
1409
+ "drawer",
1410
+ "overlay",
1411
+ "center",
1412
+ "toast",
1413
+ "floating",
1414
+ "system",
1415
+ "content",
1416
+ "screen",
1417
+ "hud",
1418
+ "hud-top",
1419
+ "hud-bottom",
1420
+ "hud.health",
1421
+ "hud.score",
1422
+ "hud.inventory",
1423
+ "hud.stamina",
1424
+ "overlay.inventory",
1425
+ "overlay.dialogue",
1426
+ "overlay.menu",
1427
+ "overlay.pause"
1428
+ ],
1429
+ "source": "src/types/effect.ts:20"
1430
+ }
1431
+ ],
1432
+ "structs": [
1433
+ {
1434
+ "name": "EntityField",
1435
+ "fields": [
1436
+ {
1437
+ "name": "name",
1438
+ "type": "string",
1439
+ "optional": false
1440
+ },
1441
+ {
1442
+ "name": "type",
1443
+ "type": "FieldType",
1444
+ "optional": false
1445
+ },
1446
+ {
1447
+ "name": "required",
1448
+ "type": "boolean",
1449
+ "optional": true
1450
+ },
1451
+ {
1452
+ "name": "default",
1453
+ "type": "any",
1454
+ "optional": true
1455
+ },
1456
+ {
1457
+ "name": "values",
1458
+ "type": "[string]",
1459
+ "optional": true
1460
+ },
1461
+ {
1462
+ "name": "enum",
1463
+ "type": "[string]",
1464
+ "optional": true
1465
+ },
1466
+ {
1467
+ "name": "format",
1468
+ "type": "FieldFormat",
1469
+ "optional": true
1470
+ },
1471
+ {
1472
+ "name": "min",
1473
+ "type": "number",
1474
+ "optional": true
1475
+ },
1476
+ {
1477
+ "name": "max",
1478
+ "type": "number",
1479
+ "optional": true
1480
+ },
1481
+ {
1482
+ "name": "items",
1483
+ "type": "EntityField",
1484
+ "optional": true
1485
+ },
1486
+ {
1487
+ "name": "relation",
1488
+ "type": "RelationConfig",
1489
+ "optional": true
1490
+ }
1491
+ ],
1492
+ "source": "src/types/field.ts:151"
1493
+ }
1494
+ ],
1495
+ "bindingRules": {
1496
+ "guard": [
1497
+ "entity",
1498
+ "payload",
1499
+ "state",
1500
+ "now"
1501
+ ],
1502
+ "effect": [
1503
+ "entity",
1504
+ "payload",
1505
+ "state",
1506
+ "now"
1507
+ ],
1508
+ "tick": [
1509
+ "entity",
1510
+ "state",
1511
+ "now"
1512
+ ],
1513
+ "source": "src/types/bindings.ts:101"
1514
+ },
1515
+ "effectOperators": [
1516
+ {
1517
+ "name": "async/all",
1518
+ "minArity": 1,
1519
+ "maxArity": null,
1520
+ "params": [
1521
+ {
1522
+ "name": "args1",
1523
+ "type": "Effect",
1524
+ "optional": false
1525
+ }
1526
+ ],
1527
+ "description": "Effect tuple from AsyncAllEffect",
1528
+ "source": "src/types/effect.ts:405 AsyncAllEffect"
1529
+ },
1530
+ {
1531
+ "name": "async/debounce",
1532
+ "minArity": 2,
1533
+ "maxArity": 2,
1534
+ "params": [
1535
+ {
1536
+ "name": "arg1",
1537
+ "type": "number | string",
1538
+ "optional": false
1539
+ },
1540
+ {
1541
+ "name": "arg2",
1542
+ "type": "SExpr",
1543
+ "optional": false
1544
+ }
1545
+ ],
1546
+ "description": "Effect tuple from AsyncDebounceEffect",
1547
+ "source": "src/types/effect.ts:379 AsyncDebounceEffect"
1548
+ },
1549
+ {
1550
+ "name": "async/delay",
1551
+ "minArity": 2,
1552
+ "maxArity": null,
1553
+ "params": [
1554
+ {
1555
+ "name": "arg1",
1556
+ "type": "number | string",
1557
+ "optional": false
1558
+ },
1559
+ {
1560
+ "name": "args2",
1561
+ "type": "Effect",
1562
+ "optional": false
1563
+ }
1564
+ ],
1565
+ "description": "Effect tuple from AsyncDelayEffect",
1566
+ "source": "src/types/effect.ts:372 AsyncDelayEffect"
1567
+ },
1568
+ {
1569
+ "name": "async/interval",
1570
+ "minArity": 2,
1571
+ "maxArity": 2,
1572
+ "params": [
1573
+ {
1574
+ "name": "arg1",
1575
+ "type": "number | string",
1576
+ "optional": false
1577
+ },
1578
+ {
1579
+ "name": "arg2",
1580
+ "type": "SExpr",
1581
+ "optional": false
1582
+ }
1583
+ ],
1584
+ "description": "Effect tuple from AsyncIntervalEffect",
1585
+ "source": "src/types/effect.ts:393 AsyncIntervalEffect"
1586
+ },
1587
+ {
1588
+ "name": "async/race",
1589
+ "minArity": 1,
1590
+ "maxArity": null,
1591
+ "params": [
1592
+ {
1593
+ "name": "args1",
1594
+ "type": "Effect",
1595
+ "optional": false
1596
+ }
1597
+ ],
1598
+ "description": "Effect tuple from AsyncRaceEffect",
1599
+ "source": "src/types/effect.ts:399 AsyncRaceEffect"
1600
+ },
1601
+ {
1602
+ "name": "async/sequence",
1603
+ "minArity": 1,
1604
+ "maxArity": null,
1605
+ "params": [
1606
+ {
1607
+ "name": "args1",
1608
+ "type": "Effect",
1609
+ "optional": false
1610
+ }
1611
+ ],
1612
+ "description": "Effect tuple from AsyncSequenceEffect",
1613
+ "source": "src/types/effect.ts:411 AsyncSequenceEffect"
1614
+ },
1615
+ {
1616
+ "name": "async/throttle",
1617
+ "minArity": 2,
1618
+ "maxArity": 2,
1619
+ "params": [
1620
+ {
1621
+ "name": "arg1",
1622
+ "type": "number | string",
1623
+ "optional": false
1624
+ },
1625
+ {
1626
+ "name": "arg2",
1627
+ "type": "SExpr",
1628
+ "optional": false
1629
+ }
1630
+ ],
1631
+ "description": "Effect tuple from AsyncThrottleEffect",
1632
+ "source": "src/types/effect.ts:386 AsyncThrottleEffect"
1633
+ },
1634
+ {
1635
+ "name": "atomic",
1636
+ "minArity": 1,
1637
+ "maxArity": null,
1638
+ "params": [
1639
+ {
1640
+ "name": "args1",
1641
+ "type": "SExpr",
1642
+ "optional": false
1643
+ }
1644
+ ],
1645
+ "description": "Effect tuple from AtomicEffect",
1646
+ "source": "src/types/effect.ts:312 AtomicEffect"
1647
+ },
1648
+ {
1649
+ "name": "call-service",
1650
+ "minArity": 2,
1651
+ "maxArity": 2,
1652
+ "params": [
1653
+ {
1654
+ "name": "arg1",
1655
+ "type": "string",
1656
+ "optional": false
1657
+ },
1658
+ {
1659
+ "name": "arg2",
1660
+ "type": "CallServiceConfig",
1661
+ "optional": false
1662
+ }
1663
+ ],
1664
+ "description": "Effect tuple from CallServiceEffect",
1665
+ "source": "src/types/effect.ts:190 CallServiceEffect"
1666
+ },
1667
+ {
1668
+ "name": "checkpoint/load",
1669
+ "minArity": 1,
1670
+ "maxArity": 1,
1671
+ "params": [
1672
+ {
1673
+ "name": "arg1",
1674
+ "type": "string",
1675
+ "optional": false
1676
+ }
1677
+ ],
1678
+ "description": "Effect tuple from CheckpointLoadEffect",
1679
+ "source": "src/types/effect.ts:349 CheckpointLoadEffect"
1680
+ },
1681
+ {
1682
+ "name": "checkpoint/save",
1683
+ "minArity": 2,
1684
+ "maxArity": 2,
1685
+ "params": [
1686
+ {
1687
+ "name": "arg1",
1688
+ "type": "string",
1689
+ "optional": false
1690
+ },
1691
+ {
1692
+ "name": "arg2",
1693
+ "type": "any",
1694
+ "optional": false
1695
+ }
1696
+ ],
1697
+ "description": "Effect tuple from CheckpointSaveEffect",
1698
+ "source": "src/types/effect.ts:343 CheckpointSaveEffect"
1699
+ },
1700
+ {
1701
+ "name": "deref",
1702
+ "minArity": 1,
1703
+ "maxArity": 2,
1704
+ "params": [
1705
+ {
1706
+ "name": "arg1",
1707
+ "type": "string",
1708
+ "optional": false
1709
+ },
1710
+ {
1711
+ "name": "arg2",
1712
+ "type": "Record",
1713
+ "optional": true
1714
+ }
1715
+ ],
1716
+ "description": "Effect tuple from DerefEffect",
1717
+ "source": "src/types/effect.ts:282 DerefEffect"
1718
+ },
1719
+ {
1720
+ "name": "despawn",
1721
+ "minArity": 1,
1722
+ "maxArity": 1,
1723
+ "params": [
1724
+ {
1725
+ "name": "arg1",
1726
+ "type": "string",
1727
+ "optional": false
1728
+ }
1729
+ ],
1730
+ "description": "Effect tuple from DespawnEffect",
1731
+ "source": "src/types/effect.ts:203 DespawnEffect"
1732
+ },
1733
+ {
1734
+ "name": "do",
1735
+ "minArity": 1,
1736
+ "maxArity": null,
1737
+ "params": [
1738
+ {
1739
+ "name": "args1",
1740
+ "type": "SExpr",
1741
+ "optional": false
1742
+ }
1743
+ ],
1744
+ "description": "Effect tuple from DoEffect",
1745
+ "source": "src/types/effect.ts:210 DoEffect"
1746
+ },
1747
+ {
1748
+ "name": "emit",
1749
+ "minArity": 1,
1750
+ "maxArity": 2,
1751
+ "params": [
1752
+ {
1753
+ "name": "arg1",
1754
+ "type": "string",
1755
+ "optional": false
1756
+ },
1757
+ {
1758
+ "name": "arg2",
1759
+ "type": "Record | string",
1760
+ "optional": true
1761
+ }
1762
+ ],
1763
+ "description": "Effect tuple from EmitEffect",
1764
+ "source": "src/types/effect.ts:163 EmitEffect"
1765
+ },
1766
+ {
1767
+ "name": "evaluate",
1768
+ "minArity": 1,
1769
+ "maxArity": 1,
1770
+ "params": [
1771
+ {
1772
+ "name": "arg1",
1773
+ "type": "Record",
1774
+ "optional": false
1775
+ }
1776
+ ],
1777
+ "description": "Effect tuple from EvaluateEffect",
1778
+ "source": "src/types/effect.ts:337 EvaluateEffect"
1779
+ },
1780
+ {
1781
+ "name": "fetch",
1782
+ "minArity": 1,
1783
+ "maxArity": 2,
1784
+ "params": [
1785
+ {
1786
+ "name": "arg1",
1787
+ "type": "string",
1788
+ "optional": false
1789
+ },
1790
+ {
1791
+ "name": "arg2",
1792
+ "type": "Record",
1793
+ "optional": true
1794
+ }
1795
+ ],
1796
+ "description": "Effect tuple from FetchEffect",
1797
+ "source": "src/types/effect.ts:226 FetchEffect"
1798
+ },
1799
+ {
1800
+ "name": "forward",
1801
+ "minArity": 2,
1802
+ "maxArity": 2,
1803
+ "params": [
1804
+ {
1805
+ "name": "arg1",
1806
+ "type": "string",
1807
+ "optional": false
1808
+ },
1809
+ {
1810
+ "name": "arg2",
1811
+ "type": "Record",
1812
+ "optional": false
1813
+ }
1814
+ ],
1815
+ "description": "Effect tuple from ForwardEffect",
1816
+ "source": "src/types/effect.ts:323 ForwardEffect"
1817
+ },
1818
+ {
1819
+ "name": "if",
1820
+ "minArity": 2,
1821
+ "maxArity": 3,
1822
+ "params": [
1823
+ {
1824
+ "name": "arg1",
1825
+ "type": "Expression",
1826
+ "optional": false
1827
+ },
1828
+ {
1829
+ "name": "arg2",
1830
+ "type": "SExpr",
1831
+ "optional": false
1832
+ },
1833
+ {
1834
+ "name": "arg3",
1835
+ "type": "SExpr",
1836
+ "optional": true
1837
+ }
1838
+ ],
1839
+ "description": "Effect tuple from IfEffect",
1840
+ "source": "src/types/effect.ts:233 IfEffect"
1841
+ },
1842
+ {
1843
+ "name": "let",
1844
+ "minArity": 2,
1845
+ "maxArity": null,
1846
+ "params": [
1847
+ {
1848
+ "name": "arg1",
1849
+ "type": "[[string, any]]",
1850
+ "optional": false
1851
+ },
1852
+ {
1853
+ "name": "args2",
1854
+ "type": "SExpr",
1855
+ "optional": false
1856
+ }
1857
+ ],
1858
+ "description": "Effect tuple from LetEffect",
1859
+ "source": "src/types/effect.ts:247 LetEffect"
1860
+ },
1861
+ {
1862
+ "name": "log",
1863
+ "minArity": 1,
1864
+ "maxArity": null,
1865
+ "params": [
1866
+ {
1867
+ "name": "args1",
1868
+ "type": "any",
1869
+ "optional": false
1870
+ }
1871
+ ],
1872
+ "description": "Effect tuple from LogEffect",
1873
+ "source": "src/types/effect.ts:253 LogEffect"
1874
+ },
1875
+ {
1876
+ "name": "navigate",
1877
+ "minArity": 1,
1878
+ "maxArity": 2,
1879
+ "params": [
1880
+ {
1881
+ "name": "arg1",
1882
+ "type": "string",
1883
+ "optional": false
1884
+ },
1885
+ {
1886
+ "name": "arg2",
1887
+ "type": "Record",
1888
+ "optional": true
1889
+ }
1890
+ ],
1891
+ "description": "Effect tuple from NavigateEffect",
1892
+ "source": "src/types/effect.ts:155 NavigateEffect"
1893
+ },
1894
+ {
1895
+ "name": "notify",
1896
+ "minArity": 2,
1897
+ "maxArity": 3,
1898
+ "params": [
1899
+ {
1900
+ "name": "arg1",
1901
+ "type": "string",
1902
+ "optional": false
1903
+ },
1904
+ {
1905
+ "name": "arg2",
1906
+ "type": "string | SExpr",
1907
+ "optional": false
1908
+ },
1909
+ {
1910
+ "name": "arg3",
1911
+ "type": "string",
1912
+ "optional": true
1913
+ }
1914
+ ],
1915
+ "description": "Effect tuple from NotifyEffect",
1916
+ "source": "src/types/effect.ts:217 NotifyEffect"
1917
+ },
1918
+ {
1919
+ "name": "persist",
1920
+ "minArity": 2,
1921
+ "maxArity": 3,
1922
+ "params": [
1923
+ {
1924
+ "name": "arg1",
1925
+ "type": '"create"',
1926
+ "optional": false
1927
+ },
1928
+ {
1929
+ "name": "arg2",
1930
+ "type": "string",
1931
+ "optional": false
1932
+ },
1933
+ {
1934
+ "name": "arg3",
1935
+ "type": "Record | string",
1936
+ "optional": true
1937
+ }
1938
+ ],
1939
+ "description": "Effect tuple from PersistEffect",
1940
+ "source": "src/types/effect.ts:177 PersistEffect"
1941
+ },
1942
+ {
1943
+ "name": "ref",
1944
+ "minArity": 1,
1945
+ "maxArity": 2,
1946
+ "params": [
1947
+ {
1948
+ "name": "arg1",
1949
+ "type": "string",
1950
+ "optional": false
1951
+ },
1952
+ {
1953
+ "name": "arg2",
1954
+ "type": "Record",
1955
+ "optional": true
1956
+ }
1957
+ ],
1958
+ "description": "Effect tuple from RefEffect",
1959
+ "source": "src/types/effect.ts:271 RefEffect"
1960
+ },
1961
+ {
1962
+ "name": "render-ui",
1963
+ "minArity": 2,
1964
+ "maxArity": 3,
1965
+ "params": [
1966
+ {
1967
+ "name": "arg1",
1968
+ "type": "UISlot",
1969
+ "optional": false
1970
+ },
1971
+ {
1972
+ "name": "arg2",
1973
+ "type": "AnyPatternConfig",
1974
+ "optional": false
1975
+ },
1976
+ {
1977
+ "name": "arg3",
1978
+ "type": "Record",
1979
+ "optional": true
1980
+ }
1981
+ ],
1982
+ "description": "Effect tuple from RenderUIEffect",
1983
+ "source": "src/types/effect.ts:136 RenderUIEffect"
1984
+ },
1985
+ {
1986
+ "name": "set",
1987
+ "minArity": 2,
1988
+ "maxArity": 2,
1989
+ "params": [
1990
+ {
1991
+ "name": "arg1",
1992
+ "type": "string",
1993
+ "optional": false
1994
+ },
1995
+ {
1996
+ "name": "arg2",
1997
+ "type": "any",
1998
+ "optional": false
1999
+ }
2000
+ ],
2001
+ "description": "Effect tuple from SetEffect",
2002
+ "source": "src/types/effect.ts:169 SetEffect"
2003
+ },
2004
+ {
2005
+ "name": "spawn",
2006
+ "minArity": 1,
2007
+ "maxArity": 2,
2008
+ "params": [
2009
+ {
2010
+ "name": "arg1",
2011
+ "type": "string",
2012
+ "optional": false
2013
+ },
2014
+ {
2015
+ "name": "arg2",
2016
+ "type": "Record",
2017
+ "optional": true
2018
+ }
2019
+ ],
2020
+ "description": "Effect tuple from SpawnEffect",
2021
+ "source": "src/types/effect.ts:197 SpawnEffect"
2022
+ },
2023
+ {
2024
+ "name": "swap!",
2025
+ "minArity": 2,
2026
+ "maxArity": 2,
2027
+ "params": [
2028
+ {
2029
+ "name": "arg1",
2030
+ "type": "string",
2031
+ "optional": false
2032
+ },
2033
+ {
2034
+ "name": "arg2",
2035
+ "type": "SExpr",
2036
+ "optional": false
2037
+ }
2038
+ ],
2039
+ "description": "Effect tuple from SwapEffect",
2040
+ "source": "src/types/effect.ts:293 SwapEffect"
2041
+ },
2042
+ {
2043
+ "name": "train",
2044
+ "minArity": 1,
2045
+ "maxArity": 1,
2046
+ "params": [
2047
+ {
2048
+ "name": "arg1",
2049
+ "type": "Record",
2050
+ "optional": false
2051
+ }
2052
+ ],
2053
+ "description": "Effect tuple from TrainEffect",
2054
+ "source": "src/types/effect.ts:330 TrainEffect"
2055
+ },
2056
+ {
2057
+ "name": "wait",
2058
+ "minArity": 1,
2059
+ "maxArity": 1,
2060
+ "params": [
2061
+ {
2062
+ "name": "arg1",
2063
+ "type": "number",
2064
+ "optional": false
2065
+ }
2066
+ ],
2067
+ "description": "Effect tuple from WaitEffect",
2068
+ "source": "src/types/effect.ts:259 WaitEffect"
2069
+ },
2070
+ {
2071
+ "name": "watch",
2072
+ "minArity": 2,
2073
+ "maxArity": 3,
2074
+ "params": [
2075
+ {
2076
+ "name": "arg1",
2077
+ "type": "string",
2078
+ "optional": false
2079
+ },
2080
+ {
2081
+ "name": "arg2",
2082
+ "type": "string",
2083
+ "optional": false
2084
+ },
2085
+ {
2086
+ "name": "arg3",
2087
+ "type": "Record",
2088
+ "optional": true
2089
+ }
2090
+ ],
2091
+ "description": "Effect tuple from WatchEffect",
2092
+ "source": "src/types/effect.ts:301 WatchEffect"
2093
+ },
2094
+ {
2095
+ "name": "when",
2096
+ "minArity": 2,
2097
+ "maxArity": 2,
2098
+ "params": [
2099
+ {
2100
+ "name": "arg1",
2101
+ "type": "Expression",
2102
+ "optional": false
2103
+ },
2104
+ {
2105
+ "name": "arg2",
2106
+ "type": "SExpr",
2107
+ "optional": false
2108
+ }
2109
+ ],
2110
+ "description": "Effect tuple from WhenEffect",
2111
+ "source": "src/types/effect.ts:240 WhenEffect"
2112
+ }
2113
+ ]
2114
+ };
2115
+
1258
2116
  // src/resolver.ts
1259
2117
  var schemaCache = /* @__PURE__ */ new Map();
1260
2118
  function clearSchemaCache() {
@@ -8453,6 +9311,6 @@ function buildPayloadForEdge(transition, guardCase) {
8453
9311
  return {};
8454
9312
  }
8455
9313
 
8456
- export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, AgentDomainCategorySchema, AnimationDefSchema, AssetMapSchema, AssetMappingSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BindingSchema, CORE_BINDINGS, ComputedEventContractSchema, ComputedEventListenerSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DesignPreferencesSchema, DesignTokensSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, EFFECT_REGISTRY, ENTITY_ROLES, EffectSchema, EntityCallSchema, EntityFieldSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntitySchema, EntitySemanticRoleSchema, EventListenerSchema, EventPayloadFieldSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpressionSchema, FIELD_TYPE_REGISTRY, FieldFormatSchema, FieldSchema, FieldTypeSchema, GAME_TYPES, GUARD_REGISTRY, GameSubCategorySchema, GameTypeSchema, GuardSchema, InteractionModelSchema, KEYWORDS, Lexer, MULTI_WORD_KEYWORDS, McpServiceDefSchema, NodeClassificationSchema, OrbitalConfigSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PatternTypeSchema, PayloadFieldSchema, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, ResolvedAssetSchema, RestAuthConfigSchema, RestServiceDefSchema, SERVICE_TYPES, SExprAtomSchema, SExprSchema, SemanticAssetRefSchema, ServiceDefinitionSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SocketEventsSchema, SocketServiceDefSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SuggestedGuardSchema, ThemeDefinitionSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TokenType, TraitCategorySchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TransitionSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, applyEventWiring, applySectionUpdate, atomic, buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, callService, categorizeRemovals, classifyWorkflow, clearSchemaCache, collectBindings, collectReachableStates, composeBehaviors, computeSchemaHash, convertDomainToSchema, convertEntitiesToDomain, convertPagesToDomain, convertSchemaToDomain, convertTraitsToDomain, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createMappingStore, createResolvedField, createTypedEventBus, deleteSection, deref, deriveCollection, despawn, detectChanges, detectLayoutStrategy, detectPageContentReduction, diffSchemaSemantics, diffSchemas, doEffects, domainKeywordToSchemaType, emit, extractPayloadFieldRef, findMapping, findMappingByPath, findMappingsByType, findService, formatBehaviorToDomain, formatBehaviorToSchema, formatDomainGuardToSchema, formatEntityToDomain, formatEntityToSchema, formatGuardConditionToDomain, formatGuardToDomain, formatGuardToSchema, formatMergeSummary, formatPageToDomain, formatPageToSchema, formatSchemaEntityToDomain, formatSchemaGuardToDomain, formatSchemaPageToDomain, formatSchemaTraitToDomain, generateDomainLanguageReference, generateSectionId, getAllOperators, getAllPatternTypes, getArgs, getBindingExamples, getDefaultAnimationsForRole, getEffectMapping, getEntity, getFieldTypeMapping, getGuardMapping, getInteractionModelForDomain, getOperator, getPage, getPages, getRegisteredEffects, getRegisteredFieldTypes, getRegisteredGuards, getRegistryStats, getRemovals, getSchemaCacheStats, getSchemaPath, getServiceNames, getTrait, getTraitConfig, getTraitName, hasSchemaChanged, hasService, hasSignificantPageReduction, inferTsType, isBinding, isCircuitEvent, isDestructiveChange, isEffect, isEffectRegistered, isEntityCall, isEntityReference, isEntityReferenceAny, isFieldTypeRegistered, isGuardRegistered, isImportedTraitRef, isInlineTrait, isMcpService, isOrbitalDefinition, isPageReference, isPageReferenceObject, isPageReferenceString, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isServiceReference, isSingletonEntity, isSocketService, isThemeReference, isValidBinding, mergeDomainChunks, navigate, normalizeTraitRef, notify, parseAssetKey, parseBehavior, parseBinding, parseDomainEffect, parseDomainEffects, parseDomainGuard, parseEntity, parseEntityRef, parseGuard, parseImportedTraitRef, parseOrbitalSchema, parsePage, parsePageRef, parseSectionId, parseServiceRef, persist, ref, removeMapping, renderUI, requiresConfirmation, resolveConflict, safeParseOrbitalSchema, schemaEntityToDomainEntity, schemaPageToDomainPage, schemaToIR, schemaTraitToDomainBehavior, schemaTypeToDomainKeyword, set, sexpr, spawn, summarizeOrbital, summarizeSchema, swap, tokenize, updateMappingRange, updateSchemaHash, upsertMapping, validateAssetAnimations, validateBindingInContext, validateDomainChunk, walkSExpr, walkStatePairs, watch };
9314
+ export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, AgentDomainCategorySchema, AnimationDefSchema, AssetMapSchema, AssetMappingSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BindingSchema, CORE_BINDINGS, ComputedEventContractSchema, ComputedEventListenerSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DesignPreferencesSchema, DesignTokensSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, EFFECT_REGISTRY, ENTITY_ROLES, EffectSchema, EntityCallSchema, EntityFieldSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntitySchema, EntitySemanticRoleSchema, EventListenerSchema, EventPayloadFieldSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpressionSchema, FIELD_TYPE_REGISTRY, FieldFormatSchema, FieldSchema, FieldTypeSchema, GAME_TYPES, GUARD_REGISTRY, GameSubCategorySchema, GameTypeSchema, GuardSchema, InteractionModelSchema, KEYWORDS, LOLO_TYPE_METADATA, Lexer, MULTI_WORD_KEYWORDS, McpServiceDefSchema, NodeClassificationSchema, OrbitalConfigSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PatternTypeSchema, PayloadFieldSchema, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, ResolvedAssetSchema, RestAuthConfigSchema, RestServiceDefSchema, SERVICE_TYPES, SExprAtomSchema, SExprSchema, SemanticAssetRefSchema, ServiceDefinitionSchema, ServiceRefObjectSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SocketEventsSchema, SocketServiceDefSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SuggestedGuardSchema, ThemeDefinitionSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TokenType, TraitCategorySchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TransitionSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, applyEventWiring, applySectionUpdate, atomic, buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, callService, categorizeRemovals, classifyWorkflow, clearSchemaCache, collectBindings, collectReachableStates, composeBehaviors, computeSchemaHash, convertDomainToSchema, convertEntitiesToDomain, convertPagesToDomain, convertSchemaToDomain, convertTraitsToDomain, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createMappingStore, createResolvedField, createTypedEventBus, deleteSection, deref, deriveCollection, despawn, detectChanges, detectLayoutStrategy, detectPageContentReduction, diffSchemaSemantics, diffSchemas, doEffects, domainKeywordToSchemaType, emit, extractPayloadFieldRef, findMapping, findMappingByPath, findMappingsByType, findService, formatBehaviorToDomain, formatBehaviorToSchema, formatDomainGuardToSchema, formatEntityToDomain, formatEntityToSchema, formatGuardConditionToDomain, formatGuardToDomain, formatGuardToSchema, formatMergeSummary, formatPageToDomain, formatPageToSchema, formatSchemaEntityToDomain, formatSchemaGuardToDomain, formatSchemaPageToDomain, formatSchemaTraitToDomain, generateDomainLanguageReference, generateSectionId, getAllOperators, getAllPatternTypes, getArgs, getBindingExamples, getDefaultAnimationsForRole, getEffectMapping, getEntity, getFieldTypeMapping, getGuardMapping, getInteractionModelForDomain, getOperator, getPage, getPages, getRegisteredEffects, getRegisteredFieldTypes, getRegisteredGuards, getRegistryStats, getRemovals, getSchemaCacheStats, getSchemaPath, getServiceNames, getTrait, getTraitConfig, getTraitName, hasSchemaChanged, hasService, hasSignificantPageReduction, inferTsType, isBinding, isCircuitEvent, isDestructiveChange, isEffect, isEffectRegistered, isEntityCall, isEntityReference, isEntityReferenceAny, isFieldTypeRegistered, isGuardRegistered, isImportedTraitRef, isInlineTrait, isMcpService, isOrbitalDefinition, isPageReference, isPageReferenceObject, isPageReferenceString, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isServiceReference, isServiceReferenceObject, isSingletonEntity, isSocketService, isThemeReference, isValidBinding, mergeDomainChunks, navigate, normalizeTraitRef, notify, parseAssetKey, parseBehavior, parseBinding, parseDomainEffect, parseDomainEffects, parseDomainGuard, parseEntity, parseEntityRef, parseGuard, parseImportedTraitRef, parseOrbitalSchema, parsePage, parsePageRef, parseSectionId, parseServiceRef, persist, ref, removeMapping, renderUI, requiresConfirmation, resolveConflict, safeParseOrbitalSchema, schemaEntityToDomainEntity, schemaPageToDomainPage, schemaToIR, schemaTraitToDomainBehavior, schemaTypeToDomainKeyword, set, sexpr, spawn, summarizeOrbital, summarizeSchema, swap, tokenize, updateMappingRange, updateSchemaHash, upsertMapping, validateAssetAnimations, validateBindingInContext, validateDomainChunk, walkSExpr, walkStatePairs, watch };
8457
9315
  //# sourceMappingURL=index.js.map
8458
9316
  //# sourceMappingURL=index.js.map