@agent-native/core 0.96.0 → 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 (450) hide show
  1. package/README.md +6 -0
  2. package/corpus/README.md +2 -2
  3. package/corpus/core/CHANGELOG.md +39 -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 +9 -2
  81. package/corpus/core/src/a2a/auth-policy.ts +33 -0
  82. package/corpus/core/src/agent/durable-background.ts +15 -7
  83. package/corpus/core/src/agent/run-store.ts +13 -4
  84. package/corpus/core/src/audit/actions/export-audit-events.ts +162 -0
  85. package/corpus/core/src/audit/store.ts +8 -3
  86. package/corpus/core/src/audit/types.ts +3 -0
  87. package/corpus/core/src/cli/doctor.ts +396 -0
  88. package/corpus/core/src/cli/index.ts +56 -0
  89. package/corpus/core/src/cli/info.ts +3 -3
  90. package/corpus/core/src/cli/package-lifecycle.ts +821 -0
  91. package/corpus/core/src/client/agent-chat-adapter.ts +9 -9
  92. package/corpus/core/src/guards/db-tool-scoping.ts +129 -0
  93. package/corpus/core/src/guards/index.ts +23 -0
  94. package/corpus/core/src/guards/no-drizzle-push.ts +116 -0
  95. package/corpus/core/src/guards/no-env-credentials.ts +229 -0
  96. package/corpus/core/src/guards/no-env-mutation.ts +114 -0
  97. package/corpus/core/src/guards/no-localhost-fallback.ts +124 -0
  98. package/corpus/core/src/guards/no-unscoped-credentials.ts +227 -0
  99. package/corpus/core/src/guards/no-unscoped-queries.ts +834 -0
  100. package/corpus/core/src/guards/scan-utils.ts +105 -0
  101. package/corpus/core/src/guards/types.ts +30 -0
  102. package/corpus/core/src/org/accept-pending.ts +9 -1
  103. package/corpus/core/src/org/migrations.ts +41 -0
  104. package/corpus/core/src/package-lifecycle/index.ts +1 -0
  105. package/corpus/core/src/package-lifecycle/manifest.ts +120 -0
  106. package/corpus/core/src/provider-api/custom-registry.ts +56 -0
  107. package/corpus/core/src/provider-api/index.ts +2 -0
  108. package/corpus/core/src/secrets/storage.ts +47 -27
  109. package/corpus/core/src/server/action-discovery.ts +4 -0
  110. package/corpus/core/src/server/agent-chat-plugin.ts +54 -12
  111. package/corpus/core/src/server/core-routes-plugin.ts +30 -14
  112. package/corpus/core/src/server/csrf.ts +24 -5
  113. package/corpus/core/src/server/framework-request-handler.ts +34 -0
  114. package/corpus/core/src/server/google-realtime-session.ts +1 -36
  115. package/corpus/core/src/server/poll.ts +24 -2
  116. package/corpus/core/src/server/realtime-voice.ts +9 -0
  117. package/corpus/core/src/server/request-origin.ts +63 -0
  118. package/corpus/core/src/server/transcribe-voice.ts +1 -50
  119. package/corpus/core/src/templates/default/package.json +2 -2
  120. package/corpus/core/src/templates/headless/package.json +0 -1
  121. package/corpus/core/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  122. package/corpus/core/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  123. package/corpus/core/src/templates/workspace-core/package.json +0 -1
  124. package/corpus/core/src/templates/workspace-root/package.json +0 -1
  125. package/corpus/core/src/triggers/actions.ts +11 -3
  126. package/corpus/core/src/triggers/types.ts +7 -1
  127. package/corpus/templates/analytics/actions/compose-dashboard.ts +65 -37
  128. package/corpus/templates/analytics/actions/mutate-dashboard.ts +73 -24
  129. package/corpus/templates/analytics/actions/reorder-dashboard-panels.ts +16 -13
  130. package/corpus/templates/analytics/actions/update-dashboard.ts +53 -42
  131. package/corpus/templates/analytics/changelog/2026-07-10-dashboard-edits-from-the-agent-and-the-ui-at-the-same-time-n.md +6 -0
  132. package/corpus/templates/analytics/changelog/2026-07-10-timed-out-bigquery-jobs-are-now-cancelled-so-they-stop-consu.md +6 -0
  133. package/corpus/templates/analytics/package.json +1 -2
  134. package/corpus/templates/analytics/server/lib/bigquery.ts +3 -2
  135. package/corpus/templates/analytics/server/lib/dashboards-store.ts +154 -11
  136. package/corpus/templates/assets/package.json +1 -2
  137. package/corpus/templates/brain/package.json +1 -2
  138. package/corpus/templates/calendar/package.json +1 -2
  139. package/corpus/templates/chat/package.json +1 -2
  140. package/corpus/templates/clips/changelog/2026-07-10-atomic-view-tracking.md +6 -0
  141. package/corpus/templates/clips/chrome-extension/package.json +3 -2
  142. package/corpus/templates/clips/desktop/package.json +6 -4
  143. package/corpus/templates/clips/desktop/src/lib/recorder.ts +26 -13
  144. package/corpus/templates/clips/desktop/src/lib/voice-dictation.ts +4 -1
  145. package/corpus/templates/clips/package.json +1 -2
  146. package/corpus/templates/clips/server/db/schema.ts +29 -17
  147. package/corpus/templates/clips/server/plugins/db.ts +8 -0
  148. package/corpus/templates/clips/server/routes/api/view-event.post.ts +260 -105
  149. package/corpus/templates/content/.agents/skills/notion-integration/SKILL.md +16 -0
  150. package/corpus/templates/content/AGENTS.md +72 -62
  151. package/corpus/templates/content/actions/_content-database-source-adapters.ts +84 -0
  152. package/corpus/templates/content/actions/_database-source-utils.ts +206 -96
  153. package/corpus/templates/content/actions/_notion-database-source-adapter.ts +216 -0
  154. package/corpus/templates/content/actions/_position-utils.ts +76 -0
  155. package/corpus/templates/content/actions/_property-utils.ts +31 -20
  156. package/corpus/templates/content/actions/add-database-item.ts +52 -39
  157. package/corpus/templates/content/actions/attach-content-database-source.ts +95 -11
  158. package/corpus/templates/content/actions/change-content-database-source-role.ts +24 -1
  159. package/corpus/templates/content/actions/configure-document-property.ts +36 -27
  160. package/corpus/templates/content/actions/create-content-database.ts +40 -30
  161. package/corpus/templates/content/actions/create-document.ts +39 -32
  162. package/corpus/templates/content/actions/duplicate-document-property.ts +37 -28
  163. package/corpus/templates/content/actions/list-notion-database-sources.ts +80 -0
  164. package/corpus/templates/content/actions/move-document.ts +64 -48
  165. package/corpus/templates/content/actions/refresh-content-database-source.ts +42 -3
  166. package/corpus/templates/content/actions/share-local-file-document.ts +36 -27
  167. package/corpus/templates/content/actions/suggest-source-join-key.ts +39 -16
  168. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +89 -23
  169. package/corpus/templates/content/app/components/editor/database/settings.tsx +1 -1
  170. package/corpus/templates/content/app/hooks/use-content-database.ts +18 -1
  171. package/corpus/templates/content/app/i18n/zh-TW.ts +4 -0
  172. package/corpus/templates/content/app/i18n-data.ts +40 -0
  173. package/corpus/templates/content/changelog/2026-07-10-failed-row-creation-and-source-attach-now-show-an-error-inst.md +6 -0
  174. package/corpus/templates/content/changelog/2026-07-10-items-added-at-the-same-time-no-longer-end-up-with-identical.md +6 -0
  175. package/corpus/templates/content/changelog/2026-07-10-notion-databases-can-add-read-only-details-to-content-tables.md +6 -0
  176. package/corpus/templates/content/package.json +1 -2
  177. package/corpus/templates/content/parity/matrix.md +25 -25
  178. package/corpus/templates/content/parity/matrix.ts +1 -0
  179. package/corpus/templates/content/server/routes/api/documents/[id]/move.patch.ts +43 -26
  180. package/corpus/templates/content/shared/api.ts +16 -1
  181. package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +8 -4
  182. package/corpus/templates/design/AGENTS.md +12 -2
  183. package/corpus/templates/design/DEVELOPING.md +10 -6
  184. package/corpus/templates/design/actions/apply-visual-edit.ts +191 -6
  185. package/corpus/templates/design/actions/duplicate-design.ts +31 -25
  186. package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +5 -1
  187. package/corpus/templates/design/changelog/2026-07-10-duplicating-a-design-can-no-longer-produce-a-copy-with-missi.md +6 -0
  188. package/corpus/templates/design/changelog/2026-07-10-local-visual-edits-can-now-save-safe-leaf-text-class-and.md +6 -0
  189. package/corpus/templates/design/package.json +1 -1
  190. package/corpus/templates/design/shared/local-jsx-visual-edit.ts +388 -0
  191. package/corpus/templates/dispatch/package.json +1 -2
  192. package/corpus/templates/forms/actions/patch-form-fields.ts +82 -44
  193. package/corpus/templates/forms/changelog/2026-07-10-simultaneous-edits-to-different-form-fields-no-longer-overwr.md +6 -0
  194. package/corpus/templates/forms/package.json +1 -2
  195. package/corpus/templates/macros/package.json +1 -2
  196. package/corpus/templates/mail/app/components/email/EmailThread.tsx +3 -1
  197. package/corpus/templates/mail/changelog/2026-07-10-fixed-calendar-rsvp-buttons-in-emails-firing-duplicate-respo.md +6 -0
  198. package/corpus/templates/mail/package.json +1 -2
  199. package/corpus/templates/plan/actions/restore-plan-version.ts +126 -96
  200. package/corpus/templates/plan/changelog/2026-07-10-restoring-a-plan-version-can-no-longer-leave-a-plan-half-res.md +6 -0
  201. package/corpus/templates/plan/package.json +1 -2
  202. package/corpus/templates/plan/server/plans.ts +9 -2
  203. package/corpus/templates/slides/actions/list-decks.ts +28 -0
  204. package/corpus/templates/slides/app/components/deck/MermaidRenderer.tsx +41 -26
  205. package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +4 -8
  206. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +2 -4
  207. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +4 -8
  208. package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +5 -12
  209. package/corpus/templates/slides/app/components/editor/HistoryPanel.tsx +3 -6
  210. package/corpus/templates/slides/app/components/editor/ImageDropPromptPopover.tsx +3 -6
  211. package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +2 -5
  212. package/corpus/templates/slides/app/context/DeckContext.tsx +47 -4
  213. package/corpus/templates/slides/app/pages/DeckEditor.tsx +11 -30
  214. package/corpus/templates/slides/app/pages/Index.tsx +2 -3
  215. package/corpus/templates/slides/app/root.tsx +0 -5
  216. package/corpus/templates/slides/changelog/2026-07-10-deck-lists-load-much-faster-and-no-longer-re-download-slide-.md +6 -0
  217. package/corpus/templates/slides/package.json +1 -2
  218. package/dist/a2a/auth-policy.d.ts +19 -0
  219. package/dist/a2a/auth-policy.d.ts.map +1 -1
  220. package/dist/a2a/auth-policy.js +32 -0
  221. package/dist/a2a/auth-policy.js.map +1 -1
  222. package/dist/agent/durable-background.d.ts +8 -5
  223. package/dist/agent/durable-background.d.ts.map +1 -1
  224. package/dist/agent/durable-background.js +15 -8
  225. package/dist/agent/durable-background.js.map +1 -1
  226. package/dist/agent/run-store.d.ts.map +1 -1
  227. package/dist/agent/run-store.js +9 -4
  228. package/dist/agent/run-store.js.map +1 -1
  229. package/dist/audit/actions/export-audit-events.d.ts +27 -0
  230. package/dist/audit/actions/export-audit-events.d.ts.map +1 -0
  231. package/dist/audit/actions/export-audit-events.js +144 -0
  232. package/dist/audit/actions/export-audit-events.js.map +1 -0
  233. package/dist/audit/store.d.ts +1 -0
  234. package/dist/audit/store.d.ts.map +1 -1
  235. package/dist/audit/store.js +8 -3
  236. package/dist/audit/store.js.map +1 -1
  237. package/dist/audit/types.d.ts +3 -0
  238. package/dist/audit/types.d.ts.map +1 -1
  239. package/dist/audit/types.js.map +1 -1
  240. package/dist/cli/doctor.d.ts +83 -0
  241. package/dist/cli/doctor.d.ts.map +1 -0
  242. package/dist/cli/doctor.js +277 -0
  243. package/dist/cli/doctor.js.map +1 -0
  244. package/dist/cli/index.js +50 -0
  245. package/dist/cli/index.js.map +1 -1
  246. package/dist/cli/info.js +3 -3
  247. package/dist/cli/info.js.map +1 -1
  248. package/dist/cli/package-lifecycle.d.ts +50 -0
  249. package/dist/cli/package-lifecycle.d.ts.map +1 -0
  250. package/dist/cli/package-lifecycle.js +560 -0
  251. package/dist/cli/package-lifecycle.js.map +1 -0
  252. package/dist/client/agent-chat-adapter.js +7 -3
  253. package/dist/client/agent-chat-adapter.js.map +1 -1
  254. package/dist/collab/struct-routes.d.ts +1 -1
  255. package/dist/guards/db-tool-scoping.d.ts +38 -0
  256. package/dist/guards/db-tool-scoping.d.ts.map +1 -0
  257. package/dist/guards/db-tool-scoping.js +114 -0
  258. package/dist/guards/db-tool-scoping.js.map +1 -0
  259. package/dist/guards/index.d.ts +23 -0
  260. package/dist/guards/index.d.ts.map +1 -0
  261. package/dist/guards/index.js +19 -0
  262. package/dist/guards/index.js.map +1 -0
  263. package/dist/guards/no-drizzle-push.d.ts +14 -0
  264. package/dist/guards/no-drizzle-push.d.ts.map +1 -0
  265. package/dist/guards/no-drizzle-push.js +97 -0
  266. package/dist/guards/no-drizzle-push.js.map +1 -0
  267. package/dist/guards/no-env-credentials.d.ts +36 -0
  268. package/dist/guards/no-env-credentials.d.ts.map +1 -0
  269. package/dist/guards/no-env-credentials.js +204 -0
  270. package/dist/guards/no-env-credentials.js.map +1 -0
  271. package/dist/guards/no-env-mutation.d.ts +23 -0
  272. package/dist/guards/no-env-mutation.d.ts.map +1 -0
  273. package/dist/guards/no-env-mutation.js +90 -0
  274. package/dist/guards/no-env-mutation.js.map +1 -0
  275. package/dist/guards/no-localhost-fallback.d.ts +30 -0
  276. package/dist/guards/no-localhost-fallback.d.ts.map +1 -0
  277. package/dist/guards/no-localhost-fallback.js +105 -0
  278. package/dist/guards/no-localhost-fallback.js.map +1 -0
  279. package/dist/guards/no-unscoped-credentials.d.ts +28 -0
  280. package/dist/guards/no-unscoped-credentials.d.ts.map +1 -0
  281. package/dist/guards/no-unscoped-credentials.js +199 -0
  282. package/dist/guards/no-unscoped-credentials.js.map +1 -0
  283. package/dist/guards/no-unscoped-queries.d.ts +32 -0
  284. package/dist/guards/no-unscoped-queries.d.ts.map +1 -0
  285. package/dist/guards/no-unscoped-queries.js +720 -0
  286. package/dist/guards/no-unscoped-queries.js.map +1 -0
  287. package/dist/guards/scan-utils.d.ts +28 -0
  288. package/dist/guards/scan-utils.d.ts.map +1 -0
  289. package/dist/guards/scan-utils.js +92 -0
  290. package/dist/guards/scan-utils.js.map +1 -0
  291. package/dist/guards/types.d.ts +28 -0
  292. package/dist/guards/types.d.ts.map +1 -0
  293. package/dist/guards/types.js +11 -0
  294. package/dist/guards/types.js.map +1 -0
  295. package/dist/org/accept-pending.d.ts.map +1 -1
  296. package/dist/org/accept-pending.js +9 -1
  297. package/dist/org/accept-pending.js.map +1 -1
  298. package/dist/org/migrations.d.ts +7 -2
  299. package/dist/org/migrations.d.ts.map +1 -1
  300. package/dist/org/migrations.js +41 -0
  301. package/dist/org/migrations.js.map +1 -1
  302. package/dist/package-lifecycle/index.d.ts +2 -0
  303. package/dist/package-lifecycle/index.d.ts.map +1 -0
  304. package/dist/package-lifecycle/index.js +2 -0
  305. package/dist/package-lifecycle/index.js.map +1 -0
  306. package/dist/package-lifecycle/manifest.d.ts +24 -0
  307. package/dist/package-lifecycle/manifest.d.ts.map +1 -0
  308. package/dist/package-lifecycle/manifest.js +81 -0
  309. package/dist/package-lifecycle/manifest.js.map +1 -0
  310. package/dist/progress/routes.d.ts +1 -1
  311. package/dist/provider-api/custom-registry.d.ts +32 -1
  312. package/dist/provider-api/custom-registry.d.ts.map +1 -1
  313. package/dist/provider-api/custom-registry.js +41 -1
  314. package/dist/provider-api/custom-registry.js.map +1 -1
  315. package/dist/provider-api/index.d.ts +1 -1
  316. package/dist/provider-api/index.d.ts.map +1 -1
  317. package/dist/provider-api/index.js +1 -1
  318. package/dist/provider-api/index.js.map +1 -1
  319. package/dist/secrets/storage.d.ts.map +1 -1
  320. package/dist/secrets/storage.js +45 -27
  321. package/dist/secrets/storage.js.map +1 -1
  322. package/dist/server/action-discovery.d.ts.map +1 -1
  323. package/dist/server/action-discovery.js +4 -0
  324. package/dist/server/action-discovery.js.map +1 -1
  325. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  326. package/dist/server/agent-chat-plugin.js +47 -13
  327. package/dist/server/agent-chat-plugin.js.map +1 -1
  328. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  329. package/dist/server/core-routes-plugin.js +23 -12
  330. package/dist/server/core-routes-plugin.js.map +1 -1
  331. package/dist/server/csrf.d.ts.map +1 -1
  332. package/dist/server/csrf.js +18 -5
  333. package/dist/server/csrf.js.map +1 -1
  334. package/dist/server/framework-request-handler.d.ts.map +1 -1
  335. package/dist/server/framework-request-handler.js +34 -0
  336. package/dist/server/framework-request-handler.js.map +1 -1
  337. package/dist/server/google-realtime-session.d.ts.map +1 -1
  338. package/dist/server/google-realtime-session.js +2 -34
  339. package/dist/server/google-realtime-session.js.map +1 -1
  340. package/dist/server/poll.d.ts.map +1 -1
  341. package/dist/server/poll.js +24 -2
  342. package/dist/server/poll.js.map +1 -1
  343. package/dist/server/realtime-voice.d.ts.map +1 -1
  344. package/dist/server/realtime-voice.js +9 -0
  345. package/dist/server/realtime-voice.js.map +1 -1
  346. package/dist/server/request-origin.d.ts +10 -0
  347. package/dist/server/request-origin.d.ts.map +1 -0
  348. package/dist/server/request-origin.js +60 -0
  349. package/dist/server/request-origin.js.map +1 -0
  350. package/dist/server/transcribe-voice.d.ts.map +1 -1
  351. package/dist/server/transcribe-voice.js +2 -48
  352. package/dist/server/transcribe-voice.js.map +1 -1
  353. package/dist/templates/default/package.json +2 -2
  354. package/dist/templates/headless/package.json +0 -1
  355. package/dist/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  356. package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  357. package/dist/templates/workspace-core/package.json +0 -1
  358. package/dist/templates/workspace-root/package.json +0 -1
  359. package/dist/triggers/actions.d.ts.map +1 -1
  360. package/dist/triggers/actions.js +8 -3
  361. package/dist/triggers/actions.js.map +1 -1
  362. package/dist/triggers/types.d.ts +7 -1
  363. package/dist/triggers/types.d.ts.map +1 -1
  364. package/dist/triggers/types.js.map +1 -1
  365. package/docs/content/audit-log.mdx +2 -1
  366. package/docs/content/automations.mdx +7 -7
  367. package/docs/content/creating-templates.mdx +1 -1
  368. package/docs/content/internationalization.mdx +2 -1
  369. package/docs/content/locales/ar-SA/audit-log.mdx +2 -1
  370. package/docs/content/locales/ar-SA/automations.mdx +7 -7
  371. package/docs/content/locales/ar-SA/getting-started.mdx +7 -1
  372. package/docs/content/locales/ar-SA/internationalization.mdx +1 -1
  373. package/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
  374. package/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
  375. package/docs/content/locales/ar-SA/security.mdx +8 -0
  376. package/docs/content/locales/de-DE/audit-log.mdx +2 -1
  377. package/docs/content/locales/de-DE/automations.mdx +7 -7
  378. package/docs/content/locales/de-DE/getting-started.mdx +7 -1
  379. package/docs/content/locales/de-DE/internationalization.mdx +1 -1
  380. package/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
  381. package/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
  382. package/docs/content/locales/de-DE/security.mdx +8 -0
  383. package/docs/content/locales/es-ES/audit-log.mdx +2 -1
  384. package/docs/content/locales/es-ES/automations.mdx +7 -7
  385. package/docs/content/locales/es-ES/getting-started.mdx +7 -1
  386. package/docs/content/locales/es-ES/internationalization.mdx +1 -1
  387. package/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
  388. package/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
  389. package/docs/content/locales/es-ES/security.mdx +8 -0
  390. package/docs/content/locales/fr-FR/audit-log.mdx +2 -1
  391. package/docs/content/locales/fr-FR/automations.mdx +7 -7
  392. package/docs/content/locales/fr-FR/getting-started.mdx +7 -1
  393. package/docs/content/locales/fr-FR/internationalization.mdx +1 -1
  394. package/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
  395. package/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
  396. package/docs/content/locales/fr-FR/security.mdx +8 -0
  397. package/docs/content/locales/hi-IN/audit-log.mdx +2 -1
  398. package/docs/content/locales/hi-IN/automations.mdx +7 -7
  399. package/docs/content/locales/hi-IN/getting-started.mdx +7 -1
  400. package/docs/content/locales/hi-IN/internationalization.mdx +1 -1
  401. package/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
  402. package/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
  403. package/docs/content/locales/hi-IN/security.mdx +8 -0
  404. package/docs/content/locales/ja-JP/audit-log.mdx +2 -1
  405. package/docs/content/locales/ja-JP/automations.mdx +7 -7
  406. package/docs/content/locales/ja-JP/getting-started.mdx +7 -1
  407. package/docs/content/locales/ja-JP/internationalization.mdx +1 -1
  408. package/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
  409. package/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
  410. package/docs/content/locales/ja-JP/security.mdx +8 -0
  411. package/docs/content/locales/ko-KR/audit-log.mdx +2 -1
  412. package/docs/content/locales/ko-KR/automations.mdx +7 -7
  413. package/docs/content/locales/ko-KR/getting-started.mdx +7 -1
  414. package/docs/content/locales/ko-KR/internationalization.mdx +1 -1
  415. package/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
  416. package/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
  417. package/docs/content/locales/ko-KR/security.mdx +8 -0
  418. package/docs/content/locales/pt-BR/audit-log.mdx +2 -1
  419. package/docs/content/locales/pt-BR/automations.mdx +7 -7
  420. package/docs/content/locales/pt-BR/getting-started.mdx +7 -1
  421. package/docs/content/locales/pt-BR/internationalization.mdx +1 -1
  422. package/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
  423. package/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
  424. package/docs/content/locales/pt-BR/security.mdx +8 -0
  425. package/docs/content/locales/zh-CN/audit-log.mdx +2 -1
  426. package/docs/content/locales/zh-CN/automations.mdx +7 -7
  427. package/docs/content/locales/zh-CN/getting-started.mdx +6 -4
  428. package/docs/content/locales/zh-CN/internationalization.mdx +1 -1
  429. package/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
  430. package/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
  431. package/docs/content/locales/zh-CN/security.mdx +8 -0
  432. package/docs/content/locales/zh-TW/audit-log.mdx +2 -1
  433. package/docs/content/locales/zh-TW/automations.mdx +7 -7
  434. package/docs/content/locales/zh-TW/getting-started.mdx +6 -4
  435. package/docs/content/locales/zh-TW/internationalization.mdx +1 -1
  436. package/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
  437. package/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
  438. package/docs/content/locales/zh-TW/security.mdx +8 -0
  439. package/docs/content/package-lifecycle.mdx +51 -0
  440. package/docs/content/sandbox-adapters.mdx +16 -5
  441. package/package.json +10 -3
  442. package/src/templates/default/package.json +2 -2
  443. package/src/templates/headless/package.json +0 -1
  444. package/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  445. package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  446. package/src/templates/workspace-core/package.json +0 -1
  447. package/src/templates/workspace-root/package.json +0 -1
  448. package/corpus/templates/slides/app/components/ui/toast.tsx +0 -1
  449. package/corpus/templates/slides/app/components/ui/toaster.tsx +0 -1
  450. package/corpus/templates/slides/app/hooks/use-toast.ts +0 -1
