@agent-native/core 0.90.1 → 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 +26 -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/AgentPanel.tsx +1 -1
- 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/rich-markdown-editor/useCollabReconcile.ts +11 -6
- 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/client/use-action.ts +39 -2
- package/corpus/core/src/client/use-db-sync.ts +44 -18
- 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/db/create-get-db.ts +32 -2
- 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/server/framework-request-handler.ts +52 -4
- 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/assets/.agents/skills/asset-generation/SKILL.md +5 -0
- package/corpus/templates/assets/.agents/skills/logo-composite/SKILL.md +34 -6
- package/corpus/templates/assets/AGENTS.md +23 -4
- package/corpus/templates/assets/actions/_generation-preset-settings.ts +48 -0
- package/corpus/templates/assets/actions/_helpers.ts +8 -1
- package/corpus/templates/assets/actions/_preset-skeleton-validation.ts +64 -0
- package/corpus/templates/assets/actions/create-generation-preset.ts +11 -3
- package/corpus/templates/assets/actions/generate-image-batch.ts +7 -2
- package/corpus/templates/assets/actions/generate-image.ts +342 -25
- package/corpus/templates/assets/actions/get-library.ts +4 -3
- package/corpus/templates/assets/actions/navigate.ts +2 -1
- package/corpus/templates/assets/actions/refresh-generation-run.ts +5 -1
- package/corpus/templates/assets/actions/update-asset.ts +1 -0
- package/corpus/templates/assets/actions/update-generation-preset.ts +8 -1
- package/corpus/templates/assets/actions/view-screen.ts +8 -1
- package/corpus/templates/assets/app/components/generation/GenerationResults.tsx +9 -1
- package/corpus/templates/assets/app/hooks/use-image-model-menu.ts +1 -0
- package/corpus/templates/assets/app/hooks/use-navigation-state.ts +11 -0
- package/corpus/templates/assets/app/i18n/zh-TW.ts +64 -0
- package/corpus/templates/assets/app/i18n-data.ts +650 -0
- package/corpus/templates/assets/app/routes/asset.$id.tsx +2 -1
- package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +44 -33
- package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +1474 -0
- package/corpus/templates/assets/app/routes/library.tsx +43 -1
- package/corpus/templates/assets/server/lib/generation.ts +366 -44
- package/corpus/templates/assets/server/lib/image-processing.ts +252 -0
- package/corpus/templates/assets/server/lib/preset-skeleton.ts +137 -0
- package/corpus/templates/assets/shared/api.ts +47 -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/library-layout.tsx +7 -2
- package/corpus/templates/clips/app/components/library/organization-switcher.tsx +2 -2
- package/corpus/templates/clips/app/components/library/sort-menu.tsx +1 -1
- 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/recorder/recorder-engine.ts +114 -33
- 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/_app.library._index.tsx +27 -1
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +9 -3
- package/corpus/templates/clips/app/routes/record.tsx +178 -80
- 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 +23 -6
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +28 -3
- package/corpus/templates/clips/server/routes/api/video/[recordingId].get.ts +13 -6
- package/corpus/templates/clips/shared/finalize-recovery.ts +35 -3
- package/corpus/templates/content/AGENTS.md +52 -52
- package/corpus/templates/content/actions/_builder-cms-read-client.ts +188 -8
- package/corpus/templates/content/actions/_builder-docs-client.ts +41 -3
- package/corpus/templates/content/actions/_database-source-utils.ts +998 -160
- package/corpus/templates/content/actions/_database-utils.ts +44 -4
- package/corpus/templates/content/actions/_notion-action-utils.ts +6 -2
- package/corpus/templates/content/actions/add-content-database-source-field-property.ts +23 -1
- package/corpus/templates/content/actions/attach-content-database-source.ts +85 -12
- package/corpus/templates/content/actions/change-content-database-source-role.ts +9 -1
- package/corpus/templates/content/actions/delete-content-database.ts +1 -0
- package/corpus/templates/content/actions/delete-document.ts +337 -52
- package/corpus/templates/content/actions/get-document.ts +11 -2
- package/corpus/templates/content/actions/list-content-databases.ts +57 -9
- package/corpus/templates/content/actions/prepare-builder-source-review.ts +23 -6
- package/corpus/templates/content/actions/refresh-content-database-source.ts +26 -3
- package/corpus/templates/content/actions/restore-content-database.ts +1 -0
- package/corpus/templates/content/actions/update-document.ts +43 -0
- package/corpus/templates/content/app/components/editor/BuilderBodySyncingNotice.tsx +21 -0
- package/corpus/templates/content/app/components/editor/DocumentDatabase.tsx +0 -1
- package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +70 -28
- package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +69 -17
- package/corpus/templates/content/app/components/editor/VisualEditor.tsx +4 -4
- package/corpus/templates/content/app/components/editor/body-hydration.ts +112 -0
- package/corpus/templates/content/app/components/editor/builder-body-hydration-pump.ts +52 -0
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +9076 -2876
- package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +41 -1
- package/corpus/templates/content/app/components/editor/extensions/ImageBlock.tsx +36 -11
- package/corpus/templates/content/app/components/editor/previewDocumentSaveController.ts +21 -1
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +11 -1
- package/corpus/templates/content/app/components/sidebar/DocumentTreeItem.tsx +11 -8
- package/corpus/templates/content/app/global.css +41 -0
- package/corpus/templates/content/app/hooks/use-content-database.ts +346 -42
- package/corpus/templates/content/app/hooks/use-db-sync.ts +9 -0
- package/corpus/templates/content/app/hooks/use-documents.ts +47 -0
- package/corpus/templates/content/app/hooks/use-notion.ts +12 -10
- package/corpus/templates/content/app/i18n/zh-TW.ts +35 -0
- package/corpus/templates/content/app/i18n-data.ts +355 -0
- package/corpus/templates/content/app/root.tsx +22 -0
- package/corpus/templates/content/changelog/2026-07-01-builder-database-sources-keep-loading-rows-in-the-background.md +6 -0
- package/corpus/templates/content/changelog/2026-07-01-builder-source-attach-starts-with-usable-rows.md +6 -0
- package/corpus/templates/content/changelog/2026-07-01-builder-source-attachment-now-stays-connected-after-large.md +6 -0
- package/corpus/templates/content/changelog/2026-07-01-builder-source-refreshes-now-show-progress-for-large-docs-blog.md +6 -0
- package/corpus/templates/content/changelog/2026-07-01-database-pages-now-delete-to-trash-without-route-errors.md +6 -0
- package/corpus/templates/content/changelog/2026-07-02-builder-source-refreshes-recover-from-stalled-background-row.md +6 -0
- package/corpus/templates/content/changelog/2026-07-02-builder-sourced-rows-open-with-sync-protection.md +6 -0
- package/corpus/templates/content/changelog/2026-07-02-database-rows-and-pages-open-faster-from-recently-loaded-dat.md +6 -0
- package/corpus/templates/content/changelog/2026-07-02-preview-panels-close-reliably-narrow-sidebar-row-actions-sta.md +6 -0
- package/corpus/templates/content/changelog/2026-07-06-builder-sync-progress-no-longer-shows-continue.md +6 -0
- package/corpus/templates/content/changelog/2026-07-07-permanently-deleting-trashed-databases-now-finishes-reliably.md +6 -0
- package/corpus/templates/content/shared/api.ts +13 -0
- package/corpus/templates/content/shared/builder-mdx.ts +16 -3
- package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +23 -13
- package/corpus/templates/design/.agents/skills/responsive-breakpoints/SKILL.md +98 -0
- package/corpus/templates/design/.agents/skills/shader-fills/SKILL.md +162 -0
- package/corpus/templates/design/AGENTS.md +9 -2
- package/corpus/templates/design/actions/add-breakpoint.ts +6 -3
- package/corpus/templates/design/actions/apply-a11y-fix.ts +57 -37
- package/corpus/templates/design/actions/apply-component-prop-edit.ts +41 -20
- package/corpus/templates/design/actions/apply-motion-edit.ts +251 -38
- package/corpus/templates/design/actions/apply-shader-fill.ts +90 -66
- package/corpus/templates/design/actions/apply-visual-edit.ts +282 -55
- package/corpus/templates/design/actions/create-component.ts +29 -60
- package/corpus/templates/design/actions/create-file.ts +9 -2
- package/corpus/templates/design/actions/duplicate-design.ts +31 -2
- package/corpus/templates/design/actions/edit-design.ts +36 -38
- package/corpus/templates/design/actions/generate-design-title.ts +87 -0
- package/corpus/templates/design/actions/generate-design.ts +53 -18
- package/corpus/templates/design/actions/generate-screens.ts +108 -4
- package/corpus/templates/design/actions/get-motion-timeline.ts +35 -7
- package/corpus/templates/design/actions/insert-asset.ts +34 -29
- package/corpus/templates/design/actions/insert-design-native-asset.ts +129 -32
- package/corpus/templates/design/actions/insert-figma-library-asset.ts +35 -30
- package/corpus/templates/design/actions/present-design-variants.ts +7 -2
- package/corpus/templates/design/actions/remove-motion-timeline.ts +31 -36
- package/corpus/templates/design/actions/update-file.ts +190 -75
- package/corpus/templates/design/app/components/design/BreakpointBar.tsx +403 -0
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +469 -222
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +708 -53
- package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +83 -3
- package/corpus/templates/design/app/components/design/EditPanel.tsx +1091 -6948
- package/corpus/templates/design/app/components/design/LayersPanel.tsx +419 -85
- package/corpus/templates/design/app/components/design/MotionDock.tsx +1124 -103
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +2610 -1398
- package/corpus/templates/design/app/components/design/ReadOnlyDesignBanner.tsx +22 -0
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +2182 -235
- package/corpus/templates/design/app/components/design/bridge/motion-preview.bridge.ts +187 -11
- package/corpus/templates/design/app/components/design/bridge/shader-fill-preview.bridge.ts +376 -1
- package/corpus/templates/design/app/components/design/bridge/shader-runtime.bridge.ts +746 -0
- package/corpus/templates/design/app/components/design/canvas-primitive-style.ts +17 -0
- package/corpus/templates/design/app/components/design/code-workbench/SideBar.tsx +1 -1
- package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +1 -3
- package/corpus/templates/design/app/components/design/code-workbench/quickinput/QuickInput.tsx +1 -1
- package/corpus/templates/design/app/components/design/edit-panel/appearance-properties.tsx +518 -0
- package/corpus/templates/design/app/components/design/edit-panel/code-inspect-helpers.tsx +562 -0
- package/corpus/templates/design/app/components/design/edit-panel/component-section.tsx +763 -0
- package/corpus/templates/design/app/components/design/edit-panel/document-colors.ts +94 -0
- package/corpus/templates/design/app/components/design/edit-panel/effects-properties.tsx +780 -0
- package/corpus/templates/design/app/components/design/edit-panel/element-classification.ts +446 -0
- package/corpus/templates/design/app/components/design/edit-panel/element-identity.ts +79 -0
- package/corpus/templates/design/app/components/design/edit-panel/field-primitives.tsx +315 -0
- package/corpus/templates/design/app/components/design/edit-panel/fill-gradient-helpers.ts +344 -0
- package/corpus/templates/design/app/components/design/edit-panel/fill-properties.tsx +594 -0
- package/corpus/templates/design/app/components/design/edit-panel/frame-presets-panel.tsx +119 -0
- package/corpus/templates/design/app/components/design/edit-panel/inspector-controls.tsx +248 -0
- package/corpus/templates/design/app/components/design/edit-panel/interaction-state-helpers.ts +45 -0
- package/corpus/templates/design/app/components/design/edit-panel/layout-properties.tsx +693 -0
- package/corpus/templates/design/app/components/design/edit-panel/panel-primitives.tsx +724 -0
- package/corpus/templates/design/app/components/design/edit-panel/position-helpers.ts +207 -0
- package/corpus/templates/design/app/components/design/edit-panel/position-layout-properties.tsx +628 -0
- package/corpus/templates/design/app/components/design/edit-panel/selection-helpers.ts +91 -0
- package/corpus/templates/design/app/components/design/edit-panel/stroke-properties.tsx +649 -0
- package/corpus/templates/design/app/components/design/edit-panel/style-change-types.ts +118 -0
- package/corpus/templates/design/app/components/design/edit-panel/style-options.ts +88 -0
- package/corpus/templates/design/app/components/design/edit-panel/transform-helpers.ts +100 -0
- package/corpus/templates/design/app/components/design/edit-panel/typography-helpers.ts +117 -0
- package/corpus/templates/design/app/components/design/edit-panel/typography-properties.tsx +501 -0
- package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +91 -40
- package/corpus/templates/design/app/components/design/inspector/BreakpointOverrideIndicator.tsx +82 -0
- package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +189 -87
- package/corpus/templates/design/app/components/design/inspector/GlslShaderPanel.tsx +1097 -0
- package/corpus/templates/design/app/components/design/inspector/GradientEditor.tsx +44 -0
- package/corpus/templates/design/app/components/design/inspector/InteractionStatePanel.tsx +258 -0
- package/corpus/templates/design/app/components/design/inspector/MotionKeyframeDiamond.tsx +144 -0
- package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +99 -9
- package/corpus/templates/design/app/components/design/inspector/frame-size-presets.ts +116 -0
- package/corpus/templates/design/app/components/design/inspector/index.ts +26 -0
- package/corpus/templates/design/app/components/design/inspector/scrub-input-utils.ts +29 -0
- package/corpus/templates/design/app/components/design/multi-screen/alt-hover-measurement.ts +171 -0
- package/corpus/templates/design/app/components/design/multi-screen/board-surface-html.ts +220 -0
- package/corpus/templates/design/app/components/design/multi-screen/chrome-transitions.ts +35 -0
- package/corpus/templates/design/app/components/design/multi-screen/cross-screen-drop.ts +134 -0
- package/corpus/templates/design/app/components/design/multi-screen/culling.ts +185 -0
- package/corpus/templates/design/app/components/design/multi-screen/gradient-overlay-geometry.ts +120 -0
- package/corpus/templates/design/app/components/design/multi-screen/types.ts +892 -0
- package/corpus/templates/design/app/components/design/multi-screen/vector-edit-geometry.ts +21 -0
- package/corpus/templates/design/app/components/design/types.ts +15 -0
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +109 -5
- package/corpus/templates/design/app/global.css +8 -8
- package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +259 -2
- package/corpus/templates/design/app/i18n/zh-TW.ts +163 -9
- package/corpus/templates/design/app/i18n-breakpoints.ts +205 -0
- package/corpus/templates/design/app/i18n-data.ts +1664 -152
- package/corpus/templates/design/app/i18n-motion.ts +563 -0
- package/corpus/templates/design/app/lib/design-import.ts +73 -0
- package/corpus/templates/design/app/pages/Index.tsx +41 -22
- package/corpus/templates/design/changelog/2026-06-29-design-inspector-controls-now-match-figmas-softer-dark-chrome.md +1 -1
- package/corpus/templates/design/changelog/2026-06-30-design-now-has-a-figma-style-left-rail-for-file-agent-assets.md +1 -1
- package/corpus/templates/design/changelog/2026-06-30-design-tools-now-use-a-quieter-figma-style-list-layout.md +1 -1
- package/corpus/templates/design/changelog/2026-06-30-multi-select-outlines-now-stay-consistent-across-all-screens.md +1 -1
- package/corpus/templates/design/changelog/2026-07-03-canvas-interactions-now-match-figma-rotation-aware-resizing-.md +1 -1
- package/corpus/templates/design/changelog/2026-07-03-layers-panel-matches-figma-top-layer-on-top-drag-with-auto-s.md +1 -1
- package/corpus/templates/design/changelog/2026-07-05-designs-get-ai-generated-names-from-your-prompt.md +6 -0
- package/corpus/templates/design/changelog/2026-07-05-local-code-screens-keep-their-connection-when-duplicated-and.md +6 -0
- package/corpus/templates/design/changelog/2026-07-05-press-a-to-draw-screens-on-the-canvas-inside-a-screen-it-dr.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-3d-rotation-and-perspective-controls-on-every-element.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-ai-generated-and-duplicated-screens-now-get-their-editor-sel.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-applying-shaders-and-fills-in-quick-succession-can-no-longer.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-breakpoint-frames-in-the-overview-now-support-click-to-selec.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-breakpoint-segments-in-the-inspector-now-show-a-device-icon-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-breakpoint-targeting-now-lives-in-one-compact-control-in-the.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-canvas-edits-can-no-longer-be-overwritten-by-stale-collabora.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-canvas-edits-inside-screens-save-reliably-again.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-cleaner-inspector-removed-the-ask-ai-box-from-the-design-tab.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-clicking-empty-canvas-space-now-deselects-an-element-inside-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-dragging-an-element-onto-a-rectangle-now-nests-it-inside-wit.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-dragging-screens-and-objects-on-the-canvas-is-now-much-smoot.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-drawing-a-shape-or-text-on-the-canvas-no-longer-flashes-away.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-dropping-an-element-between-two-others-inside-a-screen-now-s.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-duplicating-a-screen-now-places-the-copy-exactly-where-you-d.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-edit-gradients-directly-on-elements-inside-screens-scale-str.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-edits-from-collaborators-and-the-agent-now-update-the-canvas.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-fixed-a-bug-where-most-style-position-and-text-edits-briefly.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-fixed-a-confusing-raw-error-message-when-a-file-upload-fails.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-fixed-a-rare-case-where-an-edit-could-be-silently-overwritte.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-fixed-inserted-assets-sometimes-disappearing-reappearing-or-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-fixed-inspector-value-scrubbing-producing-erratic-numbers-an.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-fixed-padding-gap-and-min-max-size-scrubbing-not-updating-th.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-fixed-text-stroke-color-turning-black-and-glyphs-disappearin.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-fixed-the-collapsed-effects-and-stroke-inspector-sections-sh.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-fixed-the-new-design-dialog-closing-unexpectedly-when-using-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-fixed-the-typography-section-missing-when-selecting-text-nes.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-full-view-no-longer-flashes-back-to-the-overview-on-entry-no.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-keyframe-animation-timeline-per-property-keyframes-easing-cu.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-moving-restyling-and-scrubbing-values-on-elements-in-ai-gene.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-padding-and-corner-radius-value-scrubbing-now-snaps-to-whole.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-padding-handles-now-only-resize-on-the-handle-line-itself-sh.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-preview-and-edit-hover-focus-and-pressed-states-with-real-cs.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-promoting-an-element-to-a-component-now-works-correctly-for-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-reduced-url-history-churn-and-selection-overlay-flicker-whil.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-removed-the-decorative-dot-before-screen-names-in-the-overvi.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-responsive-breakpoints-edit-at-any-width-with-cascading-over.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-screen-labels-no-longer-turn-blue-when-you-hover-inside-the-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-scrolling-a-screen-with-an-element-selected-stays-smooth-on-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-selecting-multiple-elements-and-dragging-now-moves-the-whole.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-selection-borders-handles-and-value-readouts-now-stay-the-sa.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-selection-handles-and-editing-chrome-now-stay-a-constant-siz.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-shader-fills-and-effects-ai-authored-or-preset-glsl-shaders-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-text-drawn-on-the-canvas-now-defaults-to-white-and-inter-in-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-text-dropped-into-a-shape-now-stays-readable-instead-of-disa.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-the-add-tweak-controls-prompt-no-longer-jumps-to-the-corner-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-the-padding-value-readout-now-stays-visible-while-you-hover-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-the-selected-element-attachment-now-clears-from-the-chat-com.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-the-zoom-menu-is-more-compact-with-tight-rows-and-right-alig.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-undo-and-redo-no-longer-flash-the-screen-changes-now-apply-i.md +6 -0
- package/corpus/templates/design/changelog/2026-07-06-zoom-presets-like-zoom-to-50-now-stay-on-the-focused-screen-.md +6 -0
- package/corpus/templates/design/server/lib/import-design-files.ts +11 -2
- package/corpus/templates/design/server/source-workspace.ts +139 -59
- package/corpus/templates/design/shared/board-file.ts +11 -2
- package/corpus/templates/design/shared/breakpoint-media.ts +543 -0
- package/corpus/templates/design/shared/canvas-math.ts +354 -35
- package/corpus/templates/design/shared/code-layer.ts +277 -8
- package/corpus/templates/design/shared/design-state.ts +11 -4
- package/corpus/templates/design/shared/interaction-states.ts +548 -0
- package/corpus/templates/design/shared/motion-compiler.ts +186 -23
- package/corpus/templates/design/shared/motion-easing.ts +294 -0
- package/corpus/templates/design/shared/motion-timeline.ts +400 -34
- package/corpus/templates/design/shared/prompt-title.ts +95 -0
- package/corpus/templates/design/shared/responsive-classes.ts +448 -10
- package/corpus/templates/design/shared/screen-annotation.ts +46 -0
- package/corpus/templates/design/shared/shader-fills.ts +1009 -0
- package/corpus/templates/design/shared/shader-presets.ts +852 -4
- package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +15 -2
- package/corpus/templates/slides/app/components/editor/ImportButton.tsx +10 -1
- package/corpus/templates/slides/app/lib/upload-response.ts +71 -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/AgentPanel.js +1 -1
- package/dist/client/AgentPanel.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/rich-markdown-editor/useCollabReconcile.d.ts.map +1 -1
- package/dist/client/rich-markdown-editor/useCollabReconcile.js +11 -6
- package/dist/client/rich-markdown-editor/useCollabReconcile.js.map +1 -1
- 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/client/use-action.d.ts +3 -0
- package/dist/client/use-action.d.ts.map +1 -1
- package/dist/client/use-action.js +34 -3
- package/dist/client/use-action.js.map +1 -1
- package/dist/client/use-db-sync.d.ts +4 -0
- package/dist/client/use-db-sync.d.ts.map +1 -1
- package/dist/client/use-db-sync.js +37 -18
- package/dist/client/use-db-sync.js.map +1 -1
- package/dist/collab/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/db/create-get-db.d.ts +25 -0
- package/dist/db/create-get-db.d.ts.map +1 -1
- package/dist/db/create-get-db.js +25 -2
- package/dist/db/create-get-db.js.map +1 -1
- 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/observability/routes.d.ts +3 -3
- 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/secrets/routes.d.ts +9 -9
- 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/server/framework-request-handler.d.ts.map +1 -1
- package/dist/server/framework-request-handler.js +37 -1
- package/dist/server/framework-request-handler.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
- package/corpus/templates/design/app/components/design/inspector/InspectorAiActions.tsx +0 -153
- package/corpus/templates/design/app/hooks/useAgentEditRequest.ts +0 -133
- package/corpus/templates/design/app/pages/DesignEditor.tsx +0 -22924
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Settings Kit"
|
|
3
|
+
description: "A standard settings-page contract for app, agent, provider, team, and language settings."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Settings Kit
|
|
7
|
+
|
|
8
|
+
The Settings Kit gives every app one predictable settings surface. Users should
|
|
9
|
+
not have to wonder whether model keys live in an app settings page, a giant
|
|
10
|
+
agent sidebar panel, or a provider-specific setup card. The app route owns the
|
|
11
|
+
page; framework tabs can be mounted inside it.
|
|
12
|
+
|
|
13
|
+
<WireframeBlock id="doc-block-toolkit-settings">
|
|
14
|
+
<Screen
|
|
15
|
+
surface="desktop"
|
|
16
|
+
html={
|
|
17
|
+
"<div style='min-height:540px;box-sizing:border-box;padding:28px;display:grid;grid-template-columns:220px 1fr;gap:18px'><aside class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>Settings</strong><div class='wf-pill'>General</div><div class='wf-pill'>AI and models</div><div class='wf-pill'>Connections</div><div class='wf-pill'>Team</div><div class='wf-pill'>Developer</div></aside><main class='wf-card' style='display:flex;flex-direction:column;gap:14px'><h2 style='margin:0'>AI and models</h2><div class='wf-box'>Default model: GPT-5</div><div class='wf-box'>LLM keys: OpenAI configured, Anthropic missing</div><div class='wf-box'>Provider readiness: Builder connected</div><div style='display:flex;gap:10px'><button>Open agent settings</button><button class='primary'>Save changes</button></div></main></div>"
|
|
18
|
+
}
|
|
19
|
+
/>
|
|
20
|
+
</WireframeBlock>
|
|
21
|
+
|
|
22
|
+
## Pieces {#pieces}
|
|
23
|
+
|
|
24
|
+
| Piece | Purpose |
|
|
25
|
+
| ------------------------ | ------------------------------------------------------------------------------------- |
|
|
26
|
+
| `<SettingsTabsPage>` | Standard tabbed settings route surface. |
|
|
27
|
+
| `useAgentSettingsTabs()` | Framework-provided agent, model, key, automation, and voice tabs that apps can mount. |
|
|
28
|
+
| `<LanguagePicker>` | Standard language selector for app settings. |
|
|
29
|
+
| `openAgentSettings()` | Compatibility escape hatch for opening the sidebar settings tab when needed. |
|
|
30
|
+
| Hash deep links | Stable links such as `/settings#secrets:OPENAI_API_KEY` and `/settings#connections`. |
|
|
31
|
+
|
|
32
|
+
## Page Contract {#page-contract}
|
|
33
|
+
|
|
34
|
+
Every app should expose `/settings`. App-specific tabs can sit beside framework
|
|
35
|
+
tabs; framework tabs should not be hidden in a second settings universe.
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
import {
|
|
39
|
+
LanguagePicker,
|
|
40
|
+
SettingsTabsPage,
|
|
41
|
+
useAgentSettingsTabs,
|
|
42
|
+
} from "@agent-native/core/client";
|
|
43
|
+
|
|
44
|
+
export default function SettingsRoute() {
|
|
45
|
+
const agentSettingsTabs = useAgentSettingsTabs();
|
|
46
|
+
return (
|
|
47
|
+
<SettingsTabsPage
|
|
48
|
+
extraTabs={agentSettingsTabs}
|
|
49
|
+
general={<LanguagePicker label="Interface language" />}
|
|
50
|
+
/>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## UX Standard {#ux-standard}
|
|
56
|
+
|
|
57
|
+
- Keep model keys, OAuth connections, Builder connect, language, team, and app
|
|
58
|
+
preferences in one route.
|
|
59
|
+
- Link to tabs by hash so setup prompts can send users to the exact missing
|
|
60
|
+
credential.
|
|
61
|
+
- Use the agent sidebar settings only as a compact access point, not as the
|
|
62
|
+
primary home for every setting.
|
|
63
|
+
|
|
64
|
+
Related docs: [Internationalization](/docs/internationalization),
|
|
65
|
+
[Onboarding](/docs/onboarding), [Workspace Connections](/docs/workspace-connections).
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Setup & Connections Kit"
|
|
3
|
+
description: "Onboarding, secrets, workspace connections, OAuth/provider readiness, and Builder connect."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Setup & Connections Kit
|
|
7
|
+
|
|
8
|
+
The Setup & Connections Kit turns missing credentials into a guided product
|
|
9
|
+
flow. It covers onboarding steps, encrypted secrets, workspace-scoped
|
|
10
|
+
connections, OAuth/provider readiness, and Builder connect so apps can explain
|
|
11
|
+
what is missing and link users to the exact fix.
|
|
12
|
+
|
|
13
|
+
<WireframeBlock id="doc-block-toolkit-setup-connections">
|
|
14
|
+
<Screen
|
|
15
|
+
surface="desktop"
|
|
16
|
+
html={
|
|
17
|
+
"<div style='min-height:540px;box-sizing:border-box;padding:28px;display:grid;grid-template-columns:1fr 330px;gap:18px'><main class='wf-card' style='display:flex;flex-direction:column;gap:14px'><h2 style='margin:0'>Setup checklist</h2><div class='wf-box'>1. Connect Builder - complete</div><div class='wf-box'>2. Add OpenAI key - needs attention</div><div class='wf-box'>3. Connect Slack workspace - optional</div><div class='wf-box'>4. Enable GitHub OAuth - ready</div></main><aside class='wf-card' style='display:flex;flex-direction:column;gap:12px'><strong>Provider readiness</strong><div class='wf-box'>Builder: connected</div><div class='wf-box'>LLM: missing key</div><div class='wf-box'>GitHub: OAuth ready</div><button class='primary'>Open Settings</button></aside></div>"
|
|
18
|
+
}
|
|
19
|
+
/>
|
|
20
|
+
</WireframeBlock>
|
|
21
|
+
|
|
22
|
+
## Pieces {#pieces}
|
|
23
|
+
|
|
24
|
+
| Piece | Purpose |
|
|
25
|
+
| --------------------- | ----------------------------------------------------------------------- |
|
|
26
|
+
| Onboarding registry | Declares setup steps and completion checks. |
|
|
27
|
+
| Secrets UI | Writes encrypted user, org, or workspace secrets. |
|
|
28
|
+
| Workspace connections | Shared provider connections with scoped grants. |
|
|
29
|
+
| OAuth flows | Provider authorization, callback handling, and token storage. |
|
|
30
|
+
| Provider readiness | App-visible status for missing keys, expired auth, or incomplete setup. |
|
|
31
|
+
| Builder connect | First-party Builder identity and managed gateway setup. |
|
|
32
|
+
|
|
33
|
+
## API {#api}
|
|
34
|
+
|
|
35
|
+
Use the integrated core kit for the server-side registry/store and the client
|
|
36
|
+
page/components for the standard settings surface.
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
import {
|
|
40
|
+
ProviderReadinessBadge,
|
|
41
|
+
SetupConnectionsPage,
|
|
42
|
+
} from "@agent-native/core/client/setup-connections";
|
|
43
|
+
|
|
44
|
+
export function SettingsConnectionsTab() {
|
|
45
|
+
return (
|
|
46
|
+
<SetupConnectionsPage
|
|
47
|
+
providerReadiness={
|
|
48
|
+
<div className="flex items-center gap-2">
|
|
49
|
+
<span>GitHub</span>
|
|
50
|
+
<ProviderReadinessBadge status="ready" />
|
|
51
|
+
</div>
|
|
52
|
+
}
|
|
53
|
+
/>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Register setup steps close to the feature that needs them. Link users to the
|
|
59
|
+
standard settings tab instead of building bespoke credential forms.
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
import { registerOnboardingStep } from "@agent-native/core/onboarding";
|
|
63
|
+
|
|
64
|
+
registerOnboardingStep({
|
|
65
|
+
id: "openai-key",
|
|
66
|
+
title: "Add an OpenAI key",
|
|
67
|
+
description: "Store an OpenAI key so the agent can use OpenAI models.",
|
|
68
|
+
order: 10,
|
|
69
|
+
required: true,
|
|
70
|
+
methods: [
|
|
71
|
+
{
|
|
72
|
+
id: "settings",
|
|
73
|
+
kind: "link",
|
|
74
|
+
label: "Open settings",
|
|
75
|
+
primary: true,
|
|
76
|
+
payload: { url: "/settings#secrets" },
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
isComplete: async () => hasOpenAIKey(),
|
|
80
|
+
});
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Workspace/provider setup can use the kit helper:
|
|
84
|
+
|
|
85
|
+
```ts
|
|
86
|
+
import { registerWorkspaceConnectionOnboardingStep } from "@agent-native/core/setup-connections";
|
|
87
|
+
|
|
88
|
+
registerWorkspaceConnectionOnboardingStep({
|
|
89
|
+
providerId: "github",
|
|
90
|
+
providerLabel: "GitHub",
|
|
91
|
+
required: true,
|
|
92
|
+
isComplete: async () => hasGitHubWorkspaceConnection(),
|
|
93
|
+
});
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
For app settings, compose `SettingsTabsPage` with `SetupConnectionsPage` and the
|
|
97
|
+
standard Settings Kit tabs so keys, connections, Builder connect, and team
|
|
98
|
+
settings live in one predictable place.
|
|
99
|
+
|
|
100
|
+
## UX Standard {#ux-standard}
|
|
101
|
+
|
|
102
|
+
- Errors explain the missing connection and offer the direct settings link.
|
|
103
|
+
- Secrets are never stored in app tables or pasted into docs/examples.
|
|
104
|
+
- App setup pages and settings tabs use the same readiness source.
|
|
105
|
+
- Builder connect is offered as a first-class path, not buried as an env-var
|
|
106
|
+
fallback.
|
|
107
|
+
|
|
108
|
+
Related docs: [Onboarding](/docs/onboarding),
|
|
109
|
+
[Workspace Connections](/docs/workspace-connections), [Security](/docs/security).
|
|
@@ -5,8 +5,20 @@ description: "Reusable sharing display components with core-owned sharing runtim
|
|
|
5
5
|
|
|
6
6
|
# Toolkit Sharing UI
|
|
7
7
|
|
|
8
|
-
`@agent-native/toolkit/sharing` contains sharing UI
|
|
9
|
-
|
|
8
|
+
`@agent-native/toolkit/sharing` contains presentational sharing UI for badges,
|
|
9
|
+
share rows, role pickers, and base dialogs. It does not perform access checks or
|
|
10
|
+
mutations; core and app wrappers inject data and callbacks.
|
|
11
|
+
|
|
12
|
+
<WireframeBlock id="doc-block-toolkit-sharing-ui">
|
|
13
|
+
<Screen
|
|
14
|
+
surface="desktop"
|
|
15
|
+
html={
|
|
16
|
+
"<div style='min-height:480px;box-sizing:border-box;padding:28px;display:grid;grid-template-columns:1fr 300px;gap:16px'><main class='wf-card' style='display:flex;flex-direction:column;gap:12px'><div style='display:flex;align-items:center;gap:10px'><h2 style='margin:0'>Resource header</h2><span class='wf-pill'>Org visible</span><div style='flex:1'></div><button>Share</button></div><div class='wf-box' style='height:120px'>Share list row</div><div class='wf-box' style='height:180px'>Shared resource preview</div></main><aside class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>Presentational pieces</strong><div class='wf-box'>VisibilityBadge</div><div class='wf-box'>Grant row</div><div class='wf-box'>Role selector</div><div class='wf-box'>Policy hint</div></aside></div>"
|
|
17
|
+
}
|
|
18
|
+
/>
|
|
19
|
+
</WireframeBlock>
|
|
20
|
+
|
|
21
|
+
The most common low-level import is:
|
|
10
22
|
|
|
11
23
|
```tsx
|
|
12
24
|
import { VisibilityBadge } from "@agent-native/toolkit/sharing";
|
|
@@ -14,7 +26,8 @@ import { VisibilityBadge } from "@agent-native/toolkit/sharing";
|
|
|
14
26
|
|
|
15
27
|
Core still owns the sharing runtime: share tables, resource registration, access
|
|
16
28
|
filters, visibility changes, invites, roles, and private access tokens for
|
|
17
|
-
agent-readable public surfaces.
|
|
29
|
+
agent-readable public surfaces. See the [Sharing Kit](/docs/toolkit-sharing) for
|
|
30
|
+
the full behaviorful contract.
|
|
18
31
|
|
|
19
32
|
Use core wrappers when a component needs to call sharing actions:
|
|
20
33
|
|
|
@@ -22,9 +35,8 @@ Use core wrappers when a component needs to call sharing actions:
|
|
|
22
35
|
import { ShareButton, ShareDialog } from "@agent-native/core/client";
|
|
23
36
|
```
|
|
24
37
|
|
|
25
|
-
Those imports remain compatible.
|
|
26
|
-
|
|
27
|
-
and callbacks into Toolkit-owned UI.
|
|
38
|
+
Those imports remain compatible. Core wrappers keep doing the runtime work and
|
|
39
|
+
pass data and callbacks into Toolkit-owned UI.
|
|
28
40
|
|
|
29
41
|
## Boundary {#boundary}
|
|
30
42
|
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Sharing Kit"
|
|
3
|
+
description: "Ownable resources, share dialogs, visibility badges, and standard share actions for agent-native apps."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Sharing Kit
|
|
7
|
+
|
|
8
|
+
The Sharing Kit makes user-authored resources private by default, then gives
|
|
9
|
+
users and agents the same controlled ways to share them: specific people, the
|
|
10
|
+
active organization, public links when allowed, and agent-readable resource
|
|
11
|
+
links.
|
|
12
|
+
|
|
13
|
+
<WireframeBlock id="doc-block-toolkit-sharing">
|
|
14
|
+
<Screen
|
|
15
|
+
surface="desktop"
|
|
16
|
+
html={
|
|
17
|
+
"<div style='min-height:540px;box-sizing:border-box;padding:28px;display:grid;grid-template-columns:1fr 320px;gap:18px'><main class='wf-card' style='display:flex;flex-direction:column;gap:14px'><div style='display:flex;align-items:center;gap:10px'><h2 style='margin:0'>Q3 Forecast</h2><span class='wf-pill'>Org visible</span><div style='flex:1'></div><button>Share</button></div><div class='wf-box' style='height:92px'>Dashboard preview</div><div class='wf-box' style='height:260px'>Resource content</div></main><aside class='wf-card' style='display:flex;flex-direction:column;gap:12px'><strong>Share resource</strong><div class='wf-box'>Visibility: Organization</div><div class='wf-box'>Invite teammate@example.com</div><div class='wf-box'>Role: Editor</div><button class='primary'>Send invite</button><div class='wf-box'>Public link disabled by policy</div></aside></div>"
|
|
18
|
+
}
|
|
19
|
+
/>
|
|
20
|
+
</WireframeBlock>
|
|
21
|
+
|
|
22
|
+
## Pieces {#pieces}
|
|
23
|
+
|
|
24
|
+
| Piece | Purpose |
|
|
25
|
+
| --------------------------------- | -------------------------------------------------------------------------------------- |
|
|
26
|
+
| `ownableColumns()` | Adds owner, organization, visibility, and timestamps to the resource table. |
|
|
27
|
+
| `createSharesTable()` | Creates the per-resource grants table. |
|
|
28
|
+
| `registerShareableResource()` | Registers the resource type so framework share actions know how to read and mutate it. |
|
|
29
|
+
| `<ShareButton>` / `<ShareDialog>` | Renders the standard share control and calls the share actions. |
|
|
30
|
+
| `<VisibilityBadge>` | Shows private, shared, org, or public state in lists and headers. |
|
|
31
|
+
| `share-resource` | Grants a user or organization role. |
|
|
32
|
+
| `unshare-resource` | Removes a grant. |
|
|
33
|
+
| `list-resource-shares` | Reads current visibility, grants, and policy. |
|
|
34
|
+
| `set-resource-visibility` | Changes private, org, or public visibility when policy allows it. |
|
|
35
|
+
|
|
36
|
+
## API {#api}
|
|
37
|
+
|
|
38
|
+
Make every shareable table ownable, register it at server startup, and guard
|
|
39
|
+
reads and writes with the same access helpers the UI and agent actions use.
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
import { ownableColumns, createSharesTable } from "@agent-native/core/sharing";
|
|
43
|
+
import { registerShareableResource } from "@agent-native/core/sharing";
|
|
44
|
+
|
|
45
|
+
export const dashboards = table("dashboards", {
|
|
46
|
+
id: text("id").primaryKey(),
|
|
47
|
+
title: text("title").notNull(),
|
|
48
|
+
...ownableColumns(),
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export const dashboardShares = createSharesTable(
|
|
52
|
+
"dashboard_shares",
|
|
53
|
+
dashboards,
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
registerShareableResource({
|
|
57
|
+
type: "dashboard",
|
|
58
|
+
displayName: "Dashboard",
|
|
59
|
+
table: dashboards,
|
|
60
|
+
sharesTable: dashboardShares,
|
|
61
|
+
});
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Render the standard controls where users decide access:
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
import { ShareButton, VisibilityBadge } from "@agent-native/core/client";
|
|
68
|
+
|
|
69
|
+
<VisibilityBadge visibility={dashboard.visibility} />
|
|
70
|
+
<ShareButton resourceType="dashboard" resourceId={dashboard.id} />
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## UX Standard {#ux-standard}
|
|
74
|
+
|
|
75
|
+
- Every resource header should show a visibility badge and a share button.
|
|
76
|
+
- Lists should make private vs shared state scannable.
|
|
77
|
+
- Public access must be an explicit policy choice, not an accidental URL leak.
|
|
78
|
+
- Agents use the same share actions as the UI and cannot bypass resource policy.
|
|
79
|
+
|
|
80
|
+
Related docs: [Sharing & Privacy](/docs/sharing), [Security](/docs/security),
|
|
81
|
+
[Audit Log](/docs/audit-log).
|
|
@@ -7,6 +7,15 @@ description: "Shared shell helpers and hooks that templates can compose through
|
|
|
7
7
|
|
|
8
8
|
Toolkit includes small shell helpers and hooks that are useful across apps:
|
|
9
9
|
|
|
10
|
+
<WireframeBlock id="doc-block-toolkit-shell-hooks">
|
|
11
|
+
<Screen
|
|
12
|
+
surface="desktop"
|
|
13
|
+
html={
|
|
14
|
+
"<div style='min-height:480px;box-sizing:border-box;padding:28px;display:grid;grid-template-columns:230px 1fr;gap:16px'><aside class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>Shell</strong><div class='wf-pill'>Header actions</div><div class='wf-pill'>Mobile state</div><div class='wf-pill'>Toasts</div></aside><main class='wf-card' style='display:flex;flex-direction:column;gap:14px'><div style='display:flex;align-items:center;gap:10px'><h2 style='margin:0'>Page title</h2><div style='flex:1'></div><button>Export</button><button class='primary'>Create</button></div><div class='wf-box' style='height:250px'>App content using shared shell hooks</div><div class='wf-box'>Toast: Saved changes</div></main></div>"
|
|
15
|
+
}
|
|
16
|
+
/>
|
|
17
|
+
</WireframeBlock>
|
|
18
|
+
|
|
10
19
|
```tsx
|
|
11
20
|
import { useSetHeaderActions } from "@agent-native/toolkit/app-shell";
|
|
12
21
|
import { useIsMobile } from "@agent-native/toolkit/hooks/use-mobile";
|
|
@@ -8,6 +8,15 @@ description: "How to use @agent-native/toolkit UI primitives without locking app
|
|
|
8
8
|
Toolkit UI primitives live under `@agent-native/toolkit/ui/*`. They are the
|
|
9
9
|
shared shadcn-style building blocks used by templates and reusable kits.
|
|
10
10
|
|
|
11
|
+
<WireframeBlock id="doc-block-toolkit-ui-primitives">
|
|
12
|
+
<Screen
|
|
13
|
+
surface="desktop"
|
|
14
|
+
html={
|
|
15
|
+
"<div style='min-height:480px;box-sizing:border-box;padding:28px;display:grid;grid-template-columns:220px 1fr;gap:16px'><aside class='wf-card' style='display:flex;flex-direction:column;gap:10px'><strong>Primitives</strong><div class='wf-pill'>Button</div><div class='wf-pill'>Dialog</div><div class='wf-pill'>Popover</div><div class='wf-pill'>Tooltip</div></aside><main class='wf-card' style='display:flex;flex-direction:column;gap:14px'><h2 style='margin:0'>Reusable kit surface</h2><div style='display:flex;gap:10px'><button>Cancel</button><button class='primary'>Save</button></div><div class='wf-box' style='height:96px'>Dialog content</div><div class='wf-box' style='height:150px'>Popover or menu content</div></main></div>"
|
|
16
|
+
}
|
|
17
|
+
/>
|
|
18
|
+
</WireframeBlock>
|
|
19
|
+
|
|
11
20
|
Reusable package code can import them directly:
|
|
12
21
|
|
|
13
22
|
```tsx
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/core",
|
|
3
|
-
"version": "0.90.
|
|
3
|
+
"version": "0.90.3",
|
|
4
4
|
"description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/agent-native#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -87,6 +87,7 @@
|
|
|
87
87
|
"./client/route-state": "./dist/client/route-state.js",
|
|
88
88
|
"./client/observability": "./dist/client/observability/index.js",
|
|
89
89
|
"./client/onboarding": "./dist/client/onboarding/index.js",
|
|
90
|
+
"./client/setup-connections": "./dist/client/setup-connections/index.js",
|
|
90
91
|
"./client/i18n": "./dist/client/i18n.js",
|
|
91
92
|
"./client/settings/useBuilderStatus": "./dist/client/settings/useBuilderStatus.js",
|
|
92
93
|
"./embedding": "./dist/embedding/index.js",
|
|
@@ -124,9 +125,39 @@
|
|
|
124
125
|
"./secrets": "./dist/secrets/index.js",
|
|
125
126
|
"./secrets/crypto": "./dist/secrets/crypto.js",
|
|
126
127
|
"./org": "./dist/org/index.js",
|
|
128
|
+
"./org-team": "./dist/org-team/index.js",
|
|
127
129
|
"./client/org": "./dist/client/org/index.js",
|
|
130
|
+
"./client/org-team": "./dist/client/org-team/index.js",
|
|
131
|
+
"./navigation": "./dist/navigation/index.js",
|
|
132
|
+
"./command-navigation": "./dist/command-navigation/index.js",
|
|
133
|
+
"./client/command-navigation": "./dist/client/command-navigation/index.js",
|
|
134
|
+
"./setup-connections": "./dist/setup-connections/index.js",
|
|
128
135
|
"./client/db-admin": "./dist/client/db-admin/index.js",
|
|
129
136
|
"./audit": "./dist/audit/index.js",
|
|
137
|
+
"./history": "./dist/history/index.js",
|
|
138
|
+
"./history/actions/create-resource-version": "./dist/history/actions/create-resource-version.js",
|
|
139
|
+
"./history/actions/list-resource-versions": "./dist/history/actions/list-resource-versions.js",
|
|
140
|
+
"./history/actions/get-resource-version": "./dist/history/actions/get-resource-version.js",
|
|
141
|
+
"./history/actions/restore-resource-version": "./dist/history/actions/restore-resource-version.js",
|
|
142
|
+
"./history/actions/list-resource-history": "./dist/history/actions/list-resource-history.js",
|
|
143
|
+
"./review": "./dist/review/index.js",
|
|
144
|
+
"./comments-review": "./dist/comments-review/index.js",
|
|
145
|
+
"./review/actions/list-review-comments": "./dist/review/actions/list-review-comments.js",
|
|
146
|
+
"./review/actions/create-review-comment": "./dist/review/actions/create-review-comment.js",
|
|
147
|
+
"./review/actions/reply-review-comment": "./dist/review/actions/reply-review-comment.js",
|
|
148
|
+
"./review/actions/resolve-review-thread": "./dist/review/actions/resolve-review-thread.js",
|
|
149
|
+
"./review/actions/delete-review-comment": "./dist/review/actions/delete-review-comment.js",
|
|
150
|
+
"./review/actions/consume-review-feedback": "./dist/review/actions/consume-review-feedback.js",
|
|
151
|
+
"./review/actions/get-review-feedback": "./dist/review/actions/get-review-feedback.js",
|
|
152
|
+
"./review/actions/set-review-status": "./dist/review/actions/set-review-status.js",
|
|
153
|
+
"./comments-review/actions/list-review-comments": "./dist/review/actions/list-review-comments.js",
|
|
154
|
+
"./comments-review/actions/create-review-comment": "./dist/review/actions/create-review-comment.js",
|
|
155
|
+
"./comments-review/actions/reply-review-comment": "./dist/review/actions/reply-review-comment.js",
|
|
156
|
+
"./comments-review/actions/resolve-review-thread": "./dist/review/actions/resolve-review-thread.js",
|
|
157
|
+
"./comments-review/actions/delete-review-comment": "./dist/review/actions/delete-review-comment.js",
|
|
158
|
+
"./comments-review/actions/consume-review-feedback": "./dist/review/actions/consume-review-feedback.js",
|
|
159
|
+
"./comments-review/actions/get-review-feedback": "./dist/review/actions/get-review-feedback.js",
|
|
160
|
+
"./comments-review/actions/set-review-status": "./dist/review/actions/set-review-status.js",
|
|
130
161
|
"./sharing": "./dist/sharing/index.js",
|
|
131
162
|
"./sharing/actions/share-resource": "./dist/sharing/actions/share-resource.js",
|
|
132
163
|
"./sharing/actions/unshare-resource": "./dist/sharing/actions/unshare-resource.js",
|
|
@@ -134,6 +165,9 @@
|
|
|
134
165
|
"./sharing/actions/set-resource-visibility": "./dist/sharing/actions/set-resource-visibility.js",
|
|
135
166
|
"./sharing/actions/create-agent-resource-link": "./dist/sharing/actions/create-agent-resource-link.js",
|
|
136
167
|
"./client/sharing": "./dist/client/sharing/index.js",
|
|
168
|
+
"./client/history": "./dist/client/history/index.js",
|
|
169
|
+
"./client/review": "./dist/client/review/index.js",
|
|
170
|
+
"./client/comments-review": "./dist/client/comments-review/index.js",
|
|
137
171
|
"./client/extensions": "./dist/client/extensions/index.js",
|
|
138
172
|
"./client/tools": "./dist/client/extensions/index.js",
|
|
139
173
|
"./client/transcription/use-live-transcription": "./dist/client/transcription/use-live-transcription.js",
|
|
@@ -280,7 +314,7 @@
|
|
|
280
314
|
"y-protocols": "^1.0.7",
|
|
281
315
|
"yjs": "^13.6.31",
|
|
282
316
|
"zod": "^4.3.6",
|
|
283
|
-
"@agent-native/toolkit": "0.4.
|
|
317
|
+
"@agent-native/toolkit": "0.4.2"
|
|
284
318
|
},
|
|
285
319
|
"devDependencies": {
|
|
286
320
|
"@ai-sdk/anthropic": "^3.0.71",
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
import { useT } from "@agent-native/core/client";
|
|
2
|
-
import {
|
|
3
|
-
IconClipboard,
|
|
4
|
-
IconChevronDown,
|
|
5
|
-
IconMessageCircle,
|
|
6
|
-
} from "@tabler/icons-react";
|
|
7
|
-
import { useState } from "react";
|
|
8
|
-
|
|
9
|
-
import { Button } from "@/components/ui/button";
|
|
10
|
-
import {
|
|
11
|
-
Collapsible,
|
|
12
|
-
CollapsibleContent,
|
|
13
|
-
CollapsibleTrigger,
|
|
14
|
-
} from "@/components/ui/collapsible";
|
|
15
|
-
import { Textarea } from "@/components/ui/textarea";
|
|
16
|
-
import { useAgentEditRequest } from "@/hooks/useAgentEditRequest";
|
|
17
|
-
import { cn } from "@/lib/utils";
|
|
18
|
-
|
|
19
|
-
export interface InspectorAiActionsProps {
|
|
20
|
-
/** CSS selector for the currently-selected element, if any. */
|
|
21
|
-
selector?: string;
|
|
22
|
-
/** Source id (data-code-layer-id) of the selected element, if any. */
|
|
23
|
-
sourceId?: string;
|
|
24
|
-
/** Active file id. */
|
|
25
|
-
fileId?: string;
|
|
26
|
-
/** Active file name (e.g. "index.html"). */
|
|
27
|
-
filename?: string;
|
|
28
|
-
/** Localhost-backed source file, when the selected screen comes from a local app. */
|
|
29
|
-
routeSourceFile?: string;
|
|
30
|
-
/** The design id. */
|
|
31
|
-
designId?: string;
|
|
32
|
-
/** When false, the controls are disabled. */
|
|
33
|
-
canEdit: boolean;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Compact inspector block that lets the user type a freeform AI edit request
|
|
38
|
-
* and either route it to the agent chat sidebar ("Apply with AI") or copy the
|
|
39
|
-
* prompt to the clipboard ("Copy prompt").
|
|
40
|
-
*
|
|
41
|
-
* Collapsed by default to keep the inspector clean.
|
|
42
|
-
*/
|
|
43
|
-
export function InspectorAiActions({
|
|
44
|
-
selector,
|
|
45
|
-
sourceId,
|
|
46
|
-
fileId,
|
|
47
|
-
filename,
|
|
48
|
-
routeSourceFile,
|
|
49
|
-
designId,
|
|
50
|
-
canEdit,
|
|
51
|
-
}: InspectorAiActionsProps) {
|
|
52
|
-
const t = useT();
|
|
53
|
-
const { sendEdit, copyPrompt } = useAgentEditRequest();
|
|
54
|
-
const [open, setOpen] = useState(false);
|
|
55
|
-
const [request, setRequest] = useState("");
|
|
56
|
-
|
|
57
|
-
const args = {
|
|
58
|
-
message: request,
|
|
59
|
-
selector,
|
|
60
|
-
sourceId,
|
|
61
|
-
fileId,
|
|
62
|
-
filename,
|
|
63
|
-
routeSourceFile,
|
|
64
|
-
designId,
|
|
65
|
-
};
|
|
66
|
-
const copyDisabled = !request.trim();
|
|
67
|
-
const askDisabled = !canEdit || copyDisabled;
|
|
68
|
-
|
|
69
|
-
return (
|
|
70
|
-
<Collapsible open={open} onOpenChange={setOpen} className="w-full">
|
|
71
|
-
<CollapsibleTrigger asChild>
|
|
72
|
-
<button
|
|
73
|
-
type="button"
|
|
74
|
-
className={cn(
|
|
75
|
-
"flex w-full items-center justify-between gap-1 rounded px-2 py-1.5 text-xs font-medium text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",
|
|
76
|
-
)}
|
|
77
|
-
>
|
|
78
|
-
<span className="flex items-center gap-1.5">
|
|
79
|
-
<IconMessageCircle className="size-3.5 shrink-0" />
|
|
80
|
-
{t("designEditor.localSourceEdit.askAi")}
|
|
81
|
-
</span>
|
|
82
|
-
<IconChevronDown
|
|
83
|
-
className={cn(
|
|
84
|
-
"size-3.5 shrink-0 transition-transform duration-150",
|
|
85
|
-
open && "rotate-180",
|
|
86
|
-
)}
|
|
87
|
-
/>
|
|
88
|
-
</button>
|
|
89
|
-
</CollapsibleTrigger>
|
|
90
|
-
<CollapsibleContent className="overflow-hidden data-[state=closed]:animate-none">
|
|
91
|
-
<div className="flex flex-col gap-2 px-1 pb-2 pt-1">
|
|
92
|
-
<Textarea
|
|
93
|
-
value={request}
|
|
94
|
-
onChange={(e) => setRequest(e.target.value)}
|
|
95
|
-
placeholder={
|
|
96
|
-
selector
|
|
97
|
-
? t("designEditor.localSourceEdit.describeElementChange")
|
|
98
|
-
: t("designEditor.localSourceEdit.describeChange")
|
|
99
|
-
}
|
|
100
|
-
className="min-h-[64px] resize-none text-xs"
|
|
101
|
-
onKeyDown={(e) => {
|
|
102
|
-
if (
|
|
103
|
-
e.key === "Enter" &&
|
|
104
|
-
(e.metaKey || e.ctrlKey) &&
|
|
105
|
-
!askDisabled
|
|
106
|
-
) {
|
|
107
|
-
e.preventDefault();
|
|
108
|
-
void sendEdit(args);
|
|
109
|
-
setRequest("");
|
|
110
|
-
setOpen(false);
|
|
111
|
-
}
|
|
112
|
-
}}
|
|
113
|
-
/>
|
|
114
|
-
<div className="flex gap-1.5">
|
|
115
|
-
<Button
|
|
116
|
-
size="sm"
|
|
117
|
-
variant="default"
|
|
118
|
-
className="flex-1 gap-1.5 text-xs"
|
|
119
|
-
disabled={askDisabled}
|
|
120
|
-
onClick={() => {
|
|
121
|
-
void sendEdit(args);
|
|
122
|
-
setRequest("");
|
|
123
|
-
setOpen(false);
|
|
124
|
-
}}
|
|
125
|
-
>
|
|
126
|
-
<IconMessageCircle className="size-3.5 shrink-0" />
|
|
127
|
-
{t("designEditor.localSourceEdit.applyWithAi")}
|
|
128
|
-
</Button>
|
|
129
|
-
<Button
|
|
130
|
-
size="sm"
|
|
131
|
-
variant="outline"
|
|
132
|
-
className="gap-1.5 text-xs"
|
|
133
|
-
disabled={copyDisabled}
|
|
134
|
-
onClick={() => {
|
|
135
|
-
void copyPrompt(args);
|
|
136
|
-
}}
|
|
137
|
-
title={t("designEditor.localSourceEdit.copyPromptTooltip")}
|
|
138
|
-
>
|
|
139
|
-
<IconClipboard className="size-3.5 shrink-0" />
|
|
140
|
-
{t("designEditor.localSourceEdit.copyPrompt")}
|
|
141
|
-
</Button>
|
|
142
|
-
</div>
|
|
143
|
-
{selector && (
|
|
144
|
-
<p className="text-[10px] leading-tight text-muted-foreground truncate">
|
|
145
|
-
{t("designEditor.localSourceEdit.targeting")}{" "}
|
|
146
|
-
<code className="font-mono">{selector}</code>
|
|
147
|
-
</p>
|
|
148
|
-
)}
|
|
149
|
-
</div>
|
|
150
|
-
</CollapsibleContent>
|
|
151
|
-
</Collapsible>
|
|
152
|
-
);
|
|
153
|
-
}
|