@agent-native/core 0.152.0 → 0.153.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (917) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/analytics/.agents/skills/adding-a-feature/SKILL.md +208 -0
  3. package/corpus/templates/analytics/.agents/skills/context-awareness/SKILL.md +206 -0
  4. package/corpus/templates/analytics/.agents/skills/data-querying/SKILL.md +6 -4
  5. package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +73 -80
  6. package/corpus/templates/analytics/.agents/skills/portability/SKILL.md +107 -0
  7. package/corpus/templates/analytics/.agents/skills/secrets/SKILL.md +339 -0
  8. package/corpus/templates/analytics/.agents/skills/self-modifying-code/SKILL.md +3 -3
  9. package/corpus/templates/analytics/.agents/skills/shadcn-ui/SKILL.md +1 -1
  10. package/corpus/templates/analytics/.agents/skills/sharing/SKILL.md +1 -0
  11. package/corpus/templates/analytics/.agents/skills/turn-into-app/SKILL.md +116 -44
  12. package/corpus/templates/analytics/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  13. package/corpus/templates/analytics/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  14. package/corpus/templates/analytics/.agents/skills/workspace-conventions/SKILL.md +93 -0
  15. package/corpus/templates/analytics/actions/data-source-status.ts +4 -1
  16. package/corpus/templates/analytics/actions/migrate-first-party-analytics-to-bigquery.ts +2 -2
  17. package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +7 -2
  18. package/corpus/templates/analytics/app/components/layout/NewDashboardDialog.tsx +7 -1
  19. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +30 -32
  20. package/corpus/templates/analytics/app/components/layout/layout-route-policy.ts +10 -0
  21. package/corpus/templates/analytics/app/global.css +5 -1
  22. package/corpus/templates/analytics/app/lib/data-source-status.ts +3 -3
  23. package/corpus/templates/analytics/app/lib/resource-access.ts +6 -1
  24. package/corpus/templates/analytics/app/pages/DataSources.tsx +79 -51
  25. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +1 -0
  26. package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +1 -0
  27. package/corpus/templates/analytics/changelog/2026-08-12-analytics-sidebar-ask-toggle-and-compact-rail.md +6 -0
  28. package/corpus/templates/analytics/changelog/2026-08-12-data-source-statuses-now-distinguish-workspace-access-from-c.md +6 -0
  29. package/corpus/templates/analytics/server/jobs/analytics-bigquery-backfill.ts +559 -147
  30. package/corpus/templates/analytics/server/lib/first-party-analytics-backend.ts +79 -5
  31. package/corpus/templates/analytics/server/plugins/db.ts +84 -0
  32. package/corpus/templates/assets/.agents/skills/adding-a-feature/SKILL.md +208 -0
  33. package/corpus/templates/assets/.agents/skills/context-awareness/SKILL.md +206 -0
  34. package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +73 -80
  35. package/corpus/templates/assets/.agents/skills/portability/SKILL.md +107 -0
  36. package/corpus/templates/assets/.agents/skills/secrets/SKILL.md +339 -0
  37. package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +3 -3
  38. package/corpus/templates/assets/.agents/skills/shadcn-ui/SKILL.md +1 -1
  39. package/corpus/templates/assets/.agents/skills/sharing/SKILL.md +1 -0
  40. package/corpus/templates/assets/.agents/skills/turn-into-app/SKILL.md +116 -44
  41. package/corpus/templates/assets/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  42. package/corpus/templates/assets/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  43. package/corpus/templates/assets/.agents/skills/workspace-conventions/SKILL.md +93 -0
  44. package/corpus/templates/assets/app/components/asset/AssetPreviewDialog.tsx +13 -5
  45. package/corpus/templates/assets/app/lib/asset-urls.ts +13 -0
  46. package/corpus/templates/assets/app/routes/asset.$id.tsx +16 -6
  47. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +1 -0
  48. package/corpus/templates/assets/app/routes/library.tsx +336 -78
  49. package/corpus/templates/assets/shared/api.ts +1 -1
  50. package/corpus/templates/brain/.agents/skills/adding-a-feature/SKILL.md +3 -2
  51. package/corpus/templates/brain/.agents/skills/brain/SKILL.md +8 -6
  52. package/corpus/templates/brain/.agents/skills/context-awareness/SKILL.md +206 -0
  53. package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +73 -80
  54. package/corpus/templates/brain/.agents/skills/ingestion-and-connectors/SKILL.md +7 -0
  55. package/corpus/templates/brain/.agents/skills/portability/SKILL.md +107 -0
  56. package/corpus/templates/brain/.agents/skills/secrets/SKILL.md +339 -0
  57. package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +3 -3
  58. package/corpus/templates/brain/.agents/skills/shadcn-ui/SKILL.md +1 -1
  59. package/corpus/templates/brain/.agents/skills/sharing/SKILL.md +1 -0
  60. package/corpus/templates/brain/.agents/skills/turn-into-app/SKILL.md +116 -44
  61. package/corpus/templates/brain/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  62. package/corpus/templates/brain/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  63. package/corpus/templates/brain/.agents/skills/workspace-conventions/SKILL.md +93 -0
  64. package/corpus/templates/brain/AGENTS.md +2 -1
  65. package/corpus/templates/brain/actions/ask-brain.ts +19 -16
  66. package/corpus/templates/brain/actions/create-source.ts +11 -2
  67. package/corpus/templates/brain/actions/import-markdown-files.ts +237 -0
  68. package/corpus/templates/brain/actions/resanitize-captures.ts +3 -1
  69. package/corpus/templates/brain/actions/test-slack-connection.ts +12 -3
  70. package/corpus/templates/brain/actions/update-source.ts +10 -1
  71. package/corpus/templates/brain/app/components/brain/Surface.tsx +1 -11
  72. package/corpus/templates/brain/app/i18n-data.ts +111 -0
  73. package/corpus/templates/brain/app/lib/brain.ts +23 -1
  74. package/corpus/templates/brain/app/routes/knowledge.tsx +0 -2
  75. package/corpus/templates/brain/app/routes/ops.tsx +0 -2
  76. package/corpus/templates/brain/app/routes/review.tsx +0 -2
  77. package/corpus/templates/brain/app/routes/search.tsx +0 -2
  78. package/corpus/templates/brain/app/routes/sources.tsx +354 -6
  79. package/corpus/templates/brain/server/lib/brain-response-guard.ts +63 -1
  80. package/corpus/templates/brain/server/lib/brain.ts +9 -6
  81. package/corpus/templates/brain/server/lib/connectors.ts +20 -6
  82. package/corpus/templates/brain/server/lib/search.ts +9 -1
  83. package/corpus/templates/brain/server/lib/source-credentials.ts +95 -57
  84. package/corpus/templates/brain/server/plugins/agent-chat.ts +5 -2
  85. package/corpus/templates/brain/server/plugins/auth.ts +2 -0
  86. package/corpus/templates/calendar/.agents/skills/adding-a-feature/SKILL.md +208 -0
  87. package/corpus/templates/calendar/.agents/skills/context-awareness/SKILL.md +206 -0
  88. package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +73 -80
  89. package/corpus/templates/calendar/.agents/skills/portability/SKILL.md +107 -0
  90. package/corpus/templates/calendar/.agents/skills/secrets/SKILL.md +339 -0
  91. package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +3 -3
  92. package/corpus/templates/calendar/.agents/skills/shadcn-ui/SKILL.md +1 -1
  93. package/corpus/templates/calendar/.agents/skills/sharing/SKILL.md +1 -0
  94. package/corpus/templates/calendar/.agents/skills/turn-into-app/SKILL.md +116 -44
  95. package/corpus/templates/calendar/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  96. package/corpus/templates/calendar/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  97. package/corpus/templates/calendar/.agents/skills/workspace-conventions/SKILL.md +93 -0
  98. package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +1 -0
  99. package/corpus/templates/chat/.agents/skills/adding-a-feature/SKILL.md +3 -2
  100. package/corpus/templates/chat/.agents/skills/context-awareness/SKILL.md +206 -0
  101. package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +73 -80
  102. package/corpus/templates/chat/.agents/skills/portability/SKILL.md +107 -0
  103. package/corpus/templates/chat/.agents/skills/secrets/SKILL.md +339 -0
  104. package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +3 -3
  105. package/corpus/templates/chat/.agents/skills/shadcn-ui/SKILL.md +1 -1
  106. package/corpus/templates/chat/.agents/skills/sharing/SKILL.md +1 -0
  107. package/corpus/templates/chat/.agents/skills/turn-into-app/SKILL.md +116 -44
  108. package/corpus/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  109. package/corpus/templates/chat/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  110. package/corpus/templates/chat/.agents/skills/workspace-conventions/SKILL.md +93 -0
  111. package/corpus/templates/chat/AGENTS.md +4 -5
  112. package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +73 -80
  113. package/corpus/templates/clips/.agents/skills/meetings/SKILL.md +1 -1
  114. package/corpus/templates/clips/.agents/skills/secrets/SKILL.md +339 -0
  115. package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +3 -3
  116. package/corpus/templates/clips/.agents/skills/shadcn-ui/SKILL.md +1 -1
  117. package/corpus/templates/clips/.agents/skills/turn-into-app/SKILL.md +116 -44
  118. package/corpus/templates/clips/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  119. package/corpus/templates/clips/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  120. package/corpus/templates/clips/.agents/skills/workspace-conventions/SKILL.md +93 -0
  121. package/corpus/templates/clips/actions/add-comment.ts +1 -2
  122. package/corpus/templates/clips/actions/delete-comment.ts +2 -0
  123. package/corpus/templates/clips/actions/get-recording-insights.ts +9 -8
  124. package/corpus/templates/clips/actions/get-recording-player-data.ts +4 -1
  125. package/corpus/templates/clips/actions/react-to-comment.ts +1 -1
  126. package/corpus/templates/clips/actions/react-to-recording.ts +1 -1
  127. package/corpus/templates/clips/actions/reply-to-comment.ts +1 -1
  128. package/corpus/templates/clips/actions/resolve-comment.ts +1 -2
  129. package/corpus/templates/clips/actions/update-comment.ts +1 -1
  130. package/corpus/templates/clips/app/components/editor/editor-layout.tsx +1 -0
  131. package/corpus/templates/clips/app/components/editor/thumbnail-picker.tsx +59 -16
  132. package/corpus/templates/clips/app/components/player/comments-panel.tsx +88 -39
  133. package/corpus/templates/clips/app/components/player/share-dialog.tsx +12 -8
  134. package/corpus/templates/clips/app/components/player/timestamped-comment-button.tsx +3 -1
  135. package/corpus/templates/clips/app/components/player/video-player.tsx +1 -1
  136. package/corpus/templates/clips/app/components/sharing/share-ui.tsx +2 -1
  137. package/corpus/templates/clips/app/i18n/en-US.ts +2 -1
  138. package/corpus/templates/clips/app/lib/public-meeting.ts +1 -1
  139. package/corpus/templates/clips/app/lib/thumbnail-capture.ts +71 -0
  140. package/corpus/templates/clips/app/lib/thumbnail-picker-state.ts +93 -0
  141. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +1 -1
  142. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +25 -19
  143. package/corpus/templates/clips/app/routes/share.$shareId.tsx +8 -0
  144. package/corpus/templates/clips/changelog/2026-07-23-meeting-recording-meters-and-dismissed-prompts.md +1 -1
  145. package/corpus/templates/clips/changelog/2026-08-11-clips-asks-to-take-notes-again-when-you-join-an-adhoc-zoom-o.md +6 -0
  146. package/corpus/templates/clips/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
  147. package/corpus/templates/clips/desktop/src-tauri/src/adhoc_meetings_watcher.rs +166 -14
  148. package/corpus/templates/clips/desktop/src-tauri/src/call_activity.rs +146 -0
  149. package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +1 -0
  150. package/corpus/templates/clips/desktop/src-tauri/src/silence_detector.rs +2 -122
  151. package/corpus/templates/clips/server/lib/recording-page-access.ts +6 -1
  152. package/corpus/templates/clips/server/routes/api/public-recording.get.ts +5 -0
  153. package/corpus/templates/clips/shared/share-meta.ts +19 -3
  154. package/corpus/templates/content/.agents/skills/adding-a-feature/SKILL.md +208 -0
  155. package/corpus/templates/content/.agents/skills/context-awareness/SKILL.md +206 -0
  156. package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +73 -80
  157. package/corpus/templates/content/.agents/skills/portability/SKILL.md +107 -0
  158. package/corpus/templates/content/.agents/skills/secrets/SKILL.md +339 -0
  159. package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +3 -3
  160. package/corpus/templates/content/.agents/skills/shadcn-ui/SKILL.md +1 -1
  161. package/corpus/templates/content/.agents/skills/sharing/SKILL.md +1 -0
  162. package/corpus/templates/content/.agents/skills/turn-into-app/SKILL.md +116 -44
  163. package/corpus/templates/content/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  164. package/corpus/templates/content/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  165. package/corpus/templates/content/.agents/skills/workspace-conventions/SKILL.md +93 -0
  166. package/corpus/templates/content/actions/_database-utils.ts +10 -0
  167. package/corpus/templates/content/actions/add-comment.ts +1 -1
  168. package/corpus/templates/content/actions/attach-content-database-source.ts +158 -61
  169. package/corpus/templates/content/actions/create-document.ts +1 -0
  170. package/corpus/templates/content/actions/delete-comment.ts +1 -1
  171. package/corpus/templates/content/actions/get-document.ts +9 -1
  172. package/corpus/templates/content/actions/import-content-source.ts +8 -0
  173. package/corpus/templates/content/actions/list-documents.ts +10 -1
  174. package/corpus/templates/content/actions/update-comment.ts +1 -1
  175. package/corpus/templates/content/actions/update-document.ts +11 -0
  176. package/corpus/templates/content/app/components/editor/BubbleToolbar.tsx +196 -30
  177. package/corpus/templates/content/app/components/editor/CommentsSidebar.tsx +52 -29
  178. package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +13 -8
  179. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +62 -2
  180. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +163 -53
  181. package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +16 -0
  182. package/corpus/templates/content/app/components/editor/database/settings.tsx +22 -13
  183. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +7 -7
  184. package/corpus/templates/content/app/hooks/use-documents.ts +2 -0
  185. package/corpus/templates/content/app/i18n-data.ts +10 -0
  186. package/corpus/templates/content/app/root.tsx +1 -21
  187. package/corpus/templates/content/changelog/2026-08-03-choose-text-or-a-heading-from-one-compact-formatting-control.md +6 -0
  188. package/corpus/templates/content/changelog/2026-08-05-connect-sources-from-add-column.md +6 -0
  189. package/corpus/templates/content/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
  190. package/corpus/templates/content/docs/solutions/evidence/content-text-selector/README.md +26 -0
  191. package/corpus/templates/content/shared/api.ts +7 -1
  192. package/corpus/templates/crm/.agents/skills/actions/SKILL.md +146 -0
  193. package/corpus/templates/crm/.agents/skills/actions/references/action-fields.md +136 -0
  194. package/corpus/templates/crm/.agents/skills/actions/references/examples.md +94 -0
  195. package/corpus/templates/crm/.agents/skills/actions/references/provider-apis.md +95 -0
  196. package/corpus/templates/crm/.agents/skills/adding-a-feature/SKILL.md +208 -0
  197. package/corpus/templates/crm/.agents/skills/context-awareness/SKILL.md +206 -0
  198. package/corpus/templates/crm/.agents/skills/delegate-to-agent/SKILL.md +289 -0
  199. package/corpus/templates/crm/.agents/skills/frontend-design/SKILL.md +296 -0
  200. package/corpus/templates/crm/.agents/skills/frontend-design/references/visual-direction.md +99 -0
  201. package/corpus/templates/crm/.agents/skills/portability/SKILL.md +107 -0
  202. package/corpus/templates/crm/.agents/skills/real-time-sync/SKILL.md +232 -0
  203. package/corpus/templates/crm/.agents/skills/secrets/SKILL.md +339 -0
  204. package/corpus/templates/crm/.agents/skills/security/SKILL.md +324 -0
  205. package/corpus/templates/crm/.agents/skills/self-modifying-code/SKILL.md +123 -0
  206. package/corpus/templates/crm/.agents/skills/shadcn-ui/SKILL.md +123 -0
  207. package/corpus/templates/crm/.agents/skills/sharing/SKILL.md +1 -0
  208. package/corpus/templates/crm/.agents/skills/turn-into-app/SKILL.md +116 -44
  209. package/corpus/templates/crm/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  210. package/corpus/templates/crm/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  211. package/corpus/templates/crm/.agents/skills/workspace-conventions/SKILL.md +93 -0
  212. package/corpus/templates/design/.agents/skills/adding-a-feature/SKILL.md +208 -0
  213. package/corpus/templates/design/.agents/skills/context-awareness/SKILL.md +206 -0
  214. package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +73 -80
  215. package/corpus/templates/design/.agents/skills/portability/SKILL.md +107 -0
  216. package/corpus/templates/design/.agents/skills/real-time-sync/SKILL.md +232 -0
  217. package/corpus/templates/design/.agents/skills/secrets/SKILL.md +339 -0
  218. package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +3 -3
  219. package/corpus/templates/design/.agents/skills/shadcn-ui/SKILL.md +1 -1
  220. package/corpus/templates/design/.agents/skills/sharing/SKILL.md +1 -0
  221. package/corpus/templates/design/.agents/skills/turn-into-app/SKILL.md +116 -44
  222. package/corpus/templates/design/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  223. package/corpus/templates/design/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  224. package/corpus/templates/design/.agents/skills/workspace-conventions/SKILL.md +93 -0
  225. package/corpus/templates/design/actions/index-design-system-with-builder.ts +16 -2
  226. package/corpus/templates/design/app/components/design-system/ProductionDesignSystemShowcase.tsx +6 -18
  227. package/corpus/templates/design/app/i18n/en-US.ts +1 -1
  228. package/corpus/templates/design/app/i18n-data.ts +40 -0
  229. package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +153 -131
  230. package/corpus/templates/design/app/pages/DesignSystems.tsx +7 -61
  231. package/corpus/templates/design/app/pages/Present.tsx +8 -2
  232. package/corpus/templates/design/app/pages/Templates.tsx +1 -0
  233. package/corpus/templates/design/app/pages/design-editor/tool-state.ts +4 -1
  234. package/corpus/templates/design/app/pages/design-editor/types.ts +6 -1
  235. package/corpus/templates/design/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
  236. package/corpus/templates/dispatch/.agents/skills/adding-a-feature/SKILL.md +208 -0
  237. package/corpus/templates/dispatch/.agents/skills/context-awareness/SKILL.md +206 -0
  238. package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +73 -80
  239. package/corpus/templates/dispatch/.agents/skills/portability/SKILL.md +107 -0
  240. package/corpus/templates/dispatch/.agents/skills/real-time-sync/SKILL.md +232 -0
  241. package/corpus/templates/dispatch/.agents/skills/secrets/SKILL.md +339 -0
  242. package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +3 -3
  243. package/corpus/templates/dispatch/.agents/skills/shadcn-ui/SKILL.md +1 -1
  244. package/corpus/templates/dispatch/.agents/skills/sharing/SKILL.md +1 -0
  245. package/corpus/templates/dispatch/.agents/skills/turn-into-app/SKILL.md +116 -44
  246. package/corpus/templates/dispatch/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  247. package/corpus/templates/dispatch/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  248. package/corpus/templates/dispatch/.agents/skills/workspace-conventions/SKILL.md +93 -0
  249. package/corpus/templates/dispatch/actions/apply-workspace-connection-setup.ts +97 -15
  250. package/corpus/templates/dispatch/actions/connection-permissions.ts +77 -0
  251. package/corpus/templates/dispatch/actions/delete-workspace-connection.ts +12 -2
  252. package/corpus/templates/dispatch/actions/list-workspace-user-groups.ts +19 -0
  253. package/corpus/templates/dispatch/actions/plan-workspace-connection-setup.ts +9 -2
  254. package/corpus/templates/dispatch/actions/set-workspace-connection-grant.ts +21 -2
  255. package/corpus/templates/dispatch/actions/upsert-workspace-connection.ts +66 -1
  256. package/corpus/templates/dispatch/actions/upsert-workspace-user-group.ts +27 -0
  257. package/corpus/templates/dispatch/app/chat-first-pages.ts +84 -0
  258. package/corpus/templates/dispatch/app/i18n-data.ts +3989 -3527
  259. package/corpus/templates/dispatch/app/routes/integrations.tsx +1568 -685
  260. package/corpus/templates/dispatch/app/routes/settings.tsx +14 -9
  261. package/corpus/templates/dispatch/changelog/2026-08-12-search-and-pin-workspace-apps-from-the-app-catalog.md +6 -0
  262. package/corpus/templates/dispatch/changelog/2026-08-12-workspace-integration-access-now-shows-exactly-which-apps-ca.md +6 -0
  263. package/corpus/templates/dispatch/server/lib/app-roles.ts +5 -0
  264. package/corpus/templates/dispatch/shared/app-roles.ts +1 -0
  265. package/corpus/templates/factory/.agents/skills/adding-a-feature/SKILL.md +3 -2
  266. package/corpus/templates/factory/.agents/skills/context-awareness/SKILL.md +206 -0
  267. package/corpus/templates/factory/.agents/skills/frontend-design/SKILL.md +73 -80
  268. package/corpus/templates/factory/.agents/skills/portability/SKILL.md +107 -0
  269. package/corpus/templates/factory/.agents/skills/secrets/SKILL.md +339 -0
  270. package/corpus/templates/factory/.agents/skills/self-modifying-code/SKILL.md +3 -3
  271. package/corpus/templates/factory/.agents/skills/shadcn-ui/SKILL.md +1 -1
  272. package/corpus/templates/factory/.agents/skills/sharing/SKILL.md +1 -0
  273. package/corpus/templates/factory/.agents/skills/turn-into-app/SKILL.md +116 -44
  274. package/corpus/templates/factory/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  275. package/corpus/templates/factory/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  276. package/corpus/templates/factory/.agents/skills/workspace-conventions/SKILL.md +93 -0
  277. package/corpus/templates/factory/AGENTS.md +10 -1
  278. package/corpus/templates/factory/README.md +18 -7
  279. package/corpus/templates/factory/actions/list-triage-items.ts +10 -4
  280. package/corpus/templates/factory/actions/poll-github-sources.ts +53 -14
  281. package/corpus/templates/factory/actions/poll-sentry-errors.ts +31 -13
  282. package/corpus/templates/factory/actions/poll-slack-channel.ts +41 -5
  283. package/corpus/templates/factory/actions/provider-api-catalog.ts +13 -0
  284. package/corpus/templates/factory/actions/provider-api-docs.ts +11 -0
  285. package/corpus/templates/factory/actions/provider-api-request.ts +17 -0
  286. package/corpus/templates/factory/actions/save-triage-config.ts +87 -38
  287. package/corpus/templates/factory/app/components/factory/FactoryAuditView.tsx +14 -12
  288. package/corpus/templates/factory/app/components/factory/FactoryCanvas.tsx +60 -77
  289. package/corpus/templates/factory/app/components/factory/FactoryInspector.tsx +66 -125
  290. package/corpus/templates/factory/app/components/layout/Header.tsx +1 -0
  291. package/corpus/templates/factory/app/components/layout/Layout.tsx +8 -3
  292. package/corpus/templates/factory/app/components/layout/Sidebar.tsx +9 -5
  293. package/corpus/templates/factory/app/components/ui/input.tsx +15 -1
  294. package/corpus/templates/factory/app/components/ui/popover.tsx +1 -0
  295. package/corpus/templates/factory/app/components/ui/switch.tsx +1 -0
  296. package/corpus/templates/factory/app/components/ui/textarea.tsx +20 -1
  297. package/corpus/templates/factory/app/hooks/use-navigation-state.ts +5 -3
  298. package/corpus/templates/factory/app/i18n/en-US.ts +17 -0
  299. package/corpus/templates/factory/app/routes/_index.tsx +5 -87
  300. package/corpus/templates/factory/app/routes/chat.$threadId.tsx +1 -1
  301. package/corpus/templates/factory/app/routes/chat.tsx +91 -0
  302. package/corpus/templates/factory/app/routes/factory.tsx +554 -427
  303. package/corpus/templates/factory/app/routes/settings.tsx +1 -1
  304. package/corpus/templates/factory/server/connectors/credentials.ts +25 -0
  305. package/corpus/templates/factory/server/lib/provider-api.ts +34 -0
  306. package/corpus/templates/factory/server/plugins/agent-chat.ts +15 -3
  307. package/corpus/templates/factory/server/plugins/factory-scheduler-job.ts +96 -24
  308. package/corpus/templates/factory/server/triage/review-state.ts +33 -0
  309. package/corpus/templates/factory/server/triage/slack-poller.ts +1 -0
  310. package/corpus/templates/forms/.agents/skills/adding-a-feature/SKILL.md +208 -0
  311. package/corpus/templates/forms/.agents/skills/context-awareness/SKILL.md +206 -0
  312. package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +73 -80
  313. package/corpus/templates/forms/.agents/skills/portability/SKILL.md +107 -0
  314. package/corpus/templates/forms/.agents/skills/secrets/SKILL.md +339 -0
  315. package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +3 -3
  316. package/corpus/templates/forms/.agents/skills/shadcn-ui/SKILL.md +1 -1
  317. package/corpus/templates/forms/.agents/skills/sharing/SKILL.md +1 -0
  318. package/corpus/templates/forms/.agents/skills/turn-into-app/SKILL.md +116 -44
  319. package/corpus/templates/forms/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  320. package/corpus/templates/forms/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  321. package/corpus/templates/forms/.agents/skills/workspace-conventions/SKILL.md +93 -0
  322. package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +1 -0
  323. package/corpus/templates/forms/shared/types.ts +1 -1
  324. package/corpus/templates/macros/.agents/skills/adding-a-feature/SKILL.md +208 -0
  325. package/corpus/templates/macros/.agents/skills/context-awareness/SKILL.md +206 -0
  326. package/corpus/templates/macros/.agents/skills/delegate-to-agent/SKILL.md +289 -0
  327. package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +73 -80
  328. package/corpus/templates/macros/.agents/skills/portability/SKILL.md +107 -0
  329. package/corpus/templates/macros/.agents/skills/real-time-sync/SKILL.md +232 -0
  330. package/corpus/templates/macros/.agents/skills/secrets/SKILL.md +339 -0
  331. package/corpus/templates/macros/.agents/skills/self-modifying-code/SKILL.md +123 -0
  332. package/corpus/templates/macros/.agents/skills/shadcn-ui/SKILL.md +1 -1
  333. package/corpus/templates/macros/.agents/skills/sharing/SKILL.md +1 -0
  334. package/corpus/templates/macros/.agents/skills/turn-into-app/SKILL.md +116 -44
  335. package/corpus/templates/macros/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  336. package/corpus/templates/macros/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  337. package/corpus/templates/macros/.agents/skills/workspace-conventions/SKILL.md +93 -0
  338. package/corpus/templates/mail/.agents/skills/adding-a-feature/SKILL.md +208 -0
  339. package/corpus/templates/mail/.agents/skills/context-awareness/SKILL.md +206 -0
  340. package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +73 -80
  341. package/corpus/templates/mail/.agents/skills/portability/SKILL.md +107 -0
  342. package/corpus/templates/mail/.agents/skills/secrets/SKILL.md +339 -0
  343. package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +3 -3
  344. package/corpus/templates/mail/.agents/skills/shadcn-ui/SKILL.md +1 -1
  345. package/corpus/templates/mail/.agents/skills/sharing/SKILL.md +1 -0
  346. package/corpus/templates/mail/.agents/skills/turn-into-app/SKILL.md +116 -44
  347. package/corpus/templates/mail/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  348. package/corpus/templates/mail/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  349. package/corpus/templates/mail/.agents/skills/workspace-conventions/SKILL.md +93 -0
  350. package/corpus/templates/mail/actions/send-email.ts +9 -0
  351. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +4 -4
  352. package/corpus/templates/mail/changelog/2026-08-12-agent-sent-messages-appear-immediately.md +6 -0
  353. package/corpus/templates/plan/.agents/skills/adding-a-feature/SKILL.md +3 -2
  354. package/corpus/templates/plan/.agents/skills/context-awareness/SKILL.md +206 -0
  355. package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +73 -80
  356. package/corpus/templates/plan/.agents/skills/portability/SKILL.md +107 -0
  357. package/corpus/templates/plan/.agents/skills/secrets/SKILL.md +339 -0
  358. package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +3 -3
  359. package/corpus/templates/plan/.agents/skills/shadcn-ui/SKILL.md +1 -1
  360. package/corpus/templates/plan/.agents/skills/sharing/SKILL.md +1 -0
  361. package/corpus/templates/plan/.agents/skills/turn-into-app/SKILL.md +116 -44
  362. package/corpus/templates/plan/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  363. package/corpus/templates/plan/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  364. package/corpus/templates/plan/.agents/skills/workspace-conventions/SKILL.md +93 -0
  365. package/corpus/templates/plan/actions/delete-plan-comment.ts +6 -0
  366. package/corpus/templates/plan/actions/reply-to-plan-comment.ts +7 -1
  367. package/corpus/templates/plan/actions/resolve-plan-comment.ts +7 -1
  368. package/corpus/templates/plan/actions/update-visual-plan.ts +6 -0
  369. package/corpus/templates/plan/app/hooks/use-plans.ts +1 -1
  370. package/corpus/templates/plan/app/pages/PlansPage.tsx +51 -23
  371. package/corpus/templates/plan/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
  372. package/corpus/templates/plan/server/plans.ts +2 -2
  373. package/corpus/templates/plan/shared/types.ts +1 -1
  374. package/corpus/templates/slides/.agents/skills/adding-a-feature/SKILL.md +208 -0
  375. package/corpus/templates/slides/.agents/skills/context-awareness/SKILL.md +206 -0
  376. package/corpus/templates/slides/.agents/skills/create-deck/SKILL.md +6 -0
  377. package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +73 -80
  378. package/corpus/templates/slides/.agents/skills/portability/SKILL.md +107 -0
  379. package/corpus/templates/slides/.agents/skills/real-time-sync/SKILL.md +232 -0
  380. package/corpus/templates/slides/.agents/skills/secrets/SKILL.md +339 -0
  381. package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +3 -3
  382. package/corpus/templates/slides/.agents/skills/shadcn-ui/SKILL.md +1 -1
  383. package/corpus/templates/slides/.agents/skills/sharing/SKILL.md +1 -0
  384. package/corpus/templates/slides/.agents/skills/turn-into-app/SKILL.md +116 -44
  385. package/corpus/templates/slides/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  386. package/corpus/templates/slides/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  387. package/corpus/templates/slides/.agents/skills/workspace-conventions/SKILL.md +93 -0
  388. package/corpus/templates/slides/AGENTS.md +4 -0
  389. package/corpus/templates/slides/actions/add-slide-comment.ts +1 -1
  390. package/corpus/templates/slides/actions/delete-slide-comment.ts +1 -1
  391. package/corpus/templates/slides/actions/get-layout-overflows.ts +67 -2
  392. package/corpus/templates/slides/actions/update-slide-comment.ts +1 -1
  393. package/corpus/templates/slides/actions/view-screen.ts +76 -26
  394. package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +30 -8
  395. package/corpus/templates/slides/app/components/design-system/DesignSystemCard.tsx +2 -1
  396. package/corpus/templates/slides/app/components/editor/AlignmentGuides.tsx +75 -0
  397. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +80 -80
  398. package/corpus/templates/slides/app/components/editor/SlideContextToolbar.tsx +125 -10
  399. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +244 -9
  400. package/corpus/templates/slides/app/components/editor/SlideOverflowWarning.tsx +1 -1
  401. package/corpus/templates/slides/app/components/editor/canvas-interactions/slides-canvas-adapter.ts +3 -3
  402. package/corpus/templates/slides/app/components/editor/slide-object-interactions.ts +218 -0
  403. package/corpus/templates/slides/app/context/DeckContext.tsx +56 -30
  404. package/corpus/templates/slides/app/hooks/use-deck-role.ts +13 -5
  405. package/corpus/templates/slides/app/hooks/use-design-systems.ts +1 -1
  406. package/corpus/templates/slides/app/i18n/en-US.ts +6 -2
  407. package/corpus/templates/slides/app/lib/create-deck-generation.ts +1 -0
  408. package/corpus/templates/slides/app/lib/pending-deck-changes.ts +32 -0
  409. package/corpus/templates/slides/app/pages/DeckEditor.tsx +85 -4
  410. package/corpus/templates/slides/app/pages/Index.tsx +65 -66
  411. package/corpus/templates/slides/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
  412. package/corpus/templates/tasks/.agents/skills/adding-a-feature/SKILL.md +3 -2
  413. package/corpus/templates/tasks/.agents/skills/context-awareness/SKILL.md +206 -0
  414. package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +73 -80
  415. package/corpus/templates/tasks/.agents/skills/portability/SKILL.md +107 -0
  416. package/corpus/templates/tasks/.agents/skills/secrets/SKILL.md +339 -0
  417. package/corpus/templates/tasks/.agents/skills/self-modifying-code/SKILL.md +3 -3
  418. package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +1 -1
  419. package/corpus/templates/tasks/.agents/skills/sharing/SKILL.md +1 -0
  420. package/corpus/templates/tasks/.agents/skills/turn-into-app/SKILL.md +116 -44
  421. package/corpus/templates/tasks/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  422. package/corpus/templates/tasks/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  423. package/corpus/templates/tasks/.agents/skills/workspace-conventions/SKILL.md +93 -0
  424. package/corpus/templates/tasks/app/components/custom-fields/FieldsPage.tsx +1 -4
  425. package/corpus/templates/tasks/app/components/inbox/InboxList.tsx +0 -1
  426. package/corpus/templates/tasks/app/components/inbox/InboxListPage.tsx +0 -1
  427. package/corpus/templates/tasks/app/components/shared/ListViewHeader.tsx +0 -3
  428. package/corpus/templates/tasks/app/components/shared/PageHeader.tsx +1 -4
  429. package/corpus/templates/tasks/app/components/tasks/TaskList.tsx +0 -1
  430. package/corpus/templates/tasks/app/components/tasks/TaskListPage.tsx +0 -1
  431. package/dist/agent/engine/ai-sdk-engine.js +5 -0
  432. package/dist/agent/engine/anthropic-engine.js +8 -0
  433. package/dist/agent/engine/registry.js +24 -19
  434. package/dist/agent/engine/translate-anthropic.js +16 -1
  435. package/dist/agent/production-agent.d.ts +8 -0
  436. package/dist/agent/production-agent.js +66 -0
  437. package/dist/automations/service.d.ts +2 -0
  438. package/dist/automations/service.js +5 -1
  439. package/dist/chat-threads/schema.d.ts +2 -2
  440. package/dist/cli/changelog.js +21 -4
  441. package/dist/cli/create.d.ts +12 -1
  442. package/dist/cli/create.js +99 -11
  443. package/dist/cli/index.js +6 -6
  444. package/dist/cli/process.d.ts +7 -0
  445. package/dist/cli/process.js +12 -0
  446. package/dist/cli/workspace-skill-policy.d.ts +15 -0
  447. package/dist/cli/workspace-skill-policy.js +62 -0
  448. package/dist/cli/workspacify.js +36 -0
  449. package/dist/client/AgentPanel.d.ts +14 -2
  450. package/dist/client/AgentPanel.js +40 -24
  451. package/dist/client/AssistantChat.js +93 -183
  452. package/dist/client/FeedbackButton.js +15 -2
  453. package/dist/client/RouteTransitionIndicator.d.ts +14 -2
  454. package/dist/client/RouteTransitionIndicator.js +16 -5
  455. package/dist/client/agent-page/AgentTabsPage.js +19 -6
  456. package/dist/client/app-config.d.ts +3 -0
  457. package/dist/client/app-config.js +6 -0
  458. package/dist/client/app-providers.js +2 -1
  459. package/dist/client/changelog/Changelog.d.ts +2 -1
  460. package/dist/client/changelog/Changelog.js +7 -5
  461. package/dist/client/chat/markdown-renderer.d.ts +3 -1
  462. package/dist/client/chat/markdown-renderer.js +24 -24
  463. package/dist/client/chat/message-components.d.ts +23 -0
  464. package/dist/client/chat/message-components.js +27 -44
  465. package/dist/client/chat/tool-call-display.d.ts +2 -2
  466. package/dist/client/chat/tool-call-display.js +6 -3
  467. package/dist/client/chat-first/app-open-actions.d.ts +28 -0
  468. package/dist/client/chat-first/app-open-actions.js +25 -0
  469. package/dist/client/chat-first/index.d.ts +1 -0
  470. package/dist/client/chat-first/index.js +1 -0
  471. package/dist/client/chat-first/primary-nav.d.ts +2 -1
  472. package/dist/client/chat-first/primary-nav.js +12 -5
  473. package/dist/client/conversation/use-near-bottom-autoscroll.d.ts +14 -0
  474. package/dist/client/conversation/use-near-bottom-autoscroll.js +14 -0
  475. package/dist/client/error-format.js +32 -3
  476. package/dist/client/extensions/EmbeddedExtension.js +1 -0
  477. package/dist/client/extensions/ExtensionViewer.js +3 -1
  478. package/dist/client/extensions/InlineExtensionFrame.js +1 -0
  479. package/dist/client/extensions/iframe-bridge.d.ts +3 -2
  480. package/dist/client/extensions/iframe-bridge.js +4 -2
  481. package/dist/client/guided-questions.d.ts +15 -1
  482. package/dist/client/guided-questions.js +33 -15
  483. package/dist/client/i18n.js +28 -5
  484. package/dist/client/integrations/IntegrationConnectionChoice.d.ts +11 -0
  485. package/dist/client/integrations/IntegrationConnectionChoice.js +6 -0
  486. package/dist/client/integrations/IntegrationGrid.d.ts +23 -0
  487. package/dist/client/integrations/IntegrationGrid.js +12 -0
  488. package/dist/client/integrations/IntegrationsPanel.js +92 -26
  489. package/dist/client/integrations/index.d.ts +2 -0
  490. package/dist/client/integrations/index.js +2 -0
  491. package/dist/client/onboarding/FirstRunOnboarding.d.ts +3 -1
  492. package/dist/client/onboarding/FirstRunOnboarding.js +26 -16
  493. package/dist/client/onboarding/first-run-enabled.js +1 -5
  494. package/dist/client/onboarding/first-run-startup-gate.d.ts +5 -0
  495. package/dist/client/onboarding/first-run-startup-gate.js +51 -0
  496. package/dist/client/onboarding/first-run-status.d.ts +7 -0
  497. package/dist/client/onboarding/first-run-status.js +26 -0
  498. package/dist/client/onboarding/index.d.ts +3 -0
  499. package/dist/client/onboarding/index.js +3 -0
  500. package/dist/client/onboarding/use-onboarding.d.ts +1 -0
  501. package/dist/client/onboarding/use-onboarding.js +13 -11
  502. package/dist/client/org/TeamPage.js +174 -28
  503. package/dist/client/resources/McpConnectionSuggestion.js +29 -72
  504. package/dist/client/resources/McpIntegrationDialog.d.ts +3 -1
  505. package/dist/client/resources/McpIntegrationDialog.js +176 -51
  506. package/dist/client/resources/index.d.ts +1 -0
  507. package/dist/client/resources/index.js +1 -0
  508. package/dist/client/resources/mcp-integration-catalog.d.ts +8 -0
  509. package/dist/client/resources/mcp-integration-catalog.js +28 -0
  510. package/dist/client/settings/ExtensionsSettingsContent.js +2 -2
  511. package/dist/client/settings/SettingsPanel.d.ts +6 -0
  512. package/dist/client/settings/SettingsPanel.js +21 -8
  513. package/dist/client/settings/SettingsRow.d.ts +3 -1
  514. package/dist/client/settings/SettingsRow.js +4 -2
  515. package/dist/client/settings/SettingsSkeleton.js +5 -3
  516. package/dist/client/settings/SettingsTabsPage.js +2 -2
  517. package/dist/client/settings/UsageSection.d.ts +4 -1
  518. package/dist/client/settings/UsageSection.js +187 -93
  519. package/dist/client/settings/agent-settings-search.js +6 -2
  520. package/dist/client/setup-connections/useBuilderConnectCardController.d.ts +1 -1
  521. package/dist/client/setup-connections/useBuilderConnectCardController.js +2 -2
  522. package/dist/client/sharing/ShareButton.d.ts +2 -0
  523. package/dist/client/sharing/ShareButton.js +9 -2
  524. package/dist/client/sharing/ShareDialog.js +4 -1
  525. package/dist/client/sharing/useShareButtonController.d.ts +2 -1
  526. package/dist/client/sharing/useShareButtonController.js +8 -0
  527. package/dist/client/sharing/useShareDialogController.d.ts +1 -1
  528. package/dist/client/sharing/useShareDialogController.js +2 -1
  529. package/dist/config.d.ts +13 -0
  530. package/dist/config.js +53 -0
  531. package/dist/dashboard-storage/schema.d.ts +2 -2
  532. package/dist/data-programs/schema.d.ts +2 -2
  533. package/dist/extensions/actions.js +2 -1
  534. package/dist/extensions/html-shell.d.ts +2 -2
  535. package/dist/extensions/routes.js +4 -1
  536. package/dist/extensions/schema.d.ts +2 -2
  537. package/dist/file-upload/pre-upload-attachments.js +1 -1
  538. package/dist/framework-tools.js +3 -0
  539. package/dist/history/types.d.ts +1 -1
  540. package/dist/index.d.ts +2 -1
  541. package/dist/index.js +2 -1
  542. package/dist/integrations/webhook-handler.js +11 -3
  543. package/dist/jobs/background-automation-runner.d.ts +1 -0
  544. package/dist/jobs/background-automation-runner.js +4 -2
  545. package/dist/jobs/frontmatter.d.ts +4 -0
  546. package/dist/jobs/frontmatter.js +16 -0
  547. package/dist/jobs/run-history.js +1 -1
  548. package/dist/jobs/tools.js +9 -5
  549. package/dist/localization/default-messages.d.ts +27 -0
  550. package/dist/localization/default-messages.js +28 -1
  551. package/dist/mcp/screen-memory-stdio.d.ts +7 -7
  552. package/dist/notifications/routes.d.ts +2 -2
  553. package/dist/observability/routes.d.ts +3 -3
  554. package/dist/onboarding/plugin.js +17 -2
  555. package/dist/org/context.js +16 -0
  556. package/dist/progress/routes.d.ts +1 -1
  557. package/dist/provider-api/actions/custom-provider-registration.d.ts +12 -12
  558. package/dist/provider-api/actions/provider-api.d.ts +8 -8
  559. package/dist/review/actions/create-review-comment.js +1 -1
  560. package/dist/review/actions/delete-review-comment.js +4 -1
  561. package/dist/review/actions/list-review-comments.js +4 -2
  562. package/dist/review/actions/reply-review-comment.js +1 -1
  563. package/dist/review/types.d.ts +1 -1
  564. package/dist/server/action-discovery.js +29 -0
  565. package/dist/server/agent-chat/context-tools.js +27 -6
  566. package/dist/server/agent-chat/plugin-options.d.ts +7 -0
  567. package/dist/server/agent-chat-plugin.d.ts +2 -0
  568. package/dist/server/agent-chat-plugin.js +12 -4
  569. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  570. package/dist/server/builder-browser.js +31 -0
  571. package/dist/server/onboarding-html.js +1 -1
  572. package/dist/server/realtime-token.d.ts +1 -1
  573. package/dist/server/workspace-provider-oauth.js +38 -26
  574. package/dist/setup-connections/index.d.ts +1 -1
  575. package/dist/setup-connections/index.js +1 -1
  576. package/dist/shared/first-run-onboarding.d.ts +6 -0
  577. package/dist/shared/first-run-onboarding.js +6 -0
  578. package/dist/sharing/access.d.ts +1 -1
  579. package/dist/sharing/access.js +4 -1
  580. package/dist/sharing/actions/share-resource.d.ts +1 -1
  581. package/dist/sharing/actions/share-resource.js +2 -2
  582. package/dist/sharing/registry.d.ts +2 -2
  583. package/dist/sharing/schema.d.ts +5 -5
  584. package/dist/sharing/schema.js +9 -6
  585. package/dist/styles/agent-native.css +21 -0
  586. package/dist/styles/chat-history-list.css +1 -1
  587. package/dist/templates/chat/.agents/skills/adding-a-feature/SKILL.md +3 -2
  588. package/dist/templates/chat/.agents/skills/context-awareness/SKILL.md +206 -0
  589. package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +73 -80
  590. package/dist/templates/chat/.agents/skills/portability/SKILL.md +107 -0
  591. package/dist/templates/chat/.agents/skills/secrets/SKILL.md +339 -0
  592. package/dist/templates/chat/.agents/skills/self-modifying-code/SKILL.md +3 -3
  593. package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +1 -1
  594. package/dist/templates/chat/.agents/skills/sharing/SKILL.md +1 -0
  595. package/dist/templates/chat/.agents/skills/turn-into-app/SKILL.md +116 -44
  596. package/dist/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  597. package/dist/templates/chat/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  598. package/dist/templates/chat/.agents/skills/workspace-conventions/SKILL.md +93 -0
  599. package/dist/templates/chat/AGENTS.md +4 -5
  600. package/dist/templates/default/.agents/skills/adding-a-feature/SKILL.md +3 -2
  601. package/dist/templates/default/.agents/skills/context-awareness/SKILL.md +206 -0
  602. package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +73 -80
  603. package/dist/templates/default/.agents/skills/portability/SKILL.md +107 -0
  604. package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +3 -3
  605. package/dist/templates/default/.agents/skills/shadcn-ui/SKILL.md +1 -1
  606. package/dist/templates/default/.agents/skills/sharing/SKILL.md +233 -0
  607. package/dist/templates/default/.agents/skills/turn-into-app/SKILL.md +116 -44
  608. package/dist/templates/default/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  609. package/dist/templates/default/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  610. package/dist/templates/default/.agents/skills/workspace-conventions/SKILL.md +93 -0
  611. package/dist/templates/default/AGENTS.md +17 -2
  612. package/dist/templates/default/agent-native.config.ts +6 -0
  613. package/dist/templates/default/app/i18n/ar-SA.ts +2 -0
  614. package/dist/templates/default/app/i18n/de-DE.ts +2 -0
  615. package/dist/templates/default/app/i18n/en-US.ts +3 -1
  616. package/dist/templates/default/app/i18n/es-ES.ts +2 -0
  617. package/dist/templates/default/app/i18n/fr-FR.ts +2 -0
  618. package/dist/templates/default/app/i18n/hi-IN.ts +2 -0
  619. package/dist/templates/default/app/i18n/ja-JP.ts +2 -0
  620. package/dist/templates/default/app/i18n/ko-KR.ts +2 -0
  621. package/dist/templates/default/app/i18n/pt-BR.ts +2 -0
  622. package/dist/templates/default/app/i18n/zh-CN.ts +2 -0
  623. package/dist/templates/default/app/i18n/zh-TW.ts +2 -0
  624. package/dist/templates/headless/.agents/skills/delegate-to-agent/SKILL.md +289 -0
  625. package/dist/templates/headless/.agents/skills/security/SKILL.md +324 -0
  626. package/dist/templates/headless/.agents/skills/storing-data/SKILL.md +178 -0
  627. package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +3 -2
  628. package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +73 -80
  629. package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +3 -3
  630. package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +1 -1
  631. package/dist/templates/workspace-core/.agents/skills/sharing/SKILL.md +1 -0
  632. package/dist/templates/workspace-core/.agents/skills/turn-into-app/SKILL.md +116 -44
  633. package/dist/templates/workspace-core/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  634. package/dist/templates/workspace-core/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  635. package/dist/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +3 -2
  636. package/dist/templates/workspace-core/AGENTS.md +9 -3
  637. package/dist/templates/workspace-root/AGENTS.md +26 -1
  638. package/dist/templates/workspace-root/agent-native.config.ts +8 -0
  639. package/dist/triggers/actions.js +2 -2
  640. package/dist/usage/actions/get-usage-alerts.d.ts +5 -0
  641. package/dist/usage/actions/get-usage-alerts.js +16 -0
  642. package/dist/usage/actions/get-usage-metrics.d.ts +7 -0
  643. package/dist/usage/actions/get-usage-metrics.js +26 -0
  644. package/dist/usage/actions/manage-usage-alert.d.ts +14 -0
  645. package/dist/usage/actions/manage-usage-alert.js +48 -0
  646. package/dist/usage/alerts-store.d.ts +78 -0
  647. package/dist/usage/alerts-store.js +592 -0
  648. package/dist/usage/metrics-store.d.ts +95 -0
  649. package/dist/usage/metrics-store.js +386 -0
  650. package/dist/usage/store.js +10 -0
  651. package/dist/vite/action-types-plugin.js +28 -0
  652. package/dist/vite/agent-native-config-loader.d.ts +6 -0
  653. package/dist/vite/agent-native-config-loader.js +54 -2
  654. package/dist/vite/client.js +11 -5
  655. package/dist/workspace-connections/actions/bulk-update-workspace-user-groups.d.ts +6 -0
  656. package/dist/workspace-connections/actions/bulk-update-workspace-user-groups.js +24 -0
  657. package/dist/workspace-connections/actions/delete-workspace-user-group.d.ts +7 -0
  658. package/dist/workspace-connections/actions/delete-workspace-user-group.js +29 -0
  659. package/dist/workspace-connections/actions/list-workspace-user-groups.d.ts +2 -0
  660. package/dist/workspace-connections/actions/list-workspace-user-groups.js +13 -0
  661. package/dist/workspace-connections/actions/upsert-workspace-user-group.d.ts +6 -0
  662. package/dist/workspace-connections/actions/upsert-workspace-user-group.js +22 -0
  663. package/dist/workspace-connections/credential-key-aliases.d.ts +3 -0
  664. package/dist/workspace-connections/credential-key-aliases.js +31 -0
  665. package/dist/workspace-connections/credentials.js +1 -25
  666. package/dist/workspace-connections/groups.d.ts +32 -0
  667. package/dist/workspace-connections/groups.js +288 -0
  668. package/dist/workspace-connections/index.d.ts +3 -1
  669. package/dist/workspace-connections/index.js +3 -1
  670. package/dist/workspace-connections/store.d.ts +9 -0
  671. package/dist/workspace-connections/store.js +68 -8
  672. package/docs/content/components.mdx +2 -2
  673. package/docs/content/sharing.mdx +2 -1
  674. package/package.json +10 -2
  675. package/src/templates/chat/.agents/skills/adding-a-feature/SKILL.md +3 -2
  676. package/src/templates/chat/.agents/skills/context-awareness/SKILL.md +206 -0
  677. package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +73 -80
  678. package/src/templates/chat/.agents/skills/portability/SKILL.md +107 -0
  679. package/src/templates/chat/.agents/skills/secrets/SKILL.md +339 -0
  680. package/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +3 -3
  681. package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +1 -1
  682. package/src/templates/chat/.agents/skills/sharing/SKILL.md +1 -0
  683. package/src/templates/chat/.agents/skills/turn-into-app/SKILL.md +116 -44
  684. package/src/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  685. package/src/templates/chat/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  686. package/src/templates/chat/.agents/skills/workspace-conventions/SKILL.md +93 -0
  687. package/src/templates/chat/AGENTS.md +4 -5
  688. package/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +3 -2
  689. package/src/templates/default/.agents/skills/context-awareness/SKILL.md +206 -0
  690. package/src/templates/default/.agents/skills/frontend-design/SKILL.md +73 -80
  691. package/src/templates/default/.agents/skills/portability/SKILL.md +107 -0
  692. package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +3 -3
  693. package/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +1 -1
  694. package/src/templates/default/.agents/skills/sharing/SKILL.md +233 -0
  695. package/src/templates/default/.agents/skills/turn-into-app/SKILL.md +116 -44
  696. package/src/templates/default/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  697. package/src/templates/default/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  698. package/src/templates/default/.agents/skills/workspace-conventions/SKILL.md +93 -0
  699. package/src/templates/default/AGENTS.md +17 -2
  700. package/src/templates/default/agent-native.config.ts +6 -0
  701. package/src/templates/default/app/i18n/ar-SA.ts +2 -0
  702. package/src/templates/default/app/i18n/de-DE.ts +2 -0
  703. package/src/templates/default/app/i18n/en-US.ts +3 -1
  704. package/src/templates/default/app/i18n/es-ES.ts +2 -0
  705. package/src/templates/default/app/i18n/fr-FR.ts +2 -0
  706. package/src/templates/default/app/i18n/hi-IN.ts +2 -0
  707. package/src/templates/default/app/i18n/ja-JP.ts +2 -0
  708. package/src/templates/default/app/i18n/ko-KR.ts +2 -0
  709. package/src/templates/default/app/i18n/pt-BR.ts +2 -0
  710. package/src/templates/default/app/i18n/zh-CN.ts +2 -0
  711. package/src/templates/default/app/i18n/zh-TW.ts +2 -0
  712. package/src/templates/headless/.agents/skills/delegate-to-agent/SKILL.md +289 -0
  713. package/src/templates/headless/.agents/skills/security/SKILL.md +324 -0
  714. package/src/templates/headless/.agents/skills/storing-data/SKILL.md +178 -0
  715. package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +3 -2
  716. package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +73 -80
  717. package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +3 -3
  718. package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +1 -1
  719. package/src/templates/workspace-core/.agents/skills/sharing/SKILL.md +1 -0
  720. package/src/templates/workspace-core/.agents/skills/turn-into-app/SKILL.md +116 -44
  721. package/src/templates/workspace-core/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  722. package/src/templates/workspace-core/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  723. package/src/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +3 -2
  724. package/src/templates/workspace-core/AGENTS.md +9 -3
  725. package/src/templates/workspace-root/AGENTS.md +26 -1
  726. package/src/templates/workspace-root/agent-native.config.ts +8 -0
  727. package/corpus/templates/analytics/.agents/skills/capture-learnings/SKILL.md +0 -89
  728. package/corpus/templates/analytics/.agents/skills/create-skill/SKILL.md +0 -195
  729. package/corpus/templates/analytics/.agents/skills/feature-flags/SKILL.md +0 -169
  730. package/corpus/templates/analytics/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  731. package/corpus/templates/assets/.agents/skills/capture-learnings/SKILL.md +0 -89
  732. package/corpus/templates/assets/.agents/skills/create-skill/SKILL.md +0 -195
  733. package/corpus/templates/assets/.agents/skills/feature-flags/SKILL.md +0 -169
  734. package/corpus/templates/assets/.agents/skills/real-time-collab/SKILL.md +0 -392
  735. package/corpus/templates/assets/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  736. package/corpus/templates/brain/.agents/skills/capture-learnings/SKILL.md +0 -89
  737. package/corpus/templates/brain/.agents/skills/create-skill/SKILL.md +0 -195
  738. package/corpus/templates/brain/.agents/skills/feature-flags/SKILL.md +0 -169
  739. package/corpus/templates/brain/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  740. package/corpus/templates/calendar/.agents/skills/capture-learnings/SKILL.md +0 -89
  741. package/corpus/templates/calendar/.agents/skills/create-skill/SKILL.md +0 -195
  742. package/corpus/templates/calendar/.agents/skills/feature-flags/SKILL.md +0 -169
  743. package/corpus/templates/calendar/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  744. package/corpus/templates/chat/.agents/skills/capture-learnings/SKILL.md +0 -89
  745. package/corpus/templates/chat/.agents/skills/create-skill/SKILL.md +0 -195
  746. package/corpus/templates/chat/.agents/skills/feature-flags/SKILL.md +0 -169
  747. package/corpus/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  748. package/corpus/templates/clips/.agents/skills/capture-learnings/SKILL.md +0 -89
  749. package/corpus/templates/clips/.agents/skills/create-skill/SKILL.md +0 -195
  750. package/corpus/templates/clips/.agents/skills/feature-flags/SKILL.md +0 -169
  751. package/corpus/templates/clips/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  752. package/corpus/templates/content/.agents/skills/capture-learnings/SKILL.md +0 -89
  753. package/corpus/templates/content/.agents/skills/create-skill/SKILL.md +0 -195
  754. package/corpus/templates/content/.agents/skills/feature-flags/SKILL.md +0 -169
  755. package/corpus/templates/content/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  756. package/corpus/templates/crm/.agents/skills/feature-flags/SKILL.md +0 -169
  757. package/corpus/templates/crm/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  758. package/corpus/templates/design/.agents/skills/capture-learnings/SKILL.md +0 -89
  759. package/corpus/templates/design/.agents/skills/create-skill/SKILL.md +0 -195
  760. package/corpus/templates/design/.agents/skills/feature-flags/SKILL.md +0 -169
  761. package/corpus/templates/design/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  762. package/corpus/templates/dispatch/.agents/skills/capture-learnings/SKILL.md +0 -89
  763. package/corpus/templates/dispatch/.agents/skills/create-skill/SKILL.md +0 -195
  764. package/corpus/templates/dispatch/.agents/skills/feature-flags/SKILL.md +0 -169
  765. package/corpus/templates/dispatch/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  766. package/corpus/templates/factory/.agents/skills/capture-learnings/SKILL.md +0 -89
  767. package/corpus/templates/factory/.agents/skills/create-skill/SKILL.md +0 -195
  768. package/corpus/templates/factory/.agents/skills/feature-flags/SKILL.md +0 -169
  769. package/corpus/templates/factory/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  770. package/corpus/templates/forms/.agents/skills/capture-learnings/SKILL.md +0 -89
  771. package/corpus/templates/forms/.agents/skills/create-skill/SKILL.md +0 -195
  772. package/corpus/templates/forms/.agents/skills/feature-flags/SKILL.md +0 -169
  773. package/corpus/templates/forms/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  774. package/corpus/templates/macros/.agents/skills/feature-flags/SKILL.md +0 -169
  775. package/corpus/templates/macros/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  776. package/corpus/templates/mail/.agents/skills/capture-learnings/SKILL.md +0 -89
  777. package/corpus/templates/mail/.agents/skills/create-skill/SKILL.md +0 -195
  778. package/corpus/templates/mail/.agents/skills/feature-flags/SKILL.md +0 -169
  779. package/corpus/templates/mail/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  780. package/corpus/templates/plan/.agents/skills/capture-learnings/SKILL.md +0 -89
  781. package/corpus/templates/plan/.agents/skills/create-skill/SKILL.md +0 -195
  782. package/corpus/templates/plan/.agents/skills/feature-flags/SKILL.md +0 -169
  783. package/corpus/templates/plan/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  784. package/corpus/templates/slides/.agents/skills/capture-learnings/SKILL.md +0 -89
  785. package/corpus/templates/slides/.agents/skills/create-skill/SKILL.md +0 -195
  786. package/corpus/templates/slides/.agents/skills/feature-flags/SKILL.md +0 -169
  787. package/corpus/templates/slides/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  788. package/corpus/templates/tasks/.agents/skills/capture-learnings/SKILL.md +0 -89
  789. package/corpus/templates/tasks/.agents/skills/create-skill/SKILL.md +0 -195
  790. package/corpus/templates/tasks/.agents/skills/feature-flags/SKILL.md +0 -169
  791. package/corpus/templates/tasks/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  792. package/dist/templates/chat/.agents/skills/capture-learnings/SKILL.md +0 -89
  793. package/dist/templates/chat/.agents/skills/create-skill/SKILL.md +0 -195
  794. package/dist/templates/chat/.agents/skills/feature-flags/SKILL.md +0 -169
  795. package/dist/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  796. package/dist/templates/default/.agents/skills/capture-learnings/SKILL.md +0 -89
  797. package/dist/templates/default/.agents/skills/create-skill/SKILL.md +0 -195
  798. package/dist/templates/default/.agents/skills/feature-flags/SKILL.md +0 -169
  799. package/dist/templates/default/.agents/skills/integration-webhooks/SKILL.md +0 -364
  800. package/dist/templates/default/.agents/skills/internationalization/SKILL.md +0 -82
  801. package/dist/templates/default/.agents/skills/onboarding/SKILL.md +0 -56
  802. package/dist/templates/default/.agents/skills/real-time-collab/SKILL.md +0 -392
  803. package/dist/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  804. package/dist/templates/headless/.agents/skills/feature-flags/SKILL.md +0 -169
  805. package/dist/templates/headless/.agents/skills/integration-webhooks/SKILL.md +0 -364
  806. package/dist/templates/headless/.agents/skills/turn-into-app/SKILL.md +0 -402
  807. package/dist/templates/headless/.agents/skills/turn-into-app/agents/openai.yaml +0 -4
  808. package/dist/templates/headless/.agents/skills/turn-into-app/references/fresh-project.md +0 -90
  809. package/dist/templates/headless/.agents/skills/turn-into-skill/SKILL.md +0 -112
  810. package/dist/templates/headless/.agents/skills/turn-into-skill/agents/openai.yaml +0 -4
  811. package/dist/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  812. package/dist/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +0 -411
  813. package/dist/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +0 -107
  814. package/dist/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +0 -176
  815. package/dist/templates/workspace-core/.agents/skills/agent-page/SKILL.md +0 -63
  816. package/dist/templates/workspace-core/.agents/skills/audit-log/SKILL.md +0 -96
  817. package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +0 -295
  818. package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +0 -242
  819. package/dist/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +0 -131
  820. package/dist/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +0 -89
  821. package/dist/templates/workspace-core/.agents/skills/changelog/SKILL.md +0 -114
  822. package/dist/templates/workspace-core/.agents/skills/client-methods/SKILL.md +0 -115
  823. package/dist/templates/workspace-core/.agents/skills/client-methods/references/legacy-client-fetch-audit-2026-06-03.md +0 -62
  824. package/dist/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +0 -87
  825. package/dist/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +0 -139
  826. package/dist/templates/workspace-core/.agents/skills/context-xray/SKILL.md +0 -72
  827. package/dist/templates/workspace-core/.agents/skills/create-skill/SKILL.md +0 -195
  828. package/dist/templates/workspace-core/.agents/skills/data-programs/SKILL.md +0 -128
  829. package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +0 -219
  830. package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +0 -533
  831. package/dist/templates/workspace-core/.agents/skills/extensions/references/api.md +0 -340
  832. package/dist/templates/workspace-core/.agents/skills/extensions/references/examples.md +0 -259
  833. package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +0 -547
  834. package/dist/templates/workspace-core/.agents/skills/external-agents/references/mcp-apps-embedding.md +0 -157
  835. package/dist/templates/workspace-core/.agents/skills/feature-flags/SKILL.md +0 -169
  836. package/dist/templates/workspace-core/.agents/skills/generative-ui/SKILL.md +0 -117
  837. package/dist/templates/workspace-core/.agents/skills/harness-agents/SKILL.md +0 -170
  838. package/dist/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +0 -364
  839. package/dist/templates/workspace-core/.agents/skills/internationalization/SKILL.md +0 -82
  840. package/dist/templates/workspace-core/.agents/skills/mvp-followup/SKILL.md +0 -52
  841. package/dist/templates/workspace-core/.agents/skills/native-navigation/SKILL.md +0 -67
  842. package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +0 -329
  843. package/dist/templates/workspace-core/.agents/skills/onboarding/SKILL.md +0 -56
  844. package/dist/templates/workspace-core/.agents/skills/performance/SKILL.md +0 -299
  845. package/dist/templates/workspace-core/.agents/skills/qa/SKILL.md +0 -333
  846. package/dist/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +0 -392
  847. package/dist/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +0 -74
  848. package/dist/templates/workspace-core/.agents/skills/reliable-mutations/SKILL.md +0 -70
  849. package/dist/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +0 -84
  850. package/dist/templates/workspace-core/.agents/skills/tracking/SKILL.md +0 -278
  851. package/dist/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  852. package/dist/templates/workspace-core/.agents/skills/visual-answer/SKILL.md +0 -101
  853. package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +0 -222
  854. package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +0 -363
  855. package/src/templates/chat/.agents/skills/capture-learnings/SKILL.md +0 -89
  856. package/src/templates/chat/.agents/skills/create-skill/SKILL.md +0 -195
  857. package/src/templates/chat/.agents/skills/feature-flags/SKILL.md +0 -169
  858. package/src/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  859. package/src/templates/default/.agents/skills/capture-learnings/SKILL.md +0 -89
  860. package/src/templates/default/.agents/skills/create-skill/SKILL.md +0 -195
  861. package/src/templates/default/.agents/skills/feature-flags/SKILL.md +0 -169
  862. package/src/templates/default/.agents/skills/integration-webhooks/SKILL.md +0 -364
  863. package/src/templates/default/.agents/skills/internationalization/SKILL.md +0 -82
  864. package/src/templates/default/.agents/skills/onboarding/SKILL.md +0 -56
  865. package/src/templates/default/.agents/skills/real-time-collab/SKILL.md +0 -392
  866. package/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  867. package/src/templates/headless/.agents/skills/feature-flags/SKILL.md +0 -169
  868. package/src/templates/headless/.agents/skills/integration-webhooks/SKILL.md +0 -364
  869. package/src/templates/headless/.agents/skills/turn-into-app/SKILL.md +0 -402
  870. package/src/templates/headless/.agents/skills/turn-into-app/agents/openai.yaml +0 -4
  871. package/src/templates/headless/.agents/skills/turn-into-app/references/fresh-project.md +0 -90
  872. package/src/templates/headless/.agents/skills/turn-into-skill/SKILL.md +0 -112
  873. package/src/templates/headless/.agents/skills/turn-into-skill/agents/openai.yaml +0 -4
  874. package/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  875. package/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +0 -411
  876. package/src/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +0 -107
  877. package/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +0 -176
  878. package/src/templates/workspace-core/.agents/skills/agent-page/SKILL.md +0 -63
  879. package/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +0 -96
  880. package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +0 -295
  881. package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +0 -242
  882. package/src/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +0 -131
  883. package/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +0 -89
  884. package/src/templates/workspace-core/.agents/skills/changelog/SKILL.md +0 -114
  885. package/src/templates/workspace-core/.agents/skills/client-methods/SKILL.md +0 -115
  886. package/src/templates/workspace-core/.agents/skills/client-methods/references/legacy-client-fetch-audit-2026-06-03.md +0 -62
  887. package/src/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +0 -87
  888. package/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +0 -139
  889. package/src/templates/workspace-core/.agents/skills/context-xray/SKILL.md +0 -72
  890. package/src/templates/workspace-core/.agents/skills/create-skill/SKILL.md +0 -195
  891. package/src/templates/workspace-core/.agents/skills/data-programs/SKILL.md +0 -128
  892. package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +0 -219
  893. package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +0 -533
  894. package/src/templates/workspace-core/.agents/skills/extensions/references/api.md +0 -340
  895. package/src/templates/workspace-core/.agents/skills/extensions/references/examples.md +0 -259
  896. package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +0 -547
  897. package/src/templates/workspace-core/.agents/skills/external-agents/references/mcp-apps-embedding.md +0 -157
  898. package/src/templates/workspace-core/.agents/skills/feature-flags/SKILL.md +0 -169
  899. package/src/templates/workspace-core/.agents/skills/generative-ui/SKILL.md +0 -117
  900. package/src/templates/workspace-core/.agents/skills/harness-agents/SKILL.md +0 -170
  901. package/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +0 -364
  902. package/src/templates/workspace-core/.agents/skills/internationalization/SKILL.md +0 -82
  903. package/src/templates/workspace-core/.agents/skills/mvp-followup/SKILL.md +0 -52
  904. package/src/templates/workspace-core/.agents/skills/native-navigation/SKILL.md +0 -67
  905. package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +0 -329
  906. package/src/templates/workspace-core/.agents/skills/onboarding/SKILL.md +0 -56
  907. package/src/templates/workspace-core/.agents/skills/performance/SKILL.md +0 -299
  908. package/src/templates/workspace-core/.agents/skills/qa/SKILL.md +0 -333
  909. package/src/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +0 -392
  910. package/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +0 -74
  911. package/src/templates/workspace-core/.agents/skills/reliable-mutations/SKILL.md +0 -70
  912. package/src/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +0 -84
  913. package/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +0 -278
  914. package/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  915. package/src/templates/workspace-core/.agents/skills/visual-answer/SKILL.md +0 -101
  916. package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +0 -222
  917. package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +0 -363
