@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
@@ -7,6 +7,8 @@ app std-guest-session [
7
7
  ]
8
8
  ;; @capabilities "run a program chosen at run time as a live guest, paint it, forward its controls, close it"
9
9
 
10
+ uses Marks from "std/behaviors/std-mock-seed-marks"
11
+
10
12
  type GuestProgram = { name : string, orbitals : [orbital] }
11
13
  type GuestPaint = { slot : string!, trait : string!, orbital : string?, embedded : boolean!, content : node? }
12
14
  type GuestMove = { trait : string!, event : string?, from : string!, to : string!, fired : boolean! }
@@ -14,9 +16,11 @@ type GuestOpened = { guest : string!, page : [string]!, route : string, rendered
14
16
  type GuestNavigated = { page : [string]!, route : string, rendered : [GuestPaint]!, outcomes : [GuestMove]! }
15
17
  type GuestStepped = { rendered : [GuestPaint]!, outcomes : [GuestMove]! }
16
18
  type GuestClosed = { closed : boolean! }
17
- type GuestMarkEntity = { collection : string }
18
- type GuestMarkOrbital = { auxiliaryEntities : [GuestMarkEntity] }
19
- type GuestMarkProgram = { orbitals : [GuestMarkOrbital] }
19
+ type GuestPersonaOption = { id : string!, name : string }
20
+ type GuestPersonasReply = { success : boolean, personas : [GuestPersonaOption] }
21
+ type GuestAnswer = { status : number, body : string, subject : string, error : string }
22
+ type GuestEmitted = { event : string!, payload : GuestAnswer? }
23
+ type GuestAnswered = { emitted : [GuestEmitted]? }
20
24
 
21
25
  orbital GuestSessionOrbital {
22
26
  entity GuestRun [runtime] {
@@ -28,6 +32,14 @@ orbital GuestSessionOrbital {
28
32
  guestError : string = ""
29
33
  guestProgram : GuestProgram? @description "The program value being opened, held only until program/compose or program/open takes it: the entity rides every request a stateless host's client posts."
30
34
  guestSeed : behavior?
35
+ guestPersona : string @description "The persona the guest's session was last signed in as by a pick: an identity row id; empty until one is picked." = ""
36
+ guestPersonas : [GuestPersonaOption] @description "The personas the guest's std-dev-personas listed, shown by the stage as its picker." = []
37
+ }
38
+
39
+ trait GuestMarks = Marks.traits.MarksCheck {
40
+ listens {
41
+ GuestSession.GUEST_SEED_ASK -> MARKS_CHECK
42
+ }
31
43
  }
32
44
 
33
45
  trait GuestSession -> GuestRun {
@@ -46,6 +58,7 @@ orbital GuestSessionOrbital {
46
58
  (set @entity.guestPaints [])
47
59
  (emit GUEST_CLEARED {})
48
60
  (set @entity.guestProgram ?program)
61
+ (set @entity.guestPersona "")
49
62
  (emit GUEST_PREPARE {})
50
63
  GUEST_FAIL -> idle
51
64
  (emit GUEST_ERROR { message: ?message })
@@ -58,7 +71,10 @@ orbital GuestSessionOrbital {
58
71
  GUEST_CLOSE_FAILED -> idle
59
72
  GUEST_PREPARE -> idle
60
73
  GUEST_SEED_RESOLVED -> idle
74
+ GUEST_SEED_MARKED -> idle
75
+ GUEST_PERSONAS_RESOLVED -> idle
61
76
  GUEST_COMPOSED -> idle
77
+ GUEST_PERSONAS_ASK -> idle
62
78
  }
63
79
 
64
80
  state opening {
@@ -66,6 +82,7 @@ orbital GuestSessionOrbital {
66
82
  GUEST_OPEN -> opening
67
83
  (emit GUEST_CLEARED {})
68
84
  (set @entity.guestProgram ?program)
85
+ (set @entity.guestPersona "")
69
86
  (emit GUEST_PREPARE {})
70
87
  GUEST_OPENED -> live
71
88
  (set @entity.guestHandle ?result.guest)
@@ -74,6 +91,7 @@ orbital GuestSessionOrbital {
74
91
  (set @entity.guestPaints (array/reduce ?result.rendered [] (fn acc p (array/concat (array/filter @acc (fn q (or (!= @q.trait @p.trait) (!= @q.slot @p.slot)))) (array/filter [@p] (fn x (!= @x.content null)))))))
75
92
  (emit GUEST_PAINTS { guest: @entity.guestHandle, route: @entity.guestRoute, page: @entity.guestPage, paints: @entity.guestPaints })
76
93
  (emit GUEST_MOVED { guest: @entity.guestHandle, moves: ?result.outcomes })
94
+ (emit GUEST_PERSONAS_ASK {})
77
95
  GUEST_FAILED -> idle
78
96
  (emit GUEST_ERROR { message: ?error })
79
97
  GUEST_PREPARE -> opening when (= @entity.guestSeed null)
@@ -81,20 +99,30 @@ orbital GuestSessionOrbital {
81
99
  GUEST_SEED_RESOLVED -> opening
82
100
  (set @entity.guestSeed ?result)
83
101
  (emit GUEST_PREPARE {})
84
- GUEST_PREPARE -> opening when (and (!= @entity.guestSeed null) (let ((marked (as @entity.guestProgram GuestMarkProgram))) (and (!= @marked null) (array/some (object/get @marked "orbitals" []) (fn o (array/some (object/get @o "auxiliaryEntities" []) (fn e (= (object/get @e "collection" "") "mock_seed_marks"))))))))
85
- (program/open @entity.guestProgram { grants: { env: @config.guestEnv } } { emit: { success: GUEST_OPENED, failure: GUEST_FAILED } })
102
+ GUEST_PREPARE -> opening when (!= @entity.guestSeed null)
103
+ (emit GUEST_SEED_ASK { program: @entity.guestProgram })
104
+ GUEST_SEED_MARKED -> opening when @payload.marked
105
+ (program/open @entity.guestProgram { grants: { env: @config.guestEnv }, declared: true } { emit: { success: GUEST_OPENED, failure: GUEST_FAILED } })
106
+ (set @entity.guestProgram null)
107
+ GUEST_SEED_MARKED -> opening when (and (not @payload.marked) (!= @payload.personasCollection ""))
108
+ (behavior/resolve (behavior/apply { behavior: "std/behaviors/std-dev-personas", orbital: "DevPersonasOrbital" } { entity: "DevPersona", persistence: "persistent", collection: @payload.personasCollection, traits: { DevPersonas: { config: { autoSignIn: @payload.personasSignIn } } } }) {} { emit: { success: GUEST_PERSONAS_RESOLVED, failure: GUEST_FAILED } })
109
+ GUEST_PERSONAS_RESOLVED -> opening
110
+ (program/compose [@entity.guestProgram, @entity.guestSeed, ?result] { appName: (object/get (default @entity.guestProgram { name: "guest", orbitals: [] }) "name" "guest") } { emit: { success: GUEST_COMPOSED, failure: GUEST_FAILED } })
86
111
  (set @entity.guestProgram null)
87
- GUEST_PREPARE -> opening when (and (!= @entity.guestSeed null) (not (let ((marked (as @entity.guestProgram GuestMarkProgram))) (and (!= @marked null) (array/some (object/get @marked "orbitals" []) (fn o (array/some (object/get @o "auxiliaryEntities" []) (fn e (= (object/get @e "collection" "") "mock_seed_marks")))))))))
112
+ GUEST_SEED_MARKED -> opening when (and (not @payload.marked) (= @payload.personasCollection ""))
88
113
  (program/compose [@entity.guestProgram, @entity.guestSeed] { appName: (object/get (default @entity.guestProgram { name: "guest", orbitals: [] }) "name" "guest") } { emit: { success: GUEST_COMPOSED, failure: GUEST_FAILED } })
89
114
  (set @entity.guestProgram null)
90
115
  GUEST_COMPOSED -> opening
91
- (program/open ?result { grants: { env: @config.guestEnv } } { emit: { success: GUEST_OPENED, failure: GUEST_FAILED } })
116
+ (program/open ?result { grants: { env: @config.guestEnv }, declared: true } { emit: { success: GUEST_OPENED, failure: GUEST_FAILED } })
92
117
  GUEST_FAIL -> idle
93
118
  (emit GUEST_ERROR { message: ?message })
94
119
  GUEST_RESET -> idle
95
120
  (emit GUEST_CLEARED {})
96
121
  GUEST_CLOSED -> opening
97
122
  GUEST_CLOSE_FAILED -> opening
123
+ GUEST_PERSONAS_STEPPED -> opening
124
+ GUEST_PERSONAS_FAILED -> opening
125
+ GUEST_PERSONA_ACTED -> opening
98
126
  }
99
127
 
100
128
  state live {
@@ -105,6 +133,7 @@ orbital GuestSessionOrbital {
105
133
  (set @entity.guestPaints [])
106
134
  (emit GUEST_CLEARED {})
107
135
  (set @entity.guestProgram ?program)
136
+ (set @entity.guestPersona "")
108
137
  (emit GUEST_PREPARE {})
109
138
  GUEST_OPENED -> live
110
139
  (program/close @entity.guestHandle { emit: { success: GUEST_CLOSED, failure: GUEST_CLOSE_FAILED } })
@@ -114,11 +143,31 @@ orbital GuestSessionOrbital {
114
143
  (set @entity.guestPaints (array/reduce ?result.rendered [] (fn acc p (array/concat (array/filter @acc (fn q (or (!= @q.trait @p.trait) (!= @q.slot @p.slot)))) (array/filter [@p] (fn x (!= @x.content null)))))))
115
144
  (emit GUEST_PAINTS { guest: @entity.guestHandle, route: @entity.guestRoute, page: @entity.guestPage, paints: @entity.guestPaints })
116
145
  (emit GUEST_MOVED { guest: @entity.guestHandle, moves: ?result.outcomes })
146
+ (emit GUEST_PERSONAS_ASK {})
117
147
  GUEST_FAILED -> live
118
148
  (emit GUEST_NOTICE { message: ?error })
119
149
  GUEST_PREPARE -> live
120
150
  GUEST_SEED_RESOLVED -> live
151
+ GUEST_SEED_MARKED -> live
152
+ GUEST_PERSONAS_RESOLVED -> live
121
153
  GUEST_COMPOSED -> live
154
+ GUEST_PERSONAS_ASK -> live
155
+ (program/dispatch "PERSONAS_REQUESTED" {} { guest: @entity.guestHandle, emit: { success: GUEST_PERSONAS_STEPPED, failure: GUEST_PERSONAS_FAILED } })
156
+ GUEST_PERSONAS_STEPPED -> live
157
+ (set @entity.guestPersonas (default (object/get (default (json/parse (default (object/get (default (object/get (default (array/find (default ?result.emitted []) (fn e (= @e.event "PERSONAS_ANSWERED"))) {}) "payload") {}) "body") "") GuestPersonasReply) {}) "personas") []))
158
+ (emit GUEST_PERSONAS { guest: @entity.guestHandle, personas: @entity.guestPersonas, current: @entity.guestPersona })
159
+ GUEST_PERSONAS_FAILED -> live
160
+ (set @entity.guestPersonas [])
161
+ (emit GUEST_PERSONAS { guest: @entity.guestHandle, personas: [], current: @entity.guestPersona })
162
+ GUEST_PERSONA_PICK -> live when (= ?guest @entity.guestHandle)
163
+ (program/dispatch "PERSONA_ACT_AS" { persona: ?persona } { guest: ?guest, emit: { success: GUEST_PERSONA_ACTED, failure: GUEST_STEP_FAILED } })
164
+ GUEST_PERSONA_PICK -> live when (!= ?guest @entity.guestHandle)
165
+ GUEST_PERSONA_ACTED -> live when (array/some (default ?result.emitted []) (fn e (= @e.event "PERSONA_SIGNED_IN")))
166
+ (set @entity.guestPersona (default (object/get (default (object/get (default (array/find (default ?result.emitted []) (fn e (= @e.event "PERSONA_SIGNED_IN"))) {}) "payload") {}) "subject") ""))
167
+ (emit GUEST_PERSONAS { guest: @entity.guestHandle, personas: @entity.guestPersonas, current: @entity.guestPersona })
168
+ (program/dispatch "INIT" {} { guest: @entity.guestHandle, emit: { success: GUEST_STEPPED, failure: GUEST_STEP_FAILED } })
169
+ GUEST_PERSONA_ACTED -> live when (not (array/some (default ?result.emitted []) (fn e (= @e.event "PERSONA_SIGNED_IN"))))
170
+ (emit GUEST_NOTICE { message: (default (object/get (default (object/get (default (array/find (default ?result.emitted []) (fn e (= @e.event "PERSONA_SIGN_IN_REFUSED"))) {}) "payload") {}) "error") "The persona could not be signed in") })
122
171
  GUEST_SEND -> live when (= ?guest @entity.guestHandle)
123
172
  (program/dispatch ?address ?payload { guest: ?guest, emit: { success: GUEST_STEPPED, failure: GUEST_STEP_FAILED } })
124
173
  GUEST_SEND -> live when (!= ?guest @entity.guestHandle)
@@ -177,6 +226,12 @@ orbital GuestSessionOrbital {
177
226
  @description "A step of the guest failed, or a second guest could not replace the open one."
178
227
  GUEST_CLEARED -> external { }
179
228
  @description "The previous guest is gone: a new one is opening or the session was reset."
229
+ GUEST_PERSONAS -> external {
230
+ guest : string!
231
+ personas : [GuestPersonaOption]!
232
+ current : string!
233
+ }
234
+ @description "The development personas the open guest lists (its std-dev-personas answers PERSONAS_REQUESTED, which a program without one or outside the Auth emulator answers with none), and the persona picked as the guest's viewer; empty current while the default persona is."
180
235
  GUEST_OPENED {
181
236
  result : GuestOpened!
182
237
  }
@@ -202,6 +257,22 @@ orbital GuestSessionOrbital {
202
257
  error : string!
203
258
  }
204
259
  GUEST_PREPARE { }
260
+ GUEST_SEED_ASK {
261
+ program : GuestProgram?
262
+ }
263
+ GUEST_PERSONAS_ASK { }
264
+ GUEST_PERSONAS_STEPPED {
265
+ result : GuestAnswered!
266
+ }
267
+ GUEST_PERSONAS_FAILED {
268
+ error : string!
269
+ }
270
+ GUEST_PERSONA_ACTED {
271
+ result : GuestAnswered!
272
+ }
273
+ GUEST_PERSONAS_RESOLVED {
274
+ result : behavior!
275
+ }
205
276
  GUEST_SEED_RESOLVED {
206
277
  result : behavior!
207
278
  }
@@ -211,6 +282,19 @@ orbital GuestSessionOrbital {
211
282
  }
212
283
 
213
284
  listens {
285
+ GuestMarks.MARKS_CHECKED -> GUEST_SEED_MARKED
286
+ GUEST_SEED_MARKED {
287
+ marked : boolean!
288
+ personas : string!
289
+ personasCollection : string!
290
+ personasSignIn : string!
291
+ }
292
+ GuestStage.GUEST_PERSONA_PICK -> GUEST_PERSONA_PICK
293
+ GUEST_PERSONA_PICK {
294
+ guest : string!
295
+ persona : string!
296
+ }
297
+ @description "A persona was picked for the open guest: its session is signed in as that persona (PERSONA_ACT_AS into the guest's std-dev-personas), then every mounted trait of the guest runs its INIT again so its lists fetch as the new viewer."
214
298
  GUEST_OPEN -> input {
215
299
  program : GuestProgram!
216
300
  }
@@ -270,6 +354,10 @@ orbital GuestSessionOrbital {
270
354
  @label "Other slots painted"
271
355
  @description "The message before the list of slots the opened guest did paint."
272
356
  @tier "presentation"
357
+ personasLabel : string = "Viewing as"
358
+ @label "Personas label"
359
+ @description "The caption before the personas the guest lists, which the viewer picks to open the guest as that persona."
360
+ @tier "presentation"
273
361
  }
274
362
  initial: idle
275
363
 
@@ -288,8 +376,17 @@ orbital GuestSessionOrbital {
288
376
  (emit GUEST_SHOWN {})
289
377
  GUEST_NOTICE -> idle
290
378
  (notify error ?message)
379
+ GUEST_PERSONAS -> idle when (= ?guest @entity.guestHandle)
380
+ (set @entity.guestPersonas ?personas)
381
+ (set @entity.guestPersona ?current)
382
+ (emit GUEST_SHOWN {})
383
+ GUEST_PERSONAS -> idle when (!= ?guest @entity.guestHandle)
384
+ GUEST_PERSONA_CHOSEN -> idle when (and (!= @entity.guestHandle "") (!= @payload.id @entity.guestPersona))
385
+ (emit GUEST_PERSONA_PICK { guest: @entity.guestHandle, persona: @payload.id })
386
+ GUEST_PERSONA_CHOSEN -> idle when (or (= @entity.guestHandle "") (= @payload.id @entity.guestPersona))
291
387
  GUEST_CLEARED -> idle
292
388
  (set @entity.guestHandle "")
389
+ (set @entity.guestPersonas [])
293
390
  (set @entity.guestPaints [])
294
391
  (set @entity.guestPage [])
295
392
  (set @entity.guestRoute "")
@@ -302,7 +399,7 @@ orbital GuestSessionOrbital {
302
399
  (emit GUEST_NAVIGATE { guest: ?guest, route: ?route })
303
400
  GUEST_ROUTE -> idle when (!= ?guest @entity.guestHandle)
304
401
  GUEST_SHOWN -> idle
305
- (render-ui main { type: box, className: @config.className, children: [
402
+ (render-ui main { type: box, className: @config.className, children: (array/concat (if (and (= @entity.guestError "") (> (array/len @entity.guestPersonas) 0)) [{ type: stack, direction: horizontal, gap: sm, align: center, children: (array/concat [{ type: typography, variant: caption, color: muted, content: @config.personasLabel }] (array/map @entity.guestPersonas (fn p { type: button, variant: (if (= (object/get @p "id" "") @entity.guestPersona) primary ghost), size: sm, label: (default (object/get @p "name") (object/get @p "id" "")), action: GUEST_PERSONA_CHOSEN, actionPayload: { id: (object/get @p "id" "") } }))) }] []) [
306
403
  (if (!= @entity.guestError "")
307
404
  { type: container, size: md, padding: lg, children: [(if (= @config.errorTitle "") { type: alert, variant: error, message: @entity.guestError } { type: alert, variant: error, title: @config.errorTitle, message: @entity.guestError })] }
308
405
  (let ((slotRoots (array/filter @entity.guestPaints (fn p (and (= @p.slot @config.slot) (= @p.embedded false) (array/includes @entity.guestPage @p.trait))))) (paint (array/first (array/filter @entity.guestPaints (fn p (and (= @p.slot @config.slot) (= @p.embedded false) (array/includes @entity.guestPage @p.trait)))))))
@@ -311,7 +408,7 @@ orbital GuestSessionOrbital {
311
408
  { type: container, size: full, padding: md, children: [{ type: skeleton, variant: @config.pending, rows: @config.pendingRows }] }
312
409
  { type: container, size: md, padding: lg, children: [{ type: alert, variant: info, title: @config.unpaintedTitle, message: (let ((roots (array/filter @entity.guestPaints (fn p (= @p.embedded false))))) (if (= (array/len @roots) 0) @config.unpaintedNothing (str/concat @config.unpaintedOthers (str/join (array/map @roots (fn p @p.slot)) ", ")))) }] })
313
410
  { type: guest-view, guest: @entity.guestHandle, source: @paint.trait, deliver: GUEST_CONTROL, navigate: GUEST_ROUTE, route: @entity.guestRoute, paints: @entity.guestPaints, children: (array/map @slotRoots (fn p @p.content)) })))
314
- ] })
411
+ ]) })
315
412
  }
316
413
 
317
414
  emits {
@@ -328,6 +425,11 @@ orbital GuestSessionOrbital {
328
425
  route : string!
329
426
  }
330
427
  @description "A link inside the guest was followed: the session opens that route in the guest."
428
+ GUEST_PERSONA_PICK -> external {
429
+ guest : string!
430
+ persona : string!
431
+ }
432
+ @description "A persona of the picker was chosen: the session signs the guest's session in as that persona and runs its pages again."
331
433
  }
332
434
 
333
435
  listens {
@@ -335,6 +437,16 @@ orbital GuestSessionOrbital {
335
437
  GuestSession.GUEST_ERROR -> GUEST_ERROR
336
438
  GuestSession.GUEST_NOTICE -> GUEST_NOTICE
337
439
  GuestSession.GUEST_CLEARED -> GUEST_CLEARED
440
+ GuestSession.GUEST_PERSONAS -> GUEST_PERSONAS
441
+ GUEST_PERSONAS {
442
+ guest : string!
443
+ personas : [GuestPersonaOption]!
444
+ current : string!
445
+ }
446
+ GUEST_PERSONA_CHOSEN {
447
+ id : string!
448
+ }
449
+ @description "The viewer chose a persona of the picker."
338
450
  GUEST_PAINTS {
339
451
  guest : string!
340
452
  route : string!
@@ -361,5 +473,5 @@ orbital GuestSessionOrbital {
361
473
  }
362
474
  }
363
475
 
364
- page "/" as GuestSessionPage -> GuestSession, GuestStage
476
+ page "/" as GuestSessionPage -> GuestSession, GuestMarks, GuestStage
365
477
  }
@@ -0,0 +1,66 @@
1
+ app std-mock-seed-marks [
2
+ version: "1.0.0",
3
+ description: "std-mock-seed-marks — the one answer to whether a program already carries the mock-seed marks store. MARKS_CHECK { program } answers MARKS_CHECKED { marked }: true when an orbital of the program declares an auxiliary entity whose collection is mock_seed_marks (the MockSeedMark store of std-mock-seed, so the program already composes it), false for a program without one or no program. It also answers `personas`: the .lolo text (a `uses` and `orbital DevLogin`, no app header) that composes std-dev-personas onto the program's `[identity]` entity — a DevPersona entity over the identity entity's collection, signed in as the first declared value of the identity entity's role field — or empty when the program has no identity entity or a trait already handles PERSONA_ACT_AS, so the mock seeder can sign each owner in and the guest has a signed-in viewer. orb serve and the catalog guest session each ask it before composing std-mock-page-seed.",
4
+ egress: []
5
+ ]
6
+ ;; @capabilities "mock seed marks store present, program already composes std-mock-seed, seed once, dev personas composition text for the identity entity"
7
+
8
+ type MarksField = { name : string, values : [string]? }
9
+ type MarksEntity = { collection : string, identity : boolean?, fields : [MarksField]? }
10
+ type MarksTransition = { event : string }
11
+ type MarksMachine = { transitions : [MarksTransition] }
12
+ type MarksTrait = { stateMachine : MarksMachine? }
13
+ type MarksOrbital = { entity : MarksEntity?, auxiliaryEntities : [MarksEntity], traits : [MarksTrait]? }
14
+ type MarksProgram = { orbitals : [MarksOrbital] }
15
+
16
+ orbital MockSeedMarksOrbital {
17
+ entity MarksRun [runtime] {
18
+ id : string!
19
+ }
20
+
21
+ trait MarksCheck -> MarksRun [client] {
22
+ initial: ready
23
+
24
+ state ready {
25
+ INIT -> ready
26
+
27
+ MARKS_CHECK -> ready
28
+ (let ((p (as @payload.program MarksProgram)))
29
+ (let ((orbitals (object/get (default @p { orbitals: [] }) "orbitals" [])))
30
+ (let ((identity (array/find (array/map @orbitals (fn o (object/get @o "entity" null))) (fn e (and (!= @e null) (= (object/get @e "identity" false) true))))))
31
+ (let ((handled (array/some @orbitals (fn o (array/some (object/get @o "traits" []) (fn t (array/some (object/get (object/get @t "stateMachine" {}) "transitions" []) (fn x (= (object/get @x "event" "") "PERSONA_ACT_AS"))))))))
32
+ (found (object/get (default @identity {}) "collection" ""))
33
+ (roles (object/get (default (array/find (object/get (default @identity {}) "fields" []) (fn f (= (object/get @f "name" "") "role"))) {}) "values" [])))
34
+ (let ((collection (if (or (= @identity null) @handled) "" @found))
35
+ (spec (default (array/first @roles) "")))
36
+ (emit MARKS_CHECKED {
37
+ marked: (and (!= @p null) (array/some @orbitals (fn o (array/some (object/get @o "auxiliaryEntities" []) (fn e (= (object/get @e "collection" "") "mock_seed_marks")))))),
38
+ personasCollection: @collection,
39
+ personasSignIn: (if (= @collection "") "" @spec),
40
+ personas: (if (= @collection "") "" (str/concat "uses Personas from \"std/behaviors/std-dev-personas\"\norbital DevLogin = Personas.orbitals.DevPersonasOrbital {\n entity DevPersona [persistent: " @collection "]\n traits { DevPersonas { config { autoSignIn: " (json/stringify @spec) " } } }\n}\n"))
41
+ }))))))
42
+ }
43
+
44
+ emits {
45
+ MARKS_CHECKED -> external {
46
+ marked : boolean!
47
+ personas : string!
48
+ personasCollection : string!
49
+ personasSignIn : string!
50
+ }
51
+ @description "Whether the asked program already declares the mock-seed marks store, and the .lolo text that composes std-dev-personas onto the program's [identity] entity (its `uses` and `orbital DevLogin`, no app header): linked to a DevPersona entity over the identity entity's collection, signing the session in as the first declared value of the identity entity's role field (an ALMADAR_PERSONA spec: an identity row id, else a role). Empty when the program declares no identity entity or a trait of it already handles PERSONA_ACT_AS. personasCollection and personasSignIn are the two facts the text is built from (the identity entity's collection and the autoSignIn spec), empty with it, for a host that composes the resolved std-dev-personas itself instead of reading text (a guest opens resolved programs only)."
52
+ @synonyms "program already seeds, marks store present"
53
+ @tier "primary"
54
+ }
55
+
56
+ listens {
57
+ MARKS_CHECK -> input {
58
+ program : MarksProgram?
59
+ }
60
+ @description "Ask whether this program already declares the mock-seed marks store."
61
+ @synonyms "already seeds, has mock seed marks"
62
+ }
63
+ }
64
+
65
+ page boot as MockSeedMarksStart -> MarksCheck
66
+ }
@@ -565,9 +565,12 @@ orbital BehaviorPlayground {
565
565
  PlaygroundStage.GUEST_RESET -> GUEST_RESET
566
566
  GuestStage.GUEST_SEND -> GUEST_SEND
567
567
  GuestStage.GUEST_NAVIGATE -> GUEST_NAVIGATE
568
+ GuestStage.GUEST_PERSONA_PICK -> GUEST_PERSONA_PICK
569
+ GuestMarks.MARKS_CHECKED -> GUEST_SEED_MARKED
568
570
  }
569
571
  }
570
572
 
573
+ trait GuestMarks = Guest.traits.GuestMarks {}
571
574
  trait GuestStage = Guest.traits.GuestStage {
572
575
  config {
573
576
  className: "h-full"
@@ -605,8 +608,8 @@ orbital BehaviorPlayground {
605
608
  }
606
609
  }
607
610
 
608
- page "/" as PlaygroundPage -> PlaygroundFrame, PlaygroundTopics, PlaygroundStage, PlaygroundLoader, PlaygroundOpen, GuestSession, BehaviorCatalogData, BehaviorCatalogLlm, CatEmbedWait, CatEmbedRequest, CatEmbedHttp, PlaygroundMachine, PlaygroundOrbit, PlaygroundSource, PlaygroundStatus
609
- page "/:package/:name" as PlaygroundBehaviorPage -> PlaygroundFrame, PlaygroundTopics, PlaygroundStage, PlaygroundLoader, PlaygroundOpen, GuestSession, BehaviorCatalogData, BehaviorCatalogLlm, CatEmbedWait, CatEmbedRequest, CatEmbedHttp, PlaygroundMachine, PlaygroundOrbit, PlaygroundSource, PlaygroundStatus, PlaygroundRoute
611
+ page "/" as PlaygroundPage -> PlaygroundFrame, PlaygroundTopics, PlaygroundStage, PlaygroundLoader, PlaygroundOpen, GuestSession, GuestMarks, BehaviorCatalogData, BehaviorCatalogLlm, CatEmbedWait, CatEmbedRequest, CatEmbedHttp, PlaygroundMachine, PlaygroundOrbit, PlaygroundSource, PlaygroundStatus
612
+ page "/:package/:name" as PlaygroundBehaviorPage -> PlaygroundFrame, PlaygroundTopics, PlaygroundStage, PlaygroundLoader, PlaygroundOpen, GuestSession, GuestMarks, BehaviorCatalogData, BehaviorCatalogLlm, CatEmbedWait, CatEmbedRequest, CatEmbedHttp, PlaygroundMachine, PlaygroundOrbit, PlaygroundSource, PlaygroundStatus, PlaygroundRoute
610
613
  }
611
614
 
612
615
  orbital NotFound = NotFound.orbitals.NotFoundOrbital {
@@ -425,6 +425,7 @@ orbital Launchpad {
425
425
  trait PlaygroundLoader = Play.traits.PlaygroundLoader {}
426
426
  trait PlaygroundOpen = Play.traits.PlaygroundOpen {}
427
427
  trait GuestSession = Play.traits.GuestSession {}
428
+ trait GuestMarks = Play.traits.GuestMarks {}
428
429
  trait GuestStage = Play.traits.GuestStage {}
429
430
  trait BehaviorCatalogData = Play.traits.BehaviorCatalogData {
430
431
  config {
@@ -1083,9 +1084,9 @@ orbital Launchpad {
1083
1084
  trait ResolveLmRequest = Match.traits.ResolveLmRequest {}
1084
1085
  trait ResolveLmHttp = Match.traits.ResolveLmHttp {}
1085
1086
 
1086
- page "/" as LaunchpadPage -> LaunchpadFrame, LaunchpadTheme, LaunchpadHeader, LaunchpadLive, LaunchpadTrace, LaunchpadSource, LaunchpadRail, LaunchpadStage, LaunchpadHome, RecentsStore, SystemOrb, SystemStatsMeter, OrbStatsReader, OrbVersionRunner, OrbUptimeRunner, UpdatesStore, UpdateRecord, UpdatesCli, UpdatesBanner, CiStatus, CiBoard, CiDetail, CiGithub, CiGhHttp, CiGhTimeout, CiRetry, AwsStatus, AwsCli, AwsView, CiRunLogs, CiLogsGh, AppHostingStatus, AhToken, AhGcloud, AhView, CloudRunStatus, CrToken, CrGcloud, CrBq, CloudRunView, TrainingStatus, TrAws, TrSsh, TrainingView, LlmSpend, LlmSpendView, LsOrHttp, LsDsHttp, LsKmHttp, LsTraceHttp, LsTimeout, AnalyticsBoard, AnalyticsBoardStats, AnalyticsBoardToken, PlaygroundFrame, PlaygroundTopics, PlaygroundStage, PlaygroundLoader, PlaygroundOpen, GuestSession, BehaviorCatalogData, BehaviorCatalogLlm, CatEmbedWait, CatEmbedRequest, CatEmbedHttp, PlaygroundMachine, PlaygroundOrbit, PlaygroundSource, PlaygroundStatus, AhApi, CrMonitoring
1087
- page "/:query" as LaunchpadFindPage -> LaunchpadFrame, LaunchpadTheme, LaunchpadHeader, LaunchpadLive, LaunchpadTrace, LaunchpadSource, LaunchpadRail, LaunchpadStage, LaunchpadHome, RecentsStore, SystemOrb, SystemStatsMeter, OrbStatsReader, OrbVersionRunner, OrbUptimeRunner, UpdatesStore, UpdateRecord, UpdatesCli, UpdatesBanner, CiStatus, CiBoard, CiDetail, CiGithub, CiGhHttp, CiGhTimeout, CiRetry, AwsStatus, AwsCli, AwsView, CiRunLogs, CiLogsGh, AppHostingStatus, AhToken, AhGcloud, AhView, CloudRunStatus, CrToken, CrGcloud, CrBq, CloudRunView, TrainingStatus, TrAws, TrSsh, TrainingView, LlmSpend, LlmSpendView, LsOrHttp, LsDsHttp, LsKmHttp, LsTraceHttp, LsTimeout, AnalyticsBoard, AnalyticsBoardStats, AnalyticsBoardToken, PlaygroundFrame, PlaygroundTopics, PlaygroundStage, PlaygroundLoader, PlaygroundOpen, GuestSession, BehaviorCatalogData, BehaviorCatalogLlm, CatEmbedWait, CatEmbedRequest, CatEmbedHttp, PlaygroundMachine, PlaygroundOrbit, PlaygroundSource, PlaygroundStatus, AhApi, CrMonitoring, LaunchpadFind, FindMatch, MatchGate, FindSources, VectorResolve, ResolveStore, ResolveWrite, ResolveQuantize, ResolveF32, ResolveSig6, ResolveBigCmp, ResolveDelay, ResolveLlmOrShared, ResolveLlmOrOwn, ResolveLlmOaShared, ResolveLlmOaOwn, ResolveLlmLm, ResolveOrSharedWait, ResolveOrSharedRequest, ResolveOrSharedHttp, ResolveOrOwnWait, ResolveOrOwnRequest, ResolveOrOwnHttp, ResolveOaSharedWait, ResolveOaSharedRequest, ResolveOaSharedHttp, ResolveOaOwnWait, ResolveOaOwnRequest, ResolveOaOwnHttp, ResolveLmWait, ResolveLmRequest, ResolveLmHttp
1088
- page "/:package/:name" as LaunchpadBehaviorPage -> LaunchpadFrame, LaunchpadTheme, LaunchpadHeader, LaunchpadLive, LaunchpadTrace, LaunchpadSource, LaunchpadRail, LaunchpadStage, LaunchpadHome, RecentsStore, SystemOrb, SystemStatsMeter, OrbStatsReader, OrbVersionRunner, OrbUptimeRunner, UpdatesStore, UpdateRecord, UpdatesCli, UpdatesBanner, CiStatus, CiBoard, CiDetail, CiGithub, CiGhHttp, CiGhTimeout, CiRetry, AwsStatus, AwsCli, AwsView, CiRunLogs, CiLogsGh, AppHostingStatus, AhToken, AhGcloud, AhView, CloudRunStatus, CrToken, CrGcloud, CrBq, CloudRunView, TrainingStatus, TrAws, TrSsh, TrainingView, LlmSpend, LlmSpendView, LsOrHttp, LsDsHttp, LsKmHttp, LsTraceHttp, LsTimeout, AnalyticsBoard, AnalyticsBoardStats, AnalyticsBoardToken, PlaygroundFrame, PlaygroundTopics, PlaygroundStage, PlaygroundLoader, PlaygroundOpen, GuestSession, BehaviorCatalogData, BehaviorCatalogLlm, CatEmbedWait, CatEmbedRequest, CatEmbedHttp, PlaygroundMachine, PlaygroundOrbit, PlaygroundSource, PlaygroundStatus, AhApi, CrMonitoring, PlaygroundRoute, LaunchpadBehaviorRoute
1087
+ page "/" as LaunchpadPage -> LaunchpadFrame, LaunchpadTheme, LaunchpadHeader, LaunchpadLive, LaunchpadTrace, LaunchpadSource, LaunchpadRail, LaunchpadStage, LaunchpadHome, RecentsStore, SystemOrb, SystemStatsMeter, OrbStatsReader, OrbVersionRunner, OrbUptimeRunner, UpdatesStore, UpdateRecord, UpdatesCli, UpdatesBanner, CiStatus, CiBoard, CiDetail, CiGithub, CiGhHttp, CiGhTimeout, CiRetry, AwsStatus, AwsCli, AwsView, CiRunLogs, CiLogsGh, AppHostingStatus, AhToken, AhGcloud, AhView, CloudRunStatus, CrToken, CrGcloud, CrBq, CloudRunView, TrainingStatus, TrAws, TrSsh, TrainingView, LlmSpend, LlmSpendView, LsOrHttp, LsDsHttp, LsKmHttp, LsTraceHttp, LsTimeout, AnalyticsBoard, AnalyticsBoardStats, AnalyticsBoardToken, PlaygroundFrame, PlaygroundTopics, PlaygroundStage, PlaygroundLoader, PlaygroundOpen, GuestSession, GuestMarks, BehaviorCatalogData, BehaviorCatalogLlm, CatEmbedWait, CatEmbedRequest, CatEmbedHttp, PlaygroundMachine, PlaygroundOrbit, PlaygroundSource, PlaygroundStatus, AhApi, CrMonitoring
1088
+ page "/:query" as LaunchpadFindPage -> LaunchpadFrame, LaunchpadTheme, LaunchpadHeader, LaunchpadLive, LaunchpadTrace, LaunchpadSource, LaunchpadRail, LaunchpadStage, LaunchpadHome, RecentsStore, SystemOrb, SystemStatsMeter, OrbStatsReader, OrbVersionRunner, OrbUptimeRunner, UpdatesStore, UpdateRecord, UpdatesCli, UpdatesBanner, CiStatus, CiBoard, CiDetail, CiGithub, CiGhHttp, CiGhTimeout, CiRetry, AwsStatus, AwsCli, AwsView, CiRunLogs, CiLogsGh, AppHostingStatus, AhToken, AhGcloud, AhView, CloudRunStatus, CrToken, CrGcloud, CrBq, CloudRunView, TrainingStatus, TrAws, TrSsh, TrainingView, LlmSpend, LlmSpendView, LsOrHttp, LsDsHttp, LsKmHttp, LsTraceHttp, LsTimeout, AnalyticsBoard, AnalyticsBoardStats, AnalyticsBoardToken, PlaygroundFrame, PlaygroundTopics, PlaygroundStage, PlaygroundLoader, PlaygroundOpen, GuestSession, GuestMarks, BehaviorCatalogData, BehaviorCatalogLlm, CatEmbedWait, CatEmbedRequest, CatEmbedHttp, PlaygroundMachine, PlaygroundOrbit, PlaygroundSource, PlaygroundStatus, AhApi, CrMonitoring, LaunchpadFind, FindMatch, MatchGate, FindSources, VectorResolve, ResolveStore, ResolveWrite, ResolveQuantize, ResolveF32, ResolveSig6, ResolveBigCmp, ResolveDelay, ResolveLlmOrShared, ResolveLlmOrOwn, ResolveLlmOaShared, ResolveLlmOaOwn, ResolveLlmLm, ResolveOrSharedWait, ResolveOrSharedRequest, ResolveOrSharedHttp, ResolveOrOwnWait, ResolveOrOwnRequest, ResolveOrOwnHttp, ResolveOaSharedWait, ResolveOaSharedRequest, ResolveOaSharedHttp, ResolveOaOwnWait, ResolveOaOwnRequest, ResolveOaOwnHttp, ResolveLmWait, ResolveLmRequest, ResolveLmHttp
1089
+ page "/:package/:name" as LaunchpadBehaviorPage -> LaunchpadFrame, LaunchpadTheme, LaunchpadHeader, LaunchpadLive, LaunchpadTrace, LaunchpadSource, LaunchpadRail, LaunchpadStage, LaunchpadHome, RecentsStore, SystemOrb, SystemStatsMeter, OrbStatsReader, OrbVersionRunner, OrbUptimeRunner, UpdatesStore, UpdateRecord, UpdatesCli, UpdatesBanner, CiStatus, CiBoard, CiDetail, CiGithub, CiGhHttp, CiGhTimeout, CiRetry, AwsStatus, AwsCli, AwsView, CiRunLogs, CiLogsGh, AppHostingStatus, AhToken, AhGcloud, AhView, CloudRunStatus, CrToken, CrGcloud, CrBq, CloudRunView, TrainingStatus, TrAws, TrSsh, TrainingView, LlmSpend, LlmSpendView, LsOrHttp, LsDsHttp, LsKmHttp, LsTraceHttp, LsTimeout, AnalyticsBoard, AnalyticsBoardStats, AnalyticsBoardToken, PlaygroundFrame, PlaygroundTopics, PlaygroundStage, PlaygroundLoader, PlaygroundOpen, GuestSession, GuestMarks, BehaviorCatalogData, BehaviorCatalogLlm, CatEmbedWait, CatEmbedRequest, CatEmbedHttp, PlaygroundMachine, PlaygroundOrbit, PlaygroundSource, PlaygroundStatus, AhApi, CrMonitoring, PlaygroundRoute, LaunchpadBehaviorRoute
1089
1090
  }
1090
1091
 
1091
1092
  orbital NotFound = NotFound.orbitals.NotFoundOrbital {