@agent-native/core 0.47.1 → 0.48.1

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 (808) hide show
  1. package/bin/agent-native.js +41 -0
  2. package/dist/a2a/handlers.js +2 -2
  3. package/dist/a2a/handlers.js.map +1 -1
  4. package/dist/a2a/server.js +2 -2
  5. package/dist/a2a/server.js.map +1 -1
  6. package/dist/action.d.ts +43 -2
  7. package/dist/action.d.ts.map +1 -1
  8. package/dist/action.js.map +1 -1
  9. package/dist/agent/context-xray/actions/context-evict.d.ts +7 -1
  10. package/dist/agent/context-xray/actions/context-evict.d.ts.map +1 -1
  11. package/dist/agent/context-xray/actions/context-manifest-get.d.ts +4 -1
  12. package/dist/agent/context-xray/actions/context-manifest-get.d.ts.map +1 -1
  13. package/dist/agent/context-xray/actions/context-pin.d.ts +7 -1
  14. package/dist/agent/context-xray/actions/context-pin.d.ts.map +1 -1
  15. package/dist/agent/context-xray/actions/context-report.d.ts +12 -1
  16. package/dist/agent/context-xray/actions/context-report.d.ts.map +1 -1
  17. package/dist/agent/context-xray/actions/context-restore.d.ts +7 -1
  18. package/dist/agent/context-xray/actions/context-restore.d.ts.map +1 -1
  19. package/dist/agent/context-xray/apply-directives.d.ts.map +1 -1
  20. package/dist/agent/context-xray/apply-directives.js.map +1 -1
  21. package/dist/agent/context-xray/schema.d.ts +10 -10
  22. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
  23. package/dist/agent/engine/ai-sdk-engine.js +26 -3
  24. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  25. package/dist/agent/engine/anthropic-engine.d.ts +1 -1
  26. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
  27. package/dist/agent/engine/builder-engine.d.ts +1 -1
  28. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  29. package/dist/agent/engine/builder-engine.js +47 -8
  30. package/dist/agent/engine/builder-engine.js.map +1 -1
  31. package/dist/agent/engine/builtin.js +1 -1
  32. package/dist/agent/engine/builtin.js.map +1 -1
  33. package/dist/agent/engine/output-tokens.d.ts +1 -1
  34. package/dist/agent/engine/output-tokens.d.ts.map +1 -1
  35. package/dist/agent/engine/output-tokens.js +6 -2
  36. package/dist/agent/engine/output-tokens.js.map +1 -1
  37. package/dist/agent/engine/registry.d.ts.map +1 -1
  38. package/dist/agent/engine/registry.js +7 -4
  39. package/dist/agent/engine/registry.js.map +1 -1
  40. package/dist/agent/engine/types.d.ts +19 -0
  41. package/dist/agent/engine/types.d.ts.map +1 -1
  42. package/dist/agent/engine/types.js +6 -0
  43. package/dist/agent/engine/types.js.map +1 -1
  44. package/dist/agent/model-config.d.ts +22 -14
  45. package/dist/agent/model-config.d.ts.map +1 -1
  46. package/dist/agent/model-config.js +113 -8
  47. package/dist/agent/model-config.js.map +1 -1
  48. package/dist/agent/production-agent.d.ts +19 -1
  49. package/dist/agent/production-agent.d.ts.map +1 -1
  50. package/dist/agent/production-agent.js +253 -39
  51. package/dist/agent/production-agent.js.map +1 -1
  52. package/dist/agent/run-loop-with-resume.d.ts.map +1 -1
  53. package/dist/agent/run-loop-with-resume.js +10 -0
  54. package/dist/agent/run-loop-with-resume.js.map +1 -1
  55. package/dist/agent/run-manager.d.ts +1 -0
  56. package/dist/agent/run-manager.d.ts.map +1 -1
  57. package/dist/agent/run-manager.js +36 -9
  58. package/dist/agent/run-manager.js.map +1 -1
  59. package/dist/agent/run-store.d.ts +47 -4
  60. package/dist/agent/run-store.d.ts.map +1 -1
  61. package/dist/agent/run-store.js +154 -4
  62. package/dist/agent/run-store.js.map +1 -1
  63. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  64. package/dist/agent/thread-data-builder.js +57 -2
  65. package/dist/agent/thread-data-builder.js.map +1 -1
  66. package/dist/agent/types.d.ts +3 -0
  67. package/dist/agent/types.d.ts.map +1 -1
  68. package/dist/agent/types.js.map +1 -1
  69. package/dist/agent-web/generator.d.ts +3 -3
  70. package/dist/appearance/actions/change-appearance.d.ts +6 -1
  71. package/dist/appearance/actions/change-appearance.d.ts.map +1 -1
  72. package/dist/application-state/handlers.d.ts +2 -2
  73. package/dist/application-state/handlers.d.ts.map +1 -1
  74. package/dist/application-state/store.d.ts.map +1 -1
  75. package/dist/application-state/store.js +17 -0
  76. package/dist/application-state/store.js.map +1 -1
  77. package/dist/catalog.json +2 -1
  78. package/dist/cli/code-agent-commands.d.ts.map +1 -1
  79. package/dist/cli/code-agent-commands.js +2 -0
  80. package/dist/cli/code-agent-commands.js.map +1 -1
  81. package/dist/cli/code-agent-connector.js +7 -13
  82. package/dist/cli/code-agent-connector.js.map +1 -1
  83. package/dist/cli/code-agent-executor.d.ts +54 -2
  84. package/dist/cli/code-agent-executor.d.ts.map +1 -1
  85. package/dist/cli/code-agent-executor.js +504 -48
  86. package/dist/cli/code-agent-executor.js.map +1 -1
  87. package/dist/cli/code-agent-runs.d.ts +13 -0
  88. package/dist/cli/code-agent-runs.d.ts.map +1 -1
  89. package/dist/cli/code-agent-runs.js +36 -0
  90. package/dist/cli/code-agent-runs.js.map +1 -1
  91. package/dist/cli/code.js +59 -5
  92. package/dist/cli/code.js.map +1 -1
  93. package/dist/cli/connect.js +141 -3
  94. package/dist/cli/connect.js.map +1 -1
  95. package/dist/cli/index.js +0 -0
  96. package/dist/cli/pr-visual-recap-workflow.js +1 -1
  97. package/dist/cli/pr-visual-recap-workflow.js.map +1 -1
  98. package/dist/cli/recap.js +476 -46
  99. package/dist/cli/recap.js.map +1 -1
  100. package/dist/cli/skills.js +298 -179
  101. package/dist/cli/skills.js.map +1 -1
  102. package/dist/client/AgentPanel.d.ts.map +1 -1
  103. package/dist/client/AgentPanel.js +29 -2
  104. package/dist/client/AgentPanel.js.map +1 -1
  105. package/dist/client/AgentTaskCard.d.ts.map +1 -1
  106. package/dist/client/AgentTaskCard.js +17 -2
  107. package/dist/client/AgentTaskCard.js.map +1 -1
  108. package/dist/client/AssistantChat.d.ts +1 -1
  109. package/dist/client/AssistantChat.d.ts.map +1 -1
  110. package/dist/client/AssistantChat.js +310 -1732
  111. package/dist/client/AssistantChat.js.map +1 -1
  112. package/dist/client/CommandMenu.d.ts +1 -1
  113. package/dist/client/CommandMenu.d.ts.map +1 -1
  114. package/dist/client/CommandMenu.js +1 -1
  115. package/dist/client/CommandMenu.js.map +1 -1
  116. package/dist/client/HighlightedCodeBlock.d.ts +40 -0
  117. package/dist/client/HighlightedCodeBlock.d.ts.map +1 -0
  118. package/dist/client/HighlightedCodeBlock.js +110 -0
  119. package/dist/client/HighlightedCodeBlock.js.map +1 -0
  120. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  121. package/dist/client/MultiTabAssistantChat.js +8 -1
  122. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  123. package/dist/client/PoweredByBadge.d.ts +2 -2
  124. package/dist/client/PoweredByBadge.d.ts.map +1 -1
  125. package/dist/client/RunStuckBanner.d.ts +1 -1
  126. package/dist/client/RunStuckBanner.d.ts.map +1 -1
  127. package/dist/client/StarfieldBackground.d.ts.map +1 -1
  128. package/dist/client/StarfieldBackground.js +10 -5
  129. package/dist/client/StarfieldBackground.js.map +1 -1
  130. package/dist/client/Turnstile.d.ts +1 -1
  131. package/dist/client/Turnstile.d.ts.map +1 -1
  132. package/dist/client/agent-chat-adapter.d.ts +3 -2
  133. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  134. package/dist/client/agent-chat-adapter.js +13 -9
  135. package/dist/client/agent-chat-adapter.js.map +1 -1
  136. package/dist/client/app-providers.d.ts +99 -0
  137. package/dist/client/app-providers.d.ts.map +1 -0
  138. package/dist/client/app-providers.js +19 -0
  139. package/dist/client/app-providers.js.map +1 -0
  140. package/dist/client/assistant-ui-recovery.d.ts +1 -1
  141. package/dist/client/auth-redirect-url.d.ts +1 -1
  142. package/dist/client/auth-redirect-url.d.ts.map +1 -1
  143. package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts +0 -19
  144. package/dist/client/blocks/library/AnnotatedCodeBlock.d.ts.map +1 -1
  145. package/dist/client/blocks/library/AnnotatedCodeBlock.js +141 -55
  146. package/dist/client/blocks/library/AnnotatedCodeBlock.js.map +1 -1
  147. package/dist/client/blocks/library/DiffBlock.js +1 -1
  148. package/dist/client/blocks/library/DiffBlock.js.map +1 -1
  149. package/dist/client/blocks/library/FileTreeBlock.d.ts.map +1 -1
  150. package/dist/client/blocks/library/FileTreeBlock.js +1 -1
  151. package/dist/client/blocks/library/FileTreeBlock.js.map +1 -1
  152. package/dist/client/blocks/library/HighlightedCode.d.ts.map +1 -1
  153. package/dist/client/blocks/library/HighlightedCode.js +5 -3
  154. package/dist/client/blocks/library/HighlightedCode.js.map +1 -1
  155. package/dist/client/blocks/library/annotation-rail.d.ts +5 -4
  156. package/dist/client/blocks/library/annotation-rail.d.ts.map +1 -1
  157. package/dist/client/blocks/library/annotation-rail.js +22 -3
  158. package/dist/client/blocks/library/annotation-rail.js.map +1 -1
  159. package/dist/client/blocks/library/diagram.js +1 -1
  160. package/dist/client/blocks/library/diagram.js.map +1 -1
  161. package/dist/client/blocks/library/diff.config.d.ts +3 -2
  162. package/dist/client/blocks/library/diff.config.d.ts.map +1 -1
  163. package/dist/client/blocks/library/diff.config.js +4 -3
  164. package/dist/client/blocks/library/diff.config.js.map +1 -1
  165. package/dist/client/blocks/library/question-form.d.ts.map +1 -1
  166. package/dist/client/blocks/library/question-form.js +2 -1
  167. package/dist/client/blocks/library/question-form.js.map +1 -1
  168. package/dist/client/blocks/library/wireframe-kit.d.ts +1 -1
  169. package/dist/client/blocks/library/wireframe-kit.d.ts.map +1 -1
  170. package/dist/client/blocks/library/wireframe.js +1 -1
  171. package/dist/client/blocks/library/wireframe.js.map +1 -1
  172. package/dist/client/chat/attachment-adapters.d.ts +58 -0
  173. package/dist/client/chat/attachment-adapters.d.ts.map +1 -0
  174. package/dist/client/chat/attachment-adapters.js +331 -0
  175. package/dist/client/chat/attachment-adapters.js.map +1 -0
  176. package/dist/client/chat/index.d.ts +13 -0
  177. package/dist/client/chat/index.d.ts.map +1 -0
  178. package/dist/client/chat/index.js +13 -0
  179. package/dist/client/chat/index.js.map +1 -0
  180. package/dist/client/chat/markdown-renderer.d.ts +49 -0
  181. package/dist/client/chat/markdown-renderer.d.ts.map +1 -0
  182. package/dist/client/chat/markdown-renderer.js +391 -0
  183. package/dist/client/chat/markdown-renderer.js.map +1 -0
  184. package/dist/client/chat/message-components.d.ts +35 -0
  185. package/dist/client/chat/message-components.d.ts.map +1 -0
  186. package/dist/client/chat/message-components.js +452 -0
  187. package/dist/client/chat/message-components.js.map +1 -0
  188. package/dist/client/chat/repo-helpers.d.ts +41 -0
  189. package/dist/client/chat/repo-helpers.d.ts.map +1 -0
  190. package/dist/client/chat/repo-helpers.js +61 -0
  191. package/dist/client/chat/repo-helpers.js.map +1 -0
  192. package/dist/client/chat/run-recovery.d.ts +41 -0
  193. package/dist/client/chat/run-recovery.d.ts.map +1 -0
  194. package/dist/client/chat/run-recovery.js +348 -0
  195. package/dist/client/chat/run-recovery.js.map +1 -0
  196. package/dist/client/chat/tool-call-display.d.ts +34 -0
  197. package/dist/client/chat/tool-call-display.d.ts.map +1 -0
  198. package/dist/client/chat/tool-call-display.js +284 -0
  199. package/dist/client/chat/tool-call-display.js.map +1 -0
  200. package/dist/client/code-agent-chat-adapter.d.ts.map +1 -1
  201. package/dist/client/code-agent-chat-adapter.js +20 -0
  202. package/dist/client/code-agent-chat-adapter.js.map +1 -1
  203. package/dist/client/collab/index.d.ts +10 -0
  204. package/dist/client/collab/index.d.ts.map +1 -0
  205. package/dist/client/collab/index.js +10 -0
  206. package/dist/client/collab/index.js.map +1 -0
  207. package/dist/client/components/AgentPresenceChip.d.ts +1 -1
  208. package/dist/client/components/AgentPresenceChip.d.ts.map +1 -1
  209. package/dist/client/components/ApiKeySettings.d.ts +1 -1
  210. package/dist/client/components/ApiKeySettings.d.ts.map +1 -1
  211. package/dist/client/components/CodeAgentIndicator.d.ts +1 -1
  212. package/dist/client/components/CodeAgentIndicator.d.ts.map +1 -1
  213. package/dist/client/components/CodeRequiredDialog.d.ts +1 -1
  214. package/dist/client/components/CodeRequiredDialog.d.ts.map +1 -1
  215. package/dist/client/components/LiveCursorOverlay.d.ts.map +1 -1
  216. package/dist/client/components/LiveCursorOverlay.js.map +1 -1
  217. package/dist/client/components/PresenceBar.d.ts +1 -1
  218. package/dist/client/components/PresenceBar.d.ts.map +1 -1
  219. package/dist/client/composer/PromptComposer.d.ts.map +1 -1
  220. package/dist/client/composer/PromptComposer.js +6 -26
  221. package/dist/client/composer/PromptComposer.js.map +1 -1
  222. package/dist/client/composer/TiptapComposer.d.ts +8 -2
  223. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  224. package/dist/client/composer/TiptapComposer.js +21 -9
  225. package/dist/client/composer/TiptapComposer.js.map +1 -1
  226. package/dist/client/composer/VoiceButton.d.ts +2 -2
  227. package/dist/client/composer/VoiceButton.d.ts.map +1 -1
  228. package/dist/client/composer/index.d.ts +1 -1
  229. package/dist/client/composer/index.d.ts.map +1 -1
  230. package/dist/client/composer/index.js +1 -1
  231. package/dist/client/composer/index.js.map +1 -1
  232. package/dist/client/composer/use-skills.d.ts +1 -1
  233. package/dist/client/context-xray/ContextMeter.d.ts +1 -1
  234. package/dist/client/context-xray/ContextMeter.d.ts.map +1 -1
  235. package/dist/client/context-xray/ContextMeter.js +3 -3
  236. package/dist/client/context-xray/ContextMeter.js.map +1 -1
  237. package/dist/client/context-xray/ContextXRayPanel.d.ts.map +1 -1
  238. package/dist/client/context-xray/ContextXRayPanel.js +4 -3
  239. package/dist/client/context-xray/ContextXRayPanel.js.map +1 -1
  240. package/dist/client/context-xray/format.d.ts +11 -0
  241. package/dist/client/context-xray/format.d.ts.map +1 -1
  242. package/dist/client/context-xray/format.js +16 -0
  243. package/dist/client/context-xray/format.js.map +1 -1
  244. package/dist/client/conversation/AgentConversation.d.ts.map +1 -1
  245. package/dist/client/conversation/AgentConversation.js +8 -53
  246. package/dist/client/conversation/AgentConversation.js.map +1 -1
  247. package/dist/client/conversation/use-near-bottom-autoscroll.d.ts +1 -1
  248. package/dist/client/conversation/use-near-bottom-autoscroll.d.ts.map +1 -1
  249. package/dist/client/conversation/use-near-bottom-autoscroll.js +14 -1
  250. package/dist/client/conversation/use-near-bottom-autoscroll.js.map +1 -1
  251. package/dist/client/create-query-client.d.ts +28 -0
  252. package/dist/client/create-query-client.d.ts.map +1 -0
  253. package/dist/client/create-query-client.js +78 -0
  254. package/dist/client/create-query-client.js.map +1 -0
  255. package/dist/client/db-admin/DevDatabaseLink.d.ts +1 -1
  256. package/dist/client/db-admin/DevDatabaseLink.d.ts.map +1 -1
  257. package/dist/client/db-admin/RowSidePanel.d.ts +1 -1
  258. package/dist/client/db-admin/RowSidePanel.d.ts.map +1 -1
  259. package/dist/client/db-admin/RowSidePanel.js +2 -2
  260. package/dist/client/db-admin/RowSidePanel.js.map +1 -1
  261. package/dist/client/db-admin/TableEditor.d.ts +1 -1
  262. package/dist/client/db-admin/TableEditor.d.ts.map +1 -1
  263. package/dist/client/db-admin/TableEditor.js +1 -1
  264. package/dist/client/db-admin/TableEditor.js.map +1 -1
  265. package/dist/client/db-admin/cell-format.d.ts +1 -1
  266. package/dist/client/db-admin/cell-format.d.ts.map +1 -1
  267. package/dist/client/dev-overlay/DevOverlay.d.ts +1 -1
  268. package/dist/client/dev-overlay/DevOverlay.d.ts.map +1 -1
  269. package/dist/client/editor/index.d.ts +2 -0
  270. package/dist/client/editor/index.d.ts.map +1 -0
  271. package/dist/client/editor/index.js +2 -0
  272. package/dist/client/editor/index.js.map +1 -0
  273. package/dist/client/error-format.d.ts.map +1 -1
  274. package/dist/client/error-format.js +4 -0
  275. package/dist/client/error-format.js.map +1 -1
  276. package/dist/client/extensions/AgentNativeExtensionFrame.d.ts +1 -1
  277. package/dist/client/extensions/AgentNativeExtensionFrame.d.ts.map +1 -1
  278. package/dist/client/extensions/EmbeddedExtension.d.ts +1 -1
  279. package/dist/client/extensions/EmbeddedExtension.d.ts.map +1 -1
  280. package/dist/client/extensions/ExtensionSlot.d.ts +1 -1
  281. package/dist/client/extensions/ExtensionSlot.d.ts.map +1 -1
  282. package/dist/client/extensions/ExtensionViewerPage.d.ts +1 -1
  283. package/dist/client/extensions/ExtensionViewerPage.d.ts.map +1 -1
  284. package/dist/client/guided-questions.d.ts +6 -6
  285. package/dist/client/host-bridge.d.ts.map +1 -1
  286. package/dist/client/host-bridge.js +2 -0
  287. package/dist/client/host-bridge.js.map +1 -1
  288. package/dist/client/index.d.ts +7 -6
  289. package/dist/client/index.d.ts.map +1 -1
  290. package/dist/client/index.js +5 -3
  291. package/dist/client/index.js.map +1 -1
  292. package/dist/client/onboarding/OnboardingBanner.d.ts +1 -1
  293. package/dist/client/onboarding/OnboardingBanner.d.ts.map +1 -1
  294. package/dist/client/onboarding/OnboardingPanel.d.ts +1 -1
  295. package/dist/client/onboarding/OnboardingPanel.d.ts.map +1 -1
  296. package/dist/client/onboarding/SetupButton.d.ts +1 -1
  297. package/dist/client/onboarding/SetupButton.d.ts.map +1 -1
  298. package/dist/client/org/InvitationBanner.d.ts +1 -1
  299. package/dist/client/org/InvitationBanner.d.ts.map +1 -1
  300. package/dist/client/org/OrgSwitcher.d.ts +1 -1
  301. package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
  302. package/dist/client/org/RequireActiveOrg.d.ts +1 -1
  303. package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
  304. package/dist/client/org/hooks.d.ts +3 -3
  305. package/dist/client/org/hooks.d.ts.map +1 -1
  306. package/dist/client/progress/RunsTray.d.ts +2 -2
  307. package/dist/client/progress/RunsTray.d.ts.map +1 -1
  308. package/dist/client/progress/RunsTray.js +34 -9
  309. package/dist/client/progress/RunsTray.js.map +1 -1
  310. package/dist/client/resources/ResourceEditor.d.ts.map +1 -1
  311. package/dist/client/resources/ResourceEditor.js +1 -1
  312. package/dist/client/resources/ResourceEditor.js.map +1 -1
  313. package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
  314. package/dist/client/resources/ResourcesPanel.js +2 -0
  315. package/dist/client/resources/ResourcesPanel.js.map +1 -1
  316. package/dist/client/rich-markdown-editor/BubbleToolbar.d.ts +1 -1
  317. package/dist/client/rich-markdown-editor/BubbleToolbar.d.ts.map +1 -1
  318. package/dist/client/rich-markdown-editor/CodeBlockNode.d.ts.map +1 -1
  319. package/dist/client/rich-markdown-editor/CodeBlockNode.js +2 -1
  320. package/dist/client/rich-markdown-editor/CodeBlockNode.js.map +1 -1
  321. package/dist/client/rich-markdown-editor/ImageExtension.d.ts.map +1 -1
  322. package/dist/client/rich-markdown-editor/ImageExtension.js +2 -1
  323. package/dist/client/rich-markdown-editor/ImageExtension.js.map +1 -1
  324. package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts +1 -1
  325. package/dist/client/rich-markdown-editor/RegistryBlockNode.d.ts.map +1 -1
  326. package/dist/client/rich-markdown-editor/RegistryBlockNode.js +1 -1
  327. package/dist/client/rich-markdown-editor/RegistryBlockNode.js.map +1 -1
  328. package/dist/client/rich-markdown-editor/RichMarkdownEditor.d.ts +1 -1
  329. package/dist/client/rich-markdown-editor/SharedRichEditor.d.ts.map +1 -1
  330. package/dist/client/rich-markdown-editor/SharedRichEditor.js +2 -3
  331. package/dist/client/rich-markdown-editor/SharedRichEditor.js.map +1 -1
  332. package/dist/client/rich-markdown-editor/SlashCommandMenu.d.ts +1 -1
  333. package/dist/client/rich-markdown-editor/SlashCommandMenu.d.ts.map +1 -1
  334. package/dist/client/route-state.d.ts +12 -2
  335. package/dist/client/route-state.d.ts.map +1 -1
  336. package/dist/client/route-state.js +1 -1
  337. package/dist/client/route-state.js.map +1 -1
  338. package/dist/client/route-warmup.d.ts +1 -1
  339. package/dist/client/route-warmup.d.ts.map +1 -1
  340. package/dist/client/settings/VoiceTranscriptionSection.js +1 -1
  341. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  342. package/dist/client/settings/useBuilderStatus.d.ts +2 -2
  343. package/dist/client/sharing/ShareDialog.d.ts +1 -1
  344. package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
  345. package/dist/client/sse-event-processor.d.ts +8 -0
  346. package/dist/client/sse-event-processor.d.ts.map +1 -1
  347. package/dist/client/sse-event-processor.js +33 -10
  348. package/dist/client/sse-event-processor.js.map +1 -1
  349. package/dist/client/terminal/AgentTerminal.d.ts +1 -1
  350. package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
  351. package/dist/client/terminal/AgentTerminal.js +4 -2
  352. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  353. package/dist/client/tool-cells/BashCell.d.ts +25 -0
  354. package/dist/client/tool-cells/BashCell.d.ts.map +1 -0
  355. package/dist/client/tool-cells/BashCell.js +49 -0
  356. package/dist/client/tool-cells/BashCell.js.map +1 -0
  357. package/dist/client/tool-cells/EditCell.d.ts +24 -0
  358. package/dist/client/tool-cells/EditCell.d.ts.map +1 -0
  359. package/dist/client/tool-cells/EditCell.js +126 -0
  360. package/dist/client/tool-cells/EditCell.js.map +1 -0
  361. package/dist/client/tool-cells/FilesChangedSummary.d.ts +13 -0
  362. package/dist/client/tool-cells/FilesChangedSummary.d.ts.map +1 -0
  363. package/dist/client/tool-cells/FilesChangedSummary.js +98 -0
  364. package/dist/client/tool-cells/FilesChangedSummary.js.map +1 -0
  365. package/dist/client/tool-cells/WriteCell.d.ts +17 -0
  366. package/dist/client/tool-cells/WriteCell.d.ts.map +1 -0
  367. package/dist/client/tool-cells/WriteCell.js +26 -0
  368. package/dist/client/tool-cells/WriteCell.js.map +1 -0
  369. package/dist/client/tool-cells/index.d.ts +8 -0
  370. package/dist/client/tool-cells/index.d.ts.map +1 -0
  371. package/dist/client/tool-cells/index.js +5 -0
  372. package/dist/client/tool-cells/index.js.map +1 -0
  373. package/dist/client/transcription/BuilderTranscriptionCta.d.ts +1 -1
  374. package/dist/client/transcription/BuilderTranscriptionCta.d.ts.map +1 -1
  375. package/dist/client/use-chat-threads.d.ts +1 -1
  376. package/dist/client/use-chat-threads.d.ts.map +1 -1
  377. package/dist/client/use-chat-threads.js +11 -8
  378. package/dist/client/use-chat-threads.js.map +1 -1
  379. package/dist/client/use-db-sync.d.ts +2 -0
  380. package/dist/client/use-db-sync.d.ts.map +1 -1
  381. package/dist/client/use-db-sync.js +329 -302
  382. package/dist/client/use-db-sync.js.map +1 -1
  383. package/dist/code-agents/transcript-normalizer.d.ts +15 -1
  384. package/dist/code-agents/transcript-normalizer.d.ts.map +1 -1
  385. package/dist/code-agents/transcript-normalizer.js +47 -0
  386. package/dist/code-agents/transcript-normalizer.js.map +1 -1
  387. package/dist/coding-tools/index.d.ts +75 -0
  388. package/dist/coding-tools/index.d.ts.map +1 -1
  389. package/dist/coding-tools/index.js +137 -10
  390. package/dist/coding-tools/index.js.map +1 -1
  391. package/dist/collab/client.d.ts.map +1 -1
  392. package/dist/collab/client.js +15 -9
  393. package/dist/collab/client.js.map +1 -1
  394. package/dist/collab/ydoc-manager.d.ts +1 -1
  395. package/dist/collab/ydoc-manager.d.ts.map +1 -1
  396. package/dist/collab/ydoc-manager.js +1 -1
  397. package/dist/collab/ydoc-manager.js.map +1 -1
  398. package/dist/db/client.d.ts +9 -1
  399. package/dist/db/client.d.ts.map +1 -1
  400. package/dist/db/client.js +204 -48
  401. package/dist/db/client.js.map +1 -1
  402. package/dist/db/create-get-db.d.ts +38 -0
  403. package/dist/db/create-get-db.d.ts.map +1 -1
  404. package/dist/db/create-get-db.js +204 -4
  405. package/dist/db/create-get-db.js.map +1 -1
  406. package/dist/db/migrations.d.ts.map +1 -1
  407. package/dist/db/migrations.js +159 -67
  408. package/dist/db/migrations.js.map +1 -1
  409. package/dist/demo/actions/toggle-demo-mode.d.ts +6 -1
  410. package/dist/demo/actions/toggle-demo-mode.d.ts.map +1 -1
  411. package/dist/deploy/build.d.ts.map +1 -1
  412. package/dist/deploy/build.js +80 -39
  413. package/dist/deploy/build.js.map +1 -1
  414. package/dist/deploy/workspace-deploy.js +20 -10
  415. package/dist/deploy/workspace-deploy.js.map +1 -1
  416. package/dist/extensions/schema.d.ts +51 -51
  417. package/dist/extensions/slots/schema.d.ts +13 -13
  418. package/dist/file-upload/actions/upload-image.d.ts +26 -1
  419. package/dist/file-upload/actions/upload-image.d.ts.map +1 -1
  420. package/dist/file-upload/index.d.ts +1 -1
  421. package/dist/file-upload/index.d.ts.map +1 -1
  422. package/dist/file-upload/index.js +1 -1
  423. package/dist/file-upload/index.js.map +1 -1
  424. package/dist/file-upload/pre-upload-attachments.d.ts +37 -0
  425. package/dist/file-upload/pre-upload-attachments.d.ts.map +1 -1
  426. package/dist/file-upload/pre-upload-attachments.js +79 -19
  427. package/dist/file-upload/pre-upload-attachments.js.map +1 -1
  428. package/dist/index.d.ts +1 -1
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.js.map +1 -1
  431. package/dist/integrations/adapters/slack.js +1 -1
  432. package/dist/integrations/adapters/slack.js.map +1 -1
  433. package/dist/integrations/plugin.js +1 -1
  434. package/dist/integrations/plugin.js.map +1 -1
  435. package/dist/jobs/scheduler.js +70 -21
  436. package/dist/jobs/scheduler.js.map +1 -1
  437. package/dist/mcp/actions/create-org-service-token.d.ts +14 -0
  438. package/dist/mcp/actions/create-org-service-token.d.ts.map +1 -0
  439. package/dist/mcp/actions/create-org-service-token.js +74 -0
  440. package/dist/mcp/actions/create-org-service-token.js.map +1 -0
  441. package/dist/mcp/actions/list-org-service-tokens.d.ts +17 -0
  442. package/dist/mcp/actions/list-org-service-tokens.d.ts.map +1 -0
  443. package/dist/mcp/actions/list-org-service-tokens.js +42 -0
  444. package/dist/mcp/actions/list-org-service-tokens.js.map +1 -0
  445. package/dist/mcp/actions/revoke-org-service-token.d.ts +7 -0
  446. package/dist/mcp/actions/revoke-org-service-token.d.ts.map +1 -0
  447. package/dist/mcp/actions/revoke-org-service-token.js +28 -0
  448. package/dist/mcp/actions/revoke-org-service-token.js.map +1 -0
  449. package/dist/mcp/actions/service-token-access.d.ts +24 -0
  450. package/dist/mcp/actions/service-token-access.d.ts.map +1 -0
  451. package/dist/mcp/actions/service-token-access.js +63 -0
  452. package/dist/mcp/actions/service-token-access.js.map +1 -0
  453. package/dist/mcp/build-server.d.ts +42 -11
  454. package/dist/mcp/build-server.d.ts.map +1 -1
  455. package/dist/mcp/build-server.js +53 -3
  456. package/dist/mcp/build-server.js.map +1 -1
  457. package/dist/mcp/connect-route.d.ts +35 -0
  458. package/dist/mcp/connect-route.d.ts.map +1 -1
  459. package/dist/mcp/connect-route.js +57 -2
  460. package/dist/mcp/connect-route.js.map +1 -1
  461. package/dist/mcp/connect-store.d.ts +43 -0
  462. package/dist/mcp/connect-store.d.ts.map +1 -1
  463. package/dist/mcp/connect-store.js +129 -12
  464. package/dist/mcp/connect-store.js.map +1 -1
  465. package/dist/mcp/oauth-token.d.ts +10 -0
  466. package/dist/mcp/oauth-token.d.ts.map +1 -1
  467. package/dist/mcp/oauth-token.js +2 -0
  468. package/dist/mcp/oauth-token.js.map +1 -1
  469. package/dist/mcp/server.d.ts.map +1 -1
  470. package/dist/mcp/server.js +3 -0
  471. package/dist/mcp/server.js.map +1 -1
  472. package/dist/mcp-client/routes.js +1 -1
  473. package/dist/mcp-client/routes.js.map +1 -1
  474. package/dist/org/context.d.ts +4 -0
  475. package/dist/org/context.d.ts.map +1 -1
  476. package/dist/org/context.js +10 -0
  477. package/dist/org/context.js.map +1 -1
  478. package/dist/org/handlers.d.ts +11 -7
  479. package/dist/org/handlers.d.ts.map +1 -1
  480. package/dist/org/handlers.js +0 -8
  481. package/dist/org/handlers.js.map +1 -1
  482. package/dist/org/migrations.d.ts.map +1 -1
  483. package/dist/org/migrations.js +8 -0
  484. package/dist/org/migrations.js.map +1 -1
  485. package/dist/org/schema.d.ts +15 -15
  486. package/dist/progress/actions.d.ts.map +1 -1
  487. package/dist/progress/actions.js +13 -5
  488. package/dist/progress/actions.js.map +1 -1
  489. package/dist/provider-api/actions/delete-staged-dataset.d.ts +9 -0
  490. package/dist/provider-api/actions/delete-staged-dataset.d.ts.map +1 -0
  491. package/dist/provider-api/actions/delete-staged-dataset.js +35 -0
  492. package/dist/provider-api/actions/delete-staged-dataset.js.map +1 -0
  493. package/dist/provider-api/actions/list-staged-datasets.d.ts +15 -0
  494. package/dist/provider-api/actions/list-staged-datasets.d.ts.map +1 -0
  495. package/dist/provider-api/actions/list-staged-datasets.js +41 -0
  496. package/dist/provider-api/actions/list-staged-datasets.js.map +1 -0
  497. package/dist/provider-api/actions/query-staged-dataset.d.ts +29 -0
  498. package/dist/provider-api/actions/query-staged-dataset.d.ts.map +1 -0
  499. package/dist/provider-api/actions/query-staged-dataset.js +116 -0
  500. package/dist/provider-api/actions/query-staged-dataset.js.map +1 -0
  501. package/dist/provider-api/custom-registry.d.ts.map +1 -1
  502. package/dist/provider-api/custom-registry.js.map +1 -1
  503. package/dist/provider-api/index.d.ts +10 -10
  504. package/dist/provider-api/index.js +0 -5
  505. package/dist/provider-api/index.js.map +1 -1
  506. package/dist/provider-api/staged-datasets-aggregate.d.ts +46 -0
  507. package/dist/provider-api/staged-datasets-aggregate.d.ts.map +1 -0
  508. package/dist/provider-api/staged-datasets-aggregate.js +209 -0
  509. package/dist/provider-api/staged-datasets-aggregate.js.map +1 -0
  510. package/dist/provider-api/staged-datasets-store.d.ts +76 -0
  511. package/dist/provider-api/staged-datasets-store.d.ts.map +1 -0
  512. package/dist/provider-api/staged-datasets-store.js +319 -0
  513. package/dist/provider-api/staged-datasets-store.js.map +1 -0
  514. package/dist/provider-api/staging.d.ts +100 -0
  515. package/dist/provider-api/staging.d.ts.map +1 -0
  516. package/dist/provider-api/staging.js +281 -0
  517. package/dist/provider-api/staging.js.map +1 -0
  518. package/dist/resources/handlers.d.ts.map +1 -1
  519. package/dist/resources/handlers.js +13 -1
  520. package/dist/resources/handlers.js.map +1 -1
  521. package/dist/scripts/call-agent.d.ts.map +1 -1
  522. package/dist/scripts/call-agent.js +1 -2
  523. package/dist/scripts/call-agent.js.map +1 -1
  524. package/dist/scripts/resources/migrate-learnings.d.ts +1 -1
  525. package/dist/scripts/resources/migrate-learnings.d.ts.map +1 -1
  526. package/dist/scripts/resources/migrate-learnings.js +1 -1
  527. package/dist/scripts/resources/migrate-learnings.js.map +1 -1
  528. package/dist/secrets/schema.d.ts +7 -7
  529. package/dist/server/action-discovery.d.ts.map +1 -1
  530. package/dist/server/action-discovery.js +14 -0
  531. package/dist/server/action-discovery.js.map +1 -1
  532. package/dist/server/action-routes.d.ts.map +1 -1
  533. package/dist/server/action-routes.js +3 -2
  534. package/dist/server/action-routes.js.map +1 -1
  535. package/dist/server/agent-chat-plugin.d.ts +33 -0
  536. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  537. package/dist/server/agent-chat-plugin.js +251 -180
  538. package/dist/server/agent-chat-plugin.js.map +1 -1
  539. package/dist/server/agent-discovery.d.ts.map +1 -1
  540. package/dist/server/agent-discovery.js +13 -16
  541. package/dist/server/agent-discovery.js.map +1 -1
  542. package/dist/server/agent-teams-run-queue.d.ts +31 -8
  543. package/dist/server/agent-teams-run-queue.d.ts.map +1 -1
  544. package/dist/server/agent-teams-run-queue.js +61 -18
  545. package/dist/server/agent-teams-run-queue.js.map +1 -1
  546. package/dist/server/agent-teams.d.ts +27 -1
  547. package/dist/server/agent-teams.d.ts.map +1 -1
  548. package/dist/server/agent-teams.js +214 -14
  549. package/dist/server/agent-teams.js.map +1 -1
  550. package/dist/server/app-base-path.d.ts +20 -0
  551. package/dist/server/app-base-path.d.ts.map +1 -1
  552. package/dist/server/app-base-path.js +36 -0
  553. package/dist/server/app-base-path.js.map +1 -1
  554. package/dist/server/attachment-actions.d.ts +43 -0
  555. package/dist/server/attachment-actions.d.ts.map +1 -0
  556. package/dist/server/attachment-actions.js +214 -0
  557. package/dist/server/attachment-actions.js.map +1 -0
  558. package/dist/server/auth.js +1 -1
  559. package/dist/server/auth.js.map +1 -1
  560. package/dist/server/complete-text.d.ts +56 -0
  561. package/dist/server/complete-text.d.ts.map +1 -0
  562. package/dist/server/complete-text.js +147 -0
  563. package/dist/server/complete-text.js.map +1 -0
  564. package/dist/server/core-routes-plugin.d.ts +1 -0
  565. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  566. package/dist/server/core-routes-plugin.js +37 -27
  567. package/dist/server/core-routes-plugin.js.map +1 -1
  568. package/dist/server/cors-origins.d.ts.map +1 -1
  569. package/dist/server/cors-origins.js +6 -1
  570. package/dist/server/cors-origins.js.map +1 -1
  571. package/dist/server/create-server.d.ts.map +1 -1
  572. package/dist/server/create-server.js +2 -1
  573. package/dist/server/create-server.js.map +1 -1
  574. package/dist/server/csrf.d.ts +1 -1
  575. package/dist/server/csrf.d.ts.map +1 -1
  576. package/dist/server/email-actions.d.ts +19 -0
  577. package/dist/server/email-actions.d.ts.map +1 -0
  578. package/dist/server/email-actions.js +191 -0
  579. package/dist/server/email-actions.js.map +1 -0
  580. package/dist/server/embed-route.js +1 -1
  581. package/dist/server/embed-route.js.map +1 -1
  582. package/dist/server/embed-session.d.ts.map +1 -1
  583. package/dist/server/embed-session.js +5 -1
  584. package/dist/server/embed-session.js.map +1 -1
  585. package/dist/server/entry-server.d.ts +24 -0
  586. package/dist/server/entry-server.d.ts.map +1 -0
  587. package/dist/server/entry-server.js +54 -0
  588. package/dist/server/entry-server.js.map +1 -0
  589. package/dist/server/framework-request-handler.d.ts.map +1 -1
  590. package/dist/server/framework-request-handler.js +2 -10
  591. package/dist/server/framework-request-handler.js.map +1 -1
  592. package/dist/server/google-oauth.d.ts.map +1 -1
  593. package/dist/server/google-oauth.js +2 -9
  594. package/dist/server/google-oauth.js.map +1 -1
  595. package/dist/server/google-realtime-session.d.ts.map +1 -1
  596. package/dist/server/google-realtime-session.js +6 -4
  597. package/dist/server/google-realtime-session.js.map +1 -1
  598. package/dist/server/h3-helpers.d.ts +39 -0
  599. package/dist/server/h3-helpers.d.ts.map +1 -1
  600. package/dist/server/h3-helpers.js +104 -1
  601. package/dist/server/h3-helpers.js.map +1 -1
  602. package/dist/server/index.d.ts +2 -1
  603. package/dist/server/index.d.ts.map +1 -1
  604. package/dist/server/index.js +2 -1
  605. package/dist/server/index.js.map +1 -1
  606. package/dist/server/onboarding-html.d.ts.map +1 -1
  607. package/dist/server/onboarding-html.js +1 -8
  608. package/dist/server/onboarding-html.js.map +1 -1
  609. package/dist/server/open-route.d.ts.map +1 -1
  610. package/dist/server/open-route.js +1 -0
  611. package/dist/server/open-route.js.map +1 -1
  612. package/dist/server/prompts/framework-core-compact.d.ts +19 -0
  613. package/dist/server/prompts/framework-core-compact.d.ts.map +1 -0
  614. package/dist/server/prompts/framework-core-compact.js +69 -0
  615. package/dist/server/prompts/framework-core-compact.js.map +1 -0
  616. package/dist/server/prompts/framework-core.d.ts +26 -0
  617. package/dist/server/prompts/framework-core.d.ts.map +1 -0
  618. package/dist/server/prompts/framework-core.js +130 -0
  619. package/dist/server/prompts/framework-core.js.map +1 -0
  620. package/dist/server/prompts/index.d.ts +9 -0
  621. package/dist/server/prompts/index.d.ts.map +1 -0
  622. package/dist/server/prompts/index.js +9 -0
  623. package/dist/server/prompts/index.js.map +1 -0
  624. package/dist/server/prompts/model-overlays.d.ts +18 -0
  625. package/dist/server/prompts/model-overlays.d.ts.map +1 -0
  626. package/dist/server/prompts/model-overlays.js +46 -0
  627. package/dist/server/prompts/model-overlays.js.map +1 -0
  628. package/dist/server/prompts/shared-rules.d.ts +29 -0
  629. package/dist/server/prompts/shared-rules.d.ts.map +1 -0
  630. package/dist/server/prompts/shared-rules.js +54 -0
  631. package/dist/server/prompts/shared-rules.js.map +1 -0
  632. package/dist/server/security-headers.d.ts +7 -1
  633. package/dist/server/security-headers.d.ts.map +1 -1
  634. package/dist/server/security-headers.js +11 -0
  635. package/dist/server/security-headers.js.map +1 -1
  636. package/dist/server/ssr-handler.d.ts.map +1 -1
  637. package/dist/server/ssr-handler.js +135 -46
  638. package/dist/server/ssr-handler.js.map +1 -1
  639. package/dist/server/transcribe-voice.d.ts.map +1 -1
  640. package/dist/server/transcribe-voice.js +7 -4
  641. package/dist/server/transcribe-voice.js.map +1 -1
  642. package/dist/settings/store.d.ts.map +1 -1
  643. package/dist/settings/store.js +9 -0
  644. package/dist/settings/store.js.map +1 -1
  645. package/dist/shared/markdown-block-split.d.ts +39 -0
  646. package/dist/shared/markdown-block-split.d.ts.map +1 -0
  647. package/dist/shared/markdown-block-split.js +97 -0
  648. package/dist/shared/markdown-block-split.js.map +1 -0
  649. package/dist/shared/reasoning-effort.js +13 -1
  650. package/dist/shared/reasoning-effort.js.map +1 -1
  651. package/dist/shared/streaming-text-smoothing.d.ts +18 -0
  652. package/dist/shared/streaming-text-smoothing.d.ts.map +1 -1
  653. package/dist/shared/streaming-text-smoothing.js +70 -4
  654. package/dist/shared/streaming-text-smoothing.js.map +1 -1
  655. package/dist/sharing/actions/list-resource-shares.d.ts +24 -1
  656. package/dist/sharing/actions/list-resource-shares.d.ts.map +1 -1
  657. package/dist/sharing/actions/set-resource-visibility.d.ts +8 -1
  658. package/dist/sharing/actions/set-resource-visibility.d.ts.map +1 -1
  659. package/dist/sharing/actions/share-resource.d.ts +12 -1
  660. package/dist/sharing/actions/share-resource.d.ts.map +1 -1
  661. package/dist/sharing/actions/unshare-resource.d.ts +8 -1
  662. package/dist/sharing/actions/unshare-resource.d.ts.map +1 -1
  663. package/dist/sharing/schema.d.ts +10 -10
  664. package/dist/styles/agent-conversation.css +239 -0
  665. package/dist/templates/default/.agents/skills/delegate-to-agent/SKILL.md +50 -2
  666. package/dist/templates/default/AGENTS.md +1 -1
  667. package/dist/templates/default/DEVELOPING.md +19 -0
  668. package/dist/templates/default/app/entry.client.tsx +4 -1
  669. package/dist/templates/default/app/entry.server.tsx +4 -56
  670. package/dist/templates/default/app/global.css +3 -2
  671. package/dist/templates/default/app/root.tsx +8 -24
  672. package/dist/templates/default/app/routes/_index.tsx +0 -13
  673. package/dist/templates/default/package.json +6 -5
  674. package/dist/templates/default/tsconfig.json +2 -1
  675. package/dist/templates/starter-shell-sync.spec.ts +118 -0
  676. package/dist/templates/ui-primitives-sync.spec.ts +399 -0
  677. package/dist/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +50 -2
  678. package/dist/terminal/pty-server.js +1 -1
  679. package/dist/terminal/pty-server.js.map +1 -1
  680. package/dist/triggers/dispatcher.js +1 -1
  681. package/dist/triggers/dispatcher.js.map +1 -1
  682. package/dist/usage/store.d.ts.map +1 -1
  683. package/dist/usage/store.js +60 -7
  684. package/dist/usage/store.js.map +1 -1
  685. package/dist/vite/client.d.ts.map +1 -1
  686. package/dist/vite/client.js +44 -12
  687. package/dist/vite/client.js.map +1 -1
  688. package/dist/workspace-files/schema.d.ts +8 -8
  689. package/dist/workspace-files/tool.d.ts.map +1 -1
  690. package/dist/workspace-files/tool.js +0 -1
  691. package/dist/workspace-files/tool.js.map +1 -1
  692. package/docs/content/a2a-protocol.md +18 -12
  693. package/docs/content/actions.md +42 -10
  694. package/docs/content/agent-mentions.md +7 -8
  695. package/docs/content/agent-teams.md +23 -37
  696. package/docs/content/agent-web-surfaces.md +18 -9
  697. package/docs/content/authentication.md +6 -17
  698. package/docs/content/automations.md +43 -15
  699. package/docs/content/cli-adapters.md +25 -24
  700. package/docs/content/client.md +66 -17
  701. package/docs/content/cloneable-saas.md +19 -23
  702. package/docs/content/code-agents-ui.md +3 -31
  703. package/docs/content/components.md +308 -0
  704. package/docs/content/context-awareness.md +4 -0
  705. package/docs/content/creating-templates.md +4 -2
  706. package/docs/content/cross-app-sso.md +45 -19
  707. package/docs/content/database.md +26 -1
  708. package/docs/content/deployment.md +3 -1
  709. package/docs/content/dispatch.md +9 -37
  710. package/docs/content/drop-in-agent.md +123 -2
  711. package/docs/content/embedding-sdk.md +35 -0
  712. package/docs/content/extensions.md +2 -2
  713. package/docs/content/external-agents.md +86 -171
  714. package/docs/content/faq.md +6 -27
  715. package/docs/content/frames.md +9 -12
  716. package/docs/content/getting-started.md +80 -77
  717. package/docs/content/key-concepts.md +29 -19
  718. package/docs/content/mcp-apps.md +103 -0
  719. package/docs/content/mcp-clients.md +2 -2
  720. package/docs/content/mcp-protocol.md +40 -17
  721. package/docs/content/messaging.md +11 -4
  722. package/docs/content/migration-workbench.md +4 -47
  723. package/docs/content/multi-app-workspace.md +48 -17
  724. package/docs/content/multi-tenancy.md +1 -1
  725. package/docs/content/notifications.md +8 -6
  726. package/docs/content/observability.md +26 -15
  727. package/docs/content/onboarding.md +7 -1
  728. package/docs/content/pr-visual-recap.md +203 -23
  729. package/docs/content/progress.md +5 -5
  730. package/docs/content/pure-agent-apps.md +3 -1
  731. package/docs/content/real-time-collaboration.md +106 -0
  732. package/docs/content/recurring-jobs.md +17 -1
  733. package/docs/content/security.md +17 -3
  734. package/docs/content/server.md +39 -3
  735. package/docs/content/sharing.md +20 -1
  736. package/docs/content/skills-guide.md +151 -125
  737. package/docs/content/template-analytics.md +8 -0
  738. package/docs/content/template-assets.md +2 -0
  739. package/docs/content/template-brain.md +59 -3
  740. package/docs/content/template-calendar.md +8 -0
  741. package/docs/content/template-clips.md +11 -2
  742. package/docs/content/template-content.md +24 -4
  743. package/docs/content/template-design.md +19 -17
  744. package/docs/content/template-dispatch.md +2 -0
  745. package/docs/content/template-forms.md +28 -1
  746. package/docs/content/template-mail.md +17 -0
  747. package/docs/content/template-plan.md +177 -10
  748. package/docs/content/template-slides.md +51 -12
  749. package/docs/content/template-videos.md +17 -0
  750. package/docs/content/tracking.md +17 -13
  751. package/docs/content/using-your-agent.md +15 -5
  752. package/docs/content/voice-input.md +1 -1
  753. package/docs/content/what-is-agent-native.md +5 -6
  754. package/docs/content/workspace-connections.md +138 -424
  755. package/docs/content/workspace-management.md +12 -128
  756. package/docs/content/workspace.md +125 -199
  757. package/docs/content/writing-agent-instructions.md +17 -1
  758. package/package.json +25 -6
  759. package/src/templates/default/.agents/skills/delegate-to-agent/SKILL.md +50 -2
  760. package/src/templates/default/AGENTS.md +1 -1
  761. package/src/templates/default/DEVELOPING.md +19 -0
  762. package/src/templates/default/app/entry.client.tsx +4 -1
  763. package/src/templates/default/app/entry.server.tsx +4 -56
  764. package/src/templates/default/app/global.css +3 -2
  765. package/src/templates/default/app/root.tsx +8 -24
  766. package/src/templates/default/app/routes/_index.tsx +0 -13
  767. package/src/templates/default/package.json +6 -5
  768. package/src/templates/default/tsconfig.json +2 -1
  769. package/src/templates/starter-shell-sync.spec.ts +118 -0
  770. package/src/templates/ui-primitives-sync.spec.ts +399 -0
  771. package/src/templates/workspace-core/.agents/skills/delegate-to-agent/SKILL.md +50 -2
  772. package/tsconfig.base.json +2 -10
  773. package/dist/cli/app-skill.d.ts +0 -157
  774. package/dist/cli/app-skill.d.ts.map +0 -1
  775. package/dist/cli/audit-agent-web.d.ts +0 -2
  776. package/dist/cli/audit-agent-web.d.ts.map +0 -1
  777. package/dist/cli/code-agent-connector.d.ts +0 -17
  778. package/dist/cli/code-agent-connector.d.ts.map +0 -1
  779. package/dist/cli/code.d.ts +0 -66
  780. package/dist/cli/code.d.ts.map +0 -1
  781. package/dist/cli/connect.d.ts +0 -140
  782. package/dist/cli/connect.d.ts.map +0 -1
  783. package/dist/cli/context-xray-local.d.ts +0 -16
  784. package/dist/cli/context-xray-local.d.ts.map +0 -1
  785. package/dist/cli/create-workspace.d.ts +0 -8
  786. package/dist/cli/create-workspace.d.ts.map +0 -1
  787. package/dist/cli/index.d.ts +0 -3
  788. package/dist/cli/index.d.ts.map +0 -1
  789. package/dist/cli/info.d.ts +0 -2
  790. package/dist/cli/info.d.ts.map +0 -1
  791. package/dist/cli/mcp-config-writers.d.ts +0 -82
  792. package/dist/cli/mcp-config-writers.d.ts.map +0 -1
  793. package/dist/cli/mcp.d.ts +0 -16
  794. package/dist/cli/mcp.d.ts.map +0 -1
  795. package/dist/cli/migrate.d.ts +0 -38
  796. package/dist/cli/migrate.d.ts.map +0 -1
  797. package/dist/cli/plan-local.d.ts +0 -43
  798. package/dist/cli/plan-local.d.ts.map +0 -1
  799. package/dist/cli/plan-publish-store.d.ts +0 -62
  800. package/dist/cli/plan-publish-store.d.ts.map +0 -1
  801. package/dist/cli/pr-visual-recap-workflow.d.ts +0 -11
  802. package/dist/cli/pr-visual-recap-workflow.d.ts.map +0 -1
  803. package/dist/cli/recap.d.ts +0 -297
  804. package/dist/cli/recap.d.ts.map +0 -1
  805. package/dist/cli/skills.d.ts +0 -162
  806. package/dist/cli/skills.d.ts.map +0 -1
  807. package/dist/cli/workspace-dev.d.ts +0 -96
  808. package/dist/cli/workspace-dev.d.ts.map +0 -1
