@agent-native/core 0.76.5 → 0.76.6
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 +1 -1
- package/corpus/core/CHANGELOG.md +8 -0
- package/corpus/core/docs/content/extensions.md +16 -0
- package/corpus/core/docs/content/locales/ar-SA/a2a-protocol.md +392 -0
- package/corpus/core/docs/content/locales/ar-SA/actions.md +583 -0
- package/corpus/core/docs/content/locales/ar-SA/agent-mentions.md +164 -0
- package/corpus/core/docs/content/locales/ar-SA/agent-surfaces.md +397 -0
- package/corpus/core/docs/content/locales/ar-SA/agent-teams.md +171 -0
- package/corpus/core/docs/content/locales/ar-SA/agent-web-surfaces.md +161 -0
- package/corpus/core/docs/content/locales/ar-SA/audit-log.md +111 -0
- package/corpus/core/docs/content/locales/ar-SA/authentication.md +332 -0
- package/corpus/core/docs/content/locales/ar-SA/automations.md +268 -0
- package/corpus/core/docs/content/locales/ar-SA/blueprint-installer.md +83 -0
- package/corpus/core/docs/content/locales/ar-SA/cli-adapters.md +129 -0
- package/corpus/core/docs/content/locales/ar-SA/client.md +398 -0
- package/corpus/core/docs/content/locales/ar-SA/cloneable-saas.md +114 -0
- package/corpus/core/docs/content/locales/ar-SA/code-agents-ui.md +436 -0
- package/corpus/core/docs/content/locales/ar-SA/components.md +368 -0
- package/corpus/core/docs/content/locales/ar-SA/context-awareness.md +373 -0
- package/corpus/core/docs/content/locales/ar-SA/creating-templates.md +411 -0
- package/corpus/core/docs/content/locales/ar-SA/cross-app-sso.md +185 -0
- package/corpus/core/docs/content/locales/ar-SA/database.md +183 -0
- package/corpus/core/docs/content/locales/ar-SA/deployment.md +349 -0
- package/corpus/core/docs/content/locales/ar-SA/dispatch.md +146 -0
- package/corpus/core/docs/content/locales/ar-SA/drop-in-agent.md +260 -0
- package/corpus/core/docs/content/locales/ar-SA/durable-resume.md +65 -0
- package/corpus/core/docs/content/locales/ar-SA/embedding-sdk.md +597 -0
- package/corpus/core/docs/content/locales/ar-SA/evals.md +155 -0
- package/corpus/core/docs/content/locales/ar-SA/extensions.md +360 -0
- package/corpus/core/docs/content/locales/ar-SA/external-agents.md +619 -0
- package/corpus/core/docs/content/locales/ar-SA/faq.md +142 -0
- package/corpus/core/docs/content/locales/ar-SA/file-uploads.md +122 -0
- package/corpus/core/docs/content/locales/ar-SA/frames.md +153 -0
- package/corpus/core/docs/content/locales/ar-SA/getting-started.md +199 -0
- package/corpus/core/docs/content/locales/ar-SA/harness-agents.md +349 -0
- package/corpus/core/docs/content/locales/ar-SA/human-approval.md +86 -0
- package/corpus/core/docs/content/locales/ar-SA/internationalization.md +68 -25
- package/corpus/core/docs/content/locales/ar-SA/key-concepts.md +312 -0
- package/corpus/core/docs/content/locales/ar-SA/local-file-mode.md +433 -0
- package/corpus/core/docs/content/locales/ar-SA/mcp-apps.md +147 -0
- package/corpus/core/docs/content/locales/ar-SA/mcp-clients.md +330 -0
- package/corpus/core/docs/content/locales/ar-SA/mcp-protocol.md +279 -0
- package/corpus/core/docs/content/locales/ar-SA/messaging.md +461 -0
- package/corpus/core/docs/content/locales/ar-SA/migration-workbench.md +33 -0
- package/corpus/core/docs/content/locales/ar-SA/multi-app-workspace.md +312 -0
- package/corpus/core/docs/content/locales/ar-SA/multi-tenancy.md +52 -0
- package/corpus/core/docs/content/locales/ar-SA/native-chat-ui.md +321 -0
- package/corpus/core/docs/content/locales/ar-SA/notifications.md +231 -0
- package/corpus/core/docs/content/locales/ar-SA/observability.md +294 -0
- package/corpus/core/docs/content/locales/ar-SA/observational-memory.md +77 -0
- package/corpus/core/docs/content/locales/ar-SA/onboarding.md +216 -0
- package/corpus/core/docs/content/locales/ar-SA/plan-plugin.md +200 -0
- package/corpus/core/docs/content/locales/ar-SA/pr-visual-recap.md +384 -0
- package/corpus/core/docs/content/locales/ar-SA/processors.md +106 -0
- package/corpus/core/docs/content/locales/ar-SA/progress.md +199 -0
- package/corpus/core/docs/content/locales/ar-SA/pure-agent-apps.md +39 -0
- package/corpus/core/docs/content/locales/ar-SA/real-time-collaboration.md +676 -0
- package/corpus/core/docs/content/locales/ar-SA/recurring-jobs.md +142 -0
- package/corpus/core/docs/content/locales/ar-SA/routing.md +79 -0
- package/corpus/core/docs/content/locales/ar-SA/sandbox-adapters.md +227 -0
- package/corpus/core/docs/content/locales/ar-SA/security.md +330 -0
- package/corpus/core/docs/content/locales/ar-SA/server.md +253 -0
- package/corpus/core/docs/content/locales/ar-SA/sharing.md +219 -0
- package/corpus/core/docs/content/locales/ar-SA/skills-guide.md +281 -0
- package/corpus/core/docs/content/locales/ar-SA/template-analytics.md +259 -0
- package/corpus/core/docs/content/locales/ar-SA/template-assets.md +303 -0
- package/corpus/core/docs/content/locales/ar-SA/template-brain.md +324 -0
- package/corpus/core/docs/content/locales/ar-SA/template-calendar.md +194 -0
- package/corpus/core/docs/content/locales/ar-SA/template-chat.md +129 -0
- package/corpus/core/docs/content/locales/ar-SA/template-clips.md +368 -0
- package/corpus/core/docs/content/locales/ar-SA/template-content.md +402 -0
- package/corpus/core/docs/content/locales/ar-SA/template-design.md +173 -0
- package/corpus/core/docs/content/locales/ar-SA/template-dispatch.md +220 -0
- package/corpus/core/docs/content/locales/ar-SA/template-forms.md +178 -0
- package/corpus/core/docs/content/locales/ar-SA/template-mail.md +239 -0
- package/corpus/core/docs/content/locales/ar-SA/template-plan.md +815 -0
- package/corpus/core/docs/content/locales/ar-SA/template-slides.md +293 -0
- package/corpus/core/docs/content/locales/ar-SA/template-videos.md +222 -0
- package/corpus/core/docs/content/locales/ar-SA/tracking.md +236 -0
- package/corpus/core/docs/content/locales/ar-SA/using-your-agent.md +71 -0
- package/corpus/core/docs/content/locales/ar-SA/voice-input.md +81 -0
- package/corpus/core/docs/content/locales/ar-SA/what-is-agent-native.md +202 -0
- package/corpus/core/docs/content/locales/ar-SA/workspace-connections.md +321 -0
- package/corpus/core/docs/content/locales/ar-SA/workspace-management.md +175 -0
- package/corpus/core/docs/content/locales/ar-SA/workspace.md +323 -0
- package/corpus/core/docs/content/locales/ar-SA/writing-agent-instructions.md +173 -0
- package/corpus/core/docs/content/locales/de-DE/a2a-protocol.md +392 -0
- package/corpus/core/docs/content/locales/de-DE/actions.md +583 -0
- package/corpus/core/docs/content/locales/de-DE/agent-mentions.md +164 -0
- package/corpus/core/docs/content/locales/de-DE/agent-surfaces.md +397 -0
- package/corpus/core/docs/content/locales/de-DE/agent-teams.md +171 -0
- package/corpus/core/docs/content/locales/de-DE/agent-web-surfaces.md +161 -0
- package/corpus/core/docs/content/locales/de-DE/audit-log.md +111 -0
- package/corpus/core/docs/content/locales/de-DE/authentication.md +332 -0
- package/corpus/core/docs/content/locales/de-DE/automations.md +268 -0
- package/corpus/core/docs/content/locales/de-DE/blueprint-installer.md +83 -0
- package/corpus/core/docs/content/locales/de-DE/cli-adapters.md +129 -0
- package/corpus/core/docs/content/locales/de-DE/client.md +398 -0
- package/corpus/core/docs/content/locales/de-DE/cloneable-saas.md +114 -0
- package/corpus/core/docs/content/locales/de-DE/code-agents-ui.md +436 -0
- package/corpus/core/docs/content/locales/de-DE/components.md +368 -0
- package/corpus/core/docs/content/locales/de-DE/context-awareness.md +373 -0
- package/corpus/core/docs/content/locales/de-DE/creating-templates.md +411 -0
- package/corpus/core/docs/content/locales/de-DE/cross-app-sso.md +185 -0
- package/corpus/core/docs/content/locales/de-DE/database.md +183 -0
- package/corpus/core/docs/content/locales/de-DE/deployment.md +349 -0
- package/corpus/core/docs/content/locales/de-DE/dispatch.md +146 -0
- package/corpus/core/docs/content/locales/de-DE/drop-in-agent.md +260 -0
- package/corpus/core/docs/content/locales/de-DE/durable-resume.md +65 -0
- package/corpus/core/docs/content/locales/de-DE/embedding-sdk.md +597 -0
- package/corpus/core/docs/content/locales/de-DE/evals.md +155 -0
- package/corpus/core/docs/content/locales/de-DE/extensions.md +360 -0
- package/corpus/core/docs/content/locales/de-DE/external-agents.md +619 -0
- package/corpus/core/docs/content/locales/de-DE/faq.md +142 -0
- package/corpus/core/docs/content/locales/de-DE/file-uploads.md +122 -0
- package/corpus/core/docs/content/locales/de-DE/frames.md +153 -0
- package/corpus/core/docs/content/locales/de-DE/getting-started.md +199 -0
- package/corpus/core/docs/content/locales/de-DE/harness-agents.md +349 -0
- package/corpus/core/docs/content/locales/de-DE/human-approval.md +86 -0
- package/corpus/core/docs/content/locales/de-DE/internationalization.md +65 -22
- package/corpus/core/docs/content/locales/de-DE/key-concepts.md +312 -0
- package/corpus/core/docs/content/locales/de-DE/local-file-mode.md +433 -0
- package/corpus/core/docs/content/locales/de-DE/mcp-apps.md +147 -0
- package/corpus/core/docs/content/locales/de-DE/mcp-clients.md +330 -0
- package/corpus/core/docs/content/locales/de-DE/mcp-protocol.md +279 -0
- package/corpus/core/docs/content/locales/de-DE/messaging.md +461 -0
- package/corpus/core/docs/content/locales/de-DE/migration-workbench.md +33 -0
- package/corpus/core/docs/content/locales/de-DE/multi-app-workspace.md +312 -0
- package/corpus/core/docs/content/locales/de-DE/multi-tenancy.md +52 -0
- package/corpus/core/docs/content/locales/de-DE/native-chat-ui.md +321 -0
- package/corpus/core/docs/content/locales/de-DE/notifications.md +231 -0
- package/corpus/core/docs/content/locales/de-DE/observability.md +294 -0
- package/corpus/core/docs/content/locales/de-DE/observational-memory.md +77 -0
- package/corpus/core/docs/content/locales/de-DE/onboarding.md +216 -0
- package/corpus/core/docs/content/locales/de-DE/plan-plugin.md +200 -0
- package/corpus/core/docs/content/locales/de-DE/pr-visual-recap.md +384 -0
- package/corpus/core/docs/content/locales/de-DE/processors.md +106 -0
- package/corpus/core/docs/content/locales/de-DE/progress.md +199 -0
- package/corpus/core/docs/content/locales/de-DE/pure-agent-apps.md +39 -0
- package/corpus/core/docs/content/locales/de-DE/real-time-collaboration.md +676 -0
- package/corpus/core/docs/content/locales/de-DE/recurring-jobs.md +142 -0
- package/corpus/core/docs/content/locales/de-DE/routing.md +79 -0
- package/corpus/core/docs/content/locales/de-DE/sandbox-adapters.md +227 -0
- package/corpus/core/docs/content/locales/de-DE/security.md +330 -0
- package/corpus/core/docs/content/locales/de-DE/server.md +253 -0
- package/corpus/core/docs/content/locales/de-DE/sharing.md +219 -0
- package/corpus/core/docs/content/locales/de-DE/skills-guide.md +281 -0
- package/corpus/core/docs/content/locales/de-DE/template-analytics.md +259 -0
- package/corpus/core/docs/content/locales/de-DE/template-assets.md +303 -0
- package/corpus/core/docs/content/locales/de-DE/template-brain.md +324 -0
- package/corpus/core/docs/content/locales/de-DE/template-calendar.md +194 -0
- package/corpus/core/docs/content/locales/de-DE/template-chat.md +129 -0
- package/corpus/core/docs/content/locales/de-DE/template-clips.md +368 -0
- package/corpus/core/docs/content/locales/de-DE/template-content.md +402 -0
- package/corpus/core/docs/content/locales/de-DE/template-design.md +173 -0
- package/corpus/core/docs/content/locales/de-DE/template-dispatch.md +220 -0
- package/corpus/core/docs/content/locales/de-DE/template-forms.md +178 -0
- package/corpus/core/docs/content/locales/de-DE/template-mail.md +239 -0
- package/corpus/core/docs/content/locales/de-DE/template-plan.md +814 -0
- package/corpus/core/docs/content/locales/de-DE/template-slides.md +293 -0
- package/corpus/core/docs/content/locales/de-DE/template-videos.md +222 -0
- package/corpus/core/docs/content/locales/de-DE/tracking.md +236 -0
- package/corpus/core/docs/content/locales/de-DE/using-your-agent.md +71 -0
- package/corpus/core/docs/content/locales/de-DE/voice-input.md +81 -0
- package/corpus/core/docs/content/locales/de-DE/what-is-agent-native.md +202 -0
- package/corpus/core/docs/content/locales/de-DE/workspace-connections.md +321 -0
- package/corpus/core/docs/content/locales/de-DE/workspace-management.md +175 -0
- package/corpus/core/docs/content/locales/de-DE/workspace.md +323 -0
- package/corpus/core/docs/content/locales/de-DE/writing-agent-instructions.md +173 -0
- package/corpus/core/docs/content/locales/es-ES/a2a-protocol.md +392 -0
- package/corpus/core/docs/content/locales/es-ES/actions.md +583 -0
- package/corpus/core/docs/content/locales/es-ES/agent-mentions.md +164 -0
- package/corpus/core/docs/content/locales/es-ES/agent-surfaces.md +397 -0
- package/corpus/core/docs/content/locales/es-ES/agent-teams.md +171 -0
- package/corpus/core/docs/content/locales/es-ES/agent-web-surfaces.md +161 -0
- package/corpus/core/docs/content/locales/es-ES/audit-log.md +111 -0
- package/corpus/core/docs/content/locales/es-ES/authentication.md +332 -0
- package/corpus/core/docs/content/locales/es-ES/automations.md +268 -0
- package/corpus/core/docs/content/locales/es-ES/blueprint-installer.md +83 -0
- package/corpus/core/docs/content/locales/es-ES/cli-adapters.md +129 -0
- package/corpus/core/docs/content/locales/es-ES/client.md +398 -0
- package/corpus/core/docs/content/locales/es-ES/cloneable-saas.md +114 -0
- package/corpus/core/docs/content/locales/es-ES/code-agents-ui.md +436 -0
- package/corpus/core/docs/content/locales/es-ES/components.md +368 -0
- package/corpus/core/docs/content/locales/es-ES/context-awareness.md +373 -0
- package/corpus/core/docs/content/locales/es-ES/creating-templates.md +411 -0
- package/corpus/core/docs/content/locales/es-ES/cross-app-sso.md +185 -0
- package/corpus/core/docs/content/locales/es-ES/database.md +183 -0
- package/corpus/core/docs/content/locales/es-ES/deployment.md +349 -0
- package/corpus/core/docs/content/locales/es-ES/dispatch.md +146 -0
- package/corpus/core/docs/content/locales/es-ES/drop-in-agent.md +260 -0
- package/corpus/core/docs/content/locales/es-ES/durable-resume.md +65 -0
- package/corpus/core/docs/content/locales/es-ES/embedding-sdk.md +597 -0
- package/corpus/core/docs/content/locales/es-ES/evals.md +155 -0
- package/corpus/core/docs/content/locales/es-ES/extensions.md +360 -0
- package/corpus/core/docs/content/locales/es-ES/external-agents.md +619 -0
- package/corpus/core/docs/content/locales/es-ES/faq.md +142 -0
- package/corpus/core/docs/content/locales/es-ES/file-uploads.md +122 -0
- package/corpus/core/docs/content/locales/es-ES/frames.md +153 -0
- package/corpus/core/docs/content/locales/es-ES/getting-started.md +199 -0
- package/corpus/core/docs/content/locales/es-ES/harness-agents.md +349 -0
- package/corpus/core/docs/content/locales/es-ES/human-approval.md +86 -0
- package/corpus/core/docs/content/locales/es-ES/internationalization.md +67 -24
- package/corpus/core/docs/content/locales/es-ES/key-concepts.md +312 -0
- package/corpus/core/docs/content/locales/es-ES/local-file-mode.md +433 -0
- package/corpus/core/docs/content/locales/es-ES/mcp-apps.md +147 -0
- package/corpus/core/docs/content/locales/es-ES/mcp-clients.md +330 -0
- package/corpus/core/docs/content/locales/es-ES/mcp-protocol.md +279 -0
- package/corpus/core/docs/content/locales/es-ES/messaging.md +461 -0
- package/corpus/core/docs/content/locales/es-ES/migration-workbench.md +33 -0
- package/corpus/core/docs/content/locales/es-ES/multi-app-workspace.md +312 -0
- package/corpus/core/docs/content/locales/es-ES/multi-tenancy.md +52 -0
- package/corpus/core/docs/content/locales/es-ES/native-chat-ui.md +321 -0
- package/corpus/core/docs/content/locales/es-ES/notifications.md +231 -0
- package/corpus/core/docs/content/locales/es-ES/observability.md +294 -0
- package/corpus/core/docs/content/locales/es-ES/observational-memory.md +77 -0
- package/corpus/core/docs/content/locales/es-ES/onboarding.md +216 -0
- package/corpus/core/docs/content/locales/es-ES/plan-plugin.md +200 -0
- package/corpus/core/docs/content/locales/es-ES/pr-visual-recap.md +384 -0
- package/corpus/core/docs/content/locales/es-ES/processors.md +106 -0
- package/corpus/core/docs/content/locales/es-ES/progress.md +199 -0
- package/corpus/core/docs/content/locales/es-ES/pure-agent-apps.md +39 -0
- package/corpus/core/docs/content/locales/es-ES/real-time-collaboration.md +676 -0
- package/corpus/core/docs/content/locales/es-ES/recurring-jobs.md +142 -0
- package/corpus/core/docs/content/locales/es-ES/routing.md +79 -0
- package/corpus/core/docs/content/locales/es-ES/sandbox-adapters.md +227 -0
- package/corpus/core/docs/content/locales/es-ES/security.md +330 -0
- package/corpus/core/docs/content/locales/es-ES/server.md +253 -0
- package/corpus/core/docs/content/locales/es-ES/sharing.md +219 -0
- package/corpus/core/docs/content/locales/es-ES/skills-guide.md +281 -0
- package/corpus/core/docs/content/locales/es-ES/template-analytics.md +259 -0
- package/corpus/core/docs/content/locales/es-ES/template-assets.md +303 -0
- package/corpus/core/docs/content/locales/es-ES/template-brain.md +324 -0
- package/corpus/core/docs/content/locales/es-ES/template-calendar.md +194 -0
- package/corpus/core/docs/content/locales/es-ES/template-chat.md +129 -0
- package/corpus/core/docs/content/locales/es-ES/template-clips.md +368 -0
- package/corpus/core/docs/content/locales/es-ES/template-content.md +402 -0
- package/corpus/core/docs/content/locales/es-ES/template-design.md +173 -0
- package/corpus/core/docs/content/locales/es-ES/template-dispatch.md +220 -0
- package/corpus/core/docs/content/locales/es-ES/template-forms.md +178 -0
- package/corpus/core/docs/content/locales/es-ES/template-mail.md +239 -0
- package/corpus/core/docs/content/locales/es-ES/template-plan.md +815 -0
- package/corpus/core/docs/content/locales/es-ES/template-slides.md +293 -0
- package/corpus/core/docs/content/locales/es-ES/template-videos.md +222 -0
- package/corpus/core/docs/content/locales/es-ES/tracking.md +236 -0
- package/corpus/core/docs/content/locales/es-ES/using-your-agent.md +71 -0
- package/corpus/core/docs/content/locales/es-ES/voice-input.md +81 -0
- package/corpus/core/docs/content/locales/es-ES/what-is-agent-native.md +202 -0
- package/corpus/core/docs/content/locales/es-ES/workspace-connections.md +321 -0
- package/corpus/core/docs/content/locales/es-ES/workspace-management.md +175 -0
- package/corpus/core/docs/content/locales/es-ES/workspace.md +323 -0
- package/corpus/core/docs/content/locales/es-ES/writing-agent-instructions.md +173 -0
- package/corpus/core/docs/content/locales/fr-FR/a2a-protocol.md +392 -0
- package/corpus/core/docs/content/locales/fr-FR/actions.md +583 -0
- package/corpus/core/docs/content/locales/fr-FR/agent-mentions.md +164 -0
- package/corpus/core/docs/content/locales/fr-FR/agent-surfaces.md +397 -0
- package/corpus/core/docs/content/locales/fr-FR/agent-teams.md +171 -0
- package/corpus/core/docs/content/locales/fr-FR/agent-web-surfaces.md +161 -0
- package/corpus/core/docs/content/locales/fr-FR/audit-log.md +111 -0
- package/corpus/core/docs/content/locales/fr-FR/authentication.md +332 -0
- package/corpus/core/docs/content/locales/fr-FR/automations.md +268 -0
- package/corpus/core/docs/content/locales/fr-FR/blueprint-installer.md +83 -0
- package/corpus/core/docs/content/locales/fr-FR/cli-adapters.md +129 -0
- package/corpus/core/docs/content/locales/fr-FR/client.md +398 -0
- package/corpus/core/docs/content/locales/fr-FR/cloneable-saas.md +114 -0
- package/corpus/core/docs/content/locales/fr-FR/code-agents-ui.md +436 -0
- package/corpus/core/docs/content/locales/fr-FR/components.md +368 -0
- package/corpus/core/docs/content/locales/fr-FR/context-awareness.md +373 -0
- package/corpus/core/docs/content/locales/fr-FR/creating-templates.md +411 -0
- package/corpus/core/docs/content/locales/fr-FR/cross-app-sso.md +185 -0
- package/corpus/core/docs/content/locales/fr-FR/database.md +183 -0
- package/corpus/core/docs/content/locales/fr-FR/deployment.md +349 -0
- package/corpus/core/docs/content/locales/fr-FR/dispatch.md +146 -0
- package/corpus/core/docs/content/locales/fr-FR/drop-in-agent.md +260 -0
- package/corpus/core/docs/content/locales/fr-FR/durable-resume.md +65 -0
- package/corpus/core/docs/content/locales/fr-FR/embedding-sdk.md +597 -0
- package/corpus/core/docs/content/locales/fr-FR/evals.md +155 -0
- package/corpus/core/docs/content/locales/fr-FR/extensions.md +360 -0
- package/corpus/core/docs/content/locales/fr-FR/external-agents.md +619 -0
- package/corpus/core/docs/content/locales/fr-FR/faq.md +142 -0
- package/corpus/core/docs/content/locales/fr-FR/file-uploads.md +122 -0
- package/corpus/core/docs/content/locales/fr-FR/frames.md +153 -0
- package/corpus/core/docs/content/locales/fr-FR/getting-started.md +199 -0
- package/corpus/core/docs/content/locales/fr-FR/harness-agents.md +349 -0
- package/corpus/core/docs/content/locales/fr-FR/human-approval.md +86 -0
- package/corpus/core/docs/content/locales/fr-FR/internationalization.md +67 -24
- package/corpus/core/docs/content/locales/fr-FR/key-concepts.md +312 -0
- package/corpus/core/docs/content/locales/fr-FR/local-file-mode.md +433 -0
- package/corpus/core/docs/content/locales/fr-FR/mcp-apps.md +147 -0
- package/corpus/core/docs/content/locales/fr-FR/mcp-clients.md +330 -0
- package/corpus/core/docs/content/locales/fr-FR/mcp-protocol.md +279 -0
- package/corpus/core/docs/content/locales/fr-FR/messaging.md +461 -0
- package/corpus/core/docs/content/locales/fr-FR/migration-workbench.md +33 -0
- package/corpus/core/docs/content/locales/fr-FR/multi-app-workspace.md +312 -0
- package/corpus/core/docs/content/locales/fr-FR/multi-tenancy.md +52 -0
- package/corpus/core/docs/content/locales/fr-FR/native-chat-ui.md +321 -0
- package/corpus/core/docs/content/locales/fr-FR/notifications.md +231 -0
- package/corpus/core/docs/content/locales/fr-FR/observability.md +294 -0
- package/corpus/core/docs/content/locales/fr-FR/observational-memory.md +77 -0
- package/corpus/core/docs/content/locales/fr-FR/onboarding.md +216 -0
- package/corpus/core/docs/content/locales/fr-FR/plan-plugin.md +200 -0
- package/corpus/core/docs/content/locales/fr-FR/pr-visual-recap.md +384 -0
- package/corpus/core/docs/content/locales/fr-FR/processors.md +106 -0
- package/corpus/core/docs/content/locales/fr-FR/progress.md +199 -0
- package/corpus/core/docs/content/locales/fr-FR/pure-agent-apps.md +39 -0
- package/corpus/core/docs/content/locales/fr-FR/real-time-collaboration.md +676 -0
- package/corpus/core/docs/content/locales/fr-FR/recurring-jobs.md +142 -0
- package/corpus/core/docs/content/locales/fr-FR/routing.md +79 -0
- package/corpus/core/docs/content/locales/fr-FR/sandbox-adapters.md +227 -0
- package/corpus/core/docs/content/locales/fr-FR/security.md +330 -0
- package/corpus/core/docs/content/locales/fr-FR/server.md +253 -0
- package/corpus/core/docs/content/locales/fr-FR/sharing.md +219 -0
- package/corpus/core/docs/content/locales/fr-FR/skills-guide.md +281 -0
- package/corpus/core/docs/content/locales/fr-FR/template-analytics.md +259 -0
- package/corpus/core/docs/content/locales/fr-FR/template-assets.md +303 -0
- package/corpus/core/docs/content/locales/fr-FR/template-brain.md +324 -0
- package/corpus/core/docs/content/locales/fr-FR/template-calendar.md +194 -0
- package/corpus/core/docs/content/locales/fr-FR/template-chat.md +129 -0
- package/corpus/core/docs/content/locales/fr-FR/template-clips.md +368 -0
- package/corpus/core/docs/content/locales/fr-FR/template-content.md +402 -0
- package/corpus/core/docs/content/locales/fr-FR/template-design.md +173 -0
- package/corpus/core/docs/content/locales/fr-FR/template-dispatch.md +220 -0
- package/corpus/core/docs/content/locales/fr-FR/template-forms.md +178 -0
- package/corpus/core/docs/content/locales/fr-FR/template-mail.md +239 -0
- package/corpus/core/docs/content/locales/fr-FR/template-plan.md +815 -0
- package/corpus/core/docs/content/locales/fr-FR/template-slides.md +293 -0
- package/corpus/core/docs/content/locales/fr-FR/template-videos.md +222 -0
- package/corpus/core/docs/content/locales/fr-FR/tracking.md +236 -0
- package/corpus/core/docs/content/locales/fr-FR/using-your-agent.md +71 -0
- package/corpus/core/docs/content/locales/fr-FR/voice-input.md +81 -0
- package/corpus/core/docs/content/locales/fr-FR/what-is-agent-native.md +202 -0
- package/corpus/core/docs/content/locales/fr-FR/workspace-connections.md +321 -0
- package/corpus/core/docs/content/locales/fr-FR/workspace-management.md +175 -0
- package/corpus/core/docs/content/locales/fr-FR/workspace.md +323 -0
- package/corpus/core/docs/content/locales/fr-FR/writing-agent-instructions.md +173 -0
- package/corpus/core/docs/content/locales/hi-IN/a2a-protocol.md +392 -0
- package/corpus/core/docs/content/locales/hi-IN/actions.md +583 -0
- package/corpus/core/docs/content/locales/hi-IN/agent-mentions.md +164 -0
- package/corpus/core/docs/content/locales/hi-IN/agent-surfaces.md +397 -0
- package/corpus/core/docs/content/locales/hi-IN/agent-teams.md +171 -0
- package/corpus/core/docs/content/locales/hi-IN/agent-web-surfaces.md +161 -0
- package/corpus/core/docs/content/locales/hi-IN/audit-log.md +111 -0
- package/corpus/core/docs/content/locales/hi-IN/authentication.md +332 -0
- package/corpus/core/docs/content/locales/hi-IN/automations.md +268 -0
- package/corpus/core/docs/content/locales/hi-IN/blueprint-installer.md +83 -0
- package/corpus/core/docs/content/locales/hi-IN/cli-adapters.md +129 -0
- package/corpus/core/docs/content/locales/hi-IN/client.md +398 -0
- package/corpus/core/docs/content/locales/hi-IN/cloneable-saas.md +114 -0
- package/corpus/core/docs/content/locales/hi-IN/code-agents-ui.md +436 -0
- package/corpus/core/docs/content/locales/hi-IN/components.md +368 -0
- package/corpus/core/docs/content/locales/hi-IN/context-awareness.md +373 -0
- package/corpus/core/docs/content/locales/hi-IN/creating-templates.md +411 -0
- package/corpus/core/docs/content/locales/hi-IN/cross-app-sso.md +185 -0
- package/corpus/core/docs/content/locales/hi-IN/database.md +183 -0
- package/corpus/core/docs/content/locales/hi-IN/deployment.md +349 -0
- package/corpus/core/docs/content/locales/hi-IN/dispatch.md +146 -0
- package/corpus/core/docs/content/locales/hi-IN/drop-in-agent.md +260 -0
- package/corpus/core/docs/content/locales/hi-IN/durable-resume.md +65 -0
- package/corpus/core/docs/content/locales/hi-IN/embedding-sdk.md +597 -0
- package/corpus/core/docs/content/locales/hi-IN/evals.md +155 -0
- package/corpus/core/docs/content/locales/hi-IN/extensions.md +360 -0
- package/corpus/core/docs/content/locales/hi-IN/external-agents.md +619 -0
- package/corpus/core/docs/content/locales/hi-IN/faq.md +142 -0
- package/corpus/core/docs/content/locales/hi-IN/file-uploads.md +122 -0
- package/corpus/core/docs/content/locales/hi-IN/frames.md +153 -0
- package/corpus/core/docs/content/locales/hi-IN/getting-started.md +199 -0
- package/corpus/core/docs/content/locales/hi-IN/harness-agents.md +349 -0
- package/corpus/core/docs/content/locales/hi-IN/human-approval.md +86 -0
- package/corpus/core/docs/content/locales/hi-IN/internationalization.md +70 -27
- package/corpus/core/docs/content/locales/hi-IN/key-concepts.md +312 -0
- package/corpus/core/docs/content/locales/hi-IN/local-file-mode.md +433 -0
- package/corpus/core/docs/content/locales/hi-IN/mcp-apps.md +147 -0
- package/corpus/core/docs/content/locales/hi-IN/mcp-clients.md +330 -0
- package/corpus/core/docs/content/locales/hi-IN/mcp-protocol.md +279 -0
- package/corpus/core/docs/content/locales/hi-IN/messaging.md +461 -0
- package/corpus/core/docs/content/locales/hi-IN/migration-workbench.md +33 -0
- package/corpus/core/docs/content/locales/hi-IN/multi-app-workspace.md +312 -0
- package/corpus/core/docs/content/locales/hi-IN/multi-tenancy.md +52 -0
- package/corpus/core/docs/content/locales/hi-IN/native-chat-ui.md +321 -0
- package/corpus/core/docs/content/locales/hi-IN/notifications.md +231 -0
- package/corpus/core/docs/content/locales/hi-IN/observability.md +294 -0
- package/corpus/core/docs/content/locales/hi-IN/observational-memory.md +77 -0
- package/corpus/core/docs/content/locales/hi-IN/onboarding.md +216 -0
- package/corpus/core/docs/content/locales/hi-IN/plan-plugin.md +200 -0
- package/corpus/core/docs/content/locales/hi-IN/pr-visual-recap.md +384 -0
- package/corpus/core/docs/content/locales/hi-IN/processors.md +106 -0
- package/corpus/core/docs/content/locales/hi-IN/progress.md +199 -0
- package/corpus/core/docs/content/locales/hi-IN/pure-agent-apps.md +39 -0
- package/corpus/core/docs/content/locales/hi-IN/real-time-collaboration.md +676 -0
- package/corpus/core/docs/content/locales/hi-IN/recurring-jobs.md +142 -0
- package/corpus/core/docs/content/locales/hi-IN/routing.md +79 -0
- package/corpus/core/docs/content/locales/hi-IN/sandbox-adapters.md +227 -0
- package/corpus/core/docs/content/locales/hi-IN/security.md +330 -0
- package/corpus/core/docs/content/locales/hi-IN/server.md +253 -0
- package/corpus/core/docs/content/locales/hi-IN/sharing.md +219 -0
- package/corpus/core/docs/content/locales/hi-IN/skills-guide.md +281 -0
- package/corpus/core/docs/content/locales/hi-IN/template-analytics.md +259 -0
- package/corpus/core/docs/content/locales/hi-IN/template-assets.md +303 -0
- package/corpus/core/docs/content/locales/hi-IN/template-brain.md +324 -0
- package/corpus/core/docs/content/locales/hi-IN/template-calendar.md +194 -0
- package/corpus/core/docs/content/locales/hi-IN/template-chat.md +129 -0
- package/corpus/core/docs/content/locales/hi-IN/template-clips.md +368 -0
- package/corpus/core/docs/content/locales/hi-IN/template-content.md +402 -0
- package/corpus/core/docs/content/locales/hi-IN/template-design.md +173 -0
- package/corpus/core/docs/content/locales/hi-IN/template-dispatch.md +220 -0
- package/corpus/core/docs/content/locales/hi-IN/template-forms.md +178 -0
- package/corpus/core/docs/content/locales/hi-IN/template-mail.md +239 -0
- package/corpus/core/docs/content/locales/hi-IN/template-plan.md +815 -0
- package/corpus/core/docs/content/locales/hi-IN/template-slides.md +293 -0
- package/corpus/core/docs/content/locales/hi-IN/template-videos.md +222 -0
- package/corpus/core/docs/content/locales/hi-IN/tracking.md +236 -0
- package/corpus/core/docs/content/locales/hi-IN/using-your-agent.md +71 -0
- package/corpus/core/docs/content/locales/hi-IN/voice-input.md +81 -0
- package/corpus/core/docs/content/locales/hi-IN/what-is-agent-native.md +202 -0
- package/corpus/core/docs/content/locales/hi-IN/workspace-connections.md +321 -0
- package/corpus/core/docs/content/locales/hi-IN/workspace-management.md +175 -0
- package/corpus/core/docs/content/locales/hi-IN/workspace.md +323 -0
- package/corpus/core/docs/content/locales/hi-IN/writing-agent-instructions.md +173 -0
- package/corpus/core/docs/content/locales/ja-JP/a2a-protocol.md +392 -0
- package/corpus/core/docs/content/locales/ja-JP/actions.md +583 -0
- package/corpus/core/docs/content/locales/ja-JP/agent-mentions.md +164 -0
- package/corpus/core/docs/content/locales/ja-JP/agent-surfaces.md +397 -0
- package/corpus/core/docs/content/locales/ja-JP/agent-teams.md +171 -0
- package/corpus/core/docs/content/locales/ja-JP/agent-web-surfaces.md +161 -0
- package/corpus/core/docs/content/locales/ja-JP/audit-log.md +111 -0
- package/corpus/core/docs/content/locales/ja-JP/authentication.md +332 -0
- package/corpus/core/docs/content/locales/ja-JP/automations.md +268 -0
- package/corpus/core/docs/content/locales/ja-JP/blueprint-installer.md +83 -0
- package/corpus/core/docs/content/locales/ja-JP/cli-adapters.md +129 -0
- package/corpus/core/docs/content/locales/ja-JP/client.md +398 -0
- package/corpus/core/docs/content/locales/ja-JP/cloneable-saas.md +114 -0
- package/corpus/core/docs/content/locales/ja-JP/code-agents-ui.md +436 -0
- package/corpus/core/docs/content/locales/ja-JP/components.md +368 -0
- package/corpus/core/docs/content/locales/ja-JP/context-awareness.md +373 -0
- package/corpus/core/docs/content/locales/ja-JP/creating-templates.md +411 -0
- package/corpus/core/docs/content/locales/ja-JP/cross-app-sso.md +185 -0
- package/corpus/core/docs/content/locales/ja-JP/database.md +183 -0
- package/corpus/core/docs/content/locales/ja-JP/deployment.md +349 -0
- package/corpus/core/docs/content/locales/ja-JP/dispatch.md +146 -0
- package/corpus/core/docs/content/locales/ja-JP/drop-in-agent.md +260 -0
- package/corpus/core/docs/content/locales/ja-JP/durable-resume.md +65 -0
- package/corpus/core/docs/content/locales/ja-JP/embedding-sdk.md +597 -0
- package/corpus/core/docs/content/locales/ja-JP/evals.md +155 -0
- package/corpus/core/docs/content/locales/ja-JP/extensions.md +360 -0
- package/corpus/core/docs/content/locales/ja-JP/external-agents.md +619 -0
- package/corpus/core/docs/content/locales/ja-JP/faq.md +142 -0
- package/corpus/core/docs/content/locales/ja-JP/file-uploads.md +122 -0
- package/corpus/core/docs/content/locales/ja-JP/frames.md +153 -0
- package/corpus/core/docs/content/locales/ja-JP/getting-started.md +199 -0
- package/corpus/core/docs/content/locales/ja-JP/harness-agents.md +349 -0
- package/corpus/core/docs/content/locales/ja-JP/human-approval.md +86 -0
- package/corpus/core/docs/content/locales/ja-JP/internationalization.md +54 -23
- package/corpus/core/docs/content/locales/ja-JP/key-concepts.md +312 -0
- package/corpus/core/docs/content/locales/ja-JP/local-file-mode.md +433 -0
- package/corpus/core/docs/content/locales/ja-JP/mcp-apps.md +147 -0
- package/corpus/core/docs/content/locales/ja-JP/mcp-clients.md +330 -0
- package/corpus/core/docs/content/locales/ja-JP/mcp-protocol.md +279 -0
- package/corpus/core/docs/content/locales/ja-JP/messaging.md +461 -0
- package/corpus/core/docs/content/locales/ja-JP/migration-workbench.md +33 -0
- package/corpus/core/docs/content/locales/ja-JP/multi-app-workspace.md +312 -0
- package/corpus/core/docs/content/locales/ja-JP/multi-tenancy.md +52 -0
- package/corpus/core/docs/content/locales/ja-JP/native-chat-ui.md +321 -0
- package/corpus/core/docs/content/locales/ja-JP/notifications.md +231 -0
- package/corpus/core/docs/content/locales/ja-JP/observability.md +294 -0
- package/corpus/core/docs/content/locales/ja-JP/observational-memory.md +77 -0
- package/corpus/core/docs/content/locales/ja-JP/onboarding.md +216 -0
- package/corpus/core/docs/content/locales/ja-JP/plan-plugin.md +200 -0
- package/corpus/core/docs/content/locales/ja-JP/pr-visual-recap.md +384 -0
- package/corpus/core/docs/content/locales/ja-JP/processors.md +106 -0
- package/corpus/core/docs/content/locales/ja-JP/progress.md +199 -0
- package/corpus/core/docs/content/locales/ja-JP/pure-agent-apps.md +39 -0
- package/corpus/core/docs/content/locales/ja-JP/real-time-collaboration.md +676 -0
- package/corpus/core/docs/content/locales/ja-JP/recurring-jobs.md +142 -0
- package/corpus/core/docs/content/locales/ja-JP/routing.md +79 -0
- package/corpus/core/docs/content/locales/ja-JP/sandbox-adapters.md +227 -0
- package/corpus/core/docs/content/locales/ja-JP/security.md +330 -0
- package/corpus/core/docs/content/locales/ja-JP/server.md +253 -0
- package/corpus/core/docs/content/locales/ja-JP/sharing.md +219 -0
- package/corpus/core/docs/content/locales/ja-JP/skills-guide.md +281 -0
- package/corpus/core/docs/content/locales/ja-JP/template-analytics.md +259 -0
- package/corpus/core/docs/content/locales/ja-JP/template-assets.md +303 -0
- package/corpus/core/docs/content/locales/ja-JP/template-brain.md +324 -0
- package/corpus/core/docs/content/locales/ja-JP/template-calendar.md +194 -0
- package/corpus/core/docs/content/locales/ja-JP/template-chat.md +129 -0
- package/corpus/core/docs/content/locales/ja-JP/template-clips.md +368 -0
- package/corpus/core/docs/content/locales/ja-JP/template-content.md +402 -0
- package/corpus/core/docs/content/locales/ja-JP/template-design.md +173 -0
- package/corpus/core/docs/content/locales/ja-JP/template-dispatch.md +220 -0
- package/corpus/core/docs/content/locales/ja-JP/template-forms.md +178 -0
- package/corpus/core/docs/content/locales/ja-JP/template-mail.md +239 -0
- package/corpus/core/docs/content/locales/ja-JP/template-plan.md +814 -0
- package/corpus/core/docs/content/locales/ja-JP/template-slides.md +293 -0
- package/corpus/core/docs/content/locales/ja-JP/template-videos.md +222 -0
- package/corpus/core/docs/content/locales/ja-JP/tracking.md +236 -0
- package/corpus/core/docs/content/locales/ja-JP/using-your-agent.md +71 -0
- package/corpus/core/docs/content/locales/ja-JP/voice-input.md +81 -0
- package/corpus/core/docs/content/locales/ja-JP/what-is-agent-native.md +202 -0
- package/corpus/core/docs/content/locales/ja-JP/workspace-connections.md +321 -0
- package/corpus/core/docs/content/locales/ja-JP/workspace-management.md +175 -0
- package/corpus/core/docs/content/locales/ja-JP/workspace.md +323 -0
- package/corpus/core/docs/content/locales/ja-JP/writing-agent-instructions.md +173 -0
- package/corpus/core/docs/content/locales/ko-KR/a2a-protocol.md +392 -0
- package/corpus/core/docs/content/locales/ko-KR/actions.md +583 -0
- package/corpus/core/docs/content/locales/ko-KR/agent-mentions.md +164 -0
- package/corpus/core/docs/content/locales/ko-KR/agent-surfaces.md +397 -0
- package/corpus/core/docs/content/locales/ko-KR/agent-teams.md +171 -0
- package/corpus/core/docs/content/locales/ko-KR/agent-web-surfaces.md +161 -0
- package/corpus/core/docs/content/locales/ko-KR/audit-log.md +111 -0
- package/corpus/core/docs/content/locales/ko-KR/authentication.md +332 -0
- package/corpus/core/docs/content/locales/ko-KR/automations.md +268 -0
- package/corpus/core/docs/content/locales/ko-KR/blueprint-installer.md +83 -0
- package/corpus/core/docs/content/locales/ko-KR/cli-adapters.md +129 -0
- package/corpus/core/docs/content/locales/ko-KR/client.md +398 -0
- package/corpus/core/docs/content/locales/ko-KR/cloneable-saas.md +114 -0
- package/corpus/core/docs/content/locales/ko-KR/code-agents-ui.md +436 -0
- package/corpus/core/docs/content/locales/ko-KR/components.md +368 -0
- package/corpus/core/docs/content/locales/ko-KR/context-awareness.md +373 -0
- package/corpus/core/docs/content/locales/ko-KR/creating-templates.md +411 -0
- package/corpus/core/docs/content/locales/ko-KR/cross-app-sso.md +187 -0
- package/corpus/core/docs/content/locales/ko-KR/database.md +183 -0
- package/corpus/core/docs/content/locales/ko-KR/deployment.md +349 -0
- package/corpus/core/docs/content/locales/ko-KR/dispatch.md +146 -0
- package/corpus/core/docs/content/locales/ko-KR/drop-in-agent.md +260 -0
- package/corpus/core/docs/content/locales/ko-KR/durable-resume.md +65 -0
- package/corpus/core/docs/content/locales/ko-KR/embedding-sdk.md +597 -0
- package/corpus/core/docs/content/locales/ko-KR/evals.md +155 -0
- package/corpus/core/docs/content/locales/ko-KR/extensions.md +360 -0
- package/corpus/core/docs/content/locales/ko-KR/external-agents.md +621 -0
- package/corpus/core/docs/content/locales/ko-KR/faq.md +142 -0
- package/corpus/core/docs/content/locales/ko-KR/file-uploads.md +122 -0
- package/corpus/core/docs/content/locales/ko-KR/frames.md +153 -0
- package/corpus/core/docs/content/locales/ko-KR/getting-started.md +199 -0
- package/corpus/core/docs/content/locales/ko-KR/harness-agents.md +349 -0
- package/corpus/core/docs/content/locales/ko-KR/human-approval.md +88 -0
- package/corpus/core/docs/content/locales/ko-KR/internationalization.md +66 -23
- package/corpus/core/docs/content/locales/ko-KR/key-concepts.md +312 -0
- package/corpus/core/docs/content/locales/ko-KR/local-file-mode.md +433 -0
- package/corpus/core/docs/content/locales/ko-KR/mcp-apps.md +147 -0
- package/corpus/core/docs/content/locales/ko-KR/mcp-clients.md +330 -0
- package/corpus/core/docs/content/locales/ko-KR/mcp-protocol.md +279 -0
- package/corpus/core/docs/content/locales/ko-KR/messaging.md +464 -0
- package/corpus/core/docs/content/locales/ko-KR/migration-workbench.md +33 -0
- package/corpus/core/docs/content/locales/ko-KR/multi-app-workspace.md +312 -0
- package/corpus/core/docs/content/locales/ko-KR/multi-tenancy.md +52 -0
- package/corpus/core/docs/content/locales/ko-KR/native-chat-ui.md +321 -0
- package/corpus/core/docs/content/locales/ko-KR/notifications.md +231 -0
- package/corpus/core/docs/content/locales/ko-KR/observability.md +294 -0
- package/corpus/core/docs/content/locales/ko-KR/observational-memory.md +77 -0
- package/corpus/core/docs/content/locales/ko-KR/onboarding.md +216 -0
- package/corpus/core/docs/content/locales/ko-KR/plan-plugin.md +200 -0
- package/corpus/core/docs/content/locales/ko-KR/pr-visual-recap.md +384 -0
- package/corpus/core/docs/content/locales/ko-KR/processors.md +106 -0
- package/corpus/core/docs/content/locales/ko-KR/progress.md +199 -0
- package/corpus/core/docs/content/locales/ko-KR/pure-agent-apps.md +39 -0
- package/corpus/core/docs/content/locales/ko-KR/real-time-collaboration.md +676 -0
- package/corpus/core/docs/content/locales/ko-KR/recurring-jobs.md +142 -0
- package/corpus/core/docs/content/locales/ko-KR/routing.md +79 -0
- package/corpus/core/docs/content/locales/ko-KR/sandbox-adapters.md +227 -0
- package/corpus/core/docs/content/locales/ko-KR/security.md +330 -0
- package/corpus/core/docs/content/locales/ko-KR/server.md +253 -0
- package/corpus/core/docs/content/locales/ko-KR/sharing.md +219 -0
- package/corpus/core/docs/content/locales/ko-KR/skills-guide.md +281 -0
- package/corpus/core/docs/content/locales/ko-KR/template-analytics.md +259 -0
- package/corpus/core/docs/content/locales/ko-KR/template-assets.md +307 -0
- package/corpus/core/docs/content/locales/ko-KR/template-brain.md +324 -0
- package/corpus/core/docs/content/locales/ko-KR/template-calendar.md +194 -0
- package/corpus/core/docs/content/locales/ko-KR/template-chat.md +129 -0
- package/corpus/core/docs/content/locales/ko-KR/template-clips.md +372 -0
- package/corpus/core/docs/content/locales/ko-KR/template-content.md +402 -0
- package/corpus/core/docs/content/locales/ko-KR/template-design.md +173 -0
- package/corpus/core/docs/content/locales/ko-KR/template-dispatch.md +220 -0
- package/corpus/core/docs/content/locales/ko-KR/template-forms.md +178 -0
- package/corpus/core/docs/content/locales/ko-KR/template-mail.md +239 -0
- package/corpus/core/docs/content/locales/ko-KR/template-plan.md +815 -0
- package/corpus/core/docs/content/locales/ko-KR/template-slides.md +293 -0
- package/corpus/core/docs/content/locales/ko-KR/template-videos.md +222 -0
- package/corpus/core/docs/content/locales/ko-KR/tracking.md +236 -0
- package/corpus/core/docs/content/locales/ko-KR/using-your-agent.md +71 -0
- package/corpus/core/docs/content/locales/ko-KR/voice-input.md +81 -0
- package/corpus/core/docs/content/locales/ko-KR/what-is-agent-native.md +202 -0
- package/corpus/core/docs/content/locales/ko-KR/workspace-connections.md +321 -0
- package/corpus/core/docs/content/locales/ko-KR/workspace-management.md +175 -0
- package/corpus/core/docs/content/locales/ko-KR/workspace.md +323 -0
- package/corpus/core/docs/content/locales/ko-KR/writing-agent-instructions.md +173 -0
- package/corpus/core/docs/content/locales/pt-BR/a2a-protocol.md +392 -0
- package/corpus/core/docs/content/locales/pt-BR/actions.md +583 -0
- package/corpus/core/docs/content/locales/pt-BR/agent-mentions.md +164 -0
- package/corpus/core/docs/content/locales/pt-BR/agent-surfaces.md +397 -0
- package/corpus/core/docs/content/locales/pt-BR/agent-teams.md +171 -0
- package/corpus/core/docs/content/locales/pt-BR/agent-web-surfaces.md +161 -0
- package/corpus/core/docs/content/locales/pt-BR/audit-log.md +111 -0
- package/corpus/core/docs/content/locales/pt-BR/authentication.md +332 -0
- package/corpus/core/docs/content/locales/pt-BR/automations.md +268 -0
- package/corpus/core/docs/content/locales/pt-BR/blueprint-installer.md +83 -0
- package/corpus/core/docs/content/locales/pt-BR/cli-adapters.md +129 -0
- package/corpus/core/docs/content/locales/pt-BR/client.md +398 -0
- package/corpus/core/docs/content/locales/pt-BR/cloneable-saas.md +114 -0
- package/corpus/core/docs/content/locales/pt-BR/code-agents-ui.md +436 -0
- package/corpus/core/docs/content/locales/pt-BR/components.md +368 -0
- package/corpus/core/docs/content/locales/pt-BR/context-awareness.md +373 -0
- package/corpus/core/docs/content/locales/pt-BR/creating-templates.md +411 -0
- package/corpus/core/docs/content/locales/pt-BR/cross-app-sso.md +185 -0
- package/corpus/core/docs/content/locales/pt-BR/database.md +183 -0
- package/corpus/core/docs/content/locales/pt-BR/deployment.md +349 -0
- package/corpus/core/docs/content/locales/pt-BR/dispatch.md +146 -0
- package/corpus/core/docs/content/locales/pt-BR/drop-in-agent.md +260 -0
- package/corpus/core/docs/content/locales/pt-BR/durable-resume.md +65 -0
- package/corpus/core/docs/content/locales/pt-BR/embedding-sdk.md +597 -0
- package/corpus/core/docs/content/locales/pt-BR/evals.md +155 -0
- package/corpus/core/docs/content/locales/pt-BR/extensions.md +360 -0
- package/corpus/core/docs/content/locales/pt-BR/external-agents.md +619 -0
- package/corpus/core/docs/content/locales/pt-BR/faq.md +142 -0
- package/corpus/core/docs/content/locales/pt-BR/file-uploads.md +122 -0
- package/corpus/core/docs/content/locales/pt-BR/frames.md +153 -0
- package/corpus/core/docs/content/locales/pt-BR/getting-started.md +199 -0
- package/corpus/core/docs/content/locales/pt-BR/harness-agents.md +349 -0
- package/corpus/core/docs/content/locales/pt-BR/human-approval.md +86 -0
- package/corpus/core/docs/content/locales/pt-BR/internationalization.md +67 -24
- package/corpus/core/docs/content/locales/pt-BR/key-concepts.md +312 -0
- package/corpus/core/docs/content/locales/pt-BR/local-file-mode.md +433 -0
- package/corpus/core/docs/content/locales/pt-BR/mcp-apps.md +147 -0
- package/corpus/core/docs/content/locales/pt-BR/mcp-clients.md +330 -0
- package/corpus/core/docs/content/locales/pt-BR/mcp-protocol.md +279 -0
- package/corpus/core/docs/content/locales/pt-BR/messaging.md +461 -0
- package/corpus/core/docs/content/locales/pt-BR/migration-workbench.md +33 -0
- package/corpus/core/docs/content/locales/pt-BR/multi-app-workspace.md +312 -0
- package/corpus/core/docs/content/locales/pt-BR/multi-tenancy.md +52 -0
- package/corpus/core/docs/content/locales/pt-BR/native-chat-ui.md +321 -0
- package/corpus/core/docs/content/locales/pt-BR/notifications.md +231 -0
- package/corpus/core/docs/content/locales/pt-BR/observability.md +294 -0
- package/corpus/core/docs/content/locales/pt-BR/observational-memory.md +77 -0
- package/corpus/core/docs/content/locales/pt-BR/onboarding.md +216 -0
- package/corpus/core/docs/content/locales/pt-BR/plan-plugin.md +200 -0
- package/corpus/core/docs/content/locales/pt-BR/pr-visual-recap.md +384 -0
- package/corpus/core/docs/content/locales/pt-BR/processors.md +106 -0
- package/corpus/core/docs/content/locales/pt-BR/progress.md +199 -0
- package/corpus/core/docs/content/locales/pt-BR/pure-agent-apps.md +39 -0
- package/corpus/core/docs/content/locales/pt-BR/real-time-collaboration.md +676 -0
- package/corpus/core/docs/content/locales/pt-BR/recurring-jobs.md +142 -0
- package/corpus/core/docs/content/locales/pt-BR/routing.md +79 -0
- package/corpus/core/docs/content/locales/pt-BR/sandbox-adapters.md +227 -0
- package/corpus/core/docs/content/locales/pt-BR/security.md +330 -0
- package/corpus/core/docs/content/locales/pt-BR/server.md +253 -0
- package/corpus/core/docs/content/locales/pt-BR/sharing.md +219 -0
- package/corpus/core/docs/content/locales/pt-BR/skills-guide.md +281 -0
- package/corpus/core/docs/content/locales/pt-BR/template-analytics.md +259 -0
- package/corpus/core/docs/content/locales/pt-BR/template-assets.md +303 -0
- package/corpus/core/docs/content/locales/pt-BR/template-brain.md +324 -0
- package/corpus/core/docs/content/locales/pt-BR/template-calendar.md +194 -0
- package/corpus/core/docs/content/locales/pt-BR/template-chat.md +129 -0
- package/corpus/core/docs/content/locales/pt-BR/template-clips.md +368 -0
- package/corpus/core/docs/content/locales/pt-BR/template-content.md +402 -0
- package/corpus/core/docs/content/locales/pt-BR/template-design.md +173 -0
- package/corpus/core/docs/content/locales/pt-BR/template-dispatch.md +220 -0
- package/corpus/core/docs/content/locales/pt-BR/template-forms.md +178 -0
- package/corpus/core/docs/content/locales/pt-BR/template-mail.md +239 -0
- package/corpus/core/docs/content/locales/pt-BR/template-plan.md +815 -0
- package/corpus/core/docs/content/locales/pt-BR/template-slides.md +293 -0
- package/corpus/core/docs/content/locales/pt-BR/template-videos.md +222 -0
- package/corpus/core/docs/content/locales/pt-BR/tracking.md +236 -0
- package/corpus/core/docs/content/locales/pt-BR/using-your-agent.md +71 -0
- package/corpus/core/docs/content/locales/pt-BR/voice-input.md +81 -0
- package/corpus/core/docs/content/locales/pt-BR/what-is-agent-native.md +202 -0
- package/corpus/core/docs/content/locales/pt-BR/workspace-connections.md +321 -0
- package/corpus/core/docs/content/locales/pt-BR/workspace-management.md +175 -0
- package/corpus/core/docs/content/locales/pt-BR/workspace.md +323 -0
- package/corpus/core/docs/content/locales/pt-BR/writing-agent-instructions.md +173 -0
- package/corpus/core/docs/content/locales/zh-CN/a2a-protocol.md +392 -0
- package/corpus/core/docs/content/locales/zh-CN/actions.md +583 -0
- package/corpus/core/docs/content/locales/zh-CN/agent-mentions.md +164 -0
- package/corpus/core/docs/content/locales/zh-CN/agent-surfaces.md +397 -0
- package/corpus/core/docs/content/locales/zh-CN/agent-teams.md +171 -0
- package/corpus/core/docs/content/locales/zh-CN/agent-web-surfaces.md +161 -0
- package/corpus/core/docs/content/locales/zh-CN/audit-log.md +111 -0
- package/corpus/core/docs/content/locales/zh-CN/authentication.md +332 -0
- package/corpus/core/docs/content/locales/zh-CN/automations.md +268 -0
- package/corpus/core/docs/content/locales/zh-CN/blueprint-installer.md +83 -0
- package/corpus/core/docs/content/locales/zh-CN/cli-adapters.md +129 -0
- package/corpus/core/docs/content/locales/zh-CN/client.md +398 -0
- package/corpus/core/docs/content/locales/zh-CN/cloneable-saas.md +114 -0
- package/corpus/core/docs/content/locales/zh-CN/code-agents-ui.md +436 -0
- package/corpus/core/docs/content/locales/zh-CN/components.md +368 -0
- package/corpus/core/docs/content/locales/zh-CN/context-awareness.md +373 -0
- package/corpus/core/docs/content/locales/zh-CN/creating-templates.md +411 -0
- package/corpus/core/docs/content/locales/zh-CN/cross-app-sso.md +188 -0
- package/corpus/core/docs/content/locales/zh-CN/database.md +183 -0
- package/corpus/core/docs/content/locales/zh-CN/deployment.md +349 -0
- package/corpus/core/docs/content/locales/zh-CN/dispatch.md +146 -0
- package/corpus/core/docs/content/locales/zh-CN/drop-in-agent.md +260 -0
- package/corpus/core/docs/content/locales/zh-CN/durable-resume.md +65 -0
- package/corpus/core/docs/content/locales/zh-CN/embedding-sdk.md +597 -0
- package/corpus/core/docs/content/locales/zh-CN/evals.md +155 -0
- package/corpus/core/docs/content/locales/zh-CN/extensions.md +360 -0
- package/corpus/core/docs/content/locales/zh-CN/external-agents.md +619 -0
- package/corpus/core/docs/content/locales/zh-CN/faq.md +142 -0
- package/corpus/core/docs/content/locales/zh-CN/file-uploads.md +122 -0
- package/corpus/core/docs/content/locales/zh-CN/frames.md +153 -0
- package/corpus/core/docs/content/locales/zh-CN/getting-started.md +199 -0
- package/corpus/core/docs/content/locales/zh-CN/harness-agents.md +349 -0
- package/corpus/core/docs/content/locales/zh-CN/human-approval.md +86 -0
- package/corpus/core/docs/content/locales/zh-CN/internationalization.md +67 -24
- package/corpus/core/docs/content/locales/zh-CN/key-concepts.md +312 -0
- package/corpus/core/docs/content/locales/zh-CN/local-file-mode.md +433 -0
- package/corpus/core/docs/content/locales/zh-CN/mcp-apps.md +147 -0
- package/corpus/core/docs/content/locales/zh-CN/mcp-clients.md +330 -0
- package/corpus/core/docs/content/locales/zh-CN/mcp-protocol.md +279 -0
- package/corpus/core/docs/content/locales/zh-CN/messaging.md +461 -0
- package/corpus/core/docs/content/locales/zh-CN/migration-workbench.md +33 -0
- package/corpus/core/docs/content/locales/zh-CN/multi-app-workspace.md +312 -0
- package/corpus/core/docs/content/locales/zh-CN/multi-tenancy.md +52 -0
- package/corpus/core/docs/content/locales/zh-CN/native-chat-ui.md +321 -0
- package/corpus/core/docs/content/locales/zh-CN/notifications.md +231 -0
- package/corpus/core/docs/content/locales/zh-CN/observability.md +294 -0
- package/corpus/core/docs/content/locales/zh-CN/observational-memory.md +77 -0
- package/corpus/core/docs/content/locales/zh-CN/onboarding.md +216 -0
- package/corpus/core/docs/content/locales/zh-CN/plan-plugin.md +200 -0
- package/corpus/core/docs/content/locales/zh-CN/pr-visual-recap.md +384 -0
- package/corpus/core/docs/content/locales/zh-CN/processors.md +106 -0
- package/corpus/core/docs/content/locales/zh-CN/progress.md +199 -0
- package/corpus/core/docs/content/locales/zh-CN/pure-agent-apps.md +39 -0
- package/corpus/core/docs/content/locales/zh-CN/real-time-collaboration.md +676 -0
- package/corpus/core/docs/content/locales/zh-CN/recurring-jobs.md +142 -0
- package/corpus/core/docs/content/locales/zh-CN/routing.md +79 -0
- package/corpus/core/docs/content/locales/zh-CN/sandbox-adapters.md +227 -0
- package/corpus/core/docs/content/locales/zh-CN/security.md +330 -0
- package/corpus/core/docs/content/locales/zh-CN/server.md +253 -0
- package/corpus/core/docs/content/locales/zh-CN/sharing.md +219 -0
- package/corpus/core/docs/content/locales/zh-CN/skills-guide.md +281 -0
- package/corpus/core/docs/content/locales/zh-CN/template-analytics.md +259 -0
- package/corpus/core/docs/content/locales/zh-CN/template-assets.md +303 -0
- package/corpus/core/docs/content/locales/zh-CN/template-brain.md +324 -0
- package/corpus/core/docs/content/locales/zh-CN/template-calendar.md +194 -0
- package/corpus/core/docs/content/locales/zh-CN/template-chat.md +129 -0
- package/corpus/core/docs/content/locales/zh-CN/template-clips.md +368 -0
- package/corpus/core/docs/content/locales/zh-CN/template-content.md +402 -0
- package/corpus/core/docs/content/locales/zh-CN/template-design.md +173 -0
- package/corpus/core/docs/content/locales/zh-CN/template-dispatch.md +220 -0
- package/corpus/core/docs/content/locales/zh-CN/template-forms.md +178 -0
- package/corpus/core/docs/content/locales/zh-CN/template-mail.md +239 -0
- package/corpus/core/docs/content/locales/zh-CN/template-plan.md +814 -0
- package/corpus/core/docs/content/locales/zh-CN/template-slides.md +293 -0
- package/corpus/core/docs/content/locales/zh-CN/template-videos.md +222 -0
- package/corpus/core/docs/content/locales/zh-CN/tracking.md +236 -0
- package/corpus/core/docs/content/locales/zh-CN/using-your-agent.md +71 -0
- package/corpus/core/docs/content/locales/zh-CN/voice-input.md +81 -0
- package/corpus/core/docs/content/locales/zh-CN/what-is-agent-native.md +202 -0
- package/corpus/core/docs/content/locales/zh-CN/workspace-connections.md +321 -0
- package/corpus/core/docs/content/locales/zh-CN/workspace-management.md +175 -0
- package/corpus/core/docs/content/locales/zh-CN/workspace.md +323 -0
- package/corpus/core/docs/content/locales/zh-CN/writing-agent-instructions.md +173 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/agent/run-store.ts +13 -0
- package/corpus/core/src/client/components/CodeRequiredDialog.tsx +37 -23
- package/corpus/core/src/client/extensions/EmbeddedExtension.tsx +13 -9
- package/corpus/core/src/client/extensions/ExtensionEditor.tsx +43 -33
- package/corpus/core/src/client/extensions/ExtensionSlot.tsx +16 -12
- package/corpus/core/src/client/extensions/ExtensionsListPage.tsx +52 -37
- package/corpus/core/src/client/i18n.tsx +87 -2
- package/corpus/core/src/client/integrations/IntegrationCard.tsx +13 -8
- package/corpus/core/src/client/integrations/IntegrationsPanel.tsx +34 -30
- package/corpus/core/src/client/observability/ObservabilityDashboard.tsx +90 -65
- package/corpus/core/src/client/org/RequireActiveOrg.tsx +24 -18
- package/corpus/core/src/client/org/TeamPage.tsx +37 -26
- package/corpus/core/src/client/progress/RunsTray.tsx +67 -33
- package/corpus/core/src/extensions/routes.ts +45 -25
- package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +356 -0
- package/corpus/core/src/templates/default/app/i18n/de-DE.ts +332 -0
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +303 -0
- package/corpus/core/src/templates/default/app/i18n/es-ES.ts +339 -0
- package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +339 -0
- package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +332 -0
- package/corpus/core/src/templates/default/app/i18n/index.ts +18 -0
- package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +326 -0
- package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +326 -0
- package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +339 -0
- package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +324 -0
- package/corpus/core/src/templates/default/app/root.tsx +109 -6
- package/corpus/core/src/templates/workspace-core/.agents/skills/extensions/references/api.md +34 -12
- package/corpus/templates/analytics/app/components/layout/NewAnalysisDialog.tsx +16 -10
- package/corpus/templates/analytics/app/components/layout/NewDashboardDialog.tsx +9 -4
- package/corpus/templates/analytics/app/i18n-data.ts +16 -0
- package/corpus/templates/assets/app/i18n-data.ts +101 -0
- package/corpus/templates/assets/app/routes/asset.$id.tsx +60 -36
- package/corpus/templates/assets/app/routes/brand-kits._index.tsx +19 -16
- package/corpus/templates/assets/app/routes/settings.tsx +58 -37
- package/corpus/templates/brain/app/i18n-data.ts +114 -0
- package/corpus/templates/brain/app/routes/_index.tsx +7 -4
- package/corpus/templates/brain/app/routes/ops.tsx +88 -60
- package/corpus/templates/brain/app/routes/search.tsx +97 -56
- package/corpus/templates/calendar/app/components/calendar/DeleteEventDialog.tsx +33 -21
- package/corpus/templates/calendar/app/components/calendar/EventDialog.tsx +25 -30
- package/corpus/templates/calendar/app/i18n/index.ts +3 -24
- package/corpus/templates/calendar/app/i18n-data.ts +61 -0
- package/corpus/templates/calendar/app/pages/Settings.tsx +23 -23
- package/corpus/templates/chat/app/i18n-data.ts +78 -0
- package/corpus/templates/chat/app/routes/database.tsx +3 -1
- package/corpus/templates/chat/app/routes/observability.tsx +3 -2
- package/corpus/templates/chat/app/routes/team.tsx +4 -2
- package/corpus/templates/clips/app/i18n/ar-SA.ts +17 -0
- package/corpus/templates/clips/app/i18n/de-DE.ts +17 -0
- package/corpus/templates/clips/app/i18n/en-US.ts +17 -0
- package/corpus/templates/clips/app/i18n/es-ES.ts +17 -0
- package/corpus/templates/clips/app/i18n/fr-FR.ts +17 -0
- package/corpus/templates/clips/app/i18n/hi-IN.ts +17 -0
- package/corpus/templates/clips/app/i18n/ja-JP.ts +17 -0
- package/corpus/templates/clips/app/i18n/ko-KR.ts +17 -0
- package/corpus/templates/clips/app/i18n/pt-BR.ts +17 -0
- package/corpus/templates/clips/app/i18n/zh-CN.ts +15 -0
- package/corpus/templates/clips/app/routes/_app.trash.tsx +33 -20
- package/corpus/templates/content/app/i18n-data.ts +100 -0
- package/corpus/templates/content/app/routes/_app.team.tsx +7 -6
- package/corpus/templates/design/app/i18n-data.ts +58 -0
- package/corpus/templates/design/app/pages/Present.tsx +4 -3
- package/corpus/templates/design/app/routes/team.tsx +3 -1
- package/corpus/templates/forms/app/i18n/ar-SA.ts +88 -0
- package/corpus/templates/forms/app/i18n/de-DE.ts +88 -0
- package/corpus/templates/forms/app/i18n/en-US.ts +88 -0
- package/corpus/templates/forms/app/i18n/es-ES.ts +90 -0
- package/corpus/templates/forms/app/i18n/fr-FR.ts +88 -0
- package/corpus/templates/forms/app/i18n/hi-IN.ts +88 -0
- package/corpus/templates/forms/app/i18n/ja-JP.ts +88 -0
- package/corpus/templates/forms/app/i18n/ko-KR.ts +88 -0
- package/corpus/templates/forms/app/i18n/pt-BR.ts +88 -0
- package/corpus/templates/forms/app/i18n/zh-CN.ts +88 -0
- package/corpus/templates/forms/app/pages/FormsListPage.tsx +92 -63
- package/corpus/templates/forms/app/pages/ResponsesPage.tsx +37 -20
- package/corpus/templates/forms/app/routes/_index.tsx +15 -14
- package/corpus/templates/macros/app/i18n/ar-SA.ts +22 -0
- package/corpus/templates/macros/app/i18n/de-DE.ts +22 -0
- package/corpus/templates/macros/app/i18n/en-US.ts +22 -0
- package/corpus/templates/macros/app/i18n/es-ES.ts +22 -0
- package/corpus/templates/macros/app/i18n/fr-FR.ts +22 -0
- package/corpus/templates/macros/app/i18n/hi-IN.ts +22 -0
- package/corpus/templates/macros/app/i18n/ja-JP.ts +22 -0
- package/corpus/templates/macros/app/i18n/ko-KR.ts +22 -0
- package/corpus/templates/macros/app/i18n/pt-BR.ts +22 -0
- package/corpus/templates/macros/app/i18n/zh-CN.ts +22 -0
- package/corpus/templates/macros/app/routes/analytics.tsx +54 -27
- package/corpus/templates/mail/app/components/layout/CommandPalette.tsx +34 -26
- package/corpus/templates/mail/app/i18n/ar-SA.ts +30 -0
- package/corpus/templates/mail/app/i18n/de-DE.ts +30 -0
- package/corpus/templates/mail/app/i18n/en-US.ts +30 -0
- package/corpus/templates/mail/app/i18n/es-ES.ts +30 -0
- package/corpus/templates/mail/app/i18n/fr-FR.ts +30 -0
- package/corpus/templates/mail/app/i18n/hi-IN.ts +30 -0
- package/corpus/templates/mail/app/i18n/ja-JP.ts +30 -0
- package/corpus/templates/mail/app/i18n/ko-KR.ts +30 -0
- package/corpus/templates/mail/app/i18n/pt-BR.ts +30 -0
- package/corpus/templates/mail/app/i18n/zh-CN.ts +30 -0
- package/corpus/templates/mail/app/pages/NotFound.tsx +6 -2
- package/corpus/templates/plan/app/components/plan/GuestModeBanner.tsx +4 -3
- package/corpus/templates/plan/app/i18n/ar-SA.ts +17 -0
- package/corpus/templates/plan/app/i18n/de-DE.ts +17 -0
- package/corpus/templates/plan/app/i18n/en-US.ts +17 -0
- package/corpus/templates/plan/app/i18n/es-ES.ts +17 -0
- package/corpus/templates/plan/app/i18n/fr-FR.ts +17 -0
- package/corpus/templates/plan/app/i18n/hi-IN.ts +17 -0
- package/corpus/templates/plan/app/i18n/ja-JP.ts +17 -0
- package/corpus/templates/plan/app/i18n/ko-KR.ts +17 -0
- package/corpus/templates/plan/app/i18n/pt-BR.ts +17 -0
- package/corpus/templates/plan/app/i18n/zh-CN.ts +17 -0
- package/corpus/templates/plan/app/pages/PlanChatPage.tsx +12 -13
- package/corpus/templates/slides/app/i18n/ar-SA.ts +11 -0
- package/corpus/templates/slides/app/i18n/de-DE.ts +11 -0
- package/corpus/templates/slides/app/i18n/en-US.ts +11 -0
- package/corpus/templates/slides/app/i18n/es-ES.ts +11 -0
- package/corpus/templates/slides/app/i18n/fr-FR.ts +11 -0
- package/corpus/templates/slides/app/i18n/hi-IN.ts +11 -0
- package/corpus/templates/slides/app/i18n/ja-JP.ts +11 -0
- package/corpus/templates/slides/app/i18n/ko-KR.ts +11 -0
- package/corpus/templates/slides/app/i18n/pt-BR.ts +11 -0
- package/corpus/templates/slides/app/i18n/zh-CN.ts +11 -0
- package/corpus/templates/slides/app/pages/DesignSystems.tsx +10 -9
- package/corpus/templates/slides/app/pages/NotFound.tsx +4 -2
- package/corpus/templates/videos/app/i18n/ar-SA.ts +14 -0
- package/corpus/templates/videos/app/i18n/de-DE.ts +14 -0
- package/corpus/templates/videos/app/i18n/en-US.ts +14 -0
- package/corpus/templates/videos/app/i18n/es-ES.ts +14 -0
- package/corpus/templates/videos/app/i18n/fr-FR.ts +14 -0
- package/corpus/templates/videos/app/i18n/hi-IN.ts +14 -0
- package/corpus/templates/videos/app/i18n/ja-JP.ts +14 -0
- package/corpus/templates/videos/app/i18n/ko-KR.ts +14 -0
- package/corpus/templates/videos/app/i18n/pt-BR.ts +14 -0
- package/corpus/templates/videos/app/i18n/zh-CN.ts +14 -0
- package/corpus/templates/videos/app/pages/DesignSystems.tsx +10 -9
- package/corpus/templates/videos/app/pages/NewComposition.tsx +9 -9
- package/corpus/templates/videos/app/pages/NotFound.tsx +4 -2
- package/dist/agent/run-store.d.ts +13 -0
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +13 -0
- package/dist/agent/run-store.js.map +1 -1
- package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
- package/dist/client/components/CodeRequiredDialog.js +12 -9
- package/dist/client/components/CodeRequiredDialog.js.map +1 -1
- package/dist/client/extensions/EmbeddedExtension.d.ts.map +1 -1
- package/dist/client/extensions/EmbeddedExtension.js +4 -2
- package/dist/client/extensions/EmbeddedExtension.js.map +1 -1
- package/dist/client/extensions/ExtensionEditor.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionEditor.js +22 -12
- package/dist/client/extensions/ExtensionEditor.js.map +1 -1
- package/dist/client/extensions/ExtensionSlot.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionSlot.js +9 -7
- package/dist/client/extensions/ExtensionSlot.js.map +1 -1
- package/dist/client/extensions/ExtensionsListPage.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionsListPage.js +28 -15
- package/dist/client/extensions/ExtensionsListPage.js.map +1 -1
- package/dist/client/i18n.d.ts +1 -1
- package/dist/client/i18n.d.ts.map +1 -1
- package/dist/client/i18n.js +68 -2
- package/dist/client/i18n.js.map +1 -1
- package/dist/client/integrations/IntegrationCard.d.ts.map +1 -1
- package/dist/client/integrations/IntegrationCard.js +8 -4
- package/dist/client/integrations/IntegrationCard.js.map +1 -1
- package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
- package/dist/client/integrations/IntegrationsPanel.js +15 -8
- package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
- package/dist/client/observability/ObservabilityDashboard.d.ts.map +1 -1
- package/dist/client/observability/ObservabilityDashboard.js +40 -17
- package/dist/client/observability/ObservabilityDashboard.js.map +1 -1
- package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
- package/dist/client/org/RequireActiveOrg.js +14 -8
- package/dist/client/org/RequireActiveOrg.js.map +1 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +21 -14
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/progress/RunsTray.d.ts.map +1 -1
- package/dist/client/progress/RunsTray.js +49 -30
- package/dist/client/progress/RunsTray.js.map +1 -1
- package/dist/extensions/routes.d.ts.map +1 -1
- package/dist/extensions/routes.js +38 -24
- package/dist/extensions/routes.js.map +1 -1
- package/dist/templates/default/app/i18n/ar-SA.ts +356 -0
- package/dist/templates/default/app/i18n/de-DE.ts +332 -0
- package/dist/templates/default/app/i18n/en-US.ts +303 -0
- package/dist/templates/default/app/i18n/es-ES.ts +339 -0
- package/dist/templates/default/app/i18n/fr-FR.ts +339 -0
- package/dist/templates/default/app/i18n/hi-IN.ts +332 -0
- package/dist/templates/default/app/i18n/index.ts +18 -0
- package/dist/templates/default/app/i18n/ja-JP.ts +326 -0
- package/dist/templates/default/app/i18n/ko-KR.ts +326 -0
- package/dist/templates/default/app/i18n/pt-BR.ts +339 -0
- package/dist/templates/default/app/i18n/zh-CN.ts +324 -0
- package/dist/templates/default/app/root.tsx +109 -6
- package/dist/templates/workspace-core/.agents/skills/extensions/references/api.md +34 -12
- package/docs/content/extensions.md +16 -0
- package/docs/content/locales/ar-SA/a2a-protocol.md +392 -0
- package/docs/content/locales/ar-SA/actions.md +583 -0
- package/docs/content/locales/ar-SA/agent-mentions.md +164 -0
- package/docs/content/locales/ar-SA/agent-surfaces.md +397 -0
- package/docs/content/locales/ar-SA/agent-teams.md +171 -0
- package/docs/content/locales/ar-SA/agent-web-surfaces.md +161 -0
- package/docs/content/locales/ar-SA/audit-log.md +111 -0
- package/docs/content/locales/ar-SA/authentication.md +332 -0
- package/docs/content/locales/ar-SA/automations.md +268 -0
- package/docs/content/locales/ar-SA/blueprint-installer.md +83 -0
- package/docs/content/locales/ar-SA/cli-adapters.md +129 -0
- package/docs/content/locales/ar-SA/client.md +398 -0
- package/docs/content/locales/ar-SA/cloneable-saas.md +114 -0
- package/docs/content/locales/ar-SA/code-agents-ui.md +436 -0
- package/docs/content/locales/ar-SA/components.md +368 -0
- package/docs/content/locales/ar-SA/context-awareness.md +373 -0
- package/docs/content/locales/ar-SA/creating-templates.md +411 -0
- package/docs/content/locales/ar-SA/cross-app-sso.md +185 -0
- package/docs/content/locales/ar-SA/database.md +183 -0
- package/docs/content/locales/ar-SA/deployment.md +349 -0
- package/docs/content/locales/ar-SA/dispatch.md +146 -0
- package/docs/content/locales/ar-SA/drop-in-agent.md +260 -0
- package/docs/content/locales/ar-SA/durable-resume.md +65 -0
- package/docs/content/locales/ar-SA/embedding-sdk.md +597 -0
- package/docs/content/locales/ar-SA/evals.md +155 -0
- package/docs/content/locales/ar-SA/extensions.md +360 -0
- package/docs/content/locales/ar-SA/external-agents.md +619 -0
- package/docs/content/locales/ar-SA/faq.md +142 -0
- package/docs/content/locales/ar-SA/file-uploads.md +122 -0
- package/docs/content/locales/ar-SA/frames.md +153 -0
- package/docs/content/locales/ar-SA/getting-started.md +199 -0
- package/docs/content/locales/ar-SA/harness-agents.md +349 -0
- package/docs/content/locales/ar-SA/human-approval.md +86 -0
- package/docs/content/locales/ar-SA/internationalization.md +68 -25
- package/docs/content/locales/ar-SA/key-concepts.md +312 -0
- package/docs/content/locales/ar-SA/local-file-mode.md +433 -0
- package/docs/content/locales/ar-SA/mcp-apps.md +147 -0
- package/docs/content/locales/ar-SA/mcp-clients.md +330 -0
- package/docs/content/locales/ar-SA/mcp-protocol.md +279 -0
- package/docs/content/locales/ar-SA/messaging.md +461 -0
- package/docs/content/locales/ar-SA/migration-workbench.md +33 -0
- package/docs/content/locales/ar-SA/multi-app-workspace.md +312 -0
- package/docs/content/locales/ar-SA/multi-tenancy.md +52 -0
- package/docs/content/locales/ar-SA/native-chat-ui.md +321 -0
- package/docs/content/locales/ar-SA/notifications.md +231 -0
- package/docs/content/locales/ar-SA/observability.md +294 -0
- package/docs/content/locales/ar-SA/observational-memory.md +77 -0
- package/docs/content/locales/ar-SA/onboarding.md +216 -0
- package/docs/content/locales/ar-SA/plan-plugin.md +200 -0
- package/docs/content/locales/ar-SA/pr-visual-recap.md +384 -0
- package/docs/content/locales/ar-SA/processors.md +106 -0
- package/docs/content/locales/ar-SA/progress.md +199 -0
- package/docs/content/locales/ar-SA/pure-agent-apps.md +39 -0
- package/docs/content/locales/ar-SA/real-time-collaboration.md +676 -0
- package/docs/content/locales/ar-SA/recurring-jobs.md +142 -0
- package/docs/content/locales/ar-SA/routing.md +79 -0
- package/docs/content/locales/ar-SA/sandbox-adapters.md +227 -0
- package/docs/content/locales/ar-SA/security.md +330 -0
- package/docs/content/locales/ar-SA/server.md +253 -0
- package/docs/content/locales/ar-SA/sharing.md +219 -0
- package/docs/content/locales/ar-SA/skills-guide.md +281 -0
- package/docs/content/locales/ar-SA/template-analytics.md +259 -0
- package/docs/content/locales/ar-SA/template-assets.md +303 -0
- package/docs/content/locales/ar-SA/template-brain.md +324 -0
- package/docs/content/locales/ar-SA/template-calendar.md +194 -0
- package/docs/content/locales/ar-SA/template-chat.md +129 -0
- package/docs/content/locales/ar-SA/template-clips.md +368 -0
- package/docs/content/locales/ar-SA/template-content.md +402 -0
- package/docs/content/locales/ar-SA/template-design.md +173 -0
- package/docs/content/locales/ar-SA/template-dispatch.md +220 -0
- package/docs/content/locales/ar-SA/template-forms.md +178 -0
- package/docs/content/locales/ar-SA/template-mail.md +239 -0
- package/docs/content/locales/ar-SA/template-plan.md +815 -0
- package/docs/content/locales/ar-SA/template-slides.md +293 -0
- package/docs/content/locales/ar-SA/template-videos.md +222 -0
- package/docs/content/locales/ar-SA/tracking.md +236 -0
- package/docs/content/locales/ar-SA/using-your-agent.md +71 -0
- package/docs/content/locales/ar-SA/voice-input.md +81 -0
- package/docs/content/locales/ar-SA/what-is-agent-native.md +202 -0
- package/docs/content/locales/ar-SA/workspace-connections.md +321 -0
- package/docs/content/locales/ar-SA/workspace-management.md +175 -0
- package/docs/content/locales/ar-SA/workspace.md +323 -0
- package/docs/content/locales/ar-SA/writing-agent-instructions.md +173 -0
- package/docs/content/locales/de-DE/a2a-protocol.md +392 -0
- package/docs/content/locales/de-DE/actions.md +583 -0
- package/docs/content/locales/de-DE/agent-mentions.md +164 -0
- package/docs/content/locales/de-DE/agent-surfaces.md +397 -0
- package/docs/content/locales/de-DE/agent-teams.md +171 -0
- package/docs/content/locales/de-DE/agent-web-surfaces.md +161 -0
- package/docs/content/locales/de-DE/audit-log.md +111 -0
- package/docs/content/locales/de-DE/authentication.md +332 -0
- package/docs/content/locales/de-DE/automations.md +268 -0
- package/docs/content/locales/de-DE/blueprint-installer.md +83 -0
- package/docs/content/locales/de-DE/cli-adapters.md +129 -0
- package/docs/content/locales/de-DE/client.md +398 -0
- package/docs/content/locales/de-DE/cloneable-saas.md +114 -0
- package/docs/content/locales/de-DE/code-agents-ui.md +436 -0
- package/docs/content/locales/de-DE/components.md +368 -0
- package/docs/content/locales/de-DE/context-awareness.md +373 -0
- package/docs/content/locales/de-DE/creating-templates.md +411 -0
- package/docs/content/locales/de-DE/cross-app-sso.md +185 -0
- package/docs/content/locales/de-DE/database.md +183 -0
- package/docs/content/locales/de-DE/deployment.md +349 -0
- package/docs/content/locales/de-DE/dispatch.md +146 -0
- package/docs/content/locales/de-DE/drop-in-agent.md +260 -0
- package/docs/content/locales/de-DE/durable-resume.md +65 -0
- package/docs/content/locales/de-DE/embedding-sdk.md +597 -0
- package/docs/content/locales/de-DE/evals.md +155 -0
- package/docs/content/locales/de-DE/extensions.md +360 -0
- package/docs/content/locales/de-DE/external-agents.md +619 -0
- package/docs/content/locales/de-DE/faq.md +142 -0
- package/docs/content/locales/de-DE/file-uploads.md +122 -0
- package/docs/content/locales/de-DE/frames.md +153 -0
- package/docs/content/locales/de-DE/getting-started.md +199 -0
- package/docs/content/locales/de-DE/harness-agents.md +349 -0
- package/docs/content/locales/de-DE/human-approval.md +86 -0
- package/docs/content/locales/de-DE/internationalization.md +65 -22
- package/docs/content/locales/de-DE/key-concepts.md +312 -0
- package/docs/content/locales/de-DE/local-file-mode.md +433 -0
- package/docs/content/locales/de-DE/mcp-apps.md +147 -0
- package/docs/content/locales/de-DE/mcp-clients.md +330 -0
- package/docs/content/locales/de-DE/mcp-protocol.md +279 -0
- package/docs/content/locales/de-DE/messaging.md +461 -0
- package/docs/content/locales/de-DE/migration-workbench.md +33 -0
- package/docs/content/locales/de-DE/multi-app-workspace.md +312 -0
- package/docs/content/locales/de-DE/multi-tenancy.md +52 -0
- package/docs/content/locales/de-DE/native-chat-ui.md +321 -0
- package/docs/content/locales/de-DE/notifications.md +231 -0
- package/docs/content/locales/de-DE/observability.md +294 -0
- package/docs/content/locales/de-DE/observational-memory.md +77 -0
- package/docs/content/locales/de-DE/onboarding.md +216 -0
- package/docs/content/locales/de-DE/plan-plugin.md +200 -0
- package/docs/content/locales/de-DE/pr-visual-recap.md +384 -0
- package/docs/content/locales/de-DE/processors.md +106 -0
- package/docs/content/locales/de-DE/progress.md +199 -0
- package/docs/content/locales/de-DE/pure-agent-apps.md +39 -0
- package/docs/content/locales/de-DE/real-time-collaboration.md +676 -0
- package/docs/content/locales/de-DE/recurring-jobs.md +142 -0
- package/docs/content/locales/de-DE/routing.md +79 -0
- package/docs/content/locales/de-DE/sandbox-adapters.md +227 -0
- package/docs/content/locales/de-DE/security.md +330 -0
- package/docs/content/locales/de-DE/server.md +253 -0
- package/docs/content/locales/de-DE/sharing.md +219 -0
- package/docs/content/locales/de-DE/skills-guide.md +281 -0
- package/docs/content/locales/de-DE/template-analytics.md +259 -0
- package/docs/content/locales/de-DE/template-assets.md +303 -0
- package/docs/content/locales/de-DE/template-brain.md +324 -0
- package/docs/content/locales/de-DE/template-calendar.md +194 -0
- package/docs/content/locales/de-DE/template-chat.md +129 -0
- package/docs/content/locales/de-DE/template-clips.md +368 -0
- package/docs/content/locales/de-DE/template-content.md +402 -0
- package/docs/content/locales/de-DE/template-design.md +173 -0
- package/docs/content/locales/de-DE/template-dispatch.md +220 -0
- package/docs/content/locales/de-DE/template-forms.md +178 -0
- package/docs/content/locales/de-DE/template-mail.md +239 -0
- package/docs/content/locales/de-DE/template-plan.md +814 -0
- package/docs/content/locales/de-DE/template-slides.md +293 -0
- package/docs/content/locales/de-DE/template-videos.md +222 -0
- package/docs/content/locales/de-DE/tracking.md +236 -0
- package/docs/content/locales/de-DE/using-your-agent.md +71 -0
- package/docs/content/locales/de-DE/voice-input.md +81 -0
- package/docs/content/locales/de-DE/what-is-agent-native.md +202 -0
- package/docs/content/locales/de-DE/workspace-connections.md +321 -0
- package/docs/content/locales/de-DE/workspace-management.md +175 -0
- package/docs/content/locales/de-DE/workspace.md +323 -0
- package/docs/content/locales/de-DE/writing-agent-instructions.md +173 -0
- package/docs/content/locales/es-ES/a2a-protocol.md +392 -0
- package/docs/content/locales/es-ES/actions.md +583 -0
- package/docs/content/locales/es-ES/agent-mentions.md +164 -0
- package/docs/content/locales/es-ES/agent-surfaces.md +397 -0
- package/docs/content/locales/es-ES/agent-teams.md +171 -0
- package/docs/content/locales/es-ES/agent-web-surfaces.md +161 -0
- package/docs/content/locales/es-ES/audit-log.md +111 -0
- package/docs/content/locales/es-ES/authentication.md +332 -0
- package/docs/content/locales/es-ES/automations.md +268 -0
- package/docs/content/locales/es-ES/blueprint-installer.md +83 -0
- package/docs/content/locales/es-ES/cli-adapters.md +129 -0
- package/docs/content/locales/es-ES/client.md +398 -0
- package/docs/content/locales/es-ES/cloneable-saas.md +114 -0
- package/docs/content/locales/es-ES/code-agents-ui.md +436 -0
- package/docs/content/locales/es-ES/components.md +368 -0
- package/docs/content/locales/es-ES/context-awareness.md +373 -0
- package/docs/content/locales/es-ES/creating-templates.md +411 -0
- package/docs/content/locales/es-ES/cross-app-sso.md +185 -0
- package/docs/content/locales/es-ES/database.md +183 -0
- package/docs/content/locales/es-ES/deployment.md +349 -0
- package/docs/content/locales/es-ES/dispatch.md +146 -0
- package/docs/content/locales/es-ES/drop-in-agent.md +260 -0
- package/docs/content/locales/es-ES/durable-resume.md +65 -0
- package/docs/content/locales/es-ES/embedding-sdk.md +597 -0
- package/docs/content/locales/es-ES/evals.md +155 -0
- package/docs/content/locales/es-ES/extensions.md +360 -0
- package/docs/content/locales/es-ES/external-agents.md +619 -0
- package/docs/content/locales/es-ES/faq.md +142 -0
- package/docs/content/locales/es-ES/file-uploads.md +122 -0
- package/docs/content/locales/es-ES/frames.md +153 -0
- package/docs/content/locales/es-ES/getting-started.md +199 -0
- package/docs/content/locales/es-ES/harness-agents.md +349 -0
- package/docs/content/locales/es-ES/human-approval.md +86 -0
- package/docs/content/locales/es-ES/internationalization.md +67 -24
- package/docs/content/locales/es-ES/key-concepts.md +312 -0
- package/docs/content/locales/es-ES/local-file-mode.md +433 -0
- package/docs/content/locales/es-ES/mcp-apps.md +147 -0
- package/docs/content/locales/es-ES/mcp-clients.md +330 -0
- package/docs/content/locales/es-ES/mcp-protocol.md +279 -0
- package/docs/content/locales/es-ES/messaging.md +461 -0
- package/docs/content/locales/es-ES/migration-workbench.md +33 -0
- package/docs/content/locales/es-ES/multi-app-workspace.md +312 -0
- package/docs/content/locales/es-ES/multi-tenancy.md +52 -0
- package/docs/content/locales/es-ES/native-chat-ui.md +321 -0
- package/docs/content/locales/es-ES/notifications.md +231 -0
- package/docs/content/locales/es-ES/observability.md +294 -0
- package/docs/content/locales/es-ES/observational-memory.md +77 -0
- package/docs/content/locales/es-ES/onboarding.md +216 -0
- package/docs/content/locales/es-ES/plan-plugin.md +200 -0
- package/docs/content/locales/es-ES/pr-visual-recap.md +384 -0
- package/docs/content/locales/es-ES/processors.md +106 -0
- package/docs/content/locales/es-ES/progress.md +199 -0
- package/docs/content/locales/es-ES/pure-agent-apps.md +39 -0
- package/docs/content/locales/es-ES/real-time-collaboration.md +676 -0
- package/docs/content/locales/es-ES/recurring-jobs.md +142 -0
- package/docs/content/locales/es-ES/routing.md +79 -0
- package/docs/content/locales/es-ES/sandbox-adapters.md +227 -0
- package/docs/content/locales/es-ES/security.md +330 -0
- package/docs/content/locales/es-ES/server.md +253 -0
- package/docs/content/locales/es-ES/sharing.md +219 -0
- package/docs/content/locales/es-ES/skills-guide.md +281 -0
- package/docs/content/locales/es-ES/template-analytics.md +259 -0
- package/docs/content/locales/es-ES/template-assets.md +303 -0
- package/docs/content/locales/es-ES/template-brain.md +324 -0
- package/docs/content/locales/es-ES/template-calendar.md +194 -0
- package/docs/content/locales/es-ES/template-chat.md +129 -0
- package/docs/content/locales/es-ES/template-clips.md +368 -0
- package/docs/content/locales/es-ES/template-content.md +402 -0
- package/docs/content/locales/es-ES/template-design.md +173 -0
- package/docs/content/locales/es-ES/template-dispatch.md +220 -0
- package/docs/content/locales/es-ES/template-forms.md +178 -0
- package/docs/content/locales/es-ES/template-mail.md +239 -0
- package/docs/content/locales/es-ES/template-plan.md +815 -0
- package/docs/content/locales/es-ES/template-slides.md +293 -0
- package/docs/content/locales/es-ES/template-videos.md +222 -0
- package/docs/content/locales/es-ES/tracking.md +236 -0
- package/docs/content/locales/es-ES/using-your-agent.md +71 -0
- package/docs/content/locales/es-ES/voice-input.md +81 -0
- package/docs/content/locales/es-ES/what-is-agent-native.md +202 -0
- package/docs/content/locales/es-ES/workspace-connections.md +321 -0
- package/docs/content/locales/es-ES/workspace-management.md +175 -0
- package/docs/content/locales/es-ES/workspace.md +323 -0
- package/docs/content/locales/es-ES/writing-agent-instructions.md +173 -0
- package/docs/content/locales/fr-FR/a2a-protocol.md +392 -0
- package/docs/content/locales/fr-FR/actions.md +583 -0
- package/docs/content/locales/fr-FR/agent-mentions.md +164 -0
- package/docs/content/locales/fr-FR/agent-surfaces.md +397 -0
- package/docs/content/locales/fr-FR/agent-teams.md +171 -0
- package/docs/content/locales/fr-FR/agent-web-surfaces.md +161 -0
- package/docs/content/locales/fr-FR/audit-log.md +111 -0
- package/docs/content/locales/fr-FR/authentication.md +332 -0
- package/docs/content/locales/fr-FR/automations.md +268 -0
- package/docs/content/locales/fr-FR/blueprint-installer.md +83 -0
- package/docs/content/locales/fr-FR/cli-adapters.md +129 -0
- package/docs/content/locales/fr-FR/client.md +398 -0
- package/docs/content/locales/fr-FR/cloneable-saas.md +114 -0
- package/docs/content/locales/fr-FR/code-agents-ui.md +436 -0
- package/docs/content/locales/fr-FR/components.md +368 -0
- package/docs/content/locales/fr-FR/context-awareness.md +373 -0
- package/docs/content/locales/fr-FR/creating-templates.md +411 -0
- package/docs/content/locales/fr-FR/cross-app-sso.md +185 -0
- package/docs/content/locales/fr-FR/database.md +183 -0
- package/docs/content/locales/fr-FR/deployment.md +349 -0
- package/docs/content/locales/fr-FR/dispatch.md +146 -0
- package/docs/content/locales/fr-FR/drop-in-agent.md +260 -0
- package/docs/content/locales/fr-FR/durable-resume.md +65 -0
- package/docs/content/locales/fr-FR/embedding-sdk.md +597 -0
- package/docs/content/locales/fr-FR/evals.md +155 -0
- package/docs/content/locales/fr-FR/extensions.md +360 -0
- package/docs/content/locales/fr-FR/external-agents.md +619 -0
- package/docs/content/locales/fr-FR/faq.md +142 -0
- package/docs/content/locales/fr-FR/file-uploads.md +122 -0
- package/docs/content/locales/fr-FR/frames.md +153 -0
- package/docs/content/locales/fr-FR/getting-started.md +199 -0
- package/docs/content/locales/fr-FR/harness-agents.md +349 -0
- package/docs/content/locales/fr-FR/human-approval.md +86 -0
- package/docs/content/locales/fr-FR/internationalization.md +67 -24
- package/docs/content/locales/fr-FR/key-concepts.md +312 -0
- package/docs/content/locales/fr-FR/local-file-mode.md +433 -0
- package/docs/content/locales/fr-FR/mcp-apps.md +147 -0
- package/docs/content/locales/fr-FR/mcp-clients.md +330 -0
- package/docs/content/locales/fr-FR/mcp-protocol.md +279 -0
- package/docs/content/locales/fr-FR/messaging.md +461 -0
- package/docs/content/locales/fr-FR/migration-workbench.md +33 -0
- package/docs/content/locales/fr-FR/multi-app-workspace.md +312 -0
- package/docs/content/locales/fr-FR/multi-tenancy.md +52 -0
- package/docs/content/locales/fr-FR/native-chat-ui.md +321 -0
- package/docs/content/locales/fr-FR/notifications.md +231 -0
- package/docs/content/locales/fr-FR/observability.md +294 -0
- package/docs/content/locales/fr-FR/observational-memory.md +77 -0
- package/docs/content/locales/fr-FR/onboarding.md +216 -0
- package/docs/content/locales/fr-FR/plan-plugin.md +200 -0
- package/docs/content/locales/fr-FR/pr-visual-recap.md +384 -0
- package/docs/content/locales/fr-FR/processors.md +106 -0
- package/docs/content/locales/fr-FR/progress.md +199 -0
- package/docs/content/locales/fr-FR/pure-agent-apps.md +39 -0
- package/docs/content/locales/fr-FR/real-time-collaboration.md +676 -0
- package/docs/content/locales/fr-FR/recurring-jobs.md +142 -0
- package/docs/content/locales/fr-FR/routing.md +79 -0
- package/docs/content/locales/fr-FR/sandbox-adapters.md +227 -0
- package/docs/content/locales/fr-FR/security.md +330 -0
- package/docs/content/locales/fr-FR/server.md +253 -0
- package/docs/content/locales/fr-FR/sharing.md +219 -0
- package/docs/content/locales/fr-FR/skills-guide.md +281 -0
- package/docs/content/locales/fr-FR/template-analytics.md +259 -0
- package/docs/content/locales/fr-FR/template-assets.md +303 -0
- package/docs/content/locales/fr-FR/template-brain.md +324 -0
- package/docs/content/locales/fr-FR/template-calendar.md +194 -0
- package/docs/content/locales/fr-FR/template-chat.md +129 -0
- package/docs/content/locales/fr-FR/template-clips.md +368 -0
- package/docs/content/locales/fr-FR/template-content.md +402 -0
- package/docs/content/locales/fr-FR/template-design.md +173 -0
- package/docs/content/locales/fr-FR/template-dispatch.md +220 -0
- package/docs/content/locales/fr-FR/template-forms.md +178 -0
- package/docs/content/locales/fr-FR/template-mail.md +239 -0
- package/docs/content/locales/fr-FR/template-plan.md +815 -0
- package/docs/content/locales/fr-FR/template-slides.md +293 -0
- package/docs/content/locales/fr-FR/template-videos.md +222 -0
- package/docs/content/locales/fr-FR/tracking.md +236 -0
- package/docs/content/locales/fr-FR/using-your-agent.md +71 -0
- package/docs/content/locales/fr-FR/voice-input.md +81 -0
- package/docs/content/locales/fr-FR/what-is-agent-native.md +202 -0
- package/docs/content/locales/fr-FR/workspace-connections.md +321 -0
- package/docs/content/locales/fr-FR/workspace-management.md +175 -0
- package/docs/content/locales/fr-FR/workspace.md +323 -0
- package/docs/content/locales/fr-FR/writing-agent-instructions.md +173 -0
- package/docs/content/locales/hi-IN/a2a-protocol.md +392 -0
- package/docs/content/locales/hi-IN/actions.md +583 -0
- package/docs/content/locales/hi-IN/agent-mentions.md +164 -0
- package/docs/content/locales/hi-IN/agent-surfaces.md +397 -0
- package/docs/content/locales/hi-IN/agent-teams.md +171 -0
- package/docs/content/locales/hi-IN/agent-web-surfaces.md +161 -0
- package/docs/content/locales/hi-IN/audit-log.md +111 -0
- package/docs/content/locales/hi-IN/authentication.md +332 -0
- package/docs/content/locales/hi-IN/automations.md +268 -0
- package/docs/content/locales/hi-IN/blueprint-installer.md +83 -0
- package/docs/content/locales/hi-IN/cli-adapters.md +129 -0
- package/docs/content/locales/hi-IN/client.md +398 -0
- package/docs/content/locales/hi-IN/cloneable-saas.md +114 -0
- package/docs/content/locales/hi-IN/code-agents-ui.md +436 -0
- package/docs/content/locales/hi-IN/components.md +368 -0
- package/docs/content/locales/hi-IN/context-awareness.md +373 -0
- package/docs/content/locales/hi-IN/creating-templates.md +411 -0
- package/docs/content/locales/hi-IN/cross-app-sso.md +185 -0
- package/docs/content/locales/hi-IN/database.md +183 -0
- package/docs/content/locales/hi-IN/deployment.md +349 -0
- package/docs/content/locales/hi-IN/dispatch.md +146 -0
- package/docs/content/locales/hi-IN/drop-in-agent.md +260 -0
- package/docs/content/locales/hi-IN/durable-resume.md +65 -0
- package/docs/content/locales/hi-IN/embedding-sdk.md +597 -0
- package/docs/content/locales/hi-IN/evals.md +155 -0
- package/docs/content/locales/hi-IN/extensions.md +360 -0
- package/docs/content/locales/hi-IN/external-agents.md +619 -0
- package/docs/content/locales/hi-IN/faq.md +142 -0
- package/docs/content/locales/hi-IN/file-uploads.md +122 -0
- package/docs/content/locales/hi-IN/frames.md +153 -0
- package/docs/content/locales/hi-IN/getting-started.md +199 -0
- package/docs/content/locales/hi-IN/harness-agents.md +349 -0
- package/docs/content/locales/hi-IN/human-approval.md +86 -0
- package/docs/content/locales/hi-IN/internationalization.md +70 -27
- package/docs/content/locales/hi-IN/key-concepts.md +312 -0
- package/docs/content/locales/hi-IN/local-file-mode.md +433 -0
- package/docs/content/locales/hi-IN/mcp-apps.md +147 -0
- package/docs/content/locales/hi-IN/mcp-clients.md +330 -0
- package/docs/content/locales/hi-IN/mcp-protocol.md +279 -0
- package/docs/content/locales/hi-IN/messaging.md +461 -0
- package/docs/content/locales/hi-IN/migration-workbench.md +33 -0
- package/docs/content/locales/hi-IN/multi-app-workspace.md +312 -0
- package/docs/content/locales/hi-IN/multi-tenancy.md +52 -0
- package/docs/content/locales/hi-IN/native-chat-ui.md +321 -0
- package/docs/content/locales/hi-IN/notifications.md +231 -0
- package/docs/content/locales/hi-IN/observability.md +294 -0
- package/docs/content/locales/hi-IN/observational-memory.md +77 -0
- package/docs/content/locales/hi-IN/onboarding.md +216 -0
- package/docs/content/locales/hi-IN/plan-plugin.md +200 -0
- package/docs/content/locales/hi-IN/pr-visual-recap.md +384 -0
- package/docs/content/locales/hi-IN/processors.md +106 -0
- package/docs/content/locales/hi-IN/progress.md +199 -0
- package/docs/content/locales/hi-IN/pure-agent-apps.md +39 -0
- package/docs/content/locales/hi-IN/real-time-collaboration.md +676 -0
- package/docs/content/locales/hi-IN/recurring-jobs.md +142 -0
- package/docs/content/locales/hi-IN/routing.md +79 -0
- package/docs/content/locales/hi-IN/sandbox-adapters.md +227 -0
- package/docs/content/locales/hi-IN/security.md +330 -0
- package/docs/content/locales/hi-IN/server.md +253 -0
- package/docs/content/locales/hi-IN/sharing.md +219 -0
- package/docs/content/locales/hi-IN/skills-guide.md +281 -0
- package/docs/content/locales/hi-IN/template-analytics.md +259 -0
- package/docs/content/locales/hi-IN/template-assets.md +303 -0
- package/docs/content/locales/hi-IN/template-brain.md +324 -0
- package/docs/content/locales/hi-IN/template-calendar.md +194 -0
- package/docs/content/locales/hi-IN/template-chat.md +129 -0
- package/docs/content/locales/hi-IN/template-clips.md +368 -0
- package/docs/content/locales/hi-IN/template-content.md +402 -0
- package/docs/content/locales/hi-IN/template-design.md +173 -0
- package/docs/content/locales/hi-IN/template-dispatch.md +220 -0
- package/docs/content/locales/hi-IN/template-forms.md +178 -0
- package/docs/content/locales/hi-IN/template-mail.md +239 -0
- package/docs/content/locales/hi-IN/template-plan.md +815 -0
- package/docs/content/locales/hi-IN/template-slides.md +293 -0
- package/docs/content/locales/hi-IN/template-videos.md +222 -0
- package/docs/content/locales/hi-IN/tracking.md +236 -0
- package/docs/content/locales/hi-IN/using-your-agent.md +71 -0
- package/docs/content/locales/hi-IN/voice-input.md +81 -0
- package/docs/content/locales/hi-IN/what-is-agent-native.md +202 -0
- package/docs/content/locales/hi-IN/workspace-connections.md +321 -0
- package/docs/content/locales/hi-IN/workspace-management.md +175 -0
- package/docs/content/locales/hi-IN/workspace.md +323 -0
- package/docs/content/locales/hi-IN/writing-agent-instructions.md +173 -0
- package/docs/content/locales/ja-JP/a2a-protocol.md +392 -0
- package/docs/content/locales/ja-JP/actions.md +583 -0
- package/docs/content/locales/ja-JP/agent-mentions.md +164 -0
- package/docs/content/locales/ja-JP/agent-surfaces.md +397 -0
- package/docs/content/locales/ja-JP/agent-teams.md +171 -0
- package/docs/content/locales/ja-JP/agent-web-surfaces.md +161 -0
- package/docs/content/locales/ja-JP/audit-log.md +111 -0
- package/docs/content/locales/ja-JP/authentication.md +332 -0
- package/docs/content/locales/ja-JP/automations.md +268 -0
- package/docs/content/locales/ja-JP/blueprint-installer.md +83 -0
- package/docs/content/locales/ja-JP/cli-adapters.md +129 -0
- package/docs/content/locales/ja-JP/client.md +398 -0
- package/docs/content/locales/ja-JP/cloneable-saas.md +114 -0
- package/docs/content/locales/ja-JP/code-agents-ui.md +436 -0
- package/docs/content/locales/ja-JP/components.md +368 -0
- package/docs/content/locales/ja-JP/context-awareness.md +373 -0
- package/docs/content/locales/ja-JP/creating-templates.md +411 -0
- package/docs/content/locales/ja-JP/cross-app-sso.md +185 -0
- package/docs/content/locales/ja-JP/database.md +183 -0
- package/docs/content/locales/ja-JP/deployment.md +349 -0
- package/docs/content/locales/ja-JP/dispatch.md +146 -0
- package/docs/content/locales/ja-JP/drop-in-agent.md +260 -0
- package/docs/content/locales/ja-JP/durable-resume.md +65 -0
- package/docs/content/locales/ja-JP/embedding-sdk.md +597 -0
- package/docs/content/locales/ja-JP/evals.md +155 -0
- package/docs/content/locales/ja-JP/extensions.md +360 -0
- package/docs/content/locales/ja-JP/external-agents.md +619 -0
- package/docs/content/locales/ja-JP/faq.md +142 -0
- package/docs/content/locales/ja-JP/file-uploads.md +122 -0
- package/docs/content/locales/ja-JP/frames.md +153 -0
- package/docs/content/locales/ja-JP/getting-started.md +199 -0
- package/docs/content/locales/ja-JP/harness-agents.md +349 -0
- package/docs/content/locales/ja-JP/human-approval.md +86 -0
- package/docs/content/locales/ja-JP/internationalization.md +54 -23
- package/docs/content/locales/ja-JP/key-concepts.md +312 -0
- package/docs/content/locales/ja-JP/local-file-mode.md +433 -0
- package/docs/content/locales/ja-JP/mcp-apps.md +147 -0
- package/docs/content/locales/ja-JP/mcp-clients.md +330 -0
- package/docs/content/locales/ja-JP/mcp-protocol.md +279 -0
- package/docs/content/locales/ja-JP/messaging.md +461 -0
- package/docs/content/locales/ja-JP/migration-workbench.md +33 -0
- package/docs/content/locales/ja-JP/multi-app-workspace.md +312 -0
- package/docs/content/locales/ja-JP/multi-tenancy.md +52 -0
- package/docs/content/locales/ja-JP/native-chat-ui.md +321 -0
- package/docs/content/locales/ja-JP/notifications.md +231 -0
- package/docs/content/locales/ja-JP/observability.md +294 -0
- package/docs/content/locales/ja-JP/observational-memory.md +77 -0
- package/docs/content/locales/ja-JP/onboarding.md +216 -0
- package/docs/content/locales/ja-JP/plan-plugin.md +200 -0
- package/docs/content/locales/ja-JP/pr-visual-recap.md +384 -0
- package/docs/content/locales/ja-JP/processors.md +106 -0
- package/docs/content/locales/ja-JP/progress.md +199 -0
- package/docs/content/locales/ja-JP/pure-agent-apps.md +39 -0
- package/docs/content/locales/ja-JP/real-time-collaboration.md +676 -0
- package/docs/content/locales/ja-JP/recurring-jobs.md +142 -0
- package/docs/content/locales/ja-JP/routing.md +79 -0
- package/docs/content/locales/ja-JP/sandbox-adapters.md +227 -0
- package/docs/content/locales/ja-JP/security.md +330 -0
- package/docs/content/locales/ja-JP/server.md +253 -0
- package/docs/content/locales/ja-JP/sharing.md +219 -0
- package/docs/content/locales/ja-JP/skills-guide.md +281 -0
- package/docs/content/locales/ja-JP/template-analytics.md +259 -0
- package/docs/content/locales/ja-JP/template-assets.md +303 -0
- package/docs/content/locales/ja-JP/template-brain.md +324 -0
- package/docs/content/locales/ja-JP/template-calendar.md +194 -0
- package/docs/content/locales/ja-JP/template-chat.md +129 -0
- package/docs/content/locales/ja-JP/template-clips.md +368 -0
- package/docs/content/locales/ja-JP/template-content.md +402 -0
- package/docs/content/locales/ja-JP/template-design.md +173 -0
- package/docs/content/locales/ja-JP/template-dispatch.md +220 -0
- package/docs/content/locales/ja-JP/template-forms.md +178 -0
- package/docs/content/locales/ja-JP/template-mail.md +239 -0
- package/docs/content/locales/ja-JP/template-plan.md +814 -0
- package/docs/content/locales/ja-JP/template-slides.md +293 -0
- package/docs/content/locales/ja-JP/template-videos.md +222 -0
- package/docs/content/locales/ja-JP/tracking.md +236 -0
- package/docs/content/locales/ja-JP/using-your-agent.md +71 -0
- package/docs/content/locales/ja-JP/voice-input.md +81 -0
- package/docs/content/locales/ja-JP/what-is-agent-native.md +202 -0
- package/docs/content/locales/ja-JP/workspace-connections.md +321 -0
- package/docs/content/locales/ja-JP/workspace-management.md +175 -0
- package/docs/content/locales/ja-JP/workspace.md +323 -0
- package/docs/content/locales/ja-JP/writing-agent-instructions.md +173 -0
- package/docs/content/locales/ko-KR/a2a-protocol.md +392 -0
- package/docs/content/locales/ko-KR/actions.md +583 -0
- package/docs/content/locales/ko-KR/agent-mentions.md +164 -0
- package/docs/content/locales/ko-KR/agent-surfaces.md +397 -0
- package/docs/content/locales/ko-KR/agent-teams.md +171 -0
- package/docs/content/locales/ko-KR/agent-web-surfaces.md +161 -0
- package/docs/content/locales/ko-KR/audit-log.md +111 -0
- package/docs/content/locales/ko-KR/authentication.md +332 -0
- package/docs/content/locales/ko-KR/automations.md +268 -0
- package/docs/content/locales/ko-KR/blueprint-installer.md +83 -0
- package/docs/content/locales/ko-KR/cli-adapters.md +129 -0
- package/docs/content/locales/ko-KR/client.md +398 -0
- package/docs/content/locales/ko-KR/cloneable-saas.md +114 -0
- package/docs/content/locales/ko-KR/code-agents-ui.md +436 -0
- package/docs/content/locales/ko-KR/components.md +368 -0
- package/docs/content/locales/ko-KR/context-awareness.md +373 -0
- package/docs/content/locales/ko-KR/creating-templates.md +411 -0
- package/docs/content/locales/ko-KR/cross-app-sso.md +187 -0
- package/docs/content/locales/ko-KR/database.md +183 -0
- package/docs/content/locales/ko-KR/deployment.md +349 -0
- package/docs/content/locales/ko-KR/dispatch.md +146 -0
- package/docs/content/locales/ko-KR/drop-in-agent.md +260 -0
- package/docs/content/locales/ko-KR/durable-resume.md +65 -0
- package/docs/content/locales/ko-KR/embedding-sdk.md +597 -0
- package/docs/content/locales/ko-KR/evals.md +155 -0
- package/docs/content/locales/ko-KR/extensions.md +360 -0
- package/docs/content/locales/ko-KR/external-agents.md +621 -0
- package/docs/content/locales/ko-KR/faq.md +142 -0
- package/docs/content/locales/ko-KR/file-uploads.md +122 -0
- package/docs/content/locales/ko-KR/frames.md +153 -0
- package/docs/content/locales/ko-KR/getting-started.md +199 -0
- package/docs/content/locales/ko-KR/harness-agents.md +349 -0
- package/docs/content/locales/ko-KR/human-approval.md +88 -0
- package/docs/content/locales/ko-KR/internationalization.md +66 -23
- package/docs/content/locales/ko-KR/key-concepts.md +312 -0
- package/docs/content/locales/ko-KR/local-file-mode.md +433 -0
- package/docs/content/locales/ko-KR/mcp-apps.md +147 -0
- package/docs/content/locales/ko-KR/mcp-clients.md +330 -0
- package/docs/content/locales/ko-KR/mcp-protocol.md +279 -0
- package/docs/content/locales/ko-KR/messaging.md +464 -0
- package/docs/content/locales/ko-KR/migration-workbench.md +33 -0
- package/docs/content/locales/ko-KR/multi-app-workspace.md +312 -0
- package/docs/content/locales/ko-KR/multi-tenancy.md +52 -0
- package/docs/content/locales/ko-KR/native-chat-ui.md +321 -0
- package/docs/content/locales/ko-KR/notifications.md +231 -0
- package/docs/content/locales/ko-KR/observability.md +294 -0
- package/docs/content/locales/ko-KR/observational-memory.md +77 -0
- package/docs/content/locales/ko-KR/onboarding.md +216 -0
- package/docs/content/locales/ko-KR/plan-plugin.md +200 -0
- package/docs/content/locales/ko-KR/pr-visual-recap.md +384 -0
- package/docs/content/locales/ko-KR/processors.md +106 -0
- package/docs/content/locales/ko-KR/progress.md +199 -0
- package/docs/content/locales/ko-KR/pure-agent-apps.md +39 -0
- package/docs/content/locales/ko-KR/real-time-collaboration.md +676 -0
- package/docs/content/locales/ko-KR/recurring-jobs.md +142 -0
- package/docs/content/locales/ko-KR/routing.md +79 -0
- package/docs/content/locales/ko-KR/sandbox-adapters.md +227 -0
- package/docs/content/locales/ko-KR/security.md +330 -0
- package/docs/content/locales/ko-KR/server.md +253 -0
- package/docs/content/locales/ko-KR/sharing.md +219 -0
- package/docs/content/locales/ko-KR/skills-guide.md +281 -0
- package/docs/content/locales/ko-KR/template-analytics.md +259 -0
- package/docs/content/locales/ko-KR/template-assets.md +307 -0
- package/docs/content/locales/ko-KR/template-brain.md +324 -0
- package/docs/content/locales/ko-KR/template-calendar.md +194 -0
- package/docs/content/locales/ko-KR/template-chat.md +129 -0
- package/docs/content/locales/ko-KR/template-clips.md +372 -0
- package/docs/content/locales/ko-KR/template-content.md +402 -0
- package/docs/content/locales/ko-KR/template-design.md +173 -0
- package/docs/content/locales/ko-KR/template-dispatch.md +220 -0
- package/docs/content/locales/ko-KR/template-forms.md +178 -0
- package/docs/content/locales/ko-KR/template-mail.md +239 -0
- package/docs/content/locales/ko-KR/template-plan.md +815 -0
- package/docs/content/locales/ko-KR/template-slides.md +293 -0
- package/docs/content/locales/ko-KR/template-videos.md +222 -0
- package/docs/content/locales/ko-KR/tracking.md +236 -0
- package/docs/content/locales/ko-KR/using-your-agent.md +71 -0
- package/docs/content/locales/ko-KR/voice-input.md +81 -0
- package/docs/content/locales/ko-KR/what-is-agent-native.md +202 -0
- package/docs/content/locales/ko-KR/workspace-connections.md +321 -0
- package/docs/content/locales/ko-KR/workspace-management.md +175 -0
- package/docs/content/locales/ko-KR/workspace.md +323 -0
- package/docs/content/locales/ko-KR/writing-agent-instructions.md +173 -0
- package/docs/content/locales/pt-BR/a2a-protocol.md +392 -0
- package/docs/content/locales/pt-BR/actions.md +583 -0
- package/docs/content/locales/pt-BR/agent-mentions.md +164 -0
- package/docs/content/locales/pt-BR/agent-surfaces.md +397 -0
- package/docs/content/locales/pt-BR/agent-teams.md +171 -0
- package/docs/content/locales/pt-BR/agent-web-surfaces.md +161 -0
- package/docs/content/locales/pt-BR/audit-log.md +111 -0
- package/docs/content/locales/pt-BR/authentication.md +332 -0
- package/docs/content/locales/pt-BR/automations.md +268 -0
- package/docs/content/locales/pt-BR/blueprint-installer.md +83 -0
- package/docs/content/locales/pt-BR/cli-adapters.md +129 -0
- package/docs/content/locales/pt-BR/client.md +398 -0
- package/docs/content/locales/pt-BR/cloneable-saas.md +114 -0
- package/docs/content/locales/pt-BR/code-agents-ui.md +436 -0
- package/docs/content/locales/pt-BR/components.md +368 -0
- package/docs/content/locales/pt-BR/context-awareness.md +373 -0
- package/docs/content/locales/pt-BR/creating-templates.md +411 -0
- package/docs/content/locales/pt-BR/cross-app-sso.md +185 -0
- package/docs/content/locales/pt-BR/database.md +183 -0
- package/docs/content/locales/pt-BR/deployment.md +349 -0
- package/docs/content/locales/pt-BR/dispatch.md +146 -0
- package/docs/content/locales/pt-BR/drop-in-agent.md +260 -0
- package/docs/content/locales/pt-BR/durable-resume.md +65 -0
- package/docs/content/locales/pt-BR/embedding-sdk.md +597 -0
- package/docs/content/locales/pt-BR/evals.md +155 -0
- package/docs/content/locales/pt-BR/extensions.md +360 -0
- package/docs/content/locales/pt-BR/external-agents.md +619 -0
- package/docs/content/locales/pt-BR/faq.md +142 -0
- package/docs/content/locales/pt-BR/file-uploads.md +122 -0
- package/docs/content/locales/pt-BR/frames.md +153 -0
- package/docs/content/locales/pt-BR/getting-started.md +199 -0
- package/docs/content/locales/pt-BR/harness-agents.md +349 -0
- package/docs/content/locales/pt-BR/human-approval.md +86 -0
- package/docs/content/locales/pt-BR/internationalization.md +67 -24
- package/docs/content/locales/pt-BR/key-concepts.md +312 -0
- package/docs/content/locales/pt-BR/local-file-mode.md +433 -0
- package/docs/content/locales/pt-BR/mcp-apps.md +147 -0
- package/docs/content/locales/pt-BR/mcp-clients.md +330 -0
- package/docs/content/locales/pt-BR/mcp-protocol.md +279 -0
- package/docs/content/locales/pt-BR/messaging.md +461 -0
- package/docs/content/locales/pt-BR/migration-workbench.md +33 -0
- package/docs/content/locales/pt-BR/multi-app-workspace.md +312 -0
- package/docs/content/locales/pt-BR/multi-tenancy.md +52 -0
- package/docs/content/locales/pt-BR/native-chat-ui.md +321 -0
- package/docs/content/locales/pt-BR/notifications.md +231 -0
- package/docs/content/locales/pt-BR/observability.md +294 -0
- package/docs/content/locales/pt-BR/observational-memory.md +77 -0
- package/docs/content/locales/pt-BR/onboarding.md +216 -0
- package/docs/content/locales/pt-BR/plan-plugin.md +200 -0
- package/docs/content/locales/pt-BR/pr-visual-recap.md +384 -0
- package/docs/content/locales/pt-BR/processors.md +106 -0
- package/docs/content/locales/pt-BR/progress.md +199 -0
- package/docs/content/locales/pt-BR/pure-agent-apps.md +39 -0
- package/docs/content/locales/pt-BR/real-time-collaboration.md +676 -0
- package/docs/content/locales/pt-BR/recurring-jobs.md +142 -0
- package/docs/content/locales/pt-BR/routing.md +79 -0
- package/docs/content/locales/pt-BR/sandbox-adapters.md +227 -0
- package/docs/content/locales/pt-BR/security.md +330 -0
- package/docs/content/locales/pt-BR/server.md +253 -0
- package/docs/content/locales/pt-BR/sharing.md +219 -0
- package/docs/content/locales/pt-BR/skills-guide.md +281 -0
- package/docs/content/locales/pt-BR/template-analytics.md +259 -0
- package/docs/content/locales/pt-BR/template-assets.md +303 -0
- package/docs/content/locales/pt-BR/template-brain.md +324 -0
- package/docs/content/locales/pt-BR/template-calendar.md +194 -0
- package/docs/content/locales/pt-BR/template-chat.md +129 -0
- package/docs/content/locales/pt-BR/template-clips.md +368 -0
- package/docs/content/locales/pt-BR/template-content.md +402 -0
- package/docs/content/locales/pt-BR/template-design.md +173 -0
- package/docs/content/locales/pt-BR/template-dispatch.md +220 -0
- package/docs/content/locales/pt-BR/template-forms.md +178 -0
- package/docs/content/locales/pt-BR/template-mail.md +239 -0
- package/docs/content/locales/pt-BR/template-plan.md +815 -0
- package/docs/content/locales/pt-BR/template-slides.md +293 -0
- package/docs/content/locales/pt-BR/template-videos.md +222 -0
- package/docs/content/locales/pt-BR/tracking.md +236 -0
- package/docs/content/locales/pt-BR/using-your-agent.md +71 -0
- package/docs/content/locales/pt-BR/voice-input.md +81 -0
- package/docs/content/locales/pt-BR/what-is-agent-native.md +202 -0
- package/docs/content/locales/pt-BR/workspace-connections.md +321 -0
- package/docs/content/locales/pt-BR/workspace-management.md +175 -0
- package/docs/content/locales/pt-BR/workspace.md +323 -0
- package/docs/content/locales/pt-BR/writing-agent-instructions.md +173 -0
- package/docs/content/locales/zh-CN/a2a-protocol.md +392 -0
- package/docs/content/locales/zh-CN/actions.md +583 -0
- package/docs/content/locales/zh-CN/agent-mentions.md +164 -0
- package/docs/content/locales/zh-CN/agent-surfaces.md +397 -0
- package/docs/content/locales/zh-CN/agent-teams.md +171 -0
- package/docs/content/locales/zh-CN/agent-web-surfaces.md +161 -0
- package/docs/content/locales/zh-CN/audit-log.md +111 -0
- package/docs/content/locales/zh-CN/authentication.md +332 -0
- package/docs/content/locales/zh-CN/automations.md +268 -0
- package/docs/content/locales/zh-CN/blueprint-installer.md +83 -0
- package/docs/content/locales/zh-CN/cli-adapters.md +129 -0
- package/docs/content/locales/zh-CN/client.md +398 -0
- package/docs/content/locales/zh-CN/cloneable-saas.md +114 -0
- package/docs/content/locales/zh-CN/code-agents-ui.md +436 -0
- package/docs/content/locales/zh-CN/components.md +368 -0
- package/docs/content/locales/zh-CN/context-awareness.md +373 -0
- package/docs/content/locales/zh-CN/creating-templates.md +411 -0
- package/docs/content/locales/zh-CN/cross-app-sso.md +188 -0
- package/docs/content/locales/zh-CN/database.md +183 -0
- package/docs/content/locales/zh-CN/deployment.md +349 -0
- package/docs/content/locales/zh-CN/dispatch.md +146 -0
- package/docs/content/locales/zh-CN/drop-in-agent.md +260 -0
- package/docs/content/locales/zh-CN/durable-resume.md +65 -0
- package/docs/content/locales/zh-CN/embedding-sdk.md +597 -0
- package/docs/content/locales/zh-CN/evals.md +155 -0
- package/docs/content/locales/zh-CN/extensions.md +360 -0
- package/docs/content/locales/zh-CN/external-agents.md +619 -0
- package/docs/content/locales/zh-CN/faq.md +142 -0
- package/docs/content/locales/zh-CN/file-uploads.md +122 -0
- package/docs/content/locales/zh-CN/frames.md +153 -0
- package/docs/content/locales/zh-CN/getting-started.md +199 -0
- package/docs/content/locales/zh-CN/harness-agents.md +349 -0
- package/docs/content/locales/zh-CN/human-approval.md +86 -0
- package/docs/content/locales/zh-CN/internationalization.md +67 -24
- package/docs/content/locales/zh-CN/key-concepts.md +312 -0
- package/docs/content/locales/zh-CN/local-file-mode.md +433 -0
- package/docs/content/locales/zh-CN/mcp-apps.md +147 -0
- package/docs/content/locales/zh-CN/mcp-clients.md +330 -0
- package/docs/content/locales/zh-CN/mcp-protocol.md +279 -0
- package/docs/content/locales/zh-CN/messaging.md +461 -0
- package/docs/content/locales/zh-CN/migration-workbench.md +33 -0
- package/docs/content/locales/zh-CN/multi-app-workspace.md +312 -0
- package/docs/content/locales/zh-CN/multi-tenancy.md +52 -0
- package/docs/content/locales/zh-CN/native-chat-ui.md +321 -0
- package/docs/content/locales/zh-CN/notifications.md +231 -0
- package/docs/content/locales/zh-CN/observability.md +294 -0
- package/docs/content/locales/zh-CN/observational-memory.md +77 -0
- package/docs/content/locales/zh-CN/onboarding.md +216 -0
- package/docs/content/locales/zh-CN/plan-plugin.md +200 -0
- package/docs/content/locales/zh-CN/pr-visual-recap.md +384 -0
- package/docs/content/locales/zh-CN/processors.md +106 -0
- package/docs/content/locales/zh-CN/progress.md +199 -0
- package/docs/content/locales/zh-CN/pure-agent-apps.md +39 -0
- package/docs/content/locales/zh-CN/real-time-collaboration.md +676 -0
- package/docs/content/locales/zh-CN/recurring-jobs.md +142 -0
- package/docs/content/locales/zh-CN/routing.md +79 -0
- package/docs/content/locales/zh-CN/sandbox-adapters.md +227 -0
- package/docs/content/locales/zh-CN/security.md +330 -0
- package/docs/content/locales/zh-CN/server.md +253 -0
- package/docs/content/locales/zh-CN/sharing.md +219 -0
- package/docs/content/locales/zh-CN/skills-guide.md +281 -0
- package/docs/content/locales/zh-CN/template-analytics.md +259 -0
- package/docs/content/locales/zh-CN/template-assets.md +303 -0
- package/docs/content/locales/zh-CN/template-brain.md +324 -0
- package/docs/content/locales/zh-CN/template-calendar.md +194 -0
- package/docs/content/locales/zh-CN/template-chat.md +129 -0
- package/docs/content/locales/zh-CN/template-clips.md +368 -0
- package/docs/content/locales/zh-CN/template-content.md +402 -0
- package/docs/content/locales/zh-CN/template-design.md +173 -0
- package/docs/content/locales/zh-CN/template-dispatch.md +220 -0
- package/docs/content/locales/zh-CN/template-forms.md +178 -0
- package/docs/content/locales/zh-CN/template-mail.md +239 -0
- package/docs/content/locales/zh-CN/template-plan.md +814 -0
- package/docs/content/locales/zh-CN/template-slides.md +293 -0
- package/docs/content/locales/zh-CN/template-videos.md +222 -0
- package/docs/content/locales/zh-CN/tracking.md +236 -0
- package/docs/content/locales/zh-CN/using-your-agent.md +71 -0
- package/docs/content/locales/zh-CN/voice-input.md +81 -0
- package/docs/content/locales/zh-CN/what-is-agent-native.md +202 -0
- package/docs/content/locales/zh-CN/workspace-connections.md +321 -0
- package/docs/content/locales/zh-CN/workspace-management.md +175 -0
- package/docs/content/locales/zh-CN/workspace.md +323 -0
- package/docs/content/locales/zh-CN/writing-agent-instructions.md +173 -0
- package/package.json +1 -1
- package/src/templates/default/app/i18n/ar-SA.ts +356 -0
- package/src/templates/default/app/i18n/de-DE.ts +332 -0
- package/src/templates/default/app/i18n/en-US.ts +303 -0
- package/src/templates/default/app/i18n/es-ES.ts +339 -0
- package/src/templates/default/app/i18n/fr-FR.ts +339 -0
- package/src/templates/default/app/i18n/hi-IN.ts +332 -0
- package/src/templates/default/app/i18n/index.ts +18 -0
- package/src/templates/default/app/i18n/ja-JP.ts +326 -0
- package/src/templates/default/app/i18n/ko-KR.ts +326 -0
- package/src/templates/default/app/i18n/pt-BR.ts +339 -0
- package/src/templates/default/app/i18n/zh-CN.ts +324 -0
- package/src/templates/default/app/root.tsx +109 -6
- package/src/templates/workspace-core/.agents/skills/extensions/references/api.md +34 -12
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Sécurité"
|
|
3
|
+
description: "Modèle de sécurité pour les applications natives d'agent : validation des entrées, prévention des injections SQL, XSS, portée des données, gestion des secrets et modèles d'authentification."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sécurité
|
|
7
|
+
|
|
8
|
+
Les applications natives d'agent sont conçues pour être sécurisées par défaut. Le framework fournit des protections automatiques à plusieurs couches : vous bénéficiez d'une isolation des données au niveau SQL, de requêtes paramétrées, d'une validation des entrées et d'une authentification prêtes à l'emploi.
|
|
9
|
+
|
|
10
|
+
## Ce que vous obtenez gratuitement et ce que vous possédez {#what-you-own}
|
|
11
|
+
|
|
12
|
+
```an-diagram title="Defense in layers" summary="The framework owns most of the threat surface; you own two things — tagging tables for scoping and validating external input."
|
|
13
|
+
{
|
|
14
|
+
"html": "<div class=\"sec-layers\"><div class=\"diagram-card free\"><span class=\"diagram-pill ok\">Framework owns</span><small class=\"diagram-muted\">SQL isolation · parameterized queries · XSS escaping · auth guard · CSRF cookies · secret encryption</small></div><div class=\"diagram-card you\"><span class=\"diagram-pill warn\">You own</span><small class=\"diagram-muted\">A. tag tables with ownableColumns() & route through access guards<br>B. give every action a Zod schema & send user URLs through the SSRF guard</small></div></div>",
|
|
15
|
+
"css": ".sec-layers{display:flex;flex-direction:column;gap:12px}.sec-layers .diagram-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px}"
|
|
16
|
+
}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Lorsque vous vous basez sur les modèles standards, le framework gère déjà la majeure partie de la surface des menaces pour vous :
|
|
20
|
+
|
|
21
|
+
- **Isolement des données** : l'agent SQL est réécrit afin qu'il ne puisse voir que les lignes de l'utilisateur actuel (et de l'organisation active). Voir [Data Scoping](#data-scoping).
|
|
22
|
+
- **Injection SQL** — `db-query`/`db-exec` et Drizzle sont toujours paramétrés. Voir [SQL Injection Prevention](#sql-injection).
|
|
23
|
+
- **XSS** – Échappement automatique du React, nettoyage TipTap et `react-markdown`. Voir [XSS Prevention](#xss).
|
|
24
|
+
- **Auth & CSRF** — chaque `defineAction` est protégé par authentification ; les cookies sont `httpOnly` + `SameSite=lax`. Voir [Authentication](#auth).
|
|
25
|
+
- **Chiffrement secret** : les informations d'identification et le coffre-fort sont chiffrés au repos. Voir [Secrets Management](#secrets).
|
|
26
|
+
|
|
27
|
+
Cela laisse une petite surface à laquelle vous devez réellement réfléchir :
|
|
28
|
+
|
|
29
|
+
- **R. Étiquetez vos tables pour la portée.** Ajoutez `owner_email` (et `org_id` pour les données d'équipe) via [`ownableColumns()`](#data-scoping) et acheminez les lectures/écritures de Drizzle via [access guards](#access-guards).
|
|
30
|
+
- **B. Validez et acheminez les entrées externes.** Attribuez à chaque action un Zod [`schema:`](#input-validation) et envoyez toute récupération côté serveur d'un utilisateur/agent URL via le [SSRF guard](#ssrf).
|
|
31
|
+
|
|
32
|
+
Réussissez ces deux éléments et le reste est par défaut. Le [Production Checklist](#production-checklist) est la confirmation d'une page avant l'expédition.
|
|
33
|
+
|
|
34
|
+
## Sécurité dès la conception {#secure-by-design}
|
|
35
|
+
|
|
36
|
+
L'architecture du framework évite les vulnérabilités courantes lorsque vous utilisez les modèles standard :
|
|
37
|
+
|
|
38
|
+
| Vulnérabilité | Protection du cadre |
|
|
39
|
+
| -------------------------------- | ----------------------------------------------------------------------------------------------- |
|
|
40
|
+
| Injection SQL | Requêtes paramétrées dans `db-query`/`db-exec` et Drizzle ORM |
|
|
41
|
+
| XSS | React échappe automatiquement à JSX ; TipTap nettoie le texte enrichi |
|
|
42
|
+
| Fuites de données | Portée au niveau SQL via des vues temporaires (`owner_email`, `org_id`) |
|
|
43
|
+
| Contournement d'authentification | Auth Guard protège automatiquement tous les points de terminaison `defineAction` |
|
|
44
|
+
| Injection d'entrée | Validation du schéma Zod dans `defineAction` |
|
|
45
|
+
| CSRF | Cookies `SameSite=lax` + `httpOnly` |
|
|
46
|
+
| Exposition secrète | `.env` gitignoré ; informations d'identification et coffre-fort chiffrés au repos (AES-256-GCM) |
|
|
47
|
+
| SSRF | `ssrfSafeFetch` bloque les cibles internes/métadonnées + redirection de liaison |
|
|
48
|
+
|
|
49
|
+
## Validation des entrées {#input-validation}
|
|
50
|
+
|
|
51
|
+
Utilisez `defineAction` avec un Zod `schema:` pour chaque action. Le framework valide automatiquement les entrées avant l'exécution de votre code :
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import { z } from "zod";
|
|
55
|
+
import { defineAction } from "@agent-native/core/action";
|
|
56
|
+
|
|
57
|
+
export default defineAction({
|
|
58
|
+
description: "Create a note",
|
|
59
|
+
schema: z.object({
|
|
60
|
+
title: z.string().min(1).max(200).describe("Note title"),
|
|
61
|
+
content: z.string().optional().describe("Note body"),
|
|
62
|
+
}),
|
|
63
|
+
run: async (args) => {
|
|
64
|
+
// args is guaranteed valid — invalid input never reaches here
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Une entrée invalide renvoie des messages d'erreur clairs (400 pour HTTP, erreur structurée pour les appels d'agent). L'ancien format `parameters:` ne fournit aucune validation d'exécution.
|
|
70
|
+
|
|
71
|
+
## Prévention des injections SQL {#sql-injection}
|
|
72
|
+
|
|
73
|
+
Les outils `db-query` et `db-exec` du framework utilisent des requêtes paramétrées. Les entrées utilisateur sont transmises sous forme d'arguments, jamais interpolées dans la chaîne SQL :
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
// SAFE — parameterized query (framework default)
|
|
77
|
+
await exec({ sql: "INSERT INTO notes (title) VALUES (?)", args: [title] });
|
|
78
|
+
|
|
79
|
+
// SAFE — Drizzle ORM (always generates parameterized queries)
|
|
80
|
+
await db.insert(notes).values({ title, ownerEmail: email });
|
|
81
|
+
|
|
82
|
+
// DANGEROUS — string concatenation (never do this)
|
|
83
|
+
await exec(`INSERT INTO notes (title) VALUES ('${title}')`);
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
```an-callout
|
|
87
|
+
{
|
|
88
|
+
"tone": "risk",
|
|
89
|
+
"body": "Never build SQL by string concatenation or template literals. Pass user input as `args` to `exec` / `db-query`, or use Drizzle — both always parameterize. The `pnpm guards` checks catch unscoped and concatenated queries at CI time."
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Prévention XSS {#xss}
|
|
94
|
+
|
|
95
|
+
React échappe automatiquement toutes les expressions JSX. Consignes supplémentaires :
|
|
96
|
+
|
|
97
|
+
- N'utilisez jamais `dangerouslySetInnerHTML` avec du contenu contrôlé par l'utilisateur
|
|
98
|
+
- N'utilisez jamais `innerHTML`, `eval()` ou `document.write()`
|
|
99
|
+
- Pour l'édition de texte enrichi, utilisez TipTap (dépendance du framework) : il nettoie tout au long de son schéma
|
|
100
|
+
- Pour le rendu du démarque, utilisez `react-markdown` : il se convertit en éléments React en toute sécurité
|
|
101
|
+
|
|
102
|
+
## Récupération côté serveur (SSRF) {#ssrf}
|
|
103
|
+
|
|
104
|
+
Tout `fetch` côté serveur d'un URL contrôlé par un utilisateur ou un agent doit passer par le framework SSRF guard, ou il peut être pointé vers des métadonnées cloud (`169.254.169.254`), `localhost` ou des services internes :
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
import { ssrfSafeFetch } from "@agent-native/core/extensions/url-safety";
|
|
108
|
+
|
|
109
|
+
const res = await ssrfSafeFetch(userProvidedUrl, {}, { maxRedirects: 3 });
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
`ssrfSafeFetch` bloque les cibles privées/internes, revérifie l'adresse IP résolue au moment de la connexion (reliaison DNS) et revalide chaque saut de redirection afin qu'un URL public ne puisse pas rediriger vers le réseau privé. Le proxy iframe d’extension, `upload-image`, et l’importateur de jetons de conception transitent tous par celui-ci. Pour une vérification avant vol uniquement, utilisez `isBlockedExtensionUrlWithDns(url)` avec `redirect: "manual"`.
|
|
113
|
+
|
|
114
|
+
## Étendue des données {#data-scoping}
|
|
115
|
+
|
|
116
|
+
En production, le framework restreint automatiquement les requêtes de l'agent SQL aux données de l'utilisateur actuel. Ceci est appliqué au niveau SQL : les agents ne peuvent pas le contourner. Cette section est la référence canonique pour le pipeline de cadrage ; les documents [Authentication](/docs/authentication) et [Multi-Tenancy](/docs/multi-tenancy) sont liés ici pour la mécanique.
|
|
117
|
+
|
|
118
|
+
### Le pipeline de cadrage {#scoping-pipeline}
|
|
119
|
+
|
|
120
|
+
La portée s'étend de la session authentifiée jusqu'au SQL exécuté par l'agent :
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
session.orgId → AGENT_ORG_ID → SQL row scoping
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
```an-diagram title="The scoping pipeline" summary="Agent SQL never touches base tables directly — it reads through a temporary view scoped to the current identity, so a bare table name can only return owned rows."
|
|
127
|
+
{
|
|
128
|
+
"html": "<div class=\"scope-pipe\"><div class=\"diagram-node\">Signed-in session<br><small class=\"diagram-muted\">email · orgId</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-node\">Request context<br><small class=\"diagram-muted\">AGENT_ORG_ID</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-box\">Temporary VIEW<br><small class=\"diagram-muted\">WHERE owner_email = ? AND org_id = ?</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-node ok\">Agent SQL<br><small class=\"diagram-muted\">bare table names only</small></div></div>",
|
|
129
|
+
"css": ".scope-pipe{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.scope-pipe .diagram-node{display:flex;flex-direction:column;gap:2px;padding:10px 14px}.scope-pipe .diagram-arrow{font-size:22px;line-height:1}"
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
La session connectée contient `email` et (lorsqu'une organisation est active) `orgId`. L'infrastructure établit le contexte de requête à partir de cette session, expose l'organisation active à l'agent SQL sous le nom `AGENT_ORG_ID` et réécrit chaque requête afin qu'elle ne puisse voir que les lignes appartenant à l'identité actuelle. Le même chemin s'applique que la requête provienne du UI, d'une action ou de l'agent : l'agent ne peut pas lire les données d'une organisation dont l'utilisateur n'est pas membre.
|
|
134
|
+
|
|
135
|
+
### Portée par utilisateur (`owner_email`)
|
|
136
|
+
|
|
137
|
+
Chaque table contenant des données spécifiques à l'utilisateur **doit** avoir une colonne de texte `owner_email`. Utilisez le nom de propriété camelCase Drizzle — `accessFilter` lit `resourceTable.ownerEmail` :
|
|
138
|
+
|
|
139
|
+
```ts
|
|
140
|
+
import {
|
|
141
|
+
table,
|
|
142
|
+
text,
|
|
143
|
+
integer,
|
|
144
|
+
ownableColumns,
|
|
145
|
+
} from "@agent-native/core/db/schema";
|
|
146
|
+
|
|
147
|
+
// Minimal: just the owner column
|
|
148
|
+
export const notes = table("notes", {
|
|
149
|
+
id: text("id").primaryKey(),
|
|
150
|
+
title: text("title").notNull(),
|
|
151
|
+
content: text("content"),
|
|
152
|
+
ownerEmail: text("owner_email").notNull(), // REQUIRED — camelCase property
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
// Or use ownableColumns() to add owner_email + org_id + visibility in one call
|
|
156
|
+
export const notes = table("notes", {
|
|
157
|
+
id: text("id").primaryKey(),
|
|
158
|
+
title: text("title").notNull(),
|
|
159
|
+
content: text("content"),
|
|
160
|
+
...ownableColumns(),
|
|
161
|
+
});
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
Le framework crée des vues SQL temporaires qui filtrent automatiquement les requêtes :
|
|
165
|
+
|
|
166
|
+
```sql
|
|
167
|
+
CREATE TEMPORARY VIEW "notes" AS
|
|
168
|
+
SELECT * FROM main."notes"
|
|
169
|
+
WHERE "owner_email" = 'alice@example.com';
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Les instructions INSERT sont automatiquement injectées dans `owner_email` lorsque la colonne n'est pas déjà présente.
|
|
173
|
+
|
|
174
|
+
Les outils `db-query` / `db-exec` rejettent les références de table qualifiées par le schéma (`public.<table>`, `main.<table>`) : un nom qualifié est résolu en table de base et contournerait la vue temporaire ci-dessus. Les agents utilisent des noms de table nus ; la portée est appliquée automatiquement.
|
|
175
|
+
|
|
176
|
+
### Portée par organisation (`org_id`)
|
|
177
|
+
|
|
178
|
+
Pour les applications multi-utilisateurs dans lesquelles les équipes partagent des données, ajoutez une colonne `org_id`. Lorsque les deux colonnes sont présentes, les requêtes sont étendues par les deux : `WHERE owner_email = ? AND org_id = ?`.
|
|
179
|
+
|
|
180
|
+
L'assistant de schéma `ownableColumns()` ajoute `owner_email`, `org_id` et `visibility` en un seul appel, de sorte que les nouvelles tables prenant en compte les locataires obtiennent le contrat de portée complet par défaut :
|
|
181
|
+
|
|
182
|
+
```ts
|
|
183
|
+
import { table, text, ownableColumns } from "@agent-native/core/db/schema";
|
|
184
|
+
|
|
185
|
+
export const projects = table("projects", {
|
|
186
|
+
id: text("id").primaryKey(),
|
|
187
|
+
title: text("title").notNull(),
|
|
188
|
+
...ownableColumns(), // adds owner_email + org_id + visibility
|
|
189
|
+
});
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
```an-schema title="What ownableColumns() adds" summary="The three columns that make a table tenant-aware and shareable."
|
|
193
|
+
{
|
|
194
|
+
"entities": [
|
|
195
|
+
{
|
|
196
|
+
"id": "ownable",
|
|
197
|
+
"name": "ownable resource",
|
|
198
|
+
"note": "Any table that spreads ...ownableColumns()",
|
|
199
|
+
"fields": [
|
|
200
|
+
{ "name": "owner_email", "type": "text", "nullable": false, "note": "Creator. Auto-filled by write actions; auto-injected on INSERT." },
|
|
201
|
+
{ "name": "org_id", "type": "text", "nullable": true, "note": "Owner's active org at creation. Drives org-visibility checks." },
|
|
202
|
+
{ "name": "visibility", "type": "enum", "nullable": false, "note": "private | org | public — coarse default, defaults to private." }
|
|
203
|
+
]
|
|
204
|
+
}
|
|
205
|
+
]
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Protections d'accès dans actions {#access-guards}
|
|
210
|
+
|
|
211
|
+
L'agent brut SQL est limité aux vues temporaires ci-dessus. Le code d'action qui interroge directement Drizzle doit passer par les assistants d'accès du framework afin que les lectures et les écritures restent limitées à l'identité actuelle :
|
|
212
|
+
|
|
213
|
+
- **`accessFilter`** : renvoie le prédicat `WHERE` qui limite une requête aux lignes que l'utilisateur/l'organisation actuel peut voir. Utilisez-le dans les requêtes de liste/lecture.
|
|
214
|
+
- **`resolveAccess`** : résout l'étendue d'accès effective (propriétaire, organisation, partagé) pour la demande actuelle.
|
|
215
|
+
- **`assertAccess`** — protège une écriture ou une lecture d'un seul enregistrement, en lançant si l'identité actuelle ne peut pas agir sur la ligne cible.
|
|
216
|
+
|
|
217
|
+
Les tables créées avec `ownableColumns()` nécessitent ces lectures et écritures étendues ; Les itinéraires Nitro personnalisés doivent établir le contexte de la demande avant d'interroger les données pouvant être possédées. La vérification `guard-no-unscoped-queries` (exécutée via `pnpm guards`) applique cela au moment CI. Consultez la compétence `sharing` pour l'assistant complet API.
|
|
218
|
+
|
|
219
|
+
### Validation
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
pnpm action db-check-scoping # Check all tables have owner_email
|
|
223
|
+
pnpm action db-check-scoping --require-org # Also require org_id
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
## Gestion des secrets {#secrets}
|
|
227
|
+
|
|
228
|
+
| Type secret | Où stocker |
|
|
229
|
+
| ------------------------------------------------------ | --------------------------------------------------------- |
|
|
230
|
+
| Clés de niveau de déploiement (une par application) | Fichier `.env` (gitignored, côté serveur uniquement) |
|
|
231
|
+
| Clés API par utilisateur/par organisation | `saveCredential` / `resolveCredential` (chiffré au repos) |
|
|
232
|
+
| Secrets enregistrés (coffre-fort de la barre latérale) | Coffre-fort `app_secrets` (chiffré au repos) |
|
|
233
|
+
| Jetons OAuth (Google, GitHub) | Magasin `oauth_tokens` via `saveOAuthTokens()` |
|
|
234
|
+
| Jetons de session | Automatique (une meilleure authentification gère cela) |
|
|
235
|
+
|
|
236
|
+
Les informations d'identification par utilisateur/par organisation et le coffre-fort sont chiffrés au repos avec AES-256-GCM, saisis par `SECRETS_ENCRYPTION_KEY` (en revenant à `BETTER_AUTH_SECRET`) ; la production refuse de démarrer sans un. Pour chiffrer toutes les lignes d'informations d'identification en texte brut préexistantes, exécutez `pnpm action db-migrate-encrypt-credentials` (idempotent, non destructif).
|
|
237
|
+
|
|
238
|
+
Ne stockez jamais de secrets dans `settings`, `application_state`, le code source ou les réponses aux actions. Utilisez les identifiants/coffre-fort API ci-dessus : ils gèrent à la fois le chiffrement et la portée par utilisateur.
|
|
239
|
+
|
|
240
|
+
## Authentification {#auth}
|
|
241
|
+
|
|
242
|
+
L'authentification est automatique. Consultez la documentation [Authentication](/docs/authentication) pour la configuration complète.
|
|
243
|
+
|
|
244
|
+
**Points clés pour la sécurité :**
|
|
245
|
+
|
|
246
|
+
- Les points de terminaison `defineAction` sont automatiquement protégés par Auth Guard
|
|
247
|
+
- Les itinéraires `/api/` personnalisés doivent appeler `getSession(event)` et vérifier le résultat
|
|
248
|
+
- Les opérations de changement d'état doivent utiliser POST (valeur par défaut pour actions)
|
|
249
|
+
- Les cookies `SameSite=lax` + `httpOnly` empêchent la plupart des attaques CSRF
|
|
250
|
+
|
|
251
|
+
## Vérification d'identité A2A {#a2a-identity}
|
|
252
|
+
|
|
253
|
+
Lorsque les applications s'appellent via le protocole A2A, elles vérifient leur identité à l'aide de jetons JWT signés avec un secret partagé :
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
A2A_SECRET=your-shared-secret-at-least-32-chars
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
1. L'application A signe un JWT contenant `sub: "steve@example.com"`
|
|
260
|
+
2. L'application B vérifie la signature JWT avec le même secret
|
|
261
|
+
3. L'application B lit la revendication `sub` vérifiée dans le contexte de la demande
|
|
262
|
+
4. La portée des données s'applique : l'application B affiche uniquement les données de Steve
|
|
263
|
+
|
|
264
|
+
Sans `A2A_SECRET` en production, chaque point de terminaison A2A et le point de terminaison à déclenchement automatique `/_agent-native/integrations/process-task` renvoient **503**. Définissez-le sur chaque application qui appelle ou reçoit du trafic A2A. (Pour le développement local, le framework autorise toujours les appels non authentifiés.)
|
|
265
|
+
|
|
266
|
+
## Entrant Webhooks {#webhooks}
|
|
267
|
+
|
|
268
|
+
Les gestionnaires de webhooks entrants (Resend, SendGrid, Slack, Telegram, WhatsApp, Recall.ai, Deepgram, Zoom, Google Docs Pub/Sub) refusent les requêtes falsifiées par défaut en production : lorsque la variable d'environnement du secret de signature correspondante est manquante, le gestionnaire renvoie 401 au lieu d'accepter et de distribuer.
|
|
269
|
+
|
|
270
|
+
Il s'agissait auparavant d'une position « avertir et accepter » : définissez le secret qui vous manquerait autrement, ou revenez à l'ancien comportement avec `AGENT_NATIVE_ALLOW_UNVERIFIED_WEBHOOKS=1` pour les développeurs locaux uniquement. Voir [Messaging](/docs/messaging#env-vars) pour les variables secrètes de signature par intégration.
|
|
271
|
+
|
|
272
|
+
## Liste de contrôle de production {#production-checklist}
|
|
273
|
+
|
|
274
|
+
### Authentification et secrets
|
|
275
|
+
|
|
276
|
+
- [ ] `BETTER_AUTH_SECRET` défini sur une chaîne aléatoire de plus de 32 caractères (`openssl rand -hex 32`), sauf s'il s'agit d'un déploiement d'espace de travail hébergé le dérivant de `A2A_SECRET`
|
|
277
|
+
- [ ] `OAUTH_STATE_SECRET` défini sur une chaîne aléatoire distincte de plus de 32 caractères (ne pas réutiliser `BETTER_AUTH_SECRET`) — voir [OAuth State Signing](#oauth-state)
|
|
278
|
+
- [ ] `A2A_SECRET` défini sur chaque application qui appelle ou reçoit du trafic A2A — voir [A2A Identity Verification](#a2a-identity)
|
|
279
|
+
- [ ] Ensemble `SECRETS_ENCRYPTION_KEY` (ou comptez sur la solution de repli `BETTER_AUTH_SECRET`) — voir [Secrets Management](#secrets)
|
|
280
|
+
- [ ] `AUTH_SKIP_EMAIL_VERIFICATION` n'est **pas** défini en production (ou défini uniquement lors des déploiements d'aperçu QA)
|
|
281
|
+
|
|
282
|
+
### Secrets Webhook (définissez ceux des intégrations que vous utilisez)
|
|
283
|
+
|
|
284
|
+
- [ ] Secret de signature défini pour chaque intégration entrante activée – voir [Inbound Webhooks](#webhooks) et [Messaging](/docs/messaging#env-vars) pour la liste par intégration
|
|
285
|
+
- [ ] `AGENT_NATIVE_ALLOW_UNVERIFIED_WEBHOOKS` n'est **pas** défini dans la production
|
|
286
|
+
|
|
287
|
+
### Schéma
|
|
288
|
+
|
|
289
|
+
- [ ] Chaque table destinée à l'utilisateur a `owner_email`, les tables multi-utilisateurs également `org_id` — voir [Data Scoping](#data-scoping)
|
|
290
|
+
- [ ] Les lectures/écritures de tables propriétaires passent par le [access guards](#access-guards)
|
|
291
|
+
- [ ] Tous les actions utilisent `defineAction` avec Zod `schema:` — voir [Input Validation](#input-validation)
|
|
292
|
+
- [ ] Les récupérations côté serveur des URL utilisateur/agent passent par `ssrfSafeFetch` — voir [SSRF](#ssrf)
|
|
293
|
+
- [ ] Aucun `dangerouslySetInnerHTML` avec le contenu utilisateur (ou la sortie est exécutée via DOMPurify)
|
|
294
|
+
- [ ] Pas de SQL concaténé par chaîne
|
|
295
|
+
- [ ] `pnpm guards` est propre (`guard-no-unscoped-queries`, `guard-no-env-credentials`, `guard-no-env-mutation`, `guard-no-localhost-fallback`, `guard-no-unscoped-credentials`, `guard-no-drizzle-push`)
|
|
296
|
+
- [ ] Testé avec deux comptes d'utilisateurs pour vérifier l'isolement des données
|
|
297
|
+
|
|
298
|
+
### Durcissement divers
|
|
299
|
+
|
|
300
|
+
- [ ] `AGENT_NATIVE_DEBUG_ERRORS` n'est **pas** défini dans la production réelle (uniquement sur les aperçus de débogage)
|
|
301
|
+
- [ ] `AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK` n'est **pas** défini, sauf si votre organisation partage réellement des clés d'espace de travail – voir [Cross-User Tooling Secrets](#tooling-secrets)
|
|
302
|
+
- [ ] Dans les déploiements multi-locataires, **les utilisateurs apportent leur propre `ANTHROPIC_API_KEY`** — le framework refuse de recourir à la variable d'environnement au niveau du déploiement
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
Les sections ci-dessous couvrent les indicateurs d'environnement de niche que vous n'utilisez que dans des déploiements spécifiques. La plupart des applications n'y touchent jamais.
|
|
307
|
+
|
|
308
|
+
## Signature d'état OAuth {#oauth-state}
|
|
309
|
+
|
|
310
|
+
Les flux OAuth (Google, Atlassian, Zoom) signent leur enveloppe d'état avec une clé HMAC dédiée :
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
OAUTH_STATE_SECRET=$(openssl rand -hex 32)
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
Auparavant, on utilisait `GOOGLE_CLIENT_SECRET` (un identifiant partagé avec Google) : une fuite du secret de Google aurait permis aux attaquants de falsifier les enveloppes d'état OAuth. La clé dédiée est indépendante de tout secret tiers. Si `OAUTH_STATE_SECRET` n’est pas défini, le framework revient à `BETTER_AUTH_SECRET` ; Les déploiements d'espace de travail hébergé peuvent également dériver une clé OAuth spécifique à partir de la clé `A2A_SECRET` déjà requise. Si aucun de ces secrets de serveur n'est disponible, les flux OAuth échouent en production.
|
|
317
|
+
|
|
318
|
+
Les paramètres de requête `redirect_uri` sont également validés par rapport à une liste autorisée (chemins `/_agent-native/...` de même origine + framework). Les flux OAuth personnalisés dans les modèles doivent utiliser l'assistant `isAllowedOAuthRedirectUri()` du framework avant de signer l'état.
|
|
319
|
+
|
|
320
|
+
## Secrets des outils multi-utilisateurs {#tooling-secrets}
|
|
321
|
+
|
|
322
|
+
Les outils et automatisations qui font référence à `${keys.NAME}` résolvent les secrets par utilisateur par défaut. La solution de secours au niveau de l'espace de travail est **désactivée par défaut** dans cette version : un membre malveillant de l'organisation pourrait autrement créer un espace de travail `OPENAI_API_KEY` et récolter les appels API d'autres membres.
|
|
323
|
+
|
|
324
|
+
Si votre organisation partage réellement des clés à l'échelle de l'espace de travail (par exemple, une seule clé Stripe d'entreprise), rétablissez l'ancien comportement avec :
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK=1
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
Les écritures secrètes à l’échelle de l’espace de travail nécessitent toujours le rôle de propriétaire/administrateur de l’organisation, quel que soit cet indicateur.
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Serveur"
|
|
3
|
+
description: "Routes du serveur Nitro, plug-ins, routes montées sur le framework, contexte de requête et synchronisation basée sur SQL."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Serveur
|
|
7
|
+
|
|
8
|
+
Les applications natives d'agent utilisent [Nitro](https://nitro.build) pour les routes de serveur et les plug-ins. La plupart des comportements de produits devraient résider dans [Actions](/docs/actions) ; les routes personnalisées sont destinées aux surfaces de protocole auxquelles actions ne s'adapte pas : téléchargements, streaming, pages publiques, rappels webhooks, OAuth et API spécifiques au fournisseur.
|
|
9
|
+
|
|
10
|
+
```an-diagram title="What runs on the server" summary="Actions are the default. Custom file routes and framework-mounted routes share the same Nitro app and the same SQL database."
|
|
11
|
+
{
|
|
12
|
+
"html": "<div class=\"diagram-server\"><div class=\"diagram-col entry\"><div class=\"diagram-node\">Browser / UI</div><div class=\"diagram-node\">Agent loop</div><div class=\"diagram-node\">External clients<br><small class=\"diagram-muted\">HTTP · MCP · A2A</small></div></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-panel\" data-rough><strong>Nitro server</strong><div class=\"diagram-row\"><span class=\"diagram-pill accent\">Actions</span><small class=\"diagram-muted\">default surface</small></div><div class=\"diagram-row\"><span class=\"diagram-pill\">/_agent-native/*</span><small class=\"diagram-muted\">framework routes</small></div><div class=\"diagram-row\"><span class=\"diagram-pill\">/api/*</span><small class=\"diagram-muted\">custom file routes</small></div><div class=\"diagram-row\"><span class=\"diagram-pill\">plugins</span><small class=\"diagram-muted\">startup: migrations, jobs</small></div></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-box\" data-rough>SQL database<br><small class=\"diagram-muted\">Drizzle · the coordination point</small></div></div>",
|
|
13
|
+
"css": ".diagram-server{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.diagram-server .diagram-col{display:flex;flex-direction:column;gap:10px}.diagram-server .diagram-panel{display:flex;flex-direction:column;gap:8px;padding:14px 16px}.diagram-server .diagram-row{display:flex;align-items:center;gap:8px}.diagram-server .diagram-arrow{font-size:22px;line-height:1}"
|
|
14
|
+
}
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Routages basés sur des fichiers {#file-based-routes}
|
|
18
|
+
|
|
19
|
+
Les itinéraires présents dans `server/routes/` et Nitro mappent les noms de fichiers aux méthodes et aux chemins :
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
server/routes/
|
|
23
|
+
api/
|
|
24
|
+
health.get.ts -> GET /api/health
|
|
25
|
+
uploads.post.ts -> POST /api/uploads
|
|
26
|
+
webhooks/
|
|
27
|
+
stripe.post.ts -> POST /api/webhooks/stripe
|
|
28
|
+
[...page].get.ts -> SSR catch-all for public pages
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Chaque itinéraire exporte un `defineEventHandler` :
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
// server/routes/api/health.get.ts
|
|
35
|
+
import { defineEventHandler } from "h3";
|
|
36
|
+
|
|
37
|
+
export default defineEventHandler(() => ({
|
|
38
|
+
ok: true,
|
|
39
|
+
service: "my-template",
|
|
40
|
+
}));
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Conventions de dénomination des itinéraires {#route-naming-conventions}
|
|
44
|
+
|
|
45
|
+
| Modèle de nom de fichier | Méthode HTTP | Exemple de chemin |
|
|
46
|
+
| ------------------------ | ------------ | ----------------------------- |
|
|
47
|
+
| `index.get.ts` | GET | `/api/items` |
|
|
48
|
+
| `index.post.ts` | POST | `/api/items` |
|
|
49
|
+
| `[id].get.ts` | GET | `/api/items/:id` |
|
|
50
|
+
| `[id].patch.ts` | PATCH | `/api/items/:id` |
|
|
51
|
+
| `[id].delete.ts` | DELETE | `/api/items/:id` |
|
|
52
|
+
| `[...slug].get.ts` | GET | `/api/items/*` ou fourre-tout |
|
|
53
|
+
|
|
54
|
+
## Préférez Actions pour les opérations d'application {#actions-first}
|
|
55
|
+
|
|
56
|
+
Si le UI et l'agent doivent tous deux faire quelque chose, définissez une action au lieu d'un itinéraire API personnalisé. Actions devient automatiquement :
|
|
57
|
+
|
|
58
|
+
- Outils d'agent.
|
|
59
|
+
- Hooks frontaux typés.
|
|
60
|
+
- Points de terminaison HTTP sous `/_agent-native/actions/:name`.
|
|
61
|
+
- Outils appelables MCP et A2A.
|
|
62
|
+
- Commandes CLI pour le développement.
|
|
63
|
+
|
|
64
|
+
Utilisez des routes `/api/*` personnalisées uniquement lorsque vous avez besoin d'un protocole en forme de route ou d'un comportement binaire/streaming. Voir [Actions](/docs/actions).
|
|
65
|
+
|
|
66
|
+
## Achèvement du texte en une seule fois {#complete-text}
|
|
67
|
+
|
|
68
|
+
La plupart des travaux d'IA doivent passer par le chat de l'agent afin que les utilisateurs puissent voir, piloter et auditer
|
|
69
|
+
que s'est-il passé. Pour les transformations étroites côté serveur qui n'ont intentionnellement pas besoin
|
|
70
|
+
outils, historique des discussions ou état d'exécution, utilisez `completeText()` comme échappement explicite
|
|
71
|
+
trappe.
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
// actions/classify-message.ts
|
|
75
|
+
import { defineAction } from "@agent-native/core/action";
|
|
76
|
+
import { completeText } from "@agent-native/core/server";
|
|
77
|
+
import { z } from "zod";
|
|
78
|
+
|
|
79
|
+
export default defineAction({
|
|
80
|
+
description: "Classify a short message",
|
|
81
|
+
schema: z.object({ body: z.string() }),
|
|
82
|
+
run: async ({ body }) => {
|
|
83
|
+
const result = await completeText({
|
|
84
|
+
systemPrompt:
|
|
85
|
+
"Return exactly one label: urgent, follow-up, waiting, or archive.",
|
|
86
|
+
input: body,
|
|
87
|
+
maxOutputTokens: 16,
|
|
88
|
+
temperature: 0,
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
return { label: result.text.trim() };
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
`completeText()` s'exécute via la même couche moteur configurée que l'agent
|
|
97
|
+
chat, y compris les fournisseurs Builder, Anthropic, AI SDK, les paramètres par défaut du modèle utilisateur/application,
|
|
98
|
+
secrets au niveau de la demande et erreurs normalisées par le moteur. Il s'agit uniquement d'un serveur ; ne le fais pas
|
|
99
|
+
appelez les fournisseurs de modèles à partir du code client. Si l'opération est destinée à l'utilisateur, enveloppez-la
|
|
100
|
+
dans une action afin que le UI et l'agent partagent la même capacité.
|
|
101
|
+
|
|
102
|
+
## Demander le contexte et l'accès {#request-context}
|
|
103
|
+
|
|
104
|
+
Actions monté par le framework s'exécute automatiquement avec le contexte de la requête. Les itinéraires personnalisés ne le font pas. Si un itinéraire personnalisé lit ou écrit des ressources propriétaires, chargez la session et terminez le travail :
|
|
105
|
+
|
|
106
|
+
```an-annotated-code title="Scoping a custom route to the request user"
|
|
107
|
+
{
|
|
108
|
+
"filename": "server/routes/api/projects.get.ts",
|
|
109
|
+
"language": "ts",
|
|
110
|
+
"code": "import { defineEventHandler, createError } from \"h3\";\nimport { getSession, runWithRequestContext } from \"@agent-native/core/server\";\nimport { getDb } from \"../../db/index.js\";\nimport { accessFilter } from \"@agent-native/core/sharing\";\nimport * as schema from \"../../db/schema\";\n\nexport default defineEventHandler(async (event) => {\n const session = await getSession(event);\n if (!session?.email) {\n throw createError({ statusCode: 401, statusMessage: \"Unauthorized\" });\n }\n\n return runWithRequestContext(\n { userEmail: session.email, orgId: session.orgId },\n async () => {\n const db = getDb();\n return db\n .select()\n .from(schema.projects)\n .where(accessFilter(schema.projects, schema.projectShares));\n },\n );\n});",
|
|
111
|
+
"annotations": [
|
|
112
|
+
{ "lines": "7-10", "label": "Custom routes have no auto-context", "note": "Unlike actions, a file route must load the session itself and fail closed when there is no authenticated user." },
|
|
113
|
+
{ "lines": "12-13", "label": "Establish request context", "note": "`runWithRequestContext` makes the user/org available to scoping helpers for the duration of the work." },
|
|
114
|
+
{ "lines": "18-19", "label": "Scope ownable reads", "note": "`accessFilter` constrains the query to rows the caller may see. Never run an unscoped `db.select().from(ownableTable)` here." }
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
`getDb` est créé par application via `createGetDb(schema)` dans `server/db/index.ts`, donc les itinéraires personnalisés l'importent à partir du modèle (`../../db/index.js`), et non à partir de `@agent-native/core/db` ; voir [Database — Where the DB Client Lives](/docs/database#db-client). N'exécutez pas `db.select().from(ownableTable)` sans portée dans des itinéraires personnalisés.
|
|
120
|
+
|
|
121
|
+
## Plugins de serveur {#server-plugins}
|
|
122
|
+
|
|
123
|
+
Les plugins résident dans `server/plugins/` et s'exécutent au démarrage. Utilisez-les pour les migrations, la configuration du fournisseur, les tâches récurrentes, les adaptateurs d'intégration et la configuration du plugin framework.
|
|
124
|
+
|
|
125
|
+
```ts
|
|
126
|
+
// server/plugins/db.ts
|
|
127
|
+
import { runMigrations } from "@agent-native/core/db";
|
|
128
|
+
|
|
129
|
+
export default runMigrations(
|
|
130
|
+
[
|
|
131
|
+
{
|
|
132
|
+
version: 1,
|
|
133
|
+
sql: `CREATE TABLE IF NOT EXISTS projects (
|
|
134
|
+
id TEXT PRIMARY KEY,
|
|
135
|
+
title TEXT NOT NULL,
|
|
136
|
+
owner_email TEXT NOT NULL,
|
|
137
|
+
org_id TEXT,
|
|
138
|
+
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
139
|
+
)`,
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
{ table: "my_app_migrations" },
|
|
143
|
+
);
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Les migrations doivent être additives. Ne mettez jamais de SQL destructeur dans les plugins de démarrage.
|
|
147
|
+
|
|
148
|
+
## Itinéraires montés sur cadre {#framework-routes}
|
|
149
|
+
|
|
150
|
+
Le framework monte ses propres routes sous `/_agent-native/`. Traitez cet espace de noms comme réservé.
|
|
151
|
+
|
|
152
|
+
| Préfixe d'itinéraire | Objectif |
|
|
153
|
+
| -------------------------------- | ------------------------------------------------------------------------------------- |
|
|
154
|
+
| `/_agent-native/actions/:name` | Points de terminaison de l'action HTTP |
|
|
155
|
+
| `/_agent-native/agent-chat` | Boucle de discussion avec les agents |
|
|
156
|
+
| `/_agent-native/poll` | Synchronisation UI basée sur SQL |
|
|
157
|
+
| `/_agent-native/resources/*` | Ressources de l'espace de travail |
|
|
158
|
+
| `/_agent-native/extensions/*` | Extensions d'exécution et proxy d'extension (alias hérité : `/_agent-native/tools/*`) |
|
|
159
|
+
| `/_agent-native/integrations/*` | Intégrations de messagerie/webhook |
|
|
160
|
+
| `/_agent-native/a2a` | Agent à agent JSON-RPC |
|
|
161
|
+
| `/_agent-native/mcp` | Point de terminaison MCP |
|
|
162
|
+
| `/_agent-native/onboarding/*` | Liste de contrôle de configuration |
|
|
163
|
+
| `/_agent-native/observability/*` | Traces, retours, évaluations, expériences |
|
|
164
|
+
| `/_agent-native/file-upload` | Point de terminaison du fournisseur de téléchargement de fichiers |
|
|
165
|
+
|
|
166
|
+
Les routes d'application personnalisées doivent utiliser `/api/*`, des chemins d'application publics ou des chemins de rappel spécifiques au fournisseur qui n'entrent pas en collision avec `/_agent-native/`.
|
|
167
|
+
|
|
168
|
+
## Synchronisation basée sur SQL {#sync}
|
|
169
|
+
|
|
170
|
+
L'agent natif ne s'appuie pas sur les observateurs du système de fichiers ni sur l'état persistant en mémoire. Lorsque actions ou les assistants du framework mute les données, la version de synchronisation de la base de données s'incrémente. Le hook client `useDbSync()` interroge `/_agent-native/poll` et invalide les caches de requête React.
|
|
171
|
+
|
|
172
|
+
Cela fonctionne dans les déploiements sans serveur et multi-instances, car la base de données est le point de coordination. Si vous écrivez des mutations personnalisées en dehors de actions, utilisez des assistants de framework ou émettez l'invalidation de synchronisation appropriée afin d'ouvrir l'actualisation de UI.
|
|
173
|
+
|
|
174
|
+
```an-diagram title="SQL-backed sync loop" summary="No watchers, no sticky state. A write bumps a version in SQL; every client polls the version and refetches."
|
|
175
|
+
{
|
|
176
|
+
"html": "<div class=\"diagram-sync\"><div class=\"diagram-box\" data-rough>Action / helper<br><small class=\"diagram-muted\">mutates data</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-panel\" data-rough><strong>SQL database</strong><small class=\"diagram-muted\">sync version increments</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">←</div><div class=\"diagram-col\"><div class=\"diagram-node\">useDbSync()<br><small class=\"diagram-muted\">polls /_agent-native/poll</small></div><div class=\"diagram-pill ok\">invalidate caches → UI refreshes</div></div></div>",
|
|
177
|
+
"css": ".diagram-sync{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.diagram-sync .diagram-col{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.diagram-sync .diagram-arrow{font-size:22px;line-height:1}"
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
```an-api title="The poll endpoint" method="GET" path="/_agent-native/poll"
|
|
182
|
+
{
|
|
183
|
+
"method": "GET",
|
|
184
|
+
"path": "/_agent-native/poll",
|
|
185
|
+
"summary": "Return the current per-source database sync versions so the client can detect changes.",
|
|
186
|
+
"description": "`useDbSync()` calls this on an interval (and falls back to it when SSE is unavailable). When a returned version is higher than the client's last-seen value, the matching React Query caches are invalidated and refetch.",
|
|
187
|
+
"auth": "Session cookie (request-scoped identity)",
|
|
188
|
+
"responses": [
|
|
189
|
+
{ "status": "200", "description": "Current sync versions keyed by source." }
|
|
190
|
+
]
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Webhooks {#webhooks}
|
|
195
|
+
|
|
196
|
+
Le webhooks entrant doit être vérifié, conservé et renvoyé rapidement. Le travail d'agent de longue durée doit utiliser le modèle de file d'attente d'intégration :
|
|
197
|
+
|
|
198
|
+
1. Vérifiez la signature ou le défi de la plateforme.
|
|
199
|
+
2. Insérez un travail durable dans SQL.
|
|
200
|
+
3. Déclenchez automatiquement une route de processeur signée.
|
|
201
|
+
4. Renvoyez 200 immédiatement.
|
|
202
|
+
5. Laissez la nouvelle exécution du processeur exécuter la boucle d'agent et publier le résultat.
|
|
203
|
+
|
|
204
|
+
```an-diagram title="Integration queue pattern" summary="The webhook handler returns in milliseconds; a separate signed execution runs the slow agent work."
|
|
205
|
+
{
|
|
206
|
+
"html": "<div class=\"diagram-webhook\"><div class=\"diagram-box\" data-rough>Inbound webhook<br><small class=\"diagram-muted\">Slack · Stripe · email</small></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-panel\" data-rough><strong>Handler</strong><div class=\"diagram-step\"><span class=\"diagram-pill\">1</span><small class=\"diagram-muted\">verify signature</small></div><div class=\"diagram-step\"><span class=\"diagram-pill\">2</span><small class=\"diagram-muted\">insert work into SQL</small></div><div class=\"diagram-step\"><span class=\"diagram-pill\">3</span><small class=\"diagram-muted\">self-fire processor</small></div><div class=\"diagram-step\"><span class=\"diagram-pill ok\">4</span><small class=\"diagram-muted\">return 200 now</small></div></div><div class=\"diagram-arrow diagram-muted\" aria-hidden=\"true\">→</div><div class=\"diagram-box\" data-rough>Signed processor<br><small class=\"diagram-muted\">runs agent loop, posts result</small></div></div>",
|
|
207
|
+
"css": ".diagram-webhook{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.diagram-webhook .diagram-panel{display:flex;flex-direction:column;gap:6px;padding:14px 16px}.diagram-webhook .diagram-step{display:flex;align-items:center;gap:8px}.diagram-webhook .diagram-arrow{font-size:22px;line-height:1}"
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
> [!WARNING]
|
|
212
|
+
> Ne vous fiez pas à des promesses non attendues après avoir renvoyé une réponse : les hôtes sans serveur gèlent l'exécution. Voir [Messaging](/docs/messaging) pour la file d'attente d'intégration canonique.
|
|
213
|
+
|
|
214
|
+
## Avancé : trappes d'évacuation {#advanced-escape-hatches}
|
|
215
|
+
|
|
216
|
+
La plupart des modèles n'en ont jamais besoin. Routes de fichiers Nitro et agent du framework
|
|
217
|
+
Le plugin de chat connecte déjà le serveur d'applications et le gestionnaire de l'agent de production.
|
|
218
|
+
Contactez-les uniquement lors de la création d'une intégration de serveur personnalisée en dehors du
|
|
219
|
+
pile de plugins de modèles standard.
|
|
220
|
+
|
|
221
|
+
### Serveurs H3 programmatiques {#create-server}
|
|
222
|
+
|
|
223
|
+
Pour les packages ou tests personnalisés nécessitant directement une application H3, `createServer()`
|
|
224
|
+
renvoie une application et un routeur préconfigurés :
|
|
225
|
+
|
|
226
|
+
```ts
|
|
227
|
+
import { createServer } from "@agent-native/core/server";
|
|
228
|
+
import { defineEventHandler } from "h3";
|
|
229
|
+
|
|
230
|
+
const { app, router } = createServer();
|
|
231
|
+
|
|
232
|
+
router.get(
|
|
233
|
+
"/api/health",
|
|
234
|
+
defineEventHandler(() => ({ ok: true })),
|
|
235
|
+
);
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Gestionnaire d'agent de production {#agent-handler}
|
|
239
|
+
|
|
240
|
+
Le plugin de chat d'agent du framework monte déjà le gestionnaire d'agent de production
|
|
241
|
+
pour les modèles. N'appelez `createProductionAgentHandler()` directement lors de la construction
|
|
242
|
+
une intégration de serveur personnalisée en dehors de la pile de plugins de modèles standard —
|
|
243
|
+
sinon, personnalisez l'agent via `AGENTS.md`, skills, actions et
|
|
244
|
+
plugin de chat d'agent.
|
|
245
|
+
|
|
246
|
+
```ts
|
|
247
|
+
import { createProductionAgentHandler } from "@agent-native/core/server";
|
|
248
|
+
|
|
249
|
+
const handler = createProductionAgentHandler({
|
|
250
|
+
scripts,
|
|
251
|
+
systemPrompt: "You are the app agent...",
|
|
252
|
+
});
|
|
253
|
+
```
|