@almadar/std 3.3.5 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -15087,6 +15087,1585 @@ function stdEventHandlerGame(params) {
15087
15087
  );
15088
15088
  }
15089
15089
  function resolve70(params) {
15090
+ const { entityName } = params;
15091
+ const baseFields = ensureIdField(params.fields);
15092
+ const domainFields = [
15093
+ { name: "predictedClass", type: "string", default: "" },
15094
+ { name: "confidence", type: "number", default: 0 },
15095
+ { name: "status", type: "string", default: "ready" }
15096
+ ];
15097
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
15098
+ const fields = [...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))];
15099
+ const p = plural(entityName);
15100
+ return {
15101
+ entityName,
15102
+ fields,
15103
+ architecture: params.architecture,
15104
+ inputFields: params.inputFields,
15105
+ classes: params.classes,
15106
+ inputRange: params.inputRange ?? [0, 1],
15107
+ classifyEvent: params.classifyEvent ?? "CLASSIFY",
15108
+ resultEvent: params.resultEvent ?? "CLASSIFIED",
15109
+ traitName: `${entityName}Classifier`,
15110
+ pluralName: p,
15111
+ pageName: params.pageName ?? `${entityName}ClassifierPage`,
15112
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/classify`,
15113
+ isInitial: params.isInitial ?? false
15114
+ };
15115
+ }
15116
+ function buildInputContract(inputFields, inputRange) {
15117
+ return {
15118
+ type: "tensor",
15119
+ shape: [inputFields.length],
15120
+ dtype: "float32",
15121
+ fields: inputFields,
15122
+ range: inputRange
15123
+ };
15124
+ }
15125
+ function buildOutputContract(classes) {
15126
+ return {
15127
+ type: "tensor",
15128
+ shape: [classes.length],
15129
+ dtype: "float32",
15130
+ labels: classes,
15131
+ activation: "softmax"
15132
+ };
15133
+ }
15134
+ function buildTrait60(c) {
15135
+ const { entityName, classifyEvent, resultEvent, classes } = c;
15136
+ const readyView = {
15137
+ type: "stack",
15138
+ direction: "vertical",
15139
+ gap: "lg",
15140
+ align: "center",
15141
+ children: [
15142
+ {
15143
+ type: "stack",
15144
+ direction: "horizontal",
15145
+ gap: "sm",
15146
+ align: "center",
15147
+ children: [
15148
+ { type: "icon", name: "brain", size: "lg" },
15149
+ { type: "typography", content: `${entityName} Classifier`, variant: "h2" }
15150
+ ]
15151
+ },
15152
+ { type: "divider" },
15153
+ { type: "badge", label: "@entity.status" },
15154
+ { type: "typography", variant: "body", color: "muted", content: `Classifies into: ${classes.join(", ")}` },
15155
+ { type: "button", label: "Classify", event: classifyEvent, variant: "primary", icon: "play" }
15156
+ ]
15157
+ };
15158
+ const classifyingView = {
15159
+ type: "stack",
15160
+ direction: "vertical",
15161
+ gap: "lg",
15162
+ align: "center",
15163
+ children: [
15164
+ { type: "loading-state", title: "Classifying", message: "Running forward pass with argmax..." },
15165
+ { type: "spinner", size: "lg" }
15166
+ ]
15167
+ };
15168
+ const resultView = {
15169
+ type: "stack",
15170
+ direction: "vertical",
15171
+ gap: "lg",
15172
+ align: "center",
15173
+ children: [
15174
+ {
15175
+ type: "stack",
15176
+ direction: "horizontal",
15177
+ gap: "sm",
15178
+ align: "center",
15179
+ children: [
15180
+ { type: "icon", name: "check-circle", size: "lg" },
15181
+ { type: "typography", content: "Classification Complete", variant: "h2" }
15182
+ ]
15183
+ },
15184
+ { type: "divider" },
15185
+ { type: "badge", label: "@entity.predictedClass", variant: "success" },
15186
+ { type: "typography", variant: "caption", content: "Confidence" },
15187
+ { type: "progress-bar", value: "@entity.confidence", max: 1 },
15188
+ { type: "button", label: "Classify Again", event: classifyEvent, variant: "outline", icon: "refresh-cw" }
15189
+ ]
15190
+ };
15191
+ const inputContract = buildInputContract(c.inputFields, c.inputRange);
15192
+ const outputContract = buildOutputContract(c.classes);
15193
+ const forwardEffect = ["forward", "primary", {
15194
+ architecture: c.architecture,
15195
+ input: "@payload.input",
15196
+ "input-contract": inputContract,
15197
+ "output-contract": outputContract,
15198
+ "on-complete": "FORWARD_DONE"
15199
+ }];
15200
+ return {
15201
+ name: c.traitName,
15202
+ linkedEntity: entityName,
15203
+ category: "interaction",
15204
+ emits: [{ event: resultEvent, scope: "external" }],
15205
+ stateMachine: {
15206
+ states: [
15207
+ { name: "ready", isInitial: true },
15208
+ { name: "classifying" }
15209
+ ],
15210
+ events: [
15211
+ { key: "INIT", name: "Initialize" },
15212
+ { key: classifyEvent, name: "Classify" },
15213
+ { key: "FORWARD_DONE", name: "Forward Done" }
15214
+ ],
15215
+ transitions: [
15216
+ // INIT: ready -> ready
15217
+ {
15218
+ from: "ready",
15219
+ to: "ready",
15220
+ event: "INIT",
15221
+ effects: [
15222
+ ["set", "@entity.status", "ready"],
15223
+ ["render-ui", "main", readyView]
15224
+ ]
15225
+ },
15226
+ // CLASSIFY: ready -> classifying (fire forward pass)
15227
+ {
15228
+ from: "ready",
15229
+ to: "classifying",
15230
+ event: classifyEvent,
15231
+ effects: [
15232
+ ["set", "@entity.status", "classifying"],
15233
+ forwardEffect,
15234
+ ["render-ui", "main", classifyingView]
15235
+ ]
15236
+ },
15237
+ // FORWARD_DONE: classifying -> ready (argmax + emit result)
15238
+ {
15239
+ from: "classifying",
15240
+ to: "ready",
15241
+ event: "FORWARD_DONE",
15242
+ effects: [
15243
+ ["set", "@entity.predictedClass", ["tensor/argmax-label", "@payload.output", classes]],
15244
+ ["set", "@entity.confidence", ["tensor/max", "@payload.output"]],
15245
+ ["set", "@entity.status", "ready"],
15246
+ ["emit", resultEvent],
15247
+ ["render-ui", "main", resultView]
15248
+ ]
15249
+ }
15250
+ ]
15251
+ }
15252
+ };
15253
+ }
15254
+ function stdClassifierEntity(params) {
15255
+ const c = resolve70(params);
15256
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
15257
+ }
15258
+ function stdClassifierTrait(params) {
15259
+ return buildTrait60(resolve70(params));
15260
+ }
15261
+ function stdClassifierPage(params) {
15262
+ const c = resolve70(params);
15263
+ return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
15264
+ }
15265
+ function stdClassifier(params) {
15266
+ const c = resolve70(params);
15267
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
15268
+ const trait = buildTrait60(c);
15269
+ const page = {
15270
+ name: c.pageName,
15271
+ path: c.pagePath,
15272
+ ...c.isInitial ? { isInitial: true } : {},
15273
+ traits: [{ ref: trait.name }]
15274
+ };
15275
+ return {
15276
+ name: `${c.entityName}Orbital`,
15277
+ entity,
15278
+ traits: [trait],
15279
+ pages: [page]
15280
+ };
15281
+ }
15282
+ function resolve71(params) {
15283
+ const { entityName } = params;
15284
+ const baseFields = ensureIdField(params.fields);
15285
+ const domainFields = [
15286
+ { name: "epoch", type: "number", default: 0 },
15287
+ { name: "totalEpochs", type: "number", default: 10 },
15288
+ { name: "loss", type: "number", default: 0 },
15289
+ { name: "accuracy", type: "number", default: 0 },
15290
+ { name: "trainingStatus", type: "string", default: "idle" },
15291
+ { name: "checkpointPath", type: "string", default: "" },
15292
+ { name: "evalScore", type: "number", default: 0 }
15293
+ ];
15294
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
15295
+ const fields = [...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))];
15296
+ const p = plural(entityName);
15297
+ return {
15298
+ entityName,
15299
+ fields,
15300
+ architecture: params.architecture,
15301
+ trainingConfig: params.trainingConfig,
15302
+ metrics: params.metrics,
15303
+ evaluateAfterTraining: params.evaluateAfterTraining ?? true,
15304
+ autoCheckpoint: params.autoCheckpoint ?? true,
15305
+ trainTraitName: `${entityName}TrainLoop`,
15306
+ evalTraitName: `${entityName}Evaluate`,
15307
+ checkpointTraitName: `${entityName}Checkpoint`,
15308
+ pluralName: p,
15309
+ pageName: params.pageName ?? `${entityName}TrainerPage`,
15310
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/train`,
15311
+ isInitial: params.isInitial ?? false
15312
+ };
15313
+ }
15314
+ function buildTrainLoopTrait(c) {
15315
+ const { entityName } = c;
15316
+ const idleView = {
15317
+ type: "stack",
15318
+ direction: "vertical",
15319
+ gap: "lg",
15320
+ align: "center",
15321
+ children: [
15322
+ {
15323
+ type: "stack",
15324
+ direction: "horizontal",
15325
+ gap: "sm",
15326
+ align: "center",
15327
+ children: [
15328
+ { type: "icon", name: "cpu", size: "lg" },
15329
+ { type: "typography", content: `${entityName} Training`, variant: "h2" }
15330
+ ]
15331
+ },
15332
+ { type: "divider" },
15333
+ { type: "badge", label: "@entity.trainingStatus" },
15334
+ { type: "typography", variant: "body", color: "muted", content: `Metrics: ${c.metrics.join(", ")}` },
15335
+ { type: "button", label: "Start Training", event: "START_TRAINING", variant: "primary", icon: "play" }
15336
+ ]
15337
+ };
15338
+ const trainingView = {
15339
+ type: "stack",
15340
+ direction: "vertical",
15341
+ gap: "md",
15342
+ align: "center",
15343
+ children: [
15344
+ { type: "typography", content: "Training in Progress", variant: "h3" },
15345
+ { type: "typography", variant: "caption", content: "Epoch" },
15346
+ { type: "progress-bar", value: "@entity.epoch", max: "@entity.totalEpochs" },
15347
+ { type: "typography", variant: "body", content: "Loss: @entity.loss" },
15348
+ { type: "spinner", size: "md" }
15349
+ ]
15350
+ };
15351
+ const trainEffect = ["train", "primary", {
15352
+ architecture: c.architecture,
15353
+ config: c.trainingConfig,
15354
+ metrics: c.metrics,
15355
+ "on-epoch": "EPOCH_DONE",
15356
+ "on-complete": "TRAINING_DONE"
15357
+ }];
15358
+ return {
15359
+ name: c.trainTraitName,
15360
+ linkedEntity: entityName,
15361
+ category: "interaction",
15362
+ emits: [{ event: "TRAINING_DONE", scope: "external" }],
15363
+ stateMachine: {
15364
+ states: [
15365
+ { name: "idle", isInitial: true },
15366
+ { name: "training" }
15367
+ ],
15368
+ events: [
15369
+ { key: "INIT", name: "Initialize" },
15370
+ { key: "START_TRAINING", name: "Start Training" },
15371
+ { key: "EPOCH_DONE", name: "Epoch Done" },
15372
+ { key: "TRAINING_DONE", name: "Training Done" }
15373
+ ],
15374
+ transitions: [
15375
+ {
15376
+ from: "idle",
15377
+ to: "idle",
15378
+ event: "INIT",
15379
+ effects: [
15380
+ ["set", "@entity.trainingStatus", "idle"],
15381
+ ["set", "@entity.totalEpochs", c.trainingConfig.epochs ?? 10],
15382
+ ["render-ui", "main", idleView]
15383
+ ]
15384
+ },
15385
+ {
15386
+ from: "idle",
15387
+ to: "training",
15388
+ event: "START_TRAINING",
15389
+ effects: [
15390
+ ["set", "@entity.trainingStatus", "training"],
15391
+ ["set", "@entity.epoch", 0],
15392
+ trainEffect,
15393
+ ["render-ui", "main", trainingView]
15394
+ ]
15395
+ },
15396
+ {
15397
+ from: "training",
15398
+ to: "training",
15399
+ event: "EPOCH_DONE",
15400
+ effects: [
15401
+ ["set", "@entity.epoch", "@payload.epoch"],
15402
+ ["set", "@entity.loss", "@payload.loss"],
15403
+ ["render-ui", "main", trainingView]
15404
+ ]
15405
+ },
15406
+ {
15407
+ from: "training",
15408
+ to: "idle",
15409
+ event: "TRAINING_DONE",
15410
+ effects: [
15411
+ ["set", "@entity.trainingStatus", "trained"],
15412
+ ["set", "@entity.loss", "@payload.finalLoss"],
15413
+ ["emit", "TRAINING_DONE"],
15414
+ ["render-ui", "main", idleView]
15415
+ ]
15416
+ }
15417
+ ]
15418
+ }
15419
+ };
15420
+ }
15421
+ function buildEvaluateTrait(c) {
15422
+ const { entityName } = c;
15423
+ const waitingView = {
15424
+ type: "stack",
15425
+ direction: "vertical",
15426
+ gap: "md",
15427
+ align: "center",
15428
+ children: [
15429
+ { type: "icon", name: "bar-chart-2", size: "lg" },
15430
+ { type: "typography", content: "Evaluation", variant: "h3" },
15431
+ { type: "badge", label: "Waiting for training", variant: "neutral" }
15432
+ ]
15433
+ };
15434
+ const evaluatingView = {
15435
+ type: "stack",
15436
+ direction: "vertical",
15437
+ gap: "md",
15438
+ align: "center",
15439
+ children: [
15440
+ { type: "typography", content: "Evaluating Model", variant: "h3" },
15441
+ { type: "spinner", size: "md" },
15442
+ { type: "typography", variant: "body", color: "muted", content: `Computing: ${c.metrics.join(", ")}` }
15443
+ ]
15444
+ };
15445
+ const doneView = {
15446
+ type: "stack",
15447
+ direction: "vertical",
15448
+ gap: "md",
15449
+ align: "center",
15450
+ children: [
15451
+ { type: "icon", name: "check-circle", size: "lg" },
15452
+ { type: "typography", content: "Evaluation Complete", variant: "h3" },
15453
+ { type: "typography", variant: "body", content: "Score: @entity.evalScore" }
15454
+ ]
15455
+ };
15456
+ const evaluateEffect = ["evaluate", "primary", {
15457
+ architecture: c.architecture,
15458
+ metrics: c.metrics,
15459
+ "on-complete": "EVAL_DONE"
15460
+ }];
15461
+ return {
15462
+ name: c.evalTraitName,
15463
+ linkedEntity: entityName,
15464
+ category: "interaction",
15465
+ emits: [{ event: "EVAL_DONE", scope: "external" }],
15466
+ stateMachine: {
15467
+ states: [
15468
+ { name: "waiting", isInitial: true },
15469
+ { name: "evaluating" }
15470
+ ],
15471
+ events: [
15472
+ { key: "INIT", name: "Initialize" },
15473
+ { key: "TRAINING_DONE", name: "Training Done" },
15474
+ { key: "EVAL_DONE", name: "Evaluation Done" }
15475
+ ],
15476
+ transitions: [
15477
+ {
15478
+ from: "waiting",
15479
+ to: "waiting",
15480
+ event: "INIT",
15481
+ effects: [
15482
+ ["render-ui", "main", waitingView]
15483
+ ]
15484
+ },
15485
+ {
15486
+ from: "waiting",
15487
+ to: "evaluating",
15488
+ event: "TRAINING_DONE",
15489
+ effects: [
15490
+ evaluateEffect,
15491
+ ["render-ui", "main", evaluatingView]
15492
+ ]
15493
+ },
15494
+ {
15495
+ from: "evaluating",
15496
+ to: "waiting",
15497
+ event: "EVAL_DONE",
15498
+ effects: [
15499
+ ["set", "@entity.evalScore", "@payload.score"],
15500
+ ["emit", "EVAL_DONE"],
15501
+ ["render-ui", "main", doneView]
15502
+ ]
15503
+ }
15504
+ ]
15505
+ }
15506
+ };
15507
+ }
15508
+ function buildCheckpointTrait(c) {
15509
+ const { entityName } = c;
15510
+ const idleView = {
15511
+ type: "stack",
15512
+ direction: "vertical",
15513
+ gap: "md",
15514
+ align: "center",
15515
+ children: [
15516
+ { type: "icon", name: "save", size: "lg" },
15517
+ { type: "typography", content: "Checkpoint", variant: "h3" },
15518
+ { type: "badge", label: "Waiting", variant: "neutral" }
15519
+ ]
15520
+ };
15521
+ const savingView = {
15522
+ type: "stack",
15523
+ direction: "vertical",
15524
+ gap: "md",
15525
+ align: "center",
15526
+ children: [
15527
+ { type: "typography", content: "Saving Checkpoint", variant: "h3" },
15528
+ { type: "spinner", size: "md" }
15529
+ ]
15530
+ };
15531
+ const savedView = {
15532
+ type: "stack",
15533
+ direction: "vertical",
15534
+ gap: "md",
15535
+ align: "center",
15536
+ children: [
15537
+ { type: "icon", name: "check-circle", size: "lg" },
15538
+ { type: "typography", content: "Model Saved", variant: "h3" },
15539
+ { type: "typography", variant: "caption", content: "@entity.checkpointPath" }
15540
+ ]
15541
+ };
15542
+ const checkpointEffect = ["checkpoint", "primary", {
15543
+ architecture: c.architecture,
15544
+ "on-complete": "MODEL_SAVED"
15545
+ }];
15546
+ return {
15547
+ name: c.checkpointTraitName,
15548
+ linkedEntity: entityName,
15549
+ category: "interaction",
15550
+ emits: [{ event: "MODEL_SAVED", scope: "external" }],
15551
+ stateMachine: {
15552
+ states: [
15553
+ { name: "idle", isInitial: true },
15554
+ { name: "saving" }
15555
+ ],
15556
+ events: [
15557
+ { key: "INIT", name: "Initialize" },
15558
+ { key: "EVAL_DONE", name: "Evaluation Done" },
15559
+ { key: "MODEL_SAVED", name: "Model Saved" }
15560
+ ],
15561
+ transitions: [
15562
+ {
15563
+ from: "idle",
15564
+ to: "idle",
15565
+ event: "INIT",
15566
+ effects: [
15567
+ ["render-ui", "main", idleView]
15568
+ ]
15569
+ },
15570
+ {
15571
+ from: "idle",
15572
+ to: "saving",
15573
+ event: "EVAL_DONE",
15574
+ effects: [
15575
+ checkpointEffect,
15576
+ ["render-ui", "main", savingView]
15577
+ ]
15578
+ },
15579
+ {
15580
+ from: "saving",
15581
+ to: "idle",
15582
+ event: "MODEL_SAVED",
15583
+ effects: [
15584
+ ["set", "@entity.checkpointPath", "@payload.path"],
15585
+ ["set", "@entity.trainingStatus", "saved"],
15586
+ ["emit", "MODEL_SAVED"],
15587
+ ["render-ui", "main", savedView]
15588
+ ]
15589
+ }
15590
+ ]
15591
+ }
15592
+ };
15593
+ }
15594
+ function stdTrainerEntity(params) {
15595
+ const c = resolve71(params);
15596
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
15597
+ }
15598
+ function stdTrainerTrait(params) {
15599
+ return buildTrainLoopTrait(resolve71(params));
15600
+ }
15601
+ function stdTrainerPage(params) {
15602
+ const c = resolve71(params);
15603
+ return {
15604
+ name: c.pageName,
15605
+ path: c.pagePath,
15606
+ ...c.isInitial ? { isInitial: true } : {},
15607
+ traits: [
15608
+ { ref: c.trainTraitName },
15609
+ { ref: c.evalTraitName },
15610
+ { ref: c.checkpointTraitName }
15611
+ ]
15612
+ };
15613
+ }
15614
+ function stdTrainer(params) {
15615
+ const c = resolve71(params);
15616
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
15617
+ const trainTrait = buildTrainLoopTrait(c);
15618
+ const traits = [trainTrait];
15619
+ if (c.evaluateAfterTraining) {
15620
+ const evalTrait = buildEvaluateTrait(c);
15621
+ traits.push(evalTrait);
15622
+ }
15623
+ if (c.autoCheckpoint && c.evaluateAfterTraining) {
15624
+ const checkpointTrait = buildCheckpointTrait(c);
15625
+ traits.push(checkpointTrait);
15626
+ }
15627
+ const page = {
15628
+ name: c.pageName,
15629
+ path: c.pagePath,
15630
+ ...c.isInitial ? { isInitial: true } : {},
15631
+ traits: traits.map((t) => ({ ref: t.name }))
15632
+ };
15633
+ return {
15634
+ name: `${c.entityName}Orbital`,
15635
+ entity,
15636
+ traits,
15637
+ pages: [page]
15638
+ };
15639
+ }
15640
+ function resolve72(params) {
15641
+ const { entityName } = params;
15642
+ const baseFields = [
15643
+ { name: "id", type: "string", default: "" },
15644
+ ...params.observationFields.map((f) => ({
15645
+ name: f,
15646
+ type: "number",
15647
+ default: 0
15648
+ }))
15649
+ ];
15650
+ const domainFields = [
15651
+ { name: "selectedAction", type: "number", default: -1 },
15652
+ { name: "reward", type: "number", default: 0 },
15653
+ { name: "totalReward", type: "number", default: 0 },
15654
+ { name: "episodeCount", type: "number", default: 0 },
15655
+ { name: "bufferCount", type: "number", default: 0 },
15656
+ { name: "agentStatus", type: "string", default: "idle" },
15657
+ { name: "policyLoss", type: "number", default: 0 }
15658
+ ];
15659
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
15660
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
15661
+ const p = plural(entityName);
15662
+ return {
15663
+ entityName,
15664
+ fields,
15665
+ architecture: params.architecture,
15666
+ observationFields: params.observationFields,
15667
+ actionCount: params.actionCount,
15668
+ bufferSize: params.bufferSize ?? 1e3,
15669
+ trainingConfig: params.trainingConfig ?? { learningRate: 1e-3, batchSize: 32 },
15670
+ discountFactor: params.discountFactor ?? 0.99,
15671
+ policyTraitName: `${entityName}Policy`,
15672
+ collectorTraitName: `${entityName}Collector`,
15673
+ trainTraitName: `${entityName}Train`,
15674
+ pluralName: p,
15675
+ pageName: params.pageName ?? `${entityName}AgentPage`,
15676
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/agent`,
15677
+ isInitial: params.isInitial ?? false
15678
+ };
15679
+ }
15680
+ function buildPolicyTrait(c) {
15681
+ const { entityName, actionCount } = c;
15682
+ const idleView = {
15683
+ type: "stack",
15684
+ direction: "vertical",
15685
+ gap: "lg",
15686
+ align: "center",
15687
+ children: [
15688
+ {
15689
+ type: "stack",
15690
+ direction: "horizontal",
15691
+ gap: "sm",
15692
+ align: "center",
15693
+ children: [
15694
+ { type: "icon", name: "brain", size: "lg" },
15695
+ { type: "typography", content: `${entityName} RL Agent`, variant: "h2" }
15696
+ ]
15697
+ },
15698
+ { type: "divider" },
15699
+ { type: "badge", label: "@entity.agentStatus" },
15700
+ { type: "typography", variant: "body", color: "muted", content: `Actions: ${actionCount} | Discount: ${c.discountFactor}` },
15701
+ { type: "button", label: "Send Observation", event: "OBSERVATION", variant: "primary", icon: "eye" }
15702
+ ]
15703
+ };
15704
+ const inferringView = {
15705
+ type: "stack",
15706
+ direction: "vertical",
15707
+ gap: "md",
15708
+ align: "center",
15709
+ children: [
15710
+ { type: "typography", content: "Selecting Action", variant: "h3" },
15711
+ { type: "spinner", size: "md" }
15712
+ ]
15713
+ };
15714
+ const forwardEffect = ["forward", "primary", {
15715
+ architecture: c.architecture,
15716
+ input: "@payload.observation",
15717
+ "output-contract": { type: "tensor", shape: [actionCount], dtype: "float32", activation: "softmax" },
15718
+ "on-complete": "ACTION_SCORES"
15719
+ }];
15720
+ return {
15721
+ name: c.policyTraitName,
15722
+ linkedEntity: entityName,
15723
+ category: "interaction",
15724
+ emits: [{ event: "ACTION", scope: "external" }],
15725
+ stateMachine: {
15726
+ states: [
15727
+ { name: "idle", isInitial: true },
15728
+ { name: "inferring" }
15729
+ ],
15730
+ events: [
15731
+ { key: "INIT", name: "Initialize" },
15732
+ { key: "OBSERVATION", name: "Observation" },
15733
+ { key: "ACTION_SCORES", name: "Action Scores" }
15734
+ ],
15735
+ transitions: [
15736
+ {
15737
+ from: "idle",
15738
+ to: "idle",
15739
+ event: "INIT",
15740
+ effects: [
15741
+ ["set", "@entity.agentStatus", "idle"],
15742
+ ["render-ui", "main", idleView]
15743
+ ]
15744
+ },
15745
+ {
15746
+ from: "idle",
15747
+ to: "inferring",
15748
+ event: "OBSERVATION",
15749
+ effects: [
15750
+ ["set", "@entity.agentStatus", "inferring"],
15751
+ forwardEffect,
15752
+ ["render-ui", "main", inferringView]
15753
+ ]
15754
+ },
15755
+ {
15756
+ from: "inferring",
15757
+ to: "idle",
15758
+ event: "ACTION_SCORES",
15759
+ effects: [
15760
+ ["set", "@entity.selectedAction", ["tensor/argmax", "@payload.output"]],
15761
+ ["set", "@entity.agentStatus", "idle"],
15762
+ ["emit", "ACTION"],
15763
+ ["render-ui", "main", idleView]
15764
+ ]
15765
+ }
15766
+ ]
15767
+ }
15768
+ };
15769
+ }
15770
+ function buildCollectorTrait(c) {
15771
+ const { entityName, bufferSize } = c;
15772
+ const collectingView = {
15773
+ type: "stack",
15774
+ direction: "vertical",
15775
+ gap: "md",
15776
+ align: "center",
15777
+ children: [
15778
+ { type: "icon", name: "database", size: "lg" },
15779
+ { type: "typography", content: "Replay Buffer", variant: "h3" },
15780
+ { type: "typography", variant: "body", content: "Transitions: @entity.bufferCount" },
15781
+ { type: "progress-bar", value: "@entity.bufferCount", max: bufferSize }
15782
+ ]
15783
+ };
15784
+ const collectEffect = ["buffer-append", "replay", {
15785
+ capacity: bufferSize,
15786
+ transition: {
15787
+ observation: "@payload.observation",
15788
+ action: "@payload.action",
15789
+ reward: "@payload.reward",
15790
+ nextObservation: "@payload.nextObservation"
15791
+ },
15792
+ "on-full": "BUFFER_READY"
15793
+ }];
15794
+ return {
15795
+ name: c.collectorTraitName,
15796
+ linkedEntity: entityName,
15797
+ category: "interaction",
15798
+ emits: [{ event: "BUFFER_READY", scope: "external" }],
15799
+ stateMachine: {
15800
+ states: [
15801
+ { name: "collecting", isInitial: true }
15802
+ ],
15803
+ events: [
15804
+ { key: "INIT", name: "Initialize" },
15805
+ { key: "STORE_TRANSITION", name: "Store Transition" },
15806
+ { key: "BUFFER_READY", name: "Buffer Ready" }
15807
+ ],
15808
+ transitions: [
15809
+ {
15810
+ from: "collecting",
15811
+ to: "collecting",
15812
+ event: "INIT",
15813
+ effects: [
15814
+ ["set", "@entity.bufferCount", 0],
15815
+ ["render-ui", "main", collectingView]
15816
+ ]
15817
+ },
15818
+ {
15819
+ from: "collecting",
15820
+ to: "collecting",
15821
+ event: "STORE_TRANSITION",
15822
+ effects: [
15823
+ collectEffect,
15824
+ ["set", "@entity.bufferCount", ["math/add", "@entity.bufferCount", 1]],
15825
+ ["render-ui", "main", collectingView]
15826
+ ]
15827
+ },
15828
+ {
15829
+ from: "collecting",
15830
+ to: "collecting",
15831
+ event: "BUFFER_READY",
15832
+ effects: [
15833
+ ["emit", "BUFFER_READY"],
15834
+ ["render-ui", "main", collectingView]
15835
+ ]
15836
+ }
15837
+ ]
15838
+ }
15839
+ };
15840
+ }
15841
+ function buildTrainTrait(c) {
15842
+ const { entityName } = c;
15843
+ const waitingView = {
15844
+ type: "stack",
15845
+ direction: "vertical",
15846
+ gap: "md",
15847
+ align: "center",
15848
+ children: [
15849
+ { type: "icon", name: "cpu", size: "lg" },
15850
+ { type: "typography", content: "Policy Training", variant: "h3" },
15851
+ { type: "badge", label: "Waiting for buffer", variant: "neutral" },
15852
+ { type: "typography", variant: "caption", content: "Loss: @entity.policyLoss" }
15853
+ ]
15854
+ };
15855
+ const trainingView = {
15856
+ type: "stack",
15857
+ direction: "vertical",
15858
+ gap: "md",
15859
+ align: "center",
15860
+ children: [
15861
+ { type: "typography", content: "Training Policy", variant: "h3" },
15862
+ { type: "spinner", size: "md" }
15863
+ ]
15864
+ };
15865
+ const trainEffect = ["train", "primary", {
15866
+ architecture: c.architecture,
15867
+ config: { ...c.trainingConfig, discountFactor: c.discountFactor },
15868
+ source: "replay",
15869
+ "on-complete": "POLICY_UPDATED"
15870
+ }];
15871
+ return {
15872
+ name: c.trainTraitName,
15873
+ linkedEntity: entityName,
15874
+ category: "interaction",
15875
+ emits: [{ event: "POLICY_UPDATED", scope: "external" }],
15876
+ stateMachine: {
15877
+ states: [
15878
+ { name: "waiting", isInitial: true },
15879
+ { name: "training" }
15880
+ ],
15881
+ events: [
15882
+ { key: "INIT", name: "Initialize" },
15883
+ { key: "BUFFER_READY", name: "Buffer Ready" },
15884
+ { key: "POLICY_UPDATED", name: "Policy Updated" }
15885
+ ],
15886
+ transitions: [
15887
+ {
15888
+ from: "waiting",
15889
+ to: "waiting",
15890
+ event: "INIT",
15891
+ effects: [
15892
+ ["render-ui", "main", waitingView]
15893
+ ]
15894
+ },
15895
+ {
15896
+ from: "waiting",
15897
+ to: "training",
15898
+ event: "BUFFER_READY",
15899
+ effects: [
15900
+ trainEffect,
15901
+ ["render-ui", "main", trainingView]
15902
+ ]
15903
+ },
15904
+ {
15905
+ from: "training",
15906
+ to: "waiting",
15907
+ event: "POLICY_UPDATED",
15908
+ effects: [
15909
+ ["set", "@entity.policyLoss", "@payload.loss"],
15910
+ ["set", "@entity.episodeCount", ["math/add", "@entity.episodeCount", 1]],
15911
+ ["emit", "POLICY_UPDATED"],
15912
+ ["render-ui", "main", waitingView]
15913
+ ]
15914
+ }
15915
+ ]
15916
+ }
15917
+ };
15918
+ }
15919
+ function stdRlAgentEntity(params) {
15920
+ const c = resolve72(params);
15921
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
15922
+ }
15923
+ function stdRlAgentTrait(params) {
15924
+ return buildPolicyTrait(resolve72(params));
15925
+ }
15926
+ function stdRlAgentPage(params) {
15927
+ const c = resolve72(params);
15928
+ return {
15929
+ name: c.pageName,
15930
+ path: c.pagePath,
15931
+ ...c.isInitial ? { isInitial: true } : {},
15932
+ traits: [
15933
+ { ref: c.policyTraitName },
15934
+ { ref: c.collectorTraitName },
15935
+ { ref: c.trainTraitName }
15936
+ ]
15937
+ };
15938
+ }
15939
+ function stdRlAgent(params) {
15940
+ const c = resolve72(params);
15941
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
15942
+ const policyTrait = buildPolicyTrait(c);
15943
+ const collectorTrait = buildCollectorTrait(c);
15944
+ const trainTrait = buildTrainTrait(c);
15945
+ const page = {
15946
+ name: c.pageName,
15947
+ path: c.pagePath,
15948
+ ...c.isInitial ? { isInitial: true } : {},
15949
+ traits: [
15950
+ { ref: policyTrait.name },
15951
+ { ref: collectorTrait.name },
15952
+ { ref: trainTrait.name }
15953
+ ]
15954
+ };
15955
+ return {
15956
+ name: `${c.entityName}Orbital`,
15957
+ entity,
15958
+ traits: [policyTrait, collectorTrait, trainTrait],
15959
+ pages: [page]
15960
+ };
15961
+ }
15962
+ function resolve73(params) {
15963
+ const { entityName } = params;
15964
+ const baseFields = [{ name: "id", type: "string", default: "" }];
15965
+ const domainFields = [
15966
+ { name: "nodeCount", type: "number", default: 0 },
15967
+ { name: "edgeCount", type: "number", default: 0 },
15968
+ { name: "predictedClass", type: "string", default: "" },
15969
+ { name: "confidence", type: "number", default: 0 },
15970
+ { name: "graphStatus", type: "string", default: "idle" }
15971
+ ];
15972
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
15973
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
15974
+ const p = plural(entityName);
15975
+ return {
15976
+ entityName,
15977
+ fields,
15978
+ nodeEntity: params.nodeEntity,
15979
+ edgeField: params.edgeField,
15980
+ nodeFeatures: params.nodeFeatures,
15981
+ architecture: params.architecture,
15982
+ classes: params.classes,
15983
+ graphTraitName: `${entityName}GraphBuilder`,
15984
+ classifyTraitName: `${entityName}GnnClassify`,
15985
+ pluralName: p,
15986
+ pageName: params.pageName ?? `${entityName}GraphPage`,
15987
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/graph-classify`,
15988
+ isInitial: params.isInitial ?? false
15989
+ };
15990
+ }
15991
+ function buildGraphBuilderTrait(c) {
15992
+ const { entityName, nodeEntity, edgeField, nodeFeatures } = c;
15993
+ const idleView = {
15994
+ type: "stack",
15995
+ direction: "vertical",
15996
+ gap: "lg",
15997
+ align: "center",
15998
+ children: [
15999
+ {
16000
+ type: "stack",
16001
+ direction: "horizontal",
16002
+ gap: "sm",
16003
+ align: "center",
16004
+ children: [
16005
+ { type: "icon", name: "git-branch", size: "lg" },
16006
+ { type: "typography", content: `${entityName} Graph Classifier`, variant: "h2" }
16007
+ ]
16008
+ },
16009
+ { type: "divider" },
16010
+ { type: "badge", label: "@entity.graphStatus" },
16011
+ { type: "typography", variant: "body", color: "muted", content: `Nodes: ${nodeEntity} | Features: ${nodeFeatures.join(", ")}` },
16012
+ { type: "typography", variant: "caption", content: `Classes: ${c.classes.join(", ")}` },
16013
+ { type: "button", label: "Classify Graph", event: "CLASSIFY", variant: "primary", icon: "play" }
16014
+ ]
16015
+ };
16016
+ const buildingView = {
16017
+ type: "stack",
16018
+ direction: "vertical",
16019
+ gap: "md",
16020
+ align: "center",
16021
+ children: [
16022
+ { type: "typography", content: "Building Graph", variant: "h3" },
16023
+ { type: "spinner", size: "md" },
16024
+ { type: "typography", variant: "body", color: "muted", content: "Constructing adjacency matrix and feature vectors..." }
16025
+ ]
16026
+ };
16027
+ const buildGraphEffect = ["graph-build", "primary", {
16028
+ nodeEntity,
16029
+ edgeField,
16030
+ features: nodeFeatures,
16031
+ "on-complete": "GRAPH_READY"
16032
+ }];
16033
+ return {
16034
+ name: c.graphTraitName,
16035
+ linkedEntity: entityName,
16036
+ category: "interaction",
16037
+ emits: [{ event: "GRAPH_READY", scope: "external" }],
16038
+ stateMachine: {
16039
+ states: [
16040
+ { name: "idle", isInitial: true },
16041
+ { name: "building" }
16042
+ ],
16043
+ events: [
16044
+ { key: "INIT", name: "Initialize" },
16045
+ { key: "CLASSIFY", name: "Classify" },
16046
+ { key: "GRAPH_READY", name: "Graph Ready" }
16047
+ ],
16048
+ transitions: [
16049
+ {
16050
+ from: "idle",
16051
+ to: "idle",
16052
+ event: "INIT",
16053
+ effects: [
16054
+ ["set", "@entity.graphStatus", "idle"],
16055
+ ["render-ui", "main", idleView]
16056
+ ]
16057
+ },
16058
+ {
16059
+ from: "idle",
16060
+ to: "building",
16061
+ event: "CLASSIFY",
16062
+ effects: [
16063
+ ["set", "@entity.graphStatus", "building"],
16064
+ buildGraphEffect,
16065
+ ["render-ui", "main", buildingView]
16066
+ ]
16067
+ },
16068
+ {
16069
+ from: "building",
16070
+ to: "idle",
16071
+ event: "GRAPH_READY",
16072
+ effects: [
16073
+ ["set", "@entity.nodeCount", "@payload.nodeCount"],
16074
+ ["set", "@entity.edgeCount", "@payload.edgeCount"],
16075
+ ["set", "@entity.graphStatus", "graph_ready"],
16076
+ ["emit", "GRAPH_READY"],
16077
+ ["render-ui", "main", idleView]
16078
+ ]
16079
+ }
16080
+ ]
16081
+ }
16082
+ };
16083
+ }
16084
+ function buildGnnClassifyTrait(c) {
16085
+ const { entityName, classes } = c;
16086
+ const waitingView = {
16087
+ type: "stack",
16088
+ direction: "vertical",
16089
+ gap: "md",
16090
+ align: "center",
16091
+ children: [
16092
+ { type: "icon", name: "brain", size: "lg" },
16093
+ { type: "typography", content: "GNN Classification", variant: "h3" },
16094
+ { type: "badge", label: "Waiting for graph", variant: "neutral" }
16095
+ ]
16096
+ };
16097
+ const classifyingView = {
16098
+ type: "stack",
16099
+ direction: "vertical",
16100
+ gap: "md",
16101
+ align: "center",
16102
+ children: [
16103
+ { type: "typography", content: "Running GNN Forward Pass", variant: "h3" },
16104
+ { type: "spinner", size: "md" }
16105
+ ]
16106
+ };
16107
+ const resultView = {
16108
+ type: "stack",
16109
+ direction: "vertical",
16110
+ gap: "md",
16111
+ align: "center",
16112
+ children: [
16113
+ { type: "icon", name: "check-circle", size: "lg" },
16114
+ { type: "typography", content: "Classification Result", variant: "h3" },
16115
+ { type: "badge", label: "@entity.predictedClass", variant: "success" },
16116
+ { type: "typography", variant: "caption", content: "Confidence" },
16117
+ { type: "progress-bar", value: "@entity.confidence", max: 1 },
16118
+ { type: "typography", variant: "body", content: "Nodes: @entity.nodeCount | Edges: @entity.edgeCount" }
16119
+ ]
16120
+ };
16121
+ const forwardEffect = ["forward", "primary", {
16122
+ architecture: c.architecture,
16123
+ input: "@payload.graph",
16124
+ "output-contract": { type: "tensor", shape: [classes.length], dtype: "float32", labels: classes, activation: "softmax" },
16125
+ "on-complete": "CLASSIFIED"
16126
+ }];
16127
+ return {
16128
+ name: c.classifyTraitName,
16129
+ linkedEntity: entityName,
16130
+ category: "interaction",
16131
+ emits: [{ event: "CLASSIFIED", scope: "external" }],
16132
+ stateMachine: {
16133
+ states: [
16134
+ { name: "waiting", isInitial: true },
16135
+ { name: "classifying" }
16136
+ ],
16137
+ events: [
16138
+ { key: "INIT", name: "Initialize" },
16139
+ { key: "GRAPH_READY", name: "Graph Ready" },
16140
+ { key: "CLASSIFIED", name: "Classified" }
16141
+ ],
16142
+ transitions: [
16143
+ {
16144
+ from: "waiting",
16145
+ to: "waiting",
16146
+ event: "INIT",
16147
+ effects: [
16148
+ ["render-ui", "main", waitingView]
16149
+ ]
16150
+ },
16151
+ {
16152
+ from: "waiting",
16153
+ to: "classifying",
16154
+ event: "GRAPH_READY",
16155
+ effects: [
16156
+ forwardEffect,
16157
+ ["render-ui", "main", classifyingView]
16158
+ ]
16159
+ },
16160
+ {
16161
+ from: "classifying",
16162
+ to: "waiting",
16163
+ event: "CLASSIFIED",
16164
+ effects: [
16165
+ ["set", "@entity.predictedClass", ["tensor/argmax-label", "@payload.output", classes]],
16166
+ ["set", "@entity.confidence", ["tensor/max", "@payload.output"]],
16167
+ ["set", "@entity.graphStatus", "classified"],
16168
+ ["emit", "CLASSIFIED"],
16169
+ ["render-ui", "main", resultView]
16170
+ ]
16171
+ }
16172
+ ]
16173
+ }
16174
+ };
16175
+ }
16176
+ function stdGraphClassifierEntity(params) {
16177
+ const c = resolve73(params);
16178
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
16179
+ }
16180
+ function stdGraphClassifierTrait(params) {
16181
+ return buildGraphBuilderTrait(resolve73(params));
16182
+ }
16183
+ function stdGraphClassifierPage(params) {
16184
+ const c = resolve73(params);
16185
+ return {
16186
+ name: c.pageName,
16187
+ path: c.pagePath,
16188
+ ...c.isInitial ? { isInitial: true } : {},
16189
+ traits: [
16190
+ { ref: c.graphTraitName },
16191
+ { ref: c.classifyTraitName }
16192
+ ]
16193
+ };
16194
+ }
16195
+ function stdGraphClassifier(params) {
16196
+ const c = resolve73(params);
16197
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
16198
+ const graphTrait = buildGraphBuilderTrait(c);
16199
+ const classifyTrait = buildGnnClassifyTrait(c);
16200
+ const page = {
16201
+ name: c.pageName,
16202
+ path: c.pagePath,
16203
+ ...c.isInitial ? { isInitial: true } : {},
16204
+ traits: [
16205
+ { ref: graphTrait.name },
16206
+ { ref: classifyTrait.name }
16207
+ ]
16208
+ };
16209
+ return {
16210
+ name: `${c.entityName}Orbital`,
16211
+ entity,
16212
+ traits: [graphTrait, classifyTrait],
16213
+ pages: [page]
16214
+ };
16215
+ }
16216
+ function resolve74(params) {
16217
+ const { entityName } = params;
16218
+ const baseFields = [
16219
+ { name: "id", type: "string", default: "" },
16220
+ { name: params.sourceField, type: "string", default: "" }
16221
+ ];
16222
+ const domainFields = [
16223
+ { name: "tokenCount", type: "number", default: 0 },
16224
+ { name: "predictedClass", type: "string", default: "" },
16225
+ { name: "confidence", type: "number", default: 0 },
16226
+ { name: "classifyStatus", type: "string", default: "idle" }
16227
+ ];
16228
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
16229
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
16230
+ const p = plural(entityName);
16231
+ return {
16232
+ entityName,
16233
+ fields,
16234
+ sourceField: params.sourceField,
16235
+ architecture: params.architecture,
16236
+ classes: params.classes,
16237
+ tokenizerMethod: params.tokenizerMethod ?? "whitespace",
16238
+ maxLength: params.maxLength ?? 512,
16239
+ tokenizerTraitName: `${entityName}Tokenizer`,
16240
+ classifyTraitName: `${entityName}TextClassify`,
16241
+ pluralName: p,
16242
+ pageName: params.pageName ?? `${entityName}TextClassifyPage`,
16243
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/text-classify`,
16244
+ isInitial: params.isInitial ?? false
16245
+ };
16246
+ }
16247
+ function buildTokenizerTrait(c) {
16248
+ const { entityName, sourceField, tokenizerMethod, maxLength, classes } = c;
16249
+ const idleView = {
16250
+ type: "stack",
16251
+ direction: "vertical",
16252
+ gap: "lg",
16253
+ align: "center",
16254
+ children: [
16255
+ {
16256
+ type: "stack",
16257
+ direction: "horizontal",
16258
+ gap: "sm",
16259
+ align: "center",
16260
+ children: [
16261
+ { type: "icon", name: "type", size: "lg" },
16262
+ { type: "typography", content: `${entityName} Text Classifier`, variant: "h2" }
16263
+ ]
16264
+ },
16265
+ { type: "divider" },
16266
+ { type: "badge", label: "@entity.classifyStatus" },
16267
+ { type: "typography", variant: "body", color: "muted", content: `Source: ${sourceField} | Method: ${tokenizerMethod} | Max: ${maxLength}` },
16268
+ { type: "typography", variant: "caption", content: `Classes: ${classes.join(", ")}` },
16269
+ { type: "button", label: "Classify Text", event: "CLASSIFY", variant: "primary", icon: "play" }
16270
+ ]
16271
+ };
16272
+ const tokenizingView = {
16273
+ type: "stack",
16274
+ direction: "vertical",
16275
+ gap: "md",
16276
+ align: "center",
16277
+ children: [
16278
+ { type: "typography", content: "Tokenizing", variant: "h3" },
16279
+ { type: "spinner", size: "md" },
16280
+ { type: "typography", variant: "body", color: "muted", content: `Method: ${tokenizerMethod}` }
16281
+ ]
16282
+ };
16283
+ const tokenizeEffect = ["tokenize", "primary", {
16284
+ method: tokenizerMethod,
16285
+ input: `@entity.${sourceField}`,
16286
+ maxLength,
16287
+ "on-complete": "TOKENS_READY"
16288
+ }];
16289
+ return {
16290
+ name: c.tokenizerTraitName,
16291
+ linkedEntity: entityName,
16292
+ category: "interaction",
16293
+ emits: [{ event: "TOKENS_READY", scope: "external" }],
16294
+ stateMachine: {
16295
+ states: [
16296
+ { name: "idle", isInitial: true },
16297
+ { name: "tokenizing" }
16298
+ ],
16299
+ events: [
16300
+ { key: "INIT", name: "Initialize" },
16301
+ { key: "CLASSIFY", name: "Classify" },
16302
+ { key: "TOKENS_READY", name: "Tokens Ready" }
16303
+ ],
16304
+ transitions: [
16305
+ {
16306
+ from: "idle",
16307
+ to: "idle",
16308
+ event: "INIT",
16309
+ effects: [
16310
+ ["set", "@entity.classifyStatus", "idle"],
16311
+ ["render-ui", "main", idleView]
16312
+ ]
16313
+ },
16314
+ {
16315
+ from: "idle",
16316
+ to: "tokenizing",
16317
+ event: "CLASSIFY",
16318
+ effects: [
16319
+ ["set", "@entity.classifyStatus", "tokenizing"],
16320
+ tokenizeEffect,
16321
+ ["render-ui", "main", tokenizingView]
16322
+ ]
16323
+ },
16324
+ {
16325
+ from: "tokenizing",
16326
+ to: "idle",
16327
+ event: "TOKENS_READY",
16328
+ effects: [
16329
+ ["set", "@entity.tokenCount", "@payload.tokenCount"],
16330
+ ["set", "@entity.classifyStatus", "tokenized"],
16331
+ ["emit", "TOKENS_READY"],
16332
+ ["render-ui", "main", idleView]
16333
+ ]
16334
+ }
16335
+ ]
16336
+ }
16337
+ };
16338
+ }
16339
+ function buildTextClassifyTrait(c) {
16340
+ const { entityName, classes } = c;
16341
+ const waitingView = {
16342
+ type: "stack",
16343
+ direction: "vertical",
16344
+ gap: "md",
16345
+ align: "center",
16346
+ children: [
16347
+ { type: "icon", name: "brain", size: "lg" },
16348
+ { type: "typography", content: "Text Classification", variant: "h3" },
16349
+ { type: "badge", label: "Waiting for tokens", variant: "neutral" }
16350
+ ]
16351
+ };
16352
+ const classifyingView = {
16353
+ type: "stack",
16354
+ direction: "vertical",
16355
+ gap: "md",
16356
+ align: "center",
16357
+ children: [
16358
+ { type: "typography", content: "Classifying Text", variant: "h3" },
16359
+ { type: "spinner", size: "md" },
16360
+ { type: "typography", variant: "body", color: "muted", content: "Tokens: @entity.tokenCount" }
16361
+ ]
16362
+ };
16363
+ const resultView = {
16364
+ type: "stack",
16365
+ direction: "vertical",
16366
+ gap: "md",
16367
+ align: "center",
16368
+ children: [
16369
+ { type: "icon", name: "check-circle", size: "lg" },
16370
+ { type: "typography", content: "Classification Result", variant: "h3" },
16371
+ { type: "badge", label: "@entity.predictedClass", variant: "success" },
16372
+ { type: "typography", variant: "caption", content: "Confidence" },
16373
+ { type: "progress-bar", value: "@entity.confidence", max: 1 },
16374
+ { type: "button", label: "Classify Again", event: "CLASSIFY", variant: "outline", icon: "refresh-cw" }
16375
+ ]
16376
+ };
16377
+ const forwardEffect = ["forward", "primary", {
16378
+ architecture: c.architecture,
16379
+ input: "@payload.tokens",
16380
+ "output-contract": { type: "tensor", shape: [classes.length], dtype: "float32", labels: classes, activation: "softmax" },
16381
+ "on-complete": "CLASSIFIED"
16382
+ }];
16383
+ return {
16384
+ name: c.classifyTraitName,
16385
+ linkedEntity: entityName,
16386
+ category: "interaction",
16387
+ emits: [{ event: "CLASSIFIED", scope: "external" }],
16388
+ stateMachine: {
16389
+ states: [
16390
+ { name: "waiting", isInitial: true },
16391
+ { name: "classifying" }
16392
+ ],
16393
+ events: [
16394
+ { key: "INIT", name: "Initialize" },
16395
+ { key: "TOKENS_READY", name: "Tokens Ready" },
16396
+ { key: "CLASSIFIED", name: "Classified" }
16397
+ ],
16398
+ transitions: [
16399
+ {
16400
+ from: "waiting",
16401
+ to: "waiting",
16402
+ event: "INIT",
16403
+ effects: [
16404
+ ["render-ui", "main", waitingView]
16405
+ ]
16406
+ },
16407
+ {
16408
+ from: "waiting",
16409
+ to: "classifying",
16410
+ event: "TOKENS_READY",
16411
+ effects: [
16412
+ forwardEffect,
16413
+ ["render-ui", "main", classifyingView]
16414
+ ]
16415
+ },
16416
+ {
16417
+ from: "classifying",
16418
+ to: "waiting",
16419
+ event: "CLASSIFIED",
16420
+ effects: [
16421
+ ["set", "@entity.predictedClass", ["tensor/argmax-label", "@payload.output", classes]],
16422
+ ["set", "@entity.confidence", ["tensor/max", "@payload.output"]],
16423
+ ["set", "@entity.classifyStatus", "classified"],
16424
+ ["emit", "CLASSIFIED"],
16425
+ ["render-ui", "main", resultView]
16426
+ ]
16427
+ }
16428
+ ]
16429
+ }
16430
+ };
16431
+ }
16432
+ function stdTextClassifierEntity(params) {
16433
+ const c = resolve74(params);
16434
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
16435
+ }
16436
+ function stdTextClassifierTrait(params) {
16437
+ return buildTokenizerTrait(resolve74(params));
16438
+ }
16439
+ function stdTextClassifierPage(params) {
16440
+ const c = resolve74(params);
16441
+ return {
16442
+ name: c.pageName,
16443
+ path: c.pagePath,
16444
+ ...c.isInitial ? { isInitial: true } : {},
16445
+ traits: [
16446
+ { ref: c.tokenizerTraitName },
16447
+ { ref: c.classifyTraitName }
16448
+ ]
16449
+ };
16450
+ }
16451
+ function stdTextClassifier(params) {
16452
+ const c = resolve74(params);
16453
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
16454
+ const tokenizerTrait = buildTokenizerTrait(c);
16455
+ const classifyTrait = buildTextClassifyTrait(c);
16456
+ const page = {
16457
+ name: c.pageName,
16458
+ path: c.pagePath,
16459
+ ...c.isInitial ? { isInitial: true } : {},
16460
+ traits: [
16461
+ { ref: tokenizerTrait.name },
16462
+ { ref: classifyTrait.name }
16463
+ ]
16464
+ };
16465
+ return {
16466
+ name: `${c.entityName}Orbital`,
16467
+ entity,
16468
+ traits: [tokenizerTrait, classifyTrait],
16469
+ pages: [page]
16470
+ };
16471
+ }
16472
+ function resolve75(params) {
16473
+ const { entityName } = params;
16474
+ const baseFields = [{ name: "id", type: "string", default: "" }];
16475
+ const domainFields = [
16476
+ { name: "generatedTokens", type: "string", default: "" },
16477
+ { name: "tokenCount", type: "number", default: 0 },
16478
+ { name: "lastToken", type: "number", default: -1 },
16479
+ { name: "genStatus", type: "string", default: "idle" },
16480
+ { name: "prompt", type: "string", default: "" }
16481
+ ];
16482
+ const userFieldNames = new Set(baseFields.map((f) => f.name));
16483
+ const fields = ensureIdField([...baseFields, ...domainFields.filter((f) => !userFieldNames.has(f.name))]);
16484
+ const p = plural(entityName);
16485
+ return {
16486
+ entityName,
16487
+ fields,
16488
+ architecture: params.architecture,
16489
+ vocabSize: params.vocabSize,
16490
+ maxLength: params.maxLength,
16491
+ eosToken: params.eosToken,
16492
+ generateEvent: params.generateEvent ?? "GENERATE",
16493
+ tokenEvent: params.tokenEvent ?? "TOKEN_READY",
16494
+ doneEvent: params.doneEvent ?? "GENERATION_COMPLETE",
16495
+ traitName: `${entityName}Autoregressive`,
16496
+ pluralName: p,
16497
+ pageName: params.pageName ?? `${entityName}GeneratePage`,
16498
+ pagePath: params.pagePath ?? `/${p.toLowerCase()}/generate`,
16499
+ isInitial: params.isInitial ?? false
16500
+ };
16501
+ }
16502
+ function buildTrait61(c) {
16503
+ const { entityName, generateEvent, tokenEvent, doneEvent, vocabSize, maxLength, eosToken } = c;
16504
+ const idleView = {
16505
+ type: "stack",
16506
+ direction: "vertical",
16507
+ gap: "lg",
16508
+ align: "center",
16509
+ children: [
16510
+ {
16511
+ type: "stack",
16512
+ direction: "horizontal",
16513
+ gap: "sm",
16514
+ align: "center",
16515
+ children: [
16516
+ { type: "icon", name: "message-square", size: "lg" },
16517
+ { type: "typography", content: `${entityName} Generator`, variant: "h2" }
16518
+ ]
16519
+ },
16520
+ { type: "divider" },
16521
+ { type: "badge", label: "@entity.genStatus" },
16522
+ { type: "typography", variant: "body", color: "muted", content: `Vocab: ${vocabSize} | Max length: ${maxLength}` },
16523
+ { type: "typography", variant: "body", content: "@entity.generatedTokens" },
16524
+ { type: "button", label: "Generate", event: generateEvent, variant: "primary", icon: "play" }
16525
+ ]
16526
+ };
16527
+ const generatingView = {
16528
+ type: "stack",
16529
+ direction: "vertical",
16530
+ gap: "md",
16531
+ align: "center",
16532
+ children: [
16533
+ { type: "typography", content: "Generating", variant: "h3" },
16534
+ { type: "progress-bar", value: "@entity.tokenCount", max: maxLength },
16535
+ { type: "typography", variant: "body", content: "@entity.generatedTokens" },
16536
+ { type: "typography", variant: "caption", content: "Tokens: @entity.tokenCount" },
16537
+ { type: "spinner", size: "sm" }
16538
+ ]
16539
+ };
16540
+ const completeView2 = {
16541
+ type: "stack",
16542
+ direction: "vertical",
16543
+ gap: "md",
16544
+ align: "center",
16545
+ children: [
16546
+ { type: "icon", name: "check-circle", size: "lg" },
16547
+ { type: "typography", content: "Generation Complete", variant: "h3" },
16548
+ { type: "typography", variant: "body", content: "@entity.generatedTokens" },
16549
+ { type: "typography", variant: "caption", content: "Total tokens: @entity.tokenCount" },
16550
+ { type: "button", label: "Generate Again", event: generateEvent, variant: "outline", icon: "refresh-cw" }
16551
+ ]
16552
+ };
16553
+ const forwardEffect = ["forward", "primary", {
16554
+ architecture: c.architecture,
16555
+ input: "@entity.generatedTokens",
16556
+ "output-contract": { type: "tensor", shape: [vocabSize], dtype: "float32", activation: "softmax" },
16557
+ "on-complete": tokenEvent
16558
+ }];
16559
+ const eosGuard = ["eq", "@payload.token", eosToken];
16560
+ const maxLengthGuard = ["gte", "@entity.tokenCount", maxLength];
16561
+ const stopGuard = ["or", eosGuard, maxLengthGuard];
16562
+ const continueGuard = ["not", stopGuard];
16563
+ return {
16564
+ name: c.traitName,
16565
+ linkedEntity: entityName,
16566
+ category: "interaction",
16567
+ emits: [{ event: doneEvent, scope: "external" }],
16568
+ stateMachine: {
16569
+ states: [
16570
+ { name: "idle", isInitial: true },
16571
+ { name: "generating" }
16572
+ ],
16573
+ events: [
16574
+ { key: "INIT", name: "Initialize" },
16575
+ { key: generateEvent, name: "Generate" },
16576
+ { key: tokenEvent, name: "Token Ready" }
16577
+ ],
16578
+ transitions: [
16579
+ // INIT: idle -> idle
16580
+ {
16581
+ from: "idle",
16582
+ to: "idle",
16583
+ event: "INIT",
16584
+ effects: [
16585
+ ["set", "@entity.genStatus", "idle"],
16586
+ ["set", "@entity.generatedTokens", ""],
16587
+ ["set", "@entity.tokenCount", 0],
16588
+ ["render-ui", "main", idleView]
16589
+ ]
16590
+ },
16591
+ // GENERATE: idle -> generating (start first forward pass)
16592
+ {
16593
+ from: "idle",
16594
+ to: "generating",
16595
+ event: generateEvent,
16596
+ effects: [
16597
+ ["set", "@entity.genStatus", "generating"],
16598
+ ["set", "@entity.generatedTokens", ""],
16599
+ ["set", "@entity.tokenCount", 0],
16600
+ forwardEffect,
16601
+ ["render-ui", "main", generatingView]
16602
+ ]
16603
+ },
16604
+ // TOKEN_READY + continue: generating -> generating (append token, forward again)
16605
+ {
16606
+ from: "generating",
16607
+ to: "generating",
16608
+ event: tokenEvent,
16609
+ guard: continueGuard,
16610
+ effects: [
16611
+ ["set", "@entity.lastToken", "@payload.token"],
16612
+ ["set", "@entity.generatedTokens", ["string/concat", "@entity.generatedTokens", "@payload.decoded"]],
16613
+ ["set", "@entity.tokenCount", ["math/add", "@entity.tokenCount", 1]],
16614
+ forwardEffect,
16615
+ ["render-ui", "main", generatingView]
16616
+ ]
16617
+ },
16618
+ // TOKEN_READY + stop: generating -> idle (EOS or max length reached)
16619
+ {
16620
+ from: "generating",
16621
+ to: "idle",
16622
+ event: tokenEvent,
16623
+ guard: stopGuard,
16624
+ effects: [
16625
+ ["set", "@entity.genStatus", "complete"],
16626
+ ["set", "@entity.tokenCount", ["math/add", "@entity.tokenCount", 1]],
16627
+ ["emit", doneEvent],
16628
+ ["render-ui", "main", completeView2]
16629
+ ]
16630
+ }
16631
+ ]
16632
+ }
16633
+ };
16634
+ }
16635
+ function stdAutoregressiveEntity(params) {
16636
+ const c = resolve75(params);
16637
+ return makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
16638
+ }
16639
+ function stdAutoregressiveTrait(params) {
16640
+ return buildTrait61(resolve75(params));
16641
+ }
16642
+ function stdAutoregressivePage(params) {
16643
+ const c = resolve75(params);
16644
+ return {
16645
+ name: c.pageName,
16646
+ path: c.pagePath,
16647
+ ...c.isInitial ? { isInitial: true } : {},
16648
+ traits: [{ ref: c.traitName }]
16649
+ };
16650
+ }
16651
+ function stdAutoregressive(params) {
16652
+ const c = resolve75(params);
16653
+ const entity = makeEntity({ name: c.entityName, fields: c.fields, persistence: "runtime" });
16654
+ const trait = buildTrait61(c);
16655
+ const page = {
16656
+ name: c.pageName,
16657
+ path: c.pagePath,
16658
+ ...c.isInitial ? { isInitial: true } : {},
16659
+ traits: [{ ref: trait.name }]
16660
+ };
16661
+ return {
16662
+ name: `${c.entityName}Orbital`,
16663
+ entity,
16664
+ traits: [trait],
16665
+ pages: [page]
16666
+ };
16667
+ }
16668
+ function resolve76(params) {
15090
16669
  const entityName = params.entityName ?? "OrderPayment";
15091
16670
  const p = plural(entityName);
15092
16671
  const requiredFields = [
@@ -15425,13 +17004,13 @@ function buildPage62(c) {
15425
17004
  };
15426
17005
  }
15427
17006
  function stdServicePaymentFlowEntity(params = {}) {
15428
- return buildEntity62(resolve70(params));
17007
+ return buildEntity62(resolve76(params));
15429
17008
  }
15430
17009
  function stdServicePaymentFlowPage(params = {}) {
15431
- return buildPage62(resolve70(params));
17010
+ return buildPage62(resolve76(params));
15432
17011
  }
15433
17012
  function stdServicePaymentFlow(params = {}) {
15434
- const c = resolve70(params);
17013
+ const c = resolve76(params);
15435
17014
  return makeOrbital(
15436
17015
  `${c.entityName}Orbital`,
15437
17016
  buildEntity62(c),
@@ -15439,7 +17018,7 @@ function stdServicePaymentFlow(params = {}) {
15439
17018
  [buildPage62(c)]
15440
17019
  );
15441
17020
  }
15442
- function resolve71(params) {
17021
+ function resolve77(params) {
15443
17022
  const entityName = params.entityName ?? "Notification";
15444
17023
  const p = plural(entityName);
15445
17024
  const requiredFields = [
@@ -15480,7 +17059,7 @@ function buildEntity63(c) {
15480
17059
  const allFields = ensureIdField([...c.fields, ...extraFields]);
15481
17060
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
15482
17061
  }
15483
- function buildTrait60(c) {
17062
+ function buildTrait62(c) {
15484
17063
  const { entityName } = c;
15485
17064
  const idleUI = {
15486
17065
  type: "stack",
@@ -15674,24 +17253,24 @@ function buildPage63(c) {
15674
17253
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
15675
17254
  }
15676
17255
  function stdServiceNotificationHubEntity(params = {}) {
15677
- return buildEntity63(resolve71(params));
17256
+ return buildEntity63(resolve77(params));
15678
17257
  }
15679
17258
  function stdServiceNotificationHubTrait(params = {}) {
15680
- return buildTrait60(resolve71(params));
17259
+ return buildTrait62(resolve77(params));
15681
17260
  }
15682
17261
  function stdServiceNotificationHubPage(params = {}) {
15683
- return buildPage63(resolve71(params));
17262
+ return buildPage63(resolve77(params));
15684
17263
  }
15685
17264
  function stdServiceNotificationHub(params = {}) {
15686
- const c = resolve71(params);
17265
+ const c = resolve77(params);
15687
17266
  return makeOrbital(
15688
17267
  `${c.entityName}Orbital`,
15689
17268
  buildEntity63(c),
15690
- [buildTrait60(c)],
17269
+ [buildTrait62(c)],
15691
17270
  [buildPage63(c)]
15692
17271
  );
15693
17272
  }
15694
- function resolve72(params) {
17273
+ function resolve78(params) {
15695
17274
  const entityName = params.entityName ?? "Research";
15696
17275
  const p = plural(entityName);
15697
17276
  const requiredFields = [
@@ -15888,7 +17467,7 @@ function errorView() {
15888
17467
  ]
15889
17468
  };
15890
17469
  }
15891
- function buildTrait61(c) {
17470
+ function buildTrait63(c) {
15892
17471
  const { entityName } = c;
15893
17472
  return {
15894
17473
  name: c.traitName,
@@ -16068,19 +17647,19 @@ function buildPage64(c) {
16068
17647
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
16069
17648
  }
16070
17649
  function stdServiceContentPipelineEntity(params) {
16071
- return buildEntity64(resolve72(params));
17650
+ return buildEntity64(resolve78(params));
16072
17651
  }
16073
17652
  function stdServiceContentPipelineTrait(params) {
16074
- return buildTrait61(resolve72(params));
17653
+ return buildTrait63(resolve78(params));
16075
17654
  }
16076
17655
  function stdServiceContentPipelinePage(params) {
16077
- return buildPage64(resolve72(params));
17656
+ return buildPage64(resolve78(params));
16078
17657
  }
16079
17658
  function stdServiceContentPipeline(params) {
16080
- const c = resolve72(params);
16081
- return makeOrbital(`${c.entityName}Orbital`, buildEntity64(c), [buildTrait61(c)], [buildPage64(c)]);
17659
+ const c = resolve78(params);
17660
+ return makeOrbital(`${c.entityName}Orbital`, buildEntity64(c), [buildTrait63(c)], [buildPage64(c)]);
16082
17661
  }
16083
- function resolve73(params) {
17662
+ function resolve79(params) {
16084
17663
  const entityName = params.entityName ?? "DevopsTool";
16085
17664
  const p = plural(entityName);
16086
17665
  const requiredFields = [
@@ -16601,11 +18180,11 @@ function buildStorageTrait(c) {
16601
18180
  };
16602
18181
  }
16603
18182
  function stdServiceDevopsToolkitEntity(params = {}) {
16604
- const c = resolve73(params);
18183
+ const c = resolve79(params);
16605
18184
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
16606
18185
  }
16607
18186
  function stdServiceDevopsToolkitPage(params = {}) {
16608
- const c = resolve73(params);
18187
+ const c = resolve79(params);
16609
18188
  return {
16610
18189
  name: c.pageName,
16611
18190
  path: c.pagePath,
@@ -16618,7 +18197,7 @@ function stdServiceDevopsToolkitPage(params = {}) {
16618
18197
  };
16619
18198
  }
16620
18199
  function stdServiceDevopsToolkit(params = {}) {
16621
- const c = resolve73(params);
18200
+ const c = resolve79(params);
16622
18201
  const githubTrait = buildGithubTrait(c);
16623
18202
  const redisTrait = buildRedisTrait(c);
16624
18203
  const storageTrait = buildStorageTrait(c);
@@ -16640,7 +18219,7 @@ function stdServiceDevopsToolkit(params = {}) {
16640
18219
  pages: [page]
16641
18220
  };
16642
18221
  }
16643
- function resolve74(params) {
18222
+ function resolve80(params) {
16644
18223
  const entityName = params.entityName ?? "ApiTest";
16645
18224
  const p = plural(entityName);
16646
18225
  const requiredFields = [
@@ -16677,7 +18256,7 @@ function resolve74(params) {
16677
18256
  function buildEntity65(c) {
16678
18257
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
16679
18258
  }
16680
- function buildTrait62(c) {
18259
+ function buildTrait64(c) {
16681
18260
  const { entityName } = c;
16682
18261
  const formChildren = [
16683
18262
  { type: "icon", name: "globe", size: "lg" },
@@ -16898,20 +18477,20 @@ function buildPage65(c) {
16898
18477
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
16899
18478
  }
16900
18479
  function stdServiceCustomApiTesterEntity(params) {
16901
- return buildEntity65(resolve74(params));
18480
+ return buildEntity65(resolve80(params));
16902
18481
  }
16903
18482
  function stdServiceCustomApiTesterTrait(params) {
16904
- return buildTrait62(resolve74(params));
18483
+ return buildTrait64(resolve80(params));
16905
18484
  }
16906
18485
  function stdServiceCustomApiTesterPage(params) {
16907
- return buildPage65(resolve74(params));
18486
+ return buildPage65(resolve80(params));
16908
18487
  }
16909
18488
  function stdServiceCustomApiTester(params) {
16910
- const c = resolve74(params);
18489
+ const c = resolve80(params);
16911
18490
  const orbital = makeOrbital(
16912
18491
  `${c.entityName}Orbital`,
16913
18492
  buildEntity65(c),
16914
- [buildTrait62(c)],
18493
+ [buildTrait64(c)],
16915
18494
  [buildPage65(c)]
16916
18495
  );
16917
18496
  return {
@@ -18994,7 +20573,7 @@ function stdLogicTraining(params) {
18994
20573
  const schema = compose([debuggerOrbital, negotiatorOrbital, scoreOrbital], pages, connections, appName);
18995
20574
  return wrapInGameShell(schema, appName);
18996
20575
  }
18997
- function resolve75(params) {
20576
+ function resolve81(params) {
18998
20577
  const entityName = params.entityName ?? "AuthSession";
18999
20578
  const p = plural(entityName);
19000
20579
  const requiredFields = [
@@ -19037,7 +20616,7 @@ function buildEntity66(c) {
19037
20616
  const allFields = ensureIdField([...oauthFields, ...extraFields]);
19038
20617
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
19039
20618
  }
19040
- function buildTrait63(c) {
20619
+ function buildTrait65(c) {
19041
20620
  const { entityName, standalone } = c;
19042
20621
  const unauthenticatedUI = {
19043
20622
  type: "stack",
@@ -19279,23 +20858,23 @@ function buildPage66(c) {
19279
20858
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
19280
20859
  }
19281
20860
  function stdServiceOauthEntity(params = {}) {
19282
- return buildEntity66(resolve75(params));
20861
+ return buildEntity66(resolve81(params));
19283
20862
  }
19284
20863
  function stdServiceOauthTrait(params = {}) {
19285
- return buildTrait63(resolve75(params));
20864
+ return buildTrait65(resolve81(params));
19286
20865
  }
19287
20866
  function stdServiceOauthPage(params = {}) {
19288
- return buildPage66(resolve75(params));
20867
+ return buildPage66(resolve81(params));
19289
20868
  }
19290
20869
  function stdServiceOauth(params = {}) {
19291
- const c = resolve75(params);
20870
+ const c = resolve81(params);
19292
20871
  const pages = [];
19293
20872
  const page = buildPage66(c);
19294
20873
  if (page) pages.push(page);
19295
20874
  return makeOrbital(
19296
20875
  `${c.entityName}Orbital`,
19297
20876
  buildEntity66(c),
19298
- [buildTrait63(c)],
20877
+ [buildTrait65(c)],
19299
20878
  pages
19300
20879
  );
19301
20880
  }
@@ -19378,7 +20957,7 @@ function stdServiceMarketplace(params = {}) {
19378
20957
  ]);
19379
20958
  return wrapInDashboardLayout(schema, appName, navItems);
19380
20959
  }
19381
- function resolve76(params) {
20960
+ function resolve82(params) {
19382
20961
  const entityName = params.entityName ?? "CacheEntry";
19383
20962
  const p = plural(entityName);
19384
20963
  const requiredFields = [
@@ -19410,7 +20989,7 @@ function resolve76(params) {
19410
20989
  function buildEntity67(c) {
19411
20990
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
19412
20991
  }
19413
- function buildTrait64(c) {
20992
+ function buildTrait66(c) {
19414
20993
  const { entityName, standalone } = c;
19415
20994
  const idleUI = {
19416
20995
  type: "stack",
@@ -19584,24 +21163,24 @@ function buildPage67(c) {
19584
21163
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
19585
21164
  }
19586
21165
  function stdServiceRedisEntity(params = {}) {
19587
- return buildEntity67(resolve76(params));
21166
+ return buildEntity67(resolve82(params));
19588
21167
  }
19589
21168
  function stdServiceRedisTrait(params = {}) {
19590
- return buildTrait64(resolve76(params));
21169
+ return buildTrait66(resolve82(params));
19591
21170
  }
19592
21171
  function stdServiceRedisPage(params = {}) {
19593
- return buildPage67(resolve76(params));
21172
+ return buildPage67(resolve82(params));
19594
21173
  }
19595
21174
  function stdServiceRedis(params = {}) {
19596
- const c = resolve76(params);
21175
+ const c = resolve82(params);
19597
21176
  return makeOrbital(
19598
21177
  `${c.entityName}Orbital`,
19599
21178
  buildEntity67(c),
19600
- [buildTrait64(c)],
21179
+ [buildTrait66(c)],
19601
21180
  [buildPage67(c)]
19602
21181
  );
19603
21182
  }
19604
- function resolve77(params) {
21183
+ function resolve83(params) {
19605
21184
  const entityName = params.entityName ?? "StorageFile";
19606
21185
  const p = plural(entityName);
19607
21186
  const requiredFields = [
@@ -19635,7 +21214,7 @@ function resolve77(params) {
19635
21214
  function buildEntity68(c) {
19636
21215
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
19637
21216
  }
19638
- function buildTrait65(c) {
21217
+ function buildTrait67(c) {
19639
21218
  const { entityName, standalone } = c;
19640
21219
  const idleChildren = [
19641
21220
  {
@@ -19847,24 +21426,24 @@ function buildPage68(c) {
19847
21426
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
19848
21427
  }
19849
21428
  function stdServiceStorageEntity(params = {}) {
19850
- return buildEntity68(resolve77(params));
21429
+ return buildEntity68(resolve83(params));
19851
21430
  }
19852
21431
  function stdServiceStorageTrait(params = {}) {
19853
- return buildTrait65(resolve77(params));
21432
+ return buildTrait67(resolve83(params));
19854
21433
  }
19855
21434
  function stdServiceStoragePage(params = {}) {
19856
- return buildPage68(resolve77(params));
21435
+ return buildPage68(resolve83(params));
19857
21436
  }
19858
21437
  function stdServiceStorage(params = {}) {
19859
- const c = resolve77(params);
21438
+ const c = resolve83(params);
19860
21439
  return makeOrbital(
19861
21440
  `${c.entityName}Orbital`,
19862
21441
  buildEntity68(c),
19863
- [buildTrait65(c)],
21442
+ [buildTrait67(c)],
19864
21443
  [buildPage68(c)]
19865
21444
  );
19866
21445
  }
19867
- function resolve78(params) {
21446
+ function resolve84(params) {
19868
21447
  const entityName = params.entityName ?? "ApiCall";
19869
21448
  const p = plural(entityName);
19870
21449
  const requiredFields = [
@@ -19899,7 +21478,7 @@ function resolve78(params) {
19899
21478
  function buildEntity69(c) {
19900
21479
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
19901
21480
  }
19902
- function buildTrait66(c) {
21481
+ function buildTrait68(c) {
19903
21482
  const { entityName, standalone } = c;
19904
21483
  const idleChildren = [
19905
21484
  { type: "icon", name: "shield", size: "lg" },
@@ -20061,20 +21640,20 @@ function buildPage69(c) {
20061
21640
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
20062
21641
  }
20063
21642
  function stdServiceCustomBearerEntity(params) {
20064
- return buildEntity69(resolve78(params));
21643
+ return buildEntity69(resolve84(params));
20065
21644
  }
20066
21645
  function stdServiceCustomBearerTrait(params) {
20067
- return buildTrait66(resolve78(params));
21646
+ return buildTrait68(resolve84(params));
20068
21647
  }
20069
21648
  function stdServiceCustomBearerPage(params) {
20070
- return buildPage69(resolve78(params));
21649
+ return buildPage69(resolve84(params));
20071
21650
  }
20072
21651
  function stdServiceCustomBearer(params) {
20073
- const c = resolve78(params);
21652
+ const c = resolve84(params);
20074
21653
  const orbital = makeOrbital(
20075
21654
  `${c.entityName}Orbital`,
20076
21655
  buildEntity69(c),
20077
- [buildTrait66(c)],
21656
+ [buildTrait68(c)],
20078
21657
  [buildPage69(c)]
20079
21658
  );
20080
21659
  return {
@@ -20644,7 +22223,7 @@ function stdValidateOnSave(params = {}) {
20644
22223
  ];
20645
22224
  return makeOrbital("ValidateOnSave", entity, [trait], pages);
20646
22225
  }
20647
- function resolve79(params) {
22226
+ function resolve85(params) {
20648
22227
  const { entityName } = params;
20649
22228
  const requiredFields = [
20650
22229
  { name: "to", type: "string" },
@@ -20697,7 +22276,7 @@ function buildEntity70(c) {
20697
22276
  collection: c.collection
20698
22277
  });
20699
22278
  }
20700
- function buildTrait67(c) {
22279
+ function buildTrait69(c) {
20701
22280
  const { entityName, standalone } = c;
20702
22281
  const idleChildren = [
20703
22282
  {
@@ -20861,27 +22440,27 @@ function buildPage70(c) {
20861
22440
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
20862
22441
  }
20863
22442
  function stdServiceEmailEntity(params) {
20864
- return buildEntity70(resolve79(params));
22443
+ return buildEntity70(resolve85(params));
20865
22444
  }
20866
22445
  function stdServiceEmailTrait(params) {
20867
- return buildTrait67(resolve79(params));
22446
+ return buildTrait69(resolve85(params));
20868
22447
  }
20869
22448
  function stdServiceEmailPage(params) {
20870
- return buildPage70(resolve79(params));
22449
+ return buildPage70(resolve85(params));
20871
22450
  }
20872
22451
  function stdServiceEmail(params) {
20873
- const c = resolve79(params);
22452
+ const c = resolve85(params);
20874
22453
  const pages = [];
20875
22454
  const page = buildPage70(c);
20876
22455
  if (page) pages.push(page);
20877
22456
  return makeOrbital(
20878
22457
  `${c.entityName}Orbital`,
20879
22458
  buildEntity70(c),
20880
- [buildTrait67(c)],
22459
+ [buildTrait69(c)],
20881
22460
  pages
20882
22461
  );
20883
22462
  }
20884
- function resolve80(params) {
22463
+ function resolve86(params) {
20885
22464
  const entityName = params.entityName ?? "Payment";
20886
22465
  const p = plural(entityName);
20887
22466
  const requiredFields = [
@@ -20925,7 +22504,7 @@ function buildEntity71(c) {
20925
22504
  const allFields = ensureIdField([...paymentFields, ...extraFields]);
20926
22505
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence, collection: c.collection });
20927
22506
  }
20928
- function buildTrait68(c) {
22507
+ function buildTrait70(c) {
20929
22508
  const { entityName, standalone } = c;
20930
22509
  const idleUI = {
20931
22510
  type: "stack",
@@ -21112,24 +22691,24 @@ function buildPage71(c) {
21112
22691
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
21113
22692
  }
21114
22693
  function stdServiceStripeEntity(params = {}) {
21115
- return buildEntity71(resolve80(params));
22694
+ return buildEntity71(resolve86(params));
21116
22695
  }
21117
22696
  function stdServiceStripeTrait(params = {}) {
21118
- return buildTrait68(resolve80(params));
22697
+ return buildTrait70(resolve86(params));
21119
22698
  }
21120
22699
  function stdServiceStripePage(params = {}) {
21121
- return buildPage71(resolve80(params));
22700
+ return buildPage71(resolve86(params));
21122
22701
  }
21123
22702
  function stdServiceStripe(params = {}) {
21124
- const c = resolve80(params);
22703
+ const c = resolve86(params);
21125
22704
  return makeOrbital(
21126
22705
  `${c.entityName}Orbital`,
21127
22706
  buildEntity71(c),
21128
- [buildTrait68(c)],
22707
+ [buildTrait70(c)],
21129
22708
  [buildPage71(c)]
21130
22709
  );
21131
22710
  }
21132
- function resolve81(params) {
22711
+ function resolve87(params) {
21133
22712
  const entityName = params.entityName ?? "Message";
21134
22713
  const p = plural(entityName);
21135
22714
  const requiredFields = [
@@ -21171,7 +22750,7 @@ function buildEntity72(c) {
21171
22750
  const allFields = ensureIdField([...c.fields, ...extraFields]);
21172
22751
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
21173
22752
  }
21174
- function buildTrait69(c) {
22753
+ function buildTrait71(c) {
21175
22754
  const { entityName, standalone } = c;
21176
22755
  const idleChildren = [
21177
22756
  {
@@ -21360,27 +22939,27 @@ function buildPage72(c) {
21360
22939
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
21361
22940
  }
21362
22941
  function stdServiceTwilioEntity(params = {}) {
21363
- return buildEntity72(resolve81(params));
22942
+ return buildEntity72(resolve87(params));
21364
22943
  }
21365
22944
  function stdServiceTwilioTrait(params = {}) {
21366
- return buildTrait69(resolve81(params));
22945
+ return buildTrait71(resolve87(params));
21367
22946
  }
21368
22947
  function stdServiceTwilioPage(params = {}) {
21369
- return buildPage72(resolve81(params));
22948
+ return buildPage72(resolve87(params));
21370
22949
  }
21371
22950
  function stdServiceTwilio(params = {}) {
21372
- const c = resolve81(params);
22951
+ const c = resolve87(params);
21373
22952
  const pages = [];
21374
22953
  const page = buildPage72(c);
21375
22954
  if (page) pages.push(page);
21376
22955
  return makeOrbital(
21377
22956
  `${c.entityName}Orbital`,
21378
22957
  buildEntity72(c),
21379
- [buildTrait69(c)],
22958
+ [buildTrait71(c)],
21380
22959
  pages
21381
22960
  );
21382
22961
  }
21383
- function resolve82(params) {
22962
+ function resolve88(params) {
21384
22963
  const entityName = params.entityName ?? "PullRequest";
21385
22964
  const p = plural(entityName);
21386
22965
  const requiredFields = [
@@ -21427,7 +23006,7 @@ function buildEntity73(c) {
21427
23006
  const allFields = ensureIdField([...githubFields, ...extraFields]);
21428
23007
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
21429
23008
  }
21430
- function buildTrait70(c) {
23009
+ function buildTrait72(c) {
21431
23010
  const { entityName, standalone } = c;
21432
23011
  const idleUI = {
21433
23012
  type: "stack",
@@ -21584,24 +23163,24 @@ function buildPage73(c) {
21584
23163
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
21585
23164
  }
21586
23165
  function stdServiceGithubEntity(params = {}) {
21587
- return buildEntity73(resolve82(params));
23166
+ return buildEntity73(resolve88(params));
21588
23167
  }
21589
23168
  function stdServiceGithubTrait(params = {}) {
21590
- return buildTrait70(resolve82(params));
23169
+ return buildTrait72(resolve88(params));
21591
23170
  }
21592
23171
  function stdServiceGithubPage(params = {}) {
21593
- return buildPage73(resolve82(params));
23172
+ return buildPage73(resolve88(params));
21594
23173
  }
21595
23174
  function stdServiceGithub(params = {}) {
21596
- const c = resolve82(params);
23175
+ const c = resolve88(params);
21597
23176
  return makeOrbital(
21598
23177
  `${c.entityName}Orbital`,
21599
23178
  buildEntity73(c),
21600
- [buildTrait70(c)],
23179
+ [buildTrait72(c)],
21601
23180
  [buildPage73(c)]
21602
23181
  );
21603
23182
  }
21604
- function resolve83(params) {
23183
+ function resolve89(params) {
21605
23184
  const entityName = params.entityName ?? "VideoSearch";
21606
23185
  const p = plural(entityName);
21607
23186
  const requiredFields = [
@@ -21643,7 +23222,7 @@ function buildEntity74(c) {
21643
23222
  const allFields = ensureIdField([...youtubeFields, ...extraFields]);
21644
23223
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
21645
23224
  }
21646
- function buildTrait71(c) {
23225
+ function buildTrait73(c) {
21647
23226
  const { entityName, standalone } = c;
21648
23227
  const searchFormChildren = [
21649
23228
  {
@@ -21895,27 +23474,27 @@ function buildPage74(c) {
21895
23474
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
21896
23475
  }
21897
23476
  function stdServiceYoutubeEntity(params = {}) {
21898
- return buildEntity74(resolve83(params));
23477
+ return buildEntity74(resolve89(params));
21899
23478
  }
21900
23479
  function stdServiceYoutubeTrait(params = {}) {
21901
- return buildTrait71(resolve83(params));
23480
+ return buildTrait73(resolve89(params));
21902
23481
  }
21903
23482
  function stdServiceYoutubePage(params = {}) {
21904
- return buildPage74(resolve83(params));
23483
+ return buildPage74(resolve89(params));
21905
23484
  }
21906
23485
  function stdServiceYoutube(params = {}) {
21907
- const c = resolve83(params);
23486
+ const c = resolve89(params);
21908
23487
  const pages = [];
21909
23488
  const page = buildPage74(c);
21910
23489
  if (page) pages.push(page);
21911
23490
  return makeOrbital(
21912
23491
  `${c.entityName}Orbital`,
21913
23492
  buildEntity74(c),
21914
- [buildTrait71(c)],
23493
+ [buildTrait73(c)],
21915
23494
  pages
21916
23495
  );
21917
23496
  }
21918
- function resolve84(params) {
23497
+ function resolve90(params) {
21919
23498
  const entityName = params.entityName ?? "LlmTask";
21920
23499
  const p = plural(entityName);
21921
23500
  const requiredFields = [
@@ -21956,7 +23535,7 @@ function buildEntity75(c) {
21956
23535
  const allFields = ensureIdField([...llmFields, ...extraFields]);
21957
23536
  return makeEntity({ name: c.entityName, fields: allFields, persistence: c.persistence });
21958
23537
  }
21959
- function buildTrait72(c) {
23538
+ function buildTrait74(c) {
21960
23539
  const { entityName, standalone } = c;
21961
23540
  const idleChildren = [
21962
23541
  {
@@ -22162,27 +23741,27 @@ function buildPage75(c) {
22162
23741
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
22163
23742
  }
22164
23743
  function stdServiceLlmEntity(params = {}) {
22165
- return buildEntity75(resolve84(params));
23744
+ return buildEntity75(resolve90(params));
22166
23745
  }
22167
23746
  function stdServiceLlmTrait(params = {}) {
22168
- return buildTrait72(resolve84(params));
23747
+ return buildTrait74(resolve90(params));
22169
23748
  }
22170
23749
  function stdServiceLlmPage(params = {}) {
22171
- return buildPage75(resolve84(params));
23750
+ return buildPage75(resolve90(params));
22172
23751
  }
22173
23752
  function stdServiceLlm(params = {}) {
22174
- const c = resolve84(params);
23753
+ const c = resolve90(params);
22175
23754
  const pages = [];
22176
23755
  const page = buildPage75(c);
22177
23756
  if (page) pages.push(page);
22178
23757
  return makeOrbital(
22179
23758
  `${c.entityName}Orbital`,
22180
23759
  buildEntity75(c),
22181
- [buildTrait72(c)],
23760
+ [buildTrait74(c)],
22182
23761
  pages
22183
23762
  );
22184
23763
  }
22185
- function resolve85(params) {
23764
+ function resolve91(params) {
22186
23765
  const entityName = params.entityName ?? "ApiCall";
22187
23766
  const p = plural(entityName);
22188
23767
  const requiredFields = [
@@ -22218,7 +23797,7 @@ function resolve85(params) {
22218
23797
  function buildEntity76(c) {
22219
23798
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
22220
23799
  }
22221
- function buildTrait73(c) {
23800
+ function buildTrait75(c) {
22222
23801
  const { entityName, standalone } = c;
22223
23802
  const idleChildren = [
22224
23803
  { type: "icon", name: "globe", size: "lg" },
@@ -22380,20 +23959,20 @@ function buildPage76(c) {
22380
23959
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
22381
23960
  }
22382
23961
  function stdServiceCustomHeaderEntity(params) {
22383
- return buildEntity76(resolve85(params));
23962
+ return buildEntity76(resolve91(params));
22384
23963
  }
22385
23964
  function stdServiceCustomHeaderTrait(params) {
22386
- return buildTrait73(resolve85(params));
23965
+ return buildTrait75(resolve91(params));
22387
23966
  }
22388
23967
  function stdServiceCustomHeaderPage(params) {
22389
- return buildPage76(resolve85(params));
23968
+ return buildPage76(resolve91(params));
22390
23969
  }
22391
23970
  function stdServiceCustomHeader(params) {
22392
- const c = resolve85(params);
23971
+ const c = resolve91(params);
22393
23972
  const orbital = makeOrbital(
22394
23973
  `${c.entityName}Orbital`,
22395
23974
  buildEntity76(c),
22396
- [buildTrait73(c)],
23975
+ [buildTrait75(c)],
22397
23976
  [buildPage76(c)]
22398
23977
  );
22399
23978
  return {
@@ -22411,7 +23990,7 @@ function stdServiceCustomHeader(params) {
22411
23990
  }]
22412
23991
  };
22413
23992
  }
22414
- function resolve86(params) {
23993
+ function resolve92(params) {
22415
23994
  const entityName = params.entityName ?? "ApiCall";
22416
23995
  const p = plural(entityName);
22417
23996
  const requiredFields = [
@@ -22447,7 +24026,7 @@ function resolve86(params) {
22447
24026
  function buildEntity77(c) {
22448
24027
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
22449
24028
  }
22450
- function buildTrait74(c) {
24029
+ function buildTrait76(c) {
22451
24030
  const { entityName, standalone } = c;
22452
24031
  const idleChildren = [
22453
24032
  { type: "icon", name: "search", size: "lg" },
@@ -22609,20 +24188,20 @@ function buildPage77(c) {
22609
24188
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
22610
24189
  }
22611
24190
  function stdServiceCustomQueryEntity(params) {
22612
- return buildEntity77(resolve86(params));
24191
+ return buildEntity77(resolve92(params));
22613
24192
  }
22614
24193
  function stdServiceCustomQueryTrait(params) {
22615
- return buildTrait74(resolve86(params));
24194
+ return buildTrait76(resolve92(params));
22616
24195
  }
22617
24196
  function stdServiceCustomQueryPage(params) {
22618
- return buildPage77(resolve86(params));
24197
+ return buildPage77(resolve92(params));
22619
24198
  }
22620
24199
  function stdServiceCustomQuery(params) {
22621
- const c = resolve86(params);
24200
+ const c = resolve92(params);
22622
24201
  const orbital = makeOrbital(
22623
24202
  `${c.entityName}Orbital`,
22624
24203
  buildEntity77(c),
22625
- [buildTrait74(c)],
24204
+ [buildTrait76(c)],
22626
24205
  [buildPage77(c)]
22627
24206
  );
22628
24207
  return {
@@ -22640,7 +24219,7 @@ function stdServiceCustomQuery(params) {
22640
24219
  }]
22641
24220
  };
22642
24221
  }
22643
- function resolve87(params) {
24222
+ function resolve93(params) {
22644
24223
  const entityName = params.entityName ?? "ApiCall";
22645
24224
  const p = plural(entityName);
22646
24225
  const requiredFields = [
@@ -22674,7 +24253,7 @@ function resolve87(params) {
22674
24253
  function buildEntity78(c) {
22675
24254
  return makeEntity({ name: c.entityName, fields: c.fields, persistence: c.persistence });
22676
24255
  }
22677
- function buildTrait75(c) {
24256
+ function buildTrait77(c) {
22678
24257
  const { entityName, standalone } = c;
22679
24258
  const idleChildren = [
22680
24259
  { type: "icon", name: "globe", size: "lg" },
@@ -22836,20 +24415,20 @@ function buildPage78(c) {
22836
24415
  return makePage({ name: c.pageName, path: c.pagePath, traitName: c.traitName, isInitial: c.isInitial });
22837
24416
  }
22838
24417
  function stdServiceCustomNoauthEntity(params) {
22839
- return buildEntity78(resolve87(params));
24418
+ return buildEntity78(resolve93(params));
22840
24419
  }
22841
24420
  function stdServiceCustomNoauthTrait(params) {
22842
- return buildTrait75(resolve87(params));
24421
+ return buildTrait77(resolve93(params));
22843
24422
  }
22844
24423
  function stdServiceCustomNoauthPage(params) {
22845
- return buildPage78(resolve87(params));
24424
+ return buildPage78(resolve93(params));
22846
24425
  }
22847
24426
  function stdServiceCustomNoauth(params) {
22848
- const c = resolve87(params);
24427
+ const c = resolve93(params);
22849
24428
  const orbital = makeOrbital(
22850
24429
  `${c.entityName}Orbital`,
22851
24430
  buildEntity78(c),
22852
- [buildTrait75(c)],
24431
+ [buildTrait77(c)],
22853
24432
  [buildPage78(c)]
22854
24433
  );
22855
24434
  return {
@@ -23317,6 +24896,6 @@ function generateStdLibDocs() {
23317
24896
  return { modules, behaviors };
23318
24897
  }
23319
24898
 
23320
- export { ARRAY_OPERATORS, ASYNC_OPERATORS, BEHAVIOR_CATEGORY_DESCRIPTIONS, FORMAT_OPERATORS, MATH_OPERATORS, MODULE_DESCRIPTIONS, OBJECT_OPERATORS, STD_MODULES, STD_OPERATORS, STD_OPERATORS_BY_MODULE, STD_OPERATOR_CATEGORIES, STR_OPERATORS, TIME_OPERATORS, VALIDATE_OPERATORS, formatArity, generateBehaviorDoc, generateBehaviorsDocs, generateModuleDoc, generateModulesDocs, generateOperatorDoc, generateStdLibDocs, getAllBehaviorNames, getAllBehaviors, getAllStdOperators, getBehaviorMetadata, getBehaviorsByLevel, getFunctionFromOperator, getLambdaOperators, getModuleFromOperator, getModuleOperators, getOperatorMetaExtended, getStdEffectOperators, getStdLibStats, getStdOperatorMeta, getStdOperatorsByModule, getStdPureOperators, hasGoldenOrb, humanizeOperatorName, humanizeReturnType, isEffectOperatorExtended, isKnownOperatorExtended, isKnownStdOperator, isStdCategory, isStdEffectOperator, isStdGuardOperator, isStdOperator, loadGoldenOrb, makeStdOperator, stdApiGateway, stdArcadeGame, stdAsync, stdAsyncEntity, stdAsyncPage, stdAsyncTrait, stdBookingSystem, stdBrowse, stdBrowseEntity, stdBrowsePage, stdBrowseTrait, stdBuilderGame, stdBuilderGameEntity, stdBuilderGamePage, stdBuilderGameTrait, stdCacheAside, stdCacheAsideEntity, stdCacheAsidePage, stdCacheAsideTrait, stdCalendar, stdCalendarEntity, stdCalendarPage, stdCalendarTrait, stdCart, stdCartEntity, stdCartPage, stdCartTrait, stdCicdPipeline, stdCircuitBreaker, stdCircuitBreakerEntity, stdCircuitBreakerPage, stdCircuitBreakerTrait, stdClassifierGame, stdClassifierGameEntity, stdClassifierGamePage, stdClassifierGameTrait, stdCms, stdCodingAcademy, stdCollision, stdCollisionEntity, stdCollisionPage, stdCollisionTrait, stdCombat, stdCombatEntity, stdCombatLog, stdCombatLogEntity, stdCombatLogPage, stdCombatLogTrait, stdCombatPage, stdCombatTrait, stdConfirmation, stdConfirmationEntity, stdConfirmationPage, stdConfirmationTrait, stdCrm, stdDebuggerGame, stdDebuggerGameEntity, stdDebuggerGamePage, stdDebuggerGameTrait, stdDetail, stdDetailEntity, stdDetailPage, stdDetailTrait, stdDevopsDashboard, stdDialogueBox, stdDialogueBoxEntity, stdDialogueBoxPage, stdDialogueBoxTrait, stdDisplay, stdDisplayEntity, stdDisplayPage, stdDisplayTrait, stdDrawer, stdDrawerEntity, stdDrawerPage, stdDrawerTrait, stdEcommerce, stdEventHandlerGame, stdEventHandlerGameEntity, stdEventHandlerGamePage, stdEventHandlerGameTrait, stdFilter, stdFilterEntity, stdFilterPage, stdFilterTrait, stdFinanceTracker, stdFlipCard, stdFlipCardEntity, stdFlipCardPage, stdFlipCardTrait, stdFormAdvanced, stdFormAdvancedEntity, stdFormAdvancedPage, stdFormAdvancedTrait, stdGallery, stdGalleryEntity, stdGalleryPage, stdGalleryTrait, stdGameAudio, stdGameAudioEntity, stdGameAudioPage, stdGameAudioTrait, stdGameCanvas2d, stdGameCanvas2dEntity, stdGameCanvas2dPage, stdGameCanvas2dTrait, stdGameCanvas3d, stdGameCanvas3dEntity, stdGameCanvas3dPage, stdGameCanvas3dTrait, stdGameHud, stdGameHudEntity, stdGameHudPage, stdGameHudTrait, stdGameMenu, stdGameMenuEntity, stdGameMenuPage, stdGameMenuTrait, stdGameOverScreen, stdGameOverScreenEntity, stdGameOverScreenPage, stdGameOverScreenTrait, stdGameflow, stdGameflowEntity, stdGameflowPage, stdGameflowTrait, stdGeospatial, stdGeospatialEntity, stdGeospatialPage, stdGeospatialTrait, stdHealthcare, stdHelpdesk, stdHrPortal, stdInput, stdInputEntity, stdInputPage, stdInputTrait, stdInventory, stdInventoryEntity, stdInventoryPage, stdInventoryPanel, stdInventoryPanelEntity, stdInventoryPanelPage, stdInventoryPanelTrait, stdInventoryTrait, stdIotDashboard, stdIsometricCanvas, stdIsometricCanvasEntity, stdIsometricCanvasPage, stdIsometricCanvasTrait, stdList, stdListEntity, stdListPage, stdListTrait, stdLms, stdLoading, stdLoadingEntity, stdLoadingPage, stdLoadingTrait, stdLogicTraining, stdMessaging, stdMessagingEntity, stdMessagingPage, stdMessagingTrait, stdModal, stdModalEntity, stdModalPage, stdModalTrait, stdMovement, stdMovementEntity, stdMovementPage, stdMovementTrait, stdNegotiatorGame, stdNegotiatorGameEntity, stdNegotiatorGamePage, stdNegotiatorGameTrait, stdNotification, stdNotificationEntity, stdNotificationPage, stdNotificationTrait, stdOverworld, stdOverworldEntity, stdOverworldPage, stdOverworldTrait, stdPagination, stdPaginationEntity, stdPaginationPage, stdPaginationTrait, stdPhysics2d, stdPhysics2dEntity, stdPhysics2dPage, stdPhysics2dTrait, stdPlatformerApp, stdPlatformerCanvas, stdPlatformerCanvasEntity, stdPlatformerCanvasPage, stdPlatformerCanvasTrait, stdPlatformerGame, stdPlatformerGameEntity, stdPlatformerGamePage, stdPlatformerGameTrait, stdProjectManager, stdPuzzleApp, stdPuzzleGame, stdPuzzleGameEntity, stdPuzzleGamePage, stdPuzzleGameTrait, stdQuest, stdQuestEntity, stdQuestPage, stdQuestTrait, stdQuiz, stdQuizEntity, stdQuizPage, stdQuizTrait, stdRateLimiter, stdRateLimiterEntity, stdRateLimiterPage, stdRateLimiterTrait, stdRating, stdRatingEntity, stdRatingPage, stdRatingTrait, stdRealtimeChat, stdRpgGame, stdScore, stdScoreBoard, stdScoreBoardEntity, stdScoreBoardPage, stdScoreBoardTrait, stdScoreEntity, stdScorePage, stdScoreTrait, stdSearch, stdSearchEntity, stdSearchPage, stdSearchTrait, stdSelection, stdSelectionEntity, stdSelectionPage, stdSelectionTrait, stdSequencerGame, stdSequencerGameEntity, stdSequencerGamePage, stdSequencerGameTrait, stdServiceContentPipeline, stdServiceContentPipelineEntity, stdServiceContentPipelinePage, stdServiceContentPipelineTrait, stdServiceCustomApiTester, stdServiceCustomApiTesterEntity, stdServiceCustomApiTesterPage, stdServiceCustomApiTesterTrait, stdServiceCustomBearer, stdServiceCustomBearerEntity, stdServiceCustomBearerPage, stdServiceCustomBearerTrait, stdServiceCustomHeader, stdServiceCustomHeaderEntity, stdServiceCustomHeaderPage, stdServiceCustomHeaderTrait, stdServiceCustomNoauth, stdServiceCustomNoauthEntity, stdServiceCustomNoauthPage, stdServiceCustomNoauthTrait, stdServiceCustomQuery, stdServiceCustomQueryEntity, stdServiceCustomQueryPage, stdServiceCustomQueryTrait, stdServiceDevopsToolkit, stdServiceDevopsToolkitEntity, stdServiceDevopsToolkitPage, stdServiceEmail, stdServiceEmailEntity, stdServiceEmailPage, stdServiceEmailTrait, stdServiceGithub, stdServiceGithubEntity, stdServiceGithubPage, stdServiceGithubTrait, stdServiceLlm, stdServiceLlmEntity, stdServiceLlmPage, stdServiceLlmTrait, stdServiceMarketplace, stdServiceNotificationHub, stdServiceNotificationHubEntity, stdServiceNotificationHubPage, stdServiceNotificationHubTrait, stdServiceOauth, stdServiceOauthEntity, stdServiceOauthPage, stdServiceOauthTrait, stdServicePaymentFlow, stdServicePaymentFlowEntity, stdServicePaymentFlowPage, stdServiceRedis, stdServiceRedisEntity, stdServiceRedisPage, stdServiceRedisTrait, stdServiceResearchAssistant, stdServiceStorage, stdServiceStorageEntity, stdServiceStoragePage, stdServiceStorageTrait, stdServiceStripe, stdServiceStripeEntity, stdServiceStripePage, stdServiceStripeTrait, stdServiceTwilio, stdServiceTwilioEntity, stdServiceTwilioPage, stdServiceTwilioTrait, stdServiceYoutube, stdServiceYoutubeEntity, stdServiceYoutubePage, stdServiceYoutubeTrait, stdSimulationCanvas, stdSimulationCanvasEntity, stdSimulationCanvasPage, stdSimulationCanvasTrait, stdSimulatorGame, stdSimulatorGameEntity, stdSimulatorGamePage, stdSimulatorGameTrait, stdSocialFeed, stdSort, stdSortEntity, stdSortPage, stdSortTrait, stdSprite, stdSpriteEntity, stdSpritePage, stdSpriteTrait, stdStemLab, stdStrategyGame, stdTabs, stdTabsEntity, stdTabsPage, stdTabsTrait, stdTextEffects, stdTextEffectsEntity, stdTextEffectsPage, stdTextEffectsTrait, stdTheme, stdThemeEntity, stdThemePage, stdThemeTrait, stdTimer, stdTimerEntity, stdTimerPage, stdTimerTrait, stdTradingDashboard, stdTurnBasedBattle, stdTurnBasedBattleEntity, stdTurnBasedBattlePage, stdTurnBasedBattleTrait, stdUndo, stdUndoEntity, stdUndoPage, stdUndoTrait, stdUpload, stdUploadEntity, stdUploadPage, stdUploadTrait, stdValidateOnSave, stdWizard, stdWizardEntity, stdWizardPage, stdWizardTrait, validateBehaviorEvents, validateBehaviorStates, validateBehaviorStructure, validateOperatorArityExtended, validateStdOperatorArity };
24899
+ export { ARRAY_OPERATORS, ASYNC_OPERATORS, BEHAVIOR_CATEGORY_DESCRIPTIONS, FORMAT_OPERATORS, MATH_OPERATORS, MODULE_DESCRIPTIONS, OBJECT_OPERATORS, STD_MODULES, STD_OPERATORS, STD_OPERATORS_BY_MODULE, STD_OPERATOR_CATEGORIES, STR_OPERATORS, TIME_OPERATORS, VALIDATE_OPERATORS, formatArity, generateBehaviorDoc, generateBehaviorsDocs, generateModuleDoc, generateModulesDocs, generateOperatorDoc, generateStdLibDocs, getAllBehaviorNames, getAllBehaviors, getAllStdOperators, getBehaviorMetadata, getBehaviorsByLevel, getFunctionFromOperator, getLambdaOperators, getModuleFromOperator, getModuleOperators, getOperatorMetaExtended, getStdEffectOperators, getStdLibStats, getStdOperatorMeta, getStdOperatorsByModule, getStdPureOperators, hasGoldenOrb, humanizeOperatorName, humanizeReturnType, isEffectOperatorExtended, isKnownOperatorExtended, isKnownStdOperator, isStdCategory, isStdEffectOperator, isStdGuardOperator, isStdOperator, loadGoldenOrb, makeStdOperator, stdApiGateway, stdArcadeGame, stdAsync, stdAsyncEntity, stdAsyncPage, stdAsyncTrait, stdAutoregressive, stdAutoregressiveEntity, stdAutoregressivePage, stdAutoregressiveTrait, stdBookingSystem, stdBrowse, stdBrowseEntity, stdBrowsePage, stdBrowseTrait, stdBuilderGame, stdBuilderGameEntity, stdBuilderGamePage, stdBuilderGameTrait, stdCacheAside, stdCacheAsideEntity, stdCacheAsidePage, stdCacheAsideTrait, stdCalendar, stdCalendarEntity, stdCalendarPage, stdCalendarTrait, stdCart, stdCartEntity, stdCartPage, stdCartTrait, stdCicdPipeline, stdCircuitBreaker, stdCircuitBreakerEntity, stdCircuitBreakerPage, stdCircuitBreakerTrait, stdClassifier, stdClassifierEntity, stdClassifierGame, stdClassifierGameEntity, stdClassifierGamePage, stdClassifierGameTrait, stdClassifierPage, stdClassifierTrait, stdCms, stdCodingAcademy, stdCollision, stdCollisionEntity, stdCollisionPage, stdCollisionTrait, stdCombat, stdCombatEntity, stdCombatLog, stdCombatLogEntity, stdCombatLogPage, stdCombatLogTrait, stdCombatPage, stdCombatTrait, stdConfirmation, stdConfirmationEntity, stdConfirmationPage, stdConfirmationTrait, stdCrm, stdDebuggerGame, stdDebuggerGameEntity, stdDebuggerGamePage, stdDebuggerGameTrait, stdDetail, stdDetailEntity, stdDetailPage, stdDetailTrait, stdDevopsDashboard, stdDialogueBox, stdDialogueBoxEntity, stdDialogueBoxPage, stdDialogueBoxTrait, stdDisplay, stdDisplayEntity, stdDisplayPage, stdDisplayTrait, stdDrawer, stdDrawerEntity, stdDrawerPage, stdDrawerTrait, stdEcommerce, stdEventHandlerGame, stdEventHandlerGameEntity, stdEventHandlerGamePage, stdEventHandlerGameTrait, stdFilter, stdFilterEntity, stdFilterPage, stdFilterTrait, stdFinanceTracker, stdFlipCard, stdFlipCardEntity, stdFlipCardPage, stdFlipCardTrait, stdFormAdvanced, stdFormAdvancedEntity, stdFormAdvancedPage, stdFormAdvancedTrait, stdGallery, stdGalleryEntity, stdGalleryPage, stdGalleryTrait, stdGameAudio, stdGameAudioEntity, stdGameAudioPage, stdGameAudioTrait, stdGameCanvas2d, stdGameCanvas2dEntity, stdGameCanvas2dPage, stdGameCanvas2dTrait, stdGameCanvas3d, stdGameCanvas3dEntity, stdGameCanvas3dPage, stdGameCanvas3dTrait, stdGameHud, stdGameHudEntity, stdGameHudPage, stdGameHudTrait, stdGameMenu, stdGameMenuEntity, stdGameMenuPage, stdGameMenuTrait, stdGameOverScreen, stdGameOverScreenEntity, stdGameOverScreenPage, stdGameOverScreenTrait, stdGameflow, stdGameflowEntity, stdGameflowPage, stdGameflowTrait, stdGeospatial, stdGeospatialEntity, stdGeospatialPage, stdGeospatialTrait, stdGraphClassifier, stdGraphClassifierEntity, stdGraphClassifierPage, stdGraphClassifierTrait, stdHealthcare, stdHelpdesk, stdHrPortal, stdInput, stdInputEntity, stdInputPage, stdInputTrait, stdInventory, stdInventoryEntity, stdInventoryPage, stdInventoryPanel, stdInventoryPanelEntity, stdInventoryPanelPage, stdInventoryPanelTrait, stdInventoryTrait, stdIotDashboard, stdIsometricCanvas, stdIsometricCanvasEntity, stdIsometricCanvasPage, stdIsometricCanvasTrait, stdList, stdListEntity, stdListPage, stdListTrait, stdLms, stdLoading, stdLoadingEntity, stdLoadingPage, stdLoadingTrait, stdLogicTraining, stdMessaging, stdMessagingEntity, stdMessagingPage, stdMessagingTrait, stdModal, stdModalEntity, stdModalPage, stdModalTrait, stdMovement, stdMovementEntity, stdMovementPage, stdMovementTrait, stdNegotiatorGame, stdNegotiatorGameEntity, stdNegotiatorGamePage, stdNegotiatorGameTrait, stdNotification, stdNotificationEntity, stdNotificationPage, stdNotificationTrait, stdOverworld, stdOverworldEntity, stdOverworldPage, stdOverworldTrait, stdPagination, stdPaginationEntity, stdPaginationPage, stdPaginationTrait, stdPhysics2d, stdPhysics2dEntity, stdPhysics2dPage, stdPhysics2dTrait, stdPlatformerApp, stdPlatformerCanvas, stdPlatformerCanvasEntity, stdPlatformerCanvasPage, stdPlatformerCanvasTrait, stdPlatformerGame, stdPlatformerGameEntity, stdPlatformerGamePage, stdPlatformerGameTrait, stdProjectManager, stdPuzzleApp, stdPuzzleGame, stdPuzzleGameEntity, stdPuzzleGamePage, stdPuzzleGameTrait, stdQuest, stdQuestEntity, stdQuestPage, stdQuestTrait, stdQuiz, stdQuizEntity, stdQuizPage, stdQuizTrait, stdRateLimiter, stdRateLimiterEntity, stdRateLimiterPage, stdRateLimiterTrait, stdRating, stdRatingEntity, stdRatingPage, stdRatingTrait, stdRealtimeChat, stdRlAgent, stdRlAgentEntity, stdRlAgentPage, stdRlAgentTrait, stdRpgGame, stdScore, stdScoreBoard, stdScoreBoardEntity, stdScoreBoardPage, stdScoreBoardTrait, stdScoreEntity, stdScorePage, stdScoreTrait, stdSearch, stdSearchEntity, stdSearchPage, stdSearchTrait, stdSelection, stdSelectionEntity, stdSelectionPage, stdSelectionTrait, stdSequencerGame, stdSequencerGameEntity, stdSequencerGamePage, stdSequencerGameTrait, stdServiceContentPipeline, stdServiceContentPipelineEntity, stdServiceContentPipelinePage, stdServiceContentPipelineTrait, stdServiceCustomApiTester, stdServiceCustomApiTesterEntity, stdServiceCustomApiTesterPage, stdServiceCustomApiTesterTrait, stdServiceCustomBearer, stdServiceCustomBearerEntity, stdServiceCustomBearerPage, stdServiceCustomBearerTrait, stdServiceCustomHeader, stdServiceCustomHeaderEntity, stdServiceCustomHeaderPage, stdServiceCustomHeaderTrait, stdServiceCustomNoauth, stdServiceCustomNoauthEntity, stdServiceCustomNoauthPage, stdServiceCustomNoauthTrait, stdServiceCustomQuery, stdServiceCustomQueryEntity, stdServiceCustomQueryPage, stdServiceCustomQueryTrait, stdServiceDevopsToolkit, stdServiceDevopsToolkitEntity, stdServiceDevopsToolkitPage, stdServiceEmail, stdServiceEmailEntity, stdServiceEmailPage, stdServiceEmailTrait, stdServiceGithub, stdServiceGithubEntity, stdServiceGithubPage, stdServiceGithubTrait, stdServiceLlm, stdServiceLlmEntity, stdServiceLlmPage, stdServiceLlmTrait, stdServiceMarketplace, stdServiceNotificationHub, stdServiceNotificationHubEntity, stdServiceNotificationHubPage, stdServiceNotificationHubTrait, stdServiceOauth, stdServiceOauthEntity, stdServiceOauthPage, stdServiceOauthTrait, stdServicePaymentFlow, stdServicePaymentFlowEntity, stdServicePaymentFlowPage, stdServiceRedis, stdServiceRedisEntity, stdServiceRedisPage, stdServiceRedisTrait, stdServiceResearchAssistant, stdServiceStorage, stdServiceStorageEntity, stdServiceStoragePage, stdServiceStorageTrait, stdServiceStripe, stdServiceStripeEntity, stdServiceStripePage, stdServiceStripeTrait, stdServiceTwilio, stdServiceTwilioEntity, stdServiceTwilioPage, stdServiceTwilioTrait, stdServiceYoutube, stdServiceYoutubeEntity, stdServiceYoutubePage, stdServiceYoutubeTrait, stdSimulationCanvas, stdSimulationCanvasEntity, stdSimulationCanvasPage, stdSimulationCanvasTrait, stdSimulatorGame, stdSimulatorGameEntity, stdSimulatorGamePage, stdSimulatorGameTrait, stdSocialFeed, stdSort, stdSortEntity, stdSortPage, stdSortTrait, stdSprite, stdSpriteEntity, stdSpritePage, stdSpriteTrait, stdStemLab, stdStrategyGame, stdTabs, stdTabsEntity, stdTabsPage, stdTabsTrait, stdTextClassifier, stdTextClassifierEntity, stdTextClassifierPage, stdTextClassifierTrait, stdTextEffects, stdTextEffectsEntity, stdTextEffectsPage, stdTextEffectsTrait, stdTheme, stdThemeEntity, stdThemePage, stdThemeTrait, stdTimer, stdTimerEntity, stdTimerPage, stdTimerTrait, stdTradingDashboard, stdTrainer, stdTrainerEntity, stdTrainerPage, stdTrainerTrait, stdTurnBasedBattle, stdTurnBasedBattleEntity, stdTurnBasedBattlePage, stdTurnBasedBattleTrait, stdUndo, stdUndoEntity, stdUndoPage, stdUndoTrait, stdUpload, stdUploadEntity, stdUploadPage, stdUploadTrait, stdValidateOnSave, stdWizard, stdWizardEntity, stdWizardPage, stdWizardTrait, validateBehaviorEvents, validateBehaviorStates, validateBehaviorStructure, validateOperatorArityExtended, validateStdOperatorArity };
23321
24900
  //# sourceMappingURL=index.js.map
23322
24901
  //# sourceMappingURL=index.js.map