@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.
- package/behaviors/lolo/auth/atoms/std-dev-personas.lolo +27 -2
- package/behaviors/lolo/cli/atoms/std-orb-goldens.lolo +6 -3
- package/behaviors/lolo/cli/atoms/std-orb-lint-mem-handles.lolo +54 -34
- package/behaviors/lolo/cli/atoms/std-orb-lint-os-grants.lolo +4 -4
- package/behaviors/lolo/cli/atoms/std-orb-mcp.lolo +16 -21
- package/behaviors/lolo/cli/atoms/std-orb-serve.lolo +24 -4
- package/behaviors/lolo/codec/atoms/std-lolo-kotlin.lolo +26 -3
- package/behaviors/lolo/codec/atoms/std-lolo-python.lolo +15 -2
- package/behaviors/lolo/codec/atoms/std-lolo-rust.lolo +27 -2
- package/behaviors/lolo/codec/atoms/std-lolo-source.lolo +251 -60
- package/behaviors/lolo/codec/atoms/std-lolo-swift.lolo +24 -1
- package/behaviors/lolo/codec/atoms/std-lolo-typescript.lolo +24 -3
- package/behaviors/lolo/connect/atoms/std-meta-ads.lolo +4 -4
- package/behaviors/lolo/connect/atoms/std-stdio-lines.lolo +7 -4
- package/behaviors/lolo/connect/atoms/std-youtube.lolo +9 -9
- package/behaviors/lolo/dev/atoms/std-guest-session.lolo +122 -10
- package/behaviors/lolo/dev/atoms/std-mock-seed-marks.lolo +66 -0
- package/behaviors/lolo/dev/organisms/std-behavior-playground.lolo +5 -2
- package/behaviors/lolo/dev/organisms/std-launchpad.lolo +4 -3
- package/behaviors/lolo/gpu/atoms/std-gpu-compute.lolo +329 -0
- package/behaviors/lolo/net/atoms/std-http-client.lolo +4 -4
- package/behaviors/lolo/net/atoms/std-http-fetch.lolo +6 -6
- package/behaviors/lolo/net/atoms/std-npm-lookup.lolo +1 -1
- package/behaviors/lolo/net/atoms/std-npm-registry.lolo +2 -2
- package/behaviors/lolo/spec/auth/dev-personas.replay.goldens.json +263 -2
- package/behaviors/lolo/spec/cli/lint-all.lolo +1 -0
- package/behaviors/lolo/spec/cli/lint-item-action-event.replay.goldens.json +9 -9
- package/behaviors/lolo/spec/cli/lint-mem-handles.replay.goldens.json +3021 -1
- package/behaviors/lolo/spec/cli/lint-os-grants.replay.goldens.json +284 -12
- package/behaviors/lolo/spec/cli/mcp-server.replay.goldens.json +51 -55
- package/behaviors/lolo/spec/cli/orb-compile.replay.goldens.json +10 -4
- package/behaviors/lolo/spec/codec/lolo-kotlin.replay.goldens.json +7496 -7497
- package/behaviors/lolo/spec/codec/lolo-python.replay.goldens.json +341 -3
- package/behaviors/lolo/spec/codec/lolo-rust.replay.goldens.json +18931 -6142
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/compose-pair.lolo +44 -0
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/config-read.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/divide-default.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/divide-plain.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/get-past-end.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/list-call.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/list-plain.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/minus-binary.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/minus-unary.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/nested-let.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/no-machine.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/no-template.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/nth-past-end.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/nth-raw.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/ports-call.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/range-one.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/range-two.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/router-trio.lolo +88 -0
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/store-pair.lolo +62 -0
- package/behaviors/lolo/spec/codec/lolo-source.fixtures/string-literal.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.gen/knobs.py +27 -1
- package/behaviors/lolo/spec/codec/lolo-source.gen/src_assemble.in +54 -2
- package/behaviors/lolo/spec/codec/lolo-source.gen/src_finish.in +1 -1
- package/behaviors/lolo/spec/codec/lolo-source.gen/src_fold.in +24 -4
- package/behaviors/lolo/spec/codec/lolo-source.gen/src_head.in +8 -3
- package/behaviors/lolo/spec/codec/lolo-source.gen/src_prepare.in +6 -2
- package/behaviors/lolo/spec/codec/lolo-source.gen/src_trait.in +12 -2
- package/behaviors/lolo/spec/codec/lolo-source.parity/agent-step.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.parity/agent-step.server.lolo +1 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/chunk.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.parity/chunk.server.lolo +1 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/compose-pair.events.json +36 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/compose-pair.replay.goldens.json +91 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/cosine.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.parity/cosine.server.lolo +1 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/kotlin/compose-pair.kt +31 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/kotlin/router-trio.kt +31 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/kotlin/store-pair.kt +31 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/python/compose-pair.py +18 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/python/router-trio.py +18 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/python/store-pair.py +17 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/rust/compose-pair.rs +37 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/rust/router-trio.rs +37 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/rust/store-pair.rs +36 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/swift/compose-pair.swift +24 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/swift/router-trio.swift +24 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/swift/store-pair.swift +23 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/typescript/compose-pair.mts +24 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/typescript/router-trio.mts +24 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/drivers/typescript/store-pair.mts +22 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/recall-at-k.lolo +2 -1
- package/behaviors/lolo/spec/codec/lolo-source.parity/recall-at-k.server.lolo +1 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/router-trio.events.json +18 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/router-trio.replay.goldens.json +87 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/store-pair.events.json +58 -0
- package/behaviors/lolo/spec/codec/lolo-source.parity/store-pair.replay.goldens.json +238 -0
- package/behaviors/lolo/spec/codec/lolo-swift.replay.goldens.json +15599 -2204
- package/behaviors/lolo/spec/codec/lolo-typescript.replay.goldens.json +28930 -28929
- package/behaviors/lolo/spec/connect/bearer-api.replay.goldens.json +1 -1
- package/behaviors/lolo/spec/connect/esign.replay.goldens.json +3 -3
- package/behaviors/lolo/spec/connect/github.replay.goldens.json +13 -13
- package/behaviors/lolo/spec/connect/google-calendar.replay.goldens.json +2 -2
- package/behaviors/lolo/spec/connect/image.replay.goldens.json +1 -1
- package/behaviors/lolo/spec/connect/meta-ads.replay.goldens.json +2 -2
- package/behaviors/lolo/spec/connect/stdio-lines.replay.goldens.json +90 -0
- package/behaviors/lolo/spec/connect/twilio.replay.goldens.json +2 -2
- package/behaviors/lolo/spec/connect/youtube.replay.goldens.json +1 -1
- package/behaviors/lolo/spec/dev/guest-session.replay.goldens.json +824 -0
- package/behaviors/lolo/spec/dev/mock-seed-marks.replay.goldens.json +365 -0
- package/behaviors/lolo/spec/dev/verify-walk.replay.goldens.json +2 -1
- package/behaviors/lolo/spec/gpu/gpu-compute.replay.goldens.json +784 -0
- package/behaviors/lolo/spec/mem/mem-buffer.replay.goldens.json +97 -1
- package/behaviors/lolo/spec/ml/vector-write.goldens.json +1 -1
- package/behaviors/lolo/spec/ml/vector-write.replay.goldens.json +2 -2
- package/behaviors/lolo/spec/net/http-client-call-host.replay.goldens.json +3 -3
- package/behaviors/lolo/spec/net/http-client-env-host.replay.goldens.json +3 -3
- package/behaviors/lolo/spec/net/http-client.replay.goldens.json +56 -56
- package/behaviors/lolo/spec/net/http-fetch.replay.goldens.json +2 -2
- package/behaviors/lolo/spec/net/npm-lookup.replay.goldens.json +1 -1
- package/behaviors/lolo/spec/net/npm-registry.replay.goldens.json +2 -2
- package/behaviors/lolo/spec/net/server-declared-traits.replay.goldens.json +6 -3
- package/behaviors/lolo/spec/net/server-external-inputs.replay.goldens.json +16 -8
- package/behaviors/lolo/spec/net/server-retargeted-leg.replay.goldens.json +4 -2
- package/behaviors/lolo/spec/net/server-untargeted-discovery.replay.goldens.json +50 -45
- package/behaviors/lolo/spec/ops/llm-spend-board.replay.goldens.json +112 -16
- package/behaviors/lolo/spec/store/firestore-twin.replay.goldens.json +1 -1
- package/behaviors/lolo/spec/store/row-store-postgres.gen/record_real_sql.py +1 -1
- package/behaviors/lolo/spec/ui/game/fx-particles.replay.goldens.json +37 -0
- package/behaviors/lolo/ui/avl/atoms/std-avl-cosmic-zoom.lolo +2 -2
- package/behaviors/lolo/ui/game/atoms/std-fx-particles.lolo +10 -1
- package/behaviors/lolo/ui/game/atoms/ui-draw-fx-layer.lolo +4 -4
- package/behaviors/lolo/ui/game/organisms/std-arcade-board-3d.lolo +9 -9
- package/behaviors/lolo/ui/game/organisms/std-crew-board-2d.lolo +4 -4
- package/behaviors/lolo/ui/game/organisms/std-dungeon-board-2d.lolo +5 -5
- package/behaviors/lolo/ui/game/organisms/std-market-board-3d.lolo +9 -9
- package/behaviors/lolo/ui/game/organisms/std-objective-board-3d.lolo +9 -9
- package/behaviors/lolo/ui/game/organisms/std-platformer-board-2d.lolo +5 -5
- package/behaviors/lolo/ui/game/organisms/std-platformer-puzzle.lolo +4 -4
- package/behaviors/lolo/ui/game/organisms/std-survival-board-3d.lolo +9 -9
- package/behaviors/lolo/ui/game/organisms/std-tactics-board-2d.lolo +5 -5
- package/behaviors/lolo/ui/game/organisms/std-tactics-board-3d.lolo +9 -9
- package/behaviors/registry/auth/atoms/std-dev-personas.orb +1 -1
- package/behaviors/registry/cli/atoms/std-orb-goldens.orb +1 -1
- package/behaviors/registry/cli/atoms/std-orb-lint-mem-handles.orb +1 -1
- package/behaviors/registry/cli/atoms/std-orb-lint-os-grants.orb +1 -1
- package/behaviors/registry/cli/atoms/std-orb-mcp.orb +1 -1
- package/behaviors/registry/cli/atoms/std-orb-serve.orb +1 -1
- package/behaviors/registry/codec/atoms/std-lolo-kotlin.orb +1 -1
- package/behaviors/registry/codec/atoms/std-lolo-python.orb +1 -1
- package/behaviors/registry/codec/atoms/std-lolo-rust.orb +1 -1
- package/behaviors/registry/codec/atoms/std-lolo-source.orb +1 -1
- package/behaviors/registry/codec/atoms/std-lolo-swift.orb +1 -1
- package/behaviors/registry/codec/atoms/std-lolo-typescript.orb +1 -1
- package/behaviors/registry/connect/atoms/std-meta-ads.orb +1 -1
- package/behaviors/registry/connect/atoms/std-stdio-lines.orb +1 -1
- package/behaviors/registry/connect/atoms/std-youtube.orb +1 -1
- package/behaviors/registry/dev/atoms/std-guest-session.orb +1 -1
- package/behaviors/registry/dev/atoms/std-mock-seed-marks.orb +1 -0
- package/behaviors/registry/dev/organisms/std-behavior-playground.orb +37 -0
- package/behaviors/registry/dev/organisms/std-launchpad.orb +25 -0
- package/behaviors/registry/gpu/atoms/std-gpu-compute.orb +1 -0
- package/behaviors/registry/net/atoms/std-http-client.orb +1 -1
- package/behaviors/registry/net/atoms/std-http-fetch.orb +1 -1
- package/behaviors/registry/net/atoms/std-npm-lookup.orb +1 -1
- package/behaviors/registry/net/atoms/std-npm-registry.orb +1 -1
- package/behaviors/registry/spec/cli/lint-all.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/compose-pair.orb +1 -0
- package/behaviors/registry/spec/codec/lolo-source.fixtures/config-read.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/divide-default.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/divide-plain.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/get-past-end.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/list-call.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/list-plain.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/minus-binary.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/minus-unary.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/nested-let.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/no-machine.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/no-template.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/nth-past-end.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/nth-raw.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/ports-call.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/range-one.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/range-two.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.fixtures/router-trio.orb +1 -0
- package/behaviors/registry/spec/codec/lolo-source.fixtures/store-pair.orb +1 -0
- package/behaviors/registry/spec/codec/lolo-source.fixtures/string-literal.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.parity/agent-step.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.parity/agent-step.server.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.parity/chunk.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.parity/chunk.server.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.parity/cosine.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.parity/cosine.server.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.parity/recall-at-k.orb +1 -1
- package/behaviors/registry/spec/codec/lolo-source.parity/recall-at-k.server.orb +1 -1
- package/behaviors/registry/ui/avl/atoms/std-avl-cosmic-zoom.orb +1 -1
- package/behaviors/registry/ui/game/atoms/std-fx-particles.orb +1 -1
- package/behaviors/registry/ui/game/atoms/ui-draw-fx-layer.orb +1 -1
- package/behaviors/registry/ui/game/organisms/std-arcade-board-3d.orb +20 -13
- package/behaviors/registry/ui/game/organisms/std-crew-board-2d.orb +9 -5
- package/behaviors/registry/ui/game/organisms/std-dungeon-board-2d.orb +17 -7
- package/behaviors/registry/ui/game/organisms/std-market-board-3d.orb +19 -15
- package/behaviors/registry/ui/game/organisms/std-objective-board-3d.orb +15 -12
- package/behaviors/registry/ui/game/organisms/std-platformer-board-2d.orb +17 -7
- package/behaviors/registry/ui/game/organisms/std-platformer-puzzle.orb +4 -0
- package/behaviors/registry/ui/game/organisms/std-survival-board-3d.orb +15 -12
- package/behaviors/registry/ui/game/organisms/std-tactics-board-2d.orb +13 -6
- package/behaviors/registry/ui/game/organisms/std-tactics-board-3d.orb +14 -12
- package/canonical-operators.json +1426 -103
- package/dist/{chunk-EK22WRB6.js → chunk-2UGHBVU2.js} +2 -2
- package/dist/{chunk-GDMH5T4J.js → chunk-3DK7GI2C.js} +2 -2
- package/dist/chunk-3MDASC5C.js +26 -0
- package/dist/{chunk-K5ZI27PB.js → chunk-3PHO4RRF.js} +1 -1
- package/dist/{chunk-7IEMMYM6.js → chunk-4MJCLAZW.js} +1 -1
- package/dist/{chunk-W4IEV4BY.js → chunk-55JPIL7A.js} +2 -2
- package/dist/{chunk-RUGBZTV3.js → chunk-66BLZLFI.js} +1 -1
- package/dist/{chunk-YWFISV7L.js → chunk-66RAJFOD.js} +1 -1
- package/dist/{chunk-JWOWWGNZ.js → chunk-6ED4SUC6.js} +1 -1
- package/dist/{chunk-LL7P6EII.js → chunk-6KFCHNE2.js} +2 -2
- package/dist/{chunk-GFBL2TW6.js → chunk-A4QB3Y6L.js} +1 -1
- package/dist/chunk-BVWMLS32.js +123 -0
- package/dist/{chunk-5KQCGSNC.js → chunk-CRKVDCY7.js} +1 -1
- package/dist/{chunk-WHQDLLC3.js → chunk-EKWEY4OJ.js} +1 -1
- package/dist/{chunk-Y3BRVNYK.js → chunk-EU22GCGV.js} +2 -2
- package/dist/{chunk-XQPYTDZ4.js → chunk-FB6PKNRS.js} +1 -1
- package/dist/{chunk-UX3MDFX6.js → chunk-FSVOJQLP.js} +1 -1
- package/dist/{chunk-LDBD2FBQ.js → chunk-GAKLBWBR.js} +1 -1
- package/dist/{chunk-C3IEMPRZ.js → chunk-GO3FKBV2.js} +2 -2
- package/dist/{chunk-LZSPEHSM.js → chunk-GPDTJHYY.js} +1 -1
- package/dist/{chunk-W5ABMOXU.js → chunk-JQBWLH5V.js} +1 -1
- package/dist/{chunk-63X6RNY6.js → chunk-KKW3JHTC.js} +1 -1
- package/dist/{chunk-5PLJE42Q.js → chunk-LF2EZVAM.js} +1 -1
- package/dist/{chunk-RXWBYWQB.js → chunk-LGCKOZP3.js} +2 -2
- package/dist/{chunk-JJEADYP7.js → chunk-LMZ6XJFB.js} +2 -2
- package/dist/{chunk-CWYSQZJU.js → chunk-M2YQNSAZ.js} +2 -2
- package/dist/{chunk-GNCKJV3P.js → chunk-MKWHYBIS.js} +1 -1
- package/dist/{chunk-ZB2CLGEG.js → chunk-MXBGYTYF.js} +1 -1
- package/dist/{chunk-UN76TRSK.js → chunk-NH6MXHZR.js} +41 -41
- package/dist/{chunk-II2VW7T6.js → chunk-ODBIX4DB.js} +1 -1
- package/dist/{chunk-3F3CNWOG.js → chunk-OYDQR6DT.js} +2 -2
- package/dist/{chunk-FVL6BT6L.js → chunk-PD6POR44.js} +1 -1
- package/dist/{chunk-U6USXZ5M.js → chunk-PHFT3QNS.js} +2 -2
- package/dist/{chunk-RJYKIZMS.js → chunk-PQZ6PVKG.js} +2 -2
- package/dist/{chunk-TQPQXCSZ.js → chunk-Q6NHXIOZ.js} +2 -2
- package/dist/{chunk-KYGWVCTM.js → chunk-QMDVYTB7.js} +1 -1
- package/dist/{chunk-XKTATY45.js → chunk-RW2KMSG5.js} +4 -4
- package/dist/{chunk-UHNSPTFT.js → chunk-SA2ZS24W.js} +1 -1
- package/dist/{chunk-6YPUQK36.js → chunk-SFWP4UMK.js} +2 -2
- package/dist/{chunk-ZZYLFHBU.js → chunk-TLNEQA4D.js} +1 -1
- package/dist/{chunk-RGTBRWWA.js → chunk-TOODE5AD.js} +2 -2
- package/dist/{chunk-QGWAHOFR.js → chunk-U57GY7SM.js} +2 -2
- package/dist/{chunk-FDJZKB7J.js → chunk-UIDQQJSX.js} +1 -1
- package/dist/{chunk-LLH3WXM3.js → chunk-UVFP2B7I.js} +1 -1
- package/dist/{chunk-4OF7727E.js → chunk-VEGZPCTZ.js} +2 -2
- package/dist/{chunk-73YUPNIT.js → chunk-VXN4V7LC.js} +1 -1
- package/dist/{chunk-4D3W6AAE.js → chunk-YHQVZWPG.js} +1 -1
- package/dist/{chunk-XXYBHYLM.js → chunk-YQO3TO66.js} +2 -2
- package/dist/{chunk-YZAYFR5A.js → chunk-ZSJ3GEOJ.js} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +50 -50
- package/dist/modules/anim.js +2 -2
- package/dist/modules/array.js +2 -2
- package/dist/modules/auth.js +3 -3
- package/dist/modules/behavior.js +2 -2
- package/dist/modules/bit.js +2 -2
- package/dist/modules/browser.js +2 -2
- package/dist/modules/bytes.js +2 -2
- package/dist/modules/codec.js +3 -3
- package/dist/modules/composition.js +2 -2
- package/dist/modules/core.js +2 -2
- package/dist/modules/csv.js +2 -2
- package/dist/modules/ffi.js +3 -3
- package/dist/modules/format.js +2 -2
- package/dist/modules/geo.js +2 -2
- package/dist/modules/gpu.d.ts +12 -0
- package/dist/modules/gpu.js +3 -0
- package/dist/modules/grid.js +2 -2
- package/dist/modules/i18n.js +2 -2
- package/dist/modules/index.d.ts +1 -2
- package/dist/modules/index.js +45 -46
- package/dist/modules/json.js +2 -2
- package/dist/modules/kernel.js +3 -3
- package/dist/modules/kv.js +3 -3
- package/dist/modules/llm.js +2 -2
- package/dist/modules/math.js +2 -2
- package/dist/modules/mem.js +3 -3
- package/dist/modules/object.js +2 -2
- package/dist/modules/os-common.d.ts +1 -1
- package/dist/modules/os-common.js +2 -2
- package/dist/modules/os-desktop.js +3 -3
- package/dist/modules/os-dev.js +3 -3
- package/dist/modules/os-dir.js +3 -3
- package/dist/modules/os-env-stdio.js +3 -3
- package/dist/modules/os-fs.js +3 -3
- package/dist/modules/os-net.js +3 -3
- package/dist/modules/os-path.js +3 -3
- package/dist/modules/os-process.js +3 -3
- package/dist/modules/os-sys.js +3 -3
- package/dist/modules/os-time-users.js +3 -3
- package/dist/modules/os.js +13 -13
- package/dist/modules/path.js +2 -2
- package/dist/modules/prob.js +2 -2
- package/dist/modules/program.js +2 -2
- package/dist/modules/session.js +2 -2
- package/dist/modules/str.js +2 -2
- package/dist/modules/time.js +2 -2
- package/dist/modules/validate.js +2 -2
- package/dist/modules/vector.js +2 -2
- package/dist/modules/workspace.js +2 -2
- package/dist/modules/xml.js +2 -2
- package/dist/modules/yaml.js +2 -2
- package/dist/registry.d.ts +2 -2
- package/dist/registry.js +49 -49
- package/dist/{types-BA4LkhNJ.d.ts → types-CgiGhK6t.d.ts} +17 -3
- package/package.json +5 -5
- package/dist/chunk-F5TP25JA.js +0 -26
- package/dist/chunk-NE4WSTN7.js +0 -26
- package/dist/modules/trace.d.ts +0 -15
- package/dist/modules/trace.js +0 -2
- /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
|
|
18
|
-
type
|
|
19
|
-
type
|
|
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 (
|
|
85
|
-
(
|
|
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
|
-
|
|
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 {
|