@datalayer/agent-runtimes 1.3.79 → 1.3.81

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 (43) hide show
  1. package/lib/chat/assistant/AssistantStage.d.ts +9 -4
  2. package/lib/chat/assistant/AssistantStage.js +18 -6
  3. package/lib/chat/assistant/SpriteCharacter.d.ts +25 -3
  4. package/lib/chat/assistant/SpriteCharacter.js +68 -3
  5. package/lib/chat/assistant/formats/acf.d.ts +56 -0
  6. package/lib/chat/assistant/formats/acf.js +317 -0
  7. package/lib/chat/assistant/formats/acs.d.ts +85 -7
  8. package/lib/chat/assistant/formats/acs.js +111 -39
  9. package/lib/chat/assistant/formats/files.d.ts +6 -2
  10. package/lib/chat/assistant/formats/files.js +18 -4
  11. package/lib/chat/assistant/formats/index.d.ts +6 -3
  12. package/lib/chat/assistant/formats/index.js +4 -2
  13. package/lib/chat/assistant/formats/types.d.ts +14 -0
  14. package/lib/chat/assistant/state.d.ts +2 -0
  15. package/lib/chat/assistant/state.js +9 -0
  16. package/lib/chat/base/ChatBase.js +7 -0
  17. package/lib/chat/base/loopStep.d.ts +40 -0
  18. package/lib/chat/base/loopStep.js +73 -0
  19. package/lib/loop/apps/appspec.js +32 -2
  20. package/lib/loop/apps/checks.js +53 -0
  21. package/lib/loop/apps/hostTools.d.ts +17 -0
  22. package/lib/loop/apps/hostTools.js +20 -0
  23. package/lib/loop/apps/rules.d.ts +22 -1
  24. package/lib/loop/apps/rules.js +49 -1
  25. package/lib/loop/embed/AppEmbed.d.ts +57 -2
  26. package/lib/loop/embed/AppEmbed.js +71 -8
  27. package/lib/loop/embed/element.js +40 -1
  28. package/lib/loop/embed/hostBridge.d.ts +79 -0
  29. package/lib/loop/embed/hostBridge.js +104 -0
  30. package/lib/loop/index.d.ts +2 -1
  31. package/lib/loop/index.js +3 -1
  32. package/lib/loop/plugins/a2ui-surface/SurfaceToolResult.d.ts +5 -2
  33. package/lib/loop/plugins/a2ui-surface/SurfaceToolResult.js +7 -1
  34. package/lib/loop/plugins/a2ui-surface/index.d.ts +1 -1
  35. package/lib/loop/plugins/a2ui-surface/index.js +4 -4
  36. package/lib/loop/plugins/a2ui-surface/toolResult.d.ts +27 -0
  37. package/lib/loop/plugins/a2ui-surface/toolResult.js +22 -0
  38. package/lib/specs/agents/agents.js +6 -25
  39. package/lib/specs/apps.js +22 -8
  40. package/lib/specs/appspecSchema.js +67 -0
  41. package/lib/types/agentspecs.d.ts +28 -0
  42. package/package.json +1 -1
  43. package/scripts/codegen/generate_apps.py +7 -0
@@ -538,14 +538,42 @@ export interface AppChecksSpec {
538
538
  gates: string[];
539
539
  track: string;
540
540
  }
541
+ /** A function of the host page the application's agent may call (LOOP D-10). */
542
+ export interface AppHostFunctionSpec {
543
+ /** Lower-case words joined by `_`: called as the tool `host_<name>`. */
544
+ name: string;
545
+ /** What it does, for the agent: when to call it. */
546
+ description: string;
547
+ /** Its arguments, a JSON Schema of `type: object`. */
548
+ parameters: Record<string, unknown>;
549
+ }
550
+ /**
551
+ * What the host page and an embedded application say to each other (LOOP
552
+ * D-10): the host's values it reads (`user`, `page`, or the host's own),
553
+ * through the tool `host_context`, and the host's functions it may call,
554
+ * each through `host_<name>` — every one of them decided by a rule that
555
+ * names it.
556
+ */
557
+ export interface AppHostBridgeSpec {
558
+ context: string[];
559
+ functions: AppHostFunctionSpec[];
560
+ }
541
561
  export interface AppDeploymentSpec {
542
562
  hosted?: {
543
563
  visibility: 'private' | 'invited' | 'organization' | 'link' | 'public';
544
564
  slug: string;
565
+ /**
566
+ * At its address, only its character (LOOP T-21): the conversation
567
+ * opens in its balloon, as when it is shipped as `assistant`. Off
568
+ * unless said.
569
+ */
570
+ characterAlone?: boolean;
545
571
  };
546
572
  embedded?: {
547
573
  mode: AppEmbedMode;
548
574
  origins: string[];
575
+ /** What the host page passes it and the functions of the host it may call (LOOP D-10). */
576
+ host?: AppHostBridgeSpec;
549
577
  };
550
578
  }
551
579
  /** What starts a worker's work. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datalayer/agent-runtimes",
3
- "version": "1.3.79",
3
+ "version": "1.3.81",
4
4
  "type": "module",
5
5
  "workspaces": [
6
6
  ".",
@@ -53,6 +53,7 @@ CAMEL = {
53
53
  "min_confidence": "minConfidence",
54
54
  "decision_model": "decisionModel",
55
55
  "backend_tools": "backendTools",
56
+ "character_alone": "characterAlone",
56
57
  }
57
58
 
58
59
  #: The keys whose value is carried as it is written: a component tree, weights by name.
@@ -90,6 +91,12 @@ def load_specs(specs_dir: Path) -> tuple[list[dict[str, Any]], dict[str, Any]]:
90
91
  spec["interface"]["layout"] = app.layout.value
91
92
  spec["record"]["retention_days"] = app.record.retention_days
92
93
  spec["setup"] = apps_module.app_setup(app)
94
+ # What TypeScript reads only when it is said: off, or none.
95
+ deployment = spec.get("deployment") or {}
96
+ if (deployment.get("hosted") or {}).get("character_alone") is False:
97
+ del deployment["hosted"]["character_alone"]
98
+ if deployment.get("embedded") and deployment["embedded"].get("host") is None:
99
+ del deployment["embedded"]["host"]
93
100
  behaviours[identity] = {
94
101
  tool: behaviour.value
95
102
  for tool, behaviour in sorted(apps_module.tool_behaviours(app).items())