@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.
- package/corpus/README.md +1 -1
- package/corpus/core/CHANGELOG.md +13 -0
- package/corpus/core/package.json +4 -2
- package/corpus/core/src/cli/create.ts +32 -10
- package/corpus/core/src/cli/templates-meta.ts +13 -0
- package/corpus/core/src/client/AgentPanel.tsx +61 -48
- package/corpus/core/src/client/chat/message-components.tsx +1 -0
- package/corpus/core/src/client/chat/tool-call-display.tsx +12 -2
- package/corpus/core/src/client/org/OrgSwitcher.tsx +2 -0
- package/corpus/templates/clips/app/components/player/share-dialog.tsx +1 -1
- package/corpus/templates/clips/app/i18n/ar-SA.ts +1 -0
- package/corpus/templates/clips/app/i18n/de-DE.ts +1 -0
- package/corpus/templates/clips/app/i18n/en-US.ts +1 -0
- package/corpus/templates/clips/app/i18n/es-ES.ts +1 -0
- package/corpus/templates/clips/app/i18n/fr-FR.ts +1 -0
- package/corpus/templates/clips/app/i18n/hi-IN.ts +1 -0
- package/corpus/templates/clips/app/i18n/ja-JP.ts +1 -0
- package/corpus/templates/clips/app/i18n/ko-KR.ts +1 -0
- package/corpus/templates/clips/app/i18n/pt-BR.ts +1 -0
- package/corpus/templates/clips/app/i18n/zh-CN.ts +1 -0
- package/corpus/templates/clips/app/i18n/zh-TW.ts +1 -0
- package/corpus/templates/clips/changelog/2026-07-15-public-clip-links-are-labeled-share-with-humans-for-clarity.md +6 -0
- package/corpus/templates/content/actions/_database-source-utils.ts +59 -4
- package/corpus/templates/content/actions/prepare-builder-source-review.ts +9 -0
- package/corpus/templates/content/actions/preview-builder-source-review.ts +6 -4
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +4 -0
- package/corpus/templates/content/changelog/2026-07-15-selected-builder-reviews-now-load-only-the-chosen-rows-avoid.md +6 -0
- package/corpus/templates/content/shared/api.ts +1 -0
- package/corpus/templates/forms/actions/delete-form.ts +4 -0
- package/corpus/templates/forms/actions/patch-form-fields.ts +3 -0
- package/corpus/templates/forms/actions/restore-form.ts +3 -0
- package/corpus/templates/forms/actions/update-form.ts +3 -0
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +2 -2
- package/corpus/templates/forms/app/pages/ResponsesPage.tsx +2 -2
- package/corpus/templates/forms/changelog/2026-07-15-published-forms-now-reflect-field-updates-immediately-at-the.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-15-response-rows-now-keep-every-column-aligned-to-the-top-for-c.md +6 -0
- package/corpus/templates/forms/server/handlers/forms.ts +1 -0
- package/corpus/templates/forms/server/lib/public-form-ssr.ts +47 -4
- package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +189 -82
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +1 -1
- package/corpus/templates/tasks/.agents/commands/visual-plan.md +9 -0
- package/corpus/templates/tasks/.agents/commands/visual-recap.md +8 -0
- package/corpus/templates/tasks/.agents/skills/actions/SKILL.md +492 -0
- package/corpus/templates/tasks/.agents/skills/adding-a-feature/SKILL.md +189 -0
- package/corpus/templates/tasks/.agents/skills/agent-native-docs/SKILL.md +76 -0
- package/corpus/templates/tasks/.agents/skills/agent-watchdog/README.md +43 -0
- package/corpus/templates/tasks/.agents/skills/agent-watchdog/SKILL.md +110 -0
- package/corpus/templates/tasks/.agents/skills/agent-watchdog/agents/openai.yaml +4 -0
- package/corpus/templates/tasks/.agents/skills/capture-learnings/SKILL.md +89 -0
- package/corpus/templates/tasks/.agents/skills/change-summary/SKILL.md +83 -0
- package/corpus/templates/tasks/.agents/skills/create-skill/SKILL.md +221 -0
- package/corpus/templates/tasks/.agents/skills/delegate-to-agent/SKILL.md +263 -0
- package/corpus/templates/tasks/.agents/skills/efficient-fable/README.md +75 -0
- package/corpus/templates/tasks/.agents/skills/efficient-fable/SKILL.md +95 -0
- package/corpus/templates/tasks/.agents/skills/efficient-frontier/README.md +53 -0
- package/corpus/templates/tasks/.agents/skills/efficient-frontier/SKILL.md +73 -0
- package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +112 -0
- package/corpus/templates/tasks/.agents/skills/plan-arbiter/README.md +41 -0
- package/corpus/templates/tasks/.agents/skills/plan-arbiter/SKILL.md +114 -0
- package/corpus/templates/tasks/.agents/skills/plan-arbiter/agents/openai.yaml +4 -0
- package/corpus/templates/tasks/.agents/skills/plow-ahead/README.md +42 -0
- package/corpus/templates/tasks/.agents/skills/plow-ahead/SKILL.md +104 -0
- package/corpus/templates/tasks/.agents/skills/plow-ahead/agents/openai.yaml +4 -0
- package/corpus/templates/tasks/.agents/skills/quick-recap/README.md +55 -0
- package/corpus/templates/tasks/.agents/skills/quick-recap/SKILL.md +54 -0
- package/corpus/templates/tasks/.agents/skills/read-the-damn-docs/README.md +54 -0
- package/corpus/templates/tasks/.agents/skills/read-the-damn-docs/SKILL.md +126 -0
- package/corpus/templates/tasks/.agents/skills/read-the-damn-docs/agents/openai.yaml +4 -0
- package/corpus/templates/tasks/.agents/skills/real-time-sync/SKILL.md +232 -0
- package/corpus/templates/tasks/.agents/skills/security/SKILL.md +280 -0
- package/corpus/templates/tasks/.agents/skills/self-modifying-code/SKILL.md +106 -0
- package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +95 -0
- package/corpus/templates/tasks/.agents/skills/stay-within-limits/README.md +61 -0
- package/corpus/templates/tasks/.agents/skills/stay-within-limits/SKILL.md +83 -0
- package/corpus/templates/tasks/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/SKILL.md +547 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/agent-native-skill.json +12 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/references/canvas.md +121 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/references/document-quality.md +178 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/references/exemplar.md +62 -0
- package/corpus/templates/tasks/.agents/skills/visual-plan/references/wireframe.md +264 -0
- package/corpus/templates/tasks/.agents/skills/visual-recap/SKILL.md +634 -0
- package/corpus/templates/tasks/.agents/skills/visual-recap/agent-native-skill.json +12 -0
- package/corpus/templates/tasks/.agents/skills/visual-recap/references/wireframe.md +264 -0
- package/corpus/templates/tasks/.claude/commands/visual-plan.md +9 -0
- package/corpus/templates/tasks/.claude/commands/visual-recap.md +8 -0
- package/corpus/templates/tasks/.env.example +5 -0
- package/corpus/templates/tasks/.ignore +0 -0
- package/corpus/templates/tasks/.prettierrc +5 -0
- package/corpus/templates/tasks/AGENTS.md +158 -0
- package/corpus/templates/tasks/DEVELOPING.md +185 -0
- package/corpus/templates/tasks/README.md +16 -0
- package/corpus/templates/tasks/actions/bulk-delete-inbox-items.ts +24 -0
- package/corpus/templates/tasks/actions/bulk-delete-tasks.ts +21 -0
- package/corpus/templates/tasks/actions/bulk-mark-inbox-items-ready.ts +27 -0
- package/corpus/templates/tasks/actions/bulk-update-tasks.ts +35 -0
- package/corpus/templates/tasks/actions/create-custom-field.ts +22 -0
- package/corpus/templates/tasks/actions/create-inbox-item.ts +30 -0
- package/corpus/templates/tasks/actions/create-task.ts +33 -0
- package/corpus/templates/tasks/actions/delete-custom-field.ts +19 -0
- package/corpus/templates/tasks/actions/delete-inbox-item.ts +17 -0
- package/corpus/templates/tasks/actions/delete-task.ts +17 -0
- package/corpus/templates/tasks/actions/lib/boolean-query-param.ts +30 -0
- package/corpus/templates/tasks/actions/list-custom-fields.ts +18 -0
- package/corpus/templates/tasks/actions/list-inbox-items.ts +16 -0
- package/corpus/templates/tasks/actions/list-tasks.ts +52 -0
- package/corpus/templates/tasks/actions/list-visible-task-fields.ts +18 -0
- package/corpus/templates/tasks/actions/mark-inbox-item-ready.ts +31 -0
- package/corpus/templates/tasks/actions/navigate.ts +51 -0
- package/corpus/templates/tasks/actions/reorder-custom-fields.ts +27 -0
- package/corpus/templates/tasks/actions/reorder-inbox-items.ts +24 -0
- package/corpus/templates/tasks/actions/reorder-tasks.ts +29 -0
- package/corpus/templates/tasks/actions/run.ts +2 -0
- package/corpus/templates/tasks/actions/update-custom-field.ts +33 -0
- package/corpus/templates/tasks/actions/update-inbox-item.ts +24 -0
- package/corpus/templates/tasks/actions/update-task.ts +68 -0
- package/corpus/templates/tasks/actions/update-visible-task-fields.ts +27 -0
- package/corpus/templates/tasks/actions/view-screen-helpers.ts +68 -0
- package/corpus/templates/tasks/actions/view-screen.ts +207 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldCreateBar.tsx +121 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldListRow.tsx +116 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldsList.tsx +225 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldsListSkeleton.tsx +18 -0
- package/corpus/templates/tasks/app/components/custom-fields/FieldsPage.tsx +42 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/FieldEditorSidebar.tsx +69 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/FieldTitleSection.tsx +32 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/CurrencyConfigControl.tsx +49 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/FieldConfigControl.tsx +56 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/NumberConfigControl.tsx +52 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/PercentConfigControl.tsx +30 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/SelectConfigControl.tsx +135 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/select-colors.ts +23 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/config/utils.ts +52 -0
- package/corpus/templates/tasks/app/components/custom-fields/editor/types.ts +7 -0
- package/corpus/templates/tasks/app/components/dnd/SortableItem.tsx +72 -0
- package/corpus/templates/tasks/app/components/dnd/SortableList.tsx +136 -0
- package/corpus/templates/tasks/app/components/dnd/reorder-moving-items.ts +160 -0
- package/corpus/templates/tasks/app/components/dnd/sortable-drag-props.ts +60 -0
- package/corpus/templates/tasks/app/components/inbox/InboxList.tsx +222 -0
- package/corpus/templates/tasks/app/components/inbox/InboxListPage.tsx +39 -0
- package/corpus/templates/tasks/app/components/inbox/InboxListRow.tsx +122 -0
- package/corpus/templates/tasks/app/components/layout/Header.tsx +55 -0
- package/corpus/templates/tasks/app/components/layout/HeaderActions.tsx +84 -0
- package/corpus/templates/tasks/app/components/layout/Layout.tsx +134 -0
- package/corpus/templates/tasks/app/components/layout/Sidebar.tsx +211 -0
- package/corpus/templates/tasks/app/components/shared/AddListItemInput.tsx +57 -0
- package/corpus/templates/tasks/app/components/shared/AlertDialog.tsx +53 -0
- package/corpus/templates/tasks/app/components/shared/BulkDeleteDialog.tsx +76 -0
- package/corpus/templates/tasks/app/components/shared/ChipSelect.tsx +240 -0
- package/corpus/templates/tasks/app/components/shared/DeleteItemDialog.tsx +40 -0
- package/corpus/templates/tasks/app/components/shared/InlineEditable.tsx +166 -0
- package/corpus/templates/tasks/app/components/shared/ListEmptyState.tsx +13 -0
- package/corpus/templates/tasks/app/components/shared/ListErrorMessage.tsx +15 -0
- package/corpus/templates/tasks/app/components/shared/ListViewHeader.tsx +75 -0
- package/corpus/templates/tasks/app/components/shared/PageHeader.tsx +25 -0
- package/corpus/templates/tasks/app/components/shared/RowActionsMenu.tsx +42 -0
- package/corpus/templates/tasks/app/components/shared/SidePanel.tsx +99 -0
- package/corpus/templates/tasks/app/components/shared/dnd/ListRowPreview.tsx +37 -0
- package/corpus/templates/tasks/app/components/shared/list/List.tsx +63 -0
- package/corpus/templates/tasks/app/components/shared/list/ListRow.tsx +159 -0
- package/corpus/templates/tasks/app/components/shared/list/ListRowDragHandle.tsx +52 -0
- package/corpus/templates/tasks/app/components/shared/list/ListSkeletonRows.tsx +11 -0
- package/corpus/templates/tasks/app/components/shared/list/SortableListItemShell.tsx +32 -0
- package/corpus/templates/tasks/app/components/shared/list/types.ts +1 -0
- package/corpus/templates/tasks/app/components/shared/selection/ListSelectionBar.tsx +158 -0
- package/corpus/templates/tasks/app/components/shared/selection/ListSelectionHeaderToggle.tsx +28 -0
- package/corpus/templates/tasks/app/components/shared/selection/ListSelectionToolbar.tsx +81 -0
- package/corpus/templates/tasks/app/components/shared/selection/get-list-row-selection-ui.ts +41 -0
- package/corpus/templates/tasks/app/components/shared/selection/use-list-selection.ts +196 -0
- package/corpus/templates/tasks/app/components/tasks/TaskList.tsx +333 -0
- package/corpus/templates/tasks/app/components/tasks/TaskListHeaderRow.tsx +46 -0
- package/corpus/templates/tasks/app/components/tasks/TaskListPage.tsx +115 -0
- package/corpus/templates/tasks/app/components/tasks/TaskListRow.css +49 -0
- package/corpus/templates/tasks/app/components/tasks/TaskListRow.tsx +307 -0
- package/corpus/templates/tasks/app/components/tasks/fields/TaskFieldsSidebar.tsx +102 -0
- package/corpus/templates/tasks/app/components/tasks/fields/TaskTitleSection.tsx +27 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/DateValueControl.tsx +21 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/FieldValueControl.tsx +76 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/MultiSelectValueControl.tsx +52 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/NumberValueControl.tsx +56 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/RichTextValueControl.tsx +115 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/SingleSelectValueControl.tsx +61 -0
- package/corpus/templates/tasks/app/components/tasks/fields/controls/TextValueControl.tsx +20 -0
- package/corpus/templates/tasks/app/components/tasks/use-task-row-completion-animation.ts +181 -0
- package/corpus/templates/tasks/app/components/ui/accordion.tsx +56 -0
- package/corpus/templates/tasks/app/components/ui/alert-dialog.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/alert.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/aspect-ratio.tsx +5 -0
- package/corpus/templates/tasks/app/components/ui/avatar.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/badge.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/breadcrumb.tsx +115 -0
- package/corpus/templates/tasks/app/components/ui/button.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/calendar.tsx +70 -0
- package/corpus/templates/tasks/app/components/ui/card.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/carousel.tsx +260 -0
- package/corpus/templates/tasks/app/components/ui/chart.tsx +379 -0
- package/corpus/templates/tasks/app/components/ui/checkbox.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/collapsible.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/command.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/context-menu.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/dialog.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/drawer.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/dropdown-menu.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/form.tsx +177 -0
- package/corpus/templates/tasks/app/components/ui/hover-card.tsx +27 -0
- package/corpus/templates/tasks/app/components/ui/input-otp.tsx +69 -0
- package/corpus/templates/tasks/app/components/ui/input.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/label.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/menubar.tsx +254 -0
- package/corpus/templates/tasks/app/components/ui/navigation-menu.tsx +128 -0
- package/corpus/templates/tasks/app/components/ui/pagination.tsx +121 -0
- package/corpus/templates/tasks/app/components/ui/popover.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/progress.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/radio-group.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/resizable.tsx +43 -0
- package/corpus/templates/tasks/app/components/ui/scroll-area.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/select.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/separator.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/sheet.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/sidebar.tsx +782 -0
- package/corpus/templates/tasks/app/components/ui/skeleton.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/slider.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/sonner.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/spinner.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/switch.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/table.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/tabs.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/textarea.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/toast.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/toaster.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/toggle-group.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/toggle.tsx +43 -0
- package/corpus/templates/tasks/app/components/ui/tooltip.tsx +1 -0
- package/corpus/templates/tasks/app/components/ui/use-toast.ts +3 -0
- package/corpus/templates/tasks/app/entry.client.tsx +19 -0
- package/corpus/templates/tasks/app/entry.server.tsx +10 -0
- package/corpus/templates/tasks/app/global.css +93 -0
- package/corpus/templates/tasks/app/hooks/cache.ts +31 -0
- package/corpus/templates/tasks/app/hooks/use-custom-fields.ts +93 -0
- package/corpus/templates/tasks/app/hooks/use-inbox-items.ts +196 -0
- package/corpus/templates/tasks/app/hooks/use-mobile.tsx +21 -0
- package/corpus/templates/tasks/app/hooks/use-navigation-state.ts +40 -0
- package/corpus/templates/tasks/app/hooks/use-tasks.ts +276 -0
- package/corpus/templates/tasks/app/hooks/use-toast.ts +188 -0
- package/corpus/templates/tasks/app/hooks/use-visible-task-fields.ts +140 -0
- package/corpus/templates/tasks/app/lib/app-config.ts +11 -0
- package/corpus/templates/tasks/app/lib/tab-id.ts +1 -0
- package/corpus/templates/tasks/app/lib/utils.ts +1 -0
- package/corpus/templates/tasks/app/root.tsx +130 -0
- package/corpus/templates/tasks/app/routes/_index.tsx +22 -0
- package/corpus/templates/tasks/app/routes/extensions.$id.$slug.tsx +2 -0
- package/corpus/templates/tasks/app/routes/extensions.$id.tsx +11 -0
- package/corpus/templates/tasks/app/routes/extensions._index.tsx +11 -0
- package/corpus/templates/tasks/app/routes/extensions.tsx +5 -0
- package/corpus/templates/tasks/app/routes/fields.tsx +16 -0
- package/corpus/templates/tasks/app/routes/inbox.tsx +16 -0
- package/corpus/templates/tasks/app/routes/tasks.tsx +17 -0
- package/corpus/templates/tasks/app/routes/team.tsx +17 -0
- package/corpus/templates/tasks/app/routes.ts +4 -0
- package/corpus/templates/tasks/app/vite-env.d.ts +6 -0
- package/corpus/templates/tasks/components.json +20 -0
- package/corpus/templates/tasks/data/sync-config.json +1 -0
- package/corpus/templates/tasks/docs/features/README.md +81 -0
- package/corpus/templates/tasks/docs/features/f1-tasks.mdx +67 -0
- package/corpus/templates/tasks/docs/features/f2-custom-fields.mdx +68 -0
- package/corpus/templates/tasks/docs/features/f3-projects.mdx +33 -0
- package/corpus/templates/tasks/docs/features/f4-inbox.mdx +55 -0
- package/corpus/templates/tasks/docs/features/f5-views.mdx +65 -0
- package/corpus/templates/tasks/docs/features/f6-search.mdx +43 -0
- package/corpus/templates/tasks/docs/features/f7-first-run.mdx +66 -0
- package/corpus/templates/tasks/docs/features/f8-chat.mdx +120 -0
- package/corpus/templates/tasks/e2e/global-setup.ts +42 -0
- package/corpus/templates/tasks/e2e/helpers/inbox.ts +71 -0
- package/corpus/templates/tasks/e2e/helpers/tasks.ts +99 -0
- package/corpus/templates/tasks/learnings.defaults.md +5 -0
- package/corpus/templates/tasks/netlify.toml +10 -0
- package/corpus/templates/tasks/package.json +104 -0
- package/corpus/templates/tasks/playwright.config.ts +34 -0
- package/corpus/templates/tasks/public/agent-native-icon-dark.svg +10 -0
- package/corpus/templates/tasks/public/agent-native-icon-light.svg +10 -0
- package/corpus/templates/tasks/public/agent-native-logo-dark.svg +21 -0
- package/corpus/templates/tasks/public/agent-native-logo-light.svg +21 -0
- package/corpus/templates/tasks/public/favicon.svg +1 -0
- package/corpus/templates/tasks/public/icon-180.svg +1 -0
- package/corpus/templates/tasks/public/icon-192.svg +1 -0
- package/corpus/templates/tasks/public/icon-512.svg +1 -0
- package/corpus/templates/tasks/public/manifest.json +21 -0
- package/corpus/templates/tasks/react-router.config.ts +7 -0
- package/corpus/templates/tasks/server/custom-fields/normalize.ts +163 -0
- package/corpus/templates/tasks/server/custom-fields/parse.ts +146 -0
- package/corpus/templates/tasks/server/custom-fields/schema.ts +147 -0
- package/corpus/templates/tasks/server/custom-fields/store.ts +425 -0
- package/corpus/templates/tasks/server/custom-fields/task-fields.ts +104 -0
- package/corpus/templates/tasks/server/custom-fields/types.ts +98 -0
- package/corpus/templates/tasks/server/custom-fields/validate.ts +210 -0
- package/corpus/templates/tasks/server/custom-fields/values/store.ts +386 -0
- package/corpus/templates/tasks/server/db/bulk-write.ts +30 -0
- package/corpus/templates/tasks/server/db/index.ts +5 -0
- package/corpus/templates/tasks/server/db/record-utils.ts +7 -0
- package/corpus/templates/tasks/server/db/schema.ts +67 -0
- package/corpus/templates/tasks/server/db/test-tasks-table.ts +76 -0
- package/corpus/templates/tasks/server/db/transaction.ts +6 -0
- package/corpus/templates/tasks/server/errors.ts +31 -0
- package/corpus/templates/tasks/server/inbox/store.ts +216 -0
- package/corpus/templates/tasks/server/middleware/auth.ts +15 -0
- package/corpus/templates/tasks/server/plugins/agent-chat.ts +46 -0
- package/corpus/templates/tasks/server/plugins/auth.ts +15 -0
- package/corpus/templates/tasks/server/plugins/db.ts +90 -0
- package/corpus/templates/tasks/server/routes/[...page].get.ts +5 -0
- package/corpus/templates/tasks/server/stored-items/store.ts +548 -0
- package/corpus/templates/tasks/server/tasks/store.ts +306 -0
- package/corpus/templates/tasks/server/user-config/store.ts +138 -0
- package/corpus/templates/tasks/shared/app-state-tabs.ts +15 -0
- package/corpus/templates/tasks/shared/boolean-param.ts +22 -0
- package/corpus/templates/tasks/shared/bulk-limits.ts +7 -0
- package/corpus/templates/tasks/shared/list-screen-snapshot.ts +90 -0
- package/corpus/templates/tasks/shared/navigation.ts +104 -0
- package/corpus/templates/tasks/shared/visible-task-fields.ts +2 -0
- package/corpus/templates/tasks/ssr-entry.ts +15 -0
- package/corpus/templates/tasks/tsconfig.json +24 -0
- package/corpus/templates/tasks/vite.config.ts +19 -0
- package/corpus/templates/tasks/vitest.config.ts +8 -0
- package/dist/cli/create.d.ts +5 -2
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +22 -11
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/templates-meta.d.ts.map +1 -1
- package/dist/cli/templates-meta.js +13 -0
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/client/AgentPanel.d.ts +2 -0
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +24 -13
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +1 -1
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts +3 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +6 -5
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +2 -1
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/templates/chat/.agents/skills/actions/SKILL.md +492 -0
- package/dist/templates/chat/.agents/skills/adding-a-feature/SKILL.md +189 -0
- package/dist/templates/chat/.agents/skills/agent-native-docs/SKILL.md +76 -0
- package/dist/templates/chat/.agents/skills/capture-learnings/SKILL.md +89 -0
- package/dist/templates/chat/.agents/skills/create-skill/SKILL.md +221 -0
- package/dist/templates/chat/.agents/skills/delegate-to-agent/SKILL.md +263 -0
- package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +112 -0
- package/dist/templates/chat/.agents/skills/real-time-sync/SKILL.md +232 -0
- package/dist/templates/chat/.agents/skills/security/SKILL.md +280 -0
- package/dist/templates/chat/.agents/skills/self-modifying-code/SKILL.md +106 -0
- package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +95 -0
- package/dist/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
- package/dist/templates/chat/.env.example +5 -0
- package/dist/templates/chat/.ignore +0 -0
- package/dist/templates/chat/.oxfmtrc.json +8 -0
- package/dist/templates/chat/.react-router/types/+server-build.d.ts +18 -0
- package/dist/templates/chat/.react-router/types/app/+types/root.ts +68 -0
- package/dist/templates/chat/AGENTS.md +62 -0
- package/dist/templates/chat/CHANGELOG.md +10 -0
- package/dist/templates/chat/DEVELOPING.md +185 -0
- package/dist/templates/chat/README.md +32 -0
- package/dist/templates/chat/_gitignore +43 -0
- package/dist/templates/chat/actions/hello.ts +13 -0
- package/dist/templates/chat/actions/navigate.ts +41 -0
- package/dist/templates/chat/actions/run.ts +2 -0
- package/dist/templates/chat/actions/view-screen.ts +31 -0
- package/dist/templates/chat/app/components/layout/Header.tsx +59 -0
- package/dist/templates/chat/app/components/layout/Layout.tsx +184 -0
- package/dist/templates/chat/app/components/layout/Sidebar.tsx +580 -0
- package/dist/templates/chat/app/components/ui/button.tsx +1 -0
- package/dist/templates/chat/app/components/ui/card.tsx +1 -0
- package/dist/templates/chat/app/components/ui/dropdown-menu.tsx +1 -0
- package/dist/templates/chat/app/components/ui/input.tsx +1 -0
- package/dist/templates/chat/app/components/ui/label.tsx +1 -0
- package/dist/templates/chat/app/components/ui/sheet.tsx +1 -0
- package/dist/templates/chat/app/components/ui/toolkit-provider.tsx +12 -0
- package/dist/templates/chat/app/components/ui/tooltip.tsx +1 -0
- package/dist/templates/chat/app/entry.client.tsx +19 -0
- package/dist/templates/chat/app/entry.server.tsx +10 -0
- package/dist/templates/chat/app/global.css +93 -0
- package/dist/templates/chat/app/hooks/use-navigation-state.ts +111 -0
- package/dist/templates/chat/app/i18n/ar-SA.ts +68 -0
- package/dist/templates/chat/app/i18n/de-DE.ts +71 -0
- package/dist/templates/chat/app/i18n/en-US.ts +70 -0
- package/dist/templates/chat/app/i18n/es-ES.ts +71 -0
- package/dist/templates/chat/app/i18n/fr-FR.ts +71 -0
- package/dist/templates/chat/app/i18n/hi-IN.ts +69 -0
- package/dist/templates/chat/app/i18n/index.ts +34 -0
- package/dist/templates/chat/app/i18n/ja-JP.ts +70 -0
- package/dist/templates/chat/app/i18n/ko-KR.ts +70 -0
- package/dist/templates/chat/app/i18n/pt-BR.ts +71 -0
- package/dist/templates/chat/app/i18n/zh-CN.ts +67 -0
- package/dist/templates/chat/app/i18n/zh-TW.ts +67 -0
- package/dist/templates/chat/app/i18n-data.ts +556 -0
- package/dist/templates/chat/app/lib/agent-page.tsx +40 -0
- package/dist/templates/chat/app/lib/app-config.ts +11 -0
- package/dist/templates/chat/app/lib/tab-id.ts +1 -0
- package/dist/templates/chat/app/lib/utils.ts +1 -0
- package/dist/templates/chat/app/root.tsx +172 -0
- package/dist/templates/chat/app/routes/_index.tsx +91 -0
- package/dist/templates/chat/app/routes/agent.tsx +17 -0
- package/dist/templates/chat/app/routes/chat.$threadId.tsx +1 -0
- package/dist/templates/chat/app/routes/database.tsx +17 -0
- package/dist/templates/chat/app/routes/extensions.$id.$slug.tsx +2 -0
- package/dist/templates/chat/app/routes/extensions.$id.tsx +11 -0
- package/dist/templates/chat/app/routes/extensions._index.tsx +11 -0
- package/dist/templates/chat/app/routes/extensions.tsx +5 -0
- package/dist/templates/chat/app/routes/observability.tsx +18 -0
- package/dist/templates/chat/app/routes/settings.tsx +88 -0
- package/dist/templates/chat/app/routes/team.tsx +11 -0
- package/dist/templates/chat/app/routes.ts +4 -0
- package/dist/templates/chat/app/vite-env.d.ts +6 -0
- package/dist/templates/chat/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
- package/dist/templates/chat/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/dist/templates/chat/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/dist/templates/chat/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
- package/dist/templates/chat/changelog/2026-06-29-chat-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
- package/dist/templates/chat/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/dist/templates/chat/changelog/2026-07-10-chat-now-makes-ai-connection-setup-clear-without-shifting-th.md +6 -0
- package/dist/templates/chat/changelog/2026-07-13-a-full-agent-page-now-brings-context-files-connections-jobs-.md +6 -0
- package/dist/templates/chat/changelog/2026-07-14-chat-opens-reliably-on-hosted-deployments-instead-of-failing.md +6 -0
- package/dist/templates/chat/changelog/2026-07-14-fixed-chat-template-startup-with-older-core-versions.md +6 -0
- package/dist/templates/chat/changelog/2026-07-15-chat-navigation-focuses-on-chat-and-agent.md +6 -0
- package/dist/templates/chat/components.json +20 -0
- package/dist/templates/chat/data/.gitkeep +0 -0
- package/dist/templates/chat/data/sync-config.json +1 -0
- package/dist/templates/chat/learnings.defaults.md +5 -0
- package/dist/templates/chat/netlify.toml +10 -0
- package/dist/templates/chat/package.json +92 -0
- package/dist/templates/chat/public/agent-native-icon-dark.svg +10 -0
- package/dist/templates/chat/public/agent-native-icon-light.svg +10 -0
- package/dist/templates/chat/public/agent-native-logo-dark.svg +21 -0
- package/dist/templates/chat/public/agent-native-logo-light.svg +21 -0
- package/dist/templates/chat/public/favicon.svg +1 -0
- package/dist/templates/chat/public/icon-180.svg +1 -0
- package/dist/templates/chat/public/icon-192.svg +1 -0
- package/dist/templates/chat/public/icon-512.svg +1 -0
- package/dist/templates/chat/public/manifest.json +21 -0
- package/dist/templates/chat/react-router.config.ts +7 -0
- package/dist/templates/chat/server/middleware/auth.ts +15 -0
- package/dist/templates/chat/server/plugins/agent-chat.ts +21 -0
- package/dist/templates/chat/server/plugins/auth.ts +17 -0
- package/dist/templates/chat/server/routes/[...page].get.ts +5 -0
- package/dist/templates/chat/ssr-entry.ts +15 -0
- package/dist/templates/chat/tsconfig.json +21 -0
- package/dist/templates/chat/vite.config.ts +19 -0
- package/package.json +2 -1
- package/src/templates/chat/.agents/skills/actions/SKILL.md +492 -0
- package/src/templates/chat/.agents/skills/adding-a-feature/SKILL.md +189 -0
- package/src/templates/chat/.agents/skills/agent-native-docs/SKILL.md +76 -0
- package/src/templates/chat/.agents/skills/capture-learnings/SKILL.md +89 -0
- package/src/templates/chat/.agents/skills/create-skill/SKILL.md +221 -0
- package/src/templates/chat/.agents/skills/delegate-to-agent/SKILL.md +263 -0
- package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +112 -0
- package/src/templates/chat/.agents/skills/real-time-sync/SKILL.md +232 -0
- package/src/templates/chat/.agents/skills/security/SKILL.md +280 -0
- package/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +106 -0
- package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +95 -0
- package/src/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +87 -0
- package/src/templates/chat/.env.example +5 -0
- package/src/templates/chat/.ignore +0 -0
- package/src/templates/chat/.oxfmtrc.json +8 -0
- package/src/templates/chat/.react-router/types/+server-build.d.ts +18 -0
- package/src/templates/chat/.react-router/types/app/+types/root.ts +68 -0
- package/src/templates/chat/AGENTS.md +62 -0
- package/src/templates/chat/CHANGELOG.md +10 -0
- package/src/templates/chat/DEVELOPING.md +185 -0
- package/src/templates/chat/README.md +32 -0
- package/src/templates/chat/_gitignore +43 -0
- package/src/templates/chat/actions/hello.spec.ts +23 -0
- package/src/templates/chat/actions/hello.ts +13 -0
- package/src/templates/chat/actions/navigate.spec.ts +68 -0
- package/src/templates/chat/actions/navigate.ts +41 -0
- package/src/templates/chat/actions/run.ts +2 -0
- package/src/templates/chat/actions/view-screen.spec.ts +40 -0
- package/src/templates/chat/actions/view-screen.ts +31 -0
- package/src/templates/chat/app/components/layout/Header.tsx +59 -0
- package/src/templates/chat/app/components/layout/Layout.tsx +184 -0
- package/src/templates/chat/app/components/layout/Sidebar.tsx +580 -0
- package/src/templates/chat/app/components/ui/button.tsx +1 -0
- package/src/templates/chat/app/components/ui/card.tsx +1 -0
- package/src/templates/chat/app/components/ui/dropdown-menu.tsx +1 -0
- package/src/templates/chat/app/components/ui/input.tsx +1 -0
- package/src/templates/chat/app/components/ui/label.tsx +1 -0
- package/src/templates/chat/app/components/ui/sheet.tsx +1 -0
- package/src/templates/chat/app/components/ui/toolkit-provider.tsx +12 -0
- package/src/templates/chat/app/components/ui/tooltip.tsx +1 -0
- package/src/templates/chat/app/entry.client.tsx +19 -0
- package/src/templates/chat/app/entry.server.tsx +10 -0
- package/src/templates/chat/app/global.css +93 -0
- package/src/templates/chat/app/hooks/use-navigation-state.ts +111 -0
- package/src/templates/chat/app/i18n/ar-SA.ts +68 -0
- package/src/templates/chat/app/i18n/de-DE.ts +71 -0
- package/src/templates/chat/app/i18n/en-US.ts +70 -0
- package/src/templates/chat/app/i18n/es-ES.ts +71 -0
- package/src/templates/chat/app/i18n/fr-FR.ts +71 -0
- package/src/templates/chat/app/i18n/hi-IN.ts +69 -0
- package/src/templates/chat/app/i18n/index.ts +34 -0
- package/src/templates/chat/app/i18n/ja-JP.ts +70 -0
- package/src/templates/chat/app/i18n/ko-KR.ts +70 -0
- package/src/templates/chat/app/i18n/pt-BR.ts +71 -0
- package/src/templates/chat/app/i18n/zh-CN.ts +67 -0
- package/src/templates/chat/app/i18n/zh-TW.ts +67 -0
- package/src/templates/chat/app/i18n-data.ts +556 -0
- package/src/templates/chat/app/lib/agent-page.spec.tsx +52 -0
- package/src/templates/chat/app/lib/agent-page.tsx +40 -0
- package/src/templates/chat/app/lib/app-config.ts +11 -0
- package/src/templates/chat/app/lib/tab-id.ts +1 -0
- package/src/templates/chat/app/lib/utils.ts +1 -0
- package/src/templates/chat/app/root.tsx +172 -0
- package/src/templates/chat/app/routes/_index.tsx +91 -0
- package/src/templates/chat/app/routes/agent.tsx +17 -0
- package/src/templates/chat/app/routes/chat.$threadId.tsx +1 -0
- package/src/templates/chat/app/routes/database.tsx +17 -0
- package/src/templates/chat/app/routes/extensions.$id.$slug.tsx +2 -0
- package/src/templates/chat/app/routes/extensions.$id.tsx +11 -0
- package/src/templates/chat/app/routes/extensions._index.tsx +11 -0
- package/src/templates/chat/app/routes/extensions.tsx +5 -0
- package/src/templates/chat/app/routes/observability.tsx +18 -0
- package/src/templates/chat/app/routes/settings.tsx +88 -0
- package/src/templates/chat/app/routes/team.tsx +11 -0
- package/src/templates/chat/app/routes.ts +4 -0
- package/src/templates/chat/app/vite-env.d.ts +6 -0
- package/src/templates/chat/changelog/2026-06-24-a-new-settings-page-gives-quick-access-to-language-workspace.md +6 -0
- package/src/templates/chat/changelog/2026-06-24-added-a-language-picker-and-localized-app-chrome-for-support.md +6 -0
- package/src/templates/chat/changelog/2026-06-27-traditional-chinese-copy-uses-taiwan-terminology.md +6 -0
- package/src/templates/chat/changelog/2026-06-28-left-sidebar-collapse-motion-and-footer-chrome-are-quieter.md +6 -0
- package/src/templates/chat/changelog/2026-06-29-chat-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
- package/src/templates/chat/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/src/templates/chat/changelog/2026-07-10-chat-now-makes-ai-connection-setup-clear-without-shifting-th.md +6 -0
- package/src/templates/chat/changelog/2026-07-13-a-full-agent-page-now-brings-context-files-connections-jobs-.md +6 -0
- package/src/templates/chat/changelog/2026-07-14-chat-opens-reliably-on-hosted-deployments-instead-of-failing.md +6 -0
- package/src/templates/chat/changelog/2026-07-14-fixed-chat-template-startup-with-older-core-versions.md +6 -0
- package/src/templates/chat/changelog/2026-07-15-chat-navigation-focuses-on-chat-and-agent.md +6 -0
- package/src/templates/chat/components.json +20 -0
- package/src/templates/chat/data/.gitkeep +0 -0
- package/src/templates/chat/data/sync-config.json +1 -0
- package/src/templates/chat/learnings.defaults.md +5 -0
- package/src/templates/chat/netlify.toml +10 -0
- package/src/templates/chat/package.json +92 -0
- package/src/templates/chat/public/agent-native-icon-dark.svg +10 -0
- package/src/templates/chat/public/agent-native-icon-light.svg +10 -0
- package/src/templates/chat/public/agent-native-logo-dark.svg +21 -0
- package/src/templates/chat/public/agent-native-logo-light.svg +21 -0
- package/src/templates/chat/public/favicon.svg +1 -0
- package/src/templates/chat/public/icon-180.svg +1 -0
- package/src/templates/chat/public/icon-192.svg +1 -0
- package/src/templates/chat/public/icon-512.svg +1 -0
- package/src/templates/chat/public/manifest.json +21 -0
- package/src/templates/chat/react-router.config.ts +7 -0
- package/src/templates/chat/server/middleware/auth.ts +15 -0
- package/src/templates/chat/server/plugins/agent-chat.ts +21 -0
- package/src/templates/chat/server/plugins/auth.ts +17 -0
- package/src/templates/chat/server/routes/[...page].get.ts +5 -0
- package/src/templates/chat/ssr-entry.ts +15 -0
- package/src/templates/chat/tsconfig.json +21 -0
- package/src/templates/chat/vite.config.ts +19 -0
package/corpus/README.md
CHANGED
package/corpus/core/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @agent-native/core
|
|
2
2
|
|
|
3
|
+
## 0.102.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 6498492: Add the Tasks template app — a task-list-first agent-native workspace with inbox triage, custom fields, and full action parity for UI and agent.
|
|
8
|
+
|
|
9
|
+
## 0.101.14
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 866d8f0: Bundle the Chat template in the CLI package and download GitHub fallbacks directly from codeload for faster, more reliable scaffolding.
|
|
14
|
+
- 866d8f0: Polish the chat sidebar header by hiding mode tabs and moving full-view navigation into the icon row.
|
|
15
|
+
|
|
3
16
|
## 0.101.13
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/corpus/core/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.102.0",
|
|
4
4
|
"description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/agent-native#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"tsconfig.base.json",
|
|
25
25
|
"src/templates/default",
|
|
26
26
|
"src/templates/headless",
|
|
27
|
+
"src/templates/chat",
|
|
27
28
|
"src/templates/workspace-core",
|
|
28
29
|
"src/templates/workspace-root"
|
|
29
30
|
],
|
|
@@ -249,7 +250,8 @@
|
|
|
249
250
|
"dev": "tsc --watch",
|
|
250
251
|
"typecheck": "tsc --noEmit",
|
|
251
252
|
"test": "vitest --run src --maxWorkers=25%",
|
|
252
|
-
"prepack": "tsx ../../scripts/sync-workspace-core-skills.ts --check && npm run build && cp ../../README.md ./README.md",
|
|
253
|
+
"prepack": "tsx ../../scripts/sync-core-first-party-templates.ts && tsx ../../scripts/sync-workspace-core-skills.ts --check && npm run build && cp ../../README.md ./README.md",
|
|
254
|
+
"postpack": "tsx ../../scripts/sync-core-first-party-templates.ts --clean",
|
|
253
255
|
"prepublishOnly": "npm run build"
|
|
254
256
|
},
|
|
255
257
|
"dependencies": {
|
|
@@ -785,7 +785,8 @@ function cleanupOnFailure(targetDir: string): void {
|
|
|
785
785
|
* Scaffold a single app template into `targetDir`. Resolves:
|
|
786
786
|
* - "headless" / legacy "blank" → bundled action-first template
|
|
787
787
|
* - "github:user/repo" → download the whole repo
|
|
788
|
-
* - first-party template name → download
|
|
788
|
+
* - first-party template name → use a bundled copy or download its subdir
|
|
789
|
+
* from BuilderIO/agent-native
|
|
789
790
|
*/
|
|
790
791
|
async function scaffoldAppTemplate(
|
|
791
792
|
targetDir: string,
|
|
@@ -842,15 +843,26 @@ function templateSourceName(name: string): string {
|
|
|
842
843
|
}
|
|
843
844
|
|
|
844
845
|
/**
|
|
845
|
-
*
|
|
846
|
-
*
|
|
846
|
+
* Prefer a nearby templates/<name> or src/templates/<name> directory. This
|
|
847
|
+
* covers the framework checkout, the dist/templates copy bundled into
|
|
848
|
+
* published CLI packages, and source templates included in package files;
|
|
849
|
+
* packages that do not bundle a template fall back to GitHub.
|
|
847
850
|
*/
|
|
848
851
|
function findLocalTemplate(name: string): string | undefined {
|
|
849
|
-
|
|
852
|
+
return findLocalTemplateFrom(path.resolve(__dirname), name);
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
function findLocalTemplateFrom(
|
|
856
|
+
startDir: string,
|
|
857
|
+
name: string,
|
|
858
|
+
): string | undefined {
|
|
859
|
+
let dir = path.resolve(startDir);
|
|
850
860
|
for (let i = 0; i < 10; i++) {
|
|
851
|
-
const
|
|
852
|
-
|
|
853
|
-
|
|
861
|
+
for (const templatesDir of ["templates", "src/templates"]) {
|
|
862
|
+
const candidate = path.join(dir, templatesDir, name);
|
|
863
|
+
if (fs.existsSync(path.join(candidate, "package.json"))) {
|
|
864
|
+
return candidate;
|
|
865
|
+
}
|
|
854
866
|
}
|
|
855
867
|
const parent = path.dirname(dir);
|
|
856
868
|
if (parent === dir) break;
|
|
@@ -1332,6 +1344,8 @@ export {
|
|
|
1332
1344
|
getToolkitDependencyVersion as _getToolkitDependencyVersion,
|
|
1333
1345
|
getGitHubTemplateRef as _getGitHubTemplateRef,
|
|
1334
1346
|
getGitHubTemplateRefCandidates as _getGitHubTemplateRefCandidates,
|
|
1347
|
+
githubTarballUrl as _githubTarballUrl,
|
|
1348
|
+
findLocalTemplateFrom as _findLocalTemplateFrom,
|
|
1335
1349
|
workspaceAppNameForTemplateSelection as _workspaceAppNameForTemplateSelection,
|
|
1336
1350
|
shouldSkipScaffoldEntry as _shouldSkipScaffoldEntry,
|
|
1337
1351
|
tarExtractArgs as _tarExtractArgs,
|
|
@@ -1405,7 +1419,7 @@ async function downloadAndExtract(
|
|
|
1405
1419
|
"10",
|
|
1406
1420
|
"--max-time",
|
|
1407
1421
|
"120",
|
|
1408
|
-
"-
|
|
1422
|
+
"-sSL",
|
|
1409
1423
|
url,
|
|
1410
1424
|
],
|
|
1411
1425
|
{ maxBuffer: 100 * 1024 * 1024 },
|
|
@@ -1435,7 +1449,7 @@ async function downloadGitHubSubdir(
|
|
|
1435
1449
|
}
|
|
1436
1450
|
const errors: string[] = [];
|
|
1437
1451
|
for (const ref of refs) {
|
|
1438
|
-
const tarUrl =
|
|
1452
|
+
const tarUrl = githubTarballUrl(repo, ref, "tag");
|
|
1439
1453
|
const tmpDir = path.join(
|
|
1440
1454
|
targetDir,
|
|
1441
1455
|
"..",
|
|
@@ -1471,10 +1485,18 @@ async function downloadGitHubRepo(
|
|
|
1471
1485
|
targetDir: string,
|
|
1472
1486
|
): Promise<void> {
|
|
1473
1487
|
validateRepoName(repo);
|
|
1474
|
-
const tarUrl =
|
|
1488
|
+
const tarUrl = githubTarballUrl(repo, "main", "branch");
|
|
1475
1489
|
await downloadAndExtract(tarUrl, targetDir);
|
|
1476
1490
|
}
|
|
1477
1491
|
|
|
1492
|
+
function githubTarballUrl(
|
|
1493
|
+
repo: string,
|
|
1494
|
+
ref: string,
|
|
1495
|
+
kind: "branch" | "tag",
|
|
1496
|
+
): string {
|
|
1497
|
+
return `https://codeload.github.com/${repo}/tar.gz/refs/${kind === "tag" ? "tags" : "heads"}/${encodeURIComponent(ref)}`;
|
|
1498
|
+
}
|
|
1499
|
+
|
|
1478
1500
|
/* ─────────────────────────────────────────────────────────────────────────
|
|
1479
1501
|
* Text / filesystem helpers
|
|
1480
1502
|
* ───────────────────────────────────────────────────────────────────────── */
|
|
@@ -214,6 +214,19 @@ export const TEMPLATES: TemplateMeta[] = [
|
|
|
214
214
|
requiredPackages: ["embedding"],
|
|
215
215
|
core: true,
|
|
216
216
|
},
|
|
217
|
+
{
|
|
218
|
+
name: "tasks",
|
|
219
|
+
label: "Tasks",
|
|
220
|
+
hint: "Task-list-first workspace — inbox capture, custom fields, and drag-and-drop ordering",
|
|
221
|
+
icon: "ListCheck",
|
|
222
|
+
color: "#6366F1",
|
|
223
|
+
colorRgb: "99 102 241",
|
|
224
|
+
devPort: 8091,
|
|
225
|
+
prodUrl: "https://tasks.agent-native.com",
|
|
226
|
+
defaultMode: "prod",
|
|
227
|
+
hidden: true,
|
|
228
|
+
core: false,
|
|
229
|
+
},
|
|
217
230
|
{
|
|
218
231
|
name: "macros",
|
|
219
232
|
label: "Macros",
|
|
@@ -437,6 +437,19 @@ export function shouldShowAgentPanelCliTabBar(cliTabs: string[]) {
|
|
|
437
437
|
return cliTabs.length > 1;
|
|
438
438
|
}
|
|
439
439
|
|
|
440
|
+
export function shouldShowAgentPanelModeButtons(isSidebar: boolean) {
|
|
441
|
+
return !isSidebar;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
export function shouldShowAgentPanelFullViewAction(
|
|
445
|
+
agentPageHref: string | undefined,
|
|
446
|
+
mode: PanelMode,
|
|
447
|
+
) {
|
|
448
|
+
return (
|
|
449
|
+
Boolean(agentPageHref) && (mode === "resources" || mode === "settings")
|
|
450
|
+
);
|
|
451
|
+
}
|
|
452
|
+
|
|
440
453
|
// ─── AgentPanel ─────────────────────────────────────────────────────────────
|
|
441
454
|
|
|
442
455
|
export interface AgentPanelCodeAccess {
|
|
@@ -1171,33 +1184,34 @@ function AgentPanelInner({
|
|
|
1171
1184
|
| "toggleHistory"
|
|
1172
1185
|
> & { activeChatSessionId?: string }) => (
|
|
1173
1186
|
<div className="relative flex shrink-0 items-center gap-0.5">
|
|
1174
|
-
{SHOW_ONBOARDING && (
|
|
1187
|
+
{!onCollapse && SHOW_ONBOARDING && (
|
|
1175
1188
|
<Suspense fallback={null}>
|
|
1176
1189
|
<SetupButton />
|
|
1177
1190
|
</Suspense>
|
|
1178
1191
|
)}
|
|
1179
|
-
{
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1192
|
+
{!onCollapse &&
|
|
1193
|
+
(() => {
|
|
1194
|
+
const activeTab =
|
|
1195
|
+
mode === "chat" && activeChatSessionId
|
|
1196
|
+
? tabs.find((tab) => tab.id === activeChatSessionId)
|
|
1197
|
+
: undefined;
|
|
1198
|
+
if (
|
|
1199
|
+
!activeTab ||
|
|
1200
|
+
(activeTabMessageCount <= 0 && activeTab.status === "idle")
|
|
1201
|
+
) {
|
|
1202
|
+
return null;
|
|
1203
|
+
}
|
|
1204
|
+
return (
|
|
1205
|
+
<ShareButton
|
|
1206
|
+
resourceType="chat_thread"
|
|
1207
|
+
resourceId={activeTab.id}
|
|
1208
|
+
resourceTitle={activeTab.label || "Chat"}
|
|
1209
|
+
shareUrl={getChatThreadShareUrl(activeTab.id)}
|
|
1210
|
+
trigger="icon"
|
|
1211
|
+
triggerClassName="h-7 w-7"
|
|
1212
|
+
/>
|
|
1213
|
+
);
|
|
1214
|
+
})()}
|
|
1201
1215
|
<FeedbackButton
|
|
1202
1216
|
variant="icon"
|
|
1203
1217
|
side="bottom"
|
|
@@ -1215,7 +1229,7 @@ function AgentPanelInner({
|
|
|
1215
1229
|
/>
|
|
1216
1230
|
}
|
|
1217
1231
|
/>
|
|
1218
|
-
{mode === "chat" && (
|
|
1232
|
+
{!onCollapse && mode === "chat" && (
|
|
1219
1233
|
<IconTooltip content={t("agentPanel.newChat")}>
|
|
1220
1234
|
<button
|
|
1221
1235
|
onClick={addTab}
|
|
@@ -1226,7 +1240,7 @@ function AgentPanelInner({
|
|
|
1226
1240
|
</button>
|
|
1227
1241
|
</IconTooltip>
|
|
1228
1242
|
)}
|
|
1229
|
-
{mode === "cli" && canUseCodeTools && (
|
|
1243
|
+
{!onCollapse && mode === "cli" && canUseCodeTools && (
|
|
1230
1244
|
<IconTooltip content={t("agentPanel.newTerminal")}>
|
|
1231
1245
|
<button
|
|
1232
1246
|
onClick={addCliTab}
|
|
@@ -1237,6 +1251,18 @@ function AgentPanelInner({
|
|
|
1237
1251
|
</button>
|
|
1238
1252
|
</IconTooltip>
|
|
1239
1253
|
)}
|
|
1254
|
+
{agentPageHref &&
|
|
1255
|
+
shouldShowAgentPanelFullViewAction(agentPageHref, mode) && (
|
|
1256
|
+
<IconTooltip content={t("agentPanel.openFullView")}>
|
|
1257
|
+
<Link
|
|
1258
|
+
to={agentPageHref}
|
|
1259
|
+
aria-label={t("agentPanel.openFullView")}
|
|
1260
|
+
className="flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent/50 hover:text-foreground"
|
|
1261
|
+
>
|
|
1262
|
+
<IconArrowsMaximize size={14} />
|
|
1263
|
+
</Link>
|
|
1264
|
+
</IconTooltip>
|
|
1265
|
+
)}
|
|
1240
1266
|
<DropdownMenu open={headerMenuOpen} onOpenChange={setHeaderMenuOpen}>
|
|
1241
1267
|
<DropdownMenuTrigger asChild>
|
|
1242
1268
|
<button
|
|
@@ -1266,6 +1292,12 @@ function AgentPanelInner({
|
|
|
1266
1292
|
<DropdownMenuSeparator />
|
|
1267
1293
|
</>
|
|
1268
1294
|
)}
|
|
1295
|
+
{onCollapse && mode === "chat" && (
|
|
1296
|
+
<DropdownMenuItem onSelect={addTab}>
|
|
1297
|
+
<IconPlus size={14} className="shrink-0" />
|
|
1298
|
+
{t("agentPanel.newChat")}
|
|
1299
|
+
</DropdownMenuItem>
|
|
1300
|
+
)}
|
|
1269
1301
|
{mode === "chat" && toggleHistory && (
|
|
1270
1302
|
<DropdownMenuItem onSelect={toggleHistory}>
|
|
1271
1303
|
<IconHistory size={14} className="shrink-0" />
|
|
@@ -1430,6 +1462,7 @@ function AgentPanelInner({
|
|
|
1430
1462
|
headerMenuOpen,
|
|
1431
1463
|
isFullscreen,
|
|
1432
1464
|
mode,
|
|
1465
|
+
agentPageHref,
|
|
1433
1466
|
onCollapse,
|
|
1434
1467
|
onToggleFullscreen,
|
|
1435
1468
|
openRunThread,
|
|
@@ -1547,7 +1580,9 @@ function AgentPanelInner({
|
|
|
1547
1580
|
style={AGENT_PANEL_HEADER_STYLE}
|
|
1548
1581
|
>
|
|
1549
1582
|
<div className="flex min-w-0 flex-1 items-center gap-1 overflow-hidden">
|
|
1550
|
-
{
|
|
1583
|
+
{shouldShowAgentPanelModeButtons(Boolean(onCollapse))
|
|
1584
|
+
? renderModeButtons(mode)
|
|
1585
|
+
: null}
|
|
1551
1586
|
</div>
|
|
1552
1587
|
<div className="flex items-center gap-0.5">
|
|
1553
1588
|
{renderHeaderActions({
|
|
@@ -1939,17 +1974,6 @@ function AgentPanelInner({
|
|
|
1939
1974
|
{/* Resources view */}
|
|
1940
1975
|
{mode === "resources" && (
|
|
1941
1976
|
<div className="flex flex-1 flex-col min-h-0">
|
|
1942
|
-
{agentPageHref && (
|
|
1943
|
-
<div className="flex shrink-0 justify-end border-b border-border px-3 py-1.5">
|
|
1944
|
-
<Link
|
|
1945
|
-
to={agentPageHref}
|
|
1946
|
-
className="inline-flex cursor-pointer items-center gap-1 text-[11px] font-medium text-muted-foreground hover:text-foreground"
|
|
1947
|
-
>
|
|
1948
|
-
{t("agentPanel.openFullView")}
|
|
1949
|
-
<IconExternalLink className="h-3 w-3" />
|
|
1950
|
-
</Link>
|
|
1951
|
-
</div>
|
|
1952
|
-
)}
|
|
1953
1977
|
<Suspense
|
|
1954
1978
|
fallback={
|
|
1955
1979
|
<div className="flex h-full flex-col min-h-0">
|
|
@@ -1970,17 +1994,6 @@ function AgentPanelInner({
|
|
|
1970
1994
|
{/* Settings / Setup view */}
|
|
1971
1995
|
{mode === "settings" && (
|
|
1972
1996
|
<div className="flex flex-col flex-1 min-h-0">
|
|
1973
|
-
{agentPageHref && (
|
|
1974
|
-
<div className="flex shrink-0 justify-end border-b border-border px-3 py-1.5">
|
|
1975
|
-
<Link
|
|
1976
|
-
to={agentPageHref}
|
|
1977
|
-
className="inline-flex cursor-pointer items-center gap-1 text-[11px] font-medium text-muted-foreground hover:text-foreground"
|
|
1978
|
-
>
|
|
1979
|
-
{t("agentPanel.openFullView")}
|
|
1980
|
-
<IconExternalLink className="h-3 w-3" />
|
|
1981
|
-
</Link>
|
|
1982
|
-
</div>
|
|
1983
|
-
)}
|
|
1984
1997
|
<Suspense
|
|
1985
1998
|
fallback={
|
|
1986
1999
|
<div className="p-3 space-y-2">
|
|
@@ -901,6 +901,7 @@ function ReasoningMessagePart() {
|
|
|
901
901
|
<ReasoningCell
|
|
902
902
|
text={part.text}
|
|
903
903
|
isStreaming={isStreaming}
|
|
904
|
+
resetKey={`message-reasoning-${partIndex}`}
|
|
904
905
|
durationMs={durationMs}
|
|
905
906
|
defaultOpen={partIndex === latestReasoningPartIndex}
|
|
906
907
|
collapseWhenReplaced={partIndex < latestReasoningPartIndex}
|
|
@@ -52,6 +52,7 @@ import {
|
|
|
52
52
|
markdownModule,
|
|
53
53
|
remarkGfmFn,
|
|
54
54
|
markdownUrlTransform,
|
|
55
|
+
useSmoothStreamingText,
|
|
55
56
|
} from "./markdown-renderer.js";
|
|
56
57
|
import { resolveToolRenderer } from "./tool-render-registry.js";
|
|
57
58
|
import {
|
|
@@ -929,6 +930,7 @@ export function ReconnectStreamMessage({
|
|
|
929
930
|
key={`reconnect-reasoning-${i}`}
|
|
930
931
|
text={part.text}
|
|
931
932
|
isStreaming={chatRunning && i === streamingReasoningPartIndex}
|
|
933
|
+
resetKey={`reconnect-reasoning-${i}`}
|
|
932
934
|
defaultOpen={i === latestReasoningPartIndex}
|
|
933
935
|
collapseWhenReplaced={i < latestReasoningPartIndex}
|
|
934
936
|
/>
|
|
@@ -973,6 +975,7 @@ const WorkSummaryContentContext = React.createContext(false);
|
|
|
973
975
|
export function ReasoningCell({
|
|
974
976
|
text,
|
|
975
977
|
isStreaming = false,
|
|
978
|
+
resetKey,
|
|
976
979
|
defaultOpen,
|
|
977
980
|
autoCollapse = false,
|
|
978
981
|
collapseWhenReplaced = false,
|
|
@@ -980,6 +983,8 @@ export function ReasoningCell({
|
|
|
980
983
|
}: {
|
|
981
984
|
text: string;
|
|
982
985
|
isStreaming?: boolean;
|
|
986
|
+
/** Stable identity used to restart the reveal when a new reasoning part mounts. */
|
|
987
|
+
resetKey?: string;
|
|
983
988
|
defaultOpen?: boolean;
|
|
984
989
|
/** Animate closed when a live reasoning segment finishes during a run. */
|
|
985
990
|
autoCollapse?: boolean;
|
|
@@ -998,6 +1003,11 @@ export function ReasoningCell({
|
|
|
998
1003
|
const wasStreamingRef = useRef(isStreaming);
|
|
999
1004
|
const wasReplacedRef = useRef(collapseWhenReplaced);
|
|
1000
1005
|
const trimmed = text.trim();
|
|
1006
|
+
const visibleText = useSmoothStreamingText(
|
|
1007
|
+
trimmed,
|
|
1008
|
+
isStreaming,
|
|
1009
|
+
resetKey ?? "reasoning",
|
|
1010
|
+
);
|
|
1001
1011
|
|
|
1002
1012
|
useEffect(() => {
|
|
1003
1013
|
if (autoCollapse && wasStreamingRef.current && !isStreaming) {
|
|
@@ -1018,7 +1028,7 @@ export function ReasoningCell({
|
|
|
1018
1028
|
if (embeddedInWorkSummary) {
|
|
1019
1029
|
return (
|
|
1020
1030
|
<div className="pb-1 pl-5 text-[13px] leading-relaxed text-muted-foreground whitespace-pre-wrap">
|
|
1021
|
-
{
|
|
1031
|
+
{visibleText || (isStreaming ? "…" : "")}
|
|
1022
1032
|
</div>
|
|
1023
1033
|
);
|
|
1024
1034
|
}
|
|
@@ -1055,7 +1065,7 @@ export function ReasoningCell({
|
|
|
1055
1065
|
<AnimatedCollapse open={open}>
|
|
1056
1066
|
<div className={cn("pl-5 pb-1", showTail && "reasoning-cell-tail")}>
|
|
1057
1067
|
<div className="text-[13px] leading-relaxed text-muted-foreground whitespace-pre-wrap">
|
|
1058
|
-
{
|
|
1068
|
+
{visibleText || (isStreaming ? "…" : "")}
|
|
1059
1069
|
</div>
|
|
1060
1070
|
</div>
|
|
1061
1071
|
</AnimatedCollapse>
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
IconCode,
|
|
15
15
|
IconFileText,
|
|
16
16
|
IconLayoutBoard,
|
|
17
|
+
IconListCheck,
|
|
17
18
|
IconLoader2,
|
|
18
19
|
IconLogout,
|
|
19
20
|
IconMail,
|
|
@@ -122,6 +123,7 @@ const APP_ICON_MAP: Record<string, typeof IconApps> = {
|
|
|
122
123
|
CalendarTime: IconCalendarTime,
|
|
123
124
|
Globe: IconWorld,
|
|
124
125
|
Photo: IconPhoto,
|
|
126
|
+
ListCheck: IconListCheck,
|
|
125
127
|
};
|
|
126
128
|
|
|
127
129
|
function appMenuIcon(app: OrgSwitcherAppLink): typeof IconApps {
|
|
@@ -454,6 +454,7 @@ const messages = {
|
|
|
454
454
|
invite: "Invitar",
|
|
455
455
|
embed: "Insertar",
|
|
456
456
|
shareLink: "Enlace para compartir",
|
|
457
|
+
shareWithHumans: "Compartir con personas",
|
|
457
458
|
shareWithAgents: "Compartir con agentes",
|
|
458
459
|
copyAgentPrompt: "Copiar indicación para agente",
|
|
459
460
|
agentPrompt:
|
|
@@ -454,6 +454,7 @@ const messages = {
|
|
|
454
454
|
invite: "Inviter",
|
|
455
455
|
embed: "Intégrer",
|
|
456
456
|
shareLink: "Lien de partage",
|
|
457
|
+
shareWithHumans: "Partager avec des personnes",
|
|
457
458
|
shareWithAgents: "Partager avec les agents",
|
|
458
459
|
copyAgentPrompt: "Copier le prompt pour agent",
|
|
459
460
|
agentPrompt:
|
|
@@ -437,6 +437,7 @@ const messages = {
|
|
|
437
437
|
invite: "आमंत्रित करें",
|
|
438
438
|
embed: "एम्बेड",
|
|
439
439
|
shareLink: "शेयर लिंक",
|
|
440
|
+
shareWithHumans: "लोगों के साथ साझा करें",
|
|
440
441
|
shareWithAgents: "एजेंटों के साथ साझा करें",
|
|
441
442
|
copyAgentPrompt: "एजेंट प्रॉम्प्ट कॉपी करें",
|
|
442
443
|
agentPrompt:
|
|
@@ -451,6 +451,7 @@ const messages = {
|
|
|
451
451
|
invite: "Convidar",
|
|
452
452
|
embed: "Incorporar",
|
|
453
453
|
shareLink: "Link de compartilhamento",
|
|
454
|
+
shareWithHumans: "Compartilhe com pessoas",
|
|
454
455
|
shareWithAgents: "Compartilhe com agentes",
|
|
455
456
|
copyAgentPrompt: "Copiar prompt para agente",
|
|
456
457
|
agentPrompt:
|