@agent-native/core 0.117.1 → 0.118.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 +3 -3
- package/corpus/core/CHANGELOG.md +40 -0
- package/corpus/core/docs/content/custom-design-system.mdx +445 -0
- package/corpus/core/docs/content/toolkit-ui.mdx +16 -0
- package/corpus/core/package.json +2 -1
- package/corpus/core/src/a2a/types.ts +1 -0
- package/corpus/core/src/agent/types.ts +1 -1
- package/corpus/core/src/cli/context-xray-local.ts +1 -1
- package/corpus/core/src/client/AgentPanel.tsx +90 -107
- package/corpus/core/src/client/AssistantChat.tsx +30 -13
- package/corpus/core/src/client/CommandMenu.tsx +68 -178
- package/corpus/core/src/client/agent-chat-adapter.ts +3 -1
- package/corpus/core/src/client/app-providers.tsx +1 -1
- package/corpus/core/src/client/chat/message-components.tsx +116 -10
- package/corpus/core/src/client/chat/tool-call-display.tsx +26 -5
- package/corpus/core/src/client/chat/widgets/InlineExtensionWidget.tsx +14 -40
- package/corpus/core/src/client/components/ui/message-scroller.tsx +15 -1
- package/corpus/core/src/client/extensions/ExtensionViewer.tsx +4 -4
- package/corpus/core/src/client/extensions/ExtensionsSidebarSection.tsx +11 -11
- package/corpus/core/src/client/extensions/agent-native-extension-runtime.ts +1 -1
- package/corpus/core/src/client/extensions/delete-extension.ts +2 -2
- package/corpus/core/src/client/i18n.tsx +22 -0
- package/corpus/core/src/client/index.ts +17 -0
- package/corpus/core/src/client/org/OrgSwitcher.tsx +25 -1
- package/corpus/core/src/client/org/TeamPage.tsx +257 -153
- package/corpus/core/src/client/progress/RunsTray.tsx +89 -88
- package/corpus/core/src/client/resources/McpConnectionSuggestion.tsx +5 -2
- package/corpus/core/src/client/resources/McpIntegrationDialog.tsx +34 -13
- package/corpus/core/src/client/resources/mcp-integration-catalog.ts +13 -0
- package/corpus/core/src/client/settings/DemoModeSection.tsx +6 -18
- package/corpus/core/src/client/settings/SecretsSection.tsx +97 -52
- package/corpus/core/src/client/settings/SettingsPanel.tsx +302 -254
- package/corpus/core/src/client/settings/SettingsTabsPage.tsx +23 -2
- package/corpus/core/src/client/settings/VoiceTranscriptionSection.tsx +7 -18
- package/corpus/core/src/client/settings/index.ts +7 -0
- package/corpus/core/src/client/settings/useSettingsPanelController.ts +155 -0
- package/corpus/core/src/client/setup-connections/BuilderConnectCard.tsx +116 -51
- package/corpus/core/src/client/setup-connections/index.ts +10 -0
- package/corpus/core/src/client/setup-connections/useBuilderConnectCardController.ts +82 -0
- package/corpus/core/src/client/sharing/ShareButton.tsx +71 -592
- package/corpus/core/src/client/sharing/ShareDialog.tsx +299 -633
- package/corpus/core/src/client/sharing/index.ts +42 -0
- package/corpus/core/src/client/sharing/share-controller-helpers.ts +318 -0
- package/corpus/core/src/client/sharing/useShareButtonController.ts +600 -0
- package/corpus/core/src/client/sharing/useShareDialogController.ts +559 -0
- package/corpus/core/src/client/sse-event-processor.ts +23 -0
- package/corpus/core/src/client/tool-display.ts +71 -0
- package/corpus/core/src/client/use-agent-engine-configured.ts +12 -19
- package/corpus/core/src/client/use-chat-threads.ts +33 -12
- package/corpus/core/src/db/client.ts +13 -10
- package/corpus/core/src/extensions/actions.ts +13 -5
- package/corpus/core/src/extensions/local.ts +1 -0
- package/corpus/core/src/extensions/routes.ts +10 -5
- package/corpus/core/src/extensions/schema.ts +5 -0
- package/corpus/core/src/extensions/slots/store.ts +14 -4
- package/corpus/core/src/extensions/store.ts +55 -19
- package/corpus/core/src/extensions/theme.ts +1 -1
- package/corpus/core/src/file-upload/registry.ts +9 -0
- package/corpus/core/src/index.browser.ts +5 -0
- package/corpus/core/src/index.ts +1 -0
- package/corpus/core/src/localization/default-messages.ts +28 -6
- package/corpus/core/src/mcp-client/oauth-routes.ts +16 -2
- package/corpus/core/src/scripts/call-agent.ts +5 -1
- package/corpus/core/src/server/action-discovery.ts +8 -0
- package/corpus/core/src/server/better-auth-instance.ts +7 -2
- package/corpus/core/src/server/email-template.ts +18 -0
- package/corpus/core/src/server/email-templates.ts +3 -0
- package/corpus/core/src/server/email.ts +40 -4
- package/corpus/core/src/server/realtime-voice.ts +1 -1
- package/corpus/core/src/sharing/actions/share-resource.ts +1 -0
- package/corpus/core/src/styles/agent-native.css +0 -24
- package/corpus/core/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/core/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/core/src/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/core/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/core/src/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
- package/corpus/core/src/templates/default/app/design-system.ts +3 -0
- package/corpus/core/src/templates/default/app/global.css +1 -1
- package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/de-DE.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/es-ES.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +6 -6
- package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +7 -7
- package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +7 -7
- package/corpus/core/src/templates/default/app/root.tsx +5 -2
- package/corpus/core/src/templates/default/package.json +1 -0
- package/corpus/core/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/core/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/core/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/core/src/user-profile/actions/get-user-profile.ts +16 -0
- package/corpus/core/src/user-profile/actions/update-user-profile.ts +24 -0
- package/corpus/core/src/user-profile/index.ts +5 -0
- package/corpus/core/src/user-profile/shared.ts +14 -0
- package/corpus/core/src/user-profile/store.ts +50 -0
- package/corpus/core/src/vite/client.ts +39 -0
- package/corpus/templates/analytics/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/analytics/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/analytics/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/analytics/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/analytics/app/design-system.ts +3 -0
- package/corpus/templates/assets/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/assets/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/assets/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/assets/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/assets/app/components/ui/alert.tsx +1 -0
- package/corpus/templates/assets/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/assets/app/design-system.ts +3 -0
- package/corpus/templates/assets/app/global.css +1 -1
- package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +26 -30
- package/corpus/templates/assets/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/brain/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/brain/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/brain/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/brain/app/components/ui/dialog.tsx +1 -0
- package/corpus/templates/brain/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/brain/app/design-system.ts +3 -0
- package/corpus/templates/brain/app/global.css +2 -2
- package/corpus/templates/brain/app/lib/brain.ts +2 -2
- package/corpus/templates/brain/app/root.tsx +2 -2
- package/corpus/templates/brain/app/routes/sources.tsx +8 -8
- package/corpus/templates/brain/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/calendar/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/calendar/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/calendar/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +6 -2
- package/corpus/templates/calendar/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/calendar/app/design-system.ts +3 -0
- package/corpus/templates/calendar/app/global.css +1 -1
- package/corpus/templates/calendar/app/root.tsx +2 -2
- package/corpus/templates/calendar/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/chat/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/chat/app/design-system.ts +3 -0
- package/corpus/templates/chat/app/global.css +1 -1
- package/corpus/templates/chat/app/root.tsx +2 -2
- package/corpus/templates/chat/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/clips/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/clips/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/clips/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/clips/actions/export-to-brain.ts +1 -1
- package/corpus/templates/clips/actions/invite-member.ts +1 -0
- package/corpus/templates/clips/app/components/library/library-layout.tsx +2 -2
- package/corpus/templates/clips/app/components/recorder/recorder-engine.ts +20 -11
- package/corpus/templates/clips/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/clips/app/design-system.ts +3 -0
- package/corpus/templates/clips/app/global.css +1 -1
- package/corpus/templates/clips/app/root.tsx +7 -2
- package/corpus/templates/clips/app/routes/_app.library._index.tsx +1 -1
- package/corpus/templates/clips/app/routes/record.tsx +2 -88
- package/corpus/templates/clips/changelog/2026-07-22-builder-connected-recordings-start-resumable-upload-sessions.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-clip-thumbnails-now-come-from-the-recording-instead-of-the-p.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-clips-emails-now-render-the-agent-native-logo-in-gmail-and-o.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-dismissed-zoom-and-teams-meeting-note-prompts-now-stay-dismi.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-fixed-windows-recordings-aborting-during-the-countdown.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-permissions-and-rewind-controls-are-now-grouped-with-clearer.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-quieter-permissions-and-rewind-controls.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-the-desktop-popover-opens-centered-under-the-menu-bar-icon-o.md +6 -0
- package/corpus/templates/clips/desktop/src/app.tsx +100 -62
- package/corpus/templates/clips/desktop/src/lib/meeting-notification-dismissal.ts +31 -0
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +4 -167
- package/corpus/templates/clips/desktop/src/overlays/meeting-notification.tsx +10 -1
- package/corpus/templates/clips/desktop/src/styles.css +111 -36
- package/corpus/templates/clips/desktop/src-tauri/src/adhoc_meetings_watcher.rs +67 -4
- package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +11 -2
- package/corpus/templates/clips/desktop/src-tauri/src/meetings_watcher.rs +51 -0
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen/custom_capture.rs +5 -1
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +0 -189
- package/corpus/templates/clips/desktop/src-tauri/src/notifications.rs +62 -0
- package/corpus/templates/clips/desktop/src-tauri/src/shortcuts.rs +37 -2
- package/corpus/templates/clips/desktop/src-tauri/src/tray.rs +18 -0
- package/corpus/templates/clips/server/plugins/db.ts +6 -2
- package/corpus/templates/content/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/content/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/content/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +41 -59
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +41 -41
- package/corpus/templates/content/app/components/editor/database/GalleryView.tsx +2 -1
- package/corpus/templates/content/app/components/editor/database/ListView.tsx +2 -1
- package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +9 -9
- package/corpus/templates/content/app/components/editor/database/sidebar.tsx +7 -7
- package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +11 -11
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +3 -3
- package/corpus/templates/content/app/components/ui/checkbox.tsx +1 -0
- package/corpus/templates/content/app/components/ui/collapsible.tsx +1 -0
- package/corpus/templates/content/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/content/app/design-system.ts +3 -0
- package/corpus/templates/content/app/global.css +30 -4
- package/corpus/templates/content/app/root.tsx +2 -2
- package/corpus/templates/content/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/content/changelog/2026-07-22-page-actions-are-grouped-into-the-three-dots-menu-for-a-clea.md +6 -0
- package/corpus/templates/crm/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/crm/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/crm/app/components/crm/CreateCrmRecordDialog.tsx +10 -10
- package/corpus/templates/crm/app/components/crm/CrmDashboardPanel.tsx +1 -6
- package/corpus/templates/crm/app/components/crm/CrmSignalsPanel.tsx +3 -2
- package/corpus/templates/crm/app/components/crm/IntelligenceSettings.tsx +13 -12
- package/corpus/templates/crm/app/components/crm/RecordActions.tsx +17 -17
- package/corpus/templates/crm/app/components/crm/RecordGrid.tsx +8 -8
- package/corpus/templates/crm/app/components/crm/RecordWorkspace.tsx +3 -8
- package/corpus/templates/crm/app/components/crm/SavedViewDataProgram.tsx +2 -1
- package/corpus/templates/crm/app/components/crm/Surface.tsx +3 -2
- package/corpus/templates/crm/app/components/crm/WorkOverview.tsx +2 -2
- package/corpus/templates/crm/app/components/layout/CrmLayout.tsx +7 -7
- package/corpus/templates/crm/app/components/layout/CrmSidebar.tsx +1 -1
- package/corpus/templates/crm/app/components/ui/alert-dialog.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/badge.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/button.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/card.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/dialog.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/input.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/label.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/select.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/sheet.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/skeleton.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/switch.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/table.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/tabs.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/textarea.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/toolkit-provider.tsx +17 -0
- package/corpus/templates/crm/app/design-system.ts +3 -0
- package/corpus/templates/crm/app/global.css +1 -1
- package/corpus/templates/crm/app/root.tsx +9 -6
- package/corpus/templates/crm/app/routes/dashboard.tsx +1 -1
- package/corpus/templates/crm/app/routes/proposals.tsx +13 -13
- package/corpus/templates/crm/app/routes/setup.tsx +9 -9
- package/corpus/templates/crm/app/routes/tasks.tsx +14 -14
- package/corpus/templates/crm/app/routes/views.tsx +16 -16
- package/corpus/templates/design/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/design/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/design/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +19 -1
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +12 -1
- package/corpus/templates/design/app/components/design/EditPanel.tsx +177 -52
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +179 -59
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +74 -27
- package/corpus/templates/design/app/components/design/multi-screen/types.ts +2 -0
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +8 -8
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/design/app/components/ui/command.tsx +1 -0
- package/corpus/templates/design/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/design/app/design-system.ts +3 -0
- package/corpus/templates/design/app/global.css +1 -1
- package/corpus/templates/design/app/hooks/use-navigation-state.ts +6 -5
- package/corpus/templates/design/app/root.tsx +2 -2
- package/corpus/templates/design/changelog/2026-07-22-design-owners-can-keep-editing-their-designs-after-switching.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-inspector-tabs-keep-their-text-labels-at-narrow-widths.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-narrow-breakpoint-previews-keep-their-device-labels-readable.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-removed-the-draft-status-chip-from-the-design-editor.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-responsive-breakpoint-controls-stay-within-narrow-sidebars.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-responsive-peers-now-use-a-softer-selection-highlight-withou.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-rotate-from-context-menu.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-the-selection-outline-now-stays-attached-while-moving-screen.md +6 -0
- package/corpus/templates/design/changelog/2026-07-22-view-only-designs-now-support-figma-style-layer-inspection-w.md +6 -0
- package/corpus/templates/design/server/db/index.ts +4 -0
- package/corpus/templates/dispatch/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/dispatch/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/dispatch/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/dispatch/app/components/ui/button.tsx +1 -0
- package/corpus/templates/dispatch/app/components/ui/toolkit-provider.tsx +17 -0
- package/corpus/templates/dispatch/app/design-system.ts +3 -0
- package/corpus/templates/dispatch/app/dispatch-extensions.tsx +2 -2
- package/corpus/templates/dispatch/app/global.css +1 -1
- package/corpus/templates/dispatch/app/root.tsx +12 -9
- package/corpus/templates/dispatch/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/dispatch/package.json +1 -0
- package/corpus/templates/forms/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/forms/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/forms/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/forms/app/components/layout/Layout.tsx +1 -1
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +3 -3
- package/corpus/templates/forms/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/forms/app/design-system.ts +3 -0
- package/corpus/templates/forms/app/global.css +1 -1
- package/corpus/templates/forms/app/hooks/use-forms.ts +55 -2
- package/corpus/templates/forms/app/i18n/en-US.ts +2 -0
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +3 -3
- package/corpus/templates/forms/app/pages/FormsListPage.tsx +23 -6
- package/corpus/templates/forms/app/root.tsx +2 -2
- package/corpus/templates/forms/changelog/2026-07-22-forms-now-archive-with-optimistic-feedback.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/forms/server/plugins/agent-chat.ts +1 -1
- package/corpus/templates/macros/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/macros/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/macros/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +2 -2
- package/corpus/templates/macros/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/macros/app/design-system.ts +3 -0
- package/corpus/templates/macros/app/root.tsx +2 -2
- package/corpus/templates/macros/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/mail/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/mail/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/mail/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/mail/app/components/email/EmailThread.tsx +134 -93
- package/corpus/templates/mail/app/components/email/email-iframe-document.ts +8 -2
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +3 -3
- package/corpus/templates/mail/app/components/layout/CommandPalette.tsx +2 -2
- package/corpus/templates/mail/app/components/ui/textarea.tsx +1 -21
- package/corpus/templates/mail/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/mail/app/design-system.ts +3 -0
- package/corpus/templates/mail/app/global.css +1 -1
- package/corpus/templates/mail/changelog/2026-07-22-email-messages-no-longer-flash-with-an-unstyled-page-while-l.md +6 -0
- package/corpus/templates/mail/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/plan/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/plan/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/plan/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/plan/app/components/plan/PlanContentRenderer.tsx +1 -1
- package/corpus/templates/plan/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/plan/app/design-system.ts +3 -0
- package/corpus/templates/plan/app/global.css +1 -1
- package/corpus/templates/plan/app/root.tsx +2 -2
- package/corpus/templates/plan/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/slides/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/slides/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/slides/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/slides/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/slides/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/slides/app/design-system.ts +3 -0
- package/corpus/templates/slides/app/root.tsx +2 -2
- package/corpus/templates/slides/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-22-slides-no-longer-fail-intermittently-on-fresh-server-instances.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-22-uploaded-screenshots-can-now-be-analyzed-and-recreated-as-ed.md +6 -0
- package/corpus/templates/slides/server/lib/chat-attachments.ts +7 -3
- package/corpus/templates/slides/server/plugins/db.ts +44 -17
- package/corpus/templates/tasks/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/corpus/templates/tasks/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/tasks/app/components/ui/toolkit-provider.tsx +17 -0
- package/corpus/templates/tasks/app/design-system.ts +3 -0
- package/corpus/templates/tasks/app/global.css +1 -1
- package/corpus/templates/tasks/app/root.tsx +5 -2
- package/corpus/toolkit/CHANGELOG.md +14 -0
- package/corpus/toolkit/agent-native.eject.json +71 -0
- package/corpus/toolkit/package.json +31 -1
- package/corpus/toolkit/src/chat-history/ChatHistoryRail.tsx +100 -39
- package/corpus/toolkit/src/chat-history/index.ts +9 -0
- package/corpus/toolkit/src/chat-history/useChatHistoryRailController.ts +76 -0
- package/corpus/toolkit/src/chat-history.css +2 -0
- package/corpus/toolkit/src/composer/ComposerPlusMenu.tsx +11 -8
- package/corpus/toolkit/src/composer/PromptComposer.tsx +27 -6
- package/corpus/toolkit/src/composer/useRealtimeVoiceMode.tsx +107 -22
- package/corpus/toolkit/src/conformance/__fixtures__/css-in-js-adapter.tsx +401 -0
- package/corpus/toolkit/src/conformance/index.ts +3 -0
- package/corpus/toolkit/src/conformance/runner.tsx +710 -0
- package/corpus/toolkit/src/conformance/types.ts +45 -0
- package/corpus/toolkit/src/conformance/version.ts +22 -0
- package/corpus/toolkit/src/design-system/components.tsx +146 -0
- package/corpus/toolkit/src/design-system/context.tsx +31 -0
- package/corpus/toolkit/src/design-system/default-adapter.tsx +915 -0
- package/corpus/toolkit/src/design-system/definition.ts +14 -0
- package/corpus/toolkit/src/design-system/error-boundary.tsx +37 -0
- package/corpus/toolkit/src/design-system/index.ts +7 -0
- package/corpus/toolkit/src/design-system/theme.ts +145 -0
- package/corpus/toolkit/src/design-system/types.ts +363 -0
- package/corpus/toolkit/src/provider.tsx +98 -5
- package/corpus/toolkit/src/ui/button.tsx +95 -6
- package/corpus/toolkit/src/ui/dialog.tsx +48 -23
- package/corpus/toolkit/src/ui/popover.tsx +16 -2
- package/corpus/toolkit/src/ui/select.tsx +7 -3
- package/corpus/toolkit/src/ui/sidebar.tsx +47 -48
- package/corpus/toolkit/src/ui/tooltip.tsx +7 -3
- package/dist/a2a/types.d.ts +1 -1
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/a2a/types.js.map +1 -1
- package/dist/agent/types.d.ts +1 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/cli/context-xray-local.js +1 -1
- package/dist/cli/context-xray-local.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +14 -14
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +26 -15
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/CommandMenu.d.ts.map +1 -1
- package/dist/client/CommandMenu.js +18 -106
- package/dist/client/CommandMenu.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +2 -1
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/app-providers.d.ts.map +1 -1
- package/dist/client/app-providers.js +1 -1
- package/dist/client/app-providers.js.map +1 -1
- package/dist/client/chat/message-components.d.ts +9 -1
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +62 -7
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +20 -5
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/chat/widgets/InlineExtensionWidget.d.ts.map +1 -1
- package/dist/client/chat/widgets/InlineExtensionWidget.js +9 -12
- package/dist/client/chat/widgets/InlineExtensionWidget.js.map +1 -1
- package/dist/client/components/ui/message-scroller.d.ts +1 -1
- package/dist/client/components/ui/message-scroller.d.ts.map +1 -1
- package/dist/client/components/ui/message-scroller.js +4 -3
- package/dist/client/components/ui/message-scroller.js.map +1 -1
- package/dist/client/extensions/ExtensionViewer.js +2 -2
- package/dist/client/extensions/ExtensionViewer.js.map +1 -1
- package/dist/client/extensions/ExtensionsSidebarSection.js +11 -11
- package/dist/client/extensions/ExtensionsSidebarSection.js.map +1 -1
- package/dist/client/extensions/agent-native-extension-runtime.js +1 -1
- package/dist/client/extensions/agent-native-extension-runtime.js.map +1 -1
- package/dist/client/extensions/delete-extension.d.ts +1 -1
- package/dist/client/extensions/delete-extension.d.ts.map +1 -1
- package/dist/client/extensions/delete-extension.js +1 -1
- package/dist/client/extensions/delete-extension.js.map +1 -1
- package/dist/client/i18n.d.ts.map +1 -1
- package/dist/client/i18n.js +9 -0
- package/dist/client/i18n.js.map +1 -1
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/org/OrgSwitcher.d.ts +3 -1
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +12 -4
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +41 -33
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/progress/RunsTray.d.ts.map +1 -1
- package/dist/client/progress/RunsTray.js +9 -10
- package/dist/client/progress/RunsTray.js.map +1 -1
- package/dist/client/resources/McpConnectionSuggestion.d.ts.map +1 -1
- package/dist/client/resources/McpConnectionSuggestion.js +5 -4
- package/dist/client/resources/McpConnectionSuggestion.js.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.d.ts.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.js +10 -8
- package/dist/client/resources/McpIntegrationDialog.js.map +1 -1
- package/dist/client/resources/mcp-integration-catalog.d.ts +1 -0
- package/dist/client/resources/mcp-integration-catalog.d.ts.map +1 -1
- package/dist/client/resources/mcp-integration-catalog.js +13 -0
- package/dist/client/resources/mcp-integration-catalog.js.map +1 -1
- package/dist/client/settings/DemoModeSection.d.ts.map +1 -1
- package/dist/client/settings/DemoModeSection.js +2 -5
- package/dist/client/settings/DemoModeSection.js.map +1 -1
- package/dist/client/settings/SecretsSection.d.ts.map +1 -1
- package/dist/client/settings/SecretsSection.js +18 -6
- package/dist/client/settings/SecretsSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +87 -119
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
- package/dist/client/settings/SettingsTabsPage.js +16 -1
- package/dist/client/settings/SettingsTabsPage.js.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js +2 -5
- package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
- package/dist/client/settings/index.d.ts +1 -0
- package/dist/client/settings/index.d.ts.map +1 -1
- package/dist/client/settings/index.js +1 -0
- package/dist/client/settings/index.js.map +1 -1
- package/dist/client/settings/useSettingsPanelController.d.ts +22 -0
- package/dist/client/settings/useSettingsPanelController.d.ts.map +1 -0
- package/dist/client/settings/useSettingsPanelController.js +103 -0
- package/dist/client/settings/useSettingsPanelController.js.map +1 -0
- package/dist/client/setup-connections/BuilderConnectCard.d.ts +14 -6
- package/dist/client/setup-connections/BuilderConnectCard.d.ts.map +1 -1
- package/dist/client/setup-connections/BuilderConnectCard.js +24 -16
- package/dist/client/setup-connections/BuilderConnectCard.js.map +1 -1
- package/dist/client/setup-connections/index.d.ts +2 -1
- package/dist/client/setup-connections/index.d.ts.map +1 -1
- package/dist/client/setup-connections/index.js +2 -1
- package/dist/client/setup-connections/index.js.map +1 -1
- package/dist/client/setup-connections/useBuilderConnectCardController.d.ts +34 -0
- package/dist/client/setup-connections/useBuilderConnectCardController.d.ts.map +1 -0
- package/dist/client/setup-connections/useBuilderConnectCardController.js +39 -0
- package/dist/client/setup-connections/useBuilderConnectCardController.js.map +1 -0
- package/dist/client/sharing/ShareButton.d.ts +5 -5
- package/dist/client/sharing/ShareButton.d.ts.map +1 -1
- package/dist/client/sharing/ShareButton.js +19 -464
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/client/sharing/ShareDialog.d.ts +6 -6
- package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
- package/dist/client/sharing/ShareDialog.js +69 -283
- package/dist/client/sharing/ShareDialog.js.map +1 -1
- package/dist/client/sharing/index.d.ts +3 -0
- package/dist/client/sharing/index.d.ts.map +1 -1
- package/dist/client/sharing/index.js +3 -0
- package/dist/client/sharing/index.js.map +1 -1
- package/dist/client/sharing/share-controller-helpers.d.ts +70 -0
- package/dist/client/sharing/share-controller-helpers.d.ts.map +1 -0
- package/dist/client/sharing/share-controller-helpers.js +224 -0
- package/dist/client/sharing/share-controller-helpers.js.map +1 -0
- package/dist/client/sharing/useShareButtonController.d.ts +91 -0
- package/dist/client/sharing/useShareButtonController.d.ts.map +1 -0
- package/dist/client/sharing/useShareButtonController.js +397 -0
- package/dist/client/sharing/useShareButtonController.js.map +1 -0
- package/dist/client/sharing/useShareDialogController.d.ts +109 -0
- package/dist/client/sharing/useShareDialogController.d.ts.map +1 -0
- package/dist/client/sharing/useShareDialogController.js +348 -0
- package/dist/client/sharing/useShareDialogController.js.map +1 -0
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +21 -0
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/tool-display.d.ts +16 -0
- package/dist/client/tool-display.d.ts.map +1 -1
- package/dist/client/tool-display.js +52 -0
- package/dist/client/tool-display.js.map +1 -1
- package/dist/client/use-agent-engine-configured.d.ts +3 -2
- package/dist/client/use-agent-engine-configured.d.ts.map +1 -1
- package/dist/client/use-agent-engine-configured.js +7 -19
- package/dist/client/use-agent-engine-configured.js.map +1 -1
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +21 -8
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/db/client.d.ts +7 -7
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +13 -10
- package/dist/db/client.js.map +1 -1
- package/dist/extensions/actions.d.ts.map +1 -1
- package/dist/extensions/actions.js +8 -5
- package/dist/extensions/actions.js.map +1 -1
- package/dist/extensions/local.d.ts.map +1 -1
- package/dist/extensions/local.js +1 -0
- package/dist/extensions/local.js.map +1 -1
- package/dist/extensions/routes.d.ts.map +1 -1
- package/dist/extensions/routes.js +9 -4
- package/dist/extensions/routes.js.map +1 -1
- package/dist/extensions/schema.d.ts +23 -2
- package/dist/extensions/schema.d.ts.map +1 -1
- package/dist/extensions/schema.js +5 -0
- package/dist/extensions/schema.js.map +1 -1
- package/dist/extensions/slots/store.d.ts +1 -1
- package/dist/extensions/slots/store.d.ts.map +1 -1
- package/dist/extensions/slots/store.js +4 -4
- package/dist/extensions/slots/store.js.map +1 -1
- package/dist/extensions/store.d.ts +1 -0
- package/dist/extensions/store.d.ts.map +1 -1
- package/dist/extensions/store.js +38 -21
- package/dist/extensions/store.js.map +1 -1
- package/dist/extensions/theme.js +1 -1
- package/dist/extensions/theme.js.map +1 -1
- package/dist/file-upload/registry.d.ts.map +1 -1
- package/dist/file-upload/registry.js +9 -0
- package/dist/file-upload/registry.js.map +1 -1
- package/dist/index.browser.d.ts +1 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +1 -0
- package/dist/index.browser.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/localization/default-messages.d.ts +20 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +26 -6
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp-client/oauth-routes.d.ts +2 -0
- package/dist/mcp-client/oauth-routes.d.ts.map +1 -1
- package/dist/mcp-client/oauth-routes.js +12 -2
- package/dist/mcp-client/oauth-routes.js.map +1 -1
- package/dist/observability/routes.d.ts +3 -3
- package/dist/provider-api/actions/custom-provider-registration.d.ts +3 -3
- package/dist/provider-api/actions/provider-api.d.ts +11 -11
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +5 -1
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/secrets/routes.d.ts +6 -6
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +8 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/better-auth-instance.d.ts +7 -2
- package/dist/server/better-auth-instance.d.ts.map +1 -1
- package/dist/server/better-auth-instance.js.map +1 -1
- package/dist/server/email-template.d.ts +3 -0
- package/dist/server/email-template.d.ts.map +1 -1
- package/dist/server/email-template.js +13 -0
- package/dist/server/email-template.js.map +1 -1
- package/dist/server/email-templates.d.ts.map +1 -1
- package/dist/server/email-templates.js +3 -0
- package/dist/server/email-templates.js.map +1 -1
- package/dist/server/email.d.ts.map +1 -1
- package/dist/server/email.js +27 -4
- package/dist/server/email.js.map +1 -1
- package/dist/server/realtime-voice.js +1 -1
- package/dist/server/realtime-voice.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/sharing/actions/share-resource.js +1 -0
- package/dist/sharing/actions/share-resource.js.map +1 -1
- package/dist/styles/agent-native.css +0 -24
- package/dist/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/dist/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
- package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/dist/templates/chat/app/components/layout/Sidebar.tsx +2 -2
- package/dist/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
- package/dist/templates/chat/app/design-system.ts +3 -0
- package/dist/templates/chat/app/global.css +1 -1
- package/dist/templates/chat/app/root.tsx +2 -2
- package/dist/templates/chat/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/dist/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/dist/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
- package/dist/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/dist/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
- package/dist/templates/default/app/design-system.ts +3 -0
- package/dist/templates/default/app/global.css +1 -1
- package/dist/templates/default/app/i18n/ar-SA.ts +6 -6
- package/dist/templates/default/app/i18n/de-DE.ts +6 -6
- package/dist/templates/default/app/i18n/en-US.ts +6 -6
- package/dist/templates/default/app/i18n/es-ES.ts +6 -6
- package/dist/templates/default/app/i18n/fr-FR.ts +6 -6
- package/dist/templates/default/app/i18n/hi-IN.ts +6 -6
- package/dist/templates/default/app/i18n/ja-JP.ts +6 -6
- package/dist/templates/default/app/i18n/ko-KR.ts +6 -6
- package/dist/templates/default/app/i18n/pt-BR.ts +6 -6
- package/dist/templates/default/app/i18n/zh-CN.ts +7 -7
- package/dist/templates/default/app/i18n/zh-TW.ts +7 -7
- package/dist/templates/default/app/root.tsx +5 -2
- package/dist/templates/default/package.json +1 -0
- package/dist/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/dist/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/dist/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
- package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/dist/user-profile/actions/get-user-profile.d.ts +4 -0
- package/dist/user-profile/actions/get-user-profile.d.ts.map +1 -0
- package/dist/user-profile/actions/get-user-profile.js +14 -0
- package/dist/user-profile/actions/get-user-profile.js.map +1 -0
- package/dist/user-profile/actions/update-user-profile.d.ts +6 -0
- package/dist/user-profile/actions/update-user-profile.d.ts.map +1 -0
- package/dist/user-profile/actions/update-user-profile.js +20 -0
- package/dist/user-profile/actions/update-user-profile.js.map +1 -0
- package/dist/user-profile/index.d.ts +2 -0
- package/dist/user-profile/index.d.ts.map +1 -0
- package/dist/user-profile/index.js +2 -0
- package/dist/user-profile/index.js.map +1 -0
- package/dist/user-profile/shared.d.ts +7 -0
- package/dist/user-profile/shared.d.ts.map +1 -0
- package/dist/user-profile/shared.js +6 -0
- package/dist/user-profile/shared.js.map +1 -0
- package/dist/user-profile/store.d.ts +4 -0
- package/dist/user-profile/store.d.ts.map +1 -0
- package/dist/user-profile/store.js +38 -0
- package/dist/user-profile/store.js.map +1 -0
- package/dist/vite/client.d.ts +3 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +31 -0
- package/dist/vite/client.js.map +1 -1
- package/docs/content/custom-design-system.mdx +445 -0
- package/docs/content/toolkit-ui.mdx +16 -0
- package/package.json +3 -2
- package/src/a2a/types.ts +1 -0
- package/src/agent/types.ts +1 -1
- package/src/cli/context-xray-local.ts +1 -1
- package/src/client/AgentPanel.tsx +90 -107
- package/src/client/AssistantChat.tsx +30 -13
- package/src/client/CommandMenu.tsx +68 -178
- package/src/client/agent-chat-adapter.ts +3 -1
- package/src/client/app-providers.tsx +1 -1
- package/src/client/chat/message-components.tsx +116 -10
- package/src/client/chat/tool-call-display.tsx +26 -5
- package/src/client/chat/widgets/InlineExtensionWidget.tsx +14 -40
- package/src/client/components/ui/message-scroller.tsx +15 -1
- package/src/client/extensions/ExtensionViewer.tsx +4 -4
- package/src/client/extensions/ExtensionsSidebarSection.tsx +11 -11
- package/src/client/extensions/agent-native-extension-runtime.ts +1 -1
- package/src/client/extensions/delete-extension.ts +2 -2
- package/src/client/i18n.tsx +22 -0
- package/src/client/index.ts +17 -0
- package/src/client/org/OrgSwitcher.tsx +25 -1
- package/src/client/org/TeamPage.tsx +257 -153
- package/src/client/progress/RunsTray.tsx +89 -88
- package/src/client/resources/McpConnectionSuggestion.tsx +5 -2
- package/src/client/resources/McpIntegrationDialog.tsx +34 -13
- package/src/client/resources/mcp-integration-catalog.ts +13 -0
- package/src/client/settings/DemoModeSection.tsx +6 -18
- package/src/client/settings/SecretsSection.tsx +97 -52
- package/src/client/settings/SettingsPanel.tsx +302 -254
- package/src/client/settings/SettingsTabsPage.tsx +23 -2
- package/src/client/settings/VoiceTranscriptionSection.tsx +7 -18
- package/src/client/settings/index.ts +7 -0
- package/src/client/settings/useSettingsPanelController.ts +155 -0
- package/src/client/setup-connections/BuilderConnectCard.tsx +116 -51
- package/src/client/setup-connections/index.ts +10 -0
- package/src/client/setup-connections/useBuilderConnectCardController.ts +82 -0
- package/src/client/sharing/ShareButton.tsx +71 -592
- package/src/client/sharing/ShareDialog.tsx +299 -633
- package/src/client/sharing/index.ts +42 -0
- package/src/client/sharing/share-controller-helpers.ts +318 -0
- package/src/client/sharing/useShareButtonController.ts +600 -0
- package/src/client/sharing/useShareDialogController.ts +559 -0
- package/src/client/sse-event-processor.ts +23 -0
- package/src/client/tool-display.ts +71 -0
- package/src/client/use-agent-engine-configured.ts +12 -19
- package/src/client/use-chat-threads.ts +33 -12
- package/src/db/client.ts +13 -10
- package/src/extensions/actions.ts +13 -5
- package/src/extensions/local.ts +1 -0
- package/src/extensions/routes.ts +10 -5
- package/src/extensions/schema.ts +5 -0
- package/src/extensions/slots/store.ts +14 -4
- package/src/extensions/store.ts +55 -19
- package/src/extensions/theme.ts +1 -1
- package/src/file-upload/registry.ts +9 -0
- package/src/index.browser.ts +5 -0
- package/src/index.ts +1 -0
- package/src/localization/default-messages.ts +28 -6
- package/src/mcp-client/oauth-routes.ts +16 -2
- package/src/scripts/call-agent.ts +5 -1
- package/src/server/action-discovery.ts +8 -0
- package/src/server/better-auth-instance.ts +7 -2
- package/src/server/email-template.ts +18 -0
- package/src/server/email-templates.ts +3 -0
- package/src/server/email.ts +40 -4
- package/src/server/realtime-voice.ts +1 -1
- package/src/sharing/actions/share-resource.ts +1 -0
- package/src/styles/agent-native.css +0 -24
- package/src/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/src/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
- package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/src/templates/chat/app/components/layout/Sidebar.tsx +2 -2
- package/src/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
- package/src/templates/chat/app/design-system.ts +3 -0
- package/src/templates/chat/app/global.css +1 -1
- package/src/templates/chat/app/root.tsx +2 -2
- package/src/templates/chat/changelog/2026-07-22-manage-agent-navigation-now-uses-the-connected-nodes-icon.md +6 -0
- package/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
- package/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/src/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
- package/src/templates/default/app/design-system.ts +3 -0
- package/src/templates/default/app/global.css +1 -1
- package/src/templates/default/app/i18n/ar-SA.ts +6 -6
- package/src/templates/default/app/i18n/de-DE.ts +6 -6
- package/src/templates/default/app/i18n/en-US.ts +6 -6
- package/src/templates/default/app/i18n/es-ES.ts +6 -6
- package/src/templates/default/app/i18n/fr-FR.ts +6 -6
- package/src/templates/default/app/i18n/hi-IN.ts +6 -6
- package/src/templates/default/app/i18n/ja-JP.ts +6 -6
- package/src/templates/default/app/i18n/ko-KR.ts +6 -6
- package/src/templates/default/app/i18n/pt-BR.ts +6 -6
- package/src/templates/default/app/i18n/zh-CN.ts +7 -7
- package/src/templates/default/app/i18n/zh-TW.ts +7 -7
- package/src/templates/default/app/root.tsx +5 -2
- package/src/templates/default/package.json +1 -0
- package/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +43 -2
- package/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
- package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/src/user-profile/actions/get-user-profile.ts +16 -0
- package/src/user-profile/actions/update-user-profile.ts +24 -0
- package/src/user-profile/index.ts +5 -0
- package/src/user-profile/shared.ts +14 -0
- package/src/user-profile/store.ts +50 -0
- package/src/vite/client.ts +39 -0
- package/corpus/templates/analytics/app/components/ui/calendar.tsx +0 -70
- package/corpus/templates/analytics/app/components/ui/chart.tsx +0 -386
- package/corpus/templates/calendar/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/forms/app/components/ui/calendar.tsx +0 -214
- package/corpus/templates/forms/app/components/ui/chart.tsx +0 -379
- package/corpus/templates/forms/app/components/ui/command.tsx +0 -153
- package/corpus/templates/forms/app/components/ui/context-menu.tsx +0 -198
- package/corpus/templates/forms/app/components/ui/menubar.tsx +0 -254
- package/corpus/templates/macros/app/components/ui/menubar.tsx +0 -238
- package/corpus/templates/macros/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/mail/app/components/ui/calendar.tsx +0 -211
- package/corpus/templates/mail/app/components/ui/chart.tsx +0 -379
- package/corpus/templates/mail/app/components/ui/command.tsx +0 -153
- package/corpus/templates/mail/app/components/ui/context-menu.tsx +0 -198
- package/corpus/templates/mail/app/components/ui/menubar.tsx +0 -254
- package/corpus/templates/tasks/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/tasks/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/tasks/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/tasks/app/components/ui/calendar.tsx +0 -70
- package/corpus/templates/tasks/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/tasks/app/components/ui/chart.tsx +0 -379
- package/corpus/templates/tasks/app/components/ui/form.tsx +0 -177
- package/corpus/templates/tasks/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/tasks/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/tasks/app/components/ui/menubar.tsx +0 -254
- package/corpus/templates/tasks/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/tasks/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/tasks/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/tasks/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/tasks/app/components/ui/toggle.tsx +0 -43
|
@@ -17,10 +17,33 @@ This skill keeps shadcn/ui work project-aware. Components are source files in th
|
|
|
17
17
|
## First Steps
|
|
18
18
|
|
|
19
19
|
1. Work from the app root that owns `components.json`.
|
|
20
|
-
2.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
2. In an Agent Native app, inspect `app/design-system.ts` and
|
|
21
|
+
`ToolkitProvider` before choosing a primitive. A registered company design
|
|
22
|
+
system takes precedence over the default shadcn adapter.
|
|
23
|
+
3. Run `pnpm dlx shadcn@latest info --json` when you need current project context: framework, Tailwind version, aliases, icon library, installed components, and resolved paths.
|
|
24
|
+
4. Use the actual aliases from `components.json` or `shadcn info`; do not assume `@/components/ui` if the project says otherwise.
|
|
25
|
+
5. Check `app/components/ui/` or the resolved `ui` path before importing a component.
|
|
26
|
+
6. For unfamiliar components, run `pnpm dlx shadcn@latest docs <component>` and read the returned docs or examples before coding.
|
|
27
|
+
|
|
28
|
+
## Agent Native Adapter Rule
|
|
29
|
+
|
|
30
|
+
Pages, routes, and domain components import controls through the app's local UI
|
|
31
|
+
adapter layer. Never import `@agent-native/toolkit/ui/*` directly in app product
|
|
32
|
+
code. Direct imports bypass `app/design-system.ts` and make Toolkit/Core
|
|
33
|
+
surfaces use different controls from the app.
|
|
34
|
+
|
|
35
|
+
When shadcn is the app's adapter, add or update the local primitive and keep
|
|
36
|
+
product code on that local import. When a company design system is registered,
|
|
37
|
+
adapt its components to the semantic contracts from
|
|
38
|
+
`@agent-native/toolkit/design-system`; do not recreate a parallel shadcn
|
|
39
|
+
surface. The semantic API is styling-runtime agnostic, so do not require
|
|
40
|
+
Tailwind, CVA, or `className` in customer adapters.
|
|
41
|
+
|
|
42
|
+
For shared Toolkit features, customize presentation through semantic
|
|
43
|
+
components, a feature-level controller, and product-level render slots. Keep
|
|
44
|
+
the same controller for default and custom views. Use the conformance kit for
|
|
45
|
+
behavior components whose focus, portal, keyboard, dismissal, or stacking
|
|
46
|
+
behavior comes from the company design system.
|
|
24
47
|
|
|
25
48
|
## Adding Or Updating Components
|
|
26
49
|
|
|
@@ -91,5 +114,6 @@ Do not wrap triggers in extra divs just to place a Button or Link inside them.
|
|
|
91
114
|
## Related Skills
|
|
92
115
|
|
|
93
116
|
- **frontend-design** — Product UX, visual direction, responsive polish, and verification
|
|
117
|
+
- **customizing-agent-native** — Registered design systems, controllers, slots, conformance, and ejection
|
|
94
118
|
- **actions** — Data fetching and mutation patterns for agent-native apps
|
|
95
119
|
- **security** — User data, forms, external input, and action safety
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ToolkitProvider } from "@agent-native/toolkit/provider";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
|
|
4
|
+
import { designSystem } from "@/design-system";
|
|
5
|
+
|
|
6
|
+
export function AppToolkitProvider({ children }: { children: ReactNode }) {
|
|
7
|
+
return (
|
|
8
|
+
<ToolkitProvider designSystem={designSystem}>{children}</ToolkitProvider>
|
|
9
|
+
);
|
|
10
|
+
}
|
|
@@ -359,24 +359,24 @@ const messages = {
|
|
|
359
359
|
hideEveryone: "إخفاء من الجميع",
|
|
360
360
|
localFileDescription:
|
|
361
361
|
"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
|
|
362
|
-
deleteQuestion: "
|
|
362
|
+
deleteQuestion: "هل تريد أرشفة {{name}}؟",
|
|
363
363
|
removeQuestion: "Remove {{name}}?",
|
|
364
364
|
hideForYouDescription:
|
|
365
365
|
"يؤدي هذا إلى إخفائه من قائمة الإضافات الخاصة بك دون حذفه لأي شخص آخر.",
|
|
366
366
|
removeEverywhereDescription:
|
|
367
|
-
"يؤدي هذا إلى
|
|
367
|
+
"يؤدي هذا إلى أرشفته في كل مكان تتم مشاركته فيه.",
|
|
368
368
|
cancel: "إلغاء",
|
|
369
369
|
remove: "إزالة",
|
|
370
370
|
removing: "جارٍ الإزالة...",
|
|
371
|
-
delete: "
|
|
372
|
-
deleting: "
|
|
371
|
+
delete: "أرشفة",
|
|
372
|
+
deleting: "جارٍ الأرشفة...",
|
|
373
373
|
openFullView: "فتح عرض كامل",
|
|
374
374
|
removeFromWidgetArea: "إزالة من منطقة القطعة هذه",
|
|
375
|
-
deleteExtensionEllipsis: "
|
|
375
|
+
deleteExtensionEllipsis: "أرشفة الامتداد...",
|
|
376
376
|
removeFromMyListEllipsis: "إزالة من قائمتي...",
|
|
377
377
|
removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
|
|
378
378
|
deleteEverywhereConfirmation:
|
|
379
|
-
"يؤدي هذا إلى
|
|
379
|
+
"يؤدي هذا إلى أرشفة الامتداد في كل مكان، لكل شخص تمت مشاركته معه.",
|
|
380
380
|
addWidget: "إضافة القطعة",
|
|
381
381
|
loading: "جار التحميل...",
|
|
382
382
|
noWidgetsAvailable: "لا توجد أدوات متاحة لهذه الفتحة حتى الآن.",
|
|
@@ -352,24 +352,24 @@ const messages = {
|
|
|
352
352
|
hideEveryone: "Versteck dich vor allen",
|
|
353
353
|
localFileDescription:
|
|
354
354
|
"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
|
|
355
|
-
deleteQuestion: "
|
|
355
|
+
deleteQuestion: "{{name}} archivieren?",
|
|
356
356
|
removeQuestion: "Remove {{name}}?",
|
|
357
357
|
hideForYouDescription:
|
|
358
358
|
"Dadurch wird es aus Ihrer Erweiterungsliste ausgeblendet, ohne dass es für andere gelöscht wird.",
|
|
359
359
|
removeEverywhereDescription:
|
|
360
|
-
"Dadurch wird es überall dort
|
|
360
|
+
"Dadurch wird es überall dort archiviert, wo es geteilt wird.",
|
|
361
361
|
cancel: "Abbrechen",
|
|
362
362
|
remove: "Entfernen",
|
|
363
363
|
removing: "Entfernen...",
|
|
364
|
-
delete: "
|
|
365
|
-
deleting: "Wird
|
|
364
|
+
delete: "Archivieren",
|
|
365
|
+
deleting: "Wird archiviert...",
|
|
366
366
|
openFullView: "Vollansicht öffnen",
|
|
367
367
|
removeFromWidgetArea: "Aus diesem Widget-Bereich entfernen",
|
|
368
|
-
deleteExtensionEllipsis: "Erweiterung
|
|
368
|
+
deleteExtensionEllipsis: "Erweiterung archivieren...",
|
|
369
369
|
removeFromMyListEllipsis: "Von meiner Liste entfernen...",
|
|
370
370
|
removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
|
|
371
371
|
deleteEverywhereConfirmation:
|
|
372
|
-
"Dadurch wird die Erweiterung überall und für alle
|
|
372
|
+
"Dadurch wird die Erweiterung überall und für alle archiviert, mit denen sie geteilt wird.",
|
|
373
373
|
addWidget: "Widget hinzufügen",
|
|
374
374
|
loading: "Wird geladen...",
|
|
375
375
|
noWidgetsAvailable: "Für diesen Slot sind noch keine Widgets verfügbar.",
|
|
@@ -344,23 +344,23 @@ const messages = {
|
|
|
344
344
|
hideEveryone: "Hide from everyone",
|
|
345
345
|
localFileDescription:
|
|
346
346
|
"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
|
|
347
|
-
deleteQuestion: "
|
|
347
|
+
deleteQuestion: "Archive {{name}}?",
|
|
348
348
|
removeQuestion: "Remove {{name}}?",
|
|
349
349
|
hideForYouDescription:
|
|
350
350
|
"This hides it from your Extensions list without deleting it for anyone else.",
|
|
351
|
-
removeEverywhereDescription: "This
|
|
351
|
+
removeEverywhereDescription: "This archives it everywhere it is shared.",
|
|
352
352
|
cancel: "Cancel",
|
|
353
353
|
remove: "Remove",
|
|
354
354
|
removing: "Removing...",
|
|
355
|
-
delete: "
|
|
356
|
-
deleting: "
|
|
355
|
+
delete: "Archive",
|
|
356
|
+
deleting: "Archiving...",
|
|
357
357
|
openFullView: "Open full view",
|
|
358
358
|
removeFromWidgetArea: "Remove from this widget area",
|
|
359
|
-
deleteExtensionEllipsis: "
|
|
359
|
+
deleteExtensionEllipsis: "Archive extension...",
|
|
360
360
|
removeFromMyListEllipsis: "Remove from my list...",
|
|
361
361
|
removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
|
|
362
362
|
deleteEverywhereConfirmation:
|
|
363
|
-
"This
|
|
363
|
+
"This archives the extension everywhere, for everyone it's shared with.",
|
|
364
364
|
addWidget: "Add widget",
|
|
365
365
|
loading: "Loading...",
|
|
366
366
|
noWidgetsAvailable: "No widgets available for this slot yet.",
|
|
@@ -355,24 +355,24 @@ const messages = {
|
|
|
355
355
|
hideEveryone: "esconderse de todos",
|
|
356
356
|
localFileDescription:
|
|
357
357
|
"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
|
|
358
|
-
deleteQuestion: "
|
|
358
|
+
deleteQuestion: "¿Archivar {{name}}?",
|
|
359
359
|
removeQuestion: "Remove {{name}}?",
|
|
360
360
|
hideForYouDescription:
|
|
361
361
|
"Esto lo oculta de su lista de Extensiones sin eliminarlo para nadie más.",
|
|
362
362
|
removeEverywhereDescription:
|
|
363
|
-
"Esto lo
|
|
363
|
+
"Esto lo archiva en todos los lugares donde se comparte.",
|
|
364
364
|
cancel: "Cancelar",
|
|
365
365
|
remove: "Eliminar",
|
|
366
366
|
removing: "Eliminando...",
|
|
367
|
-
delete: "
|
|
368
|
-
deleting: "
|
|
367
|
+
delete: "Archivar",
|
|
368
|
+
deleting: "Archivando...",
|
|
369
369
|
openFullView: "Abrir vista completa",
|
|
370
370
|
removeFromWidgetArea: "Eliminar de esta área de widgets",
|
|
371
|
-
deleteExtensionEllipsis: "
|
|
371
|
+
deleteExtensionEllipsis: "Archivar extensión...",
|
|
372
372
|
removeFromMyListEllipsis: "Quitar de mi lista...",
|
|
373
373
|
removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
|
|
374
374
|
deleteEverywhereConfirmation:
|
|
375
|
-
"Esto
|
|
375
|
+
"Esto archiva la extensión en todas partes, para todas las personas con las que se comparte.",
|
|
376
376
|
addWidget: "Agregar widget",
|
|
377
377
|
loading: "Cargando...",
|
|
378
378
|
noWidgetsAvailable:
|
|
@@ -355,23 +355,23 @@ const messages = {
|
|
|
355
355
|
hideEveryone: "Cacher de tout le monde",
|
|
356
356
|
localFileDescription:
|
|
357
357
|
"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
|
|
358
|
-
deleteQuestion: "
|
|
358
|
+
deleteQuestion: "Archiver {{name}} ?",
|
|
359
359
|
removeQuestion: "Remove {{name}}?",
|
|
360
360
|
hideForYouDescription:
|
|
361
361
|
"Cela le masque de votre liste d'extensions sans le supprimer pour quelqu'un d'autre.",
|
|
362
|
-
removeEverywhereDescription: "Cela
|
|
362
|
+
removeEverywhereDescription: "Cela l’archive partout où il est partagé.",
|
|
363
363
|
cancel: "Annuler",
|
|
364
364
|
remove: "Retirer",
|
|
365
365
|
removing: "Suppression...",
|
|
366
|
-
delete: "
|
|
367
|
-
deleting: "
|
|
366
|
+
delete: "Archiver",
|
|
367
|
+
deleting: "Archivage...",
|
|
368
368
|
openFullView: "Ouvrir la vue complète",
|
|
369
369
|
removeFromWidgetArea: "Supprimer de cette zone de widget",
|
|
370
|
-
deleteExtensionEllipsis: "
|
|
370
|
+
deleteExtensionEllipsis: "Archiver l'extension...",
|
|
371
371
|
removeFromMyListEllipsis: "Supprimer de ma liste...",
|
|
372
372
|
removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
|
|
373
373
|
deleteEverywhereConfirmation:
|
|
374
|
-
"Cela
|
|
374
|
+
"Cela archive l'extension partout, pour toutes les personnes avec lesquelles elle est partagée.",
|
|
375
375
|
addWidget: "Ajouter un widget",
|
|
376
376
|
loading: "Chargement...",
|
|
377
377
|
noWidgetsAvailable:
|
|
@@ -338,24 +338,24 @@ const messages = {
|
|
|
338
338
|
hideEveryone: "सबसे छुपाओ",
|
|
339
339
|
localFileDescription:
|
|
340
340
|
"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
|
|
341
|
-
deleteQuestion: "
|
|
341
|
+
deleteQuestion: "{{name}} को संग्रहित करें?",
|
|
342
342
|
removeQuestion: "Remove {{name}}?",
|
|
343
343
|
hideForYouDescription:
|
|
344
344
|
"यह इसे किसी अन्य के लिए हटाए बिना आपकी एक्सटेंशन सूची से छिपा देता है।",
|
|
345
345
|
removeEverywhereDescription:
|
|
346
|
-
"यह इसे
|
|
346
|
+
"यह इसे साझा किए गए हर स्थान पर संग्रहित कर देता है।",
|
|
347
347
|
cancel: "रद्द करें",
|
|
348
348
|
remove: "हटाएं",
|
|
349
349
|
removing: "हटाया जा रहा है...",
|
|
350
|
-
delete: "
|
|
351
|
-
deleting: "
|
|
350
|
+
delete: "संग्रहित करें",
|
|
351
|
+
deleting: "संग्रहित किया जा रहा है...",
|
|
352
352
|
openFullView: "पूरा दृश्य खोलें",
|
|
353
353
|
removeFromWidgetArea: "इस विजेट क्षेत्र से हटाएँ",
|
|
354
|
-
deleteExtensionEllipsis: "एक्सटेंशन
|
|
354
|
+
deleteExtensionEllipsis: "एक्सटेंशन संग्रहित करें...",
|
|
355
355
|
removeFromMyListEllipsis: "मेरी सूची से हटाएं...",
|
|
356
356
|
removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
|
|
357
357
|
deleteEverywhereConfirmation:
|
|
358
|
-
"यह एक्सटेंशन को
|
|
358
|
+
"यह एक्सटेंशन को साझा किए गए हर स्थान पर, सभी लोगों के लिए संग्रहित कर देता है।",
|
|
359
359
|
addWidget: "विजेट जोड़ें",
|
|
360
360
|
loading: "लोड हो रहा है...",
|
|
361
361
|
noWidgetsAvailable: "इस स्लॉट के लिए अभी तक कोई विजेट उपलब्ध नहीं है।",
|
|
@@ -344,24 +344,24 @@ const messages = {
|
|
|
344
344
|
hideEveryone: "みんなから隠れて",
|
|
345
345
|
localFileDescription:
|
|
346
346
|
"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
|
|
347
|
-
deleteQuestion: "
|
|
347
|
+
deleteQuestion: "{{name}}をアーカイブしますか?",
|
|
348
348
|
removeQuestion: "Remove {{name}}?",
|
|
349
349
|
hideForYouDescription:
|
|
350
350
|
"これにより、他のユーザーが削除することなく、拡張機能リストから非表示になります。",
|
|
351
351
|
removeEverywhereDescription:
|
|
352
|
-
"
|
|
352
|
+
"これにより、共有されているすべての場所でアーカイブされます。",
|
|
353
353
|
cancel: "キャンセル",
|
|
354
354
|
remove: "削除",
|
|
355
355
|
removing: "削除中...",
|
|
356
|
-
delete: "
|
|
357
|
-
deleting: "
|
|
356
|
+
delete: "アーカイブ",
|
|
357
|
+
deleting: "アーカイブ中...",
|
|
358
358
|
openFullView: "フルビューを開く",
|
|
359
359
|
removeFromWidgetArea: "このウィジェット領域から削除する",
|
|
360
|
-
deleteExtensionEllipsis: "
|
|
360
|
+
deleteExtensionEllipsis: "拡張機能をアーカイブ...",
|
|
361
361
|
removeFromMyListEllipsis: "リストから削除...",
|
|
362
362
|
removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
|
|
363
363
|
deleteEverywhereConfirmation:
|
|
364
|
-
"
|
|
364
|
+
"これにより、共有されているすべてのユーザーの拡張機能がどこからでもアーカイブされます。",
|
|
365
365
|
addWidget: "ウィジェットを追加する",
|
|
366
366
|
loading: "読み込み中...",
|
|
367
367
|
noWidgetsAvailable:
|
|
@@ -337,24 +337,24 @@ const messages = {
|
|
|
337
337
|
hideEveryone: "모든 사람에게서 숨기기",
|
|
338
338
|
localFileDescription:
|
|
339
339
|
"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
|
|
340
|
-
deleteQuestion: "
|
|
340
|
+
deleteQuestion: "{{name}}을(를) 보관할까요?",
|
|
341
341
|
removeQuestion: "Remove {{name}}?",
|
|
342
342
|
hideForYouDescription:
|
|
343
343
|
"이렇게 하면 다른 사람을 위해 삭제하지 않고 확장 프로그램 목록에서 숨겨집니다.",
|
|
344
344
|
removeEverywhereDescription:
|
|
345
|
-
"이렇게 하면 공유된 모든 위치에서 해당 항목이
|
|
345
|
+
"이렇게 하면 공유된 모든 위치에서 해당 항목이 보관됩니다.",
|
|
346
346
|
cancel: "취소",
|
|
347
347
|
remove: "제거",
|
|
348
348
|
removing: "삭제 중...",
|
|
349
|
-
delete: "
|
|
350
|
-
deleting: "
|
|
349
|
+
delete: "보관",
|
|
350
|
+
deleting: "보관 중...",
|
|
351
351
|
openFullView: "전체 보기 열기",
|
|
352
352
|
removeFromWidgetArea: "이 위젯 영역에서 제거",
|
|
353
|
-
deleteExtensionEllipsis: "확장 프로그램
|
|
353
|
+
deleteExtensionEllipsis: "확장 프로그램 보관...",
|
|
354
354
|
removeFromMyListEllipsis: "내 목록에서 제거...",
|
|
355
355
|
removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
|
|
356
356
|
deleteEverywhereConfirmation:
|
|
357
|
-
"이렇게 하면 확장 프로그램을 공유하는 모든 사람의 모든 위치에서 확장 프로그램이
|
|
357
|
+
"이렇게 하면 확장 프로그램을 공유하는 모든 사람의 모든 위치에서 확장 프로그램이 보관됩니다.",
|
|
358
358
|
addWidget: "위젯 추가",
|
|
359
359
|
loading: "로드 중...",
|
|
360
360
|
noWidgetsAvailable: "이 슬롯에는 아직 사용할 수 있는 위젯이 없습니다.",
|
|
@@ -353,24 +353,24 @@ const messages = {
|
|
|
353
353
|
hideEveryone: "Esconda-se de todos",
|
|
354
354
|
localFileDescription:
|
|
355
355
|
"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
|
|
356
|
-
deleteQuestion: "
|
|
356
|
+
deleteQuestion: "Arquivar {{name}}?",
|
|
357
357
|
removeQuestion: "Remove {{name}}?",
|
|
358
358
|
hideForYouDescription:
|
|
359
359
|
"Isso o oculta da sua lista de extensões sem excluí-lo para mais ninguém.",
|
|
360
360
|
removeEverywhereDescription:
|
|
361
|
-
"Isso o
|
|
361
|
+
"Isso o arquiva em todos os lugares em que é compartilhado.",
|
|
362
362
|
cancel: "Cancelar",
|
|
363
363
|
remove: "Remover",
|
|
364
364
|
removing: "Removendo...",
|
|
365
|
-
delete: "
|
|
366
|
-
deleting: "
|
|
365
|
+
delete: "Arquivar",
|
|
366
|
+
deleting: "Arquivando...",
|
|
367
367
|
openFullView: "Abrir visualização completa",
|
|
368
368
|
removeFromWidgetArea: "Remover desta área de widget",
|
|
369
|
-
deleteExtensionEllipsis: "
|
|
369
|
+
deleteExtensionEllipsis: "Arquivar extensão...",
|
|
370
370
|
removeFromMyListEllipsis: "Remover da minha lista...",
|
|
371
371
|
removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
|
|
372
372
|
deleteEverywhereConfirmation:
|
|
373
|
-
"Isso
|
|
373
|
+
"Isso arquiva a extensão em todos os lugares, para todas as pessoas com quem ela é compartilhada.",
|
|
374
374
|
addWidget: "Adicionar widget",
|
|
375
375
|
loading: "Carregando...",
|
|
376
376
|
noWidgetsAvailable: "Ainda não há widgets disponíveis para este slot.",
|
|
@@ -330,22 +330,22 @@ const messages = {
|
|
|
330
330
|
hideEveryone: "向所有人隐藏",
|
|
331
331
|
localFileDescription:
|
|
332
332
|
"This extension is backed by {{entryPath}}. Edit or remove it from the workspace.",
|
|
333
|
-
deleteQuestion: "
|
|
333
|
+
deleteQuestion: "要归档 {{name}} 吗?",
|
|
334
334
|
removeQuestion: "Remove {{name}}?",
|
|
335
335
|
hideForYouDescription:
|
|
336
336
|
"这会将其从您的扩展列表中隐藏,而不会为其他任何人删除它。",
|
|
337
|
-
removeEverywhereDescription: "
|
|
337
|
+
removeEverywhereDescription: "这会在共享的所有地方归档它。",
|
|
338
338
|
cancel: "取消",
|
|
339
339
|
remove: "移除",
|
|
340
|
-
removing: "
|
|
341
|
-
delete: "
|
|
342
|
-
deleting: "
|
|
340
|
+
removing: "正在移除...",
|
|
341
|
+
delete: "归档",
|
|
342
|
+
deleting: "正在归档...",
|
|
343
343
|
openFullView: "打开全视图",
|
|
344
344
|
removeFromWidgetArea: "从此小部件区域中删除",
|
|
345
|
-
deleteExtensionEllipsis: "
|
|
345
|
+
deleteExtensionEllipsis: "归档扩展...",
|
|
346
346
|
removeFromMyListEllipsis: "从我的列表中删除...",
|
|
347
347
|
removeFromWidgetAreaForMe: "Remove from this widget area (for me)",
|
|
348
|
-
deleteEverywhereConfirmation: "
|
|
348
|
+
deleteEverywhereConfirmation: "这会为所有与之共享的人归档该扩展程序。",
|
|
349
349
|
addWidget: "添加小部件",
|
|
350
350
|
loading: "正在加载...",
|
|
351
351
|
noWidgetsAvailable: "此插槽尚无可用的小部件。",
|
|
@@ -330,22 +330,22 @@ const messages = {
|
|
|
330
330
|
hideEveryone: "向所有人隱藏",
|
|
331
331
|
localFileDescription:
|
|
332
332
|
"此擴充功能由 {{entryPath}} 支援。請從工作區編輯或移除它。",
|
|
333
|
-
deleteQuestion: "
|
|
333
|
+
deleteQuestion: "要封存 {{name}} 嗎?",
|
|
334
334
|
removeQuestion: "要移除 {{name}} 嗎?",
|
|
335
335
|
hideForYouDescription:
|
|
336
336
|
"這會將其從您的擴充功能清單中隱藏,而不會為其他任何人刪除它。",
|
|
337
|
-
removeEverywhereDescription: "
|
|
337
|
+
removeEverywhereDescription: "這會在共用的所有地方封存它。",
|
|
338
338
|
cancel: "取消",
|
|
339
339
|
remove: "移除",
|
|
340
|
-
removing: "
|
|
341
|
-
delete: "
|
|
342
|
-
deleting: "
|
|
340
|
+
removing: "正在移除...",
|
|
341
|
+
delete: "封存",
|
|
342
|
+
deleting: "正在封存...",
|
|
343
343
|
openFullView: "開啟全檢視",
|
|
344
344
|
removeFromWidgetArea: "從此小工具區域中刪除",
|
|
345
|
-
deleteExtensionEllipsis: "
|
|
345
|
+
deleteExtensionEllipsis: "封存擴充功能...",
|
|
346
346
|
removeFromMyListEllipsis: "從我的清單中刪除...",
|
|
347
347
|
removeFromWidgetAreaForMe: "從這個小工具區域移除(只套用於我)",
|
|
348
|
-
deleteEverywhereConfirmation: "
|
|
348
|
+
deleteEverywhereConfirmation: "這會為所有與之共用的人封存該擴充功能。",
|
|
349
349
|
addWidget: "新增小工具",
|
|
350
350
|
loading: "正在載入...",
|
|
351
351
|
noWidgetsAvailable: "此插槽尚無可用的小工具。",
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
useRouteError,
|
|
24
24
|
} from "react-router";
|
|
25
25
|
|
|
26
|
+
import { AppToolkitProvider } from "./components/ui/toolkit-provider";
|
|
26
27
|
import { useNavigationState } from "./hooks/use-navigation-state";
|
|
27
28
|
import { i18nCatalog } from "./i18n";
|
|
28
29
|
import { TAB_ID } from "./lib/tab-id";
|
|
@@ -256,8 +257,10 @@ export default function Root() {
|
|
|
256
257
|
const [queryClient] = useState(() => createAgentNativeQueryClient());
|
|
257
258
|
return (
|
|
258
259
|
<AppProviders queryClient={queryClient} i18n={{ catalog: i18nCatalog }}>
|
|
259
|
-
<
|
|
260
|
-
|
|
260
|
+
<AppToolkitProvider>
|
|
261
|
+
<DbSyncSetup />
|
|
262
|
+
<Outlet />
|
|
263
|
+
</AppToolkitProvider>
|
|
261
264
|
</AppProviders>
|
|
262
265
|
);
|
|
263
266
|
}
|
|
@@ -47,6 +47,34 @@ Before creating an app-local version of repeated workspace or agent UI:
|
|
|
47
47
|
Use public package exports at runtime. Published source and ejection manifests
|
|
48
48
|
are discovery and ownership-transfer mechanisms, not private runtime APIs.
|
|
49
49
|
|
|
50
|
+
## Design-System Boundary
|
|
51
|
+
|
|
52
|
+
Every app keeps an explicit design-system seam in `app/design-system.ts` using
|
|
53
|
+
`defineDesignSystem` from `@agent-native/toolkit/design-system`, and supplies it
|
|
54
|
+
to `ToolkitProvider`. The semantic contract contains:
|
|
55
|
+
|
|
56
|
+
- nine leaf components: `ActionButton`, `IconButton`, `TextField`, `TextArea`,
|
|
57
|
+
`Spinner`, `Skeleton`, `Status`, `Surface`, and `Avatar`
|
|
58
|
+
- eight behavior components: `Tooltip`, `Menu`, `Popover`, `Dialog`, `Picker`,
|
|
59
|
+
`Checkbox`, `Switch`, and `Tabs`
|
|
60
|
+
|
|
61
|
+
These are semantic contracts, not styling contracts. An adapter may use
|
|
62
|
+
Tailwind/shadcn, MUI-style theme providers, React Aria, CSS modules, CSS-in-JS,
|
|
63
|
+
or another React design system. Do not assume CVA, utility classes, or even a
|
|
64
|
+
`className`; behavior adapters may supply their overlay and focus
|
|
65
|
+
implementation wholesale while honoring portal, focus-restoration, keyboard,
|
|
66
|
+
dismissal, ARIA, and z-index interoperability.
|
|
67
|
+
|
|
68
|
+
Pages, routes, and domain components import ordinary controls through the app's
|
|
69
|
+
local adapter layer, usually `@/components/ui/*`. They must not import
|
|
70
|
+
`@agent-native/toolkit/ui/*` directly. Toolkit feature exports are still the
|
|
71
|
+
right home for shared workspace behavior; their presentation flows through the
|
|
72
|
+
registered semantic components, feature controller, and product-level slots.
|
|
73
|
+
|
|
74
|
+
Customer adapter packages are normal npm packages imported explicitly by the
|
|
75
|
+
app. Never auto-detect them or load React components from JSON. Run the adapter
|
|
76
|
+
against `@agent-native/toolkit/conformance` in customer CI before adopting it.
|
|
77
|
+
|
|
50
78
|
## Settings Direction
|
|
51
79
|
|
|
52
80
|
Durable settings belong in the Settings app or a registered settings route. The
|
|
@@ -59,6 +87,12 @@ quick controls and deep links such as:
|
|
|
59
87
|
- `/settings/usage`
|
|
60
88
|
- `/settings/apps/:appId`
|
|
61
89
|
|
|
90
|
+
The shared Account section is the canonical profile surface at
|
|
91
|
+
`/settings#account`. It owns the editable display name and existing avatar
|
|
92
|
+
control through the authenticated `get-user-profile` and `update-user-profile`
|
|
93
|
+
actions. Shared workspace chrome such as `OrgSwitcher` should link to this
|
|
94
|
+
surface rather than creating an app-local profile page.
|
|
95
|
+
|
|
62
96
|
When adding a new API key, OAuth grant, provider connection, model selector, app
|
|
63
97
|
preference, notification preference, or usage/billing surface, register it as a
|
|
64
98
|
settings tab or app settings panel first. Only add sidebar UI when it is needed
|
|
@@ -107,8 +141,9 @@ in the moment of agent use.
|
|
|
107
141
|
When adding or refactoring one of these areas:
|
|
108
142
|
|
|
109
143
|
1. Search existing framework and template code for duplicated UI or actions.
|
|
110
|
-
2. Decide the shared contract: data shape, action API,
|
|
111
|
-
|
|
144
|
+
2. Decide the shared contract: data shape, action API, feature-level headless
|
|
145
|
+
controller, default view, semantic components, and product-level render
|
|
146
|
+
slots.
|
|
112
147
|
3. Keep shared data provider-agnostic and scoped by auth/sharing rules.
|
|
113
148
|
4. Expose the same capability to the UI and agent through actions or documented
|
|
114
149
|
client helpers.
|
|
@@ -119,6 +154,12 @@ When adding or refactoring one of these areas:
|
|
|
119
154
|
ship readable source plus a complete ejection unit so apps can take ownership
|
|
120
155
|
of the smallest feature when needed. See `customizing-agent-native` for the
|
|
121
156
|
configure → compose → eject → propose seam ladder.
|
|
157
|
+
8. Keep one controller as the source of truth for the default and custom render
|
|
158
|
+
paths. A custom design must not fork actions, analytics, async state, or
|
|
159
|
+
accessibility behavior.
|
|
160
|
+
9. Verify the default adapter and at least one non-Tailwind adapter with the
|
|
161
|
+
conformance kit, including focus and portal stacking across mixed overlay
|
|
162
|
+
implementations.
|
|
122
163
|
|
|
123
164
|
## Related Skills
|
|
124
165
|
|