@almadar/core 10.129.0 → 11.0.1
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/dist/behavior-package.d.ts +49 -11
- package/dist/behavior-package.js +1 -1
- package/dist/{orbital-CkFdDS9f.d.ts → builders-BdgbY7Th.d.ts} +5828 -6917
- package/dist/builders.d.ts +6 -6
- package/dist/builders.js +7 -6
- package/dist/{bus-CcbB__oo.d.ts → bus-C0hFDNFR.d.ts} +262 -354
- package/dist/chunk-347APWFM.js +286 -0
- package/dist/chunk-347APWFM.js.map +1 -0
- package/dist/chunk-5WQ3U7NJ.js +2363 -0
- package/dist/chunk-5WQ3U7NJ.js.map +1 -0
- package/dist/chunk-5YTPYMPZ.js +99 -0
- package/dist/chunk-5YTPYMPZ.js.map +1 -0
- package/dist/chunk-66Q5VX2F.js +3810 -0
- package/dist/chunk-66Q5VX2F.js.map +1 -0
- package/dist/chunk-7GHJU5WI.js +39 -0
- package/dist/chunk-7GHJU5WI.js.map +1 -0
- package/dist/chunk-B4MNHGBP.js +8 -0
- package/dist/chunk-B4MNHGBP.js.map +1 -0
- package/dist/chunk-E4T2MQAV.js +24 -0
- package/dist/chunk-E4T2MQAV.js.map +1 -0
- package/dist/chunk-ENOCKYGA.js +412 -0
- package/dist/chunk-ENOCKYGA.js.map +1 -0
- package/dist/chunk-FGT5OS2Y.js +918 -0
- package/dist/chunk-FGT5OS2Y.js.map +1 -0
- package/dist/chunk-GF7KCLNR.js +3284 -0
- package/dist/chunk-GF7KCLNR.js.map +1 -0
- package/dist/chunk-PNGFWLHD.js +1567 -0
- package/dist/chunk-PNGFWLHD.js.map +1 -0
- package/dist/{chunk-X4SC7FGF.js → chunk-RGACZEYC.js} +99 -96
- package/dist/chunk-RGACZEYC.js.map +1 -0
- package/dist/{chunk-RYPVOI6H.js → chunk-SNZYN7UA.js} +2541 -433
- package/dist/{chunk-RYPVOI6H.js.map → chunk-SNZYN7UA.js.map} +1 -1
- package/dist/{chunk-KDMV222Q.js → chunk-TDNQT3M3.js} +304 -373
- package/dist/chunk-TDNQT3M3.js.map +1 -0
- package/dist/chunk-VG7BRFUD.js +152 -0
- package/dist/chunk-VG7BRFUD.js.map +1 -0
- package/dist/chunk-Z7BI7DE7.js +1293 -0
- package/dist/chunk-Z7BI7DE7.js.map +1 -0
- package/dist/{domain-Dz3jP-UM.d.ts → domain-Cpmja5ak.d.ts} +55 -55
- package/dist/{effect-CiEVLsZz.d.ts → effect-DZaXwSAz.d.ts} +283 -453
- package/dist/{effect-result-Bebwu9yT.d.ts → effect-result-1HpXgeBc.d.ts} +656 -851
- package/dist/{expression-D0Fs0riG.d.ts → expression-DirYKz-f.d.ts} +5 -13
- package/dist/factory/index.d.ts +7 -144
- package/dist/factory/index.js +8 -8
- package/dist/factory-runtime/index.d.ts +7 -6
- package/dist/factory-runtime/index.js +527 -8
- package/dist/factory-runtime/index.js.map +1 -1
- package/dist/fixtures.d.ts +9 -11
- package/dist/fixtures.js +12 -8
- package/dist/fixtures.js.map +1 -1
- package/dist/i18n/index.d.ts +15 -19
- package/dist/i18n/index.js +2 -1
- package/dist/{index-BC-Jycqj.d.ts → index-D7SxwNdv.d.ts} +34 -734
- package/dist/index.d.ts +92 -247
- package/dist/index.js +322 -986
- package/dist/index.js.map +1 -1
- package/dist/kernel-wire.d.ts +3 -3
- package/dist/kernel-wire.js +3 -79
- package/dist/kernel-wire.js.map +1 -1
- package/dist/language/constructs.json +22 -2
- package/dist/language/program-types.json +203 -22
- package/dist/language/protocols.json +46 -0
- package/dist/language/ui-vocabulary.json +1697 -0
- package/dist/language/validation-codes.json +1222 -1212
- package/dist/language/vocabulary.json +44 -8
- package/dist/language-data.d.ts +7 -4
- package/dist/language-data.js +20 -14
- package/dist/language-data.js.map +1 -1
- package/dist/patterns/component-mapping.json +11 -1
- package/dist/patterns/definitions.d.ts +2 -2
- package/dist/patterns/definitions.js +1 -1
- package/dist/patterns/event-contracts.json +1 -15
- package/dist/patterns/game-font-families.json +13 -0
- package/dist/patterns/index.d.ts +24 -120
- package/dist/patterns/index.js +3 -3
- package/dist/patterns/pattern-tile-geometry.json +1065 -0
- package/dist/patterns/patterns-registry.json +2539 -431
- package/dist/patterns/registry.json +2539 -431
- package/dist/trait-sRjIivFq.d.ts +3519 -0
- package/dist/types/index.d.ts +9 -10
- package/dist/types/index.js +11 -5
- package/dist/{types-DGwrltUF.d.ts → types-C6_yPMpn.d.ts} +3 -3
- package/fixtures/events-wire/client-effects-by-trait/response.json +0 -18
- package/fixtures/events-wire/client-effects-provenance/response.json +0 -18
- package/fixtures/events-wire/effect-results-every-kind/response.json +2 -27
- package/fixtures/events-wire/navigate-1/response.json +8 -5
- package/fixtures/events-wire/navigate-2/response.json +11 -8
- package/fixtures/events-wire/navigate-3/response.json +14 -11
- package/fixtures/events-wire/navigate-back/response.json +7 -4
- package/fixtures/events-wire/render-ui-3/response.json +12 -9
- package/fixtures/events-wire/render-ui-clear/response.json +0 -7
- package/fixtures/events-wire/sse-stream/response.json +0 -20
- package/fixtures/events-wire/sse-stream/stream.json +0 -20
- package/fixtures/events-wire/stateless-traits/response.json +14 -5
- package/fixtures/kernel-wire/golden/basic-entity.json +1687 -0
- package/fixtures/kernel-wire/golden/entity-rerender.json +743 -0
- package/fixtures/kernel-wire/golden/rollback.json +793 -0
- package/fixtures/kernel-wire/golden/tick-counter.json +1538 -0
- package/fixtures/kernel-wire/golden/two-orbital-chore.json +847 -0
- package/fixtures/kernel-wire/golden/two-orbital-task.json +457 -0
- package/fixtures/kernel-wire/played-step.json +136 -0
- package/fixtures/kernel-wire/scripts/basic-entity.json +28 -0
- package/fixtures/kernel-wire/scripts/entity-rerender.json +13 -0
- package/fixtures/kernel-wire/scripts/rollback.json +53 -0
- package/fixtures/kernel-wire/scripts/tick-counter.json +26 -0
- package/fixtures/kernel-wire/scripts/two-orbital-chore.json +9 -0
- package/fixtures/kernel-wire/scripts/two-orbital-task.json +9 -0
- package/package.json +28 -19
- package/dist/builders-DmZE5By0.d.ts +0 -2663
- package/dist/chunk-45I2O4SJ.js +0 -4646
- package/dist/chunk-45I2O4SJ.js.map +0 -1
- package/dist/chunk-6LR43Z5E.js +0 -3061
- package/dist/chunk-6LR43Z5E.js.map +0 -1
- package/dist/chunk-GIUA3NUJ.js +0 -809
- package/dist/chunk-GIUA3NUJ.js.map +0 -1
- package/dist/chunk-GTY53NS5.js +0 -1908
- package/dist/chunk-GTY53NS5.js.map +0 -1
- package/dist/chunk-JOHDVS6J.js +0 -1614
- package/dist/chunk-JOHDVS6J.js.map +0 -1
- package/dist/chunk-KDMV222Q.js.map +0 -1
- package/dist/chunk-QRHJUS3D.js +0 -23
- package/dist/chunk-QRHJUS3D.js.map +0 -1
- package/dist/chunk-QUOTJULD.js +0 -4009
- package/dist/chunk-QUOTJULD.js.map +0 -1
- package/dist/chunk-V5VNGRVU.js +0 -66
- package/dist/chunk-V5VNGRVU.js.map +0 -1
- package/dist/chunk-X4SC7FGF.js.map +0 -1
- package/dist/entityAccess-BPSz1i2n.d.ts +0 -80
- package/dist/mock/index.d.ts +0 -153
- package/dist/mock/index.js +0 -190
- package/dist/mock/index.js.map +0 -1
- package/dist/schema-T5RT5s6H.d.ts +0 -282
- package/dist/state-machine/index.d.ts +0 -359
- package/dist/state-machine/index.js +0 -3
- package/dist/state-machine/index.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { R as RuntimeValue, J as JsonValue, S as SExpr,
|
|
2
|
+
import { R as RuntimeValue, J as JsonValue, S as SExpr, c as EventPayload, b as Expression } from './expression-DirYKz-f.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Service Types for Orbital Schema
|
|
@@ -541,16 +541,10 @@ declare function idPrefix(kind: IdKind): string;
|
|
|
541
541
|
* mutually non-overlapping, so match order is irrelevant.
|
|
542
542
|
*/
|
|
543
543
|
declare function idKindOf(id: string): IdKind | null;
|
|
544
|
+
/** A 26-char Crockford-base32 ULID: 48-bit ms timestamp + 80 bits of randomness. Needs only `getRandomValues`, so it also runs on a plain-http page where `randomUUID` is absent. */
|
|
545
|
+
declare function mintUlid(): string;
|
|
544
546
|
/** Mint a fresh, opaque, kind-tagged id: `<prefix><ULID>`. */
|
|
545
547
|
declare function mintId<K extends IdKind>(kind: K): IdForKind[K];
|
|
546
|
-
/**
|
|
547
|
-
* Deterministically derive a child id rooted in `parentId` — no entropy, no
|
|
548
|
-
* clock, so re-deriving from the same inputs never churns. JS twin of the
|
|
549
|
-
* Rust `derive_id` in `orbital-core/src/identity.rs`; used ONLY for synthetic
|
|
550
|
-
* nodes produced by deterministic materialization (orbital-import
|
|
551
|
-
* prefixing), never for author-facing fresh ids (use {@link mintId} there).
|
|
552
|
-
*/
|
|
553
|
-
declare function deriveId(parentId: string, discriminator: string): string;
|
|
554
548
|
/** Ledger row kind. `palette` entries are manifest ids, not name-ledger rows. */
|
|
555
549
|
type LedgerKind = 'orbital' | 'entity' | 'trait' | 'event' | 'page' | 'service' | 'theme';
|
|
556
550
|
/**
|
|
@@ -601,23 +595,23 @@ declare const ServiceIdSchema: z.ZodString & z.ZodType<ServiceId, string, z.core
|
|
|
601
595
|
declare const ThemeIdSchema: z.ZodString & z.ZodType<ThemeId, string, z.core.$ZodTypeInternals<ThemeId, string>>;
|
|
602
596
|
declare const PaletteEntryIdSchema: z.ZodString & z.ZodType<PaletteEntryId, string, z.core.$ZodTypeInternals<PaletteEntryId, string>>;
|
|
603
597
|
declare const LedgerKindSchema: z.ZodEnum<{
|
|
604
|
-
trait: "trait";
|
|
605
598
|
orbital: "orbital";
|
|
606
|
-
|
|
599
|
+
trait: "trait";
|
|
607
600
|
event: "event";
|
|
608
|
-
page: "page";
|
|
609
601
|
service: "service";
|
|
602
|
+
entity: "entity";
|
|
603
|
+
page: "page";
|
|
610
604
|
theme: "theme";
|
|
611
605
|
}>;
|
|
612
606
|
declare const LedgerEntrySchema: z.ZodObject<{
|
|
613
607
|
id: z.ZodString;
|
|
614
608
|
kind: z.ZodEnum<{
|
|
615
|
-
trait: "trait";
|
|
616
609
|
orbital: "orbital";
|
|
617
|
-
|
|
610
|
+
trait: "trait";
|
|
618
611
|
event: "event";
|
|
619
|
-
page: "page";
|
|
620
612
|
service: "service";
|
|
613
|
+
entity: "entity";
|
|
614
|
+
page: "page";
|
|
621
615
|
theme: "theme";
|
|
622
616
|
}>;
|
|
623
617
|
bakedName: z.ZodString;
|
|
@@ -639,12 +633,12 @@ declare const IdentityLedgerSchema: z.ZodObject<{
|
|
|
639
633
|
entries: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
640
634
|
id: z.ZodString;
|
|
641
635
|
kind: z.ZodEnum<{
|
|
642
|
-
trait: "trait";
|
|
643
636
|
orbital: "orbital";
|
|
644
|
-
|
|
637
|
+
trait: "trait";
|
|
645
638
|
event: "event";
|
|
646
|
-
page: "page";
|
|
647
639
|
service: "service";
|
|
640
|
+
entity: "entity";
|
|
641
|
+
page: "page";
|
|
648
642
|
theme: "theme";
|
|
649
643
|
}>;
|
|
650
644
|
bakedName: z.ZodString;
|
|
@@ -695,11 +689,15 @@ type FieldType = FieldTag | TypeVariable;
|
|
|
695
689
|
/** An unbound type variable (`t` of `type Page t` or a trait's `(t : Type)`),
|
|
696
690
|
* written `$t` — the `.orb` spelling the Rust `FieldType::TypeVar` serializes to. */
|
|
697
691
|
type TypeVariable = `$${string}`;
|
|
692
|
+
/** The fixed widths other than `int` (i64) and `number` (f64), the Rust `FieldType::Sized`: a checked range over
|
|
693
|
+
* an int or a number at run time. */
|
|
694
|
+
declare const NUM_WIDTH_TAGS: readonly ["i8", "i16", "i32", "u8", "u16", "u32", "u64", "f32"];
|
|
695
|
+
type NumWidthTag = (typeof NUM_WIDTH_TAGS)[number];
|
|
698
696
|
/** The concrete field-type tags (every `FieldType` but a type variable). */
|
|
699
|
-
type FieldTag = 'string' | 'number' | 'int' | 'boolean' | 'date' | 'timestamp' | 'datetime' | 'instant' | 'email' | 'url' | 'phone' | 'uuid' | 'image' | 'money' | 'file' | 'bytes' | 'array' | 'object' | 'enum' | 'relation' | 'trait' | 'orbital' | 'behavior' | 'slot' | 'pattern' | 'node' | 'event' | 'EventAddress' | 'CallKey' | 'SExpr' | 'union' | 'tuple' | 'field';
|
|
697
|
+
type FieldTag = 'string' | 'number' | 'int' | NumWidthTag | 'boolean' | 'date' | 'timestamp' | 'datetime' | 'instant' | 'email' | 'url' | 'phone' | 'uuid' | 'image' | 'money' | 'file' | 'bytes' | 'array' | 'object' | 'enum' | 'relation' | 'trait' | 'orbital' | 'behavior' | 'slot' | 'pattern' | 'node' | 'event' | 'EventAddress' | 'CallKey' | 'SExpr' | 'union' | 'tuple' | 'field';
|
|
700
698
|
/** Every `FieldType`, as a runtime array. Downstream imports this instead of
|
|
701
699
|
* re-listing the union — five copies had already drifted apart. */
|
|
702
|
-
declare const FIELD_TYPES: readonly ["string", "number", "int", "boolean", "date", "timestamp", "datetime", "instant", "email", "url", "phone", "uuid", "image", "money", "file", "bytes", "array", "object", "enum", "relation", "trait", "orbital", "behavior", "slot", "pattern", "node", "event", "EventAddress", "CallKey", "SExpr", "union", "tuple", "field"];
|
|
700
|
+
declare const FIELD_TYPES: readonly ["string", "number", "int", "i8", "i16", "i32", "u8", "u16", "u32", "u64", "f32", "boolean", "date", "timestamp", "datetime", "instant", "email", "url", "phone", "uuid", "image", "money", "file", "bytes", "array", "object", "enum", "relation", "trait", "orbital", "behavior", "slot", "pattern", "node", "event", "EventAddress", "CallKey", "SExpr", "union", "tuple", "field"];
|
|
703
701
|
/** The semantic string domains — constrained strings, validatable by value. */
|
|
704
702
|
declare const SEMANTIC_STRING_TYPES: readonly ["email", "url", "phone", "uuid", "image"];
|
|
705
703
|
type SemanticStringType = (typeof SEMANTIC_STRING_TYPES)[number];
|
|
@@ -718,26 +716,34 @@ declare const FieldTagSchema: z.ZodEnum<{
|
|
|
718
716
|
union: "union";
|
|
719
717
|
enum: "enum";
|
|
720
718
|
pattern: "pattern";
|
|
721
|
-
url: "url";
|
|
722
|
-
trait: "trait";
|
|
723
719
|
orbital: "orbital";
|
|
720
|
+
trait: "trait";
|
|
724
721
|
event: "event";
|
|
725
722
|
node: "node";
|
|
723
|
+
url: "url";
|
|
726
724
|
field: "field";
|
|
727
725
|
timestamp: "timestamp";
|
|
726
|
+
image: "image";
|
|
727
|
+
slot: "slot";
|
|
728
728
|
datetime: "datetime";
|
|
729
729
|
instant: "instant";
|
|
730
730
|
email: "email";
|
|
731
731
|
phone: "phone";
|
|
732
732
|
uuid: "uuid";
|
|
733
|
-
image: "image";
|
|
734
733
|
bytes: "bytes";
|
|
735
|
-
slot: "slot";
|
|
736
734
|
EventAddress: "EventAddress";
|
|
737
735
|
CallKey: "CallKey";
|
|
738
736
|
SExpr: "SExpr";
|
|
739
737
|
behavior: "behavior";
|
|
740
738
|
relation: "relation";
|
|
739
|
+
i8: "i8";
|
|
740
|
+
i16: "i16";
|
|
741
|
+
i32: "i32";
|
|
742
|
+
u8: "u8";
|
|
743
|
+
u16: "u16";
|
|
744
|
+
u32: "u32";
|
|
745
|
+
u64: "u64";
|
|
746
|
+
f32: "f32";
|
|
741
747
|
money: "money";
|
|
742
748
|
}>;
|
|
743
749
|
declare function isTypeVariable(type: string): type is TypeVariable;
|
|
@@ -755,26 +761,34 @@ declare const FieldTypeSchema: z.ZodUnion<readonly [z.ZodEnum<{
|
|
|
755
761
|
union: "union";
|
|
756
762
|
enum: "enum";
|
|
757
763
|
pattern: "pattern";
|
|
758
|
-
url: "url";
|
|
759
|
-
trait: "trait";
|
|
760
764
|
orbital: "orbital";
|
|
765
|
+
trait: "trait";
|
|
761
766
|
event: "event";
|
|
762
767
|
node: "node";
|
|
768
|
+
url: "url";
|
|
763
769
|
field: "field";
|
|
764
770
|
timestamp: "timestamp";
|
|
771
|
+
image: "image";
|
|
772
|
+
slot: "slot";
|
|
765
773
|
datetime: "datetime";
|
|
766
774
|
instant: "instant";
|
|
767
775
|
email: "email";
|
|
768
776
|
phone: "phone";
|
|
769
777
|
uuid: "uuid";
|
|
770
|
-
image: "image";
|
|
771
778
|
bytes: "bytes";
|
|
772
|
-
slot: "slot";
|
|
773
779
|
EventAddress: "EventAddress";
|
|
774
780
|
CallKey: "CallKey";
|
|
775
781
|
SExpr: "SExpr";
|
|
776
782
|
behavior: "behavior";
|
|
777
783
|
relation: "relation";
|
|
784
|
+
i8: "i8";
|
|
785
|
+
i16: "i16";
|
|
786
|
+
i32: "i32";
|
|
787
|
+
u8: "u8";
|
|
788
|
+
u16: "u16";
|
|
789
|
+
u32: "u32";
|
|
790
|
+
u64: "u64";
|
|
791
|
+
f32: "f32";
|
|
778
792
|
money: "money";
|
|
779
793
|
}>, z.ZodCustom<`$${string}`, `$${string}`>]>;
|
|
780
794
|
/** Words legal in a `.lolo`/`.orb` TYPE POSITION that are not entity field
|
|
@@ -782,7 +796,7 @@ declare const FieldTypeSchema: z.ZodUnion<readonly [z.ZodEnum<{
|
|
|
782
796
|
* meaning, etc.) — declared so the i18n `types` vocabulary section is
|
|
783
797
|
* `FIELD_TYPES ∪ TYPE_POSITION_ONLY` exactly, not a hand-maintained superset
|
|
784
798
|
* held together by a one-directional pinned test (see G-i18n-5). */
|
|
785
|
-
declare const TYPE_POSITION_ONLY: readonly ["Map", "any", "asset", "bool", "component", "duration", "entity", "float", "icon", "null", "secret", "void"];
|
|
799
|
+
declare const TYPE_POSITION_ONLY: readonly ["Map", "any", "asset", "bool", "component", "duration", "entity", "f64", "float", "i64", "icon", "null", "secret", "void"];
|
|
786
800
|
/**
|
|
787
801
|
* Cardinality for relation fields.
|
|
788
802
|
* Matches Rust compiler's Cardinality enum.
|
|
@@ -806,6 +820,8 @@ type RelationConfig = {
|
|
|
806
820
|
cardinality?: RelationCardinality;
|
|
807
821
|
/** Delete behavior */
|
|
808
822
|
onDelete?: 'cascade' | 'nullify' | 'restrict';
|
|
823
|
+
/** The target field a related record is shown by (`@display <field>`); the record id when absent. */
|
|
824
|
+
display?: string;
|
|
809
825
|
/**
|
|
810
826
|
* Foreign key field name (for legacy compatibility).
|
|
811
827
|
* @deprecated Use field instead
|
|
@@ -838,6 +854,7 @@ declare const RelationConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
838
854
|
nullify: "nullify";
|
|
839
855
|
restrict: "restrict";
|
|
840
856
|
}>>;
|
|
857
|
+
display: z.ZodOptional<z.ZodString>;
|
|
841
858
|
foreignKey: z.ZodOptional<z.ZodString>;
|
|
842
859
|
target: z.ZodOptional<z.ZodString>;
|
|
843
860
|
type: z.ZodOptional<z.ZodEnum<{
|
|
@@ -855,6 +872,7 @@ declare const RelationConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
855
872
|
field?: string | undefined;
|
|
856
873
|
cardinality?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
857
874
|
onDelete?: "cascade" | "nullify" | "restrict" | undefined;
|
|
875
|
+
display?: string | undefined;
|
|
858
876
|
foreignKey?: string | undefined;
|
|
859
877
|
target?: string | undefined;
|
|
860
878
|
type?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
|
|
@@ -907,7 +925,7 @@ declare function isSemanticStringValue(type: SemanticStringType, value: string):
|
|
|
907
925
|
* Field-type tags that don't carry a type-dependent payload. The base
|
|
908
926
|
* `EntityField` shape applies as-is.
|
|
909
927
|
*/
|
|
910
|
-
type ScalarFieldType = 'string' | 'number' | 'int' | 'boolean' | 'date' | 'timestamp' | 'datetime' | 'instant' | 'email' | 'url' | 'phone' | 'uuid' | 'image' | 'money' | 'file' | 'bytes' | 'trait' | 'orbital' | 'behavior' | 'slot' | 'pattern' | 'node' | 'event' | 'EventAddress' | 'CallKey' | 'SExpr';
|
|
928
|
+
type ScalarFieldType = 'string' | 'number' | 'int' | NumWidthTag | 'boolean' | 'date' | 'timestamp' | 'datetime' | 'instant' | 'email' | 'url' | 'phone' | 'uuid' | 'image' | 'money' | 'file' | 'bytes' | 'trait' | 'orbital' | 'behavior' | 'slot' | 'pattern' | 'node' | 'event' | 'EventAddress' | 'CallKey' | 'SExpr';
|
|
911
929
|
/** Fields shared across every variant. */
|
|
912
930
|
type EntityFieldBase = {
|
|
913
931
|
/**
|
|
@@ -938,6 +956,8 @@ type EntityFieldBase = {
|
|
|
938
956
|
/** Runtime-managed widget state (authored `@intrinsic` in `.lolo`). Exempt
|
|
939
957
|
* from the explicit-binding rule and never a domain-data bind target. */
|
|
940
958
|
intrinsic?: boolean;
|
|
959
|
+
/** Stored computed field (authored `@derived <expr>` in `.lolo`): the kernel evaluates the expression on every write. */
|
|
960
|
+
derived?: JsonValue;
|
|
941
961
|
/** Human/semantic description (authored `@description "..."` in `.lolo`).
|
|
942
962
|
* Authoring/build-time metadata — factory-signature catalog, embeddings,
|
|
943
963
|
* curation field-matching; the runtime ignores it. */
|
|
@@ -1034,6 +1054,9 @@ type ObjectEntityField = EntityFieldBase & {
|
|
|
1034
1054
|
type: 'object';
|
|
1035
1055
|
/** Uniform value schema for a dynamic-key map (`Map K V`). */
|
|
1036
1056
|
items?: EntityField;
|
|
1057
|
+
/** `@payload(.<sibling>)`: with no `properties`, the object is the declared payload of the event the sibling member
|
|
1058
|
+
* of the same struct names (`.lolo` `payload : @payload event`). Mirrors Rust `FieldDefinition.record`. */
|
|
1059
|
+
record?: string;
|
|
1037
1060
|
};
|
|
1038
1061
|
/**
|
|
1039
1062
|
* Entity field definition — discriminated union by `type`. Each variant
|
|
@@ -1082,11 +1105,11 @@ declare const FieldSchema: z.ZodType<EntityField, unknown, z.core.$ZodTypeIntern
|
|
|
1082
1105
|
declare const ENTITY_ROLES: readonly ["player", "enemy", "npc", "item", "tile", "projectile", "effect", "ui", "decoration", "vehicle"];
|
|
1083
1106
|
type EntityRole = (typeof ENTITY_ROLES)[number];
|
|
1084
1107
|
declare const EntityRoleSchema: z.ZodEnum<{
|
|
1108
|
+
item: "item";
|
|
1085
1109
|
ui: "ui";
|
|
1086
1110
|
player: "player";
|
|
1087
1111
|
enemy: "enemy";
|
|
1088
1112
|
npc: "npc";
|
|
1089
|
-
item: "item";
|
|
1090
1113
|
tile: "tile";
|
|
1091
1114
|
projectile: "projectile";
|
|
1092
1115
|
effect: "effect";
|
|
@@ -1099,11 +1122,11 @@ declare const EntityRoleSchema: z.ZodEnum<{
|
|
|
1099
1122
|
declare const VISUAL_STYLES: readonly ["pixel", "vector", "hd", "1-bit", "isometric"];
|
|
1100
1123
|
type VisualStyle = (typeof VISUAL_STYLES)[number];
|
|
1101
1124
|
declare const VisualStyleSchema: z.ZodEnum<{
|
|
1125
|
+
isometric: "isometric";
|
|
1102
1126
|
pixel: "pixel";
|
|
1103
1127
|
vector: "vector";
|
|
1104
1128
|
hd: "hd";
|
|
1105
1129
|
"1-bit": "1-bit";
|
|
1106
|
-
isometric: "isometric";
|
|
1107
1130
|
}>;
|
|
1108
1131
|
/**
|
|
1109
1132
|
* Whether the asset is a 2D sprite/image or a 3D model. Set by the consuming
|
|
@@ -1412,11 +1435,11 @@ declare const SemanticAssetRefSchema: z.ZodObject<{
|
|
|
1412
1435
|
category: z.ZodString;
|
|
1413
1436
|
animations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1414
1437
|
style: z.ZodOptional<z.ZodEnum<{
|
|
1438
|
+
isometric: "isometric";
|
|
1415
1439
|
pixel: "pixel";
|
|
1416
1440
|
vector: "vector";
|
|
1417
1441
|
hd: "hd";
|
|
1418
1442
|
"1-bit": "1-bit";
|
|
1419
|
-
isometric: "isometric";
|
|
1420
1443
|
}>>;
|
|
1421
1444
|
variant: z.ZodOptional<z.ZodString>;
|
|
1422
1445
|
dimension: z.ZodOptional<z.ZodEnum<{
|
|
@@ -1473,11 +1496,11 @@ declare const AssetSchema: z.ZodObject<{
|
|
|
1473
1496
|
category: z.ZodString;
|
|
1474
1497
|
animations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1475
1498
|
style: z.ZodOptional<z.ZodEnum<{
|
|
1499
|
+
isometric: "isometric";
|
|
1476
1500
|
pixel: "pixel";
|
|
1477
1501
|
vector: "vector";
|
|
1478
1502
|
hd: "hd";
|
|
1479
1503
|
"1-bit": "1-bit";
|
|
1480
|
-
isometric: "isometric";
|
|
1481
1504
|
}>>;
|
|
1482
1505
|
variant: z.ZodOptional<z.ZodString>;
|
|
1483
1506
|
dimension: z.ZodOptional<z.ZodEnum<{
|
|
@@ -1534,13 +1557,13 @@ declare const AssetCatalogEntrySchema: z.ZodObject<{
|
|
|
1534
1557
|
name: z.ZodString;
|
|
1535
1558
|
category: z.ZodString;
|
|
1536
1559
|
kind: z.ZodEnum<{
|
|
1560
|
+
model: "model";
|
|
1537
1561
|
image: "image";
|
|
1538
1562
|
scene: "scene";
|
|
1539
1563
|
other: "other";
|
|
1540
|
-
spritesheet: "spritesheet";
|
|
1541
1564
|
audio: "audio";
|
|
1565
|
+
spritesheet: "spritesheet";
|
|
1542
1566
|
portrait: "portrait";
|
|
1543
|
-
model: "model";
|
|
1544
1567
|
}>;
|
|
1545
1568
|
thumbnailUrl: z.ZodOptional<z.ZodString>;
|
|
1546
1569
|
dimension: z.ZodOptional<z.ZodEnum<{
|
|
@@ -1566,13 +1589,13 @@ declare const AssetCatalogSchema: z.ZodArray<z.ZodObject<{
|
|
|
1566
1589
|
name: z.ZodString;
|
|
1567
1590
|
category: z.ZodString;
|
|
1568
1591
|
kind: z.ZodEnum<{
|
|
1592
|
+
model: "model";
|
|
1569
1593
|
image: "image";
|
|
1570
1594
|
scene: "scene";
|
|
1571
1595
|
other: "other";
|
|
1572
|
-
spritesheet: "spritesheet";
|
|
1573
1596
|
audio: "audio";
|
|
1597
|
+
spritesheet: "spritesheet";
|
|
1574
1598
|
portrait: "portrait";
|
|
1575
|
-
model: "model";
|
|
1576
1599
|
}>;
|
|
1577
1600
|
thumbnailUrl: z.ZodOptional<z.ZodString>;
|
|
1578
1601
|
dimension: z.ZodOptional<z.ZodEnum<{
|
|
@@ -1628,10 +1651,10 @@ declare const CAMERA_MODES: readonly ["isometric", "perspective", "top-down", "f
|
|
|
1628
1651
|
type CameraMode = (typeof CAMERA_MODES)[number];
|
|
1629
1652
|
declare const CameraModeSchema: z.ZodEnum<{
|
|
1630
1653
|
isometric: "isometric";
|
|
1654
|
+
follow: "follow";
|
|
1631
1655
|
front: "front";
|
|
1632
1656
|
perspective: "perspective";
|
|
1633
1657
|
"top-down": "top-down";
|
|
1634
|
-
follow: "follow";
|
|
1635
1658
|
chase: "chase";
|
|
1636
1659
|
}>;
|
|
1637
1660
|
/**
|
|
@@ -1669,10 +1692,10 @@ declare const CameraSchema: z.ZodObject<{
|
|
|
1669
1692
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
1670
1693
|
mode: z.ZodOptional<z.ZodEnum<{
|
|
1671
1694
|
isometric: "isometric";
|
|
1695
|
+
follow: "follow";
|
|
1672
1696
|
front: "front";
|
|
1673
1697
|
perspective: "perspective";
|
|
1674
1698
|
"top-down": "top-down";
|
|
1675
|
-
follow: "follow";
|
|
1676
1699
|
chase: "chase";
|
|
1677
1700
|
}>>;
|
|
1678
1701
|
azimuth: z.ZodOptional<z.ZodNumber>;
|
|
@@ -1776,10 +1799,10 @@ declare function defaultUnitAtlas(sheets: SpriteSheetAtlas['sheets'], opts?: {
|
|
|
1776
1799
|
declare const MANIFEST_ENTRY_KINDS: readonly ["model", "image", "spritesheet", "audio", "json"];
|
|
1777
1800
|
type ManifestEntryKind = (typeof MANIFEST_ENTRY_KINDS)[number];
|
|
1778
1801
|
declare const ManifestEntryKindSchema: z.ZodEnum<{
|
|
1802
|
+
model: "model";
|
|
1779
1803
|
image: "image";
|
|
1780
|
-
spritesheet: "spritesheet";
|
|
1781
1804
|
audio: "audio";
|
|
1782
|
-
|
|
1805
|
+
spritesheet: "spritesheet";
|
|
1783
1806
|
json: "json";
|
|
1784
1807
|
}>;
|
|
1785
1808
|
/**
|
|
@@ -1829,9 +1852,9 @@ declare const MANIFEST_CANVAS_AFFINITIES: readonly ["isometric", "hex", "flat",
|
|
|
1829
1852
|
type ManifestCanvasAffinity = (typeof MANIFEST_CANVAS_AFFINITIES)[number];
|
|
1830
1853
|
declare const ManifestCanvasAffinitySchema: z.ZodEnum<{
|
|
1831
1854
|
flat: "flat";
|
|
1855
|
+
none: "none";
|
|
1832
1856
|
isometric: "isometric";
|
|
1833
1857
|
"3d": "3d";
|
|
1834
|
-
none: "none";
|
|
1835
1858
|
side: "side";
|
|
1836
1859
|
hex: "hex";
|
|
1837
1860
|
}>;
|
|
@@ -1901,19 +1924,19 @@ declare const ManifestEntrySchema: z.ZodObject<{
|
|
|
1901
1924
|
name: z.ZodString;
|
|
1902
1925
|
category: z.ZodString;
|
|
1903
1926
|
kind: z.ZodEnum<{
|
|
1927
|
+
model: "model";
|
|
1904
1928
|
image: "image";
|
|
1905
|
-
spritesheet: "spritesheet";
|
|
1906
1929
|
audio: "audio";
|
|
1907
|
-
|
|
1930
|
+
spritesheet: "spritesheet";
|
|
1908
1931
|
json: "json";
|
|
1909
1932
|
}>;
|
|
1910
1933
|
width: z.ZodNumber;
|
|
1911
1934
|
height: z.ZodNumber;
|
|
1912
1935
|
canvasAffinity: z.ZodEnum<{
|
|
1913
1936
|
flat: "flat";
|
|
1937
|
+
none: "none";
|
|
1914
1938
|
isometric: "isometric";
|
|
1915
1939
|
"3d": "3d";
|
|
1916
|
-
none: "none";
|
|
1917
1940
|
side: "side";
|
|
1918
1941
|
hex: "hex";
|
|
1919
1942
|
}>;
|
|
@@ -1970,6 +1993,14 @@ declare function parseAssetQuery(q: string): {
|
|
|
1970
1993
|
*/
|
|
1971
1994
|
declare function matchAssetQuery(entry: AssetCatalogEntry, q: string): boolean;
|
|
1972
1995
|
|
|
1996
|
+
/**
|
|
1997
|
+
* Entity Types for Orbital Units
|
|
1998
|
+
*
|
|
1999
|
+
* Defines the OrbitalEntity type - the nucleus of an Orbital Unit.
|
|
2000
|
+
*
|
|
2001
|
+
* @packageDocumentation
|
|
2002
|
+
*/
|
|
2003
|
+
|
|
1973
2004
|
/**
|
|
1974
2005
|
* Entity persistence types.
|
|
1975
2006
|
*
|
|
@@ -2044,6 +2075,11 @@ type OrbitalEntity = {
|
|
|
2044
2075
|
};
|
|
2045
2076
|
/** `@invariant <expr>`: every stored row satisfies each, proved by `orb validate` over the program's writes. No runtime effect. */
|
|
2046
2077
|
invariants?: SExpr[];
|
|
2078
|
+
/** `@index { fields, orderBy? }`: declared access paths. A path changes a query's cost, never its result. */
|
|
2079
|
+
indexes?: {
|
|
2080
|
+
fields: string[];
|
|
2081
|
+
orderBy?: string;
|
|
2082
|
+
}[];
|
|
2047
2083
|
/** Collection name (auto-derived if not provided for persistent entities) */
|
|
2048
2084
|
collection?: string;
|
|
2049
2085
|
/** Entity fields */
|
|
@@ -2088,6 +2124,10 @@ declare const OrbitalEntitySchema: z.ZodObject<{
|
|
|
2088
2124
|
delete: z.ZodOptional<z.ZodString>;
|
|
2089
2125
|
}, z.core.$strip>>;
|
|
2090
2126
|
invariants: z.ZodOptional<z.ZodType<SExpr[], unknown, z.core.$ZodTypeInternals<SExpr[], unknown>>>;
|
|
2127
|
+
indexes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2128
|
+
fields: z.ZodArray<z.ZodString>;
|
|
2129
|
+
orderBy: z.ZodOptional<z.ZodString>;
|
|
2130
|
+
}, z.core.$strict>>>;
|
|
2091
2131
|
collection: z.ZodOptional<z.ZodString>;
|
|
2092
2132
|
fields: z.ZodArray<z.ZodType<EntityField, unknown, z.core.$ZodTypeInternals<EntityField, unknown>>>;
|
|
2093
2133
|
instances: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>>;
|
|
@@ -2101,11 +2141,11 @@ declare const OrbitalEntitySchema: z.ZodObject<{
|
|
|
2101
2141
|
category: z.ZodString;
|
|
2102
2142
|
animations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2103
2143
|
style: z.ZodOptional<z.ZodEnum<{
|
|
2144
|
+
isometric: "isometric";
|
|
2104
2145
|
pixel: "pixel";
|
|
2105
2146
|
vector: "vector";
|
|
2106
2147
|
hd: "hd";
|
|
2107
2148
|
"1-bit": "1-bit";
|
|
2108
|
-
isometric: "isometric";
|
|
2109
2149
|
}>>;
|
|
2110
2150
|
variant: z.ZodOptional<z.ZodString>;
|
|
2111
2151
|
dimension: z.ZodOptional<z.ZodEnum<{
|
|
@@ -2149,6 +2189,10 @@ declare const EntitySchema: z.ZodObject<{
|
|
|
2149
2189
|
delete: z.ZodOptional<z.ZodString>;
|
|
2150
2190
|
}, z.core.$strip>>;
|
|
2151
2191
|
invariants: z.ZodOptional<z.ZodType<SExpr[], unknown, z.core.$ZodTypeInternals<SExpr[], unknown>>>;
|
|
2192
|
+
indexes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2193
|
+
fields: z.ZodArray<z.ZodString>;
|
|
2194
|
+
orderBy: z.ZodOptional<z.ZodString>;
|
|
2195
|
+
}, z.core.$strict>>>;
|
|
2152
2196
|
collection: z.ZodOptional<z.ZodString>;
|
|
2153
2197
|
fields: z.ZodArray<z.ZodType<EntityField, unknown, z.core.$ZodTypeInternals<EntityField, unknown>>>;
|
|
2154
2198
|
instances: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>>>;
|
|
@@ -2162,11 +2206,11 @@ declare const EntitySchema: z.ZodObject<{
|
|
|
2162
2206
|
category: z.ZodString;
|
|
2163
2207
|
animations: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
2164
2208
|
style: z.ZodOptional<z.ZodEnum<{
|
|
2209
|
+
isometric: "isometric";
|
|
2165
2210
|
pixel: "pixel";
|
|
2166
2211
|
vector: "vector";
|
|
2167
2212
|
hd: "hd";
|
|
2168
2213
|
"1-bit": "1-bit";
|
|
2169
|
-
isometric: "isometric";
|
|
2170
2214
|
}>>;
|
|
2171
2215
|
variant: z.ZodOptional<z.ZodString>;
|
|
2172
2216
|
dimension: z.ZodOptional<z.ZodEnum<{
|
|
@@ -2186,21 +2230,6 @@ declare const EntitySchema: z.ZodObject<{
|
|
|
2186
2230
|
}, z.core.$strip>;
|
|
2187
2231
|
/** The rows an entity starts with for a viewer's locale: its locale block, else `instances`. */
|
|
2188
2232
|
declare function instancesForLocale(entity: Pick<OrbitalEntity, 'instances' | 'localeInstances'>, locale: string | undefined): EntityRow[];
|
|
2189
|
-
/**
|
|
2190
|
-
* Derives the collection name for a persistent entity.
|
|
2191
|
-
*
|
|
2192
|
-
* Generates the database collection name by converting the entity name
|
|
2193
|
-
* to lowercase and adding an 's' suffix (simple pluralization).
|
|
2194
|
-
* Returns undefined for non-persistent (runtime) entities.
|
|
2195
|
-
*
|
|
2196
|
-
* @param {OrbitalEntity} entity - Entity to derive collection name for
|
|
2197
|
-
* @returns {string | undefined} Collection name or undefined for non-persistent entities
|
|
2198
|
-
*
|
|
2199
|
-
* @example
|
|
2200
|
-
* deriveCollection({ name: 'User', persistence: 'persistent' }); // returns 'users'
|
|
2201
|
-
* deriveCollection({ name: 'Task', persistence: 'runtime' }); // returns undefined
|
|
2202
|
-
*/
|
|
2203
|
-
declare function deriveCollection(entity: OrbitalEntity): string | undefined;
|
|
2204
2233
|
/**
|
|
2205
2234
|
* Checks if an entity is runtime-only (not persisted).
|
|
2206
2235
|
*
|
|
@@ -2245,17 +2274,10 @@ declare function storesRowsInBrowser(entity: Pick<OrbitalEntity, 'browser'>): bo
|
|
|
2245
2274
|
*/
|
|
2246
2275
|
declare function persistenceModeAllowsOverrides(persistence: EntityPersistence | undefined, dataBearing?: boolean): boolean;
|
|
2247
2276
|
/**
|
|
2248
|
-
* A single field value at runtime.
|
|
2249
|
-
*
|
|
2250
|
-
* The nested-record branch's index signature tolerates `undefined` so that
|
|
2251
|
-
* TypeScript optional properties (`x?: string`, carrying `string | undefined`)
|
|
2252
|
-
* on EntityRow extenders typecheck without ceremony. At JSON serialization
|
|
2253
|
-
* time `undefined` is equivalent to "key absent" and never appears on the
|
|
2254
|
-
* wire; the inclusion here is a pure type-surface accommodation.
|
|
2277
|
+
* A single field value at runtime: a JSON value. A date is its ISO string, an absent field is an absent key;
|
|
2278
|
+
* `Date` and `undefined` never travel on the wire, so neither is a field value.
|
|
2255
2279
|
*/
|
|
2256
|
-
type FieldValue =
|
|
2257
|
-
[key: string]: FieldValue | undefined;
|
|
2258
|
-
};
|
|
2280
|
+
type FieldValue = JsonValue;
|
|
2259
2281
|
/** Zod twin of `FieldValue` — the one runtime validator for a stored field slot. */
|
|
2260
2282
|
declare const FieldValueSchema: z.ZodType<FieldValue>;
|
|
2261
2283
|
/**
|
|
@@ -2296,7 +2318,7 @@ declare function isFieldValue(value: RuntimeValue): value is FieldValue;
|
|
|
2296
2318
|
*/
|
|
2297
2319
|
type EntityRow = {
|
|
2298
2320
|
id?: string;
|
|
2299
|
-
} & Record<string, FieldValue
|
|
2321
|
+
} & Record<string, FieldValue>;
|
|
2300
2322
|
/** Zod twin of `EntityRow` — the one runtime validator for an `@entity` wire row. */
|
|
2301
2323
|
declare const EntityRowSchema: z.ZodType<EntityRow>;
|
|
2302
2324
|
/**
|
|
@@ -2340,8 +2362,8 @@ type EntityData = Record<string, EntityRow[]>;
|
|
|
2340
2362
|
*
|
|
2341
2363
|
* DO NOT EDIT MANUALLY — regenerated by almadar-pattern-sync `patterns` command.
|
|
2342
2364
|
*
|
|
2343
|
-
* Generated: 2026-
|
|
2344
|
-
* Pattern count:
|
|
2365
|
+
* Generated: 2026-11-06T03:25:33.596Z
|
|
2366
|
+
* Pattern count: 260
|
|
2345
2367
|
*/
|
|
2346
2368
|
|
|
2347
2369
|
/**
|
|
@@ -2353,7 +2375,7 @@ type PatternPropValue = Record<string, FieldValue | undefined>;
|
|
|
2353
2375
|
* All valid pattern type names from @almadar/core/patterns registry.
|
|
2354
2376
|
* Use this type in render-ui effects for compile-time validation.
|
|
2355
2377
|
*/
|
|
2356
|
-
type PatternType = 'accordion' | 'action-palette' | 'action-tile' | 'activation-block' | 'activity-rail' | 'agent-activity-feed' | 'agent-activity-row' | 'agent-chat-feed' | 'alert' | 'algo-graph-canvas' | 'algorithm-canvas' | 'animated-counter' | 'animated-graphic' | 'animated-reveal' | 'aside' | 'atlas-image' | 'atlas-panel' | 'auth-layout' | 'avatar' | 'avl-glyph' | 'avl-state-machine' | 'avl-transition-detail' | 'avl-transition-explainer' | 'badge' | 'behavior-view' | 'biology-canvas' | 'bloom-quiz-block' | 'box' | 'branching-logic-builder' | 'breadcrumb' | 'button' | 'calendar-grid' | 'canvas' | 'canvas-2d' | 'card' | 'carousel' | 'center' | 'change-list' | 'chart' | 'chart-legend' | 'chat-bar' | 'checkbox' | 'chemistry-canvas' | 'choice-button' | 'code-block' | 'code-runner-panel' | 'command-palette' | 'commit-row' | 'conditional-wrapper' | 'confetti-effect' | 'confirm-dialog' | 'connection-block' | 'container' | 'content-renderer' | 'control-button' | 'control-grid' | 'counter-template' | 'dashboard-grid' | 'dashboard-layout' | 'data-grid' | 'data-list' | 'date-range-picker' | 'date-range-selector' | 'day-cell' | 'detail-panel' | 'dialog' | 'dialogue-bubble' | 'divider' | 'doc-breadcrumb' | 'doc-pagination' | 'doc-search' | 'doc-sidebar' | 'doc-toc' | 'dock-layout' | 'document-details' | 'document-panel' | 'document-viewer' | 'draw-fx-layer' | 'draw-group' | 'draw-mesh' | 'draw-shape' | 'draw-shape-layer' | 'draw-skinned-mesh' | 'draw-sprite' | 'draw-sprite-layer' | 'draw-text' | 'draw-text-layer' | 'drawer' | 'drawer-slot' | 'edge-decoration' | 'emoji-picker' | 'empty-state' | 'error-boundary' | 'error-state' | 'feature-card' | 'feature-grid' | 'file-tree' | 'filter-group' | 'filter-pill' | 'flex' | 'flip-card' | 'flip-container' | 'floating-action-button' | 'floating-toolbar' | 'flow-canvas' | 'form' | 'form-actions' | 'form-field' | 'form-layout' | 'form-section' | 'form-section-header' | 'fx-overlay' | 'game-audio-cue' | 'game-audio-toggle' | 'game-hud' | 'game-icon' | 'game-menu' | 'game-shell' | 'gantt' | 'generic-app-template' | 'geometric-pattern' | 'gradient-divider' | 'graph-canvas' | 'graph-view' | 'grid' | 'header' | 'health-bar' | 'hstack' | 'icon' | 'icon-button' | 'image' | 'import-preview-tree' | 'import-progress' | 'import-source-picker' | 'infinite-scroll-sentinel' | 'input' | 'input-group' | 'jazari-state-machine' | 'label' | 'law-reference-tooltip' | 'layers-panel' | 'learning-canvas' | 'lightbox' | 'likert-scale' | 'line-chart' | 'loading-state' | 'map-view' | 'markdown-content' | 'master-detail-layout' | 'math-canvas' | 'matrix-question' | 'media-gallery' | 'menu' | 'meter' | 'modal' | 'modal-slot' | 'module-card' | 'navigation' | 'notification' | 'number-stepper' | 'option-constraint-group' | 'orb-inspector' | 'orbital-visualization' | 'overlay' | 'page-header' | 'page-transition' | 'pagination' | 'pattern-tile' | 'physics-canvas' | 'popover' | 'positioned-canvas' | 'presence' | 'progress-bar' | 'progress-dots' | 'pull-to-refresh' | 'qr-scanner' | 'quiz-block' | 'radio' | 'range-slider' | 'reflection-block' | 'relation-select' | 'repeatable-form-section' | 'reply-tree' | 'rich-text-editor' | 'runtime-debugger' | 'scaled-diagram' | 'score-display' | 'search-input' | 'section' | 'section-header' | 'segment-renderer' | 'select' | 'sequence-bar' | 'side-panel' | 'sidebar' | 'signature-pad' | 'simple-grid' | 'skeleton' | 'social-proof' | 'sortable-list' | 'spacer' | 'sparkline' | 'spinner' | 'split' | 'split-pane' | 'stack' | 'star-rating' | 'stat-badge' | 'stat-card' | 'stat-display' | 'state-graph' | 'state-json-view' | 'state-machine-view' | 'status-dot' | 'subagent-trace-panel' | 'svg-branch' | 'svg-connection' | 'svg-flow' | 'svg-grid' | 'svg-lobe' | 'svg-mesh' | 'svg-morph' | 'svg-node' | 'svg-pulse' | 'svg-ring' | 'svg-shield' | 'svg-stack' | 'swipeable-row' | 'switch' | 'tabbed-container' | 'table-view' | 'tabs' | 'tag-input' | 'text-highlight' | 'textarea' | 'theme-toggle' | 'time-slot-cell' | 'timeline' | 'timer-display' | 'toast-slot' | 'tooltip' | 'top-nav-item' | 'trait-frame' | 'trait-slot' | 'trend-indicator' | 'typewriter-text' | 'typography' | 'ui-slot-component' | 'ui-slot-renderer' | 'upload-drop-zone' | 'version-diff' | 'video-embed' | 'violation-alert' | 'vote-stack' | 'vstack' | 'wizard-container' | 'wizard-navigation' | 'wizard-progress';
|
|
2378
|
+
type PatternType = 'accordion' | 'action-palette' | 'action-tile' | 'activation-block' | 'activity-rail' | 'agent-activity-feed' | 'agent-activity-row' | 'agent-chat-feed' | 'alert' | 'algo-graph-canvas' | 'algorithm-canvas' | 'animated-counter' | 'animated-graphic' | 'animated-reveal' | 'aside' | 'atlas-image' | 'atlas-panel' | 'auth-layout' | 'avatar' | 'avl-glyph' | 'avl-state-machine' | 'avl-transition-detail' | 'avl-transition-explainer' | 'badge' | 'behavior-view' | 'biology-canvas' | 'bloom-quiz-block' | 'box' | 'branching-logic-builder' | 'breadcrumb' | 'button' | 'calendar-grid' | 'canvas' | 'canvas-2d' | 'card' | 'carousel' | 'center' | 'change-list' | 'chart' | 'chart-legend' | 'chat-bar' | 'checkbox' | 'chemistry-canvas' | 'choice-button' | 'code-block' | 'code-runner-panel' | 'command-palette' | 'commit-row' | 'conditional-wrapper' | 'confetti-effect' | 'confirm-dialog' | 'connection-block' | 'container' | 'content-renderer' | 'control-button' | 'control-grid' | 'counter-template' | 'dashboard-grid' | 'dashboard-layout' | 'data-grid' | 'data-list' | 'date-range-picker' | 'date-range-selector' | 'day-cell' | 'detail-panel' | 'dialog' | 'dialogue-bubble' | 'divider' | 'doc-breadcrumb' | 'doc-pagination' | 'doc-search' | 'doc-sidebar' | 'doc-toc' | 'dock-layout' | 'document-details' | 'document-panel' | 'document-viewer' | 'draw-fx-layer' | 'draw-group' | 'draw-mesh' | 'draw-shape' | 'draw-shape-layer' | 'draw-skinned-mesh' | 'draw-sprite' | 'draw-sprite-layer' | 'draw-text' | 'draw-text-layer' | 'drawer' | 'drawer-slot' | 'edge-decoration' | 'emoji-picker' | 'empty-state' | 'error-boundary' | 'error-state' | 'feature-card' | 'feature-grid' | 'file-tree' | 'filter-group' | 'filter-pill' | 'flex' | 'flip-card' | 'flip-container' | 'floating-action-button' | 'floating-toolbar' | 'flow-canvas' | 'form' | 'form-actions' | 'form-field' | 'form-layout' | 'form-section' | 'form-section-header' | 'fx-overlay' | 'game-audio-cue' | 'game-audio-toggle' | 'game-hud' | 'game-icon' | 'game-menu' | 'game-shell' | 'gantt' | 'generic-app-template' | 'geometric-pattern' | 'gradient-divider' | 'graph-canvas' | 'graph-view' | 'grid' | 'guest-view' | 'header' | 'health-bar' | 'hstack' | 'icon' | 'icon-button' | 'image' | 'import-preview-tree' | 'import-progress' | 'import-source-picker' | 'infinite-scroll-sentinel' | 'input' | 'input-group' | 'jazari-state-machine' | 'label' | 'law-reference-tooltip' | 'layers-panel' | 'learning-canvas' | 'lightbox' | 'likert-scale' | 'line-chart' | 'loading-state' | 'machine-panel' | 'map-view' | 'markdown-content' | 'master-detail-layout' | 'math-canvas' | 'matrix-question' | 'media-gallery' | 'menu' | 'meter' | 'modal' | 'modal-slot' | 'module-card' | 'navigation' | 'notification' | 'number-stepper' | 'option-constraint-group' | 'orb-inspector' | 'orbital-visualization' | 'overlay' | 'page-header' | 'page-transition' | 'pagination' | 'pattern-tile' | 'physics-canvas' | 'popover' | 'positioned-canvas' | 'presence' | 'progress-bar' | 'progress-dots' | 'pull-to-refresh' | 'qr-scanner' | 'quiz-block' | 'radio' | 'range-slider' | 'reflection-block' | 'relation-select' | 'repeatable-form-section' | 'reply-tree' | 'rich-text-editor' | 'runtime-debugger' | 'scaled-diagram' | 'score-display' | 'search-input' | 'section' | 'section-header' | 'segment-renderer' | 'select' | 'sequence-bar' | 'side-panel' | 'sidebar' | 'signature-pad' | 'simple-grid' | 'skeleton' | 'social-proof' | 'sortable-list' | 'spacer' | 'sparkline' | 'spinner' | 'split' | 'split-pane' | 'stack' | 'star-rating' | 'stat-badge' | 'stat-card' | 'stat-display' | 'state-graph' | 'state-json-view' | 'state-machine-view' | 'status-dot' | 'subagent-trace-panel' | 'svg-branch' | 'svg-connection' | 'svg-flow' | 'svg-grid' | 'svg-lobe' | 'svg-mesh' | 'svg-morph' | 'svg-node' | 'svg-pulse' | 'svg-ring' | 'svg-shield' | 'svg-stack' | 'swipeable-row' | 'switch' | 'tabbed-container' | 'table-view' | 'tabs' | 'tag-input' | 'text-highlight' | 'textarea' | 'theme-toggle' | 'time-slot-cell' | 'timeline' | 'timer-display' | 'toast-slot' | 'tooltip' | 'top-nav-item' | 'trait-frame' | 'trait-slot' | 'trend-indicator' | 'typewriter-text' | 'typography' | 'ui-slot-component' | 'ui-slot-renderer' | 'upload-drop-zone' | 'version-diff' | 'video-embed' | 'violation-alert' | 'vote-stack' | 'vstack' | 'wizard-container' | 'wizard-navigation' | 'wizard-progress';
|
|
2357
2379
|
/**
|
|
2358
2380
|
* Pattern props map — each pattern type maps to its valid props interface.
|
|
2359
2381
|
*/
|
|
@@ -2416,21 +2438,11 @@ interface PatternPropsMap {
|
|
|
2416
2438
|
};
|
|
2417
2439
|
'action-tile': {
|
|
2418
2440
|
type: 'action-tile';
|
|
2419
|
-
className?: string | SExpr;
|
|
2420
|
-
isLoading?: boolean | string | SExpr;
|
|
2421
|
-
error?: PatternPropValue | string | SExpr;
|
|
2422
|
-
sortBy?: string | SExpr;
|
|
2423
|
-
sortDirection?: string | SExpr;
|
|
2424
|
-
searchValue?: string | SExpr;
|
|
2425
|
-
page?: number | string | SExpr;
|
|
2426
|
-
pageSize?: number | string | SExpr;
|
|
2427
|
-
totalCount?: number | string | SExpr;
|
|
2428
|
-
activeFilters?: PatternPropValue | string | SExpr;
|
|
2429
|
-
selectedIds?: unknown[] | string | SExpr;
|
|
2430
2441
|
action: PatternPropValue | string | SExpr;
|
|
2431
2442
|
size?: string | SExpr;
|
|
2432
2443
|
disabled?: boolean | string | SExpr;
|
|
2433
2444
|
categoryColors?: PatternPropValue | string | SExpr;
|
|
2445
|
+
className?: string | SExpr;
|
|
2434
2446
|
enter?: string | SExpr;
|
|
2435
2447
|
enterDelay?: number | string | SExpr;
|
|
2436
2448
|
skeleton?: string | PatternPropValue | SExpr;
|
|
@@ -2837,9 +2849,9 @@ interface PatternPropsMap {
|
|
|
2837
2849
|
kind: string | SExpr;
|
|
2838
2850
|
label?: string | SExpr;
|
|
2839
2851
|
effectType?: string | SExpr;
|
|
2840
|
-
fieldType?:
|
|
2841
|
-
persistence?:
|
|
2842
|
-
namespace?:
|
|
2852
|
+
fieldType?: string | unknown | SExpr;
|
|
2853
|
+
persistence?: string | SExpr;
|
|
2854
|
+
namespace?: string | SExpr;
|
|
2843
2855
|
size?: string | SExpr;
|
|
2844
2856
|
showCaption?: boolean | string | SExpr;
|
|
2845
2857
|
className?: string | SExpr;
|
|
@@ -3066,6 +3078,7 @@ interface PatternPropsMap {
|
|
|
3066
3078
|
'box': {
|
|
3067
3079
|
type: 'box';
|
|
3068
3080
|
className?: string | SExpr;
|
|
3081
|
+
style?: PatternPropValue | string | SExpr;
|
|
3069
3082
|
'data-theme'?: string | SExpr;
|
|
3070
3083
|
padding?: string | SExpr;
|
|
3071
3084
|
paddingX?: string | SExpr;
|
|
@@ -3182,6 +3195,7 @@ interface PatternPropsMap {
|
|
|
3182
3195
|
actionPayload?: PatternPropValue | string | SExpr;
|
|
3183
3196
|
label?: string | SExpr;
|
|
3184
3197
|
disabled?: boolean | string | SExpr;
|
|
3198
|
+
htmlType?: string | SExpr;
|
|
3185
3199
|
href?: string | SExpr;
|
|
3186
3200
|
onClick?: ((...args: never[]) => unknown) | string | SExpr;
|
|
3187
3201
|
'data-testid'?: string | SExpr;
|
|
@@ -3718,6 +3732,10 @@ interface PatternPropsMap {
|
|
|
3718
3732
|
onGoToDefinition?: ((...args: never[]) => unknown) | string | SExpr;
|
|
3719
3733
|
diagnosticsCode?: string | SExpr;
|
|
3720
3734
|
lineNumbers?: boolean | string | SExpr;
|
|
3735
|
+
askEvent?: string | SExpr;
|
|
3736
|
+
noteEvent?: string | SExpr;
|
|
3737
|
+
askLabel?: string | SExpr;
|
|
3738
|
+
noteLabel?: string | SExpr;
|
|
3721
3739
|
enter?: string | SExpr;
|
|
3722
3740
|
enterDelay?: number | string | SExpr;
|
|
3723
3741
|
skeleton?: string | PatternPropValue | SExpr;
|
|
@@ -4603,6 +4621,8 @@ interface PatternPropsMap {
|
|
|
4603
4621
|
secondarySidebar?: unknown | string | SExpr;
|
|
4604
4622
|
railWidth?: number | string | SExpr;
|
|
4605
4623
|
secondarySidebarWidth?: number | string | SExpr;
|
|
4624
|
+
onSecondarySidebarWidthChange?: ((...args: never[]) => unknown) | string | SExpr;
|
|
4625
|
+
secondarySidebarMinSize?: number | string | SExpr;
|
|
4606
4626
|
sidebarCollapsed?: boolean | string | SExpr;
|
|
4607
4627
|
onSidebarCollapsedChange?: ((...args: never[]) => unknown) | string | SExpr;
|
|
4608
4628
|
sidebarWidth?: number | string | SExpr;
|
|
@@ -4616,6 +4636,10 @@ interface PatternPropsMap {
|
|
|
4616
4636
|
secondarySidebarCollapsed?: boolean | string | SExpr;
|
|
4617
4637
|
onSecondarySidebarCollapsedChange?: ((...args: never[]) => unknown) | string | SExpr;
|
|
4618
4638
|
compact?: boolean | string | SExpr;
|
|
4639
|
+
openMenuLabel?: string | SExpr;
|
|
4640
|
+
backToMenuLabel?: string | SExpr;
|
|
4641
|
+
menuLabel?: string | SExpr;
|
|
4642
|
+
closeDrawerLabel?: string | SExpr;
|
|
4619
4643
|
secondarySidebarLabel?: string | SExpr;
|
|
4620
4644
|
secondarySidebarIcon?: unknown | string | SExpr;
|
|
4621
4645
|
bottomPanelLabel?: string | SExpr;
|
|
@@ -4652,6 +4676,7 @@ interface PatternPropsMap {
|
|
|
4652
4676
|
fields?: unknown[] | string | SExpr;
|
|
4653
4677
|
metaCommitEvent?: string | SExpr;
|
|
4654
4678
|
relationEvent?: string | SExpr;
|
|
4679
|
+
relationsData?: PatternPropValue | string | SExpr;
|
|
4655
4680
|
title?: string | SExpr;
|
|
4656
4681
|
className?: string | SExpr;
|
|
4657
4682
|
enter?: string | SExpr;
|
|
@@ -4897,13 +4922,16 @@ interface PatternPropsMap {
|
|
|
4897
4922
|
title?: unknown | string | SExpr;
|
|
4898
4923
|
children?: unknown | string | SExpr;
|
|
4899
4924
|
footer?: unknown | string | SExpr;
|
|
4925
|
+
headerActions?: unknown | string | SExpr;
|
|
4900
4926
|
position?: string | SExpr;
|
|
4901
4927
|
width?: string | SExpr;
|
|
4902
4928
|
showCloseButton?: boolean | string | SExpr;
|
|
4929
|
+
closeButtonLabel?: string | SExpr;
|
|
4903
4930
|
closeOnOverlayClick?: boolean | string | SExpr;
|
|
4904
4931
|
closeOnEscape?: boolean | string | SExpr;
|
|
4905
4932
|
className?: string | SExpr;
|
|
4906
4933
|
closeEvent?: string | SExpr;
|
|
4934
|
+
modal?: boolean | string | SExpr;
|
|
4907
4935
|
enter?: string | SExpr;
|
|
4908
4936
|
enterDelay?: number | string | SExpr;
|
|
4909
4937
|
skeleton?: string | PatternPropValue | SExpr;
|
|
@@ -5170,6 +5198,7 @@ interface PatternPropsMap {
|
|
|
5170
5198
|
icon?: unknown | string | SExpr;
|
|
5171
5199
|
onRemove?: ((...args: never[]) => unknown) | string | SExpr;
|
|
5172
5200
|
removable?: boolean | string | SExpr;
|
|
5201
|
+
selected?: boolean | string | SExpr;
|
|
5173
5202
|
onClick?: ((...args: never[]) => unknown) | string | SExpr;
|
|
5174
5203
|
clickEvent?: string | SExpr;
|
|
5175
5204
|
removeEvent?: string | SExpr;
|
|
@@ -5339,6 +5368,11 @@ interface PatternPropsMap {
|
|
|
5339
5368
|
systemDependencies?: PatternPropValue | string | SExpr;
|
|
5340
5369
|
traitView?: PatternPropValue | string | SExpr;
|
|
5341
5370
|
onTraitViewChange?: ((...args: never[]) => unknown) | string | SExpr;
|
|
5371
|
+
toolbar?: boolean | string | SExpr;
|
|
5372
|
+
fitOnResize?: boolean | string | SExpr;
|
|
5373
|
+
flowSelection?: string | SExpr;
|
|
5374
|
+
onFlowSelect?: ((...args: never[]) => unknown) | string | SExpr;
|
|
5375
|
+
flowSelectEvent?: string | SExpr;
|
|
5342
5376
|
openBehaviorEvent?: string | SExpr;
|
|
5343
5377
|
keyMap?: PatternPropValue | string | SExpr;
|
|
5344
5378
|
scene?: PatternPropValue | string | SExpr;
|
|
@@ -5634,6 +5668,9 @@ interface PatternPropsMap {
|
|
|
5634
5668
|
type: 'game-audio-toggle';
|
|
5635
5669
|
size?: string | SExpr;
|
|
5636
5670
|
className?: string | SExpr;
|
|
5671
|
+
muted?: boolean | string | SExpr;
|
|
5672
|
+
soundOnLabel?: string | SExpr;
|
|
5673
|
+
mutedLabel?: string | SExpr;
|
|
5637
5674
|
isLoading?: boolean | string | SExpr;
|
|
5638
5675
|
error?: PatternPropValue | string | SExpr;
|
|
5639
5676
|
onAsset?: PatternPropValue | string | SExpr;
|
|
@@ -5979,6 +6016,16 @@ interface PatternPropsMap {
|
|
|
5979
6016
|
dir?: string | SExpr;
|
|
5980
6017
|
tabIndex?: number | string | SExpr;
|
|
5981
6018
|
};
|
|
6019
|
+
'guest-view': {
|
|
6020
|
+
type: 'guest-view';
|
|
6021
|
+
guest: string | SExpr;
|
|
6022
|
+
source: string | SExpr;
|
|
6023
|
+
deliver: string | SExpr;
|
|
6024
|
+
navigate?: string | SExpr;
|
|
6025
|
+
route?: string | SExpr;
|
|
6026
|
+
paints?: unknown[] | string | SExpr;
|
|
6027
|
+
children?: unknown | string | SExpr;
|
|
6028
|
+
};
|
|
5982
6029
|
'header': {
|
|
5983
6030
|
type: 'header';
|
|
5984
6031
|
logo?: unknown | string | SExpr;
|
|
@@ -6126,6 +6173,7 @@ interface PatternPropsMap {
|
|
|
6126
6173
|
action?: string | SExpr;
|
|
6127
6174
|
actionPayload?: PatternPropValue | string | SExpr;
|
|
6128
6175
|
disabled?: boolean | string | SExpr;
|
|
6176
|
+
htmlType?: string | SExpr;
|
|
6129
6177
|
href?: string | SExpr;
|
|
6130
6178
|
onClick?: ((...args: never[]) => unknown) | string | SExpr;
|
|
6131
6179
|
'data-testid'?: string | SExpr;
|
|
@@ -6582,6 +6630,16 @@ interface PatternPropsMap {
|
|
|
6582
6630
|
dir?: string | SExpr;
|
|
6583
6631
|
tabIndex?: number | string | SExpr;
|
|
6584
6632
|
};
|
|
6633
|
+
'machine-panel': {
|
|
6634
|
+
type: 'machine-panel';
|
|
6635
|
+
schema: unknown | string | SExpr;
|
|
6636
|
+
transitions: unknown[] | string | SExpr;
|
|
6637
|
+
describe?: ((...args: never[]) => unknown) | string | SExpr;
|
|
6638
|
+
descriptions?: PatternPropValue | string | SExpr;
|
|
6639
|
+
behavior?: string | SExpr;
|
|
6640
|
+
replayStepMs?: number | string | SExpr;
|
|
6641
|
+
dependencies?: PatternPropValue | string | SExpr;
|
|
6642
|
+
};
|
|
6585
6643
|
'map-view': {
|
|
6586
6644
|
type: 'map-view';
|
|
6587
6645
|
surface?: string | SExpr;
|
|
@@ -7736,6 +7794,9 @@ interface PatternPropsMap {
|
|
|
7736
7794
|
mode?: string | SExpr;
|
|
7737
7795
|
defaultTab?: string | SExpr;
|
|
7738
7796
|
schema?: unknown | string | SExpr;
|
|
7797
|
+
describe?: ((...args: never[]) => unknown) | string | SExpr;
|
|
7798
|
+
behavior?: string | SExpr;
|
|
7799
|
+
dependencies?: PatternPropValue | string | SExpr;
|
|
7739
7800
|
enter?: string | SExpr;
|
|
7740
7801
|
enterDelay?: number | string | SExpr;
|
|
7741
7802
|
skeleton?: string | PatternPropValue | SExpr;
|
|
@@ -7786,6 +7847,7 @@ interface PatternPropsMap {
|
|
|
7786
7847
|
size?: string | SExpr;
|
|
7787
7848
|
className?: string | SExpr;
|
|
7788
7849
|
locale?: string | SExpr;
|
|
7850
|
+
displayValue?: string | SExpr;
|
|
7789
7851
|
enter?: string | SExpr;
|
|
7790
7852
|
enterDelay?: number | string | SExpr;
|
|
7791
7853
|
skeleton?: string | PatternPropValue | SExpr;
|
|
@@ -7977,6 +8039,8 @@ interface PatternPropsMap {
|
|
|
7977
8039
|
categoryColors?: PatternPropValue | string | SExpr;
|
|
7978
8040
|
slotFeedback?: unknown[] | string | SExpr;
|
|
7979
8041
|
size?: string | SExpr;
|
|
8042
|
+
emptyLabel?: string | SExpr;
|
|
8043
|
+
removeLabel?: string | SExpr;
|
|
7980
8044
|
className?: string | SExpr;
|
|
7981
8045
|
enter?: string | SExpr;
|
|
7982
8046
|
enterDelay?: number | string | SExpr;
|
|
@@ -8404,6 +8468,7 @@ interface PatternPropsMap {
|
|
|
8404
8468
|
iconUrl?: PatternPropValue | string | SExpr;
|
|
8405
8469
|
label: string | SExpr;
|
|
8406
8470
|
value?: number | string | SExpr;
|
|
8471
|
+
displayValue?: string | SExpr;
|
|
8407
8472
|
max?: number | string | SExpr;
|
|
8408
8473
|
source?: string | SExpr;
|
|
8409
8474
|
field?: string | SExpr;
|
|
@@ -8598,6 +8663,15 @@ interface PatternPropsMap {
|
|
|
8598
8663
|
className?: string | SExpr;
|
|
8599
8664
|
trait?: PatternPropValue | string | SExpr;
|
|
8600
8665
|
description?: unknown | string | SExpr;
|
|
8666
|
+
orbital?: PatternPropValue | string | SExpr;
|
|
8667
|
+
activeStates?: unknown[] | string | SExpr;
|
|
8668
|
+
firedTransition?: PatternPropValue | string | SExpr;
|
|
8669
|
+
route?: unknown[] | string | SExpr;
|
|
8670
|
+
expandDepth?: number | string | SExpr;
|
|
8671
|
+
selectedTrait?: string | SExpr;
|
|
8672
|
+
selectEvent?: string | SExpr;
|
|
8673
|
+
pickEvent?: string | SExpr;
|
|
8674
|
+
maxHeight?: string | SExpr;
|
|
8601
8675
|
isLoading?: boolean | string | SExpr;
|
|
8602
8676
|
error?: PatternPropValue | string | SExpr;
|
|
8603
8677
|
enter?: string | SExpr;
|
|
@@ -9316,6 +9390,10 @@ interface PatternPropsMap {
|
|
|
9316
9390
|
className?: string | SExpr;
|
|
9317
9391
|
size?: string | SExpr;
|
|
9318
9392
|
showLabel?: boolean | string | SExpr;
|
|
9393
|
+
switchToLightLabel?: string | SExpr;
|
|
9394
|
+
switchToDarkLabel?: string | SExpr;
|
|
9395
|
+
lightLabel?: string | SExpr;
|
|
9396
|
+
darkLabel?: string | SExpr;
|
|
9319
9397
|
enter?: string | SExpr;
|
|
9320
9398
|
enterDelay?: number | string | SExpr;
|
|
9321
9399
|
skeleton?: string | PatternPropValue | SExpr;
|
|
@@ -9407,6 +9485,7 @@ interface PatternPropsMap {
|
|
|
9407
9485
|
className?: string | SExpr;
|
|
9408
9486
|
lowThreshold?: number | string | SExpr;
|
|
9409
9487
|
iconAsset?: PatternPropValue | string | SExpr;
|
|
9488
|
+
displayText?: string | SExpr;
|
|
9410
9489
|
enter?: string | SExpr;
|
|
9411
9490
|
enterDelay?: number | string | SExpr;
|
|
9412
9491
|
skeleton?: string | PatternPropValue | SExpr;
|
|
@@ -9516,6 +9595,8 @@ interface PatternPropsMap {
|
|
|
9516
9595
|
equippedItem?: PatternPropValue | string | SExpr;
|
|
9517
9596
|
locked?: boolean | string | SExpr;
|
|
9518
9597
|
lockLabel?: string | SExpr;
|
|
9598
|
+
emptyLabel?: string | SExpr;
|
|
9599
|
+
removeLabel?: string | SExpr;
|
|
9519
9600
|
selected?: boolean | string | SExpr;
|
|
9520
9601
|
size?: string | SExpr;
|
|
9521
9602
|
showTooltip?: boolean | string | SExpr;
|
|
@@ -9584,7 +9665,7 @@ interface PatternPropsMap {
|
|
|
9584
9665
|
speed?: number | string | SExpr;
|
|
9585
9666
|
startDelay?: number | string | SExpr;
|
|
9586
9667
|
className?: string | SExpr;
|
|
9587
|
-
onComplete?:
|
|
9668
|
+
onComplete?: string | SExpr;
|
|
9588
9669
|
enter?: string | SExpr;
|
|
9589
9670
|
enterDelay?: number | string | SExpr;
|
|
9590
9671
|
skeleton?: string | PatternPropValue | SExpr;
|
|
@@ -9640,7 +9721,7 @@ interface PatternPropsMap {
|
|
|
9640
9721
|
};
|
|
9641
9722
|
'ui-slot-component': {
|
|
9642
9723
|
type: 'ui-slot-component';
|
|
9643
|
-
slot:
|
|
9724
|
+
slot: string | SExpr;
|
|
9644
9725
|
portal?: boolean | string | SExpr;
|
|
9645
9726
|
position?: string | SExpr;
|
|
9646
9727
|
className?: string | SExpr;
|
|
@@ -9669,6 +9750,7 @@ interface PatternPropsMap {
|
|
|
9669
9750
|
entity?: string | SExpr;
|
|
9670
9751
|
suspense?: boolean | PatternPropValue | string | SExpr;
|
|
9671
9752
|
pageKey?: string | SExpr;
|
|
9753
|
+
main?: unknown | string | SExpr;
|
|
9672
9754
|
enter?: string | SExpr;
|
|
9673
9755
|
enterDelay?: number | string | SExpr;
|
|
9674
9756
|
skeleton?: string | PatternPropValue | SExpr;
|
|
@@ -9743,6 +9825,12 @@ interface PatternPropsMap {
|
|
|
9743
9825
|
videoId?: string | SExpr;
|
|
9744
9826
|
src?: string | SExpr;
|
|
9745
9827
|
title?: string | SExpr;
|
|
9828
|
+
noVideoLabel?: string | SExpr;
|
|
9829
|
+
apiUnavailableMessage?: string | SExpr;
|
|
9830
|
+
invalidVideoMessage?: string | SExpr;
|
|
9831
|
+
playbackFailedMessage?: string | SExpr;
|
|
9832
|
+
notFoundMessage?: string | SExpr;
|
|
9833
|
+
notEmbeddableMessage?: string | SExpr;
|
|
9746
9834
|
autoplay?: boolean | string | SExpr;
|
|
9747
9835
|
controls?: boolean | string | SExpr;
|
|
9748
9836
|
start?: number | string | SExpr;
|
|
@@ -9997,17 +10085,17 @@ type UISlot = (typeof UI_SLOTS)[number];
|
|
|
9997
10085
|
/** The slots a renderer mounts as `#slot-{name}`: every slot except the HUD group key, the `screen` alias and dotted sub-slots. */
|
|
9998
10086
|
declare const RENDERED_SLOTS: readonly UISlot[];
|
|
9999
10087
|
declare const UISlotSchema: z.ZodEnum<{
|
|
10000
|
-
|
|
10088
|
+
content: "content";
|
|
10001
10089
|
modal: "modal";
|
|
10002
10090
|
drawer: "drawer";
|
|
10003
|
-
content: "content";
|
|
10004
10091
|
center: "center";
|
|
10092
|
+
floating: "floating";
|
|
10005
10093
|
overlay: "overlay";
|
|
10006
10094
|
sidebar: "sidebar";
|
|
10007
10095
|
main: "main";
|
|
10008
10096
|
dock: "dock";
|
|
10009
10097
|
toast: "toast";
|
|
10010
|
-
|
|
10098
|
+
system: "system";
|
|
10011
10099
|
screen: "screen";
|
|
10012
10100
|
hud: "hud";
|
|
10013
10101
|
"hud-top": "hud-top";
|
|
@@ -10138,11 +10226,10 @@ type EmitEffect = ['emit', string] | ['emit', string, EventPayload | string];
|
|
|
10138
10226
|
* | `persist` | `success`, `failure` |
|
|
10139
10227
|
* | `call-service` | `success`, `failure`, `cancelled` |
|
|
10140
10228
|
* | `set` | `success` |
|
|
10141
|
-
* | `ref` | `on_change`, `failure` |
|
|
10142
10229
|
* | `fetch-stream` | `on_message`, `success`, `failure` |
|
|
10143
10230
|
*
|
|
10144
10231
|
* Payload convention:
|
|
10145
|
-
* - `success`
|
|
10232
|
+
* - `success` → the effect's result (fetched entity, new value)
|
|
10146
10233
|
* - `failure` → `{ error: string, code?: string }`
|
|
10147
10234
|
* - `on_message` → the incoming chunk (`fetch-stream`)
|
|
10148
10235
|
*
|
|
@@ -10155,8 +10242,6 @@ interface EmitConfig {
|
|
|
10155
10242
|
failure?: string;
|
|
10156
10243
|
/** `call-service` only: fires when `cancel-call` aborts the call; payload is `{ key }`. */
|
|
10157
10244
|
cancelled?: string;
|
|
10158
|
-
/** Reactive-subscription event (per update for `ref`). */
|
|
10159
|
-
on_change?: string;
|
|
10160
10245
|
/** Per-chunk fire for `fetch-stream`. */
|
|
10161
10246
|
on_message?: string;
|
|
10162
10247
|
}
|
|
@@ -10256,20 +10341,48 @@ type CallServiceEmitConfig = {
|
|
|
10256
10341
|
};
|
|
10257
10342
|
};
|
|
10258
10343
|
/**
|
|
10259
|
-
* Cancel-call effect - aborts the in-flight keyed call (`call-service`,
|
|
10344
|
+
* Cancel-call effect - aborts the in-flight keyed call (`call-service`,
|
|
10260
10345
|
* `browser/prompt` or `browser/embed`) started with that key in the same running
|
|
10261
10346
|
* app; no-op when none is in flight. The cancelled call emits its `emit.cancelled`
|
|
10262
10347
|
* event with `{ key }`, never success/failure, and a reply that arrives later is dropped.
|
|
10263
10348
|
* @example ['cancel-call', '@entity.id']
|
|
10264
10349
|
*/
|
|
10265
10350
|
type CancelCallEffect = ['cancel-call', SExpr];
|
|
10266
|
-
/** Trailing config of `random-bytes`, `credential-status` and `credential-
|
|
10351
|
+
/** Trailing config of `random-bytes`, `credential-status`, `credential-forget` and `credential-connect`: outcome events only. */
|
|
10267
10352
|
type HostCallEmitConfig = {
|
|
10268
10353
|
emit?: {
|
|
10269
10354
|
success?: string;
|
|
10270
10355
|
failure?: string;
|
|
10271
10356
|
};
|
|
10272
10357
|
};
|
|
10358
|
+
/** The OAuth client an `oauth-authorize` names: tag, mode, issuer XOR endpoints, secret-knob client credentials, clientAuth. */
|
|
10359
|
+
type OAuthClient = {
|
|
10360
|
+
[field: string]: SExpr;
|
|
10361
|
+
};
|
|
10362
|
+
/** Authorization request of `oauth-authorize`. */
|
|
10363
|
+
interface OAuthAuthorizeRequest {
|
|
10364
|
+
redirectUri: SExpr;
|
|
10365
|
+
scope?: SExpr;
|
|
10366
|
+
subject?: SExpr;
|
|
10367
|
+
params?: SExpr;
|
|
10368
|
+
}
|
|
10369
|
+
/**
|
|
10370
|
+
* OAuth-authorize effect - starts an authorization for a client; success carries `{ authUrl, state, code }`. Server-only.
|
|
10371
|
+
* @example ['oauth-authorize', { tag: 'google', mode: 'real' }, { redirectUri: 'https://app.example.com/cb', scope: ['openid'] }, { emit: { success: 'AUTH_URL' } }]
|
|
10372
|
+
*/
|
|
10373
|
+
type OAuthAuthorizeEffect = ['oauth-authorize', OAuthClient, OAuthAuthorizeRequest] | ['oauth-authorize', OAuthClient, OAuthAuthorizeRequest, HostCallEmitConfig & {
|
|
10374
|
+
key?: SExpr;
|
|
10375
|
+
}];
|
|
10376
|
+
/**
|
|
10377
|
+
* OAuth-connection-status effect - the signed-in viewer's connection to a provider (google, github or auth0).
|
|
10378
|
+
* @example ['oauth-connection-status', 'google', { emit: { success: 'CONNECTION' } }]
|
|
10379
|
+
*/
|
|
10380
|
+
type OAuthConnectionStatusEffect = ['oauth-connection-status', SExpr] | ['oauth-connection-status', SExpr, HostCallEmitConfig];
|
|
10381
|
+
/**
|
|
10382
|
+
* OAuth-connection-forget effect - drops the signed-in viewer's connection to a provider.
|
|
10383
|
+
* @example ['oauth-connection-forget', 'google', { emit: { success: 'DISCONNECTED' } }]
|
|
10384
|
+
*/
|
|
10385
|
+
type OAuthConnectionForgetEffect = ['oauth-connection-forget', SExpr] | ['oauth-connection-forget', SExpr, HostCallEmitConfig];
|
|
10273
10386
|
/**
|
|
10274
10387
|
* Random-bytes effect - `n` bytes (an integer from 1 to 1024) of the host CSPRNG, journaled on the kernel path.
|
|
10275
10388
|
* Success carries {@link RandomBytesPayload}; failure carries `{ error }`. Server-only.
|
|
@@ -10296,6 +10409,34 @@ type CredentialStatusEffect = ['credential-status', SExpr] | ['credential-status
|
|
|
10296
10409
|
* @example ['credential-forget', '@config.googleToken', { emit: { success: 'DISCONNECTED' } }]
|
|
10297
10410
|
*/
|
|
10298
10411
|
type CredentialForgetEffect = ['credential-forget', SExpr] | ['credential-forget', SExpr, HostCallEmitConfig];
|
|
10412
|
+
/** Why a `credential-connect` did not connect. */
|
|
10413
|
+
type CredentialConnectFailureKind = 'unavailable' | 'unsigned' | 'denied' | 'invalid_grant' | 'invalid_client' | 'transport' | 'malformed' | 'refused';
|
|
10414
|
+
/** The request of `credential-connect`: `credential`, `clientId` and `clientSecret` are secret knobs; `code` and `verifier` are the single-use values the host's credential store exchanges. */
|
|
10415
|
+
interface CredentialConnectRequest {
|
|
10416
|
+
credential: SExpr;
|
|
10417
|
+
scope?: SExpr;
|
|
10418
|
+
tokenEndpoint: SExpr;
|
|
10419
|
+
grant: SExpr;
|
|
10420
|
+
code: SExpr;
|
|
10421
|
+
redirectUri: SExpr;
|
|
10422
|
+
verifier?: SExpr;
|
|
10423
|
+
clientId: SExpr;
|
|
10424
|
+
clientSecret?: SExpr;
|
|
10425
|
+
clientAuth: SExpr;
|
|
10426
|
+
scopes?: SExpr;
|
|
10427
|
+
}
|
|
10428
|
+
/**
|
|
10429
|
+
* Credential-connect effect - asks the host's credential store to exchange an OAuth code at a declared token endpoint and
|
|
10430
|
+
* keep the result under the named secret knob; the program never holds a token. Success carries {@link CredentialPayload};
|
|
10431
|
+
* failure carries {@link CredentialConnectFailure}. Server-only.
|
|
10432
|
+
* @example ['credential-connect', { credential: '@config.googleToken', tokenEndpoint: 'https://oauth2.googleapis.com/token', grant: 'authorization_code', code: '@payload.code', redirectUri: 'https://app.example.com/cb', clientId: '@config.googleClientId', clientAuth: 'body' }, { emit: { success: 'CONNECTED' } }]
|
|
10433
|
+
*/
|
|
10434
|
+
type CredentialConnectEffect = ['credential-connect', CredentialConnectRequest] | ['credential-connect', CredentialConnectRequest, HostCallEmitConfig];
|
|
10435
|
+
/** Failure payload of `credential-connect`. */
|
|
10436
|
+
interface CredentialConnectFailure {
|
|
10437
|
+
error: string;
|
|
10438
|
+
kind: CredentialConnectFailureKind;
|
|
10439
|
+
}
|
|
10299
10440
|
/** Success payload of `credential-status` and `credential-forget`. */
|
|
10300
10441
|
interface CredentialPayload {
|
|
10301
10442
|
connected: boolean;
|
|
@@ -10306,7 +10447,7 @@ interface CredentialPayload {
|
|
|
10306
10447
|
* Access-check effect - the kernel's verdict on an entity's declared access policy for `viewer` (`null` for nobody) on
|
|
10307
10448
|
* `row`, through the evaluator fetch and persist enforce. Success carries {@link AccessCheckPayload}; an undeclared entity,
|
|
10308
10449
|
* an unknown action or a missing key fails with `{ error }`. Server-only.
|
|
10309
|
-
* @example ['access-check', { entity: 'Task', action: 'create', row: { ownerId: 'u1' },
|
|
10450
|
+
* @example ['access-check', { entity: 'Task', action: 'create', row: { ownerId: 'u1' }, identity: { id: 'u1' } }, { emit: { success: 'CHECKED' } }]
|
|
10310
10451
|
*/
|
|
10311
10452
|
type AccessCheckEffect = ['access-check', AccessCheckRequest] | ['access-check', AccessCheckRequest, HostCallEmitConfig];
|
|
10312
10453
|
/** The request of `access-check`. */
|
|
@@ -10314,7 +10455,7 @@ interface AccessCheckRequest {
|
|
|
10314
10455
|
entity: SExpr;
|
|
10315
10456
|
action: SExpr;
|
|
10316
10457
|
row: SExpr;
|
|
10317
|
-
|
|
10458
|
+
identity: SExpr;
|
|
10318
10459
|
}
|
|
10319
10460
|
/** Success payload of `access-check`. */
|
|
10320
10461
|
interface AccessCheckPayload {
|
|
@@ -10393,187 +10534,9 @@ interface CredentialAdminFailure {
|
|
|
10393
10534
|
error: string;
|
|
10394
10535
|
code: 'AUTH_ERROR' | 'VALIDATION_ERROR' | null;
|
|
10395
10536
|
}
|
|
10396
|
-
/** The provider words an OAuth connection can be kept for. */
|
|
10397
|
-
type OAuthProviderWord = 'google' | 'github' | 'auth0';
|
|
10398
|
-
/** The operations an `oauth-client` auth performs (closed set). */
|
|
10399
|
-
type OAuthOp = 'discovery' | 'code' | 'connect' | 'refresh' | 'revoke' | 'userinfo';
|
|
10400
|
-
/** The `oauth-endpoint` target words: the URL comes from the client's metadata. */
|
|
10401
|
-
type OAuthEndpointWord = 'token' | 'revocation' | 'userinfo';
|
|
10402
|
-
/**
|
|
10403
|
-
* An OAuth client object: where the authorization server is described (`issuer` XOR `endpoints`) and which
|
|
10404
|
-
* `secret` knobs hold the client credentials. `mode: 'mock'` has no runtime on the kernel host.
|
|
10405
|
-
*/
|
|
10406
|
-
type OAuthClient = {
|
|
10407
|
-
tag: OAuthProviderWord;
|
|
10408
|
-
mode: 'real' | 'mock';
|
|
10409
|
-
clientId: SExpr;
|
|
10410
|
-
clientSecret?: SExpr;
|
|
10411
|
-
clientAuth: 'basic' | 'post' | 'none';
|
|
10412
|
-
} & ({
|
|
10413
|
-
issuer: SExpr;
|
|
10414
|
-
endpoints?: never;
|
|
10415
|
-
} | {
|
|
10416
|
-
issuer?: never;
|
|
10417
|
-
endpoints: {
|
|
10418
|
-
authorization: SExpr;
|
|
10419
|
-
token: SExpr;
|
|
10420
|
-
revocation?: SExpr;
|
|
10421
|
-
userinfo?: SExpr;
|
|
10422
|
-
};
|
|
10423
|
-
});
|
|
10424
|
-
/** The options of `oauth-authorize`: the redirect, the scopes, the subject that must complete it, extra authorization params. */
|
|
10425
|
-
interface OAuthAuthorizeOptions {
|
|
10426
|
-
redirectUri: SExpr;
|
|
10427
|
-
scope?: SExpr;
|
|
10428
|
-
subject?: SExpr;
|
|
10429
|
-
params?: Record<string, SExpr>;
|
|
10430
|
-
}
|
|
10431
|
-
/**
|
|
10432
|
-
* OAuth-authorize effect - builds the authorization URL and keeps the pending grant (PKCE verifier included)
|
|
10433
|
-
* with the host; success carries {@link OAuthAuthorizePayload}, failure {@link OAuthEffectFailurePayload}. Server-only.
|
|
10434
|
-
* @example ['oauth-authorize', { tag: 'google', mode: 'real', issuer: '@config.issuer', clientId: '@config.id', clientAuth: 'post' }, { redirectUri: '@config.redirect' }, { emit: { success: 'AUTH_URL' } }]
|
|
10435
|
-
*/
|
|
10436
|
-
type OAuthAuthorizeEffect = ['oauth-authorize', OAuthClient, OAuthAuthorizeOptions] | ['oauth-authorize', OAuthClient, OAuthAuthorizeOptions, HostCallEmitConfig & {
|
|
10437
|
-
key?: SExpr;
|
|
10438
|
-
}];
|
|
10439
|
-
/**
|
|
10440
|
-
* OAuth-connection-status effect - the signed-in viewer's connection to a provider; success carries
|
|
10441
|
-
* {@link OAuthConnectionPayload}. Server-only.
|
|
10442
|
-
* @example ['oauth-connection-status', 'google', { emit: { success: 'CONNECTION' } }]
|
|
10443
|
-
*/
|
|
10444
|
-
type OAuthConnectionStatusEffect = ['oauth-connection-status', OAuthProviderWord] | ['oauth-connection-status', OAuthProviderWord, HostCallEmitConfig];
|
|
10445
|
-
/**
|
|
10446
|
-
* OAuth-connection-forget effect - drops the signed-in viewer's connection to a provider; success carries the
|
|
10447
|
-
* disconnected {@link OAuthConnectionPayload}. Server-only.
|
|
10448
|
-
* @example ['oauth-connection-forget', 'google', { emit: { success: 'DISCONNECTED' } }]
|
|
10449
|
-
*/
|
|
10450
|
-
type OAuthConnectionForgetEffect = ['oauth-connection-forget', OAuthProviderWord] | ['oauth-connection-forget', OAuthProviderWord, HostCallEmitConfig];
|
|
10451
|
-
/** Success payload of `oauth-authorize`. */
|
|
10452
|
-
interface OAuthAuthorizePayload {
|
|
10453
|
-
authUrl: string;
|
|
10454
|
-
state: string;
|
|
10455
|
-
/** The authorization code the person's consent returned on a host that asked them itself; empty text on every other host. */
|
|
10456
|
-
code: string;
|
|
10457
|
-
/** The call's evaluated `key` option; null when unkeyed. */
|
|
10458
|
-
key: string | null;
|
|
10459
|
-
}
|
|
10460
|
-
/** Success payload of `oauth-connection-status` and `oauth-connection-forget`, and of an `oauth-client` `connect`. */
|
|
10461
|
-
interface OAuthConnectionPayload {
|
|
10462
|
-
provider: OAuthProviderWord;
|
|
10463
|
-
connected: boolean;
|
|
10464
|
-
account: string;
|
|
10465
|
-
avatarUrl: string;
|
|
10466
|
-
scope: string[];
|
|
10467
|
-
connectedAt: string;
|
|
10468
|
-
}
|
|
10469
|
-
/** Failure payload of the OAuth effects: a fixed safe message, the public code and the closed reason. */
|
|
10470
|
-
interface OAuthEffectFailurePayload {
|
|
10471
|
-
error: string;
|
|
10472
|
-
code: HttpOAuthFailureCode;
|
|
10473
|
-
reason: HttpOAuthFailureReason;
|
|
10474
|
-
}
|
|
10475
|
-
/** Failure payload of `oauth-authorize`: the OAuth failure (or a bare `error`) beside the call's `key`. */
|
|
10476
|
-
type OAuthAuthorizeFailurePayload = (OAuthEffectFailurePayload | {
|
|
10477
|
-
error: string;
|
|
10478
|
-
}) & {
|
|
10479
|
-
key: string | null;
|
|
10480
|
-
};
|
|
10481
|
-
/** Success payloads of the `oauth-client` ops (each also carries the call's `key`). */
|
|
10482
|
-
interface OAuthDiscoveryPayload {
|
|
10483
|
-
issuer: string;
|
|
10484
|
-
key: string | null;
|
|
10485
|
-
}
|
|
10486
|
-
interface OAuthCodePayload {
|
|
10487
|
-
accessToken: string;
|
|
10488
|
-
refreshToken: string | null;
|
|
10489
|
-
expiresIn: number;
|
|
10490
|
-
tokenType: string;
|
|
10491
|
-
scope: string[];
|
|
10492
|
-
subject: string | null;
|
|
10493
|
-
key: string | null;
|
|
10494
|
-
}
|
|
10495
|
-
interface OAuthRefreshPayload {
|
|
10496
|
-
accessToken: string;
|
|
10497
|
-
expiresIn: number;
|
|
10498
|
-
key: string | null;
|
|
10499
|
-
}
|
|
10500
|
-
interface OAuthRevokePayload {
|
|
10501
|
-
revoked: boolean;
|
|
10502
|
-
key: string | null;
|
|
10503
|
-
}
|
|
10504
|
-
interface OAuthUserinfoPayload {
|
|
10505
|
-
sub: string;
|
|
10506
|
-
email: string;
|
|
10507
|
-
name: string;
|
|
10508
|
-
picture: string;
|
|
10509
|
-
key: string | null;
|
|
10510
|
-
}
|
|
10511
|
-
type OAuthConnectPayload = OAuthConnectionPayload & {
|
|
10512
|
-
key: string | null;
|
|
10513
|
-
};
|
|
10514
10537
|
type CallServiceEffect = ['call-service', string, string] | ['call-service', string, string, ServiceParams] | ['call-service', string, string, ServiceParams, CallServiceEmitConfig] | ['call-service', string, CallServiceConfig];
|
|
10515
|
-
/** HTTP method word of the `http` effect. */
|
|
10516
|
-
type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
10517
|
-
/**
|
|
10518
|
-
* Http effect - one HTTP request to a declared egress origin (server-only).
|
|
10519
|
-
* `request` carries the closed keys query/headers/body/auth/timeoutMs/responseAs/paginate/stream.
|
|
10520
|
-
* @example ['http', 'GET', 'https://api.iconify.design', '/search', { query: { query: '@payload.q' } }, { key: '@entity.id', emit: { success: 'OK', failure: 'ERR' } }]
|
|
10521
|
-
*/
|
|
10522
|
-
type HttpEffect = ['http', HttpMethod, string, SExpr] | ['http', HttpMethod, string, SExpr, SExpr] | ['http', HttpMethod, string, SExpr, SExpr, CallServiceEmitConfig];
|
|
10523
|
-
/**
|
|
10524
|
-
* Redis effect - one command to a declared `redis://`/`rediss://` egress origin (server-only); the kernel owns RESP.
|
|
10525
|
-
* @example ['redis', 'redis://cache.internal:6379', ['GET', '@payload.key'], { auth: '@config.password' }, { emit: { success: 'GOT', failure: 'ERR' } }]
|
|
10526
|
-
*/
|
|
10527
|
-
type RedisEffect = ['redis', string, SExpr] | ['redis', string, SExpr, SExpr] | ['redis', string, SExpr, SExpr, SExpr];
|
|
10528
|
-
/**
|
|
10529
|
-
* Postgres effect - one parameterised read-only query to a declared `postgres://` egress origin (server-only); the kernel owns the wire protocol.
|
|
10530
|
-
* @example ['postgres', 'postgres://db.internal:5432', 'select id from t where a = $1', ['@payload.a'], { user: 'app' }, { emit: { success: 'ROWS', failure: 'ERR' } }]
|
|
10531
|
-
*/
|
|
10532
|
-
type PostgresEffect = ['postgres', string, SExpr, SExpr] | ['postgres', string, SExpr, SExpr, SExpr] | ['postgres', string, SExpr, SExpr, SExpr, SExpr];
|
|
10533
|
-
/** Success payload of an `http` effect; a non-2xx status is still a success reply. */
|
|
10534
|
-
interface HttpReplyPayload {
|
|
10535
|
-
status: number;
|
|
10536
|
-
/** Lower-cased header names. */
|
|
10537
|
-
headers: Record<string, string>;
|
|
10538
|
-
body: string;
|
|
10539
|
-
/** The call's evaluated `key` option; null when unkeyed. */
|
|
10540
|
-
key: string | null;
|
|
10541
|
-
}
|
|
10542
|
-
/** Success payload of an `http` effect with `paginate`. */
|
|
10543
|
-
interface HttpPagedPayload<T> {
|
|
10544
|
-
pages: number;
|
|
10545
|
-
items: T[];
|
|
10546
|
-
last: HttpReplyPayload;
|
|
10547
|
-
/** The call's evaluated `key` option; null when unkeyed. */
|
|
10548
|
-
key: string | null;
|
|
10549
|
-
}
|
|
10550
|
-
interface HttpPresignedPayload {
|
|
10551
|
-
url: string;
|
|
10552
|
-
key: string | null;
|
|
10553
|
-
}
|
|
10554
|
-
/** Evaluated HTTP input; clock metadata belongs to the dispatch, never the authored request. */
|
|
10555
|
-
interface HttpCall {
|
|
10556
|
-
method: string;
|
|
10557
|
-
origin: string;
|
|
10558
|
-
path: string;
|
|
10559
|
-
request: JsonObject;
|
|
10560
|
-
key?: string | null;
|
|
10561
|
-
nowMs?: number;
|
|
10562
|
-
/** `beacon` hands the built request to the host's beacon port instead of an exchange; absent is `fetch`. */
|
|
10563
|
-
delivery?: 'fetch' | 'beacon';
|
|
10564
|
-
}
|
|
10565
|
-
/** Success payload of a `browser/beacon` effect: how the host took the request, never a collector reply. */
|
|
10566
|
-
interface HttpBeaconPayload {
|
|
10567
|
-
/** Queue accepted, or the keepalive fetch answered 2xx. */
|
|
10568
|
-
sent: boolean;
|
|
10569
|
-
via: 'queue' | 'fetch';
|
|
10570
|
-
/** The keepalive fetch's status; null when the queue accepted or the fetch threw. */
|
|
10571
|
-
status: number | null;
|
|
10572
|
-
/** The call's evaluated `key`; null when unkeyed. */
|
|
10573
|
-
key: string | null;
|
|
10574
|
-
}
|
|
10575
10538
|
/** A page fact `browser/page-facts` can read; the list order is the read order. */
|
|
10576
|
-
type PageFactField = 'hostname' | 'referrer' | 'screenWidth';
|
|
10539
|
+
type PageFactField = 'hostname' | 'referrer' | 'screenWidth' | 'href';
|
|
10577
10540
|
/** Success payload of `browser/page-facts`: a fact that was not requested carries its default. */
|
|
10578
10541
|
interface BrowserPageFacts {
|
|
10579
10542
|
/** False when there is no page (no window or document). */
|
|
@@ -10581,6 +10544,8 @@ interface BrowserPageFacts {
|
|
|
10581
10544
|
hostname: string;
|
|
10582
10545
|
referrer: string;
|
|
10583
10546
|
screenWidth: number | null;
|
|
10547
|
+
/** The full URL of the current location; empty when it was not requested or there is no page. */
|
|
10548
|
+
href: string;
|
|
10584
10549
|
}
|
|
10585
10550
|
/**
|
|
10586
10551
|
* Page-facts effect - read the requested page facts (client-only).
|
|
@@ -10634,12 +10599,6 @@ type BrowserPromptEffect = ['browser/prompt', string, string] | ['browser/prompt
|
|
|
10634
10599
|
* @example ['browser/embed', ['a', 'b'], { key: '@entity.batchId', emit: { success: 'EMBEDDED', failure: 'FAILED', cancelled: 'CANCELLED' } }]
|
|
10635
10600
|
*/
|
|
10636
10601
|
type BrowserEmbedEffect = ['browser/embed', string[]] | ['browser/embed', string[], CallServiceEmitConfig];
|
|
10637
|
-
/**
|
|
10638
|
-
* Beacon effect - fire-and-forget text/plain POST to an absolute http(s) URL through the browser's beacon queue,
|
|
10639
|
-
* then one keepalive fetch (client-only).
|
|
10640
|
-
* @example ['browser/beacon', 'https://collector.example.com/e', { text: '@entity.body', key: '@entity.id' }, { emit: { success: 'DONE', failure: 'FAILED', cancelled: 'CANCELLED' } }]
|
|
10641
|
-
*/
|
|
10642
|
-
type BrowserBeaconEffect = ['browser/beacon', string, SExpr] | ['browser/beacon', string, SExpr, CallServiceEmitConfig];
|
|
10643
10602
|
/** Why a `browser/tab-*` call failed: refused before any ask, no tabs on the host, no page script, a vanished element, or another error. */
|
|
10644
10603
|
type BrowserTabFailureKind = 'invalid' | 'unavailable' | 'not-ready' | 'not-found' | 'failed';
|
|
10645
10604
|
/** Failure payload of every `browser/tab-*` effect. */
|
|
@@ -10675,54 +10634,8 @@ interface BrowserTabElementRef {
|
|
|
10675
10634
|
type BrowserTabEffect = [BrowserTabOperator, SExpr] | [BrowserTabOperator, SExpr, CallServiceEmitConfig];
|
|
10676
10635
|
/** The `browser/tab-*` operator names. */
|
|
10677
10636
|
type BrowserTabOperator = 'browser/tab-list' | 'browser/tab-open' | 'browser/tab-close' | 'browser/tab-navigate' | 'browser/tab-query' | 'browser/tab-watch' | 'browser/tab-unwatch' | 'browser/tab-apply' | 'browser/tab-apply-many' | 'browser/tab-act' | 'browser/tab-capture';
|
|
10678
|
-
/** The leg of an `http` call that failed: its token-exchange grant or the authored request. */
|
|
10679
|
-
type HttpFailurePhase = 'grant' | 'request';
|
|
10680
10637
|
/** Public AUTH code of an `oauth` failure. */
|
|
10681
|
-
type HttpOAuthFailureCode = 'AUTH_ERROR' | 'VALIDATION_ERROR' | 'NOT_CONFIGURED' | 'SERVICE_ERROR' | 'NETWORK_ERROR';
|
|
10682
10638
|
/** Closed reason set of an `oauth` failure. */
|
|
10683
|
-
type HttpOAuthFailureReason = 'state-unknown' | 'state-expired' | 'subject-mismatch' | 'provider-mismatch' | 'not-signed-in' | 'store-unavailable' | 'metadata-invalid' | 'response-invalid' | 'token-rejected' | 'userinfo-mismatch' | 'unconfigured-client';
|
|
10684
|
-
/**
|
|
10685
|
-
* Failure payload of an `http` effect; `refused` = rejected before sending, `unavailable` = the host has no port
|
|
10686
|
-
* for a capability the call needs. `phase` names the failed leg (null for a refusal or other failure) and
|
|
10687
|
-
* `grantStatus`/`grantBody` the status and raw body text of a non-2xx grant reply (never a 2xx body, which carries tokens); `code`/`reason` are set only for `oauth`.
|
|
10688
|
-
*/
|
|
10689
|
-
type HttpFailurePayload = {
|
|
10690
|
-
error: string;
|
|
10691
|
-
/** The call's evaluated `key` option; null when unkeyed. */
|
|
10692
|
-
key: string | null;
|
|
10693
|
-
} & ({
|
|
10694
|
-
kind: 'unconfigured';
|
|
10695
|
-
credential: string;
|
|
10696
|
-
phase: HttpFailurePhase | null;
|
|
10697
|
-
grantStatus: number | null;
|
|
10698
|
-
grantBody: string | null;
|
|
10699
|
-
code: null;
|
|
10700
|
-
reason: null;
|
|
10701
|
-
} | {
|
|
10702
|
-
kind: 'timeout' | 'failed' | 'refused' | 'unavailable';
|
|
10703
|
-
credential: null;
|
|
10704
|
-
phase: HttpFailurePhase | null;
|
|
10705
|
-
grantStatus: number | null;
|
|
10706
|
-
grantBody: string | null;
|
|
10707
|
-
code: null;
|
|
10708
|
-
reason: null;
|
|
10709
|
-
} | {
|
|
10710
|
-
kind: 'oauth';
|
|
10711
|
-
credential: null;
|
|
10712
|
-
phase: null;
|
|
10713
|
-
grantStatus: null;
|
|
10714
|
-
grantBody: null;
|
|
10715
|
-
code: HttpOAuthFailureCode;
|
|
10716
|
-
reason: HttpOAuthFailureReason;
|
|
10717
|
-
});
|
|
10718
|
-
/** One `onMessage` delivery of an `http` effect with `stream` (json-lines: `event`/`id` null). */
|
|
10719
|
-
interface HttpStreamEvent {
|
|
10720
|
-
data: string;
|
|
10721
|
-
event: string | null;
|
|
10722
|
-
id: string | null;
|
|
10723
|
-
/** The call's evaluated `key` option; null when unkeyed. */
|
|
10724
|
-
key: string | null;
|
|
10725
|
-
}
|
|
10726
10639
|
/**
|
|
10727
10640
|
* Spawn effect - creates a new entity instance (games).
|
|
10728
10641
|
* @example ['spawn', 'Bullet', { x: '@entity.x', y: '@entity.y' }]
|
|
@@ -10740,7 +10653,7 @@ type DespawnEffect = ['despawn', string];
|
|
|
10740
10653
|
*/
|
|
10741
10654
|
type DoEffect = ['do', ...SExpr[]];
|
|
10742
10655
|
/**
|
|
10743
|
-
* Options accepted by `fetch`
|
|
10656
|
+
* Options accepted by `fetch` effects. Mirrors what
|
|
10744
10657
|
* `OrbitalServerRuntime`'s fetch handler reads at runtime: `id`, `filter`,
|
|
10745
10658
|
* `limit`, `offset`, `include`, plus the trailing `emit:` map for
|
|
10746
10659
|
* success/failure event names.
|
|
@@ -10766,6 +10679,8 @@ type FetchOptions = {
|
|
|
10766
10679
|
deliver?: 'rows' | 'ids';
|
|
10767
10680
|
/** `exact` (absent) counts every match for `totalCount`; `none` skips the count. */
|
|
10768
10681
|
total?: 'exact' | 'none';
|
|
10682
|
+
/** A non-empty string expression echoed as `key` in the success and failure payloads (EXEC-FETCH-3). */
|
|
10683
|
+
key?: string | RenderBinding;
|
|
10769
10684
|
/** Lifecycle events to emit on resolve / reject */
|
|
10770
10685
|
emit?: {
|
|
10771
10686
|
success?: string;
|
|
@@ -10797,7 +10712,7 @@ type FetchStreamOptions = {
|
|
|
10797
10712
|
*/
|
|
10798
10713
|
type FetchStreamEffect = ['fetch-stream', string] | ['fetch-stream', string, FetchStreamOptions];
|
|
10799
10714
|
/**
|
|
10800
|
-
* Result returned by a fetch
|
|
10715
|
+
* Result returned by a fetch handler.
|
|
10801
10716
|
*
|
|
10802
10717
|
* `rows` carries the entity (or entities) that survived `filter` AND
|
|
10803
10718
|
* pagination (`offset`/`limit`). `total` is the count of rows that
|
|
@@ -10838,54 +10753,6 @@ type LogEffect = ['log', ...SExpr[]];
|
|
|
10838
10753
|
* @example ['wait', 1000] - wait 1 second
|
|
10839
10754
|
*/
|
|
10840
10755
|
type WaitEffect = ['wait', number];
|
|
10841
|
-
/**
|
|
10842
|
-
* Ref effect - creates a reactive entity subscription.
|
|
10843
|
-
* Returns a reactive reference that auto-updates when the entity changes.
|
|
10844
|
-
* @example ['ref', '@entity.health'] - reactive subscription to health
|
|
10845
|
-
* @example ['ref', 'User', { id: '@payload.userId' }] - reactive ref to specific user
|
|
10846
|
-
*/
|
|
10847
|
-
type RefEffect = ['ref', string] | ['ref', string, FetchOptions];
|
|
10848
|
-
/**
|
|
10849
|
-
* Deref effect - snapshot read of an entity value.
|
|
10850
|
-
* Returns the current value without subscribing to changes.
|
|
10851
|
-
* @example ['deref', '@entity.health'] - read current health value
|
|
10852
|
-
* @example ['deref', 'User', { id: '@payload.userId' }] - read specific user snapshot
|
|
10853
|
-
*/
|
|
10854
|
-
type DerefEffect = ['deref', string] | ['deref', string, FetchOptions];
|
|
10855
|
-
/**
|
|
10856
|
-
* Swap! effect - atomic compare-and-swap on an entity field.
|
|
10857
|
-
* Only updates if the current value matches the expected value.
|
|
10858
|
-
* @example ['swap', '@entity.health', ['fn', ['old'], ['-', 'old', '@payload.damage']]]
|
|
10859
|
-
* @example ['swap', '@entity.counter', ['+', '@entity.counter', 1]]
|
|
10860
|
-
*/
|
|
10861
|
-
type SwapEffect = ['swap', string, SExpr];
|
|
10862
|
-
/**
|
|
10863
|
-
* Options accepted by `watch` effects. Mirrors what the runtime reads when
|
|
10864
|
-
* registering the change callback: `debounce` and the trailing `emit:` map.
|
|
10865
|
-
*/
|
|
10866
|
-
type WatchOptions = {
|
|
10867
|
-
/** Debounce duration in milliseconds */
|
|
10868
|
-
debounce?: number;
|
|
10869
|
-
/** Lifecycle events to emit on update / failure */
|
|
10870
|
-
emit?: {
|
|
10871
|
-
on_message?: string;
|
|
10872
|
-
failure?: string;
|
|
10873
|
-
};
|
|
10874
|
-
};
|
|
10875
|
-
/**
|
|
10876
|
-
* Watch effect - registers a callback for entity changes.
|
|
10877
|
-
* Emits an event whenever the watched binding changes.
|
|
10878
|
-
* @example ['watch', '@entity.health', 'HEALTH_CHANGED']
|
|
10879
|
-
* @example ['watch', '@entity.status', 'STATUS_UPDATED', { debounce: 100 }]
|
|
10880
|
-
*/
|
|
10881
|
-
type WatchEffect = ['watch', string, string] | ['watch', string, string, WatchOptions];
|
|
10882
|
-
/**
|
|
10883
|
-
* Atomic effect - groups multiple effects into an atomic transaction.
|
|
10884
|
-
* All effects either succeed together or are rolled back.
|
|
10885
|
-
* @example ['atomic', ['set', '@entity.x', 10], ['set', '@entity.y', 20]]
|
|
10886
|
-
* @example ['atomic', ['persist', 'update', 'User', { balance: 100 }], ['emit', 'BALANCE_UPDATED']]
|
|
10887
|
-
*/
|
|
10888
|
-
type AtomicEffect = ['atomic', ...SExpr[]];
|
|
10889
10756
|
/**
|
|
10890
10757
|
* Agent effect - invokes an agent/* operator.
|
|
10891
10758
|
* Covers all 22 operators in the std-agent category.
|
|
@@ -10923,13 +10790,29 @@ type LlmEffect = [`llm/${string}`, ...SExpr[]];
|
|
|
10923
10790
|
* installed packages through `orb`, so they run on the server.
|
|
10924
10791
|
* @example ['behavior/catalog', { paths: ['std/ui/core/molecules'] }, { emit: { success: 'LISTED', failure: 'LIST_FAILED' } }]
|
|
10925
10792
|
*/
|
|
10926
|
-
type BehaviorReflectionEffect = ['behavior/catalog' | 'behavior/describe' | 'behavior/source' | 'behavior/resolve' | 'behavior/dependencies', ...SExpr[]];
|
|
10793
|
+
type BehaviorReflectionEffect = ['behavior/catalog' | 'behavior/describe' | 'behavior/source' | 'behavior/resolve' | 'behavior/dependencies' | 'behavior/packages', ...SExpr[]];
|
|
10794
|
+
/**
|
|
10795
|
+
* Kernel-owned memory asks (EXEC-METAL-1..4): arenas, blocks, borrows and the atomic cells of shared arenas. The
|
|
10796
|
+
* pure reads of the family (`mem/read`, `mem/read-uint`, `mem/read-int`, `mem/length`, `mem/layout`) are expressions, not effect heads.
|
|
10797
|
+
* @example ['mem/arena-new', 'bump', 4096, { emit: { success: 'ARENA_OK', failure: 'FAILED' } }]
|
|
10798
|
+
*/
|
|
10799
|
+
type MemEffect = ['mem/arena-new' | 'mem/arena-drop' | 'mem/alloc' | 'mem/free' | 'mem/borrow' | 'mem/release' | 'mem/write' | 'mem/freeze' | 'mem/atomic-load' | 'mem/atomic-store' | 'mem/atomic-add' | 'mem/atomic-cas', ...SExpr[]];
|
|
10800
|
+
/**
|
|
10801
|
+
* Granted worklist reorders (EXEC-METAL-5), applied after the step's own emits; the rest of `kernel/` is expressions.
|
|
10802
|
+
* @example ['kernel/queue-front', 'TICK']
|
|
10803
|
+
*/
|
|
10804
|
+
type KernelEffect = ['kernel/queue-front' | 'kernel/queue-back', ...SExpr[]];
|
|
10805
|
+
/**
|
|
10806
|
+
* A granted C call through the native host (EXEC-METAL-6).
|
|
10807
|
+
* @example ['ffi/call', '/usr/lib/libSystem.B.dylib', 'cos', [0.5], { emit: { success: 'COS_DONE', failure: 'FFI_FAILED' } }]
|
|
10808
|
+
*/
|
|
10809
|
+
type FfiEffect = ['ffi/call', ...SExpr[]];
|
|
10927
10810
|
/**
|
|
10928
10811
|
* Program effects: read `.lolo` text into a quoted program, print one back,
|
|
10929
10812
|
* evaluate one (validate, then instantiate). Run `orb` on the server.
|
|
10930
10813
|
* @example ['program/eval', '@entity.program', { emit: { success: 'BUILT', failure: 'BUILD_FAILED' } }]
|
|
10931
10814
|
*/
|
|
10932
|
-
type ProgramEffect = ['program/read' | 'program/print' | 'program/eval' | 'program/validate' | 'program/compose' | 'program/step' | 'program/live', ...SExpr[]];
|
|
10815
|
+
type ProgramEffect = ['program/read' | 'program/print' | 'program/eval' | 'program/validate' | 'program/prove' | 'program/os-grants' | 'program/compose' | 'program/step' | 'program/live' | 'program/self' | 'program/tick' | 'program/resolve-rows' | 'program/open' | 'program/close', ...SExpr[]];
|
|
10933
10816
|
/**
|
|
10934
10817
|
* Agent-port effects, the three abilities an LLM tool loop is written with: `program/inputs` lists the
|
|
10935
10818
|
* running program's declared external inputs, `program/dispatch` fires one AS THE CALLER through the ordinary
|
|
@@ -10948,7 +10831,12 @@ type AgentPortEffect = ['program/inputs' | 'program/dispatch' | 'persist/read-na
|
|
|
10948
10831
|
type SessionEffect = [`session/${string}`, ...SExpr[]];
|
|
10949
10832
|
type TraceEffect = [`trace/${string}`, ...SExpr[]];
|
|
10950
10833
|
type MemoryEffect = [`memory/${string}`, ...SExpr[]];
|
|
10834
|
+
type KvEffect = [`kv/${string}`, ...SExpr[]];
|
|
10951
10835
|
type ApplicationEffect = [`application/${string}`, ...SExpr[]];
|
|
10836
|
+
type AudioEffect = [`audio/${string}`, ...SExpr[]];
|
|
10837
|
+
type AuthEffect = [`auth/${string}`, ...SExpr[]];
|
|
10838
|
+
type IdentityEffect = [`identity/${string}`, ...SExpr[]];
|
|
10839
|
+
type ThemeEffect = [`theme/${string}`, ...SExpr[]];
|
|
10952
10840
|
/** Effect operators the std registry declares that had no typed tuple (arity from the registry). */
|
|
10953
10841
|
type NotifyEffect = ['notify', SExpr] | ['notify', SExpr, SExpr];
|
|
10954
10842
|
type SendServerEffect = ['send-server', SExpr] | ['send-server', SExpr, SExpr];
|
|
@@ -10963,7 +10851,7 @@ type WorkspaceArchiveOrbitalEffect = ['workspace/archive-orbital', SExpr];
|
|
|
10963
10851
|
* Union of all typed effects.
|
|
10964
10852
|
* Provides compile-time validation for common effect types.
|
|
10965
10853
|
*/
|
|
10966
|
-
type TypedEffect = RenderUIEffect | NavigateEffect | NavigateBackEffect | EmitEffect | SetEffect | PersistEffect | CallServiceEffect | CancelCallEffect |
|
|
10854
|
+
type TypedEffect = RenderUIEffect | NavigateEffect | NavigateBackEffect | EmitEffect | SetEffect | PersistEffect | CallServiceEffect | CancelCallEffect | OAuthAuthorizeEffect | OAuthConnectionStatusEffect | OAuthConnectionForgetEffect | RandomBytesEffect | CredentialStatusEffect | CredentialForgetEffect | CredentialConnectEffect | CredentialAdminEffect | AccessCheckEffect | SpawnEffect | DespawnEffect | DoEffect | FetchEffect | FetchStreamEffect | IfEffect | WhenEffect | LetEffect | LogEffect | WaitEffect | AgentEffect | OsEffect | BrowserEffect | LlmEffect | BehaviorReflectionEffect | ProgramEffect | MemEffect | KernelEffect | FfiEffect | AgentPortEffect | SessionEffect | TraceEffect | MemoryEffect | KvEffect | ApplicationEffect | AudioEffect | AuthEffect | IdentityEffect | ThemeEffect | NotifyEffect | SendServerEffect | ProbSeedEffect | ProbConditionEffect | WorkspaceWriteOrbitalEffect | WorkspaceWriteFileEffect | WorkspaceWriteSchemaEffect | WorkspaceWritePlanEffect | WorkspaceArchiveOrbitalEffect;
|
|
10967
10855
|
/**
|
|
10968
10856
|
* Effect type - typed S-expression format.
|
|
10969
10857
|
*
|
|
@@ -10991,9 +10879,9 @@ type TypedEffect = RenderUIEffect | NavigateEffect | NavigateBackEffect | EmitEf
|
|
|
10991
10879
|
*/
|
|
10992
10880
|
type Effect = TypedEffect;
|
|
10993
10881
|
/** Every literal effect operator the {@link Effect} union declares, as runtime data. */
|
|
10994
|
-
declare const EFFECT_OPERATORS: readonly ["render-ui", "navigate", "navigate-back", "emit", "set", "persist", "call-service", "cancel-call", "
|
|
10882
|
+
declare const EFFECT_OPERATORS: readonly ["render-ui", "navigate", "navigate-back", "emit", "set", "persist", "call-service", "cancel-call", "oauth-authorize", "oauth-connection-status", "oauth-connection-forget", "random-bytes", "credential-status", "credential-forget", "credential-connect", "credential-list", "credential-set", "credential-remove", "credential-test", "credential-mode", "credential-rotate", "access-check", "spawn", "despawn", "do", "fetch", "fetch-stream", "if", "when", "let", "log", "wait", "notify", "send-server", "prob/seed", "prob/condition", "workspace/write-orbital", "workspace/write-file", "workspace/write-schema", "workspace/write-plan", "workspace/archive-orbital", "behavior/catalog", "behavior/describe", "behavior/source", "behavior/resolve", "behavior/dependencies", "behavior/packages", "program/read", "program/print", "program/eval", "program/validate", "program/prove", "program/os-grants", "program/compose", "program/step", "program/inputs", "program/dispatch", "program/open", "program/close", "program/live", "program/self", "program/tick", "program/resolve-rows", "persist/read-named", "mem/arena-new", "mem/arena-drop", "mem/alloc", "mem/free", "mem/borrow", "mem/release", "mem/write", "mem/freeze", "mem/atomic-load", "mem/atomic-store", "mem/atomic-add", "mem/atomic-cas", "kernel/queue-front", "kernel/queue-back", "ffi/call"];
|
|
10995
10883
|
/** Namespaced effect families (`<family>/<name>`, e.g. `llm/generate`) the {@link Effect} union declares. */
|
|
10996
|
-
declare const EFFECT_OPERATOR_FAMILIES: readonly ["agent", "os", "browser", "llm", "session", "trace", "memory", "application"];
|
|
10884
|
+
declare const EFFECT_OPERATOR_FAMILIES: readonly ["agent", "os", "browser", "llm", "session", "trace", "memory", "kv", "application", "audio", "auth", "identity", "theme"];
|
|
10997
10885
|
type EffectOperator = (typeof EFFECT_OPERATORS)[number];
|
|
10998
10886
|
type EffectOperatorFamily = (typeof EFFECT_OPERATOR_FAMILIES)[number];
|
|
10999
10887
|
type EffectHead = Effect[0];
|
|
@@ -11009,15 +10897,15 @@ type EffectOperatorsInSync = AssertTrue<[
|
|
|
11009
10897
|
] extends [never, never, never, never] ? true : false>;
|
|
11010
10898
|
/**
|
|
11011
10899
|
* The effects a server reports an outcome for on
|
|
11012
|
-
* `
|
|
10900
|
+
* `EventResponse.effectResults` (`ServerEffectResult.effect`). Every
|
|
11013
10901
|
* member is checked against the effect heads above at compile time, so a
|
|
11014
10902
|
* name that is not an effect cannot be listed and a new server-reported
|
|
11015
10903
|
* effect is added HERE only — the wire type, its zod twin and the
|
|
11016
10904
|
* `events-wire` fixture case all derive from this array.
|
|
11017
10905
|
*/
|
|
11018
|
-
declare const SERVER_REPORTED_EFFECTS: readonly ["set", "persist", "call-service", "
|
|
10906
|
+
declare const SERVER_REPORTED_EFFECTS: readonly ["set", "persist", "call-service", "fetch", "fetch-stream", "emit"];
|
|
11019
10907
|
type ServerReportedEffect = (typeof SERVER_REPORTED_EFFECTS)[number];
|
|
11020
|
-
/** A namespaced effect head (`
|
|
10908
|
+
/** A namespaced effect head (`llm/generate`, `behavior/describe`, `program/read`) — what a
|
|
11021
10909
|
* `substrate` result's `name` carries. Derived from the union, never listed. */
|
|
11022
10910
|
type NamespacedEffectName = Extract<Effect[0], `${string}/${string}`>;
|
|
11023
10911
|
/** Validates the S-expression shape and yields the typed `Effect` (the claim `isEffect` makes). */
|
|
@@ -11134,64 +11022,6 @@ declare function despawn(entityId: string): DespawnEffect;
|
|
|
11134
11022
|
* @example ["do", ["set", "@entity.x", 0], ["set", "@entity.y", 0]]
|
|
11135
11023
|
*/
|
|
11136
11024
|
declare function doEffects(...effects: SExpr[]): DoEffect;
|
|
11137
|
-
/**
|
|
11138
|
-
* Create a ref effect (reactive entity subscription).
|
|
11139
|
-
*
|
|
11140
|
-
* @param {string} binding - Binding or entity name to subscribe to
|
|
11141
|
-
* @param {FetchOptions} [selector] - Optional selector for specific entity
|
|
11142
|
-
* @returns {RefEffect} Ref effect array
|
|
11143
|
-
*
|
|
11144
|
-
* @example
|
|
11145
|
-
* ref('@entity.health'); // returns ["ref", "@entity.health"]
|
|
11146
|
-
* ref('User', { id: '@payload.userId' }); // returns ["ref", "User", { id: "@payload.userId" }]
|
|
11147
|
-
*/
|
|
11148
|
-
declare function ref(binding: string): RefEffect;
|
|
11149
|
-
declare function ref(binding: string, selector: FetchOptions): RefEffect;
|
|
11150
|
-
/**
|
|
11151
|
-
* Create a deref effect (snapshot read).
|
|
11152
|
-
*
|
|
11153
|
-
* @param {string} binding - Binding or entity name to read
|
|
11154
|
-
* @param {FetchOptions} [selector] - Optional selector for specific entity
|
|
11155
|
-
* @returns {DerefEffect} Deref effect array
|
|
11156
|
-
*
|
|
11157
|
-
* @example
|
|
11158
|
-
* deref('@entity.health'); // returns ["deref", "@entity.health"]
|
|
11159
|
-
* deref('User', { id: '@payload.userId' }); // returns ["deref", "User", { id: "@payload.userId" }]
|
|
11160
|
-
*/
|
|
11161
|
-
declare function deref(binding: string): DerefEffect;
|
|
11162
|
-
declare function deref(binding: string, selector: FetchOptions): DerefEffect;
|
|
11163
|
-
/**
|
|
11164
|
-
* Create a swap effect (atomic compare-and-swap).
|
|
11165
|
-
*
|
|
11166
|
-
* @param {string} binding - Binding to atomically update
|
|
11167
|
-
* @param {SExpr} transform - Transformation expression applied to the current value
|
|
11168
|
-
* @returns {SwapEffect} Swap effect array
|
|
11169
|
-
*
|
|
11170
|
-
* @example
|
|
11171
|
-
* swap('@entity.counter', ['+', '@entity.counter', 1]);
|
|
11172
|
-
* // returns ["swap", "@entity.counter", ["+", "@entity.counter", 1]]
|
|
11173
|
-
*/
|
|
11174
|
-
declare function swap(binding: string, transform: SExpr): SwapEffect;
|
|
11175
|
-
/**
|
|
11176
|
-
* Create a watch effect (entity change callback).
|
|
11177
|
-
*
|
|
11178
|
-
* @example
|
|
11179
|
-
* watch('@entity.health', 'HEALTH_CHANGED');
|
|
11180
|
-
* watch('@entity.status', 'STATUS_UPDATED', { debounce: 100 });
|
|
11181
|
-
*/
|
|
11182
|
-
declare function watch(binding: string, event: string): WatchEffect;
|
|
11183
|
-
declare function watch(binding: string, event: string, options: WatchOptions): WatchEffect;
|
|
11184
|
-
/**
|
|
11185
|
-
* Create an atomic effect (transaction group).
|
|
11186
|
-
*
|
|
11187
|
-
* @param {...SExpr[]} effects - Effects to execute atomically
|
|
11188
|
-
* @returns {AtomicEffect} Atomic effect array
|
|
11189
|
-
*
|
|
11190
|
-
* @example
|
|
11191
|
-
* atomic(['set', '@entity.x', 10], ['set', '@entity.y', 20]);
|
|
11192
|
-
* // returns ["atomic", ["set", "@entity.x", 10], ["set", "@entity.y", 20]]
|
|
11193
|
-
*/
|
|
11194
|
-
declare function atomic(...effects: SExpr[]): AtomicEffect;
|
|
11195
11025
|
/** Resolved pattern props for render-ui effects at runtime. Recursive for nested pattern configs. */
|
|
11196
11026
|
type ResolvedPatternProps = {
|
|
11197
11027
|
[prop: string]: string | number | boolean | null | undefined | ResolvedPatternProps | RenderChildrenMap | Array<ResolvedPatternProps | RenderChildrenMap>;
|
|
@@ -11222,5 +11052,5 @@ interface RenderUINode {
|
|
|
11222
11052
|
renderItem?: RenderUINode;
|
|
11223
11053
|
}
|
|
11224
11054
|
|
|
11225
|
-
export { AssetCatalogEntrySchema as $, AnimationDefSchema as J, AnimationNameSchema as L, AssetAspectSchema as X, AssetCatalogSchema as a0, AssetDimensionSchema as a2, AssetSchema as a3, AudioManifestSchema as
|
|
11226
|
-
export type { AnyPatternConfig as A, AccessCheckRequest as B, AgentEffect as C, AgentPortEffect as D, EntityField as E,
|
|
11055
|
+
export { AssetCatalogEntrySchema as $, AnimationDefSchema as J, AnimationNameSchema as L, AssetAspectSchema as X, AssetCatalogSchema as a0, AssetDimensionSchema as a2, AssetSchema as a3, AudioManifestSchema as a6, DEFAULT_UNIT_ANIMATION_ROWS as aO, EFFECT_OPERATORS as aR, EFFECT_OPERATOR_FAMILIES as aS, ENTITY_ROLES as aT, EffectSchema as aY, CAMERA_MODES as al, CameraModeSchema as ar, CameraSchema as as, EntityFieldSchema as b1, EntityIdSchema as b2, EntityPersistenceSchema as b3, EntityRoleSchema as b5, EntityRowSchema as b6, EntitySchema as b7, LedgerKindSchema as bB, MANIFEST_ASSET_LICENSES as bE, MANIFEST_CANVAS_AFFINITIES as bF, MANIFEST_ENTRY_KINDS as bG, MANIFEST_SOURCE_CATALOGS as bH, ManifestAssetLicenseSchema as bJ, ManifestCanvasAffinitySchema as bL, ManifestEntryKindSchema as bP, ManifestEntrySchema as bQ, ManifestFrameSpecSchema as bS, ManifestSourceCatalogSchema as bU, McpServiceDefSchema as bW, EventIdSchema as ba, FIELD_TYPES as bb, FX_KINDS as bc, FieldProjectionSchema as bj, FieldSchema as bk, FieldTagSchema as bm, FieldTypeSchema as bo, FieldValueSchema as bp, FileValueSchema as br, FxKindSchema as bt, IdentityLedgerSchema as bx, LedgerEntrySchema as bz, OrbitalEntitySchema as c7, OrbitalIdSchema as c8, RestServiceDefSchema as cA, SEMANTIC_STRING_PATTERNS as cB, SEMANTIC_STRING_TYPES as cC, SERVER_REPORTED_EFFECTS as cD, SERVICE_TYPES as cE, SHEET_PROJECTIONS as cF, SPRITE_DIRECTIONS as cG, SPRITE_SHEET_LAYOUT as cH, ScenePosSchema as cK, SemanticAssetRefSchema as cN, ServiceDefinitionSchema as cQ, ServiceIdSchema as cS, ServiceRefObjectSchema as cV, ServiceRefSchema as cW, ServiceRefStringSchema as cX, ServiceTypeSchema as cZ, PageIdSchema as cb, PaletteEntryIdSchema as cd, PatternConfigSchema as ce, PatternObjectSchema as cf, RENDERED_SLOTS as cn, RelationConfigSchema as cq, ResolvedPatternPropsSchema as cw, RestAuthConfigSchema as cy, isClientResident as d$, SheetProjectionSchema as d1, SocketEventsSchema as d3, SocketServiceDefSchema as d5, SoundEntrySchema as d7, asEntityId as dE, asEventId as dF, asOrbitalId as dG, asPageId as dH, asPaletteEntryId as dI, asServiceId as dJ, asThemeId as dK, asTraitId as dL, callService as dM, createAssetKey as dN, credentialStatusConnected as dO, credentialStorageKey as dP, defaultUnitAtlas as dQ, despawn as dR, doEffects as dS, emit as dT, findService as dU, getDefaultAnimationsForRole as dV, getServiceNames as dW, hasService as dX, idKindOf as dY, idPrefix as dZ, instancesForLocale as d_, SpriteDirectionSchema as da, SpriteSheetAtlasSchema as dd, SubTextureSchema as dg, TYPE_POSITION_ONLY as dh, TextureAtlasSchema as dk, ThemeIdSchema as dm, TilesheetSchema as dp, TraitIdSchema as dr, TypeVariableSchema as dt, UISlotSchema as du, UI_SLOTS as dv, VISUAL_STYLES as dw, VisualStyleSchema as dy, isEffect as e0, isEmailValue as e1, isEntityId as e2, isEventId as e3, isFieldValue as e4, isFileValue as e5, isMcpService as e6, isOrbitalId as e7, isPageId as e8, isPaletteEntryId as e9, parseAssetKey as eA, parseAssetQuery as eB, parseServiceRef as eC, persist as eD, persistenceModeAllowsOverrides as eE, renderUI as eF, resolveCredentialStatusIdentity as eG, set as eH, spawn as eI, storesRowsInBrowser as eJ, validateAssetAnimations as eK, isPersistBatchOperation as ea, isPhoneValue as eb, isRestService as ec, isRuntimeEntity as ed, isSExprEffect as ee, isSemanticStringType as ef, isSemanticStringValue as eg, isServiceId as eh, isServiceReference as ei, isServiceReferenceObject as ej, isSocketService as ek, isThemeId as el, isTraitId as em, isTypeVariable as en, isTypeVariableField as eo, isUrlValue as ep, isUuidValue as eq, ledgerCurName as er, ledgerRename as es, ledgerResolveName as et, manifestToAssetCatalog as eu, matchAssetQuery as ev, mintId as ew, mintUlid as ex, navigate as ey, navigateBack as ez, PATTERN_TYPES as p, isValidPatternType as t, ANIMATION_NAMES as v, ASSET_ASPECTS as w, ASSET_DIMENSIONS as x };
|
|
11056
|
+
export type { AnyPatternConfig as A, AccessCheckRequest as B, AgentEffect as C, AgentPortEffect as D, EntityField as E, FieldProjection as F, AnimationDef as G, AnimationDefInput as H, IdentityLedger as I, AnimationName as K, ApplicationEffect as M, NamespacedEffectName as N, OrbitalId as O, PageId as P, ArrayEntityField as Q, RelationConfig as R, ServerReportedEffect as S, TraitId as T, UISlot as U, Asset as V, AssetAspect as W, AssetCatalog as Y, AssetCatalogEntry as Z, AssetCatalogEntryInput as _, EntityPersistence as a, EntityData as a$, AssetDimension as a1, AssetUrl as a4, AudioManifest as a5, BehaviorReflectionEffect as a7, BrowserEmbedEffect as a8, BrowserEmbedPayload as a9, CredentialConnectFailureKind as aA, CredentialConnectRequest as aB, CredentialForgetEffect as aC, CredentialIdentity as aD, CredentialListEntry as aE, CredentialListPayload as aF, CredentialModePayload as aG, CredentialPayload as aH, CredentialRemovePayload as aI, CredentialRotatePayload as aJ, CredentialServiceStatus as aK, CredentialSetPayload as aL, CredentialStatusEffect as aM, CredentialTestPayload as aN, DespawnEffect as aP, DoEffect as aQ, EffectInput as aU, EffectOperator as aV, EffectOperatorFamily as aW, EffectOperatorsInSync as aX, EmitConfig as aZ, EmitEffect as a_, BrowserPageFacts as aa, BrowserPageFactsEffect as ab, BrowserPromptEffect as ac, BrowserPromptPayload as ad, BrowserTabCapture as ae, BrowserTabEffect as af, BrowserTabElement as ag, BrowserTabElementRef as ah, BrowserTabFailureKind as ai, BrowserTabFailurePayload as aj, BrowserTabOperator as ak, CallServiceConfig as am, CallServiceEffect as an, CallServiceEmitConfig as ao, Camera as ap, CameraMode as aq, CancelCallEffect as at, ControlValue as au, CredentialAdminEffect as av, CredentialAdminFailure as aw, CredentialAdminOperator as ax, CredentialConnectEffect as ay, CredentialConnectFailure as az, EventId as b, NotifyEffect as b$, EntityFieldInput as b0, EntityRole as b4, EntityWith as b8, EnumEntityField as b9, LedgerKind as bA, LlmEffect as bC, LogEffect as bD, ManifestAssetLicense as bI, ManifestCanvasAffinity as bK, ManifestEntry as bM, ManifestEntryInput as bN, ManifestEntryKind as bO, ManifestFrameSpec as bR, ManifestSourceCatalog as bT, McpServiceDef as bV, MemoryEffect as bX, NavigateBackEffect as bY, NavigateEffect as bZ, NavigateOptions as b_, FetchEffect as bd, FetchOptions as be, FetchResult as bf, FetchStreamEffect as bg, FetchStreamOptions as bh, Field as bi, FieldTag as bl, FieldType as bn, FileValue as bq, FxKind as bs, HostCallEmitConfig as bu, IdForKind as bv, IdKind as bw, LedgerEntry as by, EntityRow as c, SetEffect as c$, ObjectEntityField as c0, OnDeviceEmbedderPort as c1, OnDeviceFailureKind as c2, OnDeviceFailurePayload as c3, OnDeviceModelPort as c4, OnDeviceModelPorts as c5, OrbitalEntityInput as c6, OsEffect as c9, ScalarEntityField as cI, ScenePos as cJ, SemanticAssetRef as cL, SemanticAssetRefInput as cM, SemanticStringType as cO, SendServerEffect as cP, ServiceId as cR, ServiceParamsValue as cT, ServiceRefObject as cU, ServiceType as cY, SessionEffect as c_, PageFactField as ca, PaletteEntryId as cc, PersistBatchOperation as cg, PersistData as ch, PersistEffect as ci, PersistEmitConfig as cj, ProbConditionEffect as ck, ProbSeedEffect as cl, ProgramEffect as cm, RandomBytesEffect as co, RandomBytesPayload as cp, RelationEntityField as cr, RenderChildrenMap as cs, RenderItemLambda as ct, RenderUINode as cu, ResolvedPatternProps as cv, RestAuthConfig as cx, RestServiceDef as cz, Effect as d, SheetProjection as d0, SocketEvents as d2, SocketServiceDef as d4, SoundEntry as d6, SpawnEffect as d8, SpriteDirection as d9, WorkspaceWriteFileEffect as dA, WorkspaceWriteOrbitalEffect as dB, WorkspaceWritePlanEffect as dC, WorkspaceWriteSchemaEffect as dD, SpriteSheetAtlas as db, SpriteSheetAtlasInput as dc, SpriteSheetLayout as de, SubTexture as df, TemplatePatternConfig as di, TextureAtlas as dj, ThemeId as dl, Tilesheet as dn, TraceEffect as dq, TypeVariableEntityField as ds, VisualStyle as dx, WorkspaceArchiveOrbitalEffect as dz, TypedEffect as e, TypeVariable as f, EntityId as g, Entity as h, FieldValue as i, ServiceParams as j, ServiceRef as k, ServiceDefinition as l, RenderBinding as m, RenderUIEffect as n, PatternType as o, PatternConfig as q, PatternProps as r, PatternPropsMap as s, OrbitalEntity as u, AccessCheckEffect as y, AccessCheckPayload as z };
|