@agent-native/core 0.92.7 → 0.92.9

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 (295) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/core/CHANGELOG.md +18 -0
  3. package/corpus/core/docs/content/a2a-protocol.mdx +12 -0
  4. package/corpus/core/docs/content/locales/ar-SA/a2a-protocol.mdx +12 -0
  5. package/corpus/core/docs/content/locales/ar-SA/pr-visual-recap.mdx +3 -3
  6. package/corpus/core/docs/content/locales/ar-SA/pure-agent-apps.mdx +4 -0
  7. package/corpus/core/docs/content/locales/de-DE/a2a-protocol.mdx +12 -0
  8. package/corpus/core/docs/content/locales/de-DE/pr-visual-recap.mdx +3 -3
  9. package/corpus/core/docs/content/locales/de-DE/pure-agent-apps.mdx +4 -0
  10. package/corpus/core/docs/content/locales/es-ES/a2a-protocol.mdx +12 -0
  11. package/corpus/core/docs/content/locales/es-ES/pr-visual-recap.mdx +3 -3
  12. package/corpus/core/docs/content/locales/es-ES/pure-agent-apps.mdx +4 -0
  13. package/corpus/core/docs/content/locales/fr-FR/a2a-protocol.mdx +12 -0
  14. package/corpus/core/docs/content/locales/fr-FR/pr-visual-recap.mdx +3 -3
  15. package/corpus/core/docs/content/locales/fr-FR/pure-agent-apps.mdx +4 -0
  16. package/corpus/core/docs/content/locales/hi-IN/a2a-protocol.mdx +12 -0
  17. package/corpus/core/docs/content/locales/hi-IN/pr-visual-recap.mdx +3 -3
  18. package/corpus/core/docs/content/locales/hi-IN/pure-agent-apps.mdx +4 -0
  19. package/corpus/core/docs/content/locales/ja-JP/a2a-protocol.mdx +12 -0
  20. package/corpus/core/docs/content/locales/ja-JP/pr-visual-recap.mdx +3 -3
  21. package/corpus/core/docs/content/locales/ja-JP/pure-agent-apps.mdx +4 -0
  22. package/corpus/core/docs/content/locales/ko-KR/a2a-protocol.mdx +12 -0
  23. package/corpus/core/docs/content/locales/ko-KR/pr-visual-recap.mdx +3 -3
  24. package/corpus/core/docs/content/locales/ko-KR/pure-agent-apps.mdx +4 -0
  25. package/corpus/core/docs/content/locales/pt-BR/a2a-protocol.mdx +12 -0
  26. package/corpus/core/docs/content/locales/pt-BR/pr-visual-recap.mdx +3 -3
  27. package/corpus/core/docs/content/locales/pt-BR/pure-agent-apps.mdx +4 -0
  28. package/corpus/core/docs/content/locales/zh-CN/a2a-protocol.mdx +12 -0
  29. package/corpus/core/docs/content/locales/zh-CN/pr-visual-recap.mdx +3 -3
  30. package/corpus/core/docs/content/locales/zh-CN/pure-agent-apps.mdx +4 -0
  31. package/corpus/core/docs/content/locales/zh-TW/a2a-protocol.mdx +12 -0
  32. package/corpus/core/docs/content/locales/zh-TW/pr-visual-recap.mdx +3 -3
  33. package/corpus/core/docs/content/locales/zh-TW/pure-agent-apps.mdx +4 -0
  34. package/corpus/core/docs/content/pr-visual-recap.mdx +3 -3
  35. package/corpus/core/docs/content/pure-agent-apps.mdx +22 -0
  36. package/corpus/core/package.json +1 -1
  37. package/corpus/core/src/agent/engine/builtin.ts +1 -1
  38. package/corpus/core/src/agent/model-config.ts +30 -30
  39. package/corpus/core/src/agent/production-agent.ts +129 -7
  40. package/corpus/core/src/cli/design-connect.ts +438 -83
  41. package/corpus/core/src/cli/recap.ts +17 -3
  42. package/corpus/core/src/client/AgentPanel.tsx +8 -1
  43. package/corpus/core/src/client/agent-chat-adapter.ts +12 -7
  44. package/corpus/core/src/client/composer/TiptapComposer.tsx +1 -1
  45. package/corpus/core/src/client/index.ts +4 -0
  46. package/corpus/core/src/client/org/TeamPage.tsx +41 -26
  47. package/corpus/core/src/client/use-action.ts +113 -1
  48. package/corpus/core/src/db/client.ts +12 -2
  49. package/corpus/core/src/db/create-get-db.ts +4 -1
  50. package/corpus/core/src/scripts/agent-engines/manage-agent-engine.ts +1 -1
  51. package/corpus/core/src/scripts/agent-engines/set-agent-engine.ts +1 -1
  52. package/corpus/core/src/server/ssr-handler.ts +7 -0
  53. package/corpus/core/src/server/transcribe-voice.ts +1 -1
  54. package/corpus/core/src/usage/store.ts +13 -4
  55. package/corpus/core/src/vite/client.ts +38 -1
  56. package/corpus/templates/analytics/AGENTS.md +3 -0
  57. package/corpus/templates/analytics/actions/get-data-program.ts +78 -0
  58. package/corpus/templates/analytics/actions/list-data-programs.ts +49 -0
  59. package/corpus/templates/analytics/app/global.css +11 -0
  60. package/corpus/templates/analytics/app/hooks/use-dashboard-chat-context.ts +163 -17
  61. package/corpus/templates/analytics/app/i18n/zh-TW.ts +2 -0
  62. package/corpus/templates/analytics/app/i18n-data.ts +20 -0
  63. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/ChartCard.tsx +96 -3
  64. package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +3 -1
  65. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +61 -4
  66. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +40 -2
  67. package/corpus/templates/analytics/changelog/2026-07-09-analytics-no-longer-forgets-successful-data-queries-when-a-l.md +6 -0
  68. package/corpus/templates/analytics/changelog/2026-07-09-dashboard-charts-keep-consistent-spacing-when-they-stack-ver.md +6 -0
  69. package/corpus/templates/analytics/changelog/2026-07-09-dashboard-charts-tables-and-extensions-can-be-selected-and-d.md +6 -0
  70. package/corpus/templates/analytics/changelog/2026-07-09-long-running-analytics-requests-now-recover-automatically-wh.md +6 -0
  71. package/corpus/templates/analytics/server/db/index.ts +6 -0
  72. package/corpus/templates/clips/desktop/src/hooks/useMeetingTranscription.ts +1 -7
  73. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +102 -15
  74. package/corpus/templates/content/app/hooks/use-content-database.ts +52 -0
  75. package/corpus/templates/content/app/hooks/use-document-properties.ts +50 -6
  76. package/corpus/templates/content/app/i18n/zh-TW.ts +2 -0
  77. package/corpus/templates/content/app/i18n-data.ts +28 -0
  78. package/corpus/templates/content/changelog/2026-07-09-notion-conflict-warnings-no-longer-flash-during-normal-synce.md +6 -0
  79. package/corpus/templates/content/changelog/2026-07-09-property-menus-and-delete-confirmations-now-open-visibly-and.md +6 -0
  80. package/corpus/templates/content/server/lib/notion-sync.ts +130 -28
  81. package/corpus/templates/design/actions/add-breakpoint.ts +48 -68
  82. package/corpus/templates/design/actions/add-localhost-screens.ts +496 -61
  83. package/corpus/templates/design/actions/apply-component-prop-edit.ts +2 -18
  84. package/corpus/templates/design/actions/apply-design-token-edit.ts +51 -82
  85. package/corpus/templates/design/actions/apply-tweaks.ts +63 -41
  86. package/corpus/templates/design/actions/capture-design-state.ts +2 -2
  87. package/corpus/templates/design/actions/connect-localhost.ts +58 -12
  88. package/corpus/templates/design/actions/create-component.ts +2 -18
  89. package/corpus/templates/design/actions/create-design-branch.ts +38 -18
  90. package/corpus/templates/design/actions/create-fusion-app.ts +15 -11
  91. package/corpus/templates/design/actions/delete-file.ts +19 -34
  92. package/corpus/templates/design/actions/deploy-design-preview.ts +59 -27
  93. package/corpus/templates/design/actions/deploy-fusion-app.ts +22 -15
  94. package/corpus/templates/design/actions/export-pdf.ts +2 -1
  95. package/corpus/templates/design/actions/export-zip.ts +9 -3
  96. package/corpus/templates/design/actions/generate-design.ts +107 -70
  97. package/corpus/templates/design/actions/get-component-details.ts +2 -18
  98. package/corpus/templates/design/actions/get-design-branch-diff.ts +2 -3
  99. package/corpus/templates/design/actions/get-design-surface-index.ts +2 -18
  100. package/corpus/templates/design/actions/get-design.ts +2 -1
  101. package/corpus/templates/design/actions/grant-localhost-write-consent.ts +7 -1
  102. package/corpus/templates/design/actions/import-design-tokens.ts +114 -76
  103. package/corpus/templates/design/actions/index-components.ts +2 -18
  104. package/corpus/templates/design/actions/list-design-source-capabilities.ts +23 -28
  105. package/corpus/templates/design/actions/list-local-files.ts +9 -2
  106. package/corpus/templates/design/actions/migrate-board-objects-to-file.ts +82 -98
  107. package/corpus/templates/design/actions/open-component-source.ts +2 -18
  108. package/corpus/templates/design/actions/open-visual-edit.ts +19 -1
  109. package/corpus/templates/design/actions/present-design-variants.ts +70 -70
  110. package/corpus/templates/design/actions/preview-component-prop-edit.ts +4 -14
  111. package/corpus/templates/design/actions/read-local-file.ts +9 -2
  112. package/corpus/templates/design/actions/remove-breakpoint.ts +40 -61
  113. package/corpus/templates/design/actions/rename-screen.ts +425 -0
  114. package/corpus/templates/design/actions/request-localhost-write-consent.ts +12 -2
  115. package/corpus/templates/design/actions/revoke-localhost-write-consent.ts +9 -2
  116. package/corpus/templates/design/actions/sync-fusion-app.ts +56 -39
  117. package/corpus/templates/design/actions/update-design.ts +376 -61
  118. package/corpus/templates/design/actions/update-file.ts +455 -188
  119. package/corpus/templates/design/actions/write-local-file.ts +10 -2
  120. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +685 -608
  121. package/corpus/templates/design/app/components/design/LayersPanel.tsx +43 -15
  122. package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +576 -2015
  123. package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +62 -14
  124. package/corpus/templates/design/app/components/design/bridge/embedded-wheel.bridge.ts +263 -25
  125. package/corpus/templates/design/app/components/design/design-canvas/annotation-submit.ts +34 -0
  126. package/corpus/templates/design/app/components/design/design-canvas/coordinate-transforms.ts +40 -0
  127. package/corpus/templates/design/app/components/design/design-canvas/creation.ts +47 -0
  128. package/corpus/templates/design/app/components/design/design-canvas/element-payload.ts +27 -0
  129. package/corpus/templates/design/app/components/design/design-canvas/embedded-frame.ts +62 -0
  130. package/corpus/templates/design/app/components/design/design-canvas/external-preview.ts +137 -0
  131. package/corpus/templates/design/app/components/design/design-canvas/file-drop.ts +10 -0
  132. package/corpus/templates/design/app/components/design/design-canvas/hit-test.ts +23 -0
  133. package/corpus/templates/design/app/components/design/design-canvas/iframe-events.ts +23 -0
  134. package/corpus/templates/design/app/components/design/design-canvas/iframe-pan.ts +177 -0
  135. package/corpus/templates/design/app/components/design/design-canvas/motion-types.ts +7 -0
  136. package/corpus/templates/design/app/components/design/design-canvas/pending-text-edit.ts +62 -0
  137. package/corpus/templates/design/app/components/design/index.ts +2 -2
  138. package/corpus/templates/design/app/components/design/multi-screen/canvas-tools.ts +100 -0
  139. package/corpus/templates/design/app/components/design/multi-screen/coordinate-transforms.ts +81 -0
  140. package/corpus/templates/design/app/components/design/multi-screen/cross-screen-drop.ts +23 -13
  141. package/corpus/templates/design/app/components/design/multi-screen/culling.ts +238 -19
  142. package/corpus/templates/design/app/components/design/multi-screen/draft-primitives.ts +424 -0
  143. package/corpus/templates/design/app/components/design/multi-screen/frame-geometry.ts +341 -0
  144. package/corpus/templates/design/app/components/design/multi-screen/iframe-targeting.ts +52 -0
  145. package/corpus/templates/design/app/components/design/multi-screen/overview-layout.ts +62 -0
  146. package/corpus/templates/design/app/components/design/multi-screen/primitive-drop-target.ts +283 -0
  147. package/corpus/templates/design/app/components/design/multi-screen/screen-content-cache.ts +272 -0
  148. package/corpus/templates/design/app/components/design/multi-screen/types.ts +5 -1
  149. package/corpus/templates/design/app/components/design/multi-screen/wheel-gesture-state.ts +12 -0
  150. package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +325 -84
  151. package/corpus/templates/design/app/hooks/use-navigation-state.ts +15 -1
  152. package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +119 -47
  153. package/corpus/templates/design/app/i18n/zh-TW.ts +9 -0
  154. package/corpus/templates/design/app/i18n-data.ts +223 -0
  155. package/corpus/templates/design/app/lib/design-save-outbox.ts +379 -0
  156. package/corpus/templates/design/app/lib/png-clipboard.ts +113 -0
  157. package/corpus/templates/design/app/pages/design-editor/canvas-primitives.ts +229 -0
  158. package/corpus/templates/design/app/pages/design-editor/code-layer-state.ts +918 -0
  159. package/corpus/templates/design/app/pages/design-editor/collab-sync.ts +43 -0
  160. package/corpus/templates/design/app/pages/design-editor/cross-screen-text-color.ts +336 -0
  161. package/corpus/templates/design/app/pages/design-editor/data-operations.ts +270 -0
  162. package/corpus/templates/design/app/pages/design-editor/dom-guards.ts +24 -0
  163. package/corpus/templates/design/app/pages/design-editor/dom-utils.ts +11 -0
  164. package/corpus/templates/design/app/pages/design-editor/editor-session.ts +20 -0
  165. package/corpus/templates/design/app/pages/design-editor/editor-state.ts +408 -0
  166. package/corpus/templates/design/app/pages/design-editor/export-capture.ts +115 -0
  167. package/corpus/templates/design/app/pages/design-editor/geometry-persistence.ts +93 -0
  168. package/corpus/templates/design/app/pages/design-editor/history.ts +169 -0
  169. package/corpus/templates/design/app/pages/design-editor/layout-operations.ts +185 -0
  170. package/corpus/templates/design/app/pages/design-editor/motion-state.ts +309 -0
  171. package/corpus/templates/design/app/pages/design-editor/overview-camera.ts +438 -0
  172. package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +510 -0
  173. package/corpus/templates/design/app/pages/design-editor/portable-style.ts +115 -0
  174. package/corpus/templates/design/app/pages/design-editor/selection-state.ts +337 -0
  175. package/corpus/templates/design/app/pages/design-editor/style-utils.ts +5 -0
  176. package/corpus/templates/design/app/pages/design-editor/tool-state.ts +92 -0
  177. package/corpus/templates/design/app/pages/design-editor/tweak-save.ts +87 -0
  178. package/corpus/templates/design/app/pages/design-editor/types.ts +36 -0
  179. package/corpus/templates/design/app/routes/design.$id.tsx +11 -1
  180. package/corpus/templates/design/changelog/2026-07-09-design-edits-canvas-positions-tools-and-tab-context-now-pers.md +6 -0
  181. package/corpus/templates/design/changelog/2026-07-09-figma-style-shortcuts-drawing-annotations-and-cross-screen-d.md +6 -0
  182. package/corpus/templates/design/changelog/2026-07-09-hand-and-scale-tools-now-keep-their-active-toolbar-identity-.md +6 -0
  183. package/corpus/templates/design/changelog/2026-07-09-large-multi-screen-designs-now-stay-responsive-during-long-c.md +6 -0
  184. package/corpus/templates/design/changelog/2026-07-09-layer-drags-now-land-exactly-where-the-insertion-indicator-s.md +6 -0
  185. package/corpus/templates/design/server/db/index.ts +2 -52
  186. package/corpus/templates/design/server/db/schema.ts +16 -0
  187. package/corpus/templates/design/server/lib/design-data-access.ts +70 -0
  188. package/corpus/templates/design/server/lib/design-data-mutation.ts +249 -0
  189. package/corpus/templates/design/server/lib/fusion-screens.ts +89 -76
  190. package/corpus/templates/design/server/lib/import-design-files.ts +76 -35
  191. package/corpus/templates/design/server/lib/verify-write-grant.ts +7 -2
  192. package/corpus/templates/design/server/plugins/db.ts +19 -0
  193. package/corpus/templates/design/server/source-workspace.ts +12 -13
  194. package/corpus/templates/design/shared/resolve-tweaks.ts +15 -0
  195. package/corpus/templates/design/shared/screen-rename.ts +42 -0
  196. package/corpus/templates/design/shared/source-mode.ts +84 -4
  197. package/dist/agent/engine/builder-engine.d.ts +1 -1
  198. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  199. package/dist/agent/engine/builtin.js +1 -1
  200. package/dist/agent/engine/builtin.js.map +1 -1
  201. package/dist/agent/model-config.d.ts +9 -9
  202. package/dist/agent/model-config.d.ts.map +1 -1
  203. package/dist/agent/model-config.js +30 -30
  204. package/dist/agent/model-config.js.map +1 -1
  205. package/dist/agent/production-agent.d.ts +60 -1
  206. package/dist/agent/production-agent.d.ts.map +1 -1
  207. package/dist/agent/production-agent.js +106 -7
  208. package/dist/agent/production-agent.js.map +1 -1
  209. package/dist/cli/design-connect.d.ts +30 -1
  210. package/dist/cli/design-connect.d.ts.map +1 -1
  211. package/dist/cli/design-connect.js +359 -75
  212. package/dist/cli/design-connect.js.map +1 -1
  213. package/dist/cli/recap.d.ts.map +1 -1
  214. package/dist/cli/recap.js +13 -3
  215. package/dist/cli/recap.js.map +1 -1
  216. package/dist/client/AgentPanel.d.ts.map +1 -1
  217. package/dist/client/AgentPanel.js +6 -1
  218. package/dist/client/AgentPanel.js.map +1 -1
  219. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  220. package/dist/client/agent-chat-adapter.js +10 -5
  221. package/dist/client/agent-chat-adapter.js.map +1 -1
  222. package/dist/client/composer/TiptapComposer.js +1 -1
  223. package/dist/client/composer/TiptapComposer.js.map +1 -1
  224. package/dist/client/index.d.ts +1 -1
  225. package/dist/client/index.d.ts.map +1 -1
  226. package/dist/client/index.js +1 -1
  227. package/dist/client/index.js.map +1 -1
  228. package/dist/client/org/TeamPage.d.ts.map +1 -1
  229. package/dist/client/org/TeamPage.js +6 -5
  230. package/dist/client/org/TeamPage.js.map +1 -1
  231. package/dist/client/use-action.d.ts +32 -0
  232. package/dist/client/use-action.d.ts.map +1 -1
  233. package/dist/client/use-action.js +68 -1
  234. package/dist/client/use-action.js.map +1 -1
  235. package/dist/collab/struct-routes.d.ts +1 -1
  236. package/dist/db/client.d.ts +3 -0
  237. package/dist/db/client.d.ts.map +1 -1
  238. package/dist/db/client.js +7 -2
  239. package/dist/db/client.js.map +1 -1
  240. package/dist/db/create-get-db.d.ts.map +1 -1
  241. package/dist/db/create-get-db.js +2 -2
  242. package/dist/db/create-get-db.js.map +1 -1
  243. package/dist/notifications/routes.d.ts +3 -3
  244. package/dist/observability/routes.d.ts +1 -1
  245. package/dist/resources/handlers.d.ts +3 -3
  246. package/dist/scripts/agent-engines/manage-agent-engine.js +1 -1
  247. package/dist/scripts/agent-engines/manage-agent-engine.js.map +1 -1
  248. package/dist/scripts/agent-engines/set-agent-engine.js +1 -1
  249. package/dist/scripts/agent-engines/set-agent-engine.js.map +1 -1
  250. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  251. package/dist/server/ssr-handler.d.ts.map +1 -1
  252. package/dist/server/ssr-handler.js +7 -0
  253. package/dist/server/ssr-handler.js.map +1 -1
  254. package/dist/server/transcribe-voice.js +1 -1
  255. package/dist/server/transcribe-voice.js.map +1 -1
  256. package/dist/usage/store.d.ts.map +1 -1
  257. package/dist/usage/store.js +13 -4
  258. package/dist/usage/store.js.map +1 -1
  259. package/dist/vite/client.d.ts.map +1 -1
  260. package/dist/vite/client.js +36 -1
  261. package/dist/vite/client.js.map +1 -1
  262. package/docs/content/a2a-protocol.mdx +12 -0
  263. package/docs/content/locales/ar-SA/a2a-protocol.mdx +12 -0
  264. package/docs/content/locales/ar-SA/pr-visual-recap.mdx +3 -3
  265. package/docs/content/locales/ar-SA/pure-agent-apps.mdx +4 -0
  266. package/docs/content/locales/de-DE/a2a-protocol.mdx +12 -0
  267. package/docs/content/locales/de-DE/pr-visual-recap.mdx +3 -3
  268. package/docs/content/locales/de-DE/pure-agent-apps.mdx +4 -0
  269. package/docs/content/locales/es-ES/a2a-protocol.mdx +12 -0
  270. package/docs/content/locales/es-ES/pr-visual-recap.mdx +3 -3
  271. package/docs/content/locales/es-ES/pure-agent-apps.mdx +4 -0
  272. package/docs/content/locales/fr-FR/a2a-protocol.mdx +12 -0
  273. package/docs/content/locales/fr-FR/pr-visual-recap.mdx +3 -3
  274. package/docs/content/locales/fr-FR/pure-agent-apps.mdx +4 -0
  275. package/docs/content/locales/hi-IN/a2a-protocol.mdx +12 -0
  276. package/docs/content/locales/hi-IN/pr-visual-recap.mdx +3 -3
  277. package/docs/content/locales/hi-IN/pure-agent-apps.mdx +4 -0
  278. package/docs/content/locales/ja-JP/a2a-protocol.mdx +12 -0
  279. package/docs/content/locales/ja-JP/pr-visual-recap.mdx +3 -3
  280. package/docs/content/locales/ja-JP/pure-agent-apps.mdx +4 -0
  281. package/docs/content/locales/ko-KR/a2a-protocol.mdx +12 -0
  282. package/docs/content/locales/ko-KR/pr-visual-recap.mdx +3 -3
  283. package/docs/content/locales/ko-KR/pure-agent-apps.mdx +4 -0
  284. package/docs/content/locales/pt-BR/a2a-protocol.mdx +12 -0
  285. package/docs/content/locales/pt-BR/pr-visual-recap.mdx +3 -3
  286. package/docs/content/locales/pt-BR/pure-agent-apps.mdx +4 -0
  287. package/docs/content/locales/zh-CN/a2a-protocol.mdx +12 -0
  288. package/docs/content/locales/zh-CN/pr-visual-recap.mdx +3 -3
  289. package/docs/content/locales/zh-CN/pure-agent-apps.mdx +4 -0
  290. package/docs/content/locales/zh-TW/a2a-protocol.mdx +12 -0
  291. package/docs/content/locales/zh-TW/pr-visual-recap.mdx +3 -3
  292. package/docs/content/locales/zh-TW/pure-agent-apps.mdx +4 -0
  293. package/docs/content/pr-visual-recap.mdx +3 -3
  294. package/docs/content/pure-agent-apps.mdx +22 -0
  295. package/package.json +2 -2
