aontu 0.52.1 → 0.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/README.md +88 -0
  2. package/bin/aontu-mcp.js +4 -0
  3. package/dist/agentsmd.d.ts +16 -0
  4. package/dist/agentsmd.js +107 -0
  5. package/dist/agentsmd.js.map +1 -0
  6. package/dist/aontu.d.ts +15 -3
  7. package/dist/aontu.js +126 -5
  8. package/dist/aontu.js.map +1 -1
  9. package/dist/cli.d.ts +45 -1
  10. package/dist/cli.js +2845 -69
  11. package/dist/cli.js.map +1 -1
  12. package/dist/ctx.d.ts +18 -0
  13. package/dist/ctx.js +44 -0
  14. package/dist/ctx.js.map +1 -1
  15. package/dist/diff.d.ts +22 -0
  16. package/dist/diff.js +141 -0
  17. package/dist/diff.js.map +1 -0
  18. package/dist/err.d.ts +3 -1
  19. package/dist/err.js +45 -8
  20. package/dist/err.js.map +1 -1
  21. package/dist/graph.d.ts +13 -0
  22. package/dist/graph.js +110 -0
  23. package/dist/graph.js.map +1 -0
  24. package/dist/hcanon.d.ts +3 -0
  25. package/dist/hcanon.js +145 -0
  26. package/dist/hcanon.js.map +1 -0
  27. package/dist/hints.js +235 -8
  28. package/dist/hints.js.map +1 -1
  29. package/dist/jsonschema.d.ts +20 -0
  30. package/dist/jsonschema.js +425 -0
  31. package/dist/jsonschema.js.map +1 -0
  32. package/dist/lang.js +955 -110
  33. package/dist/lang.js.map +1 -1
  34. package/dist/lsp.d.ts +9 -2
  35. package/dist/lsp.js +343 -48
  36. package/dist/lsp.js.map +1 -1
  37. package/dist/mcp-server.d.ts +20 -0
  38. package/dist/mcp-server.js +147 -0
  39. package/dist/mcp-server.js.map +1 -0
  40. package/dist/mcp.d.ts +42 -0
  41. package/dist/mcp.js +941 -0
  42. package/dist/mcp.js.map +1 -0
  43. package/dist/mod-tool.d.ts +58 -0
  44. package/dist/mod-tool.js +532 -0
  45. package/dist/mod-tool.js.map +1 -0
  46. package/dist/mod.d.ts +35 -0
  47. package/dist/mod.js +345 -0
  48. package/dist/mod.js.map +1 -0
  49. package/dist/patch.d.ts +49 -0
  50. package/dist/patch.js +506 -0
  51. package/dist/patch.js.map +1 -0
  52. package/dist/provenance.d.ts +41 -0
  53. package/dist/provenance.js +336 -0
  54. package/dist/provenance.js.map +1 -0
  55. package/dist/query.d.ts +27 -0
  56. package/dist/query.js +294 -0
  57. package/dist/query.js.map +1 -0
  58. package/dist/reach.d.ts +15 -0
  59. package/dist/reach.js +168 -0
  60. package/dist/reach.js.map +1 -0
  61. package/dist/relation.d.ts +23 -0
  62. package/dist/relation.js +230 -0
  63. package/dist/relation.js.map +1 -0
  64. package/dist/report-sarif.d.ts +14 -0
  65. package/dist/report-sarif.js +102 -0
  66. package/dist/report-sarif.js.map +1 -0
  67. package/dist/sig.d.ts +25 -0
  68. package/dist/sig.js +277 -0
  69. package/dist/sig.js.map +1 -0
  70. package/dist/sigdecl.d.ts +2 -0
  71. package/dist/sigdecl.js +11 -0
  72. package/dist/sigdecl.js.map +1 -0
  73. package/dist/siggate.d.ts +4 -0
  74. package/dist/siggate.js +90 -0
  75. package/dist/siggate.js.map +1 -0
  76. package/dist/site.d.ts +4 -0
  77. package/dist/site.js +31 -0
  78. package/dist/site.js.map +1 -1
  79. package/dist/std.d.ts +1 -0
  80. package/dist/std.js +129 -0
  81. package/dist/std.js.map +1 -0
  82. package/dist/subsume.d.ts +39 -0
  83. package/dist/subsume.js +573 -0
  84. package/dist/subsume.js.map +1 -0
  85. package/dist/trim.d.ts +19 -0
  86. package/dist/trim.js +155 -0
  87. package/dist/trim.js.map +1 -0
  88. package/dist/tsconfig.tsbuildinfo +1 -1
  89. package/dist/type.d.ts +17 -1
  90. package/dist/type.js.map +1 -1
  91. package/dist/unify.d.ts +2 -1
  92. package/dist/unify.js +234 -38
  93. package/dist/unify.js.map +1 -1
  94. package/dist/utility.d.ts +8 -1
  95. package/dist/utility.js +68 -1
  96. package/dist/utility.js.map +1 -1
  97. package/dist/val/AggFuncVal.d.ts +44 -0
  98. package/dist/val/AggFuncVal.js +364 -0
  99. package/dist/val/AggFuncVal.js.map +1 -0
  100. package/dist/val/ArithFuncVal.d.ts +31 -0
  101. package/dist/val/ArithFuncVal.js +62 -0
  102. package/dist/val/ArithFuncVal.js.map +1 -0
  103. package/dist/val/BagVal.d.ts +7 -0
  104. package/dist/val/BagVal.js +150 -11
  105. package/dist/val/BagVal.js.map +1 -1
  106. package/dist/val/CloseFuncVal.js +9 -1
  107. package/dist/val/CloseFuncVal.js.map +1 -1
  108. package/dist/val/ConjunctVal.d.ts +1 -1
  109. package/dist/val/ConjunctVal.js +19 -0
  110. package/dist/val/ConjunctVal.js.map +1 -1
  111. package/dist/val/ConstraintVal.d.ts +7 -1
  112. package/dist/val/ConstraintVal.js +523 -45
  113. package/dist/val/ConstraintVal.js.map +1 -1
  114. package/dist/val/ContainerKindVal.d.ts +35 -0
  115. package/dist/val/ContainerKindVal.js +99 -0
  116. package/dist/val/ContainerKindVal.js.map +1 -0
  117. package/dist/val/CopyFuncVal.d.ts +1 -2
  118. package/dist/val/CopyFuncVal.js.map +1 -1
  119. package/dist/val/Decimal.d.ts +1 -0
  120. package/dist/val/Decimal.js +13 -0
  121. package/dist/val/Decimal.js.map +1 -1
  122. package/dist/val/DeprecateFuncVal.d.ts +11 -0
  123. package/dist/val/DeprecateFuncVal.js +47 -0
  124. package/dist/val/DeprecateFuncVal.js.map +1 -0
  125. package/dist/val/DisjunctVal.d.ts +1 -2
  126. package/dist/val/DisjunctVal.js +269 -53
  127. package/dist/val/DisjunctVal.js.map +1 -1
  128. package/dist/val/EachFuncVal.d.ts +15 -0
  129. package/dist/val/EachFuncVal.js +75 -0
  130. package/dist/val/EachFuncVal.js.map +1 -0
  131. package/dist/val/ExpectVal.js +62 -4
  132. package/dist/val/ExpectVal.js.map +1 -1
  133. package/dist/val/FeatureVal.js +1 -1
  134. package/dist/val/FeatureVal.js.map +1 -1
  135. package/dist/val/FilterFuncVal.d.ts +15 -0
  136. package/dist/val/FilterFuncVal.js +91 -0
  137. package/dist/val/FilterFuncVal.js.map +1 -0
  138. package/dist/val/FuncBaseVal.d.ts +7 -1
  139. package/dist/val/FuncBaseVal.js +183 -2
  140. package/dist/val/FuncBaseVal.js.map +1 -1
  141. package/dist/val/GraphAtomVal.d.ts +39 -0
  142. package/dist/val/GraphAtomVal.js +184 -0
  143. package/dist/val/GraphAtomVal.js.map +1 -0
  144. package/dist/val/HideFuncVal.js.map +1 -1
  145. package/dist/val/JunctionVal.js +24 -1
  146. package/dist/val/JunctionVal.js.map +1 -1
  147. package/dist/val/KeyFuncVal.d.ts +1 -1
  148. package/dist/val/KeyFuncVal.js +38 -30
  149. package/dist/val/KeyFuncVal.js.map +1 -1
  150. package/dist/val/ListVal.js +94 -14
  151. package/dist/val/ListVal.js.map +1 -1
  152. package/dist/val/LowerFuncVal.js.map +1 -1
  153. package/dist/val/MapVal.d.ts +1 -0
  154. package/dist/val/MapVal.js +146 -14
  155. package/dist/val/MapVal.js.map +1 -1
  156. package/dist/val/MatchFuncVal.d.ts +15 -0
  157. package/dist/val/MatchFuncVal.js +107 -0
  158. package/dist/val/MatchFuncVal.js.map +1 -0
  159. package/dist/val/MoveFuncVal.js.map +1 -1
  160. package/dist/val/NilVal.js +24 -0
  161. package/dist/val/NilVal.js.map +1 -1
  162. package/dist/val/OpBaseVal.d.ts +1 -1
  163. package/dist/val/OpBaseVal.js +19 -1
  164. package/dist/val/OpBaseVal.js.map +1 -1
  165. package/dist/val/OpenFuncVal.js +4 -1
  166. package/dist/val/OpenFuncVal.js.map +1 -1
  167. package/dist/val/PackFuncVal.d.ts +15 -0
  168. package/dist/val/PackFuncVal.js +108 -0
  169. package/dist/val/PackFuncVal.js.map +1 -0
  170. package/dist/val/PathFuncVal.d.ts +2 -2
  171. package/dist/val/PathFuncVal.js +75 -16
  172. package/dist/val/PathFuncVal.js.map +1 -1
  173. package/dist/val/PathVal.d.ts +25 -0
  174. package/dist/val/PathVal.js +150 -0
  175. package/dist/val/PathVal.js.map +1 -0
  176. package/dist/val/PlaceVal.d.ts +13 -0
  177. package/dist/val/PlaceVal.js +131 -0
  178. package/dist/val/PlaceVal.js.map +1 -0
  179. package/dist/val/PlusOpVal.d.ts +2 -1
  180. package/dist/val/PlusOpVal.js +61 -37
  181. package/dist/val/PlusOpVal.js.map +1 -1
  182. package/dist/val/PrefFuncVal.js.map +1 -1
  183. package/dist/val/PrefVal.d.ts +4 -2
  184. package/dist/val/PrefVal.js +223 -41
  185. package/dist/val/PrefVal.js.map +1 -1
  186. package/dist/val/RecurseVal.d.ts +19 -0
  187. package/dist/val/RecurseVal.js +217 -0
  188. package/dist/val/RecurseVal.js.map +1 -0
  189. package/dist/val/RefVal.d.ts +3 -2
  190. package/dist/val/RefVal.js +181 -66
  191. package/dist/val/RefVal.js.map +1 -1
  192. package/dist/val/ReferFuncVal.d.ts +59 -0
  193. package/dist/val/ReferFuncVal.js +604 -0
  194. package/dist/val/ReferFuncVal.js.map +1 -0
  195. package/dist/val/ScalarKindVal.d.ts +4 -3
  196. package/dist/val/ScalarKindVal.js +12 -12
  197. package/dist/val/ScalarKindVal.js.map +1 -1
  198. package/dist/val/SuperFuncVal.d.ts +4 -2
  199. package/dist/val/SuperFuncVal.js +118 -14
  200. package/dist/val/SuperFuncVal.js.map +1 -1
  201. package/dist/val/TopVal.d.ts +1 -1
  202. package/dist/val/TopVal.js.map +1 -1
  203. package/dist/val/TypeFuncVal.js.map +1 -1
  204. package/dist/val/UpperFuncVal.js.map +1 -1
  205. package/dist/val/Val.d.ts +7 -1
  206. package/dist/val/Val.js +170 -2
  207. package/dist/val/Val.js.map +1 -1
  208. package/dist/val/VarVal.js.map +1 -1
  209. package/dist/val/arith.d.ts +6 -0
  210. package/dist/val/arith.js +173 -0
  211. package/dist/val/arith.js.map +1 -0
  212. package/dist/vet.d.ts +45 -0
  213. package/dist/vet.js +802 -0
  214. package/dist/vet.js.map +1 -0
  215. package/dist/view.d.ts +85 -0
  216. package/dist/view.js +1948 -0
  217. package/dist/view.js.map +1 -0
  218. package/dist/walk.d.ts +2 -0
  219. package/dist/walk.js +91 -0
  220. package/dist/walk.js.map +1 -0
  221. package/grammar/aontu.gbnf +138 -0
  222. package/grammar/aontu.lark +118 -0
  223. package/grammar/aontu.tmLanguage.json +184 -0
  224. package/package.json +30 -8
  225. package/skill/SKILL.md +37 -0
  226. package/skill/error-codes.md +62 -0
  227. package/skill/examples.md +99 -0
  228. package/skill/grammar-card.md +56 -0
  229. package/src/agentsmd.ts +135 -0
  230. package/src/aontu.ts +166 -5
  231. package/src/cli.ts +3324 -72
  232. package/src/ctx.ts +93 -1
  233. package/src/diff.ts +198 -0
  234. package/src/err.ts +50 -8
  235. package/src/graph.ts +185 -0
  236. package/src/hcanon.ts +167 -0
  237. package/src/hints.ts +291 -8
  238. package/src/jsonschema.ts +552 -0
  239. package/src/lang.ts +1049 -110
  240. package/src/lsp.ts +351 -49
  241. package/src/mcp-server.ts +187 -0
  242. package/src/mcp.ts +1130 -0
  243. package/src/mod-tool.ts +718 -0
  244. package/src/mod.ts +453 -0
  245. package/src/patch.ts +628 -0
  246. package/src/provenance.ts +437 -0
  247. package/src/query.ts +381 -0
  248. package/src/reach.ts +213 -0
  249. package/src/relation.ts +298 -0
  250. package/src/report-sarif.ts +137 -0
  251. package/src/sig.ts +345 -0
  252. package/src/sigdecl.ts +11 -0
  253. package/src/siggate.ts +144 -0
  254. package/src/site.ts +36 -1
  255. package/src/std.ts +131 -0
  256. package/src/subsume.ts +739 -0
  257. package/src/trim.ts +195 -0
  258. package/src/tsconfig.json +10 -4
  259. package/src/type.ts +51 -2
  260. package/src/unify.ts +253 -38
  261. package/src/utility.ts +79 -1
  262. package/src/val/AggFuncVal.ts +546 -0
  263. package/src/val/ArithFuncVal.ts +108 -0
  264. package/src/val/BagVal.ts +158 -12
  265. package/src/val/CloseFuncVal.ts +9 -1
  266. package/src/val/ConjunctVal.ts +20 -0
  267. package/src/val/ConstraintVal.ts +576 -48
  268. package/src/val/ContainerKindVal.ts +158 -0
  269. package/src/val/CopyFuncVal.ts +0 -1
  270. package/src/val/Decimal.ts +15 -0
  271. package/src/val/DeprecateFuncVal.ts +84 -0
  272. package/src/val/DisjunctVal.ts +282 -59
  273. package/src/val/EachFuncVal.ts +133 -0
  274. package/src/val/ExpectVal.ts +65 -8
  275. package/src/val/FeatureVal.ts +1 -1
  276. package/src/val/FilterFuncVal.ts +154 -0
  277. package/src/val/FuncBaseVal.ts +206 -2
  278. package/src/val/GraphAtomVal.ts +264 -0
  279. package/src/val/HideFuncVal.ts +0 -2
  280. package/src/val/JunctionVal.ts +24 -1
  281. package/src/val/KeyFuncVal.ts +39 -35
  282. package/src/val/ListVal.ts +101 -15
  283. package/src/val/LowerFuncVal.ts +0 -1
  284. package/src/val/MapVal.ts +153 -14
  285. package/src/val/MatchFuncVal.ts +176 -0
  286. package/src/val/MoveFuncVal.ts +0 -2
  287. package/src/val/NilVal.ts +25 -0
  288. package/src/val/OpBaseVal.ts +20 -1
  289. package/src/val/OpenFuncVal.ts +4 -2
  290. package/src/val/PackFuncVal.ts +175 -0
  291. package/src/val/PathFuncVal.ts +107 -20
  292. package/src/val/PathVal.ts +221 -0
  293. package/src/val/PlaceVal.ts +193 -0
  294. package/src/val/PlusOpVal.ts +67 -39
  295. package/src/val/PrefFuncVal.ts +0 -1
  296. package/src/val/PrefVal.ts +251 -60
  297. package/src/val/RecurseVal.ts +285 -0
  298. package/src/val/RefVal.ts +183 -78
  299. package/src/val/ReferFuncVal.ts +732 -0
  300. package/src/val/ScalarKindVal.ts +12 -13
  301. package/src/val/SuperFuncVal.ts +137 -13
  302. package/src/val/TopVal.ts +1 -2
  303. package/src/val/TypeFuncVal.ts +0 -2
  304. package/src/val/UpperFuncVal.ts +0 -1
  305. package/src/val/Val.ts +216 -4
  306. package/src/val/VarVal.ts +0 -1
  307. package/src/val/arith.ts +319 -0
  308. package/src/vet.ts +1025 -0
  309. package/src/view.ts +2563 -0
  310. package/src/walk.ts +99 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sig.js","sourceRoot":"","sources":["../src/sig.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;QAoVvD,YAAY;QACZ,YAAY;QACZ,SAAS;QACT,YAAY;AArVd,iEAAiE;AACjE,kEAAkE;AAClE,gEAAgE;AAChE,qEAAqE;AACrE,sEAAsE;AACtE,sEAAsE;AACtE,mEAAmE;AACnE,qEAAqE;AACrE,iEAAiE;AACjE,mEAAmE;AACnE,sEAAsE;AACtE,yCAAyC;AACzC,EAAE;AACF,mDAAmD;AACnD,sCAAsC;AACtC,2EAA2E;AAC3E,2BAA2B;AAC3B,mEAAmE;AACnE,EAAE;AACF,qEAAqE;AACrE,mEAAmE;AACnE,iEAAiE;AACjE,qEAAqE;AACrE,yCAAyC;AAEzC,2CAAuC;AAEvC,uCAAmC;AA2BnC,MAAM,SAAS,GAA4B;IACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CACxE,CAAA;AAGD,qEAAqE;AACrE,mEAAmE;AACnE,+DAA+D;AAC/D,gEAAgE;AAChE,oDAAoD;AACpD,SAAS,UAAU,CAAC,EAAO;IACzB,EAAE,CAAC,OAAO,CAAC;QACT,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,KAAK;aACb;SACF;QACD,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;KACvB,CAAC,CAAA;IAEF,+DAA+D;IAC/D,oEAAoE;IACpE,8DAA8D;IAC9D,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,EAAE,CAAC,OAAO,GAAG,IAAI,CAAA;IAEjB,MAAM,IAAI,GAAG,CAAC,IAAY,EAAW,EAAE;QACrC,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;YACzB,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,OAAO,IAAe,CAAA;IACxB,CAAC,CAAA;IAED,EAAE,CAAC,OAAO,CAAC;QACT,GAAG,EAAE;YACH,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE;gBACpB,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;gBACxC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAA;YAChB,CAAC;YACD,UAAU,EAAE,CAAC,CAAM,EAAE,EAAE;gBACrB,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YAChC,CAAC;YACD,UAAU,EAAE,CAAC,CAAM,EAAE,EAAE;gBACrB,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;YAC5B,CAAC;YACD,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE;gBACpB,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAClC,CAAC;YAED,UAAU,EAAE,CAAC,CAAM,EAAE,EAAE;gBACrB,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;YACb,CAAC;YAED,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE;gBACpB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;YACjD,CAAC;YACD,WAAW,EAAE,CAAC,CAAM,EAAE,EAAE;gBACtB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;gBACnB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YACjC,CAAC;YACD,eAAe,EAAE,CAAC,CAAM,EAAE,EAAE;gBAC1B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;gBACrC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YACjC,CAAC;YACD,WAAW,EAAE,CAAC,CAAM,EAAE,EAAE;gBACtB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;YACjC,CAAC;YACD,UAAU,EAAE,CAAC,CAAM,EAAE,EAAE;gBACrB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAA;YACpB,CAAC;YACD,WAAW,EAAE,CAAC,CAAM,EAAE,EAAE;gBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;gBACnB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;gBACvB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtB,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;oBACd,GAAG,CAAC,IAAI,GAAG,EAAE,CAAA;gBACf,CAAC;qBACI,CAAC;oBACJ,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;gBACvB,CAAC;gBACD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;YAED,aAAa,EAAE,CAAC,CAAM,EAAE,EAAE;gBACxB,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAA;YAChB,CAAC;YACD,aAAa,EAAE,CAAC,CAAM,EAAE,EAAE;gBACxB,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC7B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;YACtC,CAAC;YAED,YAAY,EAAE,CAAC,CAAM,EAAE,EAAE;gBACvB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;YACzC,CAAC;YAED,WAAW,EAAE,CAAC,CAAM,EAAE,EAAE;gBACtB,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;YACb,CAAC;YACD,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE;gBACpB,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA;YACnE,CAAC;YACD,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE;gBACpB,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA;YACpD,CAAC;YACD,UAAU,EAAE,CAAC,CAAM,EAAE,EAAE;gBACrB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACrB,CAAC;SACF;QAED,IAAI,EAAE;YACJ,GAAG,EAAE;gBACH,IAAI,EAAE;oBACJ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE;iBAC3C;gBACD,KAAK,EAAE;oBACL,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE;oBACtC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE;iBAC3B;aACF;YAED,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE;oBAClB,EAAE,CAAC,EAAE,KAAK,EAAE;iBACb;gBACD,KAAK,EAAE;oBACL,EAAE,CAAC,EAAE,KAAK,EAAE;iBACb;aACF;YAED,GAAG,EAAE;gBACH,IAAI,EAAE;oBACJ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE;oBAChC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,eAAe,EAAE;oBACpC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE;iBAC7B;gBACD,KAAK,EAAE;oBACL,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;oBAC7C,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE;oBAC1B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE;oBACtC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE;iBACnC;aACF;YAED,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE;oBACxB,EAAE,CAAC,EAAE,MAAM,EAAE;iBACd;gBACD,KAAK,EAAE;oBACL,EAAE;iBACH;aACF;YAED,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE;iBAC9B;gBACD,KAAK,EAAE;oBACL,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE;oBACvB,EAAE;iBACH;aACF;YAED,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,EAAE,CAAC,EAAE,SAAS,EAAE;iBACjB;gBACD,KAAK,EAAE;oBACL,EAAE,CAAC,EAAE,KAAK,EAAE;iBACb;aACF;YAED,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE;oBAC9B,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE;iBAC3B;gBACD,KAAK,EAAE;oBACL,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE;oBACzC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE;iBAClC;aACF;SACF;KACF,CAAC,CAAA;AACJ,CAAC;AAGD,IAAI,SAAS,GAAQ,SAAS,CAAA;AAE9B,SAAS,aAAa;IACpB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,SAAS,GAAG,IAAI,eAAM,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAGD,gEAAgE;AAChE,qEAAqE;AACrE,oEAAoE;AACpE,SAAS;AACT,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;IAC1B,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IACrB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6BAA6B;YAC3C,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAA;IACvC,CAAC;IACD,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,IAAI,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,GAAc,CAAA;AACvB,CAAC;AAGD,4DAA4D;AAC5D,+DAA+D;AAC/D,SAAS,YAAY,CAAC,CAAS;IAC7B,MAAM,IAAI,GAAG,SAAS,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3C,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAW,EAAE,EAAE,CAChC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;IACvE,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;QAC3D,CAAC,CAAC,IAAI;QACN,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,IAAI,GAAG,IAAI,CAAA;AACf,CAAC;AAGD,qEAAqE;AACrE,oEAAoE;AACpE,mBAAmB;AACnB,SAAS,SAAS,CAAC,GAAY;IAC7B,OAAO,GAAG,CAAC,IAAI,GAAG,GAAG;QACnB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,GAAG,CAAA;AAC5D,CAAC;AAGD,oEAAoE;AACpE,oEAAoE;AACpE,kEAAkE;AAClE,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,GAAG,GAA4B,EAAE,CAAA;IACvC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,SAAQ;QACV,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;QAClE,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;IACrB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAUD,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,oEAAoE;AACpE,iDAAiD;AACjD,MAAM,OAAO,GACX,YAAY,CAAC,iBAAO,CAAC,CAAA,CAAC,iCAAiC;QAIvD,OAAO"}
