@agent-native/core 0.99.2 → 0.100.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 (381) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +21 -0
  3. package/corpus/core/docs/content/a2a-protocol.mdx +42 -0
  4. package/corpus/core/docs/content/agent-surfaces.mdx +43 -0
  5. package/corpus/core/docs/content/external-agents.mdx +11 -0
  6. package/corpus/core/docs/content/locales/ar-SA/a2a-protocol.mdx +42 -0
  7. package/corpus/core/docs/content/locales/ar-SA/agent-surfaces.mdx +30 -0
  8. package/corpus/core/docs/content/locales/ar-SA/external-agents.mdx +9 -0
  9. package/corpus/core/docs/content/locales/de-DE/a2a-protocol.mdx +42 -0
  10. package/corpus/core/docs/content/locales/de-DE/agent-surfaces.mdx +34 -0
  11. package/corpus/core/docs/content/locales/de-DE/external-agents.mdx +10 -0
  12. package/corpus/core/docs/content/locales/es-ES/a2a-protocol.mdx +42 -0
  13. package/corpus/core/docs/content/locales/es-ES/agent-surfaces.mdx +34 -0
  14. package/corpus/core/docs/content/locales/es-ES/external-agents.mdx +10 -0
  15. package/corpus/core/docs/content/locales/fr-FR/a2a-protocol.mdx +42 -0
  16. package/corpus/core/docs/content/locales/fr-FR/agent-surfaces.mdx +34 -0
  17. package/corpus/core/docs/content/locales/fr-FR/external-agents.mdx +11 -0
  18. package/corpus/core/docs/content/locales/hi-IN/a2a-protocol.mdx +42 -0
  19. package/corpus/core/docs/content/locales/hi-IN/agent-surfaces.mdx +31 -0
  20. package/corpus/core/docs/content/locales/hi-IN/external-agents.mdx +9 -0
  21. package/corpus/core/docs/content/locales/ja-JP/a2a-protocol.mdx +42 -0
  22. package/corpus/core/docs/content/locales/ja-JP/agent-surfaces.mdx +32 -0
  23. package/corpus/core/docs/content/locales/ja-JP/external-agents.mdx +10 -0
  24. package/corpus/core/docs/content/locales/ko-KR/a2a-protocol.mdx +42 -0
  25. package/corpus/core/docs/content/locales/ko-KR/agent-surfaces.mdx +32 -0
  26. package/corpus/core/docs/content/locales/ko-KR/external-agents.mdx +9 -0
  27. package/corpus/core/docs/content/locales/pt-BR/a2a-protocol.mdx +42 -0
  28. package/corpus/core/docs/content/locales/pt-BR/agent-surfaces.mdx +33 -0
  29. package/corpus/core/docs/content/locales/pt-BR/external-agents.mdx +10 -0
  30. package/corpus/core/docs/content/locales/zh-CN/a2a-protocol.mdx +42 -0
  31. package/corpus/core/docs/content/locales/zh-CN/agent-surfaces.mdx +29 -0
  32. package/corpus/core/docs/content/locales/zh-CN/external-agents.mdx +8 -0
  33. package/corpus/core/docs/content/locales/zh-TW/a2a-protocol.mdx +42 -0
  34. package/corpus/core/docs/content/locales/zh-TW/agent-surfaces.mdx +29 -0
  35. package/corpus/core/docs/content/locales/zh-TW/external-agents.mdx +8 -0
  36. package/corpus/core/package.json +1 -1
  37. package/corpus/core/src/agent/context-xray/actions/context-evict.ts +11 -0
  38. package/corpus/core/src/agent/context-xray/actions/context-pin.ts +11 -0
  39. package/corpus/core/src/agent/context-xray/actions/context-preview-get.ts +134 -0
  40. package/corpus/core/src/agent/context-xray/actions/context-restore.ts +11 -0
  41. package/corpus/core/src/agent/context-xray/actions/errors.ts +20 -0
  42. package/corpus/core/src/agent/context-xray/manifest.ts +106 -7
  43. package/corpus/core/src/agent/engine/context-directives-transform.ts +5 -1
  44. package/corpus/core/src/agent/production-agent.ts +100 -38
  45. package/corpus/core/src/agent/run-loop-with-resume.ts +7 -2
  46. package/corpus/core/src/client/AgentPanel.tsx +35 -8
  47. package/corpus/core/src/client/agent-page/AgentContextTab.tsx +501 -0
  48. package/corpus/core/src/client/agent-page/AgentJobsTab.tsx +370 -0
  49. package/corpus/core/src/client/agent-page/AgentTabsPage.tsx +1084 -0
  50. package/corpus/core/src/client/agent-page/types.ts +18 -0
  51. package/corpus/core/src/client/agent-page/use-jobs.ts +150 -0
  52. package/corpus/core/src/client/context-xray/ContextMeter.tsx +22 -5
  53. package/corpus/core/src/client/context-xray/ContextTreemap.tsx +16 -1
  54. package/corpus/core/src/client/context-xray/ContextXRayPanel.tsx +168 -3
  55. package/corpus/core/src/client/context-xray/format.ts +6 -0
  56. package/corpus/core/src/client/index.ts +6 -0
  57. package/corpus/core/src/client/resources/ResourcesPanel.tsx +51 -23
  58. package/corpus/core/src/client/settings/AutomationsSection.tsx +407 -387
  59. package/corpus/core/src/jobs/actions/list-recurring-jobs.ts +105 -0
  60. package/corpus/core/src/jobs/actions/manage-recurring-job.ts +85 -0
  61. package/corpus/core/src/jobs/tools.ts +1 -1
  62. package/corpus/core/src/localization/default-messages.ts +110 -0
  63. package/corpus/core/src/mcp/build-server.ts +1 -0
  64. package/corpus/core/src/mcp/connect-route.ts +62 -65
  65. package/corpus/core/src/server/action-discovery.ts +23 -0
  66. package/corpus/core/src/server/agent-chat/prompt-resources.ts +174 -2
  67. package/corpus/core/src/server/agent-chat-plugin.ts +175 -2
  68. package/corpus/core/src/server/auth.ts +1 -7
  69. package/corpus/core/src/server/google-oauth.ts +1 -7
  70. package/corpus/core/src/server/workspace-oauth.ts +31 -0
  71. package/corpus/core/src/shared/context-xray.ts +84 -1
  72. package/corpus/core/src/shared/mcp-connect-content.ts +130 -0
  73. package/corpus/core/src/templates/default/app/routes/_index.tsx +11 -0
  74. package/corpus/core/src/templates/default/app/routes/agent.tsx +33 -0
  75. package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +6 -0
  76. package/corpus/core/src/templates/workspace-core/.agents/skills/agent-page/SKILL.md +59 -0
  77. package/corpus/core/src/templates/workspace-core/.agents/skills/context-xray/SKILL.md +25 -0
  78. package/corpus/core/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +7 -0
  79. package/corpus/core/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +9 -0
  80. package/corpus/core/src/triggers/actions/list-automations.ts +99 -0
  81. package/corpus/core/src/triggers/actions/manage-automation.ts +78 -0
  82. package/corpus/templates/analytics/actions/data-source-status.ts +33 -15
  83. package/corpus/templates/analytics/actions/query-agent-native-analytics.ts +1 -1
  84. package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +149 -24
  85. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +17 -0
  86. package/corpus/templates/analytics/app/components/layout/Header.tsx +1 -0
  87. package/corpus/templates/analytics/app/components/layout/Layout.tsx +1 -0
  88. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +8 -0
  89. package/corpus/templates/analytics/app/i18n/zh-TW.ts +1 -0
  90. package/corpus/templates/analytics/app/i18n-data.ts +1 -0
  91. package/corpus/templates/analytics/app/routes/agent.tsx +5 -0
  92. package/corpus/templates/analytics/changelog/2026-07-13-a-full-agent-page-now-brings-context-files-connections-jobs-.md +6 -0
  93. package/corpus/templates/analytics/changelog/2026-07-13-analytics-answers-can-use-built-in-first-party-event-data.md +6 -0
  94. package/corpus/templates/analytics/changelog/2026-07-13-chart-legends-can-filter-to-one-series-or-hide-a-series-on-h.md +6 -0
  95. package/corpus/templates/analytics/changelog/2026-07-13-gpt-5-6-luna-answers-now-recover-normally-instead-of-showing.md +6 -0
  96. package/corpus/templates/analytics/server/plugins/agent-chat.ts +11 -2
  97. package/corpus/templates/assets/app/components/layout/Header.tsx +1 -0
  98. package/corpus/templates/assets/app/components/layout/Layout.tsx +1 -0
  99. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +2 -0
  100. package/corpus/templates/assets/app/routes/agent.tsx +5 -0
  101. package/corpus/templates/assets/changelog/2026-07-13-a-full-agent-page-now-brings-context-files-connections-jobs-.md +6 -0
  102. package/corpus/templates/brain/app/components/layout/Layout.tsx +1 -0
  103. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +4 -1
  104. package/corpus/templates/brain/app/lib/brain.ts +11 -0
  105. package/corpus/templates/brain/app/root.tsx +15 -1
  106. package/corpus/templates/brain/app/routes/agent.tsx +11 -0
  107. package/corpus/templates/brain/changelog/2026-07-13-a-full-agent-page-now-brings-context-files-connections-jobs-.md +6 -0
  108. package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +1 -0
  109. package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +2 -0
  110. package/corpus/templates/calendar/app/root.tsx +17 -1
  111. package/corpus/templates/calendar/app/routes/_app.agent.tsx +25 -0
  112. package/corpus/templates/calendar/changelog/2026-07-13-a-full-agent-page-now-brings-context-files-connections-jobs-.md +6 -0
  113. package/corpus/templates/chat/app/components/layout/Header.tsx +1 -0
  114. package/corpus/templates/chat/app/components/layout/Layout.tsx +1 -0
  115. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +7 -0
  116. package/corpus/templates/chat/app/hooks/use-navigation-state.ts +3 -0
  117. package/corpus/templates/chat/app/root.tsx +24 -2
  118. package/corpus/templates/chat/app/routes/agent.tsx +15 -0
  119. package/corpus/templates/chat/changelog/2026-07-13-a-full-agent-page-now-brings-context-files-connections-jobs-.md +6 -0
  120. package/corpus/templates/clips/app/components/library/library-layout.tsx +8 -0
  121. package/corpus/templates/clips/app/i18n/ar-SA.ts +2 -0
  122. package/corpus/templates/clips/app/i18n/de-DE.ts +2 -0
  123. package/corpus/templates/clips/app/i18n/en-US.ts +2 -0
  124. package/corpus/templates/clips/app/i18n/es-ES.ts +2 -0
  125. package/corpus/templates/clips/app/i18n/fr-FR.ts +2 -0
  126. package/corpus/templates/clips/app/i18n/hi-IN.ts +2 -0
  127. package/corpus/templates/clips/app/i18n/ja-JP.ts +2 -0
  128. package/corpus/templates/clips/app/i18n/ko-KR.ts +2 -0
  129. package/corpus/templates/clips/app/i18n/pt-BR.ts +2 -0
  130. package/corpus/templates/clips/app/i18n/zh-CN.ts +2 -0
  131. package/corpus/templates/clips/app/i18n/zh-TW.ts +2 -0
  132. package/corpus/templates/clips/app/root.tsx +7 -1
  133. package/corpus/templates/clips/app/routes/_app.agent.tsx +15 -0
  134. package/corpus/templates/clips/changelog/2026-07-13-new-agent-page-see-and-manage-your-agent-s-context-files-con.md +6 -0
  135. package/corpus/templates/content/app/components/layout/Layout.tsx +1 -0
  136. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +36 -0
  137. package/corpus/templates/content/app/i18n/zh-TW.ts +2 -0
  138. package/corpus/templates/content/app/i18n-data.ts +44 -6
  139. package/corpus/templates/content/app/root.tsx +8 -0
  140. package/corpus/templates/content/app/routes/_app.agent.tsx +15 -0
  141. package/corpus/templates/content/changelog/2026-07-13-new-agent-page-see-and-manage-your-agent-s-context-files-con.md +6 -0
  142. package/corpus/templates/design/app/components/layout/Layout.tsx +1 -0
  143. package/corpus/templates/design/app/components/layout/Sidebar.tsx +2 -0
  144. package/corpus/templates/design/app/i18n/zh-TW.ts +2 -0
  145. package/corpus/templates/design/app/i18n-data.ts +20 -0
  146. package/corpus/templates/design/app/root.tsx +7 -1
  147. package/corpus/templates/design/app/routes/agent.tsx +15 -0
  148. package/corpus/templates/design/changelog/2026-07-13-new-agent-page-see-and-manage-your-agent-s-context-files-con.md +6 -0
  149. package/corpus/templates/dispatch/app/dispatch-extensions.tsx +10 -1
  150. package/corpus/templates/dispatch/app/i18n/zh-TW.ts +2 -0
  151. package/corpus/templates/dispatch/app/i18n-data.ts +20 -0
  152. package/corpus/templates/dispatch/app/root.tsx +7 -2
  153. package/corpus/templates/dispatch/app/routes/agent.tsx +18 -0
  154. package/corpus/templates/dispatch/changelog/2026-07-13-new-agent-page-see-and-manage-your-agent-s-context-files-con.md +6 -0
  155. package/corpus/templates/forms/app/components/layout/Layout.tsx +1 -0
  156. package/corpus/templates/forms/app/components/layout/Sidebar.tsx +35 -0
  157. package/corpus/templates/forms/app/i18n/ar-SA.ts +2 -0
  158. package/corpus/templates/forms/app/i18n/de-DE.ts +2 -0
  159. package/corpus/templates/forms/app/i18n/en-US.ts +2 -0
  160. package/corpus/templates/forms/app/i18n/es-ES.ts +2 -0
  161. package/corpus/templates/forms/app/i18n/fr-FR.ts +2 -0
  162. package/corpus/templates/forms/app/i18n/hi-IN.ts +2 -0
  163. package/corpus/templates/forms/app/i18n/ja-JP.ts +2 -0
  164. package/corpus/templates/forms/app/i18n/ko-KR.ts +2 -0
  165. package/corpus/templates/forms/app/i18n/pt-BR.ts +2 -0
  166. package/corpus/templates/forms/app/i18n/zh-CN.ts +2 -0
  167. package/corpus/templates/forms/app/i18n/zh-TW.ts +2 -0
  168. package/corpus/templates/forms/app/root.tsx +6 -1
  169. package/corpus/templates/forms/app/routes/_app.agent.tsx +15 -0
  170. package/corpus/templates/forms/changelog/2026-07-13-new-agent-page-see-and-manage-your-agent-s-context-files-con.md +6 -0
  171. package/corpus/templates/macros/app/components/layout/AppLayout.tsx +14 -2
  172. package/corpus/templates/macros/app/components/layout/Header.tsx +1 -0
  173. package/corpus/templates/macros/app/root.tsx +17 -2
  174. package/corpus/templates/macros/app/routes/agent.tsx +15 -0
  175. package/corpus/templates/macros/changelog/2026-07-13-new-agent-page-see-and-manage-your-agent-s-context-files-con.md +6 -0
  176. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +42 -0
  177. package/corpus/templates/mail/app/components/layout/CommandPalette.tsx +6 -0
  178. package/corpus/templates/mail/app/routes/agent.tsx +15 -0
  179. package/corpus/templates/mail/changelog/2026-07-13-new-agent-page-see-and-manage-your-agent-s-context-files-con.md +6 -0
  180. package/corpus/templates/plan/app/components/layout/Header.tsx +1 -0
  181. package/corpus/templates/plan/app/components/layout/Layout.tsx +1 -0
  182. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +2 -0
  183. package/corpus/templates/plan/app/root.tsx +8 -0
  184. package/corpus/templates/plan/app/routes/agent.tsx +15 -0
  185. package/corpus/templates/plan/changelog/2026-07-13-new-agent-page-see-and-manage-your-agent-s-context-files-con.md +6 -0
  186. package/corpus/templates/slides/app/components/layout/Header.tsx +1 -0
  187. package/corpus/templates/slides/app/components/layout/Layout.tsx +1 -0
  188. package/corpus/templates/slides/app/components/layout/Sidebar.tsx +2 -0
  189. package/corpus/templates/slides/app/root.tsx +10 -1
  190. package/corpus/templates/slides/app/routes/agent.tsx +15 -0
  191. package/corpus/templates/slides/changelog/2026-07-13-new-agent-page-see-and-manage-your-agent-s-context-files-con.md +6 -0
  192. package/dist/agent/context-xray/actions/context-evict.js +5 -2
  193. package/dist/agent/context-xray/actions/context-evict.js.map +1 -1
  194. package/dist/agent/context-xray/actions/context-pin.js +5 -2
  195. package/dist/agent/context-xray/actions/context-pin.js.map +1 -1
  196. package/dist/agent/context-xray/actions/context-preview-get.d.ts +17 -0
  197. package/dist/agent/context-xray/actions/context-preview-get.d.ts.map +1 -0
  198. package/dist/agent/context-xray/actions/context-preview-get.js +94 -0
  199. package/dist/agent/context-xray/actions/context-preview-get.js.map +1 -0
  200. package/dist/agent/context-xray/actions/context-restore.js +5 -2
  201. package/dist/agent/context-xray/actions/context-restore.js.map +1 -1
  202. package/dist/agent/context-xray/actions/errors.d.ts +3 -0
  203. package/dist/agent/context-xray/actions/errors.d.ts.map +1 -1
  204. package/dist/agent/context-xray/actions/errors.js +6 -0
  205. package/dist/agent/context-xray/actions/errors.js.map +1 -1
  206. package/dist/agent/context-xray/manifest.d.ts +18 -1
  207. package/dist/agent/context-xray/manifest.d.ts.map +1 -1
  208. package/dist/agent/context-xray/manifest.js +68 -6
  209. package/dist/agent/context-xray/manifest.js.map +1 -1
  210. package/dist/agent/engine/context-directives-transform.d.ts +2 -0
  211. package/dist/agent/engine/context-directives-transform.d.ts.map +1 -1
  212. package/dist/agent/engine/context-directives-transform.js +2 -1
  213. package/dist/agent/engine/context-directives-transform.js.map +1 -1
  214. package/dist/agent/production-agent.d.ts +15 -0
  215. package/dist/agent/production-agent.d.ts.map +1 -1
  216. package/dist/agent/production-agent.js +74 -36
  217. package/dist/agent/production-agent.js.map +1 -1
  218. package/dist/agent/run-loop-with-resume.d.ts.map +1 -1
  219. package/dist/agent/run-loop-with-resume.js +6 -3
  220. package/dist/agent/run-loop-with-resume.js.map +1 -1
  221. package/dist/client/AgentPanel.d.ts +5 -1
  222. package/dist/client/AgentPanel.d.ts.map +1 -1
  223. package/dist/client/AgentPanel.js +9 -11
  224. package/dist/client/AgentPanel.js.map +1 -1
  225. package/dist/client/agent-page/AgentContextTab.d.ts +5 -0
  226. package/dist/client/agent-page/AgentContextTab.d.ts.map +1 -0
  227. package/dist/client/agent-page/AgentContextTab.js +202 -0
  228. package/dist/client/agent-page/AgentContextTab.js.map +1 -0
  229. package/dist/client/agent-page/AgentJobsTab.d.ts +3 -0
  230. package/dist/client/agent-page/AgentJobsTab.d.ts.map +1 -0
  231. package/dist/client/agent-page/AgentJobsTab.js +98 -0
  232. package/dist/client/agent-page/AgentJobsTab.js.map +1 -0
  233. package/dist/client/agent-page/AgentTabsPage.d.ts +20 -0
  234. package/dist/client/agent-page/AgentTabsPage.d.ts.map +1 -0
  235. package/dist/client/agent-page/AgentTabsPage.js +420 -0
  236. package/dist/client/agent-page/AgentTabsPage.js.map +1 -0
  237. package/dist/client/agent-page/types.d.ts +17 -0
  238. package/dist/client/agent-page/types.d.ts.map +1 -0
  239. package/dist/client/agent-page/types.js +9 -0
  240. package/dist/client/agent-page/types.js.map +1 -0
  241. package/dist/client/agent-page/use-jobs.d.ts +61 -0
  242. package/dist/client/agent-page/use-jobs.d.ts.map +1 -0
  243. package/dist/client/agent-page/use-jobs.js +71 -0
  244. package/dist/client/agent-page/use-jobs.js.map +1 -0
  245. package/dist/client/context-xray/ContextMeter.d.ts +3 -1
  246. package/dist/client/context-xray/ContextMeter.d.ts.map +1 -1
  247. package/dist/client/context-xray/ContextMeter.js +14 -5
  248. package/dist/client/context-xray/ContextMeter.js.map +1 -1
  249. package/dist/client/context-xray/ContextTreemap.d.ts +3 -2
  250. package/dist/client/context-xray/ContextTreemap.d.ts.map +1 -1
  251. package/dist/client/context-xray/ContextTreemap.js +9 -1
  252. package/dist/client/context-xray/ContextTreemap.js.map +1 -1
  253. package/dist/client/context-xray/ContextXRayPanel.d.ts.map +1 -1
  254. package/dist/client/context-xray/ContextXRayPanel.js +95 -20
  255. package/dist/client/context-xray/ContextXRayPanel.js.map +1 -1
  256. package/dist/client/context-xray/format.d.ts.map +1 -1
  257. package/dist/client/context-xray/format.js +12 -0
  258. package/dist/client/context-xray/format.js.map +1 -1
  259. package/dist/client/index.d.ts +3 -0
  260. package/dist/client/index.d.ts.map +1 -1
  261. package/dist/client/index.js +1 -0
  262. package/dist/client/index.js.map +1 -1
  263. package/dist/client/resources/ResourcesPanel.d.ts +9 -1
  264. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  265. package/dist/client/resources/ResourcesPanel.js +26 -10
  266. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  267. package/dist/client/settings/AutomationsSection.d.ts +9 -0
  268. package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
  269. package/dist/client/settings/AutomationsSection.js +128 -147
  270. package/dist/client/settings/AutomationsSection.js.map +1 -1
  271. package/dist/file-upload/actions/upload-image.d.ts +1 -1
  272. package/dist/jobs/actions/list-recurring-jobs.d.ts +21 -0
  273. package/dist/jobs/actions/list-recurring-jobs.d.ts.map +1 -0
  274. package/dist/jobs/actions/list-recurring-jobs.js +74 -0
  275. package/dist/jobs/actions/list-recurring-jobs.js.map +1 -0
  276. package/dist/jobs/actions/manage-recurring-job.d.ts +18 -0
  277. package/dist/jobs/actions/manage-recurring-job.d.ts.map +1 -0
  278. package/dist/jobs/actions/manage-recurring-job.js +68 -0
  279. package/dist/jobs/actions/manage-recurring-job.js.map +1 -0
  280. package/dist/jobs/tools.d.ts +13 -0
  281. package/dist/jobs/tools.d.ts.map +1 -1
  282. package/dist/jobs/tools.js +1 -1
  283. package/dist/jobs/tools.js.map +1 -1
  284. package/dist/localization/default-messages.d.ts +96 -0
  285. package/dist/localization/default-messages.d.ts.map +1 -1
  286. package/dist/localization/default-messages.js +96 -0
  287. package/dist/localization/default-messages.js.map +1 -1
  288. package/dist/mcp/build-server.d.ts.map +1 -1
  289. package/dist/mcp/build-server.js +1 -0
  290. package/dist/mcp/build-server.js.map +1 -1
  291. package/dist/mcp/connect-route.d.ts.map +1 -1
  292. package/dist/mcp/connect-route.js +44 -59
  293. package/dist/mcp/connect-route.js.map +1 -1
  294. package/dist/notifications/routes.d.ts +2 -2
  295. package/dist/resources/handlers.d.ts +1 -1
  296. package/dist/server/action-discovery.d.ts.map +1 -1
  297. package/dist/server/action-discovery.js +23 -0
  298. package/dist/server/action-discovery.js.map +1 -1
  299. package/dist/server/agent-chat/prompt-resources.d.ts +14 -0
  300. package/dist/server/agent-chat/prompt-resources.d.ts.map +1 -1
  301. package/dist/server/agent-chat/prompt-resources.js +139 -2
  302. package/dist/server/agent-chat/prompt-resources.js.map +1 -1
  303. package/dist/server/agent-chat-plugin.d.ts +1 -0
  304. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  305. package/dist/server/agent-chat-plugin.js +136 -3
  306. package/dist/server/agent-chat-plugin.js.map +1 -1
  307. package/dist/server/auth.d.ts.map +1 -1
  308. package/dist/server/auth.js +1 -4
  309. package/dist/server/auth.js.map +1 -1
  310. package/dist/server/google-oauth.d.ts.map +1 -1
  311. package/dist/server/google-oauth.js +1 -4
  312. package/dist/server/google-oauth.js.map +1 -1
  313. package/dist/server/transcribe-voice.d.ts +1 -1
  314. package/dist/server/workspace-oauth.d.ts +11 -0
  315. package/dist/server/workspace-oauth.d.ts.map +1 -0
  316. package/dist/server/workspace-oauth.js +25 -0
  317. package/dist/server/workspace-oauth.js.map +1 -0
  318. package/dist/shared/context-xray.d.ts +45 -1
  319. package/dist/shared/context-xray.d.ts.map +1 -1
  320. package/dist/shared/context-xray.js +12 -0
  321. package/dist/shared/context-xray.js.map +1 -1
  322. package/dist/shared/mcp-connect-content.d.ts +37 -0
  323. package/dist/shared/mcp-connect-content.d.ts.map +1 -0
  324. package/dist/shared/mcp-connect-content.js +92 -0
  325. package/dist/shared/mcp-connect-content.js.map +1 -0
  326. package/dist/templates/default/app/routes/_index.tsx +11 -0
  327. package/dist/templates/default/app/routes/agent.tsx +33 -0
  328. package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +6 -0
  329. package/dist/templates/workspace-core/.agents/skills/agent-page/SKILL.md +59 -0
  330. package/dist/templates/workspace-core/.agents/skills/context-xray/SKILL.md +25 -0
  331. package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +7 -0
  332. package/dist/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +9 -0
  333. package/dist/triggers/actions/list-automations.d.ts +24 -0
  334. package/dist/triggers/actions/list-automations.d.ts.map +1 -0
  335. package/dist/triggers/actions/list-automations.js +72 -0
  336. package/dist/triggers/actions/list-automations.js.map +1 -0
  337. package/dist/triggers/actions/manage-automation.d.ts +18 -0
  338. package/dist/triggers/actions/manage-automation.d.ts.map +1 -0
  339. package/dist/triggers/actions/manage-automation.js +60 -0
  340. package/dist/triggers/actions/manage-automation.js.map +1 -0
  341. package/docs/content/a2a-protocol.mdx +42 -0
  342. package/docs/content/agent-surfaces.mdx +43 -0
  343. package/docs/content/external-agents.mdx +11 -0
  344. package/docs/content/locales/ar-SA/a2a-protocol.mdx +42 -0
  345. package/docs/content/locales/ar-SA/agent-surfaces.mdx +30 -0
  346. package/docs/content/locales/ar-SA/external-agents.mdx +9 -0
  347. package/docs/content/locales/de-DE/a2a-protocol.mdx +42 -0
  348. package/docs/content/locales/de-DE/agent-surfaces.mdx +34 -0
  349. package/docs/content/locales/de-DE/external-agents.mdx +10 -0
  350. package/docs/content/locales/es-ES/a2a-protocol.mdx +42 -0
  351. package/docs/content/locales/es-ES/agent-surfaces.mdx +34 -0
  352. package/docs/content/locales/es-ES/external-agents.mdx +10 -0
  353. package/docs/content/locales/fr-FR/a2a-protocol.mdx +42 -0
  354. package/docs/content/locales/fr-FR/agent-surfaces.mdx +34 -0
  355. package/docs/content/locales/fr-FR/external-agents.mdx +11 -0
  356. package/docs/content/locales/hi-IN/a2a-protocol.mdx +42 -0
  357. package/docs/content/locales/hi-IN/agent-surfaces.mdx +31 -0
  358. package/docs/content/locales/hi-IN/external-agents.mdx +9 -0
  359. package/docs/content/locales/ja-JP/a2a-protocol.mdx +42 -0
  360. package/docs/content/locales/ja-JP/agent-surfaces.mdx +32 -0
  361. package/docs/content/locales/ja-JP/external-agents.mdx +10 -0
  362. package/docs/content/locales/ko-KR/a2a-protocol.mdx +42 -0
  363. package/docs/content/locales/ko-KR/agent-surfaces.mdx +32 -0
  364. package/docs/content/locales/ko-KR/external-agents.mdx +9 -0
  365. package/docs/content/locales/pt-BR/a2a-protocol.mdx +42 -0
  366. package/docs/content/locales/pt-BR/agent-surfaces.mdx +33 -0
  367. package/docs/content/locales/pt-BR/external-agents.mdx +10 -0
  368. package/docs/content/locales/zh-CN/a2a-protocol.mdx +42 -0
  369. package/docs/content/locales/zh-CN/agent-surfaces.mdx +29 -0
  370. package/docs/content/locales/zh-CN/external-agents.mdx +8 -0
  371. package/docs/content/locales/zh-TW/a2a-protocol.mdx +42 -0
  372. package/docs/content/locales/zh-TW/agent-surfaces.mdx +29 -0
  373. package/docs/content/locales/zh-TW/external-agents.mdx +8 -0
  374. package/package.json +1 -1
  375. package/src/templates/default/app/routes/_index.tsx +11 -0
  376. package/src/templates/default/app/routes/agent.tsx +33 -0
  377. package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +6 -0
  378. package/src/templates/workspace-core/.agents/skills/agent-page/SKILL.md +59 -0
  379. package/src/templates/workspace-core/.agents/skills/context-xray/SKILL.md +25 -0
  380. package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +7 -0
  381. package/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +9 -0
