@agent-native/core 0.80.7 → 0.80.9
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 +18 -0
- package/corpus/core/docs/content/locales/ar-SA/template-design.mdx +6 -0
- package/corpus/core/docs/content/locales/de-DE/template-design.mdx +8 -0
- package/corpus/core/docs/content/locales/es-ES/template-design.mdx +10 -2
- package/corpus/core/docs/content/locales/fr-FR/template-design.mdx +10 -2
- package/corpus/core/docs/content/locales/hi-IN/template-design.mdx +7 -0
- package/corpus/core/docs/content/locales/ja-JP/template-design.mdx +7 -0
- package/corpus/core/docs/content/locales/ko-KR/template-design.mdx +7 -0
- package/corpus/core/docs/content/locales/pt-BR/template-design.mdx +9 -2
- package/corpus/core/docs/content/locales/zh-CN/template-design.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-TW/template-design.mdx +6 -0
- package/corpus/core/docs/content/template-design.mdx +9 -2
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/cli/mcp.ts +10 -0
- package/corpus/core/src/cli/skills.ts +58 -12
- package/corpus/core/src/client/AssistantChat.tsx +70 -27
- package/corpus/core/src/client/analytics.ts +3 -1
- package/corpus/core/src/client/error-format.ts +25 -0
- package/corpus/core/src/client/extensions/ExtensionViewer.tsx +13 -11
- package/corpus/core/src/client/guided-questions.tsx +32 -4
- package/corpus/core/src/client/onboarding/OnboardingPanel.tsx +33 -1
- package/corpus/core/src/client/resources/BuiltinCapabilityDetail.tsx +8 -0
- package/corpus/core/src/client/resources/use-builtin-capabilities.ts +4 -2
- package/corpus/core/src/client/session-replay.ts +34 -0
- package/corpus/core/src/client/sharing/ShareButton.tsx +106 -21
- package/corpus/core/src/coding-tools/index.ts +1 -1
- package/corpus/core/src/mcp/index.ts +2 -0
- package/corpus/core/src/mcp/screen-memory-stdio.ts +290 -0
- package/corpus/core/src/mcp-client/builtin-capabilities.ts +13 -1
- package/corpus/core/src/mcp-client/index.ts +9 -0
- package/corpus/core/src/mcp-client/screen-memory-local.ts +461 -0
- package/corpus/core/src/onboarding/types.ts +7 -0
- package/corpus/core/src/server/agent-chat-plugin.ts +25 -0
- package/corpus/core/src/server/agents-bundle.ts +35 -7
- package/corpus/core/src/styles/agent-native.css +5 -0
- package/corpus/core/src/templates/default/app/global.css +35 -35
- package/corpus/templates/analytics/AGENTS.md +6 -0
- package/corpus/templates/analytics/actions/github-repo-files.ts +9 -0
- package/corpus/templates/analytics/app/components/layout/Layout.tsx +4 -4
- package/corpus/templates/analytics/app/global.css +144 -40
- package/corpus/templates/analytics/app/pages/adhoc/explorer/index.tsx +1 -1
- package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/ChartCard.tsx +1 -1
- package/corpus/templates/analytics/app/pages/adhoc/explorer-dashboard/index.tsx +1 -1
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +4 -4
- package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +9 -9
- package/corpus/templates/analytics/changelog/2026-06-29-agents-can-search-and-read-connected-github-repositories-whe.md +6 -0
- package/corpus/templates/analytics/changelog/2026-06-29-sessions-and-explorer-layouts-adapt-when-the-agent-sidebar-is.md +6 -0
- package/corpus/templates/assets/app/components/layout/Layout.tsx +3 -1
- package/corpus/templates/assets/app/components/library/LibraryPresetGrid.tsx +1 -1
- package/corpus/templates/assets/app/global.css +99 -35
- package/corpus/templates/assets/app/routes/asset.$id.tsx +2 -2
- package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +4 -4
- package/corpus/templates/assets/app/routes/library.tsx +4 -4
- package/corpus/templates/assets/changelog/2026-06-29-asset-library-and-detail-layouts-adapt-when-the-agent-sidebar.md +6 -0
- package/corpus/templates/brain/app/components/layout/Layout.tsx +1 -1
- package/corpus/templates/brain/app/global.css +63 -35
- package/corpus/templates/brain/app/routes/search.tsx +1 -1
- package/corpus/templates/brain/app/routes/settings.tsx +1 -1
- package/corpus/templates/brain/app/routes/sources.tsx +2 -2
- package/corpus/templates/brain/changelog/2026-06-29-search-settings-and-source-layouts-adapt-when-the-agent-sidebar.md +6 -0
- package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +4 -4
- package/corpus/templates/calendar/app/components/calendar/FindTimePanel.tsx +3 -2
- package/corpus/templates/calendar/app/components/layout/AppLayout.tsx +4 -2
- package/corpus/templates/calendar/app/global.css +69 -35
- package/corpus/templates/calendar/changelog/2026-06-29-event-and-find-time-layouts-adapt-when-the-agent-sidebar-is.md +6 -0
- package/corpus/templates/chat/app/components/layout/Layout.tsx +1 -1
- package/corpus/templates/chat/app/global.css +35 -35
- package/corpus/templates/chat/changelog/2026-06-29-chat-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
- package/corpus/templates/clips/AGENTS.md +13 -0
- package/corpus/templates/clips/actions/get-screen-memory-status.ts +12 -0
- package/corpus/templates/clips/actions/query-screen-memory-context.ts +29 -0
- package/corpus/templates/clips/actions/view-screen.ts +2 -2
- package/corpus/templates/clips/app/components/library/library-layout.tsx +1 -1
- package/corpus/templates/clips/app/global.css +47 -35
- package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +3 -3
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +45 -18
- package/corpus/templates/clips/changelog/2026-06-29-meeting-detail-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
- package/corpus/templates/clips/changelog/2026-06-29-screen-memory-keeps-a-local-rolling-screen-buffer-for-agent-context.md +5 -0
- package/corpus/templates/clips/changelog/2026-06-29-video-chat-is-easier-to-find-on-recording-pages-and-s3-setup.md +6 -0
- package/corpus/templates/clips/chrome-extension/src/styles.css +39 -39
- package/corpus/templates/clips/desktop/src/app.tsx +290 -1
- package/corpus/templates/clips/desktop/src/shared/config.ts +83 -0
- package/corpus/templates/clips/desktop/src/styles.css +67 -52
- package/corpus/templates/clips/desktop/src-tauri/src/config.rs +50 -0
- package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +17 -0
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +13 -13
- package/corpus/templates/clips/desktop/src-tauri/src/screen_memory.rs +990 -0
- package/corpus/templates/clips/server/plugins/onboarding.ts +2 -0
- package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +69 -16
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +3 -3
- package/corpus/templates/content/app/components/layout/Layout.tsx +1 -1
- package/corpus/templates/content/app/global.css +29 -15
- package/corpus/templates/content/changelog/2026-06-29-database-gallery-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
- package/corpus/templates/content/changelog/2026-06-29-read-only-pages-no-longer-try-to-autosave-or-open-editor-onl.md +6 -0
- package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +25 -20
- package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +8 -0
- package/corpus/templates/design/.agents/skills/export-handoff/SKILL.md +8 -0
- package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +13 -0
- package/corpus/templates/design/AGENTS.md +24 -14
- package/corpus/templates/design/CODE_NATIVE_DESIGN_STUDIO_IMPLEMENTATION_PLAN.md +1054 -0
- package/corpus/templates/design/actions/apply-visual-edit.ts +24 -4
- package/corpus/templates/design/actions/edit-design.ts +6 -3
- package/corpus/templates/design/actions/export-coding-handoff.ts +12 -4
- package/corpus/templates/design/actions/generate-design.ts +6 -21
- package/corpus/templates/design/actions/generate-screens.ts +48 -5
- package/corpus/templates/design/actions/get-design.ts +1 -0
- package/corpus/templates/design/actions/present-design-variants.ts +355 -30
- package/corpus/templates/design/actions/update-design.ts +47 -10
- package/corpus/templates/design/actions/update-file.ts +33 -8
- package/corpus/templates/design/actions/view-screen.ts +89 -31
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +389 -71
- package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +1 -1
- package/corpus/templates/design/app/components/design/EditPanel.tsx +596 -95
- package/corpus/templates/design/app/components/design/LayersPanel.tsx +428 -221
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +1197 -228
- package/corpus/templates/design/app/components/design/QuestionFlow.tsx +94 -217
- package/corpus/templates/design/app/components/design/TweaksPanel.tsx +28 -14
- package/corpus/templates/design/app/components/design/index.ts +0 -1
- package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +228 -170
- package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +140 -13
- package/corpus/templates/design/app/components/design/inspector/ExportSettingsPanel.tsx +39 -8
- package/corpus/templates/design/app/components/design/inspector/GradientEditor.tsx +4 -2
- package/corpus/templates/design/app/components/design/inspector/ImageFillControls.tsx +75 -5
- package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +37 -12
- package/corpus/templates/design/app/components/design/inspector/index.ts +1 -0
- package/corpus/templates/design/app/components/design/inspector/scrub-input-utils.ts +17 -4
- package/corpus/templates/design/app/components/design/types.ts +9 -0
- package/corpus/templates/design/app/components/layout/Layout.tsx +23 -5
- package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +448 -259
- package/corpus/templates/design/app/global.css +77 -49
- package/corpus/templates/design/app/hooks/use-question-flow.ts +2 -2
- package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +8 -1
- package/corpus/templates/design/app/i18n/zh-TW.ts +4 -0
- package/corpus/templates/design/app/i18n-data.ts +55 -3
- package/corpus/templates/design/app/pages/DesignEditor.tsx +2783 -658
- package/corpus/templates/design/app/root.tsx +1 -1
- package/corpus/templates/design/changelog/2026-06-29-agent-edits-to-a-design-are-no-longer-occasionally-dropped-o.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-box-shadow-and-gradient-colors-keep-named-css-colors-like-re.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-containers-no-longer-block-selecting-nested-elements-and-nor.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-cut-cmd-ctrl-x-now-removes-the-selected-element-to-the-clipb.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-deleting-with-multiple-layers-selected-in-the-layers-panel-n.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-design-agents-now-generate-and-refine-variants-from-stronger.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-design-inspector-controls-now-match-figmas-softer-dark-chrome.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-design-questions-now-appear-as-a-cleaner-canvas-intake-with-.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-design-variant-directions-now-appear-as-board-screens-with-chat-buttons.md +5 -0
- package/corpus/templates/design/changelog/2026-06-29-duplicating-a-screen-now-gives-the-copy-its-own-layer-ids-so.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-element-selection-no-longer-snaps-back-to-the-previous-layer.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-frame-resize-measurements-now-stay-beside-the-cursor-while-d.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-hiding-and-re-showing-a-gradient-fill-now-preserves-each-sto.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-inspector-number-fields-have-cleaner-tooltips-and-draggable-.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-layer-locking-layer-nesting-generated-question-intake-and-im.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-layer-names-in-the-sidebar-can-scroll-horizontally-instead-o.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-layer-nesting-in-the-sidebar-now-uses-tighter-spacing-so-nam.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-layers-no-longer-repeat-document-wrapper-rows-when-a-screen-.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-overview-previews-now-keep-element-hover-and-selection-tied-.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-picking-a-design-direction-now-submits-to-the-agent-right-aw.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-pressing-escape-now-cancels-a-stuck-screen-drag-in-the-overv.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-screen-overview-is-easier-to-find-and-named-screens-open-dir.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-screen-overview-only-highlights-screens-when-the-frame-or-ti.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-screen-overview-previews-now-resize-to-match-the-selected-de.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-screen-overview-selection-now-uses-a-pointer-cursor-instead-.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-screen-overview-selection-outlines-now-stay-locked-to-the-se.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-screen-overview-zoom-now-reports-real-screen-scale-separatel.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-screen-overview-zooming-feels-smoother-and-selection-outline.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-screen-overview-zooming-now-stays-on-the-overview-canvas-ins.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-selecting-a-nested-layer-from-all-screens-now-keeps-you-in-a.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-share-now-groups-link-sharing-exports-and-agent-handoff.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-style-changes-that-set-several-properties-at-once-fixed-size.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-the-design-editor-loading-skeleton-now-uses-a-softer-charcoa.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-the-device-preview-menu-now-sits-next-to-the-preview-button-.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-the-editor-no-longer-crashes-when-a-screen-ends-up-with-dupl.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-the-inspector-stays-read-only-while-an-empty-design-is-still.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-the-missing-design-view-now-matches-the-rest-of-the-editor-c.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-the-pen-tool-icon-and-tool-option-menus-better-match-the-edi.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-typography-controls-now-keep-the-font-name-visible-and-move-.md +6 -0
- package/corpus/templates/design/e2e/README.md +4 -3
- package/corpus/templates/design/e2e/global-setup.ts +24 -23
- package/corpus/templates/design/e2e/helpers.ts +122 -11
- package/corpus/templates/design/playwright.config.ts +19 -4
- package/corpus/templates/design/server/lib/coding-handoff.ts +126 -2
- package/corpus/templates/design/server/plugins/core-routes.ts +1 -2
- package/corpus/templates/design/server/routes/api/design-handoff/[id].zip.get.ts +86 -0
- package/corpus/templates/design/shared/code-layer.ts +125 -22
- package/corpus/templates/design/shared/color-utils.ts +159 -0
- package/corpus/templates/design/shared/generation-session.ts +42 -0
- package/corpus/templates/dispatch/app/global.css +79 -35
- package/corpus/templates/dispatch/app/routes/integrations.tsx +8 -7
- package/corpus/templates/dispatch/changelog/2026-06-29-integration-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
- package/corpus/templates/forms/app/components/layout/Layout.tsx +6 -2
- package/corpus/templates/forms/app/global.css +64 -35
- package/corpus/templates/forms/app/pages/FormsListPage.tsx +2 -2
- package/corpus/templates/forms/app/pages/ResponseInsightsPage.tsx +3 -3
- package/corpus/templates/forms/changelog/2026-06-29-form-list-and-insight-layouts-adapt-when-the-agent-sidebar.md +6 -0
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +3 -1
- package/corpus/templates/macros/app/global.css +25 -9
- package/corpus/templates/macros/changelog/2026-06-29-macro-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +6 -2
- package/corpus/templates/mail/app/global.css +42 -36
- package/corpus/templates/mail/app/pages/InboxPage.tsx +1 -1
- package/corpus/templates/mail/changelog/2026-06-29-the-contact-panel-now-adapts-to-the-available-mail-pane-width.md +6 -0
- package/corpus/templates/plan/app/components/layout/Layout.tsx +3 -1
- package/corpus/templates/plan/app/components/plan/DocumentArea.tsx +6 -7
- package/corpus/templates/plan/app/global.css +74 -42
- package/corpus/templates/plan/changelog/2026-06-29-plan-document-blocks-adapt-to-the-available-document-width.md +6 -0
- package/corpus/templates/plan/changelog/2026-06-29-plan-titles-and-summaries-can-be-edited-inline-without-focus.md +6 -0
- package/corpus/templates/slides/app/components/layout/Layout.tsx +3 -1
- package/corpus/templates/slides/app/global.css +49 -33
- package/corpus/templates/slides/changelog/2026-06-29-slide-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
- package/corpus/templates/videos/app/components/layout/Layout.tsx +3 -1
- package/corpus/templates/videos/app/global.css +35 -35
- package/corpus/templates/videos/changelog/2026-06-29-video-layouts-adapt-when-the-agent-sidebar-is-open.md +6 -0
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +10 -0
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +58 -12
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +54 -24
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +2 -1
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/error-format.d.ts.map +1 -1
- package/dist/client/error-format.js +17 -0
- package/dist/client/error-format.js.map +1 -1
- package/dist/client/extensions/ExtensionViewer.d.ts.map +1 -1
- package/dist/client/extensions/ExtensionViewer.js +3 -4
- package/dist/client/extensions/ExtensionViewer.js.map +1 -1
- package/dist/client/guided-questions.d.ts +4 -0
- package/dist/client/guided-questions.d.ts.map +1 -1
- package/dist/client/guided-questions.js +16 -7
- package/dist/client/guided-questions.js.map +1 -1
- package/dist/client/onboarding/OnboardingPanel.js +26 -1
- package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
- package/dist/client/resources/BuiltinCapabilityDetail.d.ts.map +1 -1
- package/dist/client/resources/BuiltinCapabilityDetail.js +1 -1
- package/dist/client/resources/BuiltinCapabilityDetail.js.map +1 -1
- package/dist/client/resources/use-builtin-capabilities.d.ts +1 -1
- package/dist/client/resources/use-builtin-capabilities.d.ts.map +1 -1
- package/dist/client/resources/use-builtin-capabilities.js +2 -1
- package/dist/client/resources/use-builtin-capabilities.js.map +1 -1
- package/dist/client/session-replay.d.ts.map +1 -1
- package/dist/client/session-replay.js +31 -0
- package/dist/client/session-replay.js.map +1 -1
- package/dist/client/sharing/ShareButton.d.ts +14 -0
- package/dist/client/sharing/ShareButton.d.ts.map +1 -1
- package/dist/client/sharing/ShareButton.js +36 -7
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/coding-tools/index.js +1 -1
- package/dist/coding-tools/index.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/mcp/index.d.ts +2 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/screen-memory-stdio.d.ts +6 -0
- package/dist/mcp/screen-memory-stdio.d.ts.map +1 -0
- package/dist/mcp/screen-memory-stdio.js +213 -0
- package/dist/mcp/screen-memory-stdio.js.map +1 -0
- package/dist/mcp-client/builtin-capabilities.d.ts +1 -1
- package/dist/mcp-client/builtin-capabilities.d.ts.map +1 -1
- package/dist/mcp-client/builtin-capabilities.js +10 -0
- package/dist/mcp-client/builtin-capabilities.js.map +1 -1
- package/dist/mcp-client/index.d.ts +1 -0
- package/dist/mcp-client/index.d.ts.map +1 -1
- package/dist/mcp-client/index.js +1 -0
- package/dist/mcp-client/index.js.map +1 -1
- package/dist/mcp-client/screen-memory-local.d.ts +61 -0
- package/dist/mcp-client/screen-memory-local.d.ts.map +1 -0
- package/dist/mcp-client/screen-memory-local.js +336 -0
- package/dist/mcp-client/screen-memory-local.js.map +1 -0
- package/dist/onboarding/types.d.ts +7 -0
- package/dist/onboarding/types.d.ts.map +1 -1
- package/dist/onboarding/types.js.map +1 -1
- package/dist/resources/handlers.d.ts +2 -2
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +26 -0
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agents-bundle.d.ts.map +1 -1
- package/dist/server/agents-bundle.js +22 -7
- package/dist/server/agents-bundle.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/styles/agent-native.css +5 -0
- package/dist/templates/default/app/global.css +35 -35
- package/docs/content/locales/ar-SA/template-design.mdx +6 -0
- package/docs/content/locales/de-DE/template-design.mdx +8 -0
- package/docs/content/locales/es-ES/template-design.mdx +10 -2
- package/docs/content/locales/fr-FR/template-design.mdx +10 -2
- package/docs/content/locales/hi-IN/template-design.mdx +7 -0
- package/docs/content/locales/ja-JP/template-design.mdx +7 -0
- package/docs/content/locales/ko-KR/template-design.mdx +7 -0
- package/docs/content/locales/pt-BR/template-design.mdx +9 -2
- package/docs/content/locales/zh-CN/template-design.mdx +6 -0
- package/docs/content/locales/zh-TW/template-design.mdx +6 -0
- package/docs/content/template-design.mdx +9 -2
- package/package.json +1 -1
- package/src/templates/default/app/global.css +35 -35
- package/corpus/templates/design/app/components/design/VariantGrid.tsx +0 -189
- package/corpus/templates/design/app/components/design/VariantHandoffCard.tsx +0 -115
- package/corpus/templates/design/app/hooks/use-variant-flow.ts +0 -258
|
@@ -44,6 +44,12 @@ details live in `.agents/skills/`.
|
|
|
44
44
|
request action uses the shared `@agent-native/core/provider-api` runtime,
|
|
45
45
|
injects configured credentials, blocks private/internal URLs, and redacts
|
|
46
46
|
secrets.
|
|
47
|
+
- For questions about tracking events or instrumentation in GitHub-hosted code,
|
|
48
|
+
use `github-repo-files` before raw provider requests: check
|
|
49
|
+
`data-source-status` for GitHub, `operation="search"` likely event names/calls
|
|
50
|
+
with `includeTextMatches=true`, then `operation="read"` the relevant files.
|
|
51
|
+
Report the repo, ref/default branch, queries used, files read, and any
|
|
52
|
+
truncation or GitHub incomplete-results flags so absence claims are auditable.
|
|
47
53
|
- For named account/deal deep dives, call `account-deep-dive` first. It bundles
|
|
48
54
|
HubSpot deal/account/contact activity with Gong call detail and compact
|
|
49
55
|
transcript evidence so the final report can match Fusion-style depth.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createGitHubRepoFilesAction } from "@agent-native/core/provider-api/actions/github-repo-files";
|
|
2
|
+
|
|
3
|
+
import { getAnalyticsProviderApiRuntime } from "../server/lib/provider-api";
|
|
4
|
+
|
|
5
|
+
// Static action registry marker: createGitHubRepoFilesAction returns defineAction.
|
|
6
|
+
export default createGitHubRepoFilesAction(getAnalyticsProviderApiRuntime(), {
|
|
7
|
+
description:
|
|
8
|
+
"List, search, and read connected GitHub repository files through the Analytics GitHub data source. Use this to inspect remote repos for tracking-event instrumentation, event-name definitions, analytics calls, and related code context without cloning. Prefer operation='search' with includeTextMatches=true before operation='read'. Write and delete operations exist for explicit repo-maintenance requests only and require human approval.",
|
|
9
|
+
});
|
|
@@ -106,7 +106,7 @@ export function Layout({ children }: LayoutProps) {
|
|
|
106
106
|
if (reportScreenshot) {
|
|
107
107
|
return (
|
|
108
108
|
<HeaderActionsProvider>
|
|
109
|
-
<main className="min-h-screen bg-background p-6 text-foreground md:p-8">
|
|
109
|
+
<main className="agent-native-app-main min-h-screen bg-background p-6 text-foreground md:p-8">
|
|
110
110
|
{children}
|
|
111
111
|
</main>
|
|
112
112
|
</HeaderActionsProvider>
|
|
@@ -121,10 +121,10 @@ export function Layout({ children }: LayoutProps) {
|
|
|
121
121
|
<main
|
|
122
122
|
className={
|
|
123
123
|
isExtensionsRoute
|
|
124
|
-
? "flex-1 overflow-y-auto"
|
|
124
|
+
? "agent-native-app-main flex-1 overflow-y-auto"
|
|
125
125
|
: isAskRoute
|
|
126
|
-
? "flex-1 overflow-hidden p-0"
|
|
127
|
-
: "flex-1 overflow-y-auto p-6 pt-2"
|
|
126
|
+
? "agent-native-app-main flex-1 overflow-hidden p-0"
|
|
127
|
+
: "agent-native-app-main flex-1 overflow-y-auto p-6 pt-2"
|
|
128
128
|
}
|
|
129
129
|
>
|
|
130
130
|
{children}
|
|
@@ -7,30 +7,30 @@
|
|
|
7
7
|
@source "./**/*.{ts,tsx}";
|
|
8
8
|
|
|
9
9
|
:root {
|
|
10
|
-
/* Base
|
|
11
|
-
--background:
|
|
12
|
-
--foreground: 0 0% 98%;
|
|
10
|
+
/* Base */
|
|
11
|
+
--background: 0 0% 13%;
|
|
12
|
+
--foreground: 0 0% 98%;
|
|
13
13
|
|
|
14
|
-
--card:
|
|
14
|
+
--card: 0 0% 15%;
|
|
15
15
|
--card-foreground: 0 0% 98%;
|
|
16
16
|
|
|
17
|
-
--popover:
|
|
17
|
+
--popover: 0 0% 15%;
|
|
18
18
|
--popover-foreground: 0 0% 98%;
|
|
19
19
|
|
|
20
20
|
/* Primary - White/Off-white for high contrast */
|
|
21
21
|
--primary: 0 0% 98%;
|
|
22
|
-
--primary-foreground:
|
|
22
|
+
--primary-foreground: 0 0% 10%;
|
|
23
23
|
|
|
24
24
|
/* Secondary - Muted grays */
|
|
25
|
-
--secondary:
|
|
25
|
+
--secondary: 0 0% 18%;
|
|
26
26
|
--secondary-foreground: 0 0% 98%;
|
|
27
27
|
|
|
28
28
|
/* Muted - Subtle text */
|
|
29
|
-
--muted:
|
|
30
|
-
--muted-foreground:
|
|
29
|
+
--muted: 0 0% 16%;
|
|
30
|
+
--muted-foreground: 0 0% 64.9%;
|
|
31
31
|
|
|
32
32
|
/* Accent - Subtle interactive elements */
|
|
33
|
-
--accent:
|
|
33
|
+
--accent: 0 0% 18%;
|
|
34
34
|
--accent-foreground: 0 0% 98%;
|
|
35
35
|
|
|
36
36
|
/* Destructive - bright enough for text on dark surfaces */
|
|
@@ -38,9 +38,9 @@
|
|
|
38
38
|
--destructive-foreground: 0 0% 98%;
|
|
39
39
|
|
|
40
40
|
/* Borders - Subtle and thin */
|
|
41
|
-
--border:
|
|
42
|
-
--input:
|
|
43
|
-
--ring:
|
|
41
|
+
--border: 0 0% 24%;
|
|
42
|
+
--input: 0 0% 24%;
|
|
43
|
+
--ring: 0 0% 83.9%;
|
|
44
44
|
|
|
45
45
|
/* Charts */
|
|
46
46
|
--chart-1: 220 70% 50%;
|
|
@@ -60,40 +60,40 @@
|
|
|
60
60
|
--radius: 0.5rem;
|
|
61
61
|
|
|
62
62
|
/* Table header - solid card color for sticky headers */
|
|
63
|
-
--table-header:
|
|
63
|
+
--table-header: 0 0% 15%;
|
|
64
64
|
|
|
65
|
-
/* Sidebar
|
|
66
|
-
--sidebar-background:
|
|
67
|
-
--sidebar-foreground:
|
|
65
|
+
/* Sidebar */
|
|
66
|
+
--sidebar-background: 0 0% 10%;
|
|
67
|
+
--sidebar-foreground: 0 0% 95.9%;
|
|
68
68
|
--sidebar-primary: 224.3 76.3% 48%;
|
|
69
69
|
--sidebar-primary-foreground: 0 0% 100%;
|
|
70
|
-
--sidebar-accent:
|
|
71
|
-
--sidebar-accent-foreground:
|
|
72
|
-
--sidebar-border:
|
|
70
|
+
--sidebar-accent: 0 0% 16%;
|
|
71
|
+
--sidebar-accent-foreground: 0 0% 95.9%;
|
|
72
|
+
--sidebar-border: 0 0% 20%;
|
|
73
73
|
--sidebar-ring: 217.2 91.2% 59.8%;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
.light {
|
|
77
77
|
--background: 0 0% 100%;
|
|
78
|
-
--foreground:
|
|
78
|
+
--foreground: 0 0% 3.9%;
|
|
79
79
|
--card: 0 0% 100%;
|
|
80
|
-
--card-foreground:
|
|
80
|
+
--card-foreground: 0 0% 3.9%;
|
|
81
81
|
--popover: 0 0% 100%;
|
|
82
|
-
--popover-foreground:
|
|
83
|
-
--primary:
|
|
82
|
+
--popover-foreground: 0 0% 3.9%;
|
|
83
|
+
--primary: 0 0% 10%;
|
|
84
84
|
--primary-foreground: 0 0% 98%;
|
|
85
|
-
--secondary:
|
|
86
|
-
--secondary-foreground:
|
|
87
|
-
--muted:
|
|
88
|
-
--muted-foreground:
|
|
89
|
-
--accent:
|
|
90
|
-
--accent-foreground:
|
|
85
|
+
--secondary: 0 0% 95.9%;
|
|
86
|
+
--secondary-foreground: 0 0% 10%;
|
|
87
|
+
--muted: 0 0% 95.9%;
|
|
88
|
+
--muted-foreground: 0 0% 46.1%;
|
|
89
|
+
--accent: 0 0% 95.9%;
|
|
90
|
+
--accent-foreground: 0 0% 10%;
|
|
91
91
|
--destructive: 0 84.2% 60.2%;
|
|
92
92
|
--destructive-foreground: 0 0% 98%;
|
|
93
|
-
--border:
|
|
93
|
+
--border: 0 0% 90%;
|
|
94
94
|
--table-header: 0 0% 100%; /* Same as card for light mode */
|
|
95
|
-
--input:
|
|
96
|
-
--ring:
|
|
95
|
+
--input: 0 0% 90%;
|
|
96
|
+
--ring: 0 0% 10%;
|
|
97
97
|
--chart-1: 220 70% 50%;
|
|
98
98
|
--chart-2: 160 60% 45%;
|
|
99
99
|
--chart-3: 30 80% 55%;
|
|
@@ -109,12 +109,12 @@
|
|
|
109
109
|
--brand-teal: #0d9488;
|
|
110
110
|
|
|
111
111
|
--sidebar-background: 0 0% 98%;
|
|
112
|
-
--sidebar-foreground:
|
|
113
|
-
--sidebar-primary:
|
|
112
|
+
--sidebar-foreground: 0 0% 26.1%;
|
|
113
|
+
--sidebar-primary: 0 0% 10%;
|
|
114
114
|
--sidebar-primary-foreground: 0 0% 98%;
|
|
115
|
-
--sidebar-accent:
|
|
116
|
-
--sidebar-accent-foreground:
|
|
117
|
-
--sidebar-border:
|
|
115
|
+
--sidebar-accent: 0 0% 95.9%;
|
|
116
|
+
--sidebar-accent-foreground: 0 0% 10%;
|
|
117
|
+
--sidebar-border: 0 0% 90%;
|
|
118
118
|
--sidebar-ring: 217.2 91.2% 59.8%;
|
|
119
119
|
}
|
|
120
120
|
|
|
@@ -152,7 +152,10 @@
|
|
|
152
152
|
|
|
153
153
|
.dark .agent-sidebar-panel[data-agent-sidebar-layout="desktop"],
|
|
154
154
|
.dark .agent-sidebar-panel[data-agent-sidebar-layout="mobile"] {
|
|
155
|
-
background:
|
|
155
|
+
background: var(
|
|
156
|
+
--agent-native-lower-surface,
|
|
157
|
+
hsl(var(--sidebar-background))
|
|
158
|
+
) !important;
|
|
156
159
|
}
|
|
157
160
|
|
|
158
161
|
.analytics-chat-panel
|
|
@@ -230,7 +233,7 @@
|
|
|
230
233
|
}
|
|
231
234
|
|
|
232
235
|
.light .analytics-session-snippet .plan-code-surface-scroll {
|
|
233
|
-
background: hsl(
|
|
236
|
+
background: hsl(0 0% 96%);
|
|
234
237
|
}
|
|
235
238
|
|
|
236
239
|
.an-replay-scrub {
|
|
@@ -388,6 +391,93 @@
|
|
|
388
391
|
}
|
|
389
392
|
}
|
|
390
393
|
|
|
394
|
+
.analytics-sessions-page {
|
|
395
|
+
container: analytics-sessions / inline-size;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
.analytics-session-path {
|
|
399
|
+
overflow-wrap: anywhere;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
@container agent-native-main (min-width: 720px) {
|
|
403
|
+
.analytics-sessions-page {
|
|
404
|
+
padding-inline: 1.5rem;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
@container analytics-sessions (min-width: 640px) {
|
|
409
|
+
.analytics-session-row {
|
|
410
|
+
grid-template-columns: 104px minmax(0, 0.9fr) minmax(0, 1.15fr);
|
|
411
|
+
align-items: center;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.analytics-session-path {
|
|
415
|
+
grid-column: 3;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
.analytics-session-app-meta {
|
|
419
|
+
grid-column: 2 / 4;
|
|
420
|
+
padding-inline-start: calc(104px + 0.75rem);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
@container analytics-sessions (min-width: 760px) {
|
|
425
|
+
.analytics-session-row {
|
|
426
|
+
grid-template-columns:
|
|
427
|
+
104px minmax(150px, 0.85fr) minmax(200px, 1.25fr)
|
|
428
|
+
minmax(120px, 0.55fr);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
.analytics-session-app-meta {
|
|
432
|
+
grid-column: auto;
|
|
433
|
+
padding-inline-start: 0;
|
|
434
|
+
text-align: end;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
.analytics-session-badges {
|
|
438
|
+
justify-content: flex-end;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
.analytics-sessions-filter-extra {
|
|
442
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
@container analytics-sessions (min-width: 920px) {
|
|
447
|
+
.analytics-sessions-filter-grid {
|
|
448
|
+
grid-template-columns: 150px minmax(260px, 1fr) 160px auto auto;
|
|
449
|
+
align-items: center;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
.analytics-sessions-filter-label {
|
|
453
|
+
min-width: 0;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
@container analytics-sessions (min-width: 960px) {
|
|
458
|
+
.analytics-sessions-empty-grid {
|
|
459
|
+
grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
.analytics-session-detail-page {
|
|
464
|
+
container: analytics-session-detail / inline-size;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
@container analytics-session-detail (min-width: 760px) {
|
|
468
|
+
.analytics-session-detail-header {
|
|
469
|
+
flex-direction: row;
|
|
470
|
+
align-items: center;
|
|
471
|
+
justify-content: space-between;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
@container analytics-session-detail (min-width: 1040px) {
|
|
476
|
+
.analytics-session-detail-workbench {
|
|
477
|
+
grid-template-columns: minmax(0, 1fr) 330px;
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
|
|
391
481
|
/* The dashboard grid responds to the available content width — which shrinks
|
|
392
482
|
when the agent sidebar is open — not the viewport. Rows are rendered
|
|
393
483
|
explicitly so deleting a card only expands the remaining cards in that row. */
|
|
@@ -480,6 +570,20 @@
|
|
|
480
570
|
pointer-events: none;
|
|
481
571
|
}
|
|
482
572
|
|
|
573
|
+
@container agent-native-main (min-width: 820px) {
|
|
574
|
+
.analytics-explorer-config-grid {
|
|
575
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
.explorer-dashboard-grid {
|
|
579
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
.explorer-dashboard-card-wide {
|
|
583
|
+
grid-column: span 2 / span 2;
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
|
|
483
587
|
@container dashboard-grid (min-width: 768px) {
|
|
484
588
|
.dashboard-grid {
|
|
485
589
|
flex-direction: row;
|
|
@@ -191,7 +191,7 @@ export default function ExplorerPage() {
|
|
|
191
191
|
</div>
|
|
192
192
|
|
|
193
193
|
{/* Config panel */}
|
|
194
|
-
<div className="grid grid
|
|
194
|
+
<div className="analytics-explorer-config-grid grid grid-cols-1 gap-4 items-start">
|
|
195
195
|
<div className="space-y-4">
|
|
196
196
|
<EventPanel
|
|
197
197
|
events={config.events}
|
|
@@ -106,7 +106,7 @@ export function DashboardChartCard({
|
|
|
106
106
|
ref={setNodeRef}
|
|
107
107
|
style={style}
|
|
108
108
|
data-dragging={isDragging ? "true" : undefined}
|
|
109
|
-
className={`group relative ${chart.width === 2 ? "
|
|
109
|
+
className={`explorer-dashboard-card group relative ${chart.width === 2 ? "explorer-dashboard-card-wide" : ""}`}
|
|
110
110
|
>
|
|
111
111
|
<Card className="h-full">
|
|
112
112
|
<CardHeader className="pb-2 flex flex-row items-center gap-2">
|
|
@@ -741,7 +741,7 @@ export default function ExplorerDashboardPage() {
|
|
|
741
741
|
strategy={rectSortingStrategy}
|
|
742
742
|
>
|
|
743
743
|
<div
|
|
744
|
-
className="explorer-dashboard-grid grid grid-cols-1
|
|
744
|
+
className="explorer-dashboard-grid grid grid-cols-1 gap-4"
|
|
745
745
|
data-dashboard-dragging={activeDragChartId ? "true" : undefined}
|
|
746
746
|
>
|
|
747
747
|
{dashboard.charts.map((chart) => (
|
|
@@ -159,9 +159,9 @@ export default function SessionDetailPage() {
|
|
|
159
159
|
const recording = data?.recording;
|
|
160
160
|
|
|
161
161
|
return (
|
|
162
|
-
<div className="flex h-full min-h-0 w-full flex-col gap-3 overflow-hidden">
|
|
162
|
+
<div className="analytics-session-detail-page flex h-full min-h-0 w-full flex-col gap-3 overflow-hidden">
|
|
163
163
|
{codeRequiredDialog}
|
|
164
|
-
<div className="flex shrink-0 flex-col gap-3
|
|
164
|
+
<div className="analytics-session-detail-header flex shrink-0 flex-col gap-3">
|
|
165
165
|
<div className="flex min-w-0 items-center gap-2">
|
|
166
166
|
<Button variant="ghost" size="sm" asChild className="shrink-0">
|
|
167
167
|
<Link to="/sessions">
|
|
@@ -287,7 +287,7 @@ function ReplayWorkbench({
|
|
|
287
287
|
}, [currentTime, markers]);
|
|
288
288
|
|
|
289
289
|
return (
|
|
290
|
-
<div className="grid h-full min-h-0 gap-3
|
|
290
|
+
<div className="analytics-session-detail-workbench grid h-full min-h-0 gap-3">
|
|
291
291
|
<ReplayPlayer
|
|
292
292
|
events={events}
|
|
293
293
|
markers={markers}
|
|
@@ -923,7 +923,7 @@ function MarkerIcon({ kind }: { kind: ReplayMarker["kind"] }) {
|
|
|
923
923
|
|
|
924
924
|
function DetailSkeleton() {
|
|
925
925
|
return (
|
|
926
|
-
<div className="grid min-h-0 flex-1 gap-3
|
|
926
|
+
<div className="analytics-session-detail-workbench grid min-h-0 flex-1 gap-3">
|
|
927
927
|
<Skeleton className="h-full min-h-[420px] w-full" />
|
|
928
928
|
<Skeleton className="h-full min-h-[420px] w-full" />
|
|
929
929
|
</div>
|
|
@@ -108,11 +108,11 @@ export default function SessionsPage() {
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
return (
|
|
111
|
-
<div className="mx-auto flex w-full max-w-7xl flex-col gap-4 px-4 py-5
|
|
111
|
+
<div className="analytics-sessions-page mx-auto flex w-full max-w-7xl flex-col gap-4 px-4 py-5">
|
|
112
112
|
<Card>
|
|
113
113
|
<CardContent className="p-3">
|
|
114
|
-
<div className="grid gap-2
|
|
115
|
-
<div className="flex items-center gap-2 px-1 text-sm font-medium">
|
|
114
|
+
<div className="analytics-sessions-filter-grid grid gap-2">
|
|
115
|
+
<div className="analytics-sessions-filter-label flex items-center gap-2 px-1 text-sm font-medium">
|
|
116
116
|
<IconFilter className="h-4 w-4 text-muted-foreground" />
|
|
117
117
|
{t("sessions.segmentFilters")}
|
|
118
118
|
</div>
|
|
@@ -171,7 +171,7 @@ export default function SessionsPage() {
|
|
|
171
171
|
</Button>
|
|
172
172
|
</div>
|
|
173
173
|
{filtersOpen ? (
|
|
174
|
-
<div className="mt-3 grid gap-3 border-t pt-3
|
|
174
|
+
<div className="analytics-sessions-filter-extra mt-3 grid gap-3 border-t pt-3">
|
|
175
175
|
<div className="rounded-md border bg-muted/20 p-3">
|
|
176
176
|
<div className="mb-2 text-[11px] font-semibold uppercase text-muted-foreground">
|
|
177
177
|
{t("sessions.userFilters")}
|
|
@@ -229,7 +229,7 @@ export default function SessionsPage() {
|
|
|
229
229
|
<button
|
|
230
230
|
key={recording.id}
|
|
231
231
|
type="button"
|
|
232
|
-
className="grid w-full gap-3 px-4 py-3 text-left transition-colors hover:bg-muted/35 focus-visible:bg-muted/35 focus-visible:outline-none
|
|
232
|
+
className="analytics-session-row grid w-full gap-3 px-4 py-3 text-left transition-colors hover:bg-muted/35 focus-visible:bg-muted/35 focus-visible:outline-none"
|
|
233
233
|
onClick={() => navigate(href)}
|
|
234
234
|
aria-label={t("sessions.watchReplay")}
|
|
235
235
|
>
|
|
@@ -248,7 +248,7 @@ export default function SessionsPage() {
|
|
|
248
248
|
})}
|
|
249
249
|
</span>
|
|
250
250
|
</span>
|
|
251
|
-
<span className="min-w-0">
|
|
251
|
+
<span className="analytics-session-path min-w-0">
|
|
252
252
|
<span className="block truncate text-sm font-medium text-primary">
|
|
253
253
|
{pathLabel(recording)}
|
|
254
254
|
</span>
|
|
@@ -259,13 +259,13 @@ export default function SessionsPage() {
|
|
|
259
259
|
shortId(recording.sessionId)}
|
|
260
260
|
</span>
|
|
261
261
|
</span>
|
|
262
|
-
<span className="min-w-0 text-left
|
|
262
|
+
<span className="analytics-session-app-meta min-w-0 text-left">
|
|
263
263
|
<span className="block truncate text-sm text-muted-foreground">
|
|
264
264
|
{recording.app ||
|
|
265
265
|
recording.template ||
|
|
266
266
|
t("sessions.unknownApp")}
|
|
267
267
|
</span>
|
|
268
|
-
<span className="mt-1 flex flex-wrap gap-1.5
|
|
268
|
+
<span className="analytics-session-badges mt-1 flex flex-wrap gap-1.5">
|
|
269
269
|
{recording.errorCount > 0 ? (
|
|
270
270
|
<Badge variant="destructive">
|
|
271
271
|
{t("sessions.errorCount", {
|
|
@@ -310,7 +310,7 @@ function EmptySessionsState() {
|
|
|
310
310
|
return (
|
|
311
311
|
<div className="p-6 lg:p-8">
|
|
312
312
|
{showStorageHint ? <ReplayStorageHint /> : null}
|
|
313
|
-
<div className="grid min-h-[380px] gap-6
|
|
313
|
+
<div className="analytics-sessions-empty-grid grid min-h-[380px] gap-6">
|
|
314
314
|
<div className="flex flex-col justify-center gap-3">
|
|
315
315
|
<div className="flex h-10 w-10 items-center justify-center rounded-md border bg-muted/40">
|
|
316
316
|
<IconPlayerPlay className="h-5 w-5 text-primary" />
|
|
@@ -130,7 +130,9 @@ export function Layout({ children }: LayoutProps) {
|
|
|
130
130
|
</div>
|
|
131
131
|
{!hideHeader && <Header />}
|
|
132
132
|
<InvitationBanner />
|
|
133
|
-
<main className="min-h-0 flex-1 overflow-y-auto">
|
|
133
|
+
<main className="agent-native-app-main min-h-0 flex-1 overflow-y-auto">
|
|
134
|
+
{children}
|
|
135
|
+
</main>
|
|
134
136
|
</div>
|
|
135
137
|
</div>
|
|
136
138
|
);
|
|
@@ -22,7 +22,7 @@ export function LibraryPresetGrid({
|
|
|
22
22
|
if (!presets.length) return null;
|
|
23
23
|
|
|
24
24
|
return (
|
|
25
|
-
<div className="grid gap-3
|
|
25
|
+
<div className="assets-library-preset-grid grid gap-3">
|
|
26
26
|
{presets.map((preset, index) => {
|
|
27
27
|
const Icon = PRESET_ICONS[index % PRESET_ICONS.length];
|
|
28
28
|
const colors = preset.styleBrief.palette ?? [];
|
|
@@ -8,63 +8,63 @@
|
|
|
8
8
|
|
|
9
9
|
:root {
|
|
10
10
|
--background: 0 0% 100%;
|
|
11
|
-
--foreground:
|
|
11
|
+
--foreground: 0 0% 10%;
|
|
12
12
|
--card: 0 0% 100%;
|
|
13
|
-
--card-foreground:
|
|
13
|
+
--card-foreground: 0 0% 10%;
|
|
14
14
|
--popover: 0 0% 100%;
|
|
15
|
-
--popover-foreground:
|
|
16
|
-
--primary:
|
|
15
|
+
--popover-foreground: 0 0% 10%;
|
|
16
|
+
--primary: 0 0% 15%;
|
|
17
17
|
--primary-foreground: 0 0% 100%;
|
|
18
|
-
--secondary:
|
|
19
|
-
--secondary-foreground:
|
|
20
|
-
--muted:
|
|
21
|
-
--muted-foreground:
|
|
22
|
-
--accent:
|
|
23
|
-
--accent-foreground:
|
|
18
|
+
--secondary: 0 0% 95%;
|
|
19
|
+
--secondary-foreground: 0 0% 15%;
|
|
20
|
+
--muted: 0 0% 95%;
|
|
21
|
+
--muted-foreground: 0 0% 45%;
|
|
22
|
+
--accent: 0 0% 95%;
|
|
23
|
+
--accent-foreground: 0 0% 15%;
|
|
24
24
|
--destructive: 0 84% 60%;
|
|
25
25
|
--destructive-foreground: 0 0% 98%;
|
|
26
|
-
--border:
|
|
27
|
-
--input:
|
|
28
|
-
--ring:
|
|
26
|
+
--border: 0 0% 90%;
|
|
27
|
+
--input: 0 0% 90%;
|
|
28
|
+
--ring: 0 0% 40%;
|
|
29
29
|
--radius: 0.5rem;
|
|
30
|
-
--sidebar-background:
|
|
31
|
-
--sidebar-foreground:
|
|
32
|
-
--sidebar-primary:
|
|
30
|
+
--sidebar-background: 0 0% 97%;
|
|
31
|
+
--sidebar-foreground: 0 0% 45%;
|
|
32
|
+
--sidebar-primary: 0 0% 15%;
|
|
33
33
|
--sidebar-primary-foreground: 0 0% 100%;
|
|
34
|
-
--sidebar-accent:
|
|
35
|
-
--sidebar-accent-foreground:
|
|
36
|
-
--sidebar-border:
|
|
37
|
-
--sidebar-ring:
|
|
34
|
+
--sidebar-accent: 0 0% 95%;
|
|
35
|
+
--sidebar-accent-foreground: 0 0% 15%;
|
|
36
|
+
--sidebar-border: 0 0% 90%;
|
|
37
|
+
--sidebar-ring: 0 0% 40%;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.dark {
|
|
41
|
-
--background:
|
|
41
|
+
--background: 0 0% 13%;
|
|
42
42
|
--foreground: 0 0% 90%;
|
|
43
|
-
--card:
|
|
43
|
+
--card: 0 0% 15%;
|
|
44
44
|
--card-foreground: 0 0% 90%;
|
|
45
|
-
--popover:
|
|
45
|
+
--popover: 0 0% 15%;
|
|
46
46
|
--popover-foreground: 0 0% 90%;
|
|
47
47
|
--primary: 0 0% 75%;
|
|
48
|
-
--primary-foreground:
|
|
49
|
-
--secondary:
|
|
48
|
+
--primary-foreground: 0 0% 10%;
|
|
49
|
+
--secondary: 0 0% 18%;
|
|
50
50
|
--secondary-foreground: 0 0% 90%;
|
|
51
|
-
--muted:
|
|
52
|
-
--muted-foreground:
|
|
53
|
-
--accent:
|
|
51
|
+
--muted: 0 0% 16%;
|
|
52
|
+
--muted-foreground: 0 0% 60%;
|
|
53
|
+
--accent: 0 0% 18%;
|
|
54
54
|
--accent-foreground: 0 0% 90%;
|
|
55
55
|
--destructive: 0 63% 51%;
|
|
56
56
|
--destructive-foreground: 0 0% 98%;
|
|
57
|
-
--border:
|
|
58
|
-
--input: 0 0%
|
|
57
|
+
--border: 0 0% 24%;
|
|
58
|
+
--input: 0 0% 24%;
|
|
59
59
|
--ring: 0 0% 60%;
|
|
60
60
|
--radius: 0.5rem;
|
|
61
|
-
--sidebar-background:
|
|
62
|
-
--sidebar-foreground:
|
|
61
|
+
--sidebar-background: 0 0% 10%;
|
|
62
|
+
--sidebar-foreground: 0 0% 60%;
|
|
63
63
|
--sidebar-primary: 0 0% 75%;
|
|
64
|
-
--sidebar-primary-foreground:
|
|
65
|
-
--sidebar-accent:
|
|
64
|
+
--sidebar-primary-foreground: 0 0% 10%;
|
|
65
|
+
--sidebar-accent: 0 0% 16%;
|
|
66
66
|
--sidebar-accent-foreground: 0 0% 90%;
|
|
67
|
-
--sidebar-border:
|
|
67
|
+
--sidebar-border: 0 0% 20%;
|
|
68
68
|
--sidebar-ring: 0 0% 60%;
|
|
69
69
|
}
|
|
70
70
|
|
|
@@ -165,6 +165,70 @@
|
|
|
165
165
|
outline-offset: 2px;
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
+
@container agent-native-main (min-width: 940px) {
|
|
169
|
+
.assets-asset-detail-layout {
|
|
170
|
+
grid-template-columns: 360px minmax(0, 1fr);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.assets-asset-detail-sidebar {
|
|
174
|
+
border-bottom-width: 0;
|
|
175
|
+
border-inline-end-width: 1px;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
@container agent-native-main (min-width: 640px) {
|
|
180
|
+
.assets-library-dense-grid,
|
|
181
|
+
.assets-library-grid {
|
|
182
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.assets-library-preset-grid {
|
|
186
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.assets-brand-kit-item-grid {
|
|
190
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
@container agent-native-main (min-width: 980px) {
|
|
195
|
+
.assets-brand-kit-preview-grid {
|
|
196
|
+
grid-template-columns: minmax(0, 1fr) 284px;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.assets-live-candidates-grid {
|
|
200
|
+
grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.assets-brand-kit-settings-grid {
|
|
204
|
+
grid-template-columns: minmax(0, 1fr) 320px;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.assets-library-grid {
|
|
208
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
@container agent-native-main (min-width: 1180px) {
|
|
213
|
+
.assets-library-dense-grid {
|
|
214
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.assets-brand-kit-item-grid {
|
|
218
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
@container agent-native-main (min-width: 1320px) {
|
|
223
|
+
.assets-library-grid {
|
|
224
|
+
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.assets-brand-kit-item-grid {
|
|
228
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
168
232
|
.assets-create-chat-panel
|
|
169
233
|
[data-agent-empty-state="centered"]
|
|
170
234
|
.agent-chat-scroll {
|
|
@@ -134,8 +134,8 @@ export default function AssetDetailPage() {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
return (
|
|
137
|
-
<div className="grid h-full min-h-0 grid-cols-1
|
|
138
|
-
<aside className="overflow-y-auto border-b border-border bg-background p-5
|
|
137
|
+
<div className="assets-asset-detail-layout grid h-full min-h-0 grid-cols-1">
|
|
138
|
+
<aside className="assets-asset-detail-sidebar overflow-y-auto border-b border-border bg-background p-5">
|
|
139
139
|
<div className="mb-4">
|
|
140
140
|
<Button variant="ghost" size="sm" asChild className="-ml-2 gap-2">
|
|
141
141
|
<Link to={libraryBackPath}>
|