@agent-native/core 0.86.0 → 0.87.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 +2 -2
- package/corpus/core/CHANGELOG.md +21 -0
- package/corpus/core/docs/content/components.mdx +13 -0
- package/corpus/core/docs/content/creating-templates.mdx +7 -0
- package/corpus/core/docs/content/locales/ar-SA/components.mdx +9 -0
- package/corpus/core/docs/content/locales/ar-SA/creating-templates.mdx +2 -0
- package/corpus/core/docs/content/locales/ar-SA/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/locales/ar-SA/template-clips.mdx +7 -0
- package/corpus/core/docs/content/locales/ar-SA/tracking.mdx +6 -0
- package/corpus/core/docs/content/locales/de-DE/components.mdx +9 -0
- package/corpus/core/docs/content/locales/de-DE/creating-templates.mdx +2 -0
- package/corpus/core/docs/content/locales/de-DE/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/locales/de-DE/template-clips.mdx +7 -0
- package/corpus/core/docs/content/locales/de-DE/tracking.mdx +6 -0
- package/corpus/core/docs/content/locales/es-ES/components.mdx +9 -0
- package/corpus/core/docs/content/locales/es-ES/creating-templates.mdx +2 -0
- package/corpus/core/docs/content/locales/es-ES/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/locales/es-ES/template-clips.mdx +7 -0
- package/corpus/core/docs/content/locales/es-ES/tracking.mdx +6 -0
- package/corpus/core/docs/content/locales/fr-FR/components.mdx +9 -0
- package/corpus/core/docs/content/locales/fr-FR/creating-templates.mdx +2 -0
- package/corpus/core/docs/content/locales/fr-FR/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/locales/fr-FR/template-clips.mdx +7 -0
- package/corpus/core/docs/content/locales/fr-FR/tracking.mdx +6 -0
- package/corpus/core/docs/content/locales/hi-IN/components.mdx +9 -0
- package/corpus/core/docs/content/locales/hi-IN/creating-templates.mdx +2 -0
- package/corpus/core/docs/content/locales/hi-IN/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/locales/hi-IN/template-clips.mdx +7 -0
- package/corpus/core/docs/content/locales/hi-IN/tracking.mdx +6 -0
- package/corpus/core/docs/content/locales/ja-JP/components.mdx +9 -0
- package/corpus/core/docs/content/locales/ja-JP/creating-templates.mdx +2 -0
- package/corpus/core/docs/content/locales/ja-JP/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/locales/ja-JP/template-clips.mdx +7 -0
- package/corpus/core/docs/content/locales/ja-JP/tracking.mdx +6 -0
- package/corpus/core/docs/content/locales/ko-KR/components.mdx +9 -0
- package/corpus/core/docs/content/locales/ko-KR/creating-templates.mdx +2 -0
- package/corpus/core/docs/content/locales/ko-KR/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/locales/ko-KR/template-clips.mdx +7 -0
- package/corpus/core/docs/content/locales/ko-KR/tracking.mdx +6 -0
- package/corpus/core/docs/content/locales/pt-BR/components.mdx +9 -0
- package/corpus/core/docs/content/locales/pt-BR/creating-templates.mdx +2 -0
- package/corpus/core/docs/content/locales/pt-BR/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/locales/pt-BR/template-clips.mdx +7 -0
- package/corpus/core/docs/content/locales/pt-BR/tracking.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-CN/components.mdx +9 -0
- package/corpus/core/docs/content/locales/zh-CN/creating-templates.mdx +2 -0
- package/corpus/core/docs/content/locales/zh-CN/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-CN/template-clips.mdx +7 -0
- package/corpus/core/docs/content/locales/zh-CN/tracking.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-TW/components.mdx +9 -0
- package/corpus/core/docs/content/locales/zh-TW/creating-templates.mdx +2 -0
- package/corpus/core/docs/content/locales/zh-TW/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-TW/template-clips.mdx +7 -0
- package/corpus/core/docs/content/locales/zh-TW/tracking.mdx +6 -0
- package/corpus/core/docs/content/template-analytics.mdx +6 -0
- package/corpus/core/docs/content/template-clips.mdx +7 -0
- package/corpus/core/docs/content/tracking.mdx +6 -0
- package/corpus/core/package.json +9 -1
- package/corpus/core/src/application-state/emitter.ts +37 -5
- package/corpus/core/src/cli/create.ts +55 -3
- package/corpus/core/src/cli/workspacify.ts +10 -4
- package/corpus/core/src/client/AgentPanel.tsx +10 -0
- package/corpus/core/src/client/AssistantChat.tsx +91 -27
- package/corpus/core/src/client/ErrorBoundary.tsx +67 -12
- package/corpus/core/src/client/ErrorReportActions.tsx +69 -0
- package/corpus/core/src/client/FeedbackButton.tsx +8 -4
- package/corpus/core/src/client/components/ui/dialog.tsx +1 -91
- package/corpus/core/src/client/components/ui/dropdown-menu.tsx +1 -191
- package/corpus/core/src/client/components/ui/hover-card.tsx +1 -29
- package/corpus/core/src/client/components/ui/popover.tsx +1 -31
- package/corpus/core/src/client/components/ui/sheet.tsx +1 -96
- package/corpus/core/src/client/components/ui/tooltip.tsx +1 -53
- package/corpus/core/src/client/db-admin/DbAdminPage.tsx +41 -13
- package/corpus/core/src/client/db-admin/SqlEditor.tsx +10 -3
- package/corpus/core/src/client/db-admin/TableEditor.tsx +12 -5
- package/corpus/core/src/client/db-admin/useAgentSync.ts +10 -3
- package/corpus/core/src/client/db-admin/useDbAdmin.ts +65 -16
- package/corpus/core/src/client/error-reporting.ts +100 -0
- package/corpus/core/src/client/index.ts +11 -0
- package/corpus/core/src/client/org/RequireActiveOrg.tsx +12 -0
- package/corpus/core/src/client/visual-style-controls.tsx +615 -2
- package/corpus/core/src/db-admin/index.ts +26 -0
- package/corpus/core/src/db-admin/operations.ts +87 -49
- package/corpus/core/src/localization/default-messages.ts +4 -0
- package/corpus/core/src/secrets/crypto.ts +47 -9
- package/corpus/core/src/server/agent-access.ts +72 -0
- package/corpus/core/src/server/builder-design-systems.ts +328 -9
- package/corpus/core/src/server/h3-helpers.ts +14 -2
- package/corpus/core/src/server/index.ts +34 -0
- package/corpus/core/src/server/request-context.ts +64 -7
- package/corpus/core/src/shared/agent-access.ts +112 -0
- package/corpus/core/src/shared/index.ts +14 -0
- package/corpus/core/src/templates/default/app/root.tsx +47 -0
- package/corpus/templates/analytics/AGENTS.md +10 -4
- package/corpus/templates/analytics/actions/delete-db-admin-connection.ts +19 -0
- package/corpus/templates/analytics/actions/list-db-admin-connections.ts +18 -0
- package/corpus/templates/analytics/actions/navigate.ts +17 -3
- package/corpus/templates/analytics/actions/save-db-admin-connection.ts +33 -0
- package/corpus/templates/analytics/actions/view-screen.ts +11 -3
- package/corpus/templates/analytics/app/components/InlineMetric.tsx +2 -2
- package/corpus/templates/analytics/app/components/dashboard/CumulativeNetChart.tsx +7 -2
- package/corpus/templates/analytics/app/components/dashboard/DataTable.tsx +16 -11
- package/corpus/templates/analytics/app/components/dashboard/DateRangePicker.tsx +2 -1
- package/corpus/templates/analytics/app/components/dashboard/MetricCard.tsx +7 -2
- package/corpus/templates/analytics/app/components/dashboard/RecentActivity.tsx +6 -3
- package/corpus/templates/analytics/app/components/dashboard/RevenueChart.tsx +6 -1
- package/corpus/templates/analytics/app/components/dashboard/RevenueComparisonChart.tsx +7 -2
- package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +15 -11
- package/corpus/templates/analytics/app/components/dashboard/StatsCard.tsx +7 -1
- package/corpus/templates/analytics/app/components/dashboard/TimeSeriesChart.tsx +7 -2
- package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +16 -16
- package/corpus/templates/analytics/app/components/layout/HeaderActions.tsx +1 -2
- package/corpus/templates/analytics/app/components/layout/MobileNav.tsx +5 -2
- package/corpus/templates/analytics/app/components/layout/NewAnalysisDialog.tsx +6 -6
- package/corpus/templates/analytics/app/components/layout/NewDashboardDialog.tsx +3 -4
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +12 -9
- package/corpus/templates/analytics/app/components/ui/calendar.tsx +1 -1
- package/corpus/templates/analytics/app/hooks/use-navigation-state.ts +11 -2
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +23 -2
- package/corpus/templates/analytics/app/i18n-data.ts +230 -20
- package/corpus/templates/analytics/app/pages/Agents.tsx +406 -12
- package/corpus/templates/analytics/app/pages/DataDictionary.tsx +21 -21
- package/corpus/templates/analytics/app/pages/DataSources.tsx +28 -28
- package/corpus/templates/analytics/app/pages/NotFound.tsx +1 -2
- package/corpus/templates/analytics/app/pages/Placeholder.tsx +1 -2
- package/corpus/templates/analytics/app/pages/Settings.tsx +16 -16
- package/corpus/templates/analytics/app/pages/adhoc/DashboardSkeleton.tsx +2 -3
- package/corpus/templates/analytics/app/pages/adhoc/_shared/KpiChart.tsx +13 -8
- package/corpus/templates/analytics/app/pages/adhoc/_shared/components/DateRangeInput.tsx +2 -1
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/ChartTypePicker.tsx +4 -2
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/DateRangePicker.tsx +2 -1
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/EventCombobox.tsx +7 -7
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/EventPanel.tsx +1 -2
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/EventRow.tsx +1 -2
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/ExplorerChart.tsx +8 -3
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/FilterBuilder.tsx +4 -5
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/GroupByPicker.tsx +1 -2
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/PropertyCombobox.tsx +7 -7
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/PropertyValueCombobox.tsx +7 -7
- package/corpus/templates/analytics/app/pages/adhoc/explorer/components/SqlPreview.tsx +1 -1
- package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +16 -16
- package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/ChartCard.tsx +21 -16
- package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +32 -32
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/DashboardFilterBar.tsx +14 -14
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/EmailReportDialog.tsx +13 -14
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/PanelEditorDialog.tsx +21 -13
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +28 -23
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewSqlPopover.tsx +12 -12
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/ViewsMenu.tsx +15 -15
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +33 -29
- package/corpus/templates/analytics/app/pages/analyses/AnalysesList.tsx +7 -8
- package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +19 -19
- package/corpus/templates/analytics/app/pages/analyses/LegacyFusionAnalysis.tsx +15 -11
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +42 -23
- package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +12 -7
- package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +12 -12
- package/corpus/templates/analytics/app/pages/settings/AlertRulesSettingsCard.tsx +25 -25
- package/corpus/templates/analytics/app/root.tsx +2 -2
- package/corpus/templates/analytics/app/routes/catalog.tsx +8 -8
- package/corpus/templates/analytics/changelog/2026-07-03-connect-other-app-databases-from-analytics.md +6 -0
- package/corpus/templates/analytics/package.json +1 -0
- package/corpus/templates/analytics/server/db/schema.ts +27 -0
- package/corpus/templates/analytics/server/lib/db-admin-connections.ts +458 -0
- package/corpus/templates/analytics/server/lib/session-replay-agent-context.ts +59 -59
- package/corpus/templates/analytics/server/plugins/db.ts +35 -0
- package/corpus/templates/analytics/server/routes/[base]/_agent-native/analytics-db-admin/[...path].ts +1 -0
- package/corpus/templates/analytics/server/routes/_agent-native/analytics-db-admin/[...path].ts +160 -0
- package/corpus/templates/analytics/shared/session-replay-agent-access.ts +14 -3
- package/corpus/templates/assets/app/components/create/RecentDraftsSection.tsx +2 -3
- package/corpus/templates/assets/app/components/generation/GenerationResults.tsx +9 -9
- package/corpus/templates/assets/app/components/layout/Header.tsx +4 -2
- package/corpus/templates/assets/app/components/layout/Layout.tsx +1 -1
- package/corpus/templates/assets/app/components/layout/PageShell.tsx +5 -6
- package/corpus/templates/assets/app/components/layout/Sidebar.tsx +12 -12
- package/corpus/templates/assets/app/components/library/CreateLibraryDialog.tsx +8 -8
- package/corpus/templates/assets/app/components/library/EditLibraryDialog.tsx +7 -7
- package/corpus/templates/assets/app/components/library/LibraryCard.tsx +8 -8
- package/corpus/templates/assets/app/components/library/LibraryPresetGrid.tsx +2 -3
- package/corpus/templates/assets/app/root.tsx +1 -1
- package/corpus/templates/assets/app/routes/asset.$id.tsx +19 -19
- package/corpus/templates/assets/app/routes/audit.tsx +14 -15
- package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +54 -49
- package/corpus/templates/assets/app/routes/library.tsx +31 -31
- package/corpus/templates/assets/app/routes/settings.tsx +18 -18
- package/corpus/templates/assets/package.json +1 -0
- package/corpus/templates/brain/app/components/brain/CanonicalPreviewSheet.tsx +5 -6
- package/corpus/templates/brain/app/components/brain/Surface.tsx +8 -3
- package/corpus/templates/brain/app/components/layout/Layout.tsx +7 -7
- package/corpus/templates/brain/app/components/layout/Sidebar.tsx +6 -6
- package/corpus/templates/brain/app/routes/knowledge.tsx +19 -19
- package/corpus/templates/brain/app/routes/ops.tsx +18 -18
- package/corpus/templates/brain/app/routes/review.tsx +27 -22
- package/corpus/templates/brain/app/routes/search.tsx +20 -20
- package/corpus/templates/brain/app/routes/settings.tsx +22 -22
- package/corpus/templates/brain/app/routes/sources.tsx +23 -23
- package/corpus/templates/brain/package.json +1 -0
- package/corpus/templates/calendar/app/components/ThemeToggle.tsx +5 -5
- package/corpus/templates/calendar/app/components/TimezoneCombobox.tsx +6 -6
- package/corpus/templates/calendar/app/components/booking/BookingConfirmation.tsx +1 -2
- package/corpus/templates/calendar/app/components/booking/BookingForm.tsx +8 -9
- package/corpus/templates/calendar/app/components/booking/DatePicker.tsx +2 -2
- package/corpus/templates/calendar/app/components/booking/TimeSlotPicker.tsx +2 -3
- package/corpus/templates/calendar/app/components/calendar/AddCalendarDialog.tsx +15 -10
- package/corpus/templates/calendar/app/components/calendar/AttendeeAutocomplete.tsx +6 -6
- package/corpus/templates/calendar/app/components/calendar/CreateEventDialog.tsx +27 -27
- package/corpus/templates/calendar/app/components/calendar/DeleteEventDialog.tsx +12 -9
- package/corpus/templates/calendar/app/components/calendar/EventAttendeesSection.tsx +13 -10
- package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +7 -7
- package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +21 -21
- package/corpus/templates/calendar/app/components/calendar/EventDialog.tsx +11 -11
- package/corpus/templates/calendar/app/components/calendar/EventOptionControls.tsx +9 -9
- package/corpus/templates/calendar/app/components/calendar/FindTimePanel.tsx +9 -9
- package/corpus/templates/calendar/app/components/calendar/GoogleConnectBanner.tsx +6 -6
- package/corpus/templates/calendar/app/components/calendar/GoogleSetupWizard.tsx +3 -3
- package/corpus/templates/calendar/app/components/calendar/GoogleSyncButton.tsx +1 -1
- package/corpus/templates/calendar/app/components/calendar/GuestNotificationDialog.tsx +10 -8
- package/corpus/templates/calendar/app/components/calendar/IntegrationsSidebar.tsx +12 -12
- package/corpus/templates/calendar/app/components/calendar/KeyboardShortcutsHelp.tsx +2 -2
- package/corpus/templates/calendar/app/components/calendar/MonthView.tsx +1 -1
- package/corpus/templates/calendar/app/components/calendar/PeopleSearchDialog.tsx +6 -6
- package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +6 -6
- package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +2 -2
- package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +16 -16
- package/corpus/templates/calendar/app/pages/AvailabilitySettings.tsx +11 -11
- package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +50 -45
- package/corpus/templates/calendar/app/pages/BookingPage.tsx +2 -2
- package/corpus/templates/calendar/app/pages/BookingsList.tsx +12 -12
- package/corpus/templates/calendar/app/pages/CalendarView.tsx +17 -17
- package/corpus/templates/calendar/app/pages/ManageBookingPage.tsx +13 -13
- package/corpus/templates/calendar/app/pages/Settings.tsx +12 -12
- package/corpus/templates/calendar/app/routes/event.tsx +2 -2
- package/corpus/templates/calendar/package.json +1 -0
- package/corpus/templates/chat/app/components/layout/Header.tsx +4 -2
- package/corpus/templates/chat/app/components/layout/Layout.tsx +7 -7
- package/corpus/templates/chat/app/components/layout/Sidebar.tsx +12 -12
- package/corpus/templates/chat/app/routes/database.tsx +1 -2
- package/corpus/templates/chat/app/routes/observability.tsx +1 -1
- package/corpus/templates/chat/app/routes/settings.tsx +5 -5
- package/corpus/templates/chat/package.json +1 -0
- package/corpus/templates/clips/AGENTS.md +5 -0
- package/corpus/templates/clips/actions/create-recording-agent-link.ts +15 -20
- package/corpus/templates/clips/actions/delete-recording-permanent.ts +74 -34
- package/corpus/templates/clips/app/components/capture-install-options.tsx +6 -6
- package/corpus/templates/clips/app/components/editable-recording-title.tsx +2 -2
- package/corpus/templates/clips/app/components/editor/chapters-editor.tsx +7 -7
- package/corpus/templates/clips/app/components/editor/editor-layout.tsx +165 -3
- package/corpus/templates/clips/app/components/editor/editor-toolbar.tsx +101 -57
- package/corpus/templates/clips/app/components/editor/split-button.tsx +4 -5
- package/corpus/templates/clips/app/components/editor/stitch-manager.tsx +9 -9
- package/corpus/templates/clips/app/components/editor/thumbnail-picker.tsx +16 -11
- package/corpus/templates/clips/app/components/editor/timeline.tsx +4 -6
- package/corpus/templates/clips/app/components/editor/transcript-editor.tsx +5 -5
- package/corpus/templates/clips/app/components/editor/trim-handles.tsx +4 -7
- package/corpus/templates/clips/app/components/editor/waveform.tsx +13 -4
- package/corpus/templates/clips/app/components/layout/Header.tsx +4 -2
- package/corpus/templates/clips/app/components/layout/Layout.tsx +2 -3
- package/corpus/templates/clips/app/components/library/bulk-action-toolbar.tsx +4 -4
- package/corpus/templates/clips/app/components/library/create-space-dialog.tsx +8 -8
- package/corpus/templates/clips/app/components/library/empty-state.tsx +1 -2
- package/corpus/templates/clips/app/components/library/folder-tree.tsx +14 -14
- package/corpus/templates/clips/app/components/library/library-grid.tsx +7 -7
- package/corpus/templates/clips/app/components/library/library-layout.tsx +16 -16
- package/corpus/templates/clips/app/components/library/organization-switcher.tsx +11 -11
- package/corpus/templates/clips/app/components/library/recording-card.tsx +16 -12
- package/corpus/templates/clips/app/components/library/search-bar.tsx +5 -5
- package/corpus/templates/clips/app/components/library/sort-menu.tsx +3 -4
- package/corpus/templates/clips/app/components/library/tag-input.tsx +4 -4
- package/corpus/templates/clips/app/components/meetings/attendee-stack.tsx +6 -2
- package/corpus/templates/clips/app/components/meetings/auto-record-prompt.tsx +1 -1
- package/corpus/templates/clips/app/components/meetings/bullet-link.tsx +4 -4
- package/corpus/templates/clips/app/components/meetings/canvas-editor.tsx +5 -5
- package/corpus/templates/clips/app/components/meetings/meeting-card.tsx +3 -3
- package/corpus/templates/clips/app/components/meetings/quick-ask-sidebar.tsx +9 -9
- package/corpus/templates/clips/app/components/meetings/share-meeting-dialog.tsx +11 -6
- package/corpus/templates/clips/app/components/meetings/transcript-bubbles.tsx +4 -4
- package/corpus/templates/clips/app/components/player/access-password-prompt.tsx +2 -3
- package/corpus/templates/clips/app/components/player/comments-panel.tsx +14 -14
- package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +6 -7
- package/corpus/templates/clips/app/components/player/insights-panel.tsx +1 -2
- package/corpus/templates/clips/app/components/player/player-controls.tsx +15 -15
- package/corpus/templates/clips/app/components/player/reactions-tray.tsx +3 -3
- package/corpus/templates/clips/app/components/player/settings-panel.tsx +12 -13
- package/corpus/templates/clips/app/components/player/share-dialog.tsx +20 -11
- package/corpus/templates/clips/app/components/player/sign-in-prompt-dialog.tsx +2 -3
- package/corpus/templates/clips/app/components/player/timestamped-comment-button.tsx +2 -2
- package/corpus/templates/clips/app/components/player/transcript-panel.tsx +7 -7
- package/corpus/templates/clips/app/components/player/video-player.tsx +9 -9
- package/corpus/templates/clips/app/components/recorder/camera-visualizer.tsx +1 -1
- package/corpus/templates/clips/app/components/recorder/microphone-visualizer.tsx +1 -1
- package/corpus/templates/clips/app/components/recorder/pre-record-panel.tsx +21 -21
- package/corpus/templates/clips/app/components/recorder/recording-toolbar.tsx +5 -6
- package/corpus/templates/clips/app/components/recorder/storage-setup-card.tsx +6 -7
- package/corpus/templates/clips/app/components/sharing/share-ui.tsx +10 -10
- package/corpus/templates/clips/app/components/workspace/branding-editor.tsx +9 -5
- package/corpus/templates/clips/app/components/workspace/insights-hub.tsx +19 -9
- package/corpus/templates/clips/app/components/workspace/invite-dialog.tsx +9 -10
- package/corpus/templates/clips/app/components/workspace/members-list.tsx +10 -11
- package/corpus/templates/clips/app/components/workspace/notifications-list.tsx +1 -2
- package/corpus/templates/clips/app/components/workspace/top-creators-table.tsx +2 -3
- package/corpus/templates/clips/app/components/workspace/top-videos-table.tsx +2 -3
- package/corpus/templates/clips/app/hooks/use-desktop-promo.ts +1 -2
- package/corpus/templates/clips/app/root.tsx +10 -10
- package/corpus/templates/clips/app/routes/_app.dictate.tsx +13 -13
- package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +35 -26
- package/corpus/templates/clips/app/routes/_app.meetings._index.tsx +20 -20
- package/corpus/templates/clips/app/routes/_app.notifications.tsx +3 -3
- package/corpus/templates/clips/app/routes/_app.settings._index.tsx +31 -31
- package/corpus/templates/clips/app/routes/_app.settings.organization.tsx +13 -8
- package/corpus/templates/clips/app/routes/_app.spaces._index.tsx +1 -1
- package/corpus/templates/clips/app/routes/_app.trash.tsx +10 -10
- package/corpus/templates/clips/app/routes/bug-report.done.tsx +1 -1
- package/corpus/templates/clips/app/routes/bug-report.tsx +11 -11
- package/corpus/templates/clips/app/routes/download.tsx +2 -2
- package/corpus/templates/clips/app/routes/embed.$shareId.tsx +1 -1
- package/corpus/templates/clips/app/routes/invite.$token.tsx +13 -8
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +28 -23
- package/corpus/templates/clips/app/routes/record.tsx +3 -3
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +41 -20
- package/corpus/templates/clips/app/routes/share.meeting.$meetingId.tsx +2 -2
- package/corpus/templates/clips/changelog/2026-07-05-desktop-full-screen-recordings-with-system-audio-now-finaliz.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-05-desktop-recording-shortcut-start-stop.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-05-desktop-recordings-no-longer-fail-when-saved-capture-constra.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-05-permanently-deleted-clips-now-clean-up-s3-media-objects.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-05-timeline-zoom-controls-are-now-visible-in-the-clip-editor-an.md +6 -0
- package/corpus/templates/clips/desktop/src/app.tsx +98 -1
- package/corpus/templates/clips/desktop/src/components/MediaDeviceRow.tsx +3 -2
- package/corpus/templates/clips/desktop/src/lib/media-capture-constraints.ts +121 -0
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +55 -84
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +77 -39
- package/corpus/templates/clips/desktop/src-tauri/src/shortcuts.rs +60 -8
- package/corpus/templates/clips/package.json +1 -0
- package/corpus/templates/clips/server/lib/public-agent-context.ts +17 -12
- package/corpus/templates/clips/server/lib/recording-media-cleanup.ts +110 -0
- package/corpus/templates/clips/server/lib/s3-upload-provider.ts +126 -0
- package/corpus/templates/clips/server/routes/api/public-recording.get.ts +47 -11
- package/corpus/templates/clips/shared/agent-context.ts +23 -21
- package/corpus/templates/content/app/blocks/contentBlockRegistry.tsx +4 -4
- package/corpus/templates/content/app/components/EmptyState.tsx +1 -1
- package/corpus/templates/content/app/components/ThemeToggle.tsx +6 -6
- package/corpus/templates/content/app/components/editor/BubbleToolbar.tsx +5 -5
- package/corpus/templates/content/app/components/editor/CommentsSidebar.tsx +5 -5
- package/corpus/templates/content/app/components/editor/ContentReferencePreview.tsx +1 -1
- package/corpus/templates/content/app/components/editor/DocumentDatabase.tsx +36 -36
- package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +3 -3
- package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +29 -29
- package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +23 -23
- package/corpus/templates/content/app/components/editor/EmojiPicker.tsx +4 -5
- package/corpus/templates/content/app/components/editor/LinkHoverPreview.tsx +4 -5
- package/corpus/templates/content/app/components/editor/NotionConflictBanner.tsx +1 -1
- package/corpus/templates/content/app/components/editor/NotionSyncBar.tsx +2 -2
- package/corpus/templates/content/app/components/editor/SlashCommandMenu.tsx +5 -5
- package/corpus/templates/content/app/components/editor/TableHoverControls.tsx +13 -13
- package/corpus/templates/content/app/components/editor/VersionHistoryPanel.tsx +10 -10
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +41 -41
- package/corpus/templates/content/app/components/editor/database/shared.tsx +19 -19
- package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +8 -9
- package/corpus/templates/content/app/components/editor/extensions/AudioBlock.tsx +18 -19
- package/corpus/templates/content/app/components/editor/extensions/ImageBlock.tsx +20 -21
- package/corpus/templates/content/app/components/editor/extensions/LocalMdxComponentNode.tsx +8 -8
- package/corpus/templates/content/app/components/editor/extensions/VideoBlock.tsx +18 -19
- package/corpus/templates/content/app/components/layout/Header.tsx +4 -2
- package/corpus/templates/content/app/components/layout/Layout.tsx +3 -3
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +22 -22
- package/corpus/templates/content/app/components/sidebar/DocumentTreeItem.tsx +22 -22
- package/corpus/templates/content/app/components/sidebar/NotionButton.tsx +11 -11
- package/corpus/templates/content/app/root.tsx +13 -5
- package/corpus/templates/content/app/routes/_app._index.tsx +1 -1
- package/corpus/templates/content/app/routes/_app.local-files.tsx +11 -11
- package/corpus/templates/content/app/routes/_app.settings.tsx +3 -3
- package/corpus/templates/content/changelog/2026-07-03-error-screens-now-include-a-feedback-button-with-debug-info.md +6 -0
- package/corpus/templates/content/package.json +1 -0
- package/corpus/templates/design/AGENTS.md +13 -7
- package/corpus/templates/design/actions/get-design-system.ts +21 -0
- package/corpus/templates/design/actions/index-design-system-with-builder.ts +14 -37
- package/corpus/templates/design/app/components/ThemeToggle.tsx +6 -6
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +11 -11
- package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +2 -2
- package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +21 -16
- package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +3 -3
- package/corpus/templates/design/app/components/design/DrawOverlay.tsx +7 -7
- package/corpus/templates/design/app/components/design/EditPanel.tsx +30 -30
- package/corpus/templates/design/app/components/design/FusionAppBanner.tsx +8 -9
- package/corpus/templates/design/app/components/design/LayersPanel.tsx +14 -14
- package/corpus/templates/design/app/components/design/LocalhostWriteConsentDialog.tsx +5 -6
- package/corpus/templates/design/app/components/design/MotionDock.tsx +15 -15
- package/corpus/templates/design/app/components/design/QuestionFlow.tsx +3 -3
- package/corpus/templates/design/app/components/design/ReviewPanel.tsx +3 -3
- package/corpus/templates/design/app/components/design/StatesPanel.tsx +13 -13
- package/corpus/templates/design/app/components/design/TokensPanel.tsx +14 -14
- package/corpus/templates/design/app/components/design/TweaksPanel.tsx +6 -6
- package/corpus/templates/design/app/components/design/code-workbench/ActivityBar.tsx +3 -3
- package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbench.tsx +3 -3
- package/corpus/templates/design/app/components/design/code-workbench/SideBar.tsx +70 -9
- package/corpus/templates/design/app/components/design/code-workbench/editor/EditorTabs.tsx +17 -8
- package/corpus/templates/design/app/components/design/code-workbench/editor/MonacoHost.tsx +2 -3
- package/corpus/templates/design/app/components/design/code-workbench/editor/StatusBar.tsx +1 -1
- package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +8 -2
- package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +24 -20
- package/corpus/templates/design/app/components/design/code-workbench/search/SearchView.tsx +6 -6
- package/corpus/templates/design/app/components/design/code-workbench/store.tsx +48 -0
- package/corpus/templates/design/app/components/design/inspector/AlignmentMatrix.tsx +3 -3
- package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +7 -7
- package/corpus/templates/design/app/components/design/inspector/ConstraintsWidget.tsx +3 -3
- package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +18 -18
- package/corpus/templates/design/app/components/design/inspector/ExportSettingsPanel.tsx +6 -6
- package/corpus/templates/design/app/components/design/inspector/ImageFillControls.tsx +6 -6
- package/corpus/templates/design/app/components/design/inspector/InspectorAiActions.tsx +7 -7
- package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +7 -7
- package/corpus/templates/design/app/components/design/inspector/ShaderControls.tsx +14 -14
- package/corpus/templates/design/app/components/design/inspector/ShaderEffectRow.tsx +9 -9
- package/corpus/templates/design/app/components/design/inspector/ShaderFillsPanel.tsx +6 -6
- package/corpus/templates/design/app/components/design-system/DesignSystemCard.tsx +2 -3
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +18 -15
- package/corpus/templates/design/app/components/layout/Header.tsx +4 -2
- package/corpus/templates/design/app/components/layout/Layout.tsx +1 -1
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +5 -5
- package/corpus/templates/design/app/components/visual-editor/CanvasCommentPins.tsx +7 -7
- package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +7 -7
- package/corpus/templates/design/app/components/visual-editor/SaveStatusIndicator.tsx +3 -3
- package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +6 -0
- package/corpus/templates/design/app/i18n/zh-TW.ts +15 -14
- package/corpus/templates/design/app/i18n-data.ts +154 -142
- package/corpus/templates/design/app/pages/DesignEditor.tsx +51 -47
- package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +40 -22
- package/corpus/templates/design/app/pages/DesignSystems.tsx +32 -32
- package/corpus/templates/design/app/pages/Index.tsx +28 -28
- package/corpus/templates/design/app/pages/NotFound.tsx +1 -2
- package/corpus/templates/design/app/pages/Present.tsx +1 -2
- package/corpus/templates/design/app/pages/VisualEdit.tsx +1 -2
- package/corpus/templates/design/app/root.tsx +1 -1
- package/corpus/templates/design/app/routes/settings.tsx +3 -3
- package/corpus/templates/design/changelog/2026-07-03-design-system-setup-now-indexes-figma-code-and-design-md-sou.md +6 -0
- package/corpus/templates/design/changelog/2026-07-03-the-code-editor-is-easier-to-use-with-top-sidebar-tabs-clear.md +6 -0
- package/corpus/templates/design/package.json +1 -0
- package/corpus/templates/design/server/lib/builder-design-system-proxy.ts +16 -106
- package/corpus/templates/forms/app/components/CloudUpgrade.tsx +10 -10
- package/corpus/templates/forms/app/components/ThemeToggle.tsx +5 -5
- package/corpus/templates/forms/app/components/builder/FieldPropertiesPanel.tsx +10 -11
- package/corpus/templates/forms/app/components/builder/FieldRenderer.tsx +13 -10
- package/corpus/templates/forms/app/components/layout/Header.tsx +4 -2
- package/corpus/templates/forms/app/components/layout/Layout.tsx +1 -1
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +15 -15
- package/corpus/templates/forms/app/components/ui/calendar.tsx +1 -1
- package/corpus/templates/forms/app/components/ui/command.tsx +1 -1
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +24 -24
- package/corpus/templates/forms/app/pages/FormFillPage.tsx +2 -2
- package/corpus/templates/forms/app/pages/FormsListPage.tsx +25 -25
- package/corpus/templates/forms/app/pages/ResponseInsightsPage.tsx +11 -11
- package/corpus/templates/forms/app/pages/ResponsesPage.tsx +4 -4
- package/corpus/templates/forms/app/routes/_app.settings.tsx +5 -5
- package/corpus/templates/forms/app/routes/form-preview.tsx +3 -3
- package/corpus/templates/forms/package.json +1 -0
- package/corpus/templates/macros/app/components/AddExerciseDialog.tsx +1 -1
- package/corpus/templates/macros/app/components/AddMealDialog.tsx +1 -1
- package/corpus/templates/macros/app/components/AddWeightDialog.tsx +1 -1
- package/corpus/templates/macros/app/components/DailyProgress.tsx +7 -7
- package/corpus/templates/macros/app/components/WeeklyCaloriesChart.tsx +1 -2
- package/corpus/templates/macros/app/components/WeightCard.tsx +10 -10
- package/corpus/templates/macros/app/components/WeightTracker.tsx +1 -1
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +11 -7
- package/corpus/templates/macros/app/components/layout/Header.tsx +4 -2
- package/corpus/templates/macros/app/root.tsx +1 -1
- package/corpus/templates/macros/app/routes/_index.tsx +1 -1
- package/corpus/templates/macros/app/routes/analytics.tsx +9 -9
- package/corpus/templates/macros/app/routes/settings.tsx +2 -2
- package/corpus/templates/macros/package.json +1 -0
- package/corpus/templates/mail/app/components/GoogleConnectBanner.tsx +1 -1
- package/corpus/templates/mail/app/components/ThemeToggle.tsx +6 -6
- package/corpus/templates/mail/app/components/agent-engine-picker.tsx +10 -10
- package/corpus/templates/mail/app/components/email/CodeBlockLangPicker.tsx +3 -4
- package/corpus/templates/mail/app/components/email/ComposeBubbleToolbar.tsx +5 -5
- package/corpus/templates/mail/app/components/email/ComposeEditor.tsx +9 -9
- package/corpus/templates/mail/app/components/email/ComposeModal.tsx +18 -18
- package/corpus/templates/mail/app/components/email/EmailList.tsx +17 -17
- package/corpus/templates/mail/app/components/email/EmailListItem.tsx +5 -5
- package/corpus/templates/mail/app/components/email/EmailThread.tsx +6 -6
- package/corpus/templates/mail/app/components/email/InlineReplyComposer.tsx +11 -11
- package/corpus/templates/mail/app/components/email/IntegrationsSidebar.tsx +13 -13
- package/corpus/templates/mail/app/components/email/MobileActionBar.tsx +13 -13
- package/corpus/templates/mail/app/components/email/RecipientInput.tsx +13 -13
- package/corpus/templates/mail/app/components/email/SendLaterButton.tsx +4 -5
- package/corpus/templates/mail/app/components/email/SnoozeModal.tsx +1 -1
- package/corpus/templates/mail/app/components/email/SnoozePopover.tsx +6 -6
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +12 -12
- package/corpus/templates/mail/app/components/layout/SearchBar.tsx +5 -5
- package/corpus/templates/mail/app/components/settings/GmailFiltersSection.tsx +23 -23
- package/corpus/templates/mail/app/components/ui/calendar.tsx +1 -1
- package/corpus/templates/mail/app/components/ui/command.tsx +1 -1
- package/corpus/templates/mail/app/pages/DraftQueuePage.tsx +14 -14
- package/corpus/templates/mail/app/pages/NotFound.tsx +1 -2
- package/corpus/templates/mail/app/pages/SettingsPage.tsx +25 -25
- package/corpus/templates/mail/app/root.tsx +61 -2
- package/corpus/templates/mail/app/routes/_index.tsx +1 -2
- package/corpus/templates/mail/app/routes/email.tsx +2 -2
- package/corpus/templates/mail/changelog/2026-07-03-error-screens-now-include-a-feedback-button-with-debug-info.md +6 -0
- package/corpus/templates/mail/package.json +1 -0
- package/corpus/templates/plan/app/components/layout/Header.tsx +4 -2
- package/corpus/templates/plan/app/components/layout/Layout.tsx +5 -6
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +20 -20
- package/corpus/templates/plan/app/components/plan/CanvasArea.tsx +2 -3
- package/corpus/templates/plan/app/components/plan/DocumentArea.tsx +2 -2
- package/corpus/templates/plan/app/components/plan/GuestModeBanner.tsx +1 -2
- package/corpus/templates/plan/app/components/plan/LocalCodebasePicker.tsx +8 -8
- package/corpus/templates/plan/app/components/plan/PlanContentRenderer.tsx +1 -1
- package/corpus/templates/plan/app/components/plan/PlanImageViewer.tsx +83 -82
- package/corpus/templates/plan/app/components/plan/PlanVisualSurface.tsx +3 -3
- package/corpus/templates/plan/app/components/plan/planBlocks.tsx +4 -4
- package/corpus/templates/plan/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/plan/app/i18n/de-DE.ts +4 -0
- package/corpus/templates/plan/app/i18n/en-US.ts +4 -0
- package/corpus/templates/plan/app/i18n/es-ES.ts +4 -0
- package/corpus/templates/plan/app/i18n/fr-FR.ts +4 -0
- package/corpus/templates/plan/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/plan/app/i18n/ja-JP.ts +4 -0
- package/corpus/templates/plan/app/i18n/ko-KR.ts +4 -0
- package/corpus/templates/plan/app/i18n/pt-BR.ts +4 -0
- package/corpus/templates/plan/app/i18n/zh-CN.ts +3 -0
- package/corpus/templates/plan/app/i18n/zh-TW.ts +3 -0
- package/corpus/templates/plan/app/pages/PlansPage.tsx +158 -80
- package/corpus/templates/plan/app/root.tsx +1 -1
- package/corpus/templates/plan/app/routes/_index.tsx +2 -1
- package/corpus/templates/plan/app/routes/local-plans.$slug.tsx +1 -1
- package/corpus/templates/plan/app/routes/plans.$id.tsx +2 -1
- package/corpus/templates/plan/app/routes/plans.tsx +2 -1
- package/corpus/templates/plan/app/routes/recaps.$id.tsx +2 -1
- package/corpus/templates/plan/app/routes/recaps.tsx +2 -1
- package/corpus/templates/plan/app/routes/settings.tsx +5 -5
- package/corpus/templates/plan/changelog/2026-07-03-error-screens-now-include-a-feedback-button-with-debug-info.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-05-images-in-plan-documents-open-reliably-in-the-full-size-prev.md +6 -0
- package/corpus/templates/plan/package.json +1 -0
- package/corpus/templates/slides/AGENTS.md +7 -3
- package/corpus/templates/slides/actions/get-design-system.ts +21 -0
- package/corpus/templates/slides/actions/import-file.ts +15 -7
- package/corpus/templates/slides/actions/index-design-system-with-builder.ts +14 -37
- package/corpus/templates/slides/app/components/ThemeToggle.tsx +6 -6
- package/corpus/templates/slides/app/components/comments/SlideCommentsPanel.tsx +5 -5
- package/corpus/templates/slides/app/components/deck/DeckCard.tsx +7 -7
- package/corpus/templates/slides/app/components/deck/ExcalidrawSlide.tsx +1 -2
- package/corpus/templates/slides/app/components/deck/SlideRenderer.tsx +1 -1
- package/corpus/templates/slides/app/components/design-system/DesignSystemCard.tsx +2 -3
- package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +45 -22
- package/corpus/templates/slides/app/components/editor/AnimationsPanel.tsx +7 -7
- package/corpus/templates/slides/app/components/editor/BlockBubbleMenu.tsx +5 -5
- package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +8 -8
- package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +15 -17
- package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +9 -10
- package/corpus/templates/slides/app/components/editor/GenerateSlidesDialog.tsx +5 -6
- package/corpus/templates/slides/app/components/editor/HistoryPanel.tsx +12 -12
- package/corpus/templates/slides/app/components/editor/ImageDropPromptPopover.tsx +3 -4
- package/corpus/templates/slides/app/components/editor/ImageSearchPanel.tsx +4 -5
- package/corpus/templates/slides/app/components/editor/ImportButton.tsx +3 -4
- package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +1 -2
- package/corpus/templates/slides/app/components/editor/ShareDialog.tsx +10 -10
- package/corpus/templates/slides/app/components/editor/SlideBubbleMenu.tsx +10 -10
- package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +169 -160
- package/corpus/templates/slides/app/components/editor/SlideStyleInspector.tsx +20 -17
- package/corpus/templates/slides/app/components/editor/SpeakerNotesPanel.tsx +56 -6
- package/corpus/templates/slides/app/components/editor/TweaksPanel.tsx +1 -1
- package/corpus/templates/slides/app/components/layout/Header.tsx +4 -2
- package/corpus/templates/slides/app/components/layout/Layout.tsx +7 -2
- package/corpus/templates/slides/app/components/layout/Sidebar.tsx +5 -5
- package/corpus/templates/slides/app/components/visual-editor/CanvasCommentPins.tsx +6 -6
- package/corpus/templates/slides/app/components/visual-editor/DrawOverlay.tsx +7 -7
- package/corpus/templates/slides/app/i18n/ar-SA.ts +8 -7
- package/corpus/templates/slides/app/i18n/de-DE.ts +7 -8
- package/corpus/templates/slides/app/i18n/en-US.ts +8 -7
- package/corpus/templates/slides/app/i18n/es-ES.ts +7 -8
- package/corpus/templates/slides/app/i18n/fr-FR.ts +7 -8
- package/corpus/templates/slides/app/i18n/hi-IN.ts +8 -7
- package/corpus/templates/slides/app/i18n/ja-JP.ts +7 -8
- package/corpus/templates/slides/app/i18n/ko-KR.ts +7 -7
- package/corpus/templates/slides/app/i18n/pt-BR.ts +7 -8
- package/corpus/templates/slides/app/i18n/zh-CN.ts +8 -7
- package/corpus/templates/slides/app/i18n/zh-TW.ts +8 -7
- package/corpus/templates/slides/app/lib/canvas-zoom.ts +16 -1
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +6 -6
- package/corpus/templates/slides/app/pages/DesignSystems.tsx +5 -5
- package/corpus/templates/slides/app/pages/Index.tsx +18 -15
- package/corpus/templates/slides/app/root.tsx +3 -3
- package/corpus/templates/slides/app/routes/settings.tsx +5 -5
- package/corpus/templates/slides/changelog/2026-07-03-design-system-setup-now-indexes-figma-code-and-design-md-sou.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-03-slide-editing-now-keeps-thumbnails-speaker-notes-styling-and.md +6 -0
- package/corpus/templates/slides/package.json +1 -0
- package/corpus/templates/slides/server/lib/builder-design-system-proxy.ts +16 -104
- package/dist/application-state/emitter.d.ts +9 -2
- package/dist/application-state/emitter.d.ts.map +1 -1
- package/dist/application-state/emitter.js +25 -3
- package/dist/application-state/emitter.js.map +1 -1
- package/dist/cli/create.d.ts +2 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +52 -4
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/workspacify.d.ts +2 -0
- package/dist/cli/workspacify.d.ts.map +1 -1
- package/dist/cli/workspacify.js +8 -4
- package/dist/cli/workspacify.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +2 -1
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +77 -25
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/ErrorBoundary.d.ts.map +1 -1
- package/dist/client/ErrorBoundary.js +37 -2
- package/dist/client/ErrorBoundary.js.map +1 -1
- package/dist/client/ErrorReportActions.d.ts +13 -0
- package/dist/client/ErrorReportActions.d.ts.map +1 -0
- package/dist/client/ErrorReportActions.js +14 -0
- package/dist/client/ErrorReportActions.js.map +1 -0
- package/dist/client/FeedbackButton.d.ts +3 -1
- package/dist/client/FeedbackButton.d.ts.map +1 -1
- package/dist/client/FeedbackButton.js +6 -5
- package/dist/client/FeedbackButton.js.map +1 -1
- package/dist/client/components/ui/dialog.d.ts +1 -13
- package/dist/client/components/ui/dialog.d.ts.map +1 -1
- package/dist/client/components/ui/dialog.js +1 -20
- package/dist/client/components/ui/dialog.js.map +1 -1
- package/dist/client/components/ui/dropdown-menu.d.ts +1 -27
- package/dist/client/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/client/components/ui/dropdown-menu.js +1 -33
- package/dist/client/components/ui/dropdown-menu.js.map +1 -1
- package/dist/client/components/ui/hover-card.d.ts +1 -6
- package/dist/client/components/ui/hover-card.d.ts.map +1 -1
- package/dist/client/components/ui/hover-card.js +1 -9
- package/dist/client/components/ui/hover-card.js.map +1 -1
- package/dist/client/components/ui/popover.d.ts +1 -7
- package/dist/client/components/ui/popover.d.ts.map +1 -1
- package/dist/client/components/ui/popover.js +1 -10
- package/dist/client/components/ui/popover.js.map +1 -1
- package/dist/client/components/ui/sheet.d.ts +1 -15
- package/dist/client/components/ui/sheet.d.ts.map +1 -1
- package/dist/client/components/ui/sheet.js +1 -22
- package/dist/client/components/ui/sheet.js.map +1 -1
- package/dist/client/components/ui/tooltip.d.ts +1 -8
- package/dist/client/components/ui/tooltip.d.ts.map +1 -1
- package/dist/client/components/ui/tooltip.js +1 -17
- package/dist/client/components/ui/tooltip.js.map +1 -1
- package/dist/client/db-admin/DbAdminPage.d.ts +9 -1
- package/dist/client/db-admin/DbAdminPage.d.ts.map +1 -1
- package/dist/client/db-admin/DbAdminPage.js +17 -13
- package/dist/client/db-admin/DbAdminPage.js.map +1 -1
- package/dist/client/db-admin/SqlEditor.d.ts +3 -1
- package/dist/client/db-admin/SqlEditor.d.ts.map +1 -1
- package/dist/client/db-admin/SqlEditor.js +3 -3
- package/dist/client/db-admin/SqlEditor.js.map +1 -1
- package/dist/client/db-admin/TableEditor.d.ts +3 -1
- package/dist/client/db-admin/TableEditor.d.ts.map +1 -1
- package/dist/client/db-admin/TableEditor.js +6 -6
- package/dist/client/db-admin/TableEditor.js.map +1 -1
- package/dist/client/db-admin/useAgentSync.d.ts +3 -2
- package/dist/client/db-admin/useAgentSync.d.ts.map +1 -1
- package/dist/client/db-admin/useAgentSync.js +8 -4
- package/dist/client/db-admin/useAgentSync.js.map +1 -1
- package/dist/client/db-admin/useDbAdmin.d.ts +11 -7
- package/dist/client/db-admin/useDbAdmin.d.ts.map +1 -1
- package/dist/client/db-admin/useDbAdmin.js +45 -20
- package/dist/client/db-admin/useDbAdmin.js.map +1 -1
- package/dist/client/error-reporting.d.ts +19 -0
- package/dist/client/error-reporting.d.ts.map +1 -0
- package/dist/client/error-reporting.js +71 -0
- package/dist/client/error-reporting.js.map +1 -0
- package/dist/client/index.d.ts +3 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +3 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
- package/dist/client/org/RequireActiveOrg.js +2 -1
- package/dist/client/org/RequireActiveOrg.js.map +1 -1
- package/dist/client/visual-style-controls.d.ts +11 -0
- package/dist/client/visual-style-controls.d.ts.map +1 -1
- package/dist/client/visual-style-controls.js +350 -1
- package/dist/client/visual-style-controls.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/db-admin/index.d.ts +3 -0
- package/dist/db-admin/index.d.ts.map +1 -0
- package/dist/db-admin/index.js +2 -0
- package/dist/db-admin/index.js.map +1 -0
- package/dist/db-admin/operations.d.ts +26 -5
- package/dist/db-admin/operations.d.ts.map +1 -1
- package/dist/db-admin/operations.js +66 -55
- package/dist/db-admin/operations.js.map +1 -1
- package/dist/localization/default-messages.d.ts +3 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +3 -0
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/secrets/crypto.d.ts.map +1 -1
- package/dist/secrets/crypto.js +37 -4
- package/dist/secrets/crypto.js.map +1 -1
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/agent-access.d.ts +16 -0
- package/dist/server/agent-access.d.ts.map +1 -0
- package/dist/server/agent-access.js +25 -0
- package/dist/server/agent-access.js.map +1 -0
- package/dist/server/builder-design-systems.d.ts +61 -0
- package/dist/server/builder-design-systems.d.ts.map +1 -1
- package/dist/server/builder-design-systems.js +219 -14
- package/dist/server/builder-design-systems.js.map +1 -1
- package/dist/server/h3-helpers.d.ts.map +1 -1
- package/dist/server/h3-helpers.js +12 -2
- package/dist/server/h3-helpers.js.map +1 -1
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/request-context.d.ts +17 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js +46 -6
- package/dist/server/request-context.js.map +1 -1
- package/dist/shared/agent-access.d.ts +29 -0
- package/dist/shared/agent-access.d.ts.map +1 -0
- package/dist/shared/agent-access.js +57 -0
- package/dist/shared/agent-access.js.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/templates/default/app/root.tsx +47 -0
- package/docs/content/components.mdx +13 -0
- package/docs/content/creating-templates.mdx +7 -0
- package/docs/content/locales/ar-SA/components.mdx +9 -0
- package/docs/content/locales/ar-SA/creating-templates.mdx +2 -0
- package/docs/content/locales/ar-SA/template-analytics.mdx +6 -0
- package/docs/content/locales/ar-SA/template-clips.mdx +7 -0
- package/docs/content/locales/ar-SA/tracking.mdx +6 -0
- package/docs/content/locales/de-DE/components.mdx +9 -0
- package/docs/content/locales/de-DE/creating-templates.mdx +2 -0
- package/docs/content/locales/de-DE/template-analytics.mdx +6 -0
- package/docs/content/locales/de-DE/template-clips.mdx +7 -0
- package/docs/content/locales/de-DE/tracking.mdx +6 -0
- package/docs/content/locales/es-ES/components.mdx +9 -0
- package/docs/content/locales/es-ES/creating-templates.mdx +2 -0
- package/docs/content/locales/es-ES/template-analytics.mdx +6 -0
- package/docs/content/locales/es-ES/template-clips.mdx +7 -0
- package/docs/content/locales/es-ES/tracking.mdx +6 -0
- package/docs/content/locales/fr-FR/components.mdx +9 -0
- package/docs/content/locales/fr-FR/creating-templates.mdx +2 -0
- package/docs/content/locales/fr-FR/template-analytics.mdx +6 -0
- package/docs/content/locales/fr-FR/template-clips.mdx +7 -0
- package/docs/content/locales/fr-FR/tracking.mdx +6 -0
- package/docs/content/locales/hi-IN/components.mdx +9 -0
- package/docs/content/locales/hi-IN/creating-templates.mdx +2 -0
- package/docs/content/locales/hi-IN/template-analytics.mdx +6 -0
- package/docs/content/locales/hi-IN/template-clips.mdx +7 -0
- package/docs/content/locales/hi-IN/tracking.mdx +6 -0
- package/docs/content/locales/ja-JP/components.mdx +9 -0
- package/docs/content/locales/ja-JP/creating-templates.mdx +2 -0
- package/docs/content/locales/ja-JP/template-analytics.mdx +6 -0
- package/docs/content/locales/ja-JP/template-clips.mdx +7 -0
- package/docs/content/locales/ja-JP/tracking.mdx +6 -0
- package/docs/content/locales/ko-KR/components.mdx +9 -0
- package/docs/content/locales/ko-KR/creating-templates.mdx +2 -0
- package/docs/content/locales/ko-KR/template-analytics.mdx +6 -0
- package/docs/content/locales/ko-KR/template-clips.mdx +7 -0
- package/docs/content/locales/ko-KR/tracking.mdx +6 -0
- package/docs/content/locales/pt-BR/components.mdx +9 -0
- package/docs/content/locales/pt-BR/creating-templates.mdx +2 -0
- package/docs/content/locales/pt-BR/template-analytics.mdx +6 -0
- package/docs/content/locales/pt-BR/template-clips.mdx +7 -0
- package/docs/content/locales/pt-BR/tracking.mdx +6 -0
- package/docs/content/locales/zh-CN/components.mdx +9 -0
- package/docs/content/locales/zh-CN/creating-templates.mdx +2 -0
- package/docs/content/locales/zh-CN/template-analytics.mdx +6 -0
- package/docs/content/locales/zh-CN/template-clips.mdx +7 -0
- package/docs/content/locales/zh-CN/tracking.mdx +6 -0
- package/docs/content/locales/zh-TW/components.mdx +9 -0
- package/docs/content/locales/zh-TW/creating-templates.mdx +2 -0
- package/docs/content/locales/zh-TW/template-analytics.mdx +6 -0
- package/docs/content/locales/zh-TW/template-clips.mdx +7 -0
- package/docs/content/locales/zh-TW/tracking.mdx +6 -0
- package/docs/content/template-analytics.mdx +6 -0
- package/docs/content/template-clips.mdx +7 -0
- package/docs/content/tracking.mdx +6 -0
- package/package.json +10 -2
- package/src/templates/default/app/root.tsx +47 -0
- package/corpus/templates/analytics/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/analytics/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/analytics/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/analytics/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/analytics/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/analytics/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/analytics/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/analytics/app/components/ui/button.tsx +0 -57
- package/corpus/templates/analytics/app/components/ui/card.tsx +0 -86
- package/corpus/templates/analytics/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/analytics/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/analytics/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/analytics/app/components/ui/command.tsx +0 -154
- package/corpus/templates/analytics/app/components/ui/context-menu.tsx +0 -202
- package/corpus/templates/analytics/app/components/ui/date-picker.tsx +0 -68
- package/corpus/templates/analytics/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/analytics/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/analytics/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/analytics/app/components/ui/form.tsx +0 -177
- package/corpus/templates/analytics/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/analytics/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/analytics/app/components/ui/input.tsx +0 -22
- package/corpus/templates/analytics/app/components/ui/label.tsx +0 -24
- package/corpus/templates/analytics/app/components/ui/menubar.tsx +0 -234
- package/corpus/templates/analytics/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/analytics/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/analytics/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/analytics/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/analytics/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/analytics/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/analytics/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/analytics/app/components/ui/select.tsx +0 -158
- package/corpus/templates/analytics/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/analytics/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/analytics/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/analytics/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/analytics/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/analytics/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/analytics/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/analytics/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/analytics/app/components/ui/table.tsx +0 -117
- package/corpus/templates/analytics/app/components/ui/tabs.tsx +0 -53
- package/corpus/templates/analytics/app/components/ui/textarea.tsx +0 -23
- package/corpus/templates/analytics/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/analytics/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/analytics/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/analytics/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/analytics/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/analytics/app/components/ui/use-toast.ts +0 -3
- package/corpus/templates/analytics/app/hooks/use-mobile.tsx +0 -21
- package/corpus/templates/analytics/app/hooks/use-toast.ts +0 -188
- package/corpus/templates/assets/app/components/layout/HeaderActions.tsx +0 -84
- package/corpus/templates/assets/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/assets/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/assets/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/assets/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/assets/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/assets/app/components/ui/button.tsx +0 -57
- package/corpus/templates/assets/app/components/ui/card.tsx +0 -86
- package/corpus/templates/assets/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/assets/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/assets/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/assets/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/assets/app/components/ui/input.tsx +0 -22
- package/corpus/templates/assets/app/components/ui/label.tsx +0 -24
- package/corpus/templates/assets/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/assets/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/assets/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/assets/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/assets/app/components/ui/select.tsx +0 -158
- package/corpus/templates/assets/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/assets/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/assets/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/assets/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/assets/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/assets/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/assets/app/components/ui/table.tsx +0 -117
- package/corpus/templates/assets/app/components/ui/tabs.tsx +0 -53
- package/corpus/templates/assets/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/brain/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/brain/app/components/ui/button.tsx +0 -57
- package/corpus/templates/brain/app/components/ui/card.tsx +0 -86
- package/corpus/templates/brain/app/components/ui/input.tsx +0 -22
- package/corpus/templates/brain/app/components/ui/label.tsx +0 -24
- package/corpus/templates/brain/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/brain/app/components/ui/select.tsx +0 -158
- package/corpus/templates/brain/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/brain/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/brain/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/brain/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/brain/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/brain/app/components/ui/table.tsx +0 -117
- package/corpus/templates/brain/app/components/ui/textarea.tsx +0 -23
- package/corpus/templates/brain/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/calendar/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/calendar/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/calendar/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/calendar/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/calendar/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/calendar/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/calendar/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/calendar/app/components/ui/button.tsx +0 -57
- package/corpus/templates/calendar/app/components/ui/calendar.tsx +0 -68
- package/corpus/templates/calendar/app/components/ui/card.tsx +0 -86
- package/corpus/templates/calendar/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/calendar/app/components/ui/chart.tsx +0 -375
- package/corpus/templates/calendar/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/calendar/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/calendar/app/components/ui/command.tsx +0 -154
- package/corpus/templates/calendar/app/components/ui/context-menu.tsx +0 -202
- package/corpus/templates/calendar/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/calendar/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/calendar/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/calendar/app/components/ui/form.tsx +0 -177
- package/corpus/templates/calendar/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/calendar/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/calendar/app/components/ui/input.tsx +0 -22
- package/corpus/templates/calendar/app/components/ui/label.tsx +0 -24
- package/corpus/templates/calendar/app/components/ui/menubar.tsx +0 -234
- package/corpus/templates/calendar/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/calendar/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/calendar/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/calendar/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/calendar/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/calendar/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/calendar/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/calendar/app/components/ui/select.tsx +0 -158
- package/corpus/templates/calendar/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/calendar/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/calendar/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/calendar/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/calendar/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/calendar/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/calendar/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/calendar/app/components/ui/table.tsx +0 -117
- package/corpus/templates/calendar/app/components/ui/tabs.tsx +0 -53
- package/corpus/templates/calendar/app/components/ui/textarea.tsx +0 -23
- package/corpus/templates/calendar/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/calendar/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/calendar/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/calendar/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/calendar/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/calendar/app/components/ui/use-toast.ts +0 -3
- package/corpus/templates/calendar/app/hooks/use-mobile.tsx +0 -21
- package/corpus/templates/calendar/app/hooks/use-toast.ts +0 -188
- package/corpus/templates/chat/app/components/layout/HeaderActions.tsx +0 -84
- package/corpus/templates/chat/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/chat/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/chat/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/chat/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/chat/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/chat/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/chat/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/chat/app/components/ui/button.tsx +0 -57
- package/corpus/templates/chat/app/components/ui/calendar.tsx +0 -68
- package/corpus/templates/chat/app/components/ui/card.tsx +0 -86
- package/corpus/templates/chat/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/chat/app/components/ui/chart.tsx +0 -375
- package/corpus/templates/chat/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/chat/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/chat/app/components/ui/command.tsx +0 -154
- package/corpus/templates/chat/app/components/ui/context-menu.tsx +0 -202
- package/corpus/templates/chat/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/chat/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/chat/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/chat/app/components/ui/form.tsx +0 -177
- package/corpus/templates/chat/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/chat/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/chat/app/components/ui/input.tsx +0 -22
- package/corpus/templates/chat/app/components/ui/label.tsx +0 -24
- package/corpus/templates/chat/app/components/ui/menubar.tsx +0 -234
- package/corpus/templates/chat/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/chat/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/chat/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/chat/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/chat/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/chat/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/chat/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/chat/app/components/ui/select.tsx +0 -158
- package/corpus/templates/chat/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/chat/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/chat/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/chat/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/chat/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/chat/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/chat/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/chat/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/chat/app/components/ui/table.tsx +0 -117
- package/corpus/templates/chat/app/components/ui/tabs.tsx +0 -53
- package/corpus/templates/chat/app/components/ui/textarea.tsx +0 -23
- package/corpus/templates/chat/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/chat/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/chat/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/chat/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/chat/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/chat/app/components/ui/use-toast.ts +0 -3
- package/corpus/templates/chat/app/hooks/use-mobile.tsx +0 -21
- package/corpus/templates/chat/app/hooks/use-toast.ts +0 -188
- package/corpus/templates/clips/app/components/layout/HeaderActions.tsx +0 -84
- package/corpus/templates/clips/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/clips/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/clips/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/clips/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/clips/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/clips/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/clips/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/clips/app/components/ui/button.tsx +0 -57
- package/corpus/templates/clips/app/components/ui/calendar.tsx +0 -68
- package/corpus/templates/clips/app/components/ui/card.tsx +0 -86
- package/corpus/templates/clips/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/clips/app/components/ui/chart.tsx +0 -375
- package/corpus/templates/clips/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/clips/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/clips/app/components/ui/command.tsx +0 -154
- package/corpus/templates/clips/app/components/ui/context-menu.tsx +0 -202
- package/corpus/templates/clips/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/clips/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/clips/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/clips/app/components/ui/form.tsx +0 -177
- package/corpus/templates/clips/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/clips/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/clips/app/components/ui/input.tsx +0 -22
- package/corpus/templates/clips/app/components/ui/label.tsx +0 -24
- package/corpus/templates/clips/app/components/ui/menubar.tsx +0 -234
- package/corpus/templates/clips/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/clips/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/clips/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/clips/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/clips/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/clips/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/clips/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/clips/app/components/ui/select.tsx +0 -158
- package/corpus/templates/clips/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/clips/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/clips/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/clips/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/clips/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/clips/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/clips/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/clips/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/clips/app/components/ui/table.tsx +0 -117
- package/corpus/templates/clips/app/components/ui/tabs.tsx +0 -53
- package/corpus/templates/clips/app/components/ui/textarea.tsx +0 -23
- package/corpus/templates/clips/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/clips/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/clips/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/clips/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/clips/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/clips/app/components/ui/use-toast.ts +0 -3
- package/corpus/templates/clips/app/hooks/use-mobile.tsx +0 -21
- package/corpus/templates/clips/app/hooks/use-toast.ts +0 -188
- package/corpus/templates/content/app/components/layout/HeaderActions.tsx +0 -84
- package/corpus/templates/content/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/content/app/components/ui/button.tsx +0 -57
- package/corpus/templates/content/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/content/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/content/app/components/ui/input.tsx +0 -22
- package/corpus/templates/content/app/components/ui/label.tsx +0 -24
- package/corpus/templates/content/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/content/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/content/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/content/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/content/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/content/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/content/app/components/ui/table.tsx +0 -117
- package/corpus/templates/content/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/content/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/content/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/content/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/content/app/components/ui/use-toast.ts +0 -3
- package/corpus/templates/content/app/hooks/use-mobile.tsx +0 -21
- package/corpus/templates/content/app/hooks/use-toast.ts +0 -188
- package/corpus/templates/design/app/components/layout/HeaderActions.tsx +0 -84
- package/corpus/templates/design/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/design/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/design/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/design/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/design/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/design/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/design/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/design/app/components/ui/button.tsx +0 -57
- package/corpus/templates/design/app/components/ui/calendar.tsx +0 -68
- package/corpus/templates/design/app/components/ui/card.tsx +0 -86
- package/corpus/templates/design/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/design/app/components/ui/chart.tsx +0 -375
- package/corpus/templates/design/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/design/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/design/app/components/ui/command.tsx +0 -154
- package/corpus/templates/design/app/components/ui/context-menu.tsx +0 -202
- package/corpus/templates/design/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/design/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/design/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/design/app/components/ui/form.tsx +0 -177
- package/corpus/templates/design/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/design/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/design/app/components/ui/input.tsx +0 -22
- package/corpus/templates/design/app/components/ui/label.tsx +0 -24
- package/corpus/templates/design/app/components/ui/menubar.tsx +0 -234
- package/corpus/templates/design/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/design/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/design/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/design/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/design/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/design/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/design/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/design/app/components/ui/select.tsx +0 -158
- package/corpus/templates/design/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/design/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/design/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/design/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/design/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/design/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/design/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/design/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/design/app/components/ui/table.tsx +0 -117
- package/corpus/templates/design/app/components/ui/tabs.tsx +0 -53
- package/corpus/templates/design/app/components/ui/textarea.tsx +0 -23
- package/corpus/templates/design/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/design/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/design/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/design/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/design/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/design/app/components/ui/use-toast.ts +0 -3
- package/corpus/templates/design/app/hooks/use-mobile.tsx +0 -21
- package/corpus/templates/design/app/hooks/use-toast.ts +0 -188
- package/corpus/templates/forms/app/components/layout/HeaderActions.tsx +0 -84
- package/corpus/templates/forms/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/forms/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/forms/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/forms/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/forms/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/forms/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/forms/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/forms/app/components/ui/button.tsx +0 -57
- package/corpus/templates/forms/app/components/ui/card.tsx +0 -86
- package/corpus/templates/forms/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/forms/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/forms/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/forms/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/forms/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/forms/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/forms/app/components/ui/form.tsx +0 -177
- package/corpus/templates/forms/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/forms/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/forms/app/components/ui/input.tsx +0 -22
- package/corpus/templates/forms/app/components/ui/label.tsx +0 -24
- package/corpus/templates/forms/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/forms/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/forms/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/forms/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/forms/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/forms/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/forms/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/forms/app/components/ui/select.tsx +0 -158
- package/corpus/templates/forms/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/forms/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/forms/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/forms/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/forms/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/forms/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/forms/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/forms/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/forms/app/components/ui/table.tsx +0 -117
- package/corpus/templates/forms/app/components/ui/tabs.tsx +0 -53
- package/corpus/templates/forms/app/components/ui/textarea.tsx +0 -23
- package/corpus/templates/forms/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/forms/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/forms/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/forms/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/forms/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/forms/app/hooks/use-mobile.tsx +0 -21
- package/corpus/templates/forms/app/hooks/use-toast.ts +0 -188
- package/corpus/templates/macros/app/components/layout/HeaderActions.tsx +0 -84
- package/corpus/templates/macros/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/macros/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/macros/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/macros/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/macros/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/macros/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/macros/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/macros/app/components/ui/chart.tsx +0 -375
- package/corpus/templates/macros/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/macros/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/macros/app/components/ui/command.tsx +0 -154
- package/corpus/templates/macros/app/components/ui/context-menu.tsx +0 -202
- package/corpus/templates/macros/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/macros/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/macros/app/components/ui/form.tsx +0 -177
- package/corpus/templates/macros/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/macros/app/components/ui/label.tsx +0 -24
- package/corpus/templates/macros/app/components/ui/logo.tsx +0 -36
- package/corpus/templates/macros/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/macros/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/macros/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/macros/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/macros/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/macros/app/components/ui/select.tsx +0 -158
- package/corpus/templates/macros/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/macros/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/macros/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/macros/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/macros/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/macros/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/macros/app/components/ui/table.tsx +0 -117
- package/corpus/templates/macros/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/macros/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/macros/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/macros/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/mail/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/mail/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/mail/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/mail/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/mail/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/mail/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/mail/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/mail/app/components/ui/button.tsx +0 -57
- package/corpus/templates/mail/app/components/ui/card.tsx +0 -86
- package/corpus/templates/mail/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/mail/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/mail/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/mail/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/mail/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/mail/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/mail/app/components/ui/form.tsx +0 -177
- package/corpus/templates/mail/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/mail/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/mail/app/components/ui/label.tsx +0 -24
- package/corpus/templates/mail/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/mail/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/mail/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/mail/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/mail/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/mail/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/mail/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/mail/app/components/ui/select.tsx +0 -158
- package/corpus/templates/mail/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/mail/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/mail/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/mail/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/mail/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/mail/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/mail/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/mail/app/components/ui/table.tsx +0 -117
- package/corpus/templates/mail/app/components/ui/tabs.tsx +0 -53
- package/corpus/templates/mail/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/mail/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/mail/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/mail/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/mail/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/mail/app/hooks/use-toast.ts +0 -188
- package/corpus/templates/plan/app/components/layout/HeaderActions.tsx +0 -84
- package/corpus/templates/plan/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/plan/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/plan/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/plan/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/plan/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/plan/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/plan/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/plan/app/components/ui/button.tsx +0 -57
- package/corpus/templates/plan/app/components/ui/calendar.tsx +0 -68
- package/corpus/templates/plan/app/components/ui/card.tsx +0 -86
- package/corpus/templates/plan/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/plan/app/components/ui/chart.tsx +0 -375
- package/corpus/templates/plan/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/plan/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/plan/app/components/ui/command.tsx +0 -154
- package/corpus/templates/plan/app/components/ui/context-menu.tsx +0 -202
- package/corpus/templates/plan/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/plan/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/plan/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/plan/app/components/ui/form.tsx +0 -177
- package/corpus/templates/plan/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/plan/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/plan/app/components/ui/input.tsx +0 -22
- package/corpus/templates/plan/app/components/ui/label.tsx +0 -24
- package/corpus/templates/plan/app/components/ui/menubar.tsx +0 -234
- package/corpus/templates/plan/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/plan/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/plan/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/plan/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/plan/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/plan/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/plan/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/plan/app/components/ui/select.tsx +0 -158
- package/corpus/templates/plan/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/plan/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/plan/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/plan/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/plan/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/plan/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/plan/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/plan/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/plan/app/components/ui/table.tsx +0 -117
- package/corpus/templates/plan/app/components/ui/textarea.tsx +0 -23
- package/corpus/templates/plan/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/plan/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/plan/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/plan/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/plan/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/plan/app/components/ui/use-toast.ts +0 -3
- package/corpus/templates/plan/app/hooks/use-mobile.tsx +0 -21
- package/corpus/templates/plan/app/hooks/use-toast.ts +0 -188
- package/corpus/templates/slides/app/components/layout/HeaderActions.tsx +0 -84
- package/corpus/templates/slides/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/slides/app/components/ui/alert-dialog.tsx +0 -139
- package/corpus/templates/slides/app/components/ui/alert.tsx +0 -59
- package/corpus/templates/slides/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/slides/app/components/ui/avatar.tsx +0 -48
- package/corpus/templates/slides/app/components/ui/badge.tsx +0 -37
- package/corpus/templates/slides/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/slides/app/components/ui/button.tsx +0 -57
- package/corpus/templates/slides/app/components/ui/calendar.tsx +0 -68
- package/corpus/templates/slides/app/components/ui/card.tsx +0 -86
- package/corpus/templates/slides/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/slides/app/components/ui/chart.tsx +0 -375
- package/corpus/templates/slides/app/components/ui/checkbox.tsx +0 -28
- package/corpus/templates/slides/app/components/ui/collapsible.tsx +0 -9
- package/corpus/templates/slides/app/components/ui/command.tsx +0 -154
- package/corpus/templates/slides/app/components/ui/context-menu.tsx +0 -202
- package/corpus/templates/slides/app/components/ui/dialog.tsx +0 -130
- package/corpus/templates/slides/app/components/ui/drawer.tsx +0 -116
- package/corpus/templates/slides/app/components/ui/dropdown-menu.tsx +0 -212
- package/corpus/templates/slides/app/components/ui/form.tsx +0 -177
- package/corpus/templates/slides/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/slides/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/slides/app/components/ui/input.tsx +0 -22
- package/corpus/templates/slides/app/components/ui/label.tsx +0 -24
- package/corpus/templates/slides/app/components/ui/menubar.tsx +0 -234
- package/corpus/templates/slides/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/slides/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/slides/app/components/ui/popover.tsx +0 -44
- package/corpus/templates/slides/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/slides/app/components/ui/radio-group.tsx +0 -42
- package/corpus/templates/slides/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/slides/app/components/ui/scroll-area.tsx +0 -46
- package/corpus/templates/slides/app/components/ui/select.tsx +0 -158
- package/corpus/templates/slides/app/components/ui/separator.tsx +0 -29
- package/corpus/templates/slides/app/components/ui/sheet.tsx +0 -160
- package/corpus/templates/slides/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/slides/app/components/ui/skeleton.tsx +0 -15
- package/corpus/templates/slides/app/components/ui/slider.tsx +0 -26
- package/corpus/templates/slides/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/slides/app/components/ui/spinner.tsx +0 -17
- package/corpus/templates/slides/app/components/ui/switch.tsx +0 -27
- package/corpus/templates/slides/app/components/ui/table.tsx +0 -117
- package/corpus/templates/slides/app/components/ui/tabs.tsx +0 -53
- package/corpus/templates/slides/app/components/ui/textarea.tsx +0 -23
- package/corpus/templates/slides/app/components/ui/toast.tsx +0 -127
- package/corpus/templates/slides/app/components/ui/toaster.tsx +0 -33
- package/corpus/templates/slides/app/components/ui/toggle-group.tsx +0 -59
- package/corpus/templates/slides/app/components/ui/toggle.tsx +0 -43
- package/corpus/templates/slides/app/components/ui/tooltip.tsx +0 -30
- package/corpus/templates/slides/app/components/ui/use-toast.ts +0 -3
- package/corpus/templates/slides/app/hooks/use-mobile.tsx +0 -21
- package/corpus/templates/slides/app/hooks/use-toast.ts +0 -188
|
@@ -7,6 +7,13 @@ description: "How to create and publish your own agent-native app templates."
|
|
|
7
7
|
|
|
8
8
|
Templates are complete, forkable agent-native apps that solve a real workflow. The first-party templates are built with the same framework surface you use: React routes for the UI, Drizzle SQL for data, actions for operations, workspace resources for agent behavior, and polling sync so the agent and UI stay aligned.
|
|
9
9
|
|
|
10
|
+
Use `@agent-native/core` for the runtime contract: actions, server plugins,
|
|
11
|
+
database helpers, app state, routing helpers, and agent chat. Use
|
|
12
|
+
`@agent-native/toolkit` for reusable app-building UI and helpers such as shared
|
|
13
|
+
shadcn-style primitives, toast/mobile hooks, date pickers, and simple app shell
|
|
14
|
+
slots. Keep template-specific variants local when they encode product behavior
|
|
15
|
+
or visual identity.
|
|
16
|
+
|
|
10
17
|
A good template:
|
|
11
18
|
|
|
12
19
|
- Solves one workflow end-to-end, with useful seed data or an empty-state flow.
|
|
@@ -25,6 +25,15 @@ import { ResourcesPanel } from "@agent-native/core/client/resources";
|
|
|
25
25
|
`@agent-native/core/client` أو مسار فرعي `@agent-native/core/client/*` مركّز
|
|
26
26
|
لذلك يختار القائمون على التجميع الإدخال الآمن للمتصفح.
|
|
27
27
|
|
|
28
|
+
استخدم `@agent-native/toolkit` للقطع القابلة لإعادة الاستخدام في بناء التطبيقات التي ليست جزءا من عقد وقت التشغيل الأساسي: عناصر UI بأسلوب shadcn، hooks المشتركة، مساعدات هيكل التطبيق البسيطة، ووحدات تركيب القوالب. يحتفظ Core بإعادة تصدير توافقية أثناء الانتقال، لكن يجب أن تستورد القوالب والتطبيقات الجديدة وحدات toolkit مباشرة:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { Button } from "@agent-native/toolkit/ui/button";
|
|
32
|
+
import { Toaster } from "@agent-native/toolkit/ui/sonner";
|
|
33
|
+
import { useToast } from "@agent-native/toolkit/hooks/use-toast";
|
|
34
|
+
import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
|
|
35
|
+
```
|
|
36
|
+
|
|
28
37
|
<Diagram id="doc-block-1vw6fvr" title={"المنسدلة طبقة، وليس خارج الإطار"} summary={"تحتفظ كل طبقة بنفس وقت التشغيل — الإجراءات، وحالة مؤشر الترابط، ومزامنة SQL-backed — بينما تمنحك مزيدًا من التحكم في Chrome."}>
|
|
29
38
|
|
|
30
39
|
```html
|
|
@@ -7,6 +7,8 @@ description: "كيفية إنشاء ونشر قوالب تطبيقات الوك
|
|
|
7
7
|
|
|
8
8
|
النماذج عبارة عن تطبيقات متكاملة ومتشعبة للوكلاء الأصليين تعمل على حل سير العمل الحقيقي. تم إنشاء قوالب الطرف الأول بنفس سطح إطار العمل الذي تستخدمه: مسارات React لـ UI، وDrizzle SQL للبيانات، وactions للعمليات، وموارد مساحة العمل لسلوك الوكيل، ومزامنة الاستقصاء بحيث يظل الوكيل وUI متوازيين.
|
|
9
9
|
|
|
10
|
+
استخدم `@agent-native/core` لعقد وقت التشغيل: actions، مكونات server الإضافية، مساعدات قاعدة البيانات، حالة التطبيق، مساعدات التوجيه، ودردشة الوكيل. استخدم `@agent-native/toolkit` لعناصر UI ومساعدات بناء التطبيقات القابلة لإعادة الاستخدام مثل primitives المشتركة، hooks للتنبيه والجوال، منتقيات التاريخ، وفتحات هيكل التطبيق البسيطة. أبق المتغيرات الخاصة بالقالب محلية عندما تعبّر عن سلوك المنتج أو هويته البصرية.
|
|
11
|
+
|
|
10
12
|
نموذج جيد:
|
|
11
13
|
|
|
12
14
|
- يعمل على حل سير عمل واحد من البداية إلى النهاية، باستخدام بيانات أولية مفيدة أو تدفق في حالة فارغة.
|
|
@@ -149,6 +149,12 @@ pnpm dev
|
|
|
149
149
|
|
|
150
150
|
**Session replay agent handoff.** Session recordings stay private, but the session detail page can mint a temporary **Copy for agent** link. The two-hour `agent_access` URL lets an external agent read replay summaries, timelines, and bounded event details without exposing blob/provider URLs or making the recording public.
|
|
151
151
|
|
|
152
|
+
Implementation note: use the shared core agent-access helpers
|
|
153
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
154
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
155
|
+
URL contract. Keep replay chunk authorization, diagnostics payloads, and the
|
|
156
|
+
session detail UI local to Analytics.
|
|
157
|
+
|
|
152
158
|
### العمل مع الوكيل
|
|
153
159
|
|
|
154
160
|
يعرف الوكيل دائمًا ما تنظر إليه. يتم إدخال حالة الشاشة الحالية في كل رسالة ككتلة `<current-screen>` - فهي تحتوي على العرض النشط، ولوحة المعلومات المفتوحة أو التحليل، وأي عوامل تصفية محددة.
|
|
@@ -133,6 +133,13 @@ API، لذا فإن النماذج التي تقبل النص أو الصور ا
|
|
|
133
133
|
|
|
134
134
|
Temporary private agent links are also supported: the Share dialog can mint a two-hour `agent_access` URL for any recording the viewer can access. Agents use that token with the share page and JSON APIs, and the clip does not become public.
|
|
135
135
|
|
|
136
|
+
Implementation note: use the shared core agent-access helpers
|
|
137
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
138
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
139
|
+
URL contract. Keep Clips-specific visibility checks, transcript/frame payloads,
|
|
140
|
+
and player UI local. New links use `agent_access`; routes should continue
|
|
141
|
+
accepting the legacy `t` query where existing agent API URLs may already use it.
|
|
142
|
+
|
|
136
143
|
تتبع نقاط النهاية نفس القواعد العامة/كلمة المرور/انتهاء الصلاحية مثل صفحة المشاركة.
|
|
137
144
|
تتطلب المقاطع المحمية بكلمة مرور كلمة المرور مرة واحدة؛ تعود الاستجابات الناجحة
|
|
138
145
|
روابط رمزية قصيرة العمر بحيث لا يحتاج وكلاء المراحل النهائية إلى النص العادي
|
|
@@ -241,6 +241,12 @@ VITE_AGENT_NATIVE_SESSION_REPLAY_SAMPLE_RATE=0.1
|
|
|
241
241
|
|
|
242
242
|
عندما تحتاج إلى تسليم تسجيل خاص إلى وكيل خارجي، استخدم عنصر التحكم **نسخ للوكيل** في صفحة تفاصيل الجلسة. فهو يُنشئ رابط `agent_access` محدد النطاق بالتسجيل ومدته ساعتان، ويقوم بعرض SSR لحمولة اكتشاف صغيرة على `/sessions/:recordingId`، ولا يكشف إلا عن واجهات برمجة تطبيقات JSON الخاصة بسياق/أحداث الوكيل. لا تتغير رؤية التسجيل.
|
|
243
243
|
|
|
244
|
+
Implementation note: the reusable layer is the core agent-access URL contract,
|
|
245
|
+
not a replay-specific UI abstraction. Use `createScopedAgentAccessGrant`,
|
|
246
|
+
`verifyScopedAgentAccessToken`, `buildAgentAccessUrl`, and
|
|
247
|
+
`buildAgentAccessApiUrl` for scoped SSR and JSON API links; keep replay storage,
|
|
248
|
+
diagnostics shaping, and access policy inside the Analytics template.
|
|
249
|
+
|
|
244
250
|
للتطوير المحلي فقط، يمكن لـ Analytics الرجوع إلى أجزاء SQL مضمّنة محدودة السعة عندما يكون تخزين blob الخاص غير متاح. يجب أن تُهيّئ عمليات النشر في الإنتاج تخزين blob خاصًا أو مشفّرًا بدلاً من الاعتماد على Postgres لحمولات إعادة التشغيل.
|
|
245
251
|
|
|
246
252
|
## متقدم: الموفرون المخصصون والداخليون {#advanced}
|
|
@@ -25,6 +25,15 @@ Vermeiden Sie den Import von UI-Komponenten aus dem bloßen `@agent-native/core`
|
|
|
25
25
|
`@agent-native/core/client` oder ein fokussierter `@agent-native/core/client/*`-Unterpfad
|
|
26
26
|
daher wählen Bundler den browsersicheren Eintrag.
|
|
27
27
|
|
|
28
|
+
Verwenden Sie `@agent-native/toolkit` für wiederverwendbare App-Bausteine, die nicht Teil des grundlegenden Laufzeitvertrags sind: shadcn-artige UI-Primitives, gemeinsame Hooks, einfache App-Shell-Helfer und weitere Template-Kompositionsmodule. Core behält während der Umstellung Kompatibilitäts-Reexports, aber neuer Template- und App-Code sollte Toolkit-Module direkt importieren:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { Button } from "@agent-native/toolkit/ui/button";
|
|
32
|
+
import { Toaster } from "@agent-native/toolkit/ui/sonner";
|
|
33
|
+
import { useToast } from "@agent-native/toolkit/hooks/use-toast";
|
|
34
|
+
import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
|
|
35
|
+
```
|
|
36
|
+
|
|
28
37
|
<Diagram id="doc-block-6bst90" title="Lassen Sie eine Ebene nach unten fallen, nicht aus dem Framework heraus" summary={"Jede Ebene behält die gleiche Laufzeit bei – Aktionen, Thread-Status und SQL-backed-Synchronisierung – und gibt Ihnen gleichzeitig mehr Kontrolle über Chrome."}>
|
|
29
38
|
|
|
30
39
|
```html
|
|
@@ -7,6 +7,8 @@ description: "So erstellen und veröffentlichen Sie Ihre eigenen agentennativen
|
|
|
7
7
|
|
|
8
8
|
Vorlagen sind vollständige, forkbare agentennative Apps, die einen echten Arbeitsablauf lösen. Die Erstanbieter-Vorlagen werden mit derselben Framework-Oberfläche erstellt, die Sie verwenden: React-Routen für UI, Drizzle SQL für Daten, actions für Vorgänge, Arbeitsbereichsressourcen für Agentenverhalten und Abfragesynchronisierung, damit der Agent und UI aufeinander abgestimmt bleiben.
|
|
9
9
|
|
|
10
|
+
Verwenden Sie `@agent-native/core` für den Laufzeitvertrag: Actions, Server-Plugins, Datenbank-Helfer, App-State, Routing-Helfer und Agent-Chat. Verwenden Sie `@agent-native/toolkit` für wiederverwendbare App-Building-UI und Helfer wie gemeinsame Primitives, Toast- und Mobile-Hooks, Date-Picker und einfache App-Shell-Slots. Halten Sie template-spezifische Varianten lokal, wenn sie Produktverhalten oder visuelle Identität kodieren.
|
|
11
|
+
|
|
10
12
|
Eine gute Vorlage:
|
|
11
13
|
|
|
12
14
|
- Löst einen Workflow durchgängig, mit nützlichen Seed-Daten oder einem Leerzustandsfluss.
|
|
@@ -149,6 +149,12 @@ CLI gibt den lokalen Entwickler URL aus. Melden Sie sich bei Google an und öffn
|
|
|
149
149
|
|
|
150
150
|
**Session replay agent handoff.** Session recordings stay private, but the session detail page can mint a temporary **Copy for agent** link. The two-hour `agent_access` URL lets an external agent read replay summaries, timelines, and bounded event details without exposing blob/provider URLs or making the recording public.
|
|
151
151
|
|
|
152
|
+
Implementation note: use the shared core agent-access helpers
|
|
153
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
154
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
155
|
+
URL contract. Keep replay chunk authorization, diagnostics payloads, and the
|
|
156
|
+
session detail UI local to Analytics.
|
|
157
|
+
|
|
152
158
|
### Zusammenarbeit mit dem Agenten
|
|
153
159
|
|
|
154
160
|
Der Agent weiß immer, was Sie sehen. Der aktuelle Bildschirmstatus wird als `<current-screen>`-Block in jede Nachricht eingefügt – er enthält die aktive Ansicht, das geöffnete Dashboard oder die geöffnete Analyse und alle ausgewählten Filter.
|
|
@@ -133,6 +133,13 @@ Agent.
|
|
|
133
133
|
|
|
134
134
|
Temporary private agent links are also supported: the Share dialog can mint a two-hour `agent_access` URL for any recording the viewer can access. Agents use that token with the share page and JSON APIs, and the clip does not become public.
|
|
135
135
|
|
|
136
|
+
Implementation note: use the shared core agent-access helpers
|
|
137
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
138
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
139
|
+
URL contract. Keep Clips-specific visibility checks, transcript/frame payloads,
|
|
140
|
+
and player UI local. New links use `agent_access`; routes should continue
|
|
141
|
+
accepting the legacy `t` query where existing agent API URLs may already use it.
|
|
142
|
+
|
|
136
143
|
Die Endpunkte folgen denselben öffentlichen/Passwort-/Ablaufregeln wie die Freigabeseite.
|
|
137
144
|
Passwortgeschützte Clips erfordern das einmalige Passwort; Erfolgreiche Antworten werden zurückgegeben
|
|
138
145
|
kurzlebige tokenisierte Links, sodass nachgeschaltete Agenten den Klartext nicht benötigen
|
|
@@ -241,6 +241,12 @@ Das Analytics-Template speichert Replay-Metadaten in SQL (`session_recordings`)
|
|
|
241
241
|
|
|
242
242
|
Wenn Sie eine private Aufzeichnung an einen externen Agenten übergeben müssen, verwenden Sie auf der Sitzungsdetailseite die Funktion **Copy for agent**. Sie erzeugt einen zwei Stunden gültigen, aufzeichnungsgebundenen `agent_access`-Link, rendert eine kleine Discovery-Payload per SSR unter `/sessions/:recordingId` und stellt ausschließlich die JSON-APIs für Agent-Kontext/-Ereignisse bereit. Die Sichtbarkeit der Aufzeichnung ändert sich dadurch nicht.
|
|
243
243
|
|
|
244
|
+
Implementation note: the reusable layer is the core agent-access URL contract,
|
|
245
|
+
not a replay-specific UI abstraction. Use `createScopedAgentAccessGrant`,
|
|
246
|
+
`verifyScopedAgentAccessToken`, `buildAgentAccessUrl`, and
|
|
247
|
+
`buildAgentAccessApiUrl` for scoped SSR and JSON API links; keep replay storage,
|
|
248
|
+
diagnostics shaping, and access policy inside the Analytics template.
|
|
249
|
+
|
|
244
250
|
Nur für die lokale Entwicklung kann Analytics auf begrenzte SQL-Inline-Chunks zurückgreifen, wenn kein privater Blob-Speicher verfügbar ist. Produktions-Deployments sollten privaten oder verschlüsselten Blob-Speicher konfigurieren, anstatt sich für Replay-Payloads auf Postgres zu verlassen.
|
|
245
251
|
|
|
246
252
|
## Erweitert: benutzerdefinierte Anbieter und Interna {#advanced}
|
|
@@ -25,6 +25,15 @@ Evite importar componentes UI desde el paquete básico `@agent-native/core`. Usa
|
|
|
25
25
|
`@agent-native/core/client` o una subruta `@agent-native/core/client/*` enfocada
|
|
26
26
|
para que los paquetes elijan la entrada segura para el navegador.
|
|
27
27
|
|
|
28
|
+
Use `@agent-native/toolkit` para piezas reutilizables de construcción de aplicaciones que no forman parte del contrato fundacional del runtime: primitivas UI estilo shadcn, hooks compartidos, ayudantes simples de shell de aplicación y otros módulos para componer plantillas. Core conserva reexports de compatibilidad durante la transición, pero el código nuevo de plantillas y aplicaciones debe importar módulos de toolkit directamente:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { Button } from "@agent-native/toolkit/ui/button";
|
|
32
|
+
import { Toaster } from "@agent-native/toolkit/ui/sonner";
|
|
33
|
+
import { useToast } from "@agent-native/toolkit/hooks/use-toast";
|
|
34
|
+
import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
|
|
35
|
+
```
|
|
36
|
+
|
|
28
37
|
<Diagram id="doc-block-1v79shu" title="Bajar una capa, no fuera del marco." summary={"Cada capa mantiene el mismo tiempo de ejecución (acciones, estado del subproceso y sincronización SQL-backed) al tiempo que le brinda más control sobre Chrome."}>
|
|
29
38
|
|
|
30
39
|
```html
|
|
@@ -7,6 +7,8 @@ description: "Cómo crear y publicar sus propias plantillas de aplicaciones nati
|
|
|
7
7
|
|
|
8
8
|
Las plantillas son aplicaciones nativas del agente completas y bifurcables que resuelven un flujo de trabajo real. Las plantillas propias se crean con la misma superficie de marco que usted utiliza: rutas React para UI, Drizzle SQL para datos, actions para operaciones, recursos del espacio de trabajo para el comportamiento del agente y sincronización de sondeos para que el agente y UI permanezcan alineados.
|
|
9
9
|
|
|
10
|
+
Use `@agent-native/core` para el contrato de runtime: actions, plugins de servidor, helpers de base de datos, estado de aplicación, helpers de rutas y chat del agente. Use `@agent-native/toolkit` para UI reutilizable y helpers de construcción de apps, como primitivas compartidas, hooks de toast/móvil, selectores de fecha y slots simples de shell de aplicación. Mantenga locales las variantes específicas de una plantilla cuando codifiquen comportamiento de producto o identidad visual.
|
|
11
|
+
|
|
10
12
|
Una buena plantilla:
|
|
11
13
|
|
|
12
14
|
- Resuelve un flujo de trabajo de principio a fin, con datos iniciales útiles o un flujo de estado vacío.
|
|
@@ -149,6 +149,12 @@ El CLI imprime el desarrollador local URL. Inicia sesión con Google y luego abr
|
|
|
149
149
|
|
|
150
150
|
**Session replay agent handoff.** Session recordings stay private, but the session detail page can mint a temporary **Copy for agent** link. The two-hour `agent_access` URL lets an external agent read replay summaries, timelines, and bounded event details without exposing blob/provider URLs or making the recording public.
|
|
151
151
|
|
|
152
|
+
Implementation note: use the shared core agent-access helpers
|
|
153
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
154
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
155
|
+
URL contract. Keep replay chunk authorization, diagnostics payloads, and the
|
|
156
|
+
session detail UI local to Analytics.
|
|
157
|
+
|
|
152
158
|
### Trabajar con el agente
|
|
153
159
|
|
|
154
160
|
El agente siempre sabe lo que estás mirando. El estado actual de la pantalla se inyecta en cada mensaje como un bloque `<current-screen>`: contiene la vista activa, el panel o análisis abierto y los filtros seleccionados.
|
|
@@ -133,6 +133,13 @@ agente.
|
|
|
133
133
|
|
|
134
134
|
Temporary private agent links are also supported: the Share dialog can mint a two-hour `agent_access` URL for any recording the viewer can access. Agents use that token with the share page and JSON APIs, and the clip does not become public.
|
|
135
135
|
|
|
136
|
+
Implementation note: use the shared core agent-access helpers
|
|
137
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
138
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
139
|
+
URL contract. Keep Clips-specific visibility checks, transcript/frame payloads,
|
|
140
|
+
and player UI local. New links use `agent_access`; routes should continue
|
|
141
|
+
accepting the legacy `t` query where existing agent API URLs may already use it.
|
|
142
|
+
|
|
136
143
|
Los puntos finales siguen las mismas reglas de público/contraseña/caducidad que la página para compartir.
|
|
137
144
|
Los clips protegidos con contraseña requieren la contraseña una vez; regresan respuestas exitosas
|
|
138
145
|
Enlaces tokenizados de corta duración para que los agentes posteriores no necesiten el texto sin formato
|
|
@@ -241,6 +241,12 @@ La plantilla de Analytics almacena los metadatos de repetición en SQL (`session
|
|
|
241
241
|
|
|
242
242
|
Cuando necesite entregar una grabación privada a un agente externo, use el control **Copiar para el agente** de la página de detalle de la sesión. Este genera un enlace `agent_access` de dos horas con alcance limitado a la grabación, renderiza en el servidor (SSR) una pequeña carga útil de descubrimiento en `/sessions/:recordingId`, y expone únicamente las API JSON de contexto/eventos del agente. La visibilidad de la grabación no cambia.
|
|
243
243
|
|
|
244
|
+
Implementation note: the reusable layer is the core agent-access URL contract,
|
|
245
|
+
not a replay-specific UI abstraction. Use `createScopedAgentAccessGrant`,
|
|
246
|
+
`verifyScopedAgentAccessToken`, `buildAgentAccessUrl`, and
|
|
247
|
+
`buildAgentAccessApiUrl` for scoped SSR and JSON API links; keep replay storage,
|
|
248
|
+
diagnostics shaping, and access policy inside the Analytics template.
|
|
249
|
+
|
|
244
250
|
Solo para desarrollo local, Analytics puede recurrir a fragmentos en línea de SQL limitados cuando el almacenamiento de blob privado no está disponible. Las implementaciones de producción deberían configurar almacenamiento de blob privado o cifrado en lugar de depender de Postgres para las cargas útiles de repetición.
|
|
245
251
|
|
|
246
252
|
## Avanzado: proveedores personalizados e internos {#advanced}
|
|
@@ -25,6 +25,15 @@ import { ResourcesPanel } from "@agent-native/core/client/resources";
|
|
|
25
25
|
`@agent-native/core/client` ou un sous-chemin `@agent-native/core/client/*` ciblé
|
|
26
26
|
les bundlers choisissent donc l'entrée sécurisée pour le navigateur.
|
|
27
27
|
|
|
28
|
+
Utilisez `@agent-native/toolkit` pour les éléments réutilisables de construction d'applications qui ne font pas partie du contrat fondamental du runtime : primitives UI de style shadcn, hooks partagés, aides simples de shell d'application et autres modules de composition de modèles. Core conserve des réexportations de compatibilité pendant la transition, mais le nouveau code de modèle et d'application doit importer directement les modules toolkit :
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { Button } from "@agent-native/toolkit/ui/button";
|
|
32
|
+
import { Toaster } from "@agent-native/toolkit/ui/sonner";
|
|
33
|
+
import { useToast } from "@agent-native/toolkit/hooks/use-toast";
|
|
34
|
+
import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
|
|
35
|
+
```
|
|
36
|
+
|
|
28
37
|
<Diagram id="doc-block-n2zqzy" title={"Déposez un calque, pas hors du cadre"} summary={"Chaque couche conserve le même temps d'exécution (actions, état du thread et synchronisation SQL-backed) tout en vous donnant plus de contrôle sur le chrome."}>
|
|
29
38
|
|
|
30
39
|
```html
|
|
@@ -7,6 +7,8 @@ description: "Comment créer et publier vos propres modèles d'applications nati
|
|
|
7
7
|
|
|
8
8
|
Les modèles sont des applications natives d'agent complètes et exploitables qui résolvent un véritable flux de travail. Les modèles propriétaires sont créés avec la même surface de structure que vous utilisez : routes React pour le UI, Drizzle SQL pour les données, actions pour les opérations, ressources d'espace de travail pour le comportement de l'agent et synchronisation des interrogations afin que l'agent et le UI restent alignés.
|
|
9
9
|
|
|
10
|
+
Utilisez `@agent-native/core` pour le contrat de runtime : actions, plugins serveur, aides de base de données, état de l'application, aides de routage et chat de l'agent. Utilisez `@agent-native/toolkit` pour l'UI réutilisable de construction d'applications et les aides comme les primitives partagées, les hooks toast/mobile, les sélecteurs de date et les slots simples de shell d'application. Gardez les variantes propres au modèle locales lorsqu'elles encodent un comportement produit ou une identité visuelle.
|
|
11
|
+
|
|
10
12
|
Un bon modèle :
|
|
11
13
|
|
|
12
14
|
- Résout un flux de travail de bout en bout, avec des données de départ utiles ou un flux à état vide.
|
|
@@ -149,6 +149,12 @@ Le CLI imprime le développement local URL. Connectez-vous avec Google, puis ouv
|
|
|
149
149
|
|
|
150
150
|
**Session replay agent handoff.** Session recordings stay private, but the session detail page can mint a temporary **Copy for agent** link. The two-hour `agent_access` URL lets an external agent read replay summaries, timelines, and bounded event details without exposing blob/provider URLs or making the recording public.
|
|
151
151
|
|
|
152
|
+
Implementation note: use the shared core agent-access helpers
|
|
153
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
154
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
155
|
+
URL contract. Keep replay chunk authorization, diagnostics payloads, and the
|
|
156
|
+
session detail UI local to Analytics.
|
|
157
|
+
|
|
152
158
|
### Travailler avec l'agent
|
|
153
159
|
|
|
154
160
|
L'agent sait toujours ce que vous regardez. L'état actuel de l'écran est injecté dans chaque message sous forme de bloc `<current-screen>` : il contient la vue active, le tableau de bord ou l'analyse ouvert et tous les filtres sélectionnés.
|
|
@@ -133,6 +133,13 @@ agent.
|
|
|
133
133
|
|
|
134
134
|
Temporary private agent links are also supported: the Share dialog can mint a two-hour `agent_access` URL for any recording the viewer can access. Agents use that token with the share page and JSON APIs, and the clip does not become public.
|
|
135
135
|
|
|
136
|
+
Implementation note: use the shared core agent-access helpers
|
|
137
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
138
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
139
|
+
URL contract. Keep Clips-specific visibility checks, transcript/frame payloads,
|
|
140
|
+
and player UI local. New links use `agent_access`; routes should continue
|
|
141
|
+
accepting the legacy `t` query where existing agent API URLs may already use it.
|
|
142
|
+
|
|
136
143
|
Les points de terminaison suivent les mêmes règles de public/mot de passe/expiration que la page de partage.
|
|
137
144
|
Les clips protégés par mot de passe nécessitent le mot de passe une seule fois ; les réponses positives reviennent
|
|
138
145
|
Liens tokenisés de courte durée afin que les agents en aval n'aient pas besoin du texte brut
|
|
@@ -241,6 +241,12 @@ Le modèle Analytics stocke les métadonnées de relecture en SQL (`session_reco
|
|
|
241
241
|
|
|
242
242
|
Lorsque vous devez transmettre un enregistrement privé à un agent externe, utilisez le contrôle **Copy for agent** de la page de détail de session. Il génère un lien `agent_access` limité à l'enregistrement, valide deux heures, effectue le rendu SSR d'une petite charge utile de découverte sur `/sessions/:recordingId`, et n'expose que les API JSON de contexte/événements de l'agent. La visibilité de l'enregistrement ne change pas.
|
|
243
243
|
|
|
244
|
+
Implementation note: the reusable layer is the core agent-access URL contract,
|
|
245
|
+
not a replay-specific UI abstraction. Use `createScopedAgentAccessGrant`,
|
|
246
|
+
`verifyScopedAgentAccessToken`, `buildAgentAccessUrl`, and
|
|
247
|
+
`buildAgentAccessApiUrl` for scoped SSR and JSON API links; keep replay storage,
|
|
248
|
+
diagnostics shaping, and access policy inside the Analytics template.
|
|
249
|
+
|
|
244
250
|
Pour le développement local uniquement, Analytics peut se replier sur des blocs SQL en ligne plafonnés lorsque le stockage blob privé n'est pas disponible. Les déploiements en production doivent configurer un stockage blob privé ou chiffré plutôt que de s'appuyer sur Postgres pour les charges utiles de relecture.
|
|
245
251
|
|
|
246
252
|
## Avancé : fournisseurs personnalisés et éléments internes {#advanced}
|
|
@@ -25,6 +25,15 @@ import { ResourcesPanel } from "@agent-native/core/client/resources";
|
|
|
25
25
|
`@agent-native/core/client` या एक केंद्रित `@agent-native/core/client/*` उपपथ
|
|
26
26
|
इसलिए बंडलर ब्राउज़र-सुरक्षित प्रविष्टि चुनते हैं।
|
|
27
27
|
|
|
28
|
+
`@agent-native/toolkit` का उपयोग उन पुन: उपयोग योग्य ऐप-बिल्डिंग हिस्सों के लिए करें जो मूल रनटाइम अनुबंध का भाग नहीं हैं: shadcn-शैली UI primitives, साझा hooks, सरल ऐप shell helpers, और अन्य template composition modules. संक्रमण के दौरान Core compatibility re-exports रखता है, लेकिन नए template और app code को toolkit modules सीधे import करने चाहिए:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { Button } from "@agent-native/toolkit/ui/button";
|
|
32
|
+
import { Toaster } from "@agent-native/toolkit/ui/sonner";
|
|
33
|
+
import { useToast } from "@agent-native/toolkit/hooks/use-toast";
|
|
34
|
+
import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
|
|
35
|
+
```
|
|
36
|
+
|
|
28
37
|
<Diagram id="doc-block-109zkj3" title={"एक परत नीचे गिराएं, ढांचे से बाहर नहीं"} summary={"प्रत्येक परत आपको क्रोम पर अधिक नियंत्रण प्रदान करते हुए समान रनटाइम - क्रियाएं, थ्रेड स्थिति और SQL-backed सिंक रखती है।"}>
|
|
29
38
|
|
|
30
39
|
```html
|
|
@@ -7,6 +7,8 @@ description: "अपने स्वयं के एजेंट-नेटि
|
|
|
7
7
|
|
|
8
8
|
टेम्प्लेट पूर्ण, फोर्केबल एजेंट-नेटिव ऐप्स हैं जो वास्तविक वर्कफ़्लो को हल करते हैं। प्रथम-पक्ष टेम्पलेट आपके द्वारा उपयोग की जाने वाली समान फ़्रेमवर्क सतह के साथ बनाए गए हैं: UI के लिए React रूट, डेटा के लिए Drizzle SQL, संचालन के लिए actions, एजेंट व्यवहार के लिए कार्यक्षेत्र संसाधन, और पोलिंग सिंक ताकि एजेंट और UI संरेखित रहें।
|
|
9
9
|
|
|
10
|
+
`@agent-native/core` का उपयोग runtime contract के लिए करें: actions, server plugins, database helpers, app state, routing helpers, और agent chat. `@agent-native/toolkit` का उपयोग reusable app-building UI और helpers के लिए करें, जैसे shared primitives, toast/mobile hooks, date pickers, और simple app shell slots. जब variants product behavior या visual identity encode करते हैं, तो उन्हें template-local रखें.
|
|
11
|
+
|
|
10
12
|
एक अच्छा टेम्पलेट:
|
|
11
13
|
|
|
12
14
|
- उपयोगी बीज डेटा या खाली-अवस्था प्रवाह के साथ एक वर्कफ़्लो को शुरू से अंत तक हल करता है।
|
|
@@ -149,6 +149,12 @@ CLI स्थानीय डेव URL प्रिंट करता है
|
|
|
149
149
|
|
|
150
150
|
**Session replay agent handoff.** Session recordings stay private, but the session detail page can mint a temporary **Copy for agent** link. The two-hour `agent_access` URL lets an external agent read replay summaries, timelines, and bounded event details without exposing blob/provider URLs or making the recording public.
|
|
151
151
|
|
|
152
|
+
Implementation note: use the shared core agent-access helpers
|
|
153
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
154
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
155
|
+
URL contract. Keep replay chunk authorization, diagnostics payloads, and the
|
|
156
|
+
session detail UI local to Analytics.
|
|
157
|
+
|
|
152
158
|
### एजेंट के साथ काम करना
|
|
153
159
|
|
|
154
160
|
एजेंट को हमेशा पता होता है कि आप क्या देख रहे हैं। वर्तमान स्क्रीन स्थिति को प्रत्येक संदेश में `<current-screen>` ब्लॉक के रूप में इंजेक्ट किया जाता है - इसमें सक्रिय दृश्य, खुला डैशबोर्ड या विश्लेषण और कोई भी चयनित फ़िल्टर शामिल होता है।
|
|
@@ -133,6 +133,13 @@ APIs, इसलिए मॉडल जो केवल पाठ या स्
|
|
|
133
133
|
|
|
134
134
|
Temporary private agent links are also supported: the Share dialog can mint a two-hour `agent_access` URL for any recording the viewer can access. Agents use that token with the share page and JSON APIs, and the clip does not become public.
|
|
135
135
|
|
|
136
|
+
Implementation note: use the shared core agent-access helpers
|
|
137
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
138
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
139
|
+
URL contract. Keep Clips-specific visibility checks, transcript/frame payloads,
|
|
140
|
+
and player UI local. New links use `agent_access`; routes should continue
|
|
141
|
+
accepting the legacy `t` query where existing agent API URLs may already use it.
|
|
142
|
+
|
|
136
143
|
एंडपॉइंट शेयर पेज के समान सार्वजनिक/पासवर्ड/समाप्ति नियमों का पालन करते हैं।
|
|
137
144
|
पासवर्ड-सुरक्षित क्लिप को एक बार पासवर्ड की आवश्यकता होती है; सफल प्रत्युत्तर वापस आते हैं
|
|
138
145
|
अल्पकालिक टोकनयुक्त लिंक ताकि डाउनस्ट्रीम एजेंटों को प्लेनटेक्स्ट की आवश्यकता न हो
|
|
@@ -241,6 +241,12 @@ Analytics टेम्पलेट replay मेटाडेटा को SQL (`
|
|
|
241
241
|
|
|
242
242
|
जब आपको किसी बाहरी एजेंट को एक प्राइवेट रिकॉर्डिंग सौंपने की आवश्यकता हो, तो session डिटेल पेज के **Copy for agent** नियंत्रण का उपयोग करें। यह एक दो-घंटे का, रिकॉर्डिंग-स्कोप्ड `agent_access` लिंक बनाता है, `/sessions/:recordingId` पर एक छोटा डिस्कवरी पेलोड SSR करता है, और केवल एजेंट context/events JSON APIs को एक्सपोज़ करता है। रिकॉर्डिंग की visibility नहीं बदलती।
|
|
243
243
|
|
|
244
|
+
Implementation note: the reusable layer is the core agent-access URL contract,
|
|
245
|
+
not a replay-specific UI abstraction. Use `createScopedAgentAccessGrant`,
|
|
246
|
+
`verifyScopedAgentAccessToken`, `buildAgentAccessUrl`, and
|
|
247
|
+
`buildAgentAccessApiUrl` for scoped SSR and JSON API links; keep replay storage,
|
|
248
|
+
diagnostics shaping, and access policy inside the Analytics template.
|
|
249
|
+
|
|
244
250
|
केवल स्थानीय विकास के लिए, Analytics प्राइवेट blob storage उपलब्ध न होने पर capped SQL inline chunks पर फ़ॉलबैक कर सकता है। प्रोडक्शन डिप्लॉयमेंट्स को replay payloads के लिए Postgres पर निर्भर रहने के बजाय प्राइवेट या एन्क्रिप्टेड blob storage कॉन्फ़िगर करना चाहिए।
|
|
245
251
|
|
|
246
252
|
## उन्नत: कस्टम प्रदाता और आंतरिक {#advanced}
|
|
@@ -25,6 +25,15 @@ import { ResourcesPanel } from "@agent-native/core/client/resources";
|
|
|
25
25
|
`@agent-native/core/client` またはフォーカスされた `@agent-native/core/client/*` サブパス
|
|
26
26
|
そのため、バンドラーはブラウザーセーフなエントリを選択します。
|
|
27
27
|
|
|
28
|
+
`@agent-native/toolkit` は、基盤ランタイム契約ではない再利用可能なアプリ構築部品に使用します: shadcn 風 UI プリミティブ、共有 hooks、シンプルなアプリ shell ヘルパー、その他のテンプレート合成モジュールです。移行中、Core は互換性 re-export を保持しますが、新しいテンプレートとアプリのコードは toolkit モジュールを直接 import してください:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { Button } from "@agent-native/toolkit/ui/button";
|
|
32
|
+
import { Toaster } from "@agent-native/toolkit/ui/sonner";
|
|
33
|
+
import { useToast } from "@agent-native/toolkit/hooks/use-toast";
|
|
34
|
+
import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
|
|
35
|
+
```
|
|
36
|
+
|
|
28
37
|
<Diagram id="doc-block-9epcij" title={"フレームワークの外ではなく、レイヤーをドロップダウンします"} summary={"各レイヤーは同じランタイム (アクション、スレッド状態、SQL-backed 同期) を維持しながら、クロムをより詳細に制御できます。"}>
|
|
29
38
|
|
|
30
39
|
```html
|
|
@@ -7,6 +7,8 @@ description: "独自のエージェント ネイティブ アプリ テンプレ
|
|
|
7
7
|
|
|
8
8
|
テンプレートは、実際のワークフローを解決する完全なフォーク可能なエージェント ネイティブ アプリです。ファーストパーティ テンプレートは、使用するのと同じフレームワーク サーフェスを使用して構築されます。UI の React ルート、データの Drizzle SQL、操作の actions、エージェントの動作のワークスペース リソース、およびエージェントと UI の連携を維持するためのポーリング同期です。
|
|
9
9
|
|
|
10
|
+
`@agent-native/core` は runtime contract に使用します: actions、server plugins、database helpers、app state、routing helpers、agent chat です。`@agent-native/toolkit` は shared primitives、toast/mobile hooks、date pickers、simple app shell slots などの再利用可能な app-building UI と helpers に使用します。製品動作や visual identity を表す template-specific variants はローカルに保持してください。
|
|
11
|
+
|
|
10
12
|
良いテンプレート:
|
|
11
13
|
|
|
12
14
|
- 有用なシード データまたは空の状態のフローを使用して、1 つのワークフローをエンドツーエンドで解決します。
|
|
@@ -149,6 +149,12 @@ CLI はローカル開発 URL を出力します。 Google でログインし、
|
|
|
149
149
|
|
|
150
150
|
**Session replay agent handoff.** Session recordings stay private, but the session detail page can mint a temporary **Copy for agent** link. The two-hour `agent_access` URL lets an external agent read replay summaries, timelines, and bounded event details without exposing blob/provider URLs or making the recording public.
|
|
151
151
|
|
|
152
|
+
Implementation note: use the shared core agent-access helpers
|
|
153
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
154
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
155
|
+
URL contract. Keep replay chunk authorization, diagnostics payloads, and the
|
|
156
|
+
session detail UI local to Analytics.
|
|
157
|
+
|
|
152
158
|
### エージェントとの連携
|
|
153
159
|
|
|
154
160
|
エージェントは、あなたが何を見ているのかを常に知っています。現在の画面状態は、`<current-screen>` ブロックとしてすべてのメッセージに挿入されます。これには、アクティブなビュー、開いているダッシュボードまたは分析、選択したフィルターが含まれます。
|
|
@@ -133,6 +133,13 @@ API なので、テキストまたは静止画像のみを受け入れるモデ
|
|
|
133
133
|
|
|
134
134
|
Temporary private agent links are also supported: the Share dialog can mint a two-hour `agent_access` URL for any recording the viewer can access. Agents use that token with the share page and JSON APIs, and the clip does not become public.
|
|
135
135
|
|
|
136
|
+
Implementation note: use the shared core agent-access helpers
|
|
137
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
138
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
139
|
+
URL contract. Keep Clips-specific visibility checks, transcript/frame payloads,
|
|
140
|
+
and player UI local. New links use `agent_access`; routes should continue
|
|
141
|
+
accepting the legacy `t` query where existing agent API URLs may already use it.
|
|
142
|
+
|
|
136
143
|
エンドポイントは、共有ページと同じパブリック/パスワード/有効期限ルールに従います。
|
|
137
144
|
パスワードで保護されたクリップでは、パスワードが 1 回必要になります。成功した応答が返されます
|
|
138
145
|
トークン化されたリンクは有効期間が短いため、ダウンストリーム エージェントはプレーンテキストを必要としません
|
|
@@ -241,6 +241,12 @@ Analytics テンプレートは、リプレイ メタデータを SQL (`session_
|
|
|
241
241
|
|
|
242
242
|
プライベートな記録を外部エージェントに渡す必要がある場合は、セッション詳細ページの **Copy for agent** コントロールを使用します。これにより、2 時間有効で記録にスコープされた `agent_access` リンクが発行され、`/sessions/:recordingId` で小さなディスカバリー ペイロードが SSR され、エージェント コンテキスト/イベントの JSON API のみが公開されます。記録の可視性は変更されません。
|
|
243
243
|
|
|
244
|
+
Implementation note: the reusable layer is the core agent-access URL contract,
|
|
245
|
+
not a replay-specific UI abstraction. Use `createScopedAgentAccessGrant`,
|
|
246
|
+
`verifyScopedAgentAccessToken`, `buildAgentAccessUrl`, and
|
|
247
|
+
`buildAgentAccessApiUrl` for scoped SSR and JSON API links; keep replay storage,
|
|
248
|
+
diagnostics shaping, and access policy inside the Analytics template.
|
|
249
|
+
|
|
244
250
|
ローカル開発でのみ、Analytics はプライベートな blob ストレージが利用できない場合に、上限付きの SQL インライン チャンクにフォールバックできます。本番デプロイでは、リプレイ ペイロードを Postgres に依存するのではなく、プライベートまたは暗号化された blob ストレージを設定する必要があります。
|
|
245
251
|
|
|
246
252
|
## 上級: カスタムプロバイダーと内部 {#advanced}
|
|
@@ -25,6 +25,15 @@ import { ResourcesPanel } from "@agent-native/core/client/resources";
|
|
|
25
25
|
`@agent-native/core/client` 또는 집중된 `@agent-native/core/client/*` 하위 경로
|
|
26
26
|
따라서 번들러는 브라우저 안전 항목을 선택합니다.
|
|
27
27
|
|
|
28
|
+
`@agent-native/toolkit`은 기본 런타임 계약에 속하지 않는 재사용 가능한 앱 구축 요소에 사용하세요: shadcn 스타일 UI primitives, 공유 hooks, 단순 app shell helpers, 기타 template composition modules입니다. 전환 기간 동안 Core는 호환성 re-export를 유지하지만, 새 템플릿과 앱 코드는 toolkit modules를 직접 가져와야 합니다:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { Button } from "@agent-native/toolkit/ui/button";
|
|
32
|
+
import { Toaster } from "@agent-native/toolkit/ui/sonner";
|
|
33
|
+
import { useToast } from "@agent-native/toolkit/hooks/use-toast";
|
|
34
|
+
import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
|
|
35
|
+
```
|
|
36
|
+
|
|
28
37
|
<Diagram id="doc-block-wyryue" title={"프레임워크 외부가 아닌 레이어를 드롭다운하세요."} summary={"각 레이어는 동일한 런타임(작업, 스레드 상태, SQL-backed 동기화)을 유지하면서 크롬에 대한 더 많은 제어권을 제공합니다."}>
|
|
29
38
|
|
|
30
39
|
```html
|
|
@@ -7,6 +7,8 @@ description: "자신만의 에이전트 기반 앱 템플릿을 만들고 게시
|
|
|
7
7
|
|
|
8
8
|
템플릿은 실제 워크플로를 해결하는 완전하고 포크 가능한 에이전트 기반 앱입니다. 자사 템플릿은 귀하가 사용하는 것과 동일한 프레임워크 표면으로 구축됩니다. UI용 React 경로, 데이터용 Drizzle SQL, 작업용 actions, 에이전트 동작용 작업 공간 리소스, 에이전트와 UI가 정렬 상태를 유지하도록 폴링 동기화합니다.
|
|
9
9
|
|
|
10
|
+
`@agent-native/core`는 runtime contract에 사용하세요: actions, server plugins, database helpers, app state, routing helpers, agent chat입니다. `@agent-native/toolkit`은 shared primitives, toast/mobile hooks, date pickers, simple app shell slots 같은 reusable app-building UI와 helpers에 사용하세요. 제품 동작이나 visual identity를 담는 template-specific variants는 로컬에 유지하세요.
|
|
11
|
+
|
|
10
12
|
좋은 템플릿:
|
|
11
13
|
|
|
12
14
|
- 유용한 시드 데이터 또는 빈 상태 흐름을 사용하여 하나의 워크플로를 엔드 투 엔드로 해결합니다.
|
|
@@ -149,6 +149,12 @@ CLI는 로컬 개발자 URL를 인쇄합니다. Google에 로그인한 다음 **
|
|
|
149
149
|
|
|
150
150
|
**Session replay agent handoff.** Session recordings stay private, but the session detail page can mint a temporary **Copy for agent** link. The two-hour `agent_access` URL lets an external agent read replay summaries, timelines, and bounded event details without exposing blob/provider URLs or making the recording public.
|
|
151
151
|
|
|
152
|
+
Implementation note: use the shared core agent-access helpers
|
|
153
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
154
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
155
|
+
URL contract. Keep replay chunk authorization, diagnostics payloads, and the
|
|
156
|
+
session detail UI local to Analytics.
|
|
157
|
+
|
|
152
158
|
### 에이전트와 협력하기
|
|
153
159
|
|
|
154
160
|
에이전트는 항상 귀하가 무엇을 보고 있는지 알고 있습니다. 현재 화면 상태는 모든 메시지에 `<current-screen>` 블록으로 삽입됩니다. 여기에는 활성 보기, 열려 있는 대시보드 또는 분석, 선택한 필터가 포함됩니다.
|
|
@@ -133,6 +133,13 @@ API, 텍스트나 정지 이미지만 허용하는 모델도 여전히 무엇을
|
|
|
133
133
|
|
|
134
134
|
Temporary private agent links are also supported: the Share dialog can mint a two-hour `agent_access` URL for any recording the viewer can access. Agents use that token with the share page and JSON APIs, and the clip does not become public.
|
|
135
135
|
|
|
136
|
+
Implementation note: use the shared core agent-access helpers
|
|
137
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
138
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
139
|
+
URL contract. Keep Clips-specific visibility checks, transcript/frame payloads,
|
|
140
|
+
and player UI local. New links use `agent_access`; routes should continue
|
|
141
|
+
accepting the legacy `t` query where existing agent API URLs may already use it.
|
|
142
|
+
|
|
136
143
|
엔드포인트는 공유 페이지와 동일한 공개/비밀번호/만료 규칙을 따릅니다.
|
|
137
144
|
비밀번호로 보호된 클립에는 비밀번호가 한 번만 필요합니다. 성공적인 응답 반환
|
|
138
145
|
다운스트림 에이전트에 일반 텍스트가 필요하지 않도록 단기 토큰화된 링크
|
|
@@ -241,6 +241,12 @@ Analytics 템플릿은 리플레이 메타데이터를 SQL(`session_recordings`)
|
|
|
241
241
|
|
|
242
242
|
프라이빗 녹화를 외부 에이전트에게 전달해야 할 때는 세션 상세 페이지의 **Copy for agent** 컨트롤을 사용하세요. 이는 두 시간 동안 유효한 녹화 범위의 `agent_access` 링크를 발급하고, `/sessions/:recordingId`에서 작은 디스커버리 페이로드를 SSR하며, 에이전트 컨텍스트/이벤트 JSON API만 노출합니다. 녹화의 공개 범위는 변경되지 않습니다.
|
|
243
243
|
|
|
244
|
+
Implementation note: the reusable layer is the core agent-access URL contract,
|
|
245
|
+
not a replay-specific UI abstraction. Use `createScopedAgentAccessGrant`,
|
|
246
|
+
`verifyScopedAgentAccessToken`, `buildAgentAccessUrl`, and
|
|
247
|
+
`buildAgentAccessApiUrl` for scoped SSR and JSON API links; keep replay storage,
|
|
248
|
+
diagnostics shaping, and access policy inside the Analytics template.
|
|
249
|
+
|
|
244
250
|
로컬 개발 환경에서만 Analytics는 프라이빗 blob 스토리지를 사용할 수 없을 때 용량이 제한된 SQL 인라인 청크로 대체할 수 있습니다. 프로덕션 배포에서는 리플레이 페이로드를 Postgres에 의존하기보다 프라이빗 또는 암호화된 blob 스토리지를 구성해야 합니다.
|
|
245
251
|
|
|
246
252
|
## 고급: 맞춤형 공급자 및 내부 {#advanced}
|
|
@@ -25,6 +25,15 @@ Evite importar componentes UI do pacote `@agent-native/core` simples. Usar
|
|
|
25
25
|
`@agent-native/core/client` ou um subcaminho `@agent-native/core/client/*` em foco
|
|
26
26
|
para que os empacotadores escolham a entrada segura para o navegador.
|
|
27
27
|
|
|
28
|
+
Use `@agent-native/toolkit` para peças reutilizáveis de construção de aplicativos que não fazem parte do contrato fundamental do runtime: primitivas UI no estilo shadcn, hooks compartilhados, helpers simples de shell do app e outros módulos de composição de templates. Core mantém reexports de compatibilidade durante a transição, mas novo código de templates e apps deve importar módulos do toolkit diretamente:
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { Button } from "@agent-native/toolkit/ui/button";
|
|
32
|
+
import { Toaster } from "@agent-native/toolkit/ui/sonner";
|
|
33
|
+
import { useToast } from "@agent-native/toolkit/hooks/use-toast";
|
|
34
|
+
import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
|
|
35
|
+
```
|
|
36
|
+
|
|
28
37
|
<Diagram id="doc-block-smqhxh" title={"Desça uma camada, não fora da estrutura"} summary={"Cada camada mantém o mesmo tempo de execução – ações, estado do thread e sincronização SQL-backed – enquanto oferece mais controle sobre o cromo."}>
|
|
29
38
|
|
|
30
39
|
```html
|
|
@@ -7,6 +7,8 @@ description: "Como criar e publicar seus próprios modelos de aplicativos nativo
|
|
|
7
7
|
|
|
8
8
|
Os modelos são aplicativos nativos do agente completos e bifurcáveis que resolvem um fluxo de trabalho real. Os modelos primários são criados com a mesma superfície de estrutura que você usa: rotas React para UI, Drizzle SQL para dados, actions para operações, recursos de espaço de trabalho para comportamento do agente e sincronização de sondagem para que o agente e UI permaneçam alinhados.
|
|
9
9
|
|
|
10
|
+
Use `@agent-native/core` para o contrato de runtime: actions, plugins de servidor, helpers de banco de dados, estado do app, helpers de rotas e chat do agente. Use `@agent-native/toolkit` para UI reutilizável e helpers de construção de apps, como primitivas compartilhadas, hooks de toast/mobile, seletores de data e slots simples de shell do app. Mantenha variantes específicas do template locais quando elas codificarem comportamento de produto ou identidade visual.
|
|
11
|
+
|
|
10
12
|
Um bom modelo:
|
|
11
13
|
|
|
12
14
|
- Resolve um fluxo de trabalho de ponta a ponta, com dados iniciais úteis ou um fluxo de estado vazio.
|
|
@@ -149,6 +149,12 @@ O CLI imprime o dev local URL. Faça login com o Google e abra a página **Fonte
|
|
|
149
149
|
|
|
150
150
|
**Session replay agent handoff.** Session recordings stay private, but the session detail page can mint a temporary **Copy for agent** link. The two-hour `agent_access` URL lets an external agent read replay summaries, timelines, and bounded event details without exposing blob/provider URLs or making the recording public.
|
|
151
151
|
|
|
152
|
+
Implementation note: use the shared core agent-access helpers
|
|
153
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
154
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
155
|
+
URL contract. Keep replay chunk authorization, diagnostics payloads, and the
|
|
156
|
+
session detail UI local to Analytics.
|
|
157
|
+
|
|
152
158
|
### Trabalhando com o agente
|
|
153
159
|
|
|
154
160
|
O agente sempre sabe o que você está vendo. O estado atual da tela é injetado em cada mensagem como um bloco `<current-screen>` — ele contém a visualização ativa, o painel ou análise aberta e quaisquer filtros selecionados.
|
|
@@ -133,6 +133,13 @@ agente.
|
|
|
133
133
|
|
|
134
134
|
Temporary private agent links are also supported: the Share dialog can mint a two-hour `agent_access` URL for any recording the viewer can access. Agents use that token with the share page and JSON APIs, and the clip does not become public.
|
|
135
135
|
|
|
136
|
+
Implementation note: use the shared core agent-access helpers
|
|
137
|
+
(`createScopedAgentAccessGrant`, `verifyScopedAgentAccessToken`,
|
|
138
|
+
`buildAgentAccessUrl`, and `buildAgentAccessApiUrl`) for the SSR/bot-visible
|
|
139
|
+
URL contract. Keep Clips-specific visibility checks, transcript/frame payloads,
|
|
140
|
+
and player UI local. New links use `agent_access`; routes should continue
|
|
141
|
+
accepting the legacy `t` query where existing agent API URLs may already use it.
|
|
142
|
+
|
|
136
143
|
Os endpoints seguem as mesmas regras de público/senha/expiração da página de compartilhamento.
|
|
137
144
|
Clipes protegidos por senha exigem a senha uma vez; retorno de respostas bem-sucedidas
|
|
138
145
|
links tokenizados de curta duração para que os agentes downstream não precisem do texto simples
|