@almadar/std 17.0.2 → 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-packages.lolo +26 -16
- 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/cli/orb-packages.lolo +1 -1
- 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-packages.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/cli/orb-packages.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
|
@@ -25,13 +25,17 @@
|
|
|
25
25
|
events: (array/unique (array/map (object/get @machine "transitions") (fn tr (object/get @tr "event")))),
|
|
26
26
|
listenTypes: (object/fromEntries (array/map (array/filter @evs (fn ev (> (array/len (default (object/get @ev "payloadSchema") [])) 0))) (fn ev [(object/get @ev "key") FILL{@config.payloadType ## trait => @tn ## event => CASE{(object/get @ev "key") ## "keep"}}]))),
|
|
27
27
|
emitTypes: (object/fromEntries (array/map (array/filter @ems (fn ev (> (array/len (default (object/get @ev "payloadSchema") [])) 0))) (fn ev [(object/get @ev "event") FILL{@config.payloadType ## trait => @tn ## event => CASE{(object/get @ev "event") ## "keep"}}])))
|
|
28
|
-
emitVoid: (array/map (array/filter @ems (fn ev (= (array/len (default (object/get @ev "payloadSchema") [])) 0))) (fn ev (object/get @ev "event")))
|
|
28
|
+
emitVoid: (array/map (array/filter @ems (fn ev (= (array/len (default (object/get @ev "payloadSchema") [])) 0))) (fn ev (object/get @ev "event")))
|
|
29
|
+
orbital: (object/get @o "name")
|
|
30
|
+
listenRows: (array/map (array/filter (default (object/get @t "listens") []) (fn l (= (object/get (default (object/get @l "source") { kind: "" }) "kind") "trait")))
|
|
31
|
+
(fn l { source: (default (object/get (default (object/get @l "source") { kind: "" }) "trait") ""), event: (object/get @l "event"), trigger: (default (object/get @l "triggers") (object/get @l "event")), guard: (object/get @l "guard" null), map: (object/get @l "payloadMapping" null) })) }))))))))))
|
|
29
32
|
(set @entity.groups (array/concat
|
|
30
33
|
(if @config.renderModels (array/map @entity.containers (fn c (array/map (object/get @c "fields") (fn f [0, (object/get @f "default" null)])))) [])
|
|
31
34
|
(array/map @entity.traits (fn t
|
|
32
35
|
(array/concat
|
|
33
36
|
[(array/concat [0] (array/map (object/get @t "knobs") (fn kb (object/get @kb "default" null))))]
|
|
34
|
-
(array/map (object/get @t "transitions") (fn tr (array/concat [0, (if (!= (object/get @tr "guard" null) null) (object/get @tr "guard") true)] (default (object/get @tr "effects" []) []))))
|
|
37
|
+
(array/map (object/get @t "transitions") (fn tr (array/concat [0, (if (!= (object/get @tr "guard" null) null) (object/get @tr "guard") true)] (default (object/get @tr "effects" []) []))))
|
|
38
|
+
(array/map (object/get @t "listenRows") (fn lr [0, (if (!= (object/get @lr "guard" null) null) (object/get @lr "guard") true), (default (object/get @lr "map" null) {})])))))))
|
|
35
39
|
(set @entity.groupCtx (array/concat
|
|
36
40
|
(if @config.renderModels (array/map @entity.containers (fn c { emitTypes: {}, emitVoid: [], defaults: {} })) [])
|
|
37
41
|
(array/map @entity.traits (fn t
|
|
@@ -56,11 +56,18 @@
|
|
|
56
56
|
(emit SOURCE_RENDER_FAILED { error: "a render is already in progress" })
|
|
57
57
|
LOLO_READ_FAILED -> ready
|
|
58
58
|
(emit SOURCE_RENDER_FAILED { error: (default @payload.error "the source could not be read") })
|
|
59
|
-
LOLO_READ -> rendering
|
|
59
|
+
LOLO_READ -> rendering when (not (array/some (object/get @payload.result "orbitals") (fn co (array/some (object/get @co "traits") (fn ct (!= (object/get @ct "ref" null) null))))))
|
|
60
60
|
(set @entity.program @payload.result)
|
|
61
61
|
(emit SRC_PREPARE { })
|
|
62
|
+
LOLO_READ -> reading when (and (array/some (object/get @payload.result "orbitals") (fn co (array/some (object/get @co "traits") (fn ct (!= (object/get @ct "ref" null) null))))) (!= @entity.path ""))
|
|
63
|
+
(program/read @entity.source { resolve: true, text: false, path: @entity.path } { emit: { success: LOLO_RESOLVED, failure: LOLO_READ_FAILED } })
|
|
64
|
+
LOLO_READ -> ready when (and (array/some (object/get @payload.result "orbitals") (fn co (array/some (object/get @co "traits") (fn ct (!= (object/get @ct "ref" null) null))))) (= @entity.path ""))
|
|
65
|
+
(emit SOURCE_RENDER_FAILED { error: "a program that composes behaviors renders from its composed program, which needs the source's absolute path" })
|
|
66
|
+
LOLO_RESOLVED -> rendering
|
|
67
|
+
(set @entity.program @payload.result.program)
|
|
68
|
+
(emit SRC_PREPARE { })
|
|
62
69
|
LOLO_INSPECTED -> rendering
|
|
63
|
-
(set @entity.program @payload.result.authoredProgram)
|
|
70
|
+
(set @entity.program (if (array/some (object/get @payload.result.authoredProgram "orbitals") (fn co (array/some (object/get @co "traits") (fn ct (!= (object/get @ct "ref" null) null))))) @payload.result.program @payload.result.authoredProgram))
|
|
64
71
|
(set @entity.types @payload.result.types)
|
|
65
72
|
(set @entity.expected @payload.result.expected)
|
|
66
73
|
(set @entity.models @payload.result.models)
|
|
@@ -124,6 +131,9 @@
|
|
|
124
131
|
LOLO_READ { result : SrcProgram! }
|
|
125
132
|
@description "Internal: the program read by program/read."
|
|
126
133
|
@tier "internal"
|
|
134
|
+
LOLO_RESOLVED { result : SrcResolved! }
|
|
135
|
+
@description "Internal: the composed program, read by program/read with resolve, of a program that composes behaviors."
|
|
136
|
+
@tier "internal"
|
|
127
137
|
LOLO_INSPECTED { result : SrcInspect! }
|
|
128
138
|
@description "Internal: the program and its types read by program/read with inspect."
|
|
129
139
|
@tier "internal"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
app agent-step-example [
|
|
2
|
-
version: "1.0.0"
|
|
2
|
+
version: "1.0.0",
|
|
3
|
+
description: "Course example of a tool-using agent loop that plans, acts on a chosen tool, records the observation and answers or stops at a step budget, used as a native renderer parity example against the kernel's answers."
|
|
3
4
|
]
|
|
4
5
|
orbital Agent {
|
|
5
6
|
entity Run [runtime] {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
app agent-step-example [
|
|
2
2
|
version: "1.0.0",
|
|
3
|
+
description: "Server variant of the course example of a tool-using agent loop that plans, acts on a chosen tool, records the observation and answers or stops at a step budget, composed with the std HTTP server for the native server parity run against the kernel's answers.",
|
|
3
4
|
net: { "127.0.0.1:4999": [listen] }
|
|
4
5
|
]
|
|
5
6
|
uses Server from "std/behaviors/std-http-server"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
app chunk-example [
|
|
2
|
-
version: "1.0.0"
|
|
2
|
+
version: "1.0.0",
|
|
3
|
+
description: "Course example of splitting document text into overlapping windows, refusing window settings that cannot make progress, used as a native renderer parity example against the kernel's answers."
|
|
3
4
|
]
|
|
4
5
|
orbital Chunking {
|
|
5
6
|
entity Doc [runtime] {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
app chunk-example [
|
|
2
2
|
version: "1.0.0",
|
|
3
|
+
description: "Server variant of the course example of splitting document text into overlapping windows, refusing window settings that cannot make progress, composed with the std HTTP server for the native server parity run against the kernel's answers.",
|
|
3
4
|
net: { "127.0.0.1:4999": [listen] }
|
|
4
5
|
]
|
|
5
6
|
uses Server from "std/behaviors/std-http-server"
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"steps": [
|
|
3
|
+
{
|
|
4
|
+
"trait": "Arena",
|
|
5
|
+
"event": "INIT",
|
|
6
|
+
"payload": {}
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"trait": "Score",
|
|
10
|
+
"event": "INIT",
|
|
11
|
+
"payload": {}
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"trait": "Arena",
|
|
15
|
+
"event": "HIT",
|
|
16
|
+
"payload": {
|
|
17
|
+
"n": 1
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"trait": "Arena",
|
|
22
|
+
"event": "HIT",
|
|
23
|
+
"payload": {
|
|
24
|
+
"n": 2
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"trait": "Score",
|
|
29
|
+
"event": "UNITS_CHANGED",
|
|
30
|
+
"payload": {
|
|
31
|
+
"enemiesAlive": 0,
|
|
32
|
+
"playersAlive": 1
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"atom": "codec/lolo-source.fixtures/compose-pair.lolo",
|
|
3
|
+
"trait": "Arena",
|
|
4
|
+
"orbital": "ArenaOrbital",
|
|
5
|
+
"note": "kernel answers for the composed-mode fixture: a local trait's emit drives a composed std atom with call-site config; each step's ordered emits and its trait's row",
|
|
6
|
+
"cases": [
|
|
7
|
+
{
|
|
8
|
+
"id": "compose-pair",
|
|
9
|
+
"steps": [
|
|
10
|
+
{
|
|
11
|
+
"trait": "Arena",
|
|
12
|
+
"event": "INIT",
|
|
13
|
+
"payload": {},
|
|
14
|
+
"expect": {
|
|
15
|
+
"exactEmits": [],
|
|
16
|
+
"entity": {}
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"trait": "Score",
|
|
21
|
+
"event": "INIT",
|
|
22
|
+
"payload": {},
|
|
23
|
+
"expect": {
|
|
24
|
+
"exactEmits": [],
|
|
25
|
+
"entity": {
|
|
26
|
+
"score": 0,
|
|
27
|
+
"scoreBaseline": 3
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"trait": "Arena",
|
|
33
|
+
"event": "HIT",
|
|
34
|
+
"payload": {
|
|
35
|
+
"n": 1
|
|
36
|
+
},
|
|
37
|
+
"expect": {
|
|
38
|
+
"exactEmits": [
|
|
39
|
+
{
|
|
40
|
+
"event": "WAVE",
|
|
41
|
+
"payload": {
|
|
42
|
+
"enemiesAlive": 2,
|
|
43
|
+
"playersAlive": 1
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"entity": {
|
|
48
|
+
"enemies": 2
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"trait": "Arena",
|
|
54
|
+
"event": "HIT",
|
|
55
|
+
"payload": {
|
|
56
|
+
"n": 2
|
|
57
|
+
},
|
|
58
|
+
"expect": {
|
|
59
|
+
"exactEmits": [
|
|
60
|
+
{
|
|
61
|
+
"event": "WAVE",
|
|
62
|
+
"payload": {
|
|
63
|
+
"enemiesAlive": 0,
|
|
64
|
+
"playersAlive": 1
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"entity": {
|
|
69
|
+
"enemies": 0
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"trait": "Score",
|
|
75
|
+
"event": "UNITS_CHANGED",
|
|
76
|
+
"payload": {
|
|
77
|
+
"enemiesAlive": 0,
|
|
78
|
+
"playersAlive": 1
|
|
79
|
+
},
|
|
80
|
+
"expect": {
|
|
81
|
+
"exactEmits": [],
|
|
82
|
+
"entity": {
|
|
83
|
+
"score": 15,
|
|
84
|
+
"scoreBaseline": 0
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
app cosine-example [
|
|
2
|
-
version: "1.0.0"
|
|
2
|
+
version: "1.0.0",
|
|
3
|
+
description: "Course example of cosine similarity between two number vectors in one client trait, used as a native renderer parity example against the kernel's answers."
|
|
3
4
|
]
|
|
4
5
|
orbital Similarity {
|
|
5
6
|
entity Pair [runtime] {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
app cosine-example [
|
|
2
2
|
version: "1.0.0",
|
|
3
|
+
description: "Server variant of the course example of cosine similarity between two number vectors in one client trait, composed with the std HTTP server for the native server parity run against the kernel's answers.",
|
|
3
4
|
net: { "127.0.0.1:4999": [listen] }
|
|
4
5
|
]
|
|
5
6
|
uses Server from "std/behaviors/std-http-server"
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import generated.*
|
|
2
|
+
import kotlinx.serialization.json.Json
|
|
3
|
+
import kotlinx.serialization.json.JsonPrimitive
|
|
4
|
+
import kotlinx.serialization.json.buildJsonObject
|
|
5
|
+
import kotlinx.serialization.json.jsonArray
|
|
6
|
+
import kotlinx.serialization.json.jsonObject
|
|
7
|
+
import kotlinx.serialization.json.jsonPrimitive
|
|
8
|
+
|
|
9
|
+
fun main(args: Array<String>) {
|
|
10
|
+
val json = Json { encodeDefaults = true }
|
|
11
|
+
val spec = json.parseToJsonElement(java.io.File(args[0]).readText()).jsonObject
|
|
12
|
+
val row = { json.decodeFromJsonElement(Match.serializer(), buildJsonObject { put("id", JsonPrimitive("1")) }) }
|
|
13
|
+
val program = Program(row(), row())
|
|
14
|
+
spec.getValue("steps").jsonArray.forEachIndexed { i, step ->
|
|
15
|
+
val s = step.jsonObject
|
|
16
|
+
val n = program.log.size
|
|
17
|
+
val key = "ArenaOrbital." + s.getValue("trait").jsonPrimitive.content
|
|
18
|
+
program.dispatch(key, s.getValue("event").jsonPrimitive.content, s.getValue("payload"))
|
|
19
|
+
for ((_, event, payload) in program.log.drop(n)) {
|
|
20
|
+
println(buildJsonObject {
|
|
21
|
+
put("step", JsonPrimitive(i))
|
|
22
|
+
put("event", JsonPrimitive(event))
|
|
23
|
+
put("payload", payload)
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
println(buildJsonObject {
|
|
27
|
+
put("step", JsonPrimitive(i))
|
|
28
|
+
put("entity", program.entry(key)?.entity?.invoke() ?: JsonPrimitive("missing"))
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import generated.*
|
|
2
|
+
import kotlinx.serialization.json.Json
|
|
3
|
+
import kotlinx.serialization.json.JsonPrimitive
|
|
4
|
+
import kotlinx.serialization.json.buildJsonObject
|
|
5
|
+
import kotlinx.serialization.json.jsonArray
|
|
6
|
+
import kotlinx.serialization.json.jsonObject
|
|
7
|
+
import kotlinx.serialization.json.jsonPrimitive
|
|
8
|
+
|
|
9
|
+
fun main(args: Array<String>) {
|
|
10
|
+
val json = Json { encodeDefaults = true }
|
|
11
|
+
val spec = json.parseToJsonElement(java.io.File(args[0]).readText()).jsonObject
|
|
12
|
+
val row = { json.decodeFromJsonElement(Tally.serializer(), buildJsonObject { put("id", JsonPrimitive("1")) }) }
|
|
13
|
+
val program = Program(row(), row(), row())
|
|
14
|
+
spec.getValue("steps").jsonArray.forEachIndexed { i, step ->
|
|
15
|
+
val s = step.jsonObject
|
|
16
|
+
val n = program.log.size
|
|
17
|
+
val key = "TrioOrbital." + s.getValue("trait").jsonPrimitive.content
|
|
18
|
+
program.dispatch(key, s.getValue("event").jsonPrimitive.content, s.getValue("payload"))
|
|
19
|
+
for ((_, event, payload) in program.log.drop(n)) {
|
|
20
|
+
println(buildJsonObject {
|
|
21
|
+
put("step", JsonPrimitive(i))
|
|
22
|
+
put("event", JsonPrimitive(event))
|
|
23
|
+
put("payload", payload)
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
println(buildJsonObject {
|
|
27
|
+
put("step", JsonPrimitive(i))
|
|
28
|
+
put("entity", program.entry(key)?.entity?.invoke() ?: JsonPrimitive("missing"))
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import generated.*
|
|
2
|
+
import kotlinx.serialization.json.Json
|
|
3
|
+
import kotlinx.serialization.json.JsonPrimitive
|
|
4
|
+
import kotlinx.serialization.json.buildJsonObject
|
|
5
|
+
import kotlinx.serialization.json.jsonArray
|
|
6
|
+
import kotlinx.serialization.json.jsonObject
|
|
7
|
+
import kotlinx.serialization.json.jsonPrimitive
|
|
8
|
+
|
|
9
|
+
fun main(args: Array<String>) {
|
|
10
|
+
val json = Json { encodeDefaults = true }
|
|
11
|
+
val spec = json.parseToJsonElement(java.io.File(args[0]).readText()).jsonObject
|
|
12
|
+
val row = json.decodeFromJsonElement(Note.serializer(), buildJsonObject { put("id", JsonPrimitive("1")) })
|
|
13
|
+
val program = Program(row, MemoryStore())
|
|
14
|
+
val key = "StoreOrbital.Notes"
|
|
15
|
+
spec.getValue("steps").jsonArray.forEachIndexed { i, step ->
|
|
16
|
+
val s = step.jsonObject
|
|
17
|
+
val n = program.log.size
|
|
18
|
+
program.dispatch("StoreOrbital." + s.getValue("trait").jsonPrimitive.content, s.getValue("event").jsonPrimitive.content, s.getValue("payload"))
|
|
19
|
+
for ((_, event, payload) in program.log.drop(n)) {
|
|
20
|
+
println(buildJsonObject {
|
|
21
|
+
put("step", JsonPrimitive(i))
|
|
22
|
+
put("event", JsonPrimitive(event))
|
|
23
|
+
put("payload", payload)
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
println(buildJsonObject {
|
|
27
|
+
put("step", JsonPrimitive(i))
|
|
28
|
+
put("entity", program.entry(key)?.entity?.invoke() ?: JsonPrimitive("missing"))
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import dataclasses
|
|
2
|
+
import json
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
sys.path[:0] = [sys.argv[1]]
|
|
6
|
+
import rendered
|
|
7
|
+
from orbital_app.generated.entities import Match
|
|
8
|
+
|
|
9
|
+
spec = json.load(open(sys.argv[2]))
|
|
10
|
+
keys = ["ArenaOrbital.Arena", "ArenaOrbital.Score"]
|
|
11
|
+
program = rendered.Program({k: Match(id="1") for k in keys})
|
|
12
|
+
for i, step in enumerate(spec["steps"]):
|
|
13
|
+
n = len(program.log)
|
|
14
|
+
key = "ArenaOrbital." + step["trait"]
|
|
15
|
+
program.dispatch(key, step["event"], step["payload"])
|
|
16
|
+
for _trait, event, out in program.log[n:]:
|
|
17
|
+
print(json.dumps({"step": i, "event": event, "payload": out}, sort_keys=True))
|
|
18
|
+
print(json.dumps({"step": i, "entity": dataclasses.asdict(program.traits[key].entity)}, sort_keys=True))
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import dataclasses
|
|
2
|
+
import json
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
sys.path[:0] = [sys.argv[1]]
|
|
6
|
+
import rendered
|
|
7
|
+
from orbital_app.generated.entities import Tally
|
|
8
|
+
|
|
9
|
+
spec = json.load(open(sys.argv[2]))
|
|
10
|
+
keys = ["TrioOrbital.Lead", "TrioOrbital.Echo", "TrioOrbital.Tail"]
|
|
11
|
+
program = rendered.Program({k: Tally(id="1") for k in keys})
|
|
12
|
+
for i, step in enumerate(spec["steps"]):
|
|
13
|
+
n = len(program.log)
|
|
14
|
+
key = "TrioOrbital." + step["trait"]
|
|
15
|
+
program.dispatch(key, step["event"], step["payload"])
|
|
16
|
+
for _trait, event, out in program.log[n:]:
|
|
17
|
+
print(json.dumps({"step": i, "event": event, "payload": out}, sort_keys=True))
|
|
18
|
+
print(json.dumps({"step": i, "entity": dataclasses.asdict(program.traits[key].entity)}, sort_keys=True))
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import dataclasses
|
|
2
|
+
import json
|
|
3
|
+
import sys
|
|
4
|
+
|
|
5
|
+
sys.path[:0] = [sys.argv[1]]
|
|
6
|
+
import rendered
|
|
7
|
+
from orbital_app.generated.entities import Note
|
|
8
|
+
|
|
9
|
+
spec = json.load(open(sys.argv[2]))
|
|
10
|
+
key = "StoreOrbital.Notes"
|
|
11
|
+
program = rendered.Program({key: Note(id="1")}, rendered.MemoryStore())
|
|
12
|
+
for i, step in enumerate(spec["steps"]):
|
|
13
|
+
n = len(program.log)
|
|
14
|
+
program.dispatch("StoreOrbital." + step["trait"], step["event"], step["payload"])
|
|
15
|
+
for _trait, event, out in program.log[n:]:
|
|
16
|
+
print(json.dumps({"step": i, "event": event, "payload": out}, sort_keys=True))
|
|
17
|
+
print(json.dumps({"step": i, "entity": dataclasses.asdict(program.traits[key].entity)}, sort_keys=True))
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
mod generated;
|
|
2
|
+
mod lolo;
|
|
3
|
+
|
|
4
|
+
use generated::entities::Match;
|
|
5
|
+
use serde::Deserialize;
|
|
6
|
+
|
|
7
|
+
#[derive(Deserialize)]
|
|
8
|
+
struct Step {
|
|
9
|
+
#[serde(rename = "trait")]
|
|
10
|
+
trait_name: String,
|
|
11
|
+
event: String,
|
|
12
|
+
payload: serde_json::Value,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
#[derive(Deserialize)]
|
|
16
|
+
struct Spec {
|
|
17
|
+
steps: Vec<Step>,
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
fn row() -> Match {
|
|
21
|
+
serde_json::from_value(serde_json::json!({ "id": "1" })).expect("row")
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
fn main() {
|
|
25
|
+
let path = std::env::args().nth(1).expect("events file argument");
|
|
26
|
+
let spec: Spec = serde_json::from_str(&std::fs::read_to_string(path).expect("read events")).expect("parse events");
|
|
27
|
+
let mut program = lolo::Program::new((row(), row()));
|
|
28
|
+
for (i, step) in spec.steps.into_iter().enumerate() {
|
|
29
|
+
let n = program.router.log.len();
|
|
30
|
+
let key = format!("ArenaOrbital.{}", step.trait_name);
|
|
31
|
+
program.dispatch(&key, &step.event, step.payload);
|
|
32
|
+
for (_, event, payload) in &program.router.log[n..] {
|
|
33
|
+
println!("{}", serde_json::json!({"step": i, "event": event, "payload": payload}));
|
|
34
|
+
}
|
|
35
|
+
println!("{}", serde_json::json!({"step": i, "entity": program.router.entity_of(&key)}));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
mod generated;
|
|
2
|
+
mod lolo;
|
|
3
|
+
|
|
4
|
+
use generated::entities::Tally;
|
|
5
|
+
use serde::Deserialize;
|
|
6
|
+
|
|
7
|
+
#[derive(Deserialize)]
|
|
8
|
+
struct Step {
|
|
9
|
+
#[serde(rename = "trait")]
|
|
10
|
+
trait_name: String,
|
|
11
|
+
event: String,
|
|
12
|
+
payload: serde_json::Value,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
#[derive(Deserialize)]
|
|
16
|
+
struct Spec {
|
|
17
|
+
steps: Vec<Step>,
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
fn row() -> Tally {
|
|
21
|
+
serde_json::from_value(serde_json::json!({ "id": "1" })).expect("row")
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
fn main() {
|
|
25
|
+
let path = std::env::args().nth(1).expect("events file argument");
|
|
26
|
+
let spec: Spec = serde_json::from_str(&std::fs::read_to_string(path).expect("read events")).expect("parse events");
|
|
27
|
+
let mut program = lolo::Program::new((row(), row(), row()));
|
|
28
|
+
for (i, step) in spec.steps.into_iter().enumerate() {
|
|
29
|
+
let n = program.router.log.len();
|
|
30
|
+
let key = format!("TrioOrbital.{}", step.trait_name);
|
|
31
|
+
program.dispatch(&key, &step.event, step.payload);
|
|
32
|
+
for (_, event, payload) in &program.router.log[n..] {
|
|
33
|
+
println!("{}", serde_json::json!({"step": i, "event": event, "payload": payload}));
|
|
34
|
+
}
|
|
35
|
+
println!("{}", serde_json::json!({"step": i, "entity": program.router.entity_of(&key)}));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
mod generated;
|
|
2
|
+
mod lolo;
|
|
3
|
+
|
|
4
|
+
use generated::entities::Note;
|
|
5
|
+
use lolo::Store;
|
|
6
|
+
use serde::Deserialize;
|
|
7
|
+
|
|
8
|
+
#[derive(Deserialize)]
|
|
9
|
+
struct Step {
|
|
10
|
+
#[serde(rename = "trait")]
|
|
11
|
+
trait_name: String,
|
|
12
|
+
event: String,
|
|
13
|
+
payload: serde_json::Value,
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
#[derive(Deserialize)]
|
|
17
|
+
struct Spec {
|
|
18
|
+
steps: Vec<Step>,
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
fn main() {
|
|
22
|
+
let path = std::env::args().nth(1).expect("events file argument");
|
|
23
|
+
let spec: Spec = serde_json::from_str(&std::fs::read_to_string(path).expect("read events")).expect("parse events");
|
|
24
|
+
let row: Note = serde_json::from_value(serde_json::json!({ "id": "1" })).expect("row");
|
|
25
|
+
let store: std::rc::Rc<std::cell::RefCell<dyn Store>> = std::rc::Rc::new(std::cell::RefCell::new(lolo::MemoryStore::default()));
|
|
26
|
+
let mut program = lolo::Program::new((row,), store);
|
|
27
|
+
let key = "StoreOrbital.Notes";
|
|
28
|
+
for (i, step) in spec.steps.into_iter().enumerate() {
|
|
29
|
+
let n = program.router.log.len();
|
|
30
|
+
program.dispatch(&format!("StoreOrbital.{}", step.trait_name), &step.event, step.payload);
|
|
31
|
+
for (_, event, payload) in &program.router.log[n..] {
|
|
32
|
+
println!("{}", serde_json::json!({"step": i, "event": event, "payload": payload}));
|
|
33
|
+
}
|
|
34
|
+
println!("{}", serde_json::json!({"step": i, "entity": program.router.entity_of(key)}));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
func json(_ value: Any) throws -> String {
|
|
4
|
+
String(decoding: try JSONSerialization.data(withJSONObject: value, options: [.sortedKeys, .fragmentsAllowed]), as: UTF8.self)
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
func run() throws {
|
|
8
|
+
let spec = try JSONSerialization.jsonObject(with: Data(contentsOf: URL(fileURLWithPath: CommandLine.arguments[1]))) as? [String: Any] ?? [:]
|
|
9
|
+
let dec = JSONDecoder()
|
|
10
|
+
let row = try JSONSerialization.data(withJSONObject: ["id": "1"])
|
|
11
|
+
let program = Program(try dec.decode(Match.self, from: row), try dec.decode(Match.self, from: row))
|
|
12
|
+
let steps = spec["steps"] as? [[String: Any]] ?? []
|
|
13
|
+
for (i, step) in steps.enumerated() {
|
|
14
|
+
let n = program.log.count
|
|
15
|
+
let key = "ArenaOrbital." + (step["trait"] as? String ?? "")
|
|
16
|
+
program.dispatch(key, step["event"] as? String ?? "", try JSONSerialization.data(withJSONObject: step["payload"] ?? [:]))
|
|
17
|
+
for entry in program.log[n...] {
|
|
18
|
+
print("{\"step\":\(i),\"event\":\(try json(entry.event)),\"payload\":\(String(decoding: entry.payload, as: UTF8.self))}")
|
|
19
|
+
}
|
|
20
|
+
print("{\"step\":\(i),\"entity\":\(String(decoding: program.entry(key)?.entity() ?? Data("{}".utf8), as: UTF8.self))}")
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
try run()
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
func json(_ value: Any) throws -> String {
|
|
4
|
+
String(decoding: try JSONSerialization.data(withJSONObject: value, options: [.sortedKeys, .fragmentsAllowed]), as: UTF8.self)
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
func run() throws {
|
|
8
|
+
let spec = try JSONSerialization.jsonObject(with: Data(contentsOf: URL(fileURLWithPath: CommandLine.arguments[1]))) as? [String: Any] ?? [:]
|
|
9
|
+
let dec = JSONDecoder()
|
|
10
|
+
let row = try JSONSerialization.data(withJSONObject: ["id": "1"])
|
|
11
|
+
let program = Program(try dec.decode(Tally.self, from: row), try dec.decode(Tally.self, from: row), try dec.decode(Tally.self, from: row))
|
|
12
|
+
let steps = spec["steps"] as? [[String: Any]] ?? []
|
|
13
|
+
for (i, step) in steps.enumerated() {
|
|
14
|
+
let n = program.log.count
|
|
15
|
+
let key = "TrioOrbital." + (step["trait"] as? String ?? "")
|
|
16
|
+
program.dispatch(key, step["event"] as? String ?? "", try JSONSerialization.data(withJSONObject: step["payload"] ?? [:]))
|
|
17
|
+
for entry in program.log[n...] {
|
|
18
|
+
print("{\"step\":\(i),\"event\":\(try json(entry.event)),\"payload\":\(String(decoding: entry.payload, as: UTF8.self))}")
|
|
19
|
+
}
|
|
20
|
+
print("{\"step\":\(i),\"entity\":\(String(decoding: program.entry(key)?.entity() ?? Data("{}".utf8), as: UTF8.self))}")
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
try run()
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
|
|
3
|
+
func json(_ value: Any) throws -> String {
|
|
4
|
+
String(decoding: try JSONSerialization.data(withJSONObject: value, options: [.sortedKeys, .fragmentsAllowed]), as: UTF8.self)
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
func run() throws {
|
|
8
|
+
let spec = try JSONSerialization.jsonObject(with: Data(contentsOf: URL(fileURLWithPath: CommandLine.arguments[1]))) as? [String: Any] ?? [:]
|
|
9
|
+
let row = try JSONSerialization.data(withJSONObject: ["id": "1"])
|
|
10
|
+
let program = Program(try JSONDecoder().decode(Note.self, from: row), store: MemoryStore())
|
|
11
|
+
let key = "StoreOrbital.Notes"
|
|
12
|
+
let steps = spec["steps"] as? [[String: Any]] ?? []
|
|
13
|
+
for (i, step) in steps.enumerated() {
|
|
14
|
+
let n = program.log.count
|
|
15
|
+
program.dispatch("StoreOrbital." + (step["trait"] as? String ?? ""), step["event"] as? String ?? "", try JSONSerialization.data(withJSONObject: step["payload"] ?? [:]))
|
|
16
|
+
for entry in program.log[n...] {
|
|
17
|
+
print("{\"step\":\(i),\"event\":\(try json(entry.event)),\"payload\":\(String(decoding: entry.payload, as: UTF8.self))}")
|
|
18
|
+
}
|
|
19
|
+
print("{\"step\":\(i),\"entity\":\(String(decoding: program.entry(key)?.entity() ?? Data("{}".utf8), as: UTF8.self))}")
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
try run()
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import type { EventPayload } from '@almadar/core';
|
|
3
|
+
import { Program } from './packages/shared/src/traits/rendered.ts';
|
|
4
|
+
import type { Match } from './packages/shared/src/types/entities.ts';
|
|
5
|
+
|
|
6
|
+
interface Step {
|
|
7
|
+
trait: string;
|
|
8
|
+
event: string;
|
|
9
|
+
payload: EventPayload;
|
|
10
|
+
}
|
|
11
|
+
interface Spec {
|
|
12
|
+
steps: Step[];
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const spec: Spec = JSON.parse(readFileSync(process.argv[2] ?? '', 'utf8'));
|
|
16
|
+
const row = (): Match => ({ id: '1', createdAt: '', updatedAt: '' });
|
|
17
|
+
const program = new Program({ 'ArenaOrbital.Arena': row(), 'ArenaOrbital.Score': row() });
|
|
18
|
+
spec.steps.forEach((step, i) => {
|
|
19
|
+
const n = program.log.length;
|
|
20
|
+
const key = 'ArenaOrbital.' + step.trait;
|
|
21
|
+
program.dispatch(key, step.event, step.payload);
|
|
22
|
+
for (const e of program.log.slice(n)) console.log(JSON.stringify({ step: i, event: e.event, payload: e.payload }));
|
|
23
|
+
console.log(JSON.stringify({ step: i, entity: program.traits[key]?.entity }));
|
|
24
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import type { EventPayload } from '@almadar/core';
|
|
3
|
+
import { Program } from './packages/shared/src/traits/rendered.ts';
|
|
4
|
+
import type { Tally } from './packages/shared/src/types/entities.ts';
|
|
5
|
+
|
|
6
|
+
interface Step {
|
|
7
|
+
trait: string;
|
|
8
|
+
event: string;
|
|
9
|
+
payload: EventPayload;
|
|
10
|
+
}
|
|
11
|
+
interface Spec {
|
|
12
|
+
steps: Step[];
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const spec: Spec = JSON.parse(readFileSync(process.argv[2] ?? '', 'utf8'));
|
|
16
|
+
const row = (): Tally => ({ id: '1', createdAt: '', updatedAt: '' });
|
|
17
|
+
const program = new Program({ 'TrioOrbital.Lead': row(), 'TrioOrbital.Echo': row(), 'TrioOrbital.Tail': row() });
|
|
18
|
+
spec.steps.forEach((step, i) => {
|
|
19
|
+
const n = program.log.length;
|
|
20
|
+
const key = 'TrioOrbital.' + step.trait;
|
|
21
|
+
program.dispatch(key, step.event, step.payload);
|
|
22
|
+
for (const e of program.log.slice(n)) console.log(JSON.stringify({ step: i, event: e.event, payload: e.payload }));
|
|
23
|
+
console.log(JSON.stringify({ step: i, entity: program.traits[key]?.entity }));
|
|
24
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import type { EventPayload } from '@almadar/core';
|
|
3
|
+
import { MemoryStore, Program } from './packages/shared/src/traits/rendered.ts';
|
|
4
|
+
|
|
5
|
+
interface Step {
|
|
6
|
+
trait: string;
|
|
7
|
+
event: string;
|
|
8
|
+
payload: EventPayload;
|
|
9
|
+
}
|
|
10
|
+
interface Spec {
|
|
11
|
+
steps: Step[];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const spec: Spec = JSON.parse(readFileSync(process.argv[2] ?? '', 'utf8'));
|
|
15
|
+
const key = 'StoreOrbital.Notes';
|
|
16
|
+
const program = new Program({ [key]: { id: '1', createdAt: '', updatedAt: '' } }, new MemoryStore());
|
|
17
|
+
spec.steps.forEach((step, i) => {
|
|
18
|
+
const n = program.log.length;
|
|
19
|
+
program.dispatch('StoreOrbital.' + step.trait, step.event, step.payload);
|
|
20
|
+
for (const e of program.log.slice(n)) console.log(JSON.stringify({ step: i, event: e.event, payload: e.payload }));
|
|
21
|
+
console.log(JSON.stringify({ step: i, entity: program.traits[key]?.entity }));
|
|
22
|
+
});
|