@agent-native/core 0.90.2 → 0.90.3
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 +12 -0
- package/corpus/core/docs/content/agent-native-toolkit.mdx +87 -80
- package/corpus/core/docs/content/locales/ar-SA/agent-native-toolkit.mdx +89 -80
- package/corpus/core/docs/content/locales/de-DE/agent-native-toolkit.mdx +89 -80
- package/corpus/core/docs/content/locales/es-ES/agent-native-toolkit.mdx +89 -80
- package/corpus/core/docs/content/locales/fr-FR/agent-native-toolkit.mdx +89 -80
- package/corpus/core/docs/content/locales/hi-IN/agent-native-toolkit.mdx +89 -80
- package/corpus/core/docs/content/locales/ja-JP/agent-native-toolkit.mdx +89 -80
- package/corpus/core/docs/content/locales/ko-KR/agent-native-toolkit.mdx +89 -80
- package/corpus/core/docs/content/locales/pt-BR/agent-native-toolkit.mdx +89 -80
- package/corpus/core/docs/content/locales/zh-CN/agent-native-toolkit.mdx +89 -80
- package/corpus/core/docs/content/locales/zh-TW/agent-native-toolkit.mdx +89 -80
- package/corpus/core/docs/content/toolkit-agent-ux.mdx +43 -0
- package/corpus/core/docs/content/toolkit-app-adapters.mdx +9 -0
- package/corpus/core/docs/content/toolkit-collaboration-ui.mdx +12 -0
- package/corpus/core/docs/content/toolkit-collaboration.mdx +74 -0
- package/corpus/core/docs/content/toolkit-command-navigation.mdx +106 -0
- package/corpus/core/docs/content/toolkit-comments-review.mdx +98 -0
- package/corpus/core/docs/content/toolkit-history.mdx +95 -0
- package/corpus/core/docs/content/toolkit-observability.mdx +41 -0
- package/corpus/core/docs/content/toolkit-org-team.mdx +80 -0
- package/corpus/core/docs/content/toolkit-resources.mdx +57 -0
- package/corpus/core/docs/content/toolkit-settings.mdx +65 -0
- package/corpus/core/docs/content/toolkit-setup-connections.mdx +109 -0
- package/corpus/core/docs/content/toolkit-sharing-ui.mdx +18 -6
- package/corpus/core/docs/content/toolkit-sharing.mdx +81 -0
- package/corpus/core/docs/content/toolkit-shell-hooks.mdx +9 -0
- package/corpus/core/docs/content/toolkit-ui.mdx +9 -0
- package/corpus/core/package.json +35 -1
- package/corpus/core/src/agent/engine/ai-sdk-engine.ts +19 -1
- package/corpus/core/src/agent/engine/anthropic-engine.ts +25 -1
- package/corpus/core/src/agent/engine/registry.ts +23 -16
- package/corpus/core/src/agent/production-agent.ts +37 -6
- package/corpus/core/src/client/command-navigation/index.ts +15 -0
- package/corpus/core/src/client/comments-review/index.ts +1 -0
- package/corpus/core/src/client/history/VersionHistoryPanel.tsx +145 -0
- package/corpus/core/src/client/history/index.ts +18 -0
- package/corpus/core/src/client/history/use-history.ts +86 -0
- package/corpus/core/src/client/index.ts +76 -9
- package/corpus/core/src/client/org/OrgSwitcher.tsx +6 -6
- package/corpus/core/src/client/org/RequireActiveOrg.tsx +2 -2
- package/corpus/core/src/client/org/TeamPage.tsx +3 -3
- package/corpus/core/src/client/org/hooks.ts +32 -0
- package/corpus/core/src/client/org/index.ts +30 -1
- package/corpus/core/src/client/org-team/index.ts +1 -0
- package/corpus/core/src/client/review/ReviewStatusBadge.tsx +39 -0
- package/corpus/core/src/client/review/ReviewThreadPanel.tsx +278 -0
- package/corpus/core/src/client/review/index.ts +25 -0
- package/corpus/core/src/client/review/use-review.ts +114 -0
- package/corpus/core/src/client/settings/index.ts +11 -1
- package/corpus/core/src/client/setup-connections/BuilderConnectCard.tsx +94 -0
- package/corpus/core/src/client/setup-connections/ProviderReadinessBadge.tsx +73 -0
- package/corpus/core/src/client/setup-connections/SetupConnectionsPage.tsx +94 -0
- package/corpus/core/src/client/setup-connections/index.ts +46 -0
- package/corpus/core/src/client/sharing/ShareButton.tsx +20 -14
- package/corpus/core/src/client/sharing/ShareDialog.tsx +3 -3
- package/corpus/core/src/command-navigation/actions.ts +100 -0
- package/corpus/core/src/command-navigation/index.ts +12 -0
- package/corpus/core/src/comments-review/index.ts +1 -0
- package/corpus/core/src/file-upload/builder.ts +24 -3
- package/corpus/core/src/file-upload/types.ts +3 -1
- package/corpus/core/src/history/actions/create-resource-version.ts +89 -0
- package/corpus/core/src/history/actions/get-resource-version.ts +60 -0
- package/corpus/core/src/history/actions/list-resource-history.ts +53 -0
- package/corpus/core/src/history/actions/list-resource-versions.ts +43 -0
- package/corpus/core/src/history/actions/restore-resource-version.ts +96 -0
- package/corpus/core/src/history/index.ts +27 -0
- package/corpus/core/src/history/registry.ts +99 -0
- package/corpus/core/src/history/store.ts +348 -0
- package/corpus/core/src/history/types.ts +69 -0
- package/corpus/core/src/index.ts +10 -0
- package/corpus/core/src/navigation/index.ts +170 -0
- package/corpus/core/src/org/index.ts +8 -0
- package/corpus/core/src/org/permissions.ts +30 -0
- package/corpus/core/src/org-team/index.ts +1 -0
- package/corpus/core/src/private-blob/registry.ts +1 -0
- package/corpus/core/src/review/actions/consume-review-feedback.ts +38 -0
- package/corpus/core/src/review/actions/create-review-comment.ts +107 -0
- package/corpus/core/src/review/actions/delete-review-comment.ts +55 -0
- package/corpus/core/src/review/actions/get-review-feedback.ts +54 -0
- package/corpus/core/src/review/actions/list-review-comments.ts +53 -0
- package/corpus/core/src/review/actions/reply-review-comment.ts +107 -0
- package/corpus/core/src/review/actions/resolve-review-thread.ts +60 -0
- package/corpus/core/src/review/actions/set-review-status.ts +58 -0
- package/corpus/core/src/review/index.ts +36 -0
- package/corpus/core/src/review/mentions.ts +44 -0
- package/corpus/core/src/review/registry.ts +99 -0
- package/corpus/core/src/review/store.ts +687 -0
- package/corpus/core/src/review/types.ts +97 -0
- package/corpus/core/src/server/action-discovery.ts +54 -0
- package/corpus/core/src/server/agent-engine-api-key-route.ts +5 -0
- package/corpus/core/src/server/credential-provider.ts +108 -0
- package/corpus/core/src/setup-connections/index.ts +89 -0
- package/corpus/core/src/setup-connections/onboarding.ts +47 -0
- package/corpus/core/src/transcription/builder-transcription.ts +9 -2
- package/corpus/core/src/vite/action-types-plugin.ts +52 -0
- package/corpus/templates/analytics/app/components/layout/Layout.tsx +2 -1
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +2 -2
- package/corpus/templates/analytics/app/global.css +22 -10
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +6 -1
- package/corpus/templates/analytics/app/i18n-data.ts +81 -13
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +2 -2
- package/corpus/templates/analytics/app/pages/analyses/AnalysisDetail.tsx +2 -2
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +528 -108
- package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +466 -183
- package/corpus/templates/analytics/changelog/2026-07-07-session-replays-load-sooner-show-clearer-activity-timelines-.md +6 -0
- package/corpus/templates/brain/app/routes/settings.tsx +2 -2
- package/corpus/templates/calendar/app/components/calendar/AttendeeAutocomplete.tsx +32 -6
- package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +120 -40
- package/corpus/templates/calendar/app/hooks/use-people.ts +55 -0
- package/corpus/templates/calendar/changelog/2026-07-07-guest-suggestions-now-find-coworkers-from-your-google-worksp.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-07-zoom-stays-selected-after-connecting-it-from-a-draft-event.md +6 -0
- package/corpus/templates/clips/actions/create-recording.ts +5 -1
- package/corpus/templates/clips/actions/finalize-recording.ts +140 -1
- package/corpus/templates/clips/actions/import-loom-recording.ts +1 -0
- package/corpus/templates/clips/actions/lib/ensure-seekable-video.ts +1 -0
- package/corpus/templates/clips/actions/request-transcript.ts +31 -0
- package/corpus/templates/clips/actions/set-thumbnail.ts +2 -0
- package/corpus/templates/clips/app/components/library/organization-switcher.tsx +2 -2
- package/corpus/templates/clips/app/components/player/scrubber-position.ts +9 -0
- package/corpus/templates/clips/app/components/player/scrubber.tsx +5 -2
- package/corpus/templates/clips/app/components/player/share-dialog.tsx +69 -41
- package/corpus/templates/clips/app/components/player/video-player.tsx +38 -1
- package/corpus/templates/clips/app/components/sharing/share-ui.tsx +3 -3
- package/corpus/templates/clips/app/components/sharing/slack-share-hint.tsx +9 -19
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +9 -3
- package/corpus/templates/clips/app/routes/record.tsx +21 -12
- package/corpus/templates/clips/changelog/2026-07-02-recordings-now-wait-for-storage-media-to-serve-before-finishing.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-07-a-pending-app-update-no-longer-blocks-screen-recording-updat.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-07-chrome-extension-recordings-keep-audio-after-refreshing-tab.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-07-clip-playback-progress-now-starts-and-finishes-at-the-right-times.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-07-sharing-public-clips-now-stays-focused-on-the-normal-link-wi.md +6 -0
- package/corpus/templates/clips/chrome-extension/src/background.ts +18 -0
- package/corpus/templates/clips/chrome-extension/src/offscreen.ts +23 -8
- package/corpus/templates/clips/desktop/src/app.tsx +40 -3
- package/corpus/templates/clips/desktop/src/hooks/useMediaDevices.ts +19 -7
- package/corpus/templates/clips/desktop/src/lib/permissions.ts +2 -0
- package/corpus/templates/clips/desktop/src/lib/updater.ts +25 -2
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +7 -0
- package/corpus/templates/clips/server/routes/api/recordings/[recordingId]/thumbnail.post.ts +1 -0
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/abort.post.ts +22 -5
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +8 -0
- package/corpus/templates/clips/server/routes/api/video/[recordingId].get.ts +13 -6
- package/corpus/templates/clips/shared/finalize-recovery.ts +12 -0
- package/corpus/templates/content/actions/delete-document.ts +337 -52
- package/corpus/templates/content/changelog/2026-07-07-permanently-deleting-trashed-databases-now-finishes-reliably.md +6 -0
- package/corpus/templates/slides/app/pages/DeckEditor.tsx +2 -2
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +15 -1
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
- package/dist/agent/engine/anthropic-engine.js +20 -1
- package/dist/agent/engine/anthropic-engine.js.map +1 -1
- package/dist/agent/engine/registry.d.ts.map +1 -1
- package/dist/agent/engine/registry.js +22 -14
- package/dist/agent/engine/registry.js.map +1 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +27 -7
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/client/command-navigation/index.d.ts +4 -0
- package/dist/client/command-navigation/index.d.ts.map +1 -0
- package/dist/client/command-navigation/index.js +4 -0
- package/dist/client/command-navigation/index.js.map +1 -0
- package/dist/client/comments-review/index.d.ts +2 -0
- package/dist/client/comments-review/index.d.ts.map +1 -0
- package/dist/client/comments-review/index.js +2 -0
- package/dist/client/comments-review/index.js.map +1 -0
- package/dist/client/history/VersionHistoryPanel.d.ts +18 -0
- package/dist/client/history/VersionHistoryPanel.d.ts.map +1 -0
- package/dist/client/history/VersionHistoryPanel.js +24 -0
- package/dist/client/history/VersionHistoryPanel.js.map +1 -0
- package/dist/client/history/index.d.ts +3 -0
- package/dist/client/history/index.d.ts.map +1 -0
- package/dist/client/history/index.js +3 -0
- package/dist/client/history/index.js.map +1 -0
- package/dist/client/history/use-history.d.ts +46 -0
- package/dist/client/history/use-history.d.ts.map +1 -0
- package/dist/client/history/use-history.js +18 -0
- package/dist/client/history/use-history.js.map +1 -0
- package/dist/client/index.d.ts +6 -4
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +6 -4
- package/dist/client/index.js.map +1 -1
- package/dist/client/org/OrgSwitcher.js +5 -5
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/org/RequireActiveOrg.js +2 -2
- package/dist/client/org/RequireActiveOrg.js.map +1 -1
- package/dist/client/org/TeamPage.js +3 -3
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/org/hooks.d.ts +12 -1
- package/dist/client/org/hooks.d.ts.map +1 -1
- package/dist/client/org/hooks.js +15 -0
- package/dist/client/org/hooks.js.map +1 -1
- package/dist/client/org/index.d.ts +4 -2
- package/dist/client/org/index.d.ts.map +1 -1
- package/dist/client/org/index.js +3 -1
- package/dist/client/org/index.js.map +1 -1
- package/dist/client/org-team/index.d.ts +2 -0
- package/dist/client/org-team/index.d.ts.map +1 -0
- package/dist/client/org-team/index.js +2 -0
- package/dist/client/org-team/index.js.map +1 -0
- package/dist/client/review/ReviewStatusBadge.d.ts +7 -0
- package/dist/client/review/ReviewStatusBadge.d.ts.map +1 -0
- package/dist/client/review/ReviewStatusBadge.js +19 -0
- package/dist/client/review/ReviewStatusBadge.js.map +1 -0
- package/dist/client/review/ReviewThreadPanel.d.ts +20 -0
- package/dist/client/review/ReviewThreadPanel.d.ts.map +1 -0
- package/dist/client/review/ReviewThreadPanel.js +84 -0
- package/dist/client/review/ReviewThreadPanel.js.map +1 -0
- package/dist/client/review/index.d.ts +4 -0
- package/dist/client/review/index.d.ts.map +1 -0
- package/dist/client/review/index.js +4 -0
- package/dist/client/review/index.js.map +1 -0
- package/dist/client/review/use-review.d.ts +68 -0
- package/dist/client/review/use-review.d.ts.map +1 -0
- package/dist/client/review/use-review.js +22 -0
- package/dist/client/review/use-review.js.map +1 -0
- package/dist/client/settings/index.d.ts +1 -1
- package/dist/client/settings/index.d.ts.map +1 -1
- package/dist/client/settings/index.js +1 -1
- package/dist/client/settings/index.js.map +1 -1
- package/dist/client/setup-connections/BuilderConnectCard.d.ts +9 -0
- package/dist/client/setup-connections/BuilderConnectCard.d.ts.map +1 -0
- package/dist/client/setup-connections/BuilderConnectCard.js +25 -0
- package/dist/client/setup-connections/BuilderConnectCard.js.map +1 -0
- package/dist/client/setup-connections/ProviderReadinessBadge.d.ts +8 -0
- package/dist/client/setup-connections/ProviderReadinessBadge.d.ts.map +1 -0
- package/dist/client/setup-connections/ProviderReadinessBadge.js +32 -0
- package/dist/client/setup-connections/ProviderReadinessBadge.js.map +1 -0
- package/dist/client/setup-connections/SetupConnectionsPage.d.ts +17 -0
- package/dist/client/setup-connections/SetupConnectionsPage.d.ts.map +1 -0
- package/dist/client/setup-connections/SetupConnectionsPage.js +10 -0
- package/dist/client/setup-connections/SetupConnectionsPage.js.map +1 -0
- package/dist/client/setup-connections/index.d.ts +7 -0
- package/dist/client/setup-connections/index.d.ts.map +1 -0
- package/dist/client/setup-connections/index.js +7 -0
- package/dist/client/setup-connections/index.js.map +1 -0
- package/dist/client/sharing/ShareButton.d.ts +4 -4
- package/dist/client/sharing/ShareButton.d.ts.map +1 -1
- package/dist/client/sharing/ShareButton.js +13 -7
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/client/sharing/ShareDialog.js +3 -3
- package/dist/client/sharing/ShareDialog.js.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/command-navigation/actions.d.ts +25 -0
- package/dist/command-navigation/actions.d.ts.map +1 -0
- package/dist/command-navigation/actions.js +64 -0
- package/dist/command-navigation/actions.js.map +1 -0
- package/dist/command-navigation/index.d.ts +4 -0
- package/dist/command-navigation/index.d.ts.map +1 -0
- package/dist/command-navigation/index.js +4 -0
- package/dist/command-navigation/index.js.map +1 -0
- package/dist/comments-review/index.d.ts +2 -0
- package/dist/comments-review/index.d.ts.map +1 -0
- package/dist/comments-review/index.js +2 -0
- package/dist/comments-review/index.js.map +1 -0
- package/dist/file-upload/builder.d.ts.map +1 -1
- package/dist/file-upload/builder.js +18 -2
- package/dist/file-upload/builder.js.map +1 -1
- package/dist/file-upload/types.d.ts +3 -0
- package/dist/file-upload/types.d.ts.map +1 -1
- package/dist/file-upload/types.js.map +1 -1
- package/dist/history/actions/create-resource-version.d.ts +10 -0
- package/dist/history/actions/create-resource-version.d.ts.map +1 -0
- package/dist/history/actions/create-resource-version.js +65 -0
- package/dist/history/actions/create-resource-version.js.map +1 -0
- package/dist/history/actions/get-resource-version.d.ts +10 -0
- package/dist/history/actions/get-resource-version.d.ts.map +1 -0
- package/dist/history/actions/get-resource-version.js +38 -0
- package/dist/history/actions/get-resource-version.js.map +1 -0
- package/dist/history/actions/list-resource-history.d.ts +10 -0
- package/dist/history/actions/list-resource-history.d.ts.map +1 -0
- package/dist/history/actions/list-resource-history.js +45 -0
- package/dist/history/actions/list-resource-history.js.map +1 -0
- package/dist/history/actions/list-resource-versions.d.ts +10 -0
- package/dist/history/actions/list-resource-versions.d.ts.map +1 -0
- package/dist/history/actions/list-resource-versions.js +35 -0
- package/dist/history/actions/list-resource-versions.js.map +1 -0
- package/dist/history/actions/restore-resource-version.d.ts +11 -0
- package/dist/history/actions/restore-resource-version.d.ts.map +1 -0
- package/dist/history/actions/restore-resource-version.js +59 -0
- package/dist/history/actions/restore-resource-version.js.map +1 -0
- package/dist/history/index.d.ts +4 -0
- package/dist/history/index.d.ts.map +1 -0
- package/dist/history/index.js +3 -0
- package/dist/history/index.js.map +1 -0
- package/dist/history/registry.d.ts +10 -0
- package/dist/history/registry.d.ts.map +1 -0
- package/dist/history/registry.js +61 -0
- package/dist/history/registry.js.map +1 -0
- package/dist/history/store.d.ts +34 -0
- package/dist/history/store.d.ts.map +1 -0
- package/dist/history/store.js +265 -0
- package/dist/history/store.js.map +1 -0
- package/dist/history/types.d.ts +55 -0
- package/dist/history/types.d.ts.map +1 -0
- package/dist/history/types.js +2 -0
- package/dist/history/types.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/navigation/index.d.ts +53 -0
- package/dist/navigation/index.d.ts.map +1 -0
- package/dist/navigation/index.js +105 -0
- package/dist/navigation/index.js.map +1 -0
- package/dist/org/index.d.ts +1 -0
- package/dist/org/index.d.ts.map +1 -1
- package/dist/org/index.js +1 -0
- package/dist/org/index.js.map +1 -1
- package/dist/org/permissions.d.ts +7 -0
- package/dist/org/permissions.d.ts.map +1 -0
- package/dist/org/permissions.js +21 -0
- package/dist/org/permissions.js.map +1 -0
- package/dist/org-team/index.d.ts +2 -0
- package/dist/org-team/index.d.ts.map +1 -0
- package/dist/org-team/index.js +2 -0
- package/dist/org-team/index.js.map +1 -0
- package/dist/private-blob/registry.d.ts.map +1 -1
- package/dist/private-blob/registry.js +1 -0
- package/dist/private-blob/registry.js.map +1 -1
- package/dist/resources/handlers.d.ts +2 -2
- package/dist/review/actions/consume-review-feedback.d.ts +9 -0
- package/dist/review/actions/consume-review-feedback.d.ts.map +1 -0
- package/dist/review/actions/consume-review-feedback.js +29 -0
- package/dist/review/actions/consume-review-feedback.js.map +1 -0
- package/dist/review/actions/create-review-comment.d.ts +18 -0
- package/dist/review/actions/create-review-comment.d.ts.map +1 -0
- package/dist/review/actions/create-review-comment.js +81 -0
- package/dist/review/actions/create-review-comment.js.map +1 -0
- package/dist/review/actions/delete-review-comment.d.ts +10 -0
- package/dist/review/actions/delete-review-comment.d.ts.map +1 -0
- package/dist/review/actions/delete-review-comment.js +45 -0
- package/dist/review/actions/delete-review-comment.js.map +1 -0
- package/dist/review/actions/get-review-feedback.d.ts +10 -0
- package/dist/review/actions/get-review-feedback.d.ts.map +1 -0
- package/dist/review/actions/get-review-feedback.js +45 -0
- package/dist/review/actions/get-review-feedback.js.map +1 -0
- package/dist/review/actions/list-review-comments.d.ts +13 -0
- package/dist/review/actions/list-review-comments.d.ts.map +1 -0
- package/dist/review/actions/list-review-comments.js +44 -0
- package/dist/review/actions/list-review-comments.js.map +1 -0
- package/dist/review/actions/reply-review-comment.d.ts +16 -0
- package/dist/review/actions/reply-review-comment.d.ts.map +1 -0
- package/dist/review/actions/reply-review-comment.js +84 -0
- package/dist/review/actions/reply-review-comment.js.map +1 -0
- package/dist/review/actions/resolve-review-thread.d.ts +11 -0
- package/dist/review/actions/resolve-review-thread.d.ts.map +1 -0
- package/dist/review/actions/resolve-review-thread.js +46 -0
- package/dist/review/actions/resolve-review-thread.js.map +1 -0
- package/dist/review/actions/set-review-status.d.ts +9 -0
- package/dist/review/actions/set-review-status.d.ts.map +1 -0
- package/dist/review/actions/set-review-status.js +43 -0
- package/dist/review/actions/set-review-status.js.map +1 -0
- package/dist/review/index.d.ts +5 -0
- package/dist/review/index.d.ts.map +1 -0
- package/dist/review/index.js +4 -0
- package/dist/review/index.js.map +1 -0
- package/dist/review/mentions.d.ts +4 -0
- package/dist/review/mentions.d.ts.map +1 -0
- package/dist/review/mentions.js +39 -0
- package/dist/review/mentions.js.map +1 -0
- package/dist/review/registry.d.ts +10 -0
- package/dist/review/registry.d.ts.map +1 -0
- package/dist/review/registry.js +61 -0
- package/dist/review/registry.js.map +1 -0
- package/dist/review/store.d.ts +63 -0
- package/dist/review/store.d.ts.map +1 -0
- package/dist/review/store.js +558 -0
- package/dist/review/store.js.map +1 -0
- package/dist/review/types.d.ts +77 -0
- package/dist/review/types.d.ts.map +1 -0
- package/dist/review/types.js +2 -0
- package/dist/review/types.js.map +1 -0
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +54 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts.map +1 -1
- package/dist/server/agent-engine-api-key-route.js +5 -0
- package/dist/server/agent-engine-api-key-route.js.map +1 -1
- package/dist/server/credential-provider.d.ts +26 -0
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +82 -0
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/setup-connections/index.d.ts +6 -0
- package/dist/setup-connections/index.d.ts.map +1 -0
- package/dist/setup-connections/index.js +6 -0
- package/dist/setup-connections/index.js.map +1 -0
- package/dist/setup-connections/onboarding.d.ts +14 -0
- package/dist/setup-connections/onboarding.d.ts.map +1 -0
- package/dist/setup-connections/onboarding.js +23 -0
- package/dist/setup-connections/onboarding.js.map +1 -0
- package/dist/transcription/builder-transcription.d.ts +1 -0
- package/dist/transcription/builder-transcription.d.ts.map +1 -1
- package/dist/transcription/builder-transcription.js +5 -2
- package/dist/transcription/builder-transcription.js.map +1 -1
- package/dist/vite/action-types-plugin.d.ts.map +1 -1
- package/dist/vite/action-types-plugin.js +52 -0
- package/dist/vite/action-types-plugin.js.map +1 -1
- package/docs/content/agent-native-toolkit.mdx +87 -80
- package/docs/content/locales/ar-SA/agent-native-toolkit.mdx +89 -80
- package/docs/content/locales/de-DE/agent-native-toolkit.mdx +89 -80
- package/docs/content/locales/es-ES/agent-native-toolkit.mdx +89 -80
- package/docs/content/locales/fr-FR/agent-native-toolkit.mdx +89 -80
- package/docs/content/locales/hi-IN/agent-native-toolkit.mdx +89 -80
- package/docs/content/locales/ja-JP/agent-native-toolkit.mdx +89 -80
- package/docs/content/locales/ko-KR/agent-native-toolkit.mdx +89 -80
- package/docs/content/locales/pt-BR/agent-native-toolkit.mdx +89 -80
- package/docs/content/locales/zh-CN/agent-native-toolkit.mdx +89 -80
- package/docs/content/locales/zh-TW/agent-native-toolkit.mdx +89 -80
- package/docs/content/toolkit-agent-ux.mdx +43 -0
- package/docs/content/toolkit-app-adapters.mdx +9 -0
- package/docs/content/toolkit-collaboration-ui.mdx +12 -0
- package/docs/content/toolkit-collaboration.mdx +74 -0
- package/docs/content/toolkit-command-navigation.mdx +106 -0
- package/docs/content/toolkit-comments-review.mdx +98 -0
- package/docs/content/toolkit-history.mdx +95 -0
- package/docs/content/toolkit-observability.mdx +41 -0
- package/docs/content/toolkit-org-team.mdx +80 -0
- package/docs/content/toolkit-resources.mdx +57 -0
- package/docs/content/toolkit-settings.mdx +65 -0
- package/docs/content/toolkit-setup-connections.mdx +109 -0
- package/docs/content/toolkit-sharing-ui.mdx +18 -6
- package/docs/content/toolkit-sharing.mdx +81 -0
- package/docs/content/toolkit-shell-hooks.mdx +9 -0
- package/docs/content/toolkit-ui.mdx +9 -0
- package/package.json +36 -2
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export {
|
|
2
|
+
CommandMenu,
|
|
3
|
+
openAgentSettings,
|
|
4
|
+
openAgentSidebar,
|
|
5
|
+
submitToAgent,
|
|
6
|
+
useCommandMenuShortcut,
|
|
7
|
+
type CommandDocsGroupProps,
|
|
8
|
+
type CommandGroupProps,
|
|
9
|
+
type CommandItemProps,
|
|
10
|
+
type CommandMenuDoc,
|
|
11
|
+
type CommandMenuProps,
|
|
12
|
+
type CommandShortcutProps,
|
|
13
|
+
} from "../CommandMenu.js";
|
|
14
|
+
export { focusAgentChat } from "../AgentPanel.js";
|
|
15
|
+
export * from "../../navigation/index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../review/index.js";
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { IconClock, IconRestore, IconTimeline } from "@tabler/icons-react";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
|
|
4
|
+
import type { ResourceVersion } from "../../history/types.js";
|
|
5
|
+
import { cn } from "../utils.js";
|
|
6
|
+
import {
|
|
7
|
+
useResourceVersions,
|
|
8
|
+
useRestoreResourceVersion,
|
|
9
|
+
} from "./use-history.js";
|
|
10
|
+
|
|
11
|
+
export interface VersionHistoryPanelProps {
|
|
12
|
+
resourceType: string;
|
|
13
|
+
resourceId: string;
|
|
14
|
+
title?: string;
|
|
15
|
+
className?: string;
|
|
16
|
+
limit?: number;
|
|
17
|
+
emptyState?: ReactNode;
|
|
18
|
+
renderVersion?: (version: ResourceVersion) => ReactNode;
|
|
19
|
+
onRestored?: (version: ResourceVersion, result: unknown) => void;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function VersionHistoryPanel({
|
|
23
|
+
resourceType,
|
|
24
|
+
resourceId,
|
|
25
|
+
title = "Version history",
|
|
26
|
+
className,
|
|
27
|
+
limit = 20,
|
|
28
|
+
emptyState = "No saved versions yet.",
|
|
29
|
+
renderVersion,
|
|
30
|
+
onRestored,
|
|
31
|
+
}: VersionHistoryPanelProps) {
|
|
32
|
+
const versions = useResourceVersions({ resourceType, resourceId, limit });
|
|
33
|
+
const restore = useRestoreResourceVersion();
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<section
|
|
37
|
+
className={cn(
|
|
38
|
+
"rounded-lg border border-border bg-card text-card-foreground",
|
|
39
|
+
className,
|
|
40
|
+
)}
|
|
41
|
+
>
|
|
42
|
+
<div className="flex items-center gap-2 border-b border-border px-4 py-3">
|
|
43
|
+
<IconTimeline className="h-4 w-4 text-muted-foreground" />
|
|
44
|
+
<h2 className="text-sm font-medium">{title}</h2>
|
|
45
|
+
</div>
|
|
46
|
+
<div className="divide-y divide-border">
|
|
47
|
+
{versions.isLoading ? (
|
|
48
|
+
<div className="px-4 py-6 text-sm text-muted-foreground">
|
|
49
|
+
Loading versions...
|
|
50
|
+
</div>
|
|
51
|
+
) : versions.data?.versions.length ? (
|
|
52
|
+
versions.data.versions.map((version) => (
|
|
53
|
+
<article key={version.id} className="flex gap-3 px-4 py-3">
|
|
54
|
+
<div className="mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-muted">
|
|
55
|
+
<IconClock className="h-4 w-4 text-muted-foreground" />
|
|
56
|
+
</div>
|
|
57
|
+
<div className="min-w-0 flex-1">
|
|
58
|
+
{renderVersion ? (
|
|
59
|
+
renderVersion(version)
|
|
60
|
+
) : (
|
|
61
|
+
<>
|
|
62
|
+
<div className="flex flex-wrap items-center gap-x-2 gap-y-1">
|
|
63
|
+
<h3 className="truncate text-sm font-medium">
|
|
64
|
+
{version.title ?? `Version ${version.versionNumber}`}
|
|
65
|
+
</h3>
|
|
66
|
+
<span className="text-xs text-muted-foreground">
|
|
67
|
+
{formatVersionDate(version.createdAt)}
|
|
68
|
+
</span>
|
|
69
|
+
</div>
|
|
70
|
+
{version.summary ? (
|
|
71
|
+
<p className="mt-1 text-sm text-muted-foreground">
|
|
72
|
+
{version.summary}
|
|
73
|
+
</p>
|
|
74
|
+
) : null}
|
|
75
|
+
</>
|
|
76
|
+
)}
|
|
77
|
+
</div>
|
|
78
|
+
<button
|
|
79
|
+
type="button"
|
|
80
|
+
className="inline-flex h-8 items-center gap-1.5 rounded-md border border-input px-2.5 text-xs font-medium hover:bg-accent disabled:cursor-not-allowed disabled:opacity-50"
|
|
81
|
+
disabled={restore.isPending}
|
|
82
|
+
onClick={() =>
|
|
83
|
+
restore.mutate(
|
|
84
|
+
{ id: version.id },
|
|
85
|
+
{
|
|
86
|
+
onSuccess: (result) => {
|
|
87
|
+
onRestored?.(result.version, result.result);
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
)
|
|
91
|
+
}
|
|
92
|
+
>
|
|
93
|
+
<IconRestore className="h-3.5 w-3.5" />
|
|
94
|
+
Restore
|
|
95
|
+
</button>
|
|
96
|
+
</article>
|
|
97
|
+
))
|
|
98
|
+
) : (
|
|
99
|
+
<div className="px-4 py-6 text-sm text-muted-foreground">
|
|
100
|
+
{emptyState}
|
|
101
|
+
</div>
|
|
102
|
+
)}
|
|
103
|
+
</div>
|
|
104
|
+
</section>
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export function HistoryTimeline({
|
|
109
|
+
versions,
|
|
110
|
+
className,
|
|
111
|
+
}: {
|
|
112
|
+
versions: ResourceVersion[];
|
|
113
|
+
className?: string;
|
|
114
|
+
}) {
|
|
115
|
+
return (
|
|
116
|
+
<ol className={cn("space-y-3", className)}>
|
|
117
|
+
{versions.map((version) => (
|
|
118
|
+
<li key={version.id} className="flex gap-3">
|
|
119
|
+
<div className="mt-1 h-2 w-2 rounded-full bg-primary" />
|
|
120
|
+
<div className="min-w-0">
|
|
121
|
+
<div className="truncate text-sm font-medium">
|
|
122
|
+
{version.title ?? `Version ${version.versionNumber}`}
|
|
123
|
+
</div>
|
|
124
|
+
<div className="text-xs text-muted-foreground">
|
|
125
|
+
{formatVersionDate(version.createdAt)}
|
|
126
|
+
</div>
|
|
127
|
+
{version.summary ? (
|
|
128
|
+
<p className="mt-1 text-sm text-muted-foreground">
|
|
129
|
+
{version.summary}
|
|
130
|
+
</p>
|
|
131
|
+
) : null}
|
|
132
|
+
</div>
|
|
133
|
+
</li>
|
|
134
|
+
))}
|
|
135
|
+
</ol>
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function formatVersionDate(value: string): string {
|
|
140
|
+
const date = new Date(value);
|
|
141
|
+
if (Number.isNaN(date.getTime())) {
|
|
142
|
+
return value;
|
|
143
|
+
}
|
|
144
|
+
return date.toLocaleString();
|
|
145
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export {
|
|
2
|
+
HistoryTimeline,
|
|
3
|
+
VersionHistoryPanel,
|
|
4
|
+
type VersionHistoryPanelProps,
|
|
5
|
+
} from "./VersionHistoryPanel.js";
|
|
6
|
+
export {
|
|
7
|
+
useCreateResourceVersion,
|
|
8
|
+
useResourceHistory,
|
|
9
|
+
useResourceVersions,
|
|
10
|
+
useRestoreResourceVersion,
|
|
11
|
+
type CreateResourceVersionInput,
|
|
12
|
+
type ListResourceHistoryResult,
|
|
13
|
+
type ListResourceVersionsResult,
|
|
14
|
+
type ResourceHistoryParams,
|
|
15
|
+
type ResourceVersionsParams,
|
|
16
|
+
type RestoreResourceVersionInput,
|
|
17
|
+
type RestoreResourceVersionResult,
|
|
18
|
+
} from "./use-history.js";
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { ResourceVersion } from "../../history/types.js";
|
|
2
|
+
import { useActionMutation, useActionQuery } from "../use-action.js";
|
|
3
|
+
|
|
4
|
+
export interface ResourceVersionsParams {
|
|
5
|
+
resourceType: string;
|
|
6
|
+
resourceId: string;
|
|
7
|
+
limit?: number;
|
|
8
|
+
offset?: number;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ResourceHistoryParams {
|
|
12
|
+
resourceType: string;
|
|
13
|
+
resourceId: string;
|
|
14
|
+
limit?: number;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface CreateResourceVersionInput {
|
|
18
|
+
resourceType: string;
|
|
19
|
+
resourceId: string;
|
|
20
|
+
title?: string;
|
|
21
|
+
summary?: string;
|
|
22
|
+
snapshot?: unknown;
|
|
23
|
+
metadata?: Record<string, unknown>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface RestoreResourceVersionInput {
|
|
27
|
+
id?: string;
|
|
28
|
+
resourceType?: string;
|
|
29
|
+
resourceId?: string;
|
|
30
|
+
versionNumber?: number;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface ListResourceVersionsResult {
|
|
34
|
+
versions: ResourceVersion[];
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface ListResourceHistoryResult {
|
|
38
|
+
versions: ResourceVersion[];
|
|
39
|
+
auditEvents: unknown[];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface RestoreResourceVersionResult {
|
|
43
|
+
version: ResourceVersion;
|
|
44
|
+
result: unknown;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function useResourceVersions(
|
|
48
|
+
params: ResourceVersionsParams,
|
|
49
|
+
options?: { enabled?: boolean },
|
|
50
|
+
) {
|
|
51
|
+
return useActionQuery<ListResourceVersionsResult>(
|
|
52
|
+
"list-resource-versions",
|
|
53
|
+
params,
|
|
54
|
+
{
|
|
55
|
+
enabled:
|
|
56
|
+
options?.enabled ?? Boolean(params.resourceType && params.resourceId),
|
|
57
|
+
},
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function useResourceHistory(
|
|
62
|
+
params: ResourceHistoryParams,
|
|
63
|
+
options?: { enabled?: boolean },
|
|
64
|
+
) {
|
|
65
|
+
return useActionQuery<ListResourceHistoryResult>(
|
|
66
|
+
"list-resource-history",
|
|
67
|
+
params,
|
|
68
|
+
{
|
|
69
|
+
enabled:
|
|
70
|
+
options?.enabled ?? Boolean(params.resourceType && params.resourceId),
|
|
71
|
+
},
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function useCreateResourceVersion() {
|
|
76
|
+
return useActionMutation<ResourceVersion, CreateResourceVersionInput>(
|
|
77
|
+
"create-resource-version",
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function useRestoreResourceVersion() {
|
|
82
|
+
return useActionMutation<
|
|
83
|
+
RestoreResourceVersionResult,
|
|
84
|
+
RestoreResourceVersionInput
|
|
85
|
+
>("restore-resource-version");
|
|
86
|
+
}
|
|
@@ -639,19 +639,22 @@ export { AgentNativeIcon } from "./components/icons/AgentNativeIcon.js";
|
|
|
639
639
|
export {
|
|
640
640
|
SettingsPanel,
|
|
641
641
|
SettingsTabsPage,
|
|
642
|
-
|
|
643
|
-
type SettingsPanelProps,
|
|
644
|
-
type SettingsTabItem,
|
|
645
|
-
type SettingsTabsPageProps,
|
|
646
|
-
} from "./settings/index.js";
|
|
647
|
-
export { useBuilderStatus } from "./settings/useBuilderStatus.js";
|
|
648
|
-
export {
|
|
642
|
+
SecretsSection,
|
|
649
643
|
openBuilderConnectPopup,
|
|
644
|
+
useAgentSettingsTabs,
|
|
650
645
|
useBuilderConnectFlow,
|
|
646
|
+
useBuilderStatus,
|
|
647
|
+
withBuilderConnectTrackingParams,
|
|
651
648
|
type BuilderConnectFlow,
|
|
652
649
|
type BuilderConnectFlowOptions,
|
|
650
|
+
type BuilderConnectStartOptions,
|
|
651
|
+
type BuilderStatus,
|
|
653
652
|
type OpenBuilderConnectPopupOptions,
|
|
654
|
-
|
|
653
|
+
type SecretsSectionProps,
|
|
654
|
+
type SettingsPanelProps,
|
|
655
|
+
type SettingsTabItem,
|
|
656
|
+
type SettingsTabsPageProps,
|
|
657
|
+
} from "./settings/index.js";
|
|
655
658
|
// Deprecated — use AgentSidebar + AgentToggleButton instead
|
|
656
659
|
export {
|
|
657
660
|
ProductionAgentPanel,
|
|
@@ -783,6 +786,43 @@ export {
|
|
|
783
786
|
type ResourceTreeProps,
|
|
784
787
|
type ResourceEditorProps,
|
|
785
788
|
} from "./resources/index.js";
|
|
789
|
+
export {
|
|
790
|
+
HistoryTimeline,
|
|
791
|
+
VersionHistoryPanel,
|
|
792
|
+
useCreateResourceVersion,
|
|
793
|
+
useResourceHistory,
|
|
794
|
+
useResourceVersions,
|
|
795
|
+
useRestoreResourceVersion,
|
|
796
|
+
type CreateResourceVersionInput,
|
|
797
|
+
type ListResourceHistoryResult,
|
|
798
|
+
type ListResourceVersionsResult,
|
|
799
|
+
type ResourceHistoryParams,
|
|
800
|
+
type ResourceVersionsParams,
|
|
801
|
+
type RestoreResourceVersionInput,
|
|
802
|
+
type RestoreResourceVersionResult,
|
|
803
|
+
type VersionHistoryPanelProps,
|
|
804
|
+
} from "./history/index.js";
|
|
805
|
+
export {
|
|
806
|
+
ReviewStatusBadge,
|
|
807
|
+
ReviewThreadPanel,
|
|
808
|
+
buildReviewThreads,
|
|
809
|
+
useCreateReviewComment,
|
|
810
|
+
useDeleteReviewComment,
|
|
811
|
+
useReplyReviewComment,
|
|
812
|
+
useResolveReviewThread,
|
|
813
|
+
useReviewComments,
|
|
814
|
+
useSetReviewStatus,
|
|
815
|
+
type CreateReviewCommentInput,
|
|
816
|
+
type DeleteReviewCommentInput,
|
|
817
|
+
type ListReviewCommentsParams,
|
|
818
|
+
type ListReviewCommentsResult,
|
|
819
|
+
type ReplyReviewCommentInput,
|
|
820
|
+
type ResolveReviewThreadInput,
|
|
821
|
+
type ReviewStatusBadgeProps,
|
|
822
|
+
type ReviewThread,
|
|
823
|
+
type ReviewThreadPanelProps,
|
|
824
|
+
type SetReviewStatusInput,
|
|
825
|
+
} from "./review/index.js";
|
|
786
826
|
export type {
|
|
787
827
|
AppToFrameMessage,
|
|
788
828
|
FrameToAppMessage,
|
|
@@ -792,10 +832,10 @@ export type {
|
|
|
792
832
|
} from "./frame-protocol.js";
|
|
793
833
|
export {
|
|
794
834
|
CommandMenu,
|
|
795
|
-
useCommandMenuShortcut,
|
|
796
835
|
openAgentSidebar,
|
|
797
836
|
openAgentSettings,
|
|
798
837
|
submitToAgent,
|
|
838
|
+
useCommandMenuShortcut,
|
|
799
839
|
type CommandMenuProps,
|
|
800
840
|
type CommandMenuDoc,
|
|
801
841
|
type CommandDocsGroupProps,
|
|
@@ -803,6 +843,33 @@ export {
|
|
|
803
843
|
type CommandItemProps,
|
|
804
844
|
type CommandShortcutProps,
|
|
805
845
|
} from "./CommandMenu.js";
|
|
846
|
+
export {
|
|
847
|
+
buildOpenRouteLink,
|
|
848
|
+
buildOpenRoutePath,
|
|
849
|
+
buildResourceRoute,
|
|
850
|
+
buildSettingsRoute,
|
|
851
|
+
buildStandardAppRoute,
|
|
852
|
+
buildTeamRoute,
|
|
853
|
+
createStandardOpenPathResolver,
|
|
854
|
+
STANDARD_APP_ROUTES,
|
|
855
|
+
STANDARD_SETTINGS_TABS,
|
|
856
|
+
type BuildResourceRouteOptions,
|
|
857
|
+
type BuildStandardAppRouteOptions,
|
|
858
|
+
type NavigationLink,
|
|
859
|
+
type NavigationTarget,
|
|
860
|
+
type StandardAppRouteId,
|
|
861
|
+
type StandardOpenPathResolverOptions,
|
|
862
|
+
type StandardOpenPathRoute,
|
|
863
|
+
type StandardSettingsTabId,
|
|
864
|
+
} from "../navigation/index.js";
|
|
865
|
+
export {
|
|
866
|
+
BuilderConnectCard,
|
|
867
|
+
ProviderReadinessBadge,
|
|
868
|
+
SetupConnectionsPage,
|
|
869
|
+
type BuilderConnectCardProps,
|
|
870
|
+
type ProviderReadinessBadgeProps,
|
|
871
|
+
type SetupConnectionsPageProps,
|
|
872
|
+
} from "./setup-connections/index.js";
|
|
806
873
|
export {
|
|
807
874
|
ChangelogDialog,
|
|
808
875
|
ChangelogSettingsCard,
|
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
IconBrain,
|
|
6
6
|
IconBrandJira,
|
|
7
7
|
IconBrush,
|
|
8
|
-
IconBuilding,
|
|
9
8
|
IconCalendar,
|
|
10
9
|
IconCalendarTime,
|
|
11
10
|
IconChartBar,
|
|
@@ -33,6 +32,7 @@ import {
|
|
|
33
32
|
IconUser,
|
|
34
33
|
IconUserPlus,
|
|
35
34
|
IconUsers,
|
|
35
|
+
IconUsersGroup,
|
|
36
36
|
IconWorld,
|
|
37
37
|
} from "@tabler/icons-react";
|
|
38
38
|
import { useState } from "react";
|
|
@@ -285,7 +285,7 @@ function OrgSwitcherLoadingPlaceholder({ className }: { className?: string }) {
|
|
|
285
285
|
aria-label="Loading organization"
|
|
286
286
|
className={`${SWITCHER_BUTTON_CLASS} animate-pulse ${className ?? ""}`}
|
|
287
287
|
>
|
|
288
|
-
<
|
|
288
|
+
<IconUsersGroup className="h-3.5 w-3.5 shrink-0 opacity-60" />
|
|
289
289
|
<span className="h-3 min-w-0 flex-1 rounded-sm bg-muted-foreground/20" />
|
|
290
290
|
<IconSelector className="h-3 w-3 shrink-0 opacity-30" />
|
|
291
291
|
</button>
|
|
@@ -376,7 +376,7 @@ export function OrgSwitcher({
|
|
|
376
376
|
const personalLabel = personalLabelFromEmail(org.email);
|
|
377
377
|
const inOrg = !!org.orgId;
|
|
378
378
|
const buttonLabel = org.orgName ?? "Personal";
|
|
379
|
-
const ButtonIcon = inOrg ?
|
|
379
|
+
const ButtonIcon = inOrg ? IconUsersGroup : IconUser;
|
|
380
380
|
const organizationSettingsHref = settingsPath
|
|
381
381
|
? organizationSettingsPath(settingsPath)
|
|
382
382
|
: null;
|
|
@@ -440,7 +440,7 @@ export function OrgSwitcher({
|
|
|
440
440
|
disabled={switchOrg.isPending}
|
|
441
441
|
className={`${ITEM_CLASS} cursor-pointer`}
|
|
442
442
|
>
|
|
443
|
-
<
|
|
443
|
+
<IconUsersGroup className="h-3.5 w-3.5 shrink-0 text-muted-foreground" />
|
|
444
444
|
<span className="truncate flex-1 text-start">
|
|
445
445
|
{o.orgName}
|
|
446
446
|
</span>
|
|
@@ -459,7 +459,7 @@ export function OrgSwitcher({
|
|
|
459
459
|
key={inv.id}
|
|
460
460
|
className="flex items-center gap-2 px-2.5 py-1.5 text-xs"
|
|
461
461
|
>
|
|
462
|
-
<
|
|
462
|
+
<IconUsersGroup className="h-3.5 w-3.5 shrink-0 text-muted-foreground" />
|
|
463
463
|
<span className="truncate flex-1 text-foreground">
|
|
464
464
|
{inv.orgName}
|
|
465
465
|
</span>
|
|
@@ -501,7 +501,7 @@ export function OrgSwitcher({
|
|
|
501
501
|
key={match.orgId}
|
|
502
502
|
className="flex items-center gap-2 px-2.5 py-1.5 text-xs"
|
|
503
503
|
>
|
|
504
|
-
<
|
|
504
|
+
<IconUsersGroup className="h-3.5 w-3.5 shrink-0 text-muted-foreground" />
|
|
505
505
|
<span className="truncate flex-1 text-foreground">
|
|
506
506
|
{match.orgName}
|
|
507
507
|
</span>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
IconAlertTriangle,
|
|
3
|
-
IconBuilding,
|
|
4
3
|
IconLoader2,
|
|
5
4
|
IconUserPlus,
|
|
6
5
|
IconAt,
|
|
6
|
+
IconUsersGroup,
|
|
7
7
|
} from "@tabler/icons-react";
|
|
8
8
|
import { ReactNode, useState } from "react";
|
|
9
9
|
|
|
@@ -177,7 +177,7 @@ function CreateOrgPane({
|
|
|
177
177
|
>
|
|
178
178
|
<div className="my-auto w-full max-w-md rounded-2xl border border-border bg-card p-8 shadow-lg">
|
|
179
179
|
<div className="mb-6 flex items-center gap-2">
|
|
180
|
-
<
|
|
180
|
+
<IconUsersGroup className="h-5 w-5 text-muted-foreground" />
|
|
181
181
|
<h1 className="text-lg font-semibold">{title}</h1>
|
|
182
182
|
</div>
|
|
183
183
|
<p className="mb-6 text-sm text-muted-foreground">{description}</p>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
IconBuilding,
|
|
3
2
|
IconUserPlus,
|
|
4
3
|
IconTrash,
|
|
5
4
|
IconCrown,
|
|
@@ -18,6 +17,7 @@ import {
|
|
|
18
17
|
IconFileImport,
|
|
19
18
|
IconPlus,
|
|
20
19
|
IconAlertTriangle,
|
|
20
|
+
IconUsersGroup,
|
|
21
21
|
} from "@tabler/icons-react";
|
|
22
22
|
import { useMemo, useRef, useState, type ReactNode } from "react";
|
|
23
23
|
|
|
@@ -153,7 +153,7 @@ function JoinByDomainCard({ matches }: { matches: DomainMatchOrg[] }) {
|
|
|
153
153
|
>
|
|
154
154
|
<div className="flex items-center gap-2.5">
|
|
155
155
|
<div className="flex h-8 w-8 items-center justify-center rounded-md bg-blue-600/10">
|
|
156
|
-
<
|
|
156
|
+
<IconUsersGroup className="h-4 w-4 text-blue-600" />
|
|
157
157
|
</div>
|
|
158
158
|
<div className="text-sm font-medium">{m.orgName}</div>
|
|
159
159
|
</div>
|
|
@@ -324,7 +324,7 @@ function MembersCard() {
|
|
|
324
324
|
<div className="flex items-center justify-between">
|
|
325
325
|
<div className="flex items-center gap-3">
|
|
326
326
|
<div className="flex h-9 w-9 items-center justify-center rounded-lg bg-blue-600/10">
|
|
327
|
-
<
|
|
327
|
+
<IconUsersGroup className="h-5 w-5 text-blue-600" />
|
|
328
328
|
</div>
|
|
329
329
|
<div>
|
|
330
330
|
<OrgNameDisplay name={org.orgName ?? ""} canEdit={isOwnerOrAdmin} />
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
|
|
2
2
|
|
|
3
|
+
import {
|
|
4
|
+
canInviteOrgMembers,
|
|
5
|
+
canManageOrg,
|
|
6
|
+
canManageOrgDomain,
|
|
7
|
+
} from "../../org/permissions.js";
|
|
3
8
|
import type {
|
|
4
9
|
OrgInfo,
|
|
5
10
|
OrgMember,
|
|
6
11
|
OrgPendingInvitation,
|
|
12
|
+
OrgRole,
|
|
7
13
|
} from "../../org/types.js";
|
|
8
14
|
import { agentNativePath } from "../api-path.js";
|
|
9
15
|
|
|
@@ -48,6 +54,32 @@ export function useOrg() {
|
|
|
48
54
|
});
|
|
49
55
|
}
|
|
50
56
|
|
|
57
|
+
export interface UseOrgRoleResult {
|
|
58
|
+
org: OrgInfo | undefined;
|
|
59
|
+
role: OrgRole | null;
|
|
60
|
+
isOwner: boolean;
|
|
61
|
+
canManageOrg: boolean;
|
|
62
|
+
canInviteMembers: boolean;
|
|
63
|
+
canManageDomain: boolean;
|
|
64
|
+
isLoading: boolean;
|
|
65
|
+
error: Error | null;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function useOrgRole(): UseOrgRoleResult {
|
|
69
|
+
const query = useOrg();
|
|
70
|
+
const role = query.data?.role ?? null;
|
|
71
|
+
return {
|
|
72
|
+
org: query.data,
|
|
73
|
+
role,
|
|
74
|
+
isOwner: role === "owner",
|
|
75
|
+
canManageOrg: canManageOrg(role),
|
|
76
|
+
canInviteMembers: canInviteOrgMembers(role),
|
|
77
|
+
canManageDomain: canManageOrgDomain(role),
|
|
78
|
+
isLoading: query.isLoading,
|
|
79
|
+
error: query.error,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
51
83
|
export function useOrgMembers() {
|
|
52
84
|
// Scope the cache by active orgId so switching or creating an org forces a
|
|
53
85
|
// fresh fetch rather than briefly showing the previous org's members.
|
|
@@ -14,9 +14,18 @@ export {
|
|
|
14
14
|
useSwitchOrg,
|
|
15
15
|
useJoinByDomain,
|
|
16
16
|
useSetOrgDomain,
|
|
17
|
+
useSetA2ASecret,
|
|
18
|
+
useSyncA2ASecret,
|
|
19
|
+
useOrgRole,
|
|
17
20
|
} from "./hooks.js";
|
|
18
21
|
|
|
19
|
-
export type {
|
|
22
|
+
export type {
|
|
23
|
+
InviteRole,
|
|
24
|
+
InviteVars,
|
|
25
|
+
BulkInviteResult,
|
|
26
|
+
SyncA2ASecretResult,
|
|
27
|
+
UseOrgRoleResult,
|
|
28
|
+
} from "./hooks.js";
|
|
20
29
|
|
|
21
30
|
export { OrgSwitcher, type OrgSwitcherProps } from "./OrgSwitcher.js";
|
|
22
31
|
export {
|
|
@@ -28,6 +37,26 @@ export {
|
|
|
28
37
|
RequireActiveOrg,
|
|
29
38
|
type RequireActiveOrgProps,
|
|
30
39
|
} from "./RequireActiveOrg.js";
|
|
40
|
+
export {
|
|
41
|
+
defaultOrgAppLinks,
|
|
42
|
+
dispatchAppsHref,
|
|
43
|
+
dispatchOverviewHref,
|
|
44
|
+
isWorkspaceAppEnvironment,
|
|
45
|
+
parseWorkspaceAppLinks,
|
|
46
|
+
parseWorkspaceAppLinksJson,
|
|
47
|
+
visibleOrgAppLinks,
|
|
48
|
+
ORG_SWITCHER_MAX_APP_LINKS,
|
|
49
|
+
type OrgSwitcherAppLink,
|
|
50
|
+
type UseOrgSwitcherAppLinksResult,
|
|
51
|
+
type VisibleOrgAppLinks,
|
|
52
|
+
} from "./workspace-app-links.js";
|
|
53
|
+
export {
|
|
54
|
+
canInviteOrgMembers,
|
|
55
|
+
canManageOrg,
|
|
56
|
+
canManageOrgDomain,
|
|
57
|
+
orgRoleAtLeast,
|
|
58
|
+
orgRoleRank,
|
|
59
|
+
} from "../../org/permissions.js";
|
|
31
60
|
|
|
32
61
|
// Re-export the shared types so consumers can import them from one place.
|
|
33
62
|
export type {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../org/index.js";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ReviewStatus } from "../../review/types.js";
|
|
2
|
+
import { cn } from "../utils.js";
|
|
3
|
+
|
|
4
|
+
export interface ReviewStatusBadgeProps {
|
|
5
|
+
status: ReviewStatus | null | undefined;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const STATUS_LABELS: Record<ReviewStatus, string> = {
|
|
10
|
+
draft: "Draft",
|
|
11
|
+
in_review: "In review",
|
|
12
|
+
approved: "Approved",
|
|
13
|
+
changes_requested: "Changes requested",
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const STATUS_CLASSES: Record<ReviewStatus, string> = {
|
|
17
|
+
draft: "border-muted bg-muted text-muted-foreground",
|
|
18
|
+
in_review: "border-blue-200 bg-blue-50 text-blue-700",
|
|
19
|
+
approved: "border-emerald-200 bg-emerald-50 text-emerald-700",
|
|
20
|
+
changes_requested: "border-amber-200 bg-amber-50 text-amber-800",
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export function ReviewStatusBadge({
|
|
24
|
+
status,
|
|
25
|
+
className,
|
|
26
|
+
}: ReviewStatusBadgeProps) {
|
|
27
|
+
const normalized = status ?? "draft";
|
|
28
|
+
return (
|
|
29
|
+
<span
|
|
30
|
+
className={cn(
|
|
31
|
+
"inline-flex items-center rounded-full border px-2 py-0.5 text-xs font-medium",
|
|
32
|
+
STATUS_CLASSES[normalized],
|
|
33
|
+
className,
|
|
34
|
+
)}
|
|
35
|
+
>
|
|
36
|
+
{STATUS_LABELS[normalized]}
|
|
37
|
+
</span>
|
|
38
|
+
);
|
|
39
|
+
}
|