@@ -104,6 +104,10 @@ La costura se encuentra en el núcleo en `packages/core/src/coding-tools/sandbox
104
104
  path: "index.ts",
105
105
  note: "Selección: getSandboxAdapter() / registerSandboxAdapter()",
106
106
  },
107
+ {
108
+ path: "background.ts",
109
+ note: "marcador de cola duradera y ciclo de vida de ejecución en segundo plano",
110
+ },
107
111
  {
108
112
  path: "local-child-process-adapter.ts",
109
113
  note: "Backend predeterminado: proceso hijo de Node bloqueado",
@@ -184,12 +188,17 @@ registerSandboxAdapter(adapter) → AGENT_NATIVE_SANDBOX → local default
184
188
 
185
189
  ### Var entorno `AGENT_NATIVE_SANDBOX` {#env}
186
190
 
187
- Selecciona un adaptador integrado por id. Actualmente, solo está cableado `local` (el predeterminado); los valores desconocidos recurren al local en lugar de fallar la ejecución.
191
+ Selecciona un adaptador integrado por id. Están conectados tanto `local` (el predeterminado) como `background`; los valores desconocidos recurren a `local` en lugar de fallar la ejecución.
188
192
 
189
193
  ```bash
190
- AGENT_NATIVE_SANDBOX=local # el valor predeterminado - explícito
194
+ AGENT_NATIVE_SANDBOX=local # el valor predeterminado - explícito
195
+ AGENT_NATIVE_SANDBOX=background # pone en cola duradera cada llamada a run-code
191
196
  ```
192
197
 
198
+ `background` guarda el código sin procesar en `sandbox_executions` y devuelve inmediatamente un `executionId` con `status: "queued"`. Un autoenvío firmado inicia una nueva invocación serverless; un proceso Node de larga duración inicia trabajo desacoplado en el proceso; el sondeo de estado y el barrido periódico reactivan envíos perdidos o concesiones vencidas. Consulte la ejecución más tarde para obtener el resultado persistido.
199
+
200
+ `BackgroundQueueAdapter` es un marcador de cola duradera, no el ejecutor. El trabajo en cola usa un adaptador de ejecución registrado que no sea de cola cuando está disponible; de lo contrario, recurre al proceso secundario local. Seleccionar solo `background` no proporciona aislamiento remoto ni de contenedor, ni hace que un entorno edge sea compatible con `node:child_process`.
201
+
193
202
  ### `registerSandboxAdapter()` {#register}
194
203
 
195
204
  Un proceso de host anula el backend para todas las invocaciones posteriores de `run-code` a través del `index.ts` de la costura, por ejemplo, para ejecutar cada llamada en un contenedor remoto:
@@ -214,13 +223,15 @@ registerSandboxAdapter(new RemoteSandboxAdapter());
214
223
 
215
224
  ## La costura para un corredor duradero {#durable}
216
225
 
217
- Esta interfaz es deliberadamente la unión para una futura zona de pruebas remota/duradera. Un adaptador remoto o duradero (Docker, un ejecutor estilo Vercel-Sandbox o un trabajador en segundo plano en cola) haría lo siguiente:
226
+ El adaptador integrado `background` ya proporciona una cola duradera y un presupuesto de ejecución nuevo, mientras que la ejecución real sigue usando un adaptador que no sea de cola o el proceso secundario local como alternativa. Un adaptador remoto o aislado registrado por separado (Docker o un ejecutor estilo Vercel-Sandbox) puede proporcionar otro límite de ejecución y también ejecutar trabajo en segundo plano por llamada.
227
+
228
+ Ese adaptador:
218
229
 
219
- 1. Implemente `SandboxAdapter.run` en un tiempo de ejecución fuera de proceso.
220
- 2. Haz un túnel para el puente loopback (o las llamadas del puente proxy al padre).
221
- 3. Permita que los trabajos de datos grandes se ejecuten hasta su finalización independientemente del ciclo de vida de la solicitud, superando el límite máximo de ejecución de código alojado de ~40 s que limita el adaptador de proceso secundario local.
230
+ 1. Implementaría `SandboxAdapter.run` en un entorno de ejecución fuera del proceso.
231
+ 2. Crearía un túnel para el puente loopback o reenviaría sus llamadas al proceso principal.
232
+ 3. Proporcionaría aislamiento remoto o de contenedor independientemente del ciclo de vida de la cola duradera incluida.
222
233
 
223
- Regístrelo con un nuevo valor `AGENT_NATIVE_SANDBOX` (por ejemplo, `remote`) y/o mediante `registerSandboxAdapter()`. El bucle del agente y `run-code.ts` nunca cambian.
234
+ Regístrelo mediante programación con `registerSandboxAdapter()`. El bucle del agente y `run-code.ts` no necesitan cambiar.
224
235
 
225
236
  > [!TIP]
226
237
  > El plano `agent-native add sandbox docker` emite una receta completa e independiente para implementar un adaptador Docker en esta unión. Ver [Blueprint Installer](/docs/blueprint-installer).
@@ -417,3 +417,11 @@ AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK=1
417
417
  ```