package/corpus/README.md CHANGED
@@ -28,4 +28,4 @@ rg -n "defineAction|useActionQuery" node_modules/@agent-native/core/corpus
28
28
  ## Generated Counts
29
29
 
30
30
  - core files: 2155
31
- - template files: 5057
31
+ - template files: 5119
@@ -1,5 +1,23 @@
1
1
  # @agent-native/core
2
2
 
3
+ ## 0.92.9
4
+
5
+ ### Patch Changes
6
+
7
+ - d5d94f2: Prevent PR recap workflows from publishing screenshots of failed recap pages, and report SSR render failures through configured error monitoring.
8
+
9
+ ## 0.92.8
10
+
11
+ ### Patch Changes
12
+
13
+ - 02ff384: Keep Design localhost route manifests, collision-resistant route identities, and per-screen live-edit bridge scripts stable across reconnects and multi-screen editing. Split read-only preview authorization from filesystem access, require authenticated preview endpoints, and restrict bridge CORS to approved Design origins.
14
+ - 02ff384: Prevent local template dev servers from discovering editor dependencies after startup and reloading with outdated optimized modules. Keep production SSR builds on one shared Yjs implementation so collaboration types retain constructor identity.
15
+ - 02ff384: Add a budget-coordinated keepalive action helper for reliable unload-time writes.
16
+ - 02ff384: Replace the managed and BYOK GPT model catalogs with GPT-5.6 Sol, Terra, and Luna.
17
+ - 02ff384: Preserve prior continuation tool results when final-response guards validate a multi-chunk agent turn, recover failed durable handoffs through the client continuation path, and retain completed-side-effect metadata for journal-recovered writes. Successful data queries and dashboard mutations are no longer reported as missing after a background boundary.
18
+ - 02ff384: Keep Cloudflare D1 runtime detection type-safe when core database helpers are compiled inside template applications.
19
+ - 02ff384: Fix a bug where a durable-background agent run could be killed by a single transient network blip during its soft-timeout chunk handoff. A worker proven to be running inside a real background function now gets a retry budget sized for its remaining wall-clock time (5 attempts / 15s timeout) instead of being silently demoted to the smaller foreground budget just because it was forced onto the same-process dispatch target.
20
+
3
21
  ## 0.92.7
