@datalayer/agent-runtimes 1.3.82 → 1.3.83
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/components/a2ui/datalayer/Form.js +19 -2
- package/lib/loop/apps/appspec.js +11 -33
- package/lib/loop/apps/checks.js +18 -8
- package/lib/loop/plugins/app-page/appPageModel.d.ts +14 -5
- package/lib/loop/plugins/app-page/appPageModel.js +80 -88
- package/lib/specs/agents/agents.js +6 -3
- package/lib/specs/apps.js +188 -176
- package/lib/specs/appspecSchema.js +17 -87
- package/lib/specs/cogs.js +3 -2
- package/lib/types/agentspecs.d.ts +37 -10
- package/package.json +1 -1
- package/scripts/codegen/generate_apps.py +0 -1
|
@@ -339,12 +339,18 @@ export const APPSPEC_SCHEMA = {
|
|
|
339
339
|
type: 'array',
|
|
340
340
|
},
|
|
341
341
|
settings: {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
342
|
+
anyOf: [
|
|
343
|
+
{
|
|
344
|
+
additionalProperties: true,
|
|
345
|
+
type: 'object',
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
type: 'null',
|
|
349
|
+
},
|
|
350
|
+
],
|
|
351
|
+
default: null,
|
|
352
|
+
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",
|
|
346
353
|
title: 'Settings',
|
|
347
|
-
type: 'array',
|
|
348
354
|
},
|
|
349
355
|
components: {
|
|
350
356
|
description: "The components of the catalog the surface may use; the kind's own when empty",
|
|
@@ -609,82 +615,6 @@ export const APPSPEC_SCHEMA = {
|
|
|
609
615
|
title: 'AppScenario',
|
|
610
616
|
type: 'object',
|
|
611
617
|
},
|
|
612
|
-
AppSetting: {
|
|
613
|
-
additionalProperties: false,
|
|
614
|
-
description: 'Something the user may set for their session.',
|
|
615
|
-
properties: {
|
|
616
|
-
id: {
|
|
617
|
-
description: 'The name the application reads it by',
|
|
618
|
-
title: 'Id',
|
|
619
|
-
type: 'string',
|
|
620
|
-
},
|
|
621
|
-
type: {
|
|
622
|
-
$ref: '#/$defs/SettingType',
|
|
623
|
-
description: '`select`, `text`, `toggle`, `slider` or `number`',
|
|
624
|
-
},
|
|
625
|
-
label: {
|
|
626
|
-
description: 'What the user reads',
|
|
627
|
-
title: 'Label',
|
|
628
|
-
type: 'string',
|
|
629
|
-
},
|
|
630
|
-
options: {
|
|
631
|
-
description: 'For a select: its options',
|
|
632
|
-
items: {
|
|
633
|
-
type: 'string',
|
|
634
|
-
},
|
|
635
|
-
title: 'Options',
|
|
636
|
-
type: 'array',
|
|
637
|
-
},
|
|
638
|
-
default: {
|
|
639
|
-
anyOf: [
|
|
640
|
-
{
|
|
641
|
-
type: 'string',
|
|
642
|
-
},
|
|
643
|
-
{
|
|
644
|
-
type: 'boolean',
|
|
645
|
-
},
|
|
646
|
-
{
|
|
647
|
-
type: 'number',
|
|
648
|
-
},
|
|
649
|
-
{
|
|
650
|
-
type: 'null',
|
|
651
|
-
},
|
|
652
|
-
],
|
|
653
|
-
default: null,
|
|
654
|
-
description: 'Its value at the start',
|
|
655
|
-
title: 'Default',
|
|
656
|
-
},
|
|
657
|
-
min: {
|
|
658
|
-
anyOf: [
|
|
659
|
-
{
|
|
660
|
-
type: 'number',
|
|
661
|
-
},
|
|
662
|
-
{
|
|
663
|
-
type: 'null',
|
|
664
|
-
},
|
|
665
|
-
],
|
|
666
|
-
default: null,
|
|
667
|
-
description: 'For a slider or a number: the least',
|
|
668
|
-
title: 'Min',
|
|
669
|
-
},
|
|
670
|
-
max: {
|
|
671
|
-
anyOf: [
|
|
672
|
-
{
|
|
673
|
-
type: 'number',
|
|
674
|
-
},
|
|
675
|
-
{
|
|
676
|
-
type: 'null',
|
|
677
|
-
},
|
|
678
|
-
],
|
|
679
|
-
default: null,
|
|
680
|
-
description: 'For a slider or a number: the most',
|
|
681
|
-
title: 'Max',
|
|
682
|
-
},
|
|
683
|
-
},
|
|
684
|
-
required: ['id', 'type', 'label'],
|
|
685
|
-
title: 'AppSetting',
|
|
686
|
-
type: 'object',
|
|
687
|
-
},
|
|
688
618
|
AppSpaceGrant: {
|
|
689
619
|
additionalProperties: false,
|
|
690
620
|
description: 'A Space the application may reach.',
|
|
@@ -1106,12 +1036,6 @@ export const APPSPEC_SCHEMA = {
|
|
|
1106
1036
|
title: 'RecordItem',
|
|
1107
1037
|
type: 'string',
|
|
1108
1038
|
},
|
|
1109
|
-
SettingType: {
|
|
1110
|
-
description: 'What a setting is set with.',
|
|
1111
|
-
enum: ['select', 'text', 'toggle', 'slider', 'number'],
|
|
1112
|
-
title: 'SettingType',
|
|
1113
|
-
type: 'string',
|
|
1114
|
-
},
|
|
1115
1039
|
ThemeMode: {
|
|
1116
1040
|
description: 'The colour mode a theme is worn in: `auto` follows the device.',
|
|
1117
1041
|
enum: ['light', 'dark', 'auto'],
|
|
@@ -1348,6 +1272,12 @@ export const APPSPEC_SCHEMA = {
|
|
|
1348
1272
|
title: 'Enabled',
|
|
1349
1273
|
type: 'boolean',
|
|
1350
1274
|
},
|
|
1275
|
+
unavailable_because: {
|
|
1276
|
+
default: '',
|
|
1277
|
+
description: 'Why it is not offered today, in a sentence its page shows: said when `enabled` is false, and only then',
|
|
1278
|
+
title: 'Unavailable Because',
|
|
1279
|
+
type: 'string',
|
|
1280
|
+
},
|
|
1351
1281
|
tags: {
|
|
1352
1282
|
items: {
|
|
1353
1283
|
type: 'string',
|
package/lib/specs/cogs.js
CHANGED
|
@@ -242,8 +242,9 @@ const COG_CUSTOMER_INTERVIEWER_AGENTSPEC_0_0_1 = {
|
|
|
242
242
|
description: `Conducts adaptive customer interviews under the Customer Research Frame: consent first, no leading question, and insights that each cite the interviewee's own words.`,
|
|
243
243
|
tags: ['research', 'customer-support', 'analysis', 'cog'],
|
|
244
244
|
domain: 'market-analyst',
|
|
245
|
-
enabled:
|
|
245
|
+
enabled: true,
|
|
246
246
|
model: 'bedrock:us.anthropic.claude-sonnet-4-6',
|
|
247
|
+
modelAdditionals: ['alibaba:qwen-max'],
|
|
247
248
|
mcpServers: [],
|
|
248
249
|
skills: [
|
|
249
250
|
SKILL_MAP['text-summarizer:0.0.1']
|
|
@@ -625,7 +626,7 @@ export const COG_CUSTOMER_INTERVIEWER_0_0_1 = {
|
|
|
625
626
|
frames: ['customer-research'],
|
|
626
627
|
lineage: ['datalayer', 'customer-research'],
|
|
627
628
|
kind: 'context',
|
|
628
|
-
enabled:
|
|
629
|
+
enabled: true,
|
|
629
630
|
guards: [
|
|
630
631
|
{
|
|
631
632
|
id: 'no-secrets',
|
|
@@ -485,15 +485,33 @@ export interface AppModeEffect {
|
|
|
485
485
|
/** The model an option chosen names; the application's when unsaid. */
|
|
486
486
|
model?: string;
|
|
487
487
|
}
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
488
|
+
/**
|
|
489
|
+
* One field of a form (LOOP C-16): its JSON Schema — a `type`, the `title` a
|
|
490
|
+
* person reads, its `default`, and what it takes (`enum`, `minimum`,
|
|
491
|
+
* `maximum`…).
|
|
492
|
+
*/
|
|
493
|
+
export type AppFormField = {
|
|
494
|
+
type?: string;
|
|
495
|
+
title?: string;
|
|
496
|
+
description?: string;
|
|
497
|
+
default?: unknown;
|
|
498
|
+
enum?: unknown[];
|
|
499
|
+
minimum?: number;
|
|
500
|
+
maximum?: number;
|
|
501
|
+
[keyword: string]: unknown;
|
|
502
|
+
};
|
|
503
|
+
/**
|
|
504
|
+
* The JSON Schema of a form (LOOP C-16): an object of named fields, drawn with
|
|
505
|
+
* `@datalayer/primer-rjsf` and checked by the runtime against the same schema.
|
|
506
|
+
* An application's settings are one (`interface.settings`), as a Form block's
|
|
507
|
+
* schema is.
|
|
508
|
+
*/
|
|
509
|
+
export type AppFormSchema = {
|
|
510
|
+
type: 'object';
|
|
511
|
+
properties: Record<string, AppFormField>;
|
|
512
|
+
required?: string[];
|
|
513
|
+
[keyword: string]: unknown;
|
|
514
|
+
};
|
|
497
515
|
/** The component tree a user meets, over the approved catalog (A2UI). */
|
|
498
516
|
export interface AppSurfaceSpec {
|
|
499
517
|
protocol: string;
|
|
@@ -532,7 +550,11 @@ export interface AppInterfaceSpec {
|
|
|
532
550
|
commands: AppCommandSpec[];
|
|
533
551
|
/** Mode switches in the composer, the option picked going with every run (P-19). */
|
|
534
552
|
modes: AppModeSpec[];
|
|
535
|
-
|
|
553
|
+
/**
|
|
554
|
+
* What a person may set: the JSON Schema of a form (C-16), drawn beside the
|
|
555
|
+
* conversation and on a deployment's Ship card; none when unsaid.
|
|
556
|
+
*/
|
|
557
|
+
settings?: AppFormSchema;
|
|
536
558
|
/** The components of the catalog the surface may use. */
|
|
537
559
|
components: string[];
|
|
538
560
|
surface?: AppSurfaceSpec;
|
|
@@ -710,6 +732,11 @@ export interface AppSpec {
|
|
|
710
732
|
/** What it names that is not enabled today, in sentences. */
|
|
711
733
|
setup: string[];
|
|
712
734
|
enabled: boolean;
|
|
735
|
+
/**
|
|
736
|
+
* Why it is not offered today, in a sentence its page shows: said when
|
|
737
|
+
* `enabled` is false, and only then (empty otherwise).
|
|
738
|
+
*/
|
|
739
|
+
unavailable_because: string;
|
|
713
740
|
tags: string[];
|
|
714
741
|
icon?: string;
|
|
715
742
|
/** Its face: one emoji, shown wherever the application appears. */
|
package/package.json
CHANGED