@datalayer/agent-runtimes 1.3.27 → 1.3.29

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.
Files changed (58) hide show
  1. package/lib/chat/ChatFloating.d.ts +12 -2
  2. package/lib/chat/ChatFloating.js +196 -25
  3. package/lib/chat/assistant/AssistantStage.d.ts +70 -0
  4. package/lib/chat/assistant/AssistantStage.js +192 -0
  5. package/lib/chat/assistant/SpeechBalloon.d.ts +26 -0
  6. package/lib/chat/assistant/SpeechBalloon.js +46 -0
  7. package/lib/chat/assistant/SpriteCharacter.d.ts +26 -0
  8. package/lib/chat/assistant/SpriteCharacter.js +73 -0
  9. package/lib/chat/assistant/characters.d.ts +30 -0
  10. package/lib/chat/assistant/characters.js +41 -0
  11. package/lib/chat/assistant/formats/acs.d.ts +88 -0
  12. package/lib/chat/assistant/formats/acs.js +493 -0
  13. package/lib/chat/assistant/formats/agentCompression.d.ts +5 -0
  14. package/lib/chat/assistant/formats/agentCompression.js +92 -0
  15. package/lib/chat/assistant/formats/blobs.d.ts +6 -0
  16. package/lib/chat/assistant/formats/blobs.js +52 -0
  17. package/lib/chat/assistant/formats/clippy.d.ts +21 -0
  18. package/lib/chat/assistant/formats/clippy.js +167 -0
  19. package/lib/chat/assistant/formats/index.d.ts +13 -0
  20. package/lib/chat/assistant/formats/index.js +15 -0
  21. package/lib/chat/assistant/formats/objectLiteral.d.ts +23 -0
  22. package/lib/chat/assistant/formats/objectLiteral.js +233 -0
  23. package/lib/chat/assistant/formats/stateAnimations.d.ts +16 -0
  24. package/lib/chat/assistant/formats/stateAnimations.js +115 -0
  25. package/lib/chat/assistant/formats/types.d.ts +56 -0
  26. package/lib/chat/assistant/formats/types.js +11 -0
  27. package/lib/chat/assistant/state.d.ts +62 -0
  28. package/lib/chat/assistant/state.js +116 -0
  29. package/lib/chat/header/ChatViewModeToggle.js +6 -3
  30. package/lib/chat/presence/Presence.d.ts +9 -0
  31. package/lib/chat/presence/Presence.js +57 -0
  32. package/lib/chat/presence/presenceStatus.d.ts +32 -0
  33. package/lib/chat/presence/presenceStatus.js +46 -0
  34. package/lib/chat/viewModes.d.ts +6 -0
  35. package/lib/chat/viewModes.js +10 -1
  36. package/lib/examples/ChatAssistantExample.d.ts +8 -0
  37. package/lib/examples/ChatAssistantExample.js +59 -0
  38. package/lib/examples/example-selector.js +1 -0
  39. package/lib/examples/main.js +3 -0
  40. package/lib/loop/apps/AppRenderer.d.ts +8 -1
  41. package/lib/loop/apps/AppRenderer.js +2 -1
  42. package/lib/loop/apps/appspec.d.ts +5 -1
  43. package/lib/loop/apps/appspec.js +21 -1
  44. package/lib/loop/apps/checks.js +3 -1
  45. package/lib/loop/core/index.d.ts +15 -0
  46. package/lib/loop/core/index.js +1 -0
  47. package/lib/loop/plugins/assistant-characters/index.d.ts +30 -0
  48. package/lib/loop/plugins/assistant-characters/index.js +41 -0
  49. package/lib/loop/plugins/chat/ChatView.js +21 -1
  50. package/lib/loop/plugins/chat/index.d.ts +8 -0
  51. package/lib/loop/plugins/page-layout/index.js +5 -1
  52. package/lib/specs/actions.js +6 -0
  53. package/lib/specs/apps.d.ts +3 -0
  54. package/lib/specs/apps.js +793 -65
  55. package/lib/specs/appspecSchema.js +20 -2
  56. package/lib/types/agentspecs.d.ts +10 -1
  57. package/lib/types/chat.d.ts +1 -1
  58. package/package.json +1 -1
@@ -311,6 +311,18 @@ export const APPSPEC_SCHEMA = {
311
311
  default: null,
312
312
  description: 'The component tree, when there is one',
313
313
  },
