@agent-native/core 0.101.13 → 0.102.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/core/CHANGELOG.md +13 -0
  3. package/corpus/core/package.json +4 -2
  4. package/corpus/core/src/cli/create.ts +32 -10
  5. package/corpus/core/src/cli/templates-meta.ts +13 -0
  6. package/corpus/core/src/client/AgentPanel.tsx +61 -48
  7. package/corpus/core/src/client/chat/message-components.tsx +1 -0
  8. package/corpus/core/src/client/chat/tool-call-display.tsx +12 -2
  9. package/corpus/core/src/client/org/OrgSwitcher.tsx +2 -0
  10. package/corpus/templates/clips/app/components/player/share-dialog.tsx +1 -1
  11. package/corpus/templates/clips/app/i18n/ar-SA.ts +1 -0
  12. package/corpus/templates/clips/app/i18n/de-DE.ts +1 -0
  13. package/corpus/templates/clips/app/i18n/en-US.ts +1 -0
  14. package/corpus/templates/clips/app/i18n/es-ES.ts +1 -0
  15. package/corpus/templates/clips/app/i18n/fr-FR.ts +1 -0
  16. package/corpus/templates/clips/app/i18n/hi-IN.ts +1 -0
  17. package/corpus/templates/clips/app/i18n/ja-JP.ts +1 -0
  18. package/corpus/templates/clips/app/i18n/ko-KR.ts +1 -0
  19. package/corpus/templates/clips/app/i18n/pt-BR.ts +1 -0
  20. package/corpus/templates/clips/app/i18n/zh-CN.ts +1 -0
  21. package/corpus/templates/clips/app/i18n/zh-TW.ts +1 -0
  22. package/corpus/templates/clips/changelog/2026-07-15-public-clip-links-are-labeled-share-with-humans-for-clarity.md +6 -0
  23. package/corpus/templates/content/actions/_database-source-utils.ts +59 -4
  24. package/corpus/templates/content/actions/prepare-builder-source-review.ts +9 -0
  25. package/corpus/templates/content/actions/preview-builder-source-review.ts +6 -4
  26. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +4 -0
  27. package/corpus/templates/content/changelog/2026-07-15-selected-builder-reviews-now-load-only-the-chosen-rows-avoid.md +6 -0
  28. package/corpus/templates/content/shared/api.ts +1 -0
  29. package/corpus/templates/forms/actions/delete-form.ts +4 -0
  30. package/corpus/templates/forms/actions/patch-form-fields.ts +3 -0
  31. package/corpus/templates/forms/actions/restore-form.ts +3 -0
  32. package/corpus/templates/forms/actions/update-form.ts +3 -0
  33. package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +2 -2
  34. package/corpus/templates/forms/app/pages/ResponsesPage.tsx +2 -2
  35. package/corpus/templates/forms/changelog/2026-07-15-published-forms-now-reflect-field-updates-immediately-at-the.md +6 -0
  36. package/corpus/templates/forms/changelog/2026-07-15-response-rows-now-keep-every-column-aligned-to-the-top-for-c.md +6 -0
  37. package/corpus/templates/forms/server/handlers/forms.ts +1 -0
  38. package/corpus/templates/forms/server/lib/public-form-ssr.ts +47 -4
  39. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +189 -82
  40. package/corpus/templates/slides/app/pages/DeckEditor.tsx +1 -1
  41. package/corpus/templates/tasks/.agents/commands/visual-plan.md +9 -0
  42. package/corpus/templates/tasks/.agents/commands/visual-recap.md +8 -0
  43. package/corpus/templates/tasks/.agents/skills/actions/SKILL.md +492 -0
  44. package/corpus/templates/tasks/.agents/skills/adding-a-feature/SKILL.md +189 -0
  45. package/corpus/templates/tasks/.agents/skills/agent-native-docs/SKILL.md +76 -0
  46. package/corpus/templates/tasks/.agents/skills/agent-watchdog/README.md +43 -0
  47. package/corpus/templates/tasks/.agents/skills/agent-watchdog/SKILL.md +110 -0
  48. package/corpus/templates/tasks/.agents/skills/agent-watchdog/agents/openai.yaml +4 -0
  49. package/corpus/templates/tasks/.agents/skills/capture-learnings/SKILL.md +89 -0
  50. package/corpus/templates/tasks/.agents/skills/change-summary/SKILL.md +83 -0
  51. package/corpus/templates/tasks/.agents/skills/create-skill/SKILL.md +221 -0
  52. package/corpus/templates/tasks/.agents/skills/delegate-to-agent/SKILL.md +263 -0
  53. package/corpus/templates/tasks/.agents/skills/efficient-fable/README.md +75 -0
  54. package/corpus/templates/tasks/.agents/skills/efficient-fable/SKILL.md +95 -0
  55. package/corpus/templates/tasks/.agents/skills/efficient-frontier/README.md +53 -0
  56. package/corpus/templates/tasks/.agents/skills/efficient-frontier/SKILL.md +73 -0
  57. package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +112 -0
  58. package/corpus/templates/tasks/.agents/skills/plan-arbiter/README.md +41 -0
  59. package/corpus/templates/tasks/.agents/skills/plan-arbiter/SKILL.md +114 -0
  60. package/corpus/templates/tasks/.agents/skills/plan-arbiter/agents/openai.yaml +4 -0
  61. package/corpus/templates/tasks/.agents/skills/plow-ahead/README.md +42 -0
  62. package/corpus/templates/tasks/.agents/skills/plow-ahead/SKILL.md +104 -0
  63. package/corpus/templates/tasks/.agents/skills/plow-ahead/agents/openai.yaml +4 -0
  64. package/corpus/templates/tasks/.agents/skills/quick-recap/README.md +55 -0
  65. package/corpus/templates/tasks/.agents/skills/quick-recap/SKILL.md +54 -0
  66. package/corpus/templates/tasks/.agents/skills/read-the-damn-docs/README.md +54 -0
  67. package/corpus/templates/tasks/.agents/skills/read-the-damn-docs/SKILL.md +126 -0
  68. package/corpus/templates/tasks/.agents/skills/read-the-damn-docs/agents/openai.yaml +4 -0
  69. package/corpus/templates/tasks/.agents/skills/real-time-sync/SKILL.md +232 -0
  70. package/corpus/templates/tasks/.agents/skills/security/SKILL.md +280 -0
  71. package/corpus/templates/tasks/.agents/skills/self-modifying-code/SKILL.md +106 -0
  72. package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +95 -0
  73. package/corpus/templates/tasks/.agents/skills/stay-within-limits/README.md +61 -0
  74. package/corpus/templates/tasks/.agents/skills/stay-within-limits/SKILL.md +83 -0
  75. package/corpus/templates/tasks/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  76. package/corpus/templates/tasks/.agents/skills/visual-plan/SKILL.md +547 -0
  77. package/corpus/templates/tasks/.agents/skills/visual-plan/agent-native-skill.json +12 -0
  78. package/corpus/templates/tasks/.agents/skills/visual-plan/references/canvas.md +121 -0
  79. package/corpus/templates/tasks/.agents/skills/visual-plan/references/document-quality.md +178 -0
  80. package/corpus/templates/tasks/.agents/skills/visual-plan/references/exemplar.md +62 -0
  81. package/corpus/templates/tasks/.agents/skills/visual-plan/references/wireframe.md +264 -0
  82. package/corpus/templates/tasks/.agents/skills/visual-recap/SKILL.md +634 -0
  83. package/corpus/templates/tasks/.agents/skills/visual-recap/agent-native-skill.json +12 -0
  84. package/corpus/templates/tasks/.agents/skills/visual-recap/references/wireframe.md +264 -0
  85. package/corpus/templates/tasks/.claude/commands/visual-plan.md +9 -0
  86. package/corpus/templates/tasks/.claude/commands/visual-recap.md +8 -0
  87. package/corpus/templates/tasks/.env.example +5 -0
  88. package/corpus/templates/tasks/.ignore +0 -0
  89. package/corpus/templates/tasks/.prettierrc +5 -0
  90. package/corpus/templates/tasks/AGENTS.md +158 -0
  91. package/corpus/templates/tasks/DEVELOPING.md +185 -0
  92. package/corpus/templates/tasks/README.md +16 -0
  93. package/corpus/templates/tasks/actions/bulk-delete-inbox-items.ts +24 -0
  94. package/corpus/templates/tasks/actions/bulk-delete-tasks.ts +21 -0
  95. package/corpus/templates/tasks/actions/bulk-mark-inbox-items-ready.ts +27 -0
  96. package/corpus/templates/tasks/actions/bulk-update-tasks.ts +35 -0
  97. package/corpus/templates/tasks/actions/create-custom-field.ts +22 -0
  98. package/corpus/templates/tasks/actions/create-inbox-item.ts +30 -0
  99. package/corpus/templates/tasks/actions/create-task.ts +33 -0
  100. package/corpus/templates/tasks/actions/delete-custom-field.ts +19 -0
  101. package/corpus/templates/tasks/actions/delete-inbox-item.ts +17 -0
  102. package/corpus/templates/tasks/actions/delete-task.ts +17 -0
  103. package/corpus/templates/tasks/actions/lib/boolean-query-param.ts +30 -0
  104. package/corpus/templates/tasks/actions/list-custom-fields.ts +18 -0
  105. package/corpus/templates/tasks/actions/list-inbox-items.ts +16 -0
  106. package/corpus/templates/tasks/actions/list-tasks.ts +52 -0
  107. package/corpus/templates/tasks/actions/list-visible-task-fields.ts +18 -0
  108. package/corpus/templates/tasks/actions/mark-inbox-item-ready.ts +31 -0
  109. package/corpus/templates/tasks/actions/navigate.ts +51 -0
  110. package/corpus/templates/tasks/actions/reorder-custom-fields.ts +27 -0
  111. package/corpus/templates/tasks/actions/reorder-inbox-items.ts +24 -0
  112. package/corpus/templates/tasks/actions/reorder-tasks.ts +29 -0
  113. package/corpus/templates/tasks/actions/run.ts +2 -0
  114. package/corpus/templates/tasks/actions/update-custom-field.ts +33 -0
  115. package/corpus/templates/tasks/actions/update-inbox-item.ts +24 -0
  116. package/corpus/templates/tasks/actions/update-task.ts +68 -0
  117. package/corpus/templates/tasks/actions/update-visible-task-fields.ts +27 -0
  118. package/corpus/templates/tasks/actions/view-screen-helpers.ts +68 -0
  119. package/corpus/templates/tasks/actions/view-screen.ts +207 -0
  120. package/corpus/templates/tasks/app/components/custom-fields/FieldCreateBar.tsx +121 -0
  121. package/corpus/templates/tasks/app/components/custom-fields/FieldListRow.tsx +116 -0
  122. package/corpus/templates/tasks/app/components/custom-fields/FieldsList.tsx +225 -0
  123. package/corpus/templates/tasks/app/components/custom-fields/FieldsListSkeleton.tsx +18 -0
  124. package/corpus/templates/tasks/app/components/custom-fields/FieldsPage.tsx +42 -0
  125. package/corpus/templates/tasks/app/components/custom-fields/editor/FieldEditorSidebar.tsx +69 -0
  126. package/corpus/templates/tasks/app/components/custom-fields/editor/FieldTitleSection.tsx +32 -0
  127. package/corpus/templates/tasks/app/components/custom-fields/editor/config/CurrencyConfigControl.tsx +49 -0
  128. package/corpus/templates/tasks/app/components/custom-fields/editor/config/FieldConfigControl.tsx +56 -0
  129. package/corpus/templates/tasks/app/components/custom-fields/editor/config/NumberConfigControl.tsx +52 -0
  130. package/corpus/templates/tasks/app/components/custom-fields/editor/config/PercentConfigControl.tsx +30 -0
  131. package/corpus/templates/tasks/app/components/custom-fields/editor/config/SelectConfigControl.tsx +135 -0
  132. package/corpus/templates/tasks/app/components/custom-fields/editor/config/select-colors.ts +23 -0
  133. package/corpus/templates/tasks/app/components/custom-fields/editor/config/utils.ts +52 -0
  134. package/corpus/templates/tasks/app/components/custom-fields/editor/types.ts +7 -0
  135. package/corpus/templates/tasks/app/components/dnd/SortableItem.tsx +72 -0
  136. package/corpus/templates/tasks/app/components/dnd/SortableList.tsx +136 -0
  137. package/corpus/templates/tasks/app/components/dnd/reorder-moving-items.ts +160 -0
  138. package/corpus/templates/tasks/app/components/dnd/sortable-drag-props.ts +60 -0
  139. package/corpus/templates/tasks/app/components/inbox/InboxList.tsx +222 -0
  140. package/corpus/templates/tasks/app/components/inbox/InboxListPage.tsx +39 -0
  141. package/corpus/templates/tasks/app/components/inbox/InboxListRow.tsx +122 -0
  142. package/corpus/templates/tasks/app/components/layout/Header.tsx +55 -0
  143. package/corpus/templates/tasks/app/components/layout/HeaderActions.tsx +84 -0
  144. package/corpus/templates/tasks/app/components/layout/Layout.tsx +134 -0
  145. package/corpus/templates/tasks/app/components/layout/Sidebar.tsx +211 -0
  146. package/corpus/templates/tasks/app/components/shared/AddListItemInput.tsx +57 -0
  147. package/corpus/templates/tasks/app/components/shared/AlertDialog.tsx +53 -0
  148. package/corpus/templates/tasks/app/components/shared/BulkDeleteDialog.tsx +76 -0
  149. package/corpus/templates/tasks/app/components/shared/ChipSelect.tsx +240 -0
  150. package/corpus/templates/tasks/app/components/shared/DeleteItemDialog.tsx +40 -0
  151. package/corpus/templates/tasks/app/components/shared/InlineEditable.tsx +166 -0
  152. package/corpus/templates/tasks/app/components/shared/ListEmptyState.tsx +13 -0
  153. package/corpus/templates/tasks/app/components/shared/ListErrorMessage.tsx +15 -0
  154. package/corpus/templates/tasks/app/components/shared/ListViewHeader.tsx +75 -0
  155. package/corpus/templates/tasks/app/components/shared/PageHeader.tsx +25 -0
  156. package/corpus/templates/tasks/app/components/shared/RowActionsMenu.tsx +42 -0
  157. package/corpus/templates/tasks/app/components/shared/SidePanel.tsx +99 -0
  158. package/corpus/templates/tasks/app/components/shared/dnd/ListRowPreview.tsx +37 -0
  159. package/corpus/templates/tasks/app/components/shared/list/List.tsx +63 -0
  160. package/corpus/templates/tasks/app/components/shared/list/ListRow.tsx +159 -0
  161. package/corpus/templates/tasks/app/components/shared/list/ListRowDragHandle.tsx +52 -0
  162. package/corpus/templates/tasks/app/components/shared/list/ListSkeletonRows.tsx +11 -0
  163. package/corpus/templates/tasks/app/components/shared/list/SortableListItemShell.tsx +32 -0
  164. package/corpus/templates/tasks/app/components/shared/list/types.ts +1 -0
  165. package/corpus/templates/tasks/app/components/shared/selection/ListSelectionBar.tsx +158 -0
  166. package/corpus/templates/tasks/app/components/shared/selection/ListSelectionHeaderToggle.tsx +28 -0
  167. package/corpus/templates/tasks/app/components/shared/selection/ListSelectionToolbar.tsx +81 -0
  168. package/corpus/templates/tasks/app/components/shared/selection/get-list-row-selection-ui.ts +41 -0
  169. package/corpus/templates/tasks/app/components/shared/selection/use-list-selection.ts +196 -0
  170. package/corpus/templates/tasks/app/components/tasks/TaskList.tsx +333 -0
  171. package/corpus/templates/tasks/app/components/tasks/TaskListHeaderRow.tsx +46 -0
  172. package/corpus/templates/tasks/app/components/tasks/TaskListPage.tsx +115 -0
  173. package/corpus/templates/tasks/app/components/tasks/TaskListRow.css +49 -0
  174. package/corpus/templates/tasks/app/components/tasks/TaskListRow.tsx +307 -0
  175. package/corpus/templates/tasks/app/components/tasks/fields/TaskFieldsSidebar.tsx +102 -0
  176. package/corpus/templates/tasks/app/components/tasks/fields/TaskTitleSection.tsx +27 -0
  177. package/corpus/templates/tasks/app/components/tasks/fields/controls/DateValueControl.tsx +21 -0
  178. package/corpus/templates/tasks/app/components/tasks/fields/controls/FieldValueControl.tsx +76 -0
  179. package/corpus/templates/tasks/app/components/tasks/fields/controls/MultiSelectValueControl.tsx +52 -0
  180. package/corpus/templates/tasks/app/components/tasks/fields/controls/NumberValueControl.tsx +56 -0
  181. package/corpus/templates/tasks/app/components/tasks/fields/controls/RichTextValueControl.tsx +115 -0
  182. package/corpus/templates/tasks/app/components/tasks/fields/controls/SingleSelectValueControl.tsx +61 -0
  183. package/corpus/templates/tasks/app/components/tasks/fields/controls/TextValueControl.tsx +20 -0
  184. package/corpus/templates/tasks/app/components/tasks/use-task-row-completion-animation.ts +181 -0
  185. package/corpus/templates/tasks/app/components/ui/accordion.tsx +56 -0
  186. package/corpus/templates/tasks/app/components/ui/alert-dialog.tsx +1 -0
  187. package/corpus/templates/tasks/app/components/ui/alert.tsx +1 -0
  188. package/corpus/templates/tasks/app/components/ui/aspect-ratio.tsx +5 -0
  189. package/corpus/templates/tasks/app/components/ui/avatar.tsx +1 -0
  190. package/corpus/templates/tasks/app/components/ui/badge.tsx +1 -0
  191. package/corpus/templates/tasks/app/components/ui/breadcrumb.tsx +115 -0
  192. package/corpus/templates/tasks/app/components/ui/button.tsx +1 -0
  193. package/corpus/templates/tasks/app/components/ui/calendar.tsx +70 -0
  194. package/corpus/templates/tasks/app/components/ui/card.tsx +1 -0
  195. package/corpus/templates/tasks/app/components/ui/carousel.tsx +260 -0
  196. package/corpus/templates/tasks/app/components/ui/chart.tsx +379 -0
  197. package/corpus/templates/tasks/app/components/ui/checkbox.tsx +1 -0
  198. package/corpus/templates/tasks/app/components/ui/collapsible.tsx +1 -0
  199. package/corpus/templates/tasks/app/components/ui/command.tsx +1 -0
  200. package/corpus/templates/tasks/app/components/ui/context-menu.tsx +1 -0
  201. package/corpus/templates/tasks/app/components/ui/dialog.tsx +1 -0
  202. package/corpus/templates/tasks/app/components/ui/drawer.tsx +1 -0
  203. package/corpus/templates/tasks/app/components/ui/dropdown-menu.tsx +1 -0
  204. package/corpus/templates/tasks/app/components/ui/form.tsx +177 -0
  205. package/corpus/templates/tasks/app/components/ui/hover-card.tsx +27 -0
  206. package/corpus/templates/tasks/app/components/ui/input-otp.tsx +69 -0
  207. package/corpus/templates/tasks/app/components/ui/input.tsx +1 -0
  208. package/corpus/templates/tasks/app/components/ui/label.tsx +1 -0
  209. package/corpus/templates/tasks/app/components/ui/menubar.tsx +254 -0
  210. package/corpus/templates/tasks/app/components/ui/navigation-menu.tsx +128 -0
  211. package/corpus/templates/tasks/app/components/ui/pagination.tsx +121 -0
  212. package/corpus/templates/tasks/app/components/ui/popover.tsx +1 -0
  213. package/corpus/templates/tasks/app/components/ui/progress.tsx +1 -0
  214. package/corpus/templates/tasks/app/components/ui/radio-group.tsx +1 -0
  215. package/corpus/templates/tasks/app/components/ui/resizable.tsx +43 -0
  216. package/corpus/templates/tasks/app/components/ui/scroll-area.tsx +1 -0
  217. package/corpus/templates/tasks/app/components/ui/select.tsx +1 -0
  218. package/corpus/templates/tasks/app/components/ui/separator.tsx +1 -0
  219. package/corpus/templates/tasks/app/components/ui/sheet.tsx +1 -0
  220. package/corpus/templates/tasks/app/components/ui/sidebar.tsx +782 -0
  221. package/corpus/templates/tasks/app/components/ui/skeleton.tsx +1 -0
  222. package/corpus/templates/tasks/app/components/ui/slider.tsx +1 -0
  223. package/corpus/templates/tasks/app/components/ui/sonner.tsx +1 -0
  224. package/corpus/templates/tasks/app/components/ui/spinner.tsx +1 -0
  225. package/corpus/templates/tasks/app/components/ui/switch.tsx +1 -0
  226. package/corpus/templates/tasks/app/components/ui/table.tsx +1 -0
  227. package/corpus/templates/tasks/app/components/ui/tabs.tsx +1 -0
  228. package/corpus/templates/tasks/app/components/ui/textarea.tsx +1 -0
  229. package/corpus/templates/tasks/app/components/ui/toast.tsx +1 -0
  230. package/corpus/templates/tasks/app/components/ui/toaster.tsx +1 -0
  231. package/corpus/templates/tasks/app/components/ui/toggle-group.tsx +1 -0
  232. package/corpus/templates/tasks/app/components/ui/toggle.tsx +43 -0
  233. package/corpus/templates/tasks/app/components/ui/tooltip.tsx +1 -0
  234. package/corpus/templates/tasks/app/components/ui/use-toast.ts +3 -0
  235. package/corpus/templates/tasks/app/entry.client.tsx +19 -0
  236. package/corpus/templates/tasks/app/entry.server.tsx +10 -0
  237. package/corpus/templates/tasks/app/global.css +93 -0
  238. package/corpus/templates/tasks/app/hooks/cache.ts +31 -0
  239. package/corpus/templates/tasks/app/hooks/use-custom-fields.ts +93 -0
  240. package/corpus/templates/tasks/app/hooks/use-inbox-items.ts +196 -0
  241. package/corpus/templates/tasks/app/hooks/use-mobile.tsx +21 -0
  242. package/corpus/templates/tasks/app/hooks/use-navigation-state.ts +40 -0
  243. package/corpus/templates/tasks/app/hooks/use-tasks.ts +276 -0
  244. package/corpus/templates/tasks/app/hooks/use-toast.ts +188 -0
  245. package/corpus/templates/tasks/app/hooks/use-visible-task-fields.ts +140 -0
  246. package/corpus/templates/tasks/app/lib/app-config.ts +11 -0
  247. package/corpus/templates/tasks/app/lib/tab-id.ts +1 -0
  248. package/corpus/templates/tasks/app/lib/utils.ts +1 -0
  249. package/corpus/templates/tasks/app/root.tsx +130 -0
  250. package/corpus/templates/tasks/app/routes/_index.tsx +22 -0
  251. package/corpus/templates/tasks/app/routes/extensions.$id.$slug.tsx +2 -0
  252. package/corpus/templates/tasks/app/routes/extensions.$id.tsx +11 -0
  253. package/corpus/templates/tasks/app/routes/extensions._index.tsx +11 -0
  254. package/corpus/templates/tasks/app/routes/extensions.tsx +5 -0
  255. package/corpus/templates/tasks/app/routes/fields.tsx +16 -0
  256. package/corpus/templates/tasks/app/routes/inbox.tsx +16 -0
  257. package/corpus/templates/tasks/app/routes/tasks.tsx +17 -0
  258. package/corpus/templates/tasks/app/routes/team.tsx +17 -0
  259. package/corpus/templates/tasks/app/routes.ts +4 -0
  260. package/corpus/templates/tasks/app/vite-env.d.ts +6 -0
  261. package/corpus/templates/tasks/components.json +20 -0
  262. package/corpus/templates/tasks/data/sync-config.json +1 -0
  263. package/corpus/templates/tasks/docs/features/README.md +81 -0
  264. package/corpus/templates/tasks/docs/features/f1-tasks.mdx +67 -0
  265. package/corpus/templates/tasks/docs/features/f2-custom-fields.mdx +68 -0
  266. package/corpus/templates/tasks/docs/features/f3-projects.mdx +33 -0
  267. package/corpus/templates/tasks/docs/features/f4-inbox.mdx +55 -0
  268. package/corpus/templates/tasks/docs/features/f5-views.mdx +65 -0
  269. package/corpus/templates/tasks/docs/features/f6-search.mdx +43 -0
  270. package/corpus/templates/tasks/docs/features/f7-first-run.mdx +66 -0
  271. package/corpus/templates/tasks/docs/features/f8-chat.mdx +120 -0
  272. package/corpus/templates/tasks/e2e/global-setup.ts +42 -0
  273. package/corpus/templates/tasks/e2e/helpers/inbox.ts +71 -0
  274. package/corpus/templates/tasks/e2e/helpers/tasks.ts +99 -0
  275. package/corpus/templates/tasks/learnings.defaults.md +5 -0
  276. package/corpus/templates/tasks/netlify.toml +10 -0
  277. package/corpus/templates/tasks/package.json +104 -0
  278. package/corpus/templates/tasks/playwright.config.ts +34 -0
  279. package/corpus/templates/tasks/public/agent-native-icon-dark.svg +10 -0
  280. package/corpus/templates/tasks/public/agent-native-icon-light.svg +10 -0
  281. package/corpus/templates/tasks/public/agent-native-logo-dark.svg +21 -0
  282. package/corpus/templates/tasks/public/agent-native-logo-light.svg +21 -0
  283. package/corpus/templates/tasks/public/favicon.svg +1 -0
  284. package/corpus/templates/tasks/public/icon-180.svg +1 -0
  285. package/corpus/templates/tasks/public/icon-192.svg +1 -0
  286. package/corpus/templates/tasks/public/icon-512.svg +1 -0
  287. package/corpus/templates/tasks/public/manifest.json +21 -0
  288. package/corpus/templates/tasks/react-router.config.ts +7 -0
  289. package/corpus/templates/tasks/server/custom-fields/normalize.ts +163 -0
  290. package/corpus/templates/tasks/server/custom-fields/parse.ts +146 -0
  291. package/corpus/templates/tasks/server/custom-fields/schema.ts +147 -0
  292. package/corpus/templates/tasks/server/custom-fields/store.ts +425 -0
  293. package/corpus/templates/tasks/server/custom-fields/task-fields.ts +104 -0
  294. package/corpus/templates/tasks/server/custom-fields/types.ts +98 -0
  295. package/corpus/templates/tasks/server/custom-fields/validate.ts +210 -0
  296. package/corpus/templates/tasks/server/custom-fields/values/store.ts +386 -0
  297. package/corpus/templates/tasks/server/db/bulk-write.ts +30 -0
  298. package/corpus/templates/tasks/server/db/index.ts +5 -0
  299. package/corpus/templates/tasks/server/db/record-utils.ts +7 -0
  300. package/corpus/templates/tasks/server/db/schema.ts +67 -0
  301. package/corpus/templates/tasks/server/db/test-tasks-table.ts +76 -0
  302. package/corpus/templates/tasks/server/db/transaction.ts +6 -0
  303. package/corpus/templates/tasks/server/errors.ts +31 -0
  304. package/corpus/templates/tasks/server/inbox/store.ts +216 -0
  305. package/corpus/templates/tasks/server/middleware/auth.ts +15 -0
  306. package/corpus/templates/tasks/server/plugins/agent-chat.ts +46 -0
  307. package/corpus/templates/tasks/server/plugins/auth.ts +15 -0
  308. package/corpus/templates/tasks/server/plugins/db.ts +90 -0
  309. package/corpus/templates/tasks/server/routes/[...page].get.ts +5 -0
  310. package/corpus/templates/tasks/server/stored-items/store.ts +548 -0
  311. package/corpus/templates/tasks/server/tasks/store.ts +306 -0
  312. package/corpus/templates/tasks/server/user-config/store.ts +138 -0
  313. package/corpus/templates/tasks/shared/app-state-tabs.ts +15 -0
  314. package/corpus/templates/tasks/shared/boolean-param.ts +22 -0
  315. package/corpus/templates/tasks/shared/bulk-limits.ts +7 -0
  316. package/corpus/templates/tasks/shared/list-screen-snapshot.ts +90 -0
  317. package/corpus/templates/tasks/shared/navigation.ts +104 -0
  318. package/corpus/templates/tasks/shared/visible-task-fields.ts +2 -0
  319. package/corpus/templates/tasks/ssr-entry.ts +15 -0
  320. package/corpus/templates/tasks/tsconfig.json +24 -0
  321. package/corpus/templates/tasks/vite.config.ts +19 -0
  322. package/corpus/templates/tasks/vitest.config.ts +8 -0
  323. package/dist/cli/create.d.ts +5 -2
  324. package/dist/cli/create.d.ts.map +1 -1
  325. package/dist/cli/create.js +22 -11
  326. package/dist/cli/create.js.map +1 -1
  327. package/dist/cli/templates-meta.d.ts.map +1 -1
  328. package/dist/cli/templates-meta.js +13 -0
  329. package/dist/cli/templates-meta.js.map +1 -1
  330. package/dist/client/AgentPanel.d.ts +2 -0
  331. package/dist/client/AgentPanel.d.ts.map +1 -1
  332. package/dist/client/AgentPanel.js +24 -13
  333. package/dist/client/AgentPanel.js.map +1 -1
  334. package/dist/client/chat/message-components.d.ts.map +1 -1
  335. package/dist/client/chat/message-components.js +1 -1
  336. package/dist/client/chat/message-components.js.map +1 -1
  337. package/dist/client/chat/tool-call-display.d.ts +3 -1
  338. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  339. package/dist/client/chat/tool-call-display.js +6 -5
  340. package/dist/client/chat/tool-call-display.js.map +1 -1
  341. package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
  342. package/dist/client/org/OrgSwitcher.js +2 -1
  343. package/dist/client/org/OrgSwitcher.js.map +1 -1
  344. package/dist/collab/struct-routes.d.ts +1 -1
  345. package/dist/templates/chat/.agents/skills/actions/SKILL.md +492 -0
  346. package/dist/templates/chat/.agents/skills/adding-a-feature/SKILL.md +189 -0
  347. package/dist/templates/chat/.agents/skills/agent-native-docs/SKILL.md +76 -0
  348. package/dist/templates/chat/.agents/skills/capture-learnings/SKILL.md +89 -0
  349. package/dist/templates/chat/.agents/skills/create-skill/SKILL.md +221 -0
  350. package/dist/templates/chat/.agents/skills/delegate-to-agent/SKILL.md +263 -0
  351. package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +112 -0
  352. package/dist/templates/chat/.agents/skills/real-time-sync/SKILL.md +232 -0
  353. package/dist/templates/chat/.agents/skills/security/SKILL.md +280 -0
  354. package/dist/templates/chat/.agents/skills/self-modifying-code/SKILL.md +106 -0
  355. package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +95 -0
  356. package/dist/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  357. package/dist/templates/chat/.env.example +5 -0
  358. package/dist/templates/chat/.ignore +0 -0
  359. package/dist/templates/chat/.oxfmtrc.json +8 -0
  360. package/dist/templates/chat/.react-router/types/+server-build.d.ts +18 -0
  361. package/dist/templates/chat/.react-router/types/app/+types/root.ts +68 -0
  362. package/dist/templates/chat/AGENTS.md +62 -0
  363. package/dist/templates/chat/CHANGELOG.md +10 -0
  364. package/dist/templates/chat/DEVELOPING.md +185 -0
  365. package/dist/templates/chat/README.md +32 -0
  366. package/dist/templates/chat/_gitignore +43 -0
  367. package/dist/templates/chat/actions/hello.ts +13 -0
  368. package/dist/templates/chat/actions/navigate.ts +41 -0
  369. package/dist/templates/chat/actions/run.ts +2 -0
  370. package/dist/templates/chat/actions/view-screen.ts +31 -0
  371. package/dist/templates/chat/app/components/layout/Header.tsx +59 -0
  372. package/dist/templates/chat/app/components/layout/Layout.tsx +184 -0
  373. package/dist/templates/chat/app/components/layout/Sidebar.tsx +580 -0
  374. package/dist/templates/chat/app/components/ui/button.tsx +1 -0
  375. package/dist/templates/chat/app/components/ui/card.tsx +1 -0
  376. package/dist/templates/chat/app/components/ui/dropdown-menu.tsx +1 -0
  377. package/dist/templates/chat/app/components/ui/input.tsx +1 -0
  378. package/dist/templates/chat/app/components/ui/label.tsx +1 -0
  379. package/dist/templates/chat/app/components/ui/sheet.tsx +1 -0
  380. package/dist/templates/chat/app/components/ui/toolkit-provider.tsx +12 -0
  381. package/dist/templates/chat/app/components/ui/tooltip.tsx +1 -0
  382. package/dist/templates/chat/app/entry.client.tsx +19 -0
  383. package/dist/templates/chat/app/entry.server.tsx +10 -0
  384. package/dist/templates/chat/app/global.css +93 -0
  385. package/dist/templates/chat/app/hooks/use-navigation-state.ts +111 -0
  386. package/dist/templates/chat/app/i18n/ar-SA.ts +68 -0
  387. package/dist/templates/chat/app/i18n/de-DE.ts +71 -0
  388. package/dist/templates/chat/app/i18n/en-US.ts +70 -0
  389. package/dist/templates/chat/app/i18n/es-ES.ts +71 -0
  390. package/dist/templates/chat/app/i18n/fr-FR.ts +71 -0
  391. package/dist/templates/chat/app/i18n/hi-IN.ts +69 -0
  392. package/dist/templates/chat/app/i18n/index.ts +34 -0
  393. package/dist/templates/chat/app/i18n/ja-JP.ts +70 -0
  394. package/dist/templates/chat/app/i18n/ko-KR.ts +70 -0
  395. package/dist/templates/chat/app/i18n/pt-BR.ts +71 -0
  396. package/dist/templates/chat/app/i18n/zh-CN.ts +67 -0
  397. package/dist/templates/chat/app/i18n/zh-TW.ts +67 -0
  398. package/dist/templates/chat/app/i18n-data.ts +556 -0
  399. package/dist/templates/chat/app/lib/agent-page.tsx +40 -0
  400. package/dist/templates/chat/app/lib/app-config.ts +11 -0
  401. package/dist/templates/chat/app/lib/tab-id.ts +1 -0
  402. package/dist/templates/chat/app/lib/utils.ts +1 -0
  403. package/dist/templates/chat/app/root.tsx +172 -0
  404. package/dist/templates/chat/app/routes/_index.tsx +91 -0
  405. package/dist/templates/chat/app/routes/agent.tsx +17 -0
  406. package/dist/templates/chat/app/routes/chat.$threadId.tsx +1 -0
  407. package/dist/templates/chat/app/routes/database.tsx +17 -0
  408. package/dist/templates/chat/app/routes/extensions.$id.$slug.tsx +2 -0
  409. package/dist/templates/chat/app/routes/extensions.$id.tsx +11 -0
  410. package/dist/templates/chat/app/routes/extensions._index.tsx +11 -0
  411. package/dist/templates/chat/app/routes/extensions.tsx +5 -0
  412. package/dist/templates/chat/app/routes/observability.tsx +18 -0
  413. package/dist/templates/chat/app/routes/settings.tsx +88 -0
  414. package/dist/templates/chat/app/routes/team.tsx +11 -0
  415. package/dist/templates/chat/app/routes.ts +4 -0
  416. package/dist/templates/chat/app/vite-env.d.ts +6 -0
  417. package/dist/templates/chat/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  418. package/dist/templates/chat/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  419. package/dist/templates/chat/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  420. package/dist/templates/chat/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
  421. package/dist/templates/chat/changelog/2026-06-29-chat-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
  422. package/dist/templates/chat/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  423. package/dist/templates/chat/changelog/2026-07-10-chat-now-makes-ai-connection-setup-clear-without-shifting-th.md +6 -0
  424. package/dist/templates/chat/changelog/2026-07-13-a-full-agent-page-now-brings-context-files-connections-jobs-.md +6 -0
  425. package/dist/templates/chat/changelog/2026-07-14-chat-opens-reliably-on-hosted-deployments-instead-of-failing.md +6 -0
  426. package/dist/templates/chat/changelog/2026-07-14-fixed-chat-template-startup-with-older-core-versions.md +6 -0
  427. package/dist/templates/chat/changelog/2026-07-15-chat-navigation-focuses-on-chat-and-agent.md +6 -0
  428. package/dist/templates/chat/components.json +20 -0
  429. package/dist/templates/chat/data/.gitkeep +0 -0
  430. package/dist/templates/chat/data/sync-config.json +1 -0
  431. package/dist/templates/chat/learnings.defaults.md +5 -0
  432. package/dist/templates/chat/netlify.toml +10 -0
  433. package/dist/templates/chat/package.json +92 -0
  434. package/dist/templates/chat/public/agent-native-icon-dark.svg +10 -0
  435. package/dist/templates/chat/public/agent-native-icon-light.svg +10 -0
  436. package/dist/templates/chat/public/agent-native-logo-dark.svg +21 -0
  437. package/dist/templates/chat/public/agent-native-logo-light.svg +21 -0
  438. package/dist/templates/chat/public/favicon.svg +1 -0
  439. package/dist/templates/chat/public/icon-180.svg +1 -0
  440. package/dist/templates/chat/public/icon-192.svg +1 -0
  441. package/dist/templates/chat/public/icon-512.svg +1 -0
  442. package/dist/templates/chat/public/manifest.json +21 -0
  443. package/dist/templates/chat/react-router.config.ts +7 -0
  444. package/dist/templates/chat/server/middleware/auth.ts +15 -0
  445. package/dist/templates/chat/server/plugins/agent-chat.ts +21 -0
  446. package/dist/templates/chat/server/plugins/auth.ts +17 -0
  447. package/dist/templates/chat/server/routes/[...page].get.ts +5 -0
  448. package/dist/templates/chat/ssr-entry.ts +15 -0
  449. package/dist/templates/chat/tsconfig.json +21 -0
  450. package/dist/templates/chat/vite.config.ts +19 -0
  451. package/package.json +2 -1
  452. package/src/templates/chat/.agents/skills/actions/SKILL.md +492 -0
  453. package/src/templates/chat/.agents/skills/adding-a-feature/SKILL.md +189 -0
  454. package/src/templates/chat/.agents/skills/agent-native-docs/SKILL.md +76 -0
  455. package/src/templates/chat/.agents/skills/capture-learnings/SKILL.md +89 -0
  456. package/src/templates/chat/.agents/skills/create-skill/SKILL.md +221 -0
  457. package/src/templates/chat/.agents/skills/delegate-to-agent/SKILL.md +263 -0
  458. package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +112 -0
  459. package/src/templates/chat/.agents/skills/real-time-sync/SKILL.md +232 -0
  460. package/src/templates/chat/.agents/skills/security/SKILL.md +280 -0
  461. package/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +106 -0
  462. package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +95 -0
  463. package/src/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
  464. package/src/templates/chat/.env.example +5 -0
  465. package/src/templates/chat/.ignore +0 -0
  466. package/src/templates/chat/.oxfmtrc.json +8 -0
  467. package/src/templates/chat/.react-router/types/+server-build.d.ts +18 -0
  468. package/src/templates/chat/.react-router/types/app/+types/root.ts +68 -0
  469. package/src/templates/chat/AGENTS.md +62 -0
  470. package/src/templates/chat/CHANGELOG.md +10 -0
  471. package/src/templates/chat/DEVELOPING.md +185 -0
  472. package/src/templates/chat/README.md +32 -0
  473. package/src/templates/chat/_gitignore +43 -0
  474. package/src/templates/chat/actions/hello.spec.ts +23 -0
  475. package/src/templates/chat/actions/hello.ts +13 -0
  476. package/src/templates/chat/actions/navigate.spec.ts +68 -0
  477. package/src/templates/chat/actions/navigate.ts +41 -0
  478. package/src/templates/chat/actions/run.ts +2 -0
  479. package/src/templates/chat/actions/view-screen.spec.ts +40 -0
  480. package/src/templates/chat/actions/view-screen.ts +31 -0
  481. package/src/templates/chat/app/components/layout/Header.tsx +59 -0
  482. package/src/templates/chat/app/components/layout/Layout.tsx +184 -0
  483. package/src/templates/chat/app/components/layout/Sidebar.tsx +580 -0
  484. package/src/templates/chat/app/components/ui/button.tsx +1 -0
  485. package/src/templates/chat/app/components/ui/card.tsx +1 -0
  486. package/src/templates/chat/app/components/ui/dropdown-menu.tsx +1 -0
  487. package/src/templates/chat/app/components/ui/input.tsx +1 -0
  488. package/src/templates/chat/app/components/ui/label.tsx +1 -0
  489. package/src/templates/chat/app/components/ui/sheet.tsx +1 -0
  490. package/src/templates/chat/app/components/ui/toolkit-provider.tsx +12 -0
  491. package/src/templates/chat/app/components/ui/tooltip.tsx +1 -0
  492. package/src/templates/chat/app/entry.client.tsx +19 -0
  493. package/src/templates/chat/app/entry.server.tsx +10 -0
  494. package/src/templates/chat/app/global.css +93 -0
  495. package/src/templates/chat/app/hooks/use-navigation-state.ts +111 -0
  496. package/src/templates/chat/app/i18n/ar-SA.ts +68 -0
  497. package/src/templates/chat/app/i18n/de-DE.ts +71 -0
  498. package/src/templates/chat/app/i18n/en-US.ts +70 -0
  499. package/src/templates/chat/app/i18n/es-ES.ts +71 -0
  500. package/src/templates/chat/app/i18n/fr-FR.ts +71 -0
  501. package/src/templates/chat/app/i18n/hi-IN.ts +69 -0
  502. package/src/templates/chat/app/i18n/index.ts +34 -0
  503. package/src/templates/chat/app/i18n/ja-JP.ts +70 -0
  504. package/src/templates/chat/app/i18n/ko-KR.ts +70 -0
  505. package/src/templates/chat/app/i18n/pt-BR.ts +71 -0
  506. package/src/templates/chat/app/i18n/zh-CN.ts +67 -0
  507. package/src/templates/chat/app/i18n/zh-TW.ts +67 -0
  508. package/src/templates/chat/app/i18n-data.ts +556 -0
  509. package/src/templates/chat/app/lib/agent-page.spec.tsx +52 -0
  510. package/src/templates/chat/app/lib/agent-page.tsx +40 -0
  511. package/src/templates/chat/app/lib/app-config.ts +11 -0
  512. package/src/templates/chat/app/lib/tab-id.ts +1 -0
  513. package/src/templates/chat/app/lib/utils.ts +1 -0
  514. package/src/templates/chat/app/root.tsx +172 -0
  515. package/src/templates/chat/app/routes/_index.tsx +91 -0
  516. package/src/templates/chat/app/routes/agent.tsx +17 -0
  517. package/src/templates/chat/app/routes/chat.$threadId.tsx +1 -0
  518. package/src/templates/chat/app/routes/database.tsx +17 -0
  519. package/src/templates/chat/app/routes/extensions.$id.$slug.tsx +2 -0
  520. package/src/templates/chat/app/routes/extensions.$id.tsx +11 -0
  521. package/src/templates/chat/app/routes/extensions._index.tsx +11 -0
  522. package/src/templates/chat/app/routes/extensions.tsx +5 -0
  523. package/src/templates/chat/app/routes/observability.tsx +18 -0
  524. package/src/templates/chat/app/routes/settings.tsx +88 -0
  525. package/src/templates/chat/app/routes/team.tsx +11 -0
  526. package/src/templates/chat/app/routes.ts +4 -0
  527. package/src/templates/chat/app/vite-env.d.ts +6 -0
  528. package/src/templates/chat/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
  529. package/src/templates/chat/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
  530. package/src/templates/chat/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
  531. package/src/templates/chat/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
  532. package/src/templates/chat/changelog/2026-06-29-chat-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
  533. package/src/templates/chat/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
  534. package/src/templates/chat/changelog/2026-07-10-chat-now-makes-ai-connection-setup-clear-without-shifting-th.md +6 -0
  535. package/src/templates/chat/changelog/2026-07-13-a-full-agent-page-now-brings-context-files-connections-jobs-.md +6 -0
  536. package/src/templates/chat/changelog/2026-07-14-chat-opens-reliably-on-hosted-deployments-instead-of-failing.md +6 -0
  537. package/src/templates/chat/changelog/2026-07-14-fixed-chat-template-startup-with-older-core-versions.md +6 -0
  538. package/src/templates/chat/changelog/2026-07-15-chat-navigation-focuses-on-chat-and-agent.md +6 -0
  539. package/src/templates/chat/components.json +20 -0
  540. package/src/templates/chat/data/.gitkeep +0 -0
  541. package/src/templates/chat/data/sync-config.json +1 -0
  542. package/src/templates/chat/learnings.defaults.md +5 -0
  543. package/src/templates/chat/netlify.toml +10 -0
  544. package/src/templates/chat/package.json +92 -0
  545. package/src/templates/chat/public/agent-native-icon-dark.svg +10 -0
  546. package/src/templates/chat/public/agent-native-icon-light.svg +10 -0
  547. package/src/templates/chat/public/agent-native-logo-dark.svg +21 -0
  548. package/src/templates/chat/public/agent-native-logo-light.svg +21 -0
  549. package/src/templates/chat/public/favicon.svg +1 -0
  550. package/src/templates/chat/public/icon-180.svg +1 -0
  551. package/src/templates/chat/public/icon-192.svg +1 -0
  552. package/src/templates/chat/public/icon-512.svg +1 -0
  553. package/src/templates/chat/public/manifest.json +21 -0
  554. package/src/templates/chat/react-router.config.ts +7 -0
  555. package/src/templates/chat/server/middleware/auth.ts +15 -0
  556. package/src/templates/chat/server/plugins/agent-chat.ts +21 -0
  557. package/src/templates/chat/server/plugins/auth.ts +17 -0
  558. package/src/templates/chat/server/routes/[...page].get.ts +5 -0
  559. package/src/templates/chat/ssr-entry.ts +15 -0
  560. package/src/templates/chat/tsconfig.json +21 -0
  561. package/src/templates/chat/vite.config.ts +19 -0