@@ -0,0 +1,2 @@
1
+ declare const SIGDECL: string;
2
+ export { SIGDECL };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /* Copyright (c) 2021-2026 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SIGDECL = void 0;
5
+ // GENERATED by ts/scripts/sigdecl.cjs (`make sig`) from
6
+ // test/spec/signature.tsv — DO NOT EDIT. The declaration is the
7
+ // source (docs/design/SIGNATURES.0.md); ts/test/sig.test.ts asserts
8
+ // this copy is identical with the shared file.
9
+ const SIGDECL = "# The call surface: one declaration line per built-in function\n# (docs/design/SIGNATURES.0.md). THIS FILE IS THE SOURCE — both ports\n# carry a build-time-inlined copy (ts/src/sigdecl.ts, go/sigdecl.txt;\n# `make sig` regenerates both, and each port's suite asserts its copy\n# is byte-identical with this file) and parse it at initialisation\n# with the signature grammar, a tabnas grammar (ts/src/sig.ts,\n# go/sig.go). The suites also round-trip every line:\n# render(parse(line)) must be the line exactly, in both ports.\n#\n# The syntax (rendered TypeScript-ish, honest about argument MODES):\n# line = name '(' [ arg {',' arg} ] ')' ':' type\n# arg = [mode] name ['?'] ':' type\n# | '...' name ':' '(' [mode] type {',' [mode] type} ')'\n# type = word {'|' word}\n# mode = 'capture' | 'template' | 'trial' | 'projector' | 'text'\n# `value` mode is unmarked. `constraint` is the result word for\n# residuals whose meet depends on the peer; `any` is the honest type\n# where a function is a wrapper.\nupper(s: string|number) : string\nlower(s: string|number) : string\ncopy(v: any) : any\npref(v: any) : any\nsuper(t: any) : any\ntype(t: any) : any\nhide(v: any) : any\nclose(m: any) : any\nopen(m: any) : any\nmove(v: any) : any\npath(capture p?: path) : path\nmap() : map\nlist() : list\nmin(n: number|string) : constraint\nmax(n: number|string) : constraint\nabove(n: number|string) : constraint\nbelow(n: number|string) : constraint\nre(text p: string) : constraint\nlength(n: number|constraint) : constraint\nkey(up?: integer|biginteger) : string\nunique(projector k?: string) : constraint\nneq(...vals: number|string) : constraint\nmust(trial c: any, text msg: string) : constraint\ndeprecate(v: any, r?: map) : any\nacyclic() : constraint\ninverse(projector k: string) : constraint\nrefer(template t?: any) : constraint\nrel(template t?: any) : constraint\npack(d: map|list, template t: any) : map\neach(d: map|list, template t?: any) : list\nfilter(d: map|list, trial c: any) : map|list\nmatch(s: any, ...pr: (trial any, any), dflt?: any) : any\nadd(a: number, b: number) : number\nsub(a: number, b: number) : number\nmul(a: number, b: number) : number\ndiv(a: number, b: number) : number\nmod(a: number, b: number) : number\nrem(a: number, b: number) : number\nsum(d: map|list) : number\nleast(d: map|list) : number\ngreatest(d: map|list) : number\npick(d: map|list, projector k: string|integer) : any\njoin(d: map|list, sep?: string) : string\n";
10
+ exports.SIGDECL = SIGDECL;
11
+ //# sourceMappingURL=sigdecl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sigdecl.js","sourceRoot":"","sources":["../src/sigdecl.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAEzD,wDAAwD;AACxD,gEAAgE;AAChE,oEAAoE;AACpE,+CAA+C;AAE/C,MAAM,OAAO,GACb,46EAA46E,CAAA;QAEn6E,OAAO"}
@@ -0,0 +1,4 @@
1
+ import type { Val } from './type';
2
+ import { AontuContext } from './ctx';
3
+ declare function sigRefuse(ctx: AontuContext, fn: any, args: Val[]): Val | undefined;
4
+ export { sigRefuse, };
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ /* Copyright (c) 2021-2026 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.sigRefuse = sigRefuse;
5
+ const err_1 = require("./err");
6
+ const sig_1 = require("./sig");
7
+ const ScalarKindVal_1 = require("./val/ScalarKindVal");
8
+ // The scalar-kind words the gate enforces, each to its lattice
9
+ // marker. A declared type is gate-checkable only when EVERY union
10
+ // word is here: `any`, `constraint`, and the container words leave
11
+ // the argument to the builtin.
12
+ const SIG_KIND = new Map([
13
+ ['string', String],
14
+ ['number', Number],
15
+ ['integer', ScalarKindVal_1.Integer],
16
+ ['float', ScalarKindVal_1.Float],
17
+ ['biginteger', ScalarKindVal_1.BigInteger],
18
+ ['bigdecimal', ScalarKindVal_1.BigDecimal],
19
+ ['boolean', Boolean],
20
+ ['path', ScalarKindVal_1.Path],
21
+ ]);
22
+ function gateWords(type) {
23
+ const out = [];
24
+ for (const word of type.split('|')) {
25
+ const marker = SIG_KIND.get(word);
26
+ if (undefined === marker) {
27
+ return undefined;
28
+ }
29
+ out.push(marker);
30
+ }
31
+ return out;
32
+ }
33
+ // The declared type admits a driven Val when the Val is a concrete
34
+ // scalar whose leaf kind is, or sits below, one of the declared
35
+ // words -- the same walk subsumption makes, so `number` admits every
36
+ // numeric leaf and `string` admits a path value.
37
+ function admits(markers, arg) {
38
+ const leaf = arg.superior?.();
39
+ if (true !== arg.isScalar || true !== leaf?.isScalarKind) {
40
+ return false;
41
+ }
42
+ for (const marker of markers) {
43
+ if (marker === leaf.peg || (0, ScalarKindVal_1.kindSubsumes)(marker, leaf.peg)) {
44
+ return true;
45
+ }
46
+ }
47
+ return false;
48
+ }
49
+ // The gate. Answers the func_arg refusal, or undefined to let the
50
+ // call resolve.
51
+ function sigRefuse(ctx, fn, args) {
52
+ const sig = sig_1.funcSig[fn.funcname()];
53
+ // key() reads its level off the written peg and `key_level` names
54
+ // what is wrong with a bad one; the gate leaves the meaning where
55
+ // it lives.
56
+ if (undefined === sig || 'key' === sig.name) {
57
+ return undefined;
58
+ }
59
+ for (let i = 0; i < sig.args.length; i++) {
60
+ const a = sig.args[i];
61
+ if (true === a.rest) {
62
+ break;
63
+ }
64
+ if ('value' !== a.mode) {
65
+ continue;
66
+ }
67
+ const markers = gateWords(a.type);
68
+ if (undefined === markers) {
69
+ continue;
70
+ }
71
+ const arg = args[i];
72
+ if (undefined === arg || true === arg.isNil || true !== arg.done) {
73
+ continue;
74
+ }
75
+ const shaped = (true === arg.isScalar) ||
76
+ (true === arg.isMap) || (true === arg.isList) ||
77
+ (true === arg.isScalarKind);
78
+ if (shaped && !admits(markers, arg)) {
79
+ return (0, err_1.makeNilErr)(ctx, 'func_arg', fn, arg, undefined, {
80
+ func: sig.name,
81
+ sig: (0, sig_1.renderSig)(sig),
82
+ arg: a.name,
83
+ argn: '' + (i + 1),
84
+ got: arg.canon,
85
+ });
86
+ }
87
+ }
88
+ return undefined;
89
+ } /* node:coverage ignore next 5 */
90
+ //# sourceMappingURL=siggate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siggate.js","sourceRoot":"","sources":["../src/siggate.ts"],"names":[],"mappings":";AAAA,yDAAyD;;QA8IvD,SAAS;AA/GX,+BAAkC;AAElC,+BAA0C;AAG1C,uDAO4B;AAG5B,+DAA+D;AAC/D,kEAAkE;AAClE,mEAAmE;AACnE,+BAA+B;AAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAc;IACpC,CAAC,QAAQ,EAAE,MAAM,CAAC;IAClB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAClB,CAAC,SAAS,EAAE,uBAAO,CAAC;IACpB,CAAC,OAAO,EAAE,qBAAK,CAAC;IAChB,CAAC,YAAY,EAAE,0BAAU,CAAC;IAC1B,CAAC,YAAY,EAAE,0BAAU,CAAC;IAC1B,CAAC,SAAS,EAAE,OAAO,CAAC;IACpB,CAAC,MAAM,EAAE,oBAAI,CAAC;CACf,CAAC,CAAA;AAGF,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,GAAG,GAAU,EAAE,CAAA;IACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,mEAAmE;AACnE,gEAAgE;AAChE,qEAAqE;AACrE,iDAAiD;AACjD,SAAS,MAAM,CAAC,OAAc,EAAE,GAAQ;IACtC,MAAM,IAAI,GAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAA;IAClC,IAAI,IAAI,KAAK,GAAG,CAAC,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,YAAY,EAAE,CAAC;QACzD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,IAAA,4BAAY,EAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,kEAAkE;AAClE,gBAAgB;AAChB,SAAS,SAAS,CAChB,GAAiB,EAAE,EAAO,EAAE,IAAW;IAEvC,MAAM,GAAG,GAAwB,aAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEvD,kEAAkE;IAClE,kEAAkE;IAClE,YAAY;IACZ,IAAI,SAAS,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAW,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACpB,MAAK;QACP,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACvB,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1B,SAAQ;QACV,CAAC;QACD,MAAM,GAAG,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,IAAI,SAAS,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YACjE,SAAQ;QACV,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,CAAC;YACpC,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC;YAC7C,CAAC,IAAI,KAAK,GAAG,CAAC,YAAY,CAAC,CAAA;QAC7B,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE;gBACrD,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,EAAE,IAAA,eAAS,EAAC,GAAG,CAAC;gBACnB,GAAG,EAAE,CAAC,CAAC,IAAI;gBACX,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClB,GAAG,EAAE,GAAG,CAAC,KAAK;aACf,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAC,iCAAiC"}
package/dist/site.d.ts CHANGED
@@ -3,11 +3,15 @@ type SiteSpec = {
3
3
  row?: number;
4
4
  col?: number;
5
5
  url?: string;
6
+ len?: number;
7
+ src?: string;
6
8
  };
