@datalayer/agent-runtimes 1.3.17 → 1.3.18
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/loop/apps/appspec.js
CHANGED
|
@@ -103,6 +103,8 @@ export function emptyAppspec(kind = 'chat') {
|
|
|
103
103
|
tags: [],
|
|
104
104
|
icon: DEFAULT_ICON,
|
|
105
105
|
emoji: DEFAULT_EMOJI,
|
|
106
|
+
avatar: '',
|
|
107
|
+
banner: '',
|
|
106
108
|
};
|
|
107
109
|
}
|
|
108
110
|
// --- reading --------------------------------------------------------------------------
|
|
@@ -139,6 +141,8 @@ const KNOWN_KEYS = [
|
|
|
139
141
|
'tags',
|
|
140
142
|
'icon',
|
|
141
143
|
'emoji',
|
|
144
|
+
'avatar',
|
|
145
|
+
'banner',
|
|
142
146
|
];
|
|
143
147
|
function parseConnection(data) {
|
|
144
148
|
return {
|
|
@@ -353,6 +357,8 @@ export function parseAppspec(document) {
|
|
|
353
357
|
tags: texts(data.tags),
|
|
354
358
|
icon: text(data.icon, DEFAULT_ICON),
|
|
355
359
|
emoji: text(data.emoji, DEFAULT_EMOJI) || DEFAULT_EMOJI,
|
|
360
|
+
avatar: text(data.avatar).trim(),
|
|
361
|
+
banner: text(data.banner).trim(),
|
|
356
362
|
};
|
|
357
363
|
if (isData(data.decision)) {
|
|
358
364
|
app.decision = parseDecision(data.decision);
|
|
@@ -559,7 +565,9 @@ export function dumpAppspec(app) {
|
|
|
559
565
|
.value('enabled', app.enabled, true)
|
|
560
566
|
.list('tags', app.tags)
|
|
561
567
|
.text('icon', app.icon ?? DEFAULT_ICON, DEFAULT_ICON)
|
|
562
|
-
.text('emoji', app.emoji, DEFAULT_EMOJI)
|
|
568
|
+
.text('emoji', app.emoji, DEFAULT_EMOJI)
|
|
569
|
+
.text('avatar', app.avatar ?? '', '')
|
|
570
|
+
.text('banner', app.banner ?? '', '');
|
|
563
571
|
return writer.data;
|
|
564
572
|
}
|
|
565
573
|
/** The keys of a document in the order they are written. */
|
package/lib/loop/apps/checks.js
CHANGED
|
@@ -408,9 +408,18 @@ export function documentShapeProblems(document) {
|
|
|
408
408
|
'memory',
|
|
409
409
|
'emoji',
|
|
410
410
|
'icon',
|
|
411
|
+
'avatar',
|
|
412
|
+
'banner',
|
|
411
413
|
]) {
|
|
412
414
|
text(d[key], key);
|
|
413
415
|
}
|
|
416
|
+
// A drawing is named as it is in the profile's sets, `AstronautIcon`.
|
|
417
|
+
for (const key of ['avatar', 'banner']) {
|
|
418
|
+
const name = typeof d[key] === 'string' ? d[key].trim() : '';
|
|
419
|
+
if (name && !/^[A-Z][A-Za-z0-9]{0,63}$/.test(name)) {
|
|
420
|
+
at(key, 'is named as its drawing is, `AstronautIcon`');
|
|
421
|
+
}
|
|
422
|
+
}
|
|
414
423
|
for (const key of [
|
|
415
424
|
'skills',
|
|
416
425
|
'tools',
|
package/lib/specs/apps.js
CHANGED
|
@@ -154,6 +154,8 @@ export const INBOX_TRIAGE_APP_0_0_1 = {
|
|
|
154
154
|
tags: ['example', 'worker', 'mail'],
|
|
155
155
|
icon: 'mail',
|
|
156
156
|
emoji: '📬',
|
|
157
|
+
avatar: '',
|
|
158
|
+
banner: '',
|
|
157
159
|
setup: [
|
|
158
160
|
"The agent 'worker-mail-triage:0.0.1' is not enabled.",
|
|
159
161
|
"The MCP server 'google-workspace:0.0.1' is not enabled.",
|
|
@@ -342,6 +344,8 @@ export const QUOTE_CALCULATOR_APP_0_0_1 = {
|
|
|
342
344
|
tags: ['example', 'widget'],
|
|
343
345
|
icon: 'number',
|
|
344
346
|
emoji: '🧮',
|
|
347
|
+
avatar: '',
|
|
348
|
+
banner: '',
|
|
345
349
|
setup: ["The agent 'jupyter-data-analyst:0.0.1' is not enabled."],
|
|
346
350
|
};
|
|
347
351
|
export const SHIP_OR_FIX_APP_0_0_1 = {
|
|
@@ -497,6 +501,8 @@ export const SHIP_OR_FIX_APP_0_0_1 = {
|
|
|
497
501
|
tags: ['example', 'decision', 'benchmarks'],
|
|
498
502
|
icon: 'checklist',
|
|
499
503
|
emoji: '🚢',
|
|
504
|
+
avatar: '',
|
|
505
|
+
banner: '',
|
|
500
506
|
setup: ["The agent 'jupyter-data-analyst:0.0.1' is not enabled."],
|
|
501
507
|
};
|
|
502
508
|
export const WEB_RESEARCH_APP_0_0_1 = {
|
|
@@ -603,6 +609,8 @@ export const WEB_RESEARCH_APP_0_0_1 = {
|
|
|
603
609
|
tags: ['example', 'research'],
|
|
604
610
|
icon: 'search',
|
|
605
611
|
emoji: '🔎',
|
|
612
|
+
avatar: '',
|
|
613
|
+
banner: '',
|
|
606
614
|
setup: [],
|
|
607
615
|
};
|
|
608
616
|
export const APP_CATALOGUE = {
|
|
@@ -524,6 +524,13 @@ export interface AppSpec {
|
|
|
524
524
|
icon?: string;
|
|
525
525
|
/** Its face: one emoji, shown wherever the application appears. */
|
|
526
526
|
emoji: string;
|
|
527
|
+
/**
|
|
528
|
+
* Its avatar, by name: a drawing of the set people choose theirs from on
|
|
529
|
+
* their profile. Empty, its emoji stands for it.
|
|
530
|
+
*/
|
|
531
|
+
avatar: string;
|
|
532
|
+
/** Its banner, by name, from the same profile's set. Empty, its id seeds one. */
|
|
533
|
+
banner: string;
|
|
527
534
|
}
|
|
528
535
|
export interface Agentspec {
|
|
529
536
|
/** Unique agent identifier */
|