418
418
 
419
419
  Las escrituras secretas en el ámbito del espacio de trabajo aún requieren la función de propietario/administrador de la organización, independientemente de esta marca.
420
+
421
+ ## Siguientes pasos
422
+
423
+ - [**Authentication**](/docs/authentication) — modos de auth, cookie realms y detalles de sesión sobre los que se construye esta página
424
+ - [**Multi-Tenancy**](/docs/multi-tenancy) — el modelo de membresía de la organización detrás del scoping por `org_id`
425
+ - [**Sharing**](/docs/sharing) — el patrón `ownableColumns()` y de access-guard aplicado a los recursos compartibles
426
+ - [**Messaging**](/docs/messaging#env-vars) — los secretos de firma de webhook por integración referenciados en la lista de verificación anterior
427
+ - [**Deployment**](/docs/deployment) — las variables de entorno de producción que esta lista de verificación asume que están configuradas
@@ -73,10 +73,11 @@ Tout dans `audit` est facultatif. L'ajout minimum utile est `target: () => ({ ty
73
73
 
74
74
  ## Lecture du parcours {#reading}
75
75
 
76
- Deux actions en lecture sont disponibles pour l'agent **et** le frontend dans chaque application, étendus dans SQL à l'appelant — ils ne renvoient jamais les lignes d'un autre locataire :
76
+ Trois actions en lecture sont disponibles pour l'agent **et** le frontend dans chaque application, étendus dans SQL à l'appelant — ils ne renvoient jamais les lignes d'un autre locataire :
77
77
 
78
78
  - **`list-audit-events`** — filtrer par `targetType` / `targetId`, `actorKind` (`agent` | `human` | `system`), `status`, `threadId` / `turnId`, `action`, `sinceMs` et `limit`.
79
79
  - **`get-audit-event`** — un événement par identifiant, y compris sa charge utile d'entrée expurgée.
80
+ - **`export-audit-events`** — exporte le journal en masse au format CSV ou NDJSON plutôt que de paginer manuellement `list-audit-events`, pour des extractions de conformité hors ligne. Prend les mêmes filtres que `list-audit-events` (sans `limit`), plus `format` (`csv` | `ndjson`, par défaut `csv`) et `maxRows` (par défaut 5000, plafond strict 10000), et renvoie `{ content, rowCount, truncated, format }` — `truncated: true` signifie que davantage de lignes correspondaient que ce que `maxRows` autorisait. C'est elle-même une lecture sensible, auditée via `audit: { onRead: true }`.
80
81
 
81
82
  Créez un flux d'activité ou une ligne « qui a modifié cela » en appelant `list-audit-events` à partir du UI avec `useActionQuery` — n'écrivez jamais manuellement une récupération dans la table d'audit :
82
83
 
@@ -114,13 +114,13 @@ Le troisième chemin (écriture manuelle du fichier `jobs/<name>.md` via `resour
114
114
 
115
115
  Les automatisations partagent tous les champs du [recurring-jobs frontmatter table](/docs/recurring-jobs#frontmatter). Ces champs supplémentaires contrôlent les déclencheurs d'événements, les conditions et le mode d'exécution :
116
116
 
117
- | Champ | Tapez | Par défaut | Description |
118
- | ------------- | -------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
119
- | `triggerType` | `"schedule"` \| `"event"` | `"schedule"` | Comment se déclenche l'automatisation |
120
- | `event` | chaîne | _(facultatif)_ | Nom de l'événement auquel s'abonner (déclencheurs d'événement uniquement) |
121
- | `condition` | chaîne | _(facultatif)_ | Condition du langage naturel évaluée avant l'envoi |
122
- | `mode` | `"agentic"` \| `"deterministic"` | `"agentic"` | Boucle d'agent complète. (`"deterministic"` est réservé mais pas encore implémenté les automatisations qui le définissent sont ignorées. Utilisez `"agentic"` pour toutes les automatisations actuelles.) |
123
- | `domain` | chaîne | _(facultatif)_ | Balise de regroupement (mail, calendrier, clips, etc.) |
117
+ | Champ | Tapez | Par défaut | Description |
118
+ | ------------- | ------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
119
+ | `triggerType` | `"schedule"` \| `"event"` | `"schedule"` | Comment se déclenche l'automatisation |
120
+ | `event` | chaîne | _(facultatif)_ | Nom de l'événement auquel s'abonner (déclencheurs d'événement uniquement) |
121
+ | `condition` | chaîne | _(facultatif)_ | Condition du langage naturel évaluée avant l'envoi |
122
+ | `mode` | `"agentic"` | `"agentic"` | Boucle d'agent complète (le seul mode pris en charge). `"deterministic"` a été supprimé il n'a jamais été implémenté, et les automatisations qui le définissaient ne se déclenchaient jamais. |
123
+ | `domain` | chaîne | _(facultatif)_ | Balise de regroupement (mail, calendrier, clips, etc.) |
124
124
 
125
125
  Pour un déclencheur d'événement, `schedule` est `""` (vide) ; pour un déclencheur de planification, il porte l'expression cron. Le répartiteur écrit également les mêmes champs gérés `lastRun` / `lastStatus` / `lastError` que le planificateur, plus un statut `"skipped"` lorsqu'une condition est évaluée comme fausse.
126
126
 
@@ -163,7 +163,13 @@ Ajoutez une route `/response-insights` avec `useActionQuery("list-response-insig
163
163
  />
164
164
  </WireframeBlock>
165
165
 
166
- Étendez `view-screen` et `navigate` pour que l'agent connaisse la route active et puisse ouvrir `/response-insights`. Les résultats peuvent aussi contenir `href: "/response-insights"` pour afficher un bouton "Ouvrir les insights de réponses".
166
+ ## 6. Laisser l'agent naviguer {#agent-navigation}
167
+
168
+ Le modèle Chat inclut les actions `view-screen` et `navigate`. Étendez-les à mesure que votre app grandit :
169
+
170
+ - `view-screen` doit lire le application state et renvoyer la route active, l'insight sélectionné, les filtres actifs et tout contexte de page compact dont l'agent a besoin.
171
+ - `navigate` doit écrire un chemin same-origin comme `/response-insights` quand l'agent décide que l'utilisateur doit inspecter le résultat visuellement.
172
+ - Les résultats d'une action peuvent inclure des liens comme `href: "/response-insights"` pour que le chat propose un bouton explicite « Ouvrir les insights de réponses ».
167
173
 
168
174
  Quand le chat pleine page ouvre une page d'app, utilisez `AgentChatSurface`, `AgentSidebar`, `useAgentChatHomeHandoff`, `useAgentChatHomeHandoffLinks` et `chatViewTransition` depuis [Agent Surfaces](/docs/agent-surfaces#rich-chat) pour glisser le chat dans le panneau latéral sans perdre le thread.
169
175
 
@@ -59,7 +59,7 @@ export const i18nCatalog = {
59
59
  ```
60
60
 
61
61
  Toujours regrouper `en-US`. Importation dynamique de catalogues dans une langue autre que l'anglais pour les utilisateurs uniquement
62
- téléchargez les paramètres régionaux actifs. Les codes régionaux pris en charge sont `en-US`, `zh-CN`,
62
+ téléchargez les paramètres régionaux actifs. Les codes régionaux pris en charge sont `en-US`, `zh-CN`, `zh-TW`,
63
63
  `es-ES`, `fr-FR`, `de-DE`, `ja-JP`, `ko-KR`, `pt-BR`, `hi-IN` et `ar-SA`.
64
64
 
65
65
  ## UI
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: Cycle de vie des paquets
3
+ description: Inspecter, ajouter et éjecter des paquets Agent Native pilotés par manifeste.
4
+ ---
5
+
6
+ # Cycle de vie des paquets
7
+
8
+ Un paquet réutilisable peut publier un fichier statique et versionné
9
+ `agent-native.package.json`. La CLI lit uniquement ce JSON et n'exécute aucun
10
+ code du paquet pendant l'inspection.
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
+ L'ajout et l'éjection sont simulés par défaut. `--apply` autorise les écritures
19
+ et le gestionnaire de paquets. La CLI refuse les collisions et dispositions
20
+ inconnues, puis restaure fichiers et verrous si l'installation échoue. Seul
21
+ Scheduling est éjectable pendant ce pilote; Pinpoint reste différé.
@@ -102,7 +102,11 @@ La couture réside dans le noyau de `packages/core/src/coding-tools/sandbox/` :
102
102
  },
103
103
  {
104
104
  path: "index.ts",
105
- note: "Sélection : getSandboxAdapter() / registerSandboxAdapter()",
105
+ note: "Sélection : getSandboxAdapter() / registerSandboxAdapter()",
106
+ },
107
+ {
108
+ path: "background.ts",
109
+ note: "marqueur de file durable et cycle de vie de l’exécution en arrière-plan",
106
110
  },
107
111
  {
108
112
  path: "local-child-process-adapter.ts",
@@ -184,12 +188,17 @@ registerSandboxAdapter(adapter) → AGENT_NATIVE_SANDBOX → local default
184
188
 
185
189
  ### Variable d'environnement `AGENT_NATIVE_SANDBOX` {#env}
186
190
 
187
- Sélectionne un adaptateur intégré par identifiant. Actuellement, seul le `local` (valeur par défaut) est câblé ; les valeurs inconnues reviennent au niveau local plutôt que d'échouer l'exécution.
191
+ Sélectionne un adaptateur intégré par identifiant. `local` (valeur par défaut) et `background` sont tous deux câblés ; les valeurs inconnues reviennent à `local` plutôt que d’échouer lexécution.
188
192
 
189
193
  ```bash
190
- AGENT_NATIVE_SANDBOX=local # la valeur par défaut - explicite
194
+ AGENT_NATIVE_SANDBOX=local # la valeur par défaut - explicite
195
+ AGENT_NATIVE_SANDBOX=background # met durablement en file chaque appel run-code
191
196
  ```
192
197
 
198
+ `background` stocke le code brut dans `sandbox_executions` et renvoie immédiatement un `executionId` avec `status: "queued"`. Un auto-dispatch signé démarre une nouvelle invocation serverless ; un processus Node de longue durée lance un travail détaché dans le processus ; l’interrogation du statut et le balayage périodique relancent les dispatchs perdus ou les baux expirés. Interrogez l’exécution plus tard pour obtenir son résultat persistant.
199
+
200
+ `BackgroundQueueAdapter` est un marqueur de file durable, pas l’exécuteur. Le travail en file utilise un adaptateur d’exécution enregistré non mis en file lorsqu’il est disponible ; sinon, il revient au processus enfant local. La sélection de `background` seule ne fournit pas d’isolation distante ou par conteneur et ne rend pas un environnement edge compatible avec `node:child_process`.
201
+
193
202
  ### `registerSandboxAdapter()` {#register}
194
203
 
195
204
  Un processus hôte remplace le backend pour tous les appels `run-code` ultérieurs via le `index.ts` de la couture — par exemple, pour exécuter chaque appel dans un conteneur distant :
@@ -214,13 +223,15 @@ registerSandboxAdapter(new RemoteSandboxAdapter());
214
223
 
215
224
  ## La couture pour un coureur durable {#durable}
216
225
 
217
- Cette interface est délibérément le joint d'un futur bac à sable distant/durable. Un adaptateur distant ou durable (Docker, un exécuteur de type Vercel-Sandbox ou un travailleur en arrière-plan en file d'attente) :
226
+ L’adaptateur intégré `background` fournit déjà une mise en file durable et un nouveau budget d’exécution, tandis que l’exécution réelle utilise toujours un adaptateur non mis en file ou le processus enfant local comme solution de repli. Un adaptateur distant ou isolé enregistré séparément (Docker ou un exécuteur de type Vercel-Sandbox) peut fournir une autre frontière d’exécution et exécuter également du travail en arrière-plan par appel.
227
+
228
+ Un tel adaptateur :
218
229
 
219
- 1. Implémentez `SandboxAdapter.run` sur un environnement d'exécution hors processus.
220
- 2. Tunnelez le pont de bouclage (ou le pont proxy rappelle le parent).
221
- 3. Laissez les tâches de données volumineuses s'exécuter jusqu'à leur terme indépendamment du cycle de vie de la demande, en dépassant le plafond d'exécution de code hébergé d'environ 40 s qui limite l'adaptateur de processus enfant local.
230
+ 1. Implémenterait `SandboxAdapter.run` sur un environnement dexécution hors processus.
231
+ 2. Créerait un tunnel pour le pont de bouclage ou transmettrait ses appels au processus parent.
232
+ 3. Fournirait une isolation distante ou par conteneur indépendamment du cycle de vie de la file durable livrée.
222
233
 
223
- Enregistrez-le sous une nouvelle valeur `AGENT_NATIVE_SANDBOX` (par exemple `remote`) et/ou via `registerSandboxAdapter()`. La boucle d'agent et `run-code.ts` ne changent jamais.
234
+ Enregistrez-le par programmation avec `registerSandboxAdapter()`. La boucle dagent et `run-code.ts` n’ont pas besoin de changer.
224
235
 
225
236
  > [!TIP]
226
237
  > Le plan `agent-native add sandbox docker` émet une recette complète et autonome pour implémenter un adaptateur Docker contre cette couture. Voir [Blueprint Installer](/docs/blueprint-installer).
@@ -417,3 +417,11 @@ AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK=1
417
417
  ```
418
418
 
419
419
  Les écritures secrètes à l’échelle de l’espace de travail nécessitent toujours le rôle de propriétaire/administrateur de l’organisation, quel que soit cet indicateur.
420
+
421
+ ## Suite
422
+
423
+ - [**Authentication**](/docs/authentication) — modes d'auth, cookie realms et détails de session sur lesquels cette page s'appuie
424
+ - [**Multi-Tenancy**](/docs/multi-tenancy) — le modèle d'appartenance à l'organisation derrière le scoping par `org_id`
425
+ - [**Sharing**](/docs/sharing) — le pattern `ownableColumns()` et le garde d'accès appliqués aux ressources partageables
426
+ - [**Messaging**](/docs/messaging#env-vars) — les secrets de signature de webhook par intégration référencés dans la liste de contrôle ci-dessus
427
+ - [**Deployment**](/docs/deployment) — les variables d'environnement de production que cette liste de contrôle suppose définies
@@ -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`** - आईडी के अनुसार एक ईवेंट, जिसमें इसका संशोधित इनपुट पेलोड भी शामिल है।
80
+ - **`export-audit-events`** — `list-audit-events` को हाथ से पेज करने के बजाय ट्रेल को CSV या NDJSON के रूप में बल्क में एक्सपोर्ट करता है, ऑफ़लाइन अनुपालन पुल के लिए। यह `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` `""` (खाली) है; शेड्यूल ट्रिगर के लिए इसमें क्रॉन एक्सप्रेशन होता है। डिस्पैचर वही प्रबंधित `lastRun` / `lastStatus` / `lastError` फ़ील्ड भी लिखता है जो शेड्यूलर लिखता है, साथ ही जब कोई शर्त गलत पर मूल्यांकन करती है तो एक `"skipped"` स्थिति भी लिखता है।
126
126
 
@@ -163,7 +163,13 @@ Browser के लिए अलग duplicate REST route न बनाएं; UI
163
163
  />
164
164
  </WireframeBlock>
165
165
 
166
- `view-screen` और `navigate` को extend करें ताकि agent current route जान सके और `/response-insights` खोल सके. Results में `href: "/response-insights"` भी हो सकता है, जिससे chat में "प्रतिक्रिया insights खोलें" button दिखे.
166
+ ## 6. agent को navigate करने दें {#agent-navigation}
167
+
168
+ Chat template में `view-screen` और `navigate` actions शामिल हैं. आपकी app बढ़ने के साथ इन्हें extend करें:
169
+
170
+ - `view-screen` को application state पढ़कर current route, selected insight, active filters, और agent को जरूरी किसी भी compact page context को return करना चाहिए.
171
+ - `navigate` को `/response-insights` जैसा same-origin path तब लिखना चाहिए जब agent तय करे कि user को result visually देखना चाहिए.
172
+ - action results में `href: "/response-insights"` जैसे links हो सकते हैं ताकि chat एक स्पष्ट "प्रतिक्रिया insights खोलें" button दिखा सके.
167
173
 
168
174
  जब full-page chat app page खोलता है, तो [Agent Surfaces](/docs/agent-surfaces#rich-chat) से `AgentChatSurface`, `AgentSidebar`, `useAgentChatHomeHandoff`, `useAgentChatHomeHandoffLinks` और `chatViewTransition` इस्तेमाल करें ताकि वही thread रखते हुए chat side panel में slide हो जाए.
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 समर्थित है; Pinpoint
20
+ बाद के लिए स्थगित है।
@@ -103,6 +103,10 @@ Agent-Native में दो एडाप्टर सीम हैं जो
103
103
  path: "index.ts",
104
104
  note: "selection logic: getSandboxAdapter() / registerSandboxAdapter()",
105
105
  },
106
+ {
107
+ path: "background.ts",
108
+ note: "टिकाऊ कतार चिह्नक और बैकग्राउंड निष्पादन जीवनचक्र",
109
+ },
106
110
  {
107
111
  path: "local-child-process-adapter.ts",
108
112
  note: "default backend: locked-down Node child process",
@@ -183,12 +187,17 @@ registerSandboxAdapter(adapter) → AGENT_NATIVE_SANDBOX → local default
183
187
 
184
188
  ### `AGENT_NATIVE_SANDBOX` env var {#env}
185
189
 
186
- आईडी के आधार पर एक अंतर्निहित एडाप्टर का चयन करता है। वर्तमान में केवल `local` (डिफ़ॉल्ट) वायर्ड है; अज्ञात मान रन में विफल होने के बजाय स्थानीय स्तर पर वापस जाते हैं।
190
+ आईडी के आधार पर एक अंतर्निहित एडाप्टर चुनता है। `local` (डिफ़ॉल्ट) और `background` दोनों वायर्ड हैं; अज्ञात मान रन को विफल करने के बजाय `local` पर वापस आते हैं।
187
191
 
188
192
  ```bash
189
- AGENT_NATIVE_SANDBOX=local # डिफ़ॉल्ट - स्पष्ट
193
+ AGENT_NATIVE_SANDBOX=local # डिफ़ॉल्ट - स्पष्ट
194
+ AGENT_NATIVE_SANDBOX=background # हर run-code कॉल को टिकाऊ कतार में डालें
190
195
  ```
191
196
 
197
+ `background` कच्चे कोड को `sandbox_executions` में संग्रहीत करता है और तुरंत `status: "queued"` के साथ एक `executionId` लौटाता है। हस्ताक्षरित स्व-प्रेषण एक नया सर्वरलेस आह्वान शुरू करता है; लंबे समय तक चलने वाला Node प्रक्रिया में अलग काम शुरू करता है; स्थिति जाँच और आवधिक स्कैन खोए हुए प्रेषण या समाप्त लीज़ को फिर चलाते हैं। स्थायी परिणाम के लिए निष्पादन की स्थिति बाद में जाँचें।
198
+
199
+ `BackgroundQueueAdapter` टिकाऊ कतार का चिह्नक है, निष्पादक नहीं। उपलब्ध होने पर कतारबद्ध काम एक पंजीकृत गैर-कतार निष्पादन एडाप्टर का उपयोग करता है; अन्यथा यह स्थानीय चाइल्ड प्रोसेस पर वापस आता है। केवल `background` चुनने से रिमोट या कंटेनर अलगाव नहीं मिलता और एज रनटाइम `node:child_process` के अनुकूल नहीं बनता।
200
+
192
201
  ### `registerSandboxAdapter()` {#register}
193
202
 
194
203
  एक होस्ट प्रक्रिया सीम के `index.ts` के माध्यम से सभी बाद के `run-code` आमंत्रणों के लिए बैकएंड को ओवरराइड करती है - उदाहरण के लिए, एक दूरस्थ कंटेनर में प्रत्येक कॉल को चलाने के लिए:
@@ -213,13 +222,15 @@ registerSandboxAdapter(new RemoteSandboxAdapter());
213
222
 
214
223
  ## टिकाऊ धावक के लिए सीम {#durable}
215
224
 
216
- यह इंटरफ़ेस जानबूझकर भविष्य के रिमोट/टिकाऊ सैंडबॉक्स के लिए सीम है। एक रिमोट या टिकाऊ एडॉप्टर (डॉकर, एक वर्सेल-सैंडबॉक्स-शैली धावक, या एक कतारबद्ध पृष्ठभूमि कार्यकर्ता) यह करेगा:
225
+ अंतर्निहित `background` एडाप्टर पहले से टिकाऊ कतार और नया निष्पादन बजट देता है, जबकि वास्तविक निष्पादन अब भी गैर-कतार एडाप्टर या स्थानीय चाइल्ड-प्रोसेस फ़ॉलबैक का उपयोग करता है। अलग से पंजीकृत रिमोट या पृथक एडाप्टर (Docker या Vercel-Sandbox शैली रनर) अलग निष्पादन सीमा दे सकता है और प्रति कॉल बैकग्राउंड काम भी निष्पादित कर सकता है।
226
+
227
+ ऐसा एडाप्टर:
217
228
 
218
- 1. आउट-ऑफ़-प्रोसेस रनटाइम के विरुद्ध `SandboxAdapter.run` लागू करें।
219
- 2. लूपबैक ब्रिज को टनल करें (या प्रॉक्सी ब्रिज पैरेंट को वापस कॉल करता है)।
220
- 3. बड़े डेटा जॉब्स को अनुरोध जीवनचक्र से स्वतंत्र रूप से पूरा होने दें - स्थानीय चाइल्ड-प्रोसेस एडॉप्टर को सीमित करने वाली होस्ट की गई ~40एस कोड-एक्ज़ीक्यूटिव सीमा से अधिक।
229
+ 1. प्रक्रिया से बाहर के रनटाइम के विरुद्ध `SandboxAdapter.run` लागू करेगा।
230
+ 2. लूपबैक ब्रिज को टनल करेगा या ब्रिज कॉल को मूल प्रक्रिया तक प्रॉक्सी करेगा।
231
+ 3. उपलब्ध टिकाऊ कतार जीवनचक्र से स्वतंत्र रिमोट या कंटेनर अलगाव देगा।
221
232
 
222
- इसे एक नए `AGENT_NATIVE_SANDBOX` मान (जैसे `remote`) और/या `registerSandboxAdapter()` के माध्यम से पंजीकृत करें। एजेंट लूप और `run-code.ts` कभी नहीं बदलते।
233
+ इसे `registerSandboxAdapter()` के माध्यम से प्रोग्रामेटिक रूप से पंजीकृत करें। एजेंट लूप और `run-code.ts` को बदलने की आवश्यकता नहीं है।
223
234
 
224
235
  > [!TIP]
225
236
  > `agent-native add sandbox 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) — auth modes, cookie realms, और session के वे details जिन पर यह पेज बना है
422
+ - [**Multi-Tenancy**](/docs/multi-tenancy) — `org_id` scoping के पीछे का org-membership मॉडल
423
+ - [**Sharing**](/docs/sharing) — shareable resources पर लागू `ownableColumns()` और access-guard पैटर्न
424
+ - [**Messaging**](/docs/messaging#env-vars) — ऊपर checklist में बताए गए per-integration webhook signing secrets
425
+ - [**Deployment**](/docs/deployment) — production environment variables जिन्हें यह checklist सेट मानती है
@@ -73,10 +73,11 @@ export default defineAction({
73
73
 
74
74
  ## 軌跡を読む {#reading}
75
75
 
76
- 2 つの読み取り actions は、エージェント ** および ** すべてのアプリのフロントエンドで使用でき、呼び出し元に対して SQL にスコープされます。これらは別のテナントの行を返すことはありません。
76
+ 3 つの読み取り 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 による 1 つのイベント (編集された入力ペイロードを含む)。
80
+ - **`export-audit-events`** — `list-audit-events` を手動でページングする代わりに、トレイルを CSV または NDJSON として一括エクスポートします(オフラインのコンプライアンス取得用)。`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
 
@@ -163,7 +163,13 @@ export const responseInsights = table("response_insights", {
163
163
  />
164
164
  </WireframeBlock>
165
165
 
166
- `view-screen` `navigate` を拡張し、agent が現在の route を理解して `/response-insights` を開けるようにします。結果に `href: "/response-insights"` を含めれば、チャットに "回答インサイトを開く" ボタンを表示できます。
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 path を書き込む必要があります。
172
+ - action の結果には `href: "/response-insights"` のようなリンクを含められるため、チャットは明示的な「回答インサイトを開く」ボタンを提示できます。
167
173
 
168
174
  フルページ chat から app ページを開くときは、[Agent Surfaces](/docs/agent-surfaces#rich-chat) の `AgentChatSurface`、`AgentSidebar`、`useAgentChatHomeHandoff`、`useAgentChatHomeHandoffLinks`、`chatViewTransition` を使い、同じ thread のままチャットをサイドバーへ移動します。
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,21 @@
1
+ ---
2
+ title: パッケージのライフサイクル
3
+ description: マニフェスト駆動の Agent Native パッケージを安全に確認、追加、排出します。
4
+ ---
5
+
6
+ # パッケージのライフサイクル
7
+
8
+ 再利用可能なパッケージは、バージョン付きの静的な
9
+ `agent-native.package.json` を公開できます。CLI は検査時にこの JSON のみを
10
+ 読み、パッケージコードを実行しません。
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
+ 追加と排出は既定でドライランです。`--apply` を指定した場合だけ書き込みと
19
+ パッケージマネージャーを実行します。競合や未知の配置は拒否し、インストール
20
+ 失敗時にはファイルとロックファイルを復元します。パイロットでは Scheduling
21
+ のみ排出可能で、Pinpoint は対象外です。
@@ -103,6 +103,10 @@ Agent-Native にはアダプターの継ぎ目が 2 つあり、狭い部分の
103
103
  path: "index.ts",
104
104
  note: "選択: getSandboxAdapter() / registerSandboxAdapter()",
105
105
  },
106
+ {
107
+ path: "background.ts",
108
+ note: "耐久キューマーカーとバックグラウンド実行のライフサイクル",
109
+ },
106
110
  {
107
111
  path: "local-child-process-adapter.ts",
108
112
  note: "デフォルト backend: 制限された Node 子プロセス",
@@ -183,12 +187,17 @@ registerSandboxAdapter(adapter) → AGENT_NATIVE_SANDBOX → local default
183
187
 
184
188
  ### `AGENT_NATIVE_SANDBOX` 環境変数 {#env}
185
189
 
186
- ID によって組み込みアダプターを選択します。現在、`local` (デフォルト) のみが配線されています。不明な値は実行に失敗するのではなく、ローカルにフォールバックします。
190
+ ID によって組み込みアダプターを選択します。`local`(デフォルト)と `background` の両方が配線されています。不明な値は実行に失敗するのではなく `local` にフォールバックします。
187
191
 
188
192
  ```bash
189
- AGENT_NATIVE_SANDBOX=local # デフォルト — 明示的
193
+ AGENT_NATIVE_SANDBOX=local # デフォルト — 明示的
194
+ AGENT_NATIVE_SANDBOX=background # すべての run-code 呼び出しを耐久キューに入れる
190
195
  ```
191
196
 
197
+ `background` は生のコードを `sandbox_executions` に保存し、`status: "queued"` と `executionId` をすぐに返します。署名付きセルフディスパッチは新しい serverless 呼び出しを開始し、長時間稼働する Node はプロセス内で切り離した処理を開始します。ステータスポーリングと定期 sweep は、失われたディスパッチや期限切れの lease を再実行します。永続化された結果は後から実行をポーリングして取得します。
198
+
199
+ `BackgroundQueueAdapter` は耐久キューのマーカーであり、executor ではありません。キュー内の処理は、利用可能なら登録済みの非キュー実行アダプターを使い、それ以外はローカル子プロセスにフォールバックします。`background` だけを選択してもリモート分離やコンテナ分離は提供されず、edge ランタイムが `node:child_process` に対応するわけでもありません。
200
+
192
201
  ### `registerSandboxAdapter()` {#register}
193
202
 
194
203
  ホスト プロセスは、シームの `index.ts` を介した後続のすべての `run-code` 呼び出しのバックエンドをオーバーライドします。たとえば、リモート コンテナーですべての呼び出しを実行します。
@@ -213,13 +222,15 @@ registerSandboxAdapter(new RemoteSandboxAdapter());
213
222
 
214
223
  ## 耐久性のあるランナーのための縫い目 {#durable}
215
224
 
216
- このインターフェイスは、将来のリモート/耐久性のあるサンドボックスの継ぎ目として意図的に作られています。リモートまたは耐久性のあるアダプター (DockerVercel-Sandbox スタイルのランナー、またはキューに入れられたバックグラウンド ワーカー) は次のとおりです。
225
+ 組み込みの `background` アダプターは、すでに耐久キューと新しい実行予算を提供します。一方、実際の実行には引き続き非キューアダプターまたはローカル子プロセスのフォールバックが使われます。別途登録したリモートまたは分離アダプター(DockerVercel-Sandbox スタイルのランナー)は、異なる実行境界を提供し、呼び出しごとのバックグラウンド処理も実行できます。
226
+
227
+ このようなアダプターは次を行います。
217
228
 
218
229
  1. アウトプロセス ランタイムに対して `SandboxAdapter.run` を実装します。
219
- 2. ループバック ブリッジをトンネルします (またはプロキシ ブリッジが親にコールバックします)。
220
- 3. 大規模なデータ ジョブを、リクエストのライフサイクルとは独立して完了まで実行します。これは、ローカルの子プロセス アダプターを制限する、ホストされたコード実行の最大 40 秒の上限を超えます。
230
+ 2. ループバックブリッジをトンネルするか、その呼び出しを親プロセスへプロキシします。
231
+ 3. 提供済みの耐久キューのライフサイクルとは独立して、リモート分離またはコンテナ分離を提供します。
221
232
 
222
- 新しい `AGENT_NATIVE_SANDBOX` 値 (例: `remote`) および/または `registerSandboxAdapter()` 経由で登録します。エージェント ループと `run-code.ts` は決して変わりません。
233
+ `registerSandboxAdapter()` を使ってプログラムから登録します。エージェントループと `run-code.ts` を変更する必要はありません。
223
234
 
224
235
  > [!TIP]
225
236
  > `agent-native add sandbox docker` ブループリントは、このシームに対して Docker アダプターを実装するための完全な自己完結型レシピを生成します。 [Blueprint Installer](/docs/blueprint-installer) を参照してください。
@@ -417,3 +417,11 @@ AGENT_NATIVE_KEYS_WORKSPACE_FALLBACK=1
417
417
  ```
418
418
 
419
419
  ワークスペース スコープのシークレットの書き込みには、このフラグに関係なく、組織の所有者/管理者のロールが必要です。
420
+
421
+ ## 次のステップ
422
+
423
+ - [**Authentication**](/docs/authentication) — このページが前提とする認証モード、cookie realm、セッションの詳細
424
+ - [**Multi-Tenancy**](/docs/multi-tenancy) — `org_id` スコーピングの背後にある組織メンバーシップモデル
425
+ - [**Sharing**](/docs/sharing) — 共有可能なリソースに適用される `ownableColumns()` とアクセスガードのパターン
426
+ - [**Messaging**](/docs/messaging#env-vars) — 上のチェックリストで参照されている統合ごとの webhook 署名シークレット
427
+ - [**Deployment**](/docs/deployment) — このチェックリストが設定済みであることを前提とする本番環境変数
@@ -73,10 +73,11 @@ export default defineAction({
73
73
 
74
74
  ## 트레일 읽기 {#reading}
75
75
 
76
- 2개의 읽기 actions는 에이전트 **및** 호출자에게 SQL 범위로 지정된 모든 앱의 프런트엔드에서 사용할 수 있으며 다른 테넌트의 행을 반환하지 않습니다.
76
+ 3개의 읽기 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별 이벤트 1개.
80
+ - **`export-audit-events`** — `list-audit-events`를 수동으로 페이징하는 대신 추적 기록을 CSV 또는 NDJSON으로 일괄 내보내며, 오프라인 규정 준수 확인용입니다. `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