@agent-native/core 0.152.1 → 0.153.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (927) 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/components/calendar/DayView.tsx +3 -2
  99. package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +3 -2
  100. package/corpus/templates/calendar/app/lib/event-layout.ts +16 -35
  101. package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +1 -0
  102. package/corpus/templates/chat/.agents/skills/adding-a-feature/SKILL.md +3 -2
  103. package/corpus/templates/chat/.agents/skills/context-awareness/SKILL.md +206 -0
  104. package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +73 -80
  105. package/corpus/templates/chat/.agents/skills/portability/SKILL.md +107 -0
  106. package/corpus/templates/chat/.agents/skills/secrets/SKILL.md +339 -0
  107. package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +3 -3
  108. package/corpus/templates/chat/.agents/skills/shadcn-ui/SKILL.md +1 -1
  109. package/corpus/templates/chat/.agents/skills/sharing/SKILL.md +1 -0
  110. package/corpus/templates/chat/.agents/skills/turn-into-app/SKILL.md +116 -44
  111. package/corpus/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  112. package/corpus/templates/chat/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  113. package/corpus/templates/chat/.agents/skills/workspace-conventions/SKILL.md +93 -0
  114. package/corpus/templates/chat/AGENTS.md +4 -5
  115. package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +73 -80
  116. package/corpus/templates/clips/.agents/skills/meetings/SKILL.md +1 -1
  117. package/corpus/templates/clips/.agents/skills/secrets/SKILL.md +339 -0
  118. package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +3 -3
  119. package/corpus/templates/clips/.agents/skills/shadcn-ui/SKILL.md +1 -1
  120. package/corpus/templates/clips/.agents/skills/turn-into-app/SKILL.md +116 -44
  121. package/corpus/templates/clips/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  122. package/corpus/templates/clips/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  123. package/corpus/templates/clips/.agents/skills/workspace-conventions/SKILL.md +93 -0
  124. package/corpus/templates/clips/actions/add-comment.ts +1 -2
  125. package/corpus/templates/clips/actions/delete-comment.ts +2 -0
  126. package/corpus/templates/clips/actions/get-recording-insights.ts +9 -8
  127. package/corpus/templates/clips/actions/get-recording-player-data.ts +4 -1
  128. package/corpus/templates/clips/actions/react-to-comment.ts +1 -1
  129. package/corpus/templates/clips/actions/react-to-recording.ts +1 -1
  130. package/corpus/templates/clips/actions/reply-to-comment.ts +1 -1
  131. package/corpus/templates/clips/actions/resolve-comment.ts +1 -2
  132. package/corpus/templates/clips/actions/update-comment.ts +1 -1
  133. package/corpus/templates/clips/app/components/editor/editor-layout.tsx +1 -0
  134. package/corpus/templates/clips/app/components/editor/thumbnail-picker.tsx +59 -16
  135. package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +27 -44
  136. package/corpus/templates/clips/app/components/player/comments-panel.tsx +88 -39
  137. package/corpus/templates/clips/app/components/player/share-dialog.tsx +84 -41
  138. package/corpus/templates/clips/app/components/player/timestamped-comment-button.tsx +3 -1
  139. package/corpus/templates/clips/app/components/player/video-player.tsx +1 -1
  140. package/corpus/templates/clips/app/components/sharing/share-ui.tsx +20 -7
  141. package/corpus/templates/clips/app/i18n/en-US.ts +2 -1
  142. package/corpus/templates/clips/app/lib/public-meeting.ts +1 -1
  143. package/corpus/templates/clips/app/lib/thumbnail-capture.ts +71 -0
  144. package/corpus/templates/clips/app/lib/thumbnail-picker-state.ts +93 -0
  145. package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +1 -1
  146. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +25 -19
  147. package/corpus/templates/clips/app/routes/share.$shareId.tsx +8 -0
  148. package/corpus/templates/clips/changelog/2026-07-23-meeting-recording-meters-and-dismissed-prompts.md +1 -1
  149. package/corpus/templates/clips/changelog/2026-08-11-clips-asks-to-take-notes-again-when-you-join-an-adhoc-zoom-o.md +6 -0
  150. package/corpus/templates/clips/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
  151. package/corpus/templates/clips/desktop/src/app.tsx +1 -1
  152. package/corpus/templates/clips/desktop/src/styles.css +10 -2
  153. package/corpus/templates/clips/desktop/src-tauri/src/adhoc_meetings_watcher.rs +166 -14
  154. package/corpus/templates/clips/desktop/src-tauri/src/call_activity.rs +146 -0
  155. package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +2 -2
  156. package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +1 -0
  157. package/corpus/templates/clips/desktop/src-tauri/src/silence_detector.rs +2 -122
  158. package/corpus/templates/clips/desktop/src-tauri/src/util.rs +1 -1
  159. package/corpus/templates/clips/server/lib/recording-page-access.ts +6 -1
  160. package/corpus/templates/clips/server/routes/api/public-recording.get.ts +5 -0
  161. package/corpus/templates/clips/shared/share-meta.ts +19 -3
  162. package/corpus/templates/content/.agents/skills/adding-a-feature/SKILL.md +208 -0
  163. package/corpus/templates/content/.agents/skills/context-awareness/SKILL.md +206 -0
  164. package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +73 -80
  165. package/corpus/templates/content/.agents/skills/portability/SKILL.md +107 -0
  166. package/corpus/templates/content/.agents/skills/secrets/SKILL.md +339 -0
  167. package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +3 -3
  168. package/corpus/templates/content/.agents/skills/shadcn-ui/SKILL.md +1 -1
  169. package/corpus/templates/content/.agents/skills/sharing/SKILL.md +1 -0
  170. package/corpus/templates/content/.agents/skills/turn-into-app/SKILL.md +116 -44
  171. package/corpus/templates/content/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  172. package/corpus/templates/content/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  173. package/corpus/templates/content/.agents/skills/workspace-conventions/SKILL.md +93 -0
  174. package/corpus/templates/content/actions/_database-utils.ts +10 -0
  175. package/corpus/templates/content/actions/add-comment.ts +1 -1
  176. package/corpus/templates/content/actions/attach-content-database-source.ts +158 -61
  177. package/corpus/templates/content/actions/create-document.ts +1 -0
  178. package/corpus/templates/content/actions/delete-comment.ts +1 -1
  179. package/corpus/templates/content/actions/get-document.ts +9 -1
  180. package/corpus/templates/content/actions/import-content-source.ts +8 -0
  181. package/corpus/templates/content/actions/list-documents.ts +10 -1
  182. package/corpus/templates/content/actions/update-comment.ts +1 -1
  183. package/corpus/templates/content/actions/update-document.ts +11 -0
  184. package/corpus/templates/content/app/components/editor/CommentsSidebar.tsx +52 -29
  185. package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +13 -8
  186. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +62 -2
  187. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +163 -53
  188. package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +16 -0
  189. package/corpus/templates/content/app/components/editor/database/settings.tsx +22 -13
  190. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +7 -7
  191. package/corpus/templates/content/app/hooks/use-documents.ts +2 -0
  192. package/corpus/templates/content/app/i18n-data.ts +10 -0
  193. package/corpus/templates/content/app/root.tsx +1 -21
  194. package/corpus/templates/content/changelog/2026-08-05-connect-sources-from-add-column.md +6 -0
  195. package/corpus/templates/content/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
  196. package/corpus/templates/content/shared/api.ts +7 -1
  197. package/corpus/templates/crm/.agents/skills/actions/SKILL.md +146 -0
  198. package/corpus/templates/crm/.agents/skills/actions/references/action-fields.md +136 -0
  199. package/corpus/templates/crm/.agents/skills/actions/references/examples.md +94 -0
  200. package/corpus/templates/crm/.agents/skills/actions/references/provider-apis.md +95 -0
  201. package/corpus/templates/crm/.agents/skills/adding-a-feature/SKILL.md +208 -0
  202. package/corpus/templates/crm/.agents/skills/context-awareness/SKILL.md +206 -0
  203. package/corpus/templates/crm/.agents/skills/delegate-to-agent/SKILL.md +289 -0
  204. package/corpus/templates/crm/.agents/skills/frontend-design/SKILL.md +296 -0
  205. package/corpus/templates/crm/.agents/skills/frontend-design/references/visual-direction.md +99 -0
  206. package/corpus/templates/crm/.agents/skills/portability/SKILL.md +107 -0
  207. package/corpus/templates/crm/.agents/skills/real-time-sync/SKILL.md +232 -0
  208. package/corpus/templates/crm/.agents/skills/secrets/SKILL.md +339 -0
  209. package/corpus/templates/crm/.agents/skills/security/SKILL.md +324 -0
  210. package/corpus/templates/crm/.agents/skills/self-modifying-code/SKILL.md +123 -0
  211. package/corpus/templates/crm/.agents/skills/shadcn-ui/SKILL.md +123 -0
  212. package/corpus/templates/crm/.agents/skills/sharing/SKILL.md +1 -0
  213. package/corpus/templates/crm/.agents/skills/turn-into-app/SKILL.md +116 -44
  214. package/corpus/templates/crm/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  215. package/corpus/templates/crm/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  216. package/corpus/templates/crm/.agents/skills/workspace-conventions/SKILL.md +93 -0
  217. package/corpus/templates/design/.agents/skills/adding-a-feature/SKILL.md +208 -0
  218. package/corpus/templates/design/.agents/skills/context-awareness/SKILL.md +206 -0
  219. package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +73 -80
  220. package/corpus/templates/design/.agents/skills/portability/SKILL.md +107 -0
  221. package/corpus/templates/design/.agents/skills/real-time-sync/SKILL.md +232 -0
  222. package/corpus/templates/design/.agents/skills/secrets/SKILL.md +339 -0
  223. package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +3 -3
  224. package/corpus/templates/design/.agents/skills/shadcn-ui/SKILL.md +1 -1
  225. package/corpus/templates/design/.agents/skills/sharing/SKILL.md +1 -0
  226. package/corpus/templates/design/.agents/skills/turn-into-app/SKILL.md +116 -44
  227. package/corpus/templates/design/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  228. package/corpus/templates/design/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  229. package/corpus/templates/design/.agents/skills/workspace-conventions/SKILL.md +93 -0
  230. package/corpus/templates/design/actions/index-design-system-with-builder.ts +16 -2
  231. package/corpus/templates/design/app/components/design-system/ProductionDesignSystemShowcase.tsx +6 -18
  232. package/corpus/templates/design/app/i18n/en-US.ts +1 -1
  233. package/corpus/templates/design/app/i18n-data.ts +40 -0
  234. package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +153 -131
  235. package/corpus/templates/design/app/pages/DesignSystems.tsx +7 -61
  236. package/corpus/templates/design/app/pages/Present.tsx +8 -2
  237. package/corpus/templates/design/app/pages/Templates.tsx +1 -0
  238. package/corpus/templates/design/app/pages/design-editor/tool-state.ts +4 -1
  239. package/corpus/templates/design/app/pages/design-editor/types.ts +6 -1
  240. package/corpus/templates/design/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
  241. package/corpus/templates/dispatch/.agents/skills/adding-a-feature/SKILL.md +208 -0
  242. package/corpus/templates/dispatch/.agents/skills/context-awareness/SKILL.md +206 -0
  243. package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +73 -80
  244. package/corpus/templates/dispatch/.agents/skills/portability/SKILL.md +107 -0
  245. package/corpus/templates/dispatch/.agents/skills/real-time-sync/SKILL.md +232 -0
  246. package/corpus/templates/dispatch/.agents/skills/secrets/SKILL.md +339 -0
  247. package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +3 -3
  248. package/corpus/templates/dispatch/.agents/skills/shadcn-ui/SKILL.md +1 -1
  249. package/corpus/templates/dispatch/.agents/skills/sharing/SKILL.md +1 -0
  250. package/corpus/templates/dispatch/.agents/skills/turn-into-app/SKILL.md +116 -44
  251. package/corpus/templates/dispatch/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  252. package/corpus/templates/dispatch/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  253. package/corpus/templates/dispatch/.agents/skills/workspace-conventions/SKILL.md +93 -0
  254. package/corpus/templates/dispatch/actions/apply-workspace-connection-setup.ts +97 -15
  255. package/corpus/templates/dispatch/actions/connection-permissions.ts +77 -0
  256. package/corpus/templates/dispatch/actions/delete-workspace-connection.ts +12 -2
  257. package/corpus/templates/dispatch/actions/list-workspace-user-groups.ts +19 -0
  258. package/corpus/templates/dispatch/actions/plan-workspace-connection-setup.ts +9 -2
  259. package/corpus/templates/dispatch/actions/set-workspace-connection-grant.ts +21 -2
  260. package/corpus/templates/dispatch/actions/upsert-workspace-connection.ts +66 -1
  261. package/corpus/templates/dispatch/actions/upsert-workspace-user-group.ts +27 -0
  262. package/corpus/templates/dispatch/app/chat-first-pages.ts +84 -0
  263. package/corpus/templates/dispatch/app/i18n-data.ts +3989 -3527
  264. package/corpus/templates/dispatch/app/routes/integrations.tsx +1568 -685
  265. package/corpus/templates/dispatch/app/routes/settings.tsx +14 -9
  266. package/corpus/templates/dispatch/changelog/2026-08-12-search-and-pin-workspace-apps-from-the-app-catalog.md +6 -0
  267. package/corpus/templates/dispatch/changelog/2026-08-12-workspace-integration-access-now-shows-exactly-which-apps-ca.md +6 -0
  268. package/corpus/templates/dispatch/server/lib/app-roles.ts +5 -0
  269. package/corpus/templates/dispatch/shared/app-roles.ts +1 -0
  270. package/corpus/templates/factory/.agents/skills/adding-a-feature/SKILL.md +3 -2
  271. package/corpus/templates/factory/.agents/skills/context-awareness/SKILL.md +206 -0
  272. package/corpus/templates/factory/.agents/skills/frontend-design/SKILL.md +73 -80
  273. package/corpus/templates/factory/.agents/skills/portability/SKILL.md +107 -0
  274. package/corpus/templates/factory/.agents/skills/secrets/SKILL.md +339 -0
  275. package/corpus/templates/factory/.agents/skills/self-modifying-code/SKILL.md +3 -3
  276. package/corpus/templates/factory/.agents/skills/shadcn-ui/SKILL.md +1 -1
  277. package/corpus/templates/factory/.agents/skills/sharing/SKILL.md +1 -0
  278. package/corpus/templates/factory/.agents/skills/turn-into-app/SKILL.md +116 -44
  279. package/corpus/templates/factory/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  280. package/corpus/templates/factory/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  281. package/corpus/templates/factory/.agents/skills/workspace-conventions/SKILL.md +93 -0
  282. package/corpus/templates/factory/AGENTS.md +10 -1
  283. package/corpus/templates/factory/README.md +18 -7
  284. package/corpus/templates/factory/actions/list-triage-items.ts +10 -4
  285. package/corpus/templates/factory/actions/poll-github-sources.ts +53 -14
  286. package/corpus/templates/factory/actions/poll-sentry-errors.ts +31 -13
  287. package/corpus/templates/factory/actions/poll-slack-channel.ts +41 -5
  288. package/corpus/templates/factory/actions/provider-api-catalog.ts +13 -0
  289. package/corpus/templates/factory/actions/provider-api-docs.ts +11 -0
  290. package/corpus/templates/factory/actions/provider-api-request.ts +17 -0
  291. package/corpus/templates/factory/actions/save-triage-config.ts +87 -38
  292. package/corpus/templates/factory/app/components/factory/FactoryAuditView.tsx +14 -12
  293. package/corpus/templates/factory/app/components/factory/FactoryCanvas.tsx +60 -77
  294. package/corpus/templates/factory/app/components/factory/FactoryInspector.tsx +66 -125
  295. package/corpus/templates/factory/app/components/layout/Header.tsx +1 -0
  296. package/corpus/templates/factory/app/components/layout/Layout.tsx +8 -3
  297. package/corpus/templates/factory/app/components/layout/Sidebar.tsx +9 -5
  298. package/corpus/templates/factory/app/components/ui/input.tsx +15 -1
  299. package/corpus/templates/factory/app/components/ui/popover.tsx +1 -0
  300. package/corpus/templates/factory/app/components/ui/switch.tsx +1 -0
  301. package/corpus/templates/factory/app/components/ui/textarea.tsx +20 -1
  302. package/corpus/templates/factory/app/hooks/use-navigation-state.ts +5 -3
  303. package/corpus/templates/factory/app/i18n/en-US.ts +17 -0
  304. package/corpus/templates/factory/app/routes/_index.tsx +5 -87
  305. package/corpus/templates/factory/app/routes/chat.$threadId.tsx +1 -1
  306. package/corpus/templates/factory/app/routes/chat.tsx +91 -0
  307. package/corpus/templates/factory/app/routes/factory.tsx +554 -430
  308. package/corpus/templates/factory/app/routes/settings.tsx +1 -1
  309. package/corpus/templates/factory/server/connectors/credentials.ts +25 -0
  310. package/corpus/templates/factory/server/lib/provider-api.ts +34 -0
  311. package/corpus/templates/factory/server/plugins/agent-chat.ts +15 -3
  312. package/corpus/templates/factory/server/plugins/factory-scheduler-job.ts +96 -24
  313. package/corpus/templates/factory/server/triage/review-state.ts +33 -0
  314. package/corpus/templates/factory/server/triage/slack-poller.ts +1 -0
  315. package/corpus/templates/forms/.agents/skills/adding-a-feature/SKILL.md +208 -0
  316. package/corpus/templates/forms/.agents/skills/context-awareness/SKILL.md +206 -0
  317. package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +73 -80
  318. package/corpus/templates/forms/.agents/skills/portability/SKILL.md +107 -0
  319. package/corpus/templates/forms/.agents/skills/secrets/SKILL.md +339 -0
  320. package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +3 -3
  321. package/corpus/templates/forms/.agents/skills/shadcn-ui/SKILL.md +1 -1
  322. package/corpus/templates/forms/.agents/skills/sharing/SKILL.md +1 -0
  323. package/corpus/templates/forms/.agents/skills/turn-into-app/SKILL.md +116 -44
  324. package/corpus/templates/forms/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  325. package/corpus/templates/forms/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  326. package/corpus/templates/forms/.agents/skills/workspace-conventions/SKILL.md +93 -0
  327. package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +1 -0
  328. package/corpus/templates/forms/shared/types.ts +1 -1
  329. package/corpus/templates/macros/.agents/skills/adding-a-feature/SKILL.md +208 -0
  330. package/corpus/templates/macros/.agents/skills/context-awareness/SKILL.md +206 -0
  331. package/corpus/templates/macros/.agents/skills/delegate-to-agent/SKILL.md +289 -0
  332. package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +73 -80
  333. package/corpus/templates/macros/.agents/skills/portability/SKILL.md +107 -0
  334. package/corpus/templates/macros/.agents/skills/real-time-sync/SKILL.md +232 -0
  335. package/corpus/templates/macros/.agents/skills/secrets/SKILL.md +339 -0
  336. package/corpus/templates/macros/.agents/skills/self-modifying-code/SKILL.md +123 -0
  337. package/corpus/templates/macros/.agents/skills/shadcn-ui/SKILL.md +1 -1
  338. package/corpus/templates/macros/.agents/skills/sharing/SKILL.md +1 -0
  339. package/corpus/templates/macros/.agents/skills/turn-into-app/SKILL.md +116 -44
  340. package/corpus/templates/macros/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  341. package/corpus/templates/macros/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  342. package/corpus/templates/macros/.agents/skills/workspace-conventions/SKILL.md +93 -0
  343. package/corpus/templates/mail/.agents/skills/adding-a-feature/SKILL.md +208 -0
  344. package/corpus/templates/mail/.agents/skills/context-awareness/SKILL.md +206 -0
  345. package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +73 -80
  346. package/corpus/templates/mail/.agents/skills/portability/SKILL.md +107 -0
  347. package/corpus/templates/mail/.agents/skills/secrets/SKILL.md +339 -0
  348. package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +3 -3
  349. package/corpus/templates/mail/.agents/skills/shadcn-ui/SKILL.md +1 -1
  350. package/corpus/templates/mail/.agents/skills/sharing/SKILL.md +1 -0
  351. package/corpus/templates/mail/.agents/skills/turn-into-app/SKILL.md +116 -44
  352. package/corpus/templates/mail/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  353. package/corpus/templates/mail/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  354. package/corpus/templates/mail/.agents/skills/workspace-conventions/SKILL.md +93 -0
  355. package/corpus/templates/mail/actions/send-email.ts +9 -0
  356. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +4 -4
  357. package/corpus/templates/mail/changelog/2026-08-12-agent-sent-messages-appear-immediately.md +6 -0
  358. package/corpus/templates/plan/.agents/skills/adding-a-feature/SKILL.md +3 -2
  359. package/corpus/templates/plan/.agents/skills/context-awareness/SKILL.md +206 -0
  360. package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +73 -80
  361. package/corpus/templates/plan/.agents/skills/portability/SKILL.md +107 -0
  362. package/corpus/templates/plan/.agents/skills/secrets/SKILL.md +339 -0
  363. package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +3 -3
  364. package/corpus/templates/plan/.agents/skills/shadcn-ui/SKILL.md +1 -1
  365. package/corpus/templates/plan/.agents/skills/sharing/SKILL.md +1 -0
  366. package/corpus/templates/plan/.agents/skills/turn-into-app/SKILL.md +116 -44
  367. package/corpus/templates/plan/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  368. package/corpus/templates/plan/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  369. package/corpus/templates/plan/.agents/skills/workspace-conventions/SKILL.md +93 -0
  370. package/corpus/templates/plan/actions/delete-plan-comment.ts +6 -0
  371. package/corpus/templates/plan/actions/reply-to-plan-comment.ts +7 -1
  372. package/corpus/templates/plan/actions/resolve-plan-comment.ts +7 -1
  373. package/corpus/templates/plan/actions/update-visual-plan.ts +6 -0
  374. package/corpus/templates/plan/app/hooks/use-plans.ts +1 -1
  375. package/corpus/templates/plan/app/pages/PlansPage.tsx +51 -23
  376. package/corpus/templates/plan/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
  377. package/corpus/templates/plan/server/plans.ts +2 -2
  378. package/corpus/templates/plan/shared/types.ts +1 -1
  379. package/corpus/templates/slides/.agents/skills/adding-a-feature/SKILL.md +208 -0
  380. package/corpus/templates/slides/.agents/skills/context-awareness/SKILL.md +206 -0
  381. package/corpus/templates/slides/.agents/skills/create-deck/SKILL.md +6 -0
  382. package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +73 -80
  383. package/corpus/templates/slides/.agents/skills/portability/SKILL.md +107 -0
  384. package/corpus/templates/slides/.agents/skills/real-time-sync/SKILL.md +232 -0
  385. package/corpus/templates/slides/.agents/skills/secrets/SKILL.md +339 -0
  386. package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +3 -3
  387. package/corpus/templates/slides/.agents/skills/shadcn-ui/SKILL.md +1 -1
  388. package/corpus/templates/slides/.agents/skills/sharing/SKILL.md +1 -0
  389. package/corpus/templates/slides/.agents/skills/turn-into-app/SKILL.md +116 -44
  390. package/corpus/templates/slides/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  391. package/corpus/templates/slides/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  392. package/corpus/templates/slides/.agents/skills/workspace-conventions/SKILL.md +93 -0
  393. package/corpus/templates/slides/AGENTS.md +4 -0
  394. package/corpus/templates/slides/actions/add-slide-comment.ts +1 -1
  395. package/corpus/templates/slides/actions/delete-slide-comment.ts +1 -1
  396. package/corpus/templates/slides/actions/get-layout-overflows.ts +67 -2
  397. package/corpus/templates/slides/actions/update-slide-comment.ts +1 -1
  398. package/corpus/templates/slides/actions/view-screen.ts +76 -26
  399. package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +30 -8
  400. package/corpus/templates/slides/app/components/design-system/DesignSystemCard.tsx +2 -1
  401. package/corpus/templates/slides/app/components/editor/AlignmentGuides.tsx +75 -0
  402. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +81 -81
  403. package/corpus/templates/slides/app/components/editor/ShareDialog.tsx +28 -25
  404. package/corpus/templates/slides/app/components/editor/SlideContextToolbar.tsx +175 -10
  405. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +256 -69
  406. package/corpus/templates/slides/app/components/editor/SlideOverflowWarning.tsx +1 -1
  407. package/corpus/templates/slides/app/components/editor/canvas-interactions/slides-canvas-adapter.ts +3 -3
  408. package/corpus/templates/slides/app/components/editor/slide-object-interactions.ts +218 -0
  409. package/corpus/templates/slides/app/context/DeckContext.tsx +56 -30
  410. package/corpus/templates/slides/app/hooks/use-deck-role.ts +13 -5
  411. package/corpus/templates/slides/app/hooks/use-design-systems.ts +1 -1
  412. package/corpus/templates/slides/app/i18n/en-US.ts +6 -2
  413. package/corpus/templates/slides/app/lib/create-deck-generation.ts +1 -0
  414. package/corpus/templates/slides/app/lib/pending-deck-changes.ts +32 -0
  415. package/corpus/templates/slides/app/pages/DeckEditor.tsx +85 -4
  416. package/corpus/templates/slides/app/pages/Index.tsx +65 -66
  417. package/corpus/templates/slides/changelog/2026-08-12-viewers-are-read-only-and-commenters-can-comment.md +6 -0
  418. package/corpus/templates/tasks/.agents/skills/adding-a-feature/SKILL.md +3 -2
  419. package/corpus/templates/tasks/.agents/skills/context-awareness/SKILL.md +206 -0
  420. package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +73 -80
  421. package/corpus/templates/tasks/.agents/skills/portability/SKILL.md +107 -0
  422. package/corpus/templates/tasks/.agents/skills/secrets/SKILL.md +339 -0
  423. package/corpus/templates/tasks/.agents/skills/self-modifying-code/SKILL.md +3 -3
  424. package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +1 -1
  425. package/corpus/templates/tasks/.agents/skills/sharing/SKILL.md +1 -0
  426. package/corpus/templates/tasks/.agents/skills/turn-into-app/SKILL.md +116 -44
  427. package/corpus/templates/tasks/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  428. package/corpus/templates/tasks/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  429. package/corpus/templates/tasks/.agents/skills/workspace-conventions/SKILL.md +93 -0
  430. package/corpus/templates/tasks/app/components/custom-fields/FieldsPage.tsx +1 -4
  431. package/corpus/templates/tasks/app/components/inbox/InboxList.tsx +0 -1
  432. package/corpus/templates/tasks/app/components/inbox/InboxListPage.tsx +0 -1
  433. package/corpus/templates/tasks/app/components/shared/ListViewHeader.tsx +0 -3
  434. package/corpus/templates/tasks/app/components/shared/PageHeader.tsx +1 -4
  435. package/corpus/templates/tasks/app/components/tasks/TaskList.tsx +0 -1
  436. package/corpus/templates/tasks/app/components/tasks/TaskListPage.tsx +0 -1
  437. package/dist/agent/engine/ai-sdk-engine.js +5 -0
  438. package/dist/agent/engine/anthropic-engine.js +8 -0
  439. package/dist/agent/engine/registry.js +24 -19
  440. package/dist/agent/engine/translate-anthropic.js +16 -1
  441. package/dist/agent/production-agent.d.ts +8 -0
  442. package/dist/agent/production-agent.js +25 -2
  443. package/dist/agent/run-manager.js +13 -3
  444. package/dist/automations/service.d.ts +2 -0
  445. package/dist/automations/service.js +5 -1
  446. package/dist/chat-threads/schema.d.ts +2 -2
  447. package/dist/cli/changelog.js +21 -4
  448. package/dist/cli/create.d.ts +12 -1
  449. package/dist/cli/create.js +99 -11
  450. package/dist/cli/index.js +6 -6
  451. package/dist/cli/process.d.ts +7 -0
  452. package/dist/cli/process.js +12 -0
  453. package/dist/cli/workspace-skill-policy.d.ts +15 -0
  454. package/dist/cli/workspace-skill-policy.js +62 -0
  455. package/dist/cli/workspacify.js +36 -0
  456. package/dist/client/AgentPanel.d.ts +14 -2
  457. package/dist/client/AgentPanel.js +44 -26
  458. package/dist/client/AssistantChat.js +90 -182
  459. package/dist/client/FeedbackButton.js +15 -2
  460. package/dist/client/RouteTransitionIndicator.d.ts +14 -2
  461. package/dist/client/RouteTransitionIndicator.js +16 -5
  462. package/dist/client/agent-page/AgentTabsPage.js +19 -6
  463. package/dist/client/app-config.d.ts +3 -0
  464. package/dist/client/app-config.js +6 -0
  465. package/dist/client/app-providers.js +2 -1
  466. package/dist/client/changelog/Changelog.d.ts +2 -1
  467. package/dist/client/changelog/Changelog.js +7 -5
  468. package/dist/client/chat/markdown-renderer.d.ts +3 -1
  469. package/dist/client/chat/markdown-renderer.js +24 -24
  470. package/dist/client/chat/message-components.d.ts +23 -0
  471. package/dist/client/chat/message-components.js +27 -44
  472. package/dist/client/chat/tool-call-display.d.ts +2 -2
  473. package/dist/client/chat/tool-call-display.js +6 -3
  474. package/dist/client/chat-first/app-open-actions.d.ts +28 -0
  475. package/dist/client/chat-first/app-open-actions.js +25 -0
  476. package/dist/client/chat-first/index.d.ts +1 -0
  477. package/dist/client/chat-first/index.js +1 -0
  478. package/dist/client/chat-first/primary-nav.d.ts +2 -1
  479. package/dist/client/chat-first/primary-nav.js +12 -5
  480. package/dist/client/conversation/use-near-bottom-autoscroll.d.ts +14 -0
  481. package/dist/client/conversation/use-near-bottom-autoscroll.js +14 -0
  482. package/dist/client/error-format.js +32 -3
  483. package/dist/client/extensions/EmbeddedExtension.js +1 -0
  484. package/dist/client/extensions/ExtensionViewer.js +3 -1
  485. package/dist/client/extensions/InlineExtensionFrame.js +1 -0
  486. package/dist/client/extensions/iframe-bridge.d.ts +3 -2
  487. package/dist/client/extensions/iframe-bridge.js +4 -2
  488. package/dist/client/i18n.js +28 -5
  489. package/dist/client/integrations/IntegrationConnectionChoice.d.ts +11 -0
  490. package/dist/client/integrations/IntegrationConnectionChoice.js +6 -0
  491. package/dist/client/integrations/IntegrationGrid.d.ts +23 -0
  492. package/dist/client/integrations/IntegrationGrid.js +12 -0
  493. package/dist/client/integrations/IntegrationsPanel.js +92 -26
  494. package/dist/client/integrations/index.d.ts +2 -0
  495. package/dist/client/integrations/index.js +2 -0
  496. package/dist/client/onboarding/FirstRunOnboarding.d.ts +3 -1
  497. package/dist/client/onboarding/FirstRunOnboarding.js +26 -16
  498. package/dist/client/onboarding/first-run-enabled.js +1 -5
  499. package/dist/client/onboarding/first-run-startup-gate.d.ts +5 -0
  500. package/dist/client/onboarding/first-run-startup-gate.js +51 -0
  501. package/dist/client/onboarding/first-run-status.d.ts +7 -0
  502. package/dist/client/onboarding/first-run-status.js +26 -0
  503. package/dist/client/onboarding/index.d.ts +3 -0
  504. package/dist/client/onboarding/index.js +3 -0
  505. package/dist/client/onboarding/use-onboarding.d.ts +1 -0
  506. package/dist/client/onboarding/use-onboarding.js +13 -11
  507. package/dist/client/org/TeamPage.js +174 -28
  508. package/dist/client/org/WorkspaceNotice.js +7 -4
  509. package/dist/client/resources/McpConnectionSuggestion.js +29 -72
  510. package/dist/client/resources/McpIntegrationDialog.d.ts +3 -1
  511. package/dist/client/resources/McpIntegrationDialog.js +176 -51
  512. package/dist/client/resources/index.d.ts +1 -0
  513. package/dist/client/resources/index.js +1 -0
  514. package/dist/client/resources/mcp-integration-catalog.d.ts +8 -0
  515. package/dist/client/resources/mcp-integration-catalog.js +28 -0
  516. package/dist/client/settings/ExtensionsSettingsContent.js +2 -2
  517. package/dist/client/settings/SettingsPanel.d.ts +6 -0
  518. package/dist/client/settings/SettingsPanel.js +21 -8
  519. package/dist/client/settings/SettingsRow.d.ts +3 -1
  520. package/dist/client/settings/SettingsRow.js +4 -2
  521. package/dist/client/settings/SettingsSkeleton.js +5 -3
  522. package/dist/client/settings/SettingsTabsPage.js +2 -2
  523. package/dist/client/settings/UsageSection.d.ts +4 -1
  524. package/dist/client/settings/UsageSection.js +187 -93
  525. package/dist/client/settings/agent-settings-search.js +6 -2
  526. package/dist/client/setup-connections/useBuilderConnectCardController.d.ts +1 -1
  527. package/dist/client/setup-connections/useBuilderConnectCardController.js +2 -2
  528. package/dist/client/sharing/ShareButton.d.ts +4 -2
  529. package/dist/client/sharing/ShareButton.js +26 -14
  530. package/dist/client/sharing/ShareDialog.d.ts +1 -1
  531. package/dist/client/sharing/ShareDialog.js +17 -11
  532. package/dist/client/sharing/useShareButtonController.d.ts +2 -1
  533. package/dist/client/sharing/useShareButtonController.js +8 -0
  534. package/dist/client/sharing/useShareDialogController.d.ts +1 -1
  535. package/dist/client/sharing/useShareDialogController.js +2 -1
  536. package/dist/collab/routes.d.ts +1 -1
  537. package/dist/config.d.ts +13 -0
  538. package/dist/config.js +53 -0
  539. package/dist/dashboard-storage/schema.d.ts +2 -2
  540. package/dist/data-programs/schema.d.ts +2 -2
  541. package/dist/extensions/actions.js +2 -1
  542. package/dist/extensions/html-shell.d.ts +2 -2
  543. package/dist/extensions/routes.js +4 -1
  544. package/dist/extensions/schema.d.ts +2 -2
  545. package/dist/file-upload/pre-upload-attachments.js +1 -1
  546. package/dist/framework-tools.js +3 -0
  547. package/dist/history/types.d.ts +1 -1
  548. package/dist/index.d.ts +2 -1
  549. package/dist/index.js +2 -1
  550. package/dist/jobs/background-automation-runner.d.ts +1 -0
  551. package/dist/jobs/background-automation-runner.js +4 -2
  552. package/dist/jobs/frontmatter.d.ts +4 -0
  553. package/dist/jobs/frontmatter.js +16 -0
  554. package/dist/jobs/run-history.js +1 -1
  555. package/dist/jobs/tools.js +9 -5
  556. package/dist/localization/default-messages.d.ts +27 -0
  557. package/dist/localization/default-messages.js +28 -1
  558. package/dist/notifications/routes.d.ts +6 -6
  559. package/dist/onboarding/plugin.js +17 -2
  560. package/dist/org/context.js +16 -0
  561. package/dist/progress/routes.d.ts +1 -1
  562. package/dist/provider-api/actions/custom-provider-registration.d.ts +12 -12
  563. package/dist/provider-api/actions/provider-api.d.ts +8 -8
  564. package/dist/review/actions/create-review-comment.js +1 -1
  565. package/dist/review/actions/delete-review-comment.js +4 -1
  566. package/dist/review/actions/list-review-comments.js +4 -2
  567. package/dist/review/actions/reply-review-comment.js +1 -1
  568. package/dist/review/types.d.ts +1 -1
  569. package/dist/secrets/routes.d.ts +9 -9
  570. package/dist/server/action-discovery.js +29 -0
  571. package/dist/server/agent-chat/plugin-options.d.ts +7 -0
  572. package/dist/server/agent-chat-plugin.d.ts +2 -0
  573. package/dist/server/agent-chat-plugin.js +12 -4
  574. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  575. package/dist/server/auth.js +18 -4
  576. package/dist/server/better-auth-instance.js +8 -1
  577. package/dist/server/builder-browser.js +31 -0
  578. package/dist/server/magic-link-attribution.d.ts +21 -0
  579. package/dist/server/magic-link-attribution.js +115 -0
  580. package/dist/server/onboarding-html.js +1 -1
  581. package/dist/server/realtime-token.d.ts +1 -1
  582. package/dist/server/transcribe-voice.d.ts +1 -1
  583. package/dist/server/workspace-provider-oauth.js +38 -26
  584. package/dist/setup-connections/index.d.ts +1 -1
  585. package/dist/setup-connections/index.js +1 -1
  586. package/dist/shared/first-run-onboarding.d.ts +6 -0
  587. package/dist/shared/first-run-onboarding.js +6 -0
  588. package/dist/sharing/access.d.ts +1 -1
  589. package/dist/sharing/access.js +4 -1
  590. package/dist/sharing/actions/share-resource.d.ts +1 -1
  591. package/dist/sharing/actions/share-resource.js +2 -2
  592. package/dist/sharing/registry.d.ts +2 -2
  593. package/dist/sharing/schema.d.ts +5 -5
  594. package/dist/sharing/schema.js +9 -6
  595. package/dist/styles/agent-native.css +21 -0
  596. package/dist/styles/chat-history-list.css +1 -1
  597. package/dist/templates/chat/.agents/skills/adding-a-feature/SKILL.md +3 -2
  598. package/dist/templates/chat/.agents/skills/context-awareness/SKILL.md +206 -0
  599. package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +73 -80
  600. package/dist/templates/chat/.agents/skills/portability/SKILL.md +107 -0
  601. package/dist/templates/chat/.agents/skills/secrets/SKILL.md +339 -0
  602. package/dist/templates/chat/.agents/skills/self-modifying-code/SKILL.md +3 -3
  603. package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +1 -1
  604. package/dist/templates/chat/.agents/skills/sharing/SKILL.md +1 -0
  605. package/dist/templates/chat/.agents/skills/turn-into-app/SKILL.md +116 -44
  606. package/dist/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  607. package/dist/templates/chat/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  608. package/dist/templates/chat/.agents/skills/workspace-conventions/SKILL.md +93 -0
  609. package/dist/templates/chat/AGENTS.md +4 -5
  610. package/dist/templates/default/.agents/skills/adding-a-feature/SKILL.md +3 -2
  611. package/dist/templates/default/.agents/skills/context-awareness/SKILL.md +206 -0
  612. package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +73 -80
  613. package/dist/templates/default/.agents/skills/portability/SKILL.md +107 -0
  614. package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +3 -3
  615. package/dist/templates/default/.agents/skills/shadcn-ui/SKILL.md +1 -1
  616. package/dist/templates/default/.agents/skills/sharing/SKILL.md +233 -0
  617. package/dist/templates/default/.agents/skills/turn-into-app/SKILL.md +116 -44
  618. package/dist/templates/default/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  619. package/dist/templates/default/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  620. package/dist/templates/default/.agents/skills/workspace-conventions/SKILL.md +93 -0
  621. package/dist/templates/default/AGENTS.md +17 -2
  622. package/dist/templates/default/agent-native.config.ts +6 -0
  623. package/dist/templates/default/app/i18n/ar-SA.ts +2 -0
  624. package/dist/templates/default/app/i18n/de-DE.ts +2 -0
  625. package/dist/templates/default/app/i18n/en-US.ts +3 -1
  626. package/dist/templates/default/app/i18n/es-ES.ts +2 -0
  627. package/dist/templates/default/app/i18n/fr-FR.ts +2 -0
  628. package/dist/templates/default/app/i18n/hi-IN.ts +2 -0
  629. package/dist/templates/default/app/i18n/ja-JP.ts +2 -0
  630. package/dist/templates/default/app/i18n/ko-KR.ts +2 -0
  631. package/dist/templates/default/app/i18n/pt-BR.ts +2 -0
  632. package/dist/templates/default/app/i18n/zh-CN.ts +2 -0
  633. package/dist/templates/default/app/i18n/zh-TW.ts +2 -0
  634. package/dist/templates/headless/.agents/skills/delegate-to-agent/SKILL.md +289 -0
  635. package/dist/templates/headless/.agents/skills/security/SKILL.md +324 -0
  636. package/dist/templates/headless/.agents/skills/storing-data/SKILL.md +178 -0
  637. package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +3 -2
  638. package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +73 -80
  639. package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +3 -3
  640. package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +1 -1
  641. package/dist/templates/workspace-core/.agents/skills/sharing/SKILL.md +1 -0
  642. package/dist/templates/workspace-core/.agents/skills/turn-into-app/SKILL.md +116 -44
  643. package/dist/templates/workspace-core/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  644. package/dist/templates/workspace-core/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  645. package/dist/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +3 -2
  646. package/dist/templates/workspace-core/AGENTS.md +9 -3
  647. package/dist/templates/workspace-root/AGENTS.md +26 -1
  648. package/dist/templates/workspace-root/agent-native.config.ts +8 -0
  649. package/dist/triggers/actions.js +2 -2
  650. package/dist/usage/actions/get-usage-alerts.d.ts +5 -0
  651. package/dist/usage/actions/get-usage-alerts.js +16 -0
  652. package/dist/usage/actions/get-usage-metrics.d.ts +7 -0
  653. package/dist/usage/actions/get-usage-metrics.js +26 -0
  654. package/dist/usage/actions/manage-usage-alert.d.ts +14 -0
  655. package/dist/usage/actions/manage-usage-alert.js +48 -0
  656. package/dist/usage/alerts-store.d.ts +78 -0
  657. package/dist/usage/alerts-store.js +592 -0
  658. package/dist/usage/metrics-store.d.ts +95 -0
  659. package/dist/usage/metrics-store.js +386 -0
  660. package/dist/usage/store.js +10 -0
  661. package/dist/vite/action-types-plugin.js +28 -0
  662. package/dist/vite/agent-native-config-loader.d.ts +6 -0
  663. package/dist/vite/agent-native-config-loader.js +54 -2
  664. package/dist/vite/client.js +11 -5
  665. package/dist/workspace-connections/actions/bulk-update-workspace-user-groups.d.ts +6 -0
  666. package/dist/workspace-connections/actions/bulk-update-workspace-user-groups.js +24 -0
  667. package/dist/workspace-connections/actions/delete-workspace-user-group.d.ts +7 -0
  668. package/dist/workspace-connections/actions/delete-workspace-user-group.js +29 -0
  669. package/dist/workspace-connections/actions/list-workspace-user-groups.d.ts +2 -0
  670. package/dist/workspace-connections/actions/list-workspace-user-groups.js +13 -0
  671. package/dist/workspace-connections/actions/upsert-workspace-user-group.d.ts +6 -0
  672. package/dist/workspace-connections/actions/upsert-workspace-user-group.js +22 -0
  673. package/dist/workspace-connections/credential-key-aliases.d.ts +3 -0
  674. package/dist/workspace-connections/credential-key-aliases.js +31 -0
  675. package/dist/workspace-connections/credentials.js +1 -25
  676. package/dist/workspace-connections/groups.d.ts +32 -0
  677. package/dist/workspace-connections/groups.js +288 -0
  678. package/dist/workspace-connections/index.d.ts +3 -1
  679. package/dist/workspace-connections/index.js +3 -1
  680. package/dist/workspace-connections/store.d.ts +9 -0
  681. package/dist/workspace-connections/store.js +68 -8
  682. package/docs/content/components.mdx +2 -2
  683. package/docs/content/sharing.mdx +2 -1
  684. package/package.json +10 -2
  685. package/src/templates/chat/.agents/skills/adding-a-feature/SKILL.md +3 -2
  686. package/src/templates/chat/.agents/skills/context-awareness/SKILL.md +206 -0
  687. package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +73 -80
  688. package/src/templates/chat/.agents/skills/portability/SKILL.md +107 -0
  689. package/src/templates/chat/.agents/skills/secrets/SKILL.md +339 -0
  690. package/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +3 -3
  691. package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +1 -1
  692. package/src/templates/chat/.agents/skills/sharing/SKILL.md +1 -0
  693. package/src/templates/chat/.agents/skills/turn-into-app/SKILL.md +116 -44
  694. package/src/templates/chat/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  695. package/src/templates/chat/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  696. package/src/templates/chat/.agents/skills/workspace-conventions/SKILL.md +93 -0
  697. package/src/templates/chat/AGENTS.md +4 -5
  698. package/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +3 -2
  699. package/src/templates/default/.agents/skills/context-awareness/SKILL.md +206 -0
  700. package/src/templates/default/.agents/skills/frontend-design/SKILL.md +73 -80
  701. package/src/templates/default/.agents/skills/portability/SKILL.md +107 -0
  702. package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +3 -3
  703. package/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +1 -1
  704. package/src/templates/default/.agents/skills/sharing/SKILL.md +233 -0
  705. package/src/templates/default/.agents/skills/turn-into-app/SKILL.md +116 -44
  706. package/src/templates/default/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  707. package/src/templates/default/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  708. package/src/templates/default/.agents/skills/workspace-conventions/SKILL.md +93 -0
  709. package/src/templates/default/AGENTS.md +17 -2
  710. package/src/templates/default/agent-native.config.ts +6 -0
  711. package/src/templates/default/app/i18n/ar-SA.ts +2 -0
  712. package/src/templates/default/app/i18n/de-DE.ts +2 -0
  713. package/src/templates/default/app/i18n/en-US.ts +3 -1
  714. package/src/templates/default/app/i18n/es-ES.ts +2 -0
  715. package/src/templates/default/app/i18n/fr-FR.ts +2 -0
  716. package/src/templates/default/app/i18n/hi-IN.ts +2 -0
  717. package/src/templates/default/app/i18n/ja-JP.ts +2 -0
  718. package/src/templates/default/app/i18n/ko-KR.ts +2 -0
  719. package/src/templates/default/app/i18n/pt-BR.ts +2 -0
  720. package/src/templates/default/app/i18n/zh-CN.ts +2 -0
  721. package/src/templates/default/app/i18n/zh-TW.ts +2 -0
  722. package/src/templates/headless/.agents/skills/delegate-to-agent/SKILL.md +289 -0
  723. package/src/templates/headless/.agents/skills/security/SKILL.md +324 -0
  724. package/src/templates/headless/.agents/skills/storing-data/SKILL.md +178 -0
  725. package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +3 -2
  726. package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +73 -80
  727. package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +3 -3
  728. package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +1 -1
  729. package/src/templates/workspace-core/.agents/skills/sharing/SKILL.md +1 -0
  730. package/src/templates/workspace-core/.agents/skills/turn-into-app/SKILL.md +116 -44
  731. package/src/templates/workspace-core/.agents/skills/turn-into-app/references/fresh-project.md +9 -3
  732. package/src/templates/workspace-core/.agents/skills/turn-into-app/references/spreadsheet-source.md +148 -0
  733. package/src/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +3 -2
  734. package/src/templates/workspace-core/AGENTS.md +9 -3
  735. package/src/templates/workspace-root/AGENTS.md +26 -1
  736. package/src/templates/workspace-root/agent-native.config.ts +8 -0
  737. package/corpus/templates/analytics/.agents/skills/capture-learnings/SKILL.md +0 -89
  738. package/corpus/templates/analytics/.agents/skills/create-skill/SKILL.md +0 -195
  739. package/corpus/templates/analytics/.agents/skills/feature-flags/SKILL.md +0 -169
  740. package/corpus/templates/analytics/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  741. package/corpus/templates/assets/.agents/skills/capture-learnings/SKILL.md +0 -89
  742. package/corpus/templates/assets/.agents/skills/create-skill/SKILL.md +0 -195
  743. package/corpus/templates/assets/.agents/skills/feature-flags/SKILL.md +0 -169
  744. package/corpus/templates/assets/.agents/skills/real-time-collab/SKILL.md +0 -392
  745. package/corpus/templates/assets/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  746. package/corpus/templates/brain/.agents/skills/capture-learnings/SKILL.md +0 -89
  747. package/corpus/templates/brain/.agents/skills/create-skill/SKILL.md +0 -195
  748. package/corpus/templates/brain/.agents/skills/feature-flags/SKILL.md +0 -169
  749. package/corpus/templates/brain/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  750. package/corpus/templates/calendar/.agents/skills/capture-learnings/SKILL.md +0 -89
  751. package/corpus/templates/calendar/.agents/skills/create-skill/SKILL.md +0 -195
  752. package/corpus/templates/calendar/.agents/skills/feature-flags/SKILL.md +0 -169
  753. package/corpus/templates/calendar/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  754. package/corpus/templates/chat/.agents/skills/capture-learnings/SKILL.md +0 -89
  755. package/corpus/templates/chat/.agents/skills/create-skill/SKILL.md +0 -195
  756. package/corpus/templates/chat/.agents/skills/feature-flags/SKILL.md +0 -169
  757. package/corpus/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  758. package/corpus/templates/clips/.agents/skills/capture-learnings/SKILL.md +0 -89
  759. package/corpus/templates/clips/.agents/skills/create-skill/SKILL.md +0 -195
  760. package/corpus/templates/clips/.agents/skills/feature-flags/SKILL.md +0 -169
  761. package/corpus/templates/clips/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  762. package/corpus/templates/content/.agents/skills/capture-learnings/SKILL.md +0 -89
  763. package/corpus/templates/content/.agents/skills/create-skill/SKILL.md +0 -195
  764. package/corpus/templates/content/.agents/skills/feature-flags/SKILL.md +0 -169
  765. package/corpus/templates/content/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  766. package/corpus/templates/crm/.agents/skills/feature-flags/SKILL.md +0 -169
  767. package/corpus/templates/crm/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  768. package/corpus/templates/design/.agents/skills/capture-learnings/SKILL.md +0 -89
  769. package/corpus/templates/design/.agents/skills/create-skill/SKILL.md +0 -195
  770. package/corpus/templates/design/.agents/skills/feature-flags/SKILL.md +0 -169
  771. package/corpus/templates/design/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  772. package/corpus/templates/dispatch/.agents/skills/capture-learnings/SKILL.md +0 -89
  773. package/corpus/templates/dispatch/.agents/skills/create-skill/SKILL.md +0 -195
  774. package/corpus/templates/dispatch/.agents/skills/feature-flags/SKILL.md +0 -169
  775. package/corpus/templates/dispatch/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  776. package/corpus/templates/factory/.agents/skills/capture-learnings/SKILL.md +0 -89
  777. package/corpus/templates/factory/.agents/skills/create-skill/SKILL.md +0 -195
  778. package/corpus/templates/factory/.agents/skills/feature-flags/SKILL.md +0 -169
  779. package/corpus/templates/factory/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  780. package/corpus/templates/forms/.agents/skills/capture-learnings/SKILL.md +0 -89
  781. package/corpus/templates/forms/.agents/skills/create-skill/SKILL.md +0 -195
  782. package/corpus/templates/forms/.agents/skills/feature-flags/SKILL.md +0 -169
  783. package/corpus/templates/forms/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  784. package/corpus/templates/macros/.agents/skills/feature-flags/SKILL.md +0 -169
  785. package/corpus/templates/macros/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  786. package/corpus/templates/mail/.agents/skills/capture-learnings/SKILL.md +0 -89
  787. package/corpus/templates/mail/.agents/skills/create-skill/SKILL.md +0 -195
  788. package/corpus/templates/mail/.agents/skills/feature-flags/SKILL.md +0 -169
  789. package/corpus/templates/mail/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  790. package/corpus/templates/plan/.agents/skills/capture-learnings/SKILL.md +0 -89
  791. package/corpus/templates/plan/.agents/skills/create-skill/SKILL.md +0 -195
  792. package/corpus/templates/plan/.agents/skills/feature-flags/SKILL.md +0 -169
  793. package/corpus/templates/plan/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  794. package/corpus/templates/slides/.agents/skills/capture-learnings/SKILL.md +0 -89
  795. package/corpus/templates/slides/.agents/skills/create-skill/SKILL.md +0 -195
  796. package/corpus/templates/slides/.agents/skills/feature-flags/SKILL.md +0 -169
  797. package/corpus/templates/slides/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  798. package/corpus/templates/tasks/.agents/skills/capture-learnings/SKILL.md +0 -89
  799. package/corpus/templates/tasks/.agents/skills/create-skill/SKILL.md +0 -195
  800. package/corpus/templates/tasks/.agents/skills/feature-flags/SKILL.md +0 -169
  801. package/corpus/templates/tasks/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  802. package/dist/templates/chat/.agents/skills/capture-learnings/SKILL.md +0 -89
  803. package/dist/templates/chat/.agents/skills/create-skill/SKILL.md +0 -195
  804. package/dist/templates/chat/.agents/skills/feature-flags/SKILL.md +0 -169
  805. package/dist/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  806. package/dist/templates/default/.agents/skills/capture-learnings/SKILL.md +0 -89
  807. package/dist/templates/default/.agents/skills/create-skill/SKILL.md +0 -195
  808. package/dist/templates/default/.agents/skills/feature-flags/SKILL.md +0 -169
  809. package/dist/templates/default/.agents/skills/integration-webhooks/SKILL.md +0 -364
  810. package/dist/templates/default/.agents/skills/internationalization/SKILL.md +0 -82
  811. package/dist/templates/default/.agents/skills/onboarding/SKILL.md +0 -56
  812. package/dist/templates/default/.agents/skills/real-time-collab/SKILL.md +0 -392
  813. package/dist/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  814. package/dist/templates/headless/.agents/skills/feature-flags/SKILL.md +0 -169
  815. package/dist/templates/headless/.agents/skills/integration-webhooks/SKILL.md +0 -364
  816. package/dist/templates/headless/.agents/skills/turn-into-app/SKILL.md +0 -402
  817. package/dist/templates/headless/.agents/skills/turn-into-app/agents/openai.yaml +0 -4
  818. package/dist/templates/headless/.agents/skills/turn-into-app/references/fresh-project.md +0 -90
  819. package/dist/templates/headless/.agents/skills/turn-into-skill/SKILL.md +0 -112
  820. package/dist/templates/headless/.agents/skills/turn-into-skill/agents/openai.yaml +0 -4
  821. package/dist/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  822. package/dist/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +0 -411
  823. package/dist/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +0 -107
  824. package/dist/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +0 -176
  825. package/dist/templates/workspace-core/.agents/skills/agent-page/SKILL.md +0 -63
  826. package/dist/templates/workspace-core/.agents/skills/audit-log/SKILL.md +0 -96
  827. package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +0 -295
  828. package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +0 -242
  829. package/dist/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +0 -131
  830. package/dist/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +0 -89
  831. package/dist/templates/workspace-core/.agents/skills/changelog/SKILL.md +0 -114
  832. package/dist/templates/workspace-core/.agents/skills/client-methods/SKILL.md +0 -115
  833. package/dist/templates/workspace-core/.agents/skills/client-methods/references/legacy-client-fetch-audit-2026-06-03.md +0 -62
  834. package/dist/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +0 -87
  835. package/dist/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +0 -139
  836. package/dist/templates/workspace-core/.agents/skills/context-xray/SKILL.md +0 -72
  837. package/dist/templates/workspace-core/.agents/skills/create-skill/SKILL.md +0 -195
  838. package/dist/templates/workspace-core/.agents/skills/data-programs/SKILL.md +0 -128
  839. package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +0 -219
  840. package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +0 -533
  841. package/dist/templates/workspace-core/.agents/skills/extensions/references/api.md +0 -340
  842. package/dist/templates/workspace-core/.agents/skills/extensions/references/examples.md +0 -259
  843. package/dist/templates/workspace-core/.agents/skills/external-agents/SKILL.md +0 -547
  844. package/dist/templates/workspace-core/.agents/skills/external-agents/references/mcp-apps-embedding.md +0 -157
  845. package/dist/templates/workspace-core/.agents/skills/feature-flags/SKILL.md +0 -169
  846. package/dist/templates/workspace-core/.agents/skills/generative-ui/SKILL.md +0 -117
  847. package/dist/templates/workspace-core/.agents/skills/harness-agents/SKILL.md +0 -170
  848. package/dist/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +0 -364
  849. package/dist/templates/workspace-core/.agents/skills/internationalization/SKILL.md +0 -82
  850. package/dist/templates/workspace-core/.agents/skills/mvp-followup/SKILL.md +0 -52
  851. package/dist/templates/workspace-core/.agents/skills/native-navigation/SKILL.md +0 -67
  852. package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +0 -329
  853. package/dist/templates/workspace-core/.agents/skills/onboarding/SKILL.md +0 -56
  854. package/dist/templates/workspace-core/.agents/skills/performance/SKILL.md +0 -299
  855. package/dist/templates/workspace-core/.agents/skills/qa/SKILL.md +0 -333
  856. package/dist/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +0 -392
  857. package/dist/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +0 -74
  858. package/dist/templates/workspace-core/.agents/skills/reliable-mutations/SKILL.md +0 -70
  859. package/dist/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +0 -84
  860. package/dist/templates/workspace-core/.agents/skills/tracking/SKILL.md +0 -278
  861. package/dist/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  862. package/dist/templates/workspace-core/.agents/skills/visual-answer/SKILL.md +0 -101
  863. package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +0 -222
  864. package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +0 -363
  865. package/src/templates/chat/.agents/skills/capture-learnings/SKILL.md +0 -89
  866. package/src/templates/chat/.agents/skills/create-skill/SKILL.md +0 -195
  867. package/src/templates/chat/.agents/skills/feature-flags/SKILL.md +0 -169
  868. package/src/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  869. package/src/templates/default/.agents/skills/capture-learnings/SKILL.md +0 -89
  870. package/src/templates/default/.agents/skills/create-skill/SKILL.md +0 -195
  871. package/src/templates/default/.agents/skills/feature-flags/SKILL.md +0 -169
  872. package/src/templates/default/.agents/skills/integration-webhooks/SKILL.md +0 -364
  873. package/src/templates/default/.agents/skills/internationalization/SKILL.md +0 -82
  874. package/src/templates/default/.agents/skills/onboarding/SKILL.md +0 -56
  875. package/src/templates/default/.agents/skills/real-time-collab/SKILL.md +0 -392
  876. package/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  877. package/src/templates/headless/.agents/skills/feature-flags/SKILL.md +0 -169
  878. package/src/templates/headless/.agents/skills/integration-webhooks/SKILL.md +0 -364
  879. package/src/templates/headless/.agents/skills/turn-into-app/SKILL.md +0 -402
  880. package/src/templates/headless/.agents/skills/turn-into-app/agents/openai.yaml +0 -4
  881. package/src/templates/headless/.agents/skills/turn-into-app/references/fresh-project.md +0 -90
  882. package/src/templates/headless/.agents/skills/turn-into-skill/SKILL.md +0 -112
  883. package/src/templates/headless/.agents/skills/turn-into-skill/agents/openai.yaml +0 -4
  884. package/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  885. package/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +0 -411
  886. package/src/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +0 -107
  887. package/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +0 -176
  888. package/src/templates/workspace-core/.agents/skills/agent-page/SKILL.md +0 -63
  889. package/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +0 -96
  890. package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +0 -295
  891. package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +0 -242
  892. package/src/templates/workspace-core/.agents/skills/browser-sessions/SKILL.md +0 -131
  893. package/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +0 -89
  894. package/src/templates/workspace-core/.agents/skills/changelog/SKILL.md +0 -114
  895. package/src/templates/workspace-core/.agents/skills/client-methods/SKILL.md +0 -115
  896. package/src/templates/workspace-core/.agents/skills/client-methods/references/legacy-client-fetch-audit-2026-06-03.md +0 -62
  897. package/src/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +0 -87
  898. package/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +0 -139
  899. package/src/templates/workspace-core/.agents/skills/context-xray/SKILL.md +0 -72
  900. package/src/templates/workspace-core/.agents/skills/create-skill/SKILL.md +0 -195
  901. package/src/templates/workspace-core/.agents/skills/data-programs/SKILL.md +0 -128
  902. package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +0 -219
  903. package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +0 -533
  904. package/src/templates/workspace-core/.agents/skills/extensions/references/api.md +0 -340
  905. package/src/templates/workspace-core/.agents/skills/extensions/references/examples.md +0 -259
  906. package/src/templates/workspace-core/.agents/skills/external-agents/SKILL.md +0 -547
  907. package/src/templates/workspace-core/.agents/skills/external-agents/references/mcp-apps-embedding.md +0 -157
  908. package/src/templates/workspace-core/.agents/skills/feature-flags/SKILL.md +0 -169
  909. package/src/templates/workspace-core/.agents/skills/generative-ui/SKILL.md +0 -117
  910. package/src/templates/workspace-core/.agents/skills/harness-agents/SKILL.md +0 -170
  911. package/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +0 -364
  912. package/src/templates/workspace-core/.agents/skills/internationalization/SKILL.md +0 -82
  913. package/src/templates/workspace-core/.agents/skills/mvp-followup/SKILL.md +0 -52
  914. package/src/templates/workspace-core/.agents/skills/native-navigation/SKILL.md +0 -67
  915. package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +0 -329
  916. package/src/templates/workspace-core/.agents/skills/onboarding/SKILL.md +0 -56
  917. package/src/templates/workspace-core/.agents/skills/performance/SKILL.md +0 -299
  918. package/src/templates/workspace-core/.agents/skills/qa/SKILL.md +0 -333
  919. package/src/templates/workspace-core/.agents/skills/real-time-collab/SKILL.md +0 -392
  920. package/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +0 -74
  921. package/src/templates/workspace-core/.agents/skills/reliable-mutations/SKILL.md +0 -70
  922. package/src/templates/workspace-core/.agents/skills/server-plugins/SKILL.md +0 -84
  923. package/src/templates/workspace-core/.agents/skills/tracking/SKILL.md +0 -278
  924. package/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +0 -127
  925. package/src/templates/workspace-core/.agents/skills/visual-answer/SKILL.md +0 -101
  926. package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +0 -222
  927. package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +0 -363
