@almadar/std 17.0.3 → 17.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.
Files changed (313) hide show
  1. package/behaviors/lolo/auth/atoms/std-dev-personas.lolo +27 -2
  2. package/behaviors/lolo/cli/atoms/std-orb-goldens.lolo +6 -3
  3. package/behaviors/lolo/cli/atoms/std-orb-lint-mem-handles.lolo +54 -34
  4. package/behaviors/lolo/cli/atoms/std-orb-lint-os-grants.lolo +4 -4
  5. package/behaviors/lolo/cli/atoms/std-orb-mcp.lolo +16 -21
  6. package/behaviors/lolo/cli/atoms/std-orb-serve.lolo +24 -4
  7. package/behaviors/lolo/codec/atoms/std-lolo-kotlin.lolo +26 -3
  8. package/behaviors/lolo/codec/atoms/std-lolo-python.lolo +15 -2
  9. package/behaviors/lolo/codec/atoms/std-lolo-rust.lolo +27 -2
  10. package/behaviors/lolo/codec/atoms/std-lolo-source.lolo +251 -60
  11. package/behaviors/lolo/codec/atoms/std-lolo-swift.lolo +24 -1
  12. package/behaviors/lolo/codec/atoms/std-lolo-typescript.lolo +24 -3
  13. package/behaviors/lolo/connect/atoms/std-meta-ads.lolo +4 -4
  14. package/behaviors/lolo/connect/atoms/std-stdio-lines.lolo +7 -4
  15. package/behaviors/lolo/connect/atoms/std-youtube.lolo +9 -9
  16. package/behaviors/lolo/dev/atoms/std-guest-session.lolo +122 -10
  17. package/behaviors/lolo/dev/atoms/std-mock-seed-marks.lolo +66 -0
  18. package/behaviors/lolo/dev/organisms/std-behavior-playground.lolo +5 -2
  19. package/behaviors/lolo/dev/organisms/std-launchpad.lolo +4 -3
  20. package/behaviors/lolo/gpu/atoms/std-gpu-compute.lolo +329 -0
  21. package/behaviors/lolo/net/atoms/std-http-client.lolo +4 -4
  22. package/behaviors/lolo/net/atoms/std-http-fetch.lolo +6 -6
  23. package/behaviors/lolo/net/atoms/std-npm-lookup.lolo +1 -1
  24. package/behaviors/lolo/net/atoms/std-npm-registry.lolo +2 -2
  25. package/behaviors/lolo/spec/auth/dev-personas.replay.goldens.json +263 -2
  26. package/behaviors/lolo/spec/cli/lint-all.lolo +1 -0
  27. package/behaviors/lolo/spec/cli/lint-item-action-event.replay.goldens.json +9 -9
  28. package/behaviors/lolo/spec/cli/lint-mem-handles.replay.goldens.json +3021 -1
  29. package/behaviors/lolo/spec/cli/lint-os-grants.replay.goldens.json +284 -12
  30. package/behaviors/lolo/spec/cli/mcp-server.replay.goldens.json +51 -55
  31. package/behaviors/lolo/spec/cli/orb-compile.replay.goldens.json +10 -4
  32. package/behaviors/lolo/spec/codec/lolo-kotlin.replay.goldens.json +7496 -7497
  33. package/behaviors/lolo/spec/codec/lolo-python.replay.goldens.json +341 -3
  34. package/behaviors/lolo/spec/codec/lolo-rust.replay.goldens.json +18931 -6142
  35. package/behaviors/lolo/spec/codec/lolo-source.fixtures/compose-pair.lolo +44 -0
  36. package/behaviors/lolo/spec/codec/lolo-source.fixtures/config-read.lolo +2 -1
  37. package/behaviors/lolo/spec/codec/lolo-source.fixtures/divide-default.lolo +2 -1
  38. package/behaviors/lolo/spec/codec/lolo-source.fixtures/divide-plain.lolo +2 -1
  39. package/behaviors/lolo/spec/codec/lolo-source.fixtures/get-past-end.lolo +2 -1
  40. package/behaviors/lolo/spec/codec/lolo-source.fixtures/list-call.lolo +2 -1
  41. package/behaviors/lolo/spec/codec/lolo-source.fixtures/list-plain.lolo +2 -1
  42. package/behaviors/lolo/spec/codec/lolo-source.fixtures/minus-binary.lolo +2 -1
  43. package/behaviors/lolo/spec/codec/lolo-source.fixtures/minus-unary.lolo +2 -1
  44. package/behaviors/lolo/spec/codec/lolo-source.fixtures/nested-let.lolo +2 -1
  45. package/behaviors/lolo/spec/codec/lolo-source.fixtures/no-machine.lolo +2 -1
  46. package/behaviors/lolo/spec/codec/lolo-source.fixtures/no-template.lolo +2 -1
  47. package/behaviors/lolo/spec/codec/lolo-source.fixtures/nth-past-end.lolo +2 -1
  48. package/behaviors/lolo/spec/codec/lolo-source.fixtures/nth-raw.lolo +2 -1
  49. package/behaviors/lolo/spec/codec/lolo-source.fixtures/ports-call.lolo +2 -1
  50. package/behaviors/lolo/spec/codec/lolo-source.fixtures/range-one.lolo +2 -1
  51. package/behaviors/lolo/spec/codec/lolo-source.fixtures/range-two.lolo +2 -1
  52. package/behaviors/lolo/spec/codec/lolo-source.fixtures/router-trio.lolo +88 -0
  53. package/behaviors/lolo/spec/codec/lolo-source.fixtures/store-pair.lolo +62 -0
  54. package/behaviors/lolo/spec/codec/lolo-source.fixtures/string-literal.lolo +2 -1
  55. package/behaviors/lolo/spec/codec/lolo-source.gen/knobs.py +27 -1
  56. package/behaviors/lolo/spec/codec/lolo-source.gen/src_assemble.in +54 -2
  57. package/behaviors/lolo/spec/codec/lolo-source.gen/src_finish.in +1 -1
  58. package/behaviors/lolo/spec/codec/lolo-source.gen/src_fold.in +24 -4
  59. package/behaviors/lolo/spec/codec/lolo-source.gen/src_head.in +8 -3
  60. package/behaviors/lolo/spec/codec/lolo-source.gen/src_prepare.in +6 -2
  61. package/behaviors/lolo/spec/codec/lolo-source.gen/src_trait.in +12 -2
  62. package/behaviors/lolo/spec/codec/lolo-source.parity/agent-step.lolo +2 -1
  63. package/behaviors/lolo/spec/codec/lolo-source.parity/agent-step.server.lolo +1 -0
  64. package/behaviors/lolo/spec/codec/lolo-source.parity/chunk.lolo +2 -1
  65. package/behaviors/lolo/spec/codec/lolo-source.parity/chunk.server.lolo +1 -0
  66. package/behaviors/lolo/spec/codec/lolo-source.parity/compose-pair.events.json +36 -0
  67. package/behaviors/lolo/spec/codec/lolo-source.parity/compose-pair.replay.goldens.json +91 -0
  68. package/behaviors/lolo/spec/codec/lolo-source.parity/cosine.lolo +2 -1
  69. package/behaviors/lolo/spec/codec/lolo-source.parity/cosine.server.lolo +1 -0
  70. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/kotlin/compose-pair.kt +31 -0
  71. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/kotlin/router-trio.kt +31 -0
  72. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/kotlin/store-pair.kt +31 -0
  73. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/python/compose-pair.py +18 -0
  74. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/python/router-trio.py +18 -0
  75. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/python/store-pair.py +17 -0
  76. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/rust/compose-pair.rs +37 -0
  77. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/rust/router-trio.rs +37 -0
  78. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/rust/store-pair.rs +36 -0
  79. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/swift/compose-pair.swift +24 -0
  80. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/swift/router-trio.swift +24 -0
  81. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/swift/store-pair.swift +23 -0
  82. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/typescript/compose-pair.mts +24 -0
  83. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/typescript/router-trio.mts +24 -0
  84. package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/typescript/store-pair.mts +22 -0
  85. package/behaviors/lolo/spec/codec/lolo-source.parity/recall-at-k.lolo +2 -1
  86. package/behaviors/lolo/spec/codec/lolo-source.parity/recall-at-k.server.lolo +1 -0
  87. package/behaviors/lolo/spec/codec/lolo-source.parity/router-trio.events.json +18 -0
  88. package/behaviors/lolo/spec/codec/lolo-source.parity/router-trio.replay.goldens.json +87 -0
  89. package/behaviors/lolo/spec/codec/lolo-source.parity/store-pair.events.json +58 -0
  90. package/behaviors/lolo/spec/codec/lolo-source.parity/store-pair.replay.goldens.json +238 -0
  91. package/behaviors/lolo/spec/codec/lolo-swift.replay.goldens.json +15599 -2204
  92. package/behaviors/lolo/spec/codec/lolo-typescript.replay.goldens.json +28930 -28929
  93. package/behaviors/lolo/spec/connect/bearer-api.replay.goldens.json +1 -1
  94. package/behaviors/lolo/spec/connect/esign.replay.goldens.json +3 -3
  95. package/behaviors/lolo/spec/connect/github.replay.goldens.json +13 -13
  96. package/behaviors/lolo/spec/connect/google-calendar.replay.goldens.json +2 -2
  97. package/behaviors/lolo/spec/connect/image.replay.goldens.json +1 -1
  98. package/behaviors/lolo/spec/connect/meta-ads.replay.goldens.json +2 -2
  99. package/behaviors/lolo/spec/connect/stdio-lines.replay.goldens.json +90 -0
  100. package/behaviors/lolo/spec/connect/twilio.replay.goldens.json +2 -2
  101. package/behaviors/lolo/spec/connect/youtube.replay.goldens.json +1 -1
  102. package/behaviors/lolo/spec/dev/guest-session.replay.goldens.json +824 -0
  103. package/behaviors/lolo/spec/dev/mock-seed-marks.replay.goldens.json +365 -0
  104. package/behaviors/lolo/spec/dev/verify-walk.replay.goldens.json +2 -1
  105. package/behaviors/lolo/spec/gpu/gpu-compute.replay.goldens.json +784 -0
  106. package/behaviors/lolo/spec/mem/mem-buffer.replay.goldens.json +97 -1
  107. package/behaviors/lolo/spec/ml/vector-write.goldens.json +1 -1
  108. package/behaviors/lolo/spec/ml/vector-write.replay.goldens.json +2 -2
  109. package/behaviors/lolo/spec/net/http-client-call-host.replay.goldens.json +3 -3
  110. package/behaviors/lolo/spec/net/http-client-env-host.replay.goldens.json +3 -3
  111. package/behaviors/lolo/spec/net/http-client.replay.goldens.json +56 -56
  112. package/behaviors/lolo/spec/net/http-fetch.replay.goldens.json +2 -2
  113. package/behaviors/lolo/spec/net/npm-lookup.replay.goldens.json +1 -1
  114. package/behaviors/lolo/spec/net/npm-registry.replay.goldens.json +2 -2
  115. package/behaviors/lolo/spec/net/server-declared-traits.replay.goldens.json +6 -3
  116. package/behaviors/lolo/spec/net/server-external-inputs.replay.goldens.json +16 -8
  117. package/behaviors/lolo/spec/net/server-retargeted-leg.replay.goldens.json +4 -2
  118. package/behaviors/lolo/spec/net/server-untargeted-discovery.replay.goldens.json +50 -45
  119. package/behaviors/lolo/spec/ops/llm-spend-board.replay.goldens.json +112 -16
  120. package/behaviors/lolo/spec/store/firestore-twin.replay.goldens.json +1 -1
  121. package/behaviors/lolo/spec/store/row-store-postgres.gen/record_real_sql.py +1 -1
  122. package/behaviors/lolo/spec/ui/game/fx-particles.replay.goldens.json +37 -0
  123. package/behaviors/lolo/ui/avl/atoms/std-avl-cosmic-zoom.lolo +2 -2
  124. package/behaviors/lolo/ui/game/atoms/std-fx-particles.lolo +10 -1
  125. package/behaviors/lolo/ui/game/atoms/ui-draw-fx-layer.lolo +4 -4
  126. package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +9 -9
  127. package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +4 -4
  128. package/behaviors/lolo/ui/game/organisms/std-dungeon-board-2d.lolo +5 -5
  129. package/behaviors/lolo/ui/game/organisms/std-market-board-3d.lolo +9 -9
  130. package/behaviors/lolo/ui/game/organisms/std-objective-board-3d.lolo +9 -9
  131. package/behaviors/lolo/ui/game/organisms/std-platformer-board-2d.lolo +5 -5
  132. package/behaviors/lolo/ui/game/organisms/std-platformer-puzzle.lolo +4 -4
  133. package/behaviors/lolo/ui/game/organisms/std-survival-board-3d.lolo +9 -9
  134. package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +5 -5
  135. package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +9 -9
  136. package/behaviors/registry/auth/atoms/std-dev-personas.orb +1 -1
  137. package/behaviors/registry/cli/atoms/std-orb-goldens.orb +1 -1
  138. package/behaviors/registry/cli/atoms/std-orb-lint-mem-handles.orb +1 -1
  139. package/behaviors/registry/cli/atoms/std-orb-lint-os-grants.orb +1 -1
  140. package/behaviors/registry/cli/atoms/std-orb-mcp.orb +1 -1
  141. package/behaviors/registry/cli/atoms/std-orb-serve.orb +1 -1
  142. package/behaviors/registry/codec/atoms/std-lolo-kotlin.orb +1 -1
  143. package/behaviors/registry/codec/atoms/std-lolo-python.orb +1 -1
  144. package/behaviors/registry/codec/atoms/std-lolo-rust.orb +1 -1
  145. package/behaviors/registry/codec/atoms/std-lolo-source.orb +1 -1
  146. package/behaviors/registry/codec/atoms/std-lolo-swift.orb +1 -1
  147. package/behaviors/registry/codec/atoms/std-lolo-typescript.orb +1 -1
  148. package/behaviors/registry/connect/atoms/std-meta-ads.orb +1 -1
  149. package/behaviors/registry/connect/atoms/std-stdio-lines.orb +1 -1
  150. package/behaviors/registry/connect/atoms/std-youtube.orb +1 -1
  151. package/behaviors/registry/dev/atoms/std-guest-session.orb +1 -1
  152. package/behaviors/registry/dev/atoms/std-mock-seed-marks.orb +1 -0
  153. package/behaviors/registry/dev/organisms/std-behavior-playground.orb +37 -0
  154. package/behaviors/registry/dev/organisms/std-launchpad.orb +25 -0
  155. package/behaviors/registry/gpu/atoms/std-gpu-compute.orb +1 -0
  156. package/behaviors/registry/net/atoms/std-http-client.orb +1 -1
  157. package/behaviors/registry/net/atoms/std-http-fetch.orb +1 -1
  158. package/behaviors/registry/net/atoms/std-npm-lookup.orb +1 -1
  159. package/behaviors/registry/net/atoms/std-npm-registry.orb +1 -1
  160. package/behaviors/registry/spec/cli/lint-all.orb +1 -1
  161. package/behaviors/registry/spec/codec/lolo-source.fixtures/compose-pair.orb +1 -0
  162. package/behaviors/registry/spec/codec/lolo-source.fixtures/config-read.orb +1 -1
  163. package/behaviors/registry/spec/codec/lolo-source.fixtures/divide-default.orb +1 -1
  164. package/behaviors/registry/spec/codec/lolo-source.fixtures/divide-plain.orb +1 -1
  165. package/behaviors/registry/spec/codec/lolo-source.fixtures/get-past-end.orb +1 -1
  166. package/behaviors/registry/spec/codec/lolo-source.fixtures/list-call.orb +1 -1
  167. package/behaviors/registry/spec/codec/lolo-source.fixtures/list-plain.orb +1 -1
  168. package/behaviors/registry/spec/codec/lolo-source.fixtures/minus-binary.orb +1 -1
  169. package/behaviors/registry/spec/codec/lolo-source.fixtures/minus-unary.orb +1 -1
  170. package/behaviors/registry/spec/codec/lolo-source.fixtures/nested-let.orb +1 -1
  171. package/behaviors/registry/spec/codec/lolo-source.fixtures/no-machine.orb +1 -1
  172. package/behaviors/registry/spec/codec/lolo-source.fixtures/no-template.orb +1 -1
  173. package/behaviors/registry/spec/codec/lolo-source.fixtures/nth-past-end.orb +1 -1
  174. package/behaviors/registry/spec/codec/lolo-source.fixtures/nth-raw.orb +1 -1
  175. package/behaviors/registry/spec/codec/lolo-source.fixtures/ports-call.orb +1 -1
  176. package/behaviors/registry/spec/codec/lolo-source.fixtures/range-one.orb +1 -1
  177. package/behaviors/registry/spec/codec/lolo-source.fixtures/range-two.orb +1 -1
  178. package/behaviors/registry/spec/codec/lolo-source.fixtures/router-trio.orb +1 -0
  179. package/behaviors/registry/spec/codec/lolo-source.fixtures/store-pair.orb +1 -0
  180. package/behaviors/registry/spec/codec/lolo-source.fixtures/string-literal.orb +1 -1
  181. package/behaviors/registry/spec/codec/lolo-source.parity/agent-step.orb +1 -1
  182. package/behaviors/registry/spec/codec/lolo-source.parity/agent-step.server.orb +1 -1
  183. package/behaviors/registry/spec/codec/lolo-source.parity/chunk.orb +1 -1
  184. package/behaviors/registry/spec/codec/lolo-source.parity/chunk.server.orb +1 -1
  185. package/behaviors/registry/spec/codec/lolo-source.parity/cosine.orb +1 -1
  186. package/behaviors/registry/spec/codec/lolo-source.parity/cosine.server.orb +1 -1
  187. package/behaviors/registry/spec/codec/lolo-source.parity/recall-at-k.orb +1 -1
  188. package/behaviors/registry/spec/codec/lolo-source.parity/recall-at-k.server.orb +1 -1
  189. package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
  190. package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
  191. package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
  192. package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +20 -13
  193. package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +9 -5
  194. package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +17 -7
  195. package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +19 -15
  196. package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +15 -12
  197. package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +17 -7
  198. package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +4 -0
  199. package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +15 -12
  200. package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +13 -6
  201. package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +14 -12
  202. package/canonical-operators.json +1426 -103
  203. package/dist/{chunk-EK22WRB6.js → chunk-2UGHBVU2.js} +2 -2
  204. package/dist/{chunk-GDMH5T4J.js → chunk-3DK7GI2C.js} +2 -2
  205. package/dist/chunk-3MDASC5C.js +26 -0
  206. package/dist/{chunk-K5ZI27PB.js → chunk-3PHO4RRF.js} +1 -1
  207. package/dist/{chunk-7IEMMYM6.js → chunk-4MJCLAZW.js} +1 -1
  208. package/dist/{chunk-W4IEV4BY.js → chunk-55JPIL7A.js} +2 -2
  209. package/dist/{chunk-RUGBZTV3.js → chunk-66BLZLFI.js} +1 -1
  210. package/dist/{chunk-YWFISV7L.js → chunk-66RAJFOD.js} +1 -1
  211. package/dist/{chunk-JWOWWGNZ.js → chunk-6ED4SUC6.js} +1 -1
  212. package/dist/{chunk-LL7P6EII.js → chunk-6KFCHNE2.js} +2 -2
  213. package/dist/{chunk-GFBL2TW6.js → chunk-A4QB3Y6L.js} +1 -1
  214. package/dist/chunk-BVWMLS32.js +123 -0
  215. package/dist/{chunk-5KQCGSNC.js → chunk-CRKVDCY7.js} +1 -1
  216. package/dist/{chunk-WHQDLLC3.js → chunk-EKWEY4OJ.js} +1 -1
  217. package/dist/{chunk-Y3BRVNYK.js → chunk-EU22GCGV.js} +2 -2
  218. package/dist/{chunk-XQPYTDZ4.js → chunk-FB6PKNRS.js} +1 -1
  219. package/dist/{chunk-UX3MDFX6.js → chunk-FSVOJQLP.js} +1 -1
  220. package/dist/{chunk-LDBD2FBQ.js → chunk-GAKLBWBR.js} +1 -1
  221. package/dist/{chunk-C3IEMPRZ.js → chunk-GO3FKBV2.js} +2 -2
  222. package/dist/{chunk-LZSPEHSM.js → chunk-GPDTJHYY.js} +1 -1
  223. package/dist/{chunk-W5ABMOXU.js → chunk-JQBWLH5V.js} +1 -1
  224. package/dist/{chunk-63X6RNY6.js → chunk-KKW3JHTC.js} +1 -1
  225. package/dist/{chunk-5PLJE42Q.js → chunk-LF2EZVAM.js} +1 -1
  226. package/dist/{chunk-RXWBYWQB.js → chunk-LGCKOZP3.js} +2 -2
  227. package/dist/{chunk-JJEADYP7.js → chunk-LMZ6XJFB.js} +2 -2
  228. package/dist/{chunk-CWYSQZJU.js → chunk-M2YQNSAZ.js} +2 -2
  229. package/dist/{chunk-GNCKJV3P.js → chunk-MKWHYBIS.js} +1 -1
  230. package/dist/{chunk-ZB2CLGEG.js → chunk-MXBGYTYF.js} +1 -1
  231. package/dist/{chunk-UN76TRSK.js → chunk-NH6MXHZR.js} +41 -41
  232. package/dist/{chunk-II2VW7T6.js → chunk-ODBIX4DB.js} +1 -1
  233. package/dist/{chunk-3F3CNWOG.js → chunk-OYDQR6DT.js} +2 -2
  234. package/dist/{chunk-FVL6BT6L.js → chunk-PD6POR44.js} +1 -1
  235. package/dist/{chunk-U6USXZ5M.js → chunk-PHFT3QNS.js} +2 -2
  236. package/dist/{chunk-RJYKIZMS.js → chunk-PQZ6PVKG.js} +2 -2
  237. package/dist/{chunk-TQPQXCSZ.js → chunk-Q6NHXIOZ.js} +2 -2
  238. package/dist/{chunk-KYGWVCTM.js → chunk-QMDVYTB7.js} +1 -1
  239. package/dist/{chunk-XKTATY45.js → chunk-RW2KMSG5.js} +4 -4
  240. package/dist/{chunk-UHNSPTFT.js → chunk-SA2ZS24W.js} +1 -1
  241. package/dist/{chunk-6YPUQK36.js → chunk-SFWP4UMK.js} +2 -2
  242. package/dist/{chunk-ZZYLFHBU.js → chunk-TLNEQA4D.js} +1 -1
  243. package/dist/{chunk-RGTBRWWA.js → chunk-TOODE5AD.js} +2 -2
  244. package/dist/{chunk-QGWAHOFR.js → chunk-U57GY7SM.js} +2 -2
  245. package/dist/{chunk-FDJZKB7J.js → chunk-UIDQQJSX.js} +1 -1
  246. package/dist/{chunk-LLH3WXM3.js → chunk-UVFP2B7I.js} +1 -1
  247. package/dist/{chunk-4OF7727E.js → chunk-VEGZPCTZ.js} +2 -2
  248. package/dist/{chunk-73YUPNIT.js → chunk-VXN4V7LC.js} +1 -1
  249. package/dist/{chunk-4D3W6AAE.js → chunk-YHQVZWPG.js} +1 -1
  250. package/dist/{chunk-XXYBHYLM.js → chunk-YQO3TO66.js} +2 -2
  251. package/dist/{chunk-YZAYFR5A.js → chunk-ZSJ3GEOJ.js} +1 -1
  252. package/dist/index.d.ts +3 -3
  253. package/dist/index.js +50 -50
  254. package/dist/modules/anim.js +2 -2
  255. package/dist/modules/array.js +2 -2
  256. package/dist/modules/auth.js +3 -3
  257. package/dist/modules/behavior.js +2 -2
  258. package/dist/modules/bit.js +2 -2
  259. package/dist/modules/browser.js +2 -2
  260. package/dist/modules/bytes.js +2 -2
  261. package/dist/modules/codec.js +3 -3
  262. package/dist/modules/composition.js +2 -2
  263. package/dist/modules/core.js +2 -2
  264. package/dist/modules/csv.js +2 -2
  265. package/dist/modules/ffi.js +3 -3
  266. package/dist/modules/format.js +2 -2
  267. package/dist/modules/geo.js +2 -2
  268. package/dist/modules/gpu.d.ts +12 -0
  269. package/dist/modules/gpu.js +3 -0
  270. package/dist/modules/grid.js +2 -2
  271. package/dist/modules/i18n.js +2 -2
  272. package/dist/modules/index.d.ts +1 -2
  273. package/dist/modules/index.js +45 -46
  274. package/dist/modules/json.js +2 -2
  275. package/dist/modules/kernel.js +3 -3
  276. package/dist/modules/kv.js +3 -3
  277. package/dist/modules/llm.js +2 -2
  278. package/dist/modules/math.js +2 -2
  279. package/dist/modules/mem.js +3 -3
  280. package/dist/modules/object.js +2 -2
  281. package/dist/modules/os-common.d.ts +1 -1
  282. package/dist/modules/os-common.js +2 -2
  283. package/dist/modules/os-desktop.js +3 -3
  284. package/dist/modules/os-dev.js +3 -3
  285. package/dist/modules/os-dir.js +3 -3
  286. package/dist/modules/os-env-stdio.js +3 -3
  287. package/dist/modules/os-fs.js +3 -3
  288. package/dist/modules/os-net.js +3 -3
  289. package/dist/modules/os-path.js +3 -3
  290. package/dist/modules/os-process.js +3 -3
  291. package/dist/modules/os-sys.js +3 -3
  292. package/dist/modules/os-time-users.js +3 -3
  293. package/dist/modules/os.js +13 -13
  294. package/dist/modules/path.js +2 -2
  295. package/dist/modules/prob.js +2 -2
  296. package/dist/modules/program.js +2 -2
  297. package/dist/modules/session.js +2 -2
  298. package/dist/modules/str.js +2 -2
  299. package/dist/modules/time.js +2 -2
  300. package/dist/modules/validate.js +2 -2
  301. package/dist/modules/vector.js +2 -2
  302. package/dist/modules/workspace.js +2 -2
  303. package/dist/modules/xml.js +2 -2
  304. package/dist/modules/yaml.js +2 -2
  305. package/dist/registry.d.ts +2 -2
  306. package/dist/registry.js +49 -49
  307. package/dist/{types-BA4LkhNJ.d.ts → types-CgiGhK6t.d.ts} +17 -3
  308. package/package.json +5 -5
  309. package/dist/chunk-F5TP25JA.js +0 -26
  310. package/dist/chunk-NE4WSTN7.js +0 -26
  311. package/dist/modules/trace.d.ts +0 -15
  312. package/dist/modules/trace.js +0 -2
  313. /package/dist/{chunk-SHSBTDDX.js → chunk-QUQ33UXH.js} +0 -0
