@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.
Files changed (655) hide show
  1. package/README.md +6 -0
  2. package/corpus/README.md +2 -2
  3. package/corpus/core/CHANGELOG.md +64 -0
  4. package/corpus/core/docs/content/audit-log.mdx +2 -1
  5. package/corpus/core/docs/content/automations.mdx +7 -7
  6. package/corpus/core/docs/content/creating-templates.mdx +1 -1
  7. package/corpus/core/docs/content/internationalization.mdx +2 -1
  8. package/corpus/core/docs/content/locales/ar-SA/audit-log.mdx +2 -1
  9. package/corpus/core/docs/content/locales/ar-SA/automations.mdx +7 -7
  10. package/corpus/core/docs/content/locales/ar-SA/getting-started.mdx +7 -1
  11. package/corpus/core/docs/content/locales/ar-SA/internationalization.mdx +1 -1
  12. package/corpus/core/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
  13. package/corpus/core/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
  14. package/corpus/core/docs/content/locales/ar-SA/security.mdx +8 -0
  15. package/corpus/core/docs/content/locales/de-DE/audit-log.mdx +2 -1
  16. package/corpus/core/docs/content/locales/de-DE/automations.mdx +7 -7
  17. package/corpus/core/docs/content/locales/de-DE/getting-started.mdx +7 -1
  18. package/corpus/core/docs/content/locales/de-DE/internationalization.mdx +1 -1
  19. package/corpus/core/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
  20. package/corpus/core/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
  21. package/corpus/core/docs/content/locales/de-DE/security.mdx +8 -0
  22. package/corpus/core/docs/content/locales/es-ES/audit-log.mdx +2 -1
  23. package/corpus/core/docs/content/locales/es-ES/automations.mdx +7 -7
  24. package/corpus/core/docs/content/locales/es-ES/getting-started.mdx +7 -1
  25. package/corpus/core/docs/content/locales/es-ES/internationalization.mdx +1 -1
  26. package/corpus/core/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
  27. package/corpus/core/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
  28. package/corpus/core/docs/content/locales/es-ES/security.mdx +8 -0
  29. package/corpus/core/docs/content/locales/fr-FR/audit-log.mdx +2 -1
  30. package/corpus/core/docs/content/locales/fr-FR/automations.mdx +7 -7
  31. package/corpus/core/docs/content/locales/fr-FR/getting-started.mdx +7 -1
  32. package/corpus/core/docs/content/locales/fr-FR/internationalization.mdx +1 -1
  33. package/corpus/core/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
  34. package/corpus/core/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
  35. package/corpus/core/docs/content/locales/fr-FR/security.mdx +8 -0
  36. package/corpus/core/docs/content/locales/hi-IN/audit-log.mdx +2 -1
  37. package/corpus/core/docs/content/locales/hi-IN/automations.mdx +7 -7
  38. package/corpus/core/docs/content/locales/hi-IN/getting-started.mdx +7 -1
  39. package/corpus/core/docs/content/locales/hi-IN/internationalization.mdx +1 -1
  40. package/corpus/core/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
  41. package/corpus/core/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
  42. package/corpus/core/docs/content/locales/hi-IN/security.mdx +8 -0
  43. package/corpus/core/docs/content/locales/ja-JP/audit-log.mdx +2 -1
  44. package/corpus/core/docs/content/locales/ja-JP/automations.mdx +7 -7
  45. package/corpus/core/docs/content/locales/ja-JP/getting-started.mdx +7 -1
  46. package/corpus/core/docs/content/locales/ja-JP/internationalization.mdx +1 -1
  47. package/corpus/core/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
  48. package/corpus/core/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
  49. package/corpus/core/docs/content/locales/ja-JP/security.mdx +8 -0
  50. package/corpus/core/docs/content/locales/ko-KR/audit-log.mdx +2 -1
  51. package/corpus/core/docs/content/locales/ko-KR/automations.mdx +7 -7
  52. package/corpus/core/docs/content/locales/ko-KR/getting-started.mdx +7 -1
  53. package/corpus/core/docs/content/locales/ko-KR/internationalization.mdx +1 -1
  54. package/corpus/core/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
  55. package/corpus/core/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
  56. package/corpus/core/docs/content/locales/ko-KR/security.mdx +8 -0
  57. package/corpus/core/docs/content/locales/pt-BR/audit-log.mdx +2 -1
  58. package/corpus/core/docs/content/locales/pt-BR/automations.mdx +7 -7
  59. package/corpus/core/docs/content/locales/pt-BR/getting-started.mdx +7 -1
  60. package/corpus/core/docs/content/locales/pt-BR/internationalization.mdx +1 -1
  61. package/corpus/core/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
  62. package/corpus/core/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
  63. package/corpus/core/docs/content/locales/pt-BR/security.mdx +8 -0
  64. package/corpus/core/docs/content/locales/zh-CN/audit-log.mdx +2 -1
  65. package/corpus/core/docs/content/locales/zh-CN/automations.mdx +7 -7
  66. package/corpus/core/docs/content/locales/zh-CN/getting-started.mdx +6 -4
  67. package/corpus/core/docs/content/locales/zh-CN/internationalization.mdx +1 -1
  68. package/corpus/core/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
  69. package/corpus/core/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
  70. package/corpus/core/docs/content/locales/zh-CN/security.mdx +8 -0
  71. package/corpus/core/docs/content/locales/zh-TW/audit-log.mdx +2 -1
  72. package/corpus/core/docs/content/locales/zh-TW/automations.mdx +7 -7
  73. package/corpus/core/docs/content/locales/zh-TW/getting-started.mdx +6 -4
  74. package/corpus/core/docs/content/locales/zh-TW/internationalization.mdx +1 -1
  75. package/corpus/core/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
  76. package/corpus/core/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
  77. package/corpus/core/docs/content/locales/zh-TW/security.mdx +8 -0
  78. package/corpus/core/docs/content/package-lifecycle.mdx +51 -0
  79. package/corpus/core/docs/content/sandbox-adapters.mdx +16 -5
  80. package/corpus/core/package.json +11 -2
  81. package/corpus/core/src/a2a/auth-policy.ts +33 -0
  82. package/corpus/core/src/a2a/client.ts +11 -1
  83. package/corpus/core/src/agent/durable-background.ts +15 -7
  84. package/corpus/core/src/agent/production-agent.ts +87 -27
  85. package/corpus/core/src/agent/run-store.ts +13 -4
  86. package/corpus/core/src/agent/thread-data-builder.ts +7 -5
  87. package/corpus/core/src/audit/actions/export-audit-events.ts +162 -0
  88. package/corpus/core/src/audit/store.ts +8 -3
  89. package/corpus/core/src/audit/types.ts +3 -0
  90. package/corpus/core/src/chat-threads/store.ts +20 -1
  91. package/corpus/core/src/cli/code-agent-executor.ts +1 -0
  92. package/corpus/core/src/cli/code-agent-runs.ts +14 -0
  93. package/corpus/core/src/cli/doctor.ts +396 -0
  94. package/corpus/core/src/cli/index.ts +56 -0
  95. package/corpus/core/src/cli/info.ts +3 -3
  96. package/corpus/core/src/cli/package-lifecycle.ts +821 -0
  97. package/corpus/core/src/client/AgentPanel.tsx +32 -25
  98. package/corpus/core/src/client/AssistantChat.tsx +36 -20
  99. package/corpus/core/src/client/MultiTabAssistantChat.tsx +141 -90
  100. package/corpus/core/src/client/agent-chat-adapter.ts +9 -9
  101. package/corpus/core/src/client/chat/ChatHistoryList.tsx +404 -0
  102. package/corpus/core/src/client/chat/index.ts +6 -0
  103. package/corpus/core/src/client/chat/tool-call-display.tsx +37 -3
  104. package/corpus/core/src/client/code-agent-chat-adapter.ts +72 -4
  105. package/corpus/core/src/client/composer/RealtimeVoiceMode.tsx +52 -11
  106. package/corpus/core/src/client/composer/TiptapComposer.tsx +157 -20
  107. package/corpus/core/src/client/composer/VoiceButton.tsx +28 -0
  108. package/corpus/core/src/client/composer/useRealtimeVoiceMode.tsx +5 -0
  109. package/corpus/core/src/client/conversation/code-agent-transcript.ts +4 -5
  110. package/corpus/core/src/client/guided-questions.tsx +2 -1
  111. package/corpus/core/src/client/index.ts +11 -0
  112. package/corpus/core/src/client/use-chat-threads.ts +10 -1
  113. package/corpus/core/src/client/voice-provider-status.ts +44 -0
  114. package/corpus/core/src/code-agents/transcript-normalizer.ts +76 -0
  115. package/corpus/core/src/deploy/build.ts +12 -11
  116. package/corpus/core/src/guards/db-tool-scoping.ts +129 -0
  117. package/corpus/core/src/guards/index.ts +23 -0
  118. package/corpus/core/src/guards/no-drizzle-push.ts +116 -0
  119. package/corpus/core/src/guards/no-env-credentials.ts +229 -0
  120. package/corpus/core/src/guards/no-env-mutation.ts +114 -0
  121. package/corpus/core/src/guards/no-localhost-fallback.ts +124 -0
  122. package/corpus/core/src/guards/no-unscoped-credentials.ts +227 -0
  123. package/corpus/core/src/guards/no-unscoped-queries.ts +834 -0
  124. package/corpus/core/src/guards/scan-utils.ts +105 -0
  125. package/corpus/core/src/guards/types.ts +30 -0
  126. package/corpus/core/src/integrations/a2a-continuation-processor.ts +35 -5
  127. package/corpus/core/src/integrations/adapters/slack.ts +74 -21
  128. package/corpus/core/src/integrations/webhook-handler.ts +14 -0
  129. package/corpus/core/src/localization/default-messages.ts +6 -0
  130. package/corpus/core/src/observability/hosted-model-experiment.ts +118 -0
  131. package/corpus/core/src/observability/routes.ts +17 -0
  132. package/corpus/core/src/observability/store.ts +4 -1
  133. package/corpus/core/src/observability/traces.ts +41 -2
  134. package/corpus/core/src/org/accept-pending.ts +9 -1
  135. package/corpus/core/src/org/migrations.ts +41 -0
  136. package/corpus/core/src/package-lifecycle/index.ts +1 -0
  137. package/corpus/core/src/package-lifecycle/manifest.ts +120 -0
  138. package/corpus/core/src/provider-api/custom-registry.ts +56 -0
  139. package/corpus/core/src/provider-api/index.ts +2 -0
  140. package/corpus/core/src/scripts/agent-engines/list-agent-engines.ts +19 -1
  141. package/corpus/core/src/scripts/call-agent.ts +53 -3
  142. package/corpus/core/src/scripts/chat/search-chats.ts +11 -8
  143. package/corpus/core/src/secrets/register-framework-secrets.ts +1 -1
  144. package/corpus/core/src/secrets/storage.ts +47 -27
  145. package/corpus/core/src/server/action-discovery.ts +4 -0
  146. package/corpus/core/src/server/agent-chat-plugin.ts +95 -18
  147. package/corpus/core/src/server/core-routes-plugin.ts +45 -14
  148. package/corpus/core/src/server/csrf.ts +24 -5
  149. package/corpus/core/src/server/framework-request-handler.ts +34 -0
  150. package/corpus/core/src/server/google-realtime-session.ts +1 -36
  151. package/corpus/core/src/server/poll.ts +24 -2
  152. package/corpus/core/src/server/realtime-voice.ts +80 -24
  153. package/corpus/core/src/server/request-origin.ts +63 -0
  154. package/corpus/core/src/server/transcribe-voice.ts +1 -50
  155. package/corpus/core/src/server/voice-providers-status.ts +4 -3
  156. package/corpus/core/src/shared/cache-control.ts +2 -8
  157. package/corpus/core/src/styles/agent-native.css +1 -0
  158. package/corpus/core/src/styles/chat-history-list.css +313 -0
  159. package/corpus/core/src/templates/default/package.json +2 -2
  160. package/corpus/core/src/templates/headless/package.json +0 -1
  161. package/corpus/core/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  162. package/corpus/core/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  163. package/corpus/core/src/templates/workspace-core/.agents/skills/observability/SKILL.md +20 -0
  164. package/corpus/core/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +8 -4
  165. package/corpus/core/src/templates/workspace-core/package.json +0 -1
  166. package/corpus/core/src/templates/workspace-root/package.json +0 -1
  167. package/corpus/core/src/triggers/actions.ts +11 -3
  168. package/corpus/core/src/triggers/types.ts +7 -1
  169. package/corpus/core/src/vite/client.ts +1 -0
  170. package/corpus/templates/analytics/AGENTS.md +7 -0
  171. package/corpus/templates/analytics/actions/bigquery.ts +26 -2
  172. package/corpus/templates/analytics/actions/compose-dashboard.ts +65 -37
  173. package/corpus/templates/analytics/actions/data-source-status.ts +18 -0
  174. package/corpus/templates/analytics/actions/mutate-dashboard.ts +73 -24
  175. package/corpus/templates/analytics/actions/reorder-dashboard-panels.ts +16 -13
  176. package/corpus/templates/analytics/actions/update-dashboard.ts +53 -42
  177. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +5 -4
  178. package/corpus/templates/analytics/app/global.css +10 -0
  179. package/corpus/templates/analytics/app/pages/Ask.tsx +25 -2
  180. package/corpus/templates/analytics/changelog/2026-07-10-analytics-answers-simple-time-bounded-metrics-without-unnece.md +6 -0
  181. package/corpus/templates/analytics/changelog/2026-07-10-analytics-chat-reliably-uses-connected-data-sources-across-s.md +6 -0
  182. package/corpus/templates/analytics/changelog/2026-07-10-chat-threads-now-stay-clear-of-top-actions-and-fade-smoothly.md +6 -0
  183. package/corpus/templates/analytics/changelog/2026-07-10-context-chips-can-now-be-selected-and-removed-one-at-a-time-.md +6 -0
  184. package/corpus/templates/analytics/changelog/2026-07-10-dashboard-edits-from-the-agent-and-the-ui-at-the-same-time-n.md +6 -0
  185. package/corpus/templates/analytics/changelog/2026-07-10-the-ask-composer-no-longer-carries-dashboard-or-panel-contex.md +6 -0
  186. package/corpus/templates/analytics/changelog/2026-07-10-the-ask-section-stays-highlighted-while-its-chat-history-is-.md +6 -0
  187. package/corpus/templates/analytics/changelog/2026-07-10-timed-out-bigquery-jobs-are-now-cancelled-so-they-stop-consu.md +6 -0
  188. package/corpus/templates/analytics/package.json +1 -2
  189. package/corpus/templates/analytics/server/lib/bigquery.ts +91 -14
  190. package/corpus/templates/analytics/server/lib/dashboards-store.ts +154 -11
  191. package/corpus/templates/analytics/server/plugins/agent-chat.ts +82 -7
  192. package/corpus/templates/assets/package.json +1 -2
  193. package/corpus/templates/brain/package.json +1 -2
  194. package/corpus/templates/calendar/package.json +1 -2
  195. package/corpus/templates/chat/package.json +1 -2
  196. package/corpus/templates/clips/changelog/2026-07-10-atomic-view-tracking.md +6 -0
  197. package/corpus/templates/clips/chrome-extension/package.json +3 -2
  198. package/corpus/templates/clips/desktop/package.json +6 -4
  199. package/corpus/templates/clips/desktop/src/lib/recorder.ts +26 -13
  200. package/corpus/templates/clips/desktop/src/lib/voice-dictation.ts +4 -1
  201. package/corpus/templates/clips/package.json +1 -2
  202. package/corpus/templates/clips/server/db/schema.ts +29 -17
  203. package/corpus/templates/clips/server/plugins/db.ts +8 -0
  204. package/corpus/templates/clips/server/routes/api/view-event.post.ts +260 -105
  205. package/corpus/templates/content/.agents/skills/notion-integration/SKILL.md +16 -0
  206. package/corpus/templates/content/AGENTS.md +72 -62
  207. package/corpus/templates/content/actions/_content-database-source-adapters.ts +84 -0
  208. package/corpus/templates/content/actions/_database-source-utils.ts +206 -96
  209. package/corpus/templates/content/actions/_notion-database-source-adapter.ts +216 -0
  210. package/corpus/templates/content/actions/_position-utils.ts +76 -0
  211. package/corpus/templates/content/actions/_property-utils.ts +31 -20
  212. package/corpus/templates/content/actions/add-database-item.ts +52 -39
  213. package/corpus/templates/content/actions/attach-content-database-source.ts +95 -11
  214. package/corpus/templates/content/actions/change-content-database-source-role.ts +24 -1
  215. package/corpus/templates/content/actions/configure-document-property.ts +36 -27
  216. package/corpus/templates/content/actions/create-content-database.ts +40 -30
  217. package/corpus/templates/content/actions/create-document.ts +39 -32
  218. package/corpus/templates/content/actions/duplicate-document-property.ts +37 -28
  219. package/corpus/templates/content/actions/list-notion-database-sources.ts +80 -0
  220. package/corpus/templates/content/actions/move-document.ts +64 -48
  221. package/corpus/templates/content/actions/refresh-content-database-source.ts +42 -3
  222. package/corpus/templates/content/actions/share-local-file-document.ts +36 -27
  223. package/corpus/templates/content/actions/suggest-source-join-key.ts +39 -16
  224. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +89 -23
  225. package/corpus/templates/content/app/components/editor/database/settings.tsx +1 -1
  226. package/corpus/templates/content/app/hooks/use-content-database.ts +18 -1
  227. package/corpus/templates/content/app/i18n/zh-TW.ts +4 -0
  228. package/corpus/templates/content/app/i18n-data.ts +40 -0
  229. package/corpus/templates/content/changelog/2026-07-10-failed-row-creation-and-source-attach-now-show-an-error-inst.md +6 -0
  230. package/corpus/templates/content/changelog/2026-07-10-items-added-at-the-same-time-no-longer-end-up-with-identical.md +6 -0
  231. package/corpus/templates/content/changelog/2026-07-10-notion-databases-can-add-read-only-details-to-content-tables.md +6 -0
  232. package/corpus/templates/content/package.json +1 -2
  233. package/corpus/templates/content/parity/matrix.md +25 -25
  234. package/corpus/templates/content/parity/matrix.ts +1 -0
  235. package/corpus/templates/content/server/routes/api/documents/[id]/move.patch.ts +43 -26
  236. package/corpus/templates/content/shared/api.ts +16 -1
  237. package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +8 -4
  238. package/corpus/templates/design/AGENTS.md +12 -2
  239. package/corpus/templates/design/DEVELOPING.md +10 -6
  240. package/corpus/templates/design/actions/apply-visual-edit.ts +191 -6
  241. package/corpus/templates/design/actions/duplicate-design.ts +31 -25
  242. package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +5 -1
  243. package/corpus/templates/design/changelog/2026-07-10-duplicating-a-design-can-no-longer-produce-a-copy-with-missi.md +6 -0
  244. package/corpus/templates/design/changelog/2026-07-10-local-visual-edits-can-now-save-safe-leaf-text-class-and.md +6 -0
  245. package/corpus/templates/design/package.json +1 -1
  246. package/corpus/templates/design/shared/local-jsx-visual-edit.ts +388 -0
  247. package/corpus/templates/dispatch/package.json +1 -2
  248. package/corpus/templates/forms/actions/patch-form-fields.ts +82 -44
  249. package/corpus/templates/forms/changelog/2026-07-10-simultaneous-edits-to-different-form-fields-no-longer-overwr.md +6 -0
  250. package/corpus/templates/forms/package.json +1 -2
  251. package/corpus/templates/macros/package.json +1 -2
  252. package/corpus/templates/mail/app/components/email/EmailThread.tsx +3 -1
  253. package/corpus/templates/mail/changelog/2026-07-10-fixed-calendar-rsvp-buttons-in-emails-firing-duplicate-respo.md +6 -0
  254. package/corpus/templates/mail/package.json +1 -2
  255. package/corpus/templates/plan/actions/restore-plan-version.ts +126 -96
  256. package/corpus/templates/plan/changelog/2026-07-10-restoring-a-plan-version-can-no-longer-leave-a-plan-half-res.md +6 -0
  257. package/corpus/templates/plan/package.json +1 -2
  258. package/corpus/templates/plan/server/plans.ts +9 -2
  259. package/corpus/templates/slides/actions/list-decks.ts +28 -0
  260. package/corpus/templates/slides/app/components/deck/MermaidRenderer.tsx +41 -26
  261. package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +4 -8
  262. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +2 -4
  263. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +4 -8
  264. package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +5 -12
  265. package/corpus/templates/slides/app/components/editor/HistoryPanel.tsx +3 -6
  266. package/corpus/templates/slides/app/components/editor/ImageDropPromptPopover.tsx +3 -6
  267. package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +2 -5
  268. package/corpus/templates/slides/app/context/DeckContext.tsx +47 -4
  269. package/corpus/templates/slides/app/pages/DeckEditor.tsx +11 -30
  270. package/corpus/templates/slides/app/pages/Index.tsx +2 -3
  271. package/corpus/templates/slides/app/root.tsx +0 -5
  272. package/corpus/templates/slides/changelog/2026-07-10-deck-lists-load-much-faster-and-no-longer-re-download-slide-.md +6 -0
  273. package/corpus/templates/slides/package.json +1 -2
  274. package/dist/a2a/auth-policy.d.ts +19 -0
  275. package/dist/a2a/auth-policy.d.ts.map +1 -1
  276. package/dist/a2a/auth-policy.js +32 -0
  277. package/dist/a2a/auth-policy.js.map +1 -1
  278. package/dist/a2a/client.d.ts +7 -0
  279. package/dist/a2a/client.d.ts.map +1 -1
  280. package/dist/a2a/client.js +2 -1
  281. package/dist/a2a/client.js.map +1 -1
  282. package/dist/agent/durable-background.d.ts +8 -5
  283. package/dist/agent/durable-background.d.ts.map +1 -1
  284. package/dist/agent/durable-background.js +15 -8
  285. package/dist/agent/durable-background.js.map +1 -1
  286. package/dist/agent/production-agent.d.ts +6 -0
  287. package/dist/agent/production-agent.d.ts.map +1 -1
  288. package/dist/agent/production-agent.js +63 -26
  289. package/dist/agent/production-agent.js.map +1 -1
  290. package/dist/agent/run-store.d.ts.map +1 -1
  291. package/dist/agent/run-store.js +9 -4
  292. package/dist/agent/run-store.js.map +1 -1
  293. package/dist/agent/thread-data-builder.d.ts +1 -0
  294. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  295. package/dist/agent/thread-data-builder.js +6 -5
  296. package/dist/agent/thread-data-builder.js.map +1 -1
  297. package/dist/audit/actions/export-audit-events.d.ts +27 -0
  298. package/dist/audit/actions/export-audit-events.d.ts.map +1 -0
  299. package/dist/audit/actions/export-audit-events.js +144 -0
  300. package/dist/audit/actions/export-audit-events.js.map +1 -0
  301. package/dist/audit/store.d.ts +1 -0
  302. package/dist/audit/store.d.ts.map +1 -1
  303. package/dist/audit/store.js +8 -3
  304. package/dist/audit/store.js.map +1 -1
  305. package/dist/audit/types.d.ts +3 -0
  306. package/dist/audit/types.d.ts.map +1 -1
  307. package/dist/audit/types.js.map +1 -1
  308. package/dist/chat-threads/store.d.ts +10 -0
  309. package/dist/chat-threads/store.d.ts.map +1 -1
  310. package/dist/chat-threads/store.js +6 -0
  311. package/dist/chat-threads/store.js.map +1 -1
  312. package/dist/cli/code-agent-executor.d.ts.map +1 -1
  313. package/dist/cli/code-agent-executor.js +1 -0
  314. package/dist/cli/code-agent-executor.js.map +1 -1
  315. package/dist/cli/code-agent-runs.d.ts +12 -0
  316. package/dist/cli/code-agent-runs.d.ts.map +1 -1
  317. package/dist/cli/code-agent-runs.js +1 -0
  318. package/dist/cli/code-agent-runs.js.map +1 -1
  319. package/dist/cli/doctor.d.ts +83 -0
  320. package/dist/cli/doctor.d.ts.map +1 -0
  321. package/dist/cli/doctor.js +277 -0
  322. package/dist/cli/doctor.js.map +1 -0
  323. package/dist/cli/index.js +50 -0
  324. package/dist/cli/index.js.map +1 -1
  325. package/dist/cli/info.js +3 -3
  326. package/dist/cli/info.js.map +1 -1
  327. package/dist/cli/package-lifecycle.d.ts +50 -0
  328. package/dist/cli/package-lifecycle.d.ts.map +1 -0
  329. package/dist/cli/package-lifecycle.js +560 -0
  330. package/dist/cli/package-lifecycle.js.map +1 -0
  331. package/dist/client/AgentPanel.d.ts.map +1 -1
  332. package/dist/client/AgentPanel.js +3 -3
  333. package/dist/client/AgentPanel.js.map +1 -1
  334. package/dist/client/AssistantChat.d.ts +11 -0
  335. package/dist/client/AssistantChat.d.ts.map +1 -1
  336. package/dist/client/AssistantChat.js +7 -4
  337. package/dist/client/AssistantChat.js.map +1 -1
  338. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  339. package/dist/client/MultiTabAssistantChat.js +83 -10
  340. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  341. package/dist/client/agent-chat-adapter.js +7 -3
  342. package/dist/client/agent-chat-adapter.js.map +1 -1
  343. package/dist/client/chat/ChatHistoryList.d.ts +88 -0
  344. package/dist/client/chat/ChatHistoryList.d.ts.map +1 -0
  345. package/dist/client/chat/ChatHistoryList.js +83 -0
  346. package/dist/client/chat/ChatHistoryList.js.map +1 -0
  347. package/dist/client/chat/index.d.ts +1 -0
  348. package/dist/client/chat/index.d.ts.map +1 -1
  349. package/dist/client/chat/index.js +1 -0
  350. package/dist/client/chat/index.js.map +1 -1
  351. package/dist/client/chat/tool-call-display.d.ts +13 -1
  352. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  353. package/dist/client/chat/tool-call-display.js +10 -2
  354. package/dist/client/chat/tool-call-display.js.map +1 -1
  355. package/dist/client/code-agent-chat-adapter.d.ts +17 -1
  356. package/dist/client/code-agent-chat-adapter.d.ts.map +1 -1
  357. package/dist/client/code-agent-chat-adapter.js +47 -3
  358. package/dist/client/code-agent-chat-adapter.js.map +1 -1
  359. package/dist/client/composer/RealtimeVoiceMode.d.ts +11 -1
  360. package/dist/client/composer/RealtimeVoiceMode.d.ts.map +1 -1
  361. package/dist/client/composer/RealtimeVoiceMode.js +5 -3
  362. package/dist/client/composer/RealtimeVoiceMode.js.map +1 -1
  363. package/dist/client/composer/TiptapComposer.d.ts +25 -2
  364. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  365. package/dist/client/composer/TiptapComposer.js +96 -5
  366. package/dist/client/composer/TiptapComposer.js.map +1 -1
  367. package/dist/client/composer/VoiceButton.d.ts.map +1 -1
  368. package/dist/client/composer/VoiceButton.js +21 -1
  369. package/dist/client/composer/VoiceButton.js.map +1 -1
  370. package/dist/client/composer/useRealtimeVoiceMode.d.ts.map +1 -1
  371. package/dist/client/composer/useRealtimeVoiceMode.js +5 -0
  372. package/dist/client/composer/useRealtimeVoiceMode.js.map +1 -1
  373. package/dist/client/conversation/code-agent-transcript.d.ts +2 -0
  374. package/dist/client/conversation/code-agent-transcript.d.ts.map +1 -1
  375. package/dist/client/conversation/code-agent-transcript.js +3 -5
  376. package/dist/client/conversation/code-agent-transcript.js.map +1 -1
  377. package/dist/client/guided-questions.d.ts.map +1 -1
  378. package/dist/client/guided-questions.js +2 -1
  379. package/dist/client/guided-questions.js.map +1 -1
  380. package/dist/client/index.d.ts +3 -1
  381. package/dist/client/index.d.ts.map +1 -1
  382. package/dist/client/index.js +3 -1
  383. package/dist/client/index.js.map +1 -1
  384. package/dist/client/use-chat-threads.d.ts.map +1 -1
  385. package/dist/client/use-chat-threads.js +9 -1
  386. package/dist/client/use-chat-threads.js.map +1 -1
  387. package/dist/client/voice-provider-status.d.ts +10 -0
  388. package/dist/client/voice-provider-status.d.ts.map +1 -0
  389. package/dist/client/voice-provider-status.js +32 -0
  390. package/dist/client/voice-provider-status.js.map +1 -0
  391. package/dist/code-agents/transcript-normalizer.d.ts +29 -0
  392. package/dist/code-agents/transcript-normalizer.d.ts.map +1 -1
  393. package/dist/code-agents/transcript-normalizer.js +55 -0
  394. package/dist/code-agents/transcript-normalizer.js.map +1 -1
  395. package/dist/collab/routes.d.ts +1 -1
  396. package/dist/deploy/build.d.ts.map +1 -1
  397. package/dist/deploy/build.js +13 -11
  398. package/dist/deploy/build.js.map +1 -1
  399. package/dist/guards/db-tool-scoping.d.ts +38 -0
  400. package/dist/guards/db-tool-scoping.d.ts.map +1 -0
  401. package/dist/guards/db-tool-scoping.js +114 -0
  402. package/dist/guards/db-tool-scoping.js.map +1 -0
  403. package/dist/guards/index.d.ts +23 -0
  404. package/dist/guards/index.d.ts.map +1 -0
  405. package/dist/guards/index.js +19 -0
  406. package/dist/guards/index.js.map +1 -0
  407. package/dist/guards/no-drizzle-push.d.ts +14 -0
  408. package/dist/guards/no-drizzle-push.d.ts.map +1 -0
  409. package/dist/guards/no-drizzle-push.js +97 -0
  410. package/dist/guards/no-drizzle-push.js.map +1 -0
  411. package/dist/guards/no-env-credentials.d.ts +36 -0
  412. package/dist/guards/no-env-credentials.d.ts.map +1 -0
  413. package/dist/guards/no-env-credentials.js +204 -0
  414. package/dist/guards/no-env-credentials.js.map +1 -0
  415. package/dist/guards/no-env-mutation.d.ts +23 -0
  416. package/dist/guards/no-env-mutation.d.ts.map +1 -0
  417. package/dist/guards/no-env-mutation.js +90 -0
  418. package/dist/guards/no-env-mutation.js.map +1 -0
  419. package/dist/guards/no-localhost-fallback.d.ts +30 -0
  420. package/dist/guards/no-localhost-fallback.d.ts.map +1 -0
  421. package/dist/guards/no-localhost-fallback.js +105 -0
  422. package/dist/guards/no-localhost-fallback.js.map +1 -0
  423. package/dist/guards/no-unscoped-credentials.d.ts +28 -0
  424. package/dist/guards/no-unscoped-credentials.d.ts.map +1 -0
  425. package/dist/guards/no-unscoped-credentials.js +199 -0
  426. package/dist/guards/no-unscoped-credentials.js.map +1 -0
  427. package/dist/guards/no-unscoped-queries.d.ts +32 -0
  428. package/dist/guards/no-unscoped-queries.d.ts.map +1 -0
  429. package/dist/guards/no-unscoped-queries.js +720 -0
  430. package/dist/guards/no-unscoped-queries.js.map +1 -0
  431. package/dist/guards/scan-utils.d.ts +28 -0
  432. package/dist/guards/scan-utils.d.ts.map +1 -0
  433. package/dist/guards/scan-utils.js +92 -0
  434. package/dist/guards/scan-utils.js.map +1 -0
  435. package/dist/guards/types.d.ts +28 -0
  436. package/dist/guards/types.d.ts.map +1 -0
  437. package/dist/guards/types.js +11 -0
  438. package/dist/guards/types.js.map +1 -0
  439. package/dist/integrations/a2a-continuation-processor.d.ts.map +1 -1
  440. package/dist/integrations/a2a-continuation-processor.js +25 -5
  441. package/dist/integrations/a2a-continuation-processor.js.map +1 -1
  442. package/dist/integrations/adapters/slack.d.ts.map +1 -1
  443. package/dist/integrations/adapters/slack.js +55 -21
  444. package/dist/integrations/adapters/slack.js.map +1 -1
  445. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  446. package/dist/integrations/webhook-handler.js +11 -0
  447. package/dist/integrations/webhook-handler.js.map +1 -1
  448. package/dist/localization/default-messages.d.ts +5 -0
  449. package/dist/localization/default-messages.d.ts.map +1 -1
  450. package/dist/localization/default-messages.js +5 -0
  451. package/dist/localization/default-messages.js.map +1 -1
  452. package/dist/notifications/routes.d.ts +2 -2
  453. package/dist/observability/hosted-model-experiment.d.ts +39 -0
  454. package/dist/observability/hosted-model-experiment.d.ts.map +1 -0
  455. package/dist/observability/hosted-model-experiment.js +90 -0
  456. package/dist/observability/hosted-model-experiment.js.map +1 -0
  457. package/dist/observability/routes.d.ts +1 -1
  458. package/dist/observability/routes.d.ts.map +1 -1
  459. package/dist/observability/routes.js +16 -0
  460. package/dist/observability/routes.js.map +1 -1
  461. package/dist/observability/store.d.ts.map +1 -1
  462. package/dist/observability/store.js +4 -1
  463. package/dist/observability/store.js.map +1 -1
  464. package/dist/observability/traces.d.ts +6 -0
  465. package/dist/observability/traces.d.ts.map +1 -1
  466. package/dist/observability/traces.js +28 -2
  467. package/dist/observability/traces.js.map +1 -1
  468. package/dist/org/accept-pending.d.ts.map +1 -1
  469. package/dist/org/accept-pending.js +9 -1
  470. package/dist/org/accept-pending.js.map +1 -1
  471. package/dist/org/migrations.d.ts +7 -2
  472. package/dist/org/migrations.d.ts.map +1 -1
  473. package/dist/org/migrations.js +41 -0
  474. package/dist/org/migrations.js.map +1 -1
  475. package/dist/package-lifecycle/index.d.ts +2 -0
  476. package/dist/package-lifecycle/index.d.ts.map +1 -0
  477. package/dist/package-lifecycle/index.js +2 -0
  478. package/dist/package-lifecycle/index.js.map +1 -0
  479. package/dist/package-lifecycle/manifest.d.ts +24 -0
  480. package/dist/package-lifecycle/manifest.d.ts.map +1 -0
  481. package/dist/package-lifecycle/manifest.js +81 -0
  482. package/dist/package-lifecycle/manifest.js.map +1 -0
  483. package/dist/progress/routes.d.ts +1 -1
  484. package/dist/provider-api/custom-registry.d.ts +32 -1
  485. package/dist/provider-api/custom-registry.d.ts.map +1 -1
  486. package/dist/provider-api/custom-registry.js +41 -1
  487. package/dist/provider-api/custom-registry.js.map +1 -1
  488. package/dist/provider-api/index.d.ts +1 -1
  489. package/dist/provider-api/index.d.ts.map +1 -1
  490. package/dist/provider-api/index.js +1 -1
  491. package/dist/provider-api/index.js.map +1 -1
  492. package/dist/resources/handlers.d.ts +1 -1
  493. package/dist/scripts/agent-engines/list-agent-engines.d.ts.map +1 -1
  494. package/dist/scripts/agent-engines/list-agent-engines.js +19 -1
  495. package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
  496. package/dist/scripts/call-agent.d.ts.map +1 -1
  497. package/dist/scripts/call-agent.js +43 -3
  498. package/dist/scripts/call-agent.js.map +1 -1
  499. package/dist/scripts/chat/search-chats.d.ts +1 -1
  500. package/dist/scripts/chat/search-chats.d.ts.map +1 -1
  501. package/dist/scripts/chat/search-chats.js +11 -8
  502. package/dist/scripts/chat/search-chats.js.map +1 -1
  503. package/dist/secrets/register-framework-secrets.js +1 -1
  504. package/dist/secrets/register-framework-secrets.js.map +1 -1
  505. package/dist/secrets/storage.d.ts.map +1 -1
  506. package/dist/secrets/storage.js +45 -27
  507. package/dist/secrets/storage.js.map +1 -1
  508. package/dist/server/action-discovery.d.ts.map +1 -1
  509. package/dist/server/action-discovery.js +4 -0
  510. package/dist/server/action-discovery.js.map +1 -1
  511. package/dist/server/agent-chat-plugin.d.ts +11 -0
  512. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  513. package/dist/server/agent-chat-plugin.js +74 -19
  514. package/dist/server/agent-chat-plugin.js.map +1 -1
  515. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  516. package/dist/server/core-routes-plugin.d.ts +3 -0
  517. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  518. package/dist/server/core-routes-plugin.js +36 -12
  519. package/dist/server/core-routes-plugin.js.map +1 -1
  520. package/dist/server/csrf.d.ts.map +1 -1
  521. package/dist/server/csrf.js +18 -5
  522. package/dist/server/csrf.js.map +1 -1
  523. package/dist/server/framework-request-handler.d.ts.map +1 -1
  524. package/dist/server/framework-request-handler.js +34 -0
  525. package/dist/server/framework-request-handler.js.map +1 -1
  526. package/dist/server/google-realtime-session.d.ts.map +1 -1
  527. package/dist/server/google-realtime-session.js +2 -34
  528. package/dist/server/google-realtime-session.js.map +1 -1
  529. package/dist/server/poll.d.ts.map +1 -1
  530. package/dist/server/poll.js +24 -2
  531. package/dist/server/poll.js.map +1 -1
  532. package/dist/server/realtime-voice.d.ts.map +1 -1
  533. package/dist/server/realtime-voice.js +64 -21
  534. package/dist/server/realtime-voice.js.map +1 -1
  535. package/dist/server/request-origin.d.ts +10 -0
  536. package/dist/server/request-origin.d.ts.map +1 -0
  537. package/dist/server/request-origin.js +60 -0
  538. package/dist/server/request-origin.js.map +1 -0
  539. package/dist/server/transcribe-voice.d.ts.map +1 -1
  540. package/dist/server/transcribe-voice.js +2 -48
  541. package/dist/server/transcribe-voice.js.map +1 -1
  542. package/dist/server/voice-providers-status.d.ts.map +1 -1
  543. package/dist/server/voice-providers-status.js +2 -3
  544. package/dist/server/voice-providers-status.js.map +1 -1
  545. package/dist/shared/cache-control.d.ts +4 -6
  546. package/dist/shared/cache-control.d.ts.map +1 -1
  547. package/dist/shared/cache-control.js +2 -7
  548. package/dist/shared/cache-control.js.map +1 -1
  549. package/dist/styles/agent-native.css +1 -0
  550. package/dist/styles/chat-history-list.css +313 -0
  551. package/dist/templates/default/package.json +2 -2
  552. package/dist/templates/headless/package.json +0 -1
  553. package/dist/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  554. package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  555. package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +20 -0
  556. package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +8 -4
  557. package/dist/templates/workspace-core/package.json +0 -1
  558. package/dist/templates/workspace-root/package.json +0 -1
  559. package/dist/triggers/actions.d.ts.map +1 -1
  560. package/dist/triggers/actions.js +8 -3
  561. package/dist/triggers/actions.js.map +1 -1
  562. package/dist/triggers/types.d.ts +7 -1
  563. package/dist/triggers/types.d.ts.map +1 -1
  564. package/dist/triggers/types.js.map +1 -1
  565. package/dist/vite/client.d.ts.map +1 -1
  566. package/dist/vite/client.js +1 -0
  567. package/dist/vite/client.js.map +1 -1
  568. package/docs/content/audit-log.mdx +2 -1
  569. package/docs/content/automations.mdx +7 -7
  570. package/docs/content/creating-templates.mdx +1 -1
  571. package/docs/content/internationalization.mdx +2 -1
  572. package/docs/content/locales/ar-SA/audit-log.mdx +2 -1
  573. package/docs/content/locales/ar-SA/automations.mdx +7 -7
  574. package/docs/content/locales/ar-SA/getting-started.mdx +7 -1
  575. package/docs/content/locales/ar-SA/internationalization.mdx +1 -1
  576. package/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
  577. package/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
  578. package/docs/content/locales/ar-SA/security.mdx +8 -0
  579. package/docs/content/locales/de-DE/audit-log.mdx +2 -1
  580. package/docs/content/locales/de-DE/automations.mdx +7 -7
  581. package/docs/content/locales/de-DE/getting-started.mdx +7 -1
  582. package/docs/content/locales/de-DE/internationalization.mdx +1 -1
  583. package/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
  584. package/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
  585. package/docs/content/locales/de-DE/security.mdx +8 -0
  586. package/docs/content/locales/es-ES/audit-log.mdx +2 -1
  587. package/docs/content/locales/es-ES/automations.mdx +7 -7
  588. package/docs/content/locales/es-ES/getting-started.mdx +7 -1
  589. package/docs/content/locales/es-ES/internationalization.mdx +1 -1
  590. package/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
  591. package/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
  592. package/docs/content/locales/es-ES/security.mdx +8 -0
  593. package/docs/content/locales/fr-FR/audit-log.mdx +2 -1
  594. package/docs/content/locales/fr-FR/automations.mdx +7 -7
  595. package/docs/content/locales/fr-FR/getting-started.mdx +7 -1
  596. package/docs/content/locales/fr-FR/internationalization.mdx +1 -1
  597. package/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
  598. package/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
  599. package/docs/content/locales/fr-FR/security.mdx +8 -0
  600. package/docs/content/locales/hi-IN/audit-log.mdx +2 -1
  601. package/docs/content/locales/hi-IN/automations.mdx +7 -7
  602. package/docs/content/locales/hi-IN/getting-started.mdx +7 -1
  603. package/docs/content/locales/hi-IN/internationalization.mdx +1 -1
  604. package/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
  605. package/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
  606. package/docs/content/locales/hi-IN/security.mdx +8 -0
  607. package/docs/content/locales/ja-JP/audit-log.mdx +2 -1
  608. package/docs/content/locales/ja-JP/automations.mdx +7 -7
  609. package/docs/content/locales/ja-JP/getting-started.mdx +7 -1
  610. package/docs/content/locales/ja-JP/internationalization.mdx +1 -1
  611. package/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
  612. package/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
  613. package/docs/content/locales/ja-JP/security.mdx +8 -0
  614. package/docs/content/locales/ko-KR/audit-log.mdx +2 -1
  615. package/docs/content/locales/ko-KR/automations.mdx +7 -7
  616. package/docs/content/locales/ko-KR/getting-started.mdx +7 -1
  617. package/docs/content/locales/ko-KR/internationalization.mdx +1 -1
  618. package/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
  619. package/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
  620. package/docs/content/locales/ko-KR/security.mdx +8 -0
  621. package/docs/content/locales/pt-BR/audit-log.mdx +2 -1
  622. package/docs/content/locales/pt-BR/automations.mdx +7 -7
  623. package/docs/content/locales/pt-BR/getting-started.mdx +7 -1
  624. package/docs/content/locales/pt-BR/internationalization.mdx +1 -1
  625. package/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
  626. package/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
  627. package/docs/content/locales/pt-BR/security.mdx +8 -0
  628. package/docs/content/locales/zh-CN/audit-log.mdx +2 -1
  629. package/docs/content/locales/zh-CN/automations.mdx +7 -7
  630. package/docs/content/locales/zh-CN/getting-started.mdx +6 -4
  631. package/docs/content/locales/zh-CN/internationalization.mdx +1 -1
  632. package/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
  633. package/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
  634. package/docs/content/locales/zh-CN/security.mdx +8 -0
  635. package/docs/content/locales/zh-TW/audit-log.mdx +2 -1
  636. package/docs/content/locales/zh-TW/automations.mdx +7 -7
  637. package/docs/content/locales/zh-TW/getting-started.mdx +6 -4
  638. package/docs/content/locales/zh-TW/internationalization.mdx +1 -1
  639. package/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
  640. package/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
  641. package/docs/content/locales/zh-TW/security.mdx +8 -0
  642. package/docs/content/package-lifecycle.mdx +51 -0
  643. package/docs/content/sandbox-adapters.mdx +16 -5
  644. package/package.json +12 -3
  645. package/src/templates/default/package.json +2 -2
  646. package/src/templates/headless/package.json +0 -1
  647. package/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  648. package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  649. package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +20 -0
  650. package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +8 -4
  651. package/src/templates/workspace-core/package.json +0 -1
  652. package/src/templates/workspace-root/package.json +0 -1
  653. package/corpus/templates/slides/app/components/ui/toast.tsx +0 -1
  654. package/corpus/templates/slides/app/components/ui/toaster.tsx +0 -1
  655. package/corpus/templates/slides/app/hooks/use-toast.ts +0 -1