@@ -384,6 +384,48 @@ dataset, or workflow. In production agent-native apps, set `A2A_SECRET` in each
384
384
  JWT वाहक टोकन के रूप में हस्ताक्षरित। `apiKeyEnv` का उपयोग केवल विरासती बाहरी समकक्षों के लिए करें
385
385
  एक स्थिर वाहक टोकन की अपेक्षा करें। स्वयं का आह्वान करने के बजाय स्थानीय actions का उपयोग करें।
386
386
 
387
+ ## सीएलआई: agent-native invoke {#cli-invoke}
388
+
389
+ `agent-native invoke`, `agentNative.invoke()` के समान resolve-and-call primitive पर एक हल्का CLI wrapper है। इसका उपयोग किसी शेल स्क्रिप्ट, CI job, cron entry, या किसी भी बाहरी सिस्टम से किसी ऐप के एजेंट को ट्रिगर करने के लिए करें जो shell out कर सकता है — यह हाथ से `/_agent-native/a2a` पर पोस्ट करने के बराबर है।
390
+
391
+ ```bash
392
+ agent-native invoke <app-or-url> "prompt" [options]
393
+ ```
394
+
395
+ ```bash
396
+ # वर्कस्पेस रजिस्ट्री में "analytics" को resolve करें और जवाब की प्रतीक्षा करें
397
+ agent-native invoke analytics "Summarize signups by source this month"
398
+
399
+ # किसी डिप्लॉय किए गए ऐप को सीधे URL से कॉल करें, bearer token env से पढ़ते हुए
400
+ agent-native invoke https://analytics.example.com "How many signups last week?" \
401
+ --api-key-env ANALYTICS_A2A_KEY
402
+
403
+ # डिफ़ॉल्ट async+poll के बजाय एक ब्लॉकिंग message/send को बाध्य करें
404
+ agent-native invoke analytics "Quick lookup" --sync
405
+
406
+ # स्क्रिप्टिंग के लिए मशीन-रीडेबल आउटपुट
407
+ agent-native invoke analytics "Summarize signups" --json
408
+ ```
409
+
410
+ | Option | विवरण |
411
+ | ------------------------- | ---------------------------------------------------------------------------- |
412
+ | `--agent <id\|name\|url>` | लक्ष्य एजेंट (positional `<app-or-url>` का alias) |
413
+ | `--message <text>` | प्रॉम्प्ट (positional `"prompt"` का alias) |
414
+ | `--api-key-env <name>` | एक environment variable से bearer token पढ़ें |
415
+ | `--api-key <token>` | Bearer token मान, inline पास किया गया |
416
+ | `--context-id <id>` | A2A `contextId`, किसी मौजूदा task की बातचीत जारी रखने के लिए |
417
+ | `--self-app-id <id>` | वर्तमान app id, self-call रोकथाम के लिए उपयोग की जाती है |
418
+ | `--self-url <url>` | वर्तमान app URL, self-call रोकथाम के लिए उपयोग की जाती है |
419
+ | `--timeout-ms <n>` | Async polling timeout |
420
+ | `--poll-interval-ms <n>` | Async polling interval |
421
+ | `--sync` | डिफ़ॉल्ट async+poll के बजाय एक blocking `message/send` request का उपयोग करें |
422
+ | `--no-hint` | प्रॉम्प्ट को cross-app invocation hint के बिना, ज्यों का त्यों भेजें |
423
+ | `--json` | Target metadata और response text को JSON के रूप में प्रिंट करें |
424
+
425
+ `callAgent()` की तरह, CLI डिफ़ॉल्ट रूप से async + poll (`invokeAgent` → अंदरूनी रूप से `callAgent`) का उपयोग करती है, जो hosted/serverless targets के विरुद्ध सुरक्षित विकल्प है — ऊपर [Serverless webhook and gateway timeouts](#json-rpc-methods) देखें। `--sync` का उपयोग तभी करें जब आप जानते हों कि लक्ष्य किसी छोटी execution limit वाले gateway के पीछे नहीं है।
426
+
427
+ लक्ष्य वैसे ही resolve होता है जैसे `agentNative.invoke()` में होता है: workspace app id से, app name से, या पूरे URL से — इसलिए यही कमांड एक multi-app workspace में किसी sibling app के विरुद्ध या कहीं और किसी मनमाने A2A peer के विरुद्ध भी काम करता है।
428
+
387
429
  ## कार्य जीवनचक्र {#task-lifecycle}
388
430
 
389
431
  प्रत्येक संदेश एक कार्य बनाता है जो इन स्थितियों से होकर गुजरता है:
@@ -6,6 +6,37 @@ search: "हेडलेस एजेंट रिच चैट पूर्ण
6
6
 
7
7
  # एजेंट सतहें
8
8
 
9
+ ## पूरा Agent कार्यक्षेत्र {#agent-page}
10
+
11
+ जब किसी पूर्ण ऐप को अपने एजेंट को देखने और कॉन्फ़िगर करने के लिए स्थायी स्थान
12
+ चाहिए, तो `/agent` पर `AgentTabsPage` माउंट करें। ऐप नेविगेशन में यह रूट जोड़ें
13
+ और `AgentSidebar` को `agentPageHref="/agent"` दें, ताकि Resources और Settings
14
+ मोड इन प्रवाहों को दोहराए बिना पूरे पेज पर जा सकें।
15
+
16
+ ```tsx filename="app/routes/agent.tsx"
17
+ import { AgentTabsPage } from "@agent-native/core/client";
18
+
19
+ export default function AgentRoute() {
20
+ return <AgentTabsPage />;
21
+ }
22
+ ```
23
+
24
+ साझा पेज में अभी पाँच टैब हैं:
25
+
26
+ - **Context** — स्कोप प्रीव्यू, टोकन बजट, provenance और governance के साथ क्रमबद्ध सिस्टम सेक्शन, सूची/treemap दृश्य और नवीनतम live-thread snapshot।
27
+ - **Files** — व्यक्तिगत या संगठन संसाधनों के लिए मौजूदा `ResourcesPanel` को फिर से उपयोग करता है।
28
+ - **Connections** — MCP सर्वर प्रबंधन और A2A remote-agent सूची: यह ऐप का एजेंट क्या बुला सकता है।
29
+ - **Jobs** — मौजूदा pause/resume, विवरण और delete प्रवाहों के साथ scoped recurring jobs और automations। Automations अभी केवल व्यक्तिगत हैं।
30
+ - **Access** — MCP URL, उपलब्ध होने पर A2A agent card और साझा client setup guides; पूरा flow और token fallback `/mcp/connect` पर है।
31
+
32
+ **Personal / Organization** टॉगल टैब का scope तय करता है। सदस्य संगठन का डेटा
33
+ देख सकते हैं, जबकि जहाँ होस्ट किया गया component यह सीमा लागू करता है वहाँ
34
+ संगठन प्रबंधन केवल मालिकों/व्यवस्थापकों तक सीमित रहता है। लक्ष्य context को
35
+ inspectable, attributable और governable बनाना तथा capability को access से अलग
36
+ रखना है। यह पेज मौजूदा components, actions और access checks की पतली shell है,
37
+ नई admin console नहीं। Grants, scope editing, revocation या per-iteration
38
+ provenance history की UI अभी उपलब्ध नहीं है।
39
+
9
40
  Agent-Native जानबूझकर रचना योग्य है। आप एजेंट का उपयोग बहुत अधिक UI के बिना कर सकते हैं,
10
41
  अंतर्निहित एजेंट रनटाइम के बिना UI का उपयोग करें, या दोनों को पूर्ण रूप में एक साथ उपयोग करें
11
42
  आवेदन.
@@ -117,6 +117,15 @@ https://<your-app>.agent-native.com/mcp
117
117
  `https://&lt;app&gt;/mcp/connect` प्रतिलिपि योग्य URL और
118
118
  Claude, ChatGPT, कर्सर, Claude कोड, Codex और अन्य के लिए होस्ट-विशिष्ट टैब।
119
119
 
120
+ ### ऐप के अंदर Access टैब {#access-tab}
121
+
122
+ `AgentTabsPage` माउंट करने वाले ऐप **Access** टैब में यही कनेक्शन फ्लो देते हैं।
123
+ यह MCP URL, उपलब्ध होने पर A2A agent card और Claude, ChatGPT, Cursor, Claude
124
+ Code, Codex तथा अन्य clients के साझा setup guides दिखाता है। इसे ऐप के अंदर
125
+ शुरुआत के रूप में उपयोग करें और पूरे flow तथा token fallback के लिए
126
+ `/mcp/connect` खोलें। यह connection setup UI है, सामान्य access console नहीं;
127
+ टैब अभी grants, scope editing या revocation को manage नहीं करता।
128
+
120
129
  ### Claude और ChatGPT OAuth {#oauth}
121
130
 
122
131
  Claude / Claude डेस्कटॉप: एक कस्टम कनेक्टर जोड़ें, MCP URL पेस्ट करें, क्लिक करें
@@ -384,6 +384,48 @@ console.log(`Called ${result.target.name}: ${result.responseText}`);
384
384
  JWT ベアラー トークンとして署名されています。 `apiKeyEnv` は、
385
385
  静的なベアラー トークンが必要です。自分自身を呼び出す代わりに、ローカルの actions を使用してください。
386
386
 
387
+ ## CLI: agent-native invoke {#cli-invoke}
388
+
389
+ `agent-native invoke` は、`agentNative.invoke()` と同じ解決・呼び出しプリミティブを薄くラップした CLI です。シェル スクリプト、CI ジョブ、cron エントリ、またはシェルアウトできる任意の外部システムからアプリのエージェントをトリガーするために使用します。手動で `/_agent-native/a2a` に POST するのと同等の CLI 版です。
390
+
391
+ ```bash
392
+ agent-native invoke <app-or-url> "prompt" [options]
393
+ ```
394
+
395
+ ```bash
396
+ # ワークスペース レジストリで "analytics" を解決し、応答を待つ
397
+ agent-native invoke analytics "Summarize signups by source this month"
398
+
399
+ # デプロイ済みアプリを URL で直接呼び出し、環境変数からベアラー トークンを読み取る
400
+ agent-native invoke https://analytics.example.com "How many signups last week?" \
401
+ --api-key-env ANALYTICS_A2A_KEY
402
+
403
+ # デフォルトの async+poll の代わりに、ブロッキングの message/send を1回だけ強制する
404
+ agent-native invoke analytics "Quick lookup" --sync
405
+
406
+ # スクリプト用の機械可読な出力
407
+ agent-native invoke analytics "Summarize signups" --json
408
+ ```
409
+
410
+ | Option | Description |
411
+ | ------------------------- | ----------------------------------------------------------------------------------- |
412
+ | `--agent <id\|name\|url>` | 対象のエージェント(位置引数 `<app-or-url>` のエイリアス) |
413
+ | `--message <text>` | プロンプト(位置引数 `"prompt"` のエイリアス) |
414
+ | `--api-key-env <name>` | 環境変数からベアラー トークンを読み取る |
415
+ | `--api-key <token>` | ベアラー トークンの値をインラインで渡す |
416
+ | `--context-id <id>` | A2A の `contextId`。既存タスクの会話を継続するために使用 |
417
+ | `--self-app-id <id>` | 自己呼び出し防止に使われる、現在のアプリ id |
418
+ | `--self-url <url>` | 自己呼び出し防止に使われる、現在のアプリ URL |
419
+ | `--timeout-ms <n>` | 非同期ポーリングのタイムアウト |
420
+ | `--poll-interval-ms <n>` | 非同期ポーリングの間隔 |
421
+ | `--sync` | デフォルトの async+poll の代わりに、ブロッキングの `message/send` を1回だけ使用する |
422
+ | `--no-hint` | クロスアプリ呼び出しのヒントを付けずに、プロンプトをそのまま送信する |
423
+ | `--json` | ターゲットのメタデータと応答テキストを JSON として出力する |
424
+
425
+ `callAgent()` と同様に、この CLI もデフォルトで async + poll を使用します(内部的には `invokeAgent` → `callAgent`)。これはホスト型/サーバーレスのターゲットに対して安全な選択です。上記の [サーバーレスの Webhook とゲートウェイのタイムアウト](#json-rpc-methods) を参照してください。ターゲットが短い実行時間制限のあるゲートウェイの背後にないとわかっている場合にのみ `--sync` を渡してください。
426
+
427
+ ターゲットは `agentNative.invoke()` と同じ方法で解決されます: ワークスペースのアプリ id、アプリ名、または完全な URL のいずれかです。そのため、同じコマンドがマルチアプリ ワークスペース内の兄弟アプリに対しても、どこか別の場所にある任意の A2A ピアに対しても機能します。
428
+
387
429
  ## タスクのライフサイクル {#task-lifecycle}
388
430
 
389
431
  各メッセージは、次の状態を通過するタスクを作成します。
@@ -6,6 +6,38 @@ search: "ヘッドレス エージェント リッチ チャット フル アプ
6
6
 
7
7
  # エージェント サーフェス
8
8
 
9
+ ## フルページの Agent ワークスペース {#agent-page}
10
+
11
+ 完全なアプリケーションでエージェントを確認・設定する常設の場所が必要な
12
+ 場合は、`/agent` に `AgentTabsPage` をマウントします。アプリのナビゲーション
13
+ にこのルートを追加し、`AgentSidebar` に `agentPageHref="/agent"` を渡すと、
14
+ Resources と Settings から同じフローを重複させずにフルページへ移動できます。
15
+
16
+ ```tsx filename="app/routes/agent.tsx"
17
+ import { AgentTabsPage } from "@agent-native/core/client";
18
+
19
+ export default function AgentRoute() {
20
+ return <AgentTabsPage />;
21
+ }
22
+ ```
23
+
24
+ 共有ページには現在、5 つのタブがあります。
25
+
26
+ - **Context** — スコープのプレビュー、トークン予算、provenance・governance・source で整理された順序付きシステムセクション、リスト/treemap 表示、最新の live thread スナップショット。
27
+ - **Files** — 個人または組織のリソース用に既存の `ResourcesPanel` を再ホストします。
28
+ - **Connections** — MCP サーバー管理と A2A リモートエージェント一覧。アプリのエージェントが呼び出せるものを示します。
29
+ - **Jobs** — 既存の一時停止/再開、詳細、削除フローを備えたスコープ別の定期ジョブと自動化。自動化は現在個人用です。
30
+ - **Access** — MCP URL、利用可能なら A2A エージェントカード、共通のクライアント設定ガイドを表示します。完全な接続フローとトークンのフォールバックは `/mcp/connect` にあります。
31
+
32
+ ページの **Personal / Organization** 切り替えが各タブのスコープを指定します。
33
+ メンバーは組織データを確認できますが、ホストされたコンポーネントがその境界を
34
+ 適用する箇所では、組織管理は所有者/管理者に制限されます。
35
+ 目的はコンテキストを inspectable・attributable・governable にし、capability と
36
+ access を分離することです。このページは既存のコンポーネント、アクション、
37
+ アクセスチェックを再利用する薄いシェルであり、新しい管理コンソールでは
38
+ ありません。grants、スコープ編集、revoke、反復ごとの provenance 履歴の UI は
39
+ まだ提供していません。
40
+
9
41
  Agent-Native は意図的に構成可能です。 UI をあまり必要とせずにエージェントを使用できます。
10
42
  組み込みエージェント ランタイムなしで UI を使用するか、両方を完全なものとして一緒に使用します
11
43
  アプリケーション。
@@ -117,6 +117,16 @@ https://<your-app>.agent-native.com/mcp
117
117
  `https://&lt;app&gt;/mcp/connect` とコピー可能な URL および
118
118
  Claude、ChatGPT、カーソル、Claude コード、Codex、その他のホスト固有のタブ。
119
119
 
120
+ ### アプリ内の Access タブ {#access-tab}
121
+
122
+ `AgentTabsPage` をマウントするアプリでは、同じ接続フローを **Access** タブ
123
+ から利用できます。MCP URL、利用可能な場合は A2A エージェント カード、Claude、
124
+ ChatGPT、Cursor、Claude Code、Codex、その他のクライアント向けの共通設定ガイドを
125
+ 表示します。アプリ内の開始点として使い、完全なフローとトークンのフォールバック
126
+ には `/mcp/connect` を開きます。これは接続設定 UI であり、一般的なアクセス管理
127
+ コンソールではありません。grants、スコープ編集、revoke はこのタブではまだ管理
128
+ できません。
129
+
120
130
  ### Claude および ChatGPT OAuth {#oauth}
121
131
 
122
132
  Claude / Claude デスクトップ: カスタム コネクタを追加し、MCP URL を貼り付け、クリックします
@@ -384,6 +384,48 @@ console.log(`Called ${result.target.name}: ${result.responseText}`);
384
384
  JWT 전달자 토큰으로 서명되었습니다. 다음과 같은 레거시 외부 피어에만 `apiKeyEnv`를 사용하세요.
385
385
  정적 전달자 토큰이 필요합니다. 자신을 호출하는 대신 로컬 actions를 사용하세요.
386
386
 
387
+ ## CLI: agent-native invoke {#cli-invoke}
388
+
389
+ `agent-native invoke`는 `agentNative.invoke()`와 동일한 확인 후 호출(resolve-and-call) 기본 로직을 감싼 얇은 CLI 래퍼입니다. 셸 스크립트, CI 작업, cron 항목, 또는 셸 아웃이 가능한 다른 외부 시스템에서 앱의 에이전트를 트리거할 때 사용하세요 — `/_agent-native/a2a`에 직접 POST하는 것과 동일한 CLI 방식입니다.
390
+
391
+ ```bash
392
+ agent-native invoke <app-or-url> "prompt" [options]
393
+ ```
394
+
395
+ ```bash
396
+ # 작업공간 레지스트리에서 "analytics"를 확인하고 응답을 기다립니다
397
+ agent-native invoke analytics "Summarize signups by source this month"
398
+
399
+ # 배포된 앱을 URL로 직접 호출하고, 환경 변수에서 전달자 토큰을 읽습니다
400
+ agent-native invoke https://analytics.example.com "How many signups last week?" \
401
+ --api-key-env ANALYTICS_A2A_KEY
402
+
403
+ # 기본값인 async+poll 대신 블로킹 message/send 하나만 강제로 사용합니다
404
+ agent-native invoke analytics "Quick lookup" --sync
405
+
406
+ # 스크립팅을 위한 기계 판독 가능한 출력
407
+ agent-native invoke analytics "Summarize signups" --json
408
+ ```
409
+
410
+ | 옵션 | 설명 |
411
+ | ------------------------- | --------------------------------------------------------------------- |
412
+ | `--agent <id\|name\|url>` | 대상 에이전트 (위치 인수 `<app-or-url>`의 별칭) |
413
+ | `--message <text>` | 프롬프트 (위치 인수 `"prompt"`의 별칭) |
414
+ | `--api-key-env <name>` | 환경 변수에서 전달자 토큰을 읽습니다 |
415
+ | `--api-key <token>` | 전달자 토큰 값을 인라인으로 전달합니다 |
416
+ | `--context-id <id>` | 기존 작업의 대화를 이어가기 위한 A2A `contextId` |
417
+ | `--self-app-id <id>` | 자체 호출 방지에 사용되는 현재 앱 id |
418
+ | `--self-url <url>` | 자체 호출 방지에 사용되는 현재 앱 URL |
419
+ | `--timeout-ms <n>` | 비동기 폴링 타임아웃 |
420
+ | `--poll-interval-ms <n>` | 비동기 폴링 간격 |
421
+ | `--sync` | 기본값인 async+poll 대신 블로킹 `message/send` 요청 하나를 사용합니다 |
422
+ | `--no-hint` | 크로스 앱 호출 힌트 없이 프롬프트를 그대로 전송합니다 |
423
+ | `--json` | 대상 메타데이터와 응답 텍스트를 JSON으로 출력합니다 |
424
+
425
+ `callAgent()`와 마찬가지로 CLI는 기본적으로 async + poll을 사용하며(내부적으로 `invokeAgent` → `callAgent`), 이는 호스팅/서버리스 대상에 대한 안전한 선택입니다 — 위의 [서버리스 웹훅 및 게이트웨이 타임아웃](#json-rpc-methods)을 참조하세요. 대상이 짧은 실행 제한이 있는 게이트웨이 뒤에 있지 않다는 것을 알 때만 `--sync`를 전달하세요.
426
+
427
+ 대상은 `agentNative.invoke()`와 동일한 방식으로 확인됩니다. 작업공간 앱 id, 앱 이름, 또는 전체 URL로 확인되므로 동일한 명령이 멀티 앱 작업공간의 형제 앱이나 다른 곳의 임의의 A2A 피어 모두에 대해 작동합니다.
428
+
387
429
  ## 작업 수명 주기 {#task-lifecycle}
388
430
 
389
431
  각 메시지는 다음 상태를 거쳐 이동하는 작업을 생성합니다.
@@ -6,6 +6,38 @@ search: "헤드리스 에이전트 리치 채팅 전체 앱 BYO 에이전트 런
6
6
 
7
7
  # 에이전트 표면
8
8
 
9
+ ## 전체 Agent 작업 공간 {#agent-page}
10
+
11
+ 전체 애플리케이션에서 에이전트를 검사하고 구성할 영구 공간이 필요하면
12
+ `/agent`에 `AgentTabsPage`를 마운트하세요. 앱 탐색에 이 경로를 추가하고
13
+ `AgentSidebar`에 `agentPageHref="/agent"`를 전달하면 Resources 및 Settings
14
+ 모드에서 흐름을 중복하지 않고 전체 페이지로 이동할 수 있습니다.
15
+
16
+ ```tsx filename="app/routes/agent.tsx"
17
+ import { AgentTabsPage } from "@agent-native/core/client";
18
+
19
+ export default function AgentRoute() {
20
+ return <AgentTabsPage />;
21
+ }
22
+ ```
23
+
24
+ 공유 페이지에는 현재 다섯 개의 탭이 있습니다.
25
+
26
+ - **Context** — 범위 미리보기, 토큰 예산, provenance·governance·source별 정렬된 시스템 섹션, 목록/treemap 보기, 최신 live-thread 스냅샷을 보여줍니다.
27
+ - **Files** — 개인 또는 조직 리소스에 기존 `ResourcesPanel`을 다시 호스팅합니다.
28
+ - **Connections** — MCP 서버 관리와 A2A 원격 에이전트 목록을 제공하며, 앱 에이전트가 호출할 수 있는 기능을 보여줍니다.
29
+ - **Jobs** — 기존 일시 중지/재개, 상세, 삭제 흐름을 사용하는 범위별 반복 작업과 자동화입니다. 자동화는 현재 개인용입니다.
30
+ - **Access** — MCP URL, 가능한 경우 A2A 에이전트 카드, 공통 클라이언트 설정 가이드를 보여줍니다. 전체 연결 흐름과 토큰 대체 경로는 `/mcp/connect`에 있습니다.
31
+
32
+ 페이지의 **Personal / Organization** 전환이 각 탭의 범위를 정합니다.
33
+ 구성원은 조직 데이터를 검사할 수 있지만, 호스팅된 컴포넌트가 이 경계를 적용하는
34
+ 곳에서는 조직 관리가 소유자/관리자로 제한됩니다. 목표는
35
+ 컨텍스트를 검사 가능하고 출처를 확인할 수 있으며 거버넌스 가능하게 만들고,
36
+ 기능(capability)과 접근(access)을 분리하는 것입니다. 이 페이지는 기존
37
+ 컴포넌트, 액션, 접근 검사를 재호스트하는 얇은 셸이며 새로운 관리자 콘솔이
38
+ 아닙니다. grants, 범위 편집, 취소 UI와 반복별 provenance 기록은 아직 제공하지
39
+ 않습니다.
40
+
9
41
  Agent-Native는 의도적으로 구성 가능합니다. UI를 많이 사용하지 않고도 에이전트를 사용할 수 있습니다,
10
42
  내장된 에이전트 런타임 없이 UI를 사용하거나 둘 다 전체로 함께 사용
11
43
  신청.
@@ -117,6 +117,15 @@ https://<your-app>.agent-native.com/mcp
117
117
  복사 가능한 URL가 있는 `https://&lt;app&gt;/mcp/connect` 및
118
118
  Claude, ChatGPT, 커서, Claude 코드, Codex 및 기타에 대한 호스트별 탭.
119
119
 
120
+ ### 앱 내 Access 탭 {#access-tab}
121
+
122
+ `AgentTabsPage`를 마운트하는 앱은 **Access** 탭에서 동일한 연결 흐름을
123
+ 제공합니다. MCP URL, 가능한 경우 A2A 에이전트 카드, Claude, ChatGPT, Cursor,
124
+ Claude Code, Codex 및 기타 클라이언트를 위한 공통 설정 가이드를 보여줍니다.
125
+ 앱 안에서 시작점으로 사용하고 전체 흐름과 토큰 대체 경로는 `/mcp/connect`에서
126
+ 여세요. 이 탭은 연결 설정 UI이지 일반 접근 제어 콘솔이 아니며, grants, 범위
127
+ 편집, 취소는 아직 관리하지 않습니다.
128
+
120
129
  ### Claude 및 ChatGPT OAuth {#oauth}
121
130
 
122
131
  Claude / Claude 데스크탑: 사용자 정의 커넥터를 추가하고 MCP URL를 붙여넣고 클릭하세요.
@@ -386,6 +386,48 @@ ambiente do aplicativo e passe a identidade do chamador (`userEmail`) para que a
386
386
  assinado como tokens ao portador JWT. Use `apiKeyEnv` apenas para pares externos legados que
387
387
  espera um token de portador estático. Use actions local em vez de invocar você mesmo.
388
388
 
389
+ ## CLI: agent-native invoke {#cli-invoke}
390
+
391
+ `agent-native invoke` é um wrapper de CLI simples sobre a mesma primitiva de resolver-e-chamar usada por `agentNative.invoke()`. Use-o para acionar o agente de um aplicativo a partir de um script de shell, um job de CI, uma entrada de cron ou qualquer sistema externo que possa executar comandos de shell — o equivalente em CLI de postar manualmente em `/_agent-native/a2a`.
392
+
393
+ ```bash
394
+ agent-native invoke <app-or-url> "prompt" [options]
395
+ ```
396
+
397
+ ```bash
398
+ # Resolve "analytics" no registro do espaço de trabalho e aguarda a resposta
399
+ agent-native invoke analytics "Summarize signups by source this month"
400
+
401
+ # Chama um aplicativo implantado diretamente por URL, lendo o token de portador a partir de uma variável de ambiente
402
+ agent-native invoke https://analytics.example.com "How many signups last week?" \
403
+ --api-key-env ANALYTICS_A2A_KEY
404
+
405
+ # Força uma única mensagem/envio bloqueante em vez do padrão assíncrono+polling
406
+ agent-native invoke analytics "Quick lookup" --sync
407
+
408
+ # Saída legível por máquina para uso em scripts
409
+ agent-native invoke analytics "Summarize signups" --json
410
+ ```
411
+
412
+ | Option | Description |
413
+ | ------------------------- | -------------------------------------------------------------------------------------- |
414
+ | `--agent <id\|name\|url>` | Agente de destino (alias para o argumento posicional `<app-or-url>`) |
415
+ | `--message <text>` | Prompt (alias para o argumento posicional `"prompt"`) |
416
+ | `--api-key-env <name>` | Lê o token de portador a partir de uma variável de ambiente |
417
+ | `--api-key <token>` | Valor do token de portador, passado diretamente |
418
+ | `--context-id <id>` | `contextId` do A2A, para continuar a conversa de uma tarefa existente |
419
+ | `--self-app-id <id>` | ID do aplicativo atual, usado para evitar autochamadas |
420
+ | `--self-url <url>` | URL do aplicativo atual, usada para evitar autochamadas |
421
+ | `--timeout-ms <n>` | Tempo limite do polling assíncrono |
422
+ | `--poll-interval-ms <n>` | Intervalo do polling assíncrono |
423
+ | `--sync` | Usa uma única requisição `message/send` bloqueante em vez do padrão assíncrono+polling |
424
+ | `--no-hint` | Envia o prompt como está, sem a dica de invocação entre aplicativos |
425
+ | `--json` | Imprime os metadados do destino e o texto da resposta como JSON |
426
+
427
+ Assim como `callAgent()`, a CLI usa por padrão o modo assíncrono + polling (`invokeAgent` → `callAgent` internamente), que é a escolha segura contra destinos hospedados/serverless — veja [Tempos limite de webhook e gateway serverless](#json-rpc-methods) acima. Passe `--sync` somente quando você souber que o destino não está atrás de um gateway com um limite de execução curto.
428
+
429
+ O destino é resolvido da mesma forma que em `agentNative.invoke()`: pelo ID do aplicativo no espaço de trabalho, pelo nome do aplicativo ou por uma URL completa — assim, o mesmo comando funciona tanto contra um aplicativo irmão em um espaço de trabalho com múltiplos aplicativos quanto contra um par A2A arbitrário em outro lugar.
430
+
389
431
  ## Ciclo de vida da tarefa {#task-lifecycle}
390
432
 
391
433
  Cada mensagem cria uma tarefa que passa por estes estados:
@@ -6,6 +6,39 @@ search: "aplicativo completo de bate-papo rico com agente sem cabeça BYO tempo
6
6
 
7
7
  # Superfícies do agente
8
8
 
9
+ ## Espaço de trabalho completo do Agent {#agent-page}
10
+
11
+ Quando um aplicativo completo precisa de um lugar permanente para inspecionar e
12
+ configurar seu agente, monte `AgentTabsPage` em `/agent`. Adicione a rota à
13
+ navegação do aplicativo e passe `agentPageHref="/agent"` para `AgentSidebar`,
14
+ para que os modos Resources e Settings apontem para a página completa sem
15
+ duplicar esses fluxos.
16
+
17
+ ```tsx filename="app/routes/agent.tsx"
18
+ import { AgentTabsPage } from "@agent-native/core/client";
19
+
20
+ export default function AgentRoute() {
21
+ return <AgentTabsPage />;
22
+ }
23
+ ```
24
+
25
+ A página compartilhada oferece atualmente cinco abas:
26
+
27
+ - **Context** — prévia do escopo, orçamento de tokens, seções de sistema ordenadas por procedência, governança e fonte, visualização em lista/treemap e o snapshot da thread ativa mais recente.
28
+ - **Files** — reutiliza `ResourcesPanel` para recursos pessoais ou da organização.
29
+ - **Connections** — gerenciamento de servidores MCP e lista de agentes remotos A2A: o que o agente deste app pode chamar.
30
+ - **Jobs** — jobs recorrentes e automações com os fluxos existentes de pausar/retomar, detalhes e excluir. As automações são pessoais por enquanto.
31
+ - **Access** — URL MCP, cartão de agente A2A quando disponível e guias compartilhados de configuração; o fluxo completo e o fallback de token ficam em `/mcp/connect`.
32
+
33
+ O seletor **Personal / Organization** fornece o escopo às abas. Os membros
34
+ podem inspecionar os dados da organização, enquanto sua administração continua
35
+ restrita a proprietários/administradores onde o componente hospedado impõe esse
36
+ limite. O objetivo é
37
+ tornar o contexto inspecionável, atribuível e governável, separando capacidade
38
+ de acesso. A página é uma camada fina sobre componentes, ações e verificações de
39
+ acesso existentes, não um novo console administrativo. Ela ainda não oferece UI
40
+ para grants, edição de escopo, revogação ou histórico de procedência por iteração.
41
+
9
42
  Agent-Native é deliberadamente combinável. Você pode usar o agente sem muito UI,
10
43
  use o UI sem o tempo de execução do agente integrado ou use os dois juntos como um pacote completo
11
44
  aplicativo.
@@ -117,6 +117,16 @@ Todo aplicativo hospedado também tem uma página auxiliar em
117
117
  `https://&lt;app&gt;/mcp/connect` com o URL copiável e
118
118
  guias específicas do host para Claude, ChatGPT, Cursor, Código Claude, Codex e Outros.
119
119
 
120
+ ### A aba Access no aplicativo {#access-tab}
121
+
122
+ Os aplicativos que montam `AgentTabsPage` oferecem o mesmo fluxo de conexão na
123
+ aba **Access**. Ela mostra a URL MCP, um cartão de agente A2A quando disponível e
124
+ os guias compartilhados de configuração para Claude, ChatGPT, Cursor, Claude
125
+ Code, Codex e outros clientes. Use-a como ponto de partida dentro do app e abra
126
+ `/mcp/connect` para o fluxo completo e o fallback de token. É uma UI de
127
+ configuração de conexão, não um console geral de acesso: a aba ainda não gerencia
128
+ grants, edição de escopo ou revogação.
129
+
120
130
  ### Claude e ChatGPT OAuth {#oauth}
121
131
 
122
132
  Claude / Claude Desktop: adicione um conector personalizado, cole o MCP URL, clique em
@@ -384,6 +384,48 @@ console.log(`Called ${result.target.name}: ${result.responseText}`);
384
384
  签名为 JWT 不记名代币。仅将 `apiKeyEnv` 用于旧版外部对等点
385
385
  需要静态不记名令牌。使用本地actions而不是自己调用。
386
386
 
387
+ ## CLI:agent-native invoke {#cli-invoke}
388
+
389
+ `agent-native invoke` 是对与 `agentNative.invoke()` 相同的解析并调用原语的一层轻量 CLI 包装。用它可以从 shell 脚本、CI 任务、cron 条目或任何能够执行 shell 命令的外部系统触发某个应用的代理——相当于手动向 `/_agent-native/a2a` 发送 POST 请求的命令行等价形式。
390
+
391
+ ```bash
392
+ agent-native invoke <app-or-url> "prompt" [options]
393
+ ```
394
+
395
+ ```bash
396
+ # 在工作区注册表中解析 "analytics" 并等待回复
397
+ agent-native invoke analytics "Summarize signups by source this month"
398
+
399
+ # 通过 URL 直接调用一个已部署的应用,从环境变量中读取 bearer token
400
+ agent-native invoke https://analytics.example.com "How many signups last week?" \
401
+ --api-key-env ANALYTICS_A2A_KEY
402
+
403
+ # 强制使用一次阻塞式 message/send,而不是默认的异步+轮询方式
404
+ agent-native invoke analytics "Quick lookup" --sync
405
+
406
+ # 输出机器可读的结果,便于脚本处理
407
+ agent-native invoke analytics "Summarize signups" --json
408
+ ```
409
+
410
+ | Option | Description |
411
+ | ------------------------- | ----------------------------------------------------------- |
412
+ | `--agent <id\|name\|url>` | 目标代理(是位置参数 `<app-or-url>` 的别名) |
413
+ | `--message <text>` | 提示词(是位置参数 `"prompt"` 的别名) |
414
+ | `--api-key-env <name>` | 从环境变量中读取 bearer token |
415
+ | `--api-key <token>` | 直接内联传入的 bearer token 值 |
416
+ | `--context-id <id>` | A2A 的 `contextId`,用于延续已有任务的对话 |
417
+ | `--self-app-id <id>` | 当前应用 id,用于防止自我调用 |
418
+ | `--self-url <url>` | 当前应用 URL,用于防止自我调用 |
419
+ | `--timeout-ms <n>` | 异步轮询超时时间 |
420
+ | `--poll-interval-ms <n>` | 异步轮询间隔 |
421
+ | `--sync` | 使用一次阻塞式 `message/send` 请求,而非默认的异步+轮询方式 |
422
+ | `--no-hint` | 原样发送提示词,不附加跨应用调用提示 |
423
+ | `--json` | 以 JSON 形式打印目标元数据和响应文本 |
424
+
425
+ 与 `callAgent()` 一样,该 CLI 默认使用异步+轮询方式(底层是 `invokeAgent` → `callAgent`),这是针对托管/无服务器目标的安全选择——参见上文的[无服务器 webhook 与网关超时](#json-rpc-methods)。只有在确定目标不在执行时间受限的网关之后时,才传入 `--sync`。
426
+
427
+ 目标的解析方式与 `agentNative.invoke()` 相同:通过工作区应用 id、应用名称,或完整 URL——因此同一条命令既适用于多应用工作区中的同级应用,也适用于其他地方任意的 A2A 对等端。
428
+
387
429
  ## 任务生命周期 {#task-lifecycle}
388
430
 
389
431
  每条消息都会创建一个在以下状态之间移动的任务:
@@ -6,6 +6,35 @@ search: "无头代理丰富聊天完整应用程序 BYO 代理运行时 AgentCha
6
6
 
7
7
  # 特工表面
8
8
 
9
+ ## 完整的 Agent 工作区 {#agent-page}
10
+
11
+ 当完整应用需要一个持久位置来检查和配置代理时,请在 `/agent` 挂载
12
+ `AgentTabsPage`。将此路由加入应用导航,并向 `AgentSidebar` 传入
13
+ `agentPageHref="/agent"`,这样 Resources 和 Settings 模式就可以链接到完整
14
+ 页面,而不必重复这些流程。
15
+
16
+ ```tsx filename="app/routes/agent.tsx"
17
+ import { AgentTabsPage } from "@agent-native/core/client";
18
+
19
+ export default function AgentRoute() {
20
+ return <AgentTabsPage />;
21
+ }
22
+ ```
23
+
24
+ 共享页面目前提供五个选项卡:
25
+
26
+ - **Context** — 显示范围预览、令牌预算、按来源/治理/来源引用分组的有序系统部分、列表/treemap 视图和最新实时线程快照。
27
+ - **Files** — 为个人或组织资源重新托管现有的 `ResourcesPanel`。
28
+ - **Connections** — MCP 服务器管理和 A2A 远程代理列表,即此应用的代理可以调用什么。
29
+ - **Jobs** — 使用现有暂停/恢复、详情和删除流程的范围化定期作业与自动化。自动化目前仅属于个人。
30
+ - **Access** — MCP URL、可用时的 A2A 代理卡片以及共享客户端设置指南;完整连接流程和令牌回退位于 `/mcp/connect`。
31
+
32
+ 页面级 **Personal / Organization** 切换器为选项卡提供范围。成员可以检查组织
33
+ 数据;在托管组件实施该边界的地方,组织管理仍仅限所有者/管理员。目标是让上下文
34
+ 可检查、可归因、可治理,并将能力与访问分开。该页面只是对现有组件、操作和
35
+ 访问检查的薄封装,不是新的管理控制台。目前还没有 grants、范围编辑、撤销
36
+ 界面或逐迭代 provenance 历史。
37
+
9
38
  Agent-Native 是故意可组合的。不用太多就可以使用代理UI,
10
39
  在没有内置代理运行时的情况下使用 UI,或者将两者一起用作完整的
11
40
  应用程序。
@@ -117,6 +117,14 @@ https://<your-app>.agent-native.com/mcp
117
117
  `https://&lt;app&gt;/mcp/connect` 与可复制的 URL 和
118
118
  Claude、ChatGPT、光标、Claude 代码、Codex 和其他的主机特定选项卡。
119
119
 
120
+ ### 应用内的 Access 选项卡 {#access-tab}
121
+
122
+ 挂载 `AgentTabsPage` 的应用也会在 **Access** 选项卡中提供相同的连接流程。
123
+ 它显示 MCP URL、可用时的 A2A 代理卡片,以及 Claude、ChatGPT、Cursor、Claude
124
+ Code、Codex 和其他客户端的共享设置指南。可将它作为应用内的起点,并打开
125
+ `/mcp/connect` 查看完整流程和令牌回退。这是连接设置界面,不是通用访问控制
126
+ 台;该选项卡目前还不管理 grants、范围编辑或撤销。
127
+
120
128
  ### Claude 和 ChatGPT OAuth {#oauth}
121
129
 
122
130
  Claude / Claude 桌面:添加自定义连接器,粘贴 MCP URL,点击
@@ -384,6 +384,48 @@ console.log(`Called ${result.target.name}: ${result.responseText}`);
384
384
  簽名為 JWT 不記名代幣。僅將 `apiKeyEnv` 用於舊版外部對等點
385
385
  需要靜態不記名權杖。使用本機actions而不是自己呼叫。
386
386
 
387
+ ## CLI:agent-native invoke {#cli-invoke}
388
+
389
+ `agent-native invoke` 是一個薄的 CLI 包裝器,架構在與 `agentNative.invoke()` 相同的解析並呼叫的基本操作之上。使用它可以從 shell 腳本、CI 工作、cron 項目,或任何可以執行外部指令的系統觸發應用程式的代理——相當於手動向 `/_agent-native/a2a` 發送 POST 請求的 CLI 版本。
390
+
391
+ ```bash
392
+ agent-native invoke <app-or-url> "prompt" [options]
393
+ ```
394
+
395
+ ```bash
396
+ # 在工作區註冊表中解析 "analytics" 並等待回覆
397
+ agent-native invoke analytics "Summarize signups by source this month"
398
+
399
+ # 直接透過 URL 呼叫已部署的應用程式,從環境變數讀取不記名權杖
400
+ agent-native invoke https://analytics.example.com "How many signups last week?" \
401
+ --api-key-env ANALYTICS_A2A_KEY
402
+
403
+ # 強制使用一次阻塞式 message/send,而非預設的非同步+輪詢
404
+ agent-native invoke analytics "Quick lookup" --sync
405
+
406
+ # 為腳本編寫提供機器可讀輸出
407
+ agent-native invoke analytics "Summarize signups" --json
408
+ ```
409
+
410
+ | 選項 | 描述 |
411
+ | ------------------------- | --------------------------------------------------------- |
412
+ | `--agent <id\|name\|url>` | 目標代理(位置參數 `<app-or-url>` 的別名) |
413
+ | `--message <text>` | 提示(位置參數 `"prompt"` 的別名) |
414
+ | `--api-key-env <name>` | 從環境變數讀取不記名權杖 |
415
+ | `--api-key <token>` | 直接內嵌傳入的不記名權杖值 |
416
+ | `--context-id <id>` | A2A `contextId`,用於延續現有工作的對話 |
417
+ | `--self-app-id <id>` | 目前應用程式 ID,用於防止自我呼叫 |
418
+ | `--self-url <url>` | 目前應用程式 URL,用於防止自我呼叫 |
419
+ | `--timeout-ms <n>` | 非同步輪詢逾時時間 |
420
+ | `--poll-interval-ms <n>` | 非同步輪詢間隔 |
421
+ | `--sync` | 使用一次阻塞式 `message/send` 請求,取代預設的非同步+輪詢 |
422
+ | `--no-hint` | 按原樣傳送提示,不加入跨應用程式呼叫提示 |
423
+ | `--json` | 以 JSON 格式輸出目標中繼資料與回應文字 |
424
+
425
+ 與 `callAgent()` 一樣,此 CLI 預設使用非同步+輪詢(底層是 `invokeAgent` → `callAgent`),這是針對託管/無伺服器目標的安全選擇——請參閱上方的[無伺服器 webhook 與閘道逾時](#json-rpc-methods)。只有在確定目標不在具有短執行限制的閘道之後時,才傳入 `--sync`。
426
+
427
+ 目標的解析方式與 `agentNative.invoke()` 相同:透過工作區應用程式 ID、應用程式名稱,或完整 URL——因此同一指令在多應用程式工作區中的同級應用程式,或其他地方的任意 A2A 對等點上都能運作。
428
+
387
429
  ## 工作生命週期 {#task-lifecycle}
388
430
 
389
431
  每條訊息都會建立一個在以下狀態之間移動的工作:
@@ -6,6 +6,35 @@ search: "無頭代理豐富聊天完整應用程式 BYO 代理執行時 AgentCha
6
6
 
7
7
  # 代理表面
8
8
 
9
+ ## 完整的 Agent 工作區 {#agent-page}
10
+
11
+ 當完整應用程式需要一個持久位置來檢查和設定代理時,請在 `/agent` 掛載
12
+ `AgentTabsPage`。將此路由加入應用程式導覽,並向 `AgentSidebar` 傳入
13
+ `agentPageHref="/agent"`,這樣 Resources 和 Settings 模式就能連結到完整頁面,
14
+ 而不必重複這些流程。
15
+
16
+ ```tsx filename="app/routes/agent.tsx"
17
+ import { AgentTabsPage } from "@agent-native/core/client";
18
+
19
+ export default function AgentRoute() {
20
+ return <AgentTabsPage />;
21
+ }
22
+ ```
23
+
24
+ 共用頁面目前提供五個分頁:
25
+
26
+ - **Context** — 顯示範圍預覽、權杖預算、按來源/治理/來源參照分組的有序系統區段、清單/treemap 檢視和最新即時執行緒快照。
27
+ - **Files** — 為個人或組織資源重新託管現有的 `ResourcesPanel`。
28
+ - **Connections** — MCP 伺服器管理和 A2A 遠端代理清單,也就是此應用程式的代理可以呼叫什麼。
29
+ - **Jobs** — 使用現有暫停/恢復、詳細資料和刪除流程的範圍化定期工作與自動化。自動化目前僅限個人。
30
+ - **Access** — MCP URL、可用時的 A2A 代理卡片以及共用用戶端設定指南;完整連線流程和權杖備援位於 `/mcp/connect`。
31
+
32
+ 頁面級 **Personal / Organization** 切換器為分頁提供範圍。成員可以檢查組織
33
+ 資料;在託管元件實施該界線的地方,組織管理仍僅限擁有者/管理員。目標是讓內容可
34
+ 檢查、可歸因、可治理,並將能力與存取分開。此頁面只是對現有元件、動作和
35
+ 存取檢查的薄封裝,不是新的管理主控台。目前還沒有 grants、範圍編輯、撤銷
36
+ 介面或逐次迭代的 provenance 歷史。
37
+
9
38
  Agent-Native 是故意可組合的。不用太多就可以使用代理 UI,
10
39
  在沒有內建代理執行時的情況下使用 UI,或者將兩者一起用作完整的
11
40
  應用程式。