@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.
@@ -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. */
@@ -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 */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datalayer/agent-runtimes",
3
- "version": "1.3.17",
3
+ "version": "1.3.18",
4
4
  "type": "module",
5
5
  "workspaces": [
6
6
  ".",