@@ -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별로 내장 어댑터를 선택합니다. 현재는 `local`(기본값) 연결되어 있습니다. 알 수 없는 값은 실행에 실패하지 않고 로컬로 대체됩니다.
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
- 인터페이스는 의도적으로 미래의 원격/내구성 샌드박스를 위한 이음새입니다. 원격 또는 내구성 있는 어댑터(Docker, Vercel-Sandbox 스타일 실행기 또는 대기 중인 백그라운드 작업자)는 다음을 수행합니다.
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. 요청 수명 주기와 관계없이 대규모 데이터 작업을 완료할 수 있습니다. 이는 로컬 하위 프로세스 어댑터를 제한하는 호스팅된 최대 40초 코드 실행 한도를 초과합니다.
228
+ 2. 루프백 브리지를 터널링하거나 브리지 호출을 상위 프로세스로 프록시합니다.
229
+ 3. 제공된 내구성 큐 수명 주기와 독립적으로 원격 또는 컨테이너 격리를 제공합니다.
219
230
 
220
- 새로운 `AGENT_NATIVE_SANDBOX` 값(예: `remote`) 및/또는 `registerSandboxAdapter()`를 통해 등록하세요. 에이전트 루프와 `run-code.ts`는 절대 변경되지 않습니다.
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
- Duas 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:
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 | 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"` \| `"deterministic"` | `"agentic"` | Loop completo do agente. (`"deterministic"` está reservado, mas ainda não implementado as automações que o definem são ignoradas. Use `"agentic"` para todas as automações atuais.) |
123
- | `domain` | string | _(opcional)_ | Tag de agrupamento (e-mail, calendário, clipes etc.) |
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
- Estenda `view-screen` e `navigate` para que o agent saiba a route atual e possa abrir `/response-insights`. Resultados também podem incluir `href: "/response-insights"` para mostrar um botão "Abrir insights de respostas".
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. Atualmente apenas `local` (o padrão) está conectado; valores desconhecidos voltam para o local em vez de falhar na execução.
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 # o padrão - explícito
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
- Esta interface é deliberadamente a costura para uma futura sandbox remota/durável. Um adaptador remoto ou durável (Docker, um executor estilo Vercel-Sandbox ou um trabalhador em segundo plano na fila) faria:
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. Implemente `SandboxAdapter.run` em um tempo de execução fora do processo.
219
- 2. Coloque um túnel na ponte de loopback (ou chamadas da ponte proxy de volta para o pai).
220
- 3. Permita que grandes trabalhos de dados sejam executados até a conclusão independentemente do ciclo de vida da solicitação, excedendo o limite máximo de execução de código hospedado de aproximadamente 40 anos que limita o adaptador de processo filho local.
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 com um novo valor `AGENT_NATIVE_SANDBOX` (por exemplo, `remote`) e/ou via `registerSandboxAdapter()`. O loop do agente e `run-code.ts` nunca mudam.
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
- 每个应用程序中的代理**和**前端都可以使用两个读取的actions,调用者的范围在SQL中 - 它们永远不会返回其他租户的行:
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"` | `"schedule"` | 自动化如何启动 |
120
- | `event` | 字符串 | _(可选)_ | 要订阅的事件名称(仅限事件触发器) |
121
- | `condition` | 字符串 | _(可选)_ | 在调度之前评估自然语言条件 |
122
- | `mode` | `"agentic"` \| `"deterministic"` | `"agentic"` | 完整的代理循环。 (`"deterministic"` 已保留,但尚未实现 - 设置它的自动化将被跳过。对所有当前自动化使用 `"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
- 扩展 `view-screen` `navigate`:
177
+ ## 6. agent 导航 {#agent-navigation}
178
178
 
179
- - `view-screen` 返回当前 route、选中的 insight 和页面上下文。
180
- - `navigate` 写入 `/response-insights` 这样的同源 path。
181
- - action 结果可以包含 `href: "/response-insights"`,让聊天显示“打开回复洞察”按钮。
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
 
@@ -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,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 选择内置适配器。目前仅有线`local`(默认);未知值回退到本地而不是运行失败。
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
- 这个接口是特意为未来的远程/持久沙箱做的接缝。远程或持久适配器(DockerVercel-Sandbox 式运行程序或排队后台工作程序)将:
223
+ 内置 `background` 适配器已经提供持久排队和新的执行预算,但实际执行仍使用非队列适配器或本地子进程回退。单独注册的远程或隔离适配器(DockerVercel-Sandbox 式运行器)可以提供不同的执行边界,也可以执行每次调用的后台工作。
224
+
225
+ 此类适配器将:
215
226
 
216
227
  1. 针对进程外运行时实现 `SandboxAdapter.run`。
217
- 2. 通过隧道环回网桥(或代理网桥回调至父级)。
218
- 3. 让大数据作业独立于请求生命周期运行直至完成 - 超过限制本地子进程适配器的托管约 40 秒代码执行上限。
228
+ 2. 为 loopback 网桥建立隧道,或将网桥调用代理回父进程。
229
+ 3. 独立于已提供的持久队列生命周期,提供远程或容器隔离。
219
230
 
220
- 将其注册为新的 `AGENT_NATIVE_SANDBOX` 值(例如 `remote`)和/或通过 `registerSandboxAdapter()`。代理循环和 `run-code.ts` 永远不会改变。
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
- 每個應用程式中的代理**和**前端都可以使用兩個讀取的actions,呼叫者的範圍在 SQL 中 - 它們永遠不會返回其他租戶的行:
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"` | `"schedule"` | 自動化如何啟動 |
120
- | `event` | 字串 | _(可選)_ | 要訂閱的事件名稱(僅限事件觸發器) |
121
- | `condition` | 字串 | _(可選)_ | 在調度之前評估自然語言條件 |
122
- | `mode` | `"agentic"` \| `"deterministic"` | `"agentic"` | 完整的代理迴圈。 (`"deterministic"` 已保留,但尚未實現 - 設定它的自動化將被跳過。對所有目前自動化使用 `"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
- 擴充 `view-screen` `navigate`:
174
+ ## 6. agent 導覽 {#agent-navigation}
175
175
 
176
- - `view-screen` 返回目前 route、選中的 insight 和頁面上下文。
177
- - `navigate` 寫入 `/response-insights` 這類同源 path。
178
- - action 結果可以包含 `href: "/response-insights"`,讓聊天顯示「開啟回覆洞察」按鈕。
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
 
@@ -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,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 選取內建轉接器。目前僅有線`local`(預設);未知值回退到本機而不是執行失敗。
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
- 這個介面是特意為未來的遠端/持久沙箱做的接縫。遠端或持久轉接器(DockerVercel-Sandbox 式執行程式或排隊背景工作程式)將:
223
+ 內建 `background` 轉接器已提供持久排隊與新的執行預算,但實際執行仍使用非佇列轉接器或本機子行程回退。另行註冊的遠端或隔離轉接器(DockerVercel-Sandbox 式執行器)可以提供不同的執行邊界,也可以執行每次呼叫的背景工作。
224
+
225
+ 此類轉接器將:
215
226
 
216
- 1. 針對行程外執行時實現 `SandboxAdapter.run`。
217
- 2. 透過隧道環回網橋(或代理網橋回調至父級)。
218
- 3. 讓大資料作業獨立於請求生命週期執行直至完成 - 超過限制本機子行程轉接器的託管約 40 秒程式碼執行上限。
227
+ 1. 針對行程外執行環境實作 `SandboxAdapter.run`。
228
+ 2. 為 loopback 橋接建立通道,或將橋接呼叫代理回父行程。
229
+ 3. 獨立於已提供的持久佇列生命週期,提供遠端或容器隔離。
219
230
 
220
- 將其註冊為新的 `AGENT_NATIVE_SANDBOX` 值(例如 `remote`)和/或透過 `registerSandboxAdapter()`。代理迴圈和 `run-code.ts` 永遠不會改變。
231
+ 透過 `registerSandboxAdapter()` 以程式化方式註冊。代理迴圈和 `run-code.ts` 無需變更。
221
232
 
222
233
  > [!TIP]
223
234
  > `agent-native add sandbox docker` 藍圖發出了一個完整的、獨立的配方,用於針對此接縫實現 Docker 轉接器。參見[Blueprint Installer](/docs/blueprint-installer)。
@@ -415,3 +415,11 @@ AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK=1
415
415
  ```
416
416
 
417
417
  無論此標誌如何,工作空間範圍的秘密寫入仍然需要組織所有者/管理員角色。
418
+
419
+ ## 下一步
420
+
421
+ - [**Authentication**](/docs/authentication) — 本頁所依賴的驗證模式、cookie realm 和工作階段細節
422
+ - [**Multi-Tenancy**](/docs/multi-tenancy) — `org_id` 範圍界定背後的組織成員模型
423
+ - [**Sharing**](/docs/sharing) — 應用於可共用資源的 `ownableColumns()` 和存取守衛模式
424
+ - [**Messaging**](/docs/messaging#env-vars) — 上方清單中提到的每個整合的 webhook 簽名金鑰
425
+ - [**Deployment**](/docs/deployment) — 此清單假定已設定的正式環境變數
@@ -0,0 +1,51 @@
1
+ ---
2
+ title: Package Lifecycle
3
+ description: Inspect, add, and eject manifest-driven Agent Native packages safely.
4
+ ---
5
+
6
+ # Package lifecycle
7
+
8
+ Reusable Agent Native packages can publish a versioned static
9
+ `agent-native.package.json`. The CLI reads that JSON without executing package
10
+ code and reports the package's actions, schema entry point, skills, secret key
11
+ names, and peer providers.
12
+
13
+ ```bash
14
+ agent-native package inspect @agent-native/scheduling
15
+ agent-native package inspect @agent-native/scheduling --json
16
+ agent-native package add @agent-native/scheduling
17
+ agent-native package add @agent-native/scheduling --apply
18
+ agent-native package eject @agent-native/scheduling --apply
19
+ ```
20
+
21
+ `add` and `eject` are dry-run by default. `--apply` is required before the CLI
22
+ writes files or runs the detected package manager. Use `--root` for a different
23
+ project root; at a workspace root, pass `--app <name>` to select the target app.
24
+
25
+ ## Safety and idempotency
26
+
27
+ Before writing, the CLI resolves every contribution and refuses missing or
28
+ ambiguous layouts, existing files with different content, escaping manifest
29
+ paths, and eject targets that already exist. It stages the complete write set,
30
+ uses atomic renames, snapshots package and lock files, and rolls back if the
31
+ package-manager install fails. A provenance record under
32
+ `.agent-native/packages/` makes a repeated add a no-op when generated files are
33
+ unchanged.
34
+
35
+ Inspection and registry staging use static package metadata only. The CLI never
36
+ imports a package's JavaScript manifest and passes `--ignore-scripts` while
37
+ downloading an uninstalled package archive. Reports show credential key names,
38
+ never credential values.
39
+
40
+ ## Scheduling pilot
41
+
42
+ `@agent-native/scheduling` is the first package with the generic manifest. Add
43
+ creates action re-export stubs, adds the schema export, copies its agent skills,
44
+ records the dependency, and reports required secret names and providers.
45
+ Eject copies the published Scheduling source to `packages/scheduling`, switches
46
+ the dependency to `workspace:*`, and preserves canonical
47
+ `@agent-native/scheduling` imports so workspace resolution selects the local
48
+ copy.
49
+
50
+ Ejecting other packages, including Pinpoint, is intentionally refused until the
51
+ Scheduling pilot has proven the contract.