@datalayer/agent-runtimes 1.5.51 → 1.5.53
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/dist-embed/chunks/{ChatView-Dy-IgGFL.js → ChatView-CRp8Mt57.js} +4 -4
- package/dist-embed/datalayer-app-main.js +86 -86
- package/lib/api/runtimes/environments.d.ts +2 -2
- package/lib/api/runtimes/environments.js +5 -5
- package/lib/api/runtimes/runtimes.d.ts +7 -7
- package/lib/api/runtimes/runtimes.js +5 -5
- package/lib/apps/__tests__/fixtures/sceneCheckCases.json +1 -1
- package/lib/apps/apps/AppBrowserSandbox.js +1 -1
- package/lib/apps/apps/AppComposer.d.ts +3 -3
- package/lib/apps/apps/AppComposer.js +3 -3
- package/lib/apps/apps/AppFeedback.d.ts +1 -1
- package/lib/apps/apps/AppKept.d.ts +1 -1
- package/lib/apps/apps/AppKept.js +1 -1
- package/lib/apps/apps/AppRenderer.d.ts +14 -14
- package/lib/apps/apps/AppRenderer.js +18 -20
- package/lib/apps/apps/AppRuntimePlugins.js +2 -3
- package/lib/apps/apps/agent.js +1 -1
- package/lib/apps/apps/appspec.d.ts +10 -10
- package/lib/apps/apps/appspec.js +35 -35
- package/lib/apps/apps/browserSandbox.d.ts +1 -1
- package/lib/apps/apps/checks.d.ts +16 -7
- package/lib/apps/apps/checks.js +65 -21
- package/lib/apps/apps/composer.d.ts +2 -2
- package/lib/apps/apps/composer.js +1 -1
- package/lib/apps/apps/computer.d.ts +3 -3
- package/lib/apps/apps/computer.js +1 -1
- package/lib/apps/apps/customComponents.d.ts +2 -2
- package/lib/apps/apps/customComponents.js +3 -3
- package/lib/apps/apps/feedback.d.ts +2 -2
- package/lib/apps/apps/hostTools.d.ts +3 -3
- package/lib/apps/apps/hostTools.js +2 -2
- package/lib/apps/apps/kept.d.ts +1 -1
- package/lib/apps/apps/language.d.ts +1 -1
- package/lib/apps/apps/pluginPair.d.ts +1 -1
- package/lib/apps/apps/records.js +1 -1
- package/lib/apps/apps/rules.d.ts +2 -2
- package/lib/apps/apps/rules.js +2 -2
- package/lib/apps/apps/saved.d.ts +1 -1
- package/lib/apps/apps/saved.js +1 -1
- package/lib/apps/apps/sceneChecks.js +3 -3
- package/lib/apps/apps/sceneYaml.js +1 -1
- package/lib/apps/apps/sessionRules.d.ts +7 -8
- package/lib/apps/apps/sessionRules.js +6 -7
- package/lib/apps/apps/settingsInputs.d.ts +1 -1
- package/lib/apps/apps/settingsInputs.js +1 -1
- package/lib/apps/apps/threads.d.ts +2 -2
- package/lib/apps/apps/threads.js +1 -1
- package/lib/apps/apps/uploads.d.ts +1 -1
- package/lib/apps/apps/visitorToken.d.ts +1 -1
- package/lib/apps/apps/visitorToken.js +2 -2
- package/lib/apps/core/a2uiComponents.js +1 -2
- package/lib/apps/core/appFiles.js +1 -1
- package/lib/apps/core/canvasBlocks.d.ts +1 -1
- package/lib/apps/core/canvasBlocks.js +1 -1
- package/lib/apps/core/canvasParts.d.ts +3 -3
- package/lib/apps/core/canvasParts.js +1 -1
- package/lib/apps/core/index.d.ts +12 -13
- package/lib/apps/core/index.js +5 -6
- package/lib/apps/embed/AppEmbed.d.ts +9 -9
- package/lib/apps/embed/AppEmbed.js +9 -10
- package/lib/apps/embed/LoopEmbed.d.ts +2 -3
- package/lib/apps/embed/datalayer-app.js +1 -1
- package/lib/apps/embed/element.js +11 -11
- package/lib/apps/embed/embedConfig.d.ts +8 -10
- package/lib/apps/embed/embedConfig.js +6 -7
- package/lib/apps/embed/embedSession.d.ts +3 -3
- package/lib/apps/embed/embedSession.js +2 -2
- package/lib/apps/embed/embeddedSecrets.d.ts +1 -1
- package/lib/apps/embed/embeddedSecrets.js +1 -1
- package/lib/apps/embed/hostBridge.d.ts +14 -14
- package/lib/apps/embed/hostBridge.js +9 -9
- package/lib/apps/embed/loader.js +2 -2
- package/lib/apps/embed/visitorApp.d.ts +1 -1
- package/lib/apps/index.d.ts +1 -1
- package/lib/apps/index.js +3 -3
- package/lib/apps/plugins/a2ui/A2uiView.js +1 -1
- package/lib/apps/plugins/a2ui-surface/AnswerShows.d.ts +2 -2
- package/lib/apps/plugins/a2ui-surface/AnswerShows.js +1 -1
- package/lib/apps/plugins/a2ui-surface/InlineSurface.d.ts +1 -1
- package/lib/apps/plugins/a2ui-surface/SurfaceToolResult.js +2 -2
- package/lib/apps/plugins/a2ui-surface/index.js +1 -1
- package/lib/apps/plugins/a2ui-surface/ownComponents.js +1 -1
- package/lib/apps/plugins/a2ui-surface/toolResult.d.ts +2 -2
- package/lib/apps/plugins/a2ui-surface/toolResult.js +2 -2
- package/lib/apps/plugins/agent-capacity/index.d.ts +2 -2
- package/lib/apps/plugins/agents/DatalayerAgentBridge.js +4 -4
- package/lib/apps/plugins/agents/appLaunch.d.ts +1 -1
- package/lib/apps/plugins/agents/plugin.d.ts +4 -4
- package/lib/apps/plugins/agents/switchable.js +1 -1
- package/lib/apps/plugins/app-activity/AppActivity.d.ts +1 -1
- package/lib/apps/plugins/app-components/index.d.ts +1 -2
- package/lib/apps/plugins/app-components/index.js +1 -2
- package/lib/apps/plugins/app-computer/AppComputer.d.ts +1 -1
- package/lib/apps/plugins/app-computer/AppComputer.js +2 -2
- package/lib/apps/plugins/app-elements/AppElements.d.ts +1 -2
- package/lib/apps/plugins/app-elements/AppElements.js +1 -1
- package/lib/apps/plugins/app-elements/QuestionView.d.ts +1 -2
- package/lib/apps/plugins/app-elements/QuestionView.js +1 -1
- package/lib/apps/plugins/app-elements/index.d.ts +2 -2
- package/lib/apps/plugins/app-elements/index.js +2 -2
- package/lib/apps/plugins/app-page/AppPage.d.ts +3 -3
- package/lib/apps/plugins/app-page/appPageModel.d.ts +5 -5
- package/lib/apps/plugins/app-page/appPageModel.js +1 -1
- package/lib/apps/plugins/app-page/index.d.ts +3 -3
- package/lib/apps/plugins/app-page/index.js +1 -1
- package/lib/apps/plugins/app-page/pageRun.d.ts +2 -2
- package/lib/apps/plugins/app-page/pageRun.js +2 -2
- package/lib/apps/plugins/app-rules/AppRulesCard.d.ts +5 -5
- package/lib/apps/plugins/app-rules/AppRulesCard.js +4 -4
- package/lib/apps/plugins/assistant/index.d.ts +2 -2
- package/lib/apps/plugins/assistant-characters/index.d.ts +2 -2
- package/lib/apps/plugins/assistant-characters/index.js +2 -2
- package/lib/apps/plugins/canvas-blocks/index.d.ts +1 -1
- package/lib/apps/plugins/canvas-blocks/index.js +1 -1
- package/lib/apps/plugins/canvas-parts/index.d.ts +5 -5
- package/lib/apps/plugins/canvas-parts/index.js +5 -5
- package/lib/apps/plugins/chat/ChatView.js +36 -34
- package/lib/apps/plugins/chat/index.d.ts +8 -8
- package/lib/apps/plugins/document/DocumentView.js +2 -2
- package/lib/apps/plugins/notebook/NotebookView.js +1 -1
- package/lib/apps/plugins/page-layout/SplitLayout.d.ts +1 -1
- package/lib/apps/plugins/pap-sign-in/PapSignInCard.d.ts +1 -1
- package/lib/apps/plugins/pap-sign-in/PapSignInCard.js +1 -1
- package/lib/apps/plugins/pap-sign-in/index.js +1 -1
- package/lib/apps/plugins/pap-sign-in/signIn.d.ts +1 -1
- package/lib/apps/plugins/pap-sign-in/signIn.js +1 -1
- package/lib/apps/plugins/plugins-panel/index.d.ts +1 -1
- package/lib/apps/plugins/plugins-panel/index.js +1 -1
- package/lib/apps/plugins/shield-displays/DiffCard.d.ts +2 -2
- package/lib/apps/plugins/shield-displays/TerminalCard.d.ts +1 -1
- package/lib/apps/plugins/shield-displays/index.js +3 -3
- package/lib/apps/presets.d.ts +9 -9
- package/lib/apps/presets.js +3 -3
- package/lib/apps/shell/LoopWorkspace.d.ts +1 -1
- package/lib/apps/shell/LoopWorkspace.js +1 -1
- package/lib/apps/shell/PluginToggles.d.ts +1 -1
- package/lib/apps/shell/SidebarRail.d.ts +1 -1
- package/lib/apps/shell/paneMotion.d.ts +1 -1
- package/lib/apps/shell/paneMotion.js +1 -1
- package/lib/chat/ChatFloating.d.ts +8 -9
- package/lib/chat/ChatFloating.js +4 -4
- package/lib/chat/ChatInline.js +1 -1
- package/lib/chat/ChatLanguage.d.ts +1 -1
- package/lib/chat/ChatLanguage.js +1 -1
- package/lib/chat/assistant/AssistantContextMenu.d.ts +1 -1
- package/lib/chat/assistant/AssistantStage.d.ts +4 -4
- package/lib/chat/assistant/AssistantStage.js +1 -1
- package/lib/chat/assistant/BalloonParts.d.ts +1 -1
- package/lib/chat/assistant/BalloonVisual.d.ts +1 -1
- package/lib/chat/assistant/SpeechBalloon.d.ts +2 -2
- package/lib/chat/assistant/SpriteCharacter.d.ts +1 -1
- package/lib/chat/assistant/characters.d.ts +2 -2
- package/lib/chat/assistant/formats/acf.js +1 -1
- package/lib/chat/assistant/formats/files.js +1 -1
- package/lib/chat/assistant/formats/index.d.ts +1 -1
- package/lib/chat/assistant/formats/index.js +1 -1
- package/lib/chat/assistant/formats/types.d.ts +1 -1
- package/lib/chat/assistant/state.d.ts +2 -2
- package/lib/chat/assistant/toolLine.js +1 -1
- package/lib/chat/base/ChatBase.js +28 -20
- package/lib/chat/base/conversationItems.d.ts +3 -3
- package/lib/chat/base/loopElement.d.ts +2 -2
- package/lib/chat/base/loopStep.d.ts +3 -3
- package/lib/chat/base/loopStep.js +1 -1
- package/lib/chat/base/loopWindow.d.ts +3 -3
- package/lib/chat/base/loopWindow.js +3 -3
- package/lib/chat/base/uiFiles.d.ts +1 -1
- package/lib/chat/base/uiFiles.js +1 -1
- package/lib/chat/base/uiOps.d.ts +1 -1
- package/lib/chat/base/uiOps.js +1 -1
- package/lib/chat/index.js +1 -1
- package/lib/chat/indicators/McpStatusIndicator.js +1 -1
- package/lib/chat/indicators/SkillsStatusIndicator.js +1 -1
- package/lib/chat/messages/ChatMessageList.d.ts +3 -4
- package/lib/chat/messages/ChatMessageList.js +2 -2
- package/lib/chat/messages/markdownWithoutHtml.d.ts +1 -1
- package/lib/chat/messages/markdownWithoutHtml.js +1 -1
- package/lib/chat/presence/Presence.d.ts +2 -2
- package/lib/chat/presence/Presence.js +1 -1
- package/lib/chat/presence/presenceStatus.d.ts +2 -2
- package/lib/chat/presence/presenceStatus.js +2 -2
- package/lib/chat/prompt/InputPrompt.d.ts +3 -3
- package/lib/chat/prompt/InputPromptBase.d.ts +1 -1
- package/lib/chat/prompt/InputPromptBase.js +1 -1
- package/lib/chat/prompt/InputPromptLexical.d.ts +1 -1
- package/lib/chat/styles/streamdownStyles.js +1 -1
- package/lib/chat/useViewportDrag.d.ts +1 -1
- package/lib/chat/viewModes.d.ts +1 -1
- package/lib/chat/viewModes.js +2 -2
- package/lib/chat/words.js +1 -1
- package/lib/client/mixins/RuntimesMixin.d.ts +3 -3
- package/lib/client/mixins/RuntimesMixin.js +3 -3
- package/lib/components/a2ui/custom/index.d.ts +3 -3
- package/lib/components/a2ui/custom/index.js +1 -1
- package/lib/components/a2ui/custom/sandbox.d.ts +2 -2
- package/lib/components/a2ui/custom/sandbox.js +2 -2
- package/lib/components/a2ui/datalayer/Chart.js +2 -2
- package/lib/components/a2ui/datalayer/Chat.js +1 -1
- package/lib/components/a2ui/datalayer/Download.js +1 -1
- package/lib/components/a2ui/datalayer/Evidence.js +1 -1
- package/lib/components/a2ui/datalayer/FileUpload.d.ts +1 -1
- package/lib/components/a2ui/datalayer/FileUpload.js +2 -2
- package/lib/components/a2ui/datalayer/Form.js +2 -2
- package/lib/components/a2ui/datalayer/SchemaForm.d.ts +1 -1
- package/lib/components/a2ui/datalayer/Table.js +1 -1
- package/lib/components/a2ui/datalayer/drawn.d.ts +1 -1
- package/lib/components/a2ui/datalayer/drawn.js +1 -1
- package/lib/components/a2ui/datalayer/formWidgets.js +1 -1
- package/lib/components/a2ui/datalayer/index.d.ts +1 -1
- package/lib/components/a2ui/datalayer/schema.d.ts +2 -2
- package/lib/components/a2ui/datalayer/schema.js +2 -2
- package/lib/components/a2ui/styles.js +1 -1
- package/lib/components/a2ui/visibleWhen.d.ts +3 -3
- package/lib/components/a2ui/visibleWhen.js +3 -3
- package/lib/components/code-sandboxes/CodeSandboxEnvironmentSelect.d.ts +1 -1
- package/lib/components/code-sandboxes/CodeSandboxLauncher.js +1 -1
- package/lib/components/code-sandboxes/CodeSandboxUtils.d.ts +1 -1
- package/lib/components/code-sandboxes/codeSandboxEnvironments.d.ts +2 -2
- package/lib/components/inspector/a2aSpans.d.ts +1 -1
- package/lib/components/inspector/a2aSpans.js +1 -1
- package/lib/components/teams/A2ATeamGraph.d.ts +3 -3
- package/lib/components/teams/A2ATeamGraph.js +1 -3
- package/lib/components/teams/AnswerSurfaces.d.ts +1 -1
- package/lib/components/teams/NotebookPreview.d.ts +1 -1
- package/lib/components/teams/SceneTranscript.d.ts +1 -1
- package/lib/components/teams/SceneView.d.ts +1 -1
- package/lib/components/teams/a2aTeamFlow.d.ts +1 -1
- package/lib/components/teams/a2aTeamFlow.js +1 -1
- package/lib/components/teams/sceneStage.d.ts +1 -1
- package/lib/components/teams/sceneTranscript.d.ts +1 -1
- package/lib/components/teams/useA2ATeam.d.ts +5 -5
- package/lib/components/teams/useA2ATeam.js +3 -3
- package/lib/config/AgentConfiguration.d.ts +1 -1
- package/lib/examples/AssistantExample.d.ts +1 -1
- package/lib/examples/AssistantExample.js +1 -1
- package/lib/examples/AssistantGalleryExample.d.ts +1 -1
- package/lib/examples/AssistantGalleryExample.js +1 -1
- package/lib/examples/LoopAppComputerExample.d.ts +1 -1
- package/lib/examples/LoopAppComputerExample.js +1 -1
- package/lib/examples/ProtocolSignedRequestsExample.d.ts +1 -1
- package/lib/examples/ProtocolSignedRequestsExample.js +1 -1
- package/lib/examples/ProtocolUcpCheckoutExample.d.ts +1 -1
- package/lib/examples/ProtocolUcpCheckoutExample.js +1 -1
- package/lib/examples/ScenesExample.d.ts +1 -1
- package/lib/examples/ScenesExample.js +1 -1
- package/lib/examples/ShieldHarnessExample.d.ts +1 -1
- package/lib/examples/ShieldHarnessExample.js +1 -1
- package/lib/examples/ShieldPolicyExample.d.ts +1 -1
- package/lib/examples/ShieldPolicyExample.js +1 -1
- package/lib/examples/VoiceChatExample.d.ts +1 -1
- package/lib/examples/VoiceChatExample.js +1 -1
- package/lib/examples/example-selector.js +3 -3
- package/lib/examples/exampleGroups.js +3 -3
- package/lib/examples/pap/PapSignInDisplayView.d.ts +1 -1
- package/lib/examples/pap/PapSignInDisplayView.js +1 -1
- package/lib/examples/pap/papSignInCases.js +1 -1
- package/lib/examples/protocols/signedRequestsDemo.d.ts +1 -1
- package/lib/examples/protocols/signedRequestsDemo.js +1 -1
- package/lib/examples/protocols/ucpCheckoutDemo.d.ts +1 -1
- package/lib/examples/protocols/ucpCheckoutDemo.js +1 -1
- package/lib/examples/shield/shieldHarness.d.ts +1 -1
- package/lib/examples/shield/shieldPolicyDemo.d.ts +2 -2
- package/lib/examples/shield/shieldPolicyDemo.js +1 -1
- package/lib/examples/utils/assistantGallery.d.ts +1 -1
- package/lib/examples/utils/clippyJsCharacters.js +2 -2
- package/lib/examples/utils/testSpriteCharacter.js +2 -2
- package/lib/hooks/ownRoutes.d.ts +1 -1
- package/lib/hooks/useAgentRuntimes.d.ts +1 -1
- package/lib/hooks/useChat.js +1 -1
- package/lib/index.js +1 -1
- package/lib/loop-example-main.js +1 -1
- package/lib/models/Environment.d.ts +11 -11
- package/lib/models/Environment.js +1 -1
- package/lib/models/RuntimeDTO.d.ts +1 -1
- package/lib/portable/activity.d.ts +2 -2
- package/lib/portable/activity.js +3 -3
- package/lib/portable/adapterEvents.d.ts +1 -1
- package/lib/portable/agUiRefusal.d.ts +1 -1
- package/lib/portable/agUiRefusal.js +1 -1
- package/lib/portable/agui.d.ts +2 -2
- package/lib/portable/agui.js +2 -2
- package/lib/portable/approvalCard.d.ts +1 -1
- package/lib/portable/approvalCard.js +1 -1
- package/lib/portable/approvals.d.ts +2 -2
- package/lib/portable/approvals.js +1 -1
- package/lib/portable/conversation.d.ts +2 -2
- package/lib/portable/conversation.js +1 -1
- package/lib/portable/direct.d.ts +2 -2
- package/lib/portable/displays.d.ts +2 -2
- package/lib/portable/displays.js +3 -3
- package/lib/portable/fixtures.d.ts +4 -5
- package/lib/portable/fixtures.js +4 -5
- package/lib/portable/hosts/agentClient.d.ts +5 -12
- package/lib/portable/hosts/agentClient.js +30 -10
- package/lib/portable/hosts/approvalRenderers.d.ts +6 -7
- package/lib/portable/hosts/approvalRenderers.js +2 -3
- package/lib/portable/hosts/client.d.ts +9 -6
- package/lib/portable/hosts/client.js +9 -8
- package/lib/portable/hosts/contracts.d.ts +2 -4
- package/lib/portable/hosts/contracts.js +2 -4
- package/lib/portable/hosts/contracts.json +2 -2
- package/lib/portable/hosts/deadLetters.js +2 -2
- package/lib/portable/hosts/deliveries.d.ts +2 -3
- package/lib/portable/hosts/forbiddenGraph.d.ts +4 -4
- package/lib/portable/hosts/forbiddenGraph.js +4 -4
- package/lib/portable/hosts/health.d.ts +3 -4
- package/lib/portable/hosts/health.js +3 -4
- package/lib/portable/hosts/index.d.ts +1 -1
- package/lib/portable/hosts/index.js +1 -1
- package/lib/portable/hosts/observability.d.ts +1 -1
- package/lib/portable/hosts/observability.js +3 -4
- package/lib/portable/hosts/postgresQueue.d.ts +2 -2
- package/lib/portable/hosts/postgresQueue.js +3 -3
- package/lib/portable/hosts/queue.d.ts +8 -1
- package/lib/portable/hosts/queue.js +17 -1
- package/lib/portable/hosts/quotas.d.ts +2 -2
- package/lib/portable/hosts/quotas.js +2 -2
- package/lib/portable/hosts/rateLimit.d.ts +1 -1
- package/lib/portable/hosts/resolution.d.ts +2 -2
- package/lib/portable/hosts/schema.d.ts +1 -1
- package/lib/portable/hosts/schema.js +1 -1
- package/lib/portable/hosts/secretCipher.d.ts +2 -2
- package/lib/portable/hosts/sessionUid.js +1 -2
- package/lib/portable/hosts/turnState.d.ts +1 -1
- package/lib/portable/index.js +12 -12
- package/lib/portable/lifecycle.d.ts +3 -3
- package/lib/portable/presence.d.ts +3 -3
- package/lib/portable/protectedInput.d.ts +1 -1
- package/lib/portable/records.d.ts +2 -2
- package/lib/portable/records.js +2 -2
- package/lib/portable/runMeasures.d.ts +1 -1
- package/lib/portable/runMeasures.js +1 -1
- package/lib/portable/runtimes.d.ts +1 -1
- package/lib/portable/semantic-events.json +1 -1
- package/lib/portable/semantic.d.ts +1 -1
- package/lib/portable/semantic.js +1 -1
- package/lib/portable/semanticOfAgUi.d.ts +2 -2
- package/lib/portable/semanticOfAgUi.js +1 -1
- package/lib/portable/signIn.d.ts +5 -5
- package/lib/portable/signIn.js +1 -1
- package/lib/portable/signInStatus.d.ts +1 -2
- package/lib/portable/signInStatus.js +1 -2
- package/lib/portable/thread.d.ts +2 -2
- package/lib/portable/thread.js +2 -2
- package/lib/portable/views.d.ts +5 -5
- package/lib/protocols/A2AAdapter.d.ts +1 -1
- package/lib/protocols/A2AAdapter.js +3 -3
- package/lib/protocols/AGUIAdapter.d.ts +1 -1
- package/lib/protocols/AGUIAdapter.js +2 -2
- package/lib/protocols/BrowserAgentAdapter.d.ts +2 -2
- package/lib/protocols/BrowserAgentAdapter.js +1 -1
- package/lib/protocols/VercelAIAdapter.js +2 -2
- package/lib/protocols/a2a/index.d.ts +1 -1
- package/lib/protocols/a2a/index.js +1 -1
- package/lib/protocols/agentProtocols.d.ts +1 -1
- package/lib/protocols/agentProtocols.js +1 -1
- package/lib/protocols/agentic-commerce/index.d.ts +2 -2
- package/lib/protocols/agentic-commerce/index.js +2 -2
- package/lib/protocols/commerce.d.ts +1 -1
- package/lib/protocols/commerce.js +3 -3
- package/lib/protocols/core.d.ts +3 -3
- package/lib/protocols/core.js +2 -2
- package/lib/protocols/mcp/client.js +1 -1
- package/lib/protocols/mcp/index.js +1 -1
- package/lib/protocols/pact/index.d.ts +6 -6
- package/lib/protocols/pact/index.js +6 -6
- package/lib/protocols/ucp/index.d.ts +2 -2
- package/lib/protocols/ucp/index.js +2 -2
- package/lib/protocols/ucp/merchant.js +1 -2
- package/lib/protocols/web-bot-auth/index.d.ts +1 -1
- package/lib/protocols/web-bot-auth/index.js +1 -1
- package/lib/protocols/web-bot-auth/tap.js +1 -1
- package/lib/runtimes/actions.js +2 -2
- package/lib/runtimes/apis.d.ts +3 -4
- package/lib/runtimes/browser/a2aPeer.d.ts +1 -1
- package/lib/runtimes/browser/a2aPeer.js +1 -1
- package/lib/runtimes/browser/protocol.d.ts +1 -1
- package/lib/runtimes/variants.d.ts +3 -3
- package/lib/runtimes/variants.js +4 -4
- package/lib/specs/agents/agents.js +2 -2
- package/lib/specs/apps.js +28 -28
- package/lib/specs/appspecSchema.js +62 -62
- package/lib/specs/harnesses.d.ts +1 -1
- package/lib/specs/harnesses.js +1 -1
- package/lib/specs/policies.d.ts +1 -1
- package/lib/specs/policies.js +2 -2
- package/lib/specs/protocols.d.ts +1 -1
- package/lib/specs/sceneSchema.js +4 -4
- package/lib/specs/scenes.js +4 -4
- package/lib/specs/standards.d.ts +1 -1
- package/lib/specs/ui.d.ts +2 -2
- package/lib/specs/ui.js +1 -1
- package/lib/specs/uiRenderers.d.ts +1 -1
- package/lib/specs/voices.d.ts +2 -2
- package/lib/specs/voices.js +2 -2
- package/lib/stories/loop/ReferenceScreens.js +1 -1
- package/lib/stories/loop/pictures-main.js +2 -2
- package/lib/test-setup.js +1 -1
- package/lib/types/agentspecs.d.ts +81 -85
- package/lib/types/chat.d.ts +26 -13
- package/lib/types/messages.d.ts +1 -1
- package/lib/types/protocol.d.ts +3 -3
- package/lib/types/scenes.d.ts +6 -6
- package/lib/types/teams.d.ts +3 -3
- package/lib/ui-plugins/MCPUIPlugin.d.ts +2 -2
- package/lib/ui-plugins/MCPUIPlugin.js +1 -1
- package/lib/voice/ComposerVoice.d.ts +5 -3
- package/lib/voice/ComposerVoice.js +4 -4
- package/lib/voice/HandsFree.d.ts +9 -3
- package/lib/voice/HandsFree.js +8 -3
- package/lib/voice/ReadAloud.d.ts +1 -1
- package/lib/voice/VoiceInput.d.ts +1 -2
- package/lib/voice/VoiceMenu.d.ts +1 -1
- package/lib/voice/captions.d.ts +1 -1
- package/lib/voice/captions.js +1 -1
- package/lib/voice/capture.d.ts +1 -1
- package/lib/voice/capture.js +1 -1
- package/lib/voice/chatVoice.d.ts +1 -1
- package/lib/voice/chatVoice.js +3 -3
- package/lib/voice/choices.d.ts +2 -2
- package/lib/voice/choices.js +2 -2
- package/lib/voice/consent.js +1 -1
- package/lib/voice/handsFree.d.ts +29 -4
- package/lib/voice/handsFree.js +32 -4
- package/lib/voice/hearing.d.ts +1 -1
- package/lib/voice/hearing.js +1 -1
- package/lib/voice/index.d.ts +2 -2
- package/lib/voice/pinned.d.ts +2 -2
- package/lib/voice/pinned.js +2 -2
- package/lib/voice/sayAloud.d.ts +2 -2
- package/lib/voice/sayAloud.js +2 -2
- package/lib/voice/sentences.d.ts +1 -1
- package/lib/voice/sentences.js +1 -1
- package/lib/voice/serverHearing.d.ts +8 -2
- package/lib/voice/serverHearing.js +37 -6
- package/lib/voice/settings.d.ts +2 -2
- package/lib/voice/settings.js +2 -2
- package/lib/voice/speaker.d.ts +10 -4
- package/lib/voice/speaker.js +5 -2
- package/lib/voice/types.d.ts +1 -1
- package/lib/voice/useSpokenAnswers.js +2 -2
- package/lib/voice/useVoiceSettings.js +1 -1
- package/lib/voice/useVoiceSpeaker.js +1 -1
- package/package.json +2 -2
- package/scripts/codegen/generate_agentic_commerce.sh +1 -1
- package/scripts/codegen/generate_agents.py +5 -5
- package/scripts/codegen/generate_apps.py +3 -3
- package/scripts/codegen/generate_harnesses.py +4 -4
- package/scripts/codegen/generate_mcp_servers.py +2 -2
- package/scripts/codegen/generate_policies.py +3 -3
- package/scripts/codegen/generate_protocols.py +3 -4
- package/scripts/codegen/generate_scenes.py +4 -4
- package/scripts/codegen/generate_standards.py +3 -3
- package/scripts/codegen/generate_teams.py +1 -1
- package/scripts/codegen/generate_ui.py +8 -8
- package/scripts/codegen/generate_ui_renderers.py +3 -3
- package/scripts/codegen/generate_voices.py +4 -4
- package/scripts/dist-embed.mjs +1 -1
- package/scripts/generate-environments-types.py +1 -1
- package/scripts/record-scene-checks.py +2 -2
- package/scripts/voice/measure.py +3 -3
- package/scripts/voice/pin_store.py +1 -1
- package/scripts/voice/serve_store.py +1 -1
- package/scripts/voice/transcribe.mjs +1 -1
package/lib/apps/embed/loader.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* The one script a host writes (
|
|
6
|
+
* The one script a host writes (D-08):
|
|
7
7
|
*
|
|
8
8
|
* <script src="https://datalayer.app/embed/datalayer-app.js" async></script>
|
|
9
9
|
*
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
// ReferenceError unless the global exists, and the module's own body runs
|
|
34
34
|
// after everything it imports, so it is declared here, before the import —
|
|
35
35
|
// without it no application loads (`… did not load (__webpack_public_path__
|
|
36
|
-
// is not defined)`, seen with `loop apps run --web`,
|
|
36
|
+
// is not defined)`, seen with `loop apps run --web`, P-08).
|
|
37
37
|
const globals = window;
|
|
38
38
|
if (globals['__webpack_public_path__'] === undefined) {
|
|
39
39
|
globals['__webpack_public_path__'] = '';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A public application in the element, for a visitor without an account
|
|
3
|
-
* (
|
|
3
|
+
* (D-07, R-30).
|
|
4
4
|
*
|
|
5
5
|
* `<datalayer-app app="…">` with no token names a public application. The
|
|
6
6
|
* element reads what it is without anybody's credentials, as the landing's
|
package/lib/apps/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* The LOOP workspace: contracts, shell, and the plugins that come with it.
|
|
3
3
|
*
|
|
4
4
|
* A host embeds the workspace through this surface — never by deep import — so
|
|
5
|
-
* what is public is a decision rather than an accident of file layout
|
|
5
|
+
* what is public is a decision rather than an accident of file layout.
|
|
6
6
|
*
|
|
7
7
|
* @module apps
|
|
8
8
|
*/
|
package/lib/apps/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* The LOOP workspace: contracts, shell, and the plugins that come with it.
|
|
7
7
|
*
|
|
8
8
|
* A host embeds the workspace through this surface — never by deep import — so
|
|
9
|
-
* what is public is a decision rather than an accident of file layout
|
|
9
|
+
* what is public is a decision rather than an accident of file layout.
|
|
10
10
|
*
|
|
11
11
|
* @module apps
|
|
12
12
|
*/
|
|
@@ -87,10 +87,10 @@ export { PromptPlugin, PROMPT_PLUGIN_NAME } from './plugins/prompt';
|
|
|
87
87
|
// Loop, ready to drop into somebody else's page.
|
|
88
88
|
export { LoopEmbed } from './embed/LoopEmbed';
|
|
89
89
|
// An application in another product's page: the React component, the
|
|
90
|
-
// `<datalayer-app>` element, and the snippet a host pastes (
|
|
90
|
+
// `<datalayer-app>` element, and the snippet a host pastes (D-07 to D-09).
|
|
91
91
|
export { AppEmbed, AppFloating, embedAssistantCharacter, useEmbedSession, useHostBridge, } from './embed/AppEmbed';
|
|
92
92
|
export { EMBED_SESSION_KEY_PREFIX, embedSessionKey, visitOfToken, } from './embed/embedSession';
|
|
93
|
-
// The host page and an embedded application, talking (
|
|
93
|
+
// The host page and an embedded application, talking (D-10).
|
|
94
94
|
export { HOST_CONTEXT_COMMAND, HOST_CONTEXT_TOOL, HOST_TOOLS_BUNDLE, hostAgentTools, hostCommand, hostCommands, hostPlugin, hostNotAllowed, hostRefused, hostTool, hostToolsOf, hostUserRunProps, fetchUserToken, signedUser, } from './embed/hostBridge';
|
|
95
95
|
export { defineDatalayerAppElement, } from './embed/element';
|
|
96
96
|
export { EMBED_ATTRIBUTES, EMBED_HOST_VARIABLES, EMBED_TAG, embedLookOf, embedSnippetOf, floatingViewOf, languageOf, resumeOf, } from './embed/embedConfig';
|
|
@@ -10,7 +10,7 @@ import { useSandboxService } from '../agents';
|
|
|
10
10
|
* A2UI's basic catalog draws from inherited `--a2ui-*` custom properties, so a
|
|
11
11
|
* surface follows the workspace's theme by inheriting rather than by being
|
|
12
12
|
* told — which is what keeps a generated surface from being the one light card
|
|
13
|
-
* in a dark workspace
|
|
13
|
+
* in a dark workspace.
|
|
14
14
|
*/
|
|
15
15
|
const INHERIT_THEME = {
|
|
16
16
|
['--a2ui-color-surface']: 'var(--bgColor-muted)',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* What an application's answer shows, drawn from its display (
|
|
3
|
-
*
|
|
2
|
+
* What an application's answer shows, drawn from its display (P-04,
|
|
3
|
+
* RU-2): the A2UI surface in its data, and its buttons pressing
|
|
4
4
|
* only the actions the display offered, each with the token the session
|
|
5
5
|
* minted for it. The answer under its message and an element in a panel or
|
|
6
6
|
* a page of its own are drawn by this one view.
|
|
@@ -6,7 +6,7 @@ import { useOwnCatalog } from './ownComponents';
|
|
|
6
6
|
import { answerPress, answerSurface } from './toolResult';
|
|
7
7
|
export function AnswerShowsView({ display, send, }) {
|
|
8
8
|
const parsed = useMemo(() => answerSurface(display, SURFACE_CATALOG_ID), [display]);
|
|
9
|
-
// With the components the application's developer wrote (
|
|
9
|
+
// With the components the application's developer wrote (P-17).
|
|
10
10
|
const catalog = useOwnCatalog();
|
|
11
11
|
const [said, setSaid] = useState(null);
|
|
12
12
|
if (!parsed?.messages || parsed.messages.length === 0) {
|
|
@@ -44,7 +44,7 @@ export declare function InlineSurface({ messages, onAction, validationError, dat
|
|
|
44
44
|
/**
|
|
45
45
|
* Told of each surface once it is created, for a host that reads what a
|
|
46
46
|
* person writes as they write it — a widget's page run again as an input
|
|
47
|
-
* changes (
|
|
47
|
+
* changes (P-05) — rather than when a button is pressed.
|
|
48
48
|
*/
|
|
49
49
|
onSurface?: (surface: Surface) => void;
|
|
50
50
|
}): JSX.Element | null;
|
|
@@ -12,7 +12,7 @@ export function SurfaceToolResult({ context, send, onRendered, onSubmitted, }) {
|
|
|
12
12
|
: null, [context.status, context.result]);
|
|
13
13
|
const title = parsed?.title ?? 'the form';
|
|
14
14
|
const [validationError, setValidationError] = useState(null);
|
|
15
|
-
// With the components the application's developer wrote (
|
|
15
|
+
// With the components the application's developer wrote (P-17).
|
|
16
16
|
const catalog = useOwnCatalog();
|
|
17
17
|
// Told once per result, when it is there to be told about.
|
|
18
18
|
useEffect(() => {
|
|
@@ -32,7 +32,7 @@ export function SurfaceToolResult({ context, send, onRendered, onSubmitted, }) {
|
|
|
32
32
|
if (action.name !== 'submit_a2ui_form') {
|
|
33
33
|
// A tool's surface submits its form, and nothing else: the buttons
|
|
34
34
|
// of what an application's answer shows are its display's
|
|
35
|
-
// (`AnswerShowsView`,
|
|
35
|
+
// (`AnswerShowsView`, RU-2).
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
38
|
const values = (action.context ?? {});
|
|
@@ -76,7 +76,7 @@ export function createA2uiSurfacePlugin(options = {}) {
|
|
|
76
76
|
}
|
|
77
77
|
return (_jsx(SurfaceToolResult, { context: context, send: send, onRendered: options.onRendered, onSubmitted: options.onSubmitted }, context.toolCallId));
|
|
78
78
|
}
|
|
79
|
-
// What an application's answer shows (
|
|
79
|
+
// What an application's answer shows (RU-2): its buttons press
|
|
80
80
|
// what the display offered, through the workspace's chat.
|
|
81
81
|
function Answer({ display }) {
|
|
82
82
|
return _jsx(AnswerShowsView, { display: display, send: send });
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* The components the application of this workspace adds to the catalog it
|
|
7
|
-
* is drawn with (
|
|
7
|
+
* is drawn with (P-17, `loop.a2ui.component`): what its answers, its
|
|
8
8
|
* elements and its page draw beside Datalayer's catalog. None outside an
|
|
9
9
|
* application's workspace, or in one whose developer wrote none.
|
|
10
10
|
*
|
|
@@ -52,8 +52,8 @@ export declare function validateA2uiField(rule: A2uiFieldRule, value: unknown):
|
|
|
52
52
|
/** Every rule's complaint about a submission; empty when it passes. */
|
|
53
53
|
export declare function validateA2uiSubmission(rules: A2uiFieldRule[], values: Record<string, unknown>): string[];
|
|
54
54
|
/**
|
|
55
|
-
* The display type of what an application's answer shows (
|
|
56
|
-
*
|
|
55
|
+
* The display type of what an application's answer shows (P-04,
|
|
56
|
+
* RU-2): `AnswerShows` in `agent_runtimes.loop.apps.components`.
|
|
57
57
|
*/
|
|
58
58
|
export declare const ANSWER_DISPLAY_TYPE = "application/vnd.datalayer.loop.answer+json";
|
|
59
59
|
/** A button pressed on what an answer shows, as the chat sends it on. */
|
|
@@ -105,8 +105,8 @@ export function validateA2uiSubmission(rules, values) {
|
|
|
105
105
|
.filter((message) => message !== null);
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
108
|
-
* The display type of what an application's answer shows (
|
|
109
|
-
*
|
|
108
|
+
* The display type of what an application's answer shows (P-04,
|
|
109
|
+
* RU-2): `AnswerShows` in `agent_runtimes.loop.apps.components`.
|
|
110
110
|
*/
|
|
111
111
|
export const ANSWER_DISPLAY_TYPE = 'application/vnd.datalayer.loop.answer+json';
|
|
112
112
|
/** The A2UI surface an answer's display draws, or `null` for a display that has none. */
|
|
@@ -38,11 +38,11 @@ export type AgentCapacityOptions = {
|
|
|
38
38
|
instructions?: string;
|
|
39
39
|
/** The model it runs on in the page, in place of its spec's. */
|
|
40
40
|
model?: string;
|
|
41
|
-
/** What its modes tell a run turned in the page (
|
|
41
|
+
/** What its modes tell a run turned in the page (P-19). */
|
|
42
42
|
modeEffect?: AgentBlueprintContribution['modeEffect'];
|
|
43
43
|
/**
|
|
44
44
|
* Its own name in place of `@datalayer/loop-plugin-agent-<key>`: an
|
|
45
|
-
* application's, the name its runtime's plugin has too (
|
|
45
|
+
* application's, the name its runtime's plugin has too (F-15).
|
|
46
46
|
*/
|
|
47
47
|
name?: string;
|
|
48
48
|
/** The runtime plugins it cannot work without (Reactor's cross-tier declaration). */
|
|
@@ -16,10 +16,10 @@ export function DatalayerAgentBridge() {
|
|
|
16
16
|
const agentsConfig = reactor.getConfig(AGENTS_PLUGIN_NAME);
|
|
17
17
|
const agentSpecId = agentsConfig?.datalayerAgentSpecId ?? DEFAULT_DATALAYER_AGENTSPEC;
|
|
18
18
|
const createPayload = agentsConfig?.datalayerCreatePayload;
|
|
19
|
-
// A conversation without an account (
|
|
19
|
+
// A conversation without an account (R-30): the agent is already on
|
|
20
20
|
// the visitors' runtime, kept warm there; nothing is allocated or made.
|
|
21
21
|
const visitors = agentsConfig?.datalayerVisitors;
|
|
22
|
-
// A deployment kept on a runtime of its own (
|
|
22
|
+
// A deployment kept on a runtime of its own (R-33): its agent was made
|
|
23
23
|
// there from the deployment record as the runtime started; nothing is
|
|
24
24
|
// allocated or made either.
|
|
25
25
|
const kept = agentsConfig?.datalayerKept;
|
|
@@ -29,7 +29,7 @@ export function DatalayerAgentBridge() {
|
|
|
29
29
|
const onDatalayer = target === 'datalayer';
|
|
30
30
|
/*
|
|
31
31
|
* On the visitors' runtime, the application's agent made before the page
|
|
32
|
-
* follows it (
|
|
32
|
+
* follows it (D-15): an application at its address has none until
|
|
33
33
|
* a visitor opens it, and its runtime holds no plugin of it until then —
|
|
34
34
|
* so the page's plugin of the pair (F-15) would stand down and its chat
|
|
35
35
|
* have nothing to speak to. Asked with a visitor's token, the runtime
|
|
@@ -116,7 +116,7 @@ export function DatalayerAgentBridge() {
|
|
|
116
116
|
...(createPayload ? { createPayload } : {}),
|
|
117
117
|
}), [agentSpecId, agentName, protocol, createPayload]);
|
|
118
118
|
/*
|
|
119
|
-
* The application the runtime is launched for (
|
|
119
|
+
* The application the runtime is launched for (R-19): its Appspec
|
|
120
120
|
* and where it runs, read from the payload its agent is created with — the
|
|
121
121
|
* Studio's Preview, the hosted page signed in. Sent with the launch, so the
|
|
122
122
|
* runtime is given the secrets its connections declare before its agent is
|
|
@@ -104,17 +104,17 @@ export type AgentsConfig = {
|
|
|
104
104
|
/**
|
|
105
105
|
* What the agent created on that runtime is created with besides its spec:
|
|
106
106
|
* an application's `app_spec`, so that the runtime runs the application and
|
|
107
|
-
* decides its tool calls by its rules (
|
|
107
|
+
* decides its tool calls by its rules (R-05, R-03).
|
|
108
108
|
*/
|
|
109
109
|
datalayerCreatePayload?: Record<string, unknown>;
|
|
110
110
|
/**
|
|
111
|
-
* A conversation without an account (
|
|
111
|
+
* A conversation without an account (R-30): the application's agent
|
|
112
112
|
* is already on the visitors' runtime, so nothing is allocated or created,
|
|
113
113
|
* and the chat speaks to it with a visitor's token for the application.
|
|
114
114
|
*/
|
|
115
115
|
datalayerVisitors?: DatalayerVisitors;
|
|
116
116
|
/**
|
|
117
|
-
* A deployment kept on a runtime of its own (
|
|
117
|
+
* A deployment kept on a runtime of its own (R-33): its agent is
|
|
118
118
|
* already there, made from the deployment record when the runtime started,
|
|
119
119
|
* so nothing is allocated or created, and the chat speaks to it with the
|
|
120
120
|
* person's own token. `url` is the runtime's agent-runtimes address.
|
|
@@ -123,7 +123,7 @@ export type AgentsConfig = {
|
|
|
123
123
|
url: string;
|
|
124
124
|
};
|
|
125
125
|
/**
|
|
126
|
-
* An embed token for the application (
|
|
126
|
+
* An embed token for the application (R-20): what an embedded
|
|
127
127
|
* application's chat speaks to its session with, for a visitor the platform
|
|
128
128
|
* does not know — it runs a session of the application's deployment, and
|
|
129
129
|
* reaches nothing else.
|
|
@@ -54,7 +54,7 @@ export const SANDBOX_TARGETS = [
|
|
|
54
54
|
*/
|
|
55
55
|
export function heldTargetReason(target, serverUrl) {
|
|
56
56
|
// A host that names its own agent-runtimes server — `app.mount`, `loop apps
|
|
57
|
-
// run --web` (
|
|
57
|
+
// run --web` (P-08, P-25) — is not asking for the reader's machine:
|
|
58
58
|
// Local is that server, and it is offered. Held, every message of a page
|
|
59
59
|
// served by its own server went to the visitors' runtime instead
|
|
60
60
|
// (seen 2026-10-10 on 1.3.96).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* What an application did, beside its page (
|
|
2
|
+
* What an application did, beside its page (R-01b, R-15, U-20): its
|
|
3
3
|
* sessions, newest first, each in a sentence, opened on what it did step by
|
|
4
4
|
* step — tool calls, the rules' decisions, the checks that stopped a step,
|
|
5
5
|
* the approvals, the answer. Read from the record ai-agents keeps (R-07),
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `app-components` — the components an application's developer wrote (
|
|
3
|
-
* P-17), registered as that application's A2UI contributions: each a block
|
|
2
|
+
* `app-components` — the components an application's developer wrote (P-17), registered as that application's A2UI contributions: each a block
|
|
4
3
|
* of its Canvas's palette (`loop.canvas.block`, as a UI's components
|
|
5
4
|
* are) and a renderer of the catalog its page, its elements and its answers
|
|
6
5
|
* are drawn with (`loop.a2ui.component`). One plugin per application, in its
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* `app-components` — the components an application's developer wrote (
|
|
7
|
-
* P-17), registered as that application's A2UI contributions: each a block
|
|
6
|
+
* `app-components` — the components an application's developer wrote (P-17), registered as that application's A2UI contributions: each a block
|
|
8
7
|
* of its Canvas's palette (`loop.canvas.block`, as a UI's components
|
|
9
8
|
* are) and a renderer of the catalog its page, its elements and its answers
|
|
10
9
|
* are drawn with (`loop.a2ui.component`). One plugin per application, in its
|
|
@@ -29,7 +29,7 @@ function Terminal({ conversation, }) {
|
|
|
29
29
|
}
|
|
30
30
|
function save(blob, name) {
|
|
31
31
|
// A file of its computer is saved, never opened: its address on this page's
|
|
32
|
-
// origin carries no type a browser would draw (
|
|
32
|
+
// origin carries no type a browser would draw (D-22).
|
|
33
33
|
const url = URL.createObjectURL(new Blob([blob], { type: 'application/octet-stream' }));
|
|
34
34
|
const anchor = document.createElement('a');
|
|
35
35
|
anchor.href = url;
|
|
@@ -215,7 +215,7 @@ export function AppComputer({ app, workspace, }) {
|
|
|
215
215
|
const agentId = workspace?.agentId || app.id;
|
|
216
216
|
const [state, setState] = useState();
|
|
217
217
|
/*
|
|
218
|
-
* Where its files come from (
|
|
218
|
+
* Where its files come from (D-22).
|
|
219
219
|
*
|
|
220
220
|
* The runtime says it when the plane keeps a host for what applications
|
|
221
221
|
* serve (`servedFrom`, `DATALAYER_USER_APPS_URL`): a file is then fetched
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The elements an application's code opened beside the conversation (
|
|
3
|
-
* P-18): a side panel on the trailing edge, and a page of its own over the
|
|
2
|
+
* The elements an application's code opened beside the conversation (P-18): a side panel on the trailing edge, and a page of its own over the
|
|
4
3
|
* workspace — each drawn from its display as an answer is (`AnswerShowsView`),
|
|
5
4
|
* its buttons pressing the actions the display offered, and closed with its
|
|
6
5
|
* own button.
|
|
@@ -17,7 +17,7 @@ export function elementsByPlace(open) {
|
|
|
17
17
|
}
|
|
18
18
|
function ElementBody({ element, send, }) {
|
|
19
19
|
// What its code shows, drawn as an answer's display is: its buttons press
|
|
20
|
-
// what the display offered (
|
|
20
|
+
// what the display offered (P-04, RU-2).
|
|
21
21
|
return (_jsx(AnswerShowsView, { display: element.shows, send: (message, forwardedProps) => send !== undefined && !send(message, forwardedProps) }));
|
|
22
22
|
}
|
|
23
23
|
function ElementHeader({ element }) {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* What an application's code asks, drawn from its display (
|
|
3
|
-
* RU-4): `application/vnd.datalayer.loop.question+json`, shown under the
|
|
2
|
+
* What an application's code asks, drawn from its display (RU-4): `application/vnd.datalayer.loop.question+json`, shown under the
|
|
4
3
|
* message that asks it in words. A choice is its buttons — a rule's prompt
|
|
5
4
|
* is Allow and Refuse — the words a field, a form its fields; each press of
|
|
6
5
|
* it is `reactor.answer`, through the display's `act`, which the chat sends
|
|
@@ -61,7 +61,7 @@ export function QuestionView({ display, act, upload, }) {
|
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
63
63
|
setSaid(null);
|
|
64
|
-
// Uploaded first: the answer is its ref (
|
|
64
|
+
// Uploaded first: the answer is its ref (RU-6).
|
|
65
65
|
void upload(chosen)
|
|
66
66
|
.then(ref => answer(ref))
|
|
67
67
|
.catch((failure) => setSaid(failure instanceof Error ? failure.message : String(failure)));
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `app-elements` — what an application's code opens beside the
|
|
3
|
-
* conversation (
|
|
3
|
+
* conversation (P-18): `session.show(..., where="panel")` a side panel,
|
|
4
4
|
* `where="page"` a page of its own over the workspace, each closed by the
|
|
5
5
|
* code (`session.close`) or by the person. Inline, an element is a message,
|
|
6
6
|
* which the chat draws (P-04); this plugin draws the other two.
|
|
7
7
|
*
|
|
8
8
|
* The chat keeps what is open (`chat/base/loopElement`), from the session's
|
|
9
|
-
* ui socket (
|
|
9
|
+
* ui socket (RU-3, RU-W); this plugin draws it from the
|
|
10
10
|
* workspace's root slot, positioned against the workspace, so that nothing
|
|
11
11
|
* is laid out while nothing is open. It also contributes the renderer of
|
|
12
12
|
* what the code asks (`QuestionView`, RU-4), drawn under the message that
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* `app-elements` — what an application's code opens beside the
|
|
7
|
-
* conversation (
|
|
7
|
+
* conversation (P-18): `session.show(..., where="panel")` a side panel,
|
|
8
8
|
* `where="page"` a page of its own over the workspace, each closed by the
|
|
9
9
|
* code (`session.close`) or by the person. Inline, an element is a message,
|
|
10
10
|
* which the chat draws (P-04); this plugin draws the other two.
|
|
11
11
|
*
|
|
12
12
|
* The chat keeps what is open (`chat/base/loopElement`), from the session's
|
|
13
|
-
* ui socket (
|
|
13
|
+
* ui socket (RU-3, RU-W); this plugin draws it from the
|
|
14
14
|
* workspace's root slot, positioned against the workspace, so that nothing
|
|
15
15
|
* is laid out while nothing is open. It also contributes the renderer of
|
|
16
16
|
* what the code asks (`QuestionView`, RU-4), drawn under the message that
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
* the workspace's own renderer (`InlineSurface`), fed by the chat's current
|
|
4
4
|
* turn and its conversation, its buttons — and a Chat block's message, a File
|
|
5
5
|
* upload's files — answered through the chat's controls, what the page did
|
|
6
|
-
* going with the chat's run to the application's session (
|
|
6
|
+
* going with the chat's run to the application's session (R-04).
|
|
7
7
|
*
|
|
8
8
|
* It draws the blocks the workspace's plugins contribute to the Canvas's
|
|
9
9
|
* palette (`loop.canvas.block`, R-01b) and nothing else, so that what the
|
|
10
10
|
* Canvas can place and what the page can draw are one list: a page that
|
|
11
11
|
* uses a block no enabled plugin contributes says so, in place of the page.
|
|
12
|
-
* The components its developer wrote (
|
|
12
|
+
* The components its developer wrote (P-17) are among them, contributed
|
|
13
13
|
* by its own plugin (`app-components`) with their renderers.
|
|
14
14
|
*
|
|
15
|
-
* A widget's page written in its code (
|
|
15
|
+
* A widget's page written in its code (P-05) runs in a session of its
|
|
16
16
|
* own, beside the conversation: as an input changes, the page sends them all
|
|
17
17
|
* to the session's `page` action and shows what its code answered at
|
|
18
18
|
* `/outputs/<name>`, in place — no message is sent (`./pageRun`).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* An application's page, as data: what it publishes to its surface by path,
|
|
3
|
-
* what it takes from it, and what a button on it does (
|
|
3
|
+
* what it takes from it, and what a button on it does (R-01, R-01b,
|
|
4
4
|
* C-04).
|
|
5
5
|
*
|
|
6
6
|
* A chat, a widget or a worker runs as its conversation. Its page is its
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* answer stopped, the conversation started over. Nothing here is a server
|
|
13
13
|
* API: what a button did besides its message — the block's action, the files
|
|
14
14
|
* given, the settings — goes with the chat's own run to the application's
|
|
15
|
-
* session (
|
|
15
|
+
* session (R-04, `forwardedProps.loop`), which puts a file where the
|
|
16
16
|
* application reads it; a setting also reaches a written application in the
|
|
17
17
|
* words of its message.
|
|
18
18
|
*
|
|
@@ -140,7 +140,7 @@ export type GivenFile = {
|
|
|
140
140
|
* cannot go: what was given is not files as File upload gives them, or one
|
|
141
141
|
* is larger than a session takes. What becomes of each — put in the
|
|
142
142
|
* application's sandbox, or its text in the message — is the session's to
|
|
143
|
-
* decide (
|
|
143
|
+
* decide (R-04).
|
|
144
144
|
*/
|
|
145
145
|
export declare function givenFiles(files: unknown): {
|
|
146
146
|
files: GivenFile[];
|
|
@@ -165,9 +165,9 @@ export declare function pageInputsOf(app: Pick<AppSpec, 'kind' | 'interface'>, i
|
|
|
165
165
|
* What the page did besides its message, for the session API: the files
|
|
166
166
|
* given with it, the settings it holds. Sent with the chat's own run (AG-UI's
|
|
167
167
|
* `forwardedProps.loop`), so that what it answers streams in the
|
|
168
|
-
* conversation (
|
|
168
|
+
* conversation (R-04). A block sends a message, never an action of its
|
|
169
169
|
* own: an action of the application's code is pressed with the token its
|
|
170
|
-
* session offered, up the ui socket (
|
|
170
|
+
* session offered, up the ui socket (RU-5).
|
|
171
171
|
*/
|
|
172
172
|
export type AppPageLoop = {
|
|
173
173
|
files?: GivenFile[];
|
|
@@ -366,7 +366,7 @@ export const MAX_FILE_BYTES = 25 * 1024 * 1024;
|
|
|
366
366
|
* cannot go: what was given is not files as File upload gives them, or one
|
|
367
367
|
* is larger than a session takes. What becomes of each — put in the
|
|
368
368
|
* application's sandbox, or its text in the message — is the session's to
|
|
369
|
-
* decide (
|
|
369
|
+
* decide (R-04).
|
|
370
370
|
*/
|
|
371
371
|
export function givenFiles(files) {
|
|
372
372
|
if (files === undefined || files === null) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `@datalayer/loop-plugin-app-page` — an application's page, as a plugin
|
|
3
|
-
* (
|
|
3
|
+
* (R-01, R-01b).
|
|
4
4
|
*
|
|
5
5
|
* A chat, a widget or a worker runs as its conversation; its page — its
|
|
6
6
|
* A2UI surface, or the default page of its kind when none is composed — is
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* its host's (the Studio's run page, its hosted address, its embed) — is
|
|
15
15
|
* contributed by the host through `defineAppHostPagePlugin`, as the
|
|
16
16
|
* workspace's one view (`LoopViewType`), in a workspace without a
|
|
17
|
-
* conversation (
|
|
17
|
+
* conversation (R-02).
|
|
18
18
|
*
|
|
19
19
|
* @module apps/plugins/app-page
|
|
20
20
|
*/
|
|
@@ -33,7 +33,7 @@ export type AppHostPageProps = {
|
|
|
33
33
|
workspace: LoopWorkspaceContext;
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
|
-
* The plugin that makes a host's page the workspace's view (
|
|
36
|
+
* The plugin that makes a host's page the workspace's view (R-02): the
|
|
37
37
|
* page a host draws for an application whose kind the workspace has no page
|
|
38
38
|
* for — a decision's. The workspace opens on it; it is ordered before every
|
|
39
39
|
* other view.
|
|
@@ -32,7 +32,7 @@ export function defineAppPagePlugin(app) {
|
|
|
32
32
|
/** The view an application's page is, when its host draws it. */
|
|
33
33
|
export const APP_HOST_PAGE_VIEW = 'app-page';
|
|
34
34
|
/**
|
|
35
|
-
* The plugin that makes a host's page the workspace's view (
|
|
35
|
+
* The plugin that makes a host's page the workspace's view (R-02): the
|
|
36
36
|
* page a host draws for an application whose kind the workspace has no page
|
|
37
37
|
* for — a decision's. The workspace opens on it; it is ordered before every
|
|
38
38
|
* other view.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* A widget's page written in its code, run on its inputs (
|
|
2
|
+
* A widget's page written in its code, run on its inputs (P-05).
|
|
3
3
|
*
|
|
4
4
|
* The page opens a session of the application's agent on its runtime
|
|
5
5
|
* (`POST /api/v1/apps/sessions`), then, each time an input changes, sends
|
|
6
6
|
* them all to its page (`POST …/sessions/{uid}/page`, `{inputs}`) — not an
|
|
7
|
-
* action of its code (
|
|
7
|
+
* action of its code (RU-5). The runtime checks them against the
|
|
8
8
|
* page's form — refused with 422 and a sentence — runs its code's
|
|
9
9
|
* `@app.page` on them, and answers its outputs as a `CUSTOM` event named
|
|
10
10
|
* `loop.page`, `{inputs, outputs}`, which the page shows in place. Nothing is
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* A widget's page written in its code, run on its inputs (
|
|
6
|
+
* A widget's page written in its code, run on its inputs (P-05).
|
|
7
7
|
*
|
|
8
8
|
* The page opens a session of the application's agent on its runtime
|
|
9
9
|
* (`POST /api/v1/apps/sessions`), then, each time an input changes, sends
|
|
10
10
|
* them all to its page (`POST …/sessions/{uid}/page`, `{inputs}`) — not an
|
|
11
|
-
* action of its code (
|
|
11
|
+
* action of its code (RU-5). The runtime checks them against the
|
|
12
12
|
* page's form — refused with 422 and a sentence — runs its code's
|
|
13
13
|
* `@app.page` on them, and answers its outputs as a `CUSTOM` event named
|
|
14
14
|
* `loop.page`, `{inputs, outputs}`, which the page shows in place. Nothing is
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* An application's rules, and the approvals it waits on, beside its page
|
|
3
|
-
* (
|
|
3
|
+
* (R-01b, U-19).
|
|
4
4
|
*
|
|
5
5
|
* The rules in words — each action, what it covers, what it does about it —
|
|
6
6
|
* and, under them, what is waiting for the person's yes: the approvals its
|
|
@@ -36,23 +36,23 @@ export declare function ruleInWords(rule: AppRuleSpec): {
|
|
|
36
36
|
};
|
|
37
37
|
/**
|
|
38
38
|
* The rule or Gate an approval was asked under, as the runtime wrote it in
|
|
39
|
-
* its arguments: `_rule` for a rule, `_check` for a Gate (
|
|
39
|
+
* its arguments: `_rule` for a rule, `_check` for a Gate (U-19).
|
|
40
40
|
*/
|
|
41
41
|
export declare const ruleOfApproval: (approval: ApprovalRecord) => string;
|
|
42
42
|
/**
|
|
43
43
|
* The approvals of one application: those its agent asked under its id, and
|
|
44
44
|
* those the runtime marked as its own (`_app`) — a deployment's agent, a
|
|
45
|
-
* Gate's, or a review its drift asked (
|
|
45
|
+
* Gate's, or a review its drift asked (U-19). Answered anywhere, an
|
|
46
46
|
* approval leaves every list at once: each decision is broadcast to all the
|
|
47
47
|
* person's pages over the same `/ws`.
|
|
48
48
|
*/
|
|
49
49
|
export declare function approvalsOfApp(approvals: ApprovalRecord[], appId: string): ApprovalRecord[];
|
|
50
|
-
/** A result it wants to keep, shown whole before it is (
|
|
50
|
+
/** A result it wants to keep, shown whole before it is (R-24). */
|
|
51
51
|
export declare function DraftShown({ draft }: {
|
|
52
52
|
draft: Draft;
|
|
53
53
|
}): JSX.Element;
|
|
54
54
|
/**
|
|
55
|
-
* The rules of the running session (
|
|
55
|
+
* The rules of the running session (SH-54): what decides it now,
|
|
56
56
|
* the rules the person added, and a rule to add — in force at once, gone with
|
|
57
57
|
* the session, never below the organization's.
|
|
58
58
|
*/
|
|
@@ -32,7 +32,7 @@ export function ruleInWords(rule) {
|
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* The rule or Gate an approval was asked under, as the runtime wrote it in
|
|
35
|
-
* its arguments: `_rule` for a rule, `_check` for a Gate (
|
|
35
|
+
* its arguments: `_rule` for a rule, `_check` for a Gate (U-19).
|
|
36
36
|
*/
|
|
37
37
|
export const ruleOfApproval = (approval) => {
|
|
38
38
|
const said = approval.tool_args?._rule ?? approval.tool_args?._check;
|
|
@@ -41,7 +41,7 @@ export const ruleOfApproval = (approval) => {
|
|
|
41
41
|
/**
|
|
42
42
|
* The approvals of one application: those its agent asked under its id, and
|
|
43
43
|
* those the runtime marked as its own (`_app`) — a deployment's agent, a
|
|
44
|
-
* Gate's, or a review its drift asked (
|
|
44
|
+
* Gate's, or a review its drift asked (U-19). Answered anywhere, an
|
|
45
45
|
* approval leaves every list at once: each decision is broadcast to all the
|
|
46
46
|
* person's pages over the same `/ws`.
|
|
47
47
|
*/
|
|
@@ -49,7 +49,7 @@ export function approvalsOfApp(approvals, appId) {
|
|
|
49
49
|
return approvals.filter(approval => approval.agent_id === appId || approval.tool_args?._app === appId);
|
|
50
50
|
}
|
|
51
51
|
const PENDING = { status: 'pending' };
|
|
52
|
-
/** A result it wants to keep, shown whole before it is (
|
|
52
|
+
/** A result it wants to keep, shown whole before it is (R-24). */
|
|
53
53
|
export function DraftShown({ draft }) {
|
|
54
54
|
return (_jsxs(Box, { "data-testid": "app-draft", mt: 1, children: [_jsx(Text, { as: "p", sx: { m: 0, fontSize: 0, color: 'fg.muted' }, children: SAVE_WORDS.where(draft.space) }), _jsx(Text, { as: "p", sx: { m: 0, fontWeight: 'semibold' }, children: draft.title }), _jsx(Box, { as: "pre", m: 0, mt: 1, p: 2, maxHeight: 240, overflow: "auto", whiteSpace: "pre-wrap", fontFamily: "inherit", fontSize: 0, bg: "canvas.subtle", borderRadius: 2, children: draft.content })] }));
|
|
55
55
|
}
|
|
@@ -64,7 +64,7 @@ function Approvals({ app }) {
|
|
|
64
64
|
}) }))] }));
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
|
-
* The rules of the running session (
|
|
67
|
+
* The rules of the running session (SH-54): what decides it now,
|
|
68
68
|
* the rules the person added, and a rule to add — in force at once, gone with
|
|
69
69
|
* the session, never below the organization's.
|
|
70
70
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The floating assistant in the LOOP workspace (
|
|
2
|
+
* The floating assistant in the LOOP workspace (T-24): the character a
|
|
3
3
|
* page draws over its workspace, chosen from what the enabled plugins
|
|
4
4
|
* contribute to `loop.assistant.character` — the application's own
|
|
5
5
|
* (`interface.assistant`) when its Appspec names one, else the person's
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* the runtime to ask (`decisions`), its balloon offers *Ask a decision*: a
|
|
14
14
|
* typed decision asked of Jev through the runtime, answered there.
|
|
15
15
|
*
|
|
16
|
-
* Its balloon shows the conversation as `balloon` says (
|
|
16
|
+
* Its balloon shows the conversation as `balloon` says (T-23; the
|
|
17
17
|
* Appspec's `interface.balloon`): a peek of the newest words (`history`, the
|
|
18
18
|
* default), or the one thing being said or done now (`current`). Either way
|
|
19
19
|
* what the agent is doing while a tool runs — the turn's `activity` — is said
|