@almadar/std 3.3.5 → 3.4.2

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.
@@ -11449,6 +11449,1585 @@ function stdEventHandlerGame(params) {
11449
11449
  );
11450
11450
  }
11451
11451
  function resolve70(params) {
11452
+ const { entityName } = params;
11453
+ const baseFields = ensureIdField(params.fields);
11454
+ const domainFields = [
11455
+ { name: "predictedClass", type: "string", default: "" },
11456
+ { name: "confidence", type: "number", default: 0 },
11457
+ { name: "status", type: "string", default: "ready" }
11458
+ ];
11459
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
11460
+ const fields = [...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))];
11461
+ const p = plural(entityName);
11462
+ return {
11463
+ entityName,
11464
+ fields,
11465
+ architecture: params.architecture,
11466
+ inputFields: params.inputFields,
11467
+ classes: params.classes,
11468
+ inputRange: params.inputRange ?? [0, 1],
11469
+ classifyEvent: params.classifyEvent ?? "CLASSIFY",
11470
+ resultEvent: params.resultEvent ?? "CLASSIFIED",
11471
+ traitName: `${entityName}Classifier`,
11472
+ pluralName: p,
11473
+ pageName: params.pageName ?? `${entityName}ClassifierPage`,
11474
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/classify`,
11475
+ isInitial: params.isInitial ?? false
11476
+ };
11477
+ }
11478
+ function buildInputContract(inputFields, inputRange) {
11479
+ return {
11480
+ type: "tensor",
11481
+ shape: [inputFields.length],
11482
+ dtype: "float32",
11483
+ fields: inputFields,
11484
+ range: inputRange
11485
+ };
11486
+ }
11487
+ function buildOutputContract(classes) {
11488
+ return {
11489
+ type: "tensor",
11490
+ shape: [classes.length],
11491
+ dtype: "float32",
11492
+ labels: classes,
11493
+ activation: "softmax"
11494
+ };
11495
+ }
11496
+ function buildTrait60(c) {
11497
+ const { entityName, classifyEvent, resultEvent, classes } = c;
11498
+ const readyView = {
11499
+ type: "stack",
11500
+ direction: "vertical",
11501
+ gap: "lg",
11502
+ align: "center",
11503
+ children: [
11504
+ {
11505
+ type: "stack",
11506
+ direction: "horizontal",
11507
+ gap: "sm",
11508
+ align: "center",
11509
+ children: [
11510
+ { type: "icon", name: "brain", size: "lg" },
11511
+ { type: "typography", content: `${entityName} Classifier`, variant: "h2" }
11512
+ ]
11513
+ },
11514
+ { type: "divider" },
11515
+ { type: "badge", label: "@entity.status" },
11516
+ { type: "typography", variant: "body", color: "muted", content: `Classifies into: ${classes.join(", ")}` },
11517
+ { type: "button", label: "Classify", event: classifyEvent, variant: "primary", icon: "play" }
11518
+ ]
11519
+ };
11520
+ const classifyingView = {
11521
+ type: "stack",
11522
+ direction: "vertical",
11523
+ gap: "lg",
11524
+ align: "center",
11525
+ children: [
11526
+ { type: "loading-state", title: "Classifying", message: "Running forward pass with argmax..." },
11527
+ { type: "spinner", size: "lg" }
11528
+ ]
11529
+ };
11530
+ const resultView = {
11531
+ type: "stack",
11532
+ direction: "vertical",
11533
+ gap: "lg",
11534
+ align: "center",
11535
+ children: [
11536
+ {
11537
+ type: "stack",
11538
+ direction: "horizontal",
11539
+ gap: "sm",
11540
+ align: "center",
11541
+ children: [
11542
+ { type: "icon", name: "check-circle", size: "lg" },
11543
+ { type: "typography", content: "Classification Complete", variant: "h2" }
11544
+ ]
11545
+ },
11546
+ { type: "divider" },
11547
+ { type: "badge", label: "@entity.predictedClass", variant: "success" },
11548
+ { type: "typography", variant: "caption", content: "Confidence" },
11549
+ { type: "progress-bar", value: "@entity.confidence", max: 1 },
11550
+ { type: "button", label: "Classify Again", event: classifyEvent, variant: "outline", icon: "refresh-cw" }
11551
+ ]
11552
+ };
11553
+ const inputContract = buildInputContract(c.inputFields, c.inputRange);
11554
+ const outputContract = buildOutputContract(c.classes);
11555
+ const forwardEffect = ["forward", "primary", {
11556
+ architecture: c.architecture,
11557
+ input: "@payload.input",
11558
+ "input-contract": inputContract,
11559
+ "output-contract": outputContract,
11560
+ "on-complete": "FORWARD_DONE"
11561
+ }];
11562
+ return {
11563
+ name: c.traitName,
11564
+ linkedEntity: entityName,
11565
+ category: "interaction",
11566
+ emits: [{ event: resultEvent, scope: "external" }],
11567
+ stateMachine: {
11568
+ states: [
11569
+ { name: "ready", isInitial: true },
11570
+ { name: "classifying" }
11571
+ ],
11572
+ events: [
11573
+ { key: "INIT", name: "Initialize" },
11574
+ { key: classifyEvent, name: "Classify" },
11575
+ { key: "FORWARD_DONE", name: "Forward Done" }
11576
+ ],
11577
+ transitions: [
11578
+ // INIT: ready -> ready
11579
+ {
11580
+ from: "ready",
11581
+ to: "ready",
11582
+ event: "INIT",
11583
+ effects: [
11584
+ ["set", "@entity.status", "ready"],
11585
+ ["render-ui", "main", readyView]
11586
+ ]
11587
+ },
11588
+ // CLASSIFY: ready -> classifying (fire forward pass)
11589
+ {
11590
+ from: "ready",
11591
+ to: "classifying",
11592
+ event: classifyEvent,
11593
+ effects: [
11594
+ ["set", "@entity.status", "classifying"],
11595
+ forwardEffect,
11596
+ ["render-ui", "main", classifyingView]
11597
+ ]
11598
+ },
11599
+ // FORWARD_DONE: classifying -> ready (argmax + emit result)
11600
+ {
11601
+ from: "classifying",
11602
+ to: "ready",
11603
+ event: "FORWARD_DONE",
11604
+ effects: [
11605
+ ["set", "@entity.predictedClass", ["tensor/argmax-label", "@payload.output", classes]],
11606
+ ["set", "@entity.confidence", ["tensor/max", "@payload.output"]],
11607
+ ["set", "@entity.status", "ready"],
11608
+ ["emit", resultEvent],
11609
+ ["render-ui", "main", resultView]
11610
+ ]
11611
+ }
11612
+ ]
11613
+ }
11614
+ };
11615
+ }
11616
+ function stdClassifierEntity(params) {
11617
+ const c = resolve70(params);
11618
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
11619
+ }
11620
+ function stdClassifierTrait(params) {
11621
+ return buildTrait60(resolve70(params));
11622
+ }
11623
+ function stdClassifierPage(params) {
11624
+ const c = resolve70(params);
11625
+ return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
11626
+ }
11627
+ function stdClassifier(params) {
11628
+ const c = resolve70(params);
11629
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
11630
+ const trait = buildTrait60(c);
11631
+ const page = {
11632
+ name: c.pageName,
11633
+ path: c.pagePath,
11634
+ ...c.isInitial ? { isInitial: true } : {},
11635
+ traits: [{ ref: trait.name }]
11636
+ };
11637
+ return {
11638
+ name: `${c.entityName}Orbital`,
11639
+ entity,
11640
+ traits: [trait],
11641
+ pages: [page]
11642
+ };
11643
+ }
11644
+ function resolve71(params) {
11645
+ const { entityName } = params;
11646
+ const baseFields = ensureIdField(params.fields);
11647
+ const domainFields = [
11648
+ { name: "epoch", type: "number", default: 0 },
11649
+ { name: "totalEpochs", type: "number", default: 10 },
11650
+ { name: "loss", type: "number", default: 0 },
11651
+ { name: "accuracy", type: "number", default: 0 },
11652
+ { name: "trainingStatus", type: "string", default: "idle" },
11653
+ { name: "checkpointPath", type: "string", default: "" },
11654
+ { name: "evalScore", type: "number", default: 0 }
11655
+ ];
11656
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
11657
+ const fields = [...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))];
11658
+ const p = plural(entityName);
11659
+ return {
11660
+ entityName,
11661
+ fields,
11662
+ architecture: params.architecture,
11663
+ trainingConfig: params.trainingConfig,
11664
+ metrics: params.metrics,
11665
+ evaluateAfterTraining: params.evaluateAfterTraining ?? true,
11666
+ autoCheckpoint: params.autoCheckpoint ?? true,
11667
+ trainTraitName: `${entityName}TrainLoop`,
11668
+ evalTraitName: `${entityName}Evaluate`,
11669
+ checkpointTraitName: `${entityName}Checkpoint`,
11670
+ pluralName: p,
11671
+ pageName: params.pageName ?? `${entityName}TrainerPage`,
11672
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/train`,
11673
+ isInitial: params.isInitial ?? false
11674
+ };
11675
+ }
11676
+ function buildTrainLoopTrait(c) {
11677
+ const { entityName } = c;
11678
+ const idleView = {
11679
+ type: "stack",
11680
+ direction: "vertical",
11681
+ gap: "lg",
11682
+ align: "center",
11683
+ children: [
11684
+ {
11685
+ type: "stack",
11686
+ direction: "horizontal",
11687
+ gap: "sm",
11688
+ align: "center",
11689
+ children: [
11690
+ { type: "icon", name: "cpu", size: "lg" },
11691
+ { type: "typography", content: `${entityName} Training`, variant: "h2" }
11692
+ ]
11693
+ },
11694
+ { type: "divider" },
11695
+ { type: "badge", label: "@entity.trainingStatus" },
11696
+ { type: "typography", variant: "body", color: "muted", content: `Metrics: ${c.metrics.join(", ")}` },
11697
+ { type: "button", label: "Start Training", event: "START_TRAINING", variant: "primary", icon: "play" }
11698
+ ]
11699
+ };
11700
+ const trainingView = {
11701
+ type: "stack",
11702
+ direction: "vertical",
11703
+ gap: "md",
11704
+ align: "center",
11705
+ children: [
11706
+ { type: "typography", content: "Training in Progress", variant: "h3" },
11707
+ { type: "typography", variant: "caption", content: "Epoch" },
11708
+ { type: "progress-bar", value: "@entity.epoch", max: "@entity.totalEpochs" },
11709
+ { type: "typography", variant: "body", content: "Loss: @entity.loss" },
11710
+ { type: "spinner", size: "md" }
11711
+ ]
11712
+ };
11713
+ const trainEffect = ["train", "primary", {
11714
+ architecture: c.architecture,
11715
+ config: c.trainingConfig,
11716
+ metrics: c.metrics,
11717
+ "on-epoch": "EPOCH_DONE",
11718
+ "on-complete": "TRAINING_DONE"
11719
+ }];
11720
+ return {
11721
+ name: c.trainTraitName,
11722
+ linkedEntity: entityName,
11723
+ category: "interaction",
11724
+ emits: [{ event: "TRAINING_DONE", scope: "external" }],
11725
+ stateMachine: {
11726
+ states: [
11727
+ { name: "idle", isInitial: true },
11728
+ { name: "training" }
11729
+ ],
11730
+ events: [
11731
+ { key: "INIT", name: "Initialize" },
11732
+ { key: "START_TRAINING", name: "Start Training" },
11733
+ { key: "EPOCH_DONE", name: "Epoch Done" },
11734
+ { key: "TRAINING_DONE", name: "Training Done" }
11735
+ ],
11736
+ transitions: [
11737
+ {
11738
+ from: "idle",
11739
+ to: "idle",
11740
+ event: "INIT",
11741
+ effects: [
11742
+ ["set", "@entity.trainingStatus", "idle"],
11743
+ ["set", "@entity.totalEpochs", c.trainingConfig.epochs ?? 10],
11744
+ ["render-ui", "main", idleView]
11745
+ ]
11746
+ },
11747
+ {
11748
+ from: "idle",
11749
+ to: "training",
11750
+ event: "START_TRAINING",
11751
+ effects: [
11752
+ ["set", "@entity.trainingStatus", "training"],
11753
+ ["set", "@entity.epoch", 0],
11754
+ trainEffect,
11755
+ ["render-ui", "main", trainingView]
11756
+ ]
11757
+ },
11758
+ {
11759
+ from: "training",
11760
+ to: "training",
11761
+ event: "EPOCH_DONE",
11762
+ effects: [
11763
+ ["set", "@entity.epoch", "@payload.epoch"],
11764
+ ["set", "@entity.loss", "@payload.loss"],
11765
+ ["render-ui", "main", trainingView]
11766
+ ]
11767
+ },
11768
+ {
11769
+ from: "training",
11770
+ to: "idle",
11771
+ event: "TRAINING_DONE",
11772
+ effects: [
11773
+ ["set", "@entity.trainingStatus", "trained"],
11774
+ ["set", "@entity.loss", "@payload.finalLoss"],
11775
+ ["emit", "TRAINING_DONE"],
11776
+ ["render-ui", "main", idleView]
11777
+ ]
11778
+ }
11779
+ ]
11780
+ }
11781
+ };
11782
+ }
11783
+ function buildEvaluateTrait(c) {
11784
+ const { entityName } = c;
11785
+ const waitingView = {
11786
+ type: "stack",
11787
+ direction: "vertical",
11788
+ gap: "md",
11789
+ align: "center",
11790
+ children: [
11791
+ { type: "icon", name: "bar-chart-2", size: "lg" },
11792
+ { type: "typography", content: "Evaluation", variant: "h3" },
11793
+ { type: "badge", label: "Waiting for training", variant: "neutral" }
11794
+ ]
11795
+ };
11796
+ const evaluatingView = {
11797
+ type: "stack",
11798
+ direction: "vertical",
11799
+ gap: "md",
11800
+ align: "center",
11801
+ children: [
11802
+ { type: "typography", content: "Evaluating Model", variant: "h3" },
11803
+ { type: "spinner", size: "md" },
11804
+ { type: "typography", variant: "body", color: "muted", content: `Computing: ${c.metrics.join(", ")}` }
11805
+ ]
11806
+ };
11807
+ const doneView = {
11808
+ type: "stack",
11809
+ direction: "vertical",
11810
+ gap: "md",
11811
+ align: "center",
11812
+ children: [
11813
+ { type: "icon", name: "check-circle", size: "lg" },
11814
+ { type: "typography", content: "Evaluation Complete", variant: "h3" },
11815
+ { type: "typography", variant: "body", content: "Score: @entity.evalScore" }
11816
+ ]
11817
+ };
11818
+ const evaluateEffect = ["evaluate", "primary", {
11819
+ architecture: c.architecture,
11820
+ metrics: c.metrics,
11821
+ "on-complete": "EVAL_DONE"
11822
+ }];
11823
+ return {
11824
+ name: c.evalTraitName,
11825
+ linkedEntity: entityName,
11826
+ category: "interaction",
11827
+ emits: [{ event: "EVAL_DONE", scope: "external" }],
11828
+ stateMachine: {
11829
+ states: [
11830
+ { name: "waiting", isInitial: true },
11831
+ { name: "evaluating" }
11832
+ ],
11833
+ events: [
11834
+ { key: "INIT", name: "Initialize" },
11835
+ { key: "TRAINING_DONE", name: "Training Done" },
11836
+ { key: "EVAL_DONE", name: "Evaluation Done" }
11837
+ ],
11838
+ transitions: [
11839
+ {
11840
+ from: "waiting",
11841
+ to: "waiting",
11842
+ event: "INIT",
11843
+ effects: [
11844
+ ["render-ui", "main", waitingView]
11845
+ ]
11846
+ },
11847
+ {
11848
+ from: "waiting",
11849
+ to: "evaluating",
11850
+ event: "TRAINING_DONE",
11851
+ effects: [
11852
+ evaluateEffect,
11853
+ ["render-ui", "main", evaluatingView]
11854
+ ]
11855
+ },
11856
+ {
11857
+ from: "evaluating",
11858
+ to: "waiting",
11859
+ event: "EVAL_DONE",
11860
+ effects: [
11861
+ ["set", "@entity.evalScore", "@payload.score"],
11862
+ ["emit", "EVAL_DONE"],
11863
+ ["render-ui", "main", doneView]
11864
+ ]
11865
+ }
11866
+ ]
11867
+ }
11868
+ };
11869
+ }
11870
+ function buildCheckpointTrait(c) {
11871
+ const { entityName } = c;
11872
+ const idleView = {
11873
+ type: "stack",
11874
+ direction: "vertical",
11875
+ gap: "md",
11876
+ align: "center",
11877
+ children: [
11878
+ { type: "icon", name: "save", size: "lg" },
11879
+ { type: "typography", content: "Checkpoint", variant: "h3" },
11880
+ { type: "badge", label: "Waiting", variant: "neutral" }
11881
+ ]
11882
+ };
11883
+ const savingView = {
11884
+ type: "stack",
11885
+ direction: "vertical",
11886
+ gap: "md",
11887
+ align: "center",
11888
+ children: [
11889
+ { type: "typography", content: "Saving Checkpoint", variant: "h3" },
11890
+ { type: "spinner", size: "md" }
11891
+ ]
11892
+ };
11893
+ const savedView = {
11894
+ type: "stack",
11895
+ direction: "vertical",
11896
+ gap: "md",
11897
+ align: "center",
11898
+ children: [
11899
+ { type: "icon", name: "check-circle", size: "lg" },
11900
+ { type: "typography", content: "Model Saved", variant: "h3" },
11901
+ { type: "typography", variant: "caption", content: "@entity.checkpointPath" }
11902
+ ]
11903
+ };
11904
+ const checkpointEffect = ["checkpoint", "primary", {
11905
+ architecture: c.architecture,
11906
+ "on-complete": "MODEL_SAVED"
11907
+ }];
11908
+ return {
11909
+ name: c.checkpointTraitName,
11910
+ linkedEntity: entityName,
11911
+ category: "interaction",
11912
+ emits: [{ event: "MODEL_SAVED", scope: "external" }],
11913
+ stateMachine: {
11914
+ states: [
11915
+ { name: "idle", isInitial: true },
11916
+ { name: "saving" }
11917
+ ],
11918
+ events: [
11919
+ { key: "INIT", name: "Initialize" },
11920
+ { key: "EVAL_DONE", name: "Evaluation Done" },
11921
+ { key: "MODEL_SAVED", name: "Model Saved" }
11922
+ ],
11923
+ transitions: [
11924
+ {
11925
+ from: "idle",
11926
+ to: "idle",
11927
+ event: "INIT",
11928
+ effects: [
11929
+ ["render-ui", "main", idleView]
11930
+ ]
11931
+ },
11932
+ {
11933
+ from: "idle",
11934
+ to: "saving",
11935
+ event: "EVAL_DONE",
11936
+ effects: [
11937
+ checkpointEffect,
11938
+ ["render-ui", "main", savingView]
11939
+ ]
11940
+ },
11941
+ {
11942
+ from: "saving",
11943
+ to: "idle",
11944
+ event: "MODEL_SAVED",
11945
+ effects: [
11946
+ ["set", "@entity.checkpointPath", "@payload.path"],
11947
+ ["set", "@entity.trainingStatus", "saved"],
11948
+ ["emit", "MODEL_SAVED"],
11949
+ ["render-ui", "main", savedView]
11950
+ ]
11951
+ }
11952
+ ]
11953
+ }
11954
+ };
11955
+ }
11956
+ function stdTrainerEntity(params) {
11957
+ const c = resolve71(params);
11958
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
11959
+ }
11960
+ function stdTrainerTrait(params) {
11961
+ return buildTrainLoopTrait(resolve71(params));
11962
+ }
11963
+ function stdTrainerPage(params) {
11964
+ const c = resolve71(params);
11965
+ return {
11966
+ name: c.pageName,
11967
+ path: c.pagePath,
11968
+ ...c.isInitial ? { isInitial: true } : {},
11969
+ traits: [
11970
+ { ref: c.trainTraitName },
11971
+ { ref: c.evalTraitName },
11972
+ { ref: c.checkpointTraitName }
11973
+ ]
11974
+ };
11975
+ }
11976
+ function stdTrainer(params) {
11977
+ const c = resolve71(params);
11978
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
11979
+ const trainTrait = buildTrainLoopTrait(c);
11980
+ const traits = [trainTrait];
11981
+ if (c.evaluateAfterTraining) {
11982
+ const evalTrait = buildEvaluateTrait(c);
11983
+ traits.push(evalTrait);
11984
+ }
11985
+ if (c.autoCheckpoint && c.evaluateAfterTraining) {
11986
+ const checkpointTrait = buildCheckpointTrait(c);
11987
+ traits.push(checkpointTrait);
11988
+ }
11989
+ const page = {
11990
+ name: c.pageName,
11991
+ path: c.pagePath,
11992
+ ...c.isInitial ? { isInitial: true } : {},
11993
+ traits: traits.map((t) => ({ ref: t.name }))
11994
+ };
11995
+ return {
11996
+ name: `${c.entityName}Orbital`,
11997
+ entity,
11998
+ traits,
11999
+ pages: [page]
12000
+ };
12001
+ }
12002
+ function resolve72(params) {
12003
+ const { entityName } = params;
12004
+ const baseFields = [
12005
+ { name: "id", type: "string", default: "" },
12006
+ ...params.observationFields.map((f) => ({
12007
+ name: f,
12008
+ type: "number",
12009
+ default: 0
12010
+ }))
12011
+ ];
12012
+ const domainFields = [
12013
+ { name: "selectedAction", type: "number", default: -1 },
12014
+ { name: "reward", type: "number", default: 0 },
12015
+ { name: "totalReward", type: "number", default: 0 },
12016
+ { name: "episodeCount", type: "number", default: 0 },
12017
+ { name: "bufferCount", type: "number", default: 0 },
12018
+ { name: "agentStatus", type: "string", default: "idle" },
12019
+ { name: "policyLoss", type: "number", default: 0 }
12020
+ ];
12021
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
12022
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
12023
+ const p = plural(entityName);
12024
+ return {
12025
+ entityName,
12026
+ fields,
12027
+ architecture: params.architecture,
12028
+ observationFields: params.observationFields,
12029
+ actionCount: params.actionCount,
12030
+ bufferSize: params.bufferSize ?? 1e3,
12031
+ trainingConfig: params.trainingConfig ?? { learningRate: 1e-3, batchSize: 32 },
12032
+ discountFactor: params.discountFactor ?? 0.99,
12033
+ policyTraitName: `${entityName}Policy`,
12034
+ collectorTraitName: `${entityName}Collector`,
12035
+ trainTraitName: `${entityName}Train`,
12036
+ pluralName: p,
12037
+ pageName: params.pageName ?? `${entityName}AgentPage`,
12038
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/agent`,
12039
+ isInitial: params.isInitial ?? false
12040
+ };
12041
+ }
12042
+ function buildPolicyTrait(c) {
12043
+ const { entityName, actionCount } = c;
12044
+ const idleView = {
12045
+ type: "stack",
12046
+ direction: "vertical",
12047
+ gap: "lg",
12048
+ align: "center",
12049
+ children: [
12050
+ {
12051
+ type: "stack",
12052
+ direction: "horizontal",
12053
+ gap: "sm",
12054
+ align: "center",
12055
+ children: [
12056
+ { type: "icon", name: "brain", size: "lg" },
12057
+ { type: "typography", content: `${entityName} RL Agent`, variant: "h2" }
12058
+ ]
12059
+ },
12060
+ { type: "divider" },
12061
+ { type: "badge", label: "@entity.agentStatus" },
12062
+ { type: "typography", variant: "body", color: "muted", content: `Actions: ${actionCount} | Discount: ${c.discountFactor}` },
12063
+ { type: "button", label: "Send Observation", event: "OBSERVATION", variant: "primary", icon: "eye" }
12064
+ ]
12065
+ };
12066
+ const inferringView = {
12067
+ type: "stack",
12068
+ direction: "vertical",
12069
+ gap: "md",
12070
+ align: "center",
12071
+ children: [
12072
+ { type: "typography", content: "Selecting Action", variant: "h3" },
12073
+ { type: "spinner", size: "md" }
12074
+ ]
12075
+ };
12076
+ const forwardEffect = ["forward", "primary", {
12077
+ architecture: c.architecture,
12078
+ input: "@payload.observation",
12079
+ "output-contract": { type: "tensor", shape: [actionCount], dtype: "float32", activation: "softmax" },
12080
+ "on-complete": "ACTION_SCORES"
12081
+ }];
12082
+ return {
12083
+ name: c.policyTraitName,
12084
+ linkedEntity: entityName,
12085
+ category: "interaction",
12086
+ emits: [{ event: "ACTION", scope: "external" }],
12087
+ stateMachine: {
12088
+ states: [
12089
+ { name: "idle", isInitial: true },
12090
+ { name: "inferring" }
12091
+ ],
12092
+ events: [
12093
+ { key: "INIT", name: "Initialize" },
12094
+ { key: "OBSERVATION", name: "Observation" },
12095
+ { key: "ACTION_SCORES", name: "Action Scores" }
12096
+ ],
12097
+ transitions: [
12098
+ {
12099
+ from: "idle",
12100
+ to: "idle",
12101
+ event: "INIT",
12102
+ effects: [
12103
+ ["set", "@entity.agentStatus", "idle"],
12104
+ ["render-ui", "main", idleView]
12105
+ ]
12106
+ },
12107
+ {
12108
+ from: "idle",
12109
+ to: "inferring",
12110
+ event: "OBSERVATION",
12111
+ effects: [
12112
+ ["set", "@entity.agentStatus", "inferring"],
12113
+ forwardEffect,
12114
+ ["render-ui", "main", inferringView]
12115
+ ]
12116
+ },
12117
+ {
12118
+ from: "inferring",
12119
+ to: "idle",
12120
+ event: "ACTION_SCORES",
12121
+ effects: [
12122
+ ["set", "@entity.selectedAction", ["tensor/argmax", "@payload.output"]],
12123
+ ["set", "@entity.agentStatus", "idle"],
12124
+ ["emit", "ACTION"],
12125
+ ["render-ui", "main", idleView]
12126
+ ]
12127
+ }
12128
+ ]
12129
+ }
12130
+ };
12131
+ }
12132
+ function buildCollectorTrait(c) {
12133
+ const { entityName, bufferSize } = c;
12134
+ const collectingView = {
12135
+ type: "stack",
12136
+ direction: "vertical",
12137
+ gap: "md",
12138
+ align: "center",
12139
+ children: [
12140
+ { type: "icon", name: "database", size: "lg" },
12141
+ { type: "typography", content: "Replay Buffer", variant: "h3" },
12142
+ { type: "typography", variant: "body", content: "Transitions: @entity.bufferCount" },
12143
+ { type: "progress-bar", value: "@entity.bufferCount", max: bufferSize }
12144
+ ]
12145
+ };
12146
+ const collectEffect = ["buffer-append", "replay", {
12147
+ capacity: bufferSize,
12148
+ transition: {
12149
+ observation: "@payload.observation",
12150
+ action: "@payload.action",
12151
+ reward: "@payload.reward",
12152
+ nextObservation: "@payload.nextObservation"
12153
+ },
12154
+ "on-full": "BUFFER_READY"
12155
+ }];
12156
+ return {
12157
+ name: c.collectorTraitName,
12158
+ linkedEntity: entityName,
12159
+ category: "interaction",
12160
+ emits: [{ event: "BUFFER_READY", scope: "external" }],
12161
+ stateMachine: {
12162
+ states: [
12163
+ { name: "collecting", isInitial: true }
12164
+ ],
12165
+ events: [
12166
+ { key: "INIT", name: "Initialize" },
12167
+ { key: "STORE_TRANSITION", name: "Store Transition" },
12168
+ { key: "BUFFER_READY", name: "Buffer Ready" }
12169
+ ],
12170
+ transitions: [
12171
+ {
12172
+ from: "collecting",
12173
+ to: "collecting",
12174
+ event: "INIT",
12175
+ effects: [
12176
+ ["set", "@entity.bufferCount", 0],
12177
+ ["render-ui", "main", collectingView]
12178
+ ]
12179
+ },
12180
+ {
12181
+ from: "collecting",
12182
+ to: "collecting",
12183
+ event: "STORE_TRANSITION",
12184
+ effects: [
12185
+ collectEffect,
12186
+ ["set", "@entity.bufferCount", ["math/add", "@entity.bufferCount", 1]],
12187
+ ["render-ui", "main", collectingView]
12188
+ ]
12189
+ },
12190
+ {
12191
+ from: "collecting",
12192
+ to: "collecting",
12193
+ event: "BUFFER_READY",
12194
+ effects: [
12195
+ ["emit", "BUFFER_READY"],
12196
+ ["render-ui", "main", collectingView]
12197
+ ]
12198
+ }
12199
+ ]
12200
+ }
12201
+ };
12202
+ }
12203
+ function buildTrainTrait(c) {
12204
+ const { entityName } = c;
12205
+ const waitingView = {
12206
+ type: "stack",
12207
+ direction: "vertical",
12208
+ gap: "md",
12209
+ align: "center",
12210
+ children: [
12211
+ { type: "icon", name: "cpu", size: "lg" },
12212
+ { type: "typography", content: "Policy Training", variant: "h3" },
12213
+ { type: "badge", label: "Waiting for buffer", variant: "neutral" },
12214
+ { type: "typography", variant: "caption", content: "Loss: @entity.policyLoss" }
12215
+ ]
12216
+ };
12217
+ const trainingView = {
12218
+ type: "stack",
12219
+ direction: "vertical",
12220
+ gap: "md",
12221
+ align: "center",
12222
+ children: [
12223
+ { type: "typography", content: "Training Policy", variant: "h3" },
12224
+ { type: "spinner", size: "md" }
12225
+ ]
12226
+ };
12227
+ const trainEffect = ["train", "primary", {
12228
+ architecture: c.architecture,
12229
+ config: { ...c.trainingConfig, discountFactor: c.discountFactor },
12230
+ source: "replay",
12231
+ "on-complete": "POLICY_UPDATED"
12232
+ }];
12233
+ return {
12234
+ name: c.trainTraitName,
12235
+ linkedEntity: entityName,
12236
+ category: "interaction",
12237
+ emits: [{ event: "POLICY_UPDATED", scope: "external" }],
12238
+ stateMachine: {
12239
+ states: [
12240
+ { name: "waiting", isInitial: true },
12241
+ { name: "training" }
12242
+ ],
12243
+ events: [
12244
+ { key: "INIT", name: "Initialize" },
12245
+ { key: "BUFFER_READY", name: "Buffer Ready" },
12246
+ { key: "POLICY_UPDATED", name: "Policy Updated" }
12247
+ ],
12248
+ transitions: [
12249
+ {
12250
+ from: "waiting",
12251
+ to: "waiting",
12252
+ event: "INIT",
12253
+ effects: [
12254
+ ["render-ui", "main", waitingView]
12255
+ ]
12256
+ },
12257
+ {
12258
+ from: "waiting",
12259
+ to: "training",
12260
+ event: "BUFFER_READY",
12261
+ effects: [
12262
+ trainEffect,
12263
+ ["render-ui", "main", trainingView]
12264
+ ]
12265
+ },
12266
+ {
12267
+ from: "training",
12268
+ to: "waiting",
12269
+ event: "POLICY_UPDATED",
12270
+ effects: [
12271
+ ["set", "@entity.policyLoss", "@payload.loss"],
12272
+ ["set", "@entity.episodeCount", ["math/add", "@entity.episodeCount", 1]],
12273
+ ["emit", "POLICY_UPDATED"],
12274
+ ["render-ui", "main", waitingView]
12275
+ ]
12276
+ }
12277
+ ]
12278
+ }
12279
+ };
12280
+ }
12281
+ function stdRlAgentEntity(params) {
12282
+ const c = resolve72(params);
12283
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12284
+ }
12285
+ function stdRlAgentTrait(params) {
12286
+ return buildPolicyTrait(resolve72(params));
12287
+ }
12288
+ function stdRlAgentPage(params) {
12289
+ const c = resolve72(params);
12290
+ return {
12291
+ name: c.pageName,
12292
+ path: c.pagePath,
12293
+ ...c.isInitial ? { isInitial: true } : {},
12294
+ traits: [
12295
+ { ref: c.policyTraitName },
12296
+ { ref: c.collectorTraitName },
12297
+ { ref: c.trainTraitName }
12298
+ ]
12299
+ };
12300
+ }
12301
+ function stdRlAgent(params) {
12302
+ const c = resolve72(params);
12303
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12304
+ const policyTrait = buildPolicyTrait(c);
12305
+ const collectorTrait = buildCollectorTrait(c);
12306
+ const trainTrait = buildTrainTrait(c);
12307
+ const page = {
12308
+ name: c.pageName,
12309
+ path: c.pagePath,
12310
+ ...c.isInitial ? { isInitial: true } : {},
12311
+ traits: [
12312
+ { ref: policyTrait.name },
12313
+ { ref: collectorTrait.name },
12314
+ { ref: trainTrait.name }
12315
+ ]
12316
+ };
12317
+ return {
12318
+ name: `${c.entityName}Orbital`,
12319
+ entity,
12320
+ traits: [policyTrait, collectorTrait, trainTrait],
12321
+ pages: [page]
12322
+ };
12323
+ }
12324
+ function resolve73(params) {
12325
+ const { entityName } = params;
12326
+ const baseFields = [{ name: "id", type: "string", default: "" }];
12327
+ const domainFields = [
12328
+ { name: "nodeCount", type: "number", default: 0 },
12329
+ { name: "edgeCount", type: "number", default: 0 },
12330
+ { name: "predictedClass", type: "string", default: "" },
12331
+ { name: "confidence", type: "number", default: 0 },
12332
+ { name: "graphStatus", type: "string", default: "idle" }
12333
+ ];
12334
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
12335
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
12336
+ const p = plural(entityName);
12337
+ return {
12338
+ entityName,
12339
+ fields,
12340
+ nodeEntity: params.nodeEntity,
12341
+ edgeField: params.edgeField,
12342
+ nodeFeatures: params.nodeFeatures,
12343
+ architecture: params.architecture,
12344
+ classes: params.classes,
12345
+ graphTraitName: `${entityName}GraphBuilder`,
12346
+ classifyTraitName: `${entityName}GnnClassify`,
12347
+ pluralName: p,
12348
+ pageName: params.pageName ?? `${entityName}GraphPage`,
12349
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/graph-classify`,
12350
+ isInitial: params.isInitial ?? false
12351
+ };
12352
+ }
12353
+ function buildGraphBuilderTrait(c) {
12354
+ const { entityName, nodeEntity, edgeField, nodeFeatures } = c;
12355
+ const idleView = {
12356
+ type: "stack",
12357
+ direction: "vertical",
12358
+ gap: "lg",
12359
+ align: "center",
12360
+ children: [
12361
+ {
12362
+ type: "stack",
12363
+ direction: "horizontal",
12364
+ gap: "sm",
12365
+ align: "center",
12366
+ children: [
12367
+ { type: "icon", name: "git-branch", size: "lg" },
12368
+ { type: "typography", content: `${entityName} Graph Classifier`, variant: "h2" }
12369
+ ]
12370
+ },
12371
+ { type: "divider" },
12372
+ { type: "badge", label: "@entity.graphStatus" },
12373
+ { type: "typography", variant: "body", color: "muted", content: `Nodes: ${nodeEntity} | Features: ${nodeFeatures.join(", ")}` },
12374
+ { type: "typography", variant: "caption", content: `Classes: ${c.classes.join(", ")}` },
12375
+ { type: "button", label: "Classify Graph", event: "CLASSIFY", variant: "primary", icon: "play" }
12376
+ ]
12377
+ };
12378
+ const buildingView = {
12379
+ type: "stack",
12380
+ direction: "vertical",
12381
+ gap: "md",
12382
+ align: "center",
12383
+ children: [
12384
+ { type: "typography", content: "Building Graph", variant: "h3" },
12385
+ { type: "spinner", size: "md" },
12386
+ { type: "typography", variant: "body", color: "muted", content: "Constructing adjacency matrix and feature vectors..." }
12387
+ ]
12388
+ };
12389
+ const buildGraphEffect = ["graph-build", "primary", {
12390
+ nodeEntity,
12391
+ edgeField,
12392
+ features: nodeFeatures,
12393
+ "on-complete": "GRAPH_READY"
12394
+ }];
12395
+ return {
12396
+ name: c.graphTraitName,
12397
+ linkedEntity: entityName,
12398
+ category: "interaction",
12399
+ emits: [{ event: "GRAPH_READY", scope: "external" }],
12400
+ stateMachine: {
12401
+ states: [
12402
+ { name: "idle", isInitial: true },
12403
+ { name: "building" }
12404
+ ],
12405
+ events: [
12406
+ { key: "INIT", name: "Initialize" },
12407
+ { key: "CLASSIFY", name: "Classify" },
12408
+ { key: "GRAPH_READY", name: "Graph Ready" }
12409
+ ],
12410
+ transitions: [
12411
+ {
12412
+ from: "idle",
12413
+ to: "idle",
12414
+ event: "INIT",
12415
+ effects: [
12416
+ ["set", "@entity.graphStatus", "idle"],
12417
+ ["render-ui", "main", idleView]
12418
+ ]
12419
+ },
12420
+ {
12421
+ from: "idle",
12422
+ to: "building",
12423
+ event: "CLASSIFY",
12424
+ effects: [
12425
+ ["set", "@entity.graphStatus", "building"],
12426
+ buildGraphEffect,
12427
+ ["render-ui", "main", buildingView]
12428
+ ]
12429
+ },
12430
+ {
12431
+ from: "building",
12432
+ to: "idle",
12433
+ event: "GRAPH_READY",
12434
+ effects: [
12435
+ ["set", "@entity.nodeCount", "@payload.nodeCount"],
12436
+ ["set", "@entity.edgeCount", "@payload.edgeCount"],
12437
+ ["set", "@entity.graphStatus", "graph_ready"],
12438
+ ["emit", "GRAPH_READY"],
12439
+ ["render-ui", "main", idleView]
12440
+ ]
12441
+ }
12442
+ ]
12443
+ }
12444
+ };
12445
+ }
12446
+ function buildGnnClassifyTrait(c) {
12447
+ const { entityName, classes } = c;
12448
+ const waitingView = {
12449
+ type: "stack",
12450
+ direction: "vertical",
12451
+ gap: "md",
12452
+ align: "center",
12453
+ children: [
12454
+ { type: "icon", name: "brain", size: "lg" },
12455
+ { type: "typography", content: "GNN Classification", variant: "h3" },
12456
+ { type: "badge", label: "Waiting for graph", variant: "neutral" }
12457
+ ]
12458
+ };
12459
+ const classifyingView = {
12460
+ type: "stack",
12461
+ direction: "vertical",
12462
+ gap: "md",
12463
+ align: "center",
12464
+ children: [
12465
+ { type: "typography", content: "Running GNN Forward Pass", variant: "h3" },
12466
+ { type: "spinner", size: "md" }
12467
+ ]
12468
+ };
12469
+ const resultView = {
12470
+ type: "stack",
12471
+ direction: "vertical",
12472
+ gap: "md",
12473
+ align: "center",
12474
+ children: [
12475
+ { type: "icon", name: "check-circle", size: "lg" },
12476
+ { type: "typography", content: "Classification Result", variant: "h3" },
12477
+ { type: "badge", label: "@entity.predictedClass", variant: "success" },
12478
+ { type: "typography", variant: "caption", content: "Confidence" },
12479
+ { type: "progress-bar", value: "@entity.confidence", max: 1 },
12480
+ { type: "typography", variant: "body", content: "Nodes: @entity.nodeCount | Edges: @entity.edgeCount" }
12481
+ ]
12482
+ };
12483
+ const forwardEffect = ["forward", "primary", {
12484
+ architecture: c.architecture,
12485
+ input: "@payload.graph",
12486
+ "output-contract": { type: "tensor", shape: [classes.length], dtype: "float32", labels: classes, activation: "softmax" },
12487
+ "on-complete": "CLASSIFIED"
12488
+ }];
12489
+ return {
12490
+ name: c.classifyTraitName,
12491
+ linkedEntity: entityName,
12492
+ category: "interaction",
12493
+ emits: [{ event: "CLASSIFIED", scope: "external" }],
12494
+ stateMachine: {
12495
+ states: [
12496
+ { name: "waiting", isInitial: true },
12497
+ { name: "classifying" }
12498
+ ],
12499
+ events: [
12500
+ { key: "INIT", name: "Initialize" },
12501
+ { key: "GRAPH_READY", name: "Graph Ready" },
12502
+ { key: "CLASSIFIED", name: "Classified" }
12503
+ ],
12504
+ transitions: [
12505
+ {
12506
+ from: "waiting",
12507
+ to: "waiting",
12508
+ event: "INIT",
12509
+ effects: [
12510
+ ["render-ui", "main", waitingView]
12511
+ ]
12512
+ },
12513
+ {
12514
+ from: "waiting",
12515
+ to: "classifying",
12516
+ event: "GRAPH_READY",
12517
+ effects: [
12518
+ forwardEffect,
12519
+ ["render-ui", "main", classifyingView]
12520
+ ]
12521
+ },
12522
+ {
12523
+ from: "classifying",
12524
+ to: "waiting",
12525
+ event: "CLASSIFIED",
12526
+ effects: [
12527
+ ["set", "@entity.predictedClass", ["tensor/argmax-label", "@payload.output", classes]],
12528
+ ["set", "@entity.confidence", ["tensor/max", "@payload.output"]],
12529
+ ["set", "@entity.graphStatus", "classified"],
12530
+ ["emit", "CLASSIFIED"],
12531
+ ["render-ui", "main", resultView]
12532
+ ]
12533
+ }
12534
+ ]
12535
+ }
12536
+ };
12537
+ }
12538
+ function stdGraphClassifierEntity(params) {
12539
+ const c = resolve73(params);
12540
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12541
+ }
12542
+ function stdGraphClassifierTrait(params) {
12543
+ return buildGraphBuilderTrait(resolve73(params));
12544
+ }
12545
+ function stdGraphClassifierPage(params) {
12546
+ const c = resolve73(params);
12547
+ return {
12548
+ name: c.pageName,
12549
+ path: c.pagePath,
12550
+ ...c.isInitial ? { isInitial: true } : {},
12551
+ traits: [
12552
+ { ref: c.graphTraitName },
12553
+ { ref: c.classifyTraitName }
12554
+ ]
12555
+ };
12556
+ }
12557
+ function stdGraphClassifier(params) {
12558
+ const c = resolve73(params);
12559
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12560
+ const graphTrait = buildGraphBuilderTrait(c);
12561
+ const classifyTrait = buildGnnClassifyTrait(c);
12562
+ const page = {
12563
+ name: c.pageName,
12564
+ path: c.pagePath,
12565
+ ...c.isInitial ? { isInitial: true } : {},
12566
+ traits: [
12567
+ { ref: graphTrait.name },
12568
+ { ref: classifyTrait.name }
12569
+ ]
12570
+ };
12571
+ return {
12572
+ name: `${c.entityName}Orbital`,
12573
+ entity,
12574
+ traits: [graphTrait, classifyTrait],
12575
+ pages: [page]
12576
+ };
12577
+ }
12578
+ function resolve74(params) {
12579
+ const { entityName } = params;
12580
+ const baseFields = [
12581
+ { name: "id", type: "string", default: "" },
12582
+ { name: params.sourceField, type: "string", default: "" }
12583
+ ];
12584
+ const domainFields = [
12585
+ { name: "tokenCount", type: "number", default: 0 },
12586
+ { name: "predictedClass", type: "string", default: "" },
12587
+ { name: "confidence", type: "number", default: 0 },
12588
+ { name: "classifyStatus", type: "string", default: "idle" }
12589
+ ];
12590
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
12591
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
12592
+ const p = plural(entityName);
12593
+ return {
12594
+ entityName,
12595
+ fields,
12596
+ sourceField: params.sourceField,
12597
+ architecture: params.architecture,
12598
+ classes: params.classes,
12599
+ tokenizerMethod: params.tokenizerMethod ?? "whitespace",
12600
+ maxLength: params.maxLength ?? 512,
12601
+ tokenizerTraitName: `${entityName}Tokenizer`,
12602
+ classifyTraitName: `${entityName}TextClassify`,
12603
+ pluralName: p,
12604
+ pageName: params.pageName ?? `${entityName}TextClassifyPage`,
12605
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/text-classify`,
12606
+ isInitial: params.isInitial ?? false
12607
+ };
12608
+ }
12609
+ function buildTokenizerTrait(c) {
12610
+ const { entityName, sourceField, tokenizerMethod, maxLength, classes } = c;
12611
+ const idleView = {
12612
+ type: "stack",
12613
+ direction: "vertical",
12614
+ gap: "lg",
12615
+ align: "center",
12616
+ children: [
12617
+ {
12618
+ type: "stack",
12619
+ direction: "horizontal",
12620
+ gap: "sm",
12621
+ align: "center",
12622
+ children: [
12623
+ { type: "icon", name: "type", size: "lg" },
12624
+ { type: "typography", content: `${entityName} Text Classifier`, variant: "h2" }
12625
+ ]
12626
+ },
12627
+ { type: "divider" },
12628
+ { type: "badge", label: "@entity.classifyStatus" },
12629
+ { type: "typography", variant: "body", color: "muted", content: `Source: ${sourceField} | Method: ${tokenizerMethod} | Max: ${maxLength}` },
12630
+ { type: "typography", variant: "caption", content: `Classes: ${classes.join(", ")}` },
12631
+ { type: "button", label: "Classify Text", event: "CLASSIFY", variant: "primary", icon: "play" }
12632
+ ]
12633
+ };
12634
+ const tokenizingView = {
12635
+ type: "stack",
12636
+ direction: "vertical",
12637
+ gap: "md",
12638
+ align: "center",
12639
+ children: [
12640
+ { type: "typography", content: "Tokenizing", variant: "h3" },
12641
+ { type: "spinner", size: "md" },
12642
+ { type: "typography", variant: "body", color: "muted", content: `Method: ${tokenizerMethod}` }
12643
+ ]
12644
+ };
12645
+ const tokenizeEffect = ["tokenize", "primary", {
12646
+ method: tokenizerMethod,
12647
+ input: `@entity.${sourceField}`,
12648
+ maxLength,
12649
+ "on-complete": "TOKENS_READY"
12650
+ }];
12651
+ return {
12652
+ name: c.tokenizerTraitName,
12653
+ linkedEntity: entityName,
12654
+ category: "interaction",
12655
+ emits: [{ event: "TOKENS_READY", scope: "external" }],
12656
+ stateMachine: {
12657
+ states: [
12658
+ { name: "idle", isInitial: true },
12659
+ { name: "tokenizing" }
12660
+ ],
12661
+ events: [
12662
+ { key: "INIT", name: "Initialize" },
12663
+ { key: "CLASSIFY", name: "Classify" },
12664
+ { key: "TOKENS_READY", name: "Tokens Ready" }
12665
+ ],
12666
+ transitions: [
12667
+ {
12668
+ from: "idle",
12669
+ to: "idle",
12670
+ event: "INIT",
12671
+ effects: [
12672
+ ["set", "@entity.classifyStatus", "idle"],
12673
+ ["render-ui", "main", idleView]
12674
+ ]
12675
+ },
12676
+ {
12677
+ from: "idle",
12678
+ to: "tokenizing",
12679
+ event: "CLASSIFY",
12680
+ effects: [
12681
+ ["set", "@entity.classifyStatus", "tokenizing"],
12682
+ tokenizeEffect,
12683
+ ["render-ui", "main", tokenizingView]
12684
+ ]
12685
+ },
12686
+ {
12687
+ from: "tokenizing",
12688
+ to: "idle",
12689
+ event: "TOKENS_READY",
12690
+ effects: [
12691
+ ["set", "@entity.tokenCount", "@payload.tokenCount"],
12692
+ ["set", "@entity.classifyStatus", "tokenized"],
12693
+ ["emit", "TOKENS_READY"],
12694
+ ["render-ui", "main", idleView]
12695
+ ]
12696
+ }
12697
+ ]
12698
+ }
12699
+ };
12700
+ }
12701
+ function buildTextClassifyTrait(c) {
12702
+ const { entityName, classes } = c;
12703
+ const waitingView = {
12704
+ type: "stack",
12705
+ direction: "vertical",
12706
+ gap: "md",
12707
+ align: "center",
12708
+ children: [
12709
+ { type: "icon", name: "brain", size: "lg" },
12710
+ { type: "typography", content: "Text Classification", variant: "h3" },
12711
+ { type: "badge", label: "Waiting for tokens", variant: "neutral" }
12712
+ ]
12713
+ };
12714
+ const classifyingView = {
12715
+ type: "stack",
12716
+ direction: "vertical",
12717
+ gap: "md",
12718
+ align: "center",
12719
+ children: [
12720
+ { type: "typography", content: "Classifying Text", variant: "h3" },
12721
+ { type: "spinner", size: "md" },
12722
+ { type: "typography", variant: "body", color: "muted", content: "Tokens: @entity.tokenCount" }
12723
+ ]
12724
+ };
12725
+ const resultView = {
12726
+ type: "stack",
12727
+ direction: "vertical",
12728
+ gap: "md",
12729
+ align: "center",
12730
+ children: [
12731
+ { type: "icon", name: "check-circle", size: "lg" },
12732
+ { type: "typography", content: "Classification Result", variant: "h3" },
12733
+ { type: "badge", label: "@entity.predictedClass", variant: "success" },
12734
+ { type: "typography", variant: "caption", content: "Confidence" },
12735
+ { type: "progress-bar", value: "@entity.confidence", max: 1 },
12736
+ { type: "button", label: "Classify Again", event: "CLASSIFY", variant: "outline", icon: "refresh-cw" }
12737
+ ]
12738
+ };
12739
+ const forwardEffect = ["forward", "primary", {
12740
+ architecture: c.architecture,
12741
+ input: "@payload.tokens",
12742
+ "output-contract": { type: "tensor", shape: [classes.length], dtype: "float32", labels: classes, activation: "softmax" },
12743
+ "on-complete": "CLASSIFIED"
12744
+ }];
12745
+ return {
12746
+ name: c.classifyTraitName,
12747
+ linkedEntity: entityName,
12748
+ category: "interaction",
12749
+ emits: [{ event: "CLASSIFIED", scope: "external" }],
12750
+ stateMachine: {
12751
+ states: [
12752
+ { name: "waiting", isInitial: true },
12753
+ { name: "classifying" }
12754
+ ],
12755
+ events: [
12756
+ { key: "INIT", name: "Initialize" },
12757
+ { key: "TOKENS_READY", name: "Tokens Ready" },
12758
+ { key: "CLASSIFIED", name: "Classified" }
12759
+ ],
12760
+ transitions: [
12761
+ {
12762
+ from: "waiting",
12763
+ to: "waiting",
12764
+ event: "INIT",
12765
+ effects: [
12766
+ ["render-ui", "main", waitingView]
12767
+ ]
12768
+ },
12769
+ {
12770
+ from: "waiting",
12771
+ to: "classifying",
12772
+ event: "TOKENS_READY",
12773
+ effects: [
12774
+ forwardEffect,
12775
+ ["render-ui", "main", classifyingView]
12776
+ ]
12777
+ },
12778
+ {
12779
+ from: "classifying",
12780
+ to: "waiting",
12781
+ event: "CLASSIFIED",
12782
+ effects: [
12783
+ ["set", "@entity.predictedClass", ["tensor/argmax-label", "@payload.output", classes]],
12784
+ ["set", "@entity.confidence", ["tensor/max", "@payload.output"]],
12785
+ ["set", "@entity.classifyStatus", "classified"],
12786
+ ["emit", "CLASSIFIED"],
12787
+ ["render-ui", "main", resultView]
12788
+ ]
12789
+ }
12790
+ ]
12791
+ }
12792
+ };
12793
+ }
12794
+ function stdTextClassifierEntity(params) {
12795
+ const c = resolve74(params);
12796
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12797
+ }
12798
+ function stdTextClassifierTrait(params) {
12799
+ return buildTokenizerTrait(resolve74(params));
12800
+ }
12801
+ function stdTextClassifierPage(params) {
12802
+ const c = resolve74(params);
12803
+ return {
12804
+ name: c.pageName,
12805
+ path: c.pagePath,
12806
+ ...c.isInitial ? { isInitial: true } : {},
12807
+ traits: [
12808
+ { ref: c.tokenizerTraitName },
12809
+ { ref: c.classifyTraitName }
12810
+ ]
12811
+ };
12812
+ }
12813
+ function stdTextClassifier(params) {
12814
+ const c = resolve74(params);
12815
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12816
+ const tokenizerTrait = buildTokenizerTrait(c);
12817
+ const classifyTrait = buildTextClassifyTrait(c);
12818
+ const page = {
12819
+ name: c.pageName,
12820
+ path: c.pagePath,
12821
+ ...c.isInitial ? { isInitial: true } : {},
12822
+ traits: [
12823
+ { ref: tokenizerTrait.name },
12824
+ { ref: classifyTrait.name }
12825
+ ]
12826
+ };
12827
+ return {
12828
+ name: `${c.entityName}Orbital`,
12829
+ entity,
12830
+ traits: [tokenizerTrait, classifyTrait],
12831
+ pages: [page]
12832
+ };
12833
+ }
12834
+ function resolve75(params) {
12835
+ const { entityName } = params;
12836
+ const baseFields = [{ name: "id", type: "string", default: "" }];
12837
+ const domainFields = [
12838
+ { name: "generatedTokens", type: "string", default: "" },
12839
+ { name: "tokenCount", type: "number", default: 0 },
12840
+ { name: "lastToken", type: "number", default: -1 },
12841
+ { name: "genStatus", type: "string", default: "idle" },
12842
+ { name: "prompt", type: "string", default: "" }
12843
+ ];
12844
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
12845
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
12846
+ const p = plural(entityName);
12847
+ return {
12848
+ entityName,
12849
+ fields,
12850
+ architecture: params.architecture,
12851
+ vocabSize: params.vocabSize,
12852
+ maxLength: params.maxLength,
12853
+ eosToken: params.eosToken,
12854
+ generateEvent: params.generateEvent ?? "GENERATE",
12855
+ tokenEvent: params.tokenEvent ?? "TOKEN_READY",
12856
+ doneEvent: params.doneEvent ?? "GENERATION_COMPLETE",
12857
+ traitName: `${entityName}Autoregressive`,
12858
+ pluralName: p,
12859
+ pageName: params.pageName ?? `${entityName}GeneratePage`,
12860
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/generate`,
12861
+ isInitial: params.isInitial ?? false
12862
+ };
12863
+ }
12864
+ function buildTrait61(c) {
12865
+ const { entityName, generateEvent, tokenEvent, doneEvent, vocabSize, maxLength, eosToken } = c;
12866
+ const idleView = {
12867
+ type: "stack",
12868
+ direction: "vertical",
12869
+ gap: "lg",
12870
+ align: "center",
12871
+ children: [
12872
+ {
12873
+ type: "stack",
12874
+ direction: "horizontal",
12875
+ gap: "sm",
12876
+ align: "center",
12877
+ children: [
12878
+ { type: "icon", name: "message-square", size: "lg" },
12879
+ { type: "typography", content: `${entityName} Generator`, variant: "h2" }
12880
+ ]
12881
+ },
12882
+ { type: "divider" },
12883
+ { type: "badge", label: "@entity.genStatus" },
12884
+ { type: "typography", variant: "body", color: "muted", content: `Vocab: ${vocabSize} | Max length: ${maxLength}` },
12885
+ { type: "typography", variant: "body", content: "@entity.generatedTokens" },
12886
+ { type: "button", label: "Generate", event: generateEvent, variant: "primary", icon: "play" }
12887
+ ]
12888
+ };
12889
+ const generatingView = {
12890
+ type: "stack",
12891
+ direction: "vertical",
12892
+ gap: "md",
12893
+ align: "center",
12894
+ children: [
12895
+ { type: "typography", content: "Generating", variant: "h3" },
12896
+ { type: "progress-bar", value: "@entity.tokenCount", max: maxLength },
12897
+ { type: "typography", variant: "body", content: "@entity.generatedTokens" },
12898
+ { type: "typography", variant: "caption", content: "Tokens: @entity.tokenCount" },
12899
+ { type: "spinner", size: "sm" }
12900
+ ]
12901
+ };
12902
+ const completeView2 = {
12903
+ type: "stack",
12904
+ direction: "vertical",
12905
+ gap: "md",
12906
+ align: "center",
12907
+ children: [
12908
+ { type: "icon", name: "check-circle", size: "lg" },
12909
+ { type: "typography", content: "Generation Complete", variant: "h3" },
12910
+ { type: "typography", variant: "body", content: "@entity.generatedTokens" },
12911
+ { type: "typography", variant: "caption", content: "Total tokens: @entity.tokenCount" },
12912
+ { type: "button", label: "Generate Again", event: generateEvent, variant: "outline", icon: "refresh-cw" }
12913
+ ]
12914
+ };
12915
+ const forwardEffect = ["forward", "primary", {
12916
+ architecture: c.architecture,
12917
+ input: "@entity.generatedTokens",
12918
+ "output-contract": { type: "tensor", shape: [vocabSize], dtype: "float32", activation: "softmax" },
12919
+ "on-complete": tokenEvent
12920
+ }];
12921
+ const eosGuard = ["eq", "@payload.token", eosToken];
12922
+ const maxLengthGuard = ["gte", "@entity.tokenCount", maxLength];
12923
+ const stopGuard = ["or", eosGuard, maxLengthGuard];
12924
+ const continueGuard = ["not", stopGuard];
12925
+ return {
12926
+ name: c.traitName,
12927
+ linkedEntity: entityName,
12928
+ category: "interaction",
12929
+ emits: [{ event: doneEvent, scope: "external" }],
12930
+ stateMachine: {
12931
+ states: [
12932
+ { name: "idle", isInitial: true },
12933
+ { name: "generating" }
12934
+ ],
12935
+ events: [
12936
+ { key: "INIT", name: "Initialize" },
12937
+ { key: generateEvent, name: "Generate" },
12938
+ { key: tokenEvent, name: "Token Ready" }
12939
+ ],
12940
+ transitions: [
12941
+ // INIT: idle -> idle
12942
+ {
12943
+ from: "idle",
12944
+ to: "idle",
12945
+ event: "INIT",
12946
+ effects: [
12947
+ ["set", "@entity.genStatus", "idle"],
12948
+ ["set", "@entity.generatedTokens", ""],
12949
+ ["set", "@entity.tokenCount", 0],
12950
+ ["render-ui", "main", idleView]
12951
+ ]
12952
+ },
12953
+ // GENERATE: idle -> generating (start first forward pass)
12954
+ {
12955
+ from: "idle",
12956
+ to: "generating",
12957
+ event: generateEvent,
12958
+ effects: [
12959
+ ["set", "@entity.genStatus", "generating"],
12960
+ ["set", "@entity.generatedTokens", ""],
12961
+ ["set", "@entity.tokenCount", 0],
12962
+ forwardEffect,
12963
+ ["render-ui", "main", generatingView]
12964
+ ]
12965
+ },
12966
+ // TOKEN_READY + continue: generating -> generating (append token, forward again)
12967
+ {
12968
+ from: "generating",
12969
+ to: "generating",
12970
+ event: tokenEvent,
12971
+ guard: continueGuard,
12972
+ effects: [
12973
+ ["set", "@entity.lastToken", "@payload.token"],
12974
+ ["set", "@entity.generatedTokens", ["string/concat", "@entity.generatedTokens", "@payload.decoded"]],
12975
+ ["set", "@entity.tokenCount", ["math/add", "@entity.tokenCount", 1]],
12976
+ forwardEffect,
12977
+ ["render-ui", "main", generatingView]
12978
+ ]
12979
+ },
12980
+ // TOKEN_READY + stop: generating -> idle (EOS or max length reached)
12981
+ {
12982
+ from: "generating",
12983
+ to: "idle",
12984
+ event: tokenEvent,
12985
+ guard: stopGuard,
12986
+ effects: [
12987
+ ["set", "@entity.genStatus", "complete"],
12988
+ ["set", "@entity.tokenCount", ["math/add", "@entity.tokenCount", 1]],
12989
+ ["emit", doneEvent],
12990
+ ["render-ui", "main", completeView2]
12991
+ ]
12992
+ }
12993
+ ]
12994
+ }
12995
+ };
12996
+ }
12997
+ function stdAutoregressiveEntity(params) {
12998
+ const c = resolve75(params);
12999
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
13000
+ }
13001
+ function stdAutoregressiveTrait(params) {
13002
+ return buildTrait61(resolve75(params));
13003
+ }
13004
+ function stdAutoregressivePage(params) {
13005
+ const c = resolve75(params);
13006
+ return {
13007
+ name: c.pageName,
13008
+ path: c.pagePath,
13009
+ ...c.isInitial ? { isInitial: true } : {},
13010
+ traits: [{ ref: c.traitName }]
13011
+ };
13012
+ }
13013
+ function stdAutoregressive(params) {
13014
+ const c = resolve75(params);
13015
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
13016
+ const trait = buildTrait61(c);
13017
+ const page = {
13018
+ name: c.pageName,
13019
+ path: c.pagePath,
13020
+ ...c.isInitial ? { isInitial: true } : {},
13021
+ traits: [{ ref: trait.name }]
13022
+ };
13023
+ return {
13024
+ name: `${c.entityName}Orbital`,
13025
+ entity,
13026
+ traits: [trait],
13027
+ pages: [page]
13028
+ };
13029
+ }
13030
+ function resolve76(params) {
11452
13031
  const entityName = params.entityName ?? "OrderPayment";
11453
13032
  const p = plural(entityName);
11454
13033
  const requiredFields = [
@@ -11787,13 +13366,13 @@ function buildPage62(c) {
11787
13366
  };
11788
13367
  }
11789
13368
  function stdServicePaymentFlowEntity(params = {}) {
11790
- return buildEntity62(resolve70(params));
13369
+ return buildEntity62(resolve76(params));
11791
13370
  }
11792
13371
  function stdServicePaymentFlowPage(params = {}) {
11793
- return buildPage62(resolve70(params));
13372
+ return buildPage62(resolve76(params));
11794
13373
  }
11795
13374
  function stdServicePaymentFlow(params = {}) {
11796
- const c = resolve70(params);
13375
+ const c = resolve76(params);
11797
13376
  return makeOrbital(
11798
13377
  `${c.entityName}Orbital`,
11799
13378
  buildEntity62(c),
@@ -11801,7 +13380,7 @@ function stdServicePaymentFlow(params = {}) {
11801
13380
  [buildPage62(c)]
11802
13381
  );
11803
13382
  }
11804
- function resolve71(params) {
13383
+ function resolve77(params) {
11805
13384
  const entityName = params.entityName ?? "Notification";
11806
13385
  const p = plural(entityName);
11807
13386
  const requiredFields = [
@@ -11842,7 +13421,7 @@ function buildEntity63(c) {
11842
13421
  const allFields = ensureIdField([...c.fields, ...extraFields]);
11843
13422
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
11844
13423
  }
11845
- function buildTrait60(c) {
13424
+ function buildTrait62(c) {
11846
13425
  const { entityName } = c;
11847
13426
  const idleUI = {
11848
13427
  type: "stack",
@@ -12036,24 +13615,24 @@ function buildPage63(c) {
12036
13615
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
12037
13616
  }
12038
13617
  function stdServiceNotificationHubEntity(params = {}) {
12039
- return buildEntity63(resolve71(params));
13618
+ return buildEntity63(resolve77(params));
12040
13619
  }
12041
13620
  function stdServiceNotificationHubTrait(params = {}) {
12042
- return buildTrait60(resolve71(params));
13621
+ return buildTrait62(resolve77(params));
12043
13622
  }
12044
13623
  function stdServiceNotificationHubPage(params = {}) {
12045
- return buildPage63(resolve71(params));
13624
+ return buildPage63(resolve77(params));
12046
13625
  }
12047
13626
  function stdServiceNotificationHub(params = {}) {
12048
- const c = resolve71(params);
13627
+ const c = resolve77(params);
12049
13628
  return makeOrbital(
12050
13629
  `${c.entityName}Orbital`,
12051
13630
  buildEntity63(c),
12052
- [buildTrait60(c)],
13631
+ [buildTrait62(c)],
12053
13632
  [buildPage63(c)]
12054
13633
  );
12055
13634
  }
12056
- function resolve72(params) {
13635
+ function resolve78(params) {
12057
13636
  const entityName = params.entityName ?? "Research";
12058
13637
  const p = plural(entityName);
12059
13638
  const requiredFields = [
@@ -12250,7 +13829,7 @@ function errorView() {
12250
13829
  ]
12251
13830
  };
12252
13831
  }
12253
- function buildTrait61(c) {
13832
+ function buildTrait63(c) {
12254
13833
  const { entityName } = c;
12255
13834
  return {
12256
13835
  name: c.traitName,
@@ -12430,19 +14009,19 @@ function buildPage64(c) {
12430
14009
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
12431
14010
  }
12432
14011
  function stdServiceContentPipelineEntity(params) {
12433
- return buildEntity64(resolve72(params));
14012
+ return buildEntity64(resolve78(params));
12434
14013
  }
12435
14014
  function stdServiceContentPipelineTrait(params) {
12436
- return buildTrait61(resolve72(params));
14015
+ return buildTrait63(resolve78(params));
12437
14016
  }
12438
14017
  function stdServiceContentPipelinePage(params) {
12439
- return buildPage64(resolve72(params));
14018
+ return buildPage64(resolve78(params));
12440
14019
  }
12441
14020
  function stdServiceContentPipeline(params) {
12442
- const c = resolve72(params);
12443
- return makeOrbital(`${c.entityName}Orbital`, buildEntity64(c), [buildTrait61(c)], [buildPage64(c)]);
14021
+ const c = resolve78(params);
14022
+ return makeOrbital(`${c.entityName}Orbital`, buildEntity64(c), [buildTrait63(c)], [buildPage64(c)]);
12444
14023
  }
12445
- function resolve73(params) {
14024
+ function resolve79(params) {
12446
14025
  const entityName = params.entityName ?? "DevopsTool";
12447
14026
  const p = plural(entityName);
12448
14027
  const requiredFields = [
@@ -12963,11 +14542,11 @@ function buildStorageTrait(c) {
12963
14542
  };
12964
14543
  }
12965
14544
  function stdServiceDevopsToolkitEntity(params = {}) {
12966
- const c = resolve73(params);
14545
+ const c = resolve79(params);
12967
14546
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
12968
14547
  }
12969
14548
  function stdServiceDevopsToolkitPage(params = {}) {
12970
- const c = resolve73(params);
14549
+ const c = resolve79(params);
12971
14550
  return {
12972
14551
  name: c.pageName,
12973
14552
  path: c.pagePath,
@@ -12980,7 +14559,7 @@ function stdServiceDevopsToolkitPage(params = {}) {
12980
14559
  };
12981
14560
  }
12982
14561
  function stdServiceDevopsToolkit(params = {}) {
12983
- const c = resolve73(params);
14562
+ const c = resolve79(params);
12984
14563
  const githubTrait = buildGithubTrait(c);
12985
14564
  const redisTrait = buildRedisTrait(c);
12986
14565
  const storageTrait = buildStorageTrait(c);
@@ -13002,7 +14581,7 @@ function stdServiceDevopsToolkit(params = {}) {
13002
14581
  pages: [page]
13003
14582
  };
13004
14583
  }
13005
- function resolve74(params) {
14584
+ function resolve80(params) {
13006
14585
  const entityName = params.entityName ?? "ApiTest";
13007
14586
  const p = plural(entityName);
13008
14587
  const requiredFields = [
@@ -13039,7 +14618,7 @@ function resolve74(params) {
13039
14618
  function buildEntity65(c) {
13040
14619
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
13041
14620
  }
13042
- function buildTrait62(c) {
14621
+ function buildTrait64(c) {
13043
14622
  const { entityName } = c;
13044
14623
  const formChildren = [
13045
14624
  { type: "icon", name: "globe", size: "lg" },
@@ -13260,20 +14839,20 @@ function buildPage65(c) {
13260
14839
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
13261
14840
  }
13262
14841
  function stdServiceCustomApiTesterEntity(params) {
13263
- return buildEntity65(resolve74(params));
14842
+ return buildEntity65(resolve80(params));
13264
14843
  }
13265
14844
  function stdServiceCustomApiTesterTrait(params) {
13266
- return buildTrait62(resolve74(params));
14845
+ return buildTrait64(resolve80(params));
13267
14846
  }
13268
14847
  function stdServiceCustomApiTesterPage(params) {
13269
- return buildPage65(resolve74(params));
14848
+ return buildPage65(resolve80(params));
13270
14849
  }
13271
14850
  function stdServiceCustomApiTester(params) {
13272
- const c = resolve74(params);
14851
+ const c = resolve80(params);
13273
14852
  const orbital = makeOrbital(
13274
14853
  `${c.entityName}Orbital`,
13275
14854
  buildEntity65(c),
13276
- [buildTrait62(c)],
14855
+ [buildTrait64(c)],
13277
14856
  [buildPage65(c)]
13278
14857
  );
13279
14858
  return {
@@ -15356,7 +16935,7 @@ function stdLogicTraining(params) {
15356
16935
  const schema = compose([debuggerOrbital, negotiatorOrbital, scoreOrbital], pages, connections, appName);
15357
16936
  return wrapInGameShell(schema, appName);
15358
16937
  }
15359
- function resolve75(params) {
16938
+ function resolve81(params) {
15360
16939
  const entityName = params.entityName ?? "AuthSession";
15361
16940
  const p = plural(entityName);
15362
16941
  const requiredFields = [
@@ -15399,7 +16978,7 @@ function buildEntity66(c) {
15399
16978
  const allFields = ensureIdField([...oauthFields, ...extraFields]);
15400
16979
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
15401
16980
  }
15402
- function buildTrait63(c) {
16981
+ function buildTrait65(c) {
15403
16982
  const { entityName, standalone } = c;
15404
16983
  const unauthenticatedUI = {
15405
16984
  type: "stack",
@@ -15641,23 +17220,23 @@ function buildPage66(c) {
15641
17220
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
15642
17221
  }
15643
17222
  function stdServiceOauthEntity(params = {}) {
15644
- return buildEntity66(resolve75(params));
17223
+ return buildEntity66(resolve81(params));
15645
17224
  }
15646
17225
  function stdServiceOauthTrait(params = {}) {
15647
- return buildTrait63(resolve75(params));
17226
+ return buildTrait65(resolve81(params));
15648
17227
  }
15649
17228
  function stdServiceOauthPage(params = {}) {
15650
- return buildPage66(resolve75(params));
17229
+ return buildPage66(resolve81(params));
15651
17230
  }
15652
17231
  function stdServiceOauth(params = {}) {
15653
- const c = resolve75(params);
17232
+ const c = resolve81(params);
15654
17233
  const pages = [];
15655
17234
  const page = buildPage66(c);
15656
17235
  if (page) pages.push(page);
15657
17236
  return makeOrbital(
15658
17237
  `${c.entityName}Orbital`,
15659
17238
  buildEntity66(c),
15660
- [buildTrait63(c)],
17239
+ [buildTrait65(c)],
15661
17240
  pages
15662
17241
  );
15663
17242
  }
@@ -15740,7 +17319,7 @@ function stdServiceMarketplace(params = {}) {
15740
17319
  ]);
15741
17320
  return wrapInDashboardLayout(schema, appName, navItems);
15742
17321
  }
15743
- function resolve76(params) {
17322
+ function resolve82(params) {
15744
17323
  const entityName = params.entityName ?? "CacheEntry";
15745
17324
  const p = plural(entityName);
15746
17325
  const requiredFields = [
@@ -15772,7 +17351,7 @@ function resolve76(params) {
15772
17351
  function buildEntity67(c) {
15773
17352
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
15774
17353
  }
15775
- function buildTrait64(c) {
17354
+ function buildTrait66(c) {
15776
17355
  const { entityName, standalone } = c;
15777
17356
  const idleUI = {
15778
17357
  type: "stack",
@@ -15946,24 +17525,24 @@ function buildPage67(c) {
15946
17525
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
15947
17526
  }
15948
17527
  function stdServiceRedisEntity(params = {}) {
15949
- return buildEntity67(resolve76(params));
17528
+ return buildEntity67(resolve82(params));
15950
17529
  }
15951
17530
  function stdServiceRedisTrait(params = {}) {
15952
- return buildTrait64(resolve76(params));
17531
+ return buildTrait66(resolve82(params));
15953
17532
  }
15954
17533
  function stdServiceRedisPage(params = {}) {
15955
- return buildPage67(resolve76(params));
17534
+ return buildPage67(resolve82(params));
15956
17535
  }
15957
17536
  function stdServiceRedis(params = {}) {
15958
- const c = resolve76(params);
17537
+ const c = resolve82(params);
15959
17538
  return makeOrbital(
15960
17539
  `${c.entityName}Orbital`,
15961
17540
  buildEntity67(c),
15962
- [buildTrait64(c)],
17541
+ [buildTrait66(c)],
15963
17542
  [buildPage67(c)]
15964
17543
  );
15965
17544
  }
15966
- function resolve77(params) {
17545
+ function resolve83(params) {
15967
17546
  const entityName = params.entityName ?? "StorageFile";
15968
17547
  const p = plural(entityName);
15969
17548
  const requiredFields = [
@@ -15997,7 +17576,7 @@ function resolve77(params) {
15997
17576
  function buildEntity68(c) {
15998
17577
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
15999
17578
  }
16000
- function buildTrait65(c) {
17579
+ function buildTrait67(c) {
16001
17580
  const { entityName, standalone } = c;
16002
17581
  const idleChildren = [
16003
17582
  {
@@ -16209,24 +17788,24 @@ function buildPage68(c) {
16209
17788
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
16210
17789
  }
16211
17790
  function stdServiceStorageEntity(params = {}) {
16212
- return buildEntity68(resolve77(params));
17791
+ return buildEntity68(resolve83(params));
16213
17792
  }
16214
17793
  function stdServiceStorageTrait(params = {}) {
16215
- return buildTrait65(resolve77(params));
17794
+ return buildTrait67(resolve83(params));
16216
17795
  }
16217
17796
  function stdServiceStoragePage(params = {}) {
16218
- return buildPage68(resolve77(params));
17797
+ return buildPage68(resolve83(params));
16219
17798
  }
16220
17799
  function stdServiceStorage(params = {}) {
16221
- const c = resolve77(params);
17800
+ const c = resolve83(params);
16222
17801
  return makeOrbital(
16223
17802
  `${c.entityName}Orbital`,
16224
17803
  buildEntity68(c),
16225
- [buildTrait65(c)],
17804
+ [buildTrait67(c)],
16226
17805
  [buildPage68(c)]
16227
17806
  );
16228
17807
  }
16229
- function resolve78(params) {
17808
+ function resolve84(params) {
16230
17809
  const entityName = params.entityName ?? "ApiCall";
16231
17810
  const p = plural(entityName);
16232
17811
  const requiredFields = [
@@ -16261,7 +17840,7 @@ function resolve78(params) {
16261
17840
  function buildEntity69(c) {
16262
17841
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
16263
17842
  }
16264
- function buildTrait66(c) {
17843
+ function buildTrait68(c) {
16265
17844
  const { entityName, standalone } = c;
16266
17845
  const idleChildren = [
16267
17846
  { type: "icon", name: "shield", size: "lg" },
@@ -16423,20 +18002,20 @@ function buildPage69(c) {
16423
18002
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
16424
18003
  }
16425
18004
  function stdServiceCustomBearerEntity(params) {
16426
- return buildEntity69(resolve78(params));
18005
+ return buildEntity69(resolve84(params));
16427
18006
  }
16428
18007
  function stdServiceCustomBearerTrait(params) {
16429
- return buildTrait66(resolve78(params));
18008
+ return buildTrait68(resolve84(params));
16430
18009
  }
16431
18010
  function stdServiceCustomBearerPage(params) {
16432
- return buildPage69(resolve78(params));
18011
+ return buildPage69(resolve84(params));
16433
18012
  }
16434
18013
  function stdServiceCustomBearer(params) {
16435
- const c = resolve78(params);
18014
+ const c = resolve84(params);
16436
18015
  const orbital = makeOrbital(
16437
18016
  `${c.entityName}Orbital`,
16438
18017
  buildEntity69(c),
16439
- [buildTrait66(c)],
18018
+ [buildTrait68(c)],
16440
18019
  [buildPage69(c)]
16441
18020
  );
16442
18021
  return {
@@ -17006,7 +18585,7 @@ function stdValidateOnSave(params = {}) {
17006
18585
  ];
17007
18586
  return makeOrbital("ValidateOnSave", entity, [trait], pages);
17008
18587
  }
17009
- function resolve79(params) {
18588
+ function resolve85(params) {
17010
18589
  const { entityName } = params;
17011
18590
  const requiredFields = [
17012
18591
  { name: "to", type: "string" },
@@ -17059,7 +18638,7 @@ function buildEntity70(c) {
17059
18638
  collection: c.collection
17060
18639
  });
17061
18640
  }
17062
- function buildTrait67(c) {
18641
+ function buildTrait69(c) {
17063
18642
  const { entityName, standalone } = c;
17064
18643
  const idleChildren = [
17065
18644
  {
@@ -17223,27 +18802,27 @@ function buildPage70(c) {
17223
18802
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
17224
18803
  }
17225
18804
  function stdServiceEmailEntity(params) {
17226
- return buildEntity70(resolve79(params));
18805
+ return buildEntity70(resolve85(params));
17227
18806
  }
17228
18807
  function stdServiceEmailTrait(params) {
17229
- return buildTrait67(resolve79(params));
18808
+ return buildTrait69(resolve85(params));
17230
18809
  }
17231
18810
  function stdServiceEmailPage(params) {
17232
- return buildPage70(resolve79(params));
18811
+ return buildPage70(resolve85(params));
17233
18812
  }
17234
18813
  function stdServiceEmail(params) {
17235
- const c = resolve79(params);
18814
+ const c = resolve85(params);
17236
18815
  const pages = [];
17237
18816
  const page = buildPage70(c);
17238
18817
  if (page) pages.push(page);
17239
18818
  return makeOrbital(
17240
18819
  `${c.entityName}Orbital`,
17241
18820
  buildEntity70(c),
17242
- [buildTrait67(c)],
18821
+ [buildTrait69(c)],
17243
18822
  pages
17244
18823
  );
17245
18824
  }
17246
- function resolve80(params) {
18825
+ function resolve86(params) {
17247
18826
  const entityName = params.entityName ?? "Payment";
17248
18827
  const p = plural(entityName);
17249
18828
  const requiredFields = [
@@ -17287,7 +18866,7 @@ function buildEntity71(c) {
17287
18866
  const allFields = ensureIdField([...paymentFields, ...extraFields]);
17288
18867
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence, collection: c.collection });
17289
18868
  }
17290
- function buildTrait68(c) {
18869
+ function buildTrait70(c) {
17291
18870
  const { entityName, standalone } = c;
17292
18871
  const idleUI = {
17293
18872
  type: "stack",
@@ -17474,24 +19053,24 @@ function buildPage71(c) {
17474
19053
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
17475
19054
  }
17476
19055
  function stdServiceStripeEntity(params = {}) {
17477
- return buildEntity71(resolve80(params));
19056
+ return buildEntity71(resolve86(params));
17478
19057
  }
17479
19058
  function stdServiceStripeTrait(params = {}) {
17480
- return buildTrait68(resolve80(params));
19059
+ return buildTrait70(resolve86(params));
17481
19060
  }
17482
19061
  function stdServiceStripePage(params = {}) {
17483
- return buildPage71(resolve80(params));
19062
+ return buildPage71(resolve86(params));
17484
19063
  }
17485
19064
  function stdServiceStripe(params = {}) {
17486
- const c = resolve80(params);
19065
+ const c = resolve86(params);
17487
19066
  return makeOrbital(
17488
19067
  `${c.entityName}Orbital`,
17489
19068
  buildEntity71(c),
17490
- [buildTrait68(c)],
19069
+ [buildTrait70(c)],
17491
19070
  [buildPage71(c)]
17492
19071
  );
17493
19072
  }
17494
- function resolve81(params) {
19073
+ function resolve87(params) {
17495
19074
  const entityName = params.entityName ?? "Message";
17496
19075
  const p = plural(entityName);
17497
19076
  const requiredFields = [
@@ -17533,7 +19112,7 @@ function buildEntity72(c) {
17533
19112
  const allFields = ensureIdField([...c.fields, ...extraFields]);
17534
19113
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
17535
19114
  }
17536
- function buildTrait69(c) {
19115
+ function buildTrait71(c) {
17537
19116
  const { entityName, standalone } = c;
17538
19117
  const idleChildren = [
17539
19118
  {
@@ -17722,27 +19301,27 @@ function buildPage72(c) {
17722
19301
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
17723
19302
  }
17724
19303
  function stdServiceTwilioEntity(params = {}) {
17725
- return buildEntity72(resolve81(params));
19304
+ return buildEntity72(resolve87(params));
17726
19305
  }
17727
19306
  function stdServiceTwilioTrait(params = {}) {
17728
- return buildTrait69(resolve81(params));
19307
+ return buildTrait71(resolve87(params));
17729
19308
  }
17730
19309
  function stdServiceTwilioPage(params = {}) {
17731
- return buildPage72(resolve81(params));
19310
+ return buildPage72(resolve87(params));
17732
19311
  }
17733
19312
  function stdServiceTwilio(params = {}) {
17734
- const c = resolve81(params);
19313
+ const c = resolve87(params);
17735
19314
  const pages = [];
17736
19315
  const page = buildPage72(c);
17737
19316
  if (page) pages.push(page);
17738
19317
  return makeOrbital(
17739
19318
  `${c.entityName}Orbital`,
17740
19319
  buildEntity72(c),
17741
- [buildTrait69(c)],
19320
+ [buildTrait71(c)],
17742
19321
  pages
17743
19322
  );
17744
19323
  }
17745
- function resolve82(params) {
19324
+ function resolve88(params) {
17746
19325
  const entityName = params.entityName ?? "PullRequest";
17747
19326
  const p = plural(entityName);
17748
19327
  const requiredFields = [
@@ -17789,7 +19368,7 @@ function buildEntity73(c) {
17789
19368
  const allFields = ensureIdField([...githubFields, ...extraFields]);
17790
19369
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
17791
19370
  }
17792
- function buildTrait70(c) {
19371
+ function buildTrait72(c) {
17793
19372
  const { entityName, standalone } = c;
17794
19373
  const idleUI = {
17795
19374
  type: "stack",
@@ -17946,24 +19525,24 @@ function buildPage73(c) {
17946
19525
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
17947
19526
  }
17948
19527
  function stdServiceGithubEntity(params = {}) {
17949
- return buildEntity73(resolve82(params));
19528
+ return buildEntity73(resolve88(params));
17950
19529
  }
17951
19530
  function stdServiceGithubTrait(params = {}) {
17952
- return buildTrait70(resolve82(params));
19531
+ return buildTrait72(resolve88(params));
17953
19532
  }
17954
19533
  function stdServiceGithubPage(params = {}) {
17955
- return buildPage73(resolve82(params));
19534
+ return buildPage73(resolve88(params));
17956
19535
  }
17957
19536
  function stdServiceGithub(params = {}) {
17958
- const c = resolve82(params);
19537
+ const c = resolve88(params);
17959
19538
  return makeOrbital(
17960
19539
  `${c.entityName}Orbital`,
17961
19540
  buildEntity73(c),
17962
- [buildTrait70(c)],
19541
+ [buildTrait72(c)],
17963
19542
  [buildPage73(c)]
17964
19543
  );
17965
19544
  }
17966
- function resolve83(params) {
19545
+ function resolve89(params) {
17967
19546
  const entityName = params.entityName ?? "VideoSearch";
17968
19547
  const p = plural(entityName);
17969
19548
  const requiredFields = [
@@ -18005,7 +19584,7 @@ function buildEntity74(c) {
18005
19584
  const allFields = ensureIdField([...youtubeFields, ...extraFields]);
18006
19585
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
18007
19586
  }
18008
- function buildTrait71(c) {
19587
+ function buildTrait73(c) {
18009
19588
  const { entityName, standalone } = c;
18010
19589
  const searchFormChildren = [
18011
19590
  {
@@ -18257,27 +19836,27 @@ function buildPage74(c) {
18257
19836
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
18258
19837
  }
18259
19838
  function stdServiceYoutubeEntity(params = {}) {
18260
- return buildEntity74(resolve83(params));
19839
+ return buildEntity74(resolve89(params));
18261
19840
  }
18262
19841
  function stdServiceYoutubeTrait(params = {}) {
18263
- return buildTrait71(resolve83(params));
19842
+ return buildTrait73(resolve89(params));
18264
19843
  }
18265
19844
  function stdServiceYoutubePage(params = {}) {
18266
- return buildPage74(resolve83(params));
19845
+ return buildPage74(resolve89(params));
18267
19846
  }
18268
19847
  function stdServiceYoutube(params = {}) {
18269
- const c = resolve83(params);
19848
+ const c = resolve89(params);
18270
19849
  const pages = [];
18271
19850
  const page = buildPage74(c);
18272
19851
  if (page) pages.push(page);
18273
19852
  return makeOrbital(
18274
19853
  `${c.entityName}Orbital`,
18275
19854
  buildEntity74(c),
18276
- [buildTrait71(c)],
19855
+ [buildTrait73(c)],
18277
19856
  pages
18278
19857
  );
18279
19858
  }
18280
- function resolve84(params) {
19859
+ function resolve90(params) {
18281
19860
  const entityName = params.entityName ?? "LlmTask";
18282
19861
  const p = plural(entityName);
18283
19862
  const requiredFields = [
@@ -18318,7 +19897,7 @@ function buildEntity75(c) {
18318
19897
  const allFields = ensureIdField([...llmFields, ...extraFields]);
18319
19898
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
18320
19899
  }
18321
- function buildTrait72(c) {
19900
+ function buildTrait74(c) {
18322
19901
  const { entityName, standalone } = c;
18323
19902
  const idleChildren = [
18324
19903
  {
@@ -18524,27 +20103,27 @@ function buildPage75(c) {
18524
20103
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
18525
20104
  }
18526
20105
  function stdServiceLlmEntity(params = {}) {
18527
- return buildEntity75(resolve84(params));
20106
+ return buildEntity75(resolve90(params));
18528
20107
  }
18529
20108
  function stdServiceLlmTrait(params = {}) {
18530
- return buildTrait72(resolve84(params));
20109
+ return buildTrait74(resolve90(params));
18531
20110
  }
18532
20111
  function stdServiceLlmPage(params = {}) {
18533
- return buildPage75(resolve84(params));
20112
+ return buildPage75(resolve90(params));
18534
20113
  }
18535
20114
  function stdServiceLlm(params = {}) {
18536
- const c = resolve84(params);
20115
+ const c = resolve90(params);
18537
20116
  const pages = [];
18538
20117
  const page = buildPage75(c);
18539
20118
  if (page) pages.push(page);
18540
20119
  return makeOrbital(
18541
20120
  `${c.entityName}Orbital`,
18542
20121
  buildEntity75(c),
18543
- [buildTrait72(c)],
20122
+ [buildTrait74(c)],
18544
20123
  pages
18545
20124
  );
18546
20125
  }
18547
- function resolve85(params) {
20126
+ function resolve91(params) {
18548
20127
  const entityName = params.entityName ?? "ApiCall";
18549
20128
  const p = plural(entityName);
18550
20129
  const requiredFields = [
@@ -18580,7 +20159,7 @@ function resolve85(params) {
18580
20159
  function buildEntity76(c) {
18581
20160
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
18582
20161
  }
18583
- function buildTrait73(c) {
20162
+ function buildTrait75(c) {
18584
20163
  const { entityName, standalone } = c;
18585
20164
  const idleChildren = [
18586
20165
  { type: "icon", name: "globe", size: "lg" },
@@ -18742,20 +20321,20 @@ function buildPage76(c) {
18742
20321
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
18743
20322
  }
18744
20323
  function stdServiceCustomHeaderEntity(params) {
18745
- return buildEntity76(resolve85(params));
20324
+ return buildEntity76(resolve91(params));
18746
20325
  }
18747
20326
  function stdServiceCustomHeaderTrait(params) {
18748
- return buildTrait73(resolve85(params));
20327
+ return buildTrait75(resolve91(params));
18749
20328
  }
18750
20329
  function stdServiceCustomHeaderPage(params) {
18751
- return buildPage76(resolve85(params));
20330
+ return buildPage76(resolve91(params));
18752
20331
  }
18753
20332
  function stdServiceCustomHeader(params) {
18754
- const c = resolve85(params);
20333
+ const c = resolve91(params);
18755
20334
  const orbital = makeOrbital(
18756
20335
  `${c.entityName}Orbital`,
18757
20336
  buildEntity76(c),
18758
- [buildTrait73(c)],
20337
+ [buildTrait75(c)],
18759
20338
  [buildPage76(c)]
18760
20339
  );
18761
20340
  return {
@@ -18773,7 +20352,7 @@ function stdServiceCustomHeader(params) {
18773
20352
  }]
18774
20353
  };
18775
20354
  }
18776
- function resolve86(params) {
20355
+ function resolve92(params) {
18777
20356
  const entityName = params.entityName ?? "ApiCall";
18778
20357
  const p = plural(entityName);
18779
20358
  const requiredFields = [
@@ -18809,7 +20388,7 @@ function resolve86(params) {
18809
20388
  function buildEntity77(c) {
18810
20389
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
18811
20390
  }
18812
- function buildTrait74(c) {
20391
+ function buildTrait76(c) {
18813
20392
  const { entityName, standalone } = c;
18814
20393
  const idleChildren = [
18815
20394
  { type: "icon", name: "search", size: "lg" },
@@ -18971,20 +20550,20 @@ function buildPage77(c) {
18971
20550
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
18972
20551
  }
18973
20552
  function stdServiceCustomQueryEntity(params) {
18974
- return buildEntity77(resolve86(params));
20553
+ return buildEntity77(resolve92(params));
18975
20554
  }
18976
20555
  function stdServiceCustomQueryTrait(params) {
18977
- return buildTrait74(resolve86(params));
20556
+ return buildTrait76(resolve92(params));
18978
20557
  }
18979
20558
  function stdServiceCustomQueryPage(params) {
18980
- return buildPage77(resolve86(params));
20559
+ return buildPage77(resolve92(params));
18981
20560
  }
18982
20561
  function stdServiceCustomQuery(params) {
18983
- const c = resolve86(params);
20562
+ const c = resolve92(params);
18984
20563
  const orbital = makeOrbital(
18985
20564
  `${c.entityName}Orbital`,
18986
20565
  buildEntity77(c),
18987
- [buildTrait74(c)],
20566
+ [buildTrait76(c)],
18988
20567
  [buildPage77(c)]
18989
20568
  );
18990
20569
  return {
@@ -19002,7 +20581,7 @@ function stdServiceCustomQuery(params) {
19002
20581
  }]
19003
20582
  };
19004
20583
  }
19005
- function resolve87(params) {
20584
+ function resolve93(params) {
19006
20585
  const entityName = params.entityName ?? "ApiCall";
19007
20586
  const p = plural(entityName);
19008
20587
  const requiredFields = [
@@ -19036,7 +20615,7 @@ function resolve87(params) {
19036
20615
  function buildEntity78(c) {
19037
20616
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
19038
20617
  }
19039
- function buildTrait75(c) {
20618
+ function buildTrait77(c) {
19040
20619
  const { entityName, standalone } = c;
19041
20620
  const idleChildren = [
19042
20621
  { type: "icon", name: "globe", size: "lg" },
@@ -19198,20 +20777,20 @@ function buildPage78(c) {
19198
20777
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
19199
20778
  }
19200
20779
  function stdServiceCustomNoauthEntity(params) {
19201
- return buildEntity78(resolve87(params));
20780
+ return buildEntity78(resolve93(params));
19202
20781
  }
19203
20782
  function stdServiceCustomNoauthTrait(params) {
19204
- return buildTrait75(resolve87(params));
20783
+ return buildTrait77(resolve93(params));
19205
20784
  }
19206
20785
  function stdServiceCustomNoauthPage(params) {
19207
- return buildPage78(resolve87(params));
20786
+ return buildPage78(resolve93(params));
19208
20787
  }
19209
20788
  function stdServiceCustomNoauth(params) {
19210
- const c = resolve87(params);
20789
+ const c = resolve93(params);
19211
20790
  const orbital = makeOrbital(
19212
20791
  `${c.entityName}Orbital`,
19213
20792
  buildEntity78(c),
19214
- [buildTrait75(c)],
20793
+ [buildTrait77(c)],
19215
20794
  [buildPage78(c)]
19216
20795
  );
19217
20796
  return {
@@ -19224,6 +20803,6 @@ function stdServiceCustomNoauth(params) {
19224
20803
  };
19225
20804
  }
19226
20805
 
19227
- export { getAllBehaviorNames, getAllBehaviors, getBehavior, getBehaviorMetadata, getBehaviorsByLevel, hasGoldenOrb, loadGoldenOrb, stdApiGateway, stdArcadeGame, stdAsync, stdAsyncEntity, stdAsyncPage, stdAsyncTrait, stdBookingSystem, stdBrowse, stdBrowseEntity, stdBrowsePage, stdBrowseTrait, stdBuilderGame, stdBuilderGameEntity, stdBuilderGamePage, stdBuilderGameTrait, stdCacheAside, stdCacheAsideEntity, stdCacheAsidePage, stdCacheAsideTrait, stdCalendar, stdCalendarEntity, stdCalendarPage, stdCalendarTrait, stdCart, stdCartEntity, stdCartPage, stdCartTrait, stdCicdPipeline, stdCircuitBreaker, stdCircuitBreakerEntity, stdCircuitBreakerPage, stdCircuitBreakerTrait, stdClassifierGame, stdClassifierGameEntity, stdClassifierGamePage, stdClassifierGameTrait, stdCms, stdCodingAcademy, stdCollision, stdCollisionEntity, stdCollisionPage, stdCollisionTrait, stdCombat, stdCombatEntity, stdCombatLog, stdCombatLogEntity, stdCombatLogPage, stdCombatLogTrait, stdCombatPage, stdCombatTrait, stdConfirmation, stdConfirmationEntity, stdConfirmationPage, stdConfirmationTrait, stdCrm, stdDebuggerGame, stdDebuggerGameEntity, stdDebuggerGamePage, stdDebuggerGameTrait, stdDetail, stdDetailEntity, stdDetailPage, stdDetailTrait, stdDevopsDashboard, stdDialogueBox, stdDialogueBoxEntity, stdDialogueBoxPage, stdDialogueBoxTrait, stdDisplay, stdDisplayEntity, stdDisplayPage, stdDisplayTrait, stdDrawer, stdDrawerEntity, stdDrawerPage, stdDrawerTrait, stdEcommerce, stdEventHandlerGame, stdEventHandlerGameEntity, stdEventHandlerGamePage, stdEventHandlerGameTrait, stdFilter, stdFilterEntity, stdFilterPage, stdFilterTrait, stdFinanceTracker, stdFlipCard, stdFlipCardEntity, stdFlipCardPage, stdFlipCardTrait, stdFormAdvanced, stdFormAdvancedEntity, stdFormAdvancedPage, stdFormAdvancedTrait, stdGallery, stdGalleryEntity, stdGalleryPage, stdGalleryTrait, stdGameAudio, stdGameAudioEntity, stdGameAudioPage, stdGameAudioTrait, stdGameCanvas2d, stdGameCanvas2dEntity, stdGameCanvas2dPage, stdGameCanvas2dTrait, stdGameCanvas3d, stdGameCanvas3dEntity, stdGameCanvas3dPage, stdGameCanvas3dTrait, stdGameHud, stdGameHudEntity, stdGameHudPage, stdGameHudTrait, stdGameMenu, stdGameMenuEntity, stdGameMenuPage, stdGameMenuTrait, stdGameOverScreen, stdGameOverScreenEntity, stdGameOverScreenPage, stdGameOverScreenTrait, stdGameflow, stdGameflowEntity, stdGameflowPage, stdGameflowTrait, stdGeospatial, stdGeospatialEntity, stdGeospatialPage, stdGeospatialTrait, stdHealthcare, stdHelpdesk, stdHrPortal, stdInput, stdInputEntity, stdInputPage, stdInputTrait, stdInventory, stdInventoryEntity, stdInventoryPage, stdInventoryPanel, stdInventoryPanelEntity, stdInventoryPanelPage, stdInventoryPanelTrait, stdInventoryTrait, stdIotDashboard, stdIsometricCanvas, stdIsometricCanvasEntity, stdIsometricCanvasPage, stdIsometricCanvasTrait, stdList, stdListEntity, stdListPage, stdListTrait, stdLms, stdLoading, stdLoadingEntity, stdLoadingPage, stdLoadingTrait, stdLogicTraining, stdMessaging, stdMessagingEntity, stdMessagingPage, stdMessagingTrait, stdModal, stdModalEntity, stdModalPage, stdModalTrait, stdMovement, stdMovementEntity, stdMovementPage, stdMovementTrait, stdNegotiatorGame, stdNegotiatorGameEntity, stdNegotiatorGamePage, stdNegotiatorGameTrait, stdNotification, stdNotificationEntity, stdNotificationPage, stdNotificationTrait, stdOverworld, stdOverworldEntity, stdOverworldPage, stdOverworldTrait, stdPagination, stdPaginationEntity, stdPaginationPage, stdPaginationTrait, stdPhysics2d, stdPhysics2dEntity, stdPhysics2dPage, stdPhysics2dTrait, stdPlatformerApp, stdPlatformerCanvas, stdPlatformerCanvasEntity, stdPlatformerCanvasPage, stdPlatformerCanvasTrait, stdPlatformerGame, stdPlatformerGameEntity, stdPlatformerGamePage, stdPlatformerGameTrait, stdProjectManager, stdPuzzleApp, stdPuzzleGame, stdPuzzleGameEntity, stdPuzzleGamePage, stdPuzzleGameTrait, stdQuest, stdQuestEntity, stdQuestPage, stdQuestTrait, stdQuiz, stdQuizEntity, stdQuizPage, stdQuizTrait, stdRateLimiter, stdRateLimiterEntity, stdRateLimiterPage, stdRateLimiterTrait, stdRating, stdRatingEntity, stdRatingPage, stdRatingTrait, stdRealtimeChat, stdRpgGame, stdScore, stdScoreBoard, stdScoreBoardEntity, stdScoreBoardPage, stdScoreBoardTrait, stdScoreEntity, stdScorePage, stdScoreTrait, stdSearch, stdSearchEntity, stdSearchPage, stdSearchTrait, stdSelection, stdSelectionEntity, stdSelectionPage, stdSelectionTrait, stdSequencerGame, stdSequencerGameEntity, stdSequencerGamePage, stdSequencerGameTrait, stdServiceContentPipeline, stdServiceContentPipelineEntity, stdServiceContentPipelinePage, stdServiceContentPipelineTrait, stdServiceCustomApiTester, stdServiceCustomApiTesterEntity, stdServiceCustomApiTesterPage, stdServiceCustomApiTesterTrait, stdServiceCustomBearer, stdServiceCustomBearerEntity, stdServiceCustomBearerPage, stdServiceCustomBearerTrait, stdServiceCustomHeader, stdServiceCustomHeaderEntity, stdServiceCustomHeaderPage, stdServiceCustomHeaderTrait, stdServiceCustomNoauth, stdServiceCustomNoauthEntity, stdServiceCustomNoauthPage, stdServiceCustomNoauthTrait, stdServiceCustomQuery, stdServiceCustomQueryEntity, stdServiceCustomQueryPage, stdServiceCustomQueryTrait, stdServiceDevopsToolkit, stdServiceDevopsToolkitEntity, stdServiceDevopsToolkitPage, stdServiceEmail, stdServiceEmailEntity, stdServiceEmailPage, stdServiceEmailTrait, stdServiceGithub, stdServiceGithubEntity, stdServiceGithubPage, stdServiceGithubTrait, stdServiceLlm, stdServiceLlmEntity, stdServiceLlmPage, stdServiceLlmTrait, stdServiceMarketplace, stdServiceNotificationHub, stdServiceNotificationHubEntity, stdServiceNotificationHubPage, stdServiceNotificationHubTrait, stdServiceOauth, stdServiceOauthEntity, stdServiceOauthPage, stdServiceOauthTrait, stdServicePaymentFlow, stdServicePaymentFlowEntity, stdServicePaymentFlowPage, stdServiceRedis, stdServiceRedisEntity, stdServiceRedisPage, stdServiceRedisTrait, stdServiceResearchAssistant, stdServiceStorage, stdServiceStorageEntity, stdServiceStoragePage, stdServiceStorageTrait, stdServiceStripe, stdServiceStripeEntity, stdServiceStripePage, stdServiceStripeTrait, stdServiceTwilio, stdServiceTwilioEntity, stdServiceTwilioPage, stdServiceTwilioTrait, stdServiceYoutube, stdServiceYoutubeEntity, stdServiceYoutubePage, stdServiceYoutubeTrait, stdSimulationCanvas, stdSimulationCanvasEntity, stdSimulationCanvasPage, stdSimulationCanvasTrait, stdSimulatorGame, stdSimulatorGameEntity, stdSimulatorGamePage, stdSimulatorGameTrait, stdSocialFeed, stdSort, stdSortEntity, stdSortPage, stdSortTrait, stdSprite, stdSpriteEntity, stdSpritePage, stdSpriteTrait, stdStemLab, stdStrategyGame, stdTabs, stdTabsEntity, stdTabsPage, stdTabsTrait, stdTextEffects, stdTextEffectsEntity, stdTextEffectsPage, stdTextEffectsTrait, stdTheme, stdThemeEntity, stdThemePage, stdThemeTrait, stdTimer, stdTimerEntity, stdTimerPage, stdTimerTrait, stdTradingDashboard, stdTurnBasedBattle, stdTurnBasedBattleEntity, stdTurnBasedBattlePage, stdTurnBasedBattleTrait, stdUndo, stdUndoEntity, stdUndoPage, stdUndoTrait, stdUpload, stdUploadEntity, stdUploadPage, stdUploadTrait, stdValidateOnSave, stdWizard, stdWizardEntity, stdWizardPage, stdWizardTrait, validateBehaviorEvents, validateBehaviorStates, validateBehaviorStructure };
20806
+ export { getAllBehaviorNames, getAllBehaviors, getBehavior, getBehaviorMetadata, getBehaviorsByLevel, hasGoldenOrb, loadGoldenOrb, stdApiGateway, stdArcadeGame, stdAsync, stdAsyncEntity, stdAsyncPage, stdAsyncTrait, stdAutoregressive, stdAutoregressiveEntity, stdAutoregressivePage, stdAutoregressiveTrait, stdBookingSystem, stdBrowse, stdBrowseEntity, stdBrowsePage, stdBrowseTrait, stdBuilderGame, stdBuilderGameEntity, stdBuilderGamePage, stdBuilderGameTrait, stdCacheAside, stdCacheAsideEntity, stdCacheAsidePage, stdCacheAsideTrait, stdCalendar, stdCalendarEntity, stdCalendarPage, stdCalendarTrait, stdCart, stdCartEntity, stdCartPage, stdCartTrait, stdCicdPipeline, stdCircuitBreaker, stdCircuitBreakerEntity, stdCircuitBreakerPage, stdCircuitBreakerTrait, stdClassifier, stdClassifierEntity, stdClassifierGame, stdClassifierGameEntity, stdClassifierGamePage, stdClassifierGameTrait, stdClassifierPage, stdClassifierTrait, stdCms, stdCodingAcademy, stdCollision, stdCollisionEntity, stdCollisionPage, stdCollisionTrait, stdCombat, stdCombatEntity, stdCombatLog, stdCombatLogEntity, stdCombatLogPage, stdCombatLogTrait, stdCombatPage, stdCombatTrait, stdConfirmation, stdConfirmationEntity, stdConfirmationPage, stdConfirmationTrait, stdCrm, stdDebuggerGame, stdDebuggerGameEntity, stdDebuggerGamePage, stdDebuggerGameTrait, stdDetail, stdDetailEntity, stdDetailPage, stdDetailTrait, stdDevopsDashboard, stdDialogueBox, stdDialogueBoxEntity, stdDialogueBoxPage, stdDialogueBoxTrait, stdDisplay, stdDisplayEntity, stdDisplayPage, stdDisplayTrait, stdDrawer, stdDrawerEntity, stdDrawerPage, stdDrawerTrait, stdEcommerce, stdEventHandlerGame, stdEventHandlerGameEntity, stdEventHandlerGamePage, stdEventHandlerGameTrait, stdFilter, stdFilterEntity, stdFilterPage, stdFilterTrait, stdFinanceTracker, stdFlipCard, stdFlipCardEntity, stdFlipCardPage, stdFlipCardTrait, stdFormAdvanced, stdFormAdvancedEntity, stdFormAdvancedPage, stdFormAdvancedTrait, stdGallery, stdGalleryEntity, stdGalleryPage, stdGalleryTrait, stdGameAudio, stdGameAudioEntity, stdGameAudioPage, stdGameAudioTrait, stdGameCanvas2d, stdGameCanvas2dEntity, stdGameCanvas2dPage, stdGameCanvas2dTrait, stdGameCanvas3d, stdGameCanvas3dEntity, stdGameCanvas3dPage, stdGameCanvas3dTrait, stdGameHud, stdGameHudEntity, stdGameHudPage, stdGameHudTrait, stdGameMenu, stdGameMenuEntity, stdGameMenuPage, stdGameMenuTrait, stdGameOverScreen, stdGameOverScreenEntity, stdGameOverScreenPage, stdGameOverScreenTrait, stdGameflow, stdGameflowEntity, stdGameflowPage, stdGameflowTrait, stdGeospatial, stdGeospatialEntity, stdGeospatialPage, stdGeospatialTrait, stdGraphClassifier, stdGraphClassifierEntity, stdGraphClassifierPage, stdGraphClassifierTrait, stdHealthcare, stdHelpdesk, stdHrPortal, stdInput, stdInputEntity, stdInputPage, stdInputTrait, stdInventory, stdInventoryEntity, stdInventoryPage, stdInventoryPanel, stdInventoryPanelEntity, stdInventoryPanelPage, stdInventoryPanelTrait, stdInventoryTrait, stdIotDashboard, stdIsometricCanvas, stdIsometricCanvasEntity, stdIsometricCanvasPage, stdIsometricCanvasTrait, stdList, stdListEntity, stdListPage, stdListTrait, stdLms, stdLoading, stdLoadingEntity, stdLoadingPage, stdLoadingTrait, stdLogicTraining, stdMessaging, stdMessagingEntity, stdMessagingPage, stdMessagingTrait, stdModal, stdModalEntity, stdModalPage, stdModalTrait, stdMovement, stdMovementEntity, stdMovementPage, stdMovementTrait, stdNegotiatorGame, stdNegotiatorGameEntity, stdNegotiatorGamePage, stdNegotiatorGameTrait, stdNotification, stdNotificationEntity, stdNotificationPage, stdNotificationTrait, stdOverworld, stdOverworldEntity, stdOverworldPage, stdOverworldTrait, stdPagination, stdPaginationEntity, stdPaginationPage, stdPaginationTrait, stdPhysics2d, stdPhysics2dEntity, stdPhysics2dPage, stdPhysics2dTrait, stdPlatformerApp, stdPlatformerCanvas, stdPlatformerCanvasEntity, stdPlatformerCanvasPage, stdPlatformerCanvasTrait, stdPlatformerGame, stdPlatformerGameEntity, stdPlatformerGamePage, stdPlatformerGameTrait, stdProjectManager, stdPuzzleApp, stdPuzzleGame, stdPuzzleGameEntity, stdPuzzleGamePage, stdPuzzleGameTrait, stdQuest, stdQuestEntity, stdQuestPage, stdQuestTrait, stdQuiz, stdQuizEntity, stdQuizPage, stdQuizTrait, stdRateLimiter, stdRateLimiterEntity, stdRateLimiterPage, stdRateLimiterTrait, stdRating, stdRatingEntity, stdRatingPage, stdRatingTrait, stdRealtimeChat, stdRlAgent, stdRlAgentEntity, stdRlAgentPage, stdRlAgentTrait, stdRpgGame, stdScore, stdScoreBoard, stdScoreBoardEntity, stdScoreBoardPage, stdScoreBoardTrait, stdScoreEntity, stdScorePage, stdScoreTrait, stdSearch, stdSearchEntity, stdSearchPage, stdSearchTrait, stdSelection, stdSelectionEntity, stdSelectionPage, stdSelectionTrait, stdSequencerGame, stdSequencerGameEntity, stdSequencerGamePage, stdSequencerGameTrait, stdServiceContentPipeline, stdServiceContentPipelineEntity, stdServiceContentPipelinePage, stdServiceContentPipelineTrait, stdServiceCustomApiTester, stdServiceCustomApiTesterEntity, stdServiceCustomApiTesterPage, stdServiceCustomApiTesterTrait, stdServiceCustomBearer, stdServiceCustomBearerEntity, stdServiceCustomBearerPage, stdServiceCustomBearerTrait, stdServiceCustomHeader, stdServiceCustomHeaderEntity, stdServiceCustomHeaderPage, stdServiceCustomHeaderTrait, stdServiceCustomNoauth, stdServiceCustomNoauthEntity, stdServiceCustomNoauthPage, stdServiceCustomNoauthTrait, stdServiceCustomQuery, stdServiceCustomQueryEntity, stdServiceCustomQueryPage, stdServiceCustomQueryTrait, stdServiceDevopsToolkit, stdServiceDevopsToolkitEntity, stdServiceDevopsToolkitPage, stdServiceEmail, stdServiceEmailEntity, stdServiceEmailPage, stdServiceEmailTrait, stdServiceGithub, stdServiceGithubEntity, stdServiceGithubPage, stdServiceGithubTrait, stdServiceLlm, stdServiceLlmEntity, stdServiceLlmPage, stdServiceLlmTrait, stdServiceMarketplace, stdServiceNotificationHub, stdServiceNotificationHubEntity, stdServiceNotificationHubPage, stdServiceNotificationHubTrait, stdServiceOauth, stdServiceOauthEntity, stdServiceOauthPage, stdServiceOauthTrait, stdServicePaymentFlow, stdServicePaymentFlowEntity, stdServicePaymentFlowPage, stdServiceRedis, stdServiceRedisEntity, stdServiceRedisPage, stdServiceRedisTrait, stdServiceResearchAssistant, stdServiceStorage, stdServiceStorageEntity, stdServiceStoragePage, stdServiceStorageTrait, stdServiceStripe, stdServiceStripeEntity, stdServiceStripePage, stdServiceStripeTrait, stdServiceTwilio, stdServiceTwilioEntity, stdServiceTwilioPage, stdServiceTwilioTrait, stdServiceYoutube, stdServiceYoutubeEntity, stdServiceYoutubePage, stdServiceYoutubeTrait, stdSimulationCanvas, stdSimulationCanvasEntity, stdSimulationCanvasPage, stdSimulationCanvasTrait, stdSimulatorGame, stdSimulatorGameEntity, stdSimulatorGamePage, stdSimulatorGameTrait, stdSocialFeed, stdSort, stdSortEntity, stdSortPage, stdSortTrait, stdSprite, stdSpriteEntity, stdSpritePage, stdSpriteTrait, stdStemLab, stdStrategyGame, stdTabs, stdTabsEntity, stdTabsPage, stdTabsTrait, stdTextClassifier, stdTextClassifierEntity, stdTextClassifierPage, stdTextClassifierTrait, stdTextEffects, stdTextEffectsEntity, stdTextEffectsPage, stdTextEffectsTrait, stdTheme, stdThemeEntity, stdThemePage, stdThemeTrait, stdTimer, stdTimerEntity, stdTimerPage, stdTimerTrait, stdTradingDashboard, stdTrainer, stdTrainerEntity, stdTrainerPage, stdTrainerTrait, stdTurnBasedBattle, stdTurnBasedBattleEntity, stdTurnBasedBattlePage, stdTurnBasedBattleTrait, stdUndo, stdUndoEntity, stdUndoPage, stdUndoTrait, stdUpload, stdUploadEntity, stdUploadPage, stdUploadTrait, stdValidateOnSave, stdWizard, stdWizardEntity, stdWizardPage, stdWizardTrait, validateBehaviorEvents, validateBehaviorStates, validateBehaviorStructure };
19228
20807
  //# sourceMappingURL=index.js.map
19229
20808
  //# sourceMappingURL=index.js.map