@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: "Seguridad"
|
|
3
|
+
description: "Modelo de seguridad para aplicaciones nativas del agente: validación de entradas, prevención de inyección SQL, XSS, alcance de datos, gestión de secretos y patrones de autenticación."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Seguridad
|
|
7
|
+
|
|
8
|
+
Las aplicaciones nativas del agente están diseñadas para ser seguras de forma predeterminada. El marco proporciona protecciones automáticas en múltiples capas: obtiene aislamiento de datos de nivel SQL, consultas parametrizadas, validación de entradas y autenticación listas para usar.
|
|
9
|
+
|
|
10
|
+
## Lo que obtienes gratis y lo que posees {#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
|
+
Cuando se basa en los patrones estándar, el marco ya maneja la mayor parte de la superficie de amenazas por usted:
|
|
20
|
+
|
|
21
|
+
- **Aislamiento de datos**: el agente SQL se reescribe para que solo pueda ver las filas del usuario actual (y de la organización activa). Ver [Data Scoping](#data-scoping).
|
|
22
|
+
- **Inyección SQL**: `db-query`/`db-exec` y Drizzle siempre parametrizan. Ver [SQL Injection Prevention](#sql-injection).
|
|
23
|
+
- **XSS** — Escape automático de React, desinfección TipTap y `react-markdown`. Ver [XSS Prevention](#xss).
|
|
24
|
+
- **Auth & CSRF**: cada `defineAction` está protegido por autenticación; las cookies son `httpOnly` + `SameSite=lax`. Ver [Authentication](#auth).
|
|
25
|
+
- **Cifrado secreto**: las credenciales y la bóveda se cifran en reposo. Ver [Secrets Management](#secrets).
|
|
26
|
+
|
|
27
|
+
Eso deja una pequeña superficie en la que realmente tienes que pensar:
|
|
28
|
+
|
|
29
|
+
- **A. Etiquete sus tablas para determinar el alcance.** Agregue `owner_email` (y `org_id` para datos del equipo) a través de [`ownableColumns()`](#data-scoping) y enrute las lecturas/escrituras de Drizzle a través de [access guards](#access-guards).
|
|
30
|
+
- **B. Validar y enrutar entradas externas.** Asigne a cada acción un Zod [`schema:`](#input-validation) y envíe cualquier recuperación del lado del servidor de un usuario/agente URL a través de [SSRF guard](#ssrf).
|
|
31
|
+
|
|
32
|
+
Si haces bien esos dos, el resto serán los valores predeterminados. El [Production Checklist](#production-checklist) es la confirmación de una página antes del envío.
|
|
33
|
+
|
|
34
|
+
## Seguridad por diseño {#secure-by-design}
|
|
35
|
+
|
|
36
|
+
La arquitectura del marco evita vulnerabilidades comunes cuando se utilizan los patrones estándar:
|
|
37
|
+
|
|
38
|
+
| Vulnerabilidad | Protección del marco |
|
|
39
|
+
| ------------------------ | ----------------------------------------------------------------------------- |
|
|
40
|
+
| Inyección SQL | Consultas parametrizadas en `db-query`/`db-exec` y Drizzle ORM |
|
|
41
|
+
| XSS | React escapa automáticamente de JSX; TipTap desinfecta el texto enriquecido |
|
|
42
|
+
| Fugas de datos | Alcance a nivel de SQL mediante vistas temporales (`owner_email`, `org_id`) |
|
|
43
|
+
| Omisión de autenticación | Auth Guard protege automáticamente todos los puntos finales `defineAction` |
|
|
44
|
+
| Inyección de entrada | Validación del esquema Zod en `defineAction` |
|
|
45
|
+
| CSRF | Galletas `SameSite=lax` + `httpOnly` |
|
|
46
|
+
| Exposición secreta | `.env` gitignorado; credenciales y bóveda cifradas en reposo (AES-256-GCM) |
|
|
47
|
+
| SSRF | `ssrfSafeFetch` bloquea destinos internos/metadatos + reenlace de redirección |
|
|
48
|
+
|
|
49
|
+
## Validación de entrada {#input-validation}
|
|
50
|
+
|
|
51
|
+
Utilice `defineAction` con un Zod `schema:` para cada acción. El marco valida la entrada automáticamente antes de que se ejecute el código:
|
|
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
|
+
La entrada no válida devuelve mensajes de error claros (400 para HTTP, error estructurado para llamadas de agente). El formato heredado `parameters:` no proporciona validación en tiempo de ejecución.
|
|
70
|
+
|
|
71
|
+
## Prevención de inyecciones SQL {#sql-injection}
|
|
72
|
+
|
|
73
|
+
Las herramientas `db-query` y `db-exec` del marco utilizan consultas parametrizadas. La entrada del usuario se pasa como argumentos, nunca se interpola en la cadena 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
|
+
## Prevención XSS {#xss}
|
|
94
|
+
|
|
95
|
+
React escapa automáticamente de todas las expresiones JSX. Directrices adicionales:
|
|
96
|
+
|
|
97
|
+
- Nunca utilice `dangerouslySetInnerHTML` con contenido controlado por el usuario
|
|
98
|
+
- Nunca utilice `innerHTML`, `eval()` o `document.write()`
|
|
99
|
+
- Para editar texto enriquecido, utilice TipTap (dependencia del marco): desinfecta a través de su esquema
|
|
100
|
+
- Para renderizar rebajas, utilice `react-markdown`: convierte a elementos React de forma segura
|
|
101
|
+
|
|
102
|
+
## Recuperación del lado del servidor (SSRF) {#ssrf}
|
|
103
|
+
|
|
104
|
+
Cualquier `fetch` del lado del servidor de un URL controlado por un usuario o agente debe pasar por la protección del marco SSRF, o puede apuntar a metadatos de la nube (`169.254.169.254`), `localhost` o servicios internos:
|
|
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` bloquea objetivos privados/internos, vuelve a verificar la IP resuelta en el momento de la conexión (nueva vinculación de DNS) y vuelve a validar cada salto de redireccionamiento para que un URL público no pueda redirigir a la red privada. La extensión proxy iframe, `upload-image`, y el importador de token de diseño lo atraviesan. Para una verificación previa al vuelo únicamente, utilice `isBlockedExtensionUrlWithDns(url)` con `redirect: "manual"`.
|
|
113
|
+
|
|
114
|
+
## Alcance de los datos {#data-scoping}
|
|
115
|
+
|
|
116
|
+
En producción, el marco restringe automáticamente las consultas del agente SQL a los datos del usuario actual. Esto se aplica en el nivel SQL: los agentes no pueden evitarlo. Esta sección es la referencia canónica para el proceso de determinación del alcance; los documentos [Authentication](/docs/authentication) y [Multi-Tenancy](/docs/multi-tenancy) se vinculan aquí para conocer la mecánica.
|
|
117
|
+
|
|
118
|
+
### El proceso de determinación del alcance {#scoping-pipeline}
|
|
119
|
+
|
|
120
|
+
El alcance fluye desde la sesión autenticada hasta el SQL que ejecuta el agente:
|
|
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 sesión iniciada transporta `email` y (cuando una organización está activa) `orgId`. El marco establece el contexto de la solicitud de esa sesión, expone la organización activa al agente SQL como `AGENT_ORG_ID` y reescribe cada consulta para que solo pueda ver las filas que posee la identidad actual. Se aplica la misma ruta ya sea que la consulta provenga de UI, una acción o el agente: el agente no puede leer datos de una organización de la que el usuario no es miembro.
|
|
134
|
+
|
|
135
|
+
### Alcance por usuario (`owner_email`)
|
|
136
|
+
|
|
137
|
+
Cada tabla con datos específicos del usuario **debe** tener una columna de texto `owner_email`. Utilice el nombre de propiedad camelCase Drizzle: `accessFilter` dice `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
|
+
El marco crea vistas temporales SQL que filtran las consultas automáticamente:
|
|
165
|
+
|
|
166
|
+
```sql
|
|
167
|
+
CREATE TEMPORARY VIEW "notes" AS
|
|
168
|
+
SELECT * FROM main."notes"
|
|
169
|
+
WHERE "owner_email" = 'alice@example.com';
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Las declaraciones INSERT se inyectan automáticamente `owner_email` cuando la columna aún no está presente.
|
|
173
|
+
|
|
174
|
+
Las herramientas `db-query` / `db-exec` rechazan referencias a tablas calificadas por esquema (`public.<table>`, `main.<table>`): un nombre calificado se resuelve en la tabla base y omitiría la vista temporal anterior. Los agentes utilizan nombres de tablas simples; el alcance se aplica automáticamente.
|
|
175
|
+
|
|
176
|
+
### Alcance por organización (`org_id`)
|
|
177
|
+
|
|
178
|
+
Para aplicaciones multiusuario donde los equipos comparten datos, agregue una columna `org_id`. Cuando ambas columnas están presentes, las consultas tienen como alcance ambas: `WHERE owner_email = ? AND org_id = ?`.
|
|
179
|
+
|
|
180
|
+
El asistente de esquema `ownableColumns()` agrega `owner_email`, `org_id` y `visibility` en una sola llamada, por lo que las nuevas tablas con reconocimiento de inquilinos obtienen el contrato de alcance completo de forma predeterminada:
|
|
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
|
+
### Guardias de acceso en actions {#access-guards}
|
|
210
|
+
|
|
211
|
+
El agente sin procesar SQL está dentro del alcance de las vistas temporales anteriores. El código de acción que consulta directamente con Drizzle debe pasar por los asistentes de acceso del marco para que las lecturas y escrituras permanezcan en el ámbito de la identidad actual:
|
|
212
|
+
|
|
213
|
+
- **`accessFilter`**: devuelve el predicado `WHERE` que limita una consulta a las filas que el usuario/organización actual puede ver. Úselo en consultas de lista/lectura.
|
|
214
|
+
- **`resolveAccess`**: resuelve el alcance de acceso efectivo (propietario, organización, compartido) para la solicitud actual.
|
|
215
|
+
- **`assertAccess`**: protege una escritura o lectura de un solo registro y lo descarta si la identidad actual no puede actuar en la fila de destino.
|
|
216
|
+
|
|
217
|
+
Las tablas creadas con `ownableColumns()` requieren estas lecturas y escrituras de alcance; Las rutas Nitro personalizadas deben establecer el contexto de la solicitud antes de consultar los datos que se pueden poseer. La verificación `guard-no-unscoped-queries` (ejecutada a través de `pnpm guards`) aplica esto en el momento de la CI. Consulte la habilidad `sharing` para obtener el ayudante completo API.
|
|
218
|
+
|
|
219
|
+
### Validación
|
|
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
|
+
## Gestión de secretos {#secrets}
|
|
227
|
+
|
|
228
|
+
| Tipo secreto | Dónde almacenar |
|
|
229
|
+
| ------------------------------------------------------ | ---------------------------------------------------------- |
|
|
230
|
+
| Claves de nivel de implementación (una por aplicación) | Archivo `.env` (gitignorado, solo del lado del servidor) |
|
|
231
|
+
| Claves API por usuario/por organización | `saveCredential` / `resolveCredential` (cifrado en reposo) |
|
|
232
|
+
| Secretos registrados (bóveda de la barra lateral) | Bóveda `app_secrets` (cifrada en reposo) |
|
|
233
|
+
| Tokens OAuth (Google, GitHub) | Tienda `oauth_tokens` a través de `saveOAuthTokens()` |
|
|
234
|
+
| Fichas de sesión | Automático (Better Auth se encarga de esto) |
|
|
235
|
+
|
|
236
|
+
Las credenciales por usuario/por organización y la bóveda están cifradas en reposo con AES-256-GCM, codificadas por `SECRETS_ENCRYPTION_KEY` (recurriendo a `BETTER_AUTH_SECRET`); la producción se niega a comenzar sin uno. Para cifrar cualquier fila de credenciales de texto sin formato preexistente, ejecute `pnpm action db-migrate-encrypt-credentials` (idempotente, no destructivo).
|
|
237
|
+
|
|
238
|
+
Nunca almacene secretos en `settings`, `application_state`, código fuente o respuestas de acción. Utilice las credenciales/bóveda API anteriores: manejan tanto el cifrado como el alcance por usuario.
|
|
239
|
+
|
|
240
|
+
## Autenticación {#auth}
|
|
241
|
+
|
|
242
|
+
La autenticación es automática. Consulte los documentos de [Authentication](/docs/authentication) para conocer la configuración completa.
|
|
243
|
+
|
|
244
|
+
**Puntos clave de seguridad:**
|
|
245
|
+
|
|
246
|
+
- Los puntos finales `defineAction` están protegidos automáticamente por la protección de autenticación
|
|
247
|
+
- Las rutas `/api/` personalizadas deben llamar a `getSession(event)` y comprobar el resultado
|
|
248
|
+
- Las operaciones de cambio de estado deben utilizar POST (el valor predeterminado para actions)
|
|
249
|
+
- Las cookies `SameSite=lax` + `httpOnly` previenen la mayoría de los ataques CSRF
|
|
250
|
+
|
|
251
|
+
## Verificación de identidad A2A {#a2a-identity}
|
|
252
|
+
|
|
253
|
+
Cuando las aplicaciones se llaman entre sí a través del protocolo A2A, verifican la identidad mediante tokens JWT firmados con un secreto compartido:
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
A2A_SECRET=your-shared-secret-at-least-32-chars
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
1. La aplicación A firma un JWT que contiene `sub: "steve@example.com"`
|
|
260
|
+
2. La aplicación B verifica la firma JWT con el mismo secreto
|
|
261
|
+
3. La aplicación B lee el reclamo `sub` verificado en el contexto de la solicitud
|
|
262
|
+
4. Se aplica el alcance de los datos: la aplicación B solo muestra los datos de Steve
|
|
263
|
+
|
|
264
|
+
Sin `A2A_SECRET` en producción, cada punto final A2A y el punto final de activación automática `/_agent-native/integrations/process-task` devuelven **503**. Configúrelo en cada aplicación que llame o reciba tráfico A2A. (Para el desarrollo local, el marco aún permite llamadas no autenticadas).
|
|
265
|
+
|
|
266
|
+
## Entrante Webhooks {#webhooks}
|
|
267
|
+
|
|
268
|
+
Los controladores de webhooks entrantes (Resend, SendGrid, Slack, Telegram, WhatsApp, Recall.ai, Deepgram, Zoom, Google Docs Pub/Sub) rechazan solicitudes falsificadas de forma predeterminada en producción: cuando falta la var de entorno secreta de firma correspondiente, el controlador devuelve 401 en lugar de aceptar y enviar.
|
|
269
|
+
|
|
270
|
+
Esta era anteriormente una postura de "advertir y aceptar": establezca el secreto que de otro modo se perdería o opte por volver al comportamiento anterior con `AGENT_NATIVE_ALLOW_UNVERIFIED_WEBHOOKS=1` solo para desarrolladores locales. Consulte [Messaging](/docs/messaging#env-vars) para conocer las variables secretas de firma por integración.
|
|
271
|
+
|
|
272
|
+
## Lista de verificación de producción {#production-checklist}
|
|
273
|
+
|
|
274
|
+
### Autenticación y secretos
|
|
275
|
+
|
|
276
|
+
- [ ] `BETTER_AUTH_SECRET` configurado en una cadena aleatoria de más de 32 caracteres (`openssl rand -hex 32`), a menos que se trate de una implementación de espacio de trabajo alojado que se derive de `A2A_SECRET`
|
|
277
|
+
- [ ] `OAUTH_STATE_SECRET` configurado en una cadena aleatoria separada de más de 32 caracteres (no reutilice `BETTER_AUTH_SECRET`); consulte [OAuth State Signing](#oauth-state)
|
|
278
|
+
- [ ] `A2A_SECRET` configurado en cada aplicación que llama o recibe tráfico A2A; consulte [A2A Identity Verification](#a2a-identity)
|
|
279
|
+
- [ ] Conjunto `SECRETS_ENCRYPTION_KEY` (o confíe en el respaldo `BETTER_AUTH_SECRET`): consulte [Secrets Management](#secrets)
|
|
280
|
+
- [ ] `AUTH_SKIP_EMAIL_VERIFICATION` **no** está configurado en producción (o está configurado solo en implementaciones de vista previa de control de calidad)
|
|
281
|
+
|
|
282
|
+
### Secretos de webhook (establece los que utilices para las integraciones que utilices)
|
|
283
|
+
|
|
284
|
+
- [ ] Conjunto de secretos de firma para cada integración entrante habilitada; consulte [Inbound Webhooks](#webhooks) y [Messaging](/docs/messaging#env-vars) para obtener la lista por integración
|
|
285
|
+
- [ ] `AGENT_NATIVE_ALLOW_UNVERIFIED_WEBHOOKS` **no** está configurado en prod
|
|
286
|
+
|
|
287
|
+
### Esquema
|
|
288
|
+
|
|
289
|
+
- [ ] Cada tabla orientada al usuario tiene `owner_email`, las tablas multiusuario también `org_id`; consulte [Data Scoping](#data-scoping)
|
|
290
|
+
- [ ] Las lecturas/escrituras de tablas propias pasan por [access guards](#access-guards)
|
|
291
|
+
- [ ] Todos los actions usan `defineAction` con Zod `schema:`; consulte [Input Validation](#input-validation)
|
|
292
|
+
- [ ] Las recuperaciones del lado del servidor de usuarios/agentes URL pasan por `ssrfSafeFetch`; consulte [SSRF](#ssrf)
|
|
293
|
+
- [ ] No hay `dangerouslySetInnerHTML` con contenido de usuario (o la salida se ejecuta a través de DOMPurify)
|
|
294
|
+
- [ ] Ningún SQL concatenado con cadenas
|
|
295
|
+
- [ ] `pnpm guards` está limpio (`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
|
+
- [ ] Probado con dos cuentas de usuario para verificar el aislamiento de datos
|
|
297
|
+
|
|
298
|
+
### Endurecimiento varios
|
|
299
|
+
|
|
300
|
+
- [ ] `AGENT_NATIVE_DEBUG_ERRORS` **no** está configurado en producción real (solo en vistas previas de depuración)
|
|
301
|
+
- [ ] `AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK` **no** está configurado a menos que su organización realmente comparta claves de espacio de trabajo; consulte [Cross-User Tooling Secrets](#tooling-secrets)
|
|
302
|
+
- [ ] En implementaciones multiinquilino, **los usuarios traen su propio `ANTHROPIC_API_KEY`**: el marco se niega a recurrir a la var de entorno de nivel de implementación
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
Las secciones siguientes cubren indicadores de entornos especializados que solo utiliza en implementaciones específicas. La mayoría de las aplicaciones nunca los tocan.
|
|
307
|
+
|
|
308
|
+
## Firma de estado OAuth {#oauth-state}
|
|
309
|
+
|
|
310
|
+
Los flujos OAuth (Google, Atlassian, Zoom) firman su sobre estatal con una clave HMAC dedicada:
|
|
311
|
+
|
|
312
|
+
```bash
|
|
313
|
+
OAUTH_STATE_SECRET=$(openssl rand -hex 32)
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
Esto solía recurrir a `GOOGLE_CLIENT_SECRET` (una credencial compartida con Google): una filtración del secreto de Google habría permitido a los atacantes falsificar sobres de estado OAuth. La clave dedicada es independiente de cualquier secreto de terceros. Si `OAUTH_STATE_SECRET` no está configurado, el marco vuelve a `BETTER_AUTH_SECRET`; Las implementaciones de espacios de trabajo alojados también pueden derivar una clave OAuth por propósito a partir del `A2A_SECRET` ya requerido. Si ninguno de esos secretos del servidor está disponible, los flujos OAuth fallan en producción.
|
|
317
|
+
|
|
318
|
+
Los parámetros de consulta `redirect_uri` también se validan con una lista de permitidos (rutas del mismo origen + marco `/_agent-native/...`). Los flujos OAuth personalizados en las plantillas deben utilizar el asistente `isAllowedOAuthRedirectUri()` del marco antes de firmar el estado.
|
|
319
|
+
|
|
320
|
+
## Secretos de herramientas para usuarios cruzados {#tooling-secrets}
|
|
321
|
+
|
|
322
|
+
Las herramientas y automatizaciones que hacen referencia a `${keys.NAME}` resuelven secretos por usuario de forma predeterminada. El respaldo del ámbito del espacio de trabajo está **desactivado de forma predeterminada** en esta versión; de lo contrario, un miembro malintencionado de la organización podría establecer un espacio de trabajo `OPENAI_API_KEY` y recopilar las llamadas API de otros miembros.
|
|
323
|
+
|
|
324
|
+
Si su organización realmente comparte claves para todo el espacio de trabajo (por ejemplo, una única clave corporativa de Stripe), vuelva a optar por el comportamiento anterior con:
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK=1
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
Las escrituras secretas en el ámbito del espacio de trabajo aún requieren la función de propietario/administrador de la organización, independientemente de esta marca.
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Servidor"
|
|
3
|
+
description: "Rutas del servidor Nitro, complementos, rutas montadas en el marco, contexto de solicitud y sincronización respaldada por SQL."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Servidor
|
|
7
|
+
|
|
8
|
+
Las aplicaciones nativas del agente utilizan [Nitro](https://nitro.build) para rutas de servidor y complementos. La mayor parte del comportamiento del producto debería residir en [Actions](/docs/actions); las rutas personalizadas son para superficies de protocolo que actions no encajan: cargas, streaming, páginas públicas, devoluciones de llamada webhooks, OAuth y API específicos del proveedor.
|
|
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
|
+
## Rutas basadas en archivos {#file-based-routes}
|
|
18
|
+
|
|
19
|
+
Las rutas viven en `server/routes/` y Nitro asignan nombres de archivos a métodos y rutas:
|
|
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
|
+
Cada ruta exporta 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
|
+
### Convenciones de nomenclatura de rutas {#route-naming-conventions}
|
|
44
|
+
|
|
45
|
+
| Patrón de nombre de archivo | Método HTTP | Ruta de ejemplo |
|
|
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/*` o comodín |
|
|
53
|
+
|
|
54
|
+
## Prefiere Actions para operaciones de aplicaciones {#actions-first}
|
|
55
|
+
|
|
56
|
+
Si tanto el UI como el agente necesitan hacer algo, defina una acción en lugar de una ruta API personalizada. Actions se convierte automáticamente en:
|
|
57
|
+
|
|
58
|
+
- Herramientas del agente.
|
|
59
|
+
- Ganchos frontales escritos.
|
|
60
|
+
- Puntos finales HTTP en `/_agent-native/actions/:name`.
|
|
61
|
+
- Herramientas invocables MCP y A2A.
|
|
62
|
+
- Comandos CLI para desarrollo.
|
|
63
|
+
|
|
64
|
+
Utilice rutas `/api/*` personalizadas solo cuando necesite un protocolo en forma de ruta o un comportamiento binario/de transmisión. Ver [Actions](/docs/actions).
|
|
65
|
+
|
|
66
|
+
## Completación de texto de una sola vez {#complete-text}
|
|
67
|
+
|
|
68
|
+
La mayor parte del trabajo de IA debe realizarse a través del chat del agente para que los usuarios puedan verlo, dirigirlo y auditarlo
|
|
69
|
+
qué pasó. Para transformaciones estrechas del lado del servidor que intencionalmente no necesitan
|
|
70
|
+
herramientas, historial de chat o estado de ejecución, use `completeText()` como escape explícito
|
|
71
|
+
escotilla.
|
|
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()` se ejecuta a través de la misma capa de motor configurada que el agente
|
|
97
|
+
chat, incluidos Builder, Anthropic, proveedores AI SDK, valores predeterminados del modelo de usuario/aplicación,
|
|
98
|
+
secretos de ámbito de solicitud y errores normalizados por el motor. Es sólo de servidor; no
|
|
99
|
+
llamar a proveedores de modelos desde el código de cliente. Si la operación es de cara al usuario, envuélvala
|
|
100
|
+
en una acción para que UI y el agente compartan la misma capacidad.
|
|
101
|
+
|
|
102
|
+
## Solicitar contexto y acceso {#request-context}
|
|
103
|
+
|
|
104
|
+
Actions montado por el marco se ejecuta automáticamente con el contexto de solicitud. Las rutas personalizadas no. Si una ruta personalizada lee o escribe recursos propios, carga la sesión y ajusta el trabajo:
|
|
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` se crea por aplicación a través de `createGetDb(schema)` en `server/db/index.ts`, por lo que las rutas personalizadas se importan desde la plantilla (`../../db/index.js`), no desde `@agent-native/core/db`; ver [Database — Where the DB Client Lives](/docs/database#db-client). No ejecute `db.select().from(ownableTable)` sin ámbito en rutas personalizadas.
|
|
120
|
+
|
|
121
|
+
## Complementos de servidor {#server-plugins}
|
|
122
|
+
|
|
123
|
+
Los complementos se encuentran en `server/plugins/` y se ejecutan al inicio. Úselos para migraciones, configuración de proveedores, trabajos recurrentes, adaptadores de integración y configuración de complementos de marco.
|
|
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
|
+
Las migraciones deben ser aditivas. Nunca coloques SQL destructivo en complementos de inicio.
|
|
147
|
+
|
|
148
|
+
## Rutas montadas en el marco {#framework-routes}
|
|
149
|
+
|
|
150
|
+
El marco monta sus propias rutas bajo `/_agent-native/`. Trate ese espacio de nombres como reservado.
|
|
151
|
+
|
|
152
|
+
| Prefijo de ruta | Propósito |
|
|
153
|
+
| -------------------------------- | -------------------------------------------------------------------------------------------------- |
|
|
154
|
+
| `/_agent-native/actions/:name` | Puntos finales de acción HTTP |
|
|
155
|
+
| `/_agent-native/agent-chat` | Bucle de chat del agente |
|
|
156
|
+
| `/_agent-native/poll` | Sincronización de UI respaldada por SQL |
|
|
157
|
+
| `/_agent-native/resources/*` | Recursos del espacio de trabajo |
|
|
158
|
+
| `/_agent-native/extensions/*` | Extensiones de tiempo de ejecución y proxy de extensión (alias heredado: `/_agent-native/tools/*`) |
|
|
159
|
+
| `/_agent-native/integrations/*` | Integraciones de mensajería/webhook |
|
|
160
|
+
| `/_agent-native/a2a` | Agente a agente JSON-RPC |
|
|
161
|
+
| `/_agent-native/mcp` | Punto final MCP |
|
|
162
|
+
| `/_agent-native/onboarding/*` | Lista de verificación de configuración |
|
|
163
|
+
| `/_agent-native/observability/*` | Seguimientos, comentarios, evaluaciones, experimentos |
|
|
164
|
+
| `/_agent-native/file-upload` | Punto final del proveedor de carga de archivos |
|
|
165
|
+
|
|
166
|
+
Las rutas de aplicaciones personalizadas deben utilizar `/api/*`, rutas de aplicaciones públicas o rutas de devolución de llamadas específicas del proveedor que no colisionen con `/_agent-native/`.
|
|
167
|
+
|
|
168
|
+
## Sincronización respaldada por SQL {#sync}
|
|
169
|
+
|
|
170
|
+
El agente nativo no depende de los observadores del sistema de archivos ni del estado fijo en la memoria. Cuando actions o los asistentes del marco mutan los datos, la versión de sincronización de la base de datos aumenta. El enlace del cliente `useDbSync()` sondea `/_agent-native/poll` e invalida los cachés de consultas React.
|
|
171
|
+
|
|
172
|
+
Esto funciona en implementaciones sin servidor y de múltiples instancias porque la base de datos es el punto de coordinación. Si escribe mutaciones personalizadas fuera de actions, utilice asistentes de marco o emita la invalidación de sincronización adecuada para abrir la actualización 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
|
+
El webhooks entrante debería verificarse, persistir y regresar rápidamente. El trabajo de agente de larga duración debe utilizar el patrón de cola de integración:
|
|
197
|
+
|
|
198
|
+
1. Verifique la firma o el desafío de la plataforma.
|
|
199
|
+
2. Inserte trabajo duradero en SQL.
|
|
200
|
+
3. Autodisparar una ruta de procesador firmada.
|
|
201
|
+
4. Devuelve 200 inmediatamente.
|
|
202
|
+
5. Deje que la nueva ejecución del procesador ejecute el ciclo del agente y publique el resultado.
|
|
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
|
+
> No confíe en promesas no esperadas después de devolver una respuesta: los hosts sin servidor congelan la ejecución. Consulte [Messaging](/docs/messaging) para conocer la cola de integración canónica.
|
|
213
|
+
|
|
214
|
+
## Avanzado: trampillas de escape {#advanced-escape-hatches}
|
|
215
|
+
|
|
216
|
+
La mayoría de las plantillas nunca las necesitan. Rutas de archivos Nitro y agente del framework
|
|
217
|
+
El complemento de chat ya conecta el servidor de aplicaciones y el controlador del agente de producción.
|
|
218
|
+
Utilícelos solo cuando cree una integración de servidor personalizada fuera del
|
|
219
|
+
Pila de complementos de plantilla estándar.
|
|
220
|
+
|
|
221
|
+
### Servidores programáticos H3 {#create-server}
|
|
222
|
+
|
|
223
|
+
Para paquetes personalizados o pruebas que necesitan una aplicación H3 directamente, `createServer()`
|
|
224
|
+
devuelve una aplicación y un enrutador preconfigurados:
|
|
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
|
+
### Manejador del agente de producción {#agent-handler}
|
|
239
|
+
|
|
240
|
+
El complemento de chat del agente del marco ya monta el controlador del agente de producción
|
|
241
|
+
para plantillas. Llame solo a `createProductionAgentHandler()` directamente cuando construya
|
|
242
|
+
una integración de servidor personalizada fuera de la pila de complementos de plantilla estándar:
|
|
243
|
+
de lo contrario, personalice el agente a través de `AGENTS.md`, skills, actions y
|
|
244
|
+
complemento de chat para agentes.
|
|
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
|
+
```
|