@@ -20,7 +20,7 @@ Usage:
20
20
  agent-native skills status [assets|design-exploration|visual-plan|visual-recap|context-xray] [--client codex|claude-code|all] [--scope user|project] [--json]
21
21
  agent-native skills update [assets|design-exploration|visual-plan|visual-recap|context-xray] [--client codex|claude-code|all] [--scope user|project] [--dry-run] [--json]
22
22
  agent-native skills add assets|design-exploration|visual-plan|visual-recap|context-xray [--client codex|claude-code|claude-code-cli|cowork|all] [--scope user|project] [--mcp-url <url>] [--no-connect] [--with-github-action] [--yes] [--dry-run] [--json]
23
- agent-native skills add <manifest-or-app-dir> [--client ...] [--yes]
23
+ agent-native skills add <manifest-or-app-dir|skill-repo> [--skill <name>] [--client ...] [--yes]
24
24
 
25
25
  Examples:
26
26
  agent-native skills add assets
@@ -34,6 +34,8 @@ Examples:
34
34
  agent-native skills add assets --client claude-code
35
35
  agent-native skills add assets --mcp-url https://my-app.ngrok-free.dev
36
36
  agent-native skills add ./dist/assets-skill --client codex
37
+ agent-native skills add BuilderIO/skills --client codex --scope project
38
+ agent-native skills add BuilderIO/skills --with-github-action
37
39
 