@@ -1,364 +0,0 @@
1
- ---
2
- name: integration-webhooks
3
- description: >-
4
- Cross-platform pattern for handling messaging integration webhooks (Slack,
5
- Telegram, WhatsApp, email, etc.) on serverless hosts. Use when adding a new
6
- integration adapter, debugging dropped messages, or wiring long-running agent
7
- work into a webhook handler.
8
- scope: dev
9
- metadata:
10
- internal: true
11
- ---
12
-
13
- # Integration Webhooks
14
-
15
- ## Rule
16
-
17
- Integration webhooks (Slack, Telegram, WhatsApp, email, Google Docs, etc.) must
18
- **enqueue work to SQL and return 200 immediately**, then process the work in a
19
- **separate fresh function execution** kicked off by a self-fired HTTP POST. SQL
20
- is always the source of truth. Long-lived hosts use an in-process retry loop as
21
- a best-effort safety net; serverless deployments must use an external durable
22
- sweep when recovery cannot depend on a process staying alive.
23
-
24
- Do not run agent loops inside the webhook handler itself. Do not rely on
25
- fire-and-forget `Promise`s after `return`ing from a serverless handler — they get
26
- killed when the function freezes.
27
-
28
- ## Why
29
-
30
- Messaging platforms expect a 200 response within a tight window — Slack will
31
- retry after 3 seconds, and a retried event triggers duplicate agent runs. At the
32
- same time, an agent loop replying to the message can take 30–60+ seconds because
33
- it may make multiple LLM calls and tool calls.
34
-
35
- Past attempts that don't work cross-host:
36
-
37
- - **Fire-and-forget `Promise.then(...)` after returning** — Lambda/Vercel/CF
38
- freeze the execution context the moment the response goes out. The promise
39
- is silently killed, the user gets no reply, and there's no error in the
40
- logs.
41
- - **A platform background function as the queue** — host-specific execution is
42
- useful as a delivery mechanism, but it cannot replace the SQL row or atomic
43
- claim shared by every host.
44
- - **Cloudflare `event.waitUntil()`** — CF Workers only, not portable.
45
- - **Vercel Fluid / `after()`** — Vercel-only, gated behind specific runtimes.
46
- - **A long-lived in-process queue** — fine on a single Node box, but on
47
- serverless every cold start gets a fresh queue and any pending work is
48
- lost.
49
-
50
- The only universal answer: **persist the work, then trigger a brand new
51
- function execution to do it.** SQL is the queue, a self-webhook is the trigger,
52
- and a recurring job is the safety net.
53
-
54
- ## The Flow
55
-
56
- ```
57
- ┌──────────┐ 1. POST /integrations/:platform/webhook
58
- │ Platform │────────────────────────────────────────────►┌──────────────────┐
59
- └──────────┘ │ Webhook handler │
60
- │ (function exec 1)│
61
- └──────────────────┘
62
- │
63
- 2. INSERT INTO integration_pending_tasks
64
- (status='pending', payload=...)
65
- │
66
- 3. dispatch POST /integrations/process-task
67
- — portable self-fire by default
68
- — acknowledged background handoff when enabled
69
- │
70
- 4. return 200 to platform ◄───────────┘
71
-
72
- ┌──────────────────┐
73
- 5. POST arrives at processor │ Processor │
74
- (separate fresh function) │ (function exec 2)│
75
- └──────────────────┘
76
- │
77
- 6. claimPendingTask(id) → status='processing'
78
- 7. runAgentLoop(...) — full timeout budget here
79
- 8. adapter.sendResponse(...) back to platform
80
- 9. markTaskCompleted(id)
81
-
82
-
83
- ┌──────────────────────────────────────────────┐
84
- │ Recovery sweep (every 60s) — safety net │
85
- │ Re-fires processor for tasks stuck in │
86
- │ 'pending' or 'processing' beyond timeout. │
87
- │ Caps retries at 3 then marks 'failed'. │
88
- └──────────────────────────────────────────────┘
89
- ```
90
-
91
- The webhook handler does as little as possible. The fresh function execution
92
- that handles `_process-task` gets its own full timeout budget for the agent
93
- loop.
94
-
95
- ## Key Files
96
-
97
- | File | Purpose |
98
- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------- |
99
- | `packages/core/src/integrations/plugin.ts` | Mounts `/_agent-native/integrations/*` routes |
100
- | `packages/core/src/integrations/webhook-handler.ts` | Verifies signature, parses, enqueues task, fires processor |
101
- | `packages/core/src/integrations/pending-tasks-store.ts` | SQL queue: `insertPendingTask`, `claimPendingTask`, `markTaskCompleted`, `markTaskFailed` |
102
- | `packages/core/src/integrations/pending-tasks-retry-job.ts` | Recurring retry sweep (`startPendingTasksRetryJob`, `retryStuckPendingTasks`) |
103
- | `packages/core/src/integrations/integration-durable-dispatch.ts` | Default-off acknowledged dispatch, scoped rollout, and outcome recording |
104
- | `packages/core/src/integrations/types.ts` | `PlatformAdapter`, `IncomingMessage`, `OutgoingMessage` |
105
- | `packages/core/src/integrations/adapters/{slack,telegram,whatsapp,email,google-docs}.ts` | One adapter per platform |
106
-
107
- ## Routes
108
-
109
- All under `/_agent-native/integrations/`:
110
-
111
- | Method | Path | Purpose |
112
- | ------ | -------------------------- | ------------------------------------------------------------- |
113
- | POST | `/:platform/webhook` | Platform pings this. Verifies, enqueues, returns 200 quickly. |
114
- | POST | `/process-task` | Processor target. Claims a task and runs the agent loop. |
115
- | POST | `/retry-stuck-tasks` | Signed, bounded recovery sweep for durable schedulers. |
116
- | GET | `/status` | All integrations status (settings UI). |
117
- | GET | `/:platform/status` | One platform's status. |
118
- | POST | `/:platform/enable` | Enable an integration. |
119
- | POST | `/:platform/disable` | Disable an integration. |
120
- | POST | `/:platform/setup` | Platform-specific setup (e.g. Telegram webhook registration). |
121
-
122
- ## SQL Schema
123
-
124
- The pending-task queue lives in `integration_pending_tasks`:
125
-
126
- ```sql
127
- CREATE TABLE IF NOT EXISTS integration_pending_tasks (
128
- id TEXT PRIMARY KEY,
129
- platform TEXT NOT NULL,
130
- external_thread_id TEXT NOT NULL,
131
- payload TEXT NOT NULL, -- JSON-serialized IncomingMessage
132
- owner_email TEXT NOT NULL,
133
- org_id TEXT,
134
- status TEXT NOT NULL, -- pending | processing | completed | failed
135
- attempts INTEGER NOT NULL DEFAULT 0,
136
- dispatch_attempts INTEGER NOT NULL DEFAULT 0,
137
- last_dispatch_at INTEGER,
138
- last_dispatch_outcome TEXT,
139
- dispatch_scope TEXT, -- persisted channel scope for recovery
140
- error_message TEXT,
141
- created_at INTEGER NOT NULL,
142
- updated_at INTEGER NOT NULL,
143
- completed_at INTEGER
144
- );
145
- CREATE INDEX IF NOT EXISTS idx_pending_tasks_status_created
146
- ON integration_pending_tasks(status, created_at);
147
- CREATE INDEX IF NOT EXISTS idx_pending_tasks_dispatch_scope
148
- ON integration_pending_tasks(platform, dispatch_scope);
149
- ```
150
-
151
- The store layer creates this lazily on first use via `ensureTable()` and uses
152
- `intType()` from `db/client.ts` so it works on both SQLite and Postgres.
153
-
154
- `claimPendingTask` is the critical concurrency primitive: it atomically flips
155
- `pending` → `processing` and increments `attempts`, returning `null` if another
156
- worker beat us to it. Both the initial dispatch and every recovery sweep
157
- funnel through the same processor endpoint, and `claimPendingTask` is what
158
- prevents the same task from being processed twice.
159
-
160
- ### Netlify durable recovery
161
-
162
- The portable self-dispatch remains the default. To emit and use Netlify's
163
- acknowledged background worker plus a one-minute scheduled recovery function,
164
- set `AGENT_INTEGRATION_DURABLE_DISPATCH=true` at build and runtime. A production
165
- rollout can be narrowed with the comma-separated
166
- `AGENT_INTEGRATION_DURABLE_DISPATCH_SCOPES` allowlist. Supported values are
167
- `<platform>:*`, `<platform>:<external-thread-id>`, and, for adapters that expose
168
- one, `<platform>:<channel-id>` (for example `slack:C123`).
169
- Channel-scoped handoffs persist that scope separately from the provider thread
170
- identity so a later bounded recovery sweep applies the same allowlist decision.
171
-
172
- Workspace deploys emit this pair only for the Dispatch control-plane app, which
173
- owns workspace messaging integrations. Standalone templates emit their own
174
- pair when the same flag is enabled.
175
-
176
- The background handoff waits only for Netlify's enqueue acknowledgement, not
177
- for the agent loop. A failed or non-2xx acknowledgement falls back to the
178
- portable processor. The scheduled function calls the HMAC-authenticated,
179
- bounded `/retry-stuck-tasks` route; its atomic compare-and-set update prevents
180
- overlapping sweeps from dispatching the same stale row twice.
181
- Rows acknowledged by the 15-minute background worker use a 16-minute stale
182
- cutoff, while portable synchronous dispatches retain the shorter serverless
183
- cutoff. Apply that lease predicate before `LIMIT` so healthy long runs cannot
184
- hide recoverable work. The background processor writes its lease marker in the
185
- same atomic update that claims the row; best-effort dispatch telemetry is not
186
- trusted for replay safety.
187
-
188
- ## Adding a New Platform Adapter
189
-
190
- 1. **Implement `PlatformAdapter`** in `packages/core/src/integrations/adapters/<platform>.ts`:
191
-
192
- ```ts
193
- export function myPlatformAdapter(): PlatformAdapter {
194
- return {
195
- platform: "myplatform",
196
- label: "MyPlatform",
197
- getRequiredEnvKeys: () => [
198
- { name: "MYPLATFORM_TOKEN", label: "MyPlatform Bot Token", scope: "global" },
199
- { name: "MYPLATFORM_SIGNING_SECRET", label: "MyPlatform Signing Secret", scope: "global" },
200
- ],
201
- async handleVerification(event) {
202
- // Platform-specific challenge response, if any
203
- return { handled: false };
204
- },
205
- async verifyWebhook(event) {
206
- // Verify HMAC/signature with a server-side secret and constant-time comparison.
207
- // Never leave this as a permissive stub in production.
208
- return verifyMyPlatformSignature(event);
209
- },
210
- async parseIncomingMessage(event) {
211
- // Map raw payload → IncomingMessage, or null to ignore
212
- return null;
213
- },
214
- async sendResponse(message, context) {
215
- // POST back to the platform's API
216
- },
217
- formatAgentResponse(text) {
218
- return { text, platformContext: {} };
219
- },
220
- async getStatus(baseUrl) {
221
- return { platform: "myplatform", label: "MyPlatform", enabled: false, configured: false };
222
- },
223
- };
224
- }
225
- ```
226
-
227
- 2. **Register it** in `getDefaultAdapters()` inside `plugin.ts`. The webhook,
228
- queue, processor, and retry job are shared infrastructure — you do not
229
- write any of that per-adapter.
230
-
231
- 3. **Declare required env keys** so the secrets/onboarding UI surfaces them.
232
- See `secrets` and `onboarding` skills.
233
-
234
- 4. **Update the platform's webhook URL** to point at
235
- `${baseUrl}/_agent-native/integrations/<platform>/webhook`. For platforms
236
- with a registration API (Telegram), implement `POST /:platform/setup`.
237
-
238
- Never hardcode bot tokens, signing secrets, verification tokens, webhook URLs,
239
- channel/customer identifiers, or copied platform payloads with real private data
240
- inside the adapter, tests, docs, prompts, or fixtures. `getRequiredEnvKeys()`
241
- declares credential names only. Values come from deployment configuration,
242
- registered secrets, OAuth, or scoped credential stores, and tests should use
243
- obvious fake placeholders.
244
-
245
- The adapter is **only** responsible for:
246
-
247
- - platform-specific verification (signatures, challenges)
248
- - payload → `IncomingMessage` mapping
249
- - agent text → platform format
250
- - delivering the response back to the platform
251
-
252
- It does **not** know about the queue, the processor, retries, or the agent
253
- loop. Those are handled by the shared webhook handler.
254
-
255
- ### Slack non-message events
256
-
257
- Slack's Events API also sends events that are not agent messages, such as
258
- `link_shared` for app unfurls. Do not map those into `IncomingMessage` unless
259
- they should actually run the agent. Handle them as short, provider-specific
260
- webhook work: verify the Slack signature, return `200 OK` quickly, and call the
261
- provider API needed for the event (`chat.unfurl` for link previews). If a single
262
- Slack app must handle both agent chat and app unfurls, put a dispatcher in front
263
- of the one Slack Events Request URL and route message events to the integration
264
- webhook flow while routing `link_shared` to the app-specific unfurl handler.
265
-
266
- ## Long-Running Agent Work
267
-
268
- The processor endpoint runs in a fresh function execution with its own full
269
- timeout (typically 30–60s on Netlify/Vercel, longer on background-friendly
270
- hosts). That budget is dedicated entirely to the agent loop — there is no
271
- platform-side timer racing it.
272
-
273
- If a single agent run might exceed the function timeout (large multi-step
274
- plans, deep delegation chains), the agent should:
275
-
276
- 1. Send an interim acknowledgement back to the platform so the user knows the
277
- request landed (`adapter.sendResponse({ text: "Working on it..." })`).
278
- 2. Persist intermediate state in chat-thread data, application state, or a
279
- recurring job so the next invocation can pick up where this one left off.
280
-
281
- The retry job will only re-fire tasks stuck in `processing` for over 5 minutes,
282
- so a normal long-running reply is safe.
283
-
284
- ## Cross-Platform Considerations
285
-
286
- - **Portable correctness, optional host acceleration.** Every host uses SQL,
287
- HMAC-authenticated processor routes, and atomic claims. A host-specific
288
- background function or scheduler may provide a more reliable wake-up, but
289
- disabling it must preserve the portable path.
290
- - **No assumed runtime.** The processor endpoint is a normal H3 handler under
291
- `/_agent-native/`. It runs wherever the rest of the framework runs.
292
- - **No persistent in-memory state.** The dedup map in the webhook handler is
293
- best-effort only; the SQL queue is the source of truth. Any cold start
294
- loses the dedup map but the queue stays consistent.
295
- - **Postgres + SQLite both supported.** `claimPendingTask` uses `RETURNING` on
296
- Postgres and a re-read on SQLite. No platform-specific SQL.
297
- - **Self-webhook URL resolution.** The processor URL is built from
298
- `WEBHOOK_BASE_URL`, `APP_URL`, or `URL` env vars (with `localhost:3000` as
299
- the dev fallback). Templates that change their public URL must keep one of
300
- these set.
301
-
302
- ## Why Fire-and-Forget on Serverless Is Unreliable
303
-
304
- The portable webhook path gives the outbound processor request a short head
305
- start but does not wait for the response body, so that initial dispatch is
306
- **not** guaranteed to complete before the function freezes. On a long-lived
307
- host, the in-process retry loop is a best-effort safety net. On Netlify with
308
- durable dispatch enabled, the initial handoff is acknowledged and the external
309
- scheduled function supplies the recovery wake-up for cases where:
310
-
311
- - The serverless platform froze the handler before the outbound `fetch`
312
- flushed its bytes.
313
- - The processor function 502'd or cold-started slow enough to time out.
314
- - The processor itself was killed mid-agent-loop (function timeout, container
315
- shutdown, deploy mid-run).
316
-
317
- Tasks stuck in `pending` for >90s or `processing` for >5min get re-fired up to
318
- 3 times. After 3 attempts they're marked `failed` permanently so we stop
319
- spamming the processor.
320
-
321
- **Never assume the initial dispatch succeeded.** Rely on the SQL queue, atomic
322
- claim, and a recovery mechanism whose lifetime is independent of the original
323
- request. An in-process timer alone is not that mechanism on serverless.
324
-
325
- ## Debugging Checklist
326
-
327
- 1. **Platform sent the webhook?** Check the platform's delivery logs (Slack
328
- admin, Telegram `getWebhookInfo`).
329
- 2. **Webhook handler returned 200?** If not, the platform retries — look for
330
- duplicate task rows. Signature failures return 401.
331
- 3. **Task in the queue?** `SELECT * FROM integration_pending_tasks WHERE
332
- external_thread_id = '...' ORDER BY created_at DESC LIMIT 5`.
333
- 4. **Status?** `pending` means the processor never picked it up — check that
334
- `_process-task` is reachable from the box itself (the self-fetch must work
335
- over the public URL). `processing` for over 5 minutes means the processor
336
- died mid-run — a live recovery sweep will pick it up.
337
- 5. **Failed?** Check `error_message` and `attempts`. After 3 attempts the row
338
- is parked at `failed` and won't be retried.
339
- 6. **Reply not delivered?** The processor likely succeeded but
340
- `adapter.sendResponse` failed — check the adapter's outbound logs.
341
-
342
- ## Automation connectors
343
-
344
- Workflow systems such as n8n and Zapier are not messaging channels. Do not add
345
- them as `PlatformAdapter`s or route them through `provider-api`.
346
-
347
- For n8n-style workflow invocation and callbacks, use
348
- `@agent-native/core/automation` with static workflow IDs and allow-listed
349
- origins. Agents provide structured input, never a target URL or credential.
350
- Callbacks must verify a configured secret/signature, claim a durable event ID,
351
- enqueue work through the established queue, and acknowledge quickly.
352
-
353
- Zapier is blueprint-only unless the app implements Zapier's explicit REST Hook
354
- subscribe/unsubscribe contract or configures a separate Zapier MCP connection.
355
- Do not imply a generic Zapier workflow-execution API exists.
356
-
357
- ## Related Skills
358
-
359
- - `server-plugins` — How `/_agent-native/` routes get mounted
360
- - `recurring-jobs` — Pattern the retry job follows
361
- - `actions` — When to use an action vs a webhook
362
- - `secrets` — Registering platform tokens
363
- - `onboarding` — Surfacing setup steps for each platform
364
- - `delegate-to-agent` — How the processor invokes the agent loop
@@ -1,82 +0,0 @@
1
- ---
2
- name: internationalization
3
- description: >-
4
- How to add or edit localized UI copy in agent-native apps. Use when adding,
5
- removing, or changing user-visible interface text, prompts, toasts, labels,
6
- empty states, or date/number/list formatting.
7
- scope: dev
8
- metadata:
9
- internal: true
10
- ---
11
-
12
- # Internationalization
13
-
14
- ## Rule
15
-
16
- Visible framework/template UI copy belongs in the app's i18n catalog, not
17
- inline in components. When you add or edit UI text, update the English source
18
- catalog first, update existing locale catalogs, and run the i18n guard.
19
-
20
- ## Catalogs
21
-
22
- Templates use `app/i18n/`:
23
-
24
- - `en-US.ts` is the canonical source tree and fallback.
25
- - Other locale files keep the same non-plural keys and the same placeholders.
26
- - `index.ts` exports an `AgentNativeI18nCatalog` with English bundled and
27
- non-English catalogs loaded by dynamic import.
28
-
29
- Use BCP-47 filenames from the supported set: `en-US`, `zh-CN`, `es-ES`,
30
- `fr-FR`, `de-DE`, `ja-JP`, `ko-KR`, `pt-BR`, `hi-IN`, `ar-SA`.
31
-
32
- If an app only ships translations for a subset of that set, set
33
- `supportedLocales` on the `AgentNativeI18nCatalog` to that subset. Without it,
34
- `<LanguagePicker />` lists every framework-supported locale regardless of
35
- whether `loadMessages` can actually resolve it.
36
-
37
- ## UI Pattern
38
-
39
- - Wrap apps with `AppProviders i18n={{ catalog: i18nCatalog }}`.
40
- - Read strings with `useT()` and keep keys stable.
41
- - Sidebar apps should expose a `/settings` route in the app sidebar. Put
42
- `<LanguagePicker />` in that settings page, usually in a Language or General
43
- section, and keep the header language icon only as a quick-access shortcut.
44
- - Settings pages should include an "Agent settings" row/card that calls
45
- `openAgentSettings()` from `@agent-native/core/client` to open the right
46
- agent sidebar's Settings tab. Localize the title, description, and button.
47
- - Use `useFormatters()` for dates, numbers, relative time, and lists instead
48
- of embedding formatted values in translation strings.
49
- - Do not translate stable identifiers: action names, route names, enum values,
50
- app-state keys, database values, protocol fields, env var names, or provider
51
- names.
52
-
53
- ## Plurals And Placeholders
54
-
55
- Plural strings use i18next/CLDR suffixes. Do not force every locale to copy
56
- English plural categories:
57
-
58
- - English uses `_one` and `_other`.
59
- - Chinese and Japanese usually use `_other`.
60
- - Arabic uses `_zero`, `_one`, `_two`, `_few`, `_many`, and `_other`.
61
-
62
- Keep interpolation placeholders identical across locales, such as
63
- `{{count}}`, `{{name}}`, or ICU-style `{count}` arguments.
64
-
65
- ## RTL
66
-
67
- New UI should be RTL-safe. Prefer logical CSS utilities/properties such as
68
- `ms-*`, `me-*`, `ps-*`, `pe-*`, `start-*`, `end-*`, `text-start`, and
69
- `text-end` when direction matters. Avoid hardcoded left/right positioning for
70
- new localized UI unless it is genuinely physical.
71
-
72
- ## Verification
73
-
74
- Run:
75
-
76
- ```bash
77
- pnpm guard:i18n-catalogs
78
- ```
79
-
80
- For broader changes, also run the affected template tests and `pnpm typecheck`.
81
- Machine translation is only a starting point; high-visibility strings need
82
- human review.
@@ -1,52 +0,0 @@
1
- ---
2
- name: mvp-followup
3
- description: >-
4
- Use when asking what to do next after a feature pass while avoiding bloat and
5
- checking for unfinished MVP work.
6
- scope: dev
7
- metadata:
8
- internal: true
9
- ---
10
-
11
- # MVP Follow-Up
12
-
13
- ## Rule
14
-
15
- Recommend or execute only closeout work that makes the current MVP more real,
16
- verified, documented, or shippable. Do not propose new product scope unless
17
- there is a clear blocker to the MVP working for real users.
18
-
19
- ## Workflow
20
-
21
- 1. Identify the current feature or thread outcome.
22
- 2. Check for unfinished work in this order:
23
- - failing or skipped verification
24
- - unreviewed real-data pilot results
25
- - pending review/proposals/approval queues
26
- - docs that no longer match behavior
27
- - unrelated dirty files that block full prep/ship hygiene
28
- 3. Recommend the smallest next batch that closes those gaps.
29
- 4. Explicitly skip tempting bloat: new integrations, dashboards, settings,
30
- abstractions, or extra UI unless they directly unblock real use.
31
- 5. If the user says "do it", run the closeout work in parallel where safe and
32
- keep edits minimal.
33
-
34
- ## Output Shape
35
-
36
- Lead with the concrete next step. Keep the list short. Separate:
37
-
38
- - **Do now**: validation, real pilot, docs, or bug fixes.
39
- - **Defer**: useful ideas that should wait for real user feedback.
40
- - **Blocker**: any specific user/manual action needed.
41
-
42
- ## Verification Bias
43
-
44
- Prefer non-mutating checks when the worktree has unrelated dirty files. Use full
45
- `pnpm prep` only when it will not rewrite someone else's concurrent work.
46
-
47
- ## Related Skills
48
-
49
- - `qa`
50
- - `ship`
51
- - `adding-a-feature`
52
- - `capture-learnings`
@@ -1,67 +0,0 @@
1
- ---
2
- name: native-navigation
3
- description: >-
4
- Use when adding or reviewing UI navigation so internal routes preserve
5
- normal SPA behavior plus Cmd/Ctrl-click and middle-click new-tab semantics.
6
- scope: dev
7
- ---
8
-
9
- # Native Navigation
10
-
11
- ## Rule
12
-
13
- Pure navigation must render a real React Router `<Link>` for same-SPA routes,
14
- a native `<a href>` for external/public or explicit new-tab destinations, or a
15
- shadcn `Button asChild` wrapper around one. Do not use a button whose only job
16
- is to call `navigate()`, `window.open()`, or `window.location`.
17
-
18
- ## Why
19
-
20
- Browser modifier-click, middle-click, keyboard activation, accessibility, and
21
- normal client-side routing come from real links. Imperative JavaScript
22
- navigation hides the destination and blocks those browser semantics.
23
-
24
- ## How
25
-
26
- ```tsx
27
- import { Link } from "react-router";
28
-
29
- <Link to={`/items/${item.id}`}>...</Link>
30
-
31
- <Button asChild>
32
- <Link to="/settings">Settings</Link>
33
- </Button>
34
-
35
- <a href={previewUrl} target="_blank" rel="noopener noreferrer">
36
- Preview
37
- </a>
38
- ```
39
-
40
- - Use `Link` for same-SPA internal routes.
41
- - Use `<a>` when the URL is external, crosses an app/public boundary, is an
42
- auth or sign-in destination, or intentionally opens in a new tab.
43
- - Preserve query strings and hashes in `to` or `href`.
44
- - For cards with nested actions, link only the non-interactive card region or
45
- use a transparent Link overlay; never nest links or buttons.
46
- - If selection mode changes click behavior, prevent default only for an
47
- unmodified primary click and preserve modified clicks.
48
-
49
- Keep imperative navigation for post-mutation redirects, OAuth and popup flows,
50
- downloads, media/blob URLs, playback, keyboard shortcuts, and stateful tabs.
51
-
52
- ## Review
53
-
54
- Search for `onClick={() => navigate`, `window.open`, `window.location`,
55
- `onAuxClick`, and buttons whose only purpose is routing. For each candidate,
56
- confirm whether it is pure navigation or a stateful workflow before changing
57
- it.
58
-
59
- Verify the rendered DOM exposes an `href`, then test normal click, Cmd/Ctrl-click,
60
- middle-click, keyboard Enter, and nested controls where applicable. Run oxfmt
61
- and focused app tests or typechecks for the touched package.
62
-
63
- ## Related Skills
64
-
65
- - `client-side-routing`
66
- - `frontend-design`
67
- - `shadcn-ui`