@@ -1 +1 @@
1
- {"typeContractVersion":1,"types":{"GtCallHit":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"GtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}]}],"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintMemHandlesCodes":[{"nullable":false,"name":"useAfterFree","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"doubleFree","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"alias","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"leak","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"lintIndexMissing","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"MhAcc":[{"nullable":false,"name":"s","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"f","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}],"MhCall":[{"nullable":false,"name":"","type":"[MhValue]","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"MhEmit":[{"nullable":false,"name":"success","type":"string","required":true}],"MhFrom":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}]}],"MhLink":[{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"tgt","type":"string","required":true}],"MhMachine":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"MhOp":[{"nullable":false,"name":"k","type":"string","required":true},{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"at","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"src","type":"string","required":true},{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"lit","type":"string","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"string","required":true}],"MhOpts":[{"nullable":false,"name":"emit","type":"object","required":true,"properties":[{"nullable":false,"name":"success","type":"string","required":true}],"projectedFrom":{"type":"MhEmit"}}],"MhOrbital":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"items":{"nullable":false,"name":"","type":"MhTrait","projectedFrom":{"type":"MhTrait"}}}],"MhProgram":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"items":{"nullable":false,"name":"","type":"MhTrait","projectedFrom":{"type":"MhTrait"}}}],"items":{"nullable":false,"name":"","type":"MhOrbital","projectedFrom":{"type":"MhOrbital"}}}],"MhRound":[{"nullable":false,"name":"facts","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"fnd","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}],"MhState":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"MhT":[{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"to","type":"string","required":true},{"nullable":false,"name":"from","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"ops","type":"[object]","required":true,"properties":[{"nullable":false,"name":"k","type":"string","required":true},{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"at","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"src","type":"string","required":true},{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"lit","type":"string","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"string","required":true}],"items":{"nullable":false,"name":"","type":"MhOp","projectedFrom":{"type":"MhOp"}}}],"MhTrait":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"MhTransition":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"MhValue":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[MhValue]","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}},{"nullable":false,"name":"object","type":"Map<string,MhValue>","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}]}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}]},"name":"std-orb-lint-mem-handles","version":"1.0.0","description":"std-orb-lint-mem-handles — the `orb lint mem-handles <file>` command, the typestate check of EXEC-METAL-3 over a trait's transition graph. It lowers the file with program/read and, for every inline trait that calls a mem/ operator, walks the graph (transition = edge from each `from` state to its `to` state, guards ignored, so every written path counts) carrying the set of handle facts true on some path into each state until nothing changes. HANDLE SOURCE: a handle is named only by the exact argument `@entity.<field>` (or, inside one transition, `@payload.<field>`); an argument that is anything else (a let binding, a computed value, an array element) is skipped, no finding. A handle enters a field only where a transition sets `@entity.<f>` from `@payload.arena`, `@payload.block` or `@payload.borrow` (the documented success payloads of mem/arena-new, mem/alloc and mem/borrow); any other `set @entity.<f>` rebinds f and forgets what was known of it. Order inside one effect or guard is its pre-order, mem calls before the sets nested in the same top-level effect. ORB_MEM_USE_AFTER_FREE: a mem/ call taking the handle (alloc, borrow, write, read, read-uint, length) on a path after mem/free, mem/arena-drop or mem/release of the same source. ORB_MEM_DOUBLE_FREE: a second mem/free, mem/arena-drop or mem/release of the same source on a path; dropping an arena also kills every block field the trait allocated from that arena field (the link is a mem/alloc whose success route sets that field from `@payload.block`), so a later free of such a block is a double free. ORB_MEM_ALIAS: a mem/borrow with the literal mode \"exclusive\" of a block source while a borrow of that source is live, or any borrow while an exclusive one is live; a borrow is live from the transition that sets its field from `@payload.borrow` (the borrow effect's success route; the field must be set by exactly one borrow call's route, else it is untracked) until mem/release of that field, and two borrow calls of one source inside one transition conflict at once. ORB_MEM_LEAK: a mem/arena-new whose arena is stored in an entity field (success route sets it from `@payload.arena`) and reaches a RESTING state of the trait without mem/arena-drop of that field on some path; RESTING means the trait's initial state or a state with no transition to a different state. A `stack` arena (literal kind) dies with its dispatch and is never a leak. Not tracked: handles outside the file's inline traits (composed `uses` traits are their own file's), handles passed through a payload, a let or an emit, and arenas overwritten without a drop. Clean answers `lint mem-handles: clean` (status 200, exit 0); findings are status 500, exit 1. Anything but one file argument is the usage (status 400, exit 2); an unreadable or unlowerable file is status 500.","orbitals":[{"name":"OrbLintMemHandlesOrbital","id":"orb_7R1PZRXGRSRCCJ6X24ASRR6BAF","uses":[{"from":"almadar-std/lint-mem-handles","as":"Spec"},{"from":"std/behaviors/std-orb-lint-input","as":"Input"}],"entity":{"name":"OrbLintMemHandlesRun","id":"ent_5TVG6XD782KM122JDVF5NXZWES","persistence":"runtime","fields":[{"nullable":false,"name":"sCalls","type":"object","default":{},"items":{"nullable":false,"type":"array","items":{"nullable":false,"type":"object","properties":{"path":{"nullable":false,"name":"path","type":"string","required":false},"node":{"nullable":true,"name":"node","type":"union","required":false,"values":["string","number","boolean","array","map"],"properties":{"string":{"nullable":false,"name":"string","type":"string"},"number":{"nullable":false,"name":"number","type":"number"},"boolean":{"nullable":false,"name":"boolean","type":"boolean"},"array":{"nullable":false,"name":"array","type":"array","items":{"nullable":true,"type":"union","values":["GtVal"],"projectedFrom":{"type":"GtVal"}}},"map":{"nullable":false,"name":"map","type":"object","items":{"nullable":true,"type":"union","values":["GtVal"],"projectedFrom":{"type":"GtVal"}}}},"projectedFrom":{"type":"GtVal"}},"at":{"nullable":false,"name":"at","type":"number","required":false}},"projectedFrom":{"type":"GtCallHit"}}}},{"nullable":false,"name":"sitesCallsHeard","type":"boolean","default":false},{"nullable":false,"name":"sitesCallsScope","type":"string","default":""},{"nullable":false,"name":"id","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","default":""},{"nullable":false,"name":"findings","type":"array","default":[],"items":{"nullable":false,"type":"object","properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"path":{"nullable":false,"name":"path","type":"string","required":true},"message":{"nullable":false,"name":"message","type":"string","required":true},"suggestion":{"nullable":false,"name":"suggestion","type":"string","required":true},"severity":{"nullable":false,"name":"severity","type":"string","required":false,"values":["warning","error"]}},"projectedFrom":{"type":"OrbFinding"}}}]},"traits":[{"name":"OrbLintMemHandles","id":"trt_PSWDF5XB88NM40P8D3ED72A70W","effectRow":[{"kind":"emit","resource":"LINT_FINISH"},{"kind":"emit","resource":"LINT_FOUND"},{"kind":"set","resource":"@entity.findings"},{"kind":"set","resource":"@entity.sCalls"},{"kind":"set","resource":"@entity.scope"},{"kind":"set","resource":"@entity.sitesCallsHeard"},{"kind":"set","resource":"@entity.sitesCallsScope"}],"linkedEntity":"OrbLintMemHandlesRun","linkedEntityId":"ent_5TVG6XD782KM122JDVF5NXZWES","entityRefIds":{"OrbLintMemHandlesRun":"ent_5TVG6XD782KM122JDVF5NXZWES"},"emits":[{"event":"LINT_FOUND","eventId":"evt_56C6M8WVKKDSSG77NQNS5W3335","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_FINISH","eventId":"evt_MRA0FX0P4EB273RH65XD5V7PFR","description":"Internal: answer with the verdict.","tier":"internal"}],"listens":[{"event":"LINT_INPUT","eventId":"evt_V1H25B3SSKWWSHPV62F1QVJ4WY","triggers":"LINT_INPUT","triggersId":"evt_V1H25B3SSKWWSHPV62F1QVJ4WY","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_90N5EEA043021XAMXEDZ514JPS"}},{"event":"LINT_SITES","triggers":"SITES_HEARD","triggersId":"evt_DKJCCSZCRMPCAFHVZ3PW14MXK0","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_90N5EEA043021XAMXEDZ514JPS"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_NQ2P0GRV42DJ185H81RG338PT6","name":"Initialize"},{"key":"SITES_HEARD","id":"evt_DKJCCSZCRMPCAFHVZ3PW14MXK0","name":"Sites Heard","description":"std-orb-lint-input's LINT_SITES: guard heads and roots, the call hits by head and the @trait. and @entity. leaves.","payloadSchema":[{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"guardHeads","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"guardRoots","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"calls","type":"Map<string,[GtCallHit]>","required":true,"items":{"nullable":false,"name":"","type":"[object]","properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}}},{"nullable":false,"name":"trait","type":"[object]","required":true,"properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}},{"nullable":false,"name":"entity","type":"[object]","required":true,"properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}}],"listened":true},{"key":"LINT_INPUT","id":"evt_V1H25B3SSKWWSHPV62F1QVJ4WY","name":"Lint Input","description":"The lint input: the file read, its language decided and the program lowered.","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true},{"nullable":false,"name":"raw","type":"string","required":true},{"nullable":false,"name":"latin","type":"boolean","required":true},{"nullable":false,"name":"program","type":"object","required":true,"properties":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"items":{"nullable":false,"name":"","type":"MhTrait","projectedFrom":{"type":"MhTrait"}}}],"items":{"nullable":false,"name":"","type":"MhOrbital","projectedFrom":{"type":"MhOrbital"}}}],"projectedFrom":{"type":"MhProgram"}},{"nullable":false,"name":"scope","type":"string","required":true}],"listened":true},{"key":"LINT_FINISH","id":"evt_MRA0FX0P4EB273RH65XD5V7PFR","name":"Lint Finish","description":"Internal: answer with the verdict.","tier":"internal"},{"key":"LINT_FOUND","id":"evt_56C6M8WVKKDSSG77NQNS5W3335","name":"Lint Found","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_NQ2P0GRV42DJ185H81RG338PT6"},{"from":"ready","to":"ready","event":"SITES_HEARD","eventId":"evt_DKJCCSZCRMPCAFHVZ3PW14MXK0","effects":[["set","@entity.sCalls","@payload.calls"],["set","@entity.sitesCallsHeard",true],["set","@entity.sitesCallsScope","@payload.scope"]]},{"from":"ready","to":"ready","event":"LINT_INPUT","eventId":"evt_V1H25B3SSKWWSHPV62F1QVJ4WY","effects":[["set","@entity.scope","@payload.scope"],["set","@entity.findings",["if",["and","@entity.sitesCallsHeard",["=","@entity.sitesCallsScope","@payload.scope"]],["let",[["orbitals",["object/get","@payload.program","orbitals",[]]],["memHits",["array/flatten",["array/map",["array/filter",["object/keys","@entity.sCalls"],["fn","h",["str/startsWith","@h","mem/"]]],["fn","h",["object/get","@entity.sCalls","@h",[]]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"GtCallHit\"}},\"named\":{\"GtCallHit\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"node\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"GtVal\"}},\"required\":false,\"constraints\":[]},{\"name\":\"at\",\"fieldType\":{\"kind\":\"number\"},\"required\":false,\"constraints\":[]}]},\"GtVal\":{\"kind\":\"union\",\"variants\":[{\"name\":\"string\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"number\",\"fieldType\":{\"kind\":\"number\"},\"required\":true,\"constraints\":[]},{\"name\":\"boolean\",\"fieldType\":{\"kind\":\"boolean\"},\"required\":true,\"constraints\":[]},{\"name\":\"array\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"GtVal\"}}},\"required\":true,\"constraints\":[]},{\"name\":\"map\",\"fieldType\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"GtVal\"}}},\"required\":true,\"constraints\":[]}]}}}"]],["array/flatten",["array/map",["array/range",0,["array/len","@orbitals"]],["fn","oi",["let",[["orb",["default",["array/nth","@orbitals","@oi"],{}]]],["array/flatten",["array/map",["array/range",0,["array/len",["object/get","@orb","traits",[]]]],["fn","ti",["let",[["td",["default",["array/nth",["object/get","@orb","traits",[]],"@ti"],{}]]],["if",["or",["not",["validate/object",["object/get","@td","stateMachine",null]]],["not",["array/some","@memHits",["fn","mh",["str/startsWith",["object/get","@mh","path",""],["str/concat","orbitals[","@oi","].traits[","@ti","]"]]]]]],[],["let",[["tx",["object/get",["object/get","@td","stateMachine",{}],"transitions",[]]],["stNames",["array/map",["object/get",["object/get","@td","stateMachine",{}],"states",[]],["fn","s",["object/get","@s","name",""]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["initials",["array/map",["array/filter",["object/get",["object/get","@td","stateMachine",{}],"states",[]],["fn","s",["object/get","@s","isInitial",false]]],["fn","s",["object/get","@s","name",""]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["sig",["str/slice","x@",1],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["prefix",["str/concat","orbitals[","@oi"," (",["object/get","@orb","name",""],")].traits[","@ti"," (",["object/get","@td","name",""],")].stateMachine"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"]],["let",[["perT",["array/map",["array/range",0,["array/len","@tx"]],["fn","j",["let",[["t",["default",["array/nth","@tx","@j"],{}]]],["let",[["items",["array/concat",["if",["object/has","@t","guard"],[["object/get","@t","guard"]],[]],["object/get","@t","effects",[]]]],["at",["str/concat","@prefix",".transitions[","@j","]"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"]],{"j":"@j","ev":["object/get","@t","event",""],"to":["object/get","@t","to",""],"from":["let",[["f",["object/get","@t","from",""]]],["if",["validate/array","@f"],"@f",["@f"]]],"ops":["array/flatten",["array/map","@items",["fn","e",["let",[["nd",["array/filter",["array/map",["json/nodes",["@e"]],["fn","n",["default",["as","@n","MhCall"],[]]]],["fn","c",["and",[">",["array/len","@c"],0],["!=",["as",["array/first","@c"],"string"],null]]]]]],["array/concat",["array/map",["array/filter","@nd",["fn","c",["str/startsWith",["default",["as",["array/first","@c"],"string"],""],"mem/"]]],["fn","c",["let",[["hd",["default",["as",["array/first","@c"],"string"],""],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["a0",["default",["as",["array/nth","@c",1],"string"],""],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["a1",["default",["as",["array/nth","@c",2],"string"],""],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["opt",["as",["array/last","@c"],"MhOpts"]]],{"k":"mem","j":"@j","at":"@at","h":"@hd","src":"@a0","f":"","v":"","key":["if",["str/startsWith","@a0",["str/concat","@sig","entity."]],["str/slice","@a0",8],["if",["str/startsWith","@a0",["str/concat","@sig","payload."]],["str/concat","payload.",["str/slice","@a0",9]],""]],"lit":["if",["=","@hd","mem/arena-new"],"@a0","@a1"],"ev":["if",["=","@opt",null],"",["object/get",["object/get","@opt","emit"],"success",""]]}]]],["array/map",["array/filter","@nd",["fn","c",["and",["=",["default",["as",["array/first","@c"],"string"],""],"set"],[">",["array/len","@c"],2],["str/startsWith",["default",["as",["array/nth","@c",1],"string"],""],["str/concat","@sig","entity."]]]]],["fn","c",{"k":"set","j":"@j","at":"@at","h":"","src":"","key":"","lit":"","ev":"","f":["str/slice",["default",["as",["array/nth","@c",1],"string"],""],8],"v":["default",["as",["array/nth","@c",2],"string"],""]}]]]]]]]}]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhT\"}},\"named\":{\"MhOp\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"k\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"j\",\"fieldType\":{\"kind\":\"number\"},\"required\":true,\"constraints\":[]},{\"name\":\"at\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"h\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"src\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"key\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"lit\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"ev\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"f\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"v\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]}]},\"MhT\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"j\",\"fieldType\":{\"kind\":\"number\"},\"required\":true,\"constraints\":[]},{\"name\":\"ev\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"to\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"from\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":true,\"constraints\":[]},{\"name\":\"ops\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhOp\"}},\"required\":true,\"constraints\":[]}]}}}"]],["if",["not",["array/some","@perT",["fn","p",[">",["array/len",["object/get","@p","ops"]],0]]]],[],["let",[["rows",["array/flatten",["array/map",["array/flatten",["array/map","@perT",["fn","p",["array/filter",["object/get","@p","ops"],["fn","o",["and",["=",["object/get","@o","k"],"mem"],["!=",["object/get","@o","ev"],""],["array/includes",["list","mem/alloc","mem/borrow","mem/arena-new"],["object/get","@o","h"]]]]]]]],["fn","o",["let",[["want",["if",["=",["object/get","@o","h"],"mem/alloc"],["str/concat","@sig","payload.block"],["if",["=",["object/get","@o","h"],"mem/borrow"],["str/concat","@sig","payload.borrow"],["str/concat","@sig","payload.arena"]]],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["tgt",["if",["=",["object/get","@o","h"],"mem/borrow"],["str/concat",["object/get","@o","key"],"|",["object/get","@o","lit"]],["if",["=",["object/get","@o","h"],"mem/alloc"],["object/get","@o","key"],["object/get","@o","lit"]]],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"]],["array/flatten",["array/map","@perT",["fn","p",["if",["!=",["object/get","@p","ev"],["object/get","@o","ev"]],[],["array/map",["array/filter",["object/get","@p","ops"],["fn","s",["and",["=",["object/get","@s","k"],"set"],["=",["object/get","@s","v"],"@want"]]]],["fn","s",{"f":["object/get","@s","f"],"h":["object/get","@o","h"],"tgt":"@tgt"}]]]]]]]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhLink\"}},\"named\":{\"MhLink\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"f\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"h\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"tgt\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]}]}}}"]],["let",[["links",["array/filter","@rows",["fn","r",["and",["not",["array/some","@rows",["fn","r2",["and",["=",["object/get","@r2","f"],["object/get","@r","f"]],["=",["object/get","@r2","h"],["object/get","@r","h"]],["!=",["object/get","@r2","tgt"],["object/get","@r","tgt"]]]]]],["or",["=",["object/get","@r","h"],"mem/arena-new"],["and",["!=",["object/get","@r","tgt"],""],["not",["str/startsWith",["object/get","@r","tgt"],"|"]]]]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhLink\"}},\"named\":{\"MhLink\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"f\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"h\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"tgt\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]}]}}}"]],["let",[["rinit",{"facts":{},"fnd":[]},"{\"version\":1,\"name\":\"MhRound\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"facts\",\"fieldType\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}},\"required\":true,\"constraints\":[]},{\"name\":\"fnd\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],["let",[["done",["array/reduce",["array/range",0,["+",["array/len","@stNames"],1]],"@rinit",["fn",["racc","r"],["let",[["tinit",{"facts":["object/get","@racc","facts"],"fnd":[]},"{\"version\":1,\"name\":\"MhRound\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"facts\",\"fieldType\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}},\"required\":true,\"constraints\":[]},{\"name\":\"fnd\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],["array/reduce","@perT","@tinit",["fn",["acc2","p"],["let",[["inM",["object/get","@acc2","facts"],"{\"version\":1,\"type\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}}"]],["let",[["inF",["array/unique",["array/flatten",["array/map",["array/flatten",["array/map",["object/get","@p","from"],["fn","s",["if",["=","@s","*"],"@stNames",["@s"]]]]],["fn","s",["object/get","@inM","@s",[]]]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["to",["object/get","@p","to"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["ainit",{"s":[],"f":[]},"{\"version\":1,\"name\":\"MhAcc\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"s\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":true,\"constraints\":[]},{\"name\":\"f\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],["let",[["res",["array/reduce",["object/get","@p","ops"],["let",[["a0",{"s":"@inF","f":[]},"{\"version\":1,\"name\":\"MhAcc\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"s\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":true,\"constraints\":[]},{\"name\":\"f\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],"@a0"],["fn",["acc","o"],["let",[["S",["object/get","@acc","s"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["F",["object/get","@acc","f"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"],["k",["object/get","@o","key"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["h",["object/get","@o","h"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["lit",["object/get","@o","lit"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"]],["if",["=",["object/get","@o","k"],"set"],["let",[["f",["object/get","@o","f"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["v",["object/get","@o","v"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"]],["let",[["bl",["array/find","@links",["fn","l",["and",["=",["object/get","@l","f"],"@f"],["=",["object/get","@l","h"],"mem/borrow"]]]]],["made",["array/find","@links",["fn","l",["and",["=",["object/get","@l","f"],"@f"],["=",["object/get","@l","h"],"mem/arena-new"],["!=",["object/get","@l","tgt"],"stack"]]]]]],{"s":["array/concat",["array/filter","@S",["fn","x",["not",["or",["=","@x",["str/concat","F:","@f"]],["and",["or",["str/startsWith","@x","BX:"],["str/startsWith","@x","BS:"]],["str/endsWith","@x",["str/concat",":","@f"]]],["and",["=","@v",["str/concat","@sig","payload.arena"]],["str/startsWith","@x",["str/concat","A:","@f",":"]]],["and",["=","@v",["str/concat","@sig","payload.block"]],["or",["str/startsWith","@x",["str/concat","BX:","@f",":"]],["str/startsWith","@x",["str/concat","BS:","@f",":"]]]]]]]],["if",["and",["=","@v",["str/concat","@sig","payload.arena"]],["!=","@made",null]],[["str/concat","A:","@f",":",["object/get","@o","j"]]],[]],["if",["and",["=","@v",["str/concat","@sig","payload.borrow"]],["!=","@bl",null],["array/includes",["exclusive","shared"],["default",["array/nth",["str/split",["object/get","@bl","tgt"],"|"],1],""]]],[["str/concat",["if",["=",["array/nth",["str/split",["object/get","@bl","tgt"],"|"],1],"exclusive"],"BX","BS"],":",["default",["array/first",["str/split",["object/get","@bl","tgt"],"|"]],""],":","@f"]],[]]],"f":"@F"}]],["if",["=","@k",""],"@acc",["let",[["src",["object/get","@o","src"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["at",["object/get","@o","at"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["isEnd",["array/includes",["list","mem/free","mem/arena-drop","mem/release"],"@h"],"{\"version\":1,\"type\":{\"kind\":\"boolean\"}}"],["freed",["array/includes","@S",["str/concat","F:","@k"]],"{\"version\":1,\"type\":{\"kind\":\"boolean\"}}"],["modeOk",["and",["=","@h","mem/borrow"],["array/includes",["exclusive","shared"],"@lit"]],"{\"version\":1,\"type\":{\"kind\":\"boolean\"}}"]],["let",[["conflict",["and","@modeOk",["array/some","@S",["fn","x",["or",["str/startsWith","@x",["str/concat","BX:","@k",":"]],["str/startsWith","@x",["str/concat","pBX:","@k",":"]],["and",["=","@lit","exclusive"],["or",["str/startsWith","@x",["str/concat","BS:","@k",":"]],["str/startsWith","@x",["str/concat","pBS:","@k",":"]]]]]]]],"{\"version\":1,\"type\":{\"kind\":\"boolean\"}}"]],{"s":["if",["=","@h","mem/free"],["array/concat","@S",[["str/concat","F:","@k"]]],["if",["=","@h","mem/arena-drop"],["let",[["blocks",["array/map",["array/filter","@links",["fn","l",["and",["=",["object/get","@l","h"],"mem/alloc"],["=",["object/get","@l","tgt"],"@k"]]]],["fn","l",["object/get","@l","f"]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"]],["array/concat",["array/filter","@S",["fn","x",["not",["or",["str/startsWith","@x",["str/concat","A:","@k",":"]],["array/some","@blocks",["fn","b",["or",["str/startsWith","@x",["str/concat","BX:","@b",":"]],["str/startsWith","@x",["str/concat","BS:","@b",":"]]]]]]]]],[["str/concat","F:","@k"]],["array/map","@blocks",["fn","b",["str/concat","F:","@b"]]]]],["if",["=","@h","mem/release"],["array/concat",["array/filter","@S",["fn","x",["not",["and",["or",["str/startsWith","@x","BX:"],["str/startsWith","@x","BS:"]],["str/endsWith","@x",["str/concat",":","@k"]]]]]],[["str/concat","F:","@k"]]],["if","@modeOk",["array/concat","@S",[["str/concat",["if",["=","@lit","exclusive"],"pBX:","pBS:"],"@k",":"]]],"@S"]]]],"f":["array/concat","@F",["if",["and","@freed",["not","@isEnd"]],[{"code":"@config.codes.useAfterFree.code","path":"@at","message":["str/concat","`(","@h"," ","@src"," ...)` uses a handle that `mem/free`, `mem/arena-drop` or `mem/release` already ended on some path to this transition"],"suggestion":"Stop using the handle after it is freed, dropped or released, or rebind the field from a fresh allocation first","severity":"error"}],[]],["if",["and","@freed","@isEnd"],[{"code":"@config.codes.doubleFree.code","path":"@at","message":["str/concat","`(","@h"," ","@src",")` ends a handle that `mem/free`, `mem/arena-drop` or `mem/release` already ended on some path to this transition"],"suggestion":"End each handle once on every path, or set the field to a new handle between the two","severity":"error"}],[]],["if","@conflict",[{"code":"@config.codes.alias.code","path":"@at","message":["str/concat","`(mem/borrow ","@src"," \"","@lit","\")` borrows a block that another borrow of it (an exclusive one, or any when this one is exclusive) still holds on some path to this transition"],"suggestion":"`mem/release` the earlier borrow before borrowing again","severity":"error"}],[]]]}]]]]]]],"{\"version\":1,\"name\":\"MhAcc\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"s\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":true,\"constraints\":[]},{\"name\":\"f\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],{"facts":["object/set","@inM","@to",["array/unique",["array/concat",["object/get","@inM","@to",[]],["array/filter",["object/get","@res","s"],["fn","x",["not",["or",["str/startsWith","@x","pB"],["str/startsWith","@x",["str/concat","F:payload."]]]]]]]]],"fnd":["array/concat",["object/get","@acc2","fnd"],["object/get","@res","f"]]}]]]]]]]],"{\"version\":1,\"name\":\"MhRound\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"facts\",\"fieldType\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}},\"required\":true,\"constraints\":[]},{\"name\":\"fnd\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],["let",[["inFinal",["object/get","@done","facts"],"{\"version\":1,\"type\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}}"],["resting",["array/filter","@stNames",["fn","s",["or",["array/includes","@initials","@s"],["not",["array/some","@perT",["fn","p",["and",["!=",["object/get","@p","to"],"@s"],["or",["array/includes",["object/get","@p","from"],"@s"],["array/includes",["object/get","@p","from"],"*"]]]]]]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"]],["array/concat",["object/get","@done","fnd"],["array/map",["array/unique",["array/flatten",["array/map","@resting",["fn","r",["array/filter",["object/get","@inFinal","@r",[]],["fn","x",["str/startsWith","@x","A:"]]]]]]],["fn","fact",["let",[["parts",["str/split","@fact",":"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"]],{"code":"@config.codes.leak.code","path":["str/concat","@prefix",".transitions[",["default",["array/nth","@parts",2],""],"]"],"message":["str/concat","The arena stored in '","@sig","entity.",["default",["array/nth","@parts",1],""],"' can reach the resting state(s) '",["str/join",["array/filter","@resting",["fn","r",["array/includes",["object/get","@inFinal","@r",[]],"@fact"]]],"', '"],"' without `mem/arena-drop`"],"suggestion":"Drop the arena on every path to a resting state, including the failure routes","severity":"error"}]]]]]]]]]]]]]]]]]]]]]],[{"code":"@config.codes.lintIndexMissing.code","path":"","message":"the lint input arrived without LINT_SITES, so this rule cannot check the program","suggestion":"std-orb-lint-input sends LINT_SITES before LINT_INPUT; this rule did not hear it","severity":"error"}]]],["set","@entity.sitesCallsHeard",false],["emit","LINT_FINISH",{}]]},{"from":"ready","to":"ready","event":"LINT_FINISH","eventId":"evt_MRA0FX0P4EB273RH65XD5V7PFR","effects":[["emit","LINT_FOUND",{"rule":"mem-handles","scope":"@entity.scope","findings":"@entity.findings"}]]}]},"config":{"codes":{"nullable":false,"type":"LintMemHandlesCodes","default":{"lintIndexMissing":{"code":"ORB_LINT_INDEX_MISSING","category":"lint","description":"The lint input arrived without a shared program fact the rule reads (the structural index, sites, units, embeds or entities), so the rule cannot check the program"},"useAfterFree":{"code":"ORB_MEM_USE_AFTER_FREE","category":"mem","description":"A mem/ call takes a handle after it was freed, dropped or released on some path"},"doubleFree":{"code":"ORB_MEM_DOUBLE_FREE","category":"mem","description":"A handle is freed, dropped or released a second time on some path"},"alias":{"code":"ORB_MEM_ALIAS","category":"mem","description":"An exclusive borrow of a block while another borrow of it is live, or a borrow while an exclusive one is live"},"leak":{"code":"ORB_MEM_LEAK","category":"mem","description":"An arena reaches a resting state on some path without being dropped"}},"label":"Emitted codes","description":"The finding codes this rule emits, with their category and meaning; the registry is generated from this declaration.","properties":{"useAfterFree":{"nullable":false,"name":"useAfterFree","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"doubleFree":{"nullable":false,"name":"doubleFree","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"alias":{"nullable":false,"name":"alias","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"leak":{"nullable":false,"name":"leak","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"lintIndexMissing":{"nullable":false,"name":"lintIndexMissing","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}}},"projectedFrom":{"type":"LintMemHandlesCodes"}}},"dispatch":"optimistic","sourceDeclaration":{"traitId":"trt_PSWDF5XB88NM40P8D3ED72A70W","fingerprint":"693e35a5512b7f63d253f9ed956cb20d996f987915146d9ee21e88813ac424b8"}},{"name":"OrbLintMemHandlesCli","id":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN","effectRow":[{"kind":"emit","resource":"LINT_ANSWERED"},{"kind":"emit","resource":"LINT_REQUEST"}],"linkedEntity":"OrbLintMemHandlesRun","linkedEntityId":"ent_5TVG6XD782KM122JDVF5NXZWES","entityRefIds":{"OrbLintMemHandlesRun":"ent_5TVG6XD782KM122JDVF5NXZWES"},"emits":[{"event":"LINT_ANSWERED","eventId":"evt_D3DQV0P3811M0HRQJK5JJQCSYF","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"event":"LINT_REQUEST","eventId":"evt_QGTTNC88SR4CW0KX52QC1Y22G5","description":"Ask the lint input to read and lower this file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]},{"event":"LINT_FOUND","eventId":"evt_34BRT5FAEFN77QV482FZTDGXD9","description":"The rule trait's findings for the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_INPUT_UNREAD","eventId":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","description":"The lint input could not read or lower the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"listens":[{"event":"LINT_FOUND","eventId":"evt_56C6M8WVKKDSSG77NQNS5W3335","triggers":"LINT_FOUND","triggersId":"evt_34BRT5FAEFN77QV482FZTDGXD9","source":{"kind":"trait","trait":"OrbLintMemHandles","traitId":"trt_PSWDF5XB88NM40P8D3ED72A70W"}},{"event":"LINT_INPUT_UNREAD","eventId":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","triggers":"LINT_INPUT_UNREAD","triggersId":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_90N5EEA043021XAMXEDZ514JPS"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"waiting"}],"events":[{"key":"INIT","id":"evt_8RPN7ZNNMVTTDJYAM72BS7JGK3","name":"Initialize"},{"key":"LINT_CALLED","id":"evt_NJK57SCV4GDJ80GX61X8X9MY2C","name":"Lint Called","description":"Run `orb lint mem-handles` with its arguments and working directory.","synonyms":"orb lint mem-handles","payloadSchema":[{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"rawBody","type":"string","required":true}],"listened":true,"inbound":{"name":"cli-lint-mem-handles","answers":"LINT_ANSWERED"}},{"key":"LINT_FOUND","id":"evt_34BRT5FAEFN77QV482FZTDGXD9","name":"Lint Found","description":"The rule trait's findings for the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"key":"LINT_INPUT_UNREAD","id":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","name":"Lint Input Unread","description":"The lint input could not read or lower the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}],"listened":true},{"key":"LINT_ANSWERED","id":"evt_D3DQV0P3811M0HRQJK5JJQCSYF","name":"Lint Answered","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"key":"LINT_REQUEST","id":"evt_QGTTNC88SR4CW0KX52QC1Y22G5","name":"Lint Request","description":"Ask the lint input to read and lower this file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_8RPN7ZNNMVTTDJYAM72BS7JGK3"},{"from":"ready","to":"ready","event":"LINT_CALLED","eventId":"evt_NJK57SCV4GDJ80GX61X8X9MY2C","guard":["or",["=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["!=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint mem-handles <file>"}]]},{"from":"ready","to":"waiting","event":"LINT_CALLED","eventId":"evt_NJK57SCV4GDJ80GX61X8X9MY2C","guard":["and",["!=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["let",[["argFile",["array/first",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]]]],["if",["=","@argFile",null],["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint mem-handles <file>"}],["emit","LINT_REQUEST",{"file":"@argFile"}]]]]},{"from":"waiting","to":"waiting","event":"INIT","eventId":"evt_8RPN7ZNNMVTTDJYAM72BS7JGK3"},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_34BRT5FAEFN77QV482FZTDGXD9","guard":["and",["=","@payload.rule","mem-handles"],["=",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":200,"body":"lint mem-handles: clean"}]]},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_34BRT5FAEFN77QV482FZTDGXD9","guard":["and",["=","@payload.rule","mem-handles"],[">",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":500,"body":["str/join",["array/map","@payload.findings",["fn","x",["str/concat","[",["object/get","@x","code"],"] ",["object/get","@x","path"],": ",["object/get","@x","message"],["if",["=",["object/get","@x","suggestion"],""],"",["str/concat","\n suggestion: ",["object/get","@x","suggestion"]]]]]],"\n"]}]]},{"from":"waiting","to":"ready","event":"LINT_INPUT_UNREAD","eventId":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","effects":[["emit","LINT_ANSWERED",{"status":500,"body":"lint mem-handles: the file could not be read or lowered"}]]}]},"dispatch":"client","sourceDeclaration":{"traitId":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN","fingerprint":"4c6c8b92bbca8337b8d79a2a2a5cafefd1b0fe6ba1db1744a4e85e923f9f8f21"}},{"ref":"Input.traits.Versions","id":"trt_QCYY85YNE8AQ4DE9NRHM6S8RHF","name":"Versions"},{"ref":"Input.traits.Packs","id":"trt_21WJMAF114GGJF02Z5TY3TMECH","name":"Packs"},{"ref":"Input.traits.OrbLintInput","id":"trt_90N5EEA043021XAMXEDZ514JPS","name":"OrbLintInput","listens":[{"event":"LINT_REQUEST","triggers":"LINT_REQUEST","source":{"kind":"trait","trait":"OrbLintMemHandlesCli"}},{"event":"SCAN_ANSWERED","triggers":"LANG_SCAN_ANSWERED","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACK_VOCAB","triggers":"LANGUAGE_PACK_VOCAB_HEARD","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACKS_DONE","triggers":"LANGUAGE_PACKS_DONE_HEARD","source":{"kind":"trait","trait":"Packs"}}]}],"pages":[{"name":"OrbLintMemHandlesOrbitalStart","id":"pag_M8PMA2GEE4772D0ZF83N1WK9G6","path":"","protocol":"boot","traits":[{"ref":"OrbLintMemHandles","refId":"trt_PSWDF5XB88NM40P8D3ED72A70W"},{"ref":"OrbLintMemHandlesCli","refId":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},{"ref":"OrbLintInput","refId":"trt_90N5EEA043021XAMXEDZ514JPS"},{"ref":"Packs","refId":"trt_21WJMAF114GGJF02Z5TY3TMECH"},{"ref":"Versions","refId":"trt_QCYY85YNE8AQ4DE9NRHM6S8RHF"}]}],"types":{"GtCallHit":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"GtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}]}],"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintMemHandlesCodes":[{"nullable":false,"name":"useAfterFree","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"doubleFree","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"alias","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"leak","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"lintIndexMissing","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"MhAcc":[{"nullable":false,"name":"s","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"f","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}],"MhCall":[{"nullable":false,"name":"","type":"[MhValue]","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"MhEmit":[{"nullable":false,"name":"success","type":"string","required":true}],"MhFrom":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}]}],"MhLink":[{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"tgt","type":"string","required":true}],"MhMachine":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"MhOp":[{"nullable":false,"name":"k","type":"string","required":true},{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"at","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"src","type":"string","required":true},{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"lit","type":"string","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"string","required":true}],"MhOpts":[{"nullable":false,"name":"emit","type":"object","required":true,"properties":[{"nullable":false,"name":"success","type":"string","required":true}],"projectedFrom":{"type":"MhEmit"}}],"MhOrbital":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"items":{"nullable":false,"name":"","type":"MhTrait","projectedFrom":{"type":"MhTrait"}}}],"MhProgram":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"items":{"nullable":false,"name":"","type":"MhTrait","projectedFrom":{"type":"MhTrait"}}}],"items":{"nullable":false,"name":"","type":"MhOrbital","projectedFrom":{"type":"MhOrbital"}}}],"MhRound":[{"nullable":false,"name":"facts","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"fnd","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}],"MhState":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"MhT":[{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"to","type":"string","required":true},{"nullable":false,"name":"from","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"ops","type":"[object]","required":true,"properties":[{"nullable":false,"name":"k","type":"string","required":true},{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"at","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"src","type":"string","required":true},{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"lit","type":"string","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"string","required":true}],"items":{"nullable":false,"name":"","type":"MhOp","projectedFrom":{"type":"MhOp"}}}],"MhTrait":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"MhTransition":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"MhValue":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[MhValue]","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}},{"nullable":false,"name":"object","type":"Map<string,MhValue>","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}]}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}]}}],"inbound":["cli-lint-mem-handles"],"osGrants":{"fs":[{"glob":"/**","modes":["read"]},{"glob":"~/.orb/node_modules/**","modes":["read"]}],"exec":[],"net":[],"env":["PATH"],"stdio":[],"sys":[],"desktop":[],"anchored":{"fs":[{"anchor":"cwd","glob":"**","modes":["read"]}],"exec":[{"anchor":"exe"}]}},"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_5TVG6XD782KM122JDVF5NXZWES":{"id":"ent_5TVG6XD782KM122JDVF5NXZWES","kind":"entity","bakedName":"OrbLintMemHandlesRun","curName":"OrbLintMemHandlesRun","renames":[],"owner":"workspace"},"evt_34BRT5FAEFN77QV482FZTDGXD9":{"id":"evt_34BRT5FAEFN77QV482FZTDGXD9","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_56C6M8WVKKDSSG77NQNS5W3335":{"id":"evt_56C6M8WVKKDSSG77NQNS5W3335","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_PSWDF5XB88NM40P8D3ED72A70W"},"evt_8RPN7ZNNMVTTDJYAM72BS7JGK3":{"id":"evt_8RPN7ZNNMVTTDJYAM72BS7JGK3","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_D3DQV0P3811M0HRQJK5JJQCSYF":{"id":"evt_D3DQV0P3811M0HRQJK5JJQCSYF","kind":"event","bakedName":"LINT_ANSWERED","curName":"LINT_ANSWERED","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_DKJCCSZCRMPCAFHVZ3PW14MXK0":{"id":"evt_DKJCCSZCRMPCAFHVZ3PW14MXK0","kind":"event","bakedName":"SITES_HEARD","curName":"SITES_HEARD","renames":[],"owner":"workspace","parent":"trt_PSWDF5XB88NM40P8D3ED72A70W"},"evt_KAW6QYC2P61B38JW4ATF5B0QDW":{"id":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","kind":"event","bakedName":"LINT_INPUT_UNREAD","curName":"LINT_INPUT_UNREAD","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_MRA0FX0P4EB273RH65XD5V7PFR":{"id":"evt_MRA0FX0P4EB273RH65XD5V7PFR","kind":"event","bakedName":"LINT_FINISH","curName":"LINT_FINISH","renames":[],"owner":"workspace","parent":"trt_PSWDF5XB88NM40P8D3ED72A70W"},"evt_NJK57SCV4GDJ80GX61X8X9MY2C":{"id":"evt_NJK57SCV4GDJ80GX61X8X9MY2C","kind":"event","bakedName":"LINT_CALLED","curName":"LINT_CALLED","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_NQ2P0GRV42DJ185H81RG338PT6":{"id":"evt_NQ2P0GRV42DJ185H81RG338PT6","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_PSWDF5XB88NM40P8D3ED72A70W"},"evt_QGTTNC88SR4CW0KX52QC1Y22G5":{"id":"evt_QGTTNC88SR4CW0KX52QC1Y22G5","kind":"event","bakedName":"LINT_REQUEST","curName":"LINT_REQUEST","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_V1H25B3SSKWWSHPV62F1QVJ4WY":{"id":"evt_V1H25B3SSKWWSHPV62F1QVJ4WY","kind":"event","bakedName":"LINT_INPUT","curName":"LINT_INPUT","renames":[],"owner":"workspace","parent":"trt_PSWDF5XB88NM40P8D3ED72A70W"},"orb_7R1PZRXGRSRCCJ6X24ASRR6BAF":{"id":"orb_7R1PZRXGRSRCCJ6X24ASRR6BAF","kind":"orbital","bakedName":"OrbLintMemHandlesOrbital","curName":"OrbLintMemHandlesOrbital","renames":[],"owner":"workspace"},"pag_M8PMA2GEE4772D0ZF83N1WK9G6":{"id":"pag_M8PMA2GEE4772D0ZF83N1WK9G6","kind":"page","bakedName":"OrbLintMemHandlesOrbitalStart","curName":"OrbLintMemHandlesOrbitalStart","renames":[],"owner":"workspace"},"trt_21WJMAF114GGJF02Z5TY3TMECH":{"id":"trt_21WJMAF114GGJF02Z5TY3TMECH","kind":"trait","bakedName":"Packs","curName":"Packs","renames":[],"owner":"workspace"},"trt_90N5EEA043021XAMXEDZ514JPS":{"id":"trt_90N5EEA043021XAMXEDZ514JPS","kind":"trait","bakedName":"OrbLintInput","curName":"OrbLintInput","renames":[],"owner":"workspace"},"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN":{"id":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN","kind":"trait","bakedName":"OrbLintMemHandlesCli","curName":"OrbLintMemHandlesCli","renames":[],"owner":"workspace"},"trt_PSWDF5XB88NM40P8D3ED72A70W":{"id":"trt_PSWDF5XB88NM40P8D3ED72A70W","kind":"trait","bakedName":"OrbLintMemHandles","curName":"OrbLintMemHandles","renames":[],"owner":"workspace"},"trt_QCYY85YNE8AQ4DE9NRHM6S8RHF":{"id":"trt_QCYY85YNE8AQ4DE9NRHM6S8RHF","kind":"trait","bakedName":"Versions","curName":"Versions","renames":[],"owner":"workspace"}}}}
1
+ {"typeContractVersion":1,"types":{"GtCallHit":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"GtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}]}],"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintHandleFamily":[{"nullable":false,"name":"name","type":"string","required":true},{"nullable":false,"name":"prefix","type":"string","required":true},{"nullable":false,"name":"handleFields","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"ends","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"endedText","type":"string","required":true},{"nullable":false,"name":"mintText","type":"string","required":true},{"nullable":false,"name":"useAfterKey","type":"string","required":true},{"nullable":false,"name":"doubleKey","type":"string","required":true},{"nullable":false,"name":"leakOp","type":"string","required":true},{"nullable":false,"name":"leakField","type":"string","required":true},{"nullable":false,"name":"leakEnd","type":"string","required":true},{"nullable":false,"name":"leakExempt","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"leakNoun","type":"string","required":true},{"nullable":false,"name":"leakVerb","type":"string","required":true},{"nullable":false,"name":"leakKey","type":"string","required":true},{"nullable":false,"name":"allocOp","type":"string","required":true},{"nullable":false,"name":"allocField","type":"string","required":true},{"nullable":false,"name":"borrowOp","type":"string","required":true},{"nullable":false,"name":"borrowField","type":"string","required":true},{"nullable":false,"name":"releaseOp","type":"string","required":true},{"nullable":false,"name":"cmdOp","type":"string","required":true},{"nullable":false,"name":"cmdPos","type":"number","required":true},{"nullable":false,"name":"cmdKeys","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cmdListKeys","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}}],"LintMemHandlesCodes":[{"nullable":false,"name":"useAfterFree","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"doubleFree","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"alias","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"leak","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"gpuUseAfterRelease","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"gpuLeak","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"lintIndexMissing","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"MhAcc":[{"nullable":false,"name":"s","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"f","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}],"MhBody":[{"nullable":false,"name":"","type":"Map<string,MhValue>","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"MhCall":[{"nullable":false,"name":"","type":"[MhValue]","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"MhEmit":[{"nullable":false,"name":"success","type":"string","required":true}],"MhFrom":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}]}],"MhLink":[{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"tgt","type":"string","required":true}],"MhMachine":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"MhOp":[{"nullable":false,"name":"k","type":"string","required":true},{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"at","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"src","type":"string","required":true},{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"lit","type":"string","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"string","required":true},{"nullable":false,"name":"cmd","type":"string","required":true}],"MhOpts":[{"nullable":false,"name":"emit","type":"object","required":true,"properties":[{"nullable":false,"name":"success","type":"string","required":true}],"projectedFrom":{"type":"MhEmit"}}],"MhOrbital":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"items":{"nullable":false,"name":"","type":"MhTrait","projectedFrom":{"type":"MhTrait"}}}],"MhProgram":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"items":{"nullable":false,"name":"","type":"MhTrait","projectedFrom":{"type":"MhTrait"}}}],"items":{"nullable":false,"name":"","type":"MhOrbital","projectedFrom":{"type":"MhOrbital"}}}],"MhRound":[{"nullable":false,"name":"facts","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"fnd","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}],"MhState":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"MhT":[{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"to","type":"string","required":true},{"nullable":false,"name":"from","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"ops","type":"[object]","required":true,"properties":[{"nullable":false,"name":"k","type":"string","required":true},{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"at","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"src","type":"string","required":true},{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"lit","type":"string","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"string","required":true},{"nullable":false,"name":"cmd","type":"string","required":true}],"items":{"nullable":false,"name":"","type":"MhOp","projectedFrom":{"type":"MhOp"}}}],"MhTrait":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"MhTransition":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"MhValue":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[MhValue]","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}},{"nullable":false,"name":"object","type":"Map<string,MhValue>","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}]}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}]},"name":"std-orb-lint-mem-handles","version":"1.0.0","description":"std-orb-lint-mem-handles — the `orb lint mem-handles <file>` command, the typestate check of EXEC-METAL-3 and EXEC-GPU-5. The vocabulary is the `families` config (mem/ and gpu/ by default); the prose below describes the mem family, and the gpu family reuses the use-after-end, double-end and resting-state leak rules with its own ops (ORB_GPU_USE_AFTER_RELEASE, ORB_GPU_LEAK). The alias rule is mem-only. Over a trait's transition graph. It lowers the file with program/read and, for every inline trait that calls a mem/ operator, walks the graph (transition = edge from each `from` state to its `to` state, guards ignored, so every written path counts) carrying the set of handle facts true on some path into each state until nothing changes. HANDLE SOURCE: a handle is named only by the exact argument `@entity.<field>` (or, inside one transition, `@payload.<field>`); an argument that is anything else (a let binding, a computed value, an array element) is skipped, no finding. A handle enters a field only where a transition sets `@entity.<f>` from `@payload.arena`, `@payload.block` or `@payload.borrow` (the documented success payloads of mem/arena-new, mem/alloc and mem/borrow); any other `set @entity.<f>` rebinds f and forgets what was known of it. Order inside one effect or guard is its pre-order, mem calls before the sets nested in the same top-level effect. ORB_MEM_USE_AFTER_FREE: a mem/ call taking the handle (alloc, borrow, write, read, read-uint, length) on a path after mem/free, mem/arena-drop or mem/release of the same source. ORB_MEM_DOUBLE_FREE: a second mem/free, mem/arena-drop or mem/release of the same source on a path; dropping an arena also kills every block field the trait allocated from that arena field (the link is a mem/alloc whose success route sets that field from `@payload.block`), so a later free of such a block is a double free. ORB_MEM_ALIAS: a mem/borrow with the literal mode \"exclusive\" of a block source while a borrow of that source is live, or any borrow while an exclusive one is live; a borrow is live from the transition that sets its field from `@payload.borrow` (the borrow effect's success route; the field must be set by exactly one borrow call's route, else it is untracked) until mem/release of that field, and two borrow calls of one source inside one transition conflict at once. ORB_MEM_LEAK: a mem/arena-new whose arena is stored in an entity field (success route sets it from `@payload.arena`) and reaches a RESTING state of the trait without mem/arena-drop of that field on some path; RESTING means the trait's initial state or a state with no transition to a different state. A `stack` arena (literal kind) dies with its dispatch and is never a leak. Not tracked: handles outside the file's inline traits (composed `uses` traits are their own file's), handles passed through a payload, a let or an emit, and arenas overwritten without a drop. Clean answers `lint mem-handles: clean` (status 200, exit 0); findings are status 500, exit 1. Anything but one file argument is the usage (status 400, exit 2); an unreadable or unlowerable file is status 500.","orbitals":[{"name":"OrbLintMemHandlesOrbital","id":"orb_7R1PZRXGRSRCCJ6X24ASRR6BAF","uses":[{"from":"almadar-std/lint-mem-handles","as":"Spec"},{"from":"std/behaviors/std-orb-lint-input","as":"Input"}],"entity":{"name":"OrbLintMemHandlesRun","id":"ent_5TVG6XD782KM122JDVF5NXZWES","persistence":"runtime","fields":[{"nullable":false,"name":"sCalls","type":"object","default":{},"items":{"nullable":false,"type":"array","items":{"nullable":false,"type":"object","properties":{"path":{"nullable":false,"name":"path","type":"string","required":false},"node":{"nullable":true,"name":"node","type":"union","required":false,"values":["string","number","boolean","array","map"],"properties":{"string":{"nullable":false,"name":"string","type":"string"},"number":{"nullable":false,"name":"number","type":"number"},"boolean":{"nullable":false,"name":"boolean","type":"boolean"},"array":{"nullable":false,"name":"array","type":"array","items":{"nullable":true,"type":"union","values":["GtVal"],"projectedFrom":{"type":"GtVal"}}},"map":{"nullable":false,"name":"map","type":"object","items":{"nullable":true,"type":"union","values":["GtVal"],"projectedFrom":{"type":"GtVal"}}}},"projectedFrom":{"type":"GtVal"}},"at":{"nullable":false,"name":"at","type":"number","required":false}},"projectedFrom":{"type":"GtCallHit"}}}},{"nullable":false,"name":"sitesCallsHeard","type":"boolean","default":false},{"nullable":false,"name":"sitesCallsScope","type":"string","default":""},{"nullable":false,"name":"id","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","default":""},{"nullable":false,"name":"findings","type":"array","default":[],"items":{"nullable":false,"type":"object","properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"path":{"nullable":false,"name":"path","type":"string","required":true},"message":{"nullable":false,"name":"message","type":"string","required":true},"suggestion":{"nullable":false,"name":"suggestion","type":"string","required":true},"severity":{"nullable":false,"name":"severity","type":"string","required":false,"values":["warning","error"]}},"projectedFrom":{"type":"OrbFinding"}}}]},"traits":[{"name":"OrbLintMemHandles","id":"trt_PSWDF5XB88NM40P8D3ED72A70W","effectRow":[{"kind":"emit","resource":"LINT_FINISH"},{"kind":"emit","resource":"LINT_FOUND"},{"kind":"set","resource":"@entity.findings"},{"kind":"set","resource":"@entity.sCalls"},{"kind":"set","resource":"@entity.scope"},{"kind":"set","resource":"@entity.sitesCallsHeard"},{"kind":"set","resource":"@entity.sitesCallsScope"}],"linkedEntity":"OrbLintMemHandlesRun","linkedEntityId":"ent_5TVG6XD782KM122JDVF5NXZWES","entityRefIds":{"OrbLintMemHandlesRun":"ent_5TVG6XD782KM122JDVF5NXZWES"},"emits":[{"event":"LINT_FOUND","eventId":"evt_56C6M8WVKKDSSG77NQNS5W3335","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_FINISH","eventId":"evt_MRA0FX0P4EB273RH65XD5V7PFR","description":"Internal: answer with the verdict.","tier":"internal"}],"listens":[{"event":"LINT_INPUT","eventId":"evt_V1H25B3SSKWWSHPV62F1QVJ4WY","triggers":"LINT_INPUT","triggersId":"evt_V1H25B3SSKWWSHPV62F1QVJ4WY","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_90N5EEA043021XAMXEDZ514JPS"}},{"event":"LINT_SITES","triggers":"SITES_HEARD","triggersId":"evt_DKJCCSZCRMPCAFHVZ3PW14MXK0","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_90N5EEA043021XAMXEDZ514JPS"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true}],"events":[{"key":"INIT","id":"evt_NQ2P0GRV42DJ185H81RG338PT6","name":"Initialize"},{"key":"SITES_HEARD","id":"evt_DKJCCSZCRMPCAFHVZ3PW14MXK0","name":"Sites Heard","description":"std-orb-lint-input's LINT_SITES: guard heads and roots, the call hits by head and the @trait. and @entity. leaves.","payloadSchema":[{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"guardHeads","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"guardRoots","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"calls","type":"Map<string,[GtCallHit]>","required":true,"items":{"nullable":false,"name":"","type":"[object]","properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}}},{"nullable":false,"name":"trait","type":"[object]","required":true,"properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}},{"nullable":false,"name":"entity","type":"[object]","required":true,"properties":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"items":{"nullable":false,"name":"","type":"GtCallHit","projectedFrom":{"type":"GtCallHit"}}}],"listened":true},{"key":"LINT_INPUT","id":"evt_V1H25B3SSKWWSHPV62F1QVJ4WY","name":"Lint Input","description":"The lint input: the file read, its language decided and the program lowered.","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true},{"nullable":false,"name":"raw","type":"string","required":true},{"nullable":false,"name":"latin","type":"boolean","required":true},{"nullable":false,"name":"program","type":"object","required":true,"properties":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"items":{"nullable":false,"name":"","type":"MhTrait","projectedFrom":{"type":"MhTrait"}}}],"items":{"nullable":false,"name":"","type":"MhOrbital","projectedFrom":{"type":"MhOrbital"}}}],"projectedFrom":{"type":"MhProgram"}},{"nullable":false,"name":"scope","type":"string","required":true}],"listened":true},{"key":"LINT_FINISH","id":"evt_MRA0FX0P4EB273RH65XD5V7PFR","name":"Lint Finish","description":"Internal: answer with the verdict.","tier":"internal"},{"key":"LINT_FOUND","id":"evt_56C6M8WVKKDSSG77NQNS5W3335","name":"Lint Found","description":"This rule's findings for the file, offered to the lint-all umbrella.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_NQ2P0GRV42DJ185H81RG338PT6"},{"from":"ready","to":"ready","event":"SITES_HEARD","eventId":"evt_DKJCCSZCRMPCAFHVZ3PW14MXK0","effects":[["set","@entity.sCalls","@payload.calls"],["set","@entity.sitesCallsHeard",true],["set","@entity.sitesCallsScope","@payload.scope"]]},{"from":"ready","to":"ready","event":"LINT_INPUT","eventId":"evt_V1H25B3SSKWWSHPV62F1QVJ4WY","effects":[["set","@entity.scope","@payload.scope"],["set","@entity.findings",["if",["and","@entity.sitesCallsHeard",["=","@entity.sitesCallsScope","@payload.scope"]],["let",[["orbitals",["object/get","@payload.program","orbitals",[]]]],["array/flatten",["array/map","@config.families",["fn","fam",["let",[["pfx",["object/get","@fam","prefix"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["handleFields",["object/get","@fam","handleFields"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["ends",["object/get","@fam","ends"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["leakOp",["object/get","@fam","leakOp"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["leakField",["object/get","@fam","leakField"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["leakEnd",["object/get","@fam","leakEnd"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["leakExempt",["object/get","@fam","leakExempt"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["allocOp",["object/get","@fam","allocOp"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["allocField",["object/get","@fam","allocField"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["borrowOp",["object/get","@fam","borrowOp"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["borrowField",["object/get","@fam","borrowField"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["releaseOp",["object/get","@fam","releaseOp"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["cmdOp",["object/get","@fam","cmdOp"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["cmdPos",["object/get","@fam","cmdPos"],"{\"version\":1,\"type\":{\"kind\":\"number\"}}"],["cmdKeys",["object/get","@fam","cmdKeys"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["cmdListKeys",["object/get","@fam","cmdListKeys"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"]],["let",[["endsText",["str/concat",["str/join",["array/map",["array/filter","@ends",["fn","e",["!=","@e",["default",["array/last","@ends"],""]]]],["fn","e",["str/concat","`","@e","`"]]],", "]," or `",["default",["array/last","@ends"],""],"`"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["memHits",["array/flatten",["array/map",["array/filter",["object/keys","@entity.sCalls"],["fn","h",["str/startsWith","@h","@pfx"]]],["fn","h",["object/get","@entity.sCalls","@h",[]]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"GtCallHit\"}},\"named\":{\"GtCallHit\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":false,\"constraints\":[]},{\"name\":\"node\",\"fieldType\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"GtVal\"}},\"required\":false,\"constraints\":[]},{\"name\":\"at\",\"fieldType\":{\"kind\":\"number\"},\"required\":false,\"constraints\":[]}]},\"GtVal\":{\"kind\":\"union\",\"variants\":[{\"name\":\"string\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"number\",\"fieldType\":{\"kind\":\"number\"},\"required\":true,\"constraints\":[]},{\"name\":\"boolean\",\"fieldType\":{\"kind\":\"boolean\"},\"required\":true,\"constraints\":[]},{\"name\":\"array\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"GtVal\"}}},\"required\":true,\"constraints\":[]},{\"name\":\"map\",\"fieldType\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"GtVal\"}}},\"required\":true,\"constraints\":[]}]}}}"]],["array/flatten",["array/map",["array/range",0,["array/len","@orbitals"]],["fn","oi",["let",[["orb",["default",["array/nth","@orbitals","@oi"],{}]]],["array/flatten",["array/map",["array/range",0,["array/len",["object/get","@orb","traits",[]]]],["fn","ti",["let",[["td",["default",["array/nth",["object/get","@orb","traits",[]],"@ti"],{}]]],["if",["or",["not",["validate/object",["object/get","@td","stateMachine",null]]],["not",["array/some","@memHits",["fn","mh",["str/startsWith",["object/get","@mh","path",""],["str/concat","orbitals[","@oi","].traits[","@ti","]"]]]]]],[],["let",[["tx",["object/get",["object/get","@td","stateMachine",{}],"transitions",[]]],["stNames",["array/map",["object/get",["object/get","@td","stateMachine",{}],"states",[]],["fn","s",["object/get","@s","name",""]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["initials",["array/map",["array/filter",["object/get",["object/get","@td","stateMachine",{}],"states",[]],["fn","s",["object/get","@s","isInitial",false]]],["fn","s",["object/get","@s","name",""]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["sig",["str/slice","x@",1],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["prefix",["str/concat","orbitals[","@oi"," (",["object/get","@orb","name",""],")].traits[","@ti"," (",["object/get","@td","name",""],")].stateMachine"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"]],["let",[["perT",["array/map",["array/range",0,["array/len","@tx"]],["fn","j",["let",[["t",["default",["array/nth","@tx","@j"],{}]]],["let",[["items",["array/concat",["if",["object/has","@t","guard"],[["object/get","@t","guard"]],[]],["object/get","@t","effects",[]]]],["at",["str/concat","@prefix",".transitions[","@j","]"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"]],{"j":"@j","ev":["object/get","@t","event",""],"to":["object/get","@t","to",""],"from":["let",[["f",["object/get","@t","from",""]]],["if",["validate/array","@f"],"@f",["@f"]]],"ops":["array/flatten",["array/map","@items",["fn","e",["let",[["nd",["array/filter",["array/map",["json/nodes",["@e"]],["fn","n",["default",["as","@n","MhCall"],[]]]],["fn","c",["and",[">",["array/len","@c"],0],["!=",["as",["array/first","@c"],"string"],null]]]]]],["array/concat",["array/flatten",["array/map",["array/filter","@nd",["fn","c",["str/startsWith",["default",["as",["array/first","@c"],"string"],""],"@pfx"]]],["fn","c",["let",[["hd",["default",["as",["array/first","@c"],"string"],""],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["a0",["default",["as",["array/nth","@c",1],"string"],""],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["a1",["default",["as",["array/nth","@c",2],"string"],""],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["opt",["as",["array/last","@c"],"MhOpts"]]],["array/concat",[{"k":"call","j":"@j","at":"@at","h":"@hd","src":"@a0","f":"","v":"","cmd":"","key":["if",["str/startsWith","@a0",["str/concat","@sig","entity."]],["str/slice","@a0",8],["if",["str/startsWith","@a0",["str/concat","@sig","payload."]],["str/concat","payload.",["str/slice","@a0",9]],""]],"lit":["if",["=","@hd","@leakOp"],"@a0","@a1"],"ev":["if",["=","@opt",null],"",["object/get",["object/get","@opt","emit"],"success",""]]}],["if",["or",["=","@cmdOp",""],["!=","@hd","@cmdOp"]],[],["array/flatten",["array/map",["default",["as",["array/nth","@c",["+","@cmdPos",1]],"MhCall"],[]],["fn","ent",["let",[["entm",["default",["as","@ent","MhBody"],{}],"{\"version\":1,\"name\":\"MhBody\",\"type\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhValue\"}}},\"named\":{\"MhValue\":{\"kind\":\"union\",\"variants\":[{\"name\":\"string\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"number\",\"fieldType\":{\"kind\":\"number\"},\"required\":true,\"constraints\":[]},{\"name\":\"boolean\",\"fieldType\":{\"kind\":\"boolean\"},\"required\":true,\"constraints\":[]},{\"name\":\"array\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhValue\"}}},\"required\":true,\"constraints\":[]},{\"name\":\"map\",\"fieldType\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhValue\"}}},\"required\":true,\"constraints\":[]}]}}}"]],["array/flatten",["array/map",["object/keys","@entm"],["fn","cn",["let",[["body",["default",["as",["object/get","@entm","@cn",null],"MhBody"],{}],"{\"version\":1,\"name\":\"MhBody\",\"type\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhValue\"}}},\"named\":{\"MhValue\":{\"kind\":\"union\",\"variants\":[{\"name\":\"string\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"number\",\"fieldType\":{\"kind\":\"number\"},\"required\":true,\"constraints\":[]},{\"name\":\"boolean\",\"fieldType\":{\"kind\":\"boolean\"},\"required\":true,\"constraints\":[]},{\"name\":\"array\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhValue\"}}},\"required\":true,\"constraints\":[]},{\"name\":\"map\",\"fieldType\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"optional\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhValue\"}}},\"required\":true,\"constraints\":[]}]}}}"]],["array/flatten",["array/map",["array/concat","@cmdKeys","@cmdListKeys"],["fn","kk",["let",[["raw",["object/get","@body","@kk",null]]],["array/map",["array/filter",["if",["array/includes","@cmdListKeys","@kk"],["default",["as","@raw","MhCall"],[]],["@raw"]],["fn","r",["str/startsWith",["default",["as","@r","string"],""],["str/concat","@sig","entity."]]]],["fn","r",{"k":"call","j":"@j","at":"@at","h":"@hd","src":["default",["as","@r","string"],""],"f":"","v":"","lit":"","ev":"","cmd":["str/concat","@cn",".","@kk"],"key":["str/slice",["default",["as","@r","string"],""],8]}]]]]]]]]]]]]]]]]]]]],["array/map",["array/filter","@nd",["fn","c",["and",["=",["default",["as",["array/first","@c"],"string"],""],"set"],[">",["array/len","@c"],2],["str/startsWith",["default",["as",["array/nth","@c",1],"string"],""],["str/concat","@sig","entity."]]]]],["fn","c",{"k":"set","j":"@j","at":"@at","h":"","src":"","key":"","lit":"","ev":"","cmd":"","f":["str/slice",["default",["as",["array/nth","@c",1],"string"],""],8],"v":["default",["as",["array/nth","@c",2],"string"],""]}]]]]]]]}]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhT\"}},\"named\":{\"MhOp\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"k\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"j\",\"fieldType\":{\"kind\":\"number\"},\"required\":true,\"constraints\":[]},{\"name\":\"at\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"h\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"src\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"key\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"lit\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"ev\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"f\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"v\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"cmd\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]}]},\"MhT\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"j\",\"fieldType\":{\"kind\":\"number\"},\"required\":true,\"constraints\":[]},{\"name\":\"ev\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"to\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"from\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":true,\"constraints\":[]},{\"name\":\"ops\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhOp\"}},\"required\":true,\"constraints\":[]}]}}}"]],["if",["not",["array/some","@perT",["fn","p",[">",["array/len",["object/get","@p","ops"]],0]]]],[],["let",[["rows",["array/flatten",["array/map",["array/flatten",["array/map","@perT",["fn","p",["array/filter",["object/get","@p","ops"],["fn","o",["and",["=",["object/get","@o","k"],"call"],["!=",["object/get","@o","ev"],""],["array/includes",["@allocOp","@borrowOp","@leakOp"],["object/get","@o","h"]],["array/includes","@handleFields",["if",["=",["object/get","@o","h"],"@allocOp"],"@allocField",["if",["=",["object/get","@o","h"],"@borrowOp"],"@borrowField","@leakField"]]]]]]]]],["fn","o",["let",[["want",["str/concat","@sig","payload.",["if",["=",["object/get","@o","h"],"@allocOp"],"@allocField",["if",["=",["object/get","@o","h"],"@borrowOp"],"@borrowField","@leakField"]]],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["tgt",["if",["=",["object/get","@o","h"],"@borrowOp"],["str/concat",["object/get","@o","key"],"|",["object/get","@o","lit"]],["if",["=",["object/get","@o","h"],"@allocOp"],["object/get","@o","key"],["object/get","@o","lit"]]],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"]],["array/flatten",["array/map","@perT",["fn","p",["if",["!=",["object/get","@p","ev"],["object/get","@o","ev"]],[],["array/map",["array/filter",["object/get","@p","ops"],["fn","s",["and",["=",["object/get","@s","k"],"set"],["=",["object/get","@s","v"],"@want"]]]],["fn","s",{"f":["object/get","@s","f"],"h":["object/get","@o","h"],"tgt":"@tgt"}]]]]]]]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhLink\"}},\"named\":{\"MhLink\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"f\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"h\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"tgt\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]}]}}}"]],["let",[["links",["array/filter","@rows",["fn","r",["and",["not",["array/some","@rows",["fn","r2",["and",["=",["object/get","@r2","f"],["object/get","@r","f"]],["=",["object/get","@r2","h"],["object/get","@r","h"]],["!=",["object/get","@r2","tgt"],["object/get","@r","tgt"]]]]]],["or",["=",["object/get","@r","h"],"@leakOp"],["and",["!=",["object/get","@r","tgt"],""],["not",["str/startsWith",["object/get","@r","tgt"],"|"]]]]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"MhLink\"}},\"named\":{\"MhLink\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"f\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"h\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"tgt\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]}]}}}"]],["let",[["rinit",{"facts":{},"fnd":[]},"{\"version\":1,\"name\":\"MhRound\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"facts\",\"fieldType\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}},\"required\":true,\"constraints\":[]},{\"name\":\"fnd\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],["let",[["done",["array/reduce",["array/range",0,["+",["array/len","@stNames"],1]],"@rinit",["fn",["racc","r"],["let",[["tinit",{"facts":["object/get","@racc","facts"],"fnd":[]},"{\"version\":1,\"name\":\"MhRound\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"facts\",\"fieldType\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}},\"required\":true,\"constraints\":[]},{\"name\":\"fnd\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],["array/reduce","@perT","@tinit",["fn",["acc2","p"],["let",[["inM",["object/get","@acc2","facts"],"{\"version\":1,\"type\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}}"]],["let",[["inF",["array/unique",["array/flatten",["array/map",["array/flatten",["array/map",["object/get","@p","from"],["fn","s",["if",["=","@s","*"],"@stNames",["@s"]]]]],["fn","s",["object/get","@inM","@s",[]]]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["to",["object/get","@p","to"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["ainit",{"s":[],"f":[]},"{\"version\":1,\"name\":\"MhAcc\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"s\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":true,\"constraints\":[]},{\"name\":\"f\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],["let",[["res",["array/reduce",["object/get","@p","ops"],["let",[["a0",{"s":"@inF","f":[]},"{\"version\":1,\"name\":\"MhAcc\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"s\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":true,\"constraints\":[]},{\"name\":\"f\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],"@a0"],["fn",["acc","o"],["let",[["S",["object/get","@acc","s"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"],["F",["object/get","@acc","f"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"],["k",["object/get","@o","key"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["h",["object/get","@o","h"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["lit",["object/get","@o","lit"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["cmd",["object/get","@o","cmd"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"]],["if",["=",["object/get","@o","k"],"set"],["let",[["f",["object/get","@o","f"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["v",["object/get","@o","v"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"]],["let",[["bl",["array/find","@links",["fn","l",["and",["=",["object/get","@l","f"],"@f"],["=",["object/get","@l","h"],"@borrowOp"]]]]],["made",["array/find","@links",["fn","l",["and",["=",["object/get","@l","f"],"@f"],["=",["object/get","@l","h"],"@leakOp"],["not",["array/includes","@leakExempt",["object/get","@l","tgt"]]]]]]]],{"s":["array/concat",["array/filter","@S",["fn","x",["not",["or",["=","@x",["str/concat","F:","@f"]],["and",["or",["str/startsWith","@x","BX:"],["str/startsWith","@x","BS:"]],["str/endsWith","@x",["str/concat",":","@f"]]],["and",["=","@v",["str/concat","@sig","payload.","@leakField"]],["str/startsWith","@x",["str/concat","A:","@f",":"]]],["and",["=","@v",["str/concat","@sig","payload.","@allocField"]],["or",["str/startsWith","@x",["str/concat","BX:","@f",":"]],["str/startsWith","@x",["str/concat","BS:","@f",":"]]]]]]]],["if",["and",["=","@v",["str/concat","@sig","payload.","@leakField"]],["!=","@made",null]],[["str/concat","A:","@f",":",["object/get","@o","j"]]],[]],["if",["and",["=","@v",["str/concat","@sig","payload.","@borrowField"]],["!=","@bl",null],["array/includes",["exclusive","shared"],["default",["array/nth",["str/split",["object/get","@bl","tgt"],"|"],1],""]]],[["str/concat",["if",["=",["array/nth",["str/split",["object/get","@bl","tgt"],"|"],1],"exclusive"],"BX","BS"],":",["default",["array/first",["str/split",["object/get","@bl","tgt"],"|"]],""],":","@f"]],[]]],"f":"@F"}]],["if",["=","@k",""],"@acc",["let",[["src",["object/get","@o","src"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["at",["object/get","@o","at"],"{\"version\":1,\"type\":{\"kind\":\"string\"}}"],["isEnd",["array/includes","@ends","@h"],"{\"version\":1,\"type\":{\"kind\":\"boolean\"}}"],["freed",["array/includes","@S",["str/concat","F:","@k"]],"{\"version\":1,\"type\":{\"kind\":\"boolean\"}}"],["modeOk",["and",["!=","@borrowOp",""],["=","@h","@borrowOp"],["array/includes",["exclusive","shared"],"@lit"]],"{\"version\":1,\"type\":{\"kind\":\"boolean\"}}"]],["let",[["conflict",["and","@modeOk",["array/some","@S",["fn","x",["or",["str/startsWith","@x",["str/concat","BX:","@k",":"]],["str/startsWith","@x",["str/concat","pBX:","@k",":"]],["and",["=","@lit","exclusive"],["or",["str/startsWith","@x",["str/concat","BS:","@k",":"]],["str/startsWith","@x",["str/concat","pBS:","@k",":"]]]]]]]],"{\"version\":1,\"type\":{\"kind\":\"boolean\"}}"]],{"s":["if",["and","@isEnd",["!=","@h","@leakEnd"],["!=","@h","@releaseOp"]],["array/concat","@S",[["str/concat","F:","@k"]]],["if",["=","@h","@leakEnd"],["let",[["blocks",["array/map",["array/filter","@links",["fn","l",["and",["=",["object/get","@l","h"],"@allocOp"],["=",["object/get","@l","tgt"],"@k"]]]],["fn","l",["object/get","@l","f"]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"]],["array/concat",["array/filter","@S",["fn","x",["not",["or",["str/startsWith","@x",["str/concat","A:","@k",":"]],["array/some","@blocks",["fn","b",["or",["str/startsWith","@x",["str/concat","BX:","@b",":"]],["str/startsWith","@x",["str/concat","BS:","@b",":"]]]]]]]]],[["str/concat","F:","@k"]],["array/map","@blocks",["fn","b",["str/concat","F:","@b"]]]]],["if",["=","@h","@releaseOp"],["array/concat",["array/filter","@S",["fn","x",["not",["and",["or",["str/startsWith","@x","BX:"],["str/startsWith","@x","BS:"]],["str/endsWith","@x",["str/concat",":","@k"]]]]]],[["str/concat","F:","@k"]]],["if","@modeOk",["array/concat","@S",[["str/concat",["if",["=","@lit","exclusive"],"pBX:","pBS:"],"@k",":"]]],"@S"]]]],"f":["array/concat","@F",["if",["and","@freed",["not","@isEnd"]],[{"code":["default",["object/get",["default",["object/get","@config.codes",["object/get","@fam","useAfterKey"]],{}],"code"],""],"path":"@at","message":["if",["=","@cmd",""],["str/concat","`(","@h"," ","@src"," ...)` uses a handle that ","@endsText"," already ended on some path to this transition"],["str/concat","`(","@h"," ...)` command `","@cmd","` names `","@src","`, a handle that ","@endsText"," already ended on some path to this transition"]],"suggestion":["str/concat","Stop using the handle after it is ",["object/get","@fam","endedText"],", or rebind the field from a fresh ",["object/get","@fam","mintText"]," first"],"severity":"error"}],[]],["if",["and","@freed","@isEnd"],[{"code":["default",["object/get",["default",["object/get","@config.codes",["object/get","@fam","doubleKey"]],{}],"code"],""],"path":"@at","message":["str/concat","`(","@h"," ","@src",")` ends a handle that ","@endsText"," already ended on some path to this transition"],"suggestion":"End each handle once on every path, or set the field to a new handle between the two","severity":"error"}],[]],["if","@conflict",[{"code":"@config.codes.alias.code","path":"@at","message":["str/concat","`(","@h"," ","@src"," \"","@lit","\")` borrows a block that another borrow of it (an exclusive one, or any when this one is exclusive) still holds on some path to this transition"],"suggestion":["str/concat","`","@releaseOp","` the earlier borrow before borrowing again"],"severity":"error"}],[]]]}]]]]]]],"{\"version\":1,\"name\":\"MhAcc\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"s\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}},\"required\":true,\"constraints\":[]},{\"name\":\"f\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],{"facts":["object/set","@inM","@to",["array/unique",["array/concat",["object/get","@inM","@to",[]],["array/filter",["object/get","@res","s"],["fn","x",["not",["or",["str/startsWith","@x","pB"],["str/startsWith","@x",["str/concat","F:payload."]]]]]]]]],"fnd":["array/concat",["object/get","@acc2","fnd"],["object/get","@res","f"]]}]]]]]]]],"{\"version\":1,\"name\":\"MhRound\",\"type\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"facts\",\"fieldType\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}},\"required\":true,\"constraints\":[]},{\"name\":\"fnd\",\"fieldType\":{\"kind\":\"array\",\"inner\":{\"kind\":\"typeref\",\"name\":\"OrbFinding\"}},\"required\":true,\"constraints\":[]}]},\"named\":{\"OrbFinding\":{\"kind\":\"struct\",\"fields\":[{\"name\":\"code\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"path\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"message\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"suggestion\",\"fieldType\":{\"kind\":\"string\"},\"required\":true,\"constraints\":[]},{\"name\":\"severity\",\"fieldType\":{\"kind\":\"enum\",\"name\":\"\\\"warning\\\" | \\\"error\\\"\"},\"required\":false,\"constraints\":[]}]}}}"]],["let",[["inFinal",["object/get","@done","facts"],"{\"version\":1,\"type\":{\"kind\":\"map\",\"key\":{\"kind\":\"string\"},\"value\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}}"],["resting",["array/filter","@stNames",["fn","s",["or",["array/includes","@initials","@s"],["not",["array/some","@perT",["fn","p",["and",["!=",["object/get","@p","to"],"@s"],["or",["array/includes",["object/get","@p","from"],"@s"],["array/includes",["object/get","@p","from"],"*"]]]]]]]]],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"]],["array/concat",["object/get","@done","fnd"],["array/map",["array/unique",["array/flatten",["array/map","@resting",["fn","r",["array/filter",["object/get","@inFinal","@r",[]],["fn","x",["str/startsWith","@x","A:"]]]]]]],["fn","fact",["let",[["parts",["str/split","@fact",":"],"{\"version\":1,\"type\":{\"kind\":\"array\",\"inner\":{\"kind\":\"string\"}}}"]],{"code":["default",["object/get",["default",["object/get","@config.codes",["object/get","@fam","leakKey"]],{}],"code"],""],"path":["str/concat","@prefix",".transitions[",["default",["array/nth","@parts",2],""],"]"],"message":["str/concat","The ",["object/get","@fam","leakNoun"]," stored in '","@sig","entity.",["default",["array/nth","@parts",1],""],"' can reach the resting state(s) '",["str/join",["array/filter","@resting",["fn","r",["array/includes",["object/get","@inFinal","@r",[]],"@fact"]]],"', '"],"' without `","@leakEnd","`"],"suggestion":["str/concat",["object/get","@fam","leakVerb"]," the ",["object/get","@fam","leakNoun"]," on every path to a resting state, including the failure routes"],"severity":"error"}]]]]]]]]]]]]]]]]]]]]]]]]]]],[{"code":"@config.codes.lintIndexMissing.code","path":"","message":"the lint input arrived without LINT_SITES, so this rule cannot check the program","suggestion":"std-orb-lint-input sends LINT_SITES before LINT_INPUT; this rule did not hear it","severity":"error"}]]],["set","@entity.sitesCallsHeard",false],["emit","LINT_FINISH",{}]]},{"from":"ready","to":"ready","event":"LINT_FINISH","eventId":"evt_MRA0FX0P4EB273RH65XD5V7PFR","effects":[["emit","LINT_FOUND",{"rule":"mem-handles","scope":"@entity.scope","findings":"@entity.findings"}]]}]},"config":{"codes":{"nullable":false,"type":"LintMemHandlesCodes","default":{"lintIndexMissing":{"code":"ORB_LINT_INDEX_MISSING","category":"lint","description":"The lint input arrived without a shared program fact the rule reads (the structural index, sites, units, embeds or entities), so the rule cannot check the program"},"useAfterFree":{"code":"ORB_MEM_USE_AFTER_FREE","category":"mem","description":"A mem/ call takes a handle after it was freed, dropped or released on some path"},"doubleFree":{"code":"ORB_MEM_DOUBLE_FREE","category":"mem","description":"A handle is freed, dropped or released a second time on some path"},"alias":{"code":"ORB_MEM_ALIAS","category":"mem","description":"An exclusive borrow of a block while another borrow of it is live, or a borrow while an exclusive one is live"},"leak":{"code":"ORB_MEM_LEAK","category":"mem","description":"An arena reaches a resting state on some path without being dropped"},"gpuUseAfterRelease":{"code":"ORB_GPU_USE_AFTER_RELEASE","category":"gpu","description":"A gpu/ call takes a handle after it was released or its device closed on some path, or a handle is released a second time"},"gpuLeak":{"code":"ORB_GPU_LEAK","category":"gpu","description":"A device reaches a resting state on some path without being closed"}},"label":"Emitted codes","description":"The finding codes this rule emits, with their category and meaning; the registry is generated from this declaration.","properties":{"useAfterFree":{"nullable":false,"name":"useAfterFree","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"doubleFree":{"nullable":false,"name":"doubleFree","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"alias":{"nullable":false,"name":"alias","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"leak":{"nullable":false,"name":"leak","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"gpuUseAfterRelease":{"nullable":false,"name":"gpuUseAfterRelease","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"gpuLeak":{"nullable":false,"name":"gpuLeak","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}},"lintIndexMissing":{"nullable":false,"name":"lintIndexMissing","type":"object","required":false,"properties":{"code":{"nullable":false,"name":"code","type":"string","required":true},"category":{"nullable":false,"name":"category","type":"string","required":true},"description":{"nullable":false,"name":"description","type":"string","required":true}},"projectedFrom":{"type":"LintCodeDecl"}}},"projectedFrom":{"type":"LintMemHandlesCodes"}},"families":{"nullable":false,"type":"[LintHandleFamily]","default":[{"name":"mem","prefix":"mem/","handleFields":["arena","block","borrow"],"ends":["list","mem/free","mem/arena-drop","mem/release"],"endedText":"freed, dropped or released","mintText":"allocation","useAfterKey":"useAfterFree","doubleKey":"doubleFree","leakOp":"mem/arena-new","leakField":"arena","leakEnd":"mem/arena-drop","leakExempt":["stack"],"leakNoun":"arena","leakVerb":"Drop","leakKey":"leak","allocOp":"mem/alloc","allocField":"block","borrowOp":"mem/borrow","borrowField":"borrow","releaseOp":"mem/release","cmdOp":"","cmdPos":0,"cmdKeys":[],"cmdListKeys":[]},{"name":"gpu","prefix":"gpu/","handleFields":["device","buffer","texture","sampler","querySet","shader","pipeline","bindGroup"],"ends":["list","gpu/release","gpu/device-close"],"endedText":"released or closed","mintText":"creation","useAfterKey":"gpuUseAfterRelease","doubleKey":"gpuUseAfterRelease","leakOp":"gpu/device-open","leakField":"device","leakEnd":"gpu/device-close","leakExempt":[],"leakNoun":"device","leakVerb":"Close","leakKey":"gpuLeak","allocOp":"","allocField":"","borrowOp":"","borrowField":"","releaseOp":"","cmdOp":"gpu/submit","cmdPos":1,"cmdKeys":["buffer","texture","from","to","pipeline","target","querySet"],"cmdListKeys":["bindGroups"]}],"label":"Handle families","description":"The handle vocabulary the rule walks, one record per family: the op prefix; the payload fields whose success route mints a handle (handleFields); the ends (an end ends a handle, a later use is a finding, a second end is the double-end finding named by doubleKey); the resting-state leak rule (leakOp mints a handle into payload leakField, leakEnd ends it, leakExempt lists the literal first arguments of leakOp that never leak, a minted handle that reaches a resting state of the trait without leakEnd is the leakKey finding). allocOp, borrowOp and releaseOp are the mem alias machinery (a block allocated from the leak handle, exclusive or shared borrows of it, the release that ends a borrow): the alias rule exists only for a family that declares borrowOp, so gpu leaves them empty. An empty op or field turns that rule off for the family. cmdOp names the op whose argument at position cmdPos (0 is the first) is a list of command records (gpu/submit, position 1; empty for none): each literal `@entity.<f>` under a cmdKeys key of a record's body, or in the list under a cmdListKeys key, counts as a use of that handle, like a first argument.","items":{"nullable":false,"type":"object","properties":{"name":{"nullable":false,"name":"name","type":"string","required":true},"prefix":{"nullable":false,"name":"prefix","type":"string","required":true},"handleFields":{"nullable":false,"name":"handleFields","type":"array","required":true,"items":{"nullable":false,"type":"string"}},"ends":{"nullable":false,"name":"ends","type":"array","required":true,"items":{"nullable":false,"type":"string"}},"endedText":{"nullable":false,"name":"endedText","type":"string","required":true},"mintText":{"nullable":false,"name":"mintText","type":"string","required":true},"useAfterKey":{"nullable":false,"name":"useAfterKey","type":"string","required":true},"doubleKey":{"nullable":false,"name":"doubleKey","type":"string","required":true},"leakOp":{"nullable":false,"name":"leakOp","type":"string","required":true},"leakField":{"nullable":false,"name":"leakField","type":"string","required":true},"leakEnd":{"nullable":false,"name":"leakEnd","type":"string","required":true},"leakExempt":{"nullable":false,"name":"leakExempt","type":"array","required":true,"items":{"nullable":false,"type":"string"}},"leakNoun":{"nullable":false,"name":"leakNoun","type":"string","required":true},"leakVerb":{"nullable":false,"name":"leakVerb","type":"string","required":true},"leakKey":{"nullable":false,"name":"leakKey","type":"string","required":true},"allocOp":{"nullable":false,"name":"allocOp","type":"string","required":true},"allocField":{"nullable":false,"name":"allocField","type":"string","required":true},"borrowOp":{"nullable":false,"name":"borrowOp","type":"string","required":true},"borrowField":{"nullable":false,"name":"borrowField","type":"string","required":true},"releaseOp":{"nullable":false,"name":"releaseOp","type":"string","required":true},"cmdOp":{"nullable":false,"name":"cmdOp","type":"string","required":true},"cmdPos":{"nullable":false,"name":"cmdPos","type":"number","required":true},"cmdKeys":{"nullable":false,"name":"cmdKeys","type":"array","required":true,"items":{"nullable":false,"type":"string"}},"cmdListKeys":{"nullable":false,"name":"cmdListKeys","type":"array","required":true,"items":{"nullable":false,"type":"string"}}},"projectedFrom":{"type":"LintHandleFamily"}}}},"dispatch":"optimistic","sourceDeclaration":{"traitId":"trt_PSWDF5XB88NM40P8D3ED72A70W","fingerprint":"f7d4a9b7b48dd7882535e69300ca8fae744e397d8af3ac0dc6b6189280cf4f90"}},{"name":"OrbLintMemHandlesCli","id":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN","effectRow":[{"kind":"emit","resource":"LINT_ANSWERED"},{"kind":"emit","resource":"LINT_REQUEST"}],"linkedEntity":"OrbLintMemHandlesRun","linkedEntityId":"ent_5TVG6XD782KM122JDVF5NXZWES","entityRefIds":{"OrbLintMemHandlesRun":"ent_5TVG6XD782KM122JDVF5NXZWES"},"emits":[{"event":"LINT_ANSWERED","eventId":"evt_D3DQV0P3811M0HRQJK5JJQCSYF","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","scope":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"event":"LINT_REQUEST","eventId":"evt_QGTTNC88SR4CW0KX52QC1Y22G5","description":"Ask the lint input to read and lower this file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]},{"event":"LINT_FOUND","eventId":"evt_34BRT5FAEFN77QV482FZTDGXD9","description":"The rule trait's findings for the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"event":"LINT_INPUT_UNREAD","eventId":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","description":"The lint input could not read or lower the file.","tier":"internal","scope":"external","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"listens":[{"event":"LINT_FOUND","eventId":"evt_56C6M8WVKKDSSG77NQNS5W3335","triggers":"LINT_FOUND","triggersId":"evt_34BRT5FAEFN77QV482FZTDGXD9","source":{"kind":"trait","trait":"OrbLintMemHandles","traitId":"trt_PSWDF5XB88NM40P8D3ED72A70W"}},{"event":"LINT_INPUT_UNREAD","eventId":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","triggers":"LINT_INPUT_UNREAD","triggersId":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","source":{"kind":"trait","trait":"OrbLintInput","traitId":"trt_90N5EEA043021XAMXEDZ514JPS"}}],"stateMachine":{"states":[{"name":"ready","isInitial":true},{"name":"waiting"}],"events":[{"key":"INIT","id":"evt_8RPN7ZNNMVTTDJYAM72BS7JGK3","name":"Initialize"},{"key":"LINT_CALLED","id":"evt_NJK57SCV4GDJ80GX61X8X9MY2C","name":"Lint Called","description":"Run `orb lint mem-handles` with its arguments and working directory.","synonyms":"orb lint mem-handles","payloadSchema":[{"nullable":false,"name":"headers","type":"Map<string,string>","items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"rawBody","type":"string","required":true}],"listened":true,"inbound":{"name":"cli-lint-mem-handles","answers":"LINT_ANSWERED"}},{"key":"LINT_FOUND","id":"evt_34BRT5FAEFN77QV482FZTDGXD9","name":"Lint Found","description":"The rule trait's findings for the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"rule","type":"string","required":true},{"nullable":false,"name":"scope","type":"string","required":true},{"nullable":false,"name":"findings","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}]},{"key":"LINT_INPUT_UNREAD","id":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","name":"Lint Input Unread","description":"The lint input could not read or lower the file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}],"listened":true},{"key":"LINT_ANSWERED","id":"evt_D3DQV0P3811M0HRQJK5JJQCSYF","name":"Lint Answered","description":"Internal: the command's answer, which the cli hook prints.","tier":"internal","payloadSchema":[{"nullable":false,"name":"status","type":"number","required":true},{"nullable":false,"name":"body","type":"string","required":true}]},{"key":"LINT_REQUEST","id":"evt_QGTTNC88SR4CW0KX52QC1Y22G5","name":"Lint Request","description":"Ask the lint input to read and lower this file.","tier":"internal","payloadSchema":[{"nullable":false,"name":"file","type":"string","required":true}]}],"transitions":[{"from":"ready","to":"ready","event":"INIT","eventId":"evt_8RPN7ZNNMVTTDJYAM72BS7JGK3"},{"from":"ready","to":"ready","event":"LINT_CALLED","eventId":"evt_NJK57SCV4GDJ80GX61X8X9MY2C","guard":["or",["=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["!=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint mem-handles <file>"}]]},{"from":"ready","to":"waiting","event":"LINT_CALLED","eventId":"evt_NJK57SCV4GDJ80GX61X8X9MY2C","guard":["and",["!=",["json/parse","@payload.rawBody","OrbCommandArgs"],null],["=",["array/len",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]],1]],"effects":[["let",[["argFile",["array/first",["object/get",["json/parse","@payload.rawBody","OrbCommandArgs"],"argv"]]]],["if",["=","@argFile",null],["emit","LINT_ANSWERED",{"status":400,"body":"usage: orb lint mem-handles <file>"}],["emit","LINT_REQUEST",{"file":"@argFile"}]]]]},{"from":"waiting","to":"waiting","event":"INIT","eventId":"evt_8RPN7ZNNMVTTDJYAM72BS7JGK3"},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_34BRT5FAEFN77QV482FZTDGXD9","guard":["and",["=","@payload.rule","mem-handles"],["=",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":200,"body":"lint mem-handles: clean"}]]},{"from":"waiting","to":"ready","event":"LINT_FOUND","eventId":"evt_34BRT5FAEFN77QV482FZTDGXD9","guard":["and",["=","@payload.rule","mem-handles"],[">",["array/len","@payload.findings"],0]],"effects":[["emit","LINT_ANSWERED",{"status":500,"body":["str/join",["array/map","@payload.findings",["fn","x",["str/concat","[",["object/get","@x","code"],"] ",["object/get","@x","path"],": ",["object/get","@x","message"],["if",["=",["object/get","@x","suggestion"],""],"",["str/concat","\n suggestion: ",["object/get","@x","suggestion"]]]]]],"\n"]}]]},{"from":"waiting","to":"ready","event":"LINT_INPUT_UNREAD","eventId":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","effects":[["emit","LINT_ANSWERED",{"status":500,"body":"lint mem-handles: the file could not be read or lowered"}]]}]},"dispatch":"client","sourceDeclaration":{"traitId":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN","fingerprint":"4c6c8b92bbca8337b8d79a2a2a5cafefd1b0fe6ba1db1744a4e85e923f9f8f21"}},{"ref":"Input.traits.Versions","id":"trt_QCYY85YNE8AQ4DE9NRHM6S8RHF","name":"Versions"},{"ref":"Input.traits.Packs","id":"trt_21WJMAF114GGJF02Z5TY3TMECH","name":"Packs"},{"ref":"Input.traits.OrbLintInput","id":"trt_90N5EEA043021XAMXEDZ514JPS","name":"OrbLintInput","listens":[{"event":"LINT_REQUEST","triggers":"LINT_REQUEST","source":{"kind":"trait","trait":"OrbLintMemHandlesCli"}},{"event":"SCAN_ANSWERED","triggers":"LANG_SCAN_ANSWERED","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACK_VOCAB","triggers":"LANGUAGE_PACK_VOCAB_HEARD","source":{"kind":"trait","trait":"Packs"}},{"event":"LANGUAGE_PACKS_DONE","triggers":"LANGUAGE_PACKS_DONE_HEARD","source":{"kind":"trait","trait":"Packs"}}]}],"pages":[{"name":"OrbLintMemHandlesOrbitalStart","id":"pag_M8PMA2GEE4772D0ZF83N1WK9G6","path":"","protocol":"boot","traits":[{"ref":"OrbLintMemHandles","refId":"trt_PSWDF5XB88NM40P8D3ED72A70W"},{"ref":"OrbLintMemHandlesCli","refId":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},{"ref":"OrbLintInput","refId":"trt_90N5EEA043021XAMXEDZ514JPS"},{"ref":"Packs","refId":"trt_21WJMAF114GGJF02Z5TY3TMECH"},{"ref":"Versions","refId":"trt_QCYY85YNE8AQ4DE9NRHM6S8RHF"}]}],"types":{"GtCallHit":[{"nullable":false,"name":"path","type":"string"},{"nullable":true,"name":"node","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}],"projectedFrom":{"type":"GtVal"}},{"nullable":false,"name":"at","type":"number"}],"GtVal":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[GtVal]","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}},{"nullable":false,"name":"object","type":"Map<string,GtVal>","items":{"nullable":true,"name":"","type":"GtVal","projectedFrom":{"type":"GtVal"}}}]}],"LintCodeDecl":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"LintHandleFamily":[{"nullable":false,"name":"name","type":"string","required":true},{"nullable":false,"name":"prefix","type":"string","required":true},{"nullable":false,"name":"handleFields","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"ends","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"endedText","type":"string","required":true},{"nullable":false,"name":"mintText","type":"string","required":true},{"nullable":false,"name":"useAfterKey","type":"string","required":true},{"nullable":false,"name":"doubleKey","type":"string","required":true},{"nullable":false,"name":"leakOp","type":"string","required":true},{"nullable":false,"name":"leakField","type":"string","required":true},{"nullable":false,"name":"leakEnd","type":"string","required":true},{"nullable":false,"name":"leakExempt","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"leakNoun","type":"string","required":true},{"nullable":false,"name":"leakVerb","type":"string","required":true},{"nullable":false,"name":"leakKey","type":"string","required":true},{"nullable":false,"name":"allocOp","type":"string","required":true},{"nullable":false,"name":"allocField","type":"string","required":true},{"nullable":false,"name":"borrowOp","type":"string","required":true},{"nullable":false,"name":"borrowField","type":"string","required":true},{"nullable":false,"name":"releaseOp","type":"string","required":true},{"nullable":false,"name":"cmdOp","type":"string","required":true},{"nullable":false,"name":"cmdPos","type":"number","required":true},{"nullable":false,"name":"cmdKeys","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cmdListKeys","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}}],"LintMemHandlesCodes":[{"nullable":false,"name":"useAfterFree","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"doubleFree","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"alias","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"leak","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"gpuUseAfterRelease","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"gpuLeak","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}},{"nullable":false,"name":"lintIndexMissing","type":"object","properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"category","type":"string","required":true},{"nullable":false,"name":"description","type":"string","required":true}],"projectedFrom":{"type":"LintCodeDecl"}}],"MhAcc":[{"nullable":false,"name":"s","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"f","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}],"MhBody":[{"nullable":false,"name":"","type":"Map<string,MhValue>","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"MhCall":[{"nullable":false,"name":"","type":"[MhValue]","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"MhEmit":[{"nullable":false,"name":"success","type":"string","required":true}],"MhFrom":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}]}],"MhLink":[{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"tgt","type":"string","required":true}],"MhMachine":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"MhOp":[{"nullable":false,"name":"k","type":"string","required":true},{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"at","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"src","type":"string","required":true},{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"lit","type":"string","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"string","required":true},{"nullable":false,"name":"cmd","type":"string","required":true}],"MhOpts":[{"nullable":false,"name":"emit","type":"object","required":true,"properties":[{"nullable":false,"name":"success","type":"string","required":true}],"projectedFrom":{"type":"MhEmit"}}],"MhOrbital":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"items":{"nullable":false,"name":"","type":"MhTrait","projectedFrom":{"type":"MhTrait"}}}],"MhProgram":[{"nullable":false,"name":"orbitals","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"traits","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"items":{"nullable":false,"name":"","type":"MhTrait","projectedFrom":{"type":"MhTrait"}}}],"items":{"nullable":false,"name":"","type":"MhOrbital","projectedFrom":{"type":"MhOrbital"}}}],"MhRound":[{"nullable":false,"name":"facts","type":"Map<string,[string]>","required":true,"items":{"nullable":false,"name":"","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}},{"nullable":false,"name":"fnd","type":"[object]","required":true,"properties":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}],"items":{"nullable":false,"name":"","type":"OrbFinding","projectedFrom":{"type":"OrbFinding"}}}],"MhState":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"MhT":[{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"to","type":"string","required":true},{"nullable":false,"name":"from","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"ops","type":"[object]","required":true,"properties":[{"nullable":false,"name":"k","type":"string","required":true},{"nullable":false,"name":"j","type":"number","required":true},{"nullable":false,"name":"at","type":"string","required":true},{"nullable":false,"name":"h","type":"string","required":true},{"nullable":false,"name":"src","type":"string","required":true},{"nullable":false,"name":"key","type":"string","required":true},{"nullable":false,"name":"lit","type":"string","required":true},{"nullable":false,"name":"ev","type":"string","required":true},{"nullable":false,"name":"f","type":"string","required":true},{"nullable":false,"name":"v","type":"string","required":true},{"nullable":false,"name":"cmd","type":"string","required":true}],"items":{"nullable":false,"name":"","type":"MhOp","projectedFrom":{"type":"MhOp"}}}],"MhTrait":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"stateMachine","type":"object","properties":[{"nullable":false,"name":"states","type":"[object]","properties":[{"nullable":false,"name":"name","type":"string"},{"nullable":false,"name":"isInitial","type":"boolean"}],"items":{"nullable":false,"name":"","type":"MhState","projectedFrom":{"type":"MhState"}}},{"nullable":false,"name":"transitions","type":"[object]","properties":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"items":{"nullable":false,"name":"","type":"MhTransition","projectedFrom":{"type":"MhTransition"}}}],"projectedFrom":{"type":"MhMachine"}}],"MhTransition":[{"nullable":false,"name":"from","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"array","type":"[string]","items":{"nullable":false,"name":"","type":"string"}}],"projectedFrom":{"type":"MhFrom"}},{"nullable":false,"name":"to","type":"string"},{"nullable":false,"name":"event","type":"string"},{"nullable":false,"name":"guard","type":"MhValue","properties":[],"projectedFrom":{"type":"MhValue"}},{"nullable":false,"name":"effects","type":"[MhValue]","items":{"nullable":false,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}],"MhValue":[{"nullable":false,"name":"","type":"union","properties":[{"nullable":false,"name":"string","type":"string"},{"nullable":false,"name":"number","type":"number"},{"nullable":false,"name":"boolean","type":"boolean"},{"nullable":false,"name":"array","type":"[MhValue]","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}},{"nullable":false,"name":"object","type":"Map<string,MhValue>","items":{"nullable":true,"name":"","type":"MhValue","projectedFrom":{"type":"MhValue"}}}]}],"OrbCommandArgs":[{"nullable":false,"name":"argv","type":"[string]","required":true,"items":{"nullable":false,"name":"","type":"string"}},{"nullable":false,"name":"cwd","type":"string","required":true}],"OrbFinding":[{"nullable":false,"name":"code","type":"string","required":true},{"nullable":false,"name":"path","type":"string","required":true},{"nullable":false,"name":"message","type":"string","required":true},{"nullable":false,"name":"suggestion","type":"string","required":true},{"nullable":false,"name":"severity","type":"string","values":["warning","error"]}]}}],"inbound":["cli-lint-mem-handles"],"osGrants":{"fs":[{"glob":"/**","modes":["read"]},{"glob":"~/.orb/node_modules/**","modes":["read"]}],"exec":[],"net":[],"env":["PATH"],"stdio":[],"sys":[],"desktop":[],"anchored":{"fs":[{"anchor":"cwd","glob":"**","modes":["read"]}],"exec":[{"anchor":"exe"}]}},"schemaVersion":1,"ledger":{"schemaVersion":1,"entries":{"ent_5TVG6XD782KM122JDVF5NXZWES":{"id":"ent_5TVG6XD782KM122JDVF5NXZWES","kind":"entity","bakedName":"OrbLintMemHandlesRun","curName":"OrbLintMemHandlesRun","renames":[],"owner":"workspace"},"evt_34BRT5FAEFN77QV482FZTDGXD9":{"id":"evt_34BRT5FAEFN77QV482FZTDGXD9","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_56C6M8WVKKDSSG77NQNS5W3335":{"id":"evt_56C6M8WVKKDSSG77NQNS5W3335","kind":"event","bakedName":"LINT_FOUND","curName":"LINT_FOUND","renames":[],"owner":"workspace","parent":"trt_PSWDF5XB88NM40P8D3ED72A70W"},"evt_8RPN7ZNNMVTTDJYAM72BS7JGK3":{"id":"evt_8RPN7ZNNMVTTDJYAM72BS7JGK3","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_D3DQV0P3811M0HRQJK5JJQCSYF":{"id":"evt_D3DQV0P3811M0HRQJK5JJQCSYF","kind":"event","bakedName":"LINT_ANSWERED","curName":"LINT_ANSWERED","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_DKJCCSZCRMPCAFHVZ3PW14MXK0":{"id":"evt_DKJCCSZCRMPCAFHVZ3PW14MXK0","kind":"event","bakedName":"SITES_HEARD","curName":"SITES_HEARD","renames":[],"owner":"workspace","parent":"trt_PSWDF5XB88NM40P8D3ED72A70W"},"evt_KAW6QYC2P61B38JW4ATF5B0QDW":{"id":"evt_KAW6QYC2P61B38JW4ATF5B0QDW","kind":"event","bakedName":"LINT_INPUT_UNREAD","curName":"LINT_INPUT_UNREAD","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_MRA0FX0P4EB273RH65XD5V7PFR":{"id":"evt_MRA0FX0P4EB273RH65XD5V7PFR","kind":"event","bakedName":"LINT_FINISH","curName":"LINT_FINISH","renames":[],"owner":"workspace","parent":"trt_PSWDF5XB88NM40P8D3ED72A70W"},"evt_NJK57SCV4GDJ80GX61X8X9MY2C":{"id":"evt_NJK57SCV4GDJ80GX61X8X9MY2C","kind":"event","bakedName":"LINT_CALLED","curName":"LINT_CALLED","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_NQ2P0GRV42DJ185H81RG338PT6":{"id":"evt_NQ2P0GRV42DJ185H81RG338PT6","kind":"event","bakedName":"INIT","curName":"INIT","renames":[],"owner":"workspace","parent":"trt_PSWDF5XB88NM40P8D3ED72A70W"},"evt_QGTTNC88SR4CW0KX52QC1Y22G5":{"id":"evt_QGTTNC88SR4CW0KX52QC1Y22G5","kind":"event","bakedName":"LINT_REQUEST","curName":"LINT_REQUEST","renames":[],"owner":"workspace","parent":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN"},"evt_V1H25B3SSKWWSHPV62F1QVJ4WY":{"id":"evt_V1H25B3SSKWWSHPV62F1QVJ4WY","kind":"event","bakedName":"LINT_INPUT","curName":"LINT_INPUT","renames":[],"owner":"workspace","parent":"trt_PSWDF5XB88NM40P8D3ED72A70W"},"orb_7R1PZRXGRSRCCJ6X24ASRR6BAF":{"id":"orb_7R1PZRXGRSRCCJ6X24ASRR6BAF","kind":"orbital","bakedName":"OrbLintMemHandlesOrbital","curName":"OrbLintMemHandlesOrbital","renames":[],"owner":"workspace"},"pag_M8PMA2GEE4772D0ZF83N1WK9G6":{"id":"pag_M8PMA2GEE4772D0ZF83N1WK9G6","kind":"page","bakedName":"OrbLintMemHandlesOrbitalStart","curName":"OrbLintMemHandlesOrbitalStart","renames":[],"owner":"workspace"},"trt_21WJMAF114GGJF02Z5TY3TMECH":{"id":"trt_21WJMAF114GGJF02Z5TY3TMECH","kind":"trait","bakedName":"Packs","curName":"Packs","renames":[],"owner":"workspace"},"trt_90N5EEA043021XAMXEDZ514JPS":{"id":"trt_90N5EEA043021XAMXEDZ514JPS","kind":"trait","bakedName":"OrbLintInput","curName":"OrbLintInput","renames":[],"owner":"workspace"},"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN":{"id":"trt_FYSFGB8H1Z8GZRTCXEMZSWD3NN","kind":"trait","bakedName":"OrbLintMemHandlesCli","curName":"OrbLintMemHandlesCli","renames":[],"owner":"workspace"},"trt_PSWDF5XB88NM40P8D3ED72A70W":{"id":"trt_PSWDF5XB88NM40P8D3ED72A70W","kind":"trait","bakedName":"OrbLintMemHandles","curName":"OrbLintMemHandles","renames":[],"owner":"workspace"},"trt_QCYY85YNE8AQ4DE9NRHM6S8RHF":{"id":"trt_QCYY85YNE8AQ4DE9NRHM6S8RHF","kind":"trait","bakedName":"Versions","curName":"Versions","renames":[],"owner":"workspace"}}}}