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