314
+ assistant: {
315
+ anyOf: [
316
+ {
317
+ $ref: '#/$defs/AssistantCharacter',
318
+ },
319
+ {
320
+ type: 'null',
321
+ },
322
+ ],
323
+ default: null,
324
+ description: 'The character its floating assistant shows: `paperclip`, `wizard`, `cat` or `eyes`. The paper clip when unsaid; a person may choose another in their settings',
325
+ },
314
326
  },
315
327
  title: 'AppInterface',
316
328
  type: 'object',
@@ -659,6 +671,12 @@ export const APPSPEC_SCHEMA = {
659
671
  title: 'AppTrigger',
660
672
  type: 'object',
661
673
  },
674
+ AssistantCharacter: {
675
+ description: "The character an application's floating assistant shows (LOOP T-24):\none of those a UI plugin contributes. Datalayer's are these four.",
676
+ enum: ['paperclip', 'wizard', 'cat', 'eyes'],
677
+ title: 'AssistantCharacter',
678
+ type: 'string',
679
+ },
662
680
  Behaviour: {
663
681
  description: 'What an application does when it meets an action: the four a person chooses from.',
664
682
  enum: ['do_it', 'if_asked', 'ask_first', 'leave_to_me'],
@@ -673,7 +691,7 @@ export const APPSPEC_SCHEMA = {
673
691
  },
674
692
  EmbedMode: {
675
693
  description: "How an application sits in another product's page.",
676
- enum: ['inline', 'bubble', 'panel'],
694
+ enum: ['inline', 'bubble', 'panel', 'assistant'],
677
695
  title: 'EmbedMode',
678
696
  type: 'string',
679
697
  },
@@ -684,7 +702,7 @@ export const APPSPEC_SCHEMA = {
684
702
  mode: {
685
703
  $ref: '#/$defs/EmbedMode',
686
704
  default: 'inline',
687
- description: '`inline`, `bubble` or `panel`',
705
+ description: '`inline`, `bubble`, `panel` or `assistant`',
688
706
  },
689
707
  origins: {
690
708
  description: 'The origins allowed to embed it',
@@ -377,6 +377,13 @@ export type AppBehaviour = 'do_it' | 'if_asked' | 'ask_first' | 'leave_to_me';
377
377
  export type AppLayout = 'chat' | 'page' | 'split';
378
378
  /** The one colour of an application; everything else is neutral. */
379
379
  export type AppAccent = 'green' | 'rose' | 'sky' | 'lime' | 'sun' | 'violet';
380
+ /**
381
+ * The character an application's floating assistant shows (LOOP T-24): one of
382
+ * those Datalayer's plugin contributes.
383
+ */
384
+ export type AppAssistantCharacter = 'paperclip' | 'wizard' | 'cat' | 'eyes';
385
+ /** How an application sits in another product's page (LOOP D-07). */
386
+ export type AppEmbedMode = 'inline' | 'bubble' | 'panel' | 'assistant';
380
387
  /** Something an application reaches. */
381
388
  export interface AppConnectionSpec {
382
389
  /** An MCP server, `id` or `id:version`. */
@@ -443,6 +450,8 @@ export interface AppInterfaceSpec {
443
450
  /** The components of the catalog the surface may use. */
444
451
  components: string[];
445
452
  surface?: AppSurfaceSpec;
453
+ /** The character its floating assistant shows; the paper clip when unsaid. */
454
+ assistant?: AppAssistantCharacter;
446
455
  }
447
456
  export interface AppTestCaseSpec {
448
457
  ask: string;
@@ -474,7 +483,7 @@ export interface AppDeploymentSpec {
474
483
  slug: string;
475
484
  };
476
485
  embedded?: {
477
- mode: 'inline' | 'bubble' | 'panel';
486
+ mode: AppEmbedMode;
478
487
  origins: string[];
479
488
  };
480
489
  }
@@ -66,7 +66,7 @@ export interface ToolCallCompleteContext {
66
66
  * - 'floating-draggable': The popup with a handle, movable anywhere in the viewport
67
67
  * - 'sidebar': Docked sidebar panel — offered only where the host has a mount point for it
68
68
  */
69
- export type ChatViewMode = 'floating' | 'floating-small' | 'floating-draggable' | 'sidebar';
69
+ export type ChatViewMode = 'floating' | 'floating-small' | 'floating-draggable' | 'assistant' | 'sidebar';
70
70
  /**
71
71
  * Companion "ephemeral surface" shown next to the chat.
72
72
  * - 'none': chat only, no companion surface
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datalayer/agent-runtimes",
3
- "version": "1.3.27",
3
+ "version": "1.3.29",
4
4
  "type": "module",
5
5
  "workspaces": [
6
6
  ".",