@datalayer/agent-runtimes 1.3.83 → 1.3.84
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/lib/chat/base/ChatBase.js +16 -0
- package/lib/chat/base/loopElement.d.ts +53 -0
- package/lib/chat/base/loopElement.js +78 -0
- package/lib/chat/base/loopWindow.d.ts +31 -0
- package/lib/chat/base/loopWindow.js +74 -0
- package/lib/components/a2ui/datalayer/FileUpload.d.ts +10 -2
- package/lib/components/a2ui/datalayer/FileUpload.js +10 -7
- package/lib/components/a2ui/datalayer/Form.d.ts +2 -0
- package/lib/components/a2ui/datalayer/Form.js +9 -2
- package/lib/components/a2ui/datalayer/formWidgets.d.ts +19 -0
- package/lib/components/a2ui/datalayer/formWidgets.js +51 -0
- package/lib/loop/apps/AppComposer.d.ts +39 -4
- package/lib/loop/apps/AppComposer.js +191 -19
- package/lib/loop/apps/AppRenderer.d.ts +20 -3
- package/lib/loop/apps/AppRenderer.js +58 -27
- package/lib/loop/apps/appspec.d.ts +2 -0
- package/lib/loop/apps/appspec.js +190 -11
- package/lib/loop/apps/checks.d.ts +6 -0
- package/lib/loop/apps/checks.js +170 -1
- package/lib/loop/apps/composer.d.ts +21 -10
- package/lib/loop/apps/composer.js +41 -8
- package/lib/loop/apps/language.d.ts +68 -0
- package/lib/loop/apps/language.js +275 -0
- package/lib/loop/apps/settingsInputs.d.ts +29 -0
- package/lib/loop/apps/settingsInputs.js +147 -0
- package/lib/loop/apps/uploads.d.ts +43 -0
- package/lib/loop/apps/uploads.js +66 -0
- package/lib/loop/core/index.d.ts +14 -1
- package/lib/loop/embed/AppEmbed.d.ts +14 -0
- package/lib/loop/embed/AppEmbed.js +64 -2
- package/lib/loop/embed/element.js +23 -0
- package/lib/loop/embed/embedSession.d.ts +14 -0
- package/lib/loop/embed/embedSession.js +34 -0
- package/lib/loop/embed/hostBridge.d.ts +22 -1
- package/lib/loop/plugins/app-elements/AppElements.d.ts +27 -0
- package/lib/loop/plugins/app-elements/AppElements.js +76 -0
- package/lib/loop/plugins/app-elements/index.d.ts +20 -0
- package/lib/loop/plugins/app-elements/index.js +43 -0
- package/lib/loop/plugins/app-page/appPageModel.js +2 -0
- package/lib/loop/plugins/chat/ChatView.js +10 -2
- package/lib/protocols/BrowserAgentAdapter.d.ts +8 -6
- package/lib/protocols/BrowserAgentAdapter.js +13 -10
- package/lib/runtimes/browser/protocol.d.ts +1 -1
- package/lib/specs/apps.js +149 -0
- package/lib/specs/appspecSchema.js +439 -2
- package/lib/specs/uiPlugins.js +6 -1
- package/lib/types/agentspecs.d.ts +130 -1
- package/package.json +1 -1
- package/scripts/codegen/generate_apps.py +16 -0
|
@@ -16,6 +16,12 @@ export const APPSPEC_SCHEMA = {
|
|
|
16
16
|
title: 'Access',
|
|
17
17
|
type: 'string',
|
|
18
18
|
},
|
|
19
|
+
ActionClass: {
|
|
20
|
+
description: 'What a tool does to the world.',
|
|
21
|
+
enum: ['read', 'write', 'send', 'buy', 'delete', 'publish'],
|
|
22
|
+
title: 'ActionClass',
|
|
23
|
+
type: 'string',
|
|
24
|
+
},
|
|
19
25
|
ActsAs: {
|
|
20
26
|
description: 'In whose name a connection acts.',
|
|
21
27
|
enum: ['owner', 'user'],
|
|
@@ -24,7 +30,7 @@ export const APPSPEC_SCHEMA = {
|
|
|
24
30
|
},
|
|
25
31
|
AppChecks: {
|
|
26
32
|
additionalProperties: false,
|
|
27
|
-
description:
|
|
33
|
+
description: "Optional: checks from the catalogue, for a builder who wants them — and its code's own.",
|
|
28
34
|
properties: {
|
|
29
35
|
guards: {
|
|
30
36
|
description: 'Guards, `id` or `id:version`',
|
|
@@ -48,10 +54,43 @@ export const APPSPEC_SCHEMA = {
|
|
|
48
54
|
title: 'Track',
|
|
49
55
|
type: 'string',
|
|
50
56
|
},
|
|
57
|
+
code: {
|
|
58
|
+
description: 'Checks written in its code (`@app.check`), each run at its stage (LOOP P-06)',
|
|
59
|
+
items: {
|
|
60
|
+
$ref: '#/$defs/AppCodeCheck',
|
|
61
|
+
},
|
|
62
|
+
title: 'Code',
|
|
63
|
+
type: 'array',
|
|
64
|
+
},
|
|
51
65
|
},
|
|
52
66
|
title: 'AppChecks',
|
|
53
67
|
type: 'object',
|
|
54
68
|
},
|
|
69
|
+
AppCodeCheck: {
|
|
70
|
+
additionalProperties: false,
|
|
71
|
+
description: "A check written in the application's code (LOOP P-06): `@app.check`.\n\nRun at its stage beside the built-in checks and the catalogue's Guards;\nwhat it refuses is said in its own sentence. Without its file nothing\nruns it, and validation says so.",
|
|
72
|
+
properties: {
|
|
73
|
+
name: {
|
|
74
|
+
description: 'The function of its code that checks, by name',
|
|
75
|
+
pattern: '^[A-Za-z_][A-Za-z0-9_]*$',
|
|
76
|
+
title: 'Name',
|
|
77
|
+
type: 'string',
|
|
78
|
+
},
|
|
79
|
+
on: {
|
|
80
|
+
$ref: '#/$defs/CheckStage',
|
|
81
|
+
description: '`answer` or `tool_call`: where it runs',
|
|
82
|
+
},
|
|
83
|
+
description: {
|
|
84
|
+
description: 'What it checks, in a sentence a person reads',
|
|
85
|
+
minLength: 1,
|
|
86
|
+
title: 'Description',
|
|
87
|
+
type: 'string',
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
required: ['name', 'on', 'description'],
|
|
91
|
+
title: 'AppCodeCheck',
|
|
92
|
+
type: 'object',
|
|
93
|
+
},
|
|
55
94
|
AppCommand: {
|
|
56
95
|
additionalProperties: false,
|
|
57
96
|
description: "A slash command the user picks in the composer (LOOP P-19).\n\nTyping `/` lists the application's commands; picking one sends its\n`prompt`, `{input}` replaced by the words typed after the command.",
|
|
@@ -275,6 +314,34 @@ export const APPSPEC_SCHEMA = {
|
|
|
275
314
|
title: 'AppDeployment',
|
|
276
315
|
type: 'object',
|
|
277
316
|
},
|
|
317
|
+
AppFieldTranslation: {
|
|
318
|
+
additionalProperties: false,
|
|
319
|
+
description: 'A field of the settings in another language.',
|
|
320
|
+
properties: {
|
|
321
|
+
title: {
|
|
322
|
+
default: '',
|
|
323
|
+
description: 'Its title',
|
|
324
|
+
title: 'Title',
|
|
325
|
+
type: 'string',
|
|
326
|
+
},
|
|
327
|
+
description: {
|
|
328
|
+
default: '',
|
|
329
|
+
description: 'What it is for',
|
|
330
|
+
title: 'Description',
|
|
331
|
+
type: 'string',
|
|
332
|
+
},
|
|
333
|
+
options: {
|
|
334
|
+
additionalProperties: {
|
|
335
|
+
type: 'string',
|
|
336
|
+
},
|
|
337
|
+
description: "What each value of its `enum` (or of its items') reads as, by the value; the value is sent",
|
|
338
|
+
title: 'Options',
|
|
339
|
+
type: 'object',
|
|
340
|
+
},
|
|
341
|
+
},
|
|
342
|
+
title: 'AppFieldTranslation',
|
|
343
|
+
type: 'object',
|
|
344
|
+
},
|
|
278
345
|
AppInterface: {
|
|
279
346
|
additionalProperties: false,
|
|
280
347
|
description: 'What the user sees.',
|
|
@@ -338,6 +405,14 @@ export const APPSPEC_SCHEMA = {
|
|
|
338
405
|
title: 'Modes',
|
|
339
406
|
type: 'array',
|
|
340
407
|
},
|
|
408
|
+
profiles: {
|
|
409
|
+
description: 'Several assistants in one application, two at least: the person picks one before the conversation starts — the first unless they do — and keeps it to the end; its instructions, model and starters go with every run (LOOP P-20). None when unsaid',
|
|
410
|
+
items: {
|
|
411
|
+
$ref: '#/$defs/AppProfile',
|
|
412
|
+
},
|
|
413
|
+
title: 'Profiles',
|
|
414
|
+
type: 'array',
|
|
415
|
+
},
|
|
341
416
|
settings: {
|
|
342
417
|
anyOf: [
|
|
343
418
|
{
|
|
@@ -352,6 +427,46 @@ export const APPSPEC_SCHEMA = {
|
|
|
352
427
|
description: "What the user may set: the JSON Schema of a form, an object of named fields, each with its `title` and its `default` (LOOP C-16). Drawn with `@datalayer/primer-rjsf` beside the conversation and on a deployment's Ship card, its values go with every run and are checked by the runtime against the same schema. None when unsaid",
|
|
353
428
|
title: 'Settings',
|
|
354
429
|
},
|
|
430
|
+
settings_ui: {
|
|
431
|
+
anyOf: [
|
|
432
|
+
{
|
|
433
|
+
additionalProperties: true,
|
|
434
|
+
type: 'object',
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
type: 'null',
|
|
438
|
+
},
|
|
439
|
+
],
|
|
440
|
+
default: null,
|
|
441
|
+
description: "How the settings' fields are drawn, as `@datalayer/primer-rjsf` reads a uiSchema: by field name, its `ui:` options — `ui:widget` one of `select`, `radio`, `range`, `updown`, `switch`, `checkbox`, `text`, `textarea`, `date`, `checkboxes`, `tags` — and `ui:order` (LOOP P-20). Each field's own widget when unsaid",
|
|
442
|
+
title: 'Settings Ui',
|
|
443
|
+
},
|
|
444
|
+
language: {
|
|
445
|
+
default: 'en',
|
|
446
|
+
description: 'The language its own words are in, as BCP 47 tags it (`en`, `fr`, `pt-BR`) (LOOP P-26)',
|
|
447
|
+
title: 'Language',
|
|
448
|
+
type: 'string',
|
|
449
|
+
},
|
|
450
|
+
translations: {
|
|
451
|
+
additionalProperties: {
|
|
452
|
+
$ref: '#/$defs/AppTranslation',
|
|
453
|
+
},
|
|
454
|
+
description: "What a person reads of it in other languages, by BCP 47 tag: its name, welcome, starters and their categories, settings, commands, modes and profiles. The page shows the person's language when it has it, else its own words (LOOP P-26)",
|
|
455
|
+
title: 'Translations',
|
|
456
|
+
type: 'object',
|
|
457
|
+
},
|
|
458
|
+
uploads: {
|
|
459
|
+
anyOf: [
|
|
460
|
+
{
|
|
461
|
+
$ref: '#/$defs/AppUploads',
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
type: 'null',
|
|
465
|
+
},
|
|
466
|
+
],
|
|
467
|
+
default: null,
|
|
468
|
+
description: 'What a person may send in the composer without being asked — images, files, audio — by kind, each with its largest size, and how many at once (LOOP P-21). None when unsaid: the composer offers no attachment, and a file sent with a message is refused',
|
|
469
|
+
},
|
|
355
470
|
components: {
|
|
356
471
|
description: "The components of the catalog the surface may use; the kind's own when empty",
|
|
357
472
|
items: {
|
|
@@ -512,6 +627,48 @@ export const APPSPEC_SCHEMA = {
|
|
|
512
627
|
title: 'AppModeOption',
|
|
513
628
|
type: 'object',
|
|
514
629
|
},
|
|
630
|
+
AppModeTranslation: {
|
|
631
|
+
additionalProperties: false,
|
|
632
|
+
description: 'A mode in another language.',
|
|
633
|
+
properties: {
|
|
634
|
+
label: {
|
|
635
|
+
default: '',
|
|
636
|
+
description: 'What the switch is called',
|
|
637
|
+
title: 'Label',
|
|
638
|
+
type: 'string',
|
|
639
|
+
},
|
|
640
|
+
options: {
|
|
641
|
+
additionalProperties: {
|
|
642
|
+
$ref: '#/$defs/AppOptionTranslation',
|
|
643
|
+
},
|
|
644
|
+
description: 'Its options, by id',
|
|
645
|
+
title: 'Options',
|
|
646
|
+
type: 'object',
|
|
647
|
+
},
|
|
648
|
+
},
|
|
649
|
+
title: 'AppModeTranslation',
|
|
650
|
+
type: 'object',
|
|
651
|
+
},
|
|
652
|
+
AppOptionTranslation: {
|
|
653
|
+
additionalProperties: false,
|
|
654
|
+
description: 'An option of a mode in another language.',
|
|
655
|
+
properties: {
|
|
656
|
+
label: {
|
|
657
|
+
default: '',
|
|
658
|
+
description: 'What the switch says',
|
|
659
|
+
title: 'Label',
|
|
660
|
+
type: 'string',
|
|
661
|
+
},
|
|
662
|
+
description: {
|
|
663
|
+
default: '',
|
|
664
|
+
description: 'What it changes',
|
|
665
|
+
title: 'Description',
|
|
666
|
+
type: 'string',
|
|
667
|
+
},
|
|
668
|
+
},
|
|
669
|
+
title: 'AppOptionTranslation',
|
|
670
|
+
type: 'object',
|
|
671
|
+
},
|
|
515
672
|
AppPermissions: {
|
|
516
673
|
additionalProperties: false,
|
|
517
674
|
description: 'What the application may reach beside its connections. Nothing, unless said.',
|
|
@@ -532,6 +689,80 @@ export const APPSPEC_SCHEMA = {
|
|
|
532
689
|
title: 'AppPermissions',
|
|
533
690
|
type: 'object',
|
|
534
691
|
},
|
|
692
|
+
AppProfile: {
|
|
693
|
+
additionalProperties: false,
|
|
694
|
+
description: "One of several assistants in one application (LOOP P-20): a variant of its agent.\n\nThe person picks a profile before the conversation starts, and keeps it to\nthe end: its instructions are told to the agent on top of the\napplication's in every run, its model run in place of the application's\n(a mode's model wins over it), and its starters offered in place of the\napplication's.",
|
|
695
|
+
properties: {
|
|
696
|
+
id: {
|
|
697
|
+
description: 'Its id, what a conversation says it is with',
|
|
698
|
+
pattern: '^[a-z][a-z0-9_-]{0,39}$',
|
|
699
|
+
title: 'Id',
|
|
700
|
+
type: 'string',
|
|
701
|
+
},
|
|
702
|
+
label: {
|
|
703
|
+
description: 'What the person picks it by',
|
|
704
|
+
minLength: 1,
|
|
705
|
+
title: 'Label',
|
|
706
|
+
type: 'string',
|
|
707
|
+
},
|
|
708
|
+
description: {
|
|
709
|
+
default: '',
|
|
710
|
+
description: 'What it is for, in a sentence, beside its label',
|
|
711
|
+
title: 'Description',
|
|
712
|
+
type: 'string',
|
|
713
|
+
},
|
|
714
|
+
instructions: {
|
|
715
|
+
default: '',
|
|
716
|
+
description: 'What the agent is told besides its instructions, in every run with this profile',
|
|
717
|
+
title: 'Instructions',
|
|
718
|
+
type: 'string',
|
|
719
|
+
},
|
|
720
|
+
model: {
|
|
721
|
+
anyOf: [
|
|
722
|
+
{
|
|
723
|
+
type: 'string',
|
|
724
|
+
},
|
|
725
|
+
{
|
|
726
|
+
type: 'null',
|
|
727
|
+
},
|
|
728
|
+
],
|
|
729
|
+
default: null,
|
|
730
|
+
description: "The model it runs on, in place of the application's; a mode's model wins over it",
|
|
731
|
+
title: 'Model',
|
|
732
|
+
},
|
|
733
|
+
starters: {
|
|
734
|
+
description: "The first messages it offers, in place of the application's; the application's when empty",
|
|
735
|
+
items: {
|
|
736
|
+
$ref: '#/$defs/AppStarter',
|
|
737
|
+
},
|
|
738
|
+
title: 'Starters',
|
|
739
|
+
type: 'array',
|
|
740
|
+
},
|
|
741
|
+
},
|
|
742
|
+
required: ['id', 'label'],
|
|
743
|
+
title: 'AppProfile',
|
|
744
|
+
type: 'object',
|
|
745
|
+
},
|
|
746
|
+
AppProfileTranslation: {
|
|
747
|
+
additionalProperties: false,
|
|
748
|
+
description: 'A profile in another language.',
|
|
749
|
+
properties: {
|
|
750
|
+
label: {
|
|
751
|
+
default: '',
|
|
752
|
+
description: 'What the person picks it by',
|
|
753
|
+
title: 'Label',
|
|
754
|
+
type: 'string',
|
|
755
|
+
},
|
|
756
|
+
description: {
|
|
757
|
+
default: '',
|
|
758
|
+
description: 'What it is for',
|
|
759
|
+
title: 'Description',
|
|
760
|
+
type: 'string',
|
|
761
|
+
},
|
|
762
|
+
},
|
|
763
|
+
title: 'AppProfileTranslation',
|
|
764
|
+
type: 'object',
|
|
765
|
+
},
|
|
535
766
|
AppRecord: {
|
|
536
767
|
additionalProperties: false,
|
|
537
768
|
description: 'What is kept of what the application did, and for how long.',
|
|
@@ -648,11 +879,37 @@ export const APPSPEC_SCHEMA = {
|
|
|
648
879
|
title: 'Message',
|
|
649
880
|
type: 'string',
|
|
650
881
|
},
|
|
882
|
+
category: {
|
|
883
|
+
default: '',
|
|
884
|
+
description: 'The heading it is offered under: the starters of one category are shown together, those without one first (LOOP P-20)',
|
|
885
|
+
title: 'Category',
|
|
886
|
+
type: 'string',
|
|
887
|
+
},
|
|
651
888
|
},
|
|
652
889
|
required: ['label', 'message'],
|
|
653
890
|
title: 'AppStarter',
|
|
654
891
|
type: 'object',
|
|
655
892
|
},
|
|
893
|
+
AppStarterTranslation: {
|
|
894
|
+
additionalProperties: false,
|
|
895
|
+
description: 'A starter in another language.',
|
|
896
|
+
properties: {
|
|
897
|
+
label: {
|
|
898
|
+
default: '',
|
|
899
|
+
description: 'What the button says',
|
|
900
|
+
title: 'Label',
|
|
901
|
+
type: 'string',
|
|
902
|
+
},
|
|
903
|
+
message: {
|
|
904
|
+
default: '',
|
|
905
|
+
description: 'What is sent when it is chosen',
|
|
906
|
+
title: 'Message',
|
|
907
|
+
type: 'string',
|
|
908
|
+
},
|
|
909
|
+
},
|
|
910
|
+
title: 'AppStarterTranslation',
|
|
911
|
+
type: 'object',
|
|
912
|
+
},
|
|
656
913
|
AppSurface: {
|
|
657
914
|
additionalProperties: false,
|
|
658
915
|
description: 'The component tree the user meets, over the approved catalog (A2UI).',
|
|
@@ -690,7 +947,7 @@ export const APPSPEC_SCHEMA = {
|
|
|
690
947
|
},
|
|
691
948
|
AppTestCase: {
|
|
692
949
|
additionalProperties: false,
|
|
693
|
-
description:
|
|
950
|
+
description: "An example of what the application should do, in plain words.\n\nWhen plain words are not enough, its code decides it (LOOP P-06): `code`\nnames the function of the application's `app.py` that is given the\nconversation and says whether it passed — `@app.test` writes it. `expect`\nstill says it in words: without its file, the case is judged by them.",
|
|
694
951
|
properties: {
|
|
695
952
|
ask: {
|
|
696
953
|
description: 'What it is asked',
|
|
@@ -702,6 +959,13 @@ export const APPSPEC_SCHEMA = {
|
|
|
702
959
|
title: 'Expect',
|
|
703
960
|
type: 'string',
|
|
704
961
|
},
|
|
962
|
+
code: {
|
|
963
|
+
default: '',
|
|
964
|
+
description: 'The function of its code that decides the case, by name, when words are not enough; `expect` says it in words',
|
|
965
|
+
pattern: '^(?:[A-Za-z_][A-Za-z0-9_]*)?$',
|
|
966
|
+
title: 'Code',
|
|
967
|
+
type: 'string',
|
|
968
|
+
},
|
|
705
969
|
},
|
|
706
970
|
required: ['ask', 'expect'],
|
|
707
971
|
title: 'AppTestCase',
|
|
@@ -766,6 +1030,116 @@ export const APPSPEC_SCHEMA = {
|
|
|
766
1030
|
title: 'AppTheme',
|
|
767
1031
|
type: 'object',
|
|
768
1032
|
},
|
|
1033
|
+
AppTool: {
|
|
1034
|
+
additionalProperties: false,
|
|
1035
|
+
description: "A tool of the application's own, written in its code (LOOP P-06): `@app.tool`.\n\nIts agent calls it as any tool; the rules decide each call by what it\n`does` — a rule may name it, by its name alone — and the Canvas lists it.\nWithout its file the agent is not given it.",
|
|
1036
|
+
properties: {
|
|
1037
|
+
name: {
|
|
1038
|
+
description: 'Its name: what the agent calls, and a rule names',
|
|
1039
|
+
pattern: '^[A-Za-z_][A-Za-z0-9_]*$',
|
|
1040
|
+
title: 'Name',
|
|
1041
|
+
type: 'string',
|
|
1042
|
+
},
|
|
1043
|
+
description: {
|
|
1044
|
+
description: 'What it does, for the agent: when to call it',
|
|
1045
|
+
minLength: 1,
|
|
1046
|
+
title: 'Description',
|
|
1047
|
+
type: 'string',
|
|
1048
|
+
},
|
|
1049
|
+
parameters: {
|
|
1050
|
+
additionalProperties: true,
|
|
1051
|
+
description: 'The JSON Schema of its arguments, an object; none when unsaid',
|
|
1052
|
+
title: 'Parameters',
|
|
1053
|
+
type: 'object',
|
|
1054
|
+
},
|
|
1055
|
+
does: {
|
|
1056
|
+
description: 'What it does, by class of action (`read`, `write`, `send`…): what the rules decide',
|
|
1057
|
+
items: {
|
|
1058
|
+
$ref: '#/$defs/ActionClass',
|
|
1059
|
+
},
|
|
1060
|
+
minItems: 1,
|
|
1061
|
+
title: 'Does',
|
|
1062
|
+
type: 'array',
|
|
1063
|
+
},
|
|
1064
|
+
},
|
|
1065
|
+
required: ['name', 'description', 'does'],
|
|
1066
|
+
title: 'AppTool',
|
|
1067
|
+
type: 'object',
|
|
1068
|
+
},
|
|
1069
|
+
AppTranslation: {
|
|
1070
|
+
additionalProperties: false,
|
|
1071
|
+
description: "What a person reads of an application, in another language (LOOP P-26).\n\nEach part is keyed by what names it in the spec: a starter by its label,\na category by its words, a setting by its field, a command by its name,\na mode and a profile by their ids. What is not translated is shown in\nthe spec's own words; what is translated is shown, never sent, but a\nstarter's message — the agent is written to in the person's language.",
|
|
1072
|
+
properties: {
|
|
1073
|
+
name: {
|
|
1074
|
+
default: '',
|
|
1075
|
+
description: 'Its display name',
|
|
1076
|
+
title: 'Name',
|
|
1077
|
+
type: 'string',
|
|
1078
|
+
},
|
|
1079
|
+
description: {
|
|
1080
|
+
default: '',
|
|
1081
|
+
description: 'What it does',
|
|
1082
|
+
title: 'Description',
|
|
1083
|
+
type: 'string',
|
|
1084
|
+
},
|
|
1085
|
+
welcome: {
|
|
1086
|
+
default: '',
|
|
1087
|
+
description: 'What it says first',
|
|
1088
|
+
title: 'Welcome',
|
|
1089
|
+
type: 'string',
|
|
1090
|
+
},
|
|
1091
|
+
starters: {
|
|
1092
|
+
additionalProperties: {
|
|
1093
|
+
$ref: '#/$defs/AppStarterTranslation',
|
|
1094
|
+
},
|
|
1095
|
+
description: "Its starters and its profiles', by their label",
|
|
1096
|
+
title: 'Starters',
|
|
1097
|
+
type: 'object',
|
|
1098
|
+
},
|
|
1099
|
+
categories: {
|
|
1100
|
+
additionalProperties: {
|
|
1101
|
+
type: 'string',
|
|
1102
|
+
},
|
|
1103
|
+
description: "The starters' categories, by their words",
|
|
1104
|
+
title: 'Categories',
|
|
1105
|
+
type: 'object',
|
|
1106
|
+
},
|
|
1107
|
+
settings: {
|
|
1108
|
+
additionalProperties: {
|
|
1109
|
+
$ref: '#/$defs/AppFieldTranslation',
|
|
1110
|
+
},
|
|
1111
|
+
description: 'The fields of its settings, by name',
|
|
1112
|
+
title: 'Settings',
|
|
1113
|
+
type: 'object',
|
|
1114
|
+
},
|
|
1115
|
+
commands: {
|
|
1116
|
+
additionalProperties: {
|
|
1117
|
+
type: 'string',
|
|
1118
|
+
},
|
|
1119
|
+
description: "Its commands' descriptions, by name",
|
|
1120
|
+
title: 'Commands',
|
|
1121
|
+
type: 'object',
|
|
1122
|
+
},
|
|
1123
|
+
modes: {
|
|
1124
|
+
additionalProperties: {
|
|
1125
|
+
$ref: '#/$defs/AppModeTranslation',
|
|
1126
|
+
},
|
|
1127
|
+
description: 'Its modes, by id',
|
|
1128
|
+
title: 'Modes',
|
|
1129
|
+
type: 'object',
|
|
1130
|
+
},
|
|
1131
|
+
profiles: {
|
|
1132
|
+
additionalProperties: {
|
|
1133
|
+
$ref: '#/$defs/AppProfileTranslation',
|
|
1134
|
+
},
|
|
1135
|
+
description: 'Its profiles, by id',
|
|
1136
|
+
title: 'Profiles',
|
|
1137
|
+
type: 'object',
|
|
1138
|
+
},
|
|
1139
|
+
},
|
|
1140
|
+
title: 'AppTranslation',
|
|
1141
|
+
type: 'object',
|
|
1142
|
+
},
|
|
769
1143
|
AppTrigger: {
|
|
770
1144
|
additionalProperties: false,
|
|
771
1145
|
description: "What starts a worker's work.",
|
|
@@ -809,6 +1183,55 @@ export const APPSPEC_SCHEMA = {
|
|
|
809
1183
|
title: 'AppTrigger',
|
|
810
1184
|
type: 'object',
|
|
811
1185
|
},
|
|
1186
|
+
AppUploadKind: {
|
|
1187
|
+
additionalProperties: false,
|
|
1188
|
+
description: 'A kind of file a person may send, and how large (LOOP P-21).',
|
|
1189
|
+
properties: {
|
|
1190
|
+
type: {
|
|
1191
|
+
description: 'A media type (`application/pdf`), a family of them (`image/*`, `audio/*`) or an extension (`.csv`), lowercase',
|
|
1192
|
+
pattern: '^(?:[a-z0-9][a-z0-9.+-]*/(?:\\*|[a-z0-9][a-z0-9.+-]*)|\\.[a-z0-9][a-z0-9_+-]*)$',
|
|
1193
|
+
title: 'Type',
|
|
1194
|
+
type: 'string',
|
|
1195
|
+
},
|
|
1196
|
+
max_mb: {
|
|
1197
|
+
default: 10,
|
|
1198
|
+
description: 'The largest file of this kind, in megabytes; 25 at most',
|
|
1199
|
+
exclusiveMinimum: 0,
|
|
1200
|
+
maximum: 25,
|
|
1201
|
+
title: 'Max Mb',
|
|
1202
|
+
type: 'number',
|
|
1203
|
+
},
|
|
1204
|
+
},
|
|
1205
|
+
required: ['type'],
|
|
1206
|
+
title: 'AppUploadKind',
|
|
1207
|
+
type: 'object',
|
|
1208
|
+
},
|
|
1209
|
+
AppUploads: {
|
|
1210
|
+
additionalProperties: false,
|
|
1211
|
+
description: 'What a person may send in the composer without being asked (LOOP P-21): images, files, audio.\n\nA file of a kind it does not name, larger than its kind takes, or one too\nmany is refused, in a sentence — by the page before it is sent, and by the\nruntime when it is sent all the same.',
|
|
1212
|
+
properties: {
|
|
1213
|
+
kinds: {
|
|
1214
|
+
description: 'The kinds of file it takes, each with its largest size',
|
|
1215
|
+
items: {
|
|
1216
|
+
$ref: '#/$defs/AppUploadKind',
|
|
1217
|
+
},
|
|
1218
|
+
minItems: 1,
|
|
1219
|
+
title: 'Kinds',
|
|
1220
|
+
type: 'array',
|
|
1221
|
+
},
|
|
1222
|
+
max_files: {
|
|
1223
|
+
default: 5,
|
|
1224
|
+
description: 'The most files sent with one message',
|
|
1225
|
+
maximum: 20,
|
|
1226
|
+
minimum: 1,
|
|
1227
|
+
title: 'Max Files',
|
|
1228
|
+
type: 'integer',
|
|
1229
|
+
},
|
|
1230
|
+
},
|
|
1231
|
+
required: ['kinds'],
|
|
1232
|
+
title: 'AppUploads',
|
|
1233
|
+
type: 'object',
|
|
1234
|
+
},
|
|
812
1235
|
AppVerified: {
|
|
813
1236
|
additionalProperties: false,
|
|
814
1237
|
description: 'What was verified, and how, each in a sentence a person reads (LOOP E-14).\n\nAn example says it on its card and on its page: what was tried live,\nwhat runs on recorded data instead, and what is not verified yet. Said\nby whoever tried it; nothing here is computed.',
|
|
@@ -895,6 +1318,12 @@ export const APPSPEC_SCHEMA = {
|
|
|
895
1318
|
title: 'Behaviour',
|
|
896
1319
|
type: 'string',
|
|
897
1320
|
},
|
|
1321
|
+
CheckStage: {
|
|
1322
|
+
description: 'Where a check of its code runs (LOOP P-06), as the built-in checks do (R-06).',
|
|
1323
|
+
enum: ['answer', 'tool_call'],
|
|
1324
|
+
title: 'CheckStage',
|
|
1325
|
+
type: 'string',
|
|
1326
|
+
},
|
|
898
1327
|
CriterionKind: {
|
|
899
1328
|
description: 'How a criterion is assessed.',
|
|
900
1329
|
enum: ['metric', 'noul', 'choice', 'score'],
|
|
@@ -1170,6 +1599,14 @@ export const APPSPEC_SCHEMA = {
|
|
|
1170
1599
|
title: 'Backend Tools',
|
|
1171
1600
|
type: 'array',
|
|
1172
1601
|
},
|
|
1602
|
+
tools: {
|
|
1603
|
+
description: 'Tools of its own, written in its code (`@app.tool`): the agent calls them, rules decide them',
|
|
1604
|
+
items: {
|
|
1605
|
+
$ref: '#/$defs/AppTool',
|
|
1606
|
+
},
|
|
1607
|
+
title: 'Tools',
|
|
1608
|
+
type: 'array',
|
|
1609
|
+
},
|
|
1173
1610
|
context: {
|
|
1174
1611
|
description: "The Frames it works under: the catalogue's, or its organization's own (`org-…`)",
|
|
1175
1612
|
items: {
|
package/lib/specs/uiPlugins.js
CHANGED
|
@@ -949,7 +949,7 @@ export const A2UI_UI_PLUGIN_0_0_1 = {
|
|
|
949
949
|
category: 'input',
|
|
950
950
|
emoji: '🧾',
|
|
951
951
|
description: 'Several fields asked at once, from a JSON Schema, checked as they are filled and again when they arrive (drawn with @datalayer/primer-rjsf).',
|
|
952
|
-
version: '1.
|
|
952
|
+
version: '1.1.0',
|
|
953
953
|
standard: false,
|
|
954
954
|
properties: {
|
|
955
955
|
type: 'object',
|
|
@@ -965,6 +965,11 @@ export const A2UI_UI_PLUGIN_0_0_1 = {
|
|
|
965
965
|
title: 'Fields',
|
|
966
966
|
description: 'The JSON Schema of what is asked: its fields, their types, what is required.',
|
|
967
967
|
},
|
|
968
|
+
ui: {
|
|
969
|
+
type: 'object',
|
|
970
|
+
title: 'How its fields are drawn',
|
|
971
|
+
description: "By field name, the ui: options @datalayer/primer-rjsf reads (a uiSchema): ui:widget one of select, radio, range, updown, switch, checkbox, text, textarea, date, checkboxes, tags; each field's own widget when unsaid.",
|
|
972
|
+
},
|
|
968
973
|
submit_label: {
|
|
969
974
|
type: 'string',
|
|
970
975
|
title: 'Send button',
|