@@ -0,0 +1,99 @@
1
+ # Visual Direction Reference
2
+
3
+ Use this reference when a new app or workspace needs a visual point of view and
4
+ does not already have an established brand system. It adapts the useful parts
5
+ of Impeccable's workflow: understand the product, name the surface mode, deal
6
+ several coherent directions, commit to one, and audit the result for defaults
7
+ that became the design by accident.
8
+
9
+ ## The direction contract
10
+
11
+ Before writing UI, capture these decisions in the app's `DESIGN.md`:
12
+
13
+ | Decision | What to record |
14
+ | -------------------- | ------------------------------------------------------------------- |
15
+ | Product mode | `operate`, `read`, `persuade`, or `experience` |
16
+ | Audience and cadence | Who uses it, how often, and under what conditions |
17
+ | Visual world | A short name and the feeling it creates |
18
+ | Palette family | The semantic accent family and neutral undertone |
19
+ | Type treatment | Sans-first, editorial contrast, or display-led emphasis |
20
+ | Composition | Dense console, focused workbench, document, canvas, or guided steps |
21
+ | Shape language | Quiet corners, crisp geometry, or soft utility surfaces |
22
+ | Anti-references | Defaults this app must not drift toward |
23
+
24
+ `DESIGN.md` is a portable design contract, not a license to bypass the app's
25
+ tokens or component system. If the app already has a brand system, document it
26
+ and preserve it. If it does not, choose a direction before styling.
27
+
28
+ ## Palette families
29
+
30
+ Use one family as an accent and keep the rest of the system semantic and quiet.
31
+ These are starting points, not a fixed theme library:
32
+
33
+ | Family | Good fit | Typical character |
34
+ | ---------------- | ------------------------------------------- | --------------------------------- |
35
+ | Ink / graphite | Admin, security, sensitive review | Serious, low-noise, high contrast |
36
+ | Cobalt / sky | Planning, collaboration, scheduling | Clear, trustworthy, alert |
37
+ | Pine / teal | Automation, systems, finance, data | Calm, capable, grounded |
38
+ | Indigo / violet | Slides, creative tools, research | Exploratory, focused, expressive |
39
+ | Plum / berry | Publishing, knowledge, editorial work | Distinctive, thoughtful, human |
40
+ | Coral / rose | Communication, people, customer workflows | Warm, direct, social |
41
+ | Ochre / citron | Lightweight planning or energetic utilities | Optimistic, sparing, directional |
42
+ | Paper / charcoal | Long-form reading, exports, approvals | Tactile, restrained, legible |
43
+
44
+ Do not make warm beige plus terracotta the universal fallback. Do not rotate
45
+ through saturated colors mechanically. Choose the family that supports the
46
+ workflow, then verify contrast, dark mode, focus states, destructive states,
47
+ and the sidebar boundary.
48
+
49
+ ## Variation without chaos
50
+
51
+ Vary at least two independent axes when sibling apps share a workspace:
52
+
53
+ - accent family or neutral undertone;
54
+ - information density and page composition;
55
+ - type contrast and display treatment;
56
+ - radius and border language;
57
+ - navigation emphasis and use of whitespace.
58
+
59
+ Keep shared behavior, semantic token names, accessibility, and AgentSidebar
60
+ placement consistent. The goal is a family of products, not five unrelated
61
+ themes and not five copies of the same starter.
62
+
63
+ For a batch of apps, keep a small direction ledger in the workspace
64
+ `DESIGN.md` or the handoff. Record each app's mode, direction, and palette
65
+ family, then choose a new family or a clearly different composition for the
66
+ next app unless an existing brand requires reuse. Never copy a sibling's
67
+ `global.css` palette block or treat the last app's accent as the generator
68
+ default.
69
+
70
+ ## Review vocabulary
71
+
72
+ Make one named intervention at a time so the agent can reason about the
73
+ change:
74
+
75
+ - `distill` - remove copy, controls, cards, and chrome that do not serve the
76
+ next decision;
77
+ - `typeset` - repair hierarchy, measure, line length, and emphasis;
78
+ - `colorize` - establish a restrained semantic palette and contrast states;
79
+ - `layout` - repair grouping, density, alignment, and responsive composition;
80
+ - `polish` - resolve the small visual inconsistencies after the structure is
81
+ right;
82
+ - `audit` - check slop, accessibility, responsive behavior, and visual drift.
83
+
84
+ Do not average several directions into a generic compromise. Deal two or three
85
+ coherent options when the brief is open, select one, and encode the decision in
86
+ tokens and `DESIGN.md`.
87
+
88
+ ## Anti-slop audit
89
+
90
+ Before handoff, inspect the first viewport and ask:
91
+
92
+ - Did the app inherit the neighboring app's palette or hero layout without a
93
+ product reason?
94
+ - Are there equal-weight cards, status chips, helper paragraphs, or controls
95
+ that should be removed or disclosed?
96
+ - Does the typography fit the product mode instead of decorating the shell?
97
+ - Is the AgentSidebar distinct but quiet, with the domain page still primary?
98
+ - Are focus, loading, empty, error, dark, and narrow-width states part of the
99
+ same design direction?
@@ -0,0 +1,107 @@
1
+ ---
2
+ name: portability
3
+ description: >-
4
+ How to keep template code database-agnostic and hosting-agnostic. Use when
5
+ defining schemas, writing raw SQL, creating server routes, or anything that
6
+ could leak a SQLite-only, Postgres-only, or Node-only assumption.
7
+ scope: dev
8
+ metadata:
9
+ internal: true
10
+ ---
11
+
12
+ # Portability
13
+
14
+ ## Rule
15
+
16
+ **Never write code that only works on one database or one hosting platform.** Templates must run on portable SQL backends (SQLite, Postgres, D1, Turso/libSQL, Supabase, Neon, managed platform SQL environments when available) and any Nitro deploy target (Node, Cloudflare, Netlify, Vercel, Deno, Lambda, Bun) without code changes.
17
+
18
+ ## Database Agnostic
19
+
20
+ Use the dialect-agnostic schema helpers from `@agent-native/core/db/schema` for schemas and Drizzle's query builder for reads/writes:
21
+
22
+ ```ts
23
+ import {
24
+ table,
25
+ text,
26
+ integer,
27
+ real,
28
+ now,
29
+ sql,
30
+ } from "@agent-native/core/db/schema";
31
+
32
+ export const meals = table("meals", {
33
+ id: text("id").primaryKey(),
34
+ name: text("name").notNull(),
35
+ calories: integer("calories").notNull(),
36
+ weight: real("weight"),
37
+ archived: integer("archived", { mode: "boolean" }).notNull().default(false),
38
+ createdAt: text("created_at").notNull().default(now()),
39
+ });
40
+ ```
41
+
42
+ | Helper | Purpose |
43
+ | --------- | ----------------------------------------------------------------------------------------- |
44
+ | `table` | Delegates to `pgTable` or `sqliteTable` based on dialect |
45
+ | `text` | Works in both dialects, supports `{ enum: [...] }` |
46
+ | `integer` | `{ mode: "boolean" }` maps to Postgres `boolean` automatically |
47
+ | `real` | `real` on SQLite, `double precision` on Postgres |
48
+ | `now` | Dialect-agnostic current timestamp — use with `.default(now())` on text timestamp columns |
49
+ | `sql` | Re-exported from `drizzle-orm` for raw SQL expressions |
50
+
51
+ **Never import from `drizzle-orm/sqlite-core` or `drizzle-orm/pg-core` directly in template code.** Always use `@agent-native/core/db/schema` instead.
52
+
53
+ Use Drizzle's portable query DSL for app code:
54
+
55
+ ```ts
56
+ import { and, desc, eq } from "drizzle-orm";
57
+
58
+ const rows = await db
59
+ .select()
60
+ .from(meals)
61
+ .where(and(eq(meals.ownerEmail, userEmail), eq(meals.archived, false)))
62
+ .orderBy(desc(meals.createdAt));
63
+ ```
64
+
65
+ Avoid `db.execute(...)`, `getDbExec()`, and handwritten SQL in actions, handlers, and stores when Drizzle can express the query. Raw SQL should be limited to additive migrations, health checks, carefully reviewed advanced queries, or one-off maintenance scripts. For timestamps in Drizzle schemas, use `.default(now())`; for migration SQL, use `runMigrations()` so framework-supported compatibility rewrites and dialect-gated statements stay centralized.
66
+
67
+ ### Raw SQL helpers
68
+
69
+ - `getDbExec()` — auto-converts `?` params to `$1` for Postgres
70
+ - `isPostgres()` — runtime dialect check
71
+ - `intType()` — returns correct integer type for the dialect
72
+
73
+ ### Never
74
+
75
+ Never write SQLite-only syntax in product code or docs examples: `INSERT OR REPLACE`, `AUTOINCREMENT`, `datetime('now')`. When writing docs, say "SQL database" — not "SQLite".
76
+
77
+ Never write Postgres-only syntax in shared app code either: `ILIKE`, `::type` casts, `jsonb_*`, `RETURNING` assumptions, serial/identity syntax, `ON CONFLICT` upserts, or `ALTER ... TYPE` unless the code is inside a dialect-gated migration block. Prefer Drizzle APIs or framework helpers.
78
+
79
+ When giving deployment guidance, be precise about durability: local SQLite is the development fallback, while production needs a persistent `DATABASE_URL`. Do not steer users to Turso as the only path; it is one option among Neon, Supabase, Turso/libSQL, plain Postgres, durable SQLite, D1 bindings, and managed platform SQL environments when available.
80
+
81
+ ## Hosting Agnostic
82
+
83
+ The server runs on **Nitro** with **H3** as the HTTP framework. Templates must be deployable to any Nitro-supported target.
84
+
85
+ ### Never use Express
86
+
87
+ All server code uses H3/Nitro: `defineEventHandler`, `readBody`, `getMethod`, `setResponseHeader`, etc. Express is not a dependency. If you see Express types or patterns anywhere, replace them with H3 equivalents.
88
+
89
+ ### No platform-specific config in scaffolded template source
90
+
91
+ Files like `netlify.toml`, `wrangler.toml`, `vercel.json`, and `netlify/functions/` must NOT appear in the CLI scaffold source (`packages/core/src/templates/`) — apps generated for users stay hosting-agnostic, with platform configuration living in CI/hosting dashboards.
92
+
93
+ **Exception:** this monorepo's own first-party deployed apps (`templates/*/netlify.toml`, the root `wrangler-*.toml` files) are deployment artifacts of _this_ repo (mail.agent-native.com, etc.) and are expected to exist. Do not delete them as if they were accidental cruft — the rule above is about what gets scaffolded into a new app, not about this repo's deploy configs.
94
+
95
+ ### No Node APIs in server routes/plugins
96
+
97
+ Never use `fs`, `child_process`, or `path` in server routes and plugins. Use Nitro abstractions. (Actions in `actions/` run in Node.js and can use Node APIs freely.)
98
+
99
+ ### No persistent-process assumptions
100
+
101
+ Never assume a persistent server process. Use the SQL database for all state.
102
+
103
+ ## Related Skills
104
+
105
+ - `storing-data` — Schema patterns and the core SQL stores
106
+ - `server-plugins` — Framework routes and H3 handler patterns
107
+ - `security` — SQL injection prevention via parameterized queries
@@ -0,0 +1,232 @@
1
+ ---
2
+ name: real-time-sync
3
+ description: >-
4
+ How to keep the UI in sync with agent changes via SSE plus polling fallback.
5
+ Use when wiring query invalidation for new data models, debugging UI not
6
+ updating, or understanding jitter prevention.
7
+ scope: dev
8
+ metadata:
9
+ internal: true
10
+ ---
11
+
12
+ # Real-Time Sync
13
+
14
+ ## Rule
15
+
16
+ The UI stays in sync with agent/script changes through `useDbSync()`. In-process writes stream over `/_agent-native/events` first; `/_agent-native/poll` remains the cross-process/serverless fallback. When the agent writes to the database, the UI detects the change and updates automatically — no manual refresh needed.
17
+
18
+ ## Why
19
+
20
+ The agent modifies data in SQL, but the UI runs in the browser. SSE bridges same-process writes immediately; polling bridges anything SSE cannot see, such as another serverless invocation, cron job, or external script. Every visible write increments a version counter, `useDbSync()` receives the change, and React Query invalidates the relevant caches. This is what makes database writes feel real-time without relying on aggressive polling.
21
+
22
+ ## How It Works
23
+
24
+ 1. **Server** increments a version counter on every database write. In-process events stream through the authenticated `/_agent-native/events` endpoint.
25
+
26
+ 2. **Client** listens for sync events and updates per-source change counters:
27
+
28
+ ```ts
29
+ import { useDbSync } from "@agent-native/core/client/hooks";
30
+ useDbSync({ queryClient });
31
+ ```
32
+
33
+ For each non-own event, `useDbSync` bumps a per-source counter (e.g. `dashboards`, `analyses`, `settings`, `action`) and invalidates a small fixed list of framework-internal prefixes (`["action"]`, `["app-state"]`, `["__set_url__"]`, etc.). It does **not** blanket-invalidate templates' own data queries — that caused request storms in production. A successful mutating action refreshes active `useActionQuery` observers under the `["action"]` prefix. Browser actions carry a tab id so their originating tab ignores the sync echo while other tabs refresh. Legacy apps can opt into broader compatibility with `actionInvalidatePredicate`, but first-party apps should use action-backed or source-versioned query keys. Idle fallback polling runs once per minute; active agent work temporarily uses the faster cadence.
34
+
35
+ 3. **Templates fold per-source counters into their query keys.** This is the pattern that makes "agent writes show up without a manual refresh" reliable:
36
+
37
+ ```ts
38
+ import { useChangeVersion } from "@agent-native/core/client/hooks";
39
+ import { useQuery } from "@tanstack/react-query";
40
+
41
+ const v = useChangeVersion("dashboards");
42
+ const dashboard = useQuery({
43
+ queryKey: ["dashboard", id, v],
44
+ queryFn: () => fetchDashboard(id),
45
+ placeholderData: (prev) => prev, // no flicker on refetch
46
+ });
47
+ ```
48
+
49
+ When the agent writes (`update-dashboard` action → server emits `source: "dashboards"`), the counter advances, the queryKey changes, and React Query refetches that one query. The old data stays on screen during the refetch thanks to `placeholderData`.
50
+
51
+ For list/sidebar queries, use the same pattern — pass the counter into the queryKey of every list query you want to keep fresh.
52
+
53
+ 4. **Fallback** polling calls `/_agent-native/poll?since=N`. It runs every 2 seconds until SSE is connected, then relaxes to 15 seconds (`SSE_FALLBACK_INTERVAL_MS`). If SSE is disabled or unavailable (e.g., edge/serverless deployments), polling continues at the 2 s cadence. Polling is the universal serverless fallback: new framework writes are read from the durable `sync_events` log, while the older DB timestamp scan remains as a slower safety net for direct SQL writes and older processes.
54
+
55
+ 5. When the agent writes to the database, the version increments, SSE/polling detects it, and React Query refetches the affected queries.
56
+
57
+ ## Don't
58
+
59
+ - Don't create manual polling loops — `useDbSync()` handles SSE plus fallback polling
60
+ - Don't create your own fetch-based polling alongside `useDbSync` — use the `onEvent` callback for custom handling
61
+ - Don't open your own `EventSource` to `/_agent-native/events`. A tab must hold exactly ONE SSE connection no matter how many features listen — extra streams eat the browser's per-origin connection budget and can starve ordinary data fetches (worst on HTTP/1.1 dev servers). Subscribe to the shared transport instead:
62
+
63
+ ```ts
64
+ import { subscribeSyncEvents } from "@agent-native/core/client/hooks";
65
+
66
+ const unsubscribe = subscribeSyncEvents({
67
+ onEvents: (events) => {
68
+ // filter by event.source and handle push-style updates
69
+ },
70
+ // Optional: relax your own fallback cadence while push is healthy.
71
+ onSseStateChange: (connected) => {},
72
+ });
73
+ ```
74
+
75
+ `useDbSync` and every `subscribeSyncEvents` subscriber share one `EventSource` and one fallback poll loop per tab — this is how collaborative documents receive doc updates and cursor/awareness events. Hidden tabs keep that shared transport alive by default: SSE stays connected and active fallback polling relaxes to a 10-second floor (idle polling remains once per minute). Pass `pauseWhenHidden: true` only for a consumer that explicitly must stop all hidden-tab sync.
76
+
77
+ ## Which sources to depend on
78
+
79
+ Common sources you'll fold into query keys:
80
+
81
+ | Source | Bumped by |
82
+ | ----------------- | --------------------------------------------------------------------------- |
83
+ | `action` | The agent runner after every successful mutating action tool call |
84
+ | `app-state` | Writes to `application_state` (navigation, selections, ephemeral UI state) |
85
+ | `settings` | Writes to the `settings` table |
86
+ | `dashboards` | Dashboard CRUD via `upsertDashboard` / `archiveDashboard` etc. |
87
+ | `analyses` | Analysis CRUD |
88
+ | `extensions` | Extension CRUD |
89
+ | `collab` | Yjs collaborative-doc updates |
90
+ | `screen-refresh` | Explicit `refresh-screen` agent tool call |
91
+
92
+ If a query reads data the agent can mutate via more than one path, depend on multiple sources with `useChangeVersions`:
93
+
94
+ ```ts
95
+ const v = useChangeVersions(["dashboards", "action"]);
96
+ useQuery({ queryKey: ["dashboard", id, v], ... });
97
+ ```
98
+
99
+ `useChangeVersions` returns a single integer that advances whenever any of the listed sources advance.
100
+
101
+ ## Tuning refetch behavior
102
+
103
+ To prevent cache thrashing during rapid agent writes, set `staleTime` on your queries:
104
+
105
+ ```ts
106
+ useQuery({
107
+ queryKey: ["items"],
108
+ queryFn: fetchItems,
109
+ staleTime: 2000, // don't refetch within 2 seconds
110
+ });
111
+ ```
112
+
113
+ ## Troubleshooting
114
+
115
+ | Symptom | Check |
116
+ | ---------------------------------- | -------------------------------------------------------------------------------------------------------------- |
117
+ | UI not updating after agent writes | Is `useDbSync` called with the correct `queryClient`? Does the affected query have an active observer? |
118
+ | Poll endpoint not responding | Is `/_agent-native/poll` accessible? Is the server running? |
119
+ | SSE not connecting | Is `/_agent-native/events` accessible and authenticated? Polling should still keep the UI fresh as fallback. |
120
+ | High CPU / event storms | Use targeted source keys, settle bursty list counters, and avoid broad action invalidation. |
121
+
122
+ ## Jitter Prevention
123
+
124
+ When the agent writes to application-state via script helpers (`writeAppState`, `deleteAppState`), the write is automatically tagged with `requestSource: "agent"`. This prevents the UI from overwriting active user edits when it receives the change event.
125
+
126
+ ### How it works
127
+
128
+ 1. **Agent writes** are tagged: the script helpers in `@agent-native/core/application-state` pass `{ requestSource: "agent" }` to the store.
129
+ 2. **UI writes** are tagged: templates send a per-tab ID via the `X-Request-Source` header on PUT/DELETE requests to application-state endpoints.
130
+ 3. **Sync filters**: `useDbSync()` accepts an `ignoreSource` option. The UI passes its own tab ID so it ignores events from its own writes — but still picks up events from agents, other tabs, and scripts.
131
+
132
+ ### Template setup
133
+
134
+ ```ts
135
+ // app/lib/tab-id.ts
136
+ export const TAB_ID = `tab-${Math.random().toString(36).slice(2, 8)}`;
137
+
138
+ // app/root.tsx
139
+ import { TAB_ID } from "@/lib/tab-id";
140
+
141
+ useDbSync({
142
+ queryClient,
143
+ ignoreSource: TAB_ID,
144
+ });
145
+ ```
146
+
147
+ The `use-navigation-state.ts` hook sends the same `TAB_ID` in the `X-Request-Source` header when writing navigation state, so the tab that wrote the state does not refetch it.
148
+
149
+ ### Why this matters
150
+
151
+ Without jitter prevention, a cycle occurs: the UI writes state, sync detects the change, the UI refetches and re-renders, potentially overwriting what the user is actively editing. With `ignoreSource`, the UI only reacts to changes from other sources (agent scripts, other browser tabs, other users).
152
+
153
+ ## Action Routes and Live Sync
154
+
155
+ Actions work with the same sync system. When a mutating action writes to the database, the version counter increments and `useDbSync` picks up the change. Frontend mutations via `useActionMutation` automatically invalidate `["action"]` query keys on success, triggering refetches of `useActionQuery` hooks. Client components should call actions through those hooks, not with raw action-route fetches.
156
+
157
+ For custom apps, the best out-of-the-box path is:
158
+
159
+ 1. Put read actions in `actions/` with `defineAction({ http: { method: "GET" } })`.
160
+ 2. Put write actions in `actions/` with the default POST/PUT/DELETE behavior.
161
+ 3. Call reads from React with `useActionQuery` and writes with `useActionMutation`.
162
+
163
+ This avoids duplicate `/api/*` JSON CRUD routes and makes agent-created records show up automatically. Raw `useQuery` can still work, but it should include `useChangeVersions(["action", "<domain-source>"])` in the query key for targeted refreshes.
164
+
165
+ ### Auto-emit on mutating actions
166
+
167
+ The framework emits a change event with `source: "action"` whenever any non-read-only action runs to completion — whether called via HTTP (`/_agent-native/actions/:name`) or as an agent tool call. Read-only actions (`http: { method: "GET" }` or explicit `readOnly: true`) are skipped.
168
+
169
+ This means UIs don't need the agent to remember to call `refresh-screen` after every mutation. A listener like this (used in the `macros` template) will refresh after any mutating agent call:
170
+
171
+ ```ts
172
+ useDbSync({
173
+ queryClient,
174
+ ignoreSource: TAB_ID,
175
+ onEvent: (data) => {
176
+ if (data.requestSource === TAB_ID) return;
177
+ // Invalidate all useActionQuery caches so list-*, get-*, etc. refetch
178
+ queryClient.invalidateQueries({ queryKey: ["action"] });
179
+ },
180
+ });
181
+ ```
182
+
183
+ `refresh-screen` remains available for unusual cases — e.g. the agent mutated data via a path the framework can't see (external system the app mirrors), or the agent wants to pass a `scope` hint for narrower invalidation.
184
+
185
+ ## Keeping Stateful Components In Sync
186
+
187
+ The `useChangeVersion` / `useActionQuery` pattern above keeps the **query layer** fresh. But components that copy a server value into local React state still go stale on agent edits — refetching the query updates the prop, yet the local copy never re-adopts it. This is a recurring bug.
188
+
189
+ **Never do this** for a value the agent can mutate:
190
+
191
+ ```ts
192
+ // BUG: `title` is captured once and never re-reads the prop.
193
+ const [title, setTitle] = useState(props.title);
194
+ ```
195
+
196
+ When the agent renames the record, the query refetches, `props.title` updates, but the input still shows the stale value until the component remounts.
197
+
198
+ **Derived-state surfaces (form fields, inline editors, popovers): use `useReconciledState`.** It re-adopts the authoritative external value when it changes, except while the user is actively editing that field — so agent mutations show up live without clobbering in-progress typing:
199
+
200
+ ```ts
201
+ import { useReconciledState } from "@agent-native/core/client/hooks";
202
+
203
+ // `active` = true while the user is editing this field (focused / dirty).
204
+ const [title, setTitle] = useReconciledState(props.title, { active: isEditing });
205
+ ```
206
+
207
+ **Collaborative rich-text editors are different** — they don't copy a value into `useState`. They reconcile authoritative SQL content into a shared Y.Doc under an `updatedAt` gate with lead-client election. See `real-time-collab` → "Agent edits as a real-time peer editor". Don't reach for `useReconciledState` for a Yjs-backed editor.
208
+
209
+ | Surface | Keep it fresh with |
210
+ | ------- | ------------------ |
211
+ | React Query reads | `useChangeVersion` / `useActionQuery` (above) |
212
+ | Local edit state copied from a server value (inputs, popovers, inline editors) | `useReconciledState(externalValue, { active })` |
213
+ | Collaborative rich-text editor (Yjs) | `updatedAt`-gated reconcile + `isReconcileLeadClient` — see `real-time-collab` |
214
+
215
+ ## Granular server-side merge for non-body fields
216
+
217
+ For structured documents (slide decks, form builders, design files) where the
218
+ Yjs body collab would cause LWW conflicts at the container level, pair the
219
+ change-sync `updatedAt` bump with a **granular server-side merge action** that
220
+ accepts targeted per-item operations (add/patch/delete/reorder). Concurrent
221
+ edits to different items both survive at the action level; the `collab` source
222
+ version bump then propagates the merged state to all open clients. See
223
+ `real-time-collab` for the pattern and examples.
224
+
225
+ ## Related Skills
226
+
227
+ - **storing-data** — Application-state and settings are data stores that sync through change events
228
+ - **context-awareness** — Navigation state writes use jitter prevention to avoid overwriting active edits
229
+ - **actions** — Mutating actions trigger change events
230
+ - **client-methods** — Route details belong in helpers/hooks, not components
231
+ - **self-modifying-code** — Agent code edits trigger change events; rapid edits can cause event storms
232
+ - **real-time-collab** — Collaborative editors reconcile agent edits into a shared Y.Doc, driven by the same change-sync `updatedAt` bump; also the granular server-side merge pattern for structured data