@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.
@@ -11322,6 +11322,1585 @@ function stdEventHandlerGame(params) {
11322
11322
  );
11323
11323
  }
11324
11324
  function resolve69(params) {
11325
+ const { entityName } = params;
11326
+ const baseFields = ensureIdField(params.fields);
11327
+ const domainFields = [
11328
+ { name: "predictedClass", type: "string", default: "" },
11329
+ { name: "confidence", type: "number", default: 0 },
11330
+ { name: "status", type: "string", default: "ready" }
11331
+ ];
11332
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
11333
+ const fields = [...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))];
11334
+ const p = plural(entityName);
11335
+ return {
11336
+ entityName,
11337
+ fields,
11338
+ architecture: params.architecture,
11339
+ inputFields: params.inputFields,
11340
+ classes: params.classes,
11341
+ inputRange: params.inputRange ?? [0, 1],
11342
+ classifyEvent: params.classifyEvent ?? "CLASSIFY",
11343
+ resultEvent: params.resultEvent ?? "CLASSIFIED",
11344
+ traitName: `${entityName}Classifier`,
11345
+ pluralName: p,
11346
+ pageName: params.pageName ?? `${entityName}ClassifierPage`,
11347
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/classify`,
11348
+ isInitial: params.isInitial ?? false
11349
+ };
11350
+ }
11351
+ function buildInputContract(inputFields, inputRange) {
11352
+ return {
11353
+ type: "tensor",
11354
+ shape: [inputFields.length],
11355
+ dtype: "float32",
11356
+ fields: inputFields,
11357
+ range: inputRange
11358
+ };
11359
+ }
11360
+ function buildOutputContract(classes) {
11361
+ return {
11362
+ type: "tensor",
11363
+ shape: [classes.length],
11364
+ dtype: "float32",
11365
+ labels: classes,
11366
+ activation: "softmax"
11367
+ };
11368
+ }
11369
+ function buildTrait60(c) {
11370
+ const { entityName, classifyEvent, resultEvent, classes } = c;
11371
+ const readyView = {
11372
+ type: "stack",
11373
+ direction: "vertical",
11374
+ gap: "lg",
11375
+ align: "center",
11376
+ children: [
11377
+ {
11378
+ type: "stack",
11379
+ direction: "horizontal",
11380
+ gap: "sm",
11381
+ align: "center",
11382
+ children: [
11383
+ { type: "icon", name: "brain", size: "lg" },
11384
+ { type: "typography", content: `${entityName} Classifier`, variant: "h2" }
11385
+ ]
11386
+ },
11387
+ { type: "divider" },
11388
+ { type: "badge", label: "@entity.status" },
11389
+ { type: "typography", variant: "body", color: "muted", content: `Classifies into: ${classes.join(", ")}` },
11390
+ { type: "button", label: "Classify", event: classifyEvent, variant: "primary", icon: "play" }
11391
+ ]
11392
+ };
11393
+ const classifyingView = {
11394
+ type: "stack",
11395
+ direction: "vertical",
11396
+ gap: "lg",
11397
+ align: "center",
11398
+ children: [
11399
+ { type: "loading-state", title: "Classifying", message: "Running forward pass with argmax..." },
11400
+ { type: "spinner", size: "lg" }
11401
+ ]
11402
+ };
11403
+ const resultView = {
11404
+ type: "stack",
11405
+ direction: "vertical",
11406
+ gap: "lg",
11407
+ align: "center",
11408
+ children: [
11409
+ {
11410
+ type: "stack",
11411
+ direction: "horizontal",
11412
+ gap: "sm",
11413
+ align: "center",
11414
+ children: [
11415
+ { type: "icon", name: "check-circle", size: "lg" },
11416
+ { type: "typography", content: "Classification Complete", variant: "h2" }
11417
+ ]
11418
+ },
11419
+ { type: "divider" },
11420
+ { type: "badge", label: "@entity.predictedClass", variant: "success" },
11421
+ { type: "typography", variant: "caption", content: "Confidence" },
11422
+ { type: "progress-bar", value: "@entity.confidence", max: 1 },
11423
+ { type: "button", label: "Classify Again", event: classifyEvent, variant: "outline", icon: "refresh-cw" }
11424
+ ]
11425
+ };
11426
+ const inputContract = buildInputContract(c.inputFields, c.inputRange);
11427
+ const outputContract = buildOutputContract(c.classes);
11428
+ const forwardEffect = ["forward", "primary", {
11429
+ architecture: c.architecture,
11430
+ input: "@payload.input",
11431
+ "input-contract": inputContract,
11432
+ "output-contract": outputContract,
11433
+ "on-complete": "FORWARD_DONE"
11434
+ }];
11435
+ return {
11436
+ name: c.traitName,
11437
+ linkedEntity: entityName,
11438
+ category: "interaction",
11439
+ emits: [{ event: resultEvent, scope: "external" }],
11440
+ stateMachine: {
11441
+ states: [
11442
+ { name: "ready", isInitial: true },
11443
+ { name: "classifying" }
11444
+ ],
11445
+ events: [
11446
+ { key: "INIT", name: "Initialize" },
11447
+ { key: classifyEvent, name: "Classify" },
11448
+ { key: "FORWARD_DONE", name: "Forward Done" }
11449
+ ],
11450
+ transitions: [
11451
+ // INIT: ready -> ready
11452
+ {
11453
+ from: "ready",
11454
+ to: "ready",
11455
+ event: "INIT",
11456
+ effects: [
11457
+ ["set", "@entity.status", "ready"],
11458
+ ["render-ui", "main", readyView]
11459
+ ]
11460
+ },
11461
+ // CLASSIFY: ready -> classifying (fire forward pass)
11462
+ {
11463
+ from: "ready",
11464
+ to: "classifying",
11465
+ event: classifyEvent,
11466
+ effects: [
11467
+ ["set", "@entity.status", "classifying"],
11468
+ forwardEffect,
11469
+ ["render-ui", "main", classifyingView]
11470
+ ]
11471
+ },
11472
+ // FORWARD_DONE: classifying -> ready (argmax + emit result)
11473
+ {
11474
+ from: "classifying",
11475
+ to: "ready",
11476
+ event: "FORWARD_DONE",
11477
+ effects: [
11478
+ ["set", "@entity.predictedClass", ["tensor/argmax-label", "@payload.output", classes]],
11479
+ ["set", "@entity.confidence", ["tensor/max", "@payload.output"]],
11480
+ ["set", "@entity.status", "ready"],
11481
+ ["emit", resultEvent],
11482
+ ["render-ui", "main", resultView]
11483
+ ]
11484
+ }
11485
+ ]
11486
+ }
11487
+ };
11488
+ }
11489
+ function stdClassifierEntity(params) {
11490
+ const c = resolve69(params);
11491
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
11492
+ }
11493
+ function stdClassifierTrait(params) {
11494
+ return buildTrait60(resolve69(params));
11495
+ }
11496
+ function stdClassifierPage(params) {
11497
+ const c = resolve69(params);
11498
+ return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
11499
+ }
11500
+ function stdClassifier(params) {
11501
+ const c = resolve69(params);
11502
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
11503
+ const trait = buildTrait60(c);
11504
+ const page = {
11505
+ name: c.pageName,
11506
+ path: c.pagePath,
11507
+ ...c.isInitial ? { isInitial: true } : {},
11508
+ traits: [{ ref: trait.name }]
11509
+ };
11510
+ return {
11511
+ name: `${c.entityName}Orbital`,
11512
+ entity,
11513
+ traits: [trait],
11514
+ pages: [page]
11515
+ };
11516
+ }
11517
+ function resolve70(params) {
11518
+ const { entityName } = params;
11519
+ const baseFields = ensureIdField(params.fields);
11520
+ const domainFields = [
11521
+ { name: "epoch", type: "number", default: 0 },
11522
+ { name: "totalEpochs", type: "number", default: 10 },
11523
+ { name: "loss", type: "number", default: 0 },
11524
+ { name: "accuracy", type: "number", default: 0 },
11525
+ { name: "trainingStatus", type: "string", default: "idle" },
11526
+ { name: "checkpointPath", type: "string", default: "" },
11527
+ { name: "evalScore", type: "number", default: 0 }
11528
+ ];
11529
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
11530
+ const fields = [...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))];
11531
+ const p = plural(entityName);
11532
+ return {
11533
+ entityName,
11534
+ fields,
11535
+ architecture: params.architecture,
11536
+ trainingConfig: params.trainingConfig,
11537
+ metrics: params.metrics,
11538
+ evaluateAfterTraining: params.evaluateAfterTraining ?? true,
11539
+ autoCheckpoint: params.autoCheckpoint ?? true,
11540
+ trainTraitName: `${entityName}TrainLoop`,
11541
+ evalTraitName: `${entityName}Evaluate`,
11542
+ checkpointTraitName: `${entityName}Checkpoint`,
11543
+ pluralName: p,
11544
+ pageName: params.pageName ?? `${entityName}TrainerPage`,
11545
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/train`,
11546
+ isInitial: params.isInitial ?? false
11547
+ };
11548
+ }
11549
+ function buildTrainLoopTrait(c) {
11550
+ const { entityName } = c;
11551
+ const idleView = {
11552
+ type: "stack",
11553
+ direction: "vertical",
11554
+ gap: "lg",
11555
+ align: "center",
11556
+ children: [
11557
+ {
11558
+ type: "stack",
11559
+ direction: "horizontal",
11560
+ gap: "sm",
11561
+ align: "center",
11562
+ children: [
11563
+ { type: "icon", name: "cpu", size: "lg" },
11564
+ { type: "typography", content: `${entityName} Training`, variant: "h2" }
11565
+ ]
11566
+ },
11567
+ { type: "divider" },
11568
+ { type: "badge", label: "@entity.trainingStatus" },
11569
+ { type: "typography", variant: "body", color: "muted", content: `Metrics: ${c.metrics.join(", ")}` },
11570
+ { type: "button", label: "Start Training", event: "START_TRAINING", variant: "primary", icon: "play" }
11571
+ ]
11572
+ };
11573
+ const trainingView = {
11574
+ type: "stack",
11575
+ direction: "vertical",
11576
+ gap: "md",
11577
+ align: "center",
11578
+ children: [
11579
+ { type: "typography", content: "Training in Progress", variant: "h3" },
11580
+ { type: "typography", variant: "caption", content: "Epoch" },
11581
+ { type: "progress-bar", value: "@entity.epoch", max: "@entity.totalEpochs" },
11582
+ { type: "typography", variant: "body", content: "Loss: @entity.loss" },
11583
+ { type: "spinner", size: "md" }
11584
+ ]
11585
+ };
11586
+ const trainEffect = ["train", "primary", {
11587
+ architecture: c.architecture,
11588
+ config: c.trainingConfig,
11589
+ metrics: c.metrics,
11590
+ "on-epoch": "EPOCH_DONE",
11591
+ "on-complete": "TRAINING_DONE"
11592
+ }];
11593
+ return {
11594
+ name: c.trainTraitName,
11595
+ linkedEntity: entityName,
11596
+ category: "interaction",
11597
+ emits: [{ event: "TRAINING_DONE", scope: "external" }],
11598
+ stateMachine: {
11599
+ states: [
11600
+ { name: "idle", isInitial: true },
11601
+ { name: "training" }
11602
+ ],
11603
+ events: [
11604
+ { key: "INIT", name: "Initialize" },
11605
+ { key: "START_TRAINING", name: "Start Training" },
11606
+ { key: "EPOCH_DONE", name: "Epoch Done" },
11607
+ { key: "TRAINING_DONE", name: "Training Done" }
11608
+ ],
11609
+ transitions: [
11610
+ {
11611
+ from: "idle",
11612
+ to: "idle",
11613
+ event: "INIT",
11614
+ effects: [
11615
+ ["set", "@entity.trainingStatus", "idle"],
11616
+ ["set", "@entity.totalEpochs", c.trainingConfig.epochs ?? 10],
11617
+ ["render-ui", "main", idleView]
11618
+ ]
11619
+ },
11620
+ {
11621
+ from: "idle",
11622
+ to: "training",
11623
+ event: "START_TRAINING",
11624
+ effects: [
11625
+ ["set", "@entity.trainingStatus", "training"],
11626
+ ["set", "@entity.epoch", 0],
11627
+ trainEffect,
11628
+ ["render-ui", "main", trainingView]
11629
+ ]
11630
+ },
11631
+ {
11632
+ from: "training",
11633
+ to: "training",
11634
+ event: "EPOCH_DONE",
11635
+ effects: [
11636
+ ["set", "@entity.epoch", "@payload.epoch"],
11637
+ ["set", "@entity.loss", "@payload.loss"],
11638
+ ["render-ui", "main", trainingView]
11639
+ ]
11640
+ },
11641
+ {
11642
+ from: "training",
11643
+ to: "idle",
11644
+ event: "TRAINING_DONE",
11645
+ effects: [
11646
+ ["set", "@entity.trainingStatus", "trained"],
11647
+ ["set", "@entity.loss", "@payload.finalLoss"],
11648
+ ["emit", "TRAINING_DONE"],
11649
+ ["render-ui", "main", idleView]
11650
+ ]
11651
+ }
11652
+ ]
11653
+ }
11654
+ };
11655
+ }
11656
+ function buildEvaluateTrait(c) {
11657
+ const { entityName } = c;
11658
+ const waitingView = {
11659
+ type: "stack",
11660
+ direction: "vertical",
11661
+ gap: "md",
11662
+ align: "center",
11663
+ children: [
11664
+ { type: "icon", name: "bar-chart-2", size: "lg" },
11665
+ { type: "typography", content: "Evaluation", variant: "h3" },
11666
+ { type: "badge", label: "Waiting for training", variant: "neutral" }
11667
+ ]
11668
+ };
11669
+ const evaluatingView = {
11670
+ type: "stack",
11671
+ direction: "vertical",
11672
+ gap: "md",
11673
+ align: "center",
11674
+ children: [
11675
+ { type: "typography", content: "Evaluating Model", variant: "h3" },
11676
+ { type: "spinner", size: "md" },
11677
+ { type: "typography", variant: "body", color: "muted", content: `Computing: ${c.metrics.join(", ")}` }
11678
+ ]
11679
+ };
11680
+ const doneView = {
11681
+ type: "stack",
11682
+ direction: "vertical",
11683
+ gap: "md",
11684
+ align: "center",
11685
+ children: [
11686
+ { type: "icon", name: "check-circle", size: "lg" },
11687
+ { type: "typography", content: "Evaluation Complete", variant: "h3" },
11688
+ { type: "typography", variant: "body", content: "Score: @entity.evalScore" }
11689
+ ]
11690
+ };
11691
+ const evaluateEffect = ["evaluate", "primary", {
11692
+ architecture: c.architecture,
11693
+ metrics: c.metrics,
11694
+ "on-complete": "EVAL_DONE"
11695
+ }];
11696
+ return {
11697
+ name: c.evalTraitName,
11698
+ linkedEntity: entityName,
11699
+ category: "interaction",
11700
+ emits: [{ event: "EVAL_DONE", scope: "external" }],
11701
+ stateMachine: {
11702
+ states: [
11703
+ { name: "waiting", isInitial: true },
11704
+ { name: "evaluating" }
11705
+ ],
11706
+ events: [
11707
+ { key: "INIT", name: "Initialize" },
11708
+ { key: "TRAINING_DONE", name: "Training Done" },
11709
+ { key: "EVAL_DONE", name: "Evaluation Done" }
11710
+ ],
11711
+ transitions: [
11712
+ {
11713
+ from: "waiting",
11714
+ to: "waiting",
11715
+ event: "INIT",
11716
+ effects: [
11717
+ ["render-ui", "main", waitingView]
11718
+ ]
11719
+ },
11720
+ {
11721
+ from: "waiting",
11722
+ to: "evaluating",
11723
+ event: "TRAINING_DONE",
11724
+ effects: [
11725
+ evaluateEffect,
11726
+ ["render-ui", "main", evaluatingView]
11727
+ ]
11728
+ },
11729
+ {
11730
+ from: "evaluating",
11731
+ to: "waiting",
11732
+ event: "EVAL_DONE",
11733
+ effects: [
11734
+ ["set", "@entity.evalScore", "@payload.score"],
11735
+ ["emit", "EVAL_DONE"],
11736
+ ["render-ui", "main", doneView]
11737
+ ]
11738
+ }
11739
+ ]
11740
+ }
11741
+ };
11742
+ }
11743
+ function buildCheckpointTrait(c) {
11744
+ const { entityName } = c;
11745
+ const idleView = {
11746
+ type: "stack",
11747
+ direction: "vertical",
11748
+ gap: "md",
11749
+ align: "center",
11750
+ children: [
11751
+ { type: "icon", name: "save", size: "lg" },
11752
+ { type: "typography", content: "Checkpoint", variant: "h3" },
11753
+ { type: "badge", label: "Waiting", variant: "neutral" }
11754
+ ]
11755
+ };
11756
+ const savingView = {
11757
+ type: "stack",
11758
+ direction: "vertical",
11759
+ gap: "md",
11760
+ align: "center",
11761
+ children: [
11762
+ { type: "typography", content: "Saving Checkpoint", variant: "h3" },
11763
+ { type: "spinner", size: "md" }
11764
+ ]
11765
+ };
11766
+ const savedView = {
11767
+ type: "stack",
11768
+ direction: "vertical",
11769
+ gap: "md",
11770
+ align: "center",
11771
+ children: [
11772
+ { type: "icon", name: "check-circle", size: "lg" },
11773
+ { type: "typography", content: "Model Saved", variant: "h3" },
11774
+ { type: "typography", variant: "caption", content: "@entity.checkpointPath" }
11775
+ ]
11776
+ };
11777
+ const checkpointEffect = ["checkpoint", "primary", {
11778
+ architecture: c.architecture,
11779
+ "on-complete": "MODEL_SAVED"
11780
+ }];
11781
+ return {
11782
+ name: c.checkpointTraitName,
11783
+ linkedEntity: entityName,
11784
+ category: "interaction",
11785
+ emits: [{ event: "MODEL_SAVED", scope: "external" }],
11786
+ stateMachine: {
11787
+ states: [
11788
+ { name: "idle", isInitial: true },
11789
+ { name: "saving" }
11790
+ ],
11791
+ events: [
11792
+ { key: "INIT", name: "Initialize" },
11793
+ { key: "EVAL_DONE", name: "Evaluation Done" },
11794
+ { key: "MODEL_SAVED", name: "Model Saved" }
11795
+ ],
11796
+ transitions: [
11797
+ {
11798
+ from: "idle",
11799
+ to: "idle",
11800
+ event: "INIT",
11801
+ effects: [
11802
+ ["render-ui", "main", idleView]
11803
+ ]
11804
+ },
11805
+ {
11806
+ from: "idle",
11807
+ to: "saving",
11808
+ event: "EVAL_DONE",
11809
+ effects: [
11810
+ checkpointEffect,
11811
+ ["render-ui", "main", savingView]
11812
+ ]
11813
+ },
11814
+ {
11815
+ from: "saving",
11816
+ to: "idle",
11817
+ event: "MODEL_SAVED",
11818
+ effects: [
11819
+ ["set", "@entity.checkpointPath", "@payload.path"],
11820
+ ["set", "@entity.trainingStatus", "saved"],
11821
+ ["emit", "MODEL_SAVED"],
11822
+ ["render-ui", "main", savedView]
11823
+ ]
11824
+ }
11825
+ ]
11826
+ }
11827
+ };
11828
+ }
11829
+ function stdTrainerEntity(params) {
11830
+ const c = resolve70(params);
11831
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
11832
+ }
11833
+ function stdTrainerTrait(params) {
11834
+ return buildTrainLoopTrait(resolve70(params));
11835
+ }
11836
+ function stdTrainerPage(params) {
11837
+ const c = resolve70(params);
11838
+ return {
11839
+ name: c.pageName,
11840
+ path: c.pagePath,
11841
+ ...c.isInitial ? { isInitial: true } : {},
11842
+ traits: [
11843
+ { ref: c.trainTraitName },
11844
+ { ref: c.evalTraitName },
11845
+ { ref: c.checkpointTraitName }
11846
+ ]
11847
+ };
11848
+ }
11849
+ function stdTrainer(params) {
11850
+ const c = resolve70(params);
11851
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
11852
+ const trainTrait = buildTrainLoopTrait(c);
11853
+ const traits = [trainTrait];
11854
+ if (c.evaluateAfterTraining) {
11855
+ const evalTrait = buildEvaluateTrait(c);
11856
+ traits.push(evalTrait);
11857
+ }
11858
+ if (c.autoCheckpoint && c.evaluateAfterTraining) {
11859
+ const checkpointTrait = buildCheckpointTrait(c);
11860
+ traits.push(checkpointTrait);
11861
+ }
11862
+ const page = {
11863
+ name: c.pageName,
11864
+ path: c.pagePath,
11865
+ ...c.isInitial ? { isInitial: true } : {},
11866
+ traits: traits.map((t) => ({ ref: t.name }))
11867
+ };
11868
+ return {
11869
+ name: `${c.entityName}Orbital`,
11870
+ entity,
11871
+ traits,
11872
+ pages: [page]
11873
+ };
11874
+ }
11875
+ function resolve71(params) {
11876
+ const { entityName } = params;
11877
+ const baseFields = [
11878
+ { name: "id", type: "string", default: "" },
11879
+ ...params.observationFields.map((f) => ({
11880
+ name: f,
11881
+ type: "number",
11882
+ default: 0
11883
+ }))
11884
+ ];
11885
+ const domainFields = [
11886
+ { name: "selectedAction", type: "number", default: -1 },
11887
+ { name: "reward", type: "number", default: 0 },
11888
+ { name: "totalReward", type: "number", default: 0 },
11889
+ { name: "episodeCount", type: "number", default: 0 },
11890
+ { name: "bufferCount", type: "number", default: 0 },
11891
+ { name: "agentStatus", type: "string", default: "idle" },
11892
+ { name: "policyLoss", type: "number", default: 0 }
11893
+ ];
11894
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
11895
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
11896
+ const p = plural(entityName);
11897
+ return {
11898
+ entityName,
11899
+ fields,
11900
+ architecture: params.architecture,
11901
+ observationFields: params.observationFields,
11902
+ actionCount: params.actionCount,
11903
+ bufferSize: params.bufferSize ?? 1e3,
11904
+ trainingConfig: params.trainingConfig ?? { learningRate: 1e-3, batchSize: 32 },
11905
+ discountFactor: params.discountFactor ?? 0.99,
11906
+ policyTraitName: `${entityName}Policy`,
11907
+ collectorTraitName: `${entityName}Collector`,
11908
+ trainTraitName: `${entityName}Train`,
11909
+ pluralName: p,
11910
+ pageName: params.pageName ?? `${entityName}AgentPage`,
11911
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/agent`,
11912
+ isInitial: params.isInitial ?? false
11913
+ };
11914
+ }
11915
+ function buildPolicyTrait(c) {
11916
+ const { entityName, actionCount } = c;
11917
+ const idleView = {
11918
+ type: "stack",
11919
+ direction: "vertical",
11920
+ gap: "lg",
11921
+ align: "center",
11922
+ children: [
11923
+ {
11924
+ type: "stack",
11925
+ direction: "horizontal",
11926
+ gap: "sm",
11927
+ align: "center",
11928
+ children: [
11929
+ { type: "icon", name: "brain", size: "lg" },
11930
+ { type: "typography", content: `${entityName} RL Agent`, variant: "h2" }
11931
+ ]
11932
+ },
11933
+ { type: "divider" },
11934
+ { type: "badge", label: "@entity.agentStatus" },
11935
+ { type: "typography", variant: "body", color: "muted", content: `Actions: ${actionCount} | Discount: ${c.discountFactor}` },
11936
+ { type: "button", label: "Send Observation", event: "OBSERVATION", variant: "primary", icon: "eye" }
11937
+ ]
11938
+ };
11939
+ const inferringView = {
11940
+ type: "stack",
11941
+ direction: "vertical",
11942
+ gap: "md",
11943
+ align: "center",
11944
+ children: [
11945
+ { type: "typography", content: "Selecting Action", variant: "h3" },
11946
+ { type: "spinner", size: "md" }
11947
+ ]
11948
+ };
11949
+ const forwardEffect = ["forward", "primary", {
11950
+ architecture: c.architecture,
11951
+ input: "@payload.observation",
11952
+ "output-contract": { type: "tensor", shape: [actionCount], dtype: "float32", activation: "softmax" },
11953
+ "on-complete": "ACTION_SCORES"
11954
+ }];
11955
+ return {
11956
+ name: c.policyTraitName,
11957
+ linkedEntity: entityName,
11958
+ category: "interaction",
11959
+ emits: [{ event: "ACTION", scope: "external" }],
11960
+ stateMachine: {
11961
+ states: [
11962
+ { name: "idle", isInitial: true },
11963
+ { name: "inferring" }
11964
+ ],
11965
+ events: [
11966
+ { key: "INIT", name: "Initialize" },
11967
+ { key: "OBSERVATION", name: "Observation" },
11968
+ { key: "ACTION_SCORES", name: "Action Scores" }
11969
+ ],
11970
+ transitions: [
11971
+ {
11972
+ from: "idle",
11973
+ to: "idle",
11974
+ event: "INIT",
11975
+ effects: [
11976
+ ["set", "@entity.agentStatus", "idle"],
11977
+ ["render-ui", "main", idleView]
11978
+ ]
11979
+ },
11980
+ {
11981
+ from: "idle",
11982
+ to: "inferring",
11983
+ event: "OBSERVATION",
11984
+ effects: [
11985
+ ["set", "@entity.agentStatus", "inferring"],
11986
+ forwardEffect,
11987
+ ["render-ui", "main", inferringView]
11988
+ ]
11989
+ },
11990
+ {
11991
+ from: "inferring",
11992
+ to: "idle",
11993
+ event: "ACTION_SCORES",
11994
+ effects: [
11995
+ ["set", "@entity.selectedAction", ["tensor/argmax", "@payload.output"]],
11996
+ ["set", "@entity.agentStatus", "idle"],
11997
+ ["emit", "ACTION"],
11998
+ ["render-ui", "main", idleView]
11999
+ ]
12000
+ }
12001
+ ]
12002
+ }
12003
+ };
12004
+ }
12005
+ function buildCollectorTrait(c) {
12006
+ const { entityName, bufferSize } = c;
12007
+ const collectingView = {
12008
+ type: "stack",
12009
+ direction: "vertical",
12010
+ gap: "md",
12011
+ align: "center",
12012
+ children: [
12013
+ { type: "icon", name: "database", size: "lg" },
12014
+ { type: "typography", content: "Replay Buffer", variant: "h3" },
12015
+ { type: "typography", variant: "body", content: "Transitions: @entity.bufferCount" },
12016
+ { type: "progress-bar", value: "@entity.bufferCount", max: bufferSize }
12017
+ ]
12018
+ };
12019
+ const collectEffect = ["buffer-append", "replay", {
12020
+ capacity: bufferSize,
12021
+ transition: {
12022
+ observation: "@payload.observation",
12023
+ action: "@payload.action",
12024
+ reward: "@payload.reward",
12025
+ nextObservation: "@payload.nextObservation"
12026
+ },
12027
+ "on-full": "BUFFER_READY"
12028
+ }];
12029
+ return {
12030
+ name: c.collectorTraitName,
12031
+ linkedEntity: entityName,
12032
+ category: "interaction",
12033
+ emits: [{ event: "BUFFER_READY", scope: "external" }],
12034
+ stateMachine: {
12035
+ states: [
12036
+ { name: "collecting", isInitial: true }
12037
+ ],
12038
+ events: [
12039
+ { key: "INIT", name: "Initialize" },
12040
+ { key: "STORE_TRANSITION", name: "Store Transition" },
12041
+ { key: "BUFFER_READY", name: "Buffer Ready" }
12042
+ ],
12043
+ transitions: [
12044
+ {
12045
+ from: "collecting",
12046
+ to: "collecting",
12047
+ event: "INIT",
12048
+ effects: [
12049
+ ["set", "@entity.bufferCount", 0],
12050
+ ["render-ui", "main", collectingView]
12051
+ ]
12052
+ },
12053
+ {
12054
+ from: "collecting",
12055
+ to: "collecting",
12056
+ event: "STORE_TRANSITION",
12057
+ effects: [
12058
+ collectEffect,
12059
+ ["set", "@entity.bufferCount", ["math/add", "@entity.bufferCount", 1]],
12060
+ ["render-ui", "main", collectingView]
12061
+ ]
12062
+ },
12063
+ {
12064
+ from: "collecting",
12065
+ to: "collecting",
12066
+ event: "BUFFER_READY",
12067
+ effects: [
12068
+ ["emit", "BUFFER_READY"],
12069
+ ["render-ui", "main", collectingView]
12070
+ ]
12071
+ }
12072
+ ]
12073
+ }
12074
+ };
12075
+ }
12076
+ function buildTrainTrait(c) {
12077
+ const { entityName } = c;
12078
+ const waitingView = {
12079
+ type: "stack",
12080
+ direction: "vertical",
12081
+ gap: "md",
12082
+ align: "center",
12083
+ children: [
12084
+ { type: "icon", name: "cpu", size: "lg" },
12085
+ { type: "typography", content: "Policy Training", variant: "h3" },
12086
+ { type: "badge", label: "Waiting for buffer", variant: "neutral" },
12087
+ { type: "typography", variant: "caption", content: "Loss: @entity.policyLoss" }
12088
+ ]
12089
+ };
12090
+ const trainingView = {
12091
+ type: "stack",
12092
+ direction: "vertical",
12093
+ gap: "md",
12094
+ align: "center",
12095
+ children: [
12096
+ { type: "typography", content: "Training Policy", variant: "h3" },
12097
+ { type: "spinner", size: "md" }
12098
+ ]
12099
+ };
12100
+ const trainEffect = ["train", "primary", {
12101
+ architecture: c.architecture,
12102
+ config: { ...c.trainingConfig, discountFactor: c.discountFactor },
12103
+ source: "replay",
12104
+ "on-complete": "POLICY_UPDATED"
12105
+ }];
12106
+ return {
12107
+ name: c.trainTraitName,
12108
+ linkedEntity: entityName,
12109
+ category: "interaction",
12110
+ emits: [{ event: "POLICY_UPDATED", scope: "external" }],
12111
+ stateMachine: {
12112
+ states: [
12113
+ { name: "waiting", isInitial: true },
12114
+ { name: "training" }
12115
+ ],
12116
+ events: [
12117
+ { key: "INIT", name: "Initialize" },
12118
+ { key: "BUFFER_READY", name: "Buffer Ready" },
12119
+ { key: "POLICY_UPDATED", name: "Policy Updated" }
12120
+ ],
12121
+ transitions: [
12122
+ {
12123
+ from: "waiting",
12124
+ to: "waiting",
12125
+ event: "INIT",
12126
+ effects: [
12127
+ ["render-ui", "main", waitingView]
12128
+ ]
12129
+ },
12130
+ {
12131
+ from: "waiting",
12132
+ to: "training",
12133
+ event: "BUFFER_READY",
12134
+ effects: [
12135
+ trainEffect,
12136
+ ["render-ui", "main", trainingView]
12137
+ ]
12138
+ },
12139
+ {
12140
+ from: "training",
12141
+ to: "waiting",
12142
+ event: "POLICY_UPDATED",
12143
+ effects: [
12144
+ ["set", "@entity.policyLoss", "@payload.loss"],
12145
+ ["set", "@entity.episodeCount", ["math/add", "@entity.episodeCount", 1]],
12146
+ ["emit", "POLICY_UPDATED"],
12147
+ ["render-ui", "main", waitingView]
12148
+ ]
12149
+ }
12150
+ ]
12151
+ }
12152
+ };
12153
+ }
12154
+ function stdRlAgentEntity(params) {
12155
+ const c = resolve71(params);
12156
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12157
+ }
12158
+ function stdRlAgentTrait(params) {
12159
+ return buildPolicyTrait(resolve71(params));
12160
+ }
12161
+ function stdRlAgentPage(params) {
12162
+ const c = resolve71(params);
12163
+ return {
12164
+ name: c.pageName,
12165
+ path: c.pagePath,
12166
+ ...c.isInitial ? { isInitial: true } : {},
12167
+ traits: [
12168
+ { ref: c.policyTraitName },
12169
+ { ref: c.collectorTraitName },
12170
+ { ref: c.trainTraitName }
12171
+ ]
12172
+ };
12173
+ }
12174
+ function stdRlAgent(params) {
12175
+ const c = resolve71(params);
12176
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12177
+ const policyTrait = buildPolicyTrait(c);
12178
+ const collectorTrait = buildCollectorTrait(c);
12179
+ const trainTrait = buildTrainTrait(c);
12180
+ const page = {
12181
+ name: c.pageName,
12182
+ path: c.pagePath,
12183
+ ...c.isInitial ? { isInitial: true } : {},
12184
+ traits: [
12185
+ { ref: policyTrait.name },
12186
+ { ref: collectorTrait.name },
12187
+ { ref: trainTrait.name }
12188
+ ]
12189
+ };
12190
+ return {
12191
+ name: `${c.entityName}Orbital`,
12192
+ entity,
12193
+ traits: [policyTrait, collectorTrait, trainTrait],
12194
+ pages: [page]
12195
+ };
12196
+ }
12197
+ function resolve72(params) {
12198
+ const { entityName } = params;
12199
+ const baseFields = [{ name: "id", type: "string", default: "" }];
12200
+ const domainFields = [
12201
+ { name: "nodeCount", type: "number", default: 0 },
12202
+ { name: "edgeCount", type: "number", default: 0 },
12203
+ { name: "predictedClass", type: "string", default: "" },
12204
+ { name: "confidence", type: "number", default: 0 },
12205
+ { name: "graphStatus", type: "string", default: "idle" }
12206
+ ];
12207
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
12208
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
12209
+ const p = plural(entityName);
12210
+ return {
12211
+ entityName,
12212
+ fields,
12213
+ nodeEntity: params.nodeEntity,
12214
+ edgeField: params.edgeField,
12215
+ nodeFeatures: params.nodeFeatures,
12216
+ architecture: params.architecture,
12217
+ classes: params.classes,
12218
+ graphTraitName: `${entityName}GraphBuilder`,
12219
+ classifyTraitName: `${entityName}GnnClassify`,
12220
+ pluralName: p,
12221
+ pageName: params.pageName ?? `${entityName}GraphPage`,
12222
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/graph-classify`,
12223
+ isInitial: params.isInitial ?? false
12224
+ };
12225
+ }
12226
+ function buildGraphBuilderTrait(c) {
12227
+ const { entityName, nodeEntity, edgeField, nodeFeatures } = c;
12228
+ const idleView = {
12229
+ type: "stack",
12230
+ direction: "vertical",
12231
+ gap: "lg",
12232
+ align: "center",
12233
+ children: [
12234
+ {
12235
+ type: "stack",
12236
+ direction: "horizontal",
12237
+ gap: "sm",
12238
+ align: "center",
12239
+ children: [
12240
+ { type: "icon", name: "git-branch", size: "lg" },
12241
+ { type: "typography", content: `${entityName} Graph Classifier`, variant: "h2" }
12242
+ ]
12243
+ },
12244
+ { type: "divider" },
12245
+ { type: "badge", label: "@entity.graphStatus" },
12246
+ { type: "typography", variant: "body", color: "muted", content: `Nodes: ${nodeEntity} | Features: ${nodeFeatures.join(", ")}` },
12247
+ { type: "typography", variant: "caption", content: `Classes: ${c.classes.join(", ")}` },
12248
+ { type: "button", label: "Classify Graph", event: "CLASSIFY", variant: "primary", icon: "play" }
12249
+ ]
12250
+ };
12251
+ const buildingView = {
12252
+ type: "stack",
12253
+ direction: "vertical",
12254
+ gap: "md",
12255
+ align: "center",
12256
+ children: [
12257
+ { type: "typography", content: "Building Graph", variant: "h3" },
12258
+ { type: "spinner", size: "md" },
12259
+ { type: "typography", variant: "body", color: "muted", content: "Constructing adjacency matrix and feature vectors..." }
12260
+ ]
12261
+ };
12262
+ const buildGraphEffect = ["graph-build", "primary", {
12263
+ nodeEntity,
12264
+ edgeField,
12265
+ features: nodeFeatures,
12266
+ "on-complete": "GRAPH_READY"
12267
+ }];
12268
+ return {
12269
+ name: c.graphTraitName,
12270
+ linkedEntity: entityName,
12271
+ category: "interaction",
12272
+ emits: [{ event: "GRAPH_READY", scope: "external" }],
12273
+ stateMachine: {
12274
+ states: [
12275
+ { name: "idle", isInitial: true },
12276
+ { name: "building" }
12277
+ ],
12278
+ events: [
12279
+ { key: "INIT", name: "Initialize" },
12280
+ { key: "CLASSIFY", name: "Classify" },
12281
+ { key: "GRAPH_READY", name: "Graph Ready" }
12282
+ ],
12283
+ transitions: [
12284
+ {
12285
+ from: "idle",
12286
+ to: "idle",
12287
+ event: "INIT",
12288
+ effects: [
12289
+ ["set", "@entity.graphStatus", "idle"],
12290
+ ["render-ui", "main", idleView]
12291
+ ]
12292
+ },
12293
+ {
12294
+ from: "idle",
12295
+ to: "building",
12296
+ event: "CLASSIFY",
12297
+ effects: [
12298
+ ["set", "@entity.graphStatus", "building"],
12299
+ buildGraphEffect,
12300
+ ["render-ui", "main", buildingView]
12301
+ ]
12302
+ },
12303
+ {
12304
+ from: "building",
12305
+ to: "idle",
12306
+ event: "GRAPH_READY",
12307
+ effects: [
12308
+ ["set", "@entity.nodeCount", "@payload.nodeCount"],
12309
+ ["set", "@entity.edgeCount", "@payload.edgeCount"],
12310
+ ["set", "@entity.graphStatus", "graph_ready"],
12311
+ ["emit", "GRAPH_READY"],
12312
+ ["render-ui", "main", idleView]
12313
+ ]
12314
+ }
12315
+ ]
12316
+ }
12317
+ };
12318
+ }
12319
+ function buildGnnClassifyTrait(c) {
12320
+ const { entityName, classes } = c;
12321
+ const waitingView = {
12322
+ type: "stack",
12323
+ direction: "vertical",
12324
+ gap: "md",
12325
+ align: "center",
12326
+ children: [
12327
+ { type: "icon", name: "brain", size: "lg" },
12328
+ { type: "typography", content: "GNN Classification", variant: "h3" },
12329
+ { type: "badge", label: "Waiting for graph", variant: "neutral" }
12330
+ ]
12331
+ };
12332
+ const classifyingView = {
12333
+ type: "stack",
12334
+ direction: "vertical",
12335
+ gap: "md",
12336
+ align: "center",
12337
+ children: [
12338
+ { type: "typography", content: "Running GNN Forward Pass", variant: "h3" },
12339
+ { type: "spinner", size: "md" }
12340
+ ]
12341
+ };
12342
+ const resultView = {
12343
+ type: "stack",
12344
+ direction: "vertical",
12345
+ gap: "md",
12346
+ align: "center",
12347
+ children: [
12348
+ { type: "icon", name: "check-circle", size: "lg" },
12349
+ { type: "typography", content: "Classification Result", variant: "h3" },
12350
+ { type: "badge", label: "@entity.predictedClass", variant: "success" },
12351
+ { type: "typography", variant: "caption", content: "Confidence" },
12352
+ { type: "progress-bar", value: "@entity.confidence", max: 1 },
12353
+ { type: "typography", variant: "body", content: "Nodes: @entity.nodeCount | Edges: @entity.edgeCount" }
12354
+ ]
12355
+ };
12356
+ const forwardEffect = ["forward", "primary", {
12357
+ architecture: c.architecture,
12358
+ input: "@payload.graph",
12359
+ "output-contract": { type: "tensor", shape: [classes.length], dtype: "float32", labels: classes, activation: "softmax" },
12360
+ "on-complete": "CLASSIFIED"
12361
+ }];
12362
+ return {
12363
+ name: c.classifyTraitName,
12364
+ linkedEntity: entityName,
12365
+ category: "interaction",
12366
+ emits: [{ event: "CLASSIFIED", scope: "external" }],
12367
+ stateMachine: {
12368
+ states: [
12369
+ { name: "waiting", isInitial: true },
12370
+ { name: "classifying" }
12371
+ ],
12372
+ events: [
12373
+ { key: "INIT", name: "Initialize" },
12374
+ { key: "GRAPH_READY", name: "Graph Ready" },
12375
+ { key: "CLASSIFIED", name: "Classified" }
12376
+ ],
12377
+ transitions: [
12378
+ {
12379
+ from: "waiting",
12380
+ to: "waiting",
12381
+ event: "INIT",
12382
+ effects: [
12383
+ ["render-ui", "main", waitingView]
12384
+ ]
12385
+ },
12386
+ {
12387
+ from: "waiting",
12388
+ to: "classifying",
12389
+ event: "GRAPH_READY",
12390
+ effects: [
12391
+ forwardEffect,
12392
+ ["render-ui", "main", classifyingView]
12393
+ ]
12394
+ },
12395
+ {
12396
+ from: "classifying",
12397
+ to: "waiting",
12398
+ event: "CLASSIFIED",
12399
+ effects: [
12400
+ ["set", "@entity.predictedClass", ["tensor/argmax-label", "@payload.output", classes]],
12401
+ ["set", "@entity.confidence", ["tensor/max", "@payload.output"]],
12402
+ ["set", "@entity.graphStatus", "classified"],
12403
+ ["emit", "CLASSIFIED"],
12404
+ ["render-ui", "main", resultView]
12405
+ ]
12406
+ }
12407
+ ]
12408
+ }
12409
+ };
12410
+ }
12411
+ function stdGraphClassifierEntity(params) {
12412
+ const c = resolve72(params);
12413
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12414
+ }
12415
+ function stdGraphClassifierTrait(params) {
12416
+ return buildGraphBuilderTrait(resolve72(params));
12417
+ }
12418
+ function stdGraphClassifierPage(params) {
12419
+ const c = resolve72(params);
12420
+ return {
12421
+ name: c.pageName,
12422
+ path: c.pagePath,
12423
+ ...c.isInitial ? { isInitial: true } : {},
12424
+ traits: [
12425
+ { ref: c.graphTraitName },
12426
+ { ref: c.classifyTraitName }
12427
+ ]
12428
+ };
12429
+ }
12430
+ function stdGraphClassifier(params) {
12431
+ const c = resolve72(params);
12432
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12433
+ const graphTrait = buildGraphBuilderTrait(c);
12434
+ const classifyTrait = buildGnnClassifyTrait(c);
12435
+ const page = {
12436
+ name: c.pageName,
12437
+ path: c.pagePath,
12438
+ ...c.isInitial ? { isInitial: true } : {},
12439
+ traits: [
12440
+ { ref: graphTrait.name },
12441
+ { ref: classifyTrait.name }
12442
+ ]
12443
+ };
12444
+ return {
12445
+ name: `${c.entityName}Orbital`,
12446
+ entity,
12447
+ traits: [graphTrait, classifyTrait],
12448
+ pages: [page]
12449
+ };
12450
+ }
12451
+ function resolve73(params) {
12452
+ const { entityName } = params;
12453
+ const baseFields = [
12454
+ { name: "id", type: "string", default: "" },
12455
+ { name: params.sourceField, type: "string", default: "" }
12456
+ ];
12457
+ const domainFields = [
12458
+ { name: "tokenCount", type: "number", default: 0 },
12459
+ { name: "predictedClass", type: "string", default: "" },
12460
+ { name: "confidence", type: "number", default: 0 },
12461
+ { name: "classifyStatus", type: "string", default: "idle" }
12462
+ ];
12463
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
12464
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
12465
+ const p = plural(entityName);
12466
+ return {
12467
+ entityName,
12468
+ fields,
12469
+ sourceField: params.sourceField,
12470
+ architecture: params.architecture,
12471
+ classes: params.classes,
12472
+ tokenizerMethod: params.tokenizerMethod ?? "whitespace",
12473
+ maxLength: params.maxLength ?? 512,
12474
+ tokenizerTraitName: `${entityName}Tokenizer`,
12475
+ classifyTraitName: `${entityName}TextClassify`,
12476
+ pluralName: p,
12477
+ pageName: params.pageName ?? `${entityName}TextClassifyPage`,
12478
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/text-classify`,
12479
+ isInitial: params.isInitial ?? false
12480
+ };
12481
+ }
12482
+ function buildTokenizerTrait(c) {
12483
+ const { entityName, sourceField, tokenizerMethod, maxLength, classes } = c;
12484
+ const idleView = {
12485
+ type: "stack",
12486
+ direction: "vertical",
12487
+ gap: "lg",
12488
+ align: "center",
12489
+ children: [
12490
+ {
12491
+ type: "stack",
12492
+ direction: "horizontal",
12493
+ gap: "sm",
12494
+ align: "center",
12495
+ children: [
12496
+ { type: "icon", name: "type", size: "lg" },
12497
+ { type: "typography", content: `${entityName} Text Classifier`, variant: "h2" }
12498
+ ]
12499
+ },
12500
+ { type: "divider" },
12501
+ { type: "badge", label: "@entity.classifyStatus" },
12502
+ { type: "typography", variant: "body", color: "muted", content: `Source: ${sourceField} | Method: ${tokenizerMethod} | Max: ${maxLength}` },
12503
+ { type: "typography", variant: "caption", content: `Classes: ${classes.join(", ")}` },
12504
+ { type: "button", label: "Classify Text", event: "CLASSIFY", variant: "primary", icon: "play" }
12505
+ ]
12506
+ };
12507
+ const tokenizingView = {
12508
+ type: "stack",
12509
+ direction: "vertical",
12510
+ gap: "md",
12511
+ align: "center",
12512
+ children: [
12513
+ { type: "typography", content: "Tokenizing", variant: "h3" },
12514
+ { type: "spinner", size: "md" },
12515
+ { type: "typography", variant: "body", color: "muted", content: `Method: ${tokenizerMethod}` }
12516
+ ]
12517
+ };
12518
+ const tokenizeEffect = ["tokenize", "primary", {
12519
+ method: tokenizerMethod,
12520
+ input: `@entity.${sourceField}`,
12521
+ maxLength,
12522
+ "on-complete": "TOKENS_READY"
12523
+ }];
12524
+ return {
12525
+ name: c.tokenizerTraitName,
12526
+ linkedEntity: entityName,
12527
+ category: "interaction",
12528
+ emits: [{ event: "TOKENS_READY", scope: "external" }],
12529
+ stateMachine: {
12530
+ states: [
12531
+ { name: "idle", isInitial: true },
12532
+ { name: "tokenizing" }
12533
+ ],
12534
+ events: [
12535
+ { key: "INIT", name: "Initialize" },
12536
+ { key: "CLASSIFY", name: "Classify" },
12537
+ { key: "TOKENS_READY", name: "Tokens Ready" }
12538
+ ],
12539
+ transitions: [
12540
+ {
12541
+ from: "idle",
12542
+ to: "idle",
12543
+ event: "INIT",
12544
+ effects: [
12545
+ ["set", "@entity.classifyStatus", "idle"],
12546
+ ["render-ui", "main", idleView]
12547
+ ]
12548
+ },
12549
+ {
12550
+ from: "idle",
12551
+ to: "tokenizing",
12552
+ event: "CLASSIFY",
12553
+ effects: [
12554
+ ["set", "@entity.classifyStatus", "tokenizing"],
12555
+ tokenizeEffect,
12556
+ ["render-ui", "main", tokenizingView]
12557
+ ]
12558
+ },
12559
+ {
12560
+ from: "tokenizing",
12561
+ to: "idle",
12562
+ event: "TOKENS_READY",
12563
+ effects: [
12564
+ ["set", "@entity.tokenCount", "@payload.tokenCount"],
12565
+ ["set", "@entity.classifyStatus", "tokenized"],
12566
+ ["emit", "TOKENS_READY"],
12567
+ ["render-ui", "main", idleView]
12568
+ ]
12569
+ }
12570
+ ]
12571
+ }
12572
+ };
12573
+ }
12574
+ function buildTextClassifyTrait(c) {
12575
+ const { entityName, classes } = c;
12576
+ const waitingView = {
12577
+ type: "stack",
12578
+ direction: "vertical",
12579
+ gap: "md",
12580
+ align: "center",
12581
+ children: [
12582
+ { type: "icon", name: "brain", size: "lg" },
12583
+ { type: "typography", content: "Text Classification", variant: "h3" },
12584
+ { type: "badge", label: "Waiting for tokens", variant: "neutral" }
12585
+ ]
12586
+ };
12587
+ const classifyingView = {
12588
+ type: "stack",
12589
+ direction: "vertical",
12590
+ gap: "md",
12591
+ align: "center",
12592
+ children: [
12593
+ { type: "typography", content: "Classifying Text", variant: "h3" },
12594
+ { type: "spinner", size: "md" },
12595
+ { type: "typography", variant: "body", color: "muted", content: "Tokens: @entity.tokenCount" }
12596
+ ]
12597
+ };
12598
+ const resultView = {
12599
+ type: "stack",
12600
+ direction: "vertical",
12601
+ gap: "md",
12602
+ align: "center",
12603
+ children: [
12604
+ { type: "icon", name: "check-circle", size: "lg" },
12605
+ { type: "typography", content: "Classification Result", variant: "h3" },
12606
+ { type: "badge", label: "@entity.predictedClass", variant: "success" },
12607
+ { type: "typography", variant: "caption", content: "Confidence" },
12608
+ { type: "progress-bar", value: "@entity.confidence", max: 1 },
12609
+ { type: "button", label: "Classify Again", event: "CLASSIFY", variant: "outline", icon: "refresh-cw" }
12610
+ ]
12611
+ };
12612
+ const forwardEffect = ["forward", "primary", {
12613
+ architecture: c.architecture,
12614
+ input: "@payload.tokens",
12615
+ "output-contract": { type: "tensor", shape: [classes.length], dtype: "float32", labels: classes, activation: "softmax" },
12616
+ "on-complete": "CLASSIFIED"
12617
+ }];
12618
+ return {
12619
+ name: c.classifyTraitName,
12620
+ linkedEntity: entityName,
12621
+ category: "interaction",
12622
+ emits: [{ event: "CLASSIFIED", scope: "external" }],
12623
+ stateMachine: {
12624
+ states: [
12625
+ { name: "waiting", isInitial: true },
12626
+ { name: "classifying" }
12627
+ ],
12628
+ events: [
12629
+ { key: "INIT", name: "Initialize" },
12630
+ { key: "TOKENS_READY", name: "Tokens Ready" },
12631
+ { key: "CLASSIFIED", name: "Classified" }
12632
+ ],
12633
+ transitions: [
12634
+ {
12635
+ from: "waiting",
12636
+ to: "waiting",
12637
+ event: "INIT",
12638
+ effects: [
12639
+ ["render-ui", "main", waitingView]
12640
+ ]
12641
+ },
12642
+ {
12643
+ from: "waiting",
12644
+ to: "classifying",
12645
+ event: "TOKENS_READY",
12646
+ effects: [
12647
+ forwardEffect,
12648
+ ["render-ui", "main", classifyingView]
12649
+ ]
12650
+ },
12651
+ {
12652
+ from: "classifying",
12653
+ to: "waiting",
12654
+ event: "CLASSIFIED",
12655
+ effects: [
12656
+ ["set", "@entity.predictedClass", ["tensor/argmax-label", "@payload.output", classes]],
12657
+ ["set", "@entity.confidence", ["tensor/max", "@payload.output"]],
12658
+ ["set", "@entity.classifyStatus", "classified"],
12659
+ ["emit", "CLASSIFIED"],
12660
+ ["render-ui", "main", resultView]
12661
+ ]
12662
+ }
12663
+ ]
12664
+ }
12665
+ };
12666
+ }
12667
+ function stdTextClassifierEntity(params) {
12668
+ const c = resolve73(params);
12669
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12670
+ }
12671
+ function stdTextClassifierTrait(params) {
12672
+ return buildTokenizerTrait(resolve73(params));
12673
+ }
12674
+ function stdTextClassifierPage(params) {
12675
+ const c = resolve73(params);
12676
+ return {
12677
+ name: c.pageName,
12678
+ path: c.pagePath,
12679
+ ...c.isInitial ? { isInitial: true } : {},
12680
+ traits: [
12681
+ { ref: c.tokenizerTraitName },
12682
+ { ref: c.classifyTraitName }
12683
+ ]
12684
+ };
12685
+ }
12686
+ function stdTextClassifier(params) {
12687
+ const c = resolve73(params);
12688
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12689
+ const tokenizerTrait = buildTokenizerTrait(c);
12690
+ const classifyTrait = buildTextClassifyTrait(c);
12691
+ const page = {
12692
+ name: c.pageName,
12693
+ path: c.pagePath,
12694
+ ...c.isInitial ? { isInitial: true } : {},
12695
+ traits: [
12696
+ { ref: tokenizerTrait.name },
12697
+ { ref: classifyTrait.name }
12698
+ ]
12699
+ };
12700
+ return {
12701
+ name: `${c.entityName}Orbital`,
12702
+ entity,
12703
+ traits: [tokenizerTrait, classifyTrait],
12704
+ pages: [page]
12705
+ };
12706
+ }
12707
+ function resolve74(params) {
12708
+ const { entityName } = params;
12709
+ const baseFields = [{ name: "id", type: "string", default: "" }];
12710
+ const domainFields = [
12711
+ { name: "generatedTokens", type: "string", default: "" },
12712
+ { name: "tokenCount", type: "number", default: 0 },
12713
+ { name: "lastToken", type: "number", default: -1 },
12714
+ { name: "genStatus", type: "string", default: "idle" },
12715
+ { name: "prompt", type: "string", default: "" }
12716
+ ];
12717
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
12718
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
12719
+ const p = plural(entityName);
12720
+ return {
12721
+ entityName,
12722
+ fields,
12723
+ architecture: params.architecture,
12724
+ vocabSize: params.vocabSize,
12725
+ maxLength: params.maxLength,
12726
+ eosToken: params.eosToken,
12727
+ generateEvent: params.generateEvent ?? "GENERATE",
12728
+ tokenEvent: params.tokenEvent ?? "TOKEN_READY",
12729
+ doneEvent: params.doneEvent ?? "GENERATION_COMPLETE",
12730
+ traitName: `${entityName}Autoregressive`,
12731
+ pluralName: p,
12732
+ pageName: params.pageName ?? `${entityName}GeneratePage`,
12733
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/generate`,
12734
+ isInitial: params.isInitial ?? false
12735
+ };
12736
+ }
12737
+ function buildTrait61(c) {
12738
+ const { entityName, generateEvent, tokenEvent, doneEvent, vocabSize, maxLength, eosToken } = c;
12739
+ const idleView = {
12740
+ type: "stack",
12741
+ direction: "vertical",
12742
+ gap: "lg",
12743
+ align: "center",
12744
+ children: [
12745
+ {
12746
+ type: "stack",
12747
+ direction: "horizontal",
12748
+ gap: "sm",
12749
+ align: "center",
12750
+ children: [
12751
+ { type: "icon", name: "message-square", size: "lg" },
12752
+ { type: "typography", content: `${entityName} Generator`, variant: "h2" }
12753
+ ]
12754
+ },
12755
+ { type: "divider" },
12756
+ { type: "badge", label: "@entity.genStatus" },
12757
+ { type: "typography", variant: "body", color: "muted", content: `Vocab: ${vocabSize} | Max length: ${maxLength}` },
12758
+ { type: "typography", variant: "body", content: "@entity.generatedTokens" },
12759
+ { type: "button", label: "Generate", event: generateEvent, variant: "primary", icon: "play" }
12760
+ ]
12761
+ };
12762
+ const generatingView = {
12763
+ type: "stack",
12764
+ direction: "vertical",
12765
+ gap: "md",
12766
+ align: "center",
12767
+ children: [
12768
+ { type: "typography", content: "Generating", variant: "h3" },
12769
+ { type: "progress-bar", value: "@entity.tokenCount", max: maxLength },
12770
+ { type: "typography", variant: "body", content: "@entity.generatedTokens" },
12771
+ { type: "typography", variant: "caption", content: "Tokens: @entity.tokenCount" },
12772
+ { type: "spinner", size: "sm" }
12773
+ ]
12774
+ };
12775
+ const completeView2 = {
12776
+ type: "stack",
12777
+ direction: "vertical",
12778
+ gap: "md",
12779
+ align: "center",
12780
+ children: [
12781
+ { type: "icon", name: "check-circle", size: "lg" },
12782
+ { type: "typography", content: "Generation Complete", variant: "h3" },
12783
+ { type: "typography", variant: "body", content: "@entity.generatedTokens" },
12784
+ { type: "typography", variant: "caption", content: "Total tokens: @entity.tokenCount" },
12785
+ { type: "button", label: "Generate Again", event: generateEvent, variant: "outline", icon: "refresh-cw" }
12786
+ ]
12787
+ };
12788
+ const forwardEffect = ["forward", "primary", {
12789
+ architecture: c.architecture,
12790
+ input: "@entity.generatedTokens",
12791
+ "output-contract": { type: "tensor", shape: [vocabSize], dtype: "float32", activation: "softmax" },
12792
+ "on-complete": tokenEvent
12793
+ }];
12794
+ const eosGuard = ["eq", "@payload.token", eosToken];
12795
+ const maxLengthGuard = ["gte", "@entity.tokenCount", maxLength];
12796
+ const stopGuard = ["or", eosGuard, maxLengthGuard];
12797
+ const continueGuard = ["not", stopGuard];
12798
+ return {
12799
+ name: c.traitName,
12800
+ linkedEntity: entityName,
12801
+ category: "interaction",
12802
+ emits: [{ event: doneEvent, scope: "external" }],
12803
+ stateMachine: {
12804
+ states: [
12805
+ { name: "idle", isInitial: true },
12806
+ { name: "generating" }
12807
+ ],
12808
+ events: [
12809
+ { key: "INIT", name: "Initialize" },
12810
+ { key: generateEvent, name: "Generate" },
12811
+ { key: tokenEvent, name: "Token Ready" }
12812
+ ],
12813
+ transitions: [
12814
+ // INIT: idle -> idle
12815
+ {
12816
+ from: "idle",
12817
+ to: "idle",
12818
+ event: "INIT",
12819
+ effects: [
12820
+ ["set", "@entity.genStatus", "idle"],
12821
+ ["set", "@entity.generatedTokens", ""],
12822
+ ["set", "@entity.tokenCount", 0],
12823
+ ["render-ui", "main", idleView]
12824
+ ]
12825
+ },
12826
+ // GENERATE: idle -> generating (start first forward pass)
12827
+ {
12828
+ from: "idle",
12829
+ to: "generating",
12830
+ event: generateEvent,
12831
+ effects: [
12832
+ ["set", "@entity.genStatus", "generating"],
12833
+ ["set", "@entity.generatedTokens", ""],
12834
+ ["set", "@entity.tokenCount", 0],
12835
+ forwardEffect,
12836
+ ["render-ui", "main", generatingView]
12837
+ ]
12838
+ },
12839
+ // TOKEN_READY + continue: generating -> generating (append token, forward again)
12840
+ {
12841
+ from: "generating",
12842
+ to: "generating",
12843
+ event: tokenEvent,
12844
+ guard: continueGuard,
12845
+ effects: [
12846
+ ["set", "@entity.lastToken", "@payload.token"],
12847
+ ["set", "@entity.generatedTokens", ["string/concat", "@entity.generatedTokens", "@payload.decoded"]],
12848
+ ["set", "@entity.tokenCount", ["math/add", "@entity.tokenCount", 1]],
12849
+ forwardEffect,
12850
+ ["render-ui", "main", generatingView]
12851
+ ]
12852
+ },
12853
+ // TOKEN_READY + stop: generating -> idle (EOS or max length reached)
12854
+ {
12855
+ from: "generating",
12856
+ to: "idle",
12857
+ event: tokenEvent,
12858
+ guard: stopGuard,
12859
+ effects: [
12860
+ ["set", "@entity.genStatus", "complete"],
12861
+ ["set", "@entity.tokenCount", ["math/add", "@entity.tokenCount", 1]],
12862
+ ["emit", doneEvent],
12863
+ ["render-ui", "main", completeView2]
12864
+ ]
12865
+ }
12866
+ ]
12867
+ }
12868
+ };
12869
+ }
12870
+ function stdAutoregressiveEntity(params) {
12871
+ const c = resolve74(params);
12872
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12873
+ }
12874
+ function stdAutoregressiveTrait(params) {
12875
+ return buildTrait61(resolve74(params));
12876
+ }
12877
+ function stdAutoregressivePage(params) {
12878
+ const c = resolve74(params);
12879
+ return {
12880
+ name: c.pageName,
12881
+ path: c.pagePath,
12882
+ ...c.isInitial ? { isInitial: true } : {},
12883
+ traits: [{ ref: c.traitName }]
12884
+ };
12885
+ }
12886
+ function stdAutoregressive(params) {
12887
+ const c = resolve74(params);
12888
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
12889
+ const trait = buildTrait61(c);
12890
+ const page = {
12891
+ name: c.pageName,
12892
+ path: c.pagePath,
12893
+ ...c.isInitial ? { isInitial: true } : {},
12894
+ traits: [{ ref: trait.name }]
12895
+ };
12896
+ return {
12897
+ name: `${c.entityName}Orbital`,
12898
+ entity,
12899
+ traits: [trait],
12900
+ pages: [page]
12901
+ };
12902
+ }
12903
+ function resolve75(params) {
11325
12904
  const entityName = params.entityName ?? "OrderPayment";
11326
12905
  const p = plural(entityName);
11327
12906
  const requiredFields = [
@@ -11660,13 +13239,13 @@ function buildPage62(c) {
11660
13239
  };
11661
13240
  }
11662
13241
  function stdServicePaymentFlowEntity(params = {}) {
11663
- return buildEntity62(resolve69(params));
13242
+ return buildEntity62(resolve75(params));
11664
13243
  }
11665
13244
  function stdServicePaymentFlowPage(params = {}) {
11666
- return buildPage62(resolve69(params));
13245
+ return buildPage62(resolve75(params));
11667
13246
  }
11668
13247
  function stdServicePaymentFlow(params = {}) {
11669
- const c = resolve69(params);
13248
+ const c = resolve75(params);
11670
13249
  return makeOrbital(
11671
13250
  `${c.entityName}Orbital`,
11672
13251
  buildEntity62(c),
@@ -11674,7 +13253,7 @@ function stdServicePaymentFlow(params = {}) {
11674
13253
  [buildPage62(c)]
11675
13254
  );
11676
13255
  }
11677
- function resolve70(params) {
13256
+ function resolve76(params) {
11678
13257
  const entityName = params.entityName ?? "Notification";
11679
13258
  const p = plural(entityName);
11680
13259
  const requiredFields = [
@@ -11715,7 +13294,7 @@ function buildEntity63(c) {
11715
13294
  const allFields = ensureIdField([...c.fields, ...extraFields]);
11716
13295
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
11717
13296
  }
11718
- function buildTrait60(c) {
13297
+ function buildTrait62(c) {
11719
13298
  const { entityName } = c;
11720
13299
  const idleUI = {
11721
13300
  type: "stack",
@@ -11909,24 +13488,24 @@ function buildPage63(c) {
11909
13488
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
11910
13489
  }
11911
13490
  function stdServiceNotificationHubEntity(params = {}) {
11912
- return buildEntity63(resolve70(params));
13491
+ return buildEntity63(resolve76(params));
11913
13492
  }
11914
13493
  function stdServiceNotificationHubTrait(params = {}) {
11915
- return buildTrait60(resolve70(params));
13494
+ return buildTrait62(resolve76(params));
11916
13495
  }
11917
13496
  function stdServiceNotificationHubPage(params = {}) {
11918
- return buildPage63(resolve70(params));
13497
+ return buildPage63(resolve76(params));
11919
13498
  }
11920
13499
  function stdServiceNotificationHub(params = {}) {
11921
- const c = resolve70(params);
13500
+ const c = resolve76(params);
11922
13501
  return makeOrbital(
11923
13502
  `${c.entityName}Orbital`,
11924
13503
  buildEntity63(c),
11925
- [buildTrait60(c)],
13504
+ [buildTrait62(c)],
11926
13505
  [buildPage63(c)]
11927
13506
  );
11928
13507
  }
11929
- function resolve71(params) {
13508
+ function resolve77(params) {
11930
13509
  const entityName = params.entityName ?? "Research";
11931
13510
  const p = plural(entityName);
11932
13511
  const requiredFields = [
@@ -12123,7 +13702,7 @@ function errorView() {
12123
13702
  ]
12124
13703
  };
12125
13704
  }
12126
- function buildTrait61(c) {
13705
+ function buildTrait63(c) {
12127
13706
  const { entityName } = c;
12128
13707
  return {
12129
13708
  name: c.traitName,
@@ -12303,19 +13882,19 @@ function buildPage64(c) {
12303
13882
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
12304
13883
  }
12305
13884
  function stdServiceContentPipelineEntity(params) {
12306
- return buildEntity64(resolve71(params));
13885
+ return buildEntity64(resolve77(params));
12307
13886
  }
12308
13887
  function stdServiceContentPipelineTrait(params) {
12309
- return buildTrait61(resolve71(params));
13888
+ return buildTrait63(resolve77(params));
12310
13889
  }
12311
13890
  function stdServiceContentPipelinePage(params) {
12312
- return buildPage64(resolve71(params));
13891
+ return buildPage64(resolve77(params));
12313
13892
  }
12314
13893
  function stdServiceContentPipeline(params) {
12315
- const c = resolve71(params);
12316
- return makeOrbital(`${c.entityName}Orbital`, buildEntity64(c), [buildTrait61(c)], [buildPage64(c)]);
13894
+ const c = resolve77(params);
13895
+ return makeOrbital(`${c.entityName}Orbital`, buildEntity64(c), [buildTrait63(c)], [buildPage64(c)]);
12317
13896
  }
12318
- function resolve72(params) {
13897
+ function resolve78(params) {
12319
13898
  const entityName = params.entityName ?? "DevopsTool";
12320
13899
  const p = plural(entityName);
12321
13900
  const requiredFields = [
@@ -12836,11 +14415,11 @@ function buildStorageTrait(c) {
12836
14415
  };
12837
14416
  }
12838
14417
  function stdServiceDevopsToolkitEntity(params = {}) {
12839
- const c = resolve72(params);
14418
+ const c = resolve78(params);
12840
14419
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
12841
14420
  }
12842
14421
  function stdServiceDevopsToolkitPage(params = {}) {
12843
- const c = resolve72(params);
14422
+ const c = resolve78(params);
12844
14423
  return {
12845
14424
  name: c.pageName,
12846
14425
  path: c.pagePath,
@@ -12853,7 +14432,7 @@ function stdServiceDevopsToolkitPage(params = {}) {
12853
14432
  };
12854
14433
  }
12855
14434
  function stdServiceDevopsToolkit(params = {}) {
12856
- const c = resolve72(params);
14435
+ const c = resolve78(params);
12857
14436
  const githubTrait = buildGithubTrait(c);
12858
14437
  const redisTrait = buildRedisTrait(c);
12859
14438
  const storageTrait = buildStorageTrait(c);
@@ -12875,7 +14454,7 @@ function stdServiceDevopsToolkit(params = {}) {
12875
14454
  pages: [page]
12876
14455
  };
12877
14456
  }
12878
- function resolve73(params) {
14457
+ function resolve79(params) {
12879
14458
  const entityName = params.entityName ?? "ApiTest";
12880
14459
  const p = plural(entityName);
12881
14460
  const requiredFields = [
@@ -12912,7 +14491,7 @@ function resolve73(params) {
12912
14491
  function buildEntity65(c) {
12913
14492
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
12914
14493
  }
12915
- function buildTrait62(c) {
14494
+ function buildTrait64(c) {
12916
14495
  const { entityName } = c;
12917
14496
  const formChildren = [
12918
14497
  { type: "icon", name: "globe", size: "lg" },
@@ -13133,20 +14712,20 @@ function buildPage65(c) {
13133
14712
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
13134
14713
  }
13135
14714
  function stdServiceCustomApiTesterEntity(params) {
13136
- return buildEntity65(resolve73(params));
14715
+ return buildEntity65(resolve79(params));
13137
14716
  }
13138
14717
  function stdServiceCustomApiTesterTrait(params) {
13139
- return buildTrait62(resolve73(params));
14718
+ return buildTrait64(resolve79(params));
13140
14719
  }
13141
14720
  function stdServiceCustomApiTesterPage(params) {
13142
- return buildPage65(resolve73(params));
14721
+ return buildPage65(resolve79(params));
13143
14722
  }
13144
14723
  function stdServiceCustomApiTester(params) {
13145
- const c = resolve73(params);
14724
+ const c = resolve79(params);
13146
14725
  const orbital = makeOrbital(
13147
14726
  `${c.entityName}Orbital`,
13148
14727
  buildEntity65(c),
13149
- [buildTrait62(c)],
14728
+ [buildTrait64(c)],
13150
14729
  [buildPage65(c)]
13151
14730
  );
13152
14731
  return {
@@ -15229,7 +16808,7 @@ function stdLogicTraining(params) {
15229
16808
  const schema = compose([debuggerOrbital, negotiatorOrbital, scoreOrbital], pages, connections, appName);
15230
16809
  return wrapInGameShell(schema, appName);
15231
16810
  }
15232
- function resolve74(params) {
16811
+ function resolve80(params) {
15233
16812
  const entityName = params.entityName ?? "AuthSession";
15234
16813
  const p = plural(entityName);
15235
16814
  const requiredFields = [
@@ -15272,7 +16851,7 @@ function buildEntity66(c) {
15272
16851
  const allFields = ensureIdField([...oauthFields, ...extraFields]);
15273
16852
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
15274
16853
  }
15275
- function buildTrait63(c) {
16854
+ function buildTrait65(c) {
15276
16855
  const { entityName, standalone } = c;
15277
16856
  const unauthenticatedUI = {
15278
16857
  type: "stack",
@@ -15514,23 +17093,23 @@ function buildPage66(c) {
15514
17093
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
15515
17094
  }
15516
17095
  function stdServiceOauthEntity(params = {}) {
15517
- return buildEntity66(resolve74(params));
17096
+ return buildEntity66(resolve80(params));
15518
17097
  }
15519
17098
  function stdServiceOauthTrait(params = {}) {
15520
- return buildTrait63(resolve74(params));
17099
+ return buildTrait65(resolve80(params));
15521
17100
  }
15522
17101
  function stdServiceOauthPage(params = {}) {
15523
- return buildPage66(resolve74(params));
17102
+ return buildPage66(resolve80(params));
15524
17103
  }
15525
17104
  function stdServiceOauth(params = {}) {
15526
- const c = resolve74(params);
17105
+ const c = resolve80(params);
15527
17106
  const pages = [];
15528
17107
  const page = buildPage66(c);
15529
17108
  if (page) pages.push(page);
15530
17109
  return makeOrbital(
15531
17110
  `${c.entityName}Orbital`,
15532
17111
  buildEntity66(c),
15533
- [buildTrait63(c)],
17112
+ [buildTrait65(c)],
15534
17113
  pages
15535
17114
  );
15536
17115
  }
@@ -15613,7 +17192,7 @@ function stdServiceMarketplace(params = {}) {
15613
17192
  ]);
15614
17193
  return wrapInDashboardLayout(schema, appName, navItems);
15615
17194
  }
15616
- function resolve75(params) {
17195
+ function resolve81(params) {
15617
17196
  const entityName = params.entityName ?? "CacheEntry";
15618
17197
  const p = plural(entityName);
15619
17198
  const requiredFields = [
@@ -15645,7 +17224,7 @@ function resolve75(params) {
15645
17224
  function buildEntity67(c) {
15646
17225
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
15647
17226
  }
15648
- function buildTrait64(c) {
17227
+ function buildTrait66(c) {
15649
17228
  const { entityName, standalone } = c;
15650
17229
  const idleUI = {
15651
17230
  type: "stack",
@@ -15819,24 +17398,24 @@ function buildPage67(c) {
15819
17398
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
15820
17399
  }
15821
17400
  function stdServiceRedisEntity(params = {}) {
15822
- return buildEntity67(resolve75(params));
17401
+ return buildEntity67(resolve81(params));
15823
17402
  }
15824
17403
  function stdServiceRedisTrait(params = {}) {
15825
- return buildTrait64(resolve75(params));
17404
+ return buildTrait66(resolve81(params));
15826
17405
  }
15827
17406
  function stdServiceRedisPage(params = {}) {
15828
- return buildPage67(resolve75(params));
17407
+ return buildPage67(resolve81(params));
15829
17408
  }
15830
17409
  function stdServiceRedis(params = {}) {
15831
- const c = resolve75(params);
17410
+ const c = resolve81(params);
15832
17411
  return makeOrbital(
15833
17412
  `${c.entityName}Orbital`,
15834
17413
  buildEntity67(c),
15835
- [buildTrait64(c)],
17414
+ [buildTrait66(c)],
15836
17415
  [buildPage67(c)]
15837
17416
  );
15838
17417
  }
15839
- function resolve76(params) {
17418
+ function resolve82(params) {
15840
17419
  const entityName = params.entityName ?? "StorageFile";
15841
17420
  const p = plural(entityName);
15842
17421
  const requiredFields = [
@@ -15870,7 +17449,7 @@ function resolve76(params) {
15870
17449
  function buildEntity68(c) {
15871
17450
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
15872
17451
  }
15873
- function buildTrait65(c) {
17452
+ function buildTrait67(c) {
15874
17453
  const { entityName, standalone } = c;
15875
17454
  const idleChildren = [
15876
17455
  {
@@ -16082,24 +17661,24 @@ function buildPage68(c) {
16082
17661
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
16083
17662
  }
16084
17663
  function stdServiceStorageEntity(params = {}) {
16085
- return buildEntity68(resolve76(params));
17664
+ return buildEntity68(resolve82(params));
16086
17665
  }
16087
17666
  function stdServiceStorageTrait(params = {}) {
16088
- return buildTrait65(resolve76(params));
17667
+ return buildTrait67(resolve82(params));
16089
17668
  }
16090
17669
  function stdServiceStoragePage(params = {}) {
16091
- return buildPage68(resolve76(params));
17670
+ return buildPage68(resolve82(params));
16092
17671
  }
16093
17672
  function stdServiceStorage(params = {}) {
16094
- const c = resolve76(params);
17673
+ const c = resolve82(params);
16095
17674
  return makeOrbital(
16096
17675
  `${c.entityName}Orbital`,
16097
17676
  buildEntity68(c),
16098
- [buildTrait65(c)],
17677
+ [buildTrait67(c)],
16099
17678
  [buildPage68(c)]
16100
17679
  );
16101
17680
  }
16102
- function resolve77(params) {
17681
+ function resolve83(params) {
16103
17682
  const entityName = params.entityName ?? "ApiCall";
16104
17683
  const p = plural(entityName);
16105
17684
  const requiredFields = [
@@ -16134,7 +17713,7 @@ function resolve77(params) {
16134
17713
  function buildEntity69(c) {
16135
17714
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
16136
17715
  }
16137
- function buildTrait66(c) {
17716
+ function buildTrait68(c) {
16138
17717
  const { entityName, standalone } = c;
16139
17718
  const idleChildren = [
16140
17719
  { type: "icon", name: "shield", size: "lg" },
@@ -16296,20 +17875,20 @@ function buildPage69(c) {
16296
17875
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
16297
17876
  }
16298
17877
  function stdServiceCustomBearerEntity(params) {
16299
- return buildEntity69(resolve77(params));
17878
+ return buildEntity69(resolve83(params));
16300
17879
  }
16301
17880
  function stdServiceCustomBearerTrait(params) {
16302
- return buildTrait66(resolve77(params));
17881
+ return buildTrait68(resolve83(params));
16303
17882
  }
16304
17883
  function stdServiceCustomBearerPage(params) {
16305
- return buildPage69(resolve77(params));
17884
+ return buildPage69(resolve83(params));
16306
17885
  }
16307
17886
  function stdServiceCustomBearer(params) {
16308
- const c = resolve77(params);
17887
+ const c = resolve83(params);
16309
17888
  const orbital = makeOrbital(
16310
17889
  `${c.entityName}Orbital`,
16311
17890
  buildEntity69(c),
16312
- [buildTrait66(c)],
17891
+ [buildTrait68(c)],
16313
17892
  [buildPage69(c)]
16314
17893
  );
16315
17894
  return {
@@ -16879,7 +18458,7 @@ function stdValidateOnSave(params = {}) {
16879
18458
  ];
16880
18459
  return makeOrbital("ValidateOnSave", entity, [trait], pages);
16881
18460
  }
16882
- function resolve78(params) {
18461
+ function resolve84(params) {
16883
18462
  const { entityName } = params;
16884
18463
  const requiredFields = [
16885
18464
  { name: "to", type: "string" },
@@ -16932,7 +18511,7 @@ function buildEntity70(c) {
16932
18511
  collection: c.collection
16933
18512
  });
16934
18513
  }
16935
- function buildTrait67(c) {
18514
+ function buildTrait69(c) {
16936
18515
  const { entityName, standalone } = c;
16937
18516
  const idleChildren = [
16938
18517
  {
@@ -17096,27 +18675,27 @@ function buildPage70(c) {
17096
18675
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
17097
18676
  }
17098
18677
  function stdServiceEmailEntity(params) {
17099
- return buildEntity70(resolve78(params));
18678
+ return buildEntity70(resolve84(params));
17100
18679
  }
17101
18680
  function stdServiceEmailTrait(params) {
17102
- return buildTrait67(resolve78(params));
18681
+ return buildTrait69(resolve84(params));
17103
18682
  }
17104
18683
  function stdServiceEmailPage(params) {
17105
- return buildPage70(resolve78(params));
18684
+ return buildPage70(resolve84(params));
17106
18685
  }
17107
18686
  function stdServiceEmail(params) {
17108
- const c = resolve78(params);
18687
+ const c = resolve84(params);
17109
18688
  const pages = [];
17110
18689
  const page = buildPage70(c);
17111
18690
  if (page) pages.push(page);
17112
18691
  return makeOrbital(
17113
18692
  `${c.entityName}Orbital`,
17114
18693
  buildEntity70(c),
17115
- [buildTrait67(c)],
18694
+ [buildTrait69(c)],
17116
18695
  pages
17117
18696
  );
17118
18697
  }
17119
- function resolve79(params) {
18698
+ function resolve85(params) {
17120
18699
  const entityName = params.entityName ?? "Payment";
17121
18700
  const p = plural(entityName);
17122
18701
  const requiredFields = [
@@ -17160,7 +18739,7 @@ function buildEntity71(c) {
17160
18739
  const allFields = ensureIdField([...paymentFields, ...extraFields]);
17161
18740
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence, collection: c.collection });
17162
18741
  }
17163
- function buildTrait68(c) {
18742
+ function buildTrait70(c) {
17164
18743
  const { entityName, standalone } = c;
17165
18744
  const idleUI = {
17166
18745
  type: "stack",
@@ -17347,24 +18926,24 @@ function buildPage71(c) {
17347
18926
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
17348
18927
  }
17349
18928
  function stdServiceStripeEntity(params = {}) {
17350
- return buildEntity71(resolve79(params));
18929
+ return buildEntity71(resolve85(params));
17351
18930
  }
17352
18931
  function stdServiceStripeTrait(params = {}) {
17353
- return buildTrait68(resolve79(params));
18932
+ return buildTrait70(resolve85(params));
17354
18933
  }
17355
18934
  function stdServiceStripePage(params = {}) {
17356
- return buildPage71(resolve79(params));
18935
+ return buildPage71(resolve85(params));
17357
18936
  }
17358
18937
  function stdServiceStripe(params = {}) {
17359
- const c = resolve79(params);
18938
+ const c = resolve85(params);
17360
18939
  return makeOrbital(
17361
18940
  `${c.entityName}Orbital`,
17362
18941
  buildEntity71(c),
17363
- [buildTrait68(c)],
18942
+ [buildTrait70(c)],
17364
18943
  [buildPage71(c)]
17365
18944
  );
17366
18945
  }
17367
- function resolve80(params) {
18946
+ function resolve86(params) {
17368
18947
  const entityName = params.entityName ?? "Message";
17369
18948
  const p = plural(entityName);
17370
18949
  const requiredFields = [
@@ -17406,7 +18985,7 @@ function buildEntity72(c) {
17406
18985
  const allFields = ensureIdField([...c.fields, ...extraFields]);
17407
18986
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
17408
18987
  }
17409
- function buildTrait69(c) {
18988
+ function buildTrait71(c) {
17410
18989
  const { entityName, standalone } = c;
17411
18990
  const idleChildren = [
17412
18991
  {
@@ -17595,27 +19174,27 @@ function buildPage72(c) {
17595
19174
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
17596
19175
  }
17597
19176
  function stdServiceTwilioEntity(params = {}) {
17598
- return buildEntity72(resolve80(params));
19177
+ return buildEntity72(resolve86(params));
17599
19178
  }
17600
19179
  function stdServiceTwilioTrait(params = {}) {
17601
- return buildTrait69(resolve80(params));
19180
+ return buildTrait71(resolve86(params));
17602
19181
  }
17603
19182
  function stdServiceTwilioPage(params = {}) {
17604
- return buildPage72(resolve80(params));
19183
+ return buildPage72(resolve86(params));
17605
19184
  }
17606
19185
  function stdServiceTwilio(params = {}) {
17607
- const c = resolve80(params);
19186
+ const c = resolve86(params);
17608
19187
  const pages = [];
17609
19188
  const page = buildPage72(c);
17610
19189
  if (page) pages.push(page);
17611
19190
  return makeOrbital(
17612
19191
  `${c.entityName}Orbital`,
17613
19192
  buildEntity72(c),
17614
- [buildTrait69(c)],
19193
+ [buildTrait71(c)],
17615
19194
  pages
17616
19195
  );
17617
19196
  }
17618
- function resolve81(params) {
19197
+ function resolve87(params) {
17619
19198
  const entityName = params.entityName ?? "PullRequest";
17620
19199
  const p = plural(entityName);
17621
19200
  const requiredFields = [
@@ -17662,7 +19241,7 @@ function buildEntity73(c) {
17662
19241
  const allFields = ensureIdField([...githubFields, ...extraFields]);
17663
19242
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
17664
19243
  }
17665
- function buildTrait70(c) {
19244
+ function buildTrait72(c) {
17666
19245
  const { entityName, standalone } = c;
17667
19246
  const idleUI = {
17668
19247
  type: "stack",
@@ -17819,24 +19398,24 @@ function buildPage73(c) {
17819
19398
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
17820
19399
  }
17821
19400
  function stdServiceGithubEntity(params = {}) {
17822
- return buildEntity73(resolve81(params));
19401
+ return buildEntity73(resolve87(params));
17823
19402
  }
17824
19403
  function stdServiceGithubTrait(params = {}) {
17825
- return buildTrait70(resolve81(params));
19404
+ return buildTrait72(resolve87(params));
17826
19405
  }
17827
19406
  function stdServiceGithubPage(params = {}) {
17828
- return buildPage73(resolve81(params));
19407
+ return buildPage73(resolve87(params));
17829
19408
  }
17830
19409
  function stdServiceGithub(params = {}) {
17831
- const c = resolve81(params);
19410
+ const c = resolve87(params);
17832
19411
  return makeOrbital(
17833
19412
  `${c.entityName}Orbital`,
17834
19413
  buildEntity73(c),
17835
- [buildTrait70(c)],
19414
+ [buildTrait72(c)],
17836
19415
  [buildPage73(c)]
17837
19416
  );
17838
19417
  }
17839
- function resolve82(params) {
19418
+ function resolve88(params) {
17840
19419
  const entityName = params.entityName ?? "VideoSearch";
17841
19420
  const p = plural(entityName);
17842
19421
  const requiredFields = [
@@ -17878,7 +19457,7 @@ function buildEntity74(c) {
17878
19457
  const allFields = ensureIdField([...youtubeFields, ...extraFields]);
17879
19458
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
17880
19459
  }
17881
- function buildTrait71(c) {
19460
+ function buildTrait73(c) {
17882
19461
  const { entityName, standalone } = c;
17883
19462
  const searchFormChildren = [
17884
19463
  {
@@ -18130,27 +19709,27 @@ function buildPage74(c) {
18130
19709
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
18131
19710
  }
18132
19711
  function stdServiceYoutubeEntity(params = {}) {
18133
- return buildEntity74(resolve82(params));
19712
+ return buildEntity74(resolve88(params));
18134
19713
  }
18135
19714
  function stdServiceYoutubeTrait(params = {}) {
18136
- return buildTrait71(resolve82(params));
19715
+ return buildTrait73(resolve88(params));
18137
19716
  }
18138
19717
  function stdServiceYoutubePage(params = {}) {
18139
- return buildPage74(resolve82(params));
19718
+ return buildPage74(resolve88(params));
18140
19719
  }
18141
19720
  function stdServiceYoutube(params = {}) {
18142
- const c = resolve82(params);
19721
+ const c = resolve88(params);
18143
19722
  const pages = [];
18144
19723
  const page = buildPage74(c);
18145
19724
  if (page) pages.push(page);
18146
19725
  return makeOrbital(
18147
19726
  `${c.entityName}Orbital`,
18148
19727
  buildEntity74(c),
18149
- [buildTrait71(c)],
19728
+ [buildTrait73(c)],
18150
19729
  pages
18151
19730
  );
18152
19731
  }
18153
- function resolve83(params) {
19732
+ function resolve89(params) {
18154
19733
  const entityName = params.entityName ?? "LlmTask";
18155
19734
  const p = plural(entityName);
18156
19735
  const requiredFields = [
@@ -18191,7 +19770,7 @@ function buildEntity75(c) {
18191
19770
  const allFields = ensureIdField([...llmFields, ...extraFields]);
18192
19771
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
18193
19772
  }
18194
- function buildTrait72(c) {
19773
+ function buildTrait74(c) {
18195
19774
  const { entityName, standalone } = c;
18196
19775
  const idleChildren = [
18197
19776
  {
@@ -18397,27 +19976,27 @@ function buildPage75(c) {
18397
19976
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
18398
19977
  }
18399
19978
  function stdServiceLlmEntity(params = {}) {
18400
- return buildEntity75(resolve83(params));
19979
+ return buildEntity75(resolve89(params));
18401
19980
  }
18402
19981
  function stdServiceLlmTrait(params = {}) {
18403
- return buildTrait72(resolve83(params));
19982
+ return buildTrait74(resolve89(params));
18404
19983
  }
18405
19984
  function stdServiceLlmPage(params = {}) {
18406
- return buildPage75(resolve83(params));
19985
+ return buildPage75(resolve89(params));
18407
19986
  }
18408
19987
  function stdServiceLlm(params = {}) {
18409
- const c = resolve83(params);
19988
+ const c = resolve89(params);
18410
19989
  const pages = [];
18411
19990
  const page = buildPage75(c);
18412
19991
  if (page) pages.push(page);
18413
19992
  return makeOrbital(
18414
19993
  `${c.entityName}Orbital`,
18415
19994
  buildEntity75(c),
18416
- [buildTrait72(c)],
19995
+ [buildTrait74(c)],
18417
19996
  pages
18418
19997
  );
18419
19998
  }
18420
- function resolve84(params) {
19999
+ function resolve90(params) {
18421
20000
  const entityName = params.entityName ?? "ApiCall";
18422
20001
  const p = plural(entityName);
18423
20002
  const requiredFields = [
@@ -18453,7 +20032,7 @@ function resolve84(params) {
18453
20032
  function buildEntity76(c) {
18454
20033
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
18455
20034
  }
18456
- function buildTrait73(c) {
20035
+ function buildTrait75(c) {
18457
20036
  const { entityName, standalone } = c;
18458
20037
  const idleChildren = [
18459
20038
  { type: "icon", name: "globe", size: "lg" },
@@ -18615,20 +20194,20 @@ function buildPage76(c) {
18615
20194
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
18616
20195
  }
18617
20196
  function stdServiceCustomHeaderEntity(params) {
18618
- return buildEntity76(resolve84(params));
20197
+ return buildEntity76(resolve90(params));
18619
20198
  }
18620
20199
  function stdServiceCustomHeaderTrait(params) {
18621
- return buildTrait73(resolve84(params));
20200
+ return buildTrait75(resolve90(params));
18622
20201
  }
18623
20202
  function stdServiceCustomHeaderPage(params) {
18624
- return buildPage76(resolve84(params));
20203
+ return buildPage76(resolve90(params));
18625
20204
  }
18626
20205
  function stdServiceCustomHeader(params) {
18627
- const c = resolve84(params);
20206
+ const c = resolve90(params);
18628
20207
  const orbital = makeOrbital(
18629
20208
  `${c.entityName}Orbital`,
18630
20209
  buildEntity76(c),
18631
- [buildTrait73(c)],
20210
+ [buildTrait75(c)],
18632
20211
  [buildPage76(c)]
18633
20212
  );
18634
20213
  return {
@@ -18646,7 +20225,7 @@ function stdServiceCustomHeader(params) {
18646
20225
  }]
18647
20226
  };
18648
20227
  }
18649
- function resolve85(params) {
20228
+ function resolve91(params) {
18650
20229
  const entityName = params.entityName ?? "ApiCall";
18651
20230
  const p = plural(entityName);
18652
20231
  const requiredFields = [
@@ -18682,7 +20261,7 @@ function resolve85(params) {
18682
20261
  function buildEntity77(c) {
18683
20262
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
18684
20263
  }
18685
- function buildTrait74(c) {
20264
+ function buildTrait76(c) {
18686
20265
  const { entityName, standalone } = c;
18687
20266
  const idleChildren = [
18688
20267
  { type: "icon", name: "search", size: "lg" },
@@ -18844,20 +20423,20 @@ function buildPage77(c) {
18844
20423
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
18845
20424
  }
18846
20425
  function stdServiceCustomQueryEntity(params) {
18847
- return buildEntity77(resolve85(params));
20426
+ return buildEntity77(resolve91(params));
18848
20427
  }
18849
20428
  function stdServiceCustomQueryTrait(params) {
18850
- return buildTrait74(resolve85(params));
20429
+ return buildTrait76(resolve91(params));
18851
20430
  }
18852
20431
  function stdServiceCustomQueryPage(params) {
18853
- return buildPage77(resolve85(params));
20432
+ return buildPage77(resolve91(params));
18854
20433
  }
18855
20434
  function stdServiceCustomQuery(params) {
18856
- const c = resolve85(params);
20435
+ const c = resolve91(params);
18857
20436
  const orbital = makeOrbital(
18858
20437
  `${c.entityName}Orbital`,
18859
20438
  buildEntity77(c),
18860
- [buildTrait74(c)],
20439
+ [buildTrait76(c)],
18861
20440
  [buildPage77(c)]
18862
20441
  );
18863
20442
  return {
@@ -18875,7 +20454,7 @@ function stdServiceCustomQuery(params) {
18875
20454
  }]
18876
20455
  };
18877
20456
  }
18878
- function resolve86(params) {
20457
+ function resolve92(params) {
18879
20458
  const entityName = params.entityName ?? "ApiCall";
18880
20459
  const p = plural(entityName);
18881
20460
  const requiredFields = [
@@ -18909,7 +20488,7 @@ function resolve86(params) {
18909
20488
  function buildEntity78(c) {
18910
20489
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
18911
20490
  }
18912
- function buildTrait75(c) {
20491
+ function buildTrait77(c) {
18913
20492
  const { entityName, standalone } = c;
18914
20493
  const idleChildren = [
18915
20494
  { type: "icon", name: "globe", size: "lg" },
@@ -19071,20 +20650,20 @@ function buildPage78(c) {
19071
20650
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
19072
20651
  }
19073
20652
  function stdServiceCustomNoauthEntity(params) {
19074
- return buildEntity78(resolve86(params));
20653
+ return buildEntity78(resolve92(params));
19075
20654
  }
19076
20655
  function stdServiceCustomNoauthTrait(params) {
19077
- return buildTrait75(resolve86(params));
20656
+ return buildTrait77(resolve92(params));
19078
20657
  }
19079
20658
  function stdServiceCustomNoauthPage(params) {
19080
- return buildPage78(resolve86(params));
20659
+ return buildPage78(resolve92(params));
19081
20660
  }
19082
20661
  function stdServiceCustomNoauth(params) {
19083
- const c = resolve86(params);
20662
+ const c = resolve92(params);
19084
20663
  const orbital = makeOrbital(
19085
20664
  `${c.entityName}Orbital`,
19086
20665
  buildEntity78(c),
19087
- [buildTrait75(c)],
20666
+ [buildTrait77(c)],
19088
20667
  [buildPage78(c)]
19089
20668
  );
19090
20669
  return {
@@ -19097,6 +20676,6 @@ function stdServiceCustomNoauth(params) {
19097
20676
  };
19098
20677
  }
19099
20678
 
19100
- export { 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 };
20679
+ export { 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 };
19101
20680
  //# sourceMappingURL=index.js.map
19102
20681
  //# sourceMappingURL=index.js.map