7
9
  declare class Site {
8
10
  row: number;
9
11
  col: number;
10
12
  url: string;
13
+ len: number;
14
+ src: string;
11
15
  constructor(val?: Val | SiteSpec);
12
16
  }
13
17
  export { Site, };
package/dist/site.js CHANGED
@@ -2,12 +2,43 @@
2
2
  /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Site = void 0;
5
+ // Site locates a value in the text that produced it: where it starts
6
+ // (row, col), HOW FAR IT RUNS (len), and the source text itself (src).
7
+ //
8
+ // THE EXTENT IS NOT OPTIONAL DETAIL — it is what makes a site safe to
9
+ // edit. Without it the only length available is the CANON, and canon is
10
+ // not source text: `port: 0x1F` has canon `31`, so replacing
11
+ // `(col, canon.length)` writes `port: 5x1F` and corrupts the document.
12
+ // The parser knew the extent all along — the token carries `len` and
13
+ // `src` beside the `rI`/`cI` this already read — and dropping it was
14
+ // the whole defect (status report 2026-08-21, §5).
15
+ //
16
+ // WHAT THE EXTENT COVERS is the TOKEN THE SITE POINTS AT, which is the
17
+ // same thing row and col have always pointed at:
18
+ //
19
+ // 0x1F a scalar literal len 4 the whole literal
20
+ // "hi there" a string len 10 quotes included
21
+ // {x:1} a map len 1 the opening brace
22
+ // min(3) a constraint len 3 the name, not the call
23
+ //
24
+ // So for a SCALAR — which is what a repair edits, and what `set` and
25
+ // the manual fallback rewrite — `(col, len)` is exactly the span to
26
+ // replace. For a container it under-reaches to the opening delimiter,
27
+ // which is safe in the direction that matters: a highlight that is too
28
+ // short is a cosmetic flaw, while canon.length on a map over-reaches
29
+ // across lines into text the value never occupied.
30
+ //
31
+ // -1 and '' mean UNKNOWN, the same convention row and col already use:
32
+ // a value minted by unification rather than written by a document has
33
+ // no site, and must not be edited as though it had one.
5
34
  class Site {
6
35
  constructor(val) {
7
36
  const site = (val?.site ?? val);
8
37
  this.row = site?.row ?? -1;
9
38
  this.col = site?.col ?? -1;
10
39
  this.url = site?.url ?? '';
40
+ this.len = site?.len ?? -1;
41
+ this.src = site?.src ?? '';
11
42
  }
12
43
  } /* node:coverage ignore next 6 */
