@agent-native/core 0.92.12 → 0.94.0
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/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +64 -0
- package/corpus/core/docs/content/a2a-protocol.mdx +21 -5
- package/corpus/core/docs/content/actions.mdx +9 -23
- package/corpus/core/docs/content/agent-mentions.mdx +31 -29
- package/corpus/core/docs/content/agent-native-toolkit.mdx +15 -6
- package/corpus/core/docs/content/agent-surfaces.mdx +9 -13
- package/corpus/core/docs/content/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/authentication.mdx +10 -3
- package/corpus/core/docs/content/automation-connectors.mdx +123 -0
- package/corpus/core/docs/content/automations.mdx +17 -3
- package/corpus/core/docs/content/blueprint-installer.mdx +11 -4
- package/corpus/core/docs/content/cli-adapters.mdx +9 -6
- package/corpus/core/docs/content/client.mdx +16 -0
- package/corpus/core/docs/content/cloneable-saas.mdx +14 -11
- package/corpus/core/docs/content/code-agents-ui.mdx +65 -0
- package/corpus/core/docs/content/components.mdx +30 -14
- package/corpus/core/docs/content/context-awareness.mdx +27 -15
- package/corpus/core/docs/content/creating-templates.mdx +15 -9
- package/corpus/core/docs/content/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/data-programs.mdx +1 -1
- package/corpus/core/docs/content/database.mdx +17 -5
- package/corpus/core/docs/content/deployment.mdx +19 -18
- package/corpus/core/docs/content/dispatch.mdx +6 -2
- package/corpus/core/docs/content/drop-in-agent.mdx +10 -4
- package/corpus/core/docs/content/durable-background-runs.mdx +9 -5
- package/corpus/core/docs/content/durable-resume.mdx +9 -4
- package/corpus/core/docs/content/embedding-sdk.mdx +26 -8
- package/corpus/core/docs/content/evals.mdx +3 -5
- package/corpus/core/docs/content/extensions.mdx +23 -2
- package/corpus/core/docs/content/external-agents.mdx +25 -34
- package/corpus/core/docs/content/faq.mdx +8 -0
- package/corpus/core/docs/content/file-uploads.mdx +12 -3
- package/corpus/core/docs/content/frames.mdx +16 -0
- package/corpus/core/docs/content/generative-ui.mdx +1 -1
- package/corpus/core/docs/content/getting-started.mdx +34 -21
- package/corpus/core/docs/content/harness-agents.mdx +8 -4
- package/corpus/core/docs/content/human-approval.mdx +8 -3
- package/corpus/core/docs/content/internationalization.mdx +9 -4
- package/corpus/core/docs/content/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/local-file-mode.mdx +14 -8
- package/corpus/core/docs/content/locales/ar-SA/actions.mdx +2 -2
- package/corpus/core/docs/content/locales/ar-SA/agent-native-toolkit.mdx +2 -2
- package/corpus/core/docs/content/locales/ar-SA/agent-surfaces.mdx +8 -10
- package/corpus/core/docs/content/locales/ar-SA/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/locales/ar-SA/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/ar-SA/components.mdx +11 -1
- package/corpus/core/docs/content/locales/ar-SA/creating-templates.mdx +3 -7
- package/corpus/core/docs/content/locales/ar-SA/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/locales/ar-SA/deployment.mdx +8 -0
- package/corpus/core/docs/content/locales/ar-SA/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/ar-SA/external-agents.mdx +2 -7
- package/corpus/core/docs/content/locales/ar-SA/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/locales/ar-SA/messaging.mdx +84 -15
- package/corpus/core/docs/content/locales/ar-SA/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/locales/ar-SA/notifications.mdx +18 -10
- package/corpus/core/docs/content/locales/ar-SA/processors.mdx +11 -5
- package/corpus/core/docs/content/locales/ar-SA/server.mdx +17 -10
- package/corpus/core/docs/content/locales/ar-SA/sharing.mdx +10 -10
- package/corpus/core/docs/content/locales/ar-SA/skills-guide.mdx +34 -17
- package/corpus/core/docs/content/locales/ar-SA/template-assets.mdx +16 -13
- package/corpus/core/docs/content/locales/ar-SA/template-brain.mdx +3 -1
- package/corpus/core/docs/content/locales/ar-SA/template-clips.mdx +4 -3
- package/corpus/core/docs/content/locales/ar-SA/template-design.mdx +4 -1
- package/corpus/core/docs/content/locales/ar-SA/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/locales/ar-SA/template-mail.mdx +8 -0
- package/corpus/core/docs/content/locales/ar-SA/tracking.mdx +9 -6
- package/corpus/core/docs/content/locales/ar-SA/using-your-agent.mdx +0 -7
- package/corpus/core/docs/content/locales/ar-SA/voice-input.mdx +6 -0
- package/corpus/core/docs/content/locales/ar-SA/workspace-connections.mdx +9 -2
- package/corpus/core/docs/content/locales/ar-SA/workspace.mdx +19 -18
- package/corpus/core/docs/content/locales/de-DE/actions.mdx +2 -2
- package/corpus/core/docs/content/locales/de-DE/agent-native-toolkit.mdx +2 -2
- package/corpus/core/docs/content/locales/de-DE/agent-surfaces.mdx +8 -10
- package/corpus/core/docs/content/locales/de-DE/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/locales/de-DE/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/components.mdx +11 -1
- package/corpus/core/docs/content/locales/de-DE/creating-templates.mdx +3 -7
- package/corpus/core/docs/content/locales/de-DE/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/locales/de-DE/deployment.mdx +8 -0
- package/corpus/core/docs/content/locales/de-DE/extensions.mdx +10 -0
- package/corpus/core/docs/content/locales/de-DE/external-agents.mdx +3 -7
- package/corpus/core/docs/content/locales/de-DE/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/locales/de-DE/messaging.mdx +92 -15
- package/corpus/core/docs/content/locales/de-DE/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/locales/de-DE/notifications.mdx +18 -10
- package/corpus/core/docs/content/locales/de-DE/processors.mdx +11 -5
- package/corpus/core/docs/content/locales/de-DE/server.mdx +18 -10
- package/corpus/core/docs/content/locales/de-DE/sharing.mdx +10 -10
- package/corpus/core/docs/content/locales/de-DE/skills-guide.mdx +34 -17
- package/corpus/core/docs/content/locales/de-DE/template-assets.mdx +16 -13
- package/corpus/core/docs/content/locales/de-DE/template-brain.mdx +3 -1
- package/corpus/core/docs/content/locales/de-DE/template-clips.mdx +4 -3
- package/corpus/core/docs/content/locales/de-DE/template-design.mdx +4 -1
- package/corpus/core/docs/content/locales/de-DE/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/locales/de-DE/template-mail.mdx +8 -0
- package/corpus/core/docs/content/locales/de-DE/tracking.mdx +9 -6
- package/corpus/core/docs/content/locales/de-DE/using-your-agent.mdx +0 -7
- package/corpus/core/docs/content/locales/de-DE/voice-input.mdx +6 -0
- package/corpus/core/docs/content/locales/de-DE/workspace-connections.mdx +9 -2
- package/corpus/core/docs/content/locales/de-DE/workspace.mdx +19 -18
- package/corpus/core/docs/content/locales/es-ES/actions.mdx +2 -2
- package/corpus/core/docs/content/locales/es-ES/agent-native-toolkit.mdx +2 -2
- package/corpus/core/docs/content/locales/es-ES/agent-surfaces.mdx +8 -10
- package/corpus/core/docs/content/locales/es-ES/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/locales/es-ES/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/components.mdx +11 -1
- package/corpus/core/docs/content/locales/es-ES/creating-templates.mdx +3 -7
- package/corpus/core/docs/content/locales/es-ES/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/locales/es-ES/deployment.mdx +8 -0
- package/corpus/core/docs/content/locales/es-ES/extensions.mdx +10 -0
- package/corpus/core/docs/content/locales/es-ES/external-agents.mdx +3 -7
- package/corpus/core/docs/content/locales/es-ES/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/locales/es-ES/messaging.mdx +91 -15
- package/corpus/core/docs/content/locales/es-ES/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/locales/es-ES/notifications.mdx +18 -10
- package/corpus/core/docs/content/locales/es-ES/processors.mdx +11 -5
- package/corpus/core/docs/content/locales/es-ES/server.mdx +17 -10
- package/corpus/core/docs/content/locales/es-ES/sharing.mdx +10 -10
- package/corpus/core/docs/content/locales/es-ES/skills-guide.mdx +34 -17
- package/corpus/core/docs/content/locales/es-ES/template-assets.mdx +16 -13
- package/corpus/core/docs/content/locales/es-ES/template-brain.mdx +3 -1
- package/corpus/core/docs/content/locales/es-ES/template-clips.mdx +4 -3
- package/corpus/core/docs/content/locales/es-ES/template-design.mdx +4 -1
- package/corpus/core/docs/content/locales/es-ES/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/locales/es-ES/template-mail.mdx +8 -0
- package/corpus/core/docs/content/locales/es-ES/tracking.mdx +9 -6
- package/corpus/core/docs/content/locales/es-ES/using-your-agent.mdx +0 -7
- package/corpus/core/docs/content/locales/es-ES/voice-input.mdx +6 -0
- package/corpus/core/docs/content/locales/es-ES/workspace-connections.mdx +9 -2
- package/corpus/core/docs/content/locales/es-ES/workspace.mdx +19 -18
- package/corpus/core/docs/content/locales/fr-FR/actions.mdx +2 -2
- package/corpus/core/docs/content/locales/fr-FR/agent-native-toolkit.mdx +2 -2
- package/corpus/core/docs/content/locales/fr-FR/agent-surfaces.mdx +8 -10
- package/corpus/core/docs/content/locales/fr-FR/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/locales/fr-FR/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/components.mdx +11 -1
- package/corpus/core/docs/content/locales/fr-FR/creating-templates.mdx +3 -7
- package/corpus/core/docs/content/locales/fr-FR/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/locales/fr-FR/deployment.mdx +8 -0
- package/corpus/core/docs/content/locales/fr-FR/extensions.mdx +10 -0
- package/corpus/core/docs/content/locales/fr-FR/external-agents.mdx +3 -7
- package/corpus/core/docs/content/locales/fr-FR/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/locales/fr-FR/messaging.mdx +91 -15
- package/corpus/core/docs/content/locales/fr-FR/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/locales/fr-FR/notifications.mdx +18 -10
- package/corpus/core/docs/content/locales/fr-FR/processors.mdx +11 -5
- package/corpus/core/docs/content/locales/fr-FR/server.mdx +17 -10
- package/corpus/core/docs/content/locales/fr-FR/sharing.mdx +10 -10
- package/corpus/core/docs/content/locales/fr-FR/skills-guide.mdx +34 -17
- package/corpus/core/docs/content/locales/fr-FR/template-assets.mdx +16 -13
- package/corpus/core/docs/content/locales/fr-FR/template-brain.mdx +3 -1
- package/corpus/core/docs/content/locales/fr-FR/template-clips.mdx +4 -3
- package/corpus/core/docs/content/locales/fr-FR/template-design.mdx +4 -1
- package/corpus/core/docs/content/locales/fr-FR/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/locales/fr-FR/template-mail.mdx +8 -0
- package/corpus/core/docs/content/locales/fr-FR/tracking.mdx +9 -6
- package/corpus/core/docs/content/locales/fr-FR/using-your-agent.mdx +0 -7
- package/corpus/core/docs/content/locales/fr-FR/voice-input.mdx +6 -0
- package/corpus/core/docs/content/locales/fr-FR/workspace-connections.mdx +9 -2
- package/corpus/core/docs/content/locales/fr-FR/workspace.mdx +19 -18
- package/corpus/core/docs/content/locales/hi-IN/actions.mdx +2 -2
- package/corpus/core/docs/content/locales/hi-IN/agent-native-toolkit.mdx +2 -2
- package/corpus/core/docs/content/locales/hi-IN/agent-surfaces.mdx +8 -10
- package/corpus/core/docs/content/locales/hi-IN/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/locales/hi-IN/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/components.mdx +11 -1
- package/corpus/core/docs/content/locales/hi-IN/creating-templates.mdx +3 -7
- package/corpus/core/docs/content/locales/hi-IN/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/locales/hi-IN/deployment.mdx +8 -0
- package/corpus/core/docs/content/locales/hi-IN/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/hi-IN/external-agents.mdx +2 -7
- package/corpus/core/docs/content/locales/hi-IN/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/locales/hi-IN/messaging.mdx +81 -15
- package/corpus/core/docs/content/locales/hi-IN/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/locales/hi-IN/notifications.mdx +18 -10
- package/corpus/core/docs/content/locales/hi-IN/processors.mdx +11 -5
- package/corpus/core/docs/content/locales/hi-IN/server.mdx +17 -10
- package/corpus/core/docs/content/locales/hi-IN/sharing.mdx +10 -10
- package/corpus/core/docs/content/locales/hi-IN/skills-guide.mdx +34 -17
- package/corpus/core/docs/content/locales/hi-IN/template-assets.mdx +16 -13
- package/corpus/core/docs/content/locales/hi-IN/template-brain.mdx +3 -1
- package/corpus/core/docs/content/locales/hi-IN/template-clips.mdx +4 -3
- package/corpus/core/docs/content/locales/hi-IN/template-design.mdx +4 -1
- package/corpus/core/docs/content/locales/hi-IN/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/locales/hi-IN/template-mail.mdx +8 -0
- package/corpus/core/docs/content/locales/hi-IN/tracking.mdx +9 -6
- package/corpus/core/docs/content/locales/hi-IN/using-your-agent.mdx +0 -7
- package/corpus/core/docs/content/locales/hi-IN/voice-input.mdx +6 -0
- package/corpus/core/docs/content/locales/hi-IN/workspace-connections.mdx +9 -2
- package/corpus/core/docs/content/locales/hi-IN/workspace.mdx +19 -18
- package/corpus/core/docs/content/locales/ja-JP/actions.mdx +2 -2
- package/corpus/core/docs/content/locales/ja-JP/agent-native-toolkit.mdx +2 -2
- package/corpus/core/docs/content/locales/ja-JP/agent-surfaces.mdx +8 -10
- package/corpus/core/docs/content/locales/ja-JP/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/locales/ja-JP/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/components.mdx +11 -1
- package/corpus/core/docs/content/locales/ja-JP/creating-templates.mdx +3 -7
- package/corpus/core/docs/content/locales/ja-JP/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/locales/ja-JP/deployment.mdx +8 -0
- package/corpus/core/docs/content/locales/ja-JP/extensions.mdx +9 -0
- package/corpus/core/docs/content/locales/ja-JP/external-agents.mdx +2 -7
- package/corpus/core/docs/content/locales/ja-JP/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/locales/ja-JP/messaging.mdx +81 -15
- package/corpus/core/docs/content/locales/ja-JP/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/locales/ja-JP/notifications.mdx +18 -10
- package/corpus/core/docs/content/locales/ja-JP/processors.mdx +11 -5
- package/corpus/core/docs/content/locales/ja-JP/server.mdx +17 -10
- package/corpus/core/docs/content/locales/ja-JP/sharing.mdx +10 -10
- package/corpus/core/docs/content/locales/ja-JP/skills-guide.mdx +34 -17
- package/corpus/core/docs/content/locales/ja-JP/template-assets.mdx +16 -13
- package/corpus/core/docs/content/locales/ja-JP/template-brain.mdx +3 -1
- package/corpus/core/docs/content/locales/ja-JP/template-clips.mdx +4 -4
- package/corpus/core/docs/content/locales/ja-JP/template-design.mdx +4 -1
- package/corpus/core/docs/content/locales/ja-JP/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/locales/ja-JP/template-mail.mdx +8 -0
- package/corpus/core/docs/content/locales/ja-JP/tracking.mdx +9 -6
- package/corpus/core/docs/content/locales/ja-JP/using-your-agent.mdx +0 -7
- package/corpus/core/docs/content/locales/ja-JP/voice-input.mdx +6 -0
- package/corpus/core/docs/content/locales/ja-JP/workspace-connections.mdx +9 -2
- package/corpus/core/docs/content/locales/ja-JP/workspace.mdx +19 -18
- package/corpus/core/docs/content/locales/ko-KR/actions.mdx +2 -2
- package/corpus/core/docs/content/locales/ko-KR/agent-native-toolkit.mdx +2 -2
- package/corpus/core/docs/content/locales/ko-KR/agent-surfaces.mdx +8 -10
- package/corpus/core/docs/content/locales/ko-KR/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/locales/ko-KR/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/components.mdx +11 -1
- package/corpus/core/docs/content/locales/ko-KR/creating-templates.mdx +3 -7
- package/corpus/core/docs/content/locales/ko-KR/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/locales/ko-KR/deployment.mdx +8 -0
- package/corpus/core/docs/content/locales/ko-KR/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/ko-KR/external-agents.mdx +2 -7
- package/corpus/core/docs/content/locales/ko-KR/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/locales/ko-KR/messaging.mdx +80 -15
- package/corpus/core/docs/content/locales/ko-KR/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/locales/ko-KR/notifications.mdx +18 -10
- package/corpus/core/docs/content/locales/ko-KR/processors.mdx +11 -5
- package/corpus/core/docs/content/locales/ko-KR/server.mdx +17 -10
- package/corpus/core/docs/content/locales/ko-KR/sharing.mdx +10 -10
- package/corpus/core/docs/content/locales/ko-KR/skills-guide.mdx +34 -17
- package/corpus/core/docs/content/locales/ko-KR/template-assets.mdx +16 -13
- package/corpus/core/docs/content/locales/ko-KR/template-brain.mdx +3 -1
- package/corpus/core/docs/content/locales/ko-KR/template-clips.mdx +4 -4
- package/corpus/core/docs/content/locales/ko-KR/template-design.mdx +4 -1
- package/corpus/core/docs/content/locales/ko-KR/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/locales/ko-KR/template-mail.mdx +8 -0
- package/corpus/core/docs/content/locales/ko-KR/tracking.mdx +9 -6
- package/corpus/core/docs/content/locales/ko-KR/using-your-agent.mdx +0 -7
- package/corpus/core/docs/content/locales/ko-KR/voice-input.mdx +6 -0
- package/corpus/core/docs/content/locales/ko-KR/workspace-connections.mdx +9 -2
- package/corpus/core/docs/content/locales/ko-KR/workspace.mdx +19 -18
- package/corpus/core/docs/content/locales/pt-BR/actions.mdx +2 -2
- package/corpus/core/docs/content/locales/pt-BR/agent-native-toolkit.mdx +2 -2
- package/corpus/core/docs/content/locales/pt-BR/agent-surfaces.mdx +8 -10
- package/corpus/core/docs/content/locales/pt-BR/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/locales/pt-BR/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/components.mdx +11 -1
- package/corpus/core/docs/content/locales/pt-BR/creating-templates.mdx +3 -7
- package/corpus/core/docs/content/locales/pt-BR/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/locales/pt-BR/deployment.mdx +8 -0
- package/corpus/core/docs/content/locales/pt-BR/extensions.mdx +9 -0
- package/corpus/core/docs/content/locales/pt-BR/external-agents.mdx +3 -7
- package/corpus/core/docs/content/locales/pt-BR/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/locales/pt-BR/messaging.mdx +88 -15
- package/corpus/core/docs/content/locales/pt-BR/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/locales/pt-BR/notifications.mdx +18 -10
- package/corpus/core/docs/content/locales/pt-BR/processors.mdx +11 -5
- package/corpus/core/docs/content/locales/pt-BR/server.mdx +17 -10
- package/corpus/core/docs/content/locales/pt-BR/sharing.mdx +10 -10
- package/corpus/core/docs/content/locales/pt-BR/skills-guide.mdx +34 -17
- package/corpus/core/docs/content/locales/pt-BR/template-assets.mdx +16 -13
- package/corpus/core/docs/content/locales/pt-BR/template-brain.mdx +3 -1
- package/corpus/core/docs/content/locales/pt-BR/template-clips.mdx +4 -3
- package/corpus/core/docs/content/locales/pt-BR/template-design.mdx +4 -1
- package/corpus/core/docs/content/locales/pt-BR/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/locales/pt-BR/template-mail.mdx +8 -0
- package/corpus/core/docs/content/locales/pt-BR/tracking.mdx +9 -6
- package/corpus/core/docs/content/locales/pt-BR/using-your-agent.mdx +0 -7
- package/corpus/core/docs/content/locales/pt-BR/voice-input.mdx +6 -0
- package/corpus/core/docs/content/locales/pt-BR/workspace-connections.mdx +9 -2
- package/corpus/core/docs/content/locales/pt-BR/workspace.mdx +19 -18
- package/corpus/core/docs/content/locales/zh-CN/actions.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-CN/agent-native-toolkit.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-CN/agent-surfaces.mdx +8 -10
- package/corpus/core/docs/content/locales/zh-CN/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/locales/zh-CN/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/components.mdx +11 -1
- package/corpus/core/docs/content/locales/zh-CN/creating-templates.mdx +3 -7
- package/corpus/core/docs/content/locales/zh-CN/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/locales/zh-CN/deployment.mdx +8 -0
- package/corpus/core/docs/content/locales/zh-CN/extensions.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-CN/external-agents.mdx +2 -7
- package/corpus/core/docs/content/locales/zh-CN/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/locales/zh-CN/messaging.mdx +78 -15
- package/corpus/core/docs/content/locales/zh-CN/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/locales/zh-CN/notifications.mdx +18 -10
- package/corpus/core/docs/content/locales/zh-CN/processors.mdx +11 -5
- package/corpus/core/docs/content/locales/zh-CN/server.mdx +16 -10
- package/corpus/core/docs/content/locales/zh-CN/sharing.mdx +10 -10
- package/corpus/core/docs/content/locales/zh-CN/skills-guide.mdx +34 -17
- package/corpus/core/docs/content/locales/zh-CN/template-assets.mdx +16 -13
- package/corpus/core/docs/content/locales/zh-CN/template-brain.mdx +3 -1
- package/corpus/core/docs/content/locales/zh-CN/template-clips.mdx +4 -4
- package/corpus/core/docs/content/locales/zh-CN/template-design.mdx +4 -1
- package/corpus/core/docs/content/locales/zh-CN/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/locales/zh-CN/template-mail.mdx +8 -0
- package/corpus/core/docs/content/locales/zh-CN/tracking.mdx +9 -6
- package/corpus/core/docs/content/locales/zh-CN/using-your-agent.mdx +0 -7
- package/corpus/core/docs/content/locales/zh-CN/voice-input.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-CN/workspace-connections.mdx +9 -2
- package/corpus/core/docs/content/locales/zh-CN/workspace.mdx +19 -18
- package/corpus/core/docs/content/locales/zh-TW/actions.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-TW/agent-native-toolkit.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-TW/agent-surfaces.mdx +8 -10
- package/corpus/core/docs/content/locales/zh-TW/agent-teams.mdx +1 -0
- package/corpus/core/docs/content/locales/zh-TW/authentication.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/components.mdx +11 -1
- package/corpus/core/docs/content/locales/zh-TW/creating-templates.mdx +3 -7
- package/corpus/core/docs/content/locales/zh-TW/cross-app-sso.mdx +16 -6
- package/corpus/core/docs/content/locales/zh-TW/deployment.mdx +8 -0
- package/corpus/core/docs/content/locales/zh-TW/extensions.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-TW/external-agents.mdx +2 -7
- package/corpus/core/docs/content/locales/zh-TW/key-concepts.mdx +13 -20
- package/corpus/core/docs/content/locales/zh-TW/messaging.mdx +78 -15
- package/corpus/core/docs/content/locales/zh-TW/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/locales/zh-TW/notifications.mdx +18 -10
- package/corpus/core/docs/content/locales/zh-TW/processors.mdx +11 -5
- package/corpus/core/docs/content/locales/zh-TW/server.mdx +16 -10
- package/corpus/core/docs/content/locales/zh-TW/sharing.mdx +10 -10
- package/corpus/core/docs/content/locales/zh-TW/skills-guide.mdx +34 -17
- package/corpus/core/docs/content/locales/zh-TW/template-assets.mdx +16 -13
- package/corpus/core/docs/content/locales/zh-TW/template-brain.mdx +3 -1
- package/corpus/core/docs/content/locales/zh-TW/template-clips.mdx +4 -4
- package/corpus/core/docs/content/locales/zh-TW/template-design.mdx +4 -1
- package/corpus/core/docs/content/locales/zh-TW/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/locales/zh-TW/template-mail.mdx +8 -0
- package/corpus/core/docs/content/locales/zh-TW/tracking.mdx +9 -6
- package/corpus/core/docs/content/locales/zh-TW/using-your-agent.mdx +0 -7
- package/corpus/core/docs/content/locales/zh-TW/voice-input.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-TW/workspace-connections.mdx +9 -2
- package/corpus/core/docs/content/locales/zh-TW/workspace.mdx +19 -18
- package/corpus/core/docs/content/mcp-apps.mdx +14 -32
- package/corpus/core/docs/content/mcp-clients.mdx +48 -54
- package/corpus/core/docs/content/mcp-protocol.mdx +25 -10
- package/corpus/core/docs/content/messaging.mdx +238 -48
- package/corpus/core/docs/content/multi-app-workspace.mdx +11 -96
- package/corpus/core/docs/content/multi-tenancy.mdx +5 -5
- package/corpus/core/docs/content/native-chat-ui.mdx +4 -4
- package/corpus/core/docs/content/notifications.mdx +19 -12
- package/corpus/core/docs/content/observability.mdx +2 -4
- package/corpus/core/docs/content/observational-memory.mdx +7 -3
- package/corpus/core/docs/content/onboarding.mdx +9 -2
- package/corpus/core/docs/content/plan-plugin.mdx +10 -2
- package/corpus/core/docs/content/pr-visual-recap.mdx +1 -1
- package/corpus/core/docs/content/processors.mdx +11 -5
- package/corpus/core/docs/content/pure-agent-apps.mdx +5 -1
- package/corpus/core/docs/content/real-time-collaboration.mdx +30 -67
- package/corpus/core/docs/content/recurring-jobs.mdx +8 -6
- package/corpus/core/docs/content/routing.mdx +3 -4
- package/corpus/core/docs/content/sandbox-adapters.mdx +30 -53
- package/corpus/core/docs/content/security.mdx +8 -0
- package/corpus/core/docs/content/server.mdx +17 -10
- package/corpus/core/docs/content/sharing.mdx +10 -10
- package/corpus/core/docs/content/skills-guide.mdx +35 -16
- package/corpus/core/docs/content/template-analytics.mdx +11 -8
- package/corpus/core/docs/content/template-assets.mdx +16 -13
- package/corpus/core/docs/content/template-brain.mdx +3 -1
- package/corpus/core/docs/content/template-calendar.mdx +12 -4
- package/corpus/core/docs/content/template-chat.mdx +4 -4
- package/corpus/core/docs/content/template-clips.mdx +6 -3
- package/corpus/core/docs/content/template-content.mdx +23 -18
- package/corpus/core/docs/content/template-design.mdx +7 -1
- package/corpus/core/docs/content/template-dispatch.mdx +5 -1
- package/corpus/core/docs/content/template-mail.mdx +14 -2
- package/corpus/core/docs/content/template-plan.mdx +22 -15
- package/corpus/core/docs/content/template-slides.mdx +11 -3
- package/corpus/core/docs/content/toolkit-agent-ux.mdx +46 -3
- package/corpus/core/docs/content/toolkit-collaboration.mdx +58 -4
- package/corpus/core/docs/content/toolkit-command-navigation.mdx +8 -2
- package/corpus/core/docs/content/toolkit-comments-review.mdx +10 -2
- package/corpus/core/docs/content/toolkit-history.mdx +8 -3
- package/corpus/core/docs/content/toolkit-observability.mdx +48 -2
- package/corpus/core/docs/content/toolkit-org-team.mdx +8 -2
- package/corpus/core/docs/content/toolkit-resources.mdx +45 -2
- package/corpus/core/docs/content/toolkit-settings.mdx +8 -2
- package/corpus/core/docs/content/toolkit-setup-connections.mdx +7 -2
- package/corpus/core/docs/content/toolkit-sharing.mdx +46 -3
- package/corpus/core/docs/content/toolkit-ui.mdx +82 -11
- package/corpus/core/docs/content/tracking.mdx +10 -8
- package/corpus/core/docs/content/using-your-agent.mdx +0 -12
- package/corpus/core/docs/content/voice-input.mdx +7 -1
- package/corpus/core/docs/content/what-is-agent-native.mdx +7 -8
- package/corpus/core/docs/content/workspace-connections.mdx +16 -23
- package/corpus/core/docs/content/workspace-management.mdx +16 -4
- package/corpus/core/docs/content/workspace.mdx +19 -18
- package/corpus/core/package.json +5 -1
- package/corpus/core/src/a2a/artifact-response.ts +131 -2
- package/corpus/core/src/a2a/client.ts +10 -0
- package/corpus/core/src/a2a/handlers.ts +40 -76
- package/corpus/core/src/a2a/types.ts +2 -0
- package/corpus/core/src/agent/context-xray/tokenize.ts +6 -1
- package/corpus/core/src/agent/durable-background.ts +24 -0
- package/corpus/core/src/agent/engine/ai-sdk-engine.ts +9 -5
- package/corpus/core/src/agent/engine/anthropic-engine.ts +2 -4
- package/corpus/core/src/agent/engine/builder-engine.ts +5 -7
- package/corpus/core/src/agent/engine/index.ts +1 -0
- package/corpus/core/src/agent/engine/registry.ts +40 -0
- package/corpus/core/src/agent/harness/ai-sdk-adapter.ts +6 -1
- package/corpus/core/src/agent/harness/background.ts +96 -19
- package/corpus/core/src/agent/harness/index.ts +11 -0
- package/corpus/core/src/agent/harness/lifecycle.ts +498 -0
- package/corpus/core/src/agent/harness/runner.ts +38 -0
- package/corpus/core/src/agent/harness/store.ts +22 -3
- package/corpus/core/src/agent/model-config.ts +4 -1
- package/corpus/core/src/agent/production-agent.ts +205 -9
- package/corpus/core/src/agent/run-manager.ts +135 -11
- package/corpus/core/src/agent/run-store.ts +225 -15
- package/corpus/core/src/agent/types.ts +23 -0
- package/corpus/core/src/application-state/index.ts +1 -0
- package/corpus/core/src/application-state/store.ts +32 -0
- package/corpus/core/src/audit/record.ts +31 -0
- package/corpus/core/src/audit/store.ts +69 -3
- package/corpus/core/src/audit/types.ts +13 -0
- package/corpus/core/src/automation/index.ts +802 -0
- package/corpus/core/src/cli/code-agent-connector.ts +263 -8
- package/corpus/core/src/cli/code-agent-executor.ts +15 -1
- package/corpus/core/src/cli/create.ts +12 -5
- package/corpus/core/src/cli/design-connect.ts +596 -36
- package/corpus/core/src/client/AgentPanel.tsx +92 -44
- package/corpus/core/src/client/AssistantChat.tsx +324 -149
- package/corpus/core/src/client/MultiTabAssistantChat.tsx +36 -40
- package/corpus/core/src/client/RunStuckBanner.tsx +69 -20
- package/corpus/core/src/client/agent-chat-adapter.ts +54 -5
- package/corpus/core/src/client/appearance.ts +8 -5
- package/corpus/core/src/client/automation.ts +22 -0
- package/corpus/core/src/client/chat/connectors.ts +293 -29
- package/corpus/core/src/client/chat/message-components.tsx +23 -1
- package/corpus/core/src/client/chat/run-recovery.tsx +67 -50
- package/corpus/core/src/client/chat/runtime.ts +126 -25
- package/corpus/core/src/client/chat/tool-call-display.tsx +45 -4
- package/corpus/core/src/client/composer/RealtimeVoiceMode.tsx +294 -0
- package/corpus/core/src/client/composer/TiptapComposer.tsx +29 -20
- package/corpus/core/src/client/composer/VoiceButton.tsx +20 -0
- package/corpus/core/src/client/composer/index.ts +22 -0
- package/corpus/core/src/client/composer/useRealtimeVoiceMode.tsx +640 -0
- package/corpus/core/src/client/guided-questions.tsx +12 -3
- package/corpus/core/src/client/index.ts +48 -0
- package/corpus/core/src/client/integrations/api.ts +295 -0
- package/corpus/core/src/client/integrations/index.ts +26 -0
- package/corpus/core/src/client/settings/DemoModeSection.tsx +4 -3
- package/corpus/core/src/client/settings/SettingsPanel.tsx +4 -0
- package/corpus/core/src/client/settings/SettingsTabsPage.tsx +95 -37
- package/corpus/core/src/client/transcription/use-live-transcription.ts +68 -5
- package/corpus/core/src/client/use-chat-models.ts +17 -17
- package/corpus/core/src/client/use-db-sync.ts +108 -7
- package/corpus/core/src/client/use-run-stuck-detection.ts +41 -3
- package/corpus/core/src/code-agents/background-controller.ts +18 -0
- package/corpus/core/src/collab/ydoc-manager.ts +41 -6
- package/corpus/core/src/db/migrations.ts +17 -1
- package/corpus/core/src/demo/fetch-interceptor.ts +16 -11
- package/corpus/core/src/deploy/build.ts +59 -3
- package/corpus/core/src/deploy/workspace-deploy.ts +37 -2
- package/corpus/core/src/file-upload/types.ts +2 -0
- package/corpus/core/src/index.ts +37 -0
- package/corpus/core/src/integrations/a2a-continuations-store.ts +6 -4
- package/corpus/core/src/integrations/adapters/discord.ts +362 -0
- package/corpus/core/src/integrations/adapters/index.ts +29 -0
- package/corpus/core/src/integrations/adapters/microsoft-teams.ts +411 -0
- package/corpus/core/src/integrations/adapters/slack.ts +900 -27
- package/corpus/core/src/integrations/adapters/telegram.ts +54 -15
- package/corpus/core/src/integrations/adapters/whatsapp.ts +41 -17
- package/corpus/core/src/integrations/awaiting-input-store.ts +130 -0
- package/corpus/core/src/integrations/catalog.ts +571 -0
- package/corpus/core/src/integrations/computer-supervision-store.ts +423 -0
- package/corpus/core/src/integrations/computer-supervision.ts +213 -0
- package/corpus/core/src/integrations/controls-store.ts +187 -0
- package/corpus/core/src/integrations/index.ts +129 -1
- package/corpus/core/src/integrations/installations-store.ts +677 -0
- package/corpus/core/src/integrations/integration-memory.ts +187 -0
- package/corpus/core/src/integrations/pending-tasks-retry-job.ts +6 -6
- package/corpus/core/src/integrations/pending-tasks-store.ts +83 -5
- package/corpus/core/src/integrations/plugin.ts +916 -49
- package/corpus/core/src/integrations/remote-commands-store.ts +334 -3
- package/corpus/core/src/integrations/remote-devices-store.ts +68 -9
- package/corpus/core/src/integrations/remote-json-safety.ts +127 -0
- package/corpus/core/src/integrations/remote-run-events-store.ts +104 -19
- package/corpus/core/src/integrations/remote-types.ts +66 -3
- package/corpus/core/src/integrations/scope-store.ts +498 -0
- package/corpus/core/src/integrations/slack-manifest.ts +78 -0
- package/corpus/core/src/integrations/slack-oauth.ts +343 -0
- package/corpus/core/src/integrations/types.ts +179 -0
- package/corpus/core/src/integrations/usage-budget-store.ts +906 -0
- package/corpus/core/src/integrations/webhook-handler.ts +723 -53
- package/corpus/core/src/jobs/scheduler.ts +100 -2
- package/corpus/core/src/jobs/tools.ts +45 -9
- package/corpus/core/src/localization/default-messages.ts +28 -0
- package/corpus/core/src/mcp-client/config.ts +48 -2
- package/corpus/core/src/mcp-client/index.ts +35 -2
- package/corpus/core/src/mcp-client/tool-policy.ts +182 -0
- package/corpus/core/src/provider-api/index.ts +72 -1
- package/corpus/core/src/resources/handlers.ts +88 -14
- package/corpus/core/src/resources/script-helpers.ts +36 -7
- package/corpus/core/src/resources/store.ts +59 -52
- package/corpus/core/src/scripts/call-agent.ts +107 -1
- package/corpus/core/src/secrets/register-framework-secrets.ts +27 -4
- package/corpus/core/src/server/agent-chat-plugin.ts +356 -127
- package/corpus/core/src/server/auth.ts +10 -14
- package/corpus/core/src/server/builder-design-systems.ts +16 -1
- package/corpus/core/src/server/edge.ts +18 -0
- package/corpus/core/src/server/index.ts +42 -0
- package/corpus/core/src/server/realtime-voice.ts +590 -0
- package/corpus/core/src/server/request-context.ts +18 -0
- package/corpus/core/src/server/social-og-image.ts +3 -2
- package/corpus/core/src/shared/reasoning-effort.ts +61 -19
- package/corpus/core/src/styles/agent-conversation.css +17 -0
- package/corpus/core/src/styles/agent-native.css +62 -44
- package/corpus/core/src/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/core/src/templates/default/AGENTS.md +7 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/core/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +39 -5
- package/corpus/core/src/templates/workspace-core/AGENTS.md +3 -2
- package/corpus/core/src/usage/store.ts +37 -2
- package/corpus/templates/analytics/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/analytics/.agents/skills/provider-api/SKILL.md +23 -0
- package/corpus/templates/analytics/.builder/skills/provider-api/SKILL.md +15 -0
- package/corpus/templates/analytics/actions/save-monitor.ts +25 -2
- package/corpus/templates/analytics/app/lib/data-sources.ts +28 -0
- package/corpus/templates/analytics/changelog/2026-07-10-agent-created-uptime-monitors-now-return-a-direct-link-to-th.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-dashboard-email-reports-still-arrive-when-screenshot-capture-temporarily-fails.md +6 -0
- package/corpus/templates/analytics/server/jobs/dashboard-report.ts +3 -7
- package/corpus/templates/analytics/server/lib/credential-keys.ts +12 -0
- package/corpus/templates/analytics/server/lib/dashboard-report.ts +5 -1
- package/corpus/templates/analytics/server/lib/provider-credentials.ts +2 -0
- package/corpus/templates/analytics/server/routes/api/test-connection.post.ts +16 -0
- package/corpus/templates/assets/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/brain/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/brain/app/lib/settings-navigation.ts +22 -0
- package/corpus/templates/brain/app/routes/settings.tsx +367 -252
- package/corpus/templates/brain/changelog/2026-07-10-brain-settings-now-separate-assistant-behavior-publishing-re.md +6 -0
- package/corpus/templates/brain/changelog/2026-07-10-organization-settings-now-opens-directly-from-the-workspace-.md +6 -0
- package/corpus/templates/calendar/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/calendar/.agents/skills/event-management/SKILL.md +36 -4
- package/corpus/templates/calendar/AGENTS.md +4 -0
- package/corpus/templates/calendar/actions/create-event.ts +7 -19
- package/corpus/templates/calendar/actions/delete-event.ts +10 -3
- package/corpus/templates/calendar/actions/rsvp-event.ts +1 -1
- package/corpus/templates/calendar/actions/update-event.ts +4 -3
- package/corpus/templates/calendar/app/components/calendar/CommandPalette.tsx +98 -108
- package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +100 -13
- package/corpus/templates/calendar/app/components/calendar/DayView.tsx +12 -4
- package/corpus/templates/calendar/app/components/calendar/EventAttendeesSection.tsx +97 -90
- package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +3 -3
- package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +86 -8
- package/corpus/templates/calendar/app/components/calendar/EventDialog.tsx +3 -1
- package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +12 -4
- package/corpus/templates/calendar/app/hooks/use-events.ts +1 -0
- package/corpus/templates/calendar/app/lib/event-account-selection.ts +36 -0
- package/corpus/templates/calendar/app/lib/event-form-initialization.ts +21 -0
- package/corpus/templates/calendar/app/lib/event-mutation-inputs.ts +18 -0
- package/corpus/templates/calendar/app/pages/CalendarView.tsx +119 -26
- package/corpus/templates/calendar/changelog/2026-07-10-choose-which-connected-google-account-receives-a-new-event-w.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-10-event-guest-details-and-option-menus-now-use-valid-accessibl.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-10-natural-language-event-phrases-stay-available-as-quick-creat.md +6 -0
- package/corpus/templates/calendar/server/db/schema.ts +2 -0
- package/corpus/templates/calendar/server/handlers/bookings.ts +43 -6
- package/corpus/templates/calendar/server/handlers/events.ts +28 -9
- package/corpus/templates/calendar/server/lib/google-calendar.ts +66 -38
- package/corpus/templates/calendar/server/plugins/db.ts +5 -0
- package/corpus/templates/chat/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/chat/changelog/2026-07-10-chat-now-makes-ai-connection-setup-clear-without-shifting-th.md +6 -0
- package/corpus/templates/clips/.agents/skills/ai-video-tools/SKILL.md +12 -3
- package/corpus/templates/clips/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/clips/.agents/skills/meetings/SKILL.md +1 -1
- package/corpus/templates/clips/.agents/skills/recording/SKILL.md +17 -1
- package/corpus/templates/clips/.agents/skills/video-sharing/SKILL.md +8 -0
- package/corpus/templates/clips/AGENTS.md +12 -5
- package/corpus/templates/clips/actions/finalize-recording.ts +63 -23
- package/corpus/templates/clips/actions/get-recording-player-data.ts +6 -2
- package/corpus/templates/clips/actions/lib/ensure-seekable-video.ts +72 -9
- package/corpus/templates/clips/actions/list-recordings.ts +19 -3
- package/corpus/templates/clips/actions/navigate.ts +2 -0
- package/corpus/templates/clips/actions/regenerate-title.ts +53 -7
- package/corpus/templates/clips/actions/reprocess-recording.ts +20 -6
- package/corpus/templates/clips/actions/request-transcript.ts +168 -72
- package/corpus/templates/clips/actions/save-browser-transcript.ts +11 -9
- package/corpus/templates/clips/actions/view-screen.ts +57 -5
- package/corpus/templates/clips/app/components/layout/Header.tsx +1 -0
- package/corpus/templates/clips/app/components/library/empty-state.tsx +2 -0
- package/corpus/templates/clips/app/components/library/library-grid.tsx +69 -42
- package/corpus/templates/clips/app/components/library/library-layout.tsx +15 -1
- package/corpus/templates/clips/app/components/library/recording-card.tsx +81 -68
- package/corpus/templates/clips/app/components/library/search-bar.tsx +4 -3
- package/corpus/templates/clips/app/components/player/comments-panel.tsx +101 -53
- package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +9 -3
- package/corpus/templates/clips/app/components/player/playback-comment-overlay.tsx +102 -0
- package/corpus/templates/clips/app/components/player/share-dialog.tsx +1 -1
- package/corpus/templates/clips/app/components/player/video-player.tsx +10 -1
- package/corpus/templates/clips/app/hooks/use-auto-title.ts +14 -0
- package/corpus/templates/clips/app/hooks/use-library.ts +1 -1
- package/corpus/templates/clips/app/hooks/use-navigation-state.ts +10 -2
- package/corpus/templates/clips/app/i18n/ar-SA.ts +7 -1
- package/corpus/templates/clips/app/i18n/de-DE.ts +7 -1
- package/corpus/templates/clips/app/i18n/en-US.ts +7 -1
- package/corpus/templates/clips/app/i18n/es-ES.ts +7 -1
- package/corpus/templates/clips/app/i18n/fr-FR.ts +7 -1
- package/corpus/templates/clips/app/i18n/hi-IN.ts +7 -1
- package/corpus/templates/clips/app/i18n/ja-JP.ts +7 -1
- package/corpus/templates/clips/app/i18n/ko-KR.ts +7 -1
- package/corpus/templates/clips/app/i18n/pt-BR.ts +7 -1
- package/corpus/templates/clips/app/i18n/zh-CN.ts +8 -1
- package/corpus/templates/clips/app/i18n/zh-TW.ts +8 -1
- package/corpus/templates/clips/app/lib/recording-visibility.ts +70 -0
- package/corpus/templates/clips/app/routes/_app.shared.tsx +20 -0
- package/corpus/templates/clips/app/routes/download.tsx +24 -8
- package/corpus/templates/clips/app/routes/embed.$shareId.tsx +2 -0
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +115 -2
- package/corpus/templates/clips/app/routes/record.tsx +62 -0
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +25 -16
- package/corpus/templates/clips/changelog/2026-07-10-clips-desktop-is-now-available-for-linux-with-appimage-debia.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-clips-downloads-updates-sooner-in-the-background-and-offers-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-clips-shared-with-you-now-appear-in-a-searchable-shared-with.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-clips-with-missing-mobile-video-frames-can-be-repaired-witho.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-comment-replies-now-open-inline-and-focus-immediately-while-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-dismissed-upload-warnings-now-keep-recordings-in-clip-drafts.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-dragging-the-meeting-recorder-no-longer-opens-the-expanded.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-finishing-meeting-notes-no-longer-opens-your-browser.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-meeting-recordings-now-keep-microphone-audio-and-recover-tra.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-mobile-camera-recordings-pause-while-backgrounded.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-mp4-downloads-now-show-progress-immediately-after-the-option.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-recording-pages-now-open-as-soon-as-you-stop-with-a-share-li.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-recording-pause-and-resume-controls-now-respond-reliably-on-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-recordings-now-seek-smoothly-downloads-use-the-correct-file-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-s3-compatible-storage-now-saves-hosted-recordings-without-re.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-starting-and-joining-a-meeting-now-closes-the-desktop-popover.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-timestamped-comments-now-appear-over-the-video-as-playback-r.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-transcript-backed-titles-and-summaries-now-finish-after-recording.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-zoom-meetings-now-open-directly-in-the-desktop-app.md +6 -0
- package/corpus/templates/clips/chrome-extension/src/overlay.ts +49 -7
- package/corpus/templates/clips/desktop/README.md +22 -6
- package/corpus/templates/clips/desktop/package.json +1 -1
- package/corpus/templates/clips/desktop/src/app.tsx +102 -61
- package/corpus/templates/clips/desktop/src/components/ReadinessPanel.tsx +15 -9
- package/corpus/templates/clips/desktop/src/hooks/useMeetingTranscription.ts +8 -14
- package/corpus/templates/clips/desktop/src/lib/finalization-guard.ts +22 -0
- package/corpus/templates/clips/desktop/src/lib/meeting-join-url.ts +33 -0
- package/corpus/templates/clips/desktop/src/lib/pause-transition.ts +79 -0
- package/corpus/templates/clips/desktop/src/lib/permissions.ts +3 -1
- package/corpus/templates/clips/desktop/src/lib/pill-interaction.ts +19 -0
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +187 -159
- package/corpus/templates/clips/desktop/src/lib/transcription-engine.ts +3 -2
- package/corpus/templates/clips/desktop/src/lib/updater.ts +26 -4
- package/corpus/templates/clips/desktop/src/overlays/finalizing.tsx +4 -8
- package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +3 -2
- package/corpus/templates/clips/desktop/src/overlays/recording-pill.tsx +32 -6
- package/corpus/templates/clips/desktop/src/overlays/toolbar.tsx +50 -5
- package/corpus/templates/clips/desktop/src/styles.css +11 -19
- package/corpus/templates/clips/desktop/src-tauri/Cargo.toml +1 -1
- package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +2 -2
- package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +2 -1
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +121 -4
- package/corpus/templates/clips/desktop/src-tauri/src/native_speech.rs +97 -17
- package/corpus/templates/clips/desktop/src-tauri/src/permission_status.rs +11 -7
- package/corpus/templates/clips/desktop/src-tauri/src/whisper_speech.rs +80 -5
- package/corpus/templates/clips/desktop/src-tauri/tauri.conf.json +1 -1
- package/corpus/templates/clips/desktop/src-tauri/tauri.linux.conf.json +11 -0
- package/corpus/templates/clips/netlify.toml +3 -0
- package/corpus/templates/clips/server/lib/post-finalize-dispatch.ts +106 -0
- package/corpus/templates/clips/server/lib/public-agent-context.ts +9 -1
- package/corpus/templates/clips/server/lib/resumable-upload-provider.ts +52 -0
- package/corpus/templates/clips/server/lib/s3-upload-provider.ts +433 -85
- package/corpus/templates/clips/server/lib/video-remux.ts +114 -0
- package/corpus/templates/clips/server/routes/api/_agent-native-background/post-finalize-worker.post.ts +109 -0
- package/corpus/templates/clips/server/routes/api/clips-updater.json.get.ts +22 -11
- package/corpus/templates/clips/server/routes/api/public-recording.get.ts +4 -2
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/abort.post.ts +47 -5
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +10 -2
- package/corpus/templates/clips/shared/share-loader-response.ts +12 -0
- package/corpus/templates/clips/shared/transcript-status.ts +40 -0
- package/corpus/templates/clips/vitest.config.ts +23 -0
- package/corpus/templates/content/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/content/.agents/skills/content/SKILL.md +57 -5
- package/corpus/templates/content/AGENTS.md +65 -55
- package/corpus/templates/content/actions/_builder-cms-read-client.ts +10 -16
- package/corpus/templates/content/actions/_database-source-utils.ts +58 -11
- package/corpus/templates/content/actions/_property-utils.ts +30 -2
- package/corpus/templates/content/actions/add-content-database-source-field-property.ts +312 -114
- package/corpus/templates/content/actions/submit-content-database-form.ts +497 -0
- package/corpus/templates/content/actions/update-content-database-view.ts +8 -1
- package/corpus/templates/content/actions/view-screen.ts +4 -1
- package/corpus/templates/content/agent-native.app-skill.json +1 -1
- package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +28 -9
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +250 -64
- package/corpus/templates/content/app/components/editor/database/FormView.tsx +460 -0
- package/corpus/templates/content/app/components/editor/database/navigation-state.ts +3 -0
- package/corpus/templates/content/app/components/editor/database/settings.tsx +30 -37
- package/corpus/templates/content/app/components/editor/database/shared.tsx +2 -0
- package/corpus/templates/content/app/components/editor/database/view-config.ts +29 -1
- package/corpus/templates/content/app/components/ui/textarea.tsx +1 -0
- package/corpus/templates/content/app/hooks/use-content-database.ts +22 -0
- package/corpus/templates/content/app/i18n/zh-TW.ts +21 -0
- package/corpus/templates/content/app/i18n-data.ts +225 -0
- package/corpus/templates/content/changelog/2026-07-10-builder-backed-properties-now-load-current-source-values-as-.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-builder-database-refreshes-now-stay-explicit-and-accurate.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-database-form-views-now-collect-ordered-required-answers-and.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-database-tables-now-use-a-quieter-more-compact-layout-with-c.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-open-documents-no-longer-make-constant-background-requests-w.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-slack-intake-routes-to-content-database-forms.md +6 -0
- package/corpus/templates/content/parity/matrix.md +1 -0
- package/corpus/templates/content/parity/matrix.ts +18 -0
- package/corpus/templates/content/shared/api.ts +27 -1
- package/corpus/templates/content/shared/database-form.ts +53 -0
- package/corpus/templates/design/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +26 -0
- package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +106 -16
- package/corpus/templates/design/AGENTS.md +79 -18
- package/corpus/templates/design/DESIGN.md +1 -1
- package/corpus/templates/design/DEVELOPING.md +1 -1
- package/corpus/templates/design/FIGMA_INTEROPERABILITY.md +116 -0
- package/corpus/templates/design/actions/create-design-from-template.ts +220 -0
- package/corpus/templates/design/actions/create-design-system.ts +92 -16
- package/corpus/templates/design/actions/delete-design-template.ts +28 -0
- package/corpus/templates/design/actions/delete-file.ts +7 -0
- package/corpus/templates/design/actions/edit-design.ts +3 -0
- package/corpus/templates/design/actions/export-design-as-figma-svg.ts +137 -5
- package/corpus/templates/design/actions/export-pdf.ts +1 -1
- package/corpus/templates/design/actions/generate-design.ts +3 -0
- package/corpus/templates/design/actions/get-design-snapshot.ts +9 -0
- package/corpus/templates/design/actions/get-figma-connection-status.ts +26 -0
- package/corpus/templates/design/actions/get-figma-design-context.ts +138 -0
- package/corpus/templates/design/actions/get-figma-styles.ts +2 -2
- package/corpus/templates/design/actions/import-figma-clipboard.ts +112 -16
- package/corpus/templates/design/actions/import-figma-frame.ts +15 -4
- package/corpus/templates/design/actions/index-design-system-with-builder.ts +4 -0
- package/corpus/templates/design/actions/list-design-templates.ts +118 -0
- package/corpus/templates/design/actions/navigate.ts +16 -2
- package/corpus/templates/design/actions/provider-api-request.ts +11 -1
- package/corpus/templates/design/actions/save-design-as-template.ts +156 -0
- package/corpus/templates/design/actions/set-active-breakpoint.ts +13 -4
- package/corpus/templates/design/actions/take-design-screenshot.ts +73 -3
- package/corpus/templates/design/actions/update-file.ts +39 -22
- package/corpus/templates/design/actions/view-screen.ts +36 -1
- package/corpus/templates/design/actions/write-local-file.ts +50 -38
- package/corpus/templates/design/app/components/design/AutoLayoutSuggestionDialog.tsx +151 -0
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +20 -0
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +383 -29
- package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +3 -3
- package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +384 -9
- package/corpus/templates/design/app/components/design/EditPanel.tsx +105 -32
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +131 -46
- package/corpus/templates/design/app/components/design/TweaksPanel.tsx +6 -0
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +545 -54
- package/corpus/templates/design/app/components/design/bridge/embedded-wheel.bridge.ts +40 -0
- package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbench.tsx +1 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +1 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +5 -1
- package/corpus/templates/design/app/components/design/code-workbench/workspace/create-providers.ts +2 -0
- package/corpus/templates/design/app/components/design/code-workbench/workspace/localhost-provider.ts +3 -1
- package/corpus/templates/design/app/components/design/code-workbench/workspace/types.ts +2 -0
- package/corpus/templates/design/app/components/design/edit-panel/element-identity.ts +19 -0
- package/corpus/templates/design/app/components/design/edit-panel/frame-presets-panel.tsx +1 -0
- package/corpus/templates/design/app/components/design/edit-panel/interaction-state-helpers.ts +27 -0
- package/corpus/templates/design/app/components/design/inspector/InteractionStatePanel.tsx +137 -81
- package/corpus/templates/design/app/components/design/inspector/frame-size-presets.ts +25 -5
- package/corpus/templates/design/app/components/design/multi-screen/chrome-transitions.ts +1 -1
- package/corpus/templates/design/app/components/design/multi-screen/frame-geometry.ts +350 -3
- package/corpus/templates/design/app/components/design/multi-screen/overview-layout.ts +13 -0
- package/corpus/templates/design/app/components/design/multi-screen/types.ts +22 -1
- package/corpus/templates/design/app/components/design/types.ts +4 -0
- package/corpus/templates/design/app/components/design-system/ProductionDesignSystemShowcase.tsx +208 -0
- package/corpus/templates/design/app/components/editor/FigmaLinkComposerBubble.tsx +321 -0
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +24 -4
- package/corpus/templates/design/app/components/layout/Layout.tsx +16 -2
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +2 -0
- package/corpus/templates/design/app/components/templates/TemplatePreview.tsx +72 -0
- package/corpus/templates/design/app/global.css +2 -35
- package/corpus/templates/design/app/hooks/use-navigation-state.ts +10 -0
- package/corpus/templates/design/app/i18n/zh-TW.ts +127 -5
- package/corpus/templates/design/app/i18n-breakpoints.ts +209 -0
- package/corpus/templates/design/app/i18n-data.ts +1317 -59
- package/corpus/templates/design/app/i18n-template-feature.ts +458 -0
- package/corpus/templates/design/app/lib/clipboard-content-lineage.ts +64 -0
- package/corpus/templates/design/app/lib/design-clipboard-managed-styles.ts +247 -0
- package/corpus/templates/design/app/lib/design-clipboard.ts +259 -0
- package/corpus/templates/design/app/lib/design-file-upload.ts +87 -0
- package/corpus/templates/design/app/lib/design-import.ts +198 -13
- package/corpus/templates/design/app/lib/desktop-design-preview.ts +423 -0
- package/corpus/templates/design/app/lib/figma-clipboard.ts +74 -8
- package/corpus/templates/design/app/lib/figma-connection.ts +161 -0
- package/corpus/templates/design/app/lib/figma-svg-copy.ts +814 -22
- package/corpus/templates/design/app/lib/figma-url.ts +77 -0
- package/corpus/templates/design/app/lib/pending-generation.ts +35 -0
- package/corpus/templates/design/app/pages/DesignSystems.tsx +236 -177
- package/corpus/templates/design/app/pages/Index.tsx +38 -0
- package/corpus/templates/design/app/pages/Templates.tsx +498 -0
- package/corpus/templates/design/app/pages/design-editor/auto-layout-suggestion.ts +328 -0
- package/corpus/templates/design/app/pages/design-editor/clone-idrefs.ts +113 -0
- package/corpus/templates/design/app/pages/design-editor/created-screen-navigation.ts +55 -0
- package/corpus/templates/design/app/pages/design-editor/editor-session.ts +32 -0
- package/corpus/templates/design/app/pages/design-editor/editor-state.ts +49 -2
- package/corpus/templates/design/app/pages/design-editor/export-capture.ts +296 -0
- package/corpus/templates/design/app/pages/design-editor/history.ts +101 -2
- package/corpus/templates/design/app/pages/design-editor/latest-write-queue.ts +56 -0
- package/corpus/templates/design/app/pages/design-editor/layout-operations.ts +28 -1
- package/corpus/templates/design/app/pages/design-editor/overview-camera.ts +34 -0
- package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +202 -6
- package/corpus/templates/design/app/pages/design-editor/pending-structure-verification.ts +92 -0
- package/corpus/templates/design/app/pages/design-editor/performance-buffer-guard.ts +80 -0
- package/corpus/templates/design/app/pages/design-editor/save-failure.ts +58 -0
- package/corpus/templates/design/app/routes/templates.tsx +4 -6
- package/corpus/templates/design/changelog/2026-07-10-app-workspaces-now-use-clean-borderless-main-surfaces-throug.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-ask-chat-what-s-in-a-figma-file-or-frame-structure-screensho.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-canvas-edits-now-reject-malformed-html-before-it-can-corrupt.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-complex-designs-now-export-as-valid-secure-svgs-and-crisp-ra.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-complex-figma-masks-arcs-rich-text-transformed-images-and-ad.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-concurrent-agent-and-artboard-edits-no-longer-show-misleadin.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-copied-layers-paste-across-designs-and-browser-tabs.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-copy-and-download-editable-figma-svg.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-copying-design-text-now-pastes-readable-text-into-other-apps.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-deleted-screens-can-be-restored-with-undo-and-removed-again-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-design-changes-now-save-before-switching-apps-and-retry-when.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-design-stays-usable-on-phones-by-keeping-editor-panels-and-f.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-designs-with-html-examples-inside-alpine-attributes-or-comme.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-download-all-screens-as-one-multi-page-pdf-from-the-overview.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-duplicated-layers-now-keep-labels-aria-relationships-fragmen.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fig-import-results-stay-compact.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-figma-imports-now-load-real-fonts-fix-rotated-gradient-dashe.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-figma-links-in-chat-and-the-import-tab-now-offer-secure-one-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-cmd-z-not-restoring-content-after-an-agent-driven-desi.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-download-pdf-being-unreachable-from-the-export-panel-e.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-dragging-a-layer-out-of-an-auto-layout-row-column-no-l.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-figma-svg-export-text-wrapping-sizing-and-inner-layer.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-hiding-or-locking-one-layer-no-longer-hides-or-blocks-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-png-screenshots-of-tall-screens-being-cropped-to-one-v.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-png-svg-exports-capturing-broken-layout-when-webfonts-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-frame-tool-now-offers-standard-ad-unit-size-presets-medium-r.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-full-view-controls-stay-within-their-frame-instead-of-coveri.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-hover-focus-focus-visible-pressed-and-disabled-states-now-pr.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-interactive-designs-no-longer-appear-blank-in-the-canvas-whe.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-layer-drops-now-land-in-the-intended-grid-row-stay-visually-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-local-code-workspaces-now-keep-unsaved-edits-across-panel-sw.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-local-visual-editing-now-keeps-authenticated-sessions-shared.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-long-overview-editing-sessions-lots-of-pan-zoom-screen-switc.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-long-running-agent-work-no-longer-shows-a-premature-stuck-wa.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-managed-figma-connections-are-recognized-automatically.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-new-designs-can-open-directly-in-the-editor-without-a-pr.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-new-screens-are-selected-and-revealed-immediately.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-new-text-layers-undo-as-one-safe-creation.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-preview-and-apply-inferred-auto-layout-without-changing-yo.md +5 -0
- package/corpus/templates/design/changelog/2026-07-10-print-pdf-exports-and-paper-size-presets-letter-a4-now-match.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-rapid-breakpoint-and-edit-scope-changes-no-longer-jump-back-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-responsive-breakpoint-previews-stay-visible-while-panning-ac.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-responsive-frame-editing.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-reusable-design-templates.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-rich-design-clipboard-markers-are-now-accepted-only-from-the.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-screen-overview-frames-now-use-a-clearer-interact-action-wit.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-start-designs-from-source-linked-material-3-carbon-or-primer.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-tweaks-guidance.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-uploaded-fig-files-can-now-become-editable-design-screens-wi.md +6 -0
- package/corpus/templates/design/e2e/helpers.ts +18 -7
- package/corpus/templates/design/package.json +2 -0
- package/corpus/templates/design/scripts/qa-figma-stress-import.ts +96 -0
- package/corpus/templates/design/server/db/index.ts +10 -0
- package/corpus/templates/design/server/db/schema.ts +44 -0
- package/corpus/templates/design/server/handlers/import-design-file.ts +114 -80
- package/corpus/templates/design/server/handlers/index-design-system-with-builder.ts +19 -6
- package/corpus/templates/design/server/lib/design-export.ts +240 -3
- package/corpus/templates/design/server/lib/design-template-data.ts +89 -0
- package/corpus/templates/design/server/lib/design-to-figma-svg.ts +250 -26
- package/corpus/templates/design/server/lib/fig-file-decoder.ts +839 -0
- package/corpus/templates/design/server/lib/fig-file-import.ts +287 -0
- package/corpus/templates/design/server/lib/fig-file-limits.ts +3 -0
- package/corpus/templates/design/server/lib/fig-file-to-html.ts +2568 -0
- package/corpus/templates/design/server/lib/figma-design-context.ts +359 -0
- package/corpus/templates/design/server/lib/figma-node-import.ts +478 -22
- package/corpus/templates/design/server/lib/figma-node-to-html.ts +554 -29
- package/corpus/templates/design/server/lib/local-figma-qa-upload.ts +112 -0
- package/corpus/templates/design/server/lib/verify-write-grant.ts +16 -2
- package/corpus/templates/design/server/lib/visible-clipboard-html.ts +13 -3
- package/corpus/templates/design/server/plugins/agent-chat.ts +7 -0
- package/corpus/templates/design/server/plugins/db.ts +42 -0
- package/corpus/templates/design/server/plugins/local-figma-qa-upload.ts +7 -0
- package/corpus/templates/design/server/register-secrets.ts +8 -8
- package/corpus/templates/design/server/routes/api/qa-figma-import-assets/[assetId].get.ts +46 -0
- package/corpus/templates/design/server/source-workspace.ts +131 -13
- package/corpus/templates/design/shared/code-layer.ts +105 -28
- package/corpus/templates/design/shared/design-system-templates.ts +301 -0
- package/corpus/templates/design/shared/design-template-presets.ts +195 -0
- package/corpus/templates/design/shared/figma-url.ts +8 -0
- package/corpus/templates/design/shared/html-integrity.ts +401 -0
- package/corpus/templates/design/shared/interaction-states.ts +318 -23
- package/corpus/templates/design/shared/locked-layers.ts +151 -0
- package/corpus/templates/dispatch/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/dispatch/AGENTS.md +10 -2
- package/corpus/templates/dispatch/actions/view-screen.ts +11 -0
- package/corpus/templates/dispatch/app/hooks/use-navigation-state.ts +13 -0
- package/corpus/templates/dispatch/app/i18n/zh-TW.ts +51 -0
- package/corpus/templates/dispatch/app/i18n-data.ts +572 -1
- package/corpus/templates/dispatch/app/routes/operations.tsx +1 -0
- package/corpus/templates/dispatch/changelog/2026-07-10-connect-slack-workspaces-with-oauth-and-manage-channel-ident.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-10-dispatch-now-has-a-cleaner-chat-history-and-quieter-sidebar-.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-10-microsoft-teams-bots-and-discord-slash-commands-can-now-conn.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-10-operations-console-brings-agent-monitoring-and-database-inspection-tog.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-10-slack-and-telegram-now-route-uptime-monitor-requests-to-anal.md +6 -0
- package/corpus/templates/forms/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/forms/.agents/skills/form-publishing/SKILL.md +7 -0
- package/corpus/templates/forms/AGENTS.md +4 -0
- package/corpus/templates/forms/actions/create-form.ts +44 -7
- package/corpus/templates/forms/actions/lib/assert-publishable-form.ts +38 -0
- package/corpus/templates/forms/actions/patch-form-fields.ts +4 -0
- package/corpus/templates/forms/actions/update-form.ts +2 -36
- package/corpus/templates/forms/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/forms/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/forms/app/i18n/en-US.ts +3 -0
- package/corpus/templates/forms/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/forms/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/forms/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/forms/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/forms/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/forms/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/forms/app/i18n/zh-CN.ts +2 -0
- package/corpus/templates/forms/app/i18n/zh-TW.ts +3 -0
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +17 -0
- package/corpus/templates/forms/changelog/2026-07-10-agent-created-published-forms-now-return-the-anonymous-publi.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-10-published-forms-can-no-longer-be-edited-into-an-unusable-emp.md +6 -0
- package/corpus/templates/forms/server/handlers/submissions.ts +4 -3
- package/corpus/templates/forms/server/plugins/agent-chat.ts +1 -0
- package/corpus/templates/forms/shared/types.ts +5 -0
- package/corpus/templates/mail/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/mail/actions/get-integration-statuses.ts +36 -0
- package/corpus/templates/mail/app/components/email/EmailThread.tsx +3 -2
- package/corpus/templates/mail/app/components/email/IntegrationsSidebar.tsx +3 -3
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +2 -2
- package/corpus/templates/mail/app/hooks/use-apollo.ts +5 -71
- package/corpus/templates/mail/app/hooks/use-draft-queue.ts +1 -1
- package/corpus/templates/mail/app/hooks/use-integrations.ts +51 -48
- package/corpus/templates/mail/app/lib/integration-status.ts +31 -0
- package/corpus/templates/mail/app/lib/sync-invalidation.ts +5 -0
- package/corpus/templates/mail/app/pages/SettingsPage.tsx +3 -0
- package/corpus/templates/mail/app/root.tsx +22 -12
- package/corpus/templates/mail/changelog/2026-07-10-email-content-backgrounds-now-blend-cleanly-with-dark-mode.md +6 -0
- package/corpus/templates/mail/changelog/2026-07-10-mail-navigation-now-uses-a-clean-borderless-drawer.md +6 -0
- package/corpus/templates/mail/changelog/2026-07-10-mail-settings-now-group-drafting-automation-and-connected-se.md +6 -0
- package/corpus/templates/mail/changelog/2026-07-10-organization-settings-now-opens-directly-from-the-workspace-.md +6 -0
- package/corpus/templates/plan/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/plan/app/lib/plan-local-bridge.ts +4 -1
- package/corpus/templates/plan/changelog/2026-07-10-local-plans-now-keep-valid-content-visible-when-one-generate.md +6 -0
- package/corpus/templates/plan/server/lib/local-plan-files.ts +4 -1
- package/corpus/templates/slides/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/dist/a2a/artifact-response.d.ts.map +1 -1
- package/dist/a2a/artifact-response.js +88 -2
- package/dist/a2a/artifact-response.js.map +1 -1
- package/dist/a2a/client.d.ts +9 -0
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +1 -0
- package/dist/a2a/client.js.map +1 -1
- package/dist/a2a/handlers.d.ts.map +1 -1
- package/dist/a2a/handlers.js +24 -69
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/a2a/types.d.ts +2 -0
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/a2a/types.js.map +1 -1
- package/dist/agent/context-xray/tokenize.d.ts.map +1 -1
- package/dist/agent/context-xray/tokenize.js +6 -1
- package/dist/agent/context-xray/tokenize.js.map +1 -1
- package/dist/agent/durable-background.d.ts +11 -0
- package/dist/agent/durable-background.d.ts.map +1 -1
- package/dist/agent/durable-background.js +17 -0
- package/dist/agent/durable-background.js.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +8 -3
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
- package/dist/agent/engine/anthropic-engine.js +2 -4
- package/dist/agent/engine/anthropic-engine.js.map +1 -1
- package/dist/agent/engine/builder-engine.d.ts +1 -1
- package/dist/agent/engine/builder-engine.d.ts.map +1 -1
- package/dist/agent/engine/builder-engine.js +2 -3
- package/dist/agent/engine/builder-engine.js.map +1 -1
- package/dist/agent/engine/index.d.ts +1 -1
- package/dist/agent/engine/index.d.ts.map +1 -1
- package/dist/agent/engine/index.js +1 -1
- package/dist/agent/engine/index.js.map +1 -1
- package/dist/agent/engine/registry.d.ts +13 -0
- package/dist/agent/engine/registry.d.ts.map +1 -1
- package/dist/agent/engine/registry.js +33 -0
- package/dist/agent/engine/registry.js.map +1 -1
- package/dist/agent/harness/ai-sdk-adapter.d.ts.map +1 -1
- package/dist/agent/harness/ai-sdk-adapter.js +3 -1
- package/dist/agent/harness/ai-sdk-adapter.js.map +1 -1
- package/dist/agent/harness/background.d.ts +9 -9
- package/dist/agent/harness/background.d.ts.map +1 -1
- package/dist/agent/harness/background.js +77 -19
- package/dist/agent/harness/background.js.map +1 -1
- package/dist/agent/harness/index.d.ts +1 -0
- package/dist/agent/harness/index.d.ts.map +1 -1
- package/dist/agent/harness/index.js +1 -0
- package/dist/agent/harness/index.js.map +1 -1
- package/dist/agent/harness/lifecycle.d.ts +45 -0
- package/dist/agent/harness/lifecycle.d.ts.map +1 -0
- package/dist/agent/harness/lifecycle.js +318 -0
- package/dist/agent/harness/lifecycle.js.map +1 -0
- package/dist/agent/harness/runner.d.ts.map +1 -1
- package/dist/agent/harness/runner.js +29 -1
- package/dist/agent/harness/runner.js.map +1 -1
- package/dist/agent/harness/store.d.ts +2 -0
- package/dist/agent/harness/store.d.ts.map +1 -1
- package/dist/agent/harness/store.js +17 -3
- package/dist/agent/harness/store.js.map +1 -1
- package/dist/agent/model-config.d.ts +2 -2
- package/dist/agent/model-config.d.ts.map +1 -1
- package/dist/agent/model-config.js +4 -1
- package/dist/agent/model-config.js.map +1 -1
- package/dist/agent/production-agent.d.ts +40 -2
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +150 -9
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-manager.d.ts +44 -2
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +90 -9
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/run-store.d.ts +109 -0
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +206 -15
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/types.d.ts +22 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/application-state/index.d.ts +1 -1
- package/dist/application-state/index.d.ts.map +1 -1
- package/dist/application-state/index.js +1 -1
- package/dist/application-state/index.js.map +1 -1
- package/dist/application-state/store.d.ts +6 -0
- package/dist/application-state/store.d.ts.map +1 -1
- package/dist/application-state/store.js +31 -0
- package/dist/application-state/store.js.map +1 -1
- package/dist/audit/record.d.ts.map +1 -1
- package/dist/audit/record.js +29 -0
- package/dist/audit/record.js.map +1 -1
- package/dist/audit/store.d.ts.map +1 -1
- package/dist/audit/store.js +62 -3
- package/dist/audit/store.js.map +1 -1
- package/dist/audit/types.d.ts +13 -0
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/types.js.map +1 -1
- package/dist/automation/index.d.ts +193 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js +464 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/cli/code-agent-connector.d.ts +9 -0
- package/dist/cli/code-agent-connector.d.ts.map +1 -1
- package/dist/cli/code-agent-connector.js +212 -10
- package/dist/cli/code-agent-connector.js.map +1 -1
- package/dist/cli/code-agent-executor.d.ts +2 -0
- package/dist/cli/code-agent-executor.d.ts.map +1 -1
- package/dist/cli/code-agent-executor.js +8 -1
- package/dist/cli/code-agent-executor.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +10 -3
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/design-connect.d.ts.map +1 -1
- package/dist/cli/design-connect.js +492 -35
- package/dist/cli/design-connect.js.map +1 -1
- package/dist/client/AgentPanel.d.ts +7 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +38 -13
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +21 -0
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +147 -49
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +17 -38
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/RunStuckBanner.d.ts +14 -1
- package/dist/client/RunStuckBanner.d.ts.map +1 -1
- package/dist/client/RunStuckBanner.js +35 -7
- package/dist/client/RunStuckBanner.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts +4 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +49 -4
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/appearance.d.ts +4 -2
- package/dist/client/appearance.d.ts.map +1 -1
- package/dist/client/appearance.js +8 -5
- package/dist/client/appearance.js.map +1 -1
- package/dist/client/automation.d.ts +14 -0
- package/dist/client/automation.d.ts.map +1 -0
- package/dist/client/automation.js +9 -0
- package/dist/client/automation.js.map +1 -0
- package/dist/client/chat/connectors.d.ts.map +1 -1
- package/dist/client/chat/connectors.js +206 -28
- package/dist/client/chat/connectors.js.map +1 -1
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +17 -1
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat/run-recovery.d.ts +4 -0
- package/dist/client/chat/run-recovery.d.ts.map +1 -1
- package/dist/client/chat/run-recovery.js +12 -10
- package/dist/client/chat/run-recovery.js.map +1 -1
- package/dist/client/chat/runtime.d.ts.map +1 -1
- package/dist/client/chat/runtime.js +84 -24
- package/dist/client/chat/runtime.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts +8 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +21 -3
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/composer/RealtimeVoiceMode.d.ts +54 -0
- package/dist/client/composer/RealtimeVoiceMode.d.ts.map +1 -0
- package/dist/client/composer/RealtimeVoiceMode.js +63 -0
- package/dist/client/composer/RealtimeVoiceMode.js.map +1 -0
- package/dist/client/composer/TiptapComposer.d.ts +1 -0
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +25 -20
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/VoiceButton.d.ts.map +1 -1
- package/dist/client/composer/VoiceButton.js +9 -0
- package/dist/client/composer/VoiceButton.js.map +1 -1
- package/dist/client/composer/index.d.ts +2 -0
- package/dist/client/composer/index.d.ts.map +1 -1
- package/dist/client/composer/index.js +2 -0
- package/dist/client/composer/index.js.map +1 -1
- package/dist/client/composer/useRealtimeVoiceMode.d.ts +56 -0
- package/dist/client/composer/useRealtimeVoiceMode.d.ts.map +1 -0
- package/dist/client/composer/useRealtimeVoiceMode.js +492 -0
- package/dist/client/composer/useRealtimeVoiceMode.js.map +1 -0
- package/dist/client/guided-questions.d.ts.map +1 -1
- package/dist/client/guided-questions.js +7 -2
- package/dist/client/guided-questions.js.map +1 -1
- package/dist/client/index.d.ts +3 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +3 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/integrations/api.d.ts +115 -0
- package/dist/client/integrations/api.d.ts.map +1 -0
- package/dist/client/integrations/api.js +123 -0
- package/dist/client/integrations/api.js.map +1 -0
- package/dist/client/integrations/index.d.ts +1 -0
- package/dist/client/integrations/index.d.ts.map +1 -1
- package/dist/client/integrations/index.js +1 -0
- package/dist/client/integrations/index.js.map +1 -1
- package/dist/client/settings/DemoModeSection.d.ts.map +1 -1
- package/dist/client/settings/DemoModeSection.js +4 -3
- package/dist/client/settings/DemoModeSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +4 -0
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/SettingsTabsPage.d.ts +10 -3
- package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
- package/dist/client/settings/SettingsTabsPage.js +49 -11
- package/dist/client/settings/SettingsTabsPage.js.map +1 -1
- package/dist/client/transcription/use-live-transcription.d.ts.map +1 -1
- package/dist/client/transcription/use-live-transcription.js +59 -5
- package/dist/client/transcription/use-live-transcription.js.map +1 -1
- package/dist/client/use-chat-models.d.ts.map +1 -1
- package/dist/client/use-chat-models.js +6 -14
- package/dist/client/use-chat-models.js.map +1 -1
- package/dist/client/use-db-sync.d.ts.map +1 -1
- package/dist/client/use-db-sync.js +87 -7
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/client/use-run-stuck-detection.d.ts +16 -1
- package/dist/client/use-run-stuck-detection.d.ts.map +1 -1
- package/dist/client/use-run-stuck-detection.js +23 -4
- package/dist/client/use-run-stuck-detection.js.map +1 -1
- package/dist/code-agents/background-controller.d.ts +1 -1
- package/dist/code-agents/background-controller.d.ts.map +1 -1
- package/dist/code-agents/background-controller.js +17 -1
- package/dist/code-agents/background-controller.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/ydoc-manager.d.ts +9 -1
- package/dist/collab/ydoc-manager.d.ts.map +1 -1
- package/dist/collab/ydoc-manager.js +30 -6
- package/dist/collab/ydoc-manager.js.map +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +4 -2
- package/dist/db/migrations.js.map +1 -1
- package/dist/demo/fetch-interceptor.d.ts +5 -1
- package/dist/demo/fetch-interceptor.d.ts.map +1 -1
- package/dist/demo/fetch-interceptor.js +16 -12
- package/dist/demo/fetch-interceptor.js.map +1 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +49 -4
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/workspace-deploy.d.ts.map +1 -1
- package/dist/deploy/workspace-deploy.js +31 -2
- package/dist/deploy/workspace-deploy.js.map +1 -1
- package/dist/file-upload/types.d.ts +2 -0
- package/dist/file-upload/types.d.ts.map +1 -1
- package/dist/file-upload/types.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/a2a-continuations-store.d.ts.map +1 -1
- package/dist/integrations/a2a-continuations-store.js +6 -4
- package/dist/integrations/a2a-continuations-store.js.map +1 -1
- package/dist/integrations/adapters/discord.d.ts +3 -0
- package/dist/integrations/adapters/discord.d.ts.map +1 -0
- package/dist/integrations/adapters/discord.js +261 -0
- package/dist/integrations/adapters/discord.js.map +1 -0
- package/dist/integrations/adapters/index.d.ts +4 -0
- package/dist/integrations/adapters/index.d.ts.map +1 -0
- package/dist/integrations/adapters/index.js +26 -0
- package/dist/integrations/adapters/index.js.map +1 -0
- package/dist/integrations/adapters/microsoft-teams.d.ts +5 -0
- package/dist/integrations/adapters/microsoft-teams.d.ts.map +1 -0
- package/dist/integrations/adapters/microsoft-teams.js +295 -0
- package/dist/integrations/adapters/microsoft-teams.js.map +1 -0
- package/dist/integrations/adapters/slack.d.ts +10 -2
- package/dist/integrations/adapters/slack.d.ts.map +1 -1
- package/dist/integrations/adapters/slack.js +772 -27
- package/dist/integrations/adapters/slack.js.map +1 -1
- package/dist/integrations/adapters/telegram.d.ts +0 -2
- package/dist/integrations/adapters/telegram.d.ts.map +1 -1
- package/dist/integrations/adapters/telegram.js +49 -15
- package/dist/integrations/adapters/telegram.js.map +1 -1
- package/dist/integrations/adapters/whatsapp.d.ts +0 -2
- package/dist/integrations/adapters/whatsapp.d.ts.map +1 -1
- package/dist/integrations/adapters/whatsapp.js +40 -17
- package/dist/integrations/adapters/whatsapp.js.map +1 -1
- package/dist/integrations/awaiting-input-store.d.ts +27 -0
- package/dist/integrations/awaiting-input-store.d.ts.map +1 -0
- package/dist/integrations/awaiting-input-store.js +112 -0
- package/dist/integrations/awaiting-input-store.js.map +1 -0
- package/dist/integrations/catalog.d.ts +75 -0
- package/dist/integrations/catalog.d.ts.map +1 -0
- package/dist/integrations/catalog.js +451 -0
- package/dist/integrations/catalog.js.map +1 -0
- package/dist/integrations/computer-supervision-store.d.ts +65 -0
- package/dist/integrations/computer-supervision-store.d.ts.map +1 -0
- package/dist/integrations/computer-supervision-store.js +296 -0
- package/dist/integrations/computer-supervision-store.js.map +1 -0
- package/dist/integrations/computer-supervision.d.ts +11 -0
- package/dist/integrations/computer-supervision.d.ts.map +1 -0
- package/dist/integrations/computer-supervision.js +160 -0
- package/dist/integrations/computer-supervision.js.map +1 -0
- package/dist/integrations/controls-store.d.ts +44 -0
- package/dist/integrations/controls-store.d.ts.map +1 -0
- package/dist/integrations/controls-store.js +129 -0
- package/dist/integrations/controls-store.js.map +1 -0
- package/dist/integrations/index.d.ts +19 -4
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +14 -2
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/installations-store.d.ts +112 -0
- package/dist/integrations/installations-store.d.ts.map +1 -0
- package/dist/integrations/installations-store.js +493 -0
- package/dist/integrations/installations-store.js.map +1 -0
- package/dist/integrations/integration-memory.d.ts +24 -0
- package/dist/integrations/integration-memory.d.ts.map +1 -0
- package/dist/integrations/integration-memory.js +136 -0
- package/dist/integrations/integration-memory.js.map +1 -0
- package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -1
- package/dist/integrations/pending-tasks-retry-job.js +6 -5
- package/dist/integrations/pending-tasks-retry-job.js.map +1 -1
- package/dist/integrations/pending-tasks-store.d.ts +17 -0
- package/dist/integrations/pending-tasks-store.d.ts.map +1 -1
- package/dist/integrations/pending-tasks-store.js +71 -5
- package/dist/integrations/pending-tasks-store.js.map +1 -1
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +725 -38
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/remote-commands-store.d.ts +15 -1
- package/dist/integrations/remote-commands-store.d.ts.map +1 -1
- package/dist/integrations/remote-commands-store.js +273 -3
- package/dist/integrations/remote-commands-store.js.map +1 -1
- package/dist/integrations/remote-devices-store.d.ts +4 -3
- package/dist/integrations/remote-devices-store.d.ts.map +1 -1
- package/dist/integrations/remote-devices-store.js +49 -2
- package/dist/integrations/remote-devices-store.js.map +1 -1
- package/dist/integrations/remote-json-safety.d.ts +6 -0
- package/dist/integrations/remote-json-safety.d.ts.map +1 -0
- package/dist/integrations/remote-json-safety.js +114 -0
- package/dist/integrations/remote-json-safety.js.map +1 -0
- package/dist/integrations/remote-run-events-store.d.ts +11 -1
- package/dist/integrations/remote-run-events-store.d.ts.map +1 -1
- package/dist/integrations/remote-run-events-store.js +85 -17
- package/dist/integrations/remote-run-events-store.js.map +1 -1
- package/dist/integrations/remote-types.d.ts +54 -3
- package/dist/integrations/remote-types.d.ts.map +1 -1
- package/dist/integrations/remote-types.js.map +1 -1
- package/dist/integrations/scope-store.d.ts +65 -0
- package/dist/integrations/scope-store.d.ts.map +1 -0
- package/dist/integrations/scope-store.js +361 -0
- package/dist/integrations/scope-store.js.map +1 -0
- package/dist/integrations/slack-manifest.d.ts +66 -0
- package/dist/integrations/slack-manifest.d.ts.map +1 -0
- package/dist/integrations/slack-manifest.js +70 -0
- package/dist/integrations/slack-manifest.js.map +1 -0
- package/dist/integrations/slack-oauth.d.ts +99 -0
- package/dist/integrations/slack-oauth.d.ts.map +1 -0
- package/dist/integrations/slack-oauth.js +226 -0
- package/dist/integrations/slack-oauth.js.map +1 -0
- package/dist/integrations/types.d.ts +144 -0
- package/dist/integrations/types.d.ts.map +1 -1
- package/dist/integrations/types.js +16 -1
- package/dist/integrations/types.js.map +1 -1
- package/dist/integrations/usage-budget-store.d.ts +84 -0
- package/dist/integrations/usage-budget-store.d.ts.map +1 -0
- package/dist/integrations/usage-budget-store.js +650 -0
- package/dist/integrations/usage-budget-store.js.map +1 -0
- package/dist/integrations/webhook-handler.d.ts +4 -0
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +548 -51
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/jobs/scheduler.d.ts +6 -0
- package/dist/jobs/scheduler.d.ts.map +1 -1
- package/dist/jobs/scheduler.js +83 -4
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/jobs/tools.d.ts.map +1 -1
- package/dist/jobs/tools.js +43 -11
- package/dist/jobs/tools.js.map +1 -1
- package/dist/localization/default-messages.d.ts +26 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +26 -0
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp-client/config.d.ts.map +1 -1
- package/dist/mcp-client/config.js +44 -3
- package/dist/mcp-client/config.js.map +1 -1
- package/dist/mcp-client/index.d.ts +6 -1
- package/dist/mcp-client/index.d.ts.map +1 -1
- package/dist/mcp-client/index.js +11 -3
- package/dist/mcp-client/index.js.map +1 -1
- package/dist/mcp-client/tool-policy.d.ts +24 -0
- package/dist/mcp-client/tool-policy.d.ts.map +1 -0
- package/dist/mcp-client/tool-policy.js +139 -0
- package/dist/mcp-client/tool-policy.js.map +1 -0
- package/dist/observability/routes.d.ts +1 -1
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/index.d.ts +4 -4
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +72 -1
- package/dist/provider-api/index.js.map +1 -1
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +57 -15
- package/dist/resources/handlers.js.map +1 -1
- package/dist/resources/script-helpers.d.ts.map +1 -1
- package/dist/resources/script-helpers.js +34 -8
- package/dist/resources/script-helpers.js.map +1 -1
- package/dist/resources/store.d.ts +10 -0
- package/dist/resources/store.d.ts.map +1 -1
- package/dist/resources/store.js +54 -47
- package/dist/resources/store.js.map +1 -1
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +106 -1
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/secrets/register-framework-secrets.d.ts +3 -4
- package/dist/secrets/register-framework-secrets.d.ts.map +1 -1
- package/dist/secrets/register-framework-secrets.js +25 -4
- package/dist/secrets/register-framework-secrets.js.map +1 -1
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/agent-chat-plugin.d.ts +15 -4
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +300 -118
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +10 -14
- package/dist/server/auth.js.map +1 -1
- package/dist/server/builder-design-systems.d.ts +3 -1
- package/dist/server/builder-design-systems.d.ts.map +1 -1
- package/dist/server/builder-design-systems.js +9 -2
- package/dist/server/builder-design-systems.js.map +1 -1
- package/dist/server/edge.d.ts +1 -1
- package/dist/server/edge.d.ts.map +1 -1
- package/dist/server/edge.js +1 -1
- package/dist/server/edge.js.map +1 -1
- package/dist/server/index.d.ts +4 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +4 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/realtime-voice.d.ts +53 -0
- package/dist/server/realtime-voice.d.ts.map +1 -0
- package/dist/server/realtime-voice.js +404 -0
- package/dist/server/realtime-voice.js.map +1 -0
- package/dist/server/request-context.d.ts +18 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/social-og-image.d.ts.map +1 -1
- package/dist/server/social-og-image.js +3 -2
- package/dist/server/social-og-image.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/shared/reasoning-effort.d.ts +20 -0
- package/dist/shared/reasoning-effort.d.ts.map +1 -1
- package/dist/shared/reasoning-effort.js +52 -18
- package/dist/shared/reasoning-effort.js.map +1 -1
- package/dist/styles/agent-conversation.css +17 -0
- package/dist/styles/agent-native.css +62 -44
- package/dist/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/dist/templates/default/AGENTS.md +7 -3
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
- package/dist/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
- package/dist/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
- package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +39 -5
- package/dist/templates/workspace-core/AGENTS.md +3 -2
- package/dist/usage/store.d.ts +7 -0
- package/dist/usage/store.d.ts.map +1 -1
- package/dist/usage/store.js +24 -3
- package/dist/usage/store.js.map +1 -1
- package/docs/content/a2a-protocol.mdx +21 -5
- package/docs/content/actions.mdx +9 -23
- package/docs/content/agent-mentions.mdx +31 -29
- package/docs/content/agent-native-toolkit.mdx +15 -6
- package/docs/content/agent-surfaces.mdx +9 -13
- package/docs/content/agent-teams.mdx +1 -0
- package/docs/content/authentication.mdx +10 -3
- package/docs/content/automation-connectors.mdx +123 -0
- package/docs/content/automations.mdx +17 -3
- package/docs/content/blueprint-installer.mdx +11 -4
- package/docs/content/cli-adapters.mdx +9 -6
- package/docs/content/client.mdx +16 -0
- package/docs/content/cloneable-saas.mdx +14 -11
- package/docs/content/code-agents-ui.mdx +65 -0
- package/docs/content/components.mdx +30 -14
- package/docs/content/context-awareness.mdx +27 -15
- package/docs/content/creating-templates.mdx +15 -9
- package/docs/content/cross-app-sso.mdx +16 -6
- package/docs/content/data-programs.mdx +1 -1
- package/docs/content/database.mdx +17 -5
- package/docs/content/deployment.mdx +19 -18
- package/docs/content/dispatch.mdx +6 -2
- package/docs/content/drop-in-agent.mdx +10 -4
- package/docs/content/durable-background-runs.mdx +9 -5
- package/docs/content/durable-resume.mdx +9 -4
- package/docs/content/embedding-sdk.mdx +26 -8
- package/docs/content/evals.mdx +3 -5
- package/docs/content/extensions.mdx +23 -2
- package/docs/content/external-agents.mdx +25 -34
- package/docs/content/faq.mdx +8 -0
- package/docs/content/file-uploads.mdx +12 -3
- package/docs/content/frames.mdx +16 -0
- package/docs/content/generative-ui.mdx +1 -1
- package/docs/content/getting-started.mdx +34 -21
- package/docs/content/harness-agents.mdx +8 -4
- package/docs/content/human-approval.mdx +8 -3
- package/docs/content/internationalization.mdx +9 -4
- package/docs/content/key-concepts.mdx +13 -20
- package/docs/content/local-file-mode.mdx +14 -8
- package/docs/content/locales/ar-SA/actions.mdx +2 -2
- package/docs/content/locales/ar-SA/agent-native-toolkit.mdx +2 -2
- package/docs/content/locales/ar-SA/agent-surfaces.mdx +8 -10
- package/docs/content/locales/ar-SA/agent-teams.mdx +1 -0
- package/docs/content/locales/ar-SA/authentication.mdx +1 -1
- package/docs/content/locales/ar-SA/components.mdx +11 -1
- package/docs/content/locales/ar-SA/creating-templates.mdx +3 -7
- package/docs/content/locales/ar-SA/cross-app-sso.mdx +16 -6
- package/docs/content/locales/ar-SA/deployment.mdx +8 -0
- package/docs/content/locales/ar-SA/extensions.mdx +8 -0
- package/docs/content/locales/ar-SA/external-agents.mdx +2 -7
- package/docs/content/locales/ar-SA/key-concepts.mdx +13 -20
- package/docs/content/locales/ar-SA/messaging.mdx +84 -15
- package/docs/content/locales/ar-SA/multi-tenancy.mdx +5 -5
- package/docs/content/locales/ar-SA/notifications.mdx +18 -10
- package/docs/content/locales/ar-SA/processors.mdx +11 -5
- package/docs/content/locales/ar-SA/server.mdx +17 -10
- package/docs/content/locales/ar-SA/sharing.mdx +10 -10
- package/docs/content/locales/ar-SA/skills-guide.mdx +34 -17
- package/docs/content/locales/ar-SA/template-assets.mdx +16 -13
- package/docs/content/locales/ar-SA/template-brain.mdx +3 -1
- package/docs/content/locales/ar-SA/template-clips.mdx +4 -3
- package/docs/content/locales/ar-SA/template-design.mdx +4 -1
- package/docs/content/locales/ar-SA/template-dispatch.mdx +5 -1
- package/docs/content/locales/ar-SA/template-mail.mdx +8 -0
- package/docs/content/locales/ar-SA/tracking.mdx +9 -6
- package/docs/content/locales/ar-SA/using-your-agent.mdx +0 -7
- package/docs/content/locales/ar-SA/voice-input.mdx +6 -0
- package/docs/content/locales/ar-SA/workspace-connections.mdx +9 -2
- package/docs/content/locales/ar-SA/workspace.mdx +19 -18
- package/docs/content/locales/de-DE/actions.mdx +2 -2
- package/docs/content/locales/de-DE/agent-native-toolkit.mdx +2 -2
- package/docs/content/locales/de-DE/agent-surfaces.mdx +8 -10
- package/docs/content/locales/de-DE/agent-teams.mdx +1 -0
- package/docs/content/locales/de-DE/authentication.mdx +1 -1
- package/docs/content/locales/de-DE/components.mdx +11 -1
- package/docs/content/locales/de-DE/creating-templates.mdx +3 -7
- package/docs/content/locales/de-DE/cross-app-sso.mdx +16 -6
- package/docs/content/locales/de-DE/deployment.mdx +8 -0
- package/docs/content/locales/de-DE/extensions.mdx +10 -0
- package/docs/content/locales/de-DE/external-agents.mdx +3 -7
- package/docs/content/locales/de-DE/key-concepts.mdx +13 -20
- package/docs/content/locales/de-DE/messaging.mdx +92 -15
- package/docs/content/locales/de-DE/multi-tenancy.mdx +5 -5
- package/docs/content/locales/de-DE/notifications.mdx +18 -10
- package/docs/content/locales/de-DE/processors.mdx +11 -5
- package/docs/content/locales/de-DE/server.mdx +18 -10
- package/docs/content/locales/de-DE/sharing.mdx +10 -10
- package/docs/content/locales/de-DE/skills-guide.mdx +34 -17
- package/docs/content/locales/de-DE/template-assets.mdx +16 -13
- package/docs/content/locales/de-DE/template-brain.mdx +3 -1
- package/docs/content/locales/de-DE/template-clips.mdx +4 -3
- package/docs/content/locales/de-DE/template-design.mdx +4 -1
- package/docs/content/locales/de-DE/template-dispatch.mdx +5 -1
- package/docs/content/locales/de-DE/template-mail.mdx +8 -0
- package/docs/content/locales/de-DE/tracking.mdx +9 -6
- package/docs/content/locales/de-DE/using-your-agent.mdx +0 -7
- package/docs/content/locales/de-DE/voice-input.mdx +6 -0
- package/docs/content/locales/de-DE/workspace-connections.mdx +9 -2
- package/docs/content/locales/de-DE/workspace.mdx +19 -18
- package/docs/content/locales/es-ES/actions.mdx +2 -2
- package/docs/content/locales/es-ES/agent-native-toolkit.mdx +2 -2
- package/docs/content/locales/es-ES/agent-surfaces.mdx +8 -10
- package/docs/content/locales/es-ES/agent-teams.mdx +1 -0
- package/docs/content/locales/es-ES/authentication.mdx +1 -1
- package/docs/content/locales/es-ES/components.mdx +11 -1
- package/docs/content/locales/es-ES/creating-templates.mdx +3 -7
- package/docs/content/locales/es-ES/cross-app-sso.mdx +16 -6
- package/docs/content/locales/es-ES/deployment.mdx +8 -0
- package/docs/content/locales/es-ES/extensions.mdx +10 -0
- package/docs/content/locales/es-ES/external-agents.mdx +3 -7
- package/docs/content/locales/es-ES/key-concepts.mdx +13 -20
- package/docs/content/locales/es-ES/messaging.mdx +91 -15
- package/docs/content/locales/es-ES/multi-tenancy.mdx +5 -5
- package/docs/content/locales/es-ES/notifications.mdx +18 -10
- package/docs/content/locales/es-ES/processors.mdx +11 -5
- package/docs/content/locales/es-ES/server.mdx +17 -10
- package/docs/content/locales/es-ES/sharing.mdx +10 -10
- package/docs/content/locales/es-ES/skills-guide.mdx +34 -17
- package/docs/content/locales/es-ES/template-assets.mdx +16 -13
- package/docs/content/locales/es-ES/template-brain.mdx +3 -1
- package/docs/content/locales/es-ES/template-clips.mdx +4 -3
- package/docs/content/locales/es-ES/template-design.mdx +4 -1
- package/docs/content/locales/es-ES/template-dispatch.mdx +5 -1
- package/docs/content/locales/es-ES/template-mail.mdx +8 -0
- package/docs/content/locales/es-ES/tracking.mdx +9 -6
- package/docs/content/locales/es-ES/using-your-agent.mdx +0 -7
- package/docs/content/locales/es-ES/voice-input.mdx +6 -0
- package/docs/content/locales/es-ES/workspace-connections.mdx +9 -2
- package/docs/content/locales/es-ES/workspace.mdx +19 -18
- package/docs/content/locales/fr-FR/actions.mdx +2 -2
- package/docs/content/locales/fr-FR/agent-native-toolkit.mdx +2 -2
- package/docs/content/locales/fr-FR/agent-surfaces.mdx +8 -10
- package/docs/content/locales/fr-FR/agent-teams.mdx +1 -0
- package/docs/content/locales/fr-FR/authentication.mdx +1 -1
- package/docs/content/locales/fr-FR/components.mdx +11 -1
- package/docs/content/locales/fr-FR/creating-templates.mdx +3 -7
- package/docs/content/locales/fr-FR/cross-app-sso.mdx +16 -6
- package/docs/content/locales/fr-FR/deployment.mdx +8 -0
- package/docs/content/locales/fr-FR/extensions.mdx +10 -0
- package/docs/content/locales/fr-FR/external-agents.mdx +3 -7
- package/docs/content/locales/fr-FR/key-concepts.mdx +13 -20
- package/docs/content/locales/fr-FR/messaging.mdx +91 -15
- package/docs/content/locales/fr-FR/multi-tenancy.mdx +5 -5
- package/docs/content/locales/fr-FR/notifications.mdx +18 -10
- package/docs/content/locales/fr-FR/processors.mdx +11 -5
- package/docs/content/locales/fr-FR/server.mdx +17 -10
- package/docs/content/locales/fr-FR/sharing.mdx +10 -10
- package/docs/content/locales/fr-FR/skills-guide.mdx +34 -17
- package/docs/content/locales/fr-FR/template-assets.mdx +16 -13
- package/docs/content/locales/fr-FR/template-brain.mdx +3 -1
- package/docs/content/locales/fr-FR/template-clips.mdx +4 -3
- package/docs/content/locales/fr-FR/template-design.mdx +4 -1
- package/docs/content/locales/fr-FR/template-dispatch.mdx +5 -1
- package/docs/content/locales/fr-FR/template-mail.mdx +8 -0
- package/docs/content/locales/fr-FR/tracking.mdx +9 -6
- package/docs/content/locales/fr-FR/using-your-agent.mdx +0 -7
- package/docs/content/locales/fr-FR/voice-input.mdx +6 -0
- package/docs/content/locales/fr-FR/workspace-connections.mdx +9 -2
- package/docs/content/locales/fr-FR/workspace.mdx +19 -18
- package/docs/content/locales/hi-IN/actions.mdx +2 -2
- package/docs/content/locales/hi-IN/agent-native-toolkit.mdx +2 -2
- package/docs/content/locales/hi-IN/agent-surfaces.mdx +8 -10
- package/docs/content/locales/hi-IN/agent-teams.mdx +1 -0
- package/docs/content/locales/hi-IN/authentication.mdx +1 -1
- package/docs/content/locales/hi-IN/components.mdx +11 -1
- package/docs/content/locales/hi-IN/creating-templates.mdx +3 -7
- package/docs/content/locales/hi-IN/cross-app-sso.mdx +16 -6
- package/docs/content/locales/hi-IN/deployment.mdx +8 -0
- package/docs/content/locales/hi-IN/extensions.mdx +8 -0
- package/docs/content/locales/hi-IN/external-agents.mdx +2 -7
- package/docs/content/locales/hi-IN/key-concepts.mdx +13 -20
- package/docs/content/locales/hi-IN/messaging.mdx +81 -15
- package/docs/content/locales/hi-IN/multi-tenancy.mdx +5 -5
- package/docs/content/locales/hi-IN/notifications.mdx +18 -10
- package/docs/content/locales/hi-IN/processors.mdx +11 -5
- package/docs/content/locales/hi-IN/server.mdx +17 -10
- package/docs/content/locales/hi-IN/sharing.mdx +10 -10
- package/docs/content/locales/hi-IN/skills-guide.mdx +34 -17
- package/docs/content/locales/hi-IN/template-assets.mdx +16 -13
- package/docs/content/locales/hi-IN/template-brain.mdx +3 -1
- package/docs/content/locales/hi-IN/template-clips.mdx +4 -3
- package/docs/content/locales/hi-IN/template-design.mdx +4 -1
- package/docs/content/locales/hi-IN/template-dispatch.mdx +5 -1
- package/docs/content/locales/hi-IN/template-mail.mdx +8 -0
- package/docs/content/locales/hi-IN/tracking.mdx +9 -6
- package/docs/content/locales/hi-IN/using-your-agent.mdx +0 -7
- package/docs/content/locales/hi-IN/voice-input.mdx +6 -0
- package/docs/content/locales/hi-IN/workspace-connections.mdx +9 -2
- package/docs/content/locales/hi-IN/workspace.mdx +19 -18
- package/docs/content/locales/ja-JP/actions.mdx +2 -2
- package/docs/content/locales/ja-JP/agent-native-toolkit.mdx +2 -2
- package/docs/content/locales/ja-JP/agent-surfaces.mdx +8 -10
- package/docs/content/locales/ja-JP/agent-teams.mdx +1 -0
- package/docs/content/locales/ja-JP/authentication.mdx +1 -1
- package/docs/content/locales/ja-JP/components.mdx +11 -1
- package/docs/content/locales/ja-JP/creating-templates.mdx +3 -7
- package/docs/content/locales/ja-JP/cross-app-sso.mdx +16 -6
- package/docs/content/locales/ja-JP/deployment.mdx +8 -0
- package/docs/content/locales/ja-JP/extensions.mdx +9 -0
- package/docs/content/locales/ja-JP/external-agents.mdx +2 -7
- package/docs/content/locales/ja-JP/key-concepts.mdx +13 -20
- package/docs/content/locales/ja-JP/messaging.mdx +81 -15
- package/docs/content/locales/ja-JP/multi-tenancy.mdx +5 -5
- package/docs/content/locales/ja-JP/notifications.mdx +18 -10
- package/docs/content/locales/ja-JP/processors.mdx +11 -5
- package/docs/content/locales/ja-JP/server.mdx +17 -10
- package/docs/content/locales/ja-JP/sharing.mdx +10 -10
- package/docs/content/locales/ja-JP/skills-guide.mdx +34 -17
- package/docs/content/locales/ja-JP/template-assets.mdx +16 -13
- package/docs/content/locales/ja-JP/template-brain.mdx +3 -1
- package/docs/content/locales/ja-JP/template-clips.mdx +4 -4
- package/docs/content/locales/ja-JP/template-design.mdx +4 -1
- package/docs/content/locales/ja-JP/template-dispatch.mdx +5 -1
- package/docs/content/locales/ja-JP/template-mail.mdx +8 -0
- package/docs/content/locales/ja-JP/tracking.mdx +9 -6
- package/docs/content/locales/ja-JP/using-your-agent.mdx +0 -7
- package/docs/content/locales/ja-JP/voice-input.mdx +6 -0
- package/docs/content/locales/ja-JP/workspace-connections.mdx +9 -2
- package/docs/content/locales/ja-JP/workspace.mdx +19 -18
- package/docs/content/locales/ko-KR/actions.mdx +2 -2
- package/docs/content/locales/ko-KR/agent-native-toolkit.mdx +2 -2
- package/docs/content/locales/ko-KR/agent-surfaces.mdx +8 -10
- package/docs/content/locales/ko-KR/agent-teams.mdx +1 -0
- package/docs/content/locales/ko-KR/authentication.mdx +1 -1
- package/docs/content/locales/ko-KR/components.mdx +11 -1
- package/docs/content/locales/ko-KR/creating-templates.mdx +3 -7
- package/docs/content/locales/ko-KR/cross-app-sso.mdx +16 -6
- package/docs/content/locales/ko-KR/deployment.mdx +8 -0
- package/docs/content/locales/ko-KR/extensions.mdx +8 -0
- package/docs/content/locales/ko-KR/external-agents.mdx +2 -7
- package/docs/content/locales/ko-KR/key-concepts.mdx +13 -20
- package/docs/content/locales/ko-KR/messaging.mdx +80 -15
- package/docs/content/locales/ko-KR/multi-tenancy.mdx +5 -5
- package/docs/content/locales/ko-KR/notifications.mdx +18 -10
- package/docs/content/locales/ko-KR/processors.mdx +11 -5
- package/docs/content/locales/ko-KR/server.mdx +17 -10
- package/docs/content/locales/ko-KR/sharing.mdx +10 -10
- package/docs/content/locales/ko-KR/skills-guide.mdx +34 -17
- package/docs/content/locales/ko-KR/template-assets.mdx +16 -13
- package/docs/content/locales/ko-KR/template-brain.mdx +3 -1
- package/docs/content/locales/ko-KR/template-clips.mdx +4 -4
- package/docs/content/locales/ko-KR/template-design.mdx +4 -1
- package/docs/content/locales/ko-KR/template-dispatch.mdx +5 -1
- package/docs/content/locales/ko-KR/template-mail.mdx +8 -0
- package/docs/content/locales/ko-KR/tracking.mdx +9 -6
- package/docs/content/locales/ko-KR/using-your-agent.mdx +0 -7
- package/docs/content/locales/ko-KR/voice-input.mdx +6 -0
- package/docs/content/locales/ko-KR/workspace-connections.mdx +9 -2
- package/docs/content/locales/ko-KR/workspace.mdx +19 -18
- package/docs/content/locales/pt-BR/actions.mdx +2 -2
- package/docs/content/locales/pt-BR/agent-native-toolkit.mdx +2 -2
- package/docs/content/locales/pt-BR/agent-surfaces.mdx +8 -10
- package/docs/content/locales/pt-BR/agent-teams.mdx +1 -0
- package/docs/content/locales/pt-BR/authentication.mdx +1 -1
- package/docs/content/locales/pt-BR/components.mdx +11 -1
- package/docs/content/locales/pt-BR/creating-templates.mdx +3 -7
- package/docs/content/locales/pt-BR/cross-app-sso.mdx +16 -6
- package/docs/content/locales/pt-BR/deployment.mdx +8 -0
- package/docs/content/locales/pt-BR/extensions.mdx +9 -0
- package/docs/content/locales/pt-BR/external-agents.mdx +3 -7
- package/docs/content/locales/pt-BR/key-concepts.mdx +13 -20
- package/docs/content/locales/pt-BR/messaging.mdx +88 -15
- package/docs/content/locales/pt-BR/multi-tenancy.mdx +5 -5
- package/docs/content/locales/pt-BR/notifications.mdx +18 -10
- package/docs/content/locales/pt-BR/processors.mdx +11 -5
- package/docs/content/locales/pt-BR/server.mdx +17 -10
- package/docs/content/locales/pt-BR/sharing.mdx +10 -10
- package/docs/content/locales/pt-BR/skills-guide.mdx +34 -17
- package/docs/content/locales/pt-BR/template-assets.mdx +16 -13
- package/docs/content/locales/pt-BR/template-brain.mdx +3 -1
- package/docs/content/locales/pt-BR/template-clips.mdx +4 -3
- package/docs/content/locales/pt-BR/template-design.mdx +4 -1
- package/docs/content/locales/pt-BR/template-dispatch.mdx +5 -1
- package/docs/content/locales/pt-BR/template-mail.mdx +8 -0
- package/docs/content/locales/pt-BR/tracking.mdx +9 -6
- package/docs/content/locales/pt-BR/using-your-agent.mdx +0 -7
- package/docs/content/locales/pt-BR/voice-input.mdx +6 -0
- package/docs/content/locales/pt-BR/workspace-connections.mdx +9 -2
- package/docs/content/locales/pt-BR/workspace.mdx +19 -18
- package/docs/content/locales/zh-CN/actions.mdx +2 -2
- package/docs/content/locales/zh-CN/agent-native-toolkit.mdx +2 -2
- package/docs/content/locales/zh-CN/agent-surfaces.mdx +8 -10
- package/docs/content/locales/zh-CN/agent-teams.mdx +1 -0
- package/docs/content/locales/zh-CN/authentication.mdx +1 -1
- package/docs/content/locales/zh-CN/components.mdx +11 -1
- package/docs/content/locales/zh-CN/creating-templates.mdx +3 -7
- package/docs/content/locales/zh-CN/cross-app-sso.mdx +16 -6
- package/docs/content/locales/zh-CN/deployment.mdx +8 -0
- package/docs/content/locales/zh-CN/extensions.mdx +6 -0
- package/docs/content/locales/zh-CN/external-agents.mdx +2 -7
- package/docs/content/locales/zh-CN/key-concepts.mdx +13 -20
- package/docs/content/locales/zh-CN/messaging.mdx +78 -15
- package/docs/content/locales/zh-CN/multi-tenancy.mdx +5 -5
- package/docs/content/locales/zh-CN/notifications.mdx +18 -10
- package/docs/content/locales/zh-CN/processors.mdx +11 -5
- package/docs/content/locales/zh-CN/server.mdx +16 -10
- package/docs/content/locales/zh-CN/sharing.mdx +10 -10
- package/docs/content/locales/zh-CN/skills-guide.mdx +34 -17
- package/docs/content/locales/zh-CN/template-assets.mdx +16 -13
- package/docs/content/locales/zh-CN/template-brain.mdx +3 -1
- package/docs/content/locales/zh-CN/template-clips.mdx +4 -4
- package/docs/content/locales/zh-CN/template-design.mdx +4 -1
- package/docs/content/locales/zh-CN/template-dispatch.mdx +5 -1
- package/docs/content/locales/zh-CN/template-mail.mdx +8 -0
- package/docs/content/locales/zh-CN/tracking.mdx +9 -6
- package/docs/content/locales/zh-CN/using-your-agent.mdx +0 -7
- package/docs/content/locales/zh-CN/voice-input.mdx +6 -0
- package/docs/content/locales/zh-CN/workspace-connections.mdx +9 -2
- package/docs/content/locales/zh-CN/workspace.mdx +19 -18
- package/docs/content/locales/zh-TW/actions.mdx +2 -2
- package/docs/content/locales/zh-TW/agent-native-toolkit.mdx +2 -2
- package/docs/content/locales/zh-TW/agent-surfaces.mdx +8 -10
- package/docs/content/locales/zh-TW/agent-teams.mdx +1 -0
- package/docs/content/locales/zh-TW/authentication.mdx +1 -1
- package/docs/content/locales/zh-TW/components.mdx +11 -1
- package/docs/content/locales/zh-TW/creating-templates.mdx +3 -7
- package/docs/content/locales/zh-TW/cross-app-sso.mdx +16 -6
- package/docs/content/locales/zh-TW/deployment.mdx +8 -0
- package/docs/content/locales/zh-TW/extensions.mdx +6 -0
- package/docs/content/locales/zh-TW/external-agents.mdx +2 -7
- package/docs/content/locales/zh-TW/key-concepts.mdx +13 -20
- package/docs/content/locales/zh-TW/messaging.mdx +78 -15
- package/docs/content/locales/zh-TW/multi-tenancy.mdx +5 -5
- package/docs/content/locales/zh-TW/notifications.mdx +18 -10
- package/docs/content/locales/zh-TW/processors.mdx +11 -5
- package/docs/content/locales/zh-TW/server.mdx +16 -10
- package/docs/content/locales/zh-TW/sharing.mdx +10 -10
- package/docs/content/locales/zh-TW/skills-guide.mdx +34 -17
- package/docs/content/locales/zh-TW/template-assets.mdx +16 -13
- package/docs/content/locales/zh-TW/template-brain.mdx +3 -1
- package/docs/content/locales/zh-TW/template-clips.mdx +4 -4
- package/docs/content/locales/zh-TW/template-design.mdx +4 -1
- package/docs/content/locales/zh-TW/template-dispatch.mdx +5 -1
- package/docs/content/locales/zh-TW/template-mail.mdx +8 -0
- package/docs/content/locales/zh-TW/tracking.mdx +9 -6
- package/docs/content/locales/zh-TW/using-your-agent.mdx +0 -7
- package/docs/content/locales/zh-TW/voice-input.mdx +6 -0
- package/docs/content/locales/zh-TW/workspace-connections.mdx +9 -2
- package/docs/content/locales/zh-TW/workspace.mdx +19 -18
- package/docs/content/mcp-apps.mdx +14 -32
- package/docs/content/mcp-clients.mdx +48 -54
- package/docs/content/mcp-protocol.mdx +25 -10
- package/docs/content/messaging.mdx +238 -48
- package/docs/content/multi-app-workspace.mdx +11 -96
- package/docs/content/multi-tenancy.mdx +5 -5
- package/docs/content/native-chat-ui.mdx +4 -4
- package/docs/content/notifications.mdx +19 -12
- package/docs/content/observability.mdx +2 -4
- package/docs/content/observational-memory.mdx +7 -3
- package/docs/content/onboarding.mdx +9 -2
- package/docs/content/plan-plugin.mdx +10 -2
- package/docs/content/pr-visual-recap.mdx +1 -1
- package/docs/content/processors.mdx +11 -5
- package/docs/content/pure-agent-apps.mdx +5 -1
- package/docs/content/real-time-collaboration.mdx +30 -67
- package/docs/content/recurring-jobs.mdx +8 -6
- package/docs/content/routing.mdx +3 -4
- package/docs/content/sandbox-adapters.mdx +30 -53
- package/docs/content/security.mdx +8 -0
- package/docs/content/server.mdx +17 -10
- package/docs/content/sharing.mdx +10 -10
- package/docs/content/skills-guide.mdx +35 -16
- package/docs/content/template-analytics.mdx +11 -8
- package/docs/content/template-assets.mdx +16 -13
- package/docs/content/template-brain.mdx +3 -1
- package/docs/content/template-calendar.mdx +12 -4
- package/docs/content/template-chat.mdx +4 -4
- package/docs/content/template-clips.mdx +6 -3
- package/docs/content/template-content.mdx +23 -18
- package/docs/content/template-design.mdx +7 -1
- package/docs/content/template-dispatch.mdx +5 -1
- package/docs/content/template-mail.mdx +14 -2
- package/docs/content/template-plan.mdx +22 -15
- package/docs/content/template-slides.mdx +11 -3
- package/docs/content/toolkit-agent-ux.mdx +46 -3
- package/docs/content/toolkit-collaboration.mdx +58 -4
- package/docs/content/toolkit-command-navigation.mdx +8 -2
- package/docs/content/toolkit-comments-review.mdx +10 -2
- package/docs/content/toolkit-history.mdx +8 -3
- package/docs/content/toolkit-observability.mdx +48 -2
- package/docs/content/toolkit-org-team.mdx +8 -2
- package/docs/content/toolkit-resources.mdx +45 -2
- package/docs/content/toolkit-settings.mdx +8 -2
- package/docs/content/toolkit-setup-connections.mdx +7 -2
- package/docs/content/toolkit-sharing.mdx +46 -3
- package/docs/content/toolkit-ui.mdx +82 -11
- package/docs/content/tracking.mdx +10 -8
- package/docs/content/using-your-agent.mdx +0 -12
- package/docs/content/voice-input.mdx +7 -1
- package/docs/content/what-is-agent-native.mdx +7 -8
- package/docs/content/workspace-connections.mdx +16 -23
- package/docs/content/workspace-management.mdx +16 -4
- package/docs/content/workspace.mdx +19 -18
- package/package.json +5 -1
- package/src/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/src/templates/default/AGENTS.md +7 -3
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
- package/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
- package/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
- package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +39 -5
- package/src/templates/workspace-core/AGENTS.md +3 -2
- package/corpus/core/docs/content/locales/ar-SA/migration-workbench.mdx +0 -76
- package/corpus/core/docs/content/locales/de-DE/migration-workbench.mdx +0 -76
- package/corpus/core/docs/content/locales/es-ES/migration-workbench.mdx +0 -76
- package/corpus/core/docs/content/locales/fr-FR/migration-workbench.mdx +0 -76
- package/corpus/core/docs/content/locales/hi-IN/migration-workbench.mdx +0 -74
- package/corpus/core/docs/content/locales/ja-JP/migration-workbench.mdx +0 -76
- package/corpus/core/docs/content/locales/ko-KR/migration-workbench.mdx +0 -74
- package/corpus/core/docs/content/locales/pt-BR/migration-workbench.mdx +0 -76
- package/corpus/core/docs/content/locales/zh-CN/migration-workbench.mdx +0 -74
- package/corpus/core/docs/content/locales/zh-TW/migration-workbench.mdx +0 -74
- package/corpus/core/docs/content/migration-workbench.mdx +0 -74
- package/corpus/core/docs/content/toolkit-app-adapters.mdx +0 -55
- package/corpus/core/docs/content/toolkit-collaboration-ui.mdx +0 -60
- package/corpus/core/docs/content/toolkit-sharing-ui.mdx +0 -45
- package/corpus/core/docs/content/toolkit-shell-hooks.mdx +0 -36
- package/docs/content/locales/ar-SA/migration-workbench.mdx +0 -76
- package/docs/content/locales/de-DE/migration-workbench.mdx +0 -76
- package/docs/content/locales/es-ES/migration-workbench.mdx +0 -76
- package/docs/content/locales/fr-FR/migration-workbench.mdx +0 -76
- package/docs/content/locales/hi-IN/migration-workbench.mdx +0 -74
- package/docs/content/locales/ja-JP/migration-workbench.mdx +0 -76
- package/docs/content/locales/ko-KR/migration-workbench.mdx +0 -74
- package/docs/content/locales/pt-BR/migration-workbench.mdx +0 -76
- package/docs/content/locales/zh-CN/migration-workbench.mdx +0 -74
- package/docs/content/locales/zh-TW/migration-workbench.mdx +0 -74
- package/docs/content/migration-workbench.mdx +0 -74
- package/docs/content/toolkit-app-adapters.mdx +0 -55
- package/docs/content/toolkit-collaboration-ui.mdx +0 -60
- package/docs/content/toolkit-sharing-ui.mdx +0 -45
- package/docs/content/toolkit-shell-hooks.mdx +0 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/client/chat/runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ChatModelAdapter, ChatModelRunResult } from \"@assistant-ui/react\";\n\nimport type { ActionChatUIConfig } from \"../../action-ui.js\";\nimport type { AgentMcpAppPayload } from \"../../mcp-client/app-result.js\";\nimport type { ReasoningEffort } from \"../../shared/reasoning-effort.js\";\nimport { agentNativePath } from \"../api-path.js\";\nimport { formatChatErrorText, normalizeChatError } from \"../error-format.js\";\nimport {\n settleInterruptedToolCalls,\n type ContentPart,\n type SSEEvent,\n} from \"../sse-event-processor.js\";\n\nexport type AgentChatRuntimeId = string;\nexport type AgentChatRuntimeSessionId = string;\nexport type AgentChatRuntimeTurnId = string;\nexport type AgentChatRuntimeMessageId = string;\nexport type AgentChatRuntimeToolCallId = string;\nexport type AgentChatRuntimeMetadata = Record<string, unknown>;\nexport type AgentChatRuntimeAwaitable<T> = T | Promise<T>;\n\nexport type AgentChatRuntimeKind =\n | \"agent-native\"\n | \"external-agent\"\n | \"code-agent\"\n | (string & {});\n\nexport type AgentChatRuntimeRole = \"system\" | \"user\" | \"assistant\" | \"tool\";\n\nexport interface AgentChatRuntimeContentPartBase<\n TType extends string = string,\n> {\n readonly type: TType;\n readonly id?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeTextPart extends AgentChatRuntimeContentPartBase<\"text\"> {\n readonly text: string;\n}\n\nexport interface AgentChatRuntimeReasoningPart extends AgentChatRuntimeContentPartBase<\"reasoning\"> {\n readonly text: string;\n readonly signature?: string;\n}\n\nexport interface AgentChatRuntimeImagePart extends AgentChatRuntimeContentPartBase<\"image\"> {\n readonly data?: string;\n readonly url?: string;\n readonly mediaType?: string;\n readonly alt?: string;\n}\n\nexport interface AgentChatRuntimeFilePart extends AgentChatRuntimeContentPartBase<\"file\"> {\n readonly data?: string;\n readonly url?: string;\n readonly mediaType?: string;\n readonly filename?: string;\n}\n\nexport interface AgentChatRuntimeToolCallPart extends AgentChatRuntimeContentPartBase<\"tool-call\"> {\n readonly toolCallId: AgentChatRuntimeToolCallId;\n readonly toolName: string;\n readonly input?: unknown;\n readonly inputText?: string;\n}\n\nexport interface AgentChatRuntimeToolResultPart extends AgentChatRuntimeContentPartBase<\"tool-result\"> {\n readonly toolCallId: AgentChatRuntimeToolCallId;\n readonly toolName?: string;\n readonly result?: unknown;\n readonly resultText?: string;\n readonly isError?: boolean;\n readonly mcpApp?: AgentMcpAppPayload;\n readonly chatUI?: ActionChatUIConfig;\n}\n\nexport interface AgentChatRuntimeDataPart extends AgentChatRuntimeContentPartBase<\"data\"> {\n readonly data: unknown;\n readonly mediaType?: string;\n readonly title?: string;\n}\n\nexport interface AgentChatRuntimeCustomContentPart extends AgentChatRuntimeContentPartBase {\n readonly [key: string]: unknown;\n}\n\nexport type AgentChatRuntimeKnownContentPart =\n | AgentChatRuntimeTextPart\n | AgentChatRuntimeReasoningPart\n | AgentChatRuntimeImagePart\n | AgentChatRuntimeFilePart\n | AgentChatRuntimeToolCallPart\n | AgentChatRuntimeToolResultPart\n | AgentChatRuntimeDataPart;\n\nexport type AgentChatRuntimeContentPart<\n TCustomPart extends AgentChatRuntimeCustomContentPart = never,\n> = AgentChatRuntimeKnownContentPart | TCustomPart;\n\nexport interface AgentChatRuntimeMessage<\n TContentPart extends AgentChatRuntimeContentPartBase =\n AgentChatRuntimeKnownContentPart,\n> {\n readonly id: AgentChatRuntimeMessageId;\n readonly role: AgentChatRuntimeRole;\n readonly content: readonly TContentPart[];\n readonly createdAt?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeAttachment {\n readonly id?: string;\n readonly name: string;\n readonly mediaType?: string;\n readonly data?: string;\n readonly url?: string;\n readonly text?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeToolDefinition {\n readonly name: string;\n readonly description?: string;\n readonly inputSchema?: Record<string, unknown>;\n readonly readOnly?: boolean;\n readonly destructive?: boolean;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeToolCall {\n readonly id: AgentChatRuntimeToolCallId;\n readonly name: string;\n readonly input?: unknown;\n readonly inputText?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport type AgentChatRuntimeToolStatus =\n | \"pending\"\n | \"running\"\n | \"completed\"\n | \"failed\"\n | \"cancelled\";\n\nexport interface AgentChatRuntimeUsage {\n readonly inputTokens?: number;\n readonly outputTokens?: number;\n readonly totalTokens?: number;\n readonly reasoningTokens?: number;\n readonly cacheReadTokens?: number;\n readonly cacheWriteTokens?: number;\n readonly costCents?: number;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeMessageCapabilities {\n readonly streaming: boolean;\n readonly history?: boolean;\n readonly structuredContent?: boolean;\n readonly multimodal?: boolean;\n readonly attachments?: boolean;\n}\n\nexport interface AgentChatRuntimeToolCapabilities {\n readonly events: boolean;\n readonly hostTools?: boolean;\n readonly inputStreaming?: boolean;\n readonly resultStreaming?: boolean;\n readonly approvals?: boolean;\n readonly mcpApps?: boolean;\n}\n\nexport interface AgentChatRuntimeSessionCapabilities {\n readonly create: boolean;\n readonly restore?: boolean;\n readonly list?: boolean;\n readonly fork?: boolean;\n readonly detach?: boolean;\n readonly persistent?: boolean;\n}\n\nexport interface AgentChatRuntimeCancellationCapabilities {\n readonly abortSignal?: boolean;\n readonly explicitCancel?: boolean;\n readonly interrupt?: boolean;\n}\n\nexport interface AgentChatRuntimeModelCapabilities {\n readonly selectable?: boolean;\n readonly reasoningEffort?: boolean;\n readonly temperature?: boolean;\n readonly providerOptions?: boolean;\n}\n\nexport interface AgentChatRuntimeArtifactCapabilities {\n readonly files?: boolean;\n readonly links?: boolean;\n readonly patches?: boolean;\n readonly progress?: boolean;\n}\n\nexport interface AgentChatRuntimeCapabilities {\n readonly messages: AgentChatRuntimeMessageCapabilities;\n readonly tools?: AgentChatRuntimeToolCapabilities;\n readonly sessions?: AgentChatRuntimeSessionCapabilities;\n readonly cancellation?: AgentChatRuntimeCancellationCapabilities;\n readonly models?: AgentChatRuntimeModelCapabilities;\n readonly artifacts?: AgentChatRuntimeArtifactCapabilities;\n readonly custom?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeCreateSessionInput {\n readonly id?: AgentChatRuntimeSessionId;\n readonly threadId?: string;\n readonly title?: string;\n readonly messages?: readonly AgentChatRuntimeMessage[];\n readonly resumeState?: unknown;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport interface AgentChatRuntimeListSessionsInput {\n readonly threadId?: string;\n readonly limit?: number;\n readonly cursor?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport type AgentChatRuntimeSessionStatus =\n | \"idle\"\n | \"running\"\n | \"waiting\"\n | \"cancelled\"\n | \"completed\"\n | \"error\";\n\nexport interface AgentChatRuntimeSessionSummary {\n readonly id: AgentChatRuntimeSessionId;\n readonly runtimeId: AgentChatRuntimeId;\n readonly threadId?: string;\n readonly title?: string;\n readonly status?: AgentChatRuntimeSessionStatus;\n readonly createdAt?: string;\n readonly updatedAt?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeSessionSnapshot extends AgentChatRuntimeSessionSummary {\n readonly messages?: readonly AgentChatRuntimeMessage[];\n readonly resumeState?: unknown;\n}\n\nexport interface AgentChatRuntimeTurnInput {\n readonly prompt?: string;\n readonly messages?: readonly AgentChatRuntimeMessage[];\n readonly attachments?: readonly AgentChatRuntimeAttachment[];\n readonly tools?: readonly AgentChatRuntimeToolDefinition[];\n readonly model?: string;\n readonly reasoningEffort?: ReasoningEffort;\n readonly temperature?: number;\n readonly providerOptions?: Record<string, unknown>;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport interface AgentChatRuntimeApprovalResponse {\n readonly id: string;\n readonly approved: boolean;\n readonly message?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeContinueInput {\n readonly turnId?: AgentChatRuntimeTurnId;\n readonly prompt?: string;\n readonly approval?: AgentChatRuntimeApprovalResponse;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport interface AgentChatRuntimeCancelInput {\n readonly sessionId?: AgentChatRuntimeSessionId;\n readonly turnId?: AgentChatRuntimeTurnId;\n readonly runId?: string;\n readonly reason?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport type AgentChatRuntimeCancelStatus =\n | \"cancelled\"\n | \"not-found\"\n | \"already-finished\"\n | \"unsupported\";\n\nexport interface AgentChatRuntimeCancelResult {\n readonly status: AgentChatRuntimeCancelStatus;\n readonly message?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeEventBase<TType extends string = string> {\n readonly type: TType;\n readonly id?: string;\n readonly sessionId?: AgentChatRuntimeSessionId;\n readonly turnId?: AgentChatRuntimeTurnId;\n readonly timestamp?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeMessageStartEvent extends AgentChatRuntimeEventBase<\"message-start\"> {\n readonly message: AgentChatRuntimeMessage;\n}\n\nexport type AgentChatRuntimeMessageDelta =\n | {\n readonly type: \"text\";\n readonly text: string;\n readonly partId?: string;\n }\n | {\n readonly type: \"reasoning\";\n readonly text: string;\n readonly partId?: string;\n readonly signature?: string;\n }\n | {\n readonly type: \"data\";\n readonly data: unknown;\n readonly partId?: string;\n readonly mediaType?: string;\n };\n\nexport interface AgentChatRuntimeMessageDeltaEvent extends AgentChatRuntimeEventBase<\"message-delta\"> {\n readonly messageId: AgentChatRuntimeMessageId;\n readonly delta: AgentChatRuntimeMessageDelta;\n}\n\nexport interface AgentChatRuntimeMessageDoneEvent extends AgentChatRuntimeEventBase<\"message-done\"> {\n readonly message: AgentChatRuntimeMessage;\n}\n\nexport interface AgentChatRuntimeToolStartEvent extends AgentChatRuntimeEventBase<\"tool-start\"> {\n readonly toolCall: AgentChatRuntimeToolCall;\n}\n\nexport interface AgentChatRuntimeToolDeltaEvent extends AgentChatRuntimeEventBase<\"tool-delta\"> {\n readonly toolCallId: AgentChatRuntimeToolCallId;\n readonly toolName?: string;\n readonly inputTextDelta?: string;\n readonly resultTextDelta?: string;\n}\n\nexport interface AgentChatRuntimeToolDoneEvent extends AgentChatRuntimeEventBase<\"tool-done\"> {\n readonly toolCallId: AgentChatRuntimeToolCallId;\n readonly toolName: string;\n readonly status: AgentChatRuntimeToolStatus;\n readonly result?: unknown;\n readonly resultText?: string;\n readonly error?: string;\n readonly mcpApp?: AgentMcpAppPayload;\n readonly chatUI?: ActionChatUIConfig;\n}\n\nexport interface AgentChatRuntimeApprovalRequestEvent extends AgentChatRuntimeEventBase<\"approval-request\"> {\n readonly approvalId: string;\n readonly toolCallId?: AgentChatRuntimeToolCallId;\n readonly toolName?: string;\n readonly message: string;\n readonly input?: unknown;\n}\n\nexport interface AgentChatRuntimeApprovalResolvedEvent extends AgentChatRuntimeEventBase<\"approval-resolved\"> {\n readonly approvalId: string;\n readonly approved: boolean;\n readonly message?: string;\n}\n\nexport interface AgentChatRuntimeStatusEvent extends AgentChatRuntimeEventBase<\"status\"> {\n readonly level?: \"info\" | \"warning\" | \"error\";\n readonly message: string;\n readonly code?: string;\n}\n\nexport interface AgentChatRuntimeArtifactEvent extends AgentChatRuntimeEventBase<\"artifact\"> {\n readonly artifact: {\n readonly id?: string;\n readonly kind: string;\n readonly title?: string;\n readonly url?: string;\n readonly path?: string;\n readonly data?: unknown;\n readonly metadata?: AgentChatRuntimeMetadata;\n };\n}\n\nexport interface AgentChatRuntimeFileEvent extends AgentChatRuntimeEventBase<\"file\"> {\n readonly path: string;\n readonly operation?: \"create\" | \"update\" | \"delete\" | \"rename\" | \"unknown\";\n readonly summary?: string;\n}\n\nexport interface AgentChatRuntimeUsageEvent extends AgentChatRuntimeEventBase<\"usage\"> {\n readonly usage: AgentChatRuntimeUsage;\n}\n\nexport interface AgentChatRuntimeErrorEvent extends AgentChatRuntimeEventBase<\"error\"> {\n readonly error: string;\n readonly code?: string;\n readonly recoverable?: boolean;\n readonly cause?: unknown;\n}\n\nexport type AgentChatRuntimeDoneReason =\n | \"complete\"\n | \"cancelled\"\n | \"error\"\n | \"interrupted\"\n | \"length\"\n | \"tool-use\"\n | (string & {});\n\nexport interface AgentChatRuntimeDoneEvent extends AgentChatRuntimeEventBase<\"done\"> {\n readonly reason?: AgentChatRuntimeDoneReason;\n}\n\nexport interface AgentChatRuntimeCustomEvent extends AgentChatRuntimeEventBase {\n readonly [key: string]: unknown;\n}\n\nexport type AgentChatRuntimeKnownEvent =\n | AgentChatRuntimeMessageStartEvent\n | AgentChatRuntimeMessageDeltaEvent\n | AgentChatRuntimeMessageDoneEvent\n | AgentChatRuntimeToolStartEvent\n | AgentChatRuntimeToolDeltaEvent\n | AgentChatRuntimeToolDoneEvent\n | AgentChatRuntimeApprovalRequestEvent\n | AgentChatRuntimeApprovalResolvedEvent\n | AgentChatRuntimeStatusEvent\n | AgentChatRuntimeArtifactEvent\n | AgentChatRuntimeFileEvent\n | AgentChatRuntimeUsageEvent\n | AgentChatRuntimeErrorEvent\n | AgentChatRuntimeDoneEvent;\n\nexport type AgentChatRuntimeEvent<\n TCustomEvent extends AgentChatRuntimeCustomEvent = never,\n> = AgentChatRuntimeKnownEvent | TCustomEvent;\n\nexport interface AgentChatRuntimeTurn<\n TEvent extends AgentChatRuntimeEventBase = AgentChatRuntimeKnownEvent,\n> {\n readonly id?: AgentChatRuntimeTurnId;\n readonly sessionId: AgentChatRuntimeSessionId;\n readonly runId?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly events: AsyncIterable<TEvent>;\n cancel?(\n input?: AgentChatRuntimeCancelInput,\n ): Promise<AgentChatRuntimeCancelResult>;\n}\n\nexport interface AgentChatRuntimeSendMessageInput extends AgentChatRuntimeTurnInput {\n readonly sessionId?: AgentChatRuntimeSessionId;\n}\n\nexport interface AgentChatRuntimeSubscribeInput {\n readonly sessionId?: AgentChatRuntimeSessionId;\n readonly turnId?: AgentChatRuntimeTurnId;\n readonly runId?: string;\n readonly after?: number;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport interface AgentChatRuntimeResumeInput extends AgentChatRuntimeSubscribeInput {\n readonly prompt?: string;\n}\n\nexport interface AgentChatRuntimeSession<\n TEvent extends AgentChatRuntimeEventBase = AgentChatRuntimeKnownEvent,\n> {\n readonly id: AgentChatRuntimeSessionId;\n readonly runtimeId: AgentChatRuntimeId;\n readonly threadId?: string;\n readonly capabilities?: Partial<AgentChatRuntimeCapabilities>;\n sendMessage?(\n input: AgentChatRuntimeTurnInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeTurn<TEvent>>;\n startTurn(\n input: AgentChatRuntimeTurnInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeTurn<TEvent>>;\n continueTurn?(\n input?: AgentChatRuntimeContinueInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeTurn<TEvent>>;\n cancelTurn?(\n input?: AgentChatRuntimeCancelInput,\n ): Promise<AgentChatRuntimeCancelResult>;\n snapshot?(): AgentChatRuntimeAwaitable<AgentChatRuntimeSessionSnapshot>;\n dispose?(): AgentChatRuntimeAwaitable<void>;\n}\n\nexport interface AgentChatRuntime<\n TEvent extends AgentChatRuntimeEventBase = AgentChatRuntimeKnownEvent,\n> {\n readonly id: AgentChatRuntimeId;\n readonly kind: AgentChatRuntimeKind;\n readonly label: string;\n readonly description?: string;\n readonly capabilities: AgentChatRuntimeCapabilities;\n createSession(\n input?: AgentChatRuntimeCreateSessionInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeSession<TEvent>>;\n restoreSession?(\n snapshot: AgentChatRuntimeSessionSnapshot,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeSession<TEvent>>;\n getSession?(input: {\n readonly sessionId: AgentChatRuntimeSessionId;\n readonly abortSignal?: AbortSignal;\n }): AgentChatRuntimeAwaitable<AgentChatRuntimeSession<TEvent> | null>;\n listSessions?(\n input?: AgentChatRuntimeListSessionsInput,\n ): AgentChatRuntimeAwaitable<readonly AgentChatRuntimeSessionSummary[]>;\n sendMessage?(\n input: AgentChatRuntimeSendMessageInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeTurn<TEvent>>;\n subscribe?(\n input: AgentChatRuntimeSubscribeInput,\n ): AgentChatRuntimeAwaitable<AsyncIterable<TEvent>>;\n resume?(\n input: AgentChatRuntimeResumeInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeTurn<TEvent>>;\n cancel?(\n input: AgentChatRuntimeCancelInput,\n ): Promise<AgentChatRuntimeCancelResult>;\n}\n\ntype FetchLike = typeof fetch;\ntype HeadersFactory =\n | HeadersInit\n | ((input: {\n sessionId?: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n }) => HeadersInit | Promise<HeadersInit>);\n\nexport interface CreateHttpAgentChatRuntimeOptions<\n TEvent extends AgentChatRuntimeEventBase = AgentChatRuntimeKnownEvent,\n> {\n readonly id?: AgentChatRuntimeId;\n readonly kind?: AgentChatRuntimeKind;\n readonly label?: string;\n readonly description?: string;\n readonly endpoint:\n | string\n | ((input: {\n session: AgentChatRuntimeSessionSummary;\n turn: AgentChatRuntimeTurnInput;\n }) => string | URL);\n readonly method?: \"POST\" | \"PUT\";\n readonly headers?: HeadersFactory;\n readonly credentials?: RequestCredentials;\n readonly fetch?: FetchLike;\n readonly capabilities?: Partial<AgentChatRuntimeCapabilities>;\n readonly mapRequest?: (input: {\n session: AgentChatRuntimeSessionSummary;\n turn: AgentChatRuntimeTurnInput;\n turnId: AgentChatRuntimeTurnId;\n }) => unknown;\n readonly mapEvent?: (\n event: unknown,\n context: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n },\n ) => TEvent | readonly TEvent[] | null;\n readonly cancelEndpoint?:\n | string\n | ((input: AgentChatRuntimeCancelInput) => string | URL | null);\n readonly resumeEndpoint?:\n | string\n | ((input: AgentChatRuntimeSubscribeInput) => string | URL | null);\n readonly listSessionsEndpoint?: string | URL;\n readonly getSessionEndpoint?:\n | string\n | ((input: { sessionId: AgentChatRuntimeSessionId }) => string | URL);\n}\n\nexport interface CreateAgentNativeChatRuntimeOptions {\n readonly id?: AgentChatRuntimeId;\n readonly label?: string;\n readonly description?: string;\n readonly apiUrl?: string;\n readonly headers?: HeadersFactory;\n readonly fetch?: FetchLike;\n readonly threadId?: string;\n readonly browserTabId?: string;\n readonly surface?: \"app\" | \"dev-frame\";\n readonly mode?: \"act\" | \"plan\";\n readonly model?: string;\n readonly engine?: string;\n readonly effort?: ReasoningEffort;\n readonly scope?: unknown;\n}\n\nexport interface CreateAgentChatRuntimeAdapterOptions {\n readonly sessionId?: AgentChatRuntimeSessionId;\n readonly threadId?: string;\n readonly modelRef?: { current: string | undefined };\n readonly effortRef?: { current: ReasoningEffort | undefined };\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nconst DEFAULT_RUNTIME_CAPABILITIES: AgentChatRuntimeCapabilities = {\n messages: {\n streaming: true,\n history: true,\n structuredContent: true,\n attachments: true,\n },\n tools: {\n events: true,\n hostTools: true,\n resultStreaming: true,\n mcpApps: true,\n },\n sessions: {\n create: true,\n restore: true,\n persistent: true,\n },\n cancellation: {\n abortSignal: true,\n explicitCancel: true,\n },\n models: {\n selectable: true,\n reasoningEffort: true,\n },\n artifacts: {\n files: true,\n links: true,\n progress: true,\n },\n};\n\nfunction mergeCapabilities(\n overrides?: Partial<AgentChatRuntimeCapabilities>,\n): AgentChatRuntimeCapabilities {\n return {\n ...DEFAULT_RUNTIME_CAPABILITIES,\n ...overrides,\n messages: {\n ...DEFAULT_RUNTIME_CAPABILITIES.messages,\n ...overrides?.messages,\n },\n tools: {\n ...DEFAULT_RUNTIME_CAPABILITIES.tools,\n ...overrides?.tools,\n events:\n overrides?.tools?.events ?? DEFAULT_RUNTIME_CAPABILITIES.tools!.events,\n },\n sessions: {\n ...DEFAULT_RUNTIME_CAPABILITIES.sessions,\n ...overrides?.sessions,\n create:\n overrides?.sessions?.create ??\n DEFAULT_RUNTIME_CAPABILITIES.sessions!.create,\n },\n cancellation: {\n ...DEFAULT_RUNTIME_CAPABILITIES.cancellation,\n ...overrides?.cancellation,\n },\n models: { ...DEFAULT_RUNTIME_CAPABILITIES.models, ...overrides?.models },\n artifacts: {\n ...DEFAULT_RUNTIME_CAPABILITIES.artifacts,\n ...overrides?.artifacts,\n },\n };\n}\n\nfunction createRuntimeId(prefix: string): string {\n if (\n typeof crypto !== \"undefined\" &&\n typeof crypto.randomUUID === \"function\"\n ) {\n return `${prefix}-${crypto.randomUUID()}`;\n }\n return `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;\n}\n\nfunction createAbortController(signal?: AbortSignal): {\n controller: AbortController;\n cleanup: () => void;\n} {\n const controller = new AbortController();\n if (!signal) return { controller, cleanup: () => {} };\n if (signal.aborted) controller.abort();\n const abort = () => controller.abort();\n signal.addEventListener(\"abort\", abort, { once: true });\n return {\n controller,\n cleanup: () => signal.removeEventListener(\"abort\", abort),\n };\n}\n\nasync function resolveHeaders(\n headers: HeadersFactory | undefined,\n input: {\n sessionId?: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n },\n): Promise<Headers> {\n const resolved =\n typeof headers === \"function\" ? await headers(input) : headers;\n return new Headers(resolved);\n}\n\nfunction normalizeEndpoint(value: string | URL): string {\n return typeof value === \"string\" ? value : value.toString();\n}\n\nfunction isRuntimeEvent(value: unknown): value is AgentChatRuntimeEventBase {\n return (\n !!value &&\n typeof value === \"object\" &&\n typeof (value as { type?: unknown }).type === \"string\"\n );\n}\n\nfunction parseJsonEvent(raw: string): unknown | null {\n const trimmed = raw.trim();\n if (!trimmed || trimmed === \"[DONE]\") return null;\n try {\n return JSON.parse(trimmed);\n } catch {\n return null;\n }\n}\n\nasync function* readJsonEventStream(\n body: ReadableStream<Uint8Array>,\n): AsyncGenerator<unknown> {\n const reader = body.getReader();\n const decoder = new TextDecoder();\n let buffer = \"\";\n let pendingSseData: string[] = [];\n\n const flushSseData = function* (): Generator<unknown> {\n if (pendingSseData.length === 0) return;\n const parsed = parseJsonEvent(pendingSseData.join(\"\\n\"));\n pendingSseData = [];\n if (parsed) yield parsed;\n };\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split(/\\r?\\n/);\n buffer = lines.pop() ?? \"\";\n\n for (const line of lines) {\n if (line.startsWith(\"data:\")) {\n pendingSseData.push(line.slice(5).trimStart());\n continue;\n }\n if (line.trim() === \"\") {\n yield* flushSseData();\n continue;\n }\n const parsed = parseJsonEvent(line);\n if (parsed) yield parsed;\n }\n }\n\n if (buffer.trim()) {\n const parsed = parseJsonEvent(buffer);\n if (parsed) yield parsed;\n }\n yield* flushSseData();\n } finally {\n try {\n reader.releaseLock();\n } catch {\n // Some browser runtimes consider a cancelled stream locked for a tick.\n }\n }\n}\n\nfunction textResponseEvents(\n text: string,\n sessionId: AgentChatRuntimeSessionId,\n turnId?: AgentChatRuntimeTurnId,\n): AgentChatRuntimeKnownEvent[] {\n const message: AgentChatRuntimeMessage = {\n id: createRuntimeId(\"message\"),\n role: \"assistant\",\n content: [],\n };\n return [\n { type: \"message-start\", sessionId, turnId, message },\n ...(text\n ? [\n {\n type: \"message-delta\" as const,\n sessionId,\n turnId,\n messageId: message.id,\n delta: { type: \"text\" as const, text },\n },\n ]\n : []),\n { type: \"message-done\", sessionId, turnId, message },\n { type: \"done\", sessionId, turnId, reason: \"complete\" },\n ];\n}\n\nasync function* eventsFromJsonResponse(\n value: unknown,\n sessionId: AgentChatRuntimeSessionId,\n turnId?: AgentChatRuntimeTurnId,\n): AsyncGenerator<AgentChatRuntimeEvent> {\n if (Array.isArray(value)) {\n for (const item of value) {\n if (isRuntimeEvent(item)) yield item as AgentChatRuntimeEvent;\n }\n return;\n }\n if (!value || typeof value !== \"object\") return;\n const record = value as Record<string, unknown>;\n if (Array.isArray(record.events)) {\n for (const item of record.events) {\n if (isRuntimeEvent(item)) yield item as AgentChatRuntimeEvent;\n }\n return;\n }\n const text =\n typeof record.message === \"string\"\n ? record.message\n : typeof record.text === \"string\"\n ? record.text\n : \"\";\n if (text) {\n for (const event of textResponseEvents(text, sessionId, turnId)) {\n yield event;\n }\n }\n}\n\nfunction defaultMapHttpRuntimeEvent(\n event: unknown,\n _context?: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n },\n): AgentChatRuntimeEvent | readonly AgentChatRuntimeEvent[] | null {\n if (!isRuntimeEvent(event)) return null;\n return event as AgentChatRuntimeEvent;\n}\n\nfunction normalizeMappedEvents<TEvent extends AgentChatRuntimeEventBase>(\n mapped: TEvent | readonly TEvent[] | null,\n): readonly TEvent[] {\n if (!mapped) return [];\n return Array.isArray(mapped)\n ? (mapped as readonly TEvent[])\n : [mapped as TEvent];\n}\n\nasync function* streamResponseEvents<TEvent extends AgentChatRuntimeEventBase>(\n response: Response,\n input: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n mapEvent: (\n event: unknown,\n context: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n },\n ) => TEvent | readonly TEvent[] | null;\n },\n): AsyncGenerator<TEvent> {\n const context = {\n sessionId: input.sessionId,\n turnId: input.turnId,\n runId: input.runId,\n };\n const contentType = response.headers.get(\"content-type\") ?? \"\";\n if (response.body && !contentType.includes(\"application/json\")) {\n for await (const raw of readJsonEventStream(response.body)) {\n for (const event of normalizeMappedEvents(input.mapEvent(raw, context))) {\n yield event;\n }\n }\n return;\n }\n\n const json = await response.json().catch(() => null);\n for await (const event of eventsFromJsonResponse(\n json,\n input.sessionId,\n input.turnId,\n )) {\n for (const mapped of normalizeMappedEvents(\n input.mapEvent(event, context),\n )) {\n yield mapped;\n }\n }\n}\n\nfunction defaultHttpRuntimeRequest(input: {\n session: AgentChatRuntimeSessionSummary;\n turn: AgentChatRuntimeTurnInput;\n turnId: AgentChatRuntimeTurnId;\n}) {\n return {\n sessionId: input.session.id,\n threadId: input.session.threadId,\n turnId: input.turnId,\n prompt: input.turn.prompt,\n messages: input.turn.messages,\n attachments: input.turn.attachments,\n tools: input.turn.tools,\n model: input.turn.model,\n reasoningEffort: input.turn.reasoningEffort,\n temperature: input.turn.temperature,\n providerOptions: input.turn.providerOptions,\n metadata: input.turn.metadata,\n };\n}\n\nasync function readErrorText(response: Response): Promise<string> {\n const text = await response.text().catch(() => \"\");\n if (!text) return `HTTP ${response.status}`;\n try {\n const parsed = JSON.parse(text) as { error?: unknown; message?: unknown };\n if (typeof parsed.error === \"string\") return parsed.error;\n if (typeof parsed.message === \"string\") return parsed.message;\n } catch {\n // Keep raw text.\n }\n return text.slice(0, 500);\n}\n\nexport function createHttpAgentChatRuntime<\n TEvent extends AgentChatRuntimeEventBase = AgentChatRuntimeKnownEvent,\n>(\n options: CreateHttpAgentChatRuntimeOptions<TEvent>,\n): AgentChatRuntime<TEvent> {\n const fetchImpl = options.fetch ?? fetch;\n const capabilities = mergeCapabilities(options.capabilities);\n const runtimeId = options.id ?? \"external:http\";\n const mapEvent =\n options.mapEvent ??\n (defaultMapHttpRuntimeEvent as (\n event: unknown,\n context: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n },\n ) => TEvent | readonly TEvent[] | null);\n\n const createSessionObject = (\n input?: AgentChatRuntimeCreateSessionInput,\n ): AgentChatRuntimeSession<TEvent> => {\n const sessionId =\n input?.id ?? input?.threadId ?? createRuntimeId(\"session\");\n const summary: AgentChatRuntimeSessionSummary = {\n id: sessionId,\n runtimeId,\n threadId: input?.threadId,\n title: input?.title,\n status: \"idle\",\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n metadata: input?.metadata,\n };\n\n const startTurn = async (\n turn: AgentChatRuntimeTurnInput,\n ): Promise<AgentChatRuntimeTurn<TEvent>> => {\n const turnId = createRuntimeId(\"turn\");\n const { controller, cleanup } = createAbortController(turn.abortSignal);\n const endpoint =\n typeof options.endpoint === \"function\"\n ? options.endpoint({ session: summary, turn })\n : options.endpoint;\n const headers = await resolveHeaders(options.headers, {\n sessionId,\n turnId,\n });\n if (!headers.has(\"Content-Type\"))\n headers.set(\"Content-Type\", \"application/json\");\n const response = await fetchImpl(normalizeEndpoint(endpoint), {\n method: options.method ?? \"POST\",\n headers,\n credentials: options.credentials,\n body: JSON.stringify(\n options.mapRequest\n ? options.mapRequest({ session: summary, turn, turnId })\n : defaultHttpRuntimeRequest({ session: summary, turn, turnId }),\n ),\n signal: controller.signal,\n });\n if (!response.ok) {\n cleanup();\n throw new Error(await readErrorText(response));\n }\n\n const runId = response.headers.get(\"X-Run-Id\") ?? undefined;\n const events = (async function* () {\n try {\n yield* streamResponseEvents(response, {\n sessionId,\n turnId,\n runId,\n mapEvent,\n });\n } finally {\n cleanup();\n }\n })();\n\n return {\n id: turnId,\n sessionId,\n runId,\n events,\n cancel: async (cancelInput) => {\n controller.abort();\n if (!options.cancelEndpoint) return { status: \"cancelled\" };\n const endpoint =\n typeof options.cancelEndpoint === \"function\"\n ? options.cancelEndpoint({\n ...cancelInput,\n sessionId,\n turnId,\n runId,\n })\n : options.cancelEndpoint;\n if (!endpoint) return { status: \"unsupported\" };\n const cancelHeaders = await resolveHeaders(options.headers, {\n sessionId,\n turnId,\n });\n if (!cancelHeaders.has(\"Content-Type\")) {\n cancelHeaders.set(\"Content-Type\", \"application/json\");\n }\n const cancelResponse = await fetchImpl(normalizeEndpoint(endpoint), {\n method: \"POST\",\n headers: cancelHeaders,\n credentials: options.credentials,\n body: JSON.stringify({\n sessionId,\n turnId,\n runId,\n reason: cancelInput?.reason ?? \"user\",\n metadata: cancelInput?.metadata,\n }),\n signal: cancelInput?.abortSignal,\n });\n return cancelResponse.ok\n ? { status: \"cancelled\" }\n : {\n status: \"unsupported\",\n message: await readErrorText(cancelResponse),\n };\n },\n };\n };\n\n return {\n id: sessionId,\n runtimeId,\n threadId: input?.threadId,\n capabilities,\n sendMessage: startTurn,\n startTurn,\n snapshot: () => ({\n ...summary,\n status: \"idle\",\n updatedAt: new Date().toISOString(),\n messages: input?.messages,\n resumeState: input?.resumeState,\n }),\n dispose: () => undefined,\n };\n };\n\n const runtime: AgentChatRuntime<TEvent> = {\n id: runtimeId,\n kind: options.kind ?? \"external-agent\",\n label: options.label ?? \"External agent\",\n description: options.description,\n capabilities,\n createSession: createSessionObject,\n restoreSession: (snapshot) =>\n createSessionObject({\n id: snapshot.id,\n threadId: snapshot.threadId,\n title: snapshot.title,\n messages: snapshot.messages,\n resumeState: snapshot.resumeState,\n metadata: snapshot.metadata,\n }),\n sendMessage: async (input) => {\n const session = createSessionObject({\n id: input.sessionId,\n threadId: input.sessionId,\n metadata: input.metadata,\n });\n return session.startTurn(input);\n },\n subscribe: async (input) => {\n if (!options.resumeEndpoint) return (async function* () {})();\n const endpoint =\n typeof options.resumeEndpoint === \"function\"\n ? options.resumeEndpoint(input)\n : options.resumeEndpoint;\n if (!endpoint) return (async function* () {})();\n const headers = await resolveHeaders(options.headers, input);\n const response = await fetchImpl(normalizeEndpoint(endpoint), {\n headers,\n credentials: options.credentials,\n signal: input.abortSignal,\n });\n if (!response.ok) throw new Error(await readErrorText(response));\n return streamResponseEvents(response, {\n sessionId: input.sessionId ?? \"session\",\n turnId: input.turnId,\n runId: input.runId,\n mapEvent,\n });\n },\n resume: async (input) => {\n const sessionId = input.sessionId ?? createRuntimeId(\"session\");\n const events = runtime.subscribe\n ? await runtime.subscribe(input)\n : (async function* () {})();\n return {\n id: input.turnId,\n sessionId,\n runId: input.runId,\n events,\n };\n },\n cancel: async (input) => {\n if (!options.cancelEndpoint) return { status: \"unsupported\" };\n const endpoint =\n typeof options.cancelEndpoint === \"function\"\n ? options.cancelEndpoint(input)\n : options.cancelEndpoint;\n if (!endpoint) return { status: \"unsupported\" };\n const headers = await resolveHeaders(options.headers, input);\n if (!headers.has(\"Content-Type\"))\n headers.set(\"Content-Type\", \"application/json\");\n const response = await fetchImpl(normalizeEndpoint(endpoint), {\n method: \"POST\",\n headers,\n credentials: options.credentials,\n body: JSON.stringify(input),\n signal: input.abortSignal,\n });\n return response.ok\n ? { status: \"cancelled\" }\n : { status: \"unsupported\", message: await readErrorText(response) };\n },\n };\n\n return runtime;\n}\n\nfunction runtimeMessageText(message: AgentChatRuntimeMessage): string {\n return message.content\n .map((part) =>\n part.type === \"text\" || part.type === \"reasoning\" ? part.text : \"\",\n )\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction nativeHistoryFromMessages(\n messages: readonly AgentChatRuntimeMessage[] | undefined,\n currentPrompt: string,\n) {\n const history = (messages ?? [])\n .filter(\n (message) => message.role === \"user\" || message.role === \"assistant\",\n )\n .map((message) => ({\n role: message.role as \"user\" | \"assistant\",\n content: runtimeMessageText(message),\n }))\n .filter((message) => message.content.trim());\n if (!currentPrompt.trim()) return history;\n const last = history[history.length - 1];\n return last?.role === \"user\" && last.content === currentPrompt\n ? history.slice(0, -1)\n : history;\n}\n\nfunction mapAgentNativeEvent(\n raw: unknown,\n input: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n messageId: string;\n text: { value: string; started: boolean };\n },\n): AgentChatRuntimeKnownEvent[] {\n if (!raw || typeof raw !== \"object\") return [];\n const ev = raw as SSEEvent;\n const base = {\n sessionId: input.sessionId,\n turnId: input.turnId,\n };\n if (ev.seq !== undefined) {\n (base as { metadata?: AgentChatRuntimeMetadata }).metadata = {\n seq: ev.seq,\n };\n }\n if (ev.type === \"text\") {\n const text = ev.text ?? \"\";\n const events: AgentChatRuntimeKnownEvent[] = [];\n if (!input.text.started) {\n input.text.started = true;\n events.push({\n type: \"message-start\",\n ...base,\n message: {\n id: input.messageId,\n role: \"assistant\",\n content: [],\n },\n });\n }\n input.text.value += text;\n events.push({\n type: \"message-delta\",\n ...base,\n messageId: input.messageId,\n delta: { type: \"text\", text },\n });\n return events;\n }\n if (ev.type === \"activity\") {\n return [\n {\n type: \"status\",\n ...base,\n message: ev.label ?? ev.tool ?? \"Working\",\n metadata: ev.tool ? { tool: ev.tool } : undefined,\n },\n ];\n }\n if (ev.type === \"tool_start\") {\n return [\n {\n type: \"tool-start\",\n ...base,\n toolCall: {\n id: ev.id ?? createRuntimeId(\"tool\"),\n name: ev.tool ?? \"unknown\",\n input: ev.input,\n inputText: ev.input ? JSON.stringify(ev.input) : undefined,\n },\n },\n ];\n }\n if (ev.type === \"tool_done\") {\n return [\n {\n type: \"tool-done\",\n ...base,\n toolCallId: ev.id ?? \"\",\n toolName: ev.tool ?? \"unknown\",\n status: ev.error ? \"failed\" : \"completed\",\n result: ev.result,\n resultText:\n typeof ev.result === \"string\"\n ? ev.result\n : ev.result !== undefined\n ? JSON.stringify(ev.result)\n : undefined,\n error: ev.error,\n mcpApp: ev.mcpApp,\n chatUI: ev.chatUI,\n },\n ];\n }\n if (ev.type === \"approval_required\") {\n return [\n {\n type: \"approval-request\",\n ...base,\n approvalId: ev.approvalKey ?? ev.id ?? createRuntimeId(\"approval\"),\n toolCallId: ev.id,\n toolName: ev.tool,\n message: ev.label ?? \"Approve this tool call?\",\n input: ev.input,\n },\n ];\n }\n if (ev.type === \"error\" || ev.type === \"missing_api_key\") {\n return [\n {\n type: \"error\",\n ...base,\n error: ev.error ?? \"Agent chat failed.\",\n code: ev.errorCode,\n recoverable: ev.recoverable,\n },\n { type: \"done\", ...base, reason: \"error\" },\n ];\n }\n if (ev.type === \"done\") {\n const message: AgentChatRuntimeMessage = {\n id: input.messageId,\n role: \"assistant\",\n content: input.text.value\n ? [{ type: \"text\", text: input.text.value }]\n : [],\n };\n return [\n ...(input.text.started\n ? [{ type: \"message-done\" as const, ...base, message }]\n : []),\n { type: \"done\", ...base, reason: \"complete\" },\n ];\n }\n return [];\n}\n\nexport function createAgentNativeChatRuntime(\n options: CreateAgentNativeChatRuntimeOptions = {},\n): AgentChatRuntime<AgentChatRuntimeKnownEvent> {\n const apiUrl = options.apiUrl ?? agentNativePath(\"/_agent-native/agent-chat\");\n const runtimeId = options.id ?? \"agent-native\";\n const fetchImpl = options.fetch ?? fetch;\n\n return createHttpAgentChatRuntime({\n id: runtimeId,\n kind: \"agent-native\",\n label: options.label ?? \"Agent Native\",\n description:\n options.description ?? \"Agent-Native's built-in chat transport.\",\n endpoint: apiUrl,\n fetch: fetchImpl,\n headers: async (input) => {\n const headers = await resolveHeaders(options.headers, input);\n headers.set(\"x-agent-native-surface\", options.surface ?? \"app\");\n return headers;\n },\n capabilities: DEFAULT_RUNTIME_CAPABILITIES,\n mapRequest: ({ session, turn, turnId }) => {\n const prompt =\n turn.prompt ??\n [...(turn.messages ?? [])]\n .reverse()\n .find((message) => message.role === \"user\")\n ?.content.map((part) => (part.type === \"text\" ? part.text : \"\"))\n .join(\"\\n\") ??\n \"\";\n return {\n message: prompt,\n displayMessage: prompt,\n history: nativeHistoryFromMessages(turn.messages, prompt),\n turnId,\n threadId: session.threadId ?? options.threadId,\n ...(options.mode ? { mode: options.mode } : {}),\n ...((turn.model ?? options.model)\n ? { model: turn.model ?? options.model }\n : {}),\n ...(options.engine ? { engine: options.engine } : {}),\n ...((turn.reasoningEffort ?? options.effort)\n ? { effort: turn.reasoningEffort ?? options.effort }\n : {}),\n ...(options.browserTabId ? { browserTabId: options.browserTabId } : {}),\n ...(options.scope ? { scope: options.scope } : {}),\n ...(turn.attachments?.length ? { attachments: turn.attachments } : {}),\n ...(turn.metadata ? { metadata: turn.metadata } : {}),\n };\n },\n mapEvent: (() => {\n const states = new Map<\n string,\n { messageId: string; text: { value: string; started: boolean } }\n >();\n return (\n event: unknown,\n context: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n },\n ) => {\n const stateKey = context.turnId ?? context.sessionId;\n let state = states.get(stateKey);\n if (!state) {\n state = {\n messageId: createRuntimeId(\"message\"),\n text: { value: \"\", started: false },\n };\n states.set(stateKey, state);\n }\n const mapped = mapAgentNativeEvent(event, {\n sessionId: context.sessionId,\n turnId: context.turnId,\n messageId: state.messageId,\n text: state.text,\n });\n const type =\n event && typeof event === \"object\"\n ? (event as { type?: unknown }).type\n : undefined;\n if (type === \"done\" || type === \"error\" || type === \"missing_api_key\") {\n states.delete(stateKey);\n }\n return mapped;\n };\n })(),\n cancelEndpoint: (input) =>\n input.runId\n ? `${apiUrl}/runs/${encodeURIComponent(input.runId)}/abort`\n : null,\n resumeEndpoint: (input) =>\n input.runId\n ? `${apiUrl}/runs/${encodeURIComponent(input.runId)}/events?after=${input.after ?? 0}`\n : null,\n });\n}\n\nfunction toContentPartInput(value: unknown): Record<string, string> {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return {};\n const out: Record<string, string> = {};\n for (const [key, item] of Object.entries(value)) {\n out[key] = typeof item === \"string\" ? item : JSON.stringify(item);\n }\n return out;\n}\n\nfunction toolResultText(value: unknown): string {\n if (typeof value === \"string\") return value;\n if (value === undefined) return \"\";\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n}\n\nfunction applyRuntimeEventToContent(\n event: AgentChatRuntimeEventBase,\n content: ContentPart[],\n): ChatModelRunResult | null {\n const typed = event as AgentChatRuntimeKnownEvent;\n if (typed.type === \"message-start\") {\n for (const part of typed.message.content) {\n if (part.type === \"text\" && part.text) {\n content.push({ type: \"text\", text: part.text });\n }\n }\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"message-delta\") {\n if (typed.delta.type === \"text\") {\n const last = content[content.length - 1];\n if (last?.type === \"text\") {\n last.text += typed.delta.text;\n } else {\n content.push({ type: \"text\", text: typed.delta.text });\n }\n return { content: [...content] } as ChatModelRunResult;\n }\n return null;\n }\n if (typed.type === \"message-done\") {\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"tool-start\") {\n content.push({\n type: \"tool-call\",\n toolCallId: typed.toolCall.id,\n toolName: typed.toolCall.name,\n argsText:\n typed.toolCall.inputText ?? JSON.stringify(typed.toolCall.input ?? {}),\n args: toContentPartInput(typed.toolCall.input),\n });\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"tool-delta\") {\n const part = [...content]\n .reverse()\n .find(\n (candidate): candidate is Extract<ContentPart, { type: \"tool-call\" }> =>\n candidate.type === \"tool-call\" &&\n candidate.toolCallId === typed.toolCallId,\n );\n if (!part) return null;\n if (typed.inputTextDelta) {\n part.argsText += typed.inputTextDelta;\n }\n if (typed.resultTextDelta) {\n part.result = `${part.result ?? \"\"}${typed.resultTextDelta}`;\n }\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"tool-done\") {\n const part = [...content]\n .reverse()\n .find(\n (candidate): candidate is Extract<ContentPart, { type: \"tool-call\" }> =>\n candidate.type === \"tool-call\" &&\n candidate.toolCallId === typed.toolCallId,\n );\n if (part) {\n part.result =\n typed.error ?? typed.resultText ?? toolResultText(typed.result);\n if (typed.mcpApp) part.mcpApp = typed.mcpApp;\n if (typed.chatUI) part.chatUI = typed.chatUI;\n }\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"approval-request\") {\n const part = [...content]\n .reverse()\n .find(\n (candidate): candidate is Extract<ContentPart, { type: \"tool-call\" }> =>\n candidate.type === \"tool-call\" &&\n (candidate.toolCallId === typed.toolCallId ||\n candidate.toolName === typed.toolName),\n );\n if (part) {\n part.approval = { approvalKey: typed.approvalId };\n } else {\n content.push({\n type: \"tool-call\",\n toolCallId: typed.toolCallId ?? typed.approvalId,\n toolName: typed.toolName ?? \"approval\",\n argsText: typed.input ? JSON.stringify(typed.input) : \"\",\n args: toContentPartInput(typed.input),\n approval: { approvalKey: typed.approvalId },\n });\n }\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"error\") {\n const normalized = normalizeChatError(typed.error, typed.code);\n settleInterruptedToolCalls(content);\n content.push({\n type: \"text\",\n text: formatChatErrorText(typed.error, undefined, typed.code),\n });\n return {\n content: [...content],\n status: { type: \"incomplete\", reason: \"error\" },\n metadata: {\n custom: {\n runError: {\n message: normalized.message,\n ...(normalized.details ? { details: normalized.details } : {}),\n ...(typed.code ? { errorCode: typed.code } : {}),\n ...(typed.recoverable ? { recoverable: typed.recoverable } : {}),\n },\n },\n },\n } as ChatModelRunResult;\n }\n if (typed.type === \"done\") {\n return {\n content: [...content],\n status:\n typed.reason === \"error\"\n ? { type: \"incomplete\", reason: \"error\" }\n : { type: \"complete\", reason: \"stop\" },\n } as ChatModelRunResult;\n }\n return null;\n}\n\nfunction assistantMessageText(message: {\n content?: readonly { type: string; text?: string }[];\n}): string {\n return (message.content ?? [])\n .filter(\n (part): part is { type: string; text: string } => part.type === \"text\",\n )\n .map((part) => part.text)\n .join(\"\\n\");\n}\n\nfunction assistantMessagesToRuntimeMessages(\n messages: readonly {\n role: string;\n content?: readonly { type: string; text?: string; image?: string }[];\n }[],\n): AgentChatRuntimeMessage[] {\n return messages\n .filter(\n (message) => message.role === \"user\" || message.role === \"assistant\",\n )\n .map((message, index) => {\n const content: AgentChatRuntimeKnownContentPart[] = [];\n for (const part of message.content ?? []) {\n if (part.type === \"text\" && typeof part.text === \"string\") {\n content.push({ type: \"text\", text: part.text });\n } else if (part.type === \"image\" && typeof part.image === \"string\") {\n content.push({ type: \"image\", data: part.image });\n }\n }\n return {\n id: `assistant-ui-${index}`,\n role: message.role as \"user\" | \"assistant\",\n content,\n };\n });\n}\n\nfunction latestUserPrompt(\n messages: readonly {\n role: string;\n content?: readonly { type: string; text?: string }[];\n }[],\n): string {\n for (let i = messages.length - 1; i >= 0; i--) {\n const message = messages[i];\n if (message.role !== \"user\") continue;\n return assistantMessageText(message);\n }\n return \"\";\n}\n\nexport function createAgentChatRuntimeAdapter(\n runtime: AgentChatRuntime,\n options: CreateAgentChatRuntimeAdapterOptions = {},\n): ChatModelAdapter {\n let sessionPromise: Promise<AgentChatRuntimeSession> | null = null;\n const getSession = () => {\n sessionPromise ??= Promise.resolve(\n runtime.createSession({\n id: options.sessionId ?? options.threadId,\n threadId: options.threadId,\n metadata: options.metadata,\n }),\n );\n return sessionPromise;\n };\n\n return {\n async *run({ messages, abortSignal }) {\n const adapterMessages = messages as readonly {\n role: string;\n content?: readonly { type: string; text?: string; image?: string }[];\n }[];\n const session = await getSession();\n const prompt = latestUserPrompt(adapterMessages);\n const turn = await session.startTurn({\n prompt,\n messages: assistantMessagesToRuntimeMessages(adapterMessages),\n model: options.modelRef?.current,\n reasoningEffort: options.effortRef?.current,\n abortSignal,\n metadata: options.metadata,\n });\n const content: ContentPart[] = [];\n try {\n for await (const event of turn.events) {\n const result = applyRuntimeEventToContent(event, content);\n if (result) {\n const metadata = (result.metadata ?? {}) as Record<string, unknown>;\n const custom =\n metadata.custom && typeof metadata.custom === \"object\"\n ? (metadata.custom as Record<string, unknown>)\n : {};\n yield {\n ...result,\n metadata: {\n ...metadata,\n custom: {\n ...custom,\n runtimeId: runtime.id,\n ...(turn.runId ? { runId: turn.runId } : {}),\n },\n },\n } as ChatModelRunResult;\n }\n }\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n await turn.cancel?.({ reason: \"abort\" });\n return;\n }\n throw error;\n }\n },\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/client/chat/runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ChatModelAdapter, ChatModelRunResult } from \"@assistant-ui/react\";\n\nimport type { ActionChatUIConfig } from \"../../action-ui.js\";\nimport type { AgentMcpAppPayload } from \"../../mcp-client/app-result.js\";\nimport type { ReasoningEffort } from \"../../shared/reasoning-effort.js\";\nimport { agentNativePath } from \"../api-path.js\";\nimport { formatChatErrorText, normalizeChatError } from \"../error-format.js\";\nimport {\n settleInterruptedToolCalls,\n type ContentPart,\n type SSEEvent,\n} from \"../sse-event-processor.js\";\n\nexport type AgentChatRuntimeId = string;\nexport type AgentChatRuntimeSessionId = string;\nexport type AgentChatRuntimeTurnId = string;\nexport type AgentChatRuntimeMessageId = string;\nexport type AgentChatRuntimeToolCallId = string;\nexport type AgentChatRuntimeMetadata = Record<string, unknown>;\nexport type AgentChatRuntimeAwaitable<T> = T | Promise<T>;\n\nexport type AgentChatRuntimeKind =\n | \"agent-native\"\n | \"external-agent\"\n | \"code-agent\"\n | (string & {});\n\nexport type AgentChatRuntimeRole = \"system\" | \"user\" | \"assistant\" | \"tool\";\n\nexport interface AgentChatRuntimeContentPartBase<\n TType extends string = string,\n> {\n readonly type: TType;\n readonly id?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeTextPart extends AgentChatRuntimeContentPartBase<\"text\"> {\n readonly text: string;\n}\n\nexport interface AgentChatRuntimeReasoningPart extends AgentChatRuntimeContentPartBase<\"reasoning\"> {\n readonly text: string;\n readonly signature?: string;\n}\n\nexport interface AgentChatRuntimeImagePart extends AgentChatRuntimeContentPartBase<\"image\"> {\n readonly data?: string;\n readonly url?: string;\n readonly mediaType?: string;\n readonly alt?: string;\n}\n\nexport interface AgentChatRuntimeFilePart extends AgentChatRuntimeContentPartBase<\"file\"> {\n readonly data?: string;\n readonly url?: string;\n readonly mediaType?: string;\n readonly filename?: string;\n}\n\nexport interface AgentChatRuntimeToolCallPart extends AgentChatRuntimeContentPartBase<\"tool-call\"> {\n readonly toolCallId: AgentChatRuntimeToolCallId;\n readonly toolName: string;\n readonly input?: unknown;\n readonly inputText?: string;\n}\n\nexport interface AgentChatRuntimeToolResultPart extends AgentChatRuntimeContentPartBase<\"tool-result\"> {\n readonly toolCallId: AgentChatRuntimeToolCallId;\n readonly toolName?: string;\n readonly result?: unknown;\n readonly resultText?: string;\n readonly isError?: boolean;\n readonly mcpApp?: AgentMcpAppPayload;\n readonly chatUI?: ActionChatUIConfig;\n}\n\nexport interface AgentChatRuntimeDataPart extends AgentChatRuntimeContentPartBase<\"data\"> {\n readonly data: unknown;\n readonly mediaType?: string;\n readonly title?: string;\n}\n\nexport interface AgentChatRuntimeCustomContentPart extends AgentChatRuntimeContentPartBase {\n readonly [key: string]: unknown;\n}\n\nexport type AgentChatRuntimeKnownContentPart =\n | AgentChatRuntimeTextPart\n | AgentChatRuntimeReasoningPart\n | AgentChatRuntimeImagePart\n | AgentChatRuntimeFilePart\n | AgentChatRuntimeToolCallPart\n | AgentChatRuntimeToolResultPart\n | AgentChatRuntimeDataPart;\n\nexport type AgentChatRuntimeContentPart<\n TCustomPart extends AgentChatRuntimeCustomContentPart = never,\n> = AgentChatRuntimeKnownContentPart | TCustomPart;\n\nexport interface AgentChatRuntimeMessage<\n TContentPart extends AgentChatRuntimeContentPartBase =\n AgentChatRuntimeKnownContentPart,\n> {\n readonly id: AgentChatRuntimeMessageId;\n readonly role: AgentChatRuntimeRole;\n readonly content: readonly TContentPart[];\n readonly createdAt?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeAttachment {\n readonly id?: string;\n readonly name: string;\n readonly mediaType?: string;\n readonly data?: string;\n readonly url?: string;\n readonly text?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeToolDefinition {\n readonly name: string;\n readonly description?: string;\n readonly inputSchema?: Record<string, unknown>;\n readonly readOnly?: boolean;\n readonly destructive?: boolean;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeToolCall {\n readonly id: AgentChatRuntimeToolCallId;\n readonly name: string;\n readonly input?: unknown;\n readonly inputText?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport type AgentChatRuntimeToolStatus =\n | \"pending\"\n | \"running\"\n | \"completed\"\n | \"failed\"\n | \"cancelled\";\n\nexport interface AgentChatRuntimeUsage {\n readonly inputTokens?: number;\n readonly outputTokens?: number;\n readonly totalTokens?: number;\n readonly reasoningTokens?: number;\n readonly cacheReadTokens?: number;\n readonly cacheWriteTokens?: number;\n readonly costCents?: number;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeMessageCapabilities {\n readonly streaming: boolean;\n readonly history?: boolean;\n readonly structuredContent?: boolean;\n readonly multimodal?: boolean;\n readonly attachments?: boolean;\n}\n\nexport interface AgentChatRuntimeToolCapabilities {\n readonly events: boolean;\n readonly hostTools?: boolean;\n readonly inputStreaming?: boolean;\n readonly resultStreaming?: boolean;\n readonly approvals?: boolean;\n readonly mcpApps?: boolean;\n}\n\nexport interface AgentChatRuntimeSessionCapabilities {\n readonly create: boolean;\n readonly restore?: boolean;\n readonly list?: boolean;\n readonly fork?: boolean;\n readonly detach?: boolean;\n readonly persistent?: boolean;\n}\n\nexport interface AgentChatRuntimeCancellationCapabilities {\n readonly abortSignal?: boolean;\n readonly explicitCancel?: boolean;\n readonly interrupt?: boolean;\n}\n\nexport interface AgentChatRuntimeModelCapabilities {\n readonly selectable?: boolean;\n readonly reasoningEffort?: boolean;\n readonly temperature?: boolean;\n readonly providerOptions?: boolean;\n}\n\nexport interface AgentChatRuntimeArtifactCapabilities {\n readonly files?: boolean;\n readonly links?: boolean;\n readonly patches?: boolean;\n readonly progress?: boolean;\n}\n\nexport interface AgentChatRuntimeCapabilities {\n readonly messages: AgentChatRuntimeMessageCapabilities;\n readonly tools?: AgentChatRuntimeToolCapabilities;\n readonly sessions?: AgentChatRuntimeSessionCapabilities;\n readonly cancellation?: AgentChatRuntimeCancellationCapabilities;\n readonly models?: AgentChatRuntimeModelCapabilities;\n readonly artifacts?: AgentChatRuntimeArtifactCapabilities;\n readonly custom?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeCreateSessionInput {\n readonly id?: AgentChatRuntimeSessionId;\n readonly threadId?: string;\n readonly title?: string;\n readonly messages?: readonly AgentChatRuntimeMessage[];\n readonly resumeState?: unknown;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport interface AgentChatRuntimeListSessionsInput {\n readonly threadId?: string;\n readonly limit?: number;\n readonly cursor?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport type AgentChatRuntimeSessionStatus =\n | \"idle\"\n | \"running\"\n | \"waiting\"\n | \"cancelled\"\n | \"completed\"\n | \"error\";\n\nexport interface AgentChatRuntimeSessionSummary {\n readonly id: AgentChatRuntimeSessionId;\n readonly runtimeId: AgentChatRuntimeId;\n readonly threadId?: string;\n readonly title?: string;\n readonly status?: AgentChatRuntimeSessionStatus;\n readonly createdAt?: string;\n readonly updatedAt?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeSessionSnapshot extends AgentChatRuntimeSessionSummary {\n readonly messages?: readonly AgentChatRuntimeMessage[];\n readonly resumeState?: unknown;\n}\n\nexport interface AgentChatRuntimeTurnInput {\n readonly prompt?: string;\n readonly messages?: readonly AgentChatRuntimeMessage[];\n readonly attachments?: readonly AgentChatRuntimeAttachment[];\n readonly tools?: readonly AgentChatRuntimeToolDefinition[];\n readonly model?: string;\n readonly reasoningEffort?: ReasoningEffort;\n readonly temperature?: number;\n readonly providerOptions?: Record<string, unknown>;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport interface AgentChatRuntimeApprovalResponse {\n readonly id: string;\n readonly approved: boolean;\n readonly message?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeContinueInput {\n readonly turnId?: AgentChatRuntimeTurnId;\n readonly prompt?: string;\n readonly approval?: AgentChatRuntimeApprovalResponse;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport interface AgentChatRuntimeCancelInput {\n readonly sessionId?: AgentChatRuntimeSessionId;\n readonly turnId?: AgentChatRuntimeTurnId;\n readonly runId?: string;\n readonly reason?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport type AgentChatRuntimeCancelStatus =\n | \"cancelled\"\n | \"not-found\"\n | \"already-finished\"\n | \"unsupported\";\n\nexport interface AgentChatRuntimeCancelResult {\n readonly status: AgentChatRuntimeCancelStatus;\n readonly message?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeEventBase<TType extends string = string> {\n readonly type: TType;\n readonly id?: string;\n readonly sessionId?: AgentChatRuntimeSessionId;\n readonly turnId?: AgentChatRuntimeTurnId;\n readonly timestamp?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nexport interface AgentChatRuntimeMessageStartEvent extends AgentChatRuntimeEventBase<\"message-start\"> {\n readonly message: AgentChatRuntimeMessage;\n}\n\nexport type AgentChatRuntimeMessageDelta =\n | {\n readonly type: \"text\";\n readonly text: string;\n readonly partId?: string;\n }\n | {\n readonly type: \"reasoning\";\n readonly text: string;\n readonly partId?: string;\n readonly signature?: string;\n }\n | {\n readonly type: \"data\";\n readonly data: unknown;\n readonly partId?: string;\n readonly mediaType?: string;\n };\n\nexport interface AgentChatRuntimeMessageDeltaEvent extends AgentChatRuntimeEventBase<\"message-delta\"> {\n readonly messageId: AgentChatRuntimeMessageId;\n readonly delta: AgentChatRuntimeMessageDelta;\n}\n\nexport interface AgentChatRuntimeMessageDoneEvent extends AgentChatRuntimeEventBase<\"message-done\"> {\n readonly message: AgentChatRuntimeMessage;\n}\n\nexport interface AgentChatRuntimeToolStartEvent extends AgentChatRuntimeEventBase<\"tool-start\"> {\n readonly toolCall: AgentChatRuntimeToolCall;\n}\n\nexport interface AgentChatRuntimeToolDeltaEvent extends AgentChatRuntimeEventBase<\"tool-delta\"> {\n readonly toolCallId: AgentChatRuntimeToolCallId;\n readonly toolName?: string;\n readonly inputTextDelta?: string;\n readonly resultTextDelta?: string;\n}\n\nexport interface AgentChatRuntimeToolDoneEvent extends AgentChatRuntimeEventBase<\"tool-done\"> {\n readonly toolCallId: AgentChatRuntimeToolCallId;\n readonly toolName: string;\n readonly status: AgentChatRuntimeToolStatus;\n readonly result?: unknown;\n readonly resultText?: string;\n readonly error?: string;\n readonly mcpApp?: AgentMcpAppPayload;\n readonly chatUI?: ActionChatUIConfig;\n}\n\nexport interface AgentChatRuntimeApprovalRequestEvent extends AgentChatRuntimeEventBase<\"approval-request\"> {\n readonly approvalId: string;\n readonly toolCallId?: AgentChatRuntimeToolCallId;\n readonly toolName?: string;\n readonly message: string;\n readonly input?: unknown;\n}\n\nexport interface AgentChatRuntimeApprovalResolvedEvent extends AgentChatRuntimeEventBase<\"approval-resolved\"> {\n readonly approvalId: string;\n readonly approved: boolean;\n readonly message?: string;\n}\n\nexport interface AgentChatRuntimeStatusEvent extends AgentChatRuntimeEventBase<\"status\"> {\n readonly level?: \"info\" | \"warning\" | \"error\";\n readonly message: string;\n readonly code?: string;\n}\n\nexport interface AgentChatRuntimeArtifactEvent extends AgentChatRuntimeEventBase<\"artifact\"> {\n readonly artifact: {\n readonly id?: string;\n readonly kind: string;\n readonly title?: string;\n readonly url?: string;\n readonly path?: string;\n readonly data?: unknown;\n readonly metadata?: AgentChatRuntimeMetadata;\n };\n}\n\nexport interface AgentChatRuntimeFileEvent extends AgentChatRuntimeEventBase<\"file\"> {\n readonly path: string;\n readonly operation?: \"create\" | \"update\" | \"delete\" | \"rename\" | \"unknown\";\n readonly summary?: string;\n}\n\nexport interface AgentChatRuntimeUsageEvent extends AgentChatRuntimeEventBase<\"usage\"> {\n readonly usage: AgentChatRuntimeUsage;\n}\n\nexport interface AgentChatRuntimeErrorEvent extends AgentChatRuntimeEventBase<\"error\"> {\n readonly error: string;\n readonly code?: string;\n readonly recoverable?: boolean;\n readonly cause?: unknown;\n}\n\nexport type AgentChatRuntimeDoneReason =\n | \"complete\"\n | \"cancelled\"\n | \"error\"\n | \"interrupted\"\n | \"length\"\n | \"tool-use\"\n | (string & {});\n\nexport interface AgentChatRuntimeDoneEvent extends AgentChatRuntimeEventBase<\"done\"> {\n readonly reason?: AgentChatRuntimeDoneReason;\n}\n\nexport interface AgentChatRuntimeCustomEvent extends AgentChatRuntimeEventBase {\n readonly [key: string]: unknown;\n}\n\nexport type AgentChatRuntimeKnownEvent =\n | AgentChatRuntimeMessageStartEvent\n | AgentChatRuntimeMessageDeltaEvent\n | AgentChatRuntimeMessageDoneEvent\n | AgentChatRuntimeToolStartEvent\n | AgentChatRuntimeToolDeltaEvent\n | AgentChatRuntimeToolDoneEvent\n | AgentChatRuntimeApprovalRequestEvent\n | AgentChatRuntimeApprovalResolvedEvent\n | AgentChatRuntimeStatusEvent\n | AgentChatRuntimeArtifactEvent\n | AgentChatRuntimeFileEvent\n | AgentChatRuntimeUsageEvent\n | AgentChatRuntimeErrorEvent\n | AgentChatRuntimeDoneEvent;\n\nexport type AgentChatRuntimeEvent<\n TCustomEvent extends AgentChatRuntimeCustomEvent = never,\n> = AgentChatRuntimeKnownEvent | TCustomEvent;\n\nexport interface AgentChatRuntimeTurn<\n TEvent extends AgentChatRuntimeEventBase = AgentChatRuntimeKnownEvent,\n> {\n readonly id?: AgentChatRuntimeTurnId;\n readonly sessionId: AgentChatRuntimeSessionId;\n readonly runId?: string;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly events: AsyncIterable<TEvent>;\n cancel?(\n input?: AgentChatRuntimeCancelInput,\n ): Promise<AgentChatRuntimeCancelResult>;\n}\n\nexport interface AgentChatRuntimeSendMessageInput extends AgentChatRuntimeTurnInput {\n readonly sessionId?: AgentChatRuntimeSessionId;\n}\n\nexport interface AgentChatRuntimeSubscribeInput {\n readonly sessionId?: AgentChatRuntimeSessionId;\n readonly turnId?: AgentChatRuntimeTurnId;\n readonly runId?: string;\n readonly after?: number;\n readonly metadata?: AgentChatRuntimeMetadata;\n readonly abortSignal?: AbortSignal;\n}\n\nexport interface AgentChatRuntimeResumeInput extends AgentChatRuntimeSubscribeInput {\n readonly prompt?: string;\n}\n\nexport interface AgentChatRuntimeSession<\n TEvent extends AgentChatRuntimeEventBase = AgentChatRuntimeKnownEvent,\n> {\n readonly id: AgentChatRuntimeSessionId;\n readonly runtimeId: AgentChatRuntimeId;\n readonly threadId?: string;\n readonly capabilities?: Partial<AgentChatRuntimeCapabilities>;\n sendMessage?(\n input: AgentChatRuntimeTurnInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeTurn<TEvent>>;\n startTurn(\n input: AgentChatRuntimeTurnInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeTurn<TEvent>>;\n continueTurn?(\n input?: AgentChatRuntimeContinueInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeTurn<TEvent>>;\n cancelTurn?(\n input?: AgentChatRuntimeCancelInput,\n ): Promise<AgentChatRuntimeCancelResult>;\n snapshot?(): AgentChatRuntimeAwaitable<AgentChatRuntimeSessionSnapshot>;\n dispose?(): AgentChatRuntimeAwaitable<void>;\n}\n\nexport interface AgentChatRuntime<\n TEvent extends AgentChatRuntimeEventBase = AgentChatRuntimeKnownEvent,\n> {\n readonly id: AgentChatRuntimeId;\n readonly kind: AgentChatRuntimeKind;\n readonly label: string;\n readonly description?: string;\n readonly capabilities: AgentChatRuntimeCapabilities;\n createSession(\n input?: AgentChatRuntimeCreateSessionInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeSession<TEvent>>;\n restoreSession?(\n snapshot: AgentChatRuntimeSessionSnapshot,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeSession<TEvent>>;\n getSession?(input: {\n readonly sessionId: AgentChatRuntimeSessionId;\n readonly abortSignal?: AbortSignal;\n }): AgentChatRuntimeAwaitable<AgentChatRuntimeSession<TEvent> | null>;\n listSessions?(\n input?: AgentChatRuntimeListSessionsInput,\n ): AgentChatRuntimeAwaitable<readonly AgentChatRuntimeSessionSummary[]>;\n sendMessage?(\n input: AgentChatRuntimeSendMessageInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeTurn<TEvent>>;\n subscribe?(\n input: AgentChatRuntimeSubscribeInput,\n ): AgentChatRuntimeAwaitable<AsyncIterable<TEvent>>;\n resume?(\n input: AgentChatRuntimeResumeInput,\n ): AgentChatRuntimeAwaitable<AgentChatRuntimeTurn<TEvent>>;\n cancel?(\n input: AgentChatRuntimeCancelInput,\n ): Promise<AgentChatRuntimeCancelResult>;\n}\n\ntype FetchLike = typeof fetch;\ntype HeadersFactory =\n | HeadersInit\n | ((input: {\n sessionId?: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n }) => HeadersInit | Promise<HeadersInit>);\n\nexport interface CreateHttpAgentChatRuntimeOptions<\n TEvent extends AgentChatRuntimeEventBase = AgentChatRuntimeKnownEvent,\n> {\n readonly id?: AgentChatRuntimeId;\n readonly kind?: AgentChatRuntimeKind;\n readonly label?: string;\n readonly description?: string;\n readonly endpoint:\n | string\n | ((input: {\n session: AgentChatRuntimeSessionSummary;\n turn: AgentChatRuntimeTurnInput;\n }) => string | URL);\n readonly method?: \"POST\" | \"PUT\";\n readonly headers?: HeadersFactory;\n readonly credentials?: RequestCredentials;\n readonly fetch?: FetchLike;\n readonly capabilities?: Partial<AgentChatRuntimeCapabilities>;\n readonly mapRequest?: (input: {\n session: AgentChatRuntimeSessionSummary;\n turn: AgentChatRuntimeTurnInput;\n turnId: AgentChatRuntimeTurnId;\n }) => unknown;\n readonly mapEvent?: (\n event: unknown,\n context: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n },\n ) => TEvent | readonly TEvent[] | null;\n readonly cancelEndpoint?:\n | string\n | ((input: AgentChatRuntimeCancelInput) => string | URL | null);\n readonly resumeEndpoint?:\n | string\n | ((input: AgentChatRuntimeSubscribeInput) => string | URL | null);\n readonly listSessionsEndpoint?: string | URL;\n readonly getSessionEndpoint?:\n | string\n | ((input: { sessionId: AgentChatRuntimeSessionId }) => string | URL);\n}\n\nexport interface CreateAgentNativeChatRuntimeOptions {\n readonly id?: AgentChatRuntimeId;\n readonly label?: string;\n readonly description?: string;\n readonly apiUrl?: string;\n readonly headers?: HeadersFactory;\n readonly fetch?: FetchLike;\n readonly threadId?: string;\n readonly browserTabId?: string;\n readonly surface?: \"app\" | \"dev-frame\";\n readonly mode?: \"act\" | \"plan\";\n readonly model?: string;\n readonly engine?: string;\n readonly effort?: ReasoningEffort;\n readonly scope?: unknown;\n}\n\nexport interface CreateAgentChatRuntimeAdapterOptions {\n readonly sessionId?: AgentChatRuntimeSessionId;\n readonly threadId?: string;\n readonly modelRef?: { current: string | undefined };\n readonly effortRef?: { current: ReasoningEffort | undefined };\n readonly metadata?: AgentChatRuntimeMetadata;\n}\n\nconst DEFAULT_RUNTIME_CAPABILITIES: AgentChatRuntimeCapabilities = {\n messages: {\n streaming: true,\n history: true,\n structuredContent: true,\n attachments: true,\n },\n tools: {\n events: true,\n hostTools: true,\n resultStreaming: true,\n mcpApps: true,\n },\n sessions: {\n create: true,\n restore: true,\n persistent: true,\n },\n cancellation: {\n abortSignal: true,\n explicitCancel: true,\n },\n models: {\n selectable: true,\n reasoningEffort: true,\n },\n artifacts: {\n files: true,\n links: true,\n progress: true,\n },\n};\n\nfunction mergeCapabilities(\n overrides?: Partial<AgentChatRuntimeCapabilities>,\n): AgentChatRuntimeCapabilities {\n return {\n ...DEFAULT_RUNTIME_CAPABILITIES,\n ...overrides,\n messages: {\n ...DEFAULT_RUNTIME_CAPABILITIES.messages,\n ...overrides?.messages,\n },\n tools: {\n ...DEFAULT_RUNTIME_CAPABILITIES.tools,\n ...overrides?.tools,\n events:\n overrides?.tools?.events ?? DEFAULT_RUNTIME_CAPABILITIES.tools!.events,\n },\n sessions: {\n ...DEFAULT_RUNTIME_CAPABILITIES.sessions,\n ...overrides?.sessions,\n create:\n overrides?.sessions?.create ??\n DEFAULT_RUNTIME_CAPABILITIES.sessions!.create,\n },\n cancellation: {\n ...DEFAULT_RUNTIME_CAPABILITIES.cancellation,\n ...overrides?.cancellation,\n },\n models: { ...DEFAULT_RUNTIME_CAPABILITIES.models, ...overrides?.models },\n artifacts: {\n ...DEFAULT_RUNTIME_CAPABILITIES.artifacts,\n ...overrides?.artifacts,\n },\n };\n}\n\nfunction createRuntimeId(prefix: string): string {\n if (\n typeof crypto !== \"undefined\" &&\n typeof crypto.randomUUID === \"function\"\n ) {\n return `${prefix}-${crypto.randomUUID()}`;\n }\n return `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;\n}\n\nfunction createAbortController(signal?: AbortSignal): {\n controller: AbortController;\n cleanup: () => void;\n} {\n const controller = new AbortController();\n if (!signal) return { controller, cleanup: () => {} };\n if (signal.aborted) controller.abort();\n const abort = () => controller.abort();\n signal.addEventListener(\"abort\", abort, { once: true });\n return {\n controller,\n cleanup: () => signal.removeEventListener(\"abort\", abort),\n };\n}\n\nasync function resolveHeaders(\n headers: HeadersFactory | undefined,\n input: {\n sessionId?: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n },\n): Promise<Headers> {\n const resolved =\n typeof headers === \"function\" ? await headers(input) : headers;\n return new Headers(resolved);\n}\n\nfunction normalizeEndpoint(value: string | URL): string {\n return typeof value === \"string\" ? value : value.toString();\n}\n\nfunction isRuntimeEvent(value: unknown): value is AgentChatRuntimeEventBase {\n return (\n !!value &&\n typeof value === \"object\" &&\n typeof (value as { type?: unknown }).type === \"string\"\n );\n}\n\nfunction parseJsonEvent(raw: string): unknown | null {\n const trimmed = raw.trim();\n if (!trimmed || trimmed === \"[DONE]\") return null;\n try {\n return JSON.parse(trimmed);\n } catch {\n return null;\n }\n}\n\nasync function* readJsonEventStream(\n body: ReadableStream<Uint8Array>,\n): AsyncGenerator<unknown> {\n const reader = body.getReader();\n const decoder = new TextDecoder();\n let buffer = \"\";\n let pendingSseData: string[] = [];\n\n const flushSseData = function* (): Generator<unknown> {\n if (pendingSseData.length === 0) return;\n const parsed = parseJsonEvent(pendingSseData.join(\"\\n\"));\n pendingSseData = [];\n if (parsed) yield parsed;\n };\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split(/\\r?\\n/);\n buffer = lines.pop() ?? \"\";\n\n for (const line of lines) {\n if (line.startsWith(\"data:\")) {\n pendingSseData.push(line.slice(5).trimStart());\n continue;\n }\n if (line.trim() === \"\") {\n yield* flushSseData();\n continue;\n }\n const parsed = parseJsonEvent(line);\n if (parsed) yield parsed;\n }\n }\n\n if (buffer.trim()) {\n const parsed = parseJsonEvent(buffer);\n if (parsed) yield parsed;\n }\n yield* flushSseData();\n } finally {\n try {\n reader.releaseLock();\n } catch {\n // Some browser runtimes consider a cancelled stream locked for a tick.\n }\n }\n}\n\nfunction textResponseEvents(\n text: string,\n sessionId: AgentChatRuntimeSessionId,\n turnId?: AgentChatRuntimeTurnId,\n): AgentChatRuntimeKnownEvent[] {\n const message: AgentChatRuntimeMessage = {\n id: createRuntimeId(\"message\"),\n role: \"assistant\",\n content: [],\n };\n return [\n { type: \"message-start\", sessionId, turnId, message },\n ...(text\n ? [\n {\n type: \"message-delta\" as const,\n sessionId,\n turnId,\n messageId: message.id,\n delta: { type: \"text\" as const, text },\n },\n ]\n : []),\n { type: \"message-done\", sessionId, turnId, message },\n { type: \"done\", sessionId, turnId, reason: \"complete\" },\n ];\n}\n\nasync function* eventsFromJsonResponse(\n value: unknown,\n sessionId: AgentChatRuntimeSessionId,\n turnId?: AgentChatRuntimeTurnId,\n): AsyncGenerator<AgentChatRuntimeEvent> {\n if (Array.isArray(value)) {\n for (const item of value) {\n if (isRuntimeEvent(item)) yield item as AgentChatRuntimeEvent;\n }\n return;\n }\n if (!value || typeof value !== \"object\") return;\n const record = value as Record<string, unknown>;\n if (Array.isArray(record.events)) {\n for (const item of record.events) {\n if (isRuntimeEvent(item)) yield item as AgentChatRuntimeEvent;\n }\n return;\n }\n const text =\n typeof record.message === \"string\"\n ? record.message\n : typeof record.text === \"string\"\n ? record.text\n : \"\";\n if (text) {\n for (const event of textResponseEvents(text, sessionId, turnId)) {\n yield event;\n }\n }\n}\n\nfunction defaultMapHttpRuntimeEvent(\n event: unknown,\n _context?: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n },\n): AgentChatRuntimeEvent | readonly AgentChatRuntimeEvent[] | null {\n if (!isRuntimeEvent(event)) return null;\n return event as AgentChatRuntimeEvent;\n}\n\nfunction normalizeMappedEvents<TEvent extends AgentChatRuntimeEventBase>(\n mapped: TEvent | readonly TEvent[] | null,\n): readonly TEvent[] {\n if (!mapped) return [];\n return Array.isArray(mapped)\n ? (mapped as readonly TEvent[])\n : [mapped as TEvent];\n}\n\nasync function* streamResponseEvents<TEvent extends AgentChatRuntimeEventBase>(\n response: Response,\n input: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n mapEvent: (\n event: unknown,\n context: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n },\n ) => TEvent | readonly TEvent[] | null;\n },\n): AsyncGenerator<TEvent> {\n const context = {\n sessionId: input.sessionId,\n turnId: input.turnId,\n runId: input.runId,\n };\n const contentType = response.headers.get(\"content-type\") ?? \"\";\n if (response.body && !contentType.includes(\"application/json\")) {\n for await (const raw of readJsonEventStream(response.body)) {\n for (const event of normalizeMappedEvents(input.mapEvent(raw, context))) {\n yield event;\n }\n }\n return;\n }\n\n const json = await response.json().catch(() => null);\n for await (const event of eventsFromJsonResponse(\n json,\n input.sessionId,\n input.turnId,\n )) {\n for (const mapped of normalizeMappedEvents(\n input.mapEvent(event, context),\n )) {\n yield mapped;\n }\n }\n}\n\nfunction defaultHttpRuntimeRequest(input: {\n session: AgentChatRuntimeSessionSummary;\n turn: AgentChatRuntimeTurnInput;\n turnId: AgentChatRuntimeTurnId;\n}) {\n return {\n sessionId: input.session.id,\n threadId: input.session.threadId,\n turnId: input.turnId,\n prompt: input.turn.prompt,\n messages: input.turn.messages,\n attachments: input.turn.attachments,\n tools: input.turn.tools,\n model: input.turn.model,\n reasoningEffort: input.turn.reasoningEffort,\n temperature: input.turn.temperature,\n providerOptions: input.turn.providerOptions,\n metadata: input.turn.metadata,\n };\n}\n\nasync function readErrorText(response: Response): Promise<string> {\n const text = await response.text().catch(() => \"\");\n if (!text) return `HTTP ${response.status}`;\n try {\n const parsed = JSON.parse(text) as { error?: unknown; message?: unknown };\n if (typeof parsed.error === \"string\") return parsed.error;\n if (typeof parsed.message === \"string\") return parsed.message;\n } catch {\n // Keep raw text.\n }\n return text.slice(0, 500);\n}\n\nexport function createHttpAgentChatRuntime<\n TEvent extends AgentChatRuntimeEventBase = AgentChatRuntimeKnownEvent,\n>(\n options: CreateHttpAgentChatRuntimeOptions<TEvent>,\n): AgentChatRuntime<TEvent> {\n const fetchImpl = options.fetch ?? fetch;\n const capabilities = mergeCapabilities(options.capabilities);\n const runtimeId = options.id ?? \"external:http\";\n const mapEvent =\n options.mapEvent ??\n (defaultMapHttpRuntimeEvent as (\n event: unknown,\n context: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n runId?: string;\n },\n ) => TEvent | readonly TEvent[] | null);\n\n const createSessionObject = (\n input?: AgentChatRuntimeCreateSessionInput,\n ): AgentChatRuntimeSession<TEvent> => {\n const sessionId =\n input?.id ?? input?.threadId ?? createRuntimeId(\"session\");\n const summary: AgentChatRuntimeSessionSummary = {\n id: sessionId,\n runtimeId,\n threadId: input?.threadId,\n title: input?.title,\n status: \"idle\",\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n metadata: input?.metadata,\n };\n\n const startTurn = async (\n turn: AgentChatRuntimeTurnInput,\n ): Promise<AgentChatRuntimeTurn<TEvent>> => {\n const turnId = createRuntimeId(\"turn\");\n const { controller, cleanup } = createAbortController(turn.abortSignal);\n const endpoint =\n typeof options.endpoint === \"function\"\n ? options.endpoint({ session: summary, turn })\n : options.endpoint;\n const headers = await resolveHeaders(options.headers, {\n sessionId,\n turnId,\n });\n if (!headers.has(\"Content-Type\"))\n headers.set(\"Content-Type\", \"application/json\");\n const response = await fetchImpl(normalizeEndpoint(endpoint), {\n method: options.method ?? \"POST\",\n headers,\n credentials: options.credentials,\n body: JSON.stringify(\n options.mapRequest\n ? options.mapRequest({ session: summary, turn, turnId })\n : defaultHttpRuntimeRequest({ session: summary, turn, turnId }),\n ),\n signal: controller.signal,\n });\n if (!response.ok) {\n cleanup();\n throw new Error(await readErrorText(response));\n }\n\n const runId = response.headers.get(\"X-Run-Id\") ?? undefined;\n const events = (async function* () {\n try {\n yield* streamResponseEvents(response, {\n sessionId,\n turnId,\n runId,\n mapEvent,\n });\n } finally {\n cleanup();\n }\n })();\n\n return {\n id: turnId,\n sessionId,\n runId,\n events,\n cancel: async (cancelInput) => {\n controller.abort();\n if (!options.cancelEndpoint) return { status: \"cancelled\" };\n const endpoint =\n typeof options.cancelEndpoint === \"function\"\n ? options.cancelEndpoint({\n ...cancelInput,\n sessionId,\n turnId,\n runId,\n })\n : options.cancelEndpoint;\n if (!endpoint) return { status: \"unsupported\" };\n const cancelHeaders = await resolveHeaders(options.headers, {\n sessionId,\n turnId,\n });\n if (!cancelHeaders.has(\"Content-Type\")) {\n cancelHeaders.set(\"Content-Type\", \"application/json\");\n }\n const cancelResponse = await fetchImpl(normalizeEndpoint(endpoint), {\n method: \"POST\",\n headers: cancelHeaders,\n credentials: options.credentials,\n body: JSON.stringify({\n sessionId,\n turnId,\n runId,\n reason: cancelInput?.reason ?? \"user\",\n metadata: cancelInput?.metadata,\n }),\n signal: cancelInput?.abortSignal,\n });\n return cancelResponse.ok\n ? { status: \"cancelled\" }\n : {\n status: \"unsupported\",\n message: await readErrorText(cancelResponse),\n };\n },\n };\n };\n\n return {\n id: sessionId,\n runtimeId,\n threadId: input?.threadId,\n capabilities,\n sendMessage: startTurn,\n startTurn,\n snapshot: () => ({\n ...summary,\n status: \"idle\",\n updatedAt: new Date().toISOString(),\n messages: input?.messages,\n resumeState: input?.resumeState,\n }),\n dispose: () => undefined,\n };\n };\n\n const runtime: AgentChatRuntime<TEvent> = {\n id: runtimeId,\n kind: options.kind ?? \"external-agent\",\n label: options.label ?? \"External agent\",\n description: options.description,\n capabilities,\n createSession: createSessionObject,\n restoreSession: (snapshot) =>\n createSessionObject({\n id: snapshot.id,\n threadId: snapshot.threadId,\n title: snapshot.title,\n messages: snapshot.messages,\n resumeState: snapshot.resumeState,\n metadata: snapshot.metadata,\n }),\n sendMessage: async (input) => {\n const session = createSessionObject({\n id: input.sessionId,\n threadId: input.sessionId,\n metadata: input.metadata,\n });\n return session.startTurn(input);\n },\n subscribe: async (input) => {\n if (!options.resumeEndpoint) return (async function* () {})();\n const endpoint =\n typeof options.resumeEndpoint === \"function\"\n ? options.resumeEndpoint(input)\n : options.resumeEndpoint;\n if (!endpoint) return (async function* () {})();\n const headers = await resolveHeaders(options.headers, input);\n const response = await fetchImpl(normalizeEndpoint(endpoint), {\n headers,\n credentials: options.credentials,\n signal: input.abortSignal,\n });\n if (!response.ok) throw new Error(await readErrorText(response));\n return streamResponseEvents(response, {\n sessionId: input.sessionId ?? \"session\",\n turnId: input.turnId,\n runId: input.runId,\n mapEvent,\n });\n },\n resume: async (input) => {\n const sessionId = input.sessionId ?? createRuntimeId(\"session\");\n const events = runtime.subscribe\n ? await runtime.subscribe(input)\n : (async function* () {})();\n return {\n id: input.turnId,\n sessionId,\n runId: input.runId,\n events,\n };\n },\n cancel: async (input) => {\n if (!options.cancelEndpoint) return { status: \"unsupported\" };\n const endpoint =\n typeof options.cancelEndpoint === \"function\"\n ? options.cancelEndpoint(input)\n : options.cancelEndpoint;\n if (!endpoint) return { status: \"unsupported\" };\n const headers = await resolveHeaders(options.headers, input);\n if (!headers.has(\"Content-Type\"))\n headers.set(\"Content-Type\", \"application/json\");\n const response = await fetchImpl(normalizeEndpoint(endpoint), {\n method: \"POST\",\n headers,\n credentials: options.credentials,\n body: JSON.stringify(input),\n signal: input.abortSignal,\n });\n return response.ok\n ? { status: \"cancelled\" }\n : { status: \"unsupported\", message: await readErrorText(response) };\n },\n };\n\n return runtime;\n}\n\nfunction runtimeMessageText(message: AgentChatRuntimeMessage): string {\n return message.content\n .map((part) =>\n part.type === \"text\" || part.type === \"reasoning\" ? part.text : \"\",\n )\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction nativeHistoryFromMessages(\n messages: readonly AgentChatRuntimeMessage[] | undefined,\n currentPrompt: string,\n) {\n const history = (messages ?? [])\n .filter(\n (message) => message.role === \"user\" || message.role === \"assistant\",\n )\n .map((message) => ({\n role: message.role as \"user\" | \"assistant\",\n content: runtimeMessageText(message),\n }))\n .filter((message) => message.content.trim());\n if (!currentPrompt.trim()) return history;\n const last = history[history.length - 1];\n return last?.role === \"user\" && last.content === currentPrompt\n ? history.slice(0, -1)\n : history;\n}\n\ntype AgentNativeMessageContentState =\n | { type: \"text\"; text: string; id?: string }\n | {\n type: \"reasoning\";\n text: string;\n id?: string;\n signature?: string;\n };\n\nfunction mapAgentNativeEvent(\n raw: unknown,\n input: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n messageId: string;\n message: {\n content: AgentNativeMessageContentState[];\n started: boolean;\n };\n },\n): AgentChatRuntimeKnownEvent[] {\n if (!raw || typeof raw !== \"object\") return [];\n const ev = raw as SSEEvent;\n const base = {\n sessionId: input.sessionId,\n turnId: input.turnId,\n };\n if (ev.seq !== undefined) {\n (base as { metadata?: AgentChatRuntimeMetadata }).metadata = {\n seq: ev.seq,\n };\n }\n if (ev.type === \"text\" || ev.type === \"thinking\" || ev.type === \"reasoning\") {\n const text = ev.text ?? \"\";\n const type = ev.type === \"text\" ? \"text\" : \"reasoning\";\n const extended = ev as SSEEvent & {\n partId?: string;\n signature?: string;\n };\n const partId = extended.partId;\n const events: AgentChatRuntimeKnownEvent[] = [];\n if (!input.message.started) {\n input.message.started = true;\n events.push({\n type: \"message-start\",\n ...base,\n message: {\n id: input.messageId,\n role: \"assistant\",\n content: [],\n },\n });\n }\n const last = input.message.content.at(-1);\n let part = partId\n ? input.message.content.find(\n (candidate) => candidate.type === type && candidate.id === partId,\n )\n : last?.type === type && !last.id\n ? last\n : undefined;\n if (!part) {\n const nextPart: AgentNativeMessageContentState =\n type === \"reasoning\"\n ? {\n type: \"reasoning\",\n text: \"\",\n ...(partId ? { id: partId } : {}),\n }\n : {\n type: \"text\",\n text: \"\",\n ...(partId ? { id: partId } : {}),\n };\n input.message.content.push(nextPart);\n part = nextPart;\n }\n part.text += text;\n if (part.type === \"reasoning\" && extended.signature) {\n part.signature = extended.signature;\n }\n events.push({\n type: \"message-delta\",\n ...base,\n messageId: input.messageId,\n delta:\n type === \"reasoning\"\n ? {\n type: \"reasoning\",\n text,\n partId,\n signature: extended.signature,\n }\n : { type: \"text\", text, partId },\n });\n return events;\n }\n if (ev.type === \"activity\") {\n return [\n {\n type: \"status\",\n ...base,\n message: ev.label ?? ev.tool ?? \"Working\",\n metadata: ev.tool ? { tool: ev.tool } : undefined,\n },\n ];\n }\n if (ev.type === \"tool_start\") {\n return [\n {\n type: \"tool-start\",\n ...base,\n toolCall: {\n id: ev.id ?? createRuntimeId(\"tool\"),\n name: ev.tool ?? \"unknown\",\n input: ev.input,\n inputText: ev.input ? JSON.stringify(ev.input) : undefined,\n },\n },\n ];\n }\n if (ev.type === \"tool_done\") {\n return [\n {\n type: \"tool-done\",\n ...base,\n toolCallId: ev.id ?? \"\",\n toolName: ev.tool ?? \"unknown\",\n status: ev.error ? \"failed\" : \"completed\",\n result: ev.result,\n resultText:\n typeof ev.result === \"string\"\n ? ev.result\n : ev.result !== undefined\n ? JSON.stringify(ev.result)\n : undefined,\n error: ev.error,\n mcpApp: ev.mcpApp,\n chatUI: ev.chatUI,\n },\n ];\n }\n if (ev.type === \"approval_required\") {\n return [\n {\n type: \"approval-request\",\n ...base,\n approvalId: ev.approvalKey ?? ev.id ?? createRuntimeId(\"approval\"),\n toolCallId: ev.id,\n toolName: ev.tool,\n message: ev.label ?? \"Approve this tool call?\",\n input: ev.input,\n },\n ];\n }\n if (ev.type === \"error\" || ev.type === \"missing_api_key\") {\n return [\n {\n type: \"error\",\n ...base,\n error: ev.error ?? \"Agent chat failed.\",\n code: ev.errorCode,\n recoverable: ev.recoverable,\n },\n { type: \"done\", ...base, reason: \"error\" },\n ];\n }\n if (ev.type === \"done\") {\n const message: AgentChatRuntimeMessage = {\n id: input.messageId,\n role: \"assistant\",\n content: input.message.content.map((part) => ({ ...part })),\n };\n return [\n ...(input.message.started\n ? [{ type: \"message-done\" as const, ...base, message }]\n : []),\n { type: \"done\", ...base, reason: \"complete\" },\n ];\n }\n return [];\n}\n\nexport function createAgentNativeChatRuntime(\n options: CreateAgentNativeChatRuntimeOptions = {},\n): AgentChatRuntime<AgentChatRuntimeKnownEvent> {\n const apiUrl = options.apiUrl ?? agentNativePath(\"/_agent-native/agent-chat\");\n const runtimeId = options.id ?? \"agent-native\";\n const fetchImpl = options.fetch ?? fetch;\n\n return createHttpAgentChatRuntime({\n id: runtimeId,\n kind: \"agent-native\",\n label: options.label ?? \"Agent Native\",\n description:\n options.description ?? \"Agent-Native's built-in chat transport.\",\n endpoint: apiUrl,\n fetch: fetchImpl,\n headers: async (input) => {\n const headers = await resolveHeaders(options.headers, input);\n headers.set(\"x-agent-native-surface\", options.surface ?? \"app\");\n return headers;\n },\n capabilities: DEFAULT_RUNTIME_CAPABILITIES,\n mapRequest: ({ session, turn, turnId }) => {\n const prompt =\n turn.prompt ??\n [...(turn.messages ?? [])]\n .reverse()\n .find((message) => message.role === \"user\")\n ?.content.map((part) => (part.type === \"text\" ? part.text : \"\"))\n .join(\"\\n\") ??\n \"\";\n return {\n message: prompt,\n displayMessage: prompt,\n history: nativeHistoryFromMessages(turn.messages, prompt),\n turnId,\n threadId: session.threadId ?? options.threadId,\n ...(options.mode ? { mode: options.mode } : {}),\n ...((turn.model ?? options.model)\n ? { model: turn.model ?? options.model }\n : {}),\n ...(options.engine ? { engine: options.engine } : {}),\n ...((turn.reasoningEffort ?? options.effort)\n ? { effort: turn.reasoningEffort ?? options.effort }\n : {}),\n ...(options.browserTabId ? { browserTabId: options.browserTabId } : {}),\n ...(options.scope ? { scope: options.scope } : {}),\n ...(turn.attachments?.length ? { attachments: turn.attachments } : {}),\n ...(turn.metadata ? { metadata: turn.metadata } : {}),\n };\n },\n mapEvent: (() => {\n const states = new Map<\n string,\n {\n messageId: string;\n message: {\n content: AgentNativeMessageContentState[];\n started: boolean;\n };\n }\n >();\n return (\n event: unknown,\n context: {\n sessionId: AgentChatRuntimeSessionId;\n turnId?: AgentChatRuntimeTurnId;\n },\n ) => {\n const stateKey = context.turnId ?? context.sessionId;\n let state = states.get(stateKey);\n if (!state) {\n state = {\n messageId: createRuntimeId(\"message\"),\n message: { content: [], started: false },\n };\n states.set(stateKey, state);\n }\n const mapped = mapAgentNativeEvent(event, {\n sessionId: context.sessionId,\n turnId: context.turnId,\n messageId: state.messageId,\n message: state.message,\n });\n const type =\n event && typeof event === \"object\"\n ? (event as { type?: unknown }).type\n : undefined;\n if (type === \"done\" || type === \"error\" || type === \"missing_api_key\") {\n states.delete(stateKey);\n }\n return mapped;\n };\n })(),\n cancelEndpoint: (input) =>\n input.runId\n ? `${apiUrl}/runs/${encodeURIComponent(input.runId)}/abort`\n : null,\n resumeEndpoint: (input) =>\n input.runId\n ? `${apiUrl}/runs/${encodeURIComponent(input.runId)}/events?after=${input.after ?? 0}`\n : null,\n });\n}\n\nfunction toContentPartInput(value: unknown): Record<string, string> {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return {};\n const out: Record<string, string> = {};\n for (const [key, item] of Object.entries(value)) {\n out[key] = typeof item === \"string\" ? item : JSON.stringify(item);\n }\n return out;\n}\n\nfunction toolResultText(value: unknown): string {\n if (typeof value === \"string\") return value;\n if (value === undefined) return \"\";\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n}\n\ninterface RuntimeContentProjection {\n content: ContentPart[];\n partsById: Map<string, Extract<ContentPart, { type: \"text\" | \"reasoning\" }>>;\n}\n\nfunction appendRuntimeContentPart(\n projection: RuntimeContentProjection,\n input: {\n type: \"text\" | \"reasoning\";\n text: string;\n partId?: string;\n },\n): void {\n const key = input.partId ? `${input.type}:${input.partId}` : undefined;\n const last = projection.content.at(-1);\n let part = key ? projection.partsById.get(key) : undefined;\n if (\n !part &&\n !key &&\n last &&\n (last.type === \"text\" || last.type === \"reasoning\") &&\n last.type === input.type\n ) {\n part = last;\n }\n if (!part) {\n const nextPart: Extract<ContentPart, { type: \"text\" | \"reasoning\" }> =\n input.type === \"reasoning\"\n ? { type: \"reasoning\", text: \"\" }\n : { type: \"text\", text: \"\" };\n projection.content.push(nextPart);\n if (key) projection.partsById.set(key, nextPart);\n part = nextPart;\n }\n part.text += input.text;\n}\n\nfunction applyRuntimeEventToContent(\n event: AgentChatRuntimeEventBase,\n projection: RuntimeContentProjection,\n): ChatModelRunResult | null {\n const { content } = projection;\n const typed = event as AgentChatRuntimeKnownEvent;\n if (typed.type === \"message-start\") {\n for (const part of typed.message.content) {\n if ((part.type === \"text\" || part.type === \"reasoning\") && part.text) {\n appendRuntimeContentPart(projection, {\n type: part.type,\n text: part.text,\n partId: part.id,\n });\n }\n }\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"message-delta\") {\n if (typed.delta.type === \"text\" || typed.delta.type === \"reasoning\") {\n appendRuntimeContentPart(projection, {\n type: typed.delta.type,\n text: typed.delta.text,\n partId: typed.delta.partId,\n });\n return { content: [...content] } as ChatModelRunResult;\n }\n return null;\n }\n if (typed.type === \"message-done\") {\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"tool-start\") {\n content.push({\n type: \"tool-call\",\n toolCallId: typed.toolCall.id,\n toolName: typed.toolCall.name,\n argsText:\n typed.toolCall.inputText ?? JSON.stringify(typed.toolCall.input ?? {}),\n args: toContentPartInput(typed.toolCall.input),\n });\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"tool-delta\") {\n const part = [...content]\n .reverse()\n .find(\n (candidate): candidate is Extract<ContentPart, { type: \"tool-call\" }> =>\n candidate.type === \"tool-call\" &&\n candidate.toolCallId === typed.toolCallId,\n );\n if (!part) return null;\n if (typed.inputTextDelta) {\n part.argsText += typed.inputTextDelta;\n }\n if (typed.resultTextDelta) {\n part.result = `${part.result ?? \"\"}${typed.resultTextDelta}`;\n }\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"tool-done\") {\n const part = [...content]\n .reverse()\n .find(\n (candidate): candidate is Extract<ContentPart, { type: \"tool-call\" }> =>\n candidate.type === \"tool-call\" &&\n candidate.toolCallId === typed.toolCallId,\n );\n if (part) {\n part.result =\n typed.error ?? typed.resultText ?? toolResultText(typed.result);\n if (typed.mcpApp) part.mcpApp = typed.mcpApp;\n if (typed.chatUI) part.chatUI = typed.chatUI;\n }\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"approval-request\") {\n const part = [...content]\n .reverse()\n .find(\n (candidate): candidate is Extract<ContentPart, { type: \"tool-call\" }> =>\n candidate.type === \"tool-call\" &&\n (candidate.toolCallId === typed.toolCallId ||\n candidate.toolName === typed.toolName),\n );\n if (part) {\n part.approval = { approvalKey: typed.approvalId };\n } else {\n content.push({\n type: \"tool-call\",\n toolCallId: typed.toolCallId ?? typed.approvalId,\n toolName: typed.toolName ?? \"approval\",\n argsText: typed.input ? JSON.stringify(typed.input) : \"\",\n args: toContentPartInput(typed.input),\n approval: { approvalKey: typed.approvalId },\n });\n }\n return { content: [...content] } as ChatModelRunResult;\n }\n if (typed.type === \"error\") {\n const normalized = normalizeChatError(typed.error, typed.code);\n settleInterruptedToolCalls(content);\n content.push({\n type: \"text\",\n text: formatChatErrorText(typed.error, undefined, typed.code),\n });\n return {\n content: [...content],\n status: { type: \"incomplete\", reason: \"error\" },\n metadata: {\n custom: {\n runError: {\n message: normalized.message,\n ...(normalized.details ? { details: normalized.details } : {}),\n ...(typed.code ? { errorCode: typed.code } : {}),\n ...(typed.recoverable ? { recoverable: typed.recoverable } : {}),\n },\n },\n },\n } as ChatModelRunResult;\n }\n if (typed.type === \"done\") {\n return {\n content: [...content],\n status:\n typed.reason === \"error\"\n ? { type: \"incomplete\", reason: \"error\" }\n : { type: \"complete\", reason: \"stop\" },\n } as ChatModelRunResult;\n }\n return null;\n}\n\nfunction assistantMessageText(message: {\n content?: readonly { type: string; text?: string }[];\n}): string {\n return (message.content ?? [])\n .filter(\n (part): part is { type: string; text: string } => part.type === \"text\",\n )\n .map((part) => part.text)\n .join(\"\\n\");\n}\n\nfunction assistantMessagesToRuntimeMessages(\n messages: readonly {\n role: string;\n content?: readonly { type: string; text?: string; image?: string }[];\n }[],\n): AgentChatRuntimeMessage[] {\n return messages\n .filter(\n (message) => message.role === \"user\" || message.role === \"assistant\",\n )\n .map((message, index) => {\n const content: AgentChatRuntimeKnownContentPart[] = [];\n for (const part of message.content ?? []) {\n if (part.type === \"text\" && typeof part.text === \"string\") {\n content.push({ type: \"text\", text: part.text });\n } else if (part.type === \"image\" && typeof part.image === \"string\") {\n content.push({ type: \"image\", data: part.image });\n }\n }\n return {\n id: `assistant-ui-${index}`,\n role: message.role as \"user\" | \"assistant\",\n content,\n };\n });\n}\n\nfunction latestUserPrompt(\n messages: readonly {\n role: string;\n content?: readonly { type: string; text?: string }[];\n }[],\n): string {\n for (let i = messages.length - 1; i >= 0; i--) {\n const message = messages[i];\n if (message.role !== \"user\") continue;\n return assistantMessageText(message);\n }\n return \"\";\n}\n\nexport function createAgentChatRuntimeAdapter(\n runtime: AgentChatRuntime,\n options: CreateAgentChatRuntimeAdapterOptions = {},\n): ChatModelAdapter {\n let sessionPromise: Promise<AgentChatRuntimeSession> | null = null;\n const getSession = () => {\n sessionPromise ??= Promise.resolve(\n runtime.createSession({\n id: options.sessionId ?? options.threadId,\n threadId: options.threadId,\n metadata: options.metadata,\n }),\n );\n return sessionPromise;\n };\n\n return {\n async *run({ messages, abortSignal }) {\n const adapterMessages = messages as readonly {\n role: string;\n content?: readonly { type: string; text?: string; image?: string }[];\n }[];\n const session = await getSession();\n const prompt = latestUserPrompt(adapterMessages);\n const turn = await session.startTurn({\n prompt,\n messages: assistantMessagesToRuntimeMessages(adapterMessages),\n model: options.modelRef?.current,\n reasoningEffort: options.effortRef?.current,\n abortSignal,\n metadata: options.metadata,\n });\n const projection: RuntimeContentProjection = {\n content: [],\n partsById: new Map(),\n };\n try {\n for await (const event of turn.events) {\n const result = applyRuntimeEventToContent(event, projection);\n if (result) {\n const metadata = (result.metadata ?? {}) as Record<string, unknown>;\n const custom =\n metadata.custom && typeof metadata.custom === \"object\"\n ? (metadata.custom as Record<string, unknown>)\n : {};\n yield {\n ...result,\n metadata: {\n ...metadata,\n custom: {\n ...custom,\n runtimeId: runtime.id,\n ...(turn.runId ? { runId: turn.runId } : {}),\n },\n },\n } as ChatModelRunResult;\n }\n }\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n await turn.cancel?.({ reason: \"abort\" });\n return;\n }\n throw error;\n }\n },\n };\n}\n"]}
|
|
@@ -56,10 +56,17 @@ export declare function ToolCallFallback({ toolName, args, argsText, result, ...
|
|
|
56
56
|
export declare function ReconnectStreamMessage({ content, }: {
|
|
57
57
|
content: ContentPart[];
|
|
58
58
|
}): React.JSX.Element;
|
|
59
|
-
export declare function ReasoningCell({ text, isStreaming, defaultOpen, }: {
|
|
59
|
+
export declare function ReasoningCell({ text, isStreaming, defaultOpen, durationMs, }: {
|
|
60
60
|
text: string;
|
|
61
61
|
isStreaming?: boolean;
|
|
62
62
|
defaultOpen?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Elapsed thinking time in ms, once known. Only meaningful once streaming
|
|
65
|
+
* has finished — callers that track live timing (see ReasoningMessagePart)
|
|
66
|
+
* pass this so the label can read "Thought for Xs" instead of "Thought".
|
|
67
|
+
* Historical messages with no live timing simply omit it.
|
|
68
|
+
*/
|
|
69
|
+
durationMs?: number | null;
|
|
63
70
|
}): React.JSX.Element | null;
|
|
64
71
|
export declare function formatWorkedDuration(ms: number): string;
|
|
65
72
|
export declare function WorkedForSummary({ durationMs, autoCollapse, children, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-call-display.d.ts","sourceRoot":"","sources":["../../../src/client/chat/tool-call-display.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAgBpE,OAAO,KAMN,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAUzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAIL,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAmBhC,eAAO,MAAM,kBAAkB,wBAA6B,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,8DAA8D;IAC9D,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C,CAAC;AACF,eAAO,MAAM,eAAe,4CAE3B,CAAC;AAEF,eAAO,MAAM,+BAA+B,QAAS,CAAC;AAuCtD,KAAK,iBAAiB,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC5C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAuEF,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,iBAAiB,GAAG,IAAI,CAyB1B;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,iBAAiB,GAAG,IAAI,CAU1B;AA+RD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,MAAM,EACN,MAAM,EACN,SAAS,EACT,cAAc,EACd,QAAQ,EACR,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,qBAsDA;AAoPD,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,GAAG,IAAI,EACR,EAAE,wBAAwB,GAAG;IAC5B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,qBAwBA;AAMD,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,GACR,EAAE;IACD,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB,qBAyDA;
|
|
1
|
+
{"version":3,"file":"tool-call-display.d.ts","sourceRoot":"","sources":["../../../src/client/chat/tool-call-display.tsx"],"names":[],"mappings":"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"}
|
|
@@ -395,12 +395,30 @@ export function ReconnectStreamMessage({ content, }) {
|
|
|
395
395
|
}) }) }));
|
|
396
396
|
}
|
|
397
397
|
// ─── Reasoning / Thinking cell ────────────────────────────────────────────────
|
|
398
|
-
|
|
398
|
+
/**
|
|
399
|
+
* Completed reasoning and tool calls share one outer "Worked for…"
|
|
400
|
+
* disclosure. Reasoning cells inside it render their prose directly so
|
|
401
|
+
* opening that summary never reveals a redundant second disclosure.
|
|
402
|
+
*/
|
|
403
|
+
const WorkSummaryContentContext = React.createContext(false);
|
|
404
|
+
export function ReasoningCell({ text, isStreaming = false, defaultOpen, durationMs, }) {
|
|
405
|
+
const embeddedInWorkSummary = React.useContext(WorkSummaryContentContext);
|
|
399
406
|
const [open, setOpen] = useState(defaultOpen ?? isStreaming);
|
|
400
407
|
const trimmed = text.trim();
|
|
401
408
|
if (!trimmed && !isStreaming)
|
|
402
409
|
return null;
|
|
403
|
-
|
|
410
|
+
if (embeddedInWorkSummary) {
|
|
411
|
+
return (_jsx("div", { className: "pb-1 pl-5 text-[13px] leading-relaxed text-muted-foreground whitespace-pre-wrap", children: trimmed || (isStreaming ? "…" : "") }));
|
|
412
|
+
}
|
|
413
|
+
const label = isStreaming
|
|
414
|
+
? "Thinking"
|
|
415
|
+
: durationMs != null && durationMs >= 1000
|
|
416
|
+
? `Thought for ${formatWorkedDuration(durationMs)}`
|
|
417
|
+
: "Thought";
|
|
418
|
+
// Only clamp to a scroll-free "tail" view while actively streaming and
|
|
419
|
+
// expanded — once the run finishes the full text is shown, unclamped.
|
|
420
|
+
const showTail = isStreaming && open;
|
|
421
|
+
return (_jsxs("div", { className: "my-0.5 w-full", children: [_jsxs("button", { type: "button", onClick: () => setOpen((v) => !v), "aria-expanded": open, className: "flex items-center gap-1.5 py-0.5 text-[13px] text-muted-foreground transition-colors hover:text-foreground", children: [_jsx(IconChevronRight, { className: cn("size-3.5 shrink-0 transition-transform", open && "rotate-90") }), isStreaming ? (_jsx("span", { className: "agent-thinking-indicator__text", children: label })) : (_jsx("span", { children: label }))] }), _jsx(AnimatedCollapse, { open: open, children: _jsx("div", { className: cn("pl-5 pb-1", showTail && "reasoning-cell-tail"), children: _jsx("div", { className: "text-[13px] leading-relaxed text-muted-foreground whitespace-pre-wrap", children: trimmed || (isStreaming ? "…" : "") }) }) })] }));
|
|
404
422
|
}
|
|
405
423
|
// ─── Worked-for duration helpers ──────────────────────────────────────────────
|
|
406
424
|
export function formatWorkedDuration(ms) {
|
|
@@ -436,7 +454,7 @@ export function WorkedForSummary({ durationMs, autoCollapse = false, children, }
|
|
|
436
454
|
const label = durationMs != null && durationMs >= 1000
|
|
437
455
|
? `Worked for ${formatWorkedDuration(durationMs)}`
|
|
438
456
|
: "Worked";
|
|
439
|
-
return (_jsxs("div", { className: "my-1 w-full", children: [_jsxs("button", { type: "button", onClick: () => setOpen((v) => !v), "aria-expanded": open, className: "flex items-center gap-1.5 py-0.5 text-[13px] text-muted-foreground transition-colors hover:text-foreground", children: [_jsx("span", { children: label }), _jsx(IconChevronRight, { className: cn("size-3.5 shrink-0 transition-transform", open && "rotate-90") })] }), _jsx(AnimatedCollapse, { open: open, children: _jsx("div", { className: "pt-1", children: children }) })] }));
|
|
457
|
+
return (_jsxs("div", { className: "my-1 w-full", children: [_jsxs("button", { type: "button", onClick: () => setOpen((v) => !v), "aria-expanded": open, className: "flex items-center gap-1.5 py-0.5 text-[13px] text-muted-foreground transition-colors hover:text-foreground", children: [_jsx("span", { children: label }), _jsx(IconChevronRight, { className: cn("size-3.5 shrink-0 transition-transform", open && "rotate-90") })] }), _jsx(AnimatedCollapse, { open: open, children: _jsx(WorkSummaryContentContext.Provider, { value: true, children: _jsx("div", { className: "pt-1", children: children }) }) })] }));
|
|
440
458
|
}
|
|
441
459
|
// ─── Re-export for AssistantMessage ───────────────────────────────────────────
|
|
442
460
|
// AssistantMessage in AssistantChat.tsx uses FilesChangedSummary directly, so
|