4
22
 
5
23
  ### Patch Changes
@@ -436,6 +436,18 @@ This boundary matters because the agent loop accepts free-form input from a remo
436
436
 
437
437
  JWT verification (`verifyA2AToken` in `server.ts`) accepts tokens signed with either the global `A2A_SECRET` or an org-scoped secret looked up from SQL via the token's `org_domain` claim, and enforces the token's own `aud`/`iss` claims when present.
438
438
 
439
+ ### Organization secret sync {#organization-secret-sync}
440
+
441
+ The **Organization → Cross-app authentication** setting manages the org-scoped secret used to authenticate delegation between separately deployed apps in the same organization. It is not a user sign-in or Cross-App SSO setting. The secret supplements a deployment's `A2A_SECRET`: an A2A JWT with an `org_domain` claim can be verified against the matching organization's secret.
442
+
443
+ An organization owner should give every participating app the same allowed email domain and the same org-scoped secret:
444
+
445
+ 1. In the first app, generate or reveal the secret in **Organization → Cross-app authentication**.
446
+ 2. In each additional app, choose **Paste secret from another app** and paste that value. This manual step is required for the first connection: an app that does not already have the secret cannot verify a remote sync request.
447
+ 3. Once apps share the secret, use **Sync to apps** to push future updates to connected, discovered apps. The result reports any app that could not be updated.
448
+
449
+ When you **Regenerate** the secret, the settings UI immediately syncs it and signs the update with the previous secret so already connected apps can verify the change. If an app misses that sync, paste the new secret there manually, then sync again. Treat this secret like any other credential: do not put it in client-side code, logs, or a third-party client configuration.
450
+
439
451
  ## Continuations {#continuations}
440
452
 
441
453
  When an agent calls a remote A2A peer that doesn't return immediately, the framework polls `tasks/get` until the task settles. This is wired through `A2AClient.sendAndWait`, which is the default mode used by the `callAgent()` helper.
@@ -436,6 +436,18 @@ const client = new A2AClient(url, process.env.A2A_API_KEY);
436
436
 
437
437
  يقبل التحقق من JWT (`verifyA2AToken` في `server.ts`) الرموز المميزة الموقعة إما باستخدام `A2A_SECRET` العام أو سر على مستوى المؤسسة تم البحث عنه من SQL عبر مطالبة الرمز المميز `org_domain`، ويفرض مطالبات `aud`/`iss` الخاصة بالرمز المميز عند وجودها.
438
438
 
439
+ ### مزامنة سر المؤسسة {#organization-secret-sync}
440
+
441
+ يدير إعداد **المؤسسة ← مصادقة عبر التطبيقات** السر على مستوى المؤسسة الذي يصادق على التفويض بين التطبيقات المنشورة بشكل منفصل في المؤسسة نفسها. ليس هذا إعدادًا لتسجيل دخول المستخدم أو لـ Cross-App SSO. يكمّل السر `A2A_SECRET` الخاص بالنشر: يمكن التحقق من JWT خاص بـ A2A يحمل مطالبة `org_domain` باستخدام سر المؤسسة المطابق.
442
+
443
+ ينبغي لمالك المؤسسة أن يمنح كل تطبيق مشارك نطاق البريد الإلكتروني المسموح نفسه والسر نفسه على مستوى المؤسسة:
444
+
445
+ 1. في التطبيق الأول، أنشئ السر أو أكشفه من **المؤسسة ← مصادقة عبر التطبيقات**.
446
+ 2. في كل تطبيق إضافي، اختر **لصق سر من تطبيق آخر** والصق تلك القيمة. هذه الخطوة اليدوية مطلوبة للاتصال الأول: فلا يستطيع تطبيق لا يملك السر بعد التحقق من طلب مزامنة بعيد.
447
+ 3. عندما تشترك التطبيقات في السر، استخدم **المزامنة إلى التطبيقات** لإرسال التحديثات اللاحقة إلى التطبيقات المتصلة والمكتشفة. تعرض النتيجة أي تطبيق لم يمكن تحديثه.
448
+
449
+ عند **إعادة إنشاء** السر، تزامنه واجهة الإعدادات فورًا وتوقّع التحديث بالسر السابق حتى تتمكن التطبيقات المتصلة مسبقًا من التحقق من التغيير. إذا فات تطبيقًا ما هذه المزامنة، الصق السر الجديد فيه يدويًا ثم أعد المزامنة. تعامل مع هذا السر مثل أي بيانات اعتماد أخرى: لا تضعه في رمز العميل أو السجلات أو إعدادات عميل تابع لجهة خارجية.
450
+
439
451
  ## الاستمرارية {#continuations}
440
452
 
441
453
  عندما يستدعي الوكيل نظير A2A البعيد الذي لا يعود على الفور، يقوم إطار العمل باستقصاء `tasks/get` حتى تستقر المهمة. ويتم توصيل ذلك عبر `A2AClient.sendAndWait`، وهو الوضع الافتراضي الذي يستخدمه مساعد `callAgent()`.
@@ -138,11 +138,11 @@ npx @agent-native/core@latest recap doctor
138
138
 
139
139
  خارج الواجهة الخلفية، يوجد متغيران في المستودع يضبطان _كيف_ يعمل الوكيل:
140
140
 
141
- - **`VISUAL_RECAP_MODEL`** يثبت النموذج الذي تم تمريره إلى CLI (`--model`) — على سبيل المثال `gpt-5.5` لـ Codex، أو معرف نموذج Claude. اتركه بدون ضبط لاستخدام النموذج الافتراضي الخاص بـ CLI.
141
+ - **`VISUAL_RECAP_MODEL`** يثبت النموذج الذي تم تمريره إلى CLI (`--model`) — على سبيل المثال `gpt-5.6-sol` لـ Codex، أو معرف نموذج Claude. اتركه بدون ضبط لاستخدام النموذج الافتراضي الخاص بـ CLI.
142
142
  - **`VISUAL_RECAP_REASONING`** يضبط عمق الاستدلال: `none` أو `minimal` أو `low` أو `medium` أو `high` أو `xhigh`. وينطبق ذلك على الواجهة الخلفية Codex؛ يعتمد منطق Claude على النموذج، لذلك يتم تجاهل هذا المتغير هناك.
143
143
  - **`VISUAL_RECAP_SKILL_SOURCE`** يتحكم في الحداثة السريعة: يستخدم `auto`/unset أحدث توجيهات المهارات المجمعة، بينما يتم تثبيت `repo` في مجلد مهارات `visual-recap` المحلي المخصص.
144
144
 
145
- على سبيل المثال، لتشغيل الملخص على Codex باستخدام GPT-5.5 عند المنطق العالي، قم بتعيين متغيرات المستودع `VISUAL_RECAP_AGENT=codex`، و`VISUAL_RECAP_MODEL=gpt-5.5`، و`VISUAL_RECAP_REASONING=high`.
145
+ على سبيل المثال، لتشغيل الملخص على Codex باستخدام GPT-5.6 Sol عند المنطق العالي، قم بتعيين متغيرات المستودع `VISUAL_RECAP_AGENT=codex`، و`VISUAL_RECAP_MODEL=gpt-5.6-sol`، و`VISUAL_RECAP_REASONING=high`.
146
146
 
147
147
  ## الأسرار والمتغيرات
148
148
 
@@ -191,7 +191,7 @@ npx @agent-native/core@latest recap setup
191
191
  | ------------------------ | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
192
192
  | `OPENAI_API_KEY` | — | سرية. اضبطه مع `VISUAL_RECAP_AGENT=codex` لتشغيل الخلاصة باستخدام Codex بدلاً من ذلك. |
193
193
  | `VISUAL_RECAP_AGENT` | `claude` | متغير. يحدد الواجهة الخلفية لعامل التشفير (`claude` أو `codex`). |
194
- | `VISUAL_RECAP_MODEL` | كل CLI الافتراضي | متغير. دبابيس النموذج - على سبيل المثال. `gpt-5.5` لـ Codex، أو معرف طراز Claude. يستخدم Unset الإعداد الافتراضي الخاص بـ CLI. |
194
+ | `VISUAL_RECAP_MODEL` | كل CLI الافتراضي | متغير. دبابيس النموذج - على سبيل المثال. `gpt-5.6-sol` لـ Codex، أو معرف طراز Claude. يستخدم Unset الإعداد الافتراضي الخاص بـ CLI. |
195
195
  | `VISUAL_RECAP_REASONING` | الإعداد الافتراضي لكل نموذج | متغير. عمق الاستدلال: `none`، أو `minimal`، أو `low`، أو `medium`، أو `high`، أو `xhigh`. ينطبق على الواجهة الخلفية Codex. |