13
44
  exports.Site = Site;
package/dist/site.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"site.js","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAUzD,MAAM,IAAI;IAKR,YAAY,GAAoB;QAC9B,MAAM,IAAI,GAAG,CAAE,GAAW,EAAE,IAAI,IAAI,GAAG,CAAa,CAAA;QAEpD,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAA;IAC5B,CAAC;CACF,CAAC,iCAAiC;QAIjC,IAAI"}
1
+ {"version":3,"file":"site.js","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,qEAAqE;AACrE,uEAAuE;AACvE,EAAE;AACF,sEAAsE;AACtE,wEAAwE;AACxE,6DAA6D;AAC7D,uEAAuE;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,mDAAmD;AACnD,EAAE;AACF,uEAAuE;AACvE,iDAAiD;AACjD,EAAE;AACF,8DAA8D;AAC9D,4DAA4D;AAC5D,8DAA8D;AAC9D,mEAAmE;AACnE,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,sEAAsE;AACtE,uEAAuE;AACvE,qEAAqE;AACrE,mDAAmD;AACnD,EAAE;AACF,uEAAuE;AACvE,sEAAsE;AACtE,wDAAwD;AACxD,MAAM,IAAI;IAOR,YAAY,GAAoB;QAC9B,MAAM,IAAI,GAAG,CAAE,GAAW,EAAE,IAAI,IAAI,GAAG,CAAa,CAAA;QAEpD,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,CAAA;IAC5B,CAAC;CACF,CAAC,iCAAiC;QAIjC,IAAI"}
package/dist/std.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const STD_SOURCES: Record<string, string>;
package/dist/std.js ADDED
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /* Copyright (c) 2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.STD_SOURCES = void 0;
5
+ // THE BUNDLED VOCABULARY (G4 phase 4,
6
+ // docs/capability-review/g4-identity-relations.md): `@"std/system"` is
7
+ // served from the engine itself — no filesystem, no package resolution
8
+ // — so a document may use it under every include capability except
9
+ // `none`, and the hermeticity posture is not widened by a source that
10
+ // never leaves the process.
11
+ //
12
+ // The TEXT is the shared artifact: go/std.go carries the same bytes,
13
+ // and test/spec/std-system.tsv pins its canon and its canon-hash in
14
+ // both engines, so the two copies cannot drift without a red suite.
15
+ // It carries no backtick for that reason: one string literal per port,
16
+ // and Go's raw string has no escape.
17
+ const STD_SYSTEM = `# std/system --- the SYSTEM VOCABULARY (G4 phase 4). Ports, components
18
+ # and relations need no syntax: they are schemas. Everything here is
19
+ # ordinary unification --- conjunction, spreads, marks, defaults ---
20
+ # so the vocabulary costs the language nothing, and an author who wants
21
+ # a different one writes it the same way.
22
+ #
23
+ # EXPERIMENTAL until the distribution layer can version it by
24
+ # canon-hash. Entity ids deliberately do NOT embed versions: fusing
25
+ # identity and version makes "v1 and v2 describe the same entity"
26
+ # inexpressible.
27
+
28
+ std: {
29
+
30
+ # One end of a connection.
31
+ Port: type({
32
+ direction: *in | out | inout
33
+ protocol?: string
34
+ })
35
+
36
+ # A node with ports. Where a Component sits in the tree is what it
37
+ # is a component OF -- containment is the document's own structure
38
+ # and needs no mark of its own.
39
+ Component: type({
40
+ ports?: {&: $.std.Port}
41
+ })
42
+
43
+ # A component that is a service. Written out rather than as
44
+ # $.std.Component & {kind: service}: a reference from one member of
45
+ # this file to another does not survive being INCLUDED into a
46
+ # document (the marks the include carries make the referring member
47
+ # unusable), so the vocabulary states each schema on its own.
48
+ Service: type({
49
+ kind: service
50
+ ports?: {&: $.std.Port}
51
+ })
52
+
53
+ # (The Relation schema that used to sit here is retired with the
54
+ # relations: magic key, RELATIONS.0.md P2: a relation is declared
55
+ # by the graph atoms at its field -- rel(t) & acyclic() &
56
+ # inverse(name) -- and the target half is rel(t)'s flow.)
57
+ }
58
+ `;
59
+ const STD_VIEW = `# std/view --- the FIGURE VOCABULARY (VIEWS.0.md, "6. The view
60
+ # document"). A view document declares its figures as data, and a
61
+ # declaration is just a map: this is the schema for one, so a typo is
62
+ # refused where every other mistake in an Aontu document is refused --
63
+ # at evaluation, by unification -- rather than by the verb that reads
64
+ # it afterwards.
65
+ #
66
+ # @"std/view"
67
+ # @"./system.aon"
68
+ #
69
+ # views: {&: $.view.Figure} & {
70
+ # arch: {kind: matrix, order: partition, out: "docs/arch.dsm.txt"}
71
+ # }
72
+ #
73
+ # The keys ARE the view options: the command-line flags without the
74
+ # dashes, one vocabulary for the CLI, the library and the file. The
75
+ # poset is not among the kinds, because a view document declares
76
+ # figures of the ONE document it includes and the poset compares
77
+ # several.
78
+ #
79
+ # EXPERIMENTAL until the distribution layer can version it by
80
+ # canon-hash. This file carries no backtick: it is one string literal
81
+ # per port, and Go raw strings have no escape.
82
+
83
+ view: {
84
+
85
+ # One declared figure. The kind says what to draw and out says where
86
+ # it belongs; everything else narrows the drawing, and each option
87
+ # belongs to the kinds that read it.
88
+ Figure: type({
89
+ kind: tree | matrix | graph | layer | sets | layers | ladder
90
+ out: string
91
+
92
+ # Every kind.
93
+ as?: text | mermaid | dot | er | svg
94
+ at?: string
95
+ maxRows?: integer & min(0)
96
+
97
+ # tree, matrix, layer: the relation drawn. graph: the predicates
98
+ # kept. tree: the subtrees drawn.
99
+ relation?: string
100
+ relations?: [&: string]
101
+ roots?: [&: string]
102
+
103
+ # matrix.
104
+ order?: canon | partition
105
+ closure?: boolean
106
+
107
+ # graph, layer.
108
+ groupBy?: string
109
+ label?: string
110
+ layers?: [&: string]
111
+ edges?: upward | all | none
112
+
113
+ # sets, layers.
114
+ sets?: string
115
+ member?: string
116
+ universe?: string
117
+ minDegree?: integer & min(0)
118
+ maxCols?: integer & min(0)
119
+ minSize?: integer & min(0)
120
+ })
121
+ }
122
+ `;
123
+ exports.STD_SOURCES = {
124
+ 'std/system': STD_SYSTEM,
125
+ 'std/system.aon': STD_SYSTEM,
126
+ 'std/view': STD_VIEW,
127
+ 'std/view.aon': STD_VIEW,
128
+ };
129
+ //# sourceMappingURL=std.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"std.js","sourceRoot":"","sources":["../src/std.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,sCAAsC;AACtC,uEAAuE;AACvE,uEAAuE;AACvE,mEAAmE;AACnE,sEAAsE;AACtE,4BAA4B;AAC5B,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,uEAAuE;AACvE,qCAAqC;AAErC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAA;AAGD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DhB,CAAA;AAGY,QAAA,WAAW,GAA2B;IACjD,YAAY,EAAE,UAAU;IACxB,gBAAgB,EAAE,UAAU;IAC5B,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;CACzB,CAAA"}
@@ -0,0 +1,39 @@
1
+ import type { TrustOptions } from './type';
2
+ import type { VetFinding } from './vet';
3
+ export type SubsumeVerdict = 'subsumes' | 'does_not_subsume' | 'undecided' | 'error';
4
+ export type SubsumeProfile = 'values' | 'defaults' | 'gen';
5
+ export type SubsumeOptions = {
6
+ profile?: SubsumeProfile;
7
+ at?: string;
8
+ generalUrl?: string;
9
+ specificUrl?: string;
10
+ generalPath?: string;
11
+ specificPath?: string;
12
+ trust?: TrustOptions;
13
+ };
14
+ export type SubsumeReport = {
15
+ verdict: SubsumeVerdict;
16
+ findings: VetFinding[];
17
+ };
18
+ type SubState = {
19
+ profile: SubsumeProfile;
20
+ distributing?: boolean;
21
+ findings: VetFinding[];
22
+ generalUrl: string;
23
+ specificUrl: string;
24
+ };
25
+ type Tri = 'yes' | 'no' | 'undecided';
26
+ export declare function effectiveDefault(v: any): any;
27
+ export declare function subsumeNode(state: SubState, path: string[], g0: any, s0: any): Tri;
28
+ /**
29
+ * Does `generalSrc` subsume `specificSrc` — is every instance the
30
+ * specific admits admitted by the general too?
31
+ *
32
+ * Both sources are evaluated fresh (single-use trees make this
33
+ * mandatory), and the recursion runs on the finished values. The
34
+ * verdict is three-valued plus `error` (a source that does not stand up
35
+ * on its own, mirroring vet's schema-error verdict); findings reuse
36
+ * G2's object with class `compat`.
37
+ */
38
+ export declare function subsume(generalSrc: string, specificSrc: string, opts?: SubsumeOptions): SubsumeReport;
39
+ export {};