38
40
  The add command installs the SKILL.md instructions, registers the app-backed
39
41
  MCP connector, and then authenticates it in one step so you do not hit an OAuth
@@ -43,8 +45,8 @@ prompt, while Codex / Cowork run the browser device-code flow. In a
43
45
  non-interactive shell or CI the auth step is skipped and the exact
44
46
  "agent-native connect <url>" command is printed instead.
45
47
 
46
- Running "npx skills add ..." directly installs instructions only; use this Agent
47
- Native CLI path when you want MCP setup and auth too. Pass --no-connect to
48
+ Running "npx @agent-native/skills add ..." directly installs instructions only;
49
+ use this Agent Native CLI path when you want MCP setup and auth too. Pass --no-connect to
48
50
  register the connector without authenticating (leave auth to the host or run
49
51
  "agent-native connect" later). Pass --mcp-url to register that connector against
50
52
  a custom origin (an ngrok tunnel, a local dev server, or a self-hosted
@@ -210,11 +212,11 @@ iteration, or a human-in-the-loop choice among design directions.
210
212
  and token values. Never paste bearer tokens into chat or logs.
211
213
  `;
212
214
  /**
213
- * Shared setup/auth block for every Plans skill (`/visual-plan`,
214
- * `/visual-recap`). Interpolated into each skill markdown
215
- * so the install + one-step authenticate instructions never drift between them.
216
- * Keep this in sync with the copies under `templates/plan/.agents/skills/*` and
217
- * top-level `skills/*` (this skill's SKILL.md is triplicated with no sync test).
215
+ * Setup/auth block for the `/visual-plan` skill. Interpolated into
216
+ * `VISUAL_PLANS_SKILL_MD` below so the install + one-step authenticate
217
+ * instructions are single-sourced. The materialized SKILL.md copies under
218
+ * `templates/plan/.agents/skills/*`, top-level `skills/*`, and
219
+ * `.agents/skills/*` are guarded byte-identical by `skills.sync.spec.ts`.
218
220
  */
219
221
  const PLAN_SETUP_AUTH_MD = `## Setup & Authentication
220
222
 
@@ -230,11 +232,10 @@ agent-native skills add visual-plan
230
232
  \`\`\`
231
233
 
232
234
  After that, \`/visual-plan\` and \`/visual-recap\` are the two installed slash
233
- commands. Other planning modes — UI-first (\`create-ui-plan\`), prototype-first
234
- (\`create-prototype-plan\`), design-first (\`create-plan-design\`), and visual
235
- intake (\`create-visual-questions\`) are MCP tools reachable from \`/visual-plan\`,
236
- not separate slash commands. Pass \`--no-connect\` to register the connector
237
- without authenticating, then run
235
+ commands. The other planning modes (\`create-ui-plan\`, \`create-prototype-plan\`,
236
+ \`create-plan-design\`, \`create-visual-questions\`) are MCP tools reachable from
237
+ \`/visual-plan\`, not separate slash commands. Pass \`--no-connect\` to register
238
+ the connector without authenticating, then run
238
239
  \`agent-native connect https://plan.agent-native.com\` whenever you are ready.
239
240
 
240
241
  **Browser (people you share with).** Open the Plans editor and create & edit
@@ -276,8 +277,8 @@ const WIREFRAME_QUALITY_CORE = `<!-- SHARED-CORE:wireframe-quality START -->
276
277
  content.** Set \`data.html\` to a self-contained, semantic HTML fragment of the
277
278
  screen and set \`data.surface\`. The renderer owns the surface footprint/aspect,
278
279
  the dark/light theme, the hand-drawn font, and the rough.js sketch overlay — you
279
- never write \`<html>\`/\`<body>\`/\`<script>\`/\`<style>\` tags, font-family, hex colors,
280
- or any width/height/coordinates. You write real HTML layout and real product
280
+ never write \`<html>\`/\`<body>\`/\`<script>\`/\`<style>\` tags or any
281
+ width/height/coordinates. You write real HTML layout and real product
281
282
  content; the renderer styles and roughens it.
282
283
 
283
284
  **A wireframe block's data is an HTML screen plus a surface:**
@@ -370,7 +371,7 @@ skeleton register automatically. Never escape to a \`custom-html\` document bloc
370
371
  to fake a loader.
371
372
 
372
373
  **Editing an existing mockup.** To change one element, text, or color in an
373
- existing html mockup, do NOT regenerate the frame — call \`update-visual-plan\`
374
+ existing html mockup, call \`update-visual-plan\`
374
375
  with \`contentPatches: [{ op: "patch-wireframe-html", blockId, edits: [{ find,
375
376
  replace }] }]\`. Each \`find\` is a unique snippet of the current html (read it
376
377
  first with \`get-visual-plan\`); set \`all: true\` on an edit to replace every
@@ -428,15 +429,18 @@ the same frame size, scale, outer padding, border radius, and visual density on
428
429
  both sides unless the change itself alters those properties, and let the frame
429
430
  height fit the content rather than leaving a tall empty lower half.
430
431
 
431
- **Name the states with the column header, never inside the frame.** Put the two
432
+ **Name the states with the column header, never inside the frame.** For
433
+ document-body wireframes (recaps), put the two
432
434
  states in a \`columns\` block and set each column's \`label\` to \`Before\` and
433
435
  \`After\` — the renderer draws that label as an \`h4\` heading above each frame. Do
434
436
  NOT bake a \`Before\`/\`After\` pill, title, or heading into the wireframe \`html\`: a
435
437
  label placed inside reads as part of the product UI, lands in a random corner,
436
438
  and clutters the comparison. The column header is the one and only place the
437
- state name belongs.
439
+ state name belongs. On a canvas, place the two state artboards as neighbors with
440
+ frame labels — never encode Before/After inside the html.
438
441
 
439
- **Let the surface choose side-by-side vs. stacked.** The \`columns\` renderer lays
442
+ **Let the surface choose side-by-side vs. stacked.** For document-body
443
+ wireframes (recaps), the \`columns\` renderer lays
440
444
  narrow surfaces (\`mobile\`, \`popover\`, \`panel\`) out side by side, and
441
445
  automatically stacks wide surfaces (\`desktop\`, \`browser\`) vertically at full
442
446
  document width so a large frame is never crushed into a half-width column and
@@ -521,11 +525,10 @@ and \`/visual-recap\`. Do not author wireframes from memory.`;
521
525
  // (visual-recap renders standalone wireframes, not a canvas).
522
526
  const CANVAS_SURFACE_CORE = `<!-- SHARED-CORE:canvas-surface START -->
523
527
 
524
- **Artboard placement is locked by the \`surface\`, not by coordinates.** The
525
- surface locks the footprint and aspect; never set artboard width/height and
526
- never use coordinates inside the wireframe HTML. Let canvas auto-placement
527
- handle simple one-row boards. For mixed-footprint canvases, board-level artboard
528
- \`x\`/\`y\` is allowed and expected when it creates clear lanes.
528
+ **The coordinate rule.** The \`surface\` locks each artboard's footprint and
529
+ aspect never set artboard width/height and never use coordinates inside the
530
+ wireframe HTML; board-level artboard \`x\`/\`y\` IS allowed when it creates clear
531
+ lanes. Let canvas auto-placement handle simple one-row boards.
529
532
 
530
533
  **Lay out mixed canvases in lanes.** When a canvas contains broad browser /
531
534
  desktop frames plus compact \`mobile\`, \`popover\`, or \`panel\` surfaces, do not put
@@ -586,9 +589,9 @@ prototype. When the user asks for a mockup, UI state, loading state, layout,
586
589
  screen, or visual comparison, make the canvas the primary home for that static
587
590
  visual. When the user asks for a prototype or the plan contains a sequence the
588
591
  reviewer must feel, keep the canvas artboards and add \`content.prototype\` so the
589
- top surface shows Wireframes / Prototype tabs. Architecture/code diagrams are
590
- different: keep them inline in the document, close to the recommendation they
591
- support, unless the user explicitly asks for a spatial board. Document blocks
592
+ top surface shows Wireframes / Prototype tabs. Architecture/code diagrams stay
593
+ inline in the document (the SKILL.md Visual Surface Choice section owns that
594
+ rule) unless the user explicitly asks for a spatial board. Document blocks
592
595
  can explain, compare, or map implementation, but they should not host the
593
596
  primary UI mockup or prototype just because \`custom-html\`, screenshots, or prose
594
597
  are easier to produce. If the canvas/prototype surface cannot represent the
@@ -601,11 +604,9 @@ nodes instead of \`html\`; the renderer still accepts and displays it, but new
601
604
  plans emit \`html\`. Do not author fresh kit-tree screens - write the HTML mockup
602
605
  instead. Likewise, old or imported plans may carry coordinate-based regions or
603
606
  free-float x/y on notes; those are legacy escape hatches the renderer still
604
- shows but you must never produce. The \`surface\` drives each artboard's aspect
605
- and footprint, and the gutter parks notes by \`targetId\` + \`placement\`. The only
606
- new-plan coordinate exception is deliberate board-level artboard \`x\`/\`y\` for
607
- multi-lane mixed-surface canvases; never supply artboard width/height, note
608
- coordinates, or wireframe-internal coordinates.
607
+ shows but you must never produce. The gutter parks notes by \`targetId\` +
608
+ \`placement\`, and the coordinate rule at the top of this file governs all
609
+ new-plan placement.
609
610
 
610
611
  <!-- SHARED-CORE:canvas-surface END -->`;
611
612
  const DOCUMENT_QUALITY_CORE = `<!-- SHARED-CORE:document-quality START -->
@@ -626,25 +627,14 @@ static inspection, plus prototype tabs when the flow should be functional. The
626
627
  document carries the technical depth the visuals cannot show — concrete
627
628
  file/symbol maps, API and data contracts, code snippets, migration or
628
629
  implementation phases, risks, and validation. For architecture/code reviews,
629
- invert that: the document is the visual surface, and each recommendation should
630
- carry its own nearby inline \`diagram\` / \`data-model\` block plus file evidence
631
- and terse Problem/Solution/Why text. For architecture/code diagrams, prefer
632
- standard two-dimensional layouts: paired before/after panels, layered diagrams,
633
- swimlanes, dependency maps, matrices, or grouped regions. Do not default to
634
- left-to-right chains; use a line only when the relationship is truly a sequence.
635
- Use native \`diagram\` blocks with \`data.html\` / \`data.css\` for these richer
636
- layouts; the fragment may use semantic HTML and inline SVG, and the renderer
637
- applies the viewer's sketch/clean style. Leave room for the sketch font: keep
638
- labels short, give nodes generous width, and place boundary/annotation labels in
639
- unused space instead of over nodes. For small text/SVG changes to an existing
640
- HTML diagram, use \`patch-diagram-html\` with a unique \`find\`/\`replace\` snippet
641
- instead of resending the whole \`data.html\` string. Legacy \`nodes\` / \`edges\` are
642
- only for tiny previews or genuinely linear step flows. Repeat a wireframe in the document only
643
- for a genuinely new detail view or comparison. Skip the visual surface entirely
644
- for non-visual work and write a clean rich document. For a simple binary UI
645
- visual choice, show the two directions in the canvas only; do not repeat the
646
- same options as body wireframes or prose. Put the actual
647
- choice in the bottom "Open Questions" form.
630
+ invert that: the document is the visual surface, and each recommendation
631
+ carries its own nearby inline \`diagram\` / \`data-model\` block plus file
632
+ evidence (the \`diagram\` bullet below owns how to author those diagrams).
633
+ Repeat a wireframe in the document only for a genuinely new detail view or
634
+ comparison. Skip the visual surface entirely for non-visual work and write a
635
+ clean rich document. For a simple binary UI visual choice, show the two
636
+ directions in the canvas only; do not repeat the same options as body
637
+ wireframes or prose. Put the actual choice in the bottom "Open Questions" form.
648
638
 
649
639
  **Use the right block, and make it carry substance.** For the authoritative,
650
640
  machine-checked list of block types and their data schemas, call \`get-plan-blocks\`
@@ -678,7 +668,11 @@ so you never emit a block the editor cannot render or round-trip:
678
668
  each side needs real nested blocks; label the columns clearly and avoid
679
669
  stacking comparison blocks vertically when parallel reading is the point.
680
670
  - \`diagram\` for two-dimensional architecture, dependency, data-flow, or state
681
- relationships, only when it clarifies something real. For architecture/code
671
+ relationships, only when it clarifies something real. Prefer standard
672
+ two-dimensional layouts — paired before/after panels, layered diagrams,
673
+ swimlanes, dependency maps, matrices, or grouped regions; do not default to
674
+ left-to-right chains, and use a line only when the relationship is truly a
675
+ sequence. For architecture/code
682
676
  diagrams, prefer \`data.html\` / \`data.css\` with semantic HTML and inline SVG so
683
677
  the diagram can use panels, layers, matrices, arrows, annotations, and
684
678
  responsive layout directly. Author diagram HTML with renderer-owned primitives
@@ -688,12 +682,16 @@ so you never emit a block the editor cannot render or round-trip:
688
682
  \`--wf-paper\`, \`--wf-card\`, \`--wf-accent\`, \`--wf-accent-soft\`, \`--wf-warn\`, and
689
683
  \`--wf-ok\`, and switch to Excalifont plus rough.js outlines in sketchy mode. Do not
690
684
  set \`font-family\` and do not hard-code hex, rgb, or hsl colors in diagram HTML
691
- or CSS. Use legacy \`nodes\` / \`edges\` only for small previews or truly
685
+ or CSS. Leave room for the sketch font: keep labels short, give nodes generous
686
+ width, and place boundary/annotation labels in unused space instead of over
687
+ nodes; labels must not overlap nodes, connectors, or each other. For small
688
+ text/SVG changes to an existing HTML diagram, use \`patch-diagram-html\` with a
689
+ unique \`find\`/\`replace\` snippet instead of resending the whole \`data.html\`
690
+ string. Use legacy \`nodes\` / \`edges\` only for small previews or truly
692
691
  sequential flows. In architecture/code plans, prefer a repeated section rhythm:
693
692
  recommendation title, confidence and category badges, code-path evidence, a
694
693
  local before/after or current/target spatial diagram, then concise
695
- Problem/Solution/Why text. Labels must not overlap nodes, connectors, or each
696
- other.
694
+ Problem/Solution/Why text.
697
695
  - \`tabs\` for multiple states, directions, or comparisons. A tab that reveals
698
696
  only prose usually means the plan is under-specified — include a relevant
699
697
  visual unless the tab is intentionally document-only.
@@ -812,8 +810,8 @@ ${EXEMPLAR_CORE}
812
810
  // cores in the SKILL.md body. Authoring detail lives in the sibling reference
813
811
  // files so the SKILL.md stays lean (progressive disclosure); the agent loads the
814
812
  // detail on demand.
815
- const CANVAS_REFERENCE_POINTER = `The canvas is the single source of truth for static UI mockups: artboard
816
- placement is locked by the \`surface\` (never coordinates), mixed surfaces lay out
813
+ const CANVAS_REFERENCE_POINTER = `The canvas is the single source of truth for static UI mockups: the \`surface\`
814
+ locks each artboard's footprint, mixed surfaces lay out
817
815
  in lanes, annotations are plain-text designer notes anchored by
818
816
  \`targetId\`/\`placement\`, and edits are surgical \`contentPatches\`. Before
819
817
  authoring or editing ANY canvas, artboard, or annotation, READ
@@ -831,9 +829,10 @@ directory before authoring a plan.`;
831
829
  export const VISUAL_PLANS_SKILL_MD = `---
832
830
  name: visual-plan
833
831
  description: >-
834
- Use Agent-Native Plans when coding-agent work needs an interactive structured
835
- plan document with inline diagrams, implementation maps, optional UI/product
836
- wireframes or prototypes, annotations, and comments.
832
+ Use Agent-Native Plans when coding-agent work needs a reviewable plan
833
+ published as an interactive document inline diagrams, annotated code
834
+ walkthroughs, file trees, optional UI wireframes or prototypes, open-question
835
+ forms, and comments — before implementation starts.
837
836
  metadata:
838
837
  visibility: exported
839
838
  ---
@@ -844,10 +843,9 @@ Agent-Native Plans is structured visual planning mode for coding agents. Build
844
843
  the plan you would normally write in Markdown, but as a scannable document with
845
844
  editable blocks mixed in: inline diagrams, code snippets,
846
845
  open questions, and an optional top visual review area (wireframe canvas, live
847
- prototype, or both in tabs). Architecture, backend, data, and refactor plans
848
- usually start in the document with local diagrams near each claim. UI and product
849
- plans should still start with the top canvas/prototype when screens or behavior
850
- are what the user needs to review.
846
+ prototype, or both in tabs). Architecture and backend plans stay document-only;
847
+ UI and product plans start with the top canvas/prototype (the Visual Surface
848
+ Choice section owns that rule).
851
849
 
852
850
  \`/visual-plan\` is the packaged command and main entry point. Choose the review
853
851
  mode from the task: UI-first when the work is primarily product UI and review
@@ -898,9 +896,9 @@ plan needs a richer review surface.
898
896
  ambiguity would change the design and you cannot resolve it from the code; use
899
897
  the host agent's normal ask-user-question flow and batch 2-4 high-leverage
900
898
  questions before finalizing. Do not call \`create-visual-questions\` from
901
- \`/visual-plan\`; keep any answerable follow-up inside the plan itself as a
902
- bottom \`question-form\` Open Questions block. Otherwise state the assumption
903
- explicitly and proceed, and put anything unresolved in an open-questions block.
899
+ \`/visual-plan\`. Otherwise state the assumption explicitly and proceed, and
900
+ keep anything unresolved in the plan's single bottom \`question-form\` Open
901
+ Questions block.
904
902
  - **The plan is the approval gate.** After surfacing it, ask the user to review
905
903
  and approve before you write code, and name which files/areas the work touches.
906
904
  Presenting the plan and requesting sign-off is the approval step — do not ask a
@@ -909,36 +907,19 @@ plan needs a richer review surface.
909
907
  update the plan with \`update-visual-plan\` rather than only changing course in
910
908
  chat, and re-read the approved plan before major steps.
911
909
 
912
- ## Local-Files Privacy Mode
913
-
914
- Use local-files privacy mode when the user explicitly asks for no DB writes,
915
- no hosted Plan app, no Plan MCP publish, fully local files, offline/private
916
- planning, or when \`AGENT_NATIVE_PLANS_MODE=local-files\` is set. In this mode the
917
- plan data must never be sent to the Plan MCP server or Plan app action surface.
918
-
919
- The local-files contract is:
920
-
921
- - Read source context from local files and shell commands only.
922
- - Write the plan as a local MDX folder under \`plans/<slug>/\`: \`plan.mdx\`,
923
- optional \`canvas.mdx\`, optional \`prototype.mdx\`, and optional
924
- \`.plan-state.json\`.
925
- - Run \`agent-native plan local preview --dir plans/<slug> --kind plan\` after
926
- writing or updating the folder. Report the returned local URL or the
927
- \`/local-plans/<slug>\` route if the local Plan app is running with the same
928
- \`PLAN_LOCAL_DIR\`.
929
- - Do **not** call \`create-visual-plan\`, \`create-ui-plan\`,
930
- \`create-prototype-plan\`, \`create-plan-design\`, \`import-visual-plan-source\`,
931
- \`update-visual-plan\`, \`patch-visual-plan-source\`, \`get-plan-feedback\`,
932
- \`export-visual-plan\`, or any hosted Plan tool for that plan.
933
- - Treat feedback as file or chat feedback: update the MDX files directly, rerun
934
- the local preview command, and summarize the new local URL/path. Hosted
935
- comments, sharing, history, and publish/export receipts are unavailable until
936
- the user explicitly opts into publishing.
910
+ ## Always Publish As An Agent-Native Plan — Never Inline
937
911
 
938
- Local-files mode prevents plan content from going to the Agent-Native Plan
939
- database. It does not by itself make the coding agent's language model local;
940
- for that stronger privacy boundary, the host agent/model must also be local or
941
- otherwise approved by the user.
912
+ The deliverable is ALWAYS a published Agent-Native Plan created via the Plan
913
+ MCP connector (\`plan\` server, or legacy \`agent-native-plans\`). NEVER hand the
914
+ plan over as inline chat content no Markdown prose, ASCII sketch, table, or
915
+ fenced wireframe. If the connector's tools are missing, do NOT fall back to
916
+ inline output: the usual cause is a connector that did not finish connecting
917
+ this session (it registers zero tools), not auth. Stop and give the user the
918
+ exact restore step — reconnect via \`/mcp\` (or restart the session); only if
919
+ genuinely unauthenticated, run
920
+ \`agent-native connect https://plan.agent-native.com\`. Publish once the tool is
921
+ reachable. Local-files privacy mode (after Tool Guidance) is the only
922
+ exception.
942
923
 
943
924
  ## Core Workflow
944
925
 
@@ -947,26 +928,29 @@ otherwise approved by the user.
947
928
  clarifying questions as needed before generating the plan. If a source plan
948
929
  already exists, gather its exact text from the user's paste, a referenced
949
930
  file, or recent visible agent context; do not invent source text.
950
- 2. Decide whether the plan needs a top visual surface with the rules below, then call
951
- \`create-visual-plan\` with the title, brief, source, repo path, and structured
952
- \`content\` blocks. When a source plan already exists, pass it as \`planText\`
953
- and preserve the original plan's intent while adding structured review
954
- content.
955
- 3. Compose or enrich any top UI/product visual surface from the kit and write the
956
- document with native blocks (see the cores below). Keep the document close to
957
- the Markdown plan the agent would normally output, or to the existing plan
958
- when one was provided. For architecture, backend, refactor, API, data-model,
959
- migration, or code plans, usually omit \`content.canvas\` and
960
- \`content.prototype\`; put \`diagram\`, \`mermaid\`, \`api-endpoint\`,
961
- \`openapi-spec\`, \`data-model\`, \`diff\`, \`file-tree\`, \`json-explorer\`,
962
- \`code\` and \`annotated-code\` blocks directly next
963
- to the relevant prose. Skip the top visual surface for non-visual work.
931
+ 2. Call \`get-plan-blocks\` for the authoritative block catalog do not author
932
+ from memorized tags. Then call the mode-matched create tool:
933
+ \`create-visual-plan\` for document-first plans (architecture, backend, data,
934
+ refactor, API), \`create-ui-plan\` for UI-first plans, \`create-prototype-plan\`
935
+ for prototype-first plans, \`create-plan-design\` for design-first plans,
936
+ \`create-visual-questions\` only when the user explicitly asks for a visual
937
+ intake questionnaire. When a source plan already exists,
938
+ pass it as \`planText\` and preserve the original plan's intent while adding
939
+ structured review content.
940
+ 3. Compose or enrich any top UI/product visual surface and write the document
941
+ with native blocks (see \`references/canvas.md\` and
942
+ \`references/document-quality.md\`). Keep the document close to the Markdown
943
+ plan the agent would normally output, or to the existing plan when one was
944
+ provided. For non-visual plans, skip the top visual surface (Visual Surface
945
+ Choice below owns the rule) and put \`diagram\`, \`data-model\`,
946
+ \`api-endpoint\`, \`diff\`, \`file-tree\`, \`code\`, and \`annotated-code\` blocks
947
+ directly next to the relevant prose.
964
948
  4. Surface the returned Plans link or inline MCP App and ask the user to review.
965
949
  Always include the actual URL in chat so the next step is a click in CLI or
966
950
  other text-only hosts. When the host exposes an embedded browser/preview panel
967
951
  and a tool can open arbitrary URLs there, open the returned plan URL
968
- automatically for convenient review; do not rely on this as the only handoff.
969
- Treat that browser open as a convenience and smoke test, not as the access
952
+ automatically for convenient review a convenience and smoke test, never the
953
+ only handoff or the access
970
954
  model. Plans should load out of the box for the local agent and local browser
971
955
  session; if a signed-in embedded browser cannot read a local plan that an
972
956
  anonymous/tool check can read, fix the app/action ownership or access path
@@ -1073,8 +1057,8 @@ ${EXEMPLAR_REFERENCE_POINTER}
1073
1057
  into a prototype plan.
1074
1058
  - \`create-visual-questions\`: use only when the user explicitly asks for a visual
1075
1059
  intake questionnaire, not as \`/visual-plan\` preflight.
1076
- - \`update-visual-plan\`: revise content, status, or comments; prefer
1077
- \`contentPatches\` over regenerating the whole plan.
1060
+ - \`update-visual-plan\`: revise content, status, or comments with targeted
1061
+ \`contentPatches\` (see Core Workflow step 6).
1078
1062
  - \`read-visual-plan-source\`: read the normalized plan as \`plan.mdx\`,
1079
1063
  optional \`canvas.mdx\`, optional \`.plan-state.json\`, and JSON.
1080
1064
  - \`patch-visual-plan-source\`: apply granular MDX AST patches by stable block,
@@ -1094,6 +1078,37 @@ ${EXEMPLAR_REFERENCE_POINTER}
1094
1078
  When the user critiques a plan's look or structure, fix the renderer or this
1095
1079
  skill — never hand-edit one stored plan. Turn feedback into better guidance.
1096
1080
 
1081
+ ## Local-Files Privacy Mode
1082
+
1083
+ Use local-files privacy mode when the user explicitly asks for no DB writes,
1084
+ no hosted Plan app, no Plan MCP publish, fully local files, offline/private
1085
+ planning, or when \`AGENT_NATIVE_PLANS_MODE=local-files\` is set. In this mode the
1086
+ plan data must never be sent to the Plan MCP server or Plan app action surface.
1087
+
1088
+ The local-files contract is:
1089
+
1090
+ - Read source context from local files and shell commands only.
1091
+ - Write the plan as a local MDX folder under \`plans/<slug>/\`: \`plan.mdx\`,
1092
+ optional \`canvas.mdx\`, optional \`prototype.mdx\`, and optional
1093
+ \`.plan-state.json\`.
1094
+ - Run \`agent-native plan local preview --dir plans/<slug> --kind plan\` after
1095
+ writing or updating the folder. Report the returned local URL or the
1096
+ \`/local-plans/<slug>\` route if the local Plan app is running with the same
1097
+ \`PLAN_LOCAL_DIR\`.
1098
+ - Do **not** call \`create-visual-plan\`, \`create-ui-plan\`,
1099
+ \`create-prototype-plan\`, \`create-plan-design\`, \`import-visual-plan-source\`,
1100
+ \`update-visual-plan\`, \`patch-visual-plan-source\`, \`get-plan-feedback\`,
1101
+ \`export-visual-plan\`, or any hosted Plan tool for that plan.
1102
+ - Treat feedback as file or chat feedback: update the MDX files directly, rerun
1103
+ the local preview command, and summarize the new local URL/path. Hosted
1104
+ comments, sharing, history, and publish/export receipts are unavailable until
1105
+ the user explicitly opts into publishing.
1106
+
1107
+ Local-files mode prevents plan content from going to the Agent-Native Plan
1108
+ database. It does not by itself make the coding agent's language model local;
1109
+ for that stronger privacy boundary, the host agent/model must also be local or
1110
+ otherwise approved by the user.
1111
+
1097
1112
  ## Interpreting comment anchors
1098
1113
 
1099
1114
  \`get-plan-feedback\` returns rich anchors — read them before acting on any comment.
@@ -1131,46 +1146,7 @@ by email or role. Gate visibility before sharing any plan that covers
1131
1146
  unreleased or private work — default to the narrowest scope that meets the
1132
1147
  review need.
1133
1148
 
1134
- ## Setup & Authentication
1135
-
1136
- There are two ways into Plans.
1137
-
1138
- **Coding agent (CLI).** Install once with the Agent-Native CLI. The command
1139
- installs the Plans skills, registers the hosted Plans MCP connector, and
1140
- authenticates it in the same step (a one-time browser sign-in at setup — this is
1141
- intended), so the first tool call does not hit an OAuth wall:
1142
-
1143
- \`\`\`bash
1144
- agent-native skills add visual-plan
1145
- \`\`\`
1146
-
1147
- After that, \`/visual-plan\` and \`/visual-recap\` are the two installed slash
1148
- commands. Other planning modes — UI-first (\`create-ui-plan\`), prototype-first
1149
- (\`create-prototype-plan\`), design-first (\`create-plan-design\`), and visual
1150
- intake (\`create-visual-questions\`) — are MCP tools reachable from \`/visual-plan\`,
1151
- not separate slash commands. Pass \`--no-connect\` to register the connector
1152
- without authenticating, then run
1153
- \`agent-native connect https://plan.agent-native.com\` whenever you are ready.
1154
-
1155
- **Browser (people you share with).** Open the Plans editor and create & edit
1156
- with no sign-up — you work as a guest. Sign in only when you want to save or
1157
- share; signing in claims the plans you made as a guest into your account.
1158
-
1159
- Sharing and commenting require an account: public/shared plans are viewable by
1160
- anyone with the link, but commenting on them needs an agent-native account.
1161
-
1162
- For fully offline, no-account use, run the Plans app locally and sync plans to
1163
- your repo as MDX. This local mode is a separate advanced path, not the default
1164
- hosted flow.
1165
-
1166
- If a Plans tool returns \`needs auth\`, \`Unauthorized\`, or \`Session terminated\`,
1167
- do not keep retrying the tool. Authenticate the connector with
1168
- \`agent-native connect https://plan.agent-native.com\` (OAuth-capable hosts can
1169
- instead re-run /mcp and choose Authenticate), then continue once the connector
1170
- is available.
1171
-
1172
- Hosted default: connect \`https://plan.agent-native.com/_agent-native/mcp\`. Do
1173
- not put shared secrets in skill files.
1149
+ ${PLAN_SETUP_AUTH_MD}
1174
1150
  `;
1175
1151
  export const VISUAL_RECAP_SKILL_MD = `---
1176
1152
  name: visual-recap
@@ -1287,7 +1263,8 @@ Do not add boilerplate intro, disclaimer, provenance, or summary prose blocks to
1287
1263
  the generated plan body. In particular, do not create a \`rich-text\` block just to
1288
1264
  say the recap is an aid, that the reviewer should still review the diff, how many
1289
1265
  files changed, or which ref/working tree generated the recap. The plan title,
1290
- brief, \`file-tree\`, and optional \`diffstat\` already carry that context.
1266
+ brief, and \`file-tree\` (which carries the per-file change stats) already carry
1267
+ that context.
1291
1268
 
1292
1269
  Only add prose blocks when they tell the reviewer something specific about the
1293
1270
  change that the structured blocks do not: the objective, a real compatibility
@@ -1319,6 +1296,34 @@ Skip the diff appendix only for a genuinely tiny change that reviews faster as
1319
1296
  plain diff (see "When To Use"); for any change worth recapping, the file-tree and
1320
1297
  key-change diffs belong in the plan.
1321
1298
 
1299
+ ## Canonical Shape And Budgets
1300
+
1301
+ A strong recap follows one skeleton, top to bottom:
1302
+
1303
+ 1. UI-impact headline — wireframes first, when the diff changed rendered UI.
1304
+ 2. Short outcome narrative (\`rich-text\`): what changed and why, 1-3 paragraphs.
1305
+ 3. \`data-model\` / \`api-endpoint\` blocks for schema and contract changes.
1306
+ 4. \`file-tree\` of the changed files with \`change\` flags.
1307
+ 5. \`## Key changes\` — one horizontal \`tabs\` block of \`diff\` / \`annotated-code\`.
1308
+
1309
+ Budgets that keep the recap reviewable:
1310
+
1311
+ - 3-8 key-change tabs. Fewer than 3 on a large change under-serves the
1312
+ reviewer; more than 8 stops being a summary.
1313
+ - Keep each diff/annotated-code excerpt focused — prefer under ~150 lines per
1314
+ tab; summarize or link the rest of a long file instead of dumping it.
1315
+ - Title at most ~70 characters; brief 1-3 sentences.
1316
+
1317
+ **GOOD.** A 25-file auth change: Before/After wireframes of the login surface,
1318
+ a two-paragraph narrative, a diff-aware \`data-model\` of the sessions table, an
1319
+ \`api-endpoint\` for the new refresh route, a \`file-tree\` with change flags, and
1320
+ \`## Key changes\` with five focused tabs, each with a one-line \`summary\` and a
1321
+ few annotations on the load-bearing hunks.
1322
+
1323
+ **BAD.** One giant unsegmented diff dump with no summaries or annotations; or a
1324
+ sparse three-block recap of a 40-file change (one wireframe, one sentence, one
1325
+ file list) that forces the reviewer back into the raw diff anyway.
1326
+
1322
1327
  ## UI Impact Needs Wireframes
1323
1328
 
1324
1329
  When the diff changes rendered UI, layout, density, visual state, interaction
@@ -1349,8 +1354,8 @@ Choose the smallest visual surface that makes the review clear:
1349
1354
 
1350
1355
  - Use a \`Before\` / \`After\` wireframe pair when the reviewer benefits from direct
1351
1356
  comparison, such as a removed or added control, a changed state, layout
1352
- density, ordering, navigation, or a visible component replacement. The
1353
- Wireframe Quality core below owns how to lay that pair out (columns vs.
1357
+ density, ordering, navigation, or a visible component replacement.
1358
+ \`references/wireframe.md\` owns how to lay that pair out (columns vs.
1354
1359
  vertical stack by geometry).
1355
1360
  - Use an after-only wireframe when the change is purely additive or the "before"
1356
1361
  state would only show absence without adding review value.
@@ -1386,10 +1391,12 @@ wireframes, keep \`renderMode\` unset or \`wireframe\` unless a design-only edit
1386
1391
  mockup is explicitly required, because \`renderMode="design"\` disables the
1387
1392
  sketchy rough overlay.
1388
1393
 
1389
- Before sharing a UI-impact recap, render it in the Plan viewer and inspect it at
1390
- the current theme. If any label, annotation, toolbar, or wireframe content
1391
- overlaps another element, fix the MDX and re-import before reporting the link. A
1392
- text-match screenshot is not enough; visually inspect the captured image.
1394
+ When a browser tool is available, render a UI-impact recap in the Plan viewer
1395
+ and visually inspect it at the current theme before sharing. If any label,
1396
+ annotation, toolbar, or wireframe content overlaps another element, fix the MDX
1397
+ and re-import before reporting the link. A text-match screenshot is not enough;
1398
+ visually inspect the captured image. When no browser is available (for example
1399
+ a headless CI agent), state that in the recap handoff instead.
1393
1400
 
1394
1401
  ## Open And Report The Recap
1395
1402
 
@@ -1519,14 +1526,10 @@ tags — resolve every conceptual name to its exact tag + prop schema with the
1519
1526
  quick graph. Use two-dimensional layouts; do not reduce a structural change to
1520
1527
  a left-to-right chain. Do not use \`diagram\` as a stand-in for rendered UI
1521
1528
  controls; UI changes need \`wireframe\` blocks.
1522
- Diagram HTML/CSS should use renderer-owned primitives such as
1523
- \`.diagram-panel\`, \`.diagram-card\`, \`.diagram-node\`, \`.diagram-box\`,
1524
- \`.diagram-pill\`, \`.diagram-muted\`, and \`[data-rough]\`; these map to the plan's
1525
- Tailwind theme variables through \`--wf-ink\`, \`--wf-muted\`, \`--wf-line\`,
1526
- \`--wf-paper\`, \`--wf-card\`, \`--wf-accent\`, \`--wf-accent-soft\`, \`--wf-warn\`, and
1527
- \`--wf-ok\`, and switch to Excalifont plus rough.js outlines in sketchy mode. Do not
1528
- set \`font-family\` and do not emit hex, rgb/hsl literals, or one-off dark/light
1529
- palettes in diagram CSS.
1529
+ Author diagram HTML/CSS with the renderer-owned \`.diagram-*\` primitives
1530
+ (\`.diagram-panel\`, \`.diagram-node\`, \`.diagram-pill\`, \`[data-rough]\`, …) and
1531
+ the same \`--wf-*\` theme tokens \`references/wireframe.md\` defines never
1532
+ \`font-family\`, hex, rgb/hsl literals, or one-off dark/light palettes.
1530
1533
  - **Outcome-first narrative** → \`rich-text\` for the "what changed and why" prose:
1531
1534
  the objective the diff served, the key decisions visible in it, and the risks a
1532
1535
  reviewer should weigh. This is the only place the model writes freely.
@@ -1576,8 +1579,8 @@ A few recap-specific authoring rules the registry table cannot encode:
1576
1579
  JSON \`tabs={[…]}\` prop — there is NO nested \`<Tab>\` element.
1577
1580
  - \`WireframeBlock\`: its body is a single \`<Screen surface ... html=… />\` subtree
1578
1581
  (nested MDX, not a flat prop); \`html\` must be a single-quoted string or static
1579
- template literal, never a dynamic \`html={someVar}\` expression. See the
1580
- Wireframe Quality core above for the HTML rules.
1582
+ template literal, never a dynamic \`html={someVar}\` expression. See
1583
+ \`references/wireframe.md\` for the HTML rules.
1581
1584
  - \`Diagram\`: the whole payload is one \`data={{ html?, css?, nodes?, edges?, … }}\`
1582
1585
  attribute and requires either \`html\` or at least one node; \`Mermaid\` is its
1583
1586
  own separate block (\`source\` text), not a \`Diagram\` prop.
@@ -1605,7 +1608,7 @@ sequence when that better matches the change. The visual headline must show
1605
1608
  exact placement, realistic chrome, and adequate padding before any abstract
1606
1609
  explanation. Do not stop at the first visible affordance when the diff adds a
1607
1610
  flow; show the entry point, the opened surface, and the resulting state or page
1608
- so the reviewer can trace the actual user path. The Wireframe Quality core owns
1611
+ so the reviewer can trace the actual user path. \`references/wireframe.md\` owns
1609
1612
  the before/after layout choice —
1610
1613
  the \`columns\` renderer keeps narrow surfaces side by side and auto-stacks wide
1611
1614
  \`desktop\`/\`browser\` frames vertically; never hand-build a side-by-side
@@ -1776,7 +1779,7 @@ export const BUILT_IN_APP_SKILLS = {
1776
1779
  schemaVersion: 1,
1777
1780
  id: "visual-plans",
1778
1781
  displayName: "Agent-Native Plan",
1779
- description: "Generate and review coding-agent plans as structured documents with inline diagrams, implementation maps, annotations, feedback, and HTML export.",
1782
+ description: "Generate and review coding-agent plans as structured documents with inline diagrams, annotated code walkthroughs, file trees, annotations, feedback, and HTML export.",
1780
1783
  hosted: {
1781
1784
  url: "https://plan.agent-native.com",
1782
1785
  mcpUrl: "https://plan.agent-native.com/_agent-native/mcp",
@@ -2359,6 +2362,12 @@ export function parseSkillsArgs(argv) {
2359
2362
  out.client = value;
2360
2363
  out.clientExplicit = true;
2361
2364
  }
2365
+ else if ((value = eat("--skill")) !== undefined) {
2366
+ out.plainSkillNames = [...(out.plainSkillNames ?? []), value];
2367
+ }
2368
+ else if ((value = eat("-s")) !== undefined) {
2369
+ out.plainSkillNames = [...(out.plainSkillNames ?? []), value];
2370
+ }
2362
2371
  else if ((value = eat("--scope")) !== undefined) {
2363
2372
  out.scope = value;
2364
2373
  out.scopeExplicit = true;
@@ -2379,6 +2388,12 @@ export function parseSkillsArgs(argv) {
2379
2388
  out.connect = false;
2380
2389
  else if (arg === "--with-github-action" || arg === "--with-github-actions")
2381
2390
  out.withGithubAction = true;
2391
+ else if (arg === "--update-instructions")
2392
+ out.updateInstructions = true;
2393
+ else if (arg === "--no-update-instructions")
2394
+ out.updateInstructions = false;
2395
+ else if (arg === "--force")
2396
+ out.force = true;
2382
2397
  else if (arg.startsWith("-"))
2383
2398
  throw new Error(`Unknown option: ${arg}`);
2384
2399
  else if (!out.target)
@@ -2508,6 +2523,10 @@ function dryRunInstallCommand(parsed, target) {
2508
2523
  args.push("--no-connect");
2509
2524
  if (parsed.withGithubAction)
2510
2525
  args.push("--with-github-action");
2526
+ if (parsed.updateInstructions === true)
2527
+ args.push("--update-instructions");
2528
+ if (parsed.updateInstructions === false)
2529
+ args.push("--no-update-instructions");
2511
2530
  if (parsed.yes || isKnownSkill(target))
2512
2531
  args.push("--yes");
2513
2532
  return commandString("agent-native", args);
@@ -2581,6 +2600,97 @@ function withMcpUrlOverride(target, input) {
2581
2600
  },
2582
2601
  };
2583
2602
  }
2603
+ function isPlainSkillRepoPath(target) {
2604
+ const resolved = path.resolve(target);
2605
+ if (!fs.existsSync(resolved))
2606
+ return false;
2607
+ const stat = fs.statSync(resolved);
2608
+ if (!stat.isDirectory())
2609
+ return false;
2610
+ const hasDirectSkill = fs.existsSync(path.join(resolved, "SKILL.md"));
2611
+ const skillsDir = path.join(resolved, "skills");
2612
+ const hasSkillsDir = fs.existsSync(skillsDir) &&
2613
+ fs
2614
+ .readdirSync(skillsDir, { withFileTypes: true })
2615
+ .some((entry) => entry.isDirectory() &&
2616
+ fs.existsSync(path.join(skillsDir, entry.name, "SKILL.md")));
2617
+ const hasAppSkillManifest = fs.existsSync(path.join(resolved, "agent-native.app-skill.json"));
2618
+ return !hasAppSkillManifest && (hasDirectSkill || hasSkillsDir);
2619
+ }
2620
+ function isGithubSkillRepoTarget(target) {
2621
+ if (/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#.+)?$/.test(target)) {
2622
+ return true;
2623
+ }
2624
+ try {
2625
+ const url = new URL(target);
2626
+ return url.hostname === "github.com";
2627
+ }
2628
+ catch {
2629
+ return false;
2630
+ }
2631
+ }
2632
+ function isPlainSkillRepoTarget(target) {
2633
+ return isPlainSkillRepoPath(target) || isGithubSkillRepoTarget(target);
2634
+ }
2635
+ function agentNativeSkillsInstallArgs(parsed, target, clients) {
2636
+ const args = [
2637
+ "--yes",
2638
+ "@agent-native/skills@latest",
2639
+ "add",
2640
+ target,
2641
+ "--client",
2642
+ clientArgForClients(clients),
2643
+ "--scope",
2644
+ parsed.scope,
2645
+ ];
2646
+ if (parsed.withGithubAction)
2647
+ args.push("--with-github-action");
2648
+ if (parsed.force)
2649
+ args.push("--force");
2650
+ for (const skill of parsed.plainSkillNames ?? []) {
2651
+ args.push("--skill", skill);
2652
+ }
2653
+ if (parsed.updateInstructions === true)
2654
+ args.push("--update-instructions");
2655
+ if (parsed.updateInstructions === false)
2656
+ args.push("--no-update-instructions");
2657
+ if (parsed.yes)
2658
+ args.push("--yes");
2659
+ return args;
2660
+ }
2661
+ async function addPlainSkillRepo(parsed, options) {
2662
+ const target = parsed.target;
2663
+ if (!parsed.instructions && parsed.mcp) {
2664
+ throw new Error("Plain skill repositories only install skill instructions. Run without --mcp-only.");
2665
+ }
2666
+ if (parsed.mcpUrl) {
2667
+ throw new Error("--mcp-url only applies to app-backed Agent Native skills.");
2668
+ }
2669
+ const clients = parsed.clients ?? resolveClients(parsed.client);
2670
+ const skillsAgents = skillsAgentsForClients(clients);
2671
+ if (skillsAgents.length === 0) {
2672
+ throw new Error("Plain skill repositories can only install instructions for Codex or Claude Code clients.");
2673
+ }
2674
+ const args = agentNativeSkillsInstallArgs(parsed, target, clients);
2675
+ if (!parsed.dryRun) {
2676
+ const code = await (options.runCommand ?? runCommand)("npx", args, {
2677
+ stdio: parsed.yes ? "silent" : "inherit",
2678
+ });
2679
+ if (code !== 0)
2680
+ throw new Error(`npx @agent-native/skills add exited with ${code}.`);
2681
+ }
2682
+ return {
2683
+ id: target,
2684
+ displayName: target,
2685
+ skillNames: [],
2686
+ skillsAgents,
2687
+ mcpUrl: "",
2688
+ mcpClients: [],
2689
+ dryRun: parsed.dryRun,
2690
+ commands: [commandString("npx", args)],
2691
+ local: true,
2692
+ };
2693
+ }
2584
2694
  /**
2585
2695
  * Whether we can run the interactive browser/device auth flow. CI and
2586
2696
  * non-TTY shells must not block on a browser approval, so we skip the inline
@@ -2650,6 +2760,9 @@ async function connectAfterEnsure(installTarget, clients, parsed, options) {
2650
2760
  export async function addAgentNativeSkill(parsed, options = {}) {
2651
2761
  const target = parsed.target ?? "assets";
2652
2762
  const knownTarget = normalizeKnownSkillTarget(target);
2763
+ if (!knownTarget && isPlainSkillRepoTarget(target)) {
2764
+ return addPlainSkillRepo({ ...parsed, target }, options);
2765
+ }
2653
2766
  if (!knownTarget && !fs.existsSync(path.resolve(target))) {
2654
2767
  throw new Error(`Unknown skill or manifest path: ${target}. Run "agent-native skills list".`);
2655
2768
  }
@@ -2748,7 +2861,7 @@ export async function addAgentNativeSkill(parsed, options = {}) {
2748
2861
  instructionSource = installTarget.materializeInstructions(tmpRoot);
2749
2862
  const args = [
2750
2863
  "--yes",
2751
- "skills@latest",
2864
+ "@agent-native/skills@latest",
2752
2865
  "add",
2753
2866
  instructionSource,
2754
2867
  "--copy",
@@ -2763,7 +2876,7 @@ export async function addAgentNativeSkill(parsed, options = {}) {
2763
2876
  stdio: "silent",
2764
2877
  });
2765
2878
  if (code !== 0)
2766
- throw new Error(`npx skills add exited with ${code}.`);
2879
+ throw new Error(`npx @agent-native/skills add exited with ${code}.`);
2767
2880
  }
2768
2881
  }
2769
2882
  }
@@ -2818,10 +2931,16 @@ export async function addAgentNativeSkill(parsed, options = {}) {
2818
2931
  options.log?.("--with-github-action only applies to the visual-plan skill; skipping the workflow.");
2819
2932
  }
2820
2933
  else {
2821
- const written = writePrVisualRecapWorkflow(baseDir);
2822
- githubActionPath = written.path;
2823
- githubActionExisted = written.existed;
2824
- commands.push(`write ${written.path}`);
2934
+ const writeResult = writePrVisualRecapWorkflow(baseDir, {
2935
+ force: Boolean(parsed.force),
2936
+ });
2937
+ if (writeResult.status === "refused") {
2938
+ throw new Error(`recap workflow: ${writeResult.message}`);
2939
+ }
2940
+ githubActionPath = writeResult.path;
2941
+ githubActionExisted =
2942
+ writeResult.status === "written" ? writeResult.existed : false;
2943
+ commands.push(`write ${writeResult.path}`);
2825
2944
  }
2826
2945
  }
2827
2946
  return {