@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
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Liveness and readiness (
|
|
2
|
+
* Liveness and readiness (S-101): `/healthz` says the
|
|
3
3
|
* process answers; `/readyz` says it can take durable work now — its store
|
|
4
4
|
* and its queue answer — and never asks the host or Datalayer, so a
|
|
5
5
|
* transient outage of either does not take the pods out of service: accepted
|
|
6
6
|
* work waits in the queue instead. And the window a signed host request's
|
|
7
|
-
* timestamp must fall in. Moved from the Slack service (
|
|
8
|
-
* DC-004).
|
|
7
|
+
* timestamp must fall in. Moved from the Slack service (DC-004).
|
|
9
8
|
*
|
|
10
9
|
* @module portable/hosts/health
|
|
11
10
|
*/
|
|
@@ -25,7 +24,7 @@ export declare const HEALTH_PATHS: readonly ["/healthz", "/readyz"];
|
|
|
25
24
|
export declare function answerHealth(checks: ReadinessChecks, request: IncomingMessage, response: ServerResponse): boolean;
|
|
26
25
|
/** A worker's own server: its health and readiness only (no host route). */
|
|
27
26
|
export declare function healthServer(checks: ReadinessChecks): Server;
|
|
28
|
-
/** How far a signed host request's timestamp may be from now, either way
|
|
27
|
+
/** How far a signed host request's timestamp may be from now, either way. */
|
|
29
28
|
export declare const REQUEST_WINDOW_SECONDS: number;
|
|
30
29
|
/**
|
|
31
30
|
* Whether a request's timestamp header (Slack's `X-Slack-Request-Timestamp`,
|
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
* Distributed under the terms of the Modified BSD License.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* Liveness and readiness (
|
|
6
|
+
* Liveness and readiness (S-101): `/healthz` says the
|
|
7
7
|
* process answers; `/readyz` says it can take durable work now — its store
|
|
8
8
|
* and its queue answer — and never asks the host or Datalayer, so a
|
|
9
9
|
* transient outage of either does not take the pods out of service: accepted
|
|
10
10
|
* work waits in the queue instead. And the window a signed host request's
|
|
11
|
-
* timestamp must fall in. Moved from the Slack service (
|
|
12
|
-
* DC-004).
|
|
11
|
+
* timestamp must fall in. Moved from the Slack service (DC-004).
|
|
13
12
|
*
|
|
14
13
|
* @module portable/hosts/health
|
|
15
14
|
*/
|
|
@@ -78,7 +77,7 @@ export function healthServer(checks) {
|
|
|
78
77
|
}
|
|
79
78
|
});
|
|
80
79
|
}
|
|
81
|
-
/** How far a signed host request's timestamp may be from now, either way
|
|
80
|
+
/** How far a signed host request's timestamp may be from now, either way. */
|
|
82
81
|
export const REQUEST_WINDOW_SECONDS = 5 * 60;
|
|
83
82
|
/**
|
|
84
83
|
* Whether a request's timestamp header (Slack's `X-Slack-Request-Timestamp`,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* semantic events a turn is reduced to, approval renderers, deliveries, the
|
|
5
5
|
* turn's state, application resolution, the durable queue, quotas, secrets
|
|
6
6
|
* at rest, observability, dead letters, health, the shared schema and the
|
|
7
|
-
* forbidden-graph gate (
|
|
7
|
+
* forbidden-graph gate (DC-004, DC-005).
|
|
8
8
|
*
|
|
9
9
|
* Imported as `@datalayer/agent-runtimes/lib/portable/hosts`, and only by a
|
|
10
10
|
* Node service, which bundles it with esbuild. It reaches `src/portable/` and
|
|
@@ -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
|
*/
|
|
@@ -40,6 +40,13 @@ export interface WorkQueue<T> {
|
|
|
40
40
|
/** In-process development queue. A durable adapter is required in production. */
|
|
41
41
|
export declare class MemoryWorkQueue<T> implements WorkQueue<T> {
|
|
42
42
|
#private;
|
|
43
|
+
readonly onFailure: (error: unknown, item: T) => void;
|
|
44
|
+
/**
|
|
45
|
+
* A job that throws is reported here and dropped, and the next one is
|
|
46
|
+
* worked: one failure never stops the queue, nor the process with an
|
|
47
|
+
* unhandled rejection. The durable queue retries and dead-letters instead.
|
|
48
|
+
*/
|
|
49
|
+
constructor(onFailure?: (error: unknown, item: T) => void);
|
|
43
50
|
enqueue(item: T, idempotencyKey?: string): Promise<boolean>;
|
|
44
51
|
ready(): Promise<boolean>;
|
|
45
52
|
start(handler: (item: T) => Promise<void>): void;
|
|
@@ -11,10 +11,21 @@ export function tablePrefixOf(prefix) {
|
|
|
11
11
|
}
|
|
12
12
|
/** In-process development queue. A durable adapter is required in production. */
|
|
13
13
|
export class MemoryWorkQueue {
|
|
14
|
+
onFailure;
|
|
14
15
|
#items = [];
|
|
15
16
|
#keys = new Set();
|
|
16
17
|
#handler;
|
|
17
18
|
#running = false;
|
|
19
|
+
/**
|
|
20
|
+
* A job that throws is reported here and dropped, and the next one is
|
|
21
|
+
* worked: one failure never stops the queue, nor the process with an
|
|
22
|
+
* unhandled rejection. The durable queue retries and dead-letters instead.
|
|
23
|
+
*/
|
|
24
|
+
constructor(onFailure = error => {
|
|
25
|
+
console.error(`A job failed and was dropped: ${error instanceof Error ? error.message : String(error)}`);
|
|
26
|
+
}) {
|
|
27
|
+
this.onFailure = onFailure;
|
|
28
|
+
}
|
|
18
29
|
async enqueue(item, idempotencyKey) {
|
|
19
30
|
if (idempotencyKey) {
|
|
20
31
|
if (this.#keys.has(idempotencyKey)) {
|
|
@@ -52,7 +63,12 @@ export class MemoryWorkQueue {
|
|
|
52
63
|
}
|
|
53
64
|
const item = this.#items.shift();
|
|
54
65
|
if (item !== undefined) {
|
|
55
|
-
|
|
66
|
+
try {
|
|
67
|
+
await handler(item);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
this.onFailure(error, item);
|
|
71
|
+
}
|
|
56
72
|
}
|
|
57
73
|
}
|
|
58
74
|
}
|
|
@@ -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.
|