196
196
  | `RECAP_CLI_VERSION` | `latest` | متغير. تثبيت إصدار `@agent-native/core` CLI الذي يقوم سير العمل بتثبيته - على سبيل المثال. `1.5.0`. انظر [Version pinning](#version-pinning-copy-variant). |
197
197
  | `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | سرية. فقط عند الاستضافة الذاتية لتطبيق الخطط على مصدر مختلف. |
@@ -68,6 +68,10 @@ Automation-first app هو Agent-Native app بلا متصفح من أجل schedul
68
68
 
69
69
  → [**Agent Surfaces — Headless agent**](/docs/agent-surfaces#headless)
70
70
 
71
+ ## أضف الدردشة لاحقاً {#add-chat-later}
72
+
73
+ يختار `--headless` السقالة الأولية فقط، ولا يوجد أمر `agent-native` يحوّل مشروعاً قائماً بلا واجهة إلى تطبيق دردشة في مكانه. عندما يحتاج الأشخاص إلى محادثة في المتصفح، استخدم [قالب Chat](/docs/template-chat) كمرجع للترحيل: احتفظ بالـ actions وبيانات SQL والتعليمات والمهارات، ثم أضف shell المتصفح وserver plugins و`<AgentChatSurface>` وplugin للدردشة يحمّل actions الحالية. تحقّق من `pnpm typecheck` ومن محادثة تستدعي action قائمة. استخدم `agent-native add` لمخططات التكامل، لا لهذا التحويل.
74
+
71
75
  ## ما هي الخطوة التالية
72
76
 
73
77
  - [**Agent Surfaces — Headless**](/docs/agent-surfaces#headless) — دليل القرار الكامل بدون رأس وAPIs
@@ -438,6 +438,18 @@ Diese Grenze ist wichtig, da die Agentenschleife Freiformeingaben von einem Remo
438
438
 
439
439
  Die JWT-Verifizierung (`verifyA2AToken` in `server.ts`) akzeptiert Token, die entweder mit dem globalen `A2A_SECRET` oder einem organisationsweiten Geheimnis signiert sind, das von SQL über den `org_domain`-Anspruch des Tokens gesucht wird, und erzwingt die eigenen `aud`/`iss`-Ansprüche des Tokens, sofern vorhanden.
440
440
 
441
+ ### Synchronisierung des Organisationsgeheimnisses {#organization-secret-sync}
442
+
443
+ Die Einstellung **Organisation → App-übergreifende Authentifizierung** verwaltet das organisationsweite Geheimnis, das die Delegation zwischen getrennt bereitgestellten Apps derselben Organisation authentifiziert. Sie ist keine Einstellung für die Benutzeranmeldung oder Cross-App SSO. Das Geheimnis ergänzt das `A2A_SECRET` der Bereitstellung: Ein A2A-JWT mit einem `org_domain`-Claim kann mit dem Geheimnis der passenden Organisation überprüft werden.
444
+
445
+ Der Organisationsinhaber sollte jeder teilnehmenden App dieselbe zulässige E-Mail-Domain und dasselbe organisationsweite Geheimnis geben:
446
+
447
+ 1. Generieren oder zeigen Sie in der ersten App das Geheimnis unter **Organisation → App-übergreifende Authentifizierung** an.
448
+ 2. Wählen Sie in jeder weiteren App **Geheimnis aus einer anderen App einfügen** und fügen Sie diesen Wert ein. Dieser manuelle Schritt ist für die erste Verbindung erforderlich: Eine App, die das Geheimnis noch nicht besitzt, kann eine entfernte Synchronisierungsanfrage nicht überprüfen.
449
+ 3. Sobald die Apps das Geheimnis teilen, verwenden Sie **Mit Apps synchronisieren**, um künftige Aktualisierungen an verbundene, erkannte Apps zu senden. Das Ergebnis nennt jede App, die nicht aktualisiert werden konnte.
450
+
451
+ Wenn Sie das Geheimnis **neu generieren**, synchronisiert die Einstellungsoberfläche es sofort und signiert die Aktualisierung mit dem vorherigen Geheimnis, damit bereits verbundene Apps die Änderung überprüfen können. Falls eine App diese Synchronisierung verpasst, fügen Sie dort das neue Geheimnis manuell ein und synchronisieren Sie erneut. Behandeln Sie dieses Geheimnis wie jede andere Anmeldeinformation: Verwenden Sie es nicht in Client-Code, Protokollen oder einer Client-Konfiguration eines Drittanbieters.
452
+
441
453
  ## Fortsetzungen {#continuations}
442
454
 
443
455
  Wenn ein Agent einen Remote-A2A-Peer anruft, der nicht sofort zurückkehrt, fragt das Framework `tasks/get` ab, bis die Aufgabe erledigt ist. Dies erfolgt über `A2AClient.sendAndWait`, den Standardmodus, der vom `callAgent()`-Helfer verwendet wird.
@@ -138,11 +138,11 @@ Wenn die Variable nicht gesetzt ist, verwendet die Aktion `claude`.
138
138
 
139
139
  Über das Backend hinaus optimieren zwei Repository-Variablen, _wie_ der Agent ausgeführt wird:
140
140
 
141
- - **`VISUAL_RECAP_MODEL`** pinnt das an CLI (`--model`) übergebene Modell – zum Beispiel `gpt-5.5` für Codex oder eine Claude-Modell-ID. Lassen Sie es deaktiviert, um das eigene Standardmodell des CLI zu verwenden.
141
+ - **`VISUAL_RECAP_MODEL`** pinnt das an CLI (`--model`) übergebene Modell – zum Beispiel `gpt-5.6-sol` für Codex oder eine Claude-Modell-ID. Lassen Sie es deaktiviert, um das eigene Standardmodell des CLI zu verwenden.
142
142
  - **`VISUAL_RECAP_REASONING`** legt die Argumentationstiefe fest: `none`, `minimal`, `low`, `medium`, `high` oder `xhigh`. Es gilt für das Codex-Backend; Die Argumentation von Claude ist modellgesteuert, daher wird diese Variable dort ignoriert.
143
143
  - **`VISUAL_RECAP_SKILL_SOURCE`** steuert die Aktualität der Eingabeaufforderung: `auto`/unset verwendet die neueste gebündelte Skill-Anleitung, während `repo` an den festgeschriebenen Repository-lokalen `visual-recap`-Skill-Ordner angeheftet wird.
144
144
 
145
- Um beispielsweise die Zusammenfassung auf Codex mit GPT-5.5 bei hoher Argumentation auszuführen, legen Sie die Repository-Variablen `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.5` und `VISUAL_RECAP_REASONING=high` fest.
145
+ Um beispielsweise die Zusammenfassung auf Codex mit GPT-5.6 Sol bei hoher Argumentation auszuführen, legen Sie die Repository-Variablen `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.6-sol` und `VISUAL_RECAP_REASONING=high` fest.
146
146
 
147
147
  ## Geheimnisse und Variablen
148
148
 
@@ -191,7 +191,7 @@ echtes Token.
191
191
  | ------------------------ | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
192
192
  | `OPENAI_API_KEY` | — | Geheimnis. Zusammen mit `VISUAL_RECAP_AGENT=codex` einstellen, um die Zusammenfassung stattdessen mit Codex auszuführen. |
193
193
  | `VISUAL_RECAP_AGENT` | `claude` | Variable. Wählt das Coding-Agent-Backend (`claude` oder `codex`) aus. |
194
- | `VISUAL_RECAP_MODEL` | die Standardeinstellung jedes CLI | Variable. Steckt das Modell fest – z.B. `gpt-5.5` für Codex oder eine Claude-Modell-ID. Unset verwendet die eigene Standardeinstellung von CLI. |
194
+ | `VISUAL_RECAP_MODEL` | die Standardeinstellung jedes CLI | Variable. Steckt das Modell fest – z.B. `gpt-5.6-sol` für Codex oder eine Claude-Modell-ID. Unset verwendet die eigene Standardeinstellung von CLI. |
195
195
  | `VISUAL_RECAP_REASONING` | Standardeinstellung jedes Modells | Variable. Argumentationstiefe: `none`, `minimal`, `low`, `medium`, `high` oder `xhigh`. Gilt für das Codex-Backend. |
196
196
  | `RECAP_CLI_VERSION` | `latest` | Variable. Pinnt die `@agent-native/core` CLI-Version, die der Workflow installiert – z. B. `1.5.0`. Siehe [Version pinning](#version-pinning-copy-variant). |
197
197
  | `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | Geheimnis. Nur beim Selbsthosten der Plans-App an einem anderen Ursprung. |
@@ -70,6 +70,10 @@ Die Box, das Gerüst, der Repo-Zugriff und die Lauffreigabe sind jetzt an einem
70
70
 
71
71
  → [**Agent Surfaces — Headless agent**](/docs/agent-surfaces#headless)
72
72
 
73
+ ## Chat später hinzufügen {#add-chat-later}
74
+
75
+ `--headless` wählt nur das anfängliche Scaffold; es gibt keinen `agent-native`-Befehl, der ein bestehendes action-only-Projekt direkt in eine Chat-App umwandelt. Wenn Menschen eine Browser-Unterhaltung brauchen, nutze das [Chat-Template](/docs/template-chat) als Migrationsreferenz: Behalte Actions, SQL-Daten, Anweisungen und Skills bei und übernimm Browser-Shell, Server-Plugins, `<AgentChatSurface>` sowie ein Chat-Plugin, das die vorhandenen Actions lädt. Prüfe `pnpm typecheck` und einen Chat-Turn, der eine vorhandene Action aufruft. `agent-native add` ist für Integrations-Blaupausen gedacht, nicht für diese Umwandlung.
76
+
73
77
  ## Was kommt als nächstes
74
78
 
75
79
  - [**Agent Surfaces — Headless**](/docs/agent-surfaces#headless) – der vollständige Headless-Entscheidungsleitfaden und APIs
@@ -438,6 +438,18 @@ Este límite es importante porque el bucle del agente acepta entradas de formato
438
438
 
439
439
  La verificación JWT (`verifyA2AToken` en `server.ts`) acepta tokens firmados con el `A2A_SECRET` global o con un secreto de ámbito de organización buscado desde SQL a través del reclamo `org_domain` del token, y aplica los reclamos `aud`/`iss` propios del token cuando están presentes.
440
440
 
441
+ ### Sincronización de secretos de la organización {#organization-secret-sync}
442
+
443
+ La configuración **Organización → Autenticación entre aplicaciones** administra el secreto con ámbito de organización que autentica la delegación entre aplicaciones implementadas por separado en la misma organización. No es una configuración de inicio de sesión de usuarios ni de Cross-App SSO. El secreto complementa el `A2A_SECRET` de la implementación: un JWT de A2A con una reclamación `org_domain` se puede verificar con el secreto de la organización correspondiente.
444
+
445
+ El propietario de la organización debe asignar a cada aplicación participante el mismo dominio de correo permitido y el mismo secreto con ámbito de organización:
446
+
447
+ 1. En la primera aplicación, genere o revele el secreto en **Organización → Autenticación entre aplicaciones**.
448
+ 2. En cada aplicación adicional, elija **Pegar secreto de otra aplicación** y pegue ese valor. Este paso manual es necesario para la primera conexión: una aplicación que aún no tiene el secreto no puede verificar una solicitud de sincronización remota.
449
+ 3. Cuando las aplicaciones compartan el secreto, use **Sincronizar con aplicaciones** para enviar futuras actualizaciones a las aplicaciones conectadas y detectadas. El resultado informa de cualquier aplicación que no se pudo actualizar.
450
+
451
+ Al **Regenerar** el secreto, la interfaz de configuración lo sincroniza de inmediato y firma la actualización con el secreto anterior para que las aplicaciones ya conectadas puedan verificar el cambio. Si una aplicación pierde esa sincronización, pegue allí el nuevo secreto manualmente y vuelva a sincronizar. Trate este secreto como cualquier otra credencial: no lo incluya en código del cliente, registros ni configuraciones de clientes de terceros.
452
+
441
453
  ## Continuaciones {#continuations}
442
454
 
443
455
  Cuando un agente llama a un par remoto A2A que no regresa inmediatamente, el marco sondea `tasks/get` hasta que la tarea se resuelve. Esto está conectado a través de `A2AClient.sendAndWait`, que es el modo predeterminado utilizado por el asistente `callAgent()`.
@@ -138,11 +138,11 @@ Si la variable no está configurada, la acción utiliza `claude`.
138
138
 
139
139
  Más allá del backend, dos variables del repositorio ajustan _cómo_ se ejecuta el agente:
140
140
 
141
- - **`VISUAL_RECAP_MODEL`** fija el modelo pasado al CLI (`--model`), por ejemplo, `gpt-5.5` para Codex o una identificación de modelo Claude. Déjelo sin configurar para usar el modelo predeterminado del CLI.
141
+ - **`VISUAL_RECAP_MODEL`** fija el modelo pasado al CLI (`--model`), por ejemplo, `gpt-5.6-sol` para Codex o una identificación de modelo Claude. Déjelo sin configurar para usar el modelo predeterminado del CLI.
142
142
  - **`VISUAL_RECAP_REASONING`** establece la profundidad del razonamiento: `none`, `minimal`, `low`, `medium`, `high` o `xhigh`. Se aplica al backend Codex; El razonamiento de Claude se basa en modelos, por lo que esta variable se ignora allí.
143
143
  - **`VISUAL_RECAP_SKILL_SOURCE`** controla la actualización de los mensajes: `auto`/unset utiliza la guía de habilidades incluida más reciente, mientras que `repo` se fija a la carpeta de habilidades `visual-recap` local del repositorio comprometido.
144
144
 
145
- Por ejemplo, para ejecutar el resumen en Codex con GPT-5.5 en razonamiento alto, configure las variables del repositorio `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.5` y `VISUAL_RECAP_REASONING=high`.
145
+ Por ejemplo, para ejecutar el resumen en Codex con GPT-5.6 Sol en razonamiento alto, configure las variables del repositorio `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.6-sol` y `VISUAL_RECAP_REASONING=high`.
146
146
 
147
147
  ## Secretos y variables
148
148
 
@@ -191,7 +191,7 @@ token real.
191
191
  | ------------------------ | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
192
192
  | `OPENAI_API_KEY` | — | Secreto. Configúrelo junto con `VISUAL_RECAP_AGENT=codex` para ejecutar el resumen con Codex. |
193
193
  | `VISUAL_RECAP_AGENT` | `claude` | Variable. Selecciona el backend del agente de codificación (`claude` o `codex`). |
194
- | `VISUAL_RECAP_MODEL` | el valor predeterminado de cada CLI | Variable. Fija el modelo, p.e. `gpt-5.5` para Codex, o una identificación de modelo Claude. Unset utiliza el valor predeterminado del CLI. |
194
+ | `VISUAL_RECAP_MODEL` | el valor predeterminado de cada CLI | Variable. Fija el modelo, p.e. `gpt-5.6-sol` para Codex, o una identificación de modelo Claude. Unset utiliza el valor predeterminado del CLI. |
195
195
  | `VISUAL_RECAP_REASONING` | valor predeterminado de cada modelo | Variable. Profundidad de razonamiento: `none`, `minimal`, `low`, `medium`, `high` o `xhigh`. Se aplica al backend Codex. |
196
196
  | `RECAP_CLI_VERSION` | `latest` | Variable. Fija la versión `@agent-native/core` CLI que instala el flujo de trabajo, p. `1.5.0`. Ver [Version pinning](#version-pinning-copy-variant). |
197
197
  | `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | Secreto. Solo cuando se aloja la aplicación Planes en un origen diferente. |
@@ -70,6 +70,10 @@ la caja, el andamio, el acceso al repositorio y el uso compartido de ejecuciones
70
70
 
71
71
  → [**Agent Surfaces — Headless agent**](/docs/agent-surfaces#headless)
72
72
 
73
+ ## Añade chat más adelante {#add-chat-later}
74
+
75
+ `--headless` solo elige el scaffold inicial; no hay un comando de `agent-native` que convierta en el sitio un proyecto existente solo de acciones en una app de chat. Cuando las personas necesiten una conversación en el navegador, usa la [plantilla Chat](/docs/template-chat) como referencia de migración: conserva las actions, los datos SQL, las instrucciones y las skills, y añade el shell del navegador, los plugins de servidor, `<AgentChatSurface>` y un plugin de chat que cargue las actions existentes. Comprueba `pnpm typecheck` y un turno de chat que llame una action existente. `agent-native add` es para planos de integración, no para esta conversión.
76
+
73
77
  ## ¿Qué sigue?
74
78
 
75
79
  - [**Agent Surfaces — Headless**](/docs/agent-surfaces#headless): la guía completa de decisiones sin cabeza y API
@@ -436,6 +436,18 @@ Cette limite est importante car la boucle d'agent accepte les entrées de forme
436
436
 
437
437
  La vérification JWT (`verifyA2AToken` dans `server.ts`) accepte les jetons signés soit avec le `A2A_SECRET` global, soit avec un secret d'organisation recherché à partir de SQL via la revendication `org_domain` du jeton, et applique les propres revendications `aud`/`iss` du jeton lorsqu'elles sont présentes.
438
438
 
439
+ ### Synchronisation du secret d'organisation {#organization-secret-sync}
440
+
441
+ Le réglage **Organisation → Authentification inter-applications** gère le secret défini au niveau de l'organisation qui authentifie la délégation entre des applications déployées séparément dans la même organisation. Il ne s'agit pas d'un réglage de connexion utilisateur ni de Cross-App SSO. Le secret complète l'`A2A_SECRET` du déploiement : un JWT A2A contenant une revendication `org_domain` peut être vérifié avec le secret de l'organisation correspondante.
442
+
443
+ Le propriétaire de l'organisation doit attribuer à chaque application participante le même domaine de messagerie autorisé et le même secret défini au niveau de l'organisation :
444
+
445
+ 1. Dans la première application, générez ou révélez le secret dans **Organisation → Authentification inter-applications**.
446
+ 2. Dans chaque application supplémentaire, choisissez **Coller le secret d'une autre application** et collez cette valeur. Cette étape manuelle est nécessaire pour la première connexion : une application qui ne possède pas encore le secret ne peut pas vérifier une demande de synchronisation distante.
447
+ 3. Une fois que les applications partagent le secret, utilisez **Synchroniser avec les applications** pour envoyer les mises à jour futures aux applications connectées et découvertes. Le résultat signale toute application qui n'a pas pu être mise à jour.
448
+
449
+ Lorsque vous **Régénérez** le secret, l'interface de réglages le synchronise immédiatement et signe la mise à jour avec le secret précédent afin que les applications déjà connectées puissent vérifier la modification. Si une application manque cette synchronisation, collez-y le nouveau secret manuellement, puis synchronisez à nouveau. Traitez ce secret comme toute autre information d'identification : ne le placez pas dans du code client, des journaux ou une configuration de client tiers.
450
+
439
451
  ## Suites {#continuations}
440
452
 
441
453
  Lorsqu'un agent appelle un homologue distant A2A qui ne revient pas immédiatement, l'infrastructure interroge `tasks/get` jusqu'à ce que la tâche soit réglée. Ceci est câblé via `A2AClient.sendAndWait`, qui est le mode par défaut utilisé par l'assistant `callAgent()`.
@@ -138,11 +138,11 @@ Si la variable n'est pas définie, l'action utilise `claude`.
138
138
 
139
139
  Au-delà du backend, deux variables du référentiel ajustent _comment_ l'agent s'exécute :
140
140
 
141
- - **`VISUAL_RECAP_MODEL`** épingle le modèle transmis au CLI (`--model`) — par exemple `gpt-5.5` pour Codex, ou un identifiant de modèle Claude. Laissez-le non défini pour utiliser le modèle par défaut du CLI.
141
+ - **`VISUAL_RECAP_MODEL`** épingle le modèle transmis au CLI (`--model`) — par exemple `gpt-5.6-sol` pour Codex, ou un identifiant de modèle Claude. Laissez-le non défini pour utiliser le modèle par défaut du CLI.
142
142
  - **`VISUAL_RECAP_REASONING`** définit la profondeur du raisonnement : `none`, `minimal`, `low`, `medium`, `high` ou `xhigh`. Cela s'applique au backend Codex ; Le raisonnement de Claude est basé sur un modèle, cette variable y est donc ignorée.
143
143
  - **`VISUAL_RECAP_SKILL_SOURCE`** contrôle la fraîcheur des invites : `auto`/unset utilise les dernières instructions de compétences groupées, tandis que `repo` s'épingle dans le dossier de compétences `visual-recap` local du dépôt validé.
144
144
 
145
- Par exemple, pour exécuter le récapitulatif sur Codex avec GPT-5.5 avec un raisonnement élevé, définissez les variables du référentiel `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.5` et `VISUAL_RECAP_REASONING=high`.
145
+ Par exemple, pour exécuter le récapitulatif sur Codex avec GPT-5.6 Sol avec un raisonnement élevé, définissez les variables du référentiel `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.6-sol` et `VISUAL_RECAP_REASONING=high`.
146
146
 
147
147
  ## Secrets et variables
148
148
 
@@ -191,7 +191,7 @@ vrai jeton.
191
191
  | ------------------------ | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
192
192
  | `OPENAI_API_KEY` | — | Secret. Configurez-le avec `VISUAL_RECAP_AGENT=codex` pour exécuter le récapitulatif avec Codex à la place. |
193
193
  | `VISUAL_RECAP_AGENT` | `claude` | Variable. Sélectionne le backend de l'agent de codage (`claude` ou `codex`). |
194
- | `VISUAL_RECAP_MODEL` | valeur par défaut de chaque CLI | Variable. Épingle le modèle - par ex. `gpt-5.5` pour Codex, ou un identifiant de modèle Claude. Unset utilise la valeur par défaut du CLI. |
194
+ | `VISUAL_RECAP_MODEL` | valeur par défaut de chaque CLI | Variable. Épingle le modèle - par ex. `gpt-5.6-sol` pour Codex, ou un identifiant de modèle Claude. Unset utilise la valeur par défaut du CLI. |
195
195
  | `VISUAL_RECAP_REASONING` | valeur par défaut de chaque modèle | Variable. Profondeur de raisonnement : `none`, `minimal`, `low`, `medium`, `high` ou `xhigh`. S'applique au backend Codex. |
196
196
  | `RECAP_CLI_VERSION` | `latest` | Variable. Épingle la version `@agent-native/core` CLI installée par le flux de travail, par ex. `1.5.0`. Voir [Version pinning](#version-pinning-copy-variant). |
197
197
  | `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | Secret. Uniquement lors de l'auto-hébergement de l'application Plans à une origine différente. |
@@ -68,6 +68,10 @@ la boîte, l'échafaudage, l'accès au dépôt et le partage d'exécution se tro
68
68
 
69
69
  → [**Agent Surfaces — Headless agent**](/docs/agent-surfaces#headless)
70
70
 
71
+ ## Ajouter le chat plus tard {#add-chat-later}
72
+
73
+ `--headless` choisit seulement le scaffold initial ; aucune commande `agent-native` ne convertit directement un projet existant fondé uniquement sur des actions en application de chat. Quand les personnes ont besoin d'une conversation dans le navigateur, utilisez le [modèle Chat](/docs/template-chat) comme référence de migration : conservez les actions, les données SQL, les instructions et les skills, puis ajoutez le shell navigateur, les plugins serveur, `<AgentChatSurface>` et un plugin de chat qui charge les actions existantes. Vérifiez `pnpm typecheck` et un tour de chat appelant une action existante. `agent-native add` sert aux blueprints d'intégration, pas à cette conversion.
74
+
71
75
  ## Quelle est la prochaine étape
72
76
 
73
77
  - [**Agent Surfaces — Headless**](/docs/agent-surfaces#headless) – le guide de décision complet sans tête et les API
@@ -436,6 +436,18 @@ const client = new A2AClient(url, process.env.A2A_API_KEY);
436
436
 
437
437
  JWT सत्यापन (`server.ts` में `verifyA2AToken`) वैश्विक `A2A_SECRET` या टोकन के `org_domain` दावे के माध्यम से SQL से देखे गए ऑर्ग-स्कोप्ड रहस्य के साथ हस्ताक्षरित टोकन स्वीकार करता है, और मौजूद होने पर टोकन के स्वयं के `aud`/`iss` दावों को लागू करता है।
438
438
 
439
+ ### संगठन सीक्रेट सिंक {#organization-secret-sync}
440
+
441
+ **संगठन → क्रॉस-ऐप प्रमाणीकरण** सेटिंग, एक ही संगठन में अलग-अलग डिप्लॉय किए गए ऐप्स के बीच डेलीगेशन को प्रमाणित करने वाले संगठन-स्कोप्ड सीक्रेट को प्रबंधित करती है। यह उपयोगकर्ता साइन-इन या Cross-App SSO सेटिंग नहीं है। यह सीक्रेट डिप्लॉयमेंट के `A2A_SECRET` का पूरक है: `org_domain` क्लेम वाला A2A JWT संबंधित संगठन के सीक्रेट से सत्यापित किया जा सकता है।
442
+
443
+ संगठन के मालिक को हर भाग लेने वाले ऐप को एक ही अनुमत ईमेल डोमेन और एक ही संगठन-स्कोप्ड सीक्रेट देना चाहिए:
444
+
445
+ 1. पहले ऐप में **संगठन → क्रॉस-ऐप प्रमाणीकरण** से सीक्रेट जनरेट या प्रकट करें।
446
+ 2. हर अतिरिक्त ऐप में **दूसरे ऐप से सीक्रेट पेस्ट करें** चुनें और वही मान पेस्ट करें। पहली कनेक्शन के लिए यह मैन्युअल चरण ज़रूरी है: जिस ऐप के पास अभी सीक्रेट नहीं है, वह दूरस्थ सिंक अनुरोध को सत्यापित नहीं कर सकता।
447
+ 3. ऐप्स द्वारा सीक्रेट साझा करने के बाद, जुड़े और खोजे गए ऐप्स पर भविष्य के अपडेट भेजने के लिए **ऐप्स में सिंक करें** का उपयोग करें। परिणाम उन ऐप्स की जानकारी देता है जिन्हें अपडेट नहीं किया जा सका।
448
+
449
+ जब आप सीक्रेट **पुनः जनरेट** करते हैं, सेटिंग्स UI उसे तुरंत सिंक करता है और पिछले सीक्रेट से अपडेट पर हस्ताक्षर करता है, ताकि पहले से जुड़े ऐप बदलाव सत्यापित कर सकें। यदि कोई ऐप उस सिंक से छूट जाए, तो वहाँ नया सीक्रेट मैन्युअल रूप से पेस्ट करके फिर से सिंक करें। इस सीक्रेट को किसी भी अन्य क्रेडेंशियल की तरह रखें: इसे क्लाइंट कोड, लॉग, या तीसरे-पक्ष की क्लाइंट कॉन्फ़िगरेशन में न रखें।
450
+
439
451
  ## निरंतरता {#continuations}
440
452
 
441
453
  जब कोई एजेंट किसी दूरस्थ A2A सहकर्मी को कॉल करता है जो तुरंत वापस नहीं आता है, तो कार्य पूरा होने तक फ्रेमवर्क `tasks/get` को पोल करता है। इसे `A2AClient.sendAndWait` के माध्यम से वायर्ड किया गया है, जो `callAgent()` हेल्पर द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट मोड है।
@@ -138,11 +138,11 @@ npx @agent-native/core@latest recap doctor
138
138
 
139
139
  बैकएंड से परे, दो रिपॉजिटरी वैरिएबल एजेंट को चलाने के तरीके को ट्यून करते हैं:
140
140
 
141
- - **`VISUAL_RECAP_MODEL`** मॉडल को CLI (`--model`) में पिन करता है - उदाहरण के लिए Codex के लिए `gpt-5.5`, या Claude मॉडल आईडी। CLI के अपने डिफ़ॉल्ट मॉडल का उपयोग करने के लिए इसे अनसेट छोड़ दें।
141
+ - **`VISUAL_RECAP_MODEL`** मॉडल को CLI (`--model`) में पिन करता है - उदाहरण के लिए Codex के लिए `gpt-5.6-sol`, या Claude मॉडल आईडी। CLI के अपने डिफ़ॉल्ट मॉडल का उपयोग करने के लिए इसे अनसेट छोड़ दें।
142
142
  - **`VISUAL_RECAP_REASONING`** तर्क की गहराई निर्धारित करता है: `none`, `minimal`, `low`, `medium`, `high`, या `xhigh`। यह Codex बैकएंड पर लागू होता है; Claude का तर्क मॉडल-चालित है, इसलिए इस चर को वहां नजरअंदाज कर दिया गया है।
143
143
  - **`VISUAL_RECAP_SKILL_SOURCE`** त्वरित ताजगी को नियंत्रित करता है: `auto`/unset नवीनतम बंडल कौशल मार्गदर्शन का उपयोग करता है, जबकि `repo` प्रतिबद्ध रेपो-स्थानीय `visual-recap` कौशल फ़ोल्डर में पिन करता है।
144
144
 
145
- उदाहरण के लिए, Codex पर GPT-5.5 के साथ उच्च तर्क पर रिकैप चलाने के लिए, रिपॉजिटरी वेरिएबल `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.5`, और `VISUAL_RECAP_REASONING=high` सेट करें।
145
+ उदाहरण के लिए, Codex पर GPT-5.6 Sol के साथ उच्च तर्क पर रिकैप चलाने के लिए, रिपॉजिटरी वेरिएबल `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.6-sol`, और `VISUAL_RECAP_REASONING=high` सेट करें।
146
146
 
147
147
  ## रहस्य और चर
148
148
 
@@ -191,7 +191,7 @@ npx @agent-native/core@latest recap setup
191
191
  | ------------------------ | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
192
192
  | `OPENAI_API_KEY` | — | गुप्त. इसके बजाय Codex के साथ रिकैप चलाने के लिए `VISUAL_RECAP_AGENT=codex` के साथ सेट करें। |
193
193
  | `VISUAL_RECAP_AGENT` | `claude` | परिवर्तनीय. कोडिंग-एजेंट बैकएंड (`claude` या `codex`) का चयन करता है। |
194
- | `VISUAL_RECAP_MODEL` | प्रत्येक CLI का डिफ़ॉल्ट | चर। मॉडल को पिन करें - उदा. Codex के लिए `gpt-5.5`, या Claude मॉडल आईडी। अनसेट CLI के स्वयं के डिफ़ॉल्ट का उपयोग करता है। |
194
+ | `VISUAL_RECAP_MODEL` | प्रत्येक CLI का डिफ़ॉल्ट | चर। मॉडल को पिन करें - उदा. Codex के लिए `gpt-5.6-sol`, या Claude मॉडल आईडी। अनसेट CLI के स्वयं के डिफ़ॉल्ट का उपयोग करता है। |
195
195
  | `VISUAL_RECAP_REASONING` | प्रत्येक मॉडल का डिफ़ॉल्ट | परिवर्तनीय. तर्क की गहराई: `none`, `minimal`, `low`, `medium`, `high`, या `xhigh`। Codex बैकएंड पर लागू होता है। |
196
196
  | `RECAP_CLI_VERSION` | `latest` | चर। वर्कफ़्लो इंस्टॉल होने पर `@agent-native/core` CLI संस्करण को पिन करें - उदाहरण के लिए `1.5.0`. [Version pinning](#version-pinning-copy-variant) देखें. |
197
197
  | `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | गुप्त. केवल तभी जब प्लान्स ऐप को किसी भिन्न मूल पर स्वयं-होस्ट किया जाए। |
@@ -68,6 +68,10 @@ Automation-first app scheduled jobs, queues, scripts, integration workers और
68
68
 
69
69
  → [**Agent Surfaces — Headless agent**](/docs/agent-surfaces#headless)
70
70
 
71
+ ## बाद में chat जोड़ें {#add-chat-later}
72
+
73
+ `--headless` केवल शुरुआती scaffold चुनता है; कोई `agent-native` command किसी मौजूदा action-only project को in-place chat app में नहीं बदलती। जब लोगों को browser conversation चाहिए, [Chat template](/docs/template-chat) को migration reference की तरह उपयोग करें: actions, SQL data, instructions और skills रखें, फिर browser shell, server plugins, `<AgentChatSurface>` और मौजूदा actions लोड करने वाला chat plugin जोड़ें। `pnpm typecheck` और एक ऐसा chat turn जाँचें जो किसी मौजूदा action को call करे। `agent-native add` integration blueprints के लिए है, इस conversion के लिए नहीं।
74
+
71
75
  ## आगे क्या है
72
76
 
73
77
  - [**Agent Surfaces — Headless**](/docs/agent-surfaces#headless) - पूर्ण नेतृत्वहीन निर्णय मार्गदर्शिका और APIs
@@ -436,6 +436,18 @@ const client = new A2AClient(url, process.env.A2A_API_KEY);
436
436
 
437
437
  JWT 検証 (`server.ts` の `verifyA2AToken`) は、グローバル `A2A_SECRET` またはトークンの `org_domain` クレームを介して SQL からルックアップされた組織スコープのシークレットで署名されたトークンを受け入れ、トークン独自の `aud`/`iss` クレームが存在する場合は強制します。
438
438
 
439
+ ### 組織シークレットの同期 {#organization-secret-sync}
440
+
441
+ **組織 → アプリ間認証** の設定は、同じ組織で別々にデプロイされたアプリ間の委任を認証する組織スコープのシークレットを管理します。これはユーザーのサインインや Cross-App SSO の設定ではありません。このシークレットはデプロイの `A2A_SECRET` を補完します。`org_domain` クレームを持つ A2A JWT は、対応する組織のシークレットで検証できます。
442
+
443
+ 組織の所有者は、参加するすべてのアプリに同じ許可済みメールドメインと同じ組織スコープのシークレットを設定する必要があります。
444
+
445
+ 1. 最初のアプリで、**組織 → アプリ間認証** からシークレットを生成または表示します。
446
+ 2. 追加の各アプリで **別のアプリからシークレットを貼り付ける** を選び、その値を貼り付けます。最初の接続にはこの手動手順が必要です。まだシークレットを持たないアプリは、リモート同期リクエストを検証できません。
447
+ 3. アプリがシークレットを共有したら、**アプリに同期** を使って接続済み・検出済みアプリに今後の更新を送信します。結果には更新できなかったアプリが表示されます。
448
+
449
+ シークレットを**再生成**すると、設定 UI はすぐに同期し、すでに接続されているアプリが変更を検証できるよう以前のシークレットで更新に署名します。アプリがこの同期に失敗した場合は、そこに新しいシークレットを手動で貼り付けてから、もう一度同期してください。このシークレットは他の認証情報と同様に扱い、クライアントコード、ログ、またはサードパーティ製クライアントの設定に入れないでください。
450
+
439
451
  ## 続き {#continuations}
440
452
 
441
453
  エージェントがすぐに返さないリモート A2A ピアを呼び出すと、フレームワークはタスクが完了するまで `tasks/get` をポーリングします。これは、`A2AClient.sendAndWait` を介して接続されます。これは、`callAgent()` ヘルパーによって使用されるデフォルト モードです。
@@ -138,11 +138,11 @@ npx @agent-native/core@latest recap doctor
138
138
 
139
139
  バックエンドを超えて、2 つのリポジトリ変数がエージェントの実行方法を調整します。
140
140
 
141
- - **`VISUAL_RECAP_MODEL`** は、CLI (`--model`) に渡されるモデルを固定します。たとえば、Codex の場合は `gpt-5.5`、または Claude モデル ID です。 CLI 独自のデフォルト モデルを使用するには、未設定のままにしておきます。
141
+ - **`VISUAL_RECAP_MODEL`** は、CLI (`--model`) に渡されるモデルを固定します。たとえば、Codex の場合は `gpt-5.6-sol`、または Claude モデル ID です。 CLI 独自のデフォルト モデルを使用するには、未設定のままにしておきます。
142
142
  - **`VISUAL_RECAP_REASONING`** は推論の深さを設定します: `none`、`minimal`、`low`、`medium`、`high`、または `xhigh`。これは Codex バックエンドに適用されます。 Claude の推論はモデル駆動型であるため、この変数は無視されます。
143
143
  - **`VISUAL_RECAP_SKILL_SOURCE`** はプロンプトの鮮度を制御します。`auto`/unset は最新のバンドルされたスキル ガイダンスを使用しますが、`repo` はコミットされたリポジトリのローカル `visual-recap` スキル フォルダーに固定されます。
144
144
 
145
- たとえば、GPT-5.5 を使用して Codex の要約を高度な推論で実行するには、リポジトリ変数 `VISUAL_RECAP_AGENT=codex`、`VISUAL_RECAP_MODEL=gpt-5.5`、および `VISUAL_RECAP_REASONING=high` を設定します。
145
+ たとえば、GPT-5.6 Sol を使用して Codex の要約を高度な推論で実行するには、リポジトリ変数 `VISUAL_RECAP_AGENT=codex`、`VISUAL_RECAP_MODEL=gpt-5.6-sol`、および `VISUAL_RECAP_REASONING=high` を設定します。
146
146
 
147
147
  ## シークレットと変数
148
148
 
@@ -191,7 +191,7 @@ npx @agent-native/core@latest recap setup
191
191
  | ------------------------ | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
192
192
  | `OPENAI_API_KEY` | — | 秘密。代わりに Codex で要約を実行するには、`VISUAL_RECAP_AGENT=codex` と一緒に設定します。 |
193
193
  | `VISUAL_RECAP_AGENT` | `claude` | 変数。コーディング エージェント バックエンド (`claude` または `codex`) を選択します。 |
194
- | `VISUAL_RECAP_MODEL` | 各 CLI のデフォルト | 変数。モデルを固定します — 例: Codex の場合は `gpt-5.5`、または Claude モデル ID。設定を解除すると、CLI 独自のデフォルトが使用されます。 |
194
+ | `VISUAL_RECAP_MODEL` | 各 CLI のデフォルト | 変数。モデルを固定します — 例: Codex の場合は `gpt-5.6-sol`、または Claude モデル ID。設定を解除すると、CLI 独自のデフォルトが使用されます。 |
195
195
  | `VISUAL_RECAP_REASONING` | 各モデルのデフォルト | 変数。推論の深さ: `none`、`minimal`、`low`、`medium`、`high`、または `xhigh`。 Codex バックエンドに適用されます。 |
196
196
  | `RECAP_CLI_VERSION` | `latest` | 変数。ワークフローがインストールする `@agent-native/core` CLI バージョンを固定します。 `1.5.0`。 [Version pinning](#version-pinning-copy-variant) を参照してください。 |
197
197
  | `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | 秘密。プラン アプリを別のオリジンで自己ホストする場合のみ。 |
@@ -68,6 +68,10 @@ Automation-first app は、scheduled jobs、queues、scripts、integration worke
68
68
 
69
69
  → [**Agent Surfaces — Headless agent**](/docs/agent-surfaces#headless)
70
70
 
71
+ ## 後からチャットを追加する {#add-chat-later}
72
+
73
+ `--headless` が選ぶのは初期 scaffold だけで、既存の action-only プロジェクトをその場で Chat アプリに変換する `agent-native` コマンドはありません。ブラウザーでの会話が必要になったら、移行の参照として [Chat template](/docs/template-chat) を使います。actions、SQL データ、instructions、skills は保持し、browser shell、server plugins、`<AgentChatSurface>`、既存 actions を読み込む chat plugin を追加してください。`pnpm typecheck` と既存 action を呼ぶ chat turn を確認します。`agent-native add` は integration blueprints 用であり、この変換用ではありません。
74
+
71
75
  ## 次は何ですか
72
76
 
73
77
  - [**Agent Surfaces — Headless**](/docs/agent-surfaces#headless) — 完全なヘッドレス意思決定ガイドと API
@@ -436,6 +436,18 @@ const client = new A2AClient(url, process.env.A2A_API_KEY);
436
436
 
437
437
  JWT 확인(`server.ts`의 `verifyA2AToken`)은 전역 `A2A_SECRET` 또는 토큰의 `org_domain` 클레임을 통해 SQL에서 조회된 조직 범위 비밀로 서명된 토큰을 허용하고 토큰의 자체 `aud`/`iss` 클레임이 있는 경우 이를 시행합니다.
438
438
 
439
+ ### 조직 시크릿 동기화 {#organization-secret-sync}
440
+
441
+ **조직 → 앱 간 인증** 설정은 같은 조직에서 별도로 배포된 앱 간 위임을 인증하는 조직 범위 시크릿을 관리합니다. 이는 사용자 로그인이나 Cross-App SSO 설정이 아닙니다. 이 시크릿은 배포의 `A2A_SECRET`를 보완합니다. `org_domain` 클레임이 있는 A2A JWT는 일치하는 조직의 시크릿으로 검증할 수 있습니다.
442
+
443
+ 조직 소유자는 참여하는 모든 앱에 동일한 허용 이메일 도메인과 동일한 조직 범위 시크릿을 제공해야 합니다.
444
+
445
+ 1. 첫 번째 앱에서 **조직 → 앱 간 인증**으로 이동해 시크릿을 생성하거나 표시합니다.
446
+ 2. 추가 앱마다 **다른 앱에서 시크릿 붙여넣기**를 선택하고 해당 값을 붙여넣습니다. 아직 시크릿이 없는 앱은 원격 동기화 요청을 검증할 수 없으므로, 첫 연결에는 이 수동 단계가 필요합니다.
447
+ 3. 앱이 시크릿을 공유한 후에는 **앱에 동기화**를 사용해 연결되고 검색된 앱으로 향후 업데이트를 보냅니다. 결과에는 업데이트할 수 없었던 앱이 표시됩니다.
448
+
449
+ 시크릿을 **재생성**하면 설정 UI가 즉시 동기화하고, 이미 연결된 앱이 변경을 검증할 수 있도록 이전 시크릿으로 업데이트에 서명합니다. 어떤 앱이 이 동기화를 놓쳤다면 새 시크릿을 수동으로 붙여넣고 다시 동기화하세요. 이 시크릿은 다른 자격 증명과 마찬가지로 취급하세요. 클라이언트 코드, 로그 또는 타사 클라이언트 구성에 넣지 마세요.
450
+
439
451
  ## 계속 {#continuations}
440
452
 
441
453
  에이전트가 즉시 반환되지 않는 원격 A2A 피어를 호출하면 프레임워크는 작업이 완료될 때까지 `tasks/get`를 폴링합니다. 이는 `callAgent()` 도우미가 사용하는 기본 모드인 `A2AClient.sendAndWait`를 통해 연결됩니다.
@@ -138,11 +138,11 @@ env 또는 로컬 계획에서 값을 사용할 수 있는 경우 비밀/변수
138
138
 
139
139
  백엔드 외에도 두 개의 저장소 변수가 에이전트 실행 *방법*을 조정합니다.
140
140
 
141
- - **`VISUAL_RECAP_MODEL`**는 CLI(`--model`)에 전달된 모델을 고정합니다. 예를 들어 Codex의 경우 `gpt-5.5` 또는 Claude 모델 ID입니다. CLI 자체 기본 모델을 사용하려면 설정하지 않은 상태로 두세요.
141
+ - **`VISUAL_RECAP_MODEL`**는 CLI(`--model`)에 전달된 모델을 고정합니다. 예를 들어 Codex의 경우 `gpt-5.6-sol` 또는 Claude 모델 ID입니다. CLI 자체 기본 모델을 사용하려면 설정하지 않은 상태로 두세요.
142
142
  - **`VISUAL_RECAP_REASONING`**는 추론 깊이를 `none`, `minimal`, `low`, `medium`, `high` 또는 `xhigh`로 설정합니다. 이는 Codex 백엔드에 적용됩니다. Claude의 추론은 모델 중심이므로 이 변수는 무시됩니다.
143
143
  - **`VISUAL_RECAP_SKILL_SOURCE`**는 프롬프트 최신성을 제어합니다. `auto`/unset은 최신 번들 기술 지침을 사용하고 `repo`는 커밋된 저장소 로컬 `visual-recap` 기술 폴더에 고정합니다.
144
144
 
145
- 예를 들어 GPT-5.5를 사용하여 Codex에 대한 요약을 실행하려면 저장소 변수 `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.5` 및 `VISUAL_RECAP_REASONING=high`를 설정하세요.
145
+ 예를 들어 GPT-5.6 Sol를 사용하여 Codex에 대한 요약을 실행하려면 저장소 변수 `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.6-sol` 및 `VISUAL_RECAP_REASONING=high`를 설정하세요.
146
146
 
147
147
  ## 비밀 및 변수
148
148
 
@@ -191,7 +191,7 @@ npx @agent-native/core@latest recap setup
191
191
  | ------------------------ | ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
192
192
  | `OPENAI_API_KEY` | — | 비밀. 대신 Codex로 요약을 실행하려면 `VISUAL_RECAP_AGENT=codex`와 함께 설정하세요. |
193
193
  | `VISUAL_RECAP_AGENT` | `claude` | 변수. 코딩 에이전트 백엔드(`claude` 또는 `codex`)를 선택합니다. |
194
- | `VISUAL_RECAP_MODEL` | 각 CLI의 기본값 | 변수입니다. 모델을 고정합니다. Codex의 경우 `gpt-5.5` 또는 Claude 모델 ID입니다. Unset은 CLI 자체 기본값을 사용합니다. |
194
+ | `VISUAL_RECAP_MODEL` | 각 CLI의 기본값 | 변수입니다. 모델을 고정합니다. Codex의 경우 `gpt-5.6-sol` 또는 Claude 모델 ID입니다. Unset은 CLI 자체 기본값을 사용합니다. |
195
195
  | `VISUAL_RECAP_REASONING` | 각 모델의 기본값 | 변수입니다. 추론 깊이: `none`, `minimal`, `low`, `medium`, `high` 또는 `xhigh`. Codex 백엔드에 적용됩니다. |
196
196
  | `RECAP_CLI_VERSION` | `latest` | 변수입니다. 워크플로가 설치하는 `@agent-native/core` CLI 버전을 고정합니다. `1.5.0`. [Version pinning](#version-pinning-copy-variant)를 참조하세요. |
197
197
  | `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | 비밀. 다른 출처에서 Plans 앱을 자체 호스팅하는 경우에만 해당됩니다. |
@@ -66,6 +66,10 @@ Automation-first app은 scheduled jobs, queues, scripts, integration workers, ex
66
66
 
67
67
  → [**Agent Surfaces — Headless agent**](/docs/agent-surfaces#headless)
68
68
 
69
+ ## 나중에 채팅 추가하기 {#add-chat-later}
70
+
71
+ `--headless`는 초기 scaffold만 선택하며, 기존 action-only 프로젝트를 제자리에서 Chat 앱으로 변환하는 `agent-native` 명령은 없습니다. 브라우저 대화가 필요해지면 [Chat 템플릿](/docs/template-chat)을 마이그레이션 기준으로 사용하세요. actions, SQL 데이터, instructions, skills를 유지하고 browser shell, server plugins, `<AgentChatSurface>`, 기존 actions를 로드하는 chat plugin을 추가합니다. `pnpm typecheck`와 기존 action을 호출하는 chat turn을 확인하세요. `agent-native add`는 이 변환이 아니라 integration blueprints용입니다.
72
+
69
73
  ## 다음 단계
70
74
 
71
75
  - [**Agent Surfaces — Headless**](/docs/agent-surfaces#headless) — 전체 헤드리스 의사 결정 가이드 및 API
@@ -438,6 +438,18 @@ Esse limite é importante porque o loop do agente aceita entrada de formato livr
438
438
 
439
439
  A verificação JWT (`verifyA2AToken` em `server.ts`) aceita tokens assinados com o `A2A_SECRET` global ou com um segredo no escopo da organização consultado em SQL por meio da declaração `org_domain` do token e impõe as declarações `aud`/`iss` do próprio token, quando presentes.
440
440
 
441
+ ### Sincronização do segredo da organização {#organization-secret-sync}
442
+
443
+ A configuração **Organização → Autenticação entre aplicativos** gerencia o segredo com escopo da organização que autentica a delegação entre aplicativos implantados separadamente na mesma organização. Não é uma configuração de login de usuário nem de Cross-App SSO. O segredo complementa o `A2A_SECRET` da implantação: um JWT A2A com uma declaração `org_domain` pode ser verificado com o segredo da organização correspondente.
444
+
445
+ O proprietário da organização deve dar a cada aplicativo participante o mesmo domínio de e-mail permitido e o mesmo segredo com escopo da organização:
446
+
447
+ 1. No primeiro aplicativo, gere ou revele o segredo em **Organização → Autenticação entre aplicativos**.
448
+ 2. Em cada aplicativo adicional, escolha **Colar segredo de outro aplicativo** e cole esse valor. Essa etapa manual é necessária para a primeira conexão: um aplicativo que ainda não possui o segredo não pode verificar uma solicitação de sincronização remota.
449
+ 3. Quando os aplicativos compartilharem o segredo, use **Sincronizar com aplicativos** para enviar atualizações futuras aos aplicativos conectados e descobertos. O resultado informa qualquer aplicativo que não pôde ser atualizado.
450
+
451
+ Ao **Regenerar** o segredo, a interface de configurações o sincroniza imediatamente e assina a atualização com o segredo anterior para que aplicativos já conectados possam verificar a mudança. Se um aplicativo perder essa sincronização, cole o novo segredo nele manualmente e sincronize novamente. Trate esse segredo como qualquer outra credencial: não o coloque em código do cliente, logs ou configuração de cliente de terceiros.
452
+
441
453
  ## Continuações {#continuations}
442
454
 
443
455
  Quando um agente chama um peer A2A remoto que não retorna imediatamente, a estrutura pesquisa `tasks/get` até que a tarefa seja resolvida. Isso é conectado por meio de `A2AClient.sendAndWait`, que é o modo padrão usado pelo auxiliar `callAgent()`.
@@ -138,11 +138,11 @@ Se a variável não estiver definida, a ação usará `claude`.
138
138
 
139
139
  Além do back-end, duas variáveis de repositório ajustam _como_ o agente é executado:
140
140
 
141
- - **`VISUAL_RECAP_MODEL`** fixa o modelo passado para CLI (`--model`) — por exemplo, `gpt-5.5` para Codex ou um ID de modelo Claude. Deixe-o desativado para usar o modelo padrão do próprio CLI.
141
+ - **`VISUAL_RECAP_MODEL`** fixa o modelo passado para CLI (`--model`) — por exemplo, `gpt-5.6-sol` para Codex ou um ID de modelo Claude. Deixe-o desativado para usar o modelo padrão do próprio CLI.
142
142
  - **`VISUAL_RECAP_REASONING`** define a profundidade do raciocínio: `none`, `minimal`, `low`, `medium`, `high` ou `xhigh`. Aplica-se ao backend Codex; O raciocínio de Claude é baseado em modelo, então esta variável é ignorada lá.
143
143
  - **`VISUAL_RECAP_SKILL_SOURCE`** controla a atualização do prompt: `auto`/unset usa o pacote de orientação de habilidades mais recente, enquanto `repo` fixa-se à pasta de habilidades `visual-recap` do repositório local confirmado.
144
144
 
145
- Por exemplo, para executar a recapitulação em Codex com GPT-5.5 com raciocínio alto, defina as variáveis de repositório `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.5` e `VISUAL_RECAP_REASONING=high`.
145
+ Por exemplo, para executar a recapitulação em Codex com GPT-5.6 Sol com raciocínio alto, defina as variáveis de repositório `VISUAL_RECAP_AGENT=codex`, `VISUAL_RECAP_MODEL=gpt-5.6-sol` e `VISUAL_RECAP_REASONING=high`.
146
146
 
147
147
  ## Segredos e variáveis
148
148
 
@@ -191,7 +191,7 @@ token real.
191
191
  | ------------------------ | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
192
192
  | `OPENAI_API_KEY` | — | Segredo. Defina junto com `VISUAL_RECAP_AGENT=codex` para executar a recapitulação com Codex. |
193
193
  | `VISUAL_RECAP_AGENT` | `claude` | Variável. Seleciona o back-end do agente de codificação (`claude` ou `codex`). |
194
- | `VISUAL_RECAP_MODEL` | padrão de cada CLI | Variável. Fixa o modelo - por ex. `gpt-5.5` para Codex ou um ID de modelo Claude. Unset usa o próprio padrão do CLI. |
194
+ | `VISUAL_RECAP_MODEL` | padrão de cada CLI | Variável. Fixa o modelo - por ex. `gpt-5.6-sol` para Codex ou um ID de modelo Claude. Unset usa o próprio padrão do CLI. |
195
195
  | `VISUAL_RECAP_REASONING` | padrão de cada modelo | Variável. Profundidade de raciocínio: `none`, `minimal`, `low`, `medium`, `high` ou `xhigh`. Aplica-se ao back-end Codex. |
196
196
  | `RECAP_CLI_VERSION` | `latest` | Variável. Fixa a versão `@agent-native/core` CLI que o fluxo de trabalho instala - por exemplo. `1.5.0`. Consulte [Version pinning](#version-pinning-copy-variant). |
197
197
  | `PLAN_RECAP_APP_URL` | `https://plan.agent-native.com` | Segredo. Somente ao auto-hospedar o aplicativo Planos em uma origem diferente. |
@@ -68,6 +68,10 @@ a caixa, o scaffold, o acesso ao repositório e o compartilhamento de execução
68
68
 
69
69
  → [**Agent Surfaces — Headless agent**](/docs/agent-surfaces#headless)
70
70
 
71
+ ## Adicione chat depois {#add-chat-later}
72
+
73
+ `--headless` escolhe somente o scaffold inicial; não há um comando `agent-native` que converta no lugar um projeto existente apenas com actions em um app de chat. Quando as pessoas precisarem de uma conversa no navegador, use o [template Chat](/docs/template-chat) como referência de migração: mantenha as actions, os dados SQL, as instructions e as skills e adicione o shell do navegador, os server plugins, `<AgentChatSurface>` e um chat plugin que carregue as actions existentes. Verifique `pnpm typecheck` e um turno de chat que chame uma action existente. `agent-native add` é para integration blueprints, não para essa conversão.
74
+
71
75
  ## O que vem a seguir
72
76
 
73
77
  - [**Agent Surfaces — Headless**](/docs/agent-surfaces#headless) — o guia completo de decisão sem cabeça e APIs
@@ -436,6 +436,18 @@ const client = new A2AClient(url, process.env.A2A_API_KEY);
436
436
 
437
437
  JWT 验证(`server.ts` 中的 `verifyA2AToken`)接受使用全局 `A2A_SECRET` 或通过令牌的 `org_domain` 声明从 SQL 查找的组织范围秘密签名的令牌,并在存在时强制执行令牌自己的 `aud`/`iss` 声明。
438
438
 
439
+ ### 组织密钥同步 {#organization-secret-sync}
440
+
441
+ **组织 → 跨应用身份验证**设置管理组织范围的密钥,用于验证同一组织中单独部署的应用之间的委派。它不是用户登录或 Cross-App SSO 设置。该密钥补充部署的 `A2A_SECRET`:带有 `org_domain` 声明的 A2A JWT 可以使用匹配组织的密钥验证。
442
+
443
+ 组织所有者应为每个参与的应用提供相同的允许电子邮件域和相同的组织范围密钥:
444
+
445
+ 1. 在第一个应用中,从**组织 → 跨应用身份验证**生成或显示密钥。
446
+ 2. 在每个其他应用中,选择**从另一个应用粘贴密钥**并粘贴该值。首次连接必须执行这一步:尚未拥有该密钥的应用无法验证远程同步请求。
447
+ 3. 应用共享该密钥后,使用**同步到应用**将后续更新推送到已连接且已发现的应用。结果会报告无法更新的应用。
448
+
449
+ 当您**重新生成**密钥时,设置 UI 会立即同步它,并使用之前的密钥对更新签名,以便已连接的应用可以验证该更改。如果某个应用错过该同步,请在其中手动粘贴新密钥,然后再次同步。请像对待任何其他凭据一样对待此密钥:不要将它放入客户端代码、日志或第三方客户端配置中。
450
+
439
451
  ## 继续 {#continuations}
440
452
 
441
453
  当代理调用未立即返回的远程 A2A 对等点时,框架会轮询 `tasks/get` 直到任务解决。这是通过 `A2AClient.sendAndWait` 连接的,这是 `callAgent()` 帮助程序使用的默认模式。