@agent-native/core 0.95.1 → 0.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +64 -0
- package/corpus/core/docs/content/audit-log.mdx +2 -1
- package/corpus/core/docs/content/automations.mdx +7 -7
- package/corpus/core/docs/content/creating-templates.mdx +1 -1
- package/corpus/core/docs/content/internationalization.mdx +2 -1
- package/corpus/core/docs/content/locales/ar-SA/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/ar-SA/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/ar-SA/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/ar-SA/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
- package/corpus/core/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/ar-SA/security.mdx +8 -0
- package/corpus/core/docs/content/locales/de-DE/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/de-DE/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/de-DE/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/de-DE/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
- package/corpus/core/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/de-DE/security.mdx +8 -0
- package/corpus/core/docs/content/locales/es-ES/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/es-ES/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/es-ES/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/es-ES/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
- package/corpus/core/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/es-ES/security.mdx +8 -0
- package/corpus/core/docs/content/locales/fr-FR/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/fr-FR/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/fr-FR/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/fr-FR/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
- package/corpus/core/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
- package/corpus/core/docs/content/locales/fr-FR/security.mdx +8 -0
- package/corpus/core/docs/content/locales/hi-IN/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/hi-IN/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/hi-IN/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/hi-IN/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
- package/corpus/core/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/hi-IN/security.mdx +8 -0
- package/corpus/core/docs/content/locales/ja-JP/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/ja-JP/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/ja-JP/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/ja-JP/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
- package/corpus/core/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
- package/corpus/core/docs/content/locales/ja-JP/security.mdx +8 -0
- package/corpus/core/docs/content/locales/ko-KR/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/ko-KR/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/ko-KR/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/ko-KR/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
- package/corpus/core/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
- package/corpus/core/docs/content/locales/ko-KR/security.mdx +8 -0
- package/corpus/core/docs/content/locales/pt-BR/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/pt-BR/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/pt-BR/getting-started.mdx +7 -1
- package/corpus/core/docs/content/locales/pt-BR/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
- package/corpus/core/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/pt-BR/security.mdx +8 -0
- package/corpus/core/docs/content/locales/zh-CN/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/zh-CN/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/zh-CN/getting-started.mdx +6 -4
- package/corpus/core/docs/content/locales/zh-CN/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
- package/corpus/core/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
- package/corpus/core/docs/content/locales/zh-CN/security.mdx +8 -0
- package/corpus/core/docs/content/locales/zh-TW/audit-log.mdx +2 -1
- package/corpus/core/docs/content/locales/zh-TW/automations.mdx +7 -7
- package/corpus/core/docs/content/locales/zh-TW/getting-started.mdx +6 -4
- package/corpus/core/docs/content/locales/zh-TW/internationalization.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
- package/corpus/core/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
- package/corpus/core/docs/content/locales/zh-TW/security.mdx +8 -0
- package/corpus/core/docs/content/package-lifecycle.mdx +51 -0
- package/corpus/core/docs/content/sandbox-adapters.mdx +16 -5
- package/corpus/core/package.json +11 -2
- package/corpus/core/src/a2a/auth-policy.ts +33 -0
- package/corpus/core/src/a2a/client.ts +11 -1
- package/corpus/core/src/agent/durable-background.ts +15 -7
- package/corpus/core/src/agent/production-agent.ts +87 -27
- package/corpus/core/src/agent/run-store.ts +13 -4
- package/corpus/core/src/agent/thread-data-builder.ts +7 -5
- package/corpus/core/src/audit/actions/export-audit-events.ts +162 -0
- package/corpus/core/src/audit/store.ts +8 -3
- package/corpus/core/src/audit/types.ts +3 -0
- package/corpus/core/src/chat-threads/store.ts +20 -1
- package/corpus/core/src/cli/code-agent-executor.ts +1 -0
- package/corpus/core/src/cli/code-agent-runs.ts +14 -0
- package/corpus/core/src/cli/doctor.ts +396 -0
- package/corpus/core/src/cli/index.ts +56 -0
- package/corpus/core/src/cli/info.ts +3 -3
- package/corpus/core/src/cli/package-lifecycle.ts +821 -0
- package/corpus/core/src/client/AgentPanel.tsx +32 -25
- package/corpus/core/src/client/AssistantChat.tsx +36 -20
- package/corpus/core/src/client/MultiTabAssistantChat.tsx +141 -90
- package/corpus/core/src/client/agent-chat-adapter.ts +9 -9
- package/corpus/core/src/client/chat/ChatHistoryList.tsx +404 -0
- package/corpus/core/src/client/chat/index.ts +6 -0
- package/corpus/core/src/client/chat/tool-call-display.tsx +37 -3
- package/corpus/core/src/client/code-agent-chat-adapter.ts +72 -4
- package/corpus/core/src/client/composer/RealtimeVoiceMode.tsx +52 -11
- package/corpus/core/src/client/composer/TiptapComposer.tsx +157 -20
- package/corpus/core/src/client/composer/VoiceButton.tsx +28 -0
- package/corpus/core/src/client/composer/useRealtimeVoiceMode.tsx +5 -0
- package/corpus/core/src/client/conversation/code-agent-transcript.ts +4 -5
- package/corpus/core/src/client/guided-questions.tsx +2 -1
- package/corpus/core/src/client/index.ts +11 -0
- package/corpus/core/src/client/use-chat-threads.ts +10 -1
- package/corpus/core/src/client/voice-provider-status.ts +44 -0
- package/corpus/core/src/code-agents/transcript-normalizer.ts +76 -0
- package/corpus/core/src/deploy/build.ts +12 -11
- package/corpus/core/src/guards/db-tool-scoping.ts +129 -0
- package/corpus/core/src/guards/index.ts +23 -0
- package/corpus/core/src/guards/no-drizzle-push.ts +116 -0
- package/corpus/core/src/guards/no-env-credentials.ts +229 -0
- package/corpus/core/src/guards/no-env-mutation.ts +114 -0
- package/corpus/core/src/guards/no-localhost-fallback.ts +124 -0
- package/corpus/core/src/guards/no-unscoped-credentials.ts +227 -0
- package/corpus/core/src/guards/no-unscoped-queries.ts +834 -0
- package/corpus/core/src/guards/scan-utils.ts +105 -0
- package/corpus/core/src/guards/types.ts +30 -0
- package/corpus/core/src/integrations/a2a-continuation-processor.ts +35 -5
- package/corpus/core/src/integrations/adapters/slack.ts +74 -21
- package/corpus/core/src/integrations/webhook-handler.ts +14 -0
- package/corpus/core/src/localization/default-messages.ts +6 -0
- package/corpus/core/src/observability/hosted-model-experiment.ts +118 -0
- package/corpus/core/src/observability/routes.ts +17 -0
- package/corpus/core/src/observability/store.ts +4 -1
- package/corpus/core/src/observability/traces.ts +41 -2
- package/corpus/core/src/org/accept-pending.ts +9 -1
- package/corpus/core/src/org/migrations.ts +41 -0
- package/corpus/core/src/package-lifecycle/index.ts +1 -0
- package/corpus/core/src/package-lifecycle/manifest.ts +120 -0
- package/corpus/core/src/provider-api/custom-registry.ts +56 -0
- package/corpus/core/src/provider-api/index.ts +2 -0
- package/corpus/core/src/scripts/agent-engines/list-agent-engines.ts +19 -1
- package/corpus/core/src/scripts/call-agent.ts +53 -3
- package/corpus/core/src/scripts/chat/search-chats.ts +11 -8
- package/corpus/core/src/secrets/register-framework-secrets.ts +1 -1
- package/corpus/core/src/secrets/storage.ts +47 -27
- package/corpus/core/src/server/action-discovery.ts +4 -0
- package/corpus/core/src/server/agent-chat-plugin.ts +95 -18
- package/corpus/core/src/server/core-routes-plugin.ts +45 -14
- package/corpus/core/src/server/csrf.ts +24 -5
- package/corpus/core/src/server/framework-request-handler.ts +34 -0
- package/corpus/core/src/server/google-realtime-session.ts +1 -36
- package/corpus/core/src/server/poll.ts +24 -2
- package/corpus/core/src/server/realtime-voice.ts +80 -24
- package/corpus/core/src/server/request-origin.ts +63 -0
- package/corpus/core/src/server/transcribe-voice.ts +1 -50
- package/corpus/core/src/server/voice-providers-status.ts +4 -3
- package/corpus/core/src/shared/cache-control.ts +2 -8
- package/corpus/core/src/styles/agent-native.css +1 -0
- package/corpus/core/src/styles/chat-history-list.css +313 -0
- package/corpus/core/src/templates/default/package.json +2 -2
- package/corpus/core/src/templates/headless/package.json +0 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/observability/SKILL.md +20 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +8 -4
- package/corpus/core/src/templates/workspace-core/package.json +0 -1
- package/corpus/core/src/templates/workspace-root/package.json +0 -1
- package/corpus/core/src/triggers/actions.ts +11 -3
- package/corpus/core/src/triggers/types.ts +7 -1
- package/corpus/core/src/vite/client.ts +1 -0
- package/corpus/templates/analytics/AGENTS.md +7 -0
- package/corpus/templates/analytics/actions/bigquery.ts +26 -2
- package/corpus/templates/analytics/actions/compose-dashboard.ts +65 -37
- package/corpus/templates/analytics/actions/data-source-status.ts +18 -0
- package/corpus/templates/analytics/actions/mutate-dashboard.ts +73 -24
- package/corpus/templates/analytics/actions/reorder-dashboard-panels.ts +16 -13
- package/corpus/templates/analytics/actions/update-dashboard.ts +53 -42
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +5 -4
- package/corpus/templates/analytics/app/global.css +10 -0
- package/corpus/templates/analytics/app/pages/Ask.tsx +25 -2
- package/corpus/templates/analytics/changelog/2026-07-10-analytics-answers-simple-time-bounded-metrics-without-unnece.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-analytics-chat-reliably-uses-connected-data-sources-across-s.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-chat-threads-now-stay-clear-of-top-actions-and-fade-smoothly.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-context-chips-can-now-be-selected-and-removed-one-at-a-time-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-dashboard-edits-from-the-agent-and-the-ui-at-the-same-time-n.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-the-ask-composer-no-longer-carries-dashboard-or-panel-contex.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-the-ask-section-stays-highlighted-while-its-chat-history-is-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-timed-out-bigquery-jobs-are-now-cancelled-so-they-stop-consu.md +6 -0
- package/corpus/templates/analytics/package.json +1 -2
- package/corpus/templates/analytics/server/lib/bigquery.ts +91 -14
- package/corpus/templates/analytics/server/lib/dashboards-store.ts +154 -11
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +82 -7
- package/corpus/templates/assets/package.json +1 -2
- package/corpus/templates/brain/package.json +1 -2
- package/corpus/templates/calendar/package.json +1 -2
- package/corpus/templates/chat/package.json +1 -2
- package/corpus/templates/clips/changelog/2026-07-10-atomic-view-tracking.md +6 -0
- package/corpus/templates/clips/chrome-extension/package.json +3 -2
- package/corpus/templates/clips/desktop/package.json +6 -4
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +26 -13
- package/corpus/templates/clips/desktop/src/lib/voice-dictation.ts +4 -1
- package/corpus/templates/clips/package.json +1 -2
- package/corpus/templates/clips/server/db/schema.ts +29 -17
- package/corpus/templates/clips/server/plugins/db.ts +8 -0
- package/corpus/templates/clips/server/routes/api/view-event.post.ts +260 -105
- package/corpus/templates/content/.agents/skills/notion-integration/SKILL.md +16 -0
- package/corpus/templates/content/AGENTS.md +72 -62
- package/corpus/templates/content/actions/_content-database-source-adapters.ts +84 -0
- package/corpus/templates/content/actions/_database-source-utils.ts +206 -96
- package/corpus/templates/content/actions/_notion-database-source-adapter.ts +216 -0
- package/corpus/templates/content/actions/_position-utils.ts +76 -0
- package/corpus/templates/content/actions/_property-utils.ts +31 -20
- package/corpus/templates/content/actions/add-database-item.ts +52 -39
- package/corpus/templates/content/actions/attach-content-database-source.ts +95 -11
- package/corpus/templates/content/actions/change-content-database-source-role.ts +24 -1
- package/corpus/templates/content/actions/configure-document-property.ts +36 -27
- package/corpus/templates/content/actions/create-content-database.ts +40 -30
- package/corpus/templates/content/actions/create-document.ts +39 -32
- package/corpus/templates/content/actions/duplicate-document-property.ts +37 -28
- package/corpus/templates/content/actions/list-notion-database-sources.ts +80 -0
- package/corpus/templates/content/actions/move-document.ts +64 -48
- package/corpus/templates/content/actions/refresh-content-database-source.ts +42 -3
- package/corpus/templates/content/actions/share-local-file-document.ts +36 -27
- package/corpus/templates/content/actions/suggest-source-join-key.ts +39 -16
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +89 -23
- package/corpus/templates/content/app/components/editor/database/settings.tsx +1 -1
- package/corpus/templates/content/app/hooks/use-content-database.ts +18 -1
- package/corpus/templates/content/app/i18n/zh-TW.ts +4 -0
- package/corpus/templates/content/app/i18n-data.ts +40 -0
- package/corpus/templates/content/changelog/2026-07-10-failed-row-creation-and-source-attach-now-show-an-error-inst.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-items-added-at-the-same-time-no-longer-end-up-with-identical.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-notion-databases-can-add-read-only-details-to-content-tables.md +6 -0
- package/corpus/templates/content/package.json +1 -2
- package/corpus/templates/content/parity/matrix.md +25 -25
- package/corpus/templates/content/parity/matrix.ts +1 -0
- package/corpus/templates/content/server/routes/api/documents/[id]/move.patch.ts +43 -26
- package/corpus/templates/content/shared/api.ts +16 -1
- package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +8 -4
- package/corpus/templates/design/AGENTS.md +12 -2
- package/corpus/templates/design/DEVELOPING.md +10 -6
- package/corpus/templates/design/actions/apply-visual-edit.ts +191 -6
- package/corpus/templates/design/actions/duplicate-design.ts +31 -25
- package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +5 -1
- package/corpus/templates/design/changelog/2026-07-10-duplicating-a-design-can-no-longer-produce-a-copy-with-missi.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-local-visual-edits-can-now-save-safe-leaf-text-class-and.md +6 -0
- package/corpus/templates/design/package.json +1 -1
- package/corpus/templates/design/shared/local-jsx-visual-edit.ts +388 -0
- package/corpus/templates/dispatch/package.json +1 -2
- package/corpus/templates/forms/actions/patch-form-fields.ts +82 -44
- package/corpus/templates/forms/changelog/2026-07-10-simultaneous-edits-to-different-form-fields-no-longer-overwr.md +6 -0
- package/corpus/templates/forms/package.json +1 -2
- package/corpus/templates/macros/package.json +1 -2
- package/corpus/templates/mail/app/components/email/EmailThread.tsx +3 -1
- package/corpus/templates/mail/changelog/2026-07-10-fixed-calendar-rsvp-buttons-in-emails-firing-duplicate-respo.md +6 -0
- package/corpus/templates/mail/package.json +1 -2
- package/corpus/templates/plan/actions/restore-plan-version.ts +126 -96
- package/corpus/templates/plan/changelog/2026-07-10-restoring-a-plan-version-can-no-longer-leave-a-plan-half-res.md +6 -0
- package/corpus/templates/plan/package.json +1 -2
- package/corpus/templates/plan/server/plans.ts +9 -2
- package/corpus/templates/slides/actions/list-decks.ts +28 -0
- package/corpus/templates/slides/app/components/deck/MermaidRenderer.tsx +41 -26
- package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +4 -8
- package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +2 -4
- package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +4 -8
- package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +5 -12
- package/corpus/templates/slides/app/components/editor/HistoryPanel.tsx +3 -6
- package/corpus/templates/slides/app/components/editor/ImageDropPromptPopover.tsx +3 -6
- package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +2 -5
- package/corpus/templates/slides/app/context/DeckContext.tsx +47 -4
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +11 -30
- package/corpus/templates/slides/app/pages/Index.tsx +2 -3
- package/corpus/templates/slides/app/root.tsx +0 -5
- package/corpus/templates/slides/changelog/2026-07-10-deck-lists-load-much-faster-and-no-longer-re-download-slide-.md +6 -0
- package/corpus/templates/slides/package.json +1 -2
- package/dist/a2a/auth-policy.d.ts +19 -0
- package/dist/a2a/auth-policy.d.ts.map +1 -1
- package/dist/a2a/auth-policy.js +32 -0
- package/dist/a2a/auth-policy.js.map +1 -1
- package/dist/a2a/client.d.ts +7 -0
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +2 -1
- package/dist/a2a/client.js.map +1 -1
- package/dist/agent/durable-background.d.ts +8 -5
- package/dist/agent/durable-background.d.ts.map +1 -1
- package/dist/agent/durable-background.js +15 -8
- package/dist/agent/durable-background.js.map +1 -1
- package/dist/agent/production-agent.d.ts +6 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +63 -26
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +9 -4
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/thread-data-builder.d.ts +1 -0
- package/dist/agent/thread-data-builder.d.ts.map +1 -1
- package/dist/agent/thread-data-builder.js +6 -5
- package/dist/agent/thread-data-builder.js.map +1 -1
- package/dist/audit/actions/export-audit-events.d.ts +27 -0
- package/dist/audit/actions/export-audit-events.d.ts.map +1 -0
- package/dist/audit/actions/export-audit-events.js +144 -0
- package/dist/audit/actions/export-audit-events.js.map +1 -0
- package/dist/audit/store.d.ts +1 -0
- package/dist/audit/store.d.ts.map +1 -1
- package/dist/audit/store.js +8 -3
- package/dist/audit/store.js.map +1 -1
- package/dist/audit/types.d.ts +3 -0
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/types.js.map +1 -1
- package/dist/chat-threads/store.d.ts +10 -0
- package/dist/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +6 -0
- package/dist/chat-threads/store.js.map +1 -1
- package/dist/cli/code-agent-executor.d.ts.map +1 -1
- package/dist/cli/code-agent-executor.js +1 -0
- package/dist/cli/code-agent-executor.js.map +1 -1
- package/dist/cli/code-agent-runs.d.ts +12 -0
- package/dist/cli/code-agent-runs.d.ts.map +1 -1
- package/dist/cli/code-agent-runs.js +1 -0
- package/dist/cli/code-agent-runs.js.map +1 -1
- package/dist/cli/doctor.d.ts +83 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +277 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/index.js +50 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/info.js +3 -3
- package/dist/cli/info.js.map +1 -1
- package/dist/cli/package-lifecycle.d.ts +50 -0
- package/dist/cli/package-lifecycle.d.ts.map +1 -0
- package/dist/cli/package-lifecycle.js +560 -0
- package/dist/cli/package-lifecycle.js.map +1 -0
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +3 -3
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +11 -0
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +7 -4
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +83 -10
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.js +7 -3
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/chat/ChatHistoryList.d.ts +88 -0
- package/dist/client/chat/ChatHistoryList.d.ts.map +1 -0
- package/dist/client/chat/ChatHistoryList.js +83 -0
- package/dist/client/chat/ChatHistoryList.js.map +1 -0
- package/dist/client/chat/index.d.ts +1 -0
- package/dist/client/chat/index.d.ts.map +1 -1
- package/dist/client/chat/index.js +1 -0
- package/dist/client/chat/index.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts +13 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +10 -2
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/code-agent-chat-adapter.d.ts +17 -1
- package/dist/client/code-agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/code-agent-chat-adapter.js +47 -3
- package/dist/client/code-agent-chat-adapter.js.map +1 -1
- package/dist/client/composer/RealtimeVoiceMode.d.ts +11 -1
- package/dist/client/composer/RealtimeVoiceMode.d.ts.map +1 -1
- package/dist/client/composer/RealtimeVoiceMode.js +5 -3
- package/dist/client/composer/RealtimeVoiceMode.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts +25 -2
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +96 -5
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/composer/VoiceButton.d.ts.map +1 -1
- package/dist/client/composer/VoiceButton.js +21 -1
- package/dist/client/composer/VoiceButton.js.map +1 -1
- package/dist/client/composer/useRealtimeVoiceMode.d.ts.map +1 -1
- package/dist/client/composer/useRealtimeVoiceMode.js +5 -0
- package/dist/client/composer/useRealtimeVoiceMode.js.map +1 -1
- package/dist/client/conversation/code-agent-transcript.d.ts +2 -0
- package/dist/client/conversation/code-agent-transcript.d.ts.map +1 -1
- package/dist/client/conversation/code-agent-transcript.js +3 -5
- package/dist/client/conversation/code-agent-transcript.js.map +1 -1
- package/dist/client/guided-questions.d.ts.map +1 -1
- package/dist/client/guided-questions.js +2 -1
- package/dist/client/guided-questions.js.map +1 -1
- package/dist/client/index.d.ts +3 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +3 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +9 -1
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/client/voice-provider-status.d.ts +10 -0
- package/dist/client/voice-provider-status.d.ts.map +1 -0
- package/dist/client/voice-provider-status.js +32 -0
- package/dist/client/voice-provider-status.js.map +1 -0
- package/dist/code-agents/transcript-normalizer.d.ts +29 -0
- package/dist/code-agents/transcript-normalizer.d.ts.map +1 -1
- package/dist/code-agents/transcript-normalizer.js +55 -0
- package/dist/code-agents/transcript-normalizer.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +13 -11
- package/dist/deploy/build.js.map +1 -1
- package/dist/guards/db-tool-scoping.d.ts +38 -0
- package/dist/guards/db-tool-scoping.d.ts.map +1 -0
- package/dist/guards/db-tool-scoping.js +114 -0
- package/dist/guards/db-tool-scoping.js.map +1 -0
- package/dist/guards/index.d.ts +23 -0
- package/dist/guards/index.d.ts.map +1 -0
- package/dist/guards/index.js +19 -0
- package/dist/guards/index.js.map +1 -0
- package/dist/guards/no-drizzle-push.d.ts +14 -0
- package/dist/guards/no-drizzle-push.d.ts.map +1 -0
- package/dist/guards/no-drizzle-push.js +97 -0
- package/dist/guards/no-drizzle-push.js.map +1 -0
- package/dist/guards/no-env-credentials.d.ts +36 -0
- package/dist/guards/no-env-credentials.d.ts.map +1 -0
- package/dist/guards/no-env-credentials.js +204 -0
- package/dist/guards/no-env-credentials.js.map +1 -0
- package/dist/guards/no-env-mutation.d.ts +23 -0
- package/dist/guards/no-env-mutation.d.ts.map +1 -0
- package/dist/guards/no-env-mutation.js +90 -0
- package/dist/guards/no-env-mutation.js.map +1 -0
- package/dist/guards/no-localhost-fallback.d.ts +30 -0
- package/dist/guards/no-localhost-fallback.d.ts.map +1 -0
- package/dist/guards/no-localhost-fallback.js +105 -0
- package/dist/guards/no-localhost-fallback.js.map +1 -0
- package/dist/guards/no-unscoped-credentials.d.ts +28 -0
- package/dist/guards/no-unscoped-credentials.d.ts.map +1 -0
- package/dist/guards/no-unscoped-credentials.js +199 -0
- package/dist/guards/no-unscoped-credentials.js.map +1 -0
- package/dist/guards/no-unscoped-queries.d.ts +32 -0
- package/dist/guards/no-unscoped-queries.d.ts.map +1 -0
- package/dist/guards/no-unscoped-queries.js +720 -0
- package/dist/guards/no-unscoped-queries.js.map +1 -0
- package/dist/guards/scan-utils.d.ts +28 -0
- package/dist/guards/scan-utils.d.ts.map +1 -0
- package/dist/guards/scan-utils.js +92 -0
- package/dist/guards/scan-utils.js.map +1 -0
- package/dist/guards/types.d.ts +28 -0
- package/dist/guards/types.d.ts.map +1 -0
- package/dist/guards/types.js +11 -0
- package/dist/guards/types.js.map +1 -0
- package/dist/integrations/a2a-continuation-processor.d.ts.map +1 -1
- package/dist/integrations/a2a-continuation-processor.js +25 -5
- package/dist/integrations/a2a-continuation-processor.js.map +1 -1
- package/dist/integrations/adapters/slack.d.ts.map +1 -1
- package/dist/integrations/adapters/slack.js +55 -21
- package/dist/integrations/adapters/slack.js.map +1 -1
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +11 -0
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/localization/default-messages.d.ts +5 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +5 -0
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/observability/hosted-model-experiment.d.ts +39 -0
- package/dist/observability/hosted-model-experiment.d.ts.map +1 -0
- package/dist/observability/hosted-model-experiment.js +90 -0
- package/dist/observability/hosted-model-experiment.js.map +1 -0
- package/dist/observability/routes.d.ts +1 -1
- package/dist/observability/routes.d.ts.map +1 -1
- package/dist/observability/routes.js +16 -0
- package/dist/observability/routes.js.map +1 -1
- package/dist/observability/store.d.ts.map +1 -1
- package/dist/observability/store.js +4 -1
- package/dist/observability/store.js.map +1 -1
- package/dist/observability/traces.d.ts +6 -0
- package/dist/observability/traces.d.ts.map +1 -1
- package/dist/observability/traces.js +28 -2
- package/dist/observability/traces.js.map +1 -1
- package/dist/org/accept-pending.d.ts.map +1 -1
- package/dist/org/accept-pending.js +9 -1
- package/dist/org/accept-pending.js.map +1 -1
- package/dist/org/migrations.d.ts +7 -2
- package/dist/org/migrations.d.ts.map +1 -1
- package/dist/org/migrations.js +41 -0
- package/dist/org/migrations.js.map +1 -1
- package/dist/package-lifecycle/index.d.ts +2 -0
- package/dist/package-lifecycle/index.d.ts.map +1 -0
- package/dist/package-lifecycle/index.js +2 -0
- package/dist/package-lifecycle/index.js.map +1 -0
- package/dist/package-lifecycle/manifest.d.ts +24 -0
- package/dist/package-lifecycle/manifest.d.ts.map +1 -0
- package/dist/package-lifecycle/manifest.js +81 -0
- package/dist/package-lifecycle/manifest.js.map +1 -0
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/custom-registry.d.ts +32 -1
- package/dist/provider-api/custom-registry.d.ts.map +1 -1
- package/dist/provider-api/custom-registry.js +41 -1
- package/dist/provider-api/custom-registry.js.map +1 -1
- package/dist/provider-api/index.d.ts +1 -1
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +1 -1
- package/dist/provider-api/index.js.map +1 -1
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.d.ts.map +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.js +19 -1
- package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +43 -3
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/scripts/chat/search-chats.d.ts +1 -1
- package/dist/scripts/chat/search-chats.d.ts.map +1 -1
- package/dist/scripts/chat/search-chats.js +11 -8
- package/dist/scripts/chat/search-chats.js.map +1 -1
- package/dist/secrets/register-framework-secrets.js +1 -1
- package/dist/secrets/register-framework-secrets.js.map +1 -1
- package/dist/secrets/storage.d.ts.map +1 -1
- package/dist/secrets/storage.js +45 -27
- package/dist/secrets/storage.js.map +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +4 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts +11 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +74 -19
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/core-routes-plugin.d.ts +3 -0
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +36 -12
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/csrf.d.ts.map +1 -1
- package/dist/server/csrf.js +18 -5
- package/dist/server/csrf.js.map +1 -1
- package/dist/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +34 -0
- package/dist/server/framework-request-handler.js.map +1 -1
- package/dist/server/google-realtime-session.d.ts.map +1 -1
- package/dist/server/google-realtime-session.js +2 -34
- package/dist/server/google-realtime-session.js.map +1 -1
- package/dist/server/poll.d.ts.map +1 -1
- package/dist/server/poll.js +24 -2
- package/dist/server/poll.js.map +1 -1
- package/dist/server/realtime-voice.d.ts.map +1 -1
- package/dist/server/realtime-voice.js +64 -21
- package/dist/server/realtime-voice.js.map +1 -1
- package/dist/server/request-origin.d.ts +10 -0
- package/dist/server/request-origin.d.ts.map +1 -0
- package/dist/server/request-origin.js +60 -0
- package/dist/server/request-origin.js.map +1 -0
- package/dist/server/transcribe-voice.d.ts.map +1 -1
- package/dist/server/transcribe-voice.js +2 -48
- package/dist/server/transcribe-voice.js.map +1 -1
- package/dist/server/voice-providers-status.d.ts.map +1 -1
- package/dist/server/voice-providers-status.js +2 -3
- package/dist/server/voice-providers-status.js.map +1 -1
- package/dist/shared/cache-control.d.ts +4 -6
- package/dist/shared/cache-control.d.ts.map +1 -1
- package/dist/shared/cache-control.js +2 -7
- package/dist/shared/cache-control.js.map +1 -1
- package/dist/styles/agent-native.css +1 -0
- package/dist/styles/chat-history-list.css +313 -0
- package/dist/templates/default/package.json +2 -2
- package/dist/templates/headless/package.json +0 -1
- package/dist/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
- package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
- package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +20 -0
- package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +8 -4
- package/dist/templates/workspace-core/package.json +0 -1
- package/dist/templates/workspace-root/package.json +0 -1
- package/dist/triggers/actions.d.ts.map +1 -1
- package/dist/triggers/actions.js +8 -3
- package/dist/triggers/actions.js.map +1 -1
- package/dist/triggers/types.d.ts +7 -1
- package/dist/triggers/types.d.ts.map +1 -1
- package/dist/triggers/types.js.map +1 -1
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +1 -0
- package/dist/vite/client.js.map +1 -1
- package/docs/content/audit-log.mdx +2 -1
- package/docs/content/automations.mdx +7 -7
- package/docs/content/creating-templates.mdx +1 -1
- package/docs/content/internationalization.mdx +2 -1
- package/docs/content/locales/ar-SA/audit-log.mdx +2 -1
- package/docs/content/locales/ar-SA/automations.mdx +7 -7
- package/docs/content/locales/ar-SA/getting-started.mdx +7 -1
- package/docs/content/locales/ar-SA/internationalization.mdx +1 -1
- package/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
- package/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/ar-SA/security.mdx +8 -0
- package/docs/content/locales/de-DE/audit-log.mdx +2 -1
- package/docs/content/locales/de-DE/automations.mdx +7 -7
- package/docs/content/locales/de-DE/getting-started.mdx +7 -1
- package/docs/content/locales/de-DE/internationalization.mdx +1 -1
- package/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
- package/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/de-DE/security.mdx +8 -0
- package/docs/content/locales/es-ES/audit-log.mdx +2 -1
- package/docs/content/locales/es-ES/automations.mdx +7 -7
- package/docs/content/locales/es-ES/getting-started.mdx +7 -1
- package/docs/content/locales/es-ES/internationalization.mdx +1 -1
- package/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
- package/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/es-ES/security.mdx +8 -0
- package/docs/content/locales/fr-FR/audit-log.mdx +2 -1
- package/docs/content/locales/fr-FR/automations.mdx +7 -7
- package/docs/content/locales/fr-FR/getting-started.mdx +7 -1
- package/docs/content/locales/fr-FR/internationalization.mdx +1 -1
- package/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
- package/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
- package/docs/content/locales/fr-FR/security.mdx +8 -0
- package/docs/content/locales/hi-IN/audit-log.mdx +2 -1
- package/docs/content/locales/hi-IN/automations.mdx +7 -7
- package/docs/content/locales/hi-IN/getting-started.mdx +7 -1
- package/docs/content/locales/hi-IN/internationalization.mdx +1 -1
- package/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
- package/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/hi-IN/security.mdx +8 -0
- package/docs/content/locales/ja-JP/audit-log.mdx +2 -1
- package/docs/content/locales/ja-JP/automations.mdx +7 -7
- package/docs/content/locales/ja-JP/getting-started.mdx +7 -1
- package/docs/content/locales/ja-JP/internationalization.mdx +1 -1
- package/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
- package/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
- package/docs/content/locales/ja-JP/security.mdx +8 -0
- package/docs/content/locales/ko-KR/audit-log.mdx +2 -1
- package/docs/content/locales/ko-KR/automations.mdx +7 -7
- package/docs/content/locales/ko-KR/getting-started.mdx +7 -1
- package/docs/content/locales/ko-KR/internationalization.mdx +1 -1
- package/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
- package/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
- package/docs/content/locales/ko-KR/security.mdx +8 -0
- package/docs/content/locales/pt-BR/audit-log.mdx +2 -1
- package/docs/content/locales/pt-BR/automations.mdx +7 -7
- package/docs/content/locales/pt-BR/getting-started.mdx +7 -1
- package/docs/content/locales/pt-BR/internationalization.mdx +1 -1
- package/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
- package/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/pt-BR/security.mdx +8 -0
- package/docs/content/locales/zh-CN/audit-log.mdx +2 -1
- package/docs/content/locales/zh-CN/automations.mdx +7 -7
- package/docs/content/locales/zh-CN/getting-started.mdx +6 -4
- package/docs/content/locales/zh-CN/internationalization.mdx +1 -1
- package/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
- package/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
- package/docs/content/locales/zh-CN/security.mdx +8 -0
- package/docs/content/locales/zh-TW/audit-log.mdx +2 -1
- package/docs/content/locales/zh-TW/automations.mdx +7 -7
- package/docs/content/locales/zh-TW/getting-started.mdx +6 -4
- package/docs/content/locales/zh-TW/internationalization.mdx +1 -1
- package/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
- package/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
- package/docs/content/locales/zh-TW/security.mdx +8 -0
- package/docs/content/package-lifecycle.mdx +51 -0
- package/docs/content/sandbox-adapters.mdx +16 -5
- package/package.json +12 -3
- package/src/templates/default/package.json +2 -2
- package/src/templates/headless/package.json +0 -1
- package/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
- package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
- package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +20 -0
- package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +8 -4
- package/src/templates/workspace-core/package.json +0 -1
- package/src/templates/workspace-root/package.json +0 -1
- package/corpus/templates/slides/app/components/ui/toast.tsx +0 -1
- package/corpus/templates/slides/app/components/ui/toaster.tsx +0 -1
- package/corpus/templates/slides/app/hooks/use-toast.ts +0 -1
|
@@ -114,13 +114,13 @@ description: "자연어 조건을 사용한 이벤트 트리거 및 예약 자
|
|
|
114
114
|
|
|
115
115
|
자동화는 [recurring-jobs frontmatter table](/docs/recurring-jobs#frontmatter)의 모든 필드를 공유합니다. 다음 추가 필드는 이벤트 트리거, 조건 및 실행 모드를 제어합니다.
|
|
116
116
|
|
|
117
|
-
| 필드 | 유형
|
|
118
|
-
| ------------- |
|
|
119
|
-
| `triggerType` | `"schedule"` \| `"event"`
|
|
120
|
-
| `event` | 문자열
|
|
121
|
-
| `condition` | 문자열
|
|
122
|
-
| `mode` | `"agentic"`
|
|
123
|
-
| `domain` | 문자열
|
|
117
|
+
| 필드 | 유형 | 기본값 | 설명 |
|
|
118
|
+
| ------------- | ------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
119
|
+
| `triggerType` | `"schedule"` \| `"event"` | `"schedule"` | 자동화 실행 방법 |
|
|
120
|
+
| `event` | 문자열 | _(선택사항)_ | 구독할 이벤트 이름(이벤트 트리거에만 해당) |
|
|
121
|
+
| `condition` | 문자열 | _(선택사항)_ | 배송 전 자연어 조건 평가 |
|
|
122
|
+
| `mode` | `"agentic"` | `"agentic"` | 전체 에이전트 루프(유일하게 지원되는 모드). `"deterministic"`는 제거되었습니다 — 구현된 적이 없으며, 이를 설정한 자동화는 실행된 적이 없습니다. |
|
|
123
|
+
| `domain` | 문자열 | _(선택사항)_ | 그룹화 태그(메일, 캘린더, 클립 등) |
|
|
124
124
|
|
|
125
125
|
이벤트 트리거의 경우 `schedule`는 `""`(비어 있음)입니다. 일정 트리거의 경우 cron 표현식을 전달합니다. 또한 디스패처는 스케줄러와 동일한 관리형 `lastRun` / `lastStatus` / `lastError` 필드를 작성하고 조건이 false로 평가되면 `"skipped"` 상태도 작성합니다.
|
|
126
126
|
|
|
@@ -163,7 +163,13 @@ export const responseInsights = table("response_insights", {
|
|
|
163
163
|
/>
|
|
164
164
|
</WireframeBlock>
|
|
165
165
|
|
|
166
|
-
|
|
166
|
+
## 6. agent가 탐색하게 하기 {#agent-navigation}
|
|
167
|
+
|
|
168
|
+
Chat 템플릿에는 `view-screen`과 `navigate` action이 포함되어 있습니다. 앱이 성장함에 따라 이를 확장하세요:
|
|
169
|
+
|
|
170
|
+
- `view-screen`은 application state를 읽어 현재 route, 선택된 insight, 활성 필터, agent에게 필요한 간결한 페이지 컨텍스트를 반환해야 합니다.
|
|
171
|
+
- `navigate`는 agent가 사용자에게 결과를 시각적으로 확인시켜야 한다고 판단할 때 `/response-insights`와 같은 same-origin 경로를 기록해야 합니다.
|
|
172
|
+
- action 결과에는 `href: "/response-insights"` 같은 링크를 포함할 수 있어, chat이 명시적인 "응답 인사이트 열기" 버튼을 제공할 수 있습니다.
|
|
167
173
|
|
|
168
174
|
전체 페이지 chat에서 app 페이지를 열 때는 [Agent Surfaces](/docs/agent-surfaces#rich-chat)의 `AgentChatSurface`, `AgentSidebar`, `useAgentChatHomeHandoff`, `useAgentChatHomeHandoffLinks`, `chatViewTransition`을 사용해 같은 thread를 유지한 채 chat을 사이드바로 이동시킵니다.
|
|
169
175
|
|
|
@@ -59,7 +59,7 @@ export const i18nCatalog = {
|
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
항상 `en-US`를 번들로 묶으세요. 영어가 아닌 카탈로그를 동적 가져오기하여 사용자만
|
|
62
|
-
활성 로캘을 다운로드합니다. 지원되는 로캘 코드는 `en-US`, `zh-CN`,
|
|
62
|
+
활성 로캘을 다운로드합니다. 지원되는 로캘 코드는 `en-US`, `zh-CN`, `zh-TW`,
|
|
63
63
|
`es-ES`, `fr-FR`, `de-DE`, `ja-JP`, `ko-KR`, `pt-BR`, `hi-IN` 및 `ar-SA`.
|
|
64
64
|
|
|
65
65
|
## UI
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 패키지 수명 주기
|
|
3
|
+
description: 매니페스트 기반 Agent Native 패키지를 안전하게 검사하고 추가하거나 꺼냅니다.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 패키지 수명 주기
|
|
7
|
+
|
|
8
|
+
재사용 패키지는 버전이 지정된 정적 `agent-native.package.json`을 게시할 수
|
|
9
|
+
있습니다. CLI는 검사 중 이 JSON만 읽고 패키지 코드를 실행하지 않습니다.
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
agent-native package inspect @agent-native/scheduling --json
|
|
13
|
+
agent-native package add @agent-native/scheduling --apply
|
|
14
|
+
agent-native package eject @agent-native/scheduling --apply
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
추가와 꺼내기는 기본적으로 미리 보기입니다. `--apply`를 지정해야 파일을 쓰고
|
|
18
|
+
패키지 관리자를 실행합니다. 충돌과 알 수 없는 레이아웃은 거부하며 설치가
|
|
19
|
+
실패하면 파일과 잠금 파일을 복원합니다. 파일럿에서는 Scheduling만 꺼낼 수
|
|
20
|
+
있으며 Pinpoint는 보류합니다.
|
|
@@ -101,6 +101,10 @@ Agent-Native에는 좁은 뒤에 있는 문제를 고려하는 두 개의 어댑
|
|
|
101
101
|
path: "index.ts",
|
|
102
102
|
note: "선택: getSandboxAdapter() / registerSandboxAdapter()",
|
|
103
103
|
},
|
|
104
|
+
{
|
|
105
|
+
path: "background.ts",
|
|
106
|
+
note: "내구성 큐 마커와 백그라운드 실행 수명 주기",
|
|
107
|
+
},
|
|
104
108
|
{
|
|
105
109
|
path: "local-child-process-adapter.ts",
|
|
106
110
|
note: "기본 backend: 잠긴 Node child process",
|
|
@@ -181,12 +185,17 @@ registerSandboxAdapter(adapter) → AGENT_NATIVE_SANDBOX → local default
|
|
|
181
185
|
|
|
182
186
|
### `AGENT_NATIVE_SANDBOX` 환경 변수 {#env}
|
|
183
187
|
|
|
184
|
-
ID별로 내장 어댑터를 선택합니다.
|
|
188
|
+
ID별로 내장 어댑터를 선택합니다. `local`(기본값)과 `background`가 모두 연결되어 있습니다. 알 수 없는 값은 실행에 실패하지 않고 `local`로 대체됩니다.
|
|
185
189
|
|
|
186
190
|
```bash
|
|
187
|
-
AGENT_NATIVE_SANDBOX=local
|
|
191
|
+
AGENT_NATIVE_SANDBOX=local # 기본값 - 명시적
|
|
192
|
+
AGENT_NATIVE_SANDBOX=background # 모든 run-code 호출을 내구성 큐에 추가
|
|
188
193
|
```
|
|
189
194
|
|
|
195
|
+
`background`는 원시 코드를 `sandbox_executions`에 저장하고 `status: "queued"`와 `executionId`를 즉시 반환합니다. 서명된 self-dispatch는 새로운 serverless 호출을 시작하고, 장기 실행 Node는 프로세스 내에서 분리된 작업을 시작합니다. 상태 polling과 주기적 sweep은 누락된 dispatch 또는 만료된 lease를 다시 구동합니다. 영구 저장된 결과는 나중에 실행을 polling하여 가져옵니다.
|
|
196
|
+
|
|
197
|
+
`BackgroundQueueAdapter`는 내구성 큐 마커이지 executor가 아닙니다. 큐에 있는 작업은 사용 가능한 경우 등록된 non-queued execution adapter를 사용하고, 그렇지 않으면 로컬 child process로 대체됩니다. `background`만 선택해도 원격 또는 컨테이너 격리가 제공되지 않으며 edge 런타임이 `node:child_process`와 호환되는 것도 아닙니다.
|
|
198
|
+
|
|
190
199
|
### `registerSandboxAdapter()` {#register}
|
|
191
200
|
|
|
192
201
|
호스트 프로세스는 솔기의 `index.ts`를 통한 모든 후속 `run-code` 호출에 대해 백엔드를 재정의합니다. 예를 들어 원격 컨테이너에서 모든 호출을 실행합니다.
|
|
@@ -211,13 +220,15 @@ registerSandboxAdapter(new RemoteSandboxAdapter());
|
|
|
211
220
|
|
|
212
221
|
## 튼튼한 러너를 위한 솔기 {#durable}
|
|
213
222
|
|
|
214
|
-
|
|
223
|
+
내장 `background` 어댑터는 이미 내구성 큐와 새로운 실행 예산을 제공하지만 실제 실행은 계속 non-queued adapter 또는 로컬 child-process fallback을 사용합니다. 별도로 등록한 원격 또는 격리 어댑터(Docker나 Vercel-Sandbox 스타일 실행기)는 다른 실행 경계를 제공하고 호출별 백그라운드 작업도 실행할 수 있습니다.
|
|
224
|
+
|
|
225
|
+
이러한 어댑터는 다음을 수행합니다.
|
|
215
226
|
|
|
216
227
|
1. out-of-process 런타임에 대해 `SandboxAdapter.run`를 구현합니다.
|
|
217
|
-
2. 루프백 브리지
|
|
218
|
-
3.
|
|
228
|
+
2. 루프백 브리지를 터널링하거나 브리지 호출을 상위 프로세스로 프록시합니다.
|
|
229
|
+
3. 제공된 내구성 큐 수명 주기와 독립적으로 원격 또는 컨테이너 격리를 제공합니다.
|
|
219
230
|
|
|
220
|
-
|
|
231
|
+
`registerSandboxAdapter()`를 통해 프로그래밍 방식으로 등록하세요. 에이전트 루프와 `run-code.ts`를 변경할 필요가 없습니다.
|
|
221
232
|
|
|
222
233
|
> [!TIP]
|
|
223
234
|
> `agent-native add sandbox docker` 청사진은 이 솔기에 대해 Docker 어댑터를 구현하기 위한 완전하고 독립적인 레시피를 내보냅니다. [Blueprint Installer](/docs/blueprint-installer)를 참조하세요.
|
|
@@ -413,3 +413,11 @@ AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK=1
|
|
|
413
413
|
```
|
|
414
414
|
|
|
415
415
|
작업 영역 범위 비밀 쓰기에는 이 플래그에 관계없이 여전히 조직 소유자/관리자 역할이 필요합니다.
|
|
416
|
+
|
|
417
|
+
## 다음 단계
|
|
418
|
+
|
|
419
|
+
- [**Authentication**](/docs/authentication) — 이 페이지가 기반으로 하는 인증 모드, cookie realm, 세션 세부 정보
|
|
420
|
+
- [**Multi-Tenancy**](/docs/multi-tenancy) — `org_id` 스코핑 뒤에 있는 조직 멤버십 모델
|
|
421
|
+
- [**Sharing**](/docs/sharing) — 공유 가능한 리소스에 적용되는 `ownableColumns()` 및 access-guard 패턴
|
|
422
|
+
- [**Messaging**](/docs/messaging#env-vars) — 위 체크리스트에서 참조하는 통합별 webhook 서명 비밀
|
|
423
|
+
- [**Deployment**](/docs/deployment) — 이 체크리스트가 설정되어 있다고 가정하는 프로덕션 환경 변수
|
|
@@ -73,10 +73,11 @@ Tudo em `audit` é opcional. A adição mínima útil é `target: () => ({ type,
|
|
|
73
73
|
|
|
74
74
|
## Lendo a trilha {#reading}
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
Três leituras actions estão disponíveis para o agente **e** o frontend em cada aplicativo, com escopo SQL para o chamador — eles nunca retornam as linhas de outro locatário:
|
|
77
77
|
|
|
78
78
|
- **`list-audit-events`** — filtrar por `targetType` / `targetId`, `actorKind` (`agent` | `human` | `system`), `status`, `threadId` / `turnId`, `action`, `sinceMs` e `limit`.
|
|
79
79
|
- **`get-audit-event`** — um evento por ID, incluindo sua carga útil de entrada editada.
|
|
80
|
+
- **`export-audit-events`** — exporta a trilha em massa como CSV ou NDJSON em vez de paginar manualmente `list-audit-events`, para extrações de conformidade offline. Aceita os mesmos filtros de `list-audit-events` (sem `limit`) mais `format` (`csv` | `ndjson`, padrão `csv`) e `maxRows` (padrão 5000, limite máximo 10000), e retorna `{ content, rowCount, truncated, format }` — `truncated: true` significa que mais linhas corresponderam do que `maxRows` permitia. É, em si, uma leitura sensível, auditada via `audit: { onRead: true }`.
|
|
80
81
|
|
|
81
82
|
Crie um feed de atividades ou uma linha "quem mudou isto" chamando `list-audit-events` do UI com `useActionQuery` — nunca escreva manualmente uma busca na tabela de auditoria:
|
|
82
83
|
|
|
@@ -114,13 +114,13 @@ O terceiro caminho — escrever o arquivo `jobs/<name>.md` manualmente via `reso
|
|
|
114
114
|
|
|
115
115
|
As automações compartilham todos os campos do [recurring-jobs frontmatter table](/docs/recurring-jobs#frontmatter). Esses campos adicionais controlam gatilhos de eventos, condições e modo de execução:
|
|
116
116
|
|
|
117
|
-
| Campo | Tipo
|
|
118
|
-
| ------------- |
|
|
119
|
-
| `triggerType` | `"schedule"` \| `"event"`
|
|
120
|
-
| `event` | string
|
|
121
|
-
| `condition` | string
|
|
122
|
-
| `mode` | `"agentic"`
|
|
123
|
-
| `domain` | string
|
|
117
|
+
| Campo | Tipo | Padrão | Descrição |
|
|
118
|
+
| ------------- | ------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
119
|
+
| `triggerType` | `"schedule"` \| `"event"` | `"schedule"` | Como a automação é acionada |
|
|
120
|
+
| `event` | string | _(opcional)_ | Nome do evento para assinatura (somente acionadores de eventos) |
|
|
121
|
+
| `condition` | string | _(opcional)_ | Condição de linguagem natural avaliada antes do envio |
|
|
122
|
+
| `mode` | `"agentic"` | `"agentic"` | Loop completo do agente (o único modo suportado). `"deterministic"` foi removido — nunca foi implementado, e as automações que o definiam nunca eram disparadas. |
|
|
123
|
+
| `domain` | string | _(opcional)_ | Tag de agrupamento (e-mail, calendário, clipes etc.) |
|
|
124
124
|
|
|
125
125
|
Para um acionador de evento, `schedule` é `""` (vazio); para um gatilho de agendamento, ele carrega a expressão cron. O despachante também grava os mesmos campos gerenciados `lastRun`/`lastStatus`/`lastError` que o agendador faz, além de um status `"skipped"` quando uma condição é avaliada como falsa.
|
|
126
126
|
|
|
@@ -163,7 +163,13 @@ Adicione a route `/response-insights` com `useActionQuery("list-response-insight
|
|
|
163
163
|
/>
|
|
164
164
|
</WireframeBlock>
|
|
165
165
|
|
|
166
|
-
|
|
166
|
+
## 6. Deixe o agent navegar {#agent-navigation}
|
|
167
|
+
|
|
168
|
+
O template de Chat inclui as actions `view-screen` e `navigate`. Estenda-as conforme sua app cresce:
|
|
169
|
+
|
|
170
|
+
- `view-screen` deve ler o application state e retornar a route atual, o insight selecionado, os filtros ativos e qualquer contexto compacto de página que o agent precise.
|
|
171
|
+
- `navigate` deve escrever um caminho same-origin como `/response-insights` quando o agent decidir que o usuário deve inspecionar o resultado visualmente.
|
|
172
|
+
- Resultados de action podem incluir links como `href: "/response-insights"` para que o chat ofereça um botão explícito "Abrir insights de respostas".
|
|
167
173
|
|
|
168
174
|
Quando o chat em página inteira abrir uma página da app, use `AgentChatSurface`, `AgentSidebar`, `useAgentChatHomeHandoff`, `useAgentChatHomeHandoffLinks` e `chatViewTransition` de [Agent Surfaces](/docs/agent-surfaces#rich-chat) para mover o chat para a lateral sem perder o thread.
|
|
169
175
|
|
|
@@ -59,7 +59,7 @@ export const i18nCatalog = {
|
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
Sempre inclua `en-US`. Importação dinâmica de catálogos em idiomas diferentes do inglês apenas para usuários
|
|
62
|
-
baixe a localidade ativa. Os códigos de localidade suportados são `en-US`, `zh-CN`,
|
|
62
|
+
baixe a localidade ativa. Os códigos de localidade suportados são `en-US`, `zh-CN`, `zh-TW`,
|
|
63
63
|
`es-ES`, `fr-FR`, `de-DE`, `ja-JP`, `ko-KR`, `pt-BR`, `hi-IN` e `ar-SA`.
|
|
64
64
|
|
|
65
65
|
## UI
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Ciclo de vida de pacotes
|
|
3
|
+
description: Inspecione, adicione e ejete pacotes Agent Native orientados por manifesto.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Ciclo de vida de pacotes
|
|
7
|
+
|
|
8
|
+
Pacotes reutilizáveis podem publicar um `agent-native.package.json` estático e
|
|
9
|
+
versionado. A CLI lê somente esse JSON e não executa código do pacote durante a
|
|
10
|
+
inspeção.
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
agent-native package inspect @agent-native/scheduling --json
|
|
14
|
+
agent-native package add @agent-native/scheduling --apply
|
|
15
|
+
agent-native package eject @agent-native/scheduling --apply
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Adicionar e ejetar são simulações por padrão. `--apply` permite gravações e
|
|
19
|
+
executa o gerenciador de pacotes. A CLI recusa colisões e layouts desconhecidos
|
|
20
|
+
e restaura arquivos e lockfiles se a instalação falhar. Apenas Scheduling pode
|
|
21
|
+
ser ejetado neste piloto; Pinpoint fica adiado.
|
|
@@ -103,6 +103,10 @@ A costura reside no núcleo em `packages/core/src/coding-tools/sandbox/` — `ad
|
|
|
103
103
|
path: "index.ts",
|
|
104
104
|
note: "Seleção: getSandboxAdapter() / registerSandboxAdapter()",
|
|
105
105
|
},
|
|
106
|
+
{
|
|
107
|
+
path: "background.ts",
|
|
108
|
+
note: "marcador de fila durável e ciclo de vida da execução em segundo plano",
|
|
109
|
+
},
|
|
106
110
|
{
|
|
107
111
|
path: "local-child-process-adapter.ts",
|
|
108
112
|
note: "O backend padrão: processo filho Node bloqueado",
|
|
@@ -183,12 +187,17 @@ registerSandboxAdapter(adapter) → AGENT_NATIVE_SANDBOX → local default
|
|
|
183
187
|
|
|
184
188
|
### Var ambiente `AGENT_NATIVE_SANDBOX` {#env}
|
|
185
189
|
|
|
186
|
-
Seleciona um adaptador integrado por ID.
|
|
190
|
+
Seleciona um adaptador integrado por ID. Tanto `local` (o padrão) quanto `background` estão conectados; valores desconhecidos voltam para `local` em vez de falhar na execução.
|
|
187
191
|
|
|
188
192
|
```bash
|
|
189
|
-
AGENT_NATIVE_SANDBOX=local
|
|
193
|
+
AGENT_NATIVE_SANDBOX=local # o padrão - explícito
|
|
194
|
+
AGENT_NATIVE_SANDBOX=background # enfileira cada chamada run-code de forma durável
|
|
190
195
|
```
|
|
191
196
|
|
|
197
|
+
`background` armazena o código bruto em `sandbox_executions` e retorna imediatamente um `executionId` com `status: "queued"`. Um auto-dispatch assinado inicia uma nova invocação serverless; um processo Node de longa duração inicia trabalho desacoplado no processo; a consulta de status e a varredura periódica reativam dispatches perdidos ou leases expirados. Consulte a execução mais tarde para obter o resultado persistido.
|
|
198
|
+
|
|
199
|
+
`BackgroundQueueAdapter` é um marcador de fila durável, não o executor. O trabalho enfileirado usa um adaptador de execução registrado que não seja de fila quando disponível; caso contrário, volta para o processo filho local. Selecionar apenas `background` não fornece isolamento remoto nem de contêiner e não torna um runtime edge compatível com `node:child_process`.
|
|
200
|
+
|
|
192
201
|
### `registerSandboxAdapter()` {#register}
|
|
193
202
|
|
|
194
203
|
Um processo host substitui o backend para todas as invocações `run-code` subsequentes por meio do `index.ts` da costura — por exemplo, para executar todas as chamadas em um contêiner remoto:
|
|
@@ -213,13 +222,15 @@ registerSandboxAdapter(new RemoteSandboxAdapter());
|
|
|
213
222
|
|
|
214
223
|
## A costura para um corredor durável {#durable}
|
|
215
224
|
|
|
216
|
-
|
|
225
|
+
O adaptador integrado `background` já fornece enfileiramento durável e um novo orçamento de execução, enquanto a execução real ainda usa um adaptador que não seja de fila ou o processo filho local como fallback. Um adaptador remoto ou isolado registrado separadamente (Docker ou um executor estilo Vercel-Sandbox) pode fornecer outro limite de execução e também executar trabalho em segundo plano por chamada.
|
|
226
|
+
|
|
227
|
+
Esse adaptador:
|
|
217
228
|
|
|
218
|
-
1.
|
|
219
|
-
2.
|
|
220
|
-
3.
|
|
229
|
+
1. Implementaria `SandboxAdapter.run` em um runtime fora do processo.
|
|
230
|
+
2. Criaria um túnel para a ponte de loopback ou encaminharia suas chamadas ao processo pai.
|
|
231
|
+
3. Forneceria isolamento remoto ou de contêiner independentemente do ciclo de vida da fila durável incluída.
|
|
221
232
|
|
|
222
|
-
Registre-o
|
|
233
|
+
Registre-o programaticamente por meio de `registerSandboxAdapter()`. O loop do agente e `run-code.ts` não precisam mudar.
|
|
223
234
|
|
|
224
235
|
> [!TIP]
|
|
225
236
|
> O blueprint `agent-native add sandbox docker` emite uma receita completa e independente para implementar um adaptador Docker nessa junção. Consulte [Blueprint Installer](/docs/blueprint-installer).
|
|
@@ -419,3 +419,11 @@ AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK=1
|
|
|
419
419
|
```
|
|
420
420
|
|
|
421
421
|
As gravações secretas no escopo do workspace ainda exigem a função de proprietário/administrador da organização, independentemente dessa sinalização.
|
|
422
|
+
|
|
423
|
+
## Próximos passos
|
|
424
|
+
|
|
425
|
+
- [**Authentication**](/docs/authentication) — modos de autenticação, cookie realms e detalhes de sessão sobre os quais esta página se baseia
|
|
426
|
+
- [**Multi-Tenancy**](/docs/multi-tenancy) — o modelo de associação à organização por trás do escopo `org_id`
|
|
427
|
+
- [**Sharing**](/docs/sharing) — o padrão `ownableColumns()` e de access-guard aplicado a recursos compartilháveis
|
|
428
|
+
- [**Messaging**](/docs/messaging#env-vars) — os segredos de assinatura de webhook por integração referenciados na lista de verificação acima
|
|
429
|
+
- [**Deployment**](/docs/deployment) — as variáveis de ambiente de produção que esta lista de verificação pressupõe estarem definidas
|
|
@@ -73,10 +73,11 @@ export default defineAction({
|
|
|
73
73
|
|
|
74
74
|
## 阅读踪迹 {#reading}
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
每个应用程序中的代理**和**前端都可以使用三个读取的actions,调用者的范围在SQL中 - 它们永远不会返回其他租户的行:
|
|
77
77
|
|
|
78
78
|
- **`list-audit-events`** — 按 `targetType` / `targetId`、`actorKind` (`agent` | `human` | `system`)、`status`、`threadId` / `turnId`、`action` 过滤, `sinceMs`、`limit`。
|
|
79
79
|
- **`get-audit-event`** — 按 id 的一个事件,包括其经过编辑的输入负载。
|
|
80
|
+
- **`export-audit-events`** — 以 CSV 或 NDJSON 形式批量导出审计记录,而不必手动翻页 `list-audit-events`,用于离线合规性提取。使用与 `list-audit-events` 相同的过滤器(不含 `limit`),另加 `format`(`csv` | `ndjson`,默认 `csv`)和 `maxRows`(默认 5000,硬上限 10000),返回 `{ content, rowCount, truncated, format }` —— `truncated: true` 表示匹配的行数超过了 `maxRows` 允许的数量。它本身也是一次敏感读取,通过 `audit: { onRead: true }` 进行审计。
|
|
80
81
|
|
|
81
82
|
通过使用 `useActionQuery` 从 UI 调用 `list-audit-events` 来构建活动源或“谁更改了此”行 - 切勿手写对审核表的提取:
|
|
82
83
|
|
|
@@ -114,13 +114,13 @@ description: "具有自然语言条件的事件触发和计划自动化"
|
|
|
114
114
|
|
|
115
115
|
自动化共享 [recurring-jobs frontmatter table](/docs/recurring-jobs#frontmatter) 中的每个字段。这些附加字段控制事件触发器、条件和执行模式:
|
|
116
116
|
|
|
117
|
-
| 字段 | 类型
|
|
118
|
-
| ------------- |
|
|
119
|
-
| `triggerType` | `"schedule"` \| `"event"`
|
|
120
|
-
| `event` | 字符串
|
|
121
|
-
| `condition` | 字符串
|
|
122
|
-
| `mode` | `"agentic"`
|
|
123
|
-
| `domain` | 字符串
|
|
117
|
+
| 字段 | 类型 | 默认 | 描述 |
|
|
118
|
+
| ------------- | ------------------------- | ------------ | -------------------------------------------------------------------------------------------------------------- |
|
|
119
|
+
| `triggerType` | `"schedule"` \| `"event"` | `"schedule"` | 自动化如何启动 |
|
|
120
|
+
| `event` | 字符串 | _(可选)_ | 要订阅的事件名称(仅限事件触发器) |
|
|
121
|
+
| `condition` | 字符串 | _(可选)_ | 在调度之前评估自然语言条件 |
|
|
122
|
+
| `mode` | `"agentic"` | `"agentic"` | 完整的代理循环(唯一受支持的模式)。`"deterministic"` 已被移除——它从未被实现过,设置该模式的自动化从未被触发。 |
|
|
123
|
+
| `domain` | 字符串 | _(可选)_ | 分组标签(邮件、日历、剪辑等) |
|
|
124
124
|
|
|
125
125
|
对于事件触发器,`schedule`为`""`(空);对于计划触发器,它带有 cron 表达式。调度程序还写入与调度程序相同的托管 `lastRun` / `lastStatus` / `lastError` 字段,以及当条件评估为 false 时的 `"skipped"` 状态。
|
|
126
126
|
|
|
@@ -174,11 +174,13 @@ export const responseInsights = table("response_insights", {
|
|
|
174
174
|
/>
|
|
175
175
|
</WireframeBlock>
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
## 6. 让 agent 导航 {#agent-navigation}
|
|
178
178
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
-
|
|
179
|
+
Chat 模板包含 `view-screen` 和 `navigate` action。随着应用的成长扩展它们:
|
|
180
|
+
|
|
181
|
+
- `view-screen` 应读取 application state,返回当前 route、选中的 insight、生效的筛选条件,以及 agent 需要的任何精简页面上下文。
|
|
182
|
+
- 当 agent 判断用户需要直观查看结果时,`navigate` 应写入 `/response-insights` 这样的同源 path。
|
|
183
|
+
- action 结果可以包含 `href: “/response-insights”` 这样的链接,让聊天提供明确的”打开回复洞察”按钮。
|
|
182
184
|
|
|
183
185
|
当完整聊天页打开 app 页面时,使用 [Agent Surfaces](/docs/agent-surfaces#rich-chat) 里的 `AgentChatSurface`、`AgentSidebar`、`useAgentChatHomeHandoff`、`useAgentChatHomeHandoffLinks` 和 `chatViewTransition`,让聊天滑到侧边栏并保留同一个 thread。
|
|
184
186
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 软件包生命周期
|
|
3
|
+
description: 安全检查、添加和弹出由清单驱动的 Agent Native 软件包。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 软件包生命周期
|
|
7
|
+
|
|
8
|
+
可复用软件包可以发布带版本的静态 `agent-native.package.json`。CLI 在检查时
|
|
9
|
+
只读取此 JSON,不执行软件包代码。
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
agent-native package inspect @agent-native/scheduling --json
|
|
13
|
+
agent-native package add @agent-native/scheduling --apply
|
|
14
|
+
agent-native package eject @agent-native/scheduling --apply
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
添加和弹出默认仅预览。只有指定 `--apply` 才会写入文件并运行检测到的软件包
|
|
18
|
+
管理器。CLI 会拒绝冲突和未知布局;安装失败时会还原文件和锁文件。试点阶段
|
|
19
|
+
仅支持弹出 Scheduling,Pinpoint 暂不迁移。
|
|
@@ -101,6 +101,10 @@ Agent-Native 有两个适配器接缝,可消除狭窄后面的问题,
|
|
|
101
101
|
path: "index.ts",
|
|
102
102
|
note: "选择:getSandboxAdapter() / registerSandboxAdapter()",
|
|
103
103
|
},
|
|
104
|
+
{
|
|
105
|
+
path: "background.ts",
|
|
106
|
+
note: "持久队列标记和后台执行生命周期",
|
|
107
|
+
},
|
|
104
108
|
{
|
|
105
109
|
path: "local-child-process-adapter.ts",
|
|
106
110
|
note: "默认后端:受限的 Node 子进程",
|
|
@@ -181,12 +185,17 @@ registerSandboxAdapter(adapter) → AGENT_NATIVE_SANDBOX → local default
|
|
|
181
185
|
|
|
182
186
|
### `AGENT_NATIVE_SANDBOX` 环境变量 {#env}
|
|
183
187
|
|
|
184
|
-
通过 id
|
|
188
|
+
通过 id 选择内置适配器。`local`(默认)和 `background` 均已接入;未知值会回退到 `local`,而不会导致运行失败。
|
|
185
189
|
|
|
186
190
|
```bash
|
|
187
|
-
AGENT_NATIVE_SANDBOX=local
|
|
191
|
+
AGENT_NATIVE_SANDBOX=local # 默认值——显式
|
|
192
|
+
AGENT_NATIVE_SANDBOX=background # 将每次 run-code 调用持久排队
|
|
188
193
|
```
|
|
189
194
|
|
|
195
|
+
`background` 将原始代码存入 `sandbox_executions`,并立即返回带有 `status: "queued"` 的 `executionId`。签名的自分发会启动新的 serverless 调用;长时间运行的 Node 会在进程内启动分离任务;状态轮询和定期 sweep 会重新驱动丢失的分发或已过期的 lease。稍后轮询该执行即可获取持久化结果。
|
|
196
|
+
|
|
197
|
+
`BackgroundQueueAdapter` 是持久队列标记,而不是执行器。排队的工作会在可用时使用已注册的非队列执行适配器,否则回退到本地子进程。仅选择 `background` 不会提供远程或容器隔离,也不会让 edge 运行时兼容 `node:child_process`。
|
|
198
|
+
|
|
190
199
|
### `registerSandboxAdapter()` {#register}
|
|
191
200
|
|
|
192
201
|
主机进程通过接缝的 `index.ts` 覆盖所有后续 `run-code` 调用的后端 - 例如,运行远程容器中的每个调用:
|
|
@@ -211,13 +220,15 @@ registerSandboxAdapter(new RemoteSandboxAdapter());
|
|
|
211
220
|
|
|
212
221
|
## 耐用跑鞋的接缝 {#durable}
|
|
213
222
|
|
|
214
|
-
|
|
223
|
+
内置 `background` 适配器已经提供持久排队和新的执行预算,但实际执行仍使用非队列适配器或本地子进程回退。单独注册的远程或隔离适配器(Docker 或 Vercel-Sandbox 式运行器)可以提供不同的执行边界,也可以执行每次调用的后台工作。
|
|
224
|
+
|
|
225
|
+
此类适配器将:
|
|
215
226
|
|
|
216
227
|
1. 针对进程外运行时实现 `SandboxAdapter.run`。
|
|
217
|
-
2.
|
|
218
|
-
3.
|
|
228
|
+
2. 为 loopback 网桥建立隧道,或将网桥调用代理回父进程。
|
|
229
|
+
3. 独立于已提供的持久队列生命周期,提供远程或容器隔离。
|
|
219
230
|
|
|
220
|
-
|
|
231
|
+
通过 `registerSandboxAdapter()` 以编程方式注册。代理循环和 `run-code.ts` 无需更改。
|
|
221
232
|
|
|
222
233
|
> [!TIP]
|
|
223
234
|
> `agent-native add sandbox docker` 蓝图发出了一个完整的、独立的配方,用于针对此接缝实现 Docker 适配器。参见[Blueprint Installer](/docs/blueprint-installer)。
|
|
@@ -413,3 +413,11 @@ AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK=1
|
|
|
413
413
|
```
|
|
414
414
|
|
|
415
415
|
无论此标志如何,工作空间范围的秘密写入仍然需要组织所有者/管理员角色。
|
|
416
|
+
|
|
417
|
+
## 下一步
|
|
418
|
+
|
|
419
|
+
- [**Authentication**](/docs/authentication) — 本页所依赖的身份验证模式、cookie realm 和会话细节
|
|
420
|
+
- [**Multi-Tenancy**](/docs/multi-tenancy) — `org_id` 范围界定背后的组织成员模型
|
|
421
|
+
- [**Sharing**](/docs/sharing) — 应用于可共享资源的 `ownableColumns()` 和访问守卫模式
|
|
422
|
+
- [**Messaging**](/docs/messaging#env-vars) — 上方清单中提到的每个集成的 webhook 签名密钥
|
|
423
|
+
- [**Deployment**](/docs/deployment) — 此清单假定已设置的生产环境变量
|
|
@@ -73,10 +73,11 @@ export default defineAction({
|
|
|
73
73
|
|
|
74
74
|
## 閱讀蹤跡 {#reading}
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
每個應用程式中的代理**和**前端都可以使用三個讀取的actions,呼叫者的範圍在 SQL 中 - 它們永遠不會返回其他租戶的行:
|
|
77
77
|
|
|
78
78
|
- **`list-audit-events`** — 按 `targetType` / `targetId`、`actorKind` (`agent` | `human` | `system`)、`status`、`threadId` / `turnId`、`action` 過濾, `sinceMs`、`limit`。
|
|
79
79
|
- **`get-audit-event`** — 按 id 的一個事件,包括其經過編輯的輸入負載。
|
|
80
|
+
- **`export-audit-events`** — 以 CSV 或 NDJSON 形式批量匯出稽核記錄,而不必手動翻頁 `list-audit-events`,用於離線合規性擷取。使用與 `list-audit-events` 相同的篩選條件(不含 `limit`),另加 `format`(`csv` | `ndjson`,預設 `csv`)和 `maxRows`(預設 5000,硬上限 10000),回傳 `{ content, rowCount, truncated, format }` —— `truncated: true` 表示符合的資料列超過 `maxRows` 允許的數量。它本身也是一次敏感讀取,透過 `audit: { onRead: true }` 進行稽核。
|
|
80
81
|
|
|
81
82
|
透過使用 `useActionQuery` 從 UI 呼叫 `list-audit-events` 來建置活動來源或“誰更改了此”行 - 切勿手寫對審核表的擷取:
|
|
82
83
|
|
|
@@ -114,13 +114,13 @@ description: "具有自然語言條件的事件觸發和計畫自動化"
|
|
|
114
114
|
|
|
115
115
|
自動化共用 [recurring-jobs frontmatter table](/docs/recurring-jobs#frontmatter) 中的每個欄位。這些附加欄位控制事件觸發器、條件和執行模式:
|
|
116
116
|
|
|
117
|
-
| 欄位 | 型別
|
|
118
|
-
| ------------- |
|
|
119
|
-
| `triggerType` | `"schedule"` \| `"event"`
|
|
120
|
-
| `event` | 字串
|
|
121
|
-
| `condition` | 字串
|
|
122
|
-
| `mode` | `"agentic"`
|
|
123
|
-
| `domain` | 字串
|
|
117
|
+
| 欄位 | 型別 | 預設 | 描述 |
|
|
118
|
+
| ------------- | ------------------------- | ------------ | -------------------------------------------------------------------------------------------------------------- |
|
|
119
|
+
| `triggerType` | `"schedule"` \| `"event"` | `"schedule"` | 自動化如何啟動 |
|
|
120
|
+
| `event` | 字串 | _(可選)_ | 要訂閱的事件名稱(僅限事件觸發器) |
|
|
121
|
+
| `condition` | 字串 | _(可選)_ | 在調度之前評估自然語言條件 |
|
|
122
|
+
| `mode` | `"agentic"` | `"agentic"` | 完整的代理迴圈(唯一受支援的模式)。`"deterministic"` 已被移除——它從未被實作過,設定該模式的自動化從未被觸發。 |
|
|
123
|
+
| `domain` | 字串 | _(可選)_ | 分組標籤(郵件、行事曆、剪輯等) |
|
|
124
124
|
|
|
125
125
|
對於事件觸發器,`schedule`為`""`(空);對於計畫觸發器,它帶有 cron 表達式。調度程式還寫入與調度程式相同的託管 `lastRun` / `lastStatus` / `lastError` 欄位,以及當條件評估為 false 時的 `"skipped"` 狀態。
|
|
126
126
|
|
|
@@ -171,11 +171,13 @@ export const responseInsights = table("response_insights", {
|
|
|
171
171
|
/>
|
|
172
172
|
</WireframeBlock>
|
|
173
173
|
|
|
174
|
-
|
|
174
|
+
## 6. 讓 agent 導覽 {#agent-navigation}
|
|
175
175
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
-
|
|
176
|
+
Chat 範本包含 `view-screen` 和 `navigate` action。隨著應用的成長擴充它們:
|
|
177
|
+
|
|
178
|
+
- `view-screen` 應讀取 application state,回傳目前 route、選中的 insight、生效的篩選條件,以及 agent 需要的任何精簡頁面上下文。
|
|
179
|
+
- 當 agent 判斷使用者需要直觀檢視結果時,`navigate` 應寫入 `/response-insights` 這類同源 path。
|
|
180
|
+
- action 結果可以包含 `href: "/response-insights"` 這類連結,讓聊天提供明確的「開啟回覆洞察」按鈕。
|
|
179
181
|
|
|
180
182
|
當完整聊天頁開啟 app 頁面時,使用 [Agent Surfaces](/docs/agent-surfaces#rich-chat) 中的 `AgentChatSurface`、`AgentSidebar`、`useAgentChatHomeHandoff`、`useAgentChatHomeHandoffLinks` 和 `chatViewTransition`,讓聊天滑到側邊欄並保留同一個 thread。
|
|
181
183
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 套件生命週期
|
|
3
|
+
description: 安全檢查、新增與退出由資訊清單驅動的 Agent Native 套件。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 套件生命週期
|
|
7
|
+
|
|
8
|
+
可重用套件可以發布具版本的靜態 `agent-native.package.json`。CLI 檢查時只會
|
|
9
|
+
讀取此 JSON,不會執行套件程式碼。
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
agent-native package inspect @agent-native/scheduling --json
|
|
13
|
+
agent-native package add @agent-native/scheduling --apply
|
|
14
|
+
agent-native package eject @agent-native/scheduling --apply
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
新增與退出預設只會預覽。只有指定 `--apply` 才會寫入檔案並執行偵測到的套件
|
|
18
|
+
管理器。CLI 會拒絕衝突與未知配置;安裝失敗時會還原檔案與鎖定檔。試辦期間
|
|
19
|
+
只有 Scheduling 可退出,Pinpoint 暫不納入。
|
|
@@ -101,6 +101,10 @@ Agent-Native 有兩個轉接器接縫,可消除狹窄後面的問題,
|
|
|
101
101
|
path: "index.ts",
|
|
102
102
|
note: "選取:getSandboxAdapter() / registerSandboxAdapter()",
|
|
103
103
|
},
|
|
104
|
+
{
|
|
105
|
+
path: "background.ts",
|
|
106
|
+
note: "持久佇列標記與背景執行生命週期",
|
|
107
|
+
},
|
|
104
108
|
{
|
|
105
109
|
path: "local-child-process-adapter.ts",
|
|
106
110
|
note: "預設後端:受限的 Node 子行程",
|
|
@@ -181,12 +185,17 @@ registerSandboxAdapter(adapter) → AGENT_NATIVE_SANDBOX → local default
|
|
|
181
185
|
|
|
182
186
|
### `AGENT_NATIVE_SANDBOX` 環境變數 {#env}
|
|
183
187
|
|
|
184
|
-
透過 id
|
|
188
|
+
透過 id 選取內建轉接器。`local`(預設)與 `background` 均已接入;未知值會回退到 `local`,而不會導致執行失敗。
|
|
185
189
|
|
|
186
190
|
```bash
|
|
187
|
-
AGENT_NATIVE_SANDBOX=local
|
|
191
|
+
AGENT_NATIVE_SANDBOX=local # 預設值——顯式
|
|
192
|
+
AGENT_NATIVE_SANDBOX=background # 將每次 run-code 呼叫持久排入佇列
|
|
188
193
|
```
|
|
189
194
|
|
|
195
|
+
`background` 將原始程式碼存入 `sandbox_executions`,並立即回傳帶有 `status: "queued"` 的 `executionId`。簽署的自我派送會啟動新的 serverless 呼叫;長時間執行的 Node 會在行程內啟動分離工作;狀態輪詢與定期 sweep 會重新驅動遺失的派送或已過期的 lease。稍後輪詢該執行即可取得持久化結果。
|
|
196
|
+
|
|
197
|
+
`BackgroundQueueAdapter` 是持久佇列標記,而不是執行器。佇列中的工作會在可用時使用已註冊的非佇列執行轉接器,否則回退到本機子行程。僅選取 `background` 不會提供遠端或容器隔離,也不會讓 edge 執行環境與 `node:child_process` 相容。
|
|
198
|
+
|
|
190
199
|
### `registerSandboxAdapter()` {#register}
|
|
191
200
|
|
|
192
201
|
主機行程透過接縫的 `index.ts` 覆蓋所有後續 `run-code` 呼叫的後端 - 例如,執行遠端容器中的每個呼叫:
|
|
@@ -211,13 +220,15 @@ registerSandboxAdapter(new RemoteSandboxAdapter());
|
|
|
211
220
|
|
|
212
221
|
## 耐用跑鞋的接縫 {#durable}
|
|
213
222
|
|
|
214
|
-
|
|
223
|
+
內建 `background` 轉接器已提供持久排隊與新的執行預算,但實際執行仍使用非佇列轉接器或本機子行程回退。另行註冊的遠端或隔離轉接器(Docker 或 Vercel-Sandbox 式執行器)可以提供不同的執行邊界,也可以執行每次呼叫的背景工作。
|
|
224
|
+
|
|
225
|
+
此類轉接器將:
|
|
215
226
|
|
|
216
|
-
1.
|
|
217
|
-
2.
|
|
218
|
-
3.
|
|
227
|
+
1. 針對行程外執行環境實作 `SandboxAdapter.run`。
|
|
228
|
+
2. 為 loopback 橋接建立通道,或將橋接呼叫代理回父行程。
|
|
229
|
+
3. 獨立於已提供的持久佇列生命週期,提供遠端或容器隔離。
|
|
219
230
|
|
|
220
|
-
|
|
231
|
+
透過 `registerSandboxAdapter()` 以程式化方式註冊。代理迴圈和 `run-code.ts` 無需變更。
|
|
221
232
|
|
|
222
233
|
> [!TIP]
|
|
223
234
|
> `agent-native add sandbox docker` 藍圖發出了一個完整的、獨立的配方,用於針對此接縫實現 Docker 轉接器。參見[Blueprint Installer](/docs/blueprint-installer)。
|