@@ -0,0 +1,24 @@
1
+ {
2
+ "extends": "@agent-native/core/tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "ignoreDeprecations": "6.0",
5
+ "rootDirs": [".", "./.react-router/types"],
6
+ "paths": {
7
+ "*": ["./*"],
8
+ "@/*": ["./app/*"],
9
+ "@shared/*": ["./shared/*"]
10
+ }
11
+ },
12
+ "include": [
13
+ "app/**/*",
14
+ "server/**/*",
15
+ "shared/**/*",
16
+ "actions/**/*",
17
+ "vite.config.ts",
18
+ "vitest.config.ts",
19
+ "react-router.config.ts",
20
+ ".react-router/types/**/*",
21
+ ".generated/**/*"
22
+ ],
23
+ "exclude": ["**/*.test.ts", "**/*.spec.ts"]
24
+ }
@@ -0,0 +1,19 @@
1
+ import { agentNative } from "@agent-native/core/vite";
2
+ import { reactRouter } from "@react-router/dev/vite";
3
+ import { defineConfig } from "vite";
4
+
5
+ const reactRouterPlugins = reactRouter as unknown as () => any[];
6
+ const agentNativePlugins = agentNative as unknown as (
7
+ options?: Parameters<typeof agentNative>[0],
8
+ ) => any[];
9
+
10
+ export default defineConfig({
11
+ plugins: [
12
+ ...reactRouterPlugins(),
13
+ ...agentNativePlugins({
14
+ // shiki only runs in AssistantChat's useEffect — keep it out of the
15
+ // CF Pages Functions bundle (25 MiB limit).
16
+ ssrStubs: ["shiki"],
17
+ }),
18
+ ],
19
+ });
@@ -0,0 +1,8 @@
1
+ import { defineConfig } from "vitest/config";
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ include: ["**/*.test.ts"],
6
+ environment: "node",
7
+ },
8
+ });
@@ -47,9 +47,11 @@ export declare function addAppToWorkspace(name?: string, opts?: CreateAppOptions
47
47
  * Scaffold a single app template into `targetDir`. Resolves:
48
48
  * - "headless" / legacy "blank" → bundled action-first template
49
49
  * - "github:user/repo" → download the whole repo
50
- * - first-party template name → download that subdir from BuilderIO/agent-native
50
+ * - first-party template name → use a bundled copy or download its subdir
51
+ * from BuilderIO/agent-native
51
52
  */
52
53
  declare function scaffoldAppTemplate(targetDir: string, template: string): Promise<void>;
54
+ declare function findLocalTemplateFrom(startDir: string, name: string): string | undefined;
53
55
  /**
54
56
  * Scaffold internal workspace packages required by the selected templates.
55
57
  * Deduplicates so each package is only copied once even if multiple
@@ -72,10 +74,11 @@ export declare function detectWorkspace(startDir: string): {
72
74
  } | null;
73
75
  export { parseWorkspaceScope };
74
76
  /** @internal — exported for E2E tests */
75
- export { scaffoldWorkspaceRoot as _scaffoldWorkspaceRoot, scaffoldAppTemplate as _scaffoldAppTemplate, scaffoldRequiredPackages as _scaffoldRequiredPackages, postProcessStandalone as _postProcessStandalone, loadCatalog as _loadCatalog, fixPackageJsonName as _fixPackageJsonName, renameGitignore as _renameGitignore, rewriteNetlifyToml as _rewriteNetlifyToml, getCoreDependencyVersion as _getCoreDependencyVersion, getDispatchDependencyVersion as _getDispatchDependencyVersion, getToolkitDependencyVersion as _getToolkitDependencyVersion, getGitHubTemplateRef as _getGitHubTemplateRef, getGitHubTemplateRefCandidates as _getGitHubTemplateRefCandidates, workspaceAppNameForTemplateSelection as _workspaceAppNameForTemplateSelection, shouldSkipScaffoldEntry as _shouldSkipScaffoldEntry, tarExtractArgs as _tarExtractArgs, };
77
+ export { scaffoldWorkspaceRoot as _scaffoldWorkspaceRoot, scaffoldAppTemplate as _scaffoldAppTemplate, scaffoldRequiredPackages as _scaffoldRequiredPackages, postProcessStandalone as _postProcessStandalone, loadCatalog as _loadCatalog, fixPackageJsonName as _fixPackageJsonName, renameGitignore as _renameGitignore, rewriteNetlifyToml as _rewriteNetlifyToml, getCoreDependencyVersion as _getCoreDependencyVersion, getDispatchDependencyVersion as _getDispatchDependencyVersion, getToolkitDependencyVersion as _getToolkitDependencyVersion, getGitHubTemplateRef as _getGitHubTemplateRef, getGitHubTemplateRefCandidates as _getGitHubTemplateRefCandidates, githubTarballUrl as _githubTarballUrl, findLocalTemplateFrom as _findLocalTemplateFrom, workspaceAppNameForTemplateSelection as _workspaceAppNameForTemplateSelection, shouldSkipScaffoldEntry as _shouldSkipScaffoldEntry, tarExtractArgs as _tarExtractArgs, };
76
78
  declare function tarExtractArgs(tarPath: string, destDir: string, options?: {
77
79
  skipAgentSymlinks?: boolean;
78
80
  }): string[];
81
+ declare function githubTarballUrl(repo: string, ref: string, kind: "branch" | "tag"): string;
79
82
  /**
80
83
  * Load the pnpm workspace catalog.
81
84
  * First tries the build-time snapshot at dist/catalog.json (works when
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/cli/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/cli/create.ts"],"names":[],"mappings":"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"}
@@ -620,7 +620,8 @@ function cleanupOnFailure(targetDir) {
620
620
  * Scaffold a single app template into `targetDir`. Resolves:
621
621
  * - "headless" / legacy "blank" → bundled action-first template
622
622
  * - "github:user/repo" → download the whole repo
623
- * - first-party template name → download that subdir from BuilderIO/agent-native
623
+ * - first-party template name → use a bundled copy or download its subdir
624
+ * from BuilderIO/agent-native
624
625
  */
625
626
  async function scaffoldAppTemplate(targetDir, template) {
626
627
  fs.mkdirSync(path.dirname(targetDir), { recursive: true });
@@ -661,15 +662,22 @@ function templateSourceName(name) {
661
662
  return name;
662
663
  }
663
664
  /**
664
- * When developing the framework itself, prefer the sibling templates/<name>
665
- * directory. Returns undefined when running as a published package.
665
+ * Prefer a nearby templates/<name> or src/templates/<name> directory. This
666
+ * covers the framework checkout, the dist/templates copy bundled into
667
+ * published CLI packages, and source templates included in package files;
668
+ * packages that do not bundle a template fall back to GitHub.
666
669
  */
667
670
  function findLocalTemplate(name) {
668
- let dir = path.resolve(__dirname);
671
+ return findLocalTemplateFrom(path.resolve(__dirname), name);
672
+ }
673
+ function findLocalTemplateFrom(startDir, name) {
674
+ let dir = path.resolve(startDir);
669
675
  for (let i = 0; i < 10; i++) {
670
- const candidate = path.join(dir, "templates", name);
671
- if (fs.existsSync(path.join(candidate, "package.json"))) {
672
- return candidate;
676
+ for (const templatesDir of ["templates", "src/templates"]) {
677
+ const candidate = path.join(dir, templatesDir, name);
678
+ if (fs.existsSync(path.join(candidate, "package.json"))) {
679
+ return candidate;
680
+ }
673
681
  }
674
682
  const parent = path.dirname(dir);
675
683
  if (parent === dir)
@@ -1084,7 +1092,7 @@ export function detectWorkspace(startDir) {
1084
1092
  }
1085
1093
  export { parseWorkspaceScope };
1086
1094
  /** @internal — exported for E2E tests */
1087
- export { scaffoldWorkspaceRoot as _scaffoldWorkspaceRoot, scaffoldAppTemplate as _scaffoldAppTemplate, scaffoldRequiredPackages as _scaffoldRequiredPackages, postProcessStandalone as _postProcessStandalone, loadCatalog as _loadCatalog, fixPackageJsonName as _fixPackageJsonName, renameGitignore as _renameGitignore, rewriteNetlifyToml as _rewriteNetlifyToml, getCoreDependencyVersion as _getCoreDependencyVersion, getDispatchDependencyVersion as _getDispatchDependencyVersion, getToolkitDependencyVersion as _getToolkitDependencyVersion, getGitHubTemplateRef as _getGitHubTemplateRef, getGitHubTemplateRefCandidates as _getGitHubTemplateRefCandidates, workspaceAppNameForTemplateSelection as _workspaceAppNameForTemplateSelection, shouldSkipScaffoldEntry as _shouldSkipScaffoldEntry, tarExtractArgs as _tarExtractArgs, };
1095
+ export { scaffoldWorkspaceRoot as _scaffoldWorkspaceRoot, scaffoldAppTemplate as _scaffoldAppTemplate, scaffoldRequiredPackages as _scaffoldRequiredPackages, postProcessStandalone as _postProcessStandalone, loadCatalog as _loadCatalog, fixPackageJsonName as _fixPackageJsonName, renameGitignore as _renameGitignore, rewriteNetlifyToml as _rewriteNetlifyToml, getCoreDependencyVersion as _getCoreDependencyVersion, getDispatchDependencyVersion as _getDispatchDependencyVersion, getToolkitDependencyVersion as _getToolkitDependencyVersion, getGitHubTemplateRef as _getGitHubTemplateRef, getGitHubTemplateRefCandidates as _getGitHubTemplateRefCandidates, githubTarballUrl as _githubTarballUrl, findLocalTemplateFrom as _findLocalTemplateFrom, workspaceAppNameForTemplateSelection as _workspaceAppNameForTemplateSelection, shouldSkipScaffoldEntry as _shouldSkipScaffoldEntry, tarExtractArgs as _tarExtractArgs, };
1088
1096
  /* ─────────────────────────────────────────────────────────────────────────
1089
1097
  * Download / copy helpers
1090
1098
  * ───────────────────────────────────────────────────────────────────────── */
@@ -1129,7 +1137,7 @@ async function downloadAndExtract(url, destDir, options = {}) {
1129
1137
  "10",
1130
1138
  "--max-time",
1131
1139
  "120",
1132
- "-sL",
1140
+ "-sSL",
1133
1141
  url,
1134
1142
  ], { maxBuffer: 100 * 1024 * 1024 });
1135
1143
  const tarPath = path.join(destDir, ".download.tar.gz");
@@ -1151,7 +1159,7 @@ async function downloadGitHubSubdir(repo, subdir, targetDir) {
1151
1159
  }
1152
1160
  const errors = [];
1153
1161
  for (const ref of refs) {
1154
- const tarUrl = `https://api.github.com/repos/${repo}/tarball/${encodeURIComponent(ref)}`;
1162
+ const tarUrl = githubTarballUrl(repo, ref, "tag");
1155
1163
  const tmpDir = path.join(targetDir, "..", `.agent-native-tmp-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`);
1156
1164
  try {
1157
1165
  await downloadAndExtract(tarUrl, tmpDir, {
@@ -1175,9 +1183,12 @@ async function downloadGitHubSubdir(repo, subdir, targetDir) {
1175
1183
  }
1176
1184
  async function downloadGitHubRepo(repo, targetDir) {
1177
1185
  validateRepoName(repo);
1178
- const tarUrl = `https://api.github.com/repos/${repo}/tarball/main`;
1186
+ const tarUrl = githubTarballUrl(repo, "main", "branch");
1179
1187
  await downloadAndExtract(tarUrl, targetDir);
1180
1188
  }
1189
+ function githubTarballUrl(repo, ref, kind) {
1190
+ return `https://codeload.github.com/${repo}/tar.gz/refs/${kind === "tag" ? "tags" : "heads"}/${encodeURIComponent(ref)}`;
1191
+ }
1181
1192
  /* ─────────────────────────────────────────────────────────────────────────
1182
1193
  * Text / filesystem helpers
1183
1194
  * ───────────────────────────────────────────────────────────────────────── */