@datalayer/agent-runtimes 1.5.52 → 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 -6
- package/lib/portable/hosts/agentClient.js +7 -7
- 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 +1 -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
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* semantic events a turn is reduced to, approval renderers, deliveries, the
|
|
9
9
|
* turn's state, application resolution, the durable queue, quotas, secrets
|
|
10
10
|
* at rest, observability, dead letters, health, the shared schema and the
|
|
11
|
-
* forbidden-graph gate (
|
|
11
|
+
* forbidden-graph gate (DC-004, DC-005).
|
|
12
12
|
*
|
|
13
13
|
* Imported as `@datalayer/agent-runtimes/lib/portable/hosts`, and only by a
|
|
14
14
|
* Node service, which bundles it with esbuild. It reaches `src/portable/` and
|
|
@@ -34,7 +34,7 @@ export declare class Logger {
|
|
|
34
34
|
warn(event: string, fields?: Record<string, unknown>): void;
|
|
35
35
|
error(event: string, fields?: Record<string, unknown>): void;
|
|
36
36
|
/**
|
|
37
|
-
* An identity audit event (
|
|
37
|
+
* An identity audit event (S-103): who (pseudonymous), which installation
|
|
38
38
|
* (its hash), what happened, why. Never a code, a token or a principal's
|
|
39
39
|
* name.
|
|
40
40
|
*/
|
|
@@ -4,12 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { createHash } from 'node:crypto';
|
|
6
6
|
/**
|
|
7
|
-
* Logs, audit events and traces without secrets or words
|
|
8
|
-
* DISCORD §9, §12.2): every routine line is JSON whose fields pass `redact`;
|
|
7
|
+
* Logs, audit events and traces without secrets or words: every routine line is JSON whose fields pass `redact`;
|
|
9
8
|
* host and Datalayer ids are pseudonymous (`pseudonym`), so a trace can be
|
|
10
9
|
* followed `host event → job → installation hash → session → host message`
|
|
11
10
|
* without naming an installation, a person or what they wrote. Moved from
|
|
12
|
-
* the Slack service (
|
|
11
|
+
* the Slack service (DC-004).
|
|
13
12
|
*
|
|
14
13
|
* @module portable/hosts/observability
|
|
15
14
|
*/
|
|
@@ -114,7 +113,7 @@ export class Logger {
|
|
|
114
113
|
this.#write('error', event, fields);
|
|
115
114
|
}
|
|
116
115
|
/**
|
|
117
|
-
* An identity audit event (
|
|
116
|
+
* An identity audit event (S-103): who (pseudonymous), which installation
|
|
118
117
|
* (its hash), what happened, why. Never a code, a token or a principal's
|
|
119
118
|
* name.
|
|
120
119
|
*/
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* five attempts, an ingress claim and its job kept in one transaction. Its
|
|
5
5
|
* tables are `<prefix>_jobs`, `<prefix>_event_claims` and
|
|
6
6
|
* `<prefix>_job_replays` (`hostSchemaSql`). Moved from the Slack service
|
|
7
|
-
* (
|
|
7
|
+
* (DC-004).
|
|
8
8
|
*
|
|
9
9
|
* @module portable/hosts/postgresQueue
|
|
10
10
|
*/
|
|
@@ -42,7 +42,7 @@ export declare class PostgresWorkQueue<T> implements WorkQueue<T> {
|
|
|
42
42
|
}>>;
|
|
43
43
|
/**
|
|
44
44
|
* Put a dead job back to work: once, by id, the replay kept with who asked
|
|
45
|
-
* in the same transaction (`<prefix>_job_replays`,
|
|
45
|
+
* in the same transaction (`<prefix>_job_replays`, S-405), refused or not.
|
|
46
46
|
*/
|
|
47
47
|
replay(id: string, operator: string): Promise<boolean>;
|
|
48
48
|
/**
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* five attempts, an ingress claim and its job kept in one transaction. Its
|
|
9
9
|
* tables are `<prefix>_jobs`, `<prefix>_event_claims` and
|
|
10
10
|
* `<prefix>_job_replays` (`hostSchemaSql`). Moved from the Slack service
|
|
11
|
-
* (
|
|
11
|
+
* (DC-004).
|
|
12
12
|
*
|
|
13
13
|
* @module portable/hosts/postgresQueue
|
|
14
14
|
*/
|
|
@@ -47,7 +47,7 @@ export class PostgresWorkQueue {
|
|
|
47
47
|
await this.database.query(`INSERT INTO ${this.#jobs} (payload) VALUES ($1)`, [item]);
|
|
48
48
|
return true;
|
|
49
49
|
}
|
|
50
|
-
// The idempotency key and its job in one transaction
|
|
50
|
+
// The idempotency key and its job in one transaction.
|
|
51
51
|
const client = await this.database.connect();
|
|
52
52
|
try {
|
|
53
53
|
await client.query('BEGIN');
|
|
@@ -93,7 +93,7 @@ export class PostgresWorkQueue {
|
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
95
|
* Put a dead job back to work: once, by id, the replay kept with who asked
|
|
96
|
-
* in the same transaction (`<prefix>_job_replays`,
|
|
96
|
+
* in the same transaction (`<prefix>_job_replays`, S-405), refused or not.
|
|
97
97
|
*/
|
|
98
98
|
async replay(id, operator) {
|
|
99
99
|
if (!/^\d+$/.test(id))
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* A host's durable work queue, its in-memory development stand-in, and the
|
|
3
3
|
* structural Postgres connection every Postgres implementation here takes
|
|
4
4
|
* (`pg.Pool` and `pg.PoolClient` satisfy it: no `pg` import). Moved from the
|
|
5
|
-
* Slack service (
|
|
5
|
+
* Slack service (DC-004).
|
|
6
6
|
*
|
|
7
7
|
* @module portable/hosts/queue
|
|
8
8
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Quotas before costly work (
|
|
2
|
+
* Quotas before costly work (S-404, DC-402): questions an
|
|
3
3
|
* hour per person, installation (a Slack workspace, a Discord server),
|
|
4
4
|
* organization and application, taken atomically before a turn starts at
|
|
5
5
|
* Datalayer. A refusal says which limit and when it resets. Moved from the
|
|
6
|
-
* Slack service (
|
|
6
|
+
* Slack service (DC-004).
|
|
7
7
|
*
|
|
8
8
|
* @module portable/hosts/quotas
|
|
9
9
|
*/
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* Quotas before costly work (
|
|
6
|
+
* Quotas before costly work (S-404, DC-402): questions an
|
|
7
7
|
* hour per person, installation (a Slack workspace, a Discord server),
|
|
8
8
|
* organization and application, taken atomically before a turn starts at
|
|
9
9
|
* Datalayer. A refusal says which limit and when it resets. Moved from the
|
|
10
|
-
* Slack service (
|
|
10
|
+
* Slack service (DC-004).
|
|
11
11
|
*
|
|
12
12
|
* @module portable/hosts/quotas
|
|
13
13
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* The clock a host's rate limiter waits on: the system's, or a test's fake.
|
|
3
3
|
* Each host keeps its own limiter (Slack's method spacing, Discord's
|
|
4
4
|
* buckets), since what a 429 says differs by host. Moved from the Slack
|
|
5
|
-
* service (
|
|
5
|
+
* service (DC-004).
|
|
6
6
|
*
|
|
7
7
|
* @module portable/hosts/rateLimit
|
|
8
8
|
*/
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Which application a host's turn runs (
|
|
2
|
+
* Which application a host's turn runs (S-202): the
|
|
3
3
|
* thread's own, else an explicit choice, else the one chosen for the
|
|
4
4
|
* thread's next session, else the channel's, else the installation's
|
|
5
5
|
* default; then that application allowed here and in this kind of
|
|
6
6
|
* conversation. Datalayer's exchange checks the person may open it at every
|
|
7
7
|
* turn: nothing here authorizes alone. The host says each refusal in its own
|
|
8
|
-
* words. Moved from the Slack service (
|
|
8
|
+
* words. Moved from the Slack service (DC-004).
|
|
9
9
|
*
|
|
10
10
|
* @module portable/hosts/resolution
|
|
11
11
|
*/
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Their final shapes, as idempotent statements: a service applies them
|
|
7
7
|
* before its own migrations, every time. TypeScript strings, since the npm
|
|
8
8
|
* tarball ships no `.sql`. Moved from the Slack service's migrations 001,
|
|
9
|
-
* 004 and 007 (
|
|
9
|
+
* 004 and 007 (DC-004).
|
|
10
10
|
*
|
|
11
11
|
* @module portable/hosts/schema
|
|
12
12
|
*/
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Their final shapes, as idempotent statements: a service applies them
|
|
11
11
|
* before its own migrations, every time. TypeScript strings, since the npm
|
|
12
12
|
* tarball ships no `.sql`. Moved from the Slack service's migrations 001,
|
|
13
|
-
* 004 and 007 (
|
|
13
|
+
* 004 and 007 (DC-004).
|
|
14
14
|
*
|
|
15
15
|
* @module portable/hosts/schema
|
|
16
16
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Secrets at rest
|
|
2
|
+
* Secrets at rest: AES-256-GCM, each value bound to
|
|
3
3
|
* what it belongs to (its associated data, an installation's key), with the
|
|
4
4
|
* key's version kept beside it. Moved from the Slack service
|
|
5
|
-
* (
|
|
5
|
+
* (DC-004).
|
|
6
6
|
*
|
|
7
7
|
* @module portable/hosts/secretCipher
|
|
8
8
|
*/
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* One host thread is one Datalayer session: its uid, derived from where the
|
|
7
|
-
* thread is, so that a retry names it again
|
|
8
|
-
* rule 2). Moved from the Slack service (plans/DISCORD.md DC-004).
|
|
7
|
+
* thread is, so that a retry names it again. Moved from the Slack service (DC-004).
|
|
9
8
|
*
|
|
10
9
|
* @module portable/hosts/sessionUid
|
|
11
10
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* answer so far, the tools, the status line, the approvals waited on, the
|
|
4
4
|
* question it ends on, and how it ended. Each host renders it in its own
|
|
5
5
|
* blocks (Slack's Block Kit, Discord's components); nothing here is a
|
|
6
|
-
* host's. Moved from the Slack service (
|
|
6
|
+
* host's. Moved from the Slack service (DC-004).
|
|
7
7
|
*
|
|
8
8
|
* @module portable/hosts/turnState
|
|
9
9
|
*/
|
package/lib/portable/index.js
CHANGED
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
* @module portable
|
|
12
12
|
*/
|
|
13
13
|
export { messageOfApproval, normalizeApproval, whyAsked, } from './approvals';
|
|
14
|
-
// An approval as every card says it (
|
|
14
|
+
// An approval as every card says it (M-016).
|
|
15
15
|
export { actionOf, APPROVAL_CARD_WORDS, approvalCardOf, argumentsShown, } from './approvalCard';
|
|
16
16
|
// A run's stream, read as every client reads it.
|
|
17
17
|
export { AgUiFrames, endsRun, eventsOfStream, NOT_STREAMING, REACTOR_UI_NAME, readRunStream, RUN_CUT_SHORT, toolResultOf, UI_ON_RUN, } from './agui';
|
|
18
|
-
// A run's stream reduced to what a chat host shows (
|
|
18
|
+
// A run's stream reduced to what a chat host shows (DC-005, S-205).
|
|
19
19
|
export { answerParts, isTerminal, SEMANTIC_EVENTS_VERSION, SEMANTIC_KINDS, } from './semantic';
|
|
20
20
|
export { askQuestionOf, semanticOf, turnOf, } from './semanticOfAgUi';
|
|
21
21
|
export { AG_UI_NOT_ALLOWED, AG_UI_NOT_ON_RUNTIME, agUiRefusal, refusalBody, refusalDetail, } from './agUiRefusal';
|
|
@@ -26,30 +26,30 @@ export { messagesOfThread, openThread, snapshotOfStream, THREAD_WORDS, } from '.
|
|
|
26
26
|
export { BROWSER_LIMITS, CUT_MARK, DEVICE_LIMITS, DIAGNOSTIC_LIMIT, emptyConversation, formFieldsOf, ITEM_LIMIT, MESSAGE_TEXT_LIMIT, questionOf, questionWords, reduceConversation, TOOL_TEXT_LIMIT, withError, withoutItems, withPrompt, withTurnEnded, } from './conversation';
|
|
27
27
|
// What every protocol adapter says, as the conversation reads it (M-030).
|
|
28
28
|
export { conversationEventsOf, sanitizeAssistantContent, snapshotOfMessages, } from './adapterEvents';
|
|
29
|
-
// What an application is doing, in the words beside its face (
|
|
29
|
+
// What an application is doing, in the words beside its face (T-08).
|
|
30
30
|
export { PRESENCE_LINES, presenceOfConversation, presenceState, presenceToolOf, } from './presence';
|
|
31
31
|
// One contract for every renderer of a conversation's components.
|
|
32
32
|
export { ANSWER_BELOW, ANSWER_COMPLETE, composerOf, droppedWords, ENDED_WORDS, messageLabel, OPENING_WORDS, presenceLine, showsQuestion, stepLine, TOOL_STATUS_WORDS, toolLabel, } from './views';
|
|
33
33
|
export { activityFixture, conversationFixture } from './fixtures';
|
|
34
|
-
// The protocol displays a run's tool results carry (
|
|
34
|
+
// The protocol displays a run's tool results carry (M-037).
|
|
35
35
|
export { DISPLAY_META_KEY, displayLine, displayOfToolResult, PAP_CONFIRM_TYPE, PAP_HANDOFF_TOOL, PAP_OUTCOME_TYPE, PAP_REPLIES_TYPE, PAP_SIGN_IN_TYPE, protocolDisplayOf, replyAuthor,
|
|
36
|
-
// A coding agent's diff and terminal (
|
|
36
|
+
// A coding agent's diff and terminal (SH-16).
|
|
37
37
|
DIFF_LINES_LIMIT, SHIELD_DIFF_TYPE, SHIELD_TERMINAL_TYPE, languageOf, unifiedDiffLines, unifiedDiffText, } from './displays';
|
|
38
38
|
export { shieldDisplayFixtures } from './fixtures';
|
|
39
39
|
export { isPapSignInTool, PAP_SIGN_IN_WORDS, readPapSignIn, safeSignInUrl, } from './signIn';
|
|
40
|
-
// A Direct Conversation the person types in themselves (
|
|
40
|
+
// A Direct Conversation the person types in themselves (P-08, M-038).
|
|
41
41
|
export { DIRECT_MAX, DIRECT_WORDS, directAnswerOf, directAuthor, directClient, openDirect, withDirectAnswer, } from './direct';
|
|
42
|
-
// How a sign-in under way stands, asked by the person's own client (
|
|
42
|
+
// How a sign-in under way stands, asked by the person's own client (M-039).
|
|
43
43
|
export { SIGN_IN_POLL_MS, SIGN_IN_STATUS_PATH, signInStandsOf, signInStatusClient, } from './signInStatus';
|
|
44
|
-
// What a company asks the person to type in a mediated sign-in, sent with its one-use ticket (
|
|
44
|
+
// What a company asks the person to type in a mediated sign-in, sent with its one-use ticket (M-039).
|
|
45
45
|
export { emptyFields, fieldProblems, MAX_VALUE_LENGTH, PROTECTED_INPUT_WORDS, protectedInputClient, protectedRequestOf, ProtectedRequestGone, sentWords, submitBody, submitWords, ticketComplete, ticketOfPage, } from './protectedInput';
|
|
46
|
-
// How a streamed turn went, measured without its words (
|
|
46
|
+
// How a streamed turn went, measured without its words (M-036).
|
|
47
47
|
export { failureOf, otlpMetricsOf, RunMeter, } from './runMeasures';
|
|
48
|
-
// What an application is doing, and its record's entries (
|
|
48
|
+
// What an application is doing, and its record's entries (R-15, M-015b).
|
|
49
49
|
export { ACTIVITY_WORDS, activityOf, entryOf, entrySaid, mergeActivityPages, runEndOf, scheduledSays, sessionSentence, wakesOn, } from './activity';
|
|
50
|
-
// A deployment's pause, resume and reset, and its recorded events (
|
|
50
|
+
// A deployment's pause, resume and reset, and its recorded events (R-17, M-041b).
|
|
51
51
|
export { deploymentEventLine, deploymentEventOf, notDeletedOf, resetBody, resetCountsOf, resetLines, stateChangeBody, stoppedWorkLine, stoppedWorkOf, } from './lifecycle';
|
|
52
|
-
// A person's agent runtimes, and an agent's summary (
|
|
52
|
+
// A person's agent runtimes, and an agent's summary (M-014b).
|
|
53
53
|
export { agentRuntimesOf, agentSummaryOfRuntime, CREATING_STATUSES, isAgentRuntime, isCreatingAgent, runtimeOf, } from './runtimes';
|
|
54
54
|
// The runtime's routes a native client drives.
|
|
55
55
|
export { agentRunClient, agentRuntimesUrlOf, appSessionsClient, RuntimeRefusal, } from './sessions';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* A deployment's lifecycle as its owner drives it (
|
|
2
|
+
* A deployment's lifecycle as its owner drives it (R-17, D-04): pause
|
|
3
3
|
* and resume one exact version, reset what it holds, and the events recorded
|
|
4
4
|
* with who did each. The requests' bodies, the answers read and the words
|
|
5
|
-
* said — the same in the Studio and Datalayer Mobile (
|
|
5
|
+
* said — the same in the Studio and Datalayer Mobile (M-041b). Pure:
|
|
6
6
|
* each client sends them with its own authentication.
|
|
7
7
|
*
|
|
8
8
|
* @module portable/lifecycle
|
|
@@ -36,7 +36,7 @@ export type ResetCounts = {
|
|
|
36
36
|
schedules: number;
|
|
37
37
|
/**
|
|
38
38
|
* Why its memories stay: they are its application's, not the
|
|
39
|
-
* deployment's (
|
|
39
|
+
* deployment's (R-18) — forgotten under *What it remembers*.
|
|
40
40
|
*/
|
|
41
41
|
memoriesNote: string;
|
|
42
42
|
};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* What an application is doing, in plain words (
|
|
2
|
+
* What an application is doing, in plain words (T-08): the one line of
|
|
3
3
|
* status beside its face — the same states and words in the web chat
|
|
4
|
-
* (`chat/presence`) and on Datalayer Mobile (
|
|
4
|
+
* (`chat/presence`) and on Datalayer Mobile (M-030).
|
|
5
5
|
*
|
|
6
6
|
* @module portable/presence
|
|
7
7
|
*/
|
|
8
8
|
import type { ConversationState } from './conversation';
|
|
9
9
|
/**
|
|
10
10
|
* The states a person is told about. Paused is its deployment's: its owner
|
|
11
|
-
* paused it (
|
|
11
|
+
* paused it (R-17), and it answers nobody until it is resumed.
|
|
12
12
|
*/
|
|
13
13
|
export type PresenceState = 'idle' | 'thinking' | 'working' | 'waiting' | 'paused';
|
|
14
14
|
/** The line each state is said by. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Mediated sign-in (
|
|
2
|
+
* Mediated sign-in (P-03, M-039): a personal agent signs
|
|
3
3
|
* the person in at a company that asks for what only the person knows — a
|
|
4
4
|
* name and a password, or a code the company sent them. The person types it
|
|
5
5
|
* on a page of their own Datalayer client, signed in to Datalayer; it goes
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
/**
|
|
10
10
|
* How a run ended, in the `output` entry every run ends with, kept whatever
|
|
11
|
-
* the application's `record.include` says (
|
|
11
|
+
* the application's `record.include` says (R-01): its words
|
|
12
12
|
* only when it keeps `outputs`.
|
|
13
13
|
*/
|
|
14
14
|
export declare const RUN_END_WORDS: Record<string, string>;
|
|
@@ -20,7 +20,7 @@ export declare const RUN_END_WORDS: Record<string, string>;
|
|
|
20
20
|
export declare const ASKED_FOR_TAG = "asked-for";
|
|
21
21
|
/**
|
|
22
22
|
* What a person asked, as they are shown it: without what the runtime told
|
|
23
|
-
* the application before their words (
|
|
23
|
+
* the application before their words (decided 2026-10-14).
|
|
24
24
|
* The record keeps it for the application's builder; the person never wrote
|
|
25
25
|
* it, so *Your conversations* and a thread opened again leave it out.
|
|
26
26
|
*/
|
package/lib/portable/records.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
/**
|
|
14
14
|
* How a run ended, in the `output` entry every run ends with, kept whatever
|
|
15
|
-
* the application's `record.include` says (
|
|
15
|
+
* the application's `record.include` says (R-01): its words
|
|
16
16
|
* only when it keeps `outputs`.
|
|
17
17
|
*/
|
|
18
18
|
export const RUN_END_WORDS = {
|
|
@@ -28,7 +28,7 @@ export const RUN_END_WORDS = {
|
|
|
28
28
|
export const ASKED_FOR_TAG = 'asked-for';
|
|
29
29
|
/**
|
|
30
30
|
* What a person asked, as they are shown it: without what the runtime told
|
|
31
|
-
* the application before their words (
|
|
31
|
+
* the application before their words (decided 2026-10-14).
|
|
32
32
|
* The record keeps it for the application's builder; the person never wrote
|
|
33
33
|
* it, so *Your conversations* and a thread opened again leave it out.
|
|
34
34
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* How a streamed turn went, measured without its words (
|
|
2
|
+
* How a streamed turn went, measured without its words (M-036):
|
|
3
3
|
* the time to its first streamed token, to its complete answer, how long a
|
|
4
4
|
* Stop took, the category of a stream that failed, and how often a lost
|
|
5
5
|
* stream was read back. Never a prompt, an answer, a tool's arguments or an
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* How a streamed turn went, measured without its words (
|
|
6
|
+
* How a streamed turn went, measured without its words (M-036):
|
|
7
7
|
* the time to its first streamed token, to its complete answer, how long a
|
|
8
8
|
* Stop took, the category of a stream that failed, and how often a lost
|
|
9
9
|
* stream was read back. Never a prompt, an answer, a tool's arguments or an
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* A person's agent runtimes as the runtimes service lists them
|
|
3
3
|
* (`GET /api/runtimes/v1/runtimes`), and an agent's summary and status as
|
|
4
4
|
* every client says them — the web's `AgentSummary` badge and Datalayer
|
|
5
|
-
* Mobile's Agents (
|
|
5
|
+
* Mobile's Agents (M-014b). A raw runtime carries no application
|
|
6
6
|
* capabilities: no Rules, Protocols or Activity are read from it.
|
|
7
7
|
*
|
|
8
8
|
* @module portable/runtimes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"about": "The semantic agent events a chat host renders (Slack, Discord:
|
|
3
|
+
"about": "The semantic agent events a chat host renders (Slack, Discord: DC-005, S-004, S-205), and the AG-UI events of agent-runtimes' session API (agent_runtimes/routes/apps.py, agent_runtimes/loop/apps/sessions.py, agent_runtimes/loop/apps/external_turns.py) each reduces to. src/portable/semanticOfAgUi.ts reduces every case (src/portable/__tests__/semantic.unit.test.ts); agent_runtimes/tests/test_semantic_events_contract.py holds the cases to what the runtime emits.",
|
|
4
4
|
"kinds": [
|
|
5
5
|
"text",
|
|
6
6
|
"progress",
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* (`__tests__/semantic.unit.test.ts`) and by the runtime that emits the
|
|
7
7
|
* events (`agent_runtimes/tests/test_semantic_events_contract.py`).
|
|
8
8
|
*
|
|
9
|
-
* Moved from the Slack service (
|
|
9
|
+
* Moved from the Slack service (DC-005, S-004, S-205).
|
|
10
10
|
*
|
|
11
11
|
* @module portable/semantic
|
|
12
12
|
*/
|
package/lib/portable/semantic.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* (`__tests__/semantic.unit.test.ts`) and by the runtime that emits the
|
|
11
11
|
* events (`agent_runtimes/tests/test_semantic_events_contract.py`).
|
|
12
12
|
*
|
|
13
|
-
* Moved from the Slack service (
|
|
13
|
+
* Moved from the Slack service (DC-005, S-004, S-205).
|
|
14
14
|
*
|
|
15
15
|
* @module portable/semantic
|
|
16
16
|
*/
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* A question is read from `RUN_FINISHED.result.asking` only: the run stream
|
|
11
11
|
* carries no `loop.ask` event (that is the record's word, `record.py`).
|
|
12
12
|
*
|
|
13
|
-
* Moved from the Slack service (
|
|
13
|
+
* Moved from the Slack service (DC-005, S-205).
|
|
14
14
|
*
|
|
15
15
|
* @module portable/semanticOfAgUi
|
|
16
16
|
*/
|
|
@@ -28,7 +28,7 @@ export declare function turnOf(event: AgUiEvent): TurnInfo | undefined;
|
|
|
28
28
|
/**
|
|
29
29
|
* The question a turn ends on (`RUN_FINISHED.result.asking`), as
|
|
30
30
|
* a host asks it, or `undefined` when the value is not a question. A kind a
|
|
31
|
-
* host does not know is answered in Datalayer, as a form (
|
|
31
|
+
* host does not know is answered in Datalayer, as a form (S-307):
|
|
32
32
|
* never guessed to be text. (`conversation.ts`'s `questionOf`, for a native
|
|
33
33
|
* client, throws on such a kind instead.)
|
|
34
34
|
*/
|
|
@@ -37,7 +37,7 @@ function resultRecord(content) {
|
|
|
37
37
|
/**
|
|
38
38
|
* The question a turn ends on (`RUN_FINISHED.result.asking`), as
|
|
39
39
|
* a host asks it, or `undefined` when the value is not a question. A kind a
|
|
40
|
-
* host does not know is answered in Datalayer, as a form (
|
|
40
|
+
* host does not know is answered in Datalayer, as a form (S-307):
|
|
41
41
|
* never guessed to be text. (`conversation.ts`'s `questionOf`, for a native
|
|
42
42
|
* client, throws on such a kind instead.)
|
|
43
43
|
*/
|
package/lib/portable/signIn.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* What the gateway's `pap_sign_in` tool answers, read and checked
|
|
3
|
-
* (
|
|
3
|
+
* (PI-56, P-03): the person signs in at a
|
|
4
4
|
* company themselves — on the company's page (`direct`), by entering a
|
|
5
5
|
* code there (`device`), or by typing what the company asks on Datalayer's
|
|
6
6
|
* own page (`mediated`), never in the conversation. The chat shows the link,
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*
|
|
11
11
|
* Pure: no React. A test reaches it without a chat around it.
|
|
12
12
|
*
|
|
13
|
-
* Kept in `portable/` (
|
|
13
|
+
* Kept in `portable/` (M-037): Datalayer Mobile reads the same
|
|
14
14
|
* sign-in with the same checks; the web plugin re-exports it.
|
|
15
15
|
*
|
|
16
16
|
* @module portable/signIn
|
|
@@ -24,7 +24,7 @@ export type PapSignInWaiting = {
|
|
|
24
24
|
host: string;
|
|
25
25
|
/**
|
|
26
26
|
* The company's domain, when the gateway names it: for a bound `direct`
|
|
27
|
-
* sign-in the page opened is Datalayer's start link (
|
|
27
|
+
* sign-in the page opened is Datalayer's start link (P-04),
|
|
28
28
|
* which sends the person on to the company and takes them back only from it.
|
|
29
29
|
*/
|
|
30
30
|
company?: string;
|
|
@@ -36,7 +36,7 @@ export type PapSignInWaiting = {
|
|
|
36
36
|
expiresAt?: string;
|
|
37
37
|
/**
|
|
38
38
|
* What the company said it needs (its `authorization` event's scope,
|
|
39
|
-
*
|
|
39
|
+
* P-02): what the person is asked to allow there.
|
|
40
40
|
*/
|
|
41
41
|
needs?: string[];
|
|
42
42
|
};
|
|
@@ -69,7 +69,7 @@ export declare const PAP_SIGN_IN_WORDS: {
|
|
|
69
69
|
};
|
|
70
70
|
/**
|
|
71
71
|
* Where Datalayer's `/pap/signed-in` page says a Direct Sign-In came back
|
|
72
|
-
* (
|
|
72
|
+
* (P-04): the card waiting for that company hears it in the
|
|
73
73
|
* person's tab, so the conversation goes on there.
|
|
74
74
|
*/
|
|
75
75
|
export declare const PAP_SIGN_IN_CHANNEL = "datalayer-pap-sign-in";
|
package/lib/portable/signIn.js
CHANGED
|
@@ -31,7 +31,7 @@ export const PAP_SIGN_IN_WORDS = {
|
|
|
31
31
|
};
|
|
32
32
|
/**
|
|
33
33
|
* Where Datalayer's `/pap/signed-in` page says a Direct Sign-In came back
|
|
34
|
-
* (
|
|
34
|
+
* (P-04): the card waiting for that company hears it in the
|
|
35
35
|
* person's tab, so the conversation goes on there.
|
|
36
36
|
*/
|
|
37
37
|
export const PAP_SIGN_IN_CHANNEL = 'datalayer-pap-sign-in';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* How a sign-in under way stands, asked by the person's own client (
|
|
3
|
-
* M-039): the gateway's `GET /api/mcp/v1/pap/sign-in?app_uid&company`, with
|
|
2
|
+
* How a sign-in under way stands, asked by the person's own client (M-039): the gateway's `GET /api/mcp/v1/pap/sign-in?app_uid&company`, with
|
|
4
3
|
* the person's own sign-in, finishes what can be finished — a Direct return
|
|
5
4
|
* IAM bound to their browser and the company asked, a Device code the
|
|
6
5
|
* company confirmed — and says where it stands.
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* How a sign-in under way stands, asked by the person's own client (
|
|
7
|
-
* M-039): the gateway's `GET /api/mcp/v1/pap/sign-in?app_uid&company`, with
|
|
6
|
+
* How a sign-in under way stands, asked by the person's own client (M-039): the gateway's `GET /api/mcp/v1/pap/sign-in?app_uid&company`, with
|
|
8
7
|
* the person's own sign-in, finishes what can be finished — a Direct return
|
|
9
8
|
* IAM bound to their browser and the company asked, a Device code the
|
|
10
9
|
* company confirmed — and says where it stands.
|
package/lib/portable/thread.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A person's conversation with an application, read again: the person-facing
|
|
3
3
|
* projection of a session's thread, and the thread opened from the runtime
|
|
4
|
-
* that holds it — or resumed from its record (
|
|
4
|
+
* that holds it — or resumed from its record (P-24, D-13, R-04).
|
|
5
5
|
*
|
|
6
6
|
* The web chat (`ChatView`, an embed after its page reloads) and Datalayer
|
|
7
7
|
* Mobile open a thread with these, so that what a person reads of their own
|
|
@@ -21,7 +21,7 @@ export declare const THREAD_WORDS: {
|
|
|
21
21
|
* was said and answered, in words. A turn a personal agent asked is shown
|
|
22
22
|
* without what the runtime told the application before the person's words
|
|
23
23
|
* (`askedOf`, decided 2026-10-14). What its messages showed comes on the
|
|
24
|
-
* conversation's ui socket (
|
|
24
|
+
* conversation's ui socket (RU-W), never here: a `reactor.ui`
|
|
25
25
|
* activity in a thread is refused.
|
|
26
26
|
*/
|
|
27
27
|
export declare function messagesOfThread(messages: unknown): ChatMessage[];
|
package/lib/portable/thread.js
CHANGED
|
@@ -15,7 +15,7 @@ export const THREAD_WORDS = {
|
|
|
15
15
|
* was said and answered, in words. A turn a personal agent asked is shown
|
|
16
16
|
* without what the runtime told the application before the person's words
|
|
17
17
|
* (`askedOf`, decided 2026-10-14). What its messages showed comes on the
|
|
18
|
-
* conversation's ui socket (
|
|
18
|
+
* conversation's ui socket (RU-W), never here: a `reactor.ui`
|
|
19
19
|
* activity in a thread is refused.
|
|
20
20
|
*/
|
|
21
21
|
export function messagesOfThread(messages) {
|
|
@@ -29,7 +29,7 @@ export function messagesOfThread(messages) {
|
|
|
29
29
|
}
|
|
30
30
|
const { id, role, content, activityType } = message;
|
|
31
31
|
if (role === 'activity' && activityType === REACTOR_UI_NAME) {
|
|
32
|
-
throw new Error(`Activity ${String(id)}: what a message showed comes on the ui socket (
|
|
32
|
+
throw new Error(`Activity ${String(id)}: what a message showed comes on the ui socket (RU-W)`);
|
|
33
33
|
}
|
|
34
34
|
if ((role === 'user' || role === 'assistant') &&
|
|
35
35
|
typeof id === 'string' &&
|
package/lib/portable/views.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The conversation's components, as one contract for every renderer (
|
|
3
|
-
*
|
|
2
|
+
* The conversation's components, as one contract for every renderer (M-032):
|
|
3
|
+
* the props each one takes, and what each says — to the
|
|
4
4
|
* eye and to a screen reader — computed here once, so that a native renderer
|
|
5
5
|
* (Datalayer Mobile's `.native` views) and the web's draw the same rows with
|
|
6
6
|
* the same words and states, over `reduceConversation`'s state.
|
|
@@ -60,10 +60,10 @@ export type QuestionCardProps = {
|
|
|
60
60
|
onForm: (values: Record<string, unknown>) => void;
|
|
61
61
|
};
|
|
62
62
|
/**
|
|
63
|
-
* A protocol display under its tool row (
|
|
63
|
+
* A protocol display under its tool row (M-037): what it shows is
|
|
64
64
|
* `displayLine`'s and the display's own — a coding agent's `diff` as a
|
|
65
65
|
* unified diff in the file's language (`unifiedDiffLines`), its `terminal`
|
|
66
|
-
* as the command and the output kept
|
|
66
|
+
* as the command and the output kept; what the person does goes out
|
|
67
67
|
* through the host — a sign-in page opened outside the conversation, an
|
|
68
68
|
* operation answered where approvals are, *I have signed in* said as their
|
|
69
69
|
* next message. Nothing is answered from the card itself.
|
|
@@ -78,7 +78,7 @@ export type ProtocolDisplayProps = {
|
|
|
78
78
|
onSignedIn: (words: string) => void;
|
|
79
79
|
/**
|
|
80
80
|
* Open a Direct Conversation under the conversation a company answered in
|
|
81
|
-
* (`portable/direct`,
|
|
81
|
+
* (`portable/direct`, M-038); absent where none can be opened.
|
|
82
82
|
*/
|
|
83
83
|
onOpenDirect?: (company: string, conversationId: string) => void;
|
|
84
84
|
};
|
|
@@ -34,7 +34,7 @@ export declare class A2AAdapter extends BaseProtocolAdapter {
|
|
|
34
34
|
private currentTaskId;
|
|
35
35
|
/**
|
|
36
36
|
* Whether the connected agent's card advertised the Datalayer
|
|
37
|
-
* orchestration extension (
|
|
37
|
+
* orchestration extension (O3-03). Set once, from
|
|
38
38
|
* `connect()`'s card fetch: neither side infers support from a
|
|
39
39
|
* successful message (the extension's own negotiation rule), so this is
|
|
40
40
|
* the one place that decides it, and every request either activates the
|
|
@@ -98,7 +98,7 @@ export class A2AAdapter extends BaseProtocolAdapter {
|
|
|
98
98
|
currentTaskId = null;
|
|
99
99
|
/**
|
|
100
100
|
* Whether the connected agent's card advertised the Datalayer
|
|
101
|
-
* orchestration extension (
|
|
101
|
+
* orchestration extension (O3-03). Set once, from
|
|
102
102
|
* `connect()`'s card fetch: neither side infers support from a
|
|
103
103
|
* successful message (the extension's own negotiation rule), so this is
|
|
104
104
|
* the one place that decides it, and every request either activates the
|
|
@@ -128,7 +128,7 @@ export class A2AAdapter extends BaseProtocolAdapter {
|
|
|
128
128
|
// fetching it here 404s against every real worker, silently, since
|
|
129
129
|
// a missing card is caught below and connect() still "succeeds" —
|
|
130
130
|
// found live, against agent_teams.a2a.reference_worker
|
|
131
|
-
// (
|
|
131
|
+
// (O3-04), not assumed: `supportsOrchestrationExtension`
|
|
132
132
|
// stayed false against a worker whose card plainly advertised it.
|
|
133
133
|
const agentUrl = this.a2aConfig.agentUrl || this.a2aConfig.baseUrl;
|
|
134
134
|
const wellKnownUrl = new URL('/.well-known/agent-card.json', agentUrl).toString();
|
|
@@ -434,7 +434,7 @@ export class A2AAdapter extends BaseProtocolAdapter {
|
|
|
434
434
|
const state = task.status?.state;
|
|
435
435
|
console.log('[A2AAdapter] Status update:', state, 'final:', task.final);
|
|
436
436
|
// The agent's voice and the lines it says aloud, in a working status
|
|
437
|
-
// message's metadata (
|
|
437
|
+
// message's metadata (VO-36): activities the chat says and
|
|
438
438
|
// captions, as AG-UI's `voice.settings` and `voice.say` custom events.
|
|
439
439
|
const voice = task.status?.message?.metadata?.voice;
|
|
440
440
|
if (voice?.settings) {
|