@agent-native/core 0.103.0 → 0.104.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +36 -0
- package/corpus/core/package.json +9 -2
- package/corpus/core/src/agent/engine/credential-errors.ts +2 -2
- package/corpus/core/src/agent/production-agent.ts +30 -0
- package/corpus/core/src/agent/run-store.ts +12 -2
- package/corpus/core/src/cli/create.ts +1 -0
- package/corpus/core/src/cli/skills-content/visual-plan-skill.ts +30 -11
- package/corpus/core/src/cli/templates-meta.ts +4 -3
- package/corpus/core/src/client/AgentAskPopover.tsx +89 -0
- package/corpus/core/src/client/AgentChatHome.tsx +4 -0
- package/corpus/core/src/client/AgentPanel.tsx +321 -223
- package/corpus/core/src/client/AssistantChat.tsx +6 -10
- package/corpus/core/src/client/MultiTabAssistantChat.tsx +53 -372
- package/corpus/core/src/client/agent-chat-adapter.ts +13 -1
- package/corpus/core/src/client/agent-page/AgentContextTab.tsx +133 -149
- package/corpus/core/src/client/agent-page/AgentEmptyState.tsx +44 -0
- package/corpus/core/src/client/agent-page/AgentJobsTab.tsx +153 -82
- package/corpus/core/src/client/agent-page/AgentTabFrame.tsx +39 -0
- package/corpus/core/src/client/agent-page/AgentTabsPage.tsx +368 -356
- package/corpus/core/src/client/agent-page/types.ts +1 -1
- package/corpus/core/src/client/analytics.ts +51 -5
- package/corpus/core/src/client/chat/run-recovery.tsx +12 -4
- package/corpus/core/src/client/composer/PromptComposer.tsx +5 -15
- package/corpus/core/src/client/composer/TiptapComposer.tsx +32 -3
- package/corpus/core/src/client/dynamic-suggestions.ts +3 -3
- package/corpus/core/src/client/index.ts +16 -1
- package/corpus/core/src/client/resources/ResourceTree.tsx +249 -38
- package/corpus/core/src/client/resources/ResourcesPanel.tsx +307 -140
- package/corpus/core/src/client/session-replay.ts +158 -5
- package/corpus/core/src/client/settings/AutomationsSection.tsx +30 -10
- package/corpus/core/src/client/settings/SettingsPanel.tsx +3 -2
- package/corpus/core/src/client/settings/SettingsTabsPage.tsx +2 -0
- package/corpus/core/src/client/settings/agent-settings-search.ts +2 -2
- package/corpus/core/src/client/use-chat-threads.ts +2 -0
- package/corpus/core/src/connections/catalog.ts +49 -7
- package/corpus/core/src/db/index.ts +6 -1
- package/corpus/core/src/extensions/actions.ts +106 -16
- package/corpus/core/src/extensions/content-patch.ts +22 -0
- package/corpus/core/src/extensions/routes.ts +18 -0
- package/corpus/core/src/extensions/store.ts +8 -0
- package/corpus/core/src/index.ts +3 -0
- package/corpus/core/src/ingestion/docx.ts +158 -0
- package/corpus/core/src/ingestion/figma-node-to-html.ts +1860 -0
- package/corpus/core/src/ingestion/figma.ts +548 -0
- package/corpus/core/src/ingestion/index.ts +107 -0
- package/corpus/core/src/ingestion/media.ts +264 -0
- package/corpus/core/src/ingestion/notion.ts +121 -0
- package/corpus/core/src/ingestion/office.ts +214 -0
- package/corpus/core/src/ingestion/orchestration.ts +160 -0
- package/corpus/core/src/ingestion/pptx.ts +333 -0
- package/corpus/core/src/ingestion/selection.ts +81 -0
- package/corpus/core/src/ingestion/website.ts +151 -0
- package/corpus/core/src/integrations/plugin.ts +45 -37
- package/corpus/core/src/localization/default-messages.ts +35 -12
- package/corpus/core/src/observability/hosted-model-experiment.ts +118 -0
- package/corpus/core/src/observability/traces.ts +5 -3
- package/corpus/core/src/provider-api/index.ts +452 -8
- package/corpus/core/src/scripts/agent-engines/list-agent-engines.ts +18 -1
- package/corpus/core/src/search-utils/index.ts +112 -0
- package/corpus/core/src/secrets/register-framework-secrets.ts +61 -0
- package/corpus/core/src/server/action-discovery.ts +33 -8
- package/corpus/core/src/server/agent-chat/framework-prompts.ts +2 -2
- package/corpus/core/src/server/agent-chat/prompt-resources.ts +144 -0
- package/corpus/core/src/server/agent-chat-plugin.ts +6 -0
- package/corpus/core/src/server/core-routes-plugin.ts +12 -0
- package/corpus/core/src/server/index.ts +30 -0
- package/corpus/core/src/server/workspace-provider-oauth.ts +583 -0
- package/corpus/core/src/styles/agent-native.css +9 -0
- package/corpus/core/src/templates/default/app/i18n/en-US.ts +3 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +14 -5
- package/corpus/core/src/templates/workspace-root/.env.example +12 -0
- package/corpus/core/src/vite/client.ts +2 -0
- package/corpus/core/src/workspace-connections/index.ts +6 -0
- package/corpus/core/src/workspace-connections/lifecycle.ts +43 -0
- package/corpus/core/src/workspace-connections/store.ts +16 -0
- package/corpus/templates/analytics/.agents/skills/dashboard-management/SKILL.md +46 -3
- package/corpus/templates/analytics/AGENTS.md +9 -0
- package/corpus/templates/analytics/actions/dashboard-mutation-api.ts +120 -6
- package/corpus/templates/analytics/actions/mutate-dashboard.ts +92 -30
- package/corpus/templates/analytics/actions/update-dashboard.ts +5 -5
- package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +313 -220
- package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +2 -2
- package/corpus/templates/analytics/app/components/layout/Layout.tsx +9 -6
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +90 -64
- package/corpus/templates/analytics/app/i18n-data.ts +3 -3
- package/corpus/templates/analytics/app/lib/dashboard-list-loading.ts +25 -0
- package/corpus/templates/analytics/app/lib/item-popularity.ts +13 -4
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/DashboardFilterBar.tsx +1 -1
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/pivot.ts +8 -3
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/types.ts +1 -0
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +15 -3
- package/corpus/templates/analytics/changelog/2026-07-16-dashboard-filter-defaults-can-now-be-changed-reliably-withou.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-16-dashboard-lists-load-in-one-stable-order-without-popping-bet.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-16-fixed-dashboard-filter-dropdown-text-alignment.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-16-recurring-signed-in-users-can-now-be-viewed-as-weekly-bars-b.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-16-the-analytics-agent-can-now-duplicate-a-chart-and-place-the-.md +6 -0
- package/corpus/templates/analytics/seeds/dashboards/agent-native-templates-first-party.json +41 -1
- package/corpus/templates/analytics/server/lib/dashboard-catalog.ts +1 -1
- package/corpus/templates/analytics/server/lib/first-party-metric-catalog.ts +47 -1
- package/corpus/templates/analytics/server/lib/session-replay.ts +68 -0
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +1 -0
- package/corpus/templates/analytics/server/routes/sessions/lookup.get.ts +47 -0
- package/corpus/templates/assets/.agents/skills/asset-generation/SKILL.md +16 -9
- package/corpus/templates/assets/.agents/skills/creative-context/SKILL.md +86 -0
- package/corpus/templates/assets/AGENTS.md +10 -0
- package/corpus/templates/assets/actions/create-generation-session.ts +59 -1
- package/corpus/templates/assets/actions/edit-image.ts +2 -0
- package/corpus/templates/assets/actions/generate-asset.ts +52 -0
- package/corpus/templates/assets/actions/generate-image-batch.ts +55 -0
- package/corpus/templates/assets/actions/generate-image.ts +219 -1
- package/corpus/templates/assets/actions/open-asset-picker.ts +14 -0
- package/corpus/templates/assets/actions/refine-image.ts +3 -0
- package/corpus/templates/assets/actions/restyle-image.ts +2 -0
- package/corpus/templates/assets/agent-native.app-skill.json +4 -0
- package/corpus/templates/assets/app/components/layout/Layout.tsx +2 -0
- package/corpus/templates/assets/app/i18n/zh-TW.ts +3 -0
- package/corpus/templates/assets/app/i18n-data.ts +29 -13
- package/corpus/templates/assets/app/routes/agent.tsx +7 -1
- package/corpus/templates/assets/app/routes/library.tsx +9 -0
- package/corpus/templates/assets/app/routes/settings.tsx +3 -0
- package/corpus/templates/assets/changelog/2026-07-16-creative-context-library.md +6 -0
- package/corpus/templates/assets/package.json +1 -0
- package/corpus/templates/assets/server/lib/image-processing.ts +1 -22
- package/corpus/templates/assets/server/plugins/creative-context.ts +205 -0
- package/corpus/templates/brain/app/i18n-data.ts +3 -3
- package/corpus/templates/brain/app/lib/brain.ts +1 -1
- package/corpus/templates/brain/server/lib/search.ts +17 -67
- package/corpus/templates/calendar/app/i18n-data.ts +3 -3
- package/corpus/templates/calendar/app/pages/BookingLinksPage.tsx +19 -18
- package/corpus/templates/chat/app/i18n/en-US.ts +3 -3
- package/corpus/templates/chat/app/lib/agent-page.tsx +10 -1
- package/corpus/templates/clips/.agents/skills/meetings/SKILL.md +1 -1
- package/corpus/templates/clips/AGENTS.md +4 -0
- package/corpus/templates/clips/actions/cleanup-transcript.ts +35 -4
- package/corpus/templates/clips/actions/create-meeting.ts +6 -2
- package/corpus/templates/clips/actions/create-organization.ts +3 -2
- package/corpus/templates/clips/actions/create-recording.ts +4 -1
- package/corpus/templates/clips/actions/finalize-recording.ts +44 -7
- package/corpus/templates/clips/actions/import-loom-recording.ts +4 -1
- package/corpus/templates/clips/actions/lib/create-recording-schema.ts +2 -2
- package/corpus/templates/clips/actions/list-meetings.ts +23 -5
- package/corpus/templates/clips/actions/list-organization-state.ts +1 -1
- package/corpus/templates/clips/actions/remove-silences.ts +10 -1
- package/corpus/templates/clips/actions/request-transcript.ts +53 -11
- package/corpus/templates/clips/actions/search-recordings-utils.ts +7 -0
- package/corpus/templates/clips/actions/search-recordings.ts +5 -8
- package/corpus/templates/clips/actions/set-organization-branding.ts +2 -2
- package/corpus/templates/clips/actions/stitch-recordings.ts +10 -5
- package/corpus/templates/clips/actions/update-ai-request-status.ts +38 -0
- package/corpus/templates/clips/app/components/editor/editor-layout.tsx +3 -4
- package/corpus/templates/clips/app/components/editor/editor-selection.ts +19 -0
- package/corpus/templates/clips/app/components/editor/stitch-manager.tsx +10 -10
- package/corpus/templates/clips/app/components/library/bulk-action-toolbar.tsx +1 -2
- package/corpus/templates/clips/app/components/library/library-grid.tsx +101 -93
- package/corpus/templates/clips/app/components/player/video-player.tsx +11 -0
- package/corpus/templates/clips/app/components/workspace/branding-editor.tsx +53 -1
- package/corpus/templates/clips/app/i18n/ar-SA.ts +7 -1
- package/corpus/templates/clips/app/i18n/de-DE.ts +7 -1
- package/corpus/templates/clips/app/i18n/en-US.ts +10 -4
- package/corpus/templates/clips/app/i18n/es-ES.ts +7 -1
- package/corpus/templates/clips/app/i18n/fr-FR.ts +7 -1
- package/corpus/templates/clips/app/i18n/hi-IN.ts +7 -1
- package/corpus/templates/clips/app/i18n/ja-JP.ts +7 -1
- package/corpus/templates/clips/app/i18n/ko-KR.ts +7 -1
- package/corpus/templates/clips/app/i18n/pt-BR.ts +7 -1
- package/corpus/templates/clips/app/i18n/zh-CN.ts +6 -1
- package/corpus/templates/clips/app/i18n/zh-TW.ts +6 -1
- package/corpus/templates/clips/app/routes/_app.settings._index.tsx +5 -9
- package/corpus/templates/clips/app/routes/_app.settings.organization.tsx +6 -2
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +129 -27
- package/corpus/templates/clips/app/routes/record.tsx +23 -2
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +6 -2
- package/corpus/templates/clips/changelog/2026-07-16-authorized-viewers-can-open-shared-private-clips-without-a-m.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-camera-bubble-hover-controls-appear-above-the-face.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-chrome-extension-recovers-stale-recorder-state.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-clips-agent-chat-no-longer-shows-a-separate-workspace-header.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-clips-search-now-matches-recording-content-without-requiring.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-declined-meetings-no-longer-show-desktop-reminders.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-failed-desktop-saves-now-show-their-local-recovery-copy.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-long-desktop-clips-now-preserve-complete-playback-synced-aud.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-long-recording-lists-keep-stitch-and-library-actions-visible.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-organization-admins-can-choose-new-recording-visibility.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-remove-silences-now-shows-queued-active-completed-and-failed.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-settings-no-longer-repeats-the-builder-connection-status-in-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-16-transcripts-now-appear-from-native-browser-speech-sooner-wit.md +6 -0
- package/corpus/templates/clips/chrome-extension/public/manifest.json +1 -1
- package/corpus/templates/clips/chrome-extension/src/background.ts +73 -1
- package/corpus/templates/clips/chrome-extension/src/native-recording-state.ts +32 -0
- package/corpus/templates/clips/chrome-extension/src/native-transcription.ts +248 -0
- package/corpus/templates/clips/chrome-extension/src/offscreen.ts +106 -0
- package/corpus/templates/clips/desktop/src/app.tsx +66 -28
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +335 -285
- package/corpus/templates/clips/desktop/src/lib/single-flight.ts +7 -0
- package/corpus/templates/clips/desktop/src/lib/upload-verification.ts +51 -0
- package/corpus/templates/clips/desktop/src/overlays/bubble.tsx +2 -2
- package/corpus/templates/clips/desktop/src/overlays/finalizing.tsx +10 -2
- package/corpus/templates/clips/desktop/src/styles.css +13 -11
- package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +8 -9
- package/corpus/templates/clips/desktop/src-tauri/src/meetings_watcher.rs +1 -0
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen/custom_capture.rs +88 -13
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen/live_upload.rs +13 -2
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +241 -6
- package/corpus/templates/clips/server/db/schema.ts +2 -2
- package/corpus/templates/clips/server/lib/builder-media-compression.ts +64 -67
- package/corpus/templates/clips/server/lib/calendar-event-classification.ts +19 -0
- package/corpus/templates/clips/server/lib/google-calendar-client.ts +1 -0
- package/corpus/templates/clips/server/lib/recordings.ts +40 -1
- package/corpus/templates/clips/server/plugins/agent-chat.ts +1 -0
- package/corpus/templates/clips/server/plugins/db.ts +2 -2
- package/corpus/templates/clips/server/routes/api/auth/google-calendar.get.ts +1 -1
- package/corpus/templates/clips/server/routes/api/public-recording.get.ts +14 -5
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +51 -1
- package/corpus/templates/clips/server/routes/api/video/[recordingId].get.ts +1 -64
- package/corpus/templates/clips/shared/media-worker-contract.ts +32 -15
- package/corpus/templates/content/.agents/skills/content/SKILL.md +16 -0
- package/corpus/templates/content/.agents/skills/creative-context/SKILL.md +85 -0
- package/corpus/templates/content/.agents/skills/notion-integration/SKILL.md +8 -0
- package/corpus/templates/content/AGENTS.md +9 -0
- package/corpus/templates/content/actions/create-document.ts +94 -0
- package/corpus/templates/content/actions/edit-document.ts +144 -4
- package/corpus/templates/content/actions/update-document.ts +138 -0
- package/corpus/templates/content/agent-native.app-skill.json +4 -0
- package/corpus/templates/content/app/components/layout/Layout.tsx +2 -0
- package/corpus/templates/content/app/i18n/zh-TW.ts +3 -0
- package/corpus/templates/content/app/i18n-data.ts +13 -4
- package/corpus/templates/content/app/routes/_app.agent.tsx +2 -1
- package/corpus/templates/content/app/routes/_app.settings.tsx +3 -0
- package/corpus/templates/content/changelog/2026-07-16-creative-context-library.md +6 -0
- package/corpus/templates/content/package.json +1 -0
- package/corpus/templates/content/server/plugins/creative-context.ts +31 -0
- package/corpus/templates/design/.agents/skills/creative-context/SKILL.md +116 -0
- package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +16 -0
- package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +8 -0
- package/corpus/templates/design/AGENTS.md +6 -0
- package/corpus/templates/design/actions/clone-creative-context-design.ts +176 -0
- package/corpus/templates/design/actions/edit-design.ts +128 -0
- package/corpus/templates/design/actions/generate-design.ts +278 -14
- package/corpus/templates/design/actions/generate-screens.ts +42 -1
- package/corpus/templates/design/agent-native.app-skill.json +4 -0
- package/corpus/templates/design/app/components/layout/Layout.tsx +7 -3
- package/corpus/templates/design/app/i18n/zh-TW.ts +3 -0
- package/corpus/templates/design/app/i18n-data.ts +10 -4
- package/corpus/templates/design/app/routes/agent.tsx +2 -1
- package/corpus/templates/design/app/routes/settings.tsx +3 -0
- package/corpus/templates/design/changelog/2026-07-16-creative-context-library.md +6 -0
- package/corpus/templates/design/changelog/2026-07-16-design-agent-chat-no-longer-shows-a-separate-workspace-header.md +6 -0
- package/corpus/templates/design/package.json +1 -0
- package/corpus/templates/design/server/lib/figma-design-context.ts +5 -335
- package/corpus/templates/design/server/lib/figma-node-to-html.ts +1 -1859
- package/corpus/templates/design/server/lib/import-design-files.ts +6 -8
- package/corpus/templates/design/server/plugins/creative-context.ts +31 -0
- package/corpus/templates/design/shared/generation-session.ts +7 -0
- package/corpus/templates/dispatch/app/i18n-data.ts +3 -3
- package/corpus/templates/forms/app/i18n/en-US.ts +3 -3
- package/corpus/templates/macros/app/i18n/en-US.ts +3 -3
- package/corpus/templates/mail/app/components/email/EmailThread.tsx +35 -5
- package/corpus/templates/mail/app/i18n/en-US.ts +3 -3
- package/corpus/templates/mail/changelog/2026-07-16-mail-previews-now-expand-to-show-the-full-message-without-an.md +6 -0
- package/corpus/templates/plan/.agents/skills/visual-plan/SKILL.md +30 -11
- package/corpus/templates/plan/AGENTS.md +21 -1
- package/corpus/templates/plan/actions/get-visual-plan.ts +1 -1
- package/corpus/templates/plan/actions/patch-visual-plan-source.ts +161 -0
- package/corpus/templates/plan/actions/read-visual-plan-source.ts +1 -1
- package/corpus/templates/plan/actions/update-visual-plan.ts +126 -10
- package/corpus/templates/plan/app/hooks/use-plans.ts +2 -0
- package/corpus/templates/plan/app/i18n/en-US.ts +3 -3
- package/corpus/templates/plan/app/pages/PlansPage.tsx +65 -62
- package/corpus/templates/plan/changelog/2026-07-16-local-plan-previews-now-load-annotations-containing-html-lik.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-16-plan-agents-now-prevent-stale-edits-from-overwriting-newer-p.md +6 -0
- package/corpus/templates/plan/server/plan-mdx.ts +75 -2
- package/corpus/templates/slides/.agents/skills/create-deck/SKILL.md +21 -4
- package/corpus/templates/slides/.agents/skills/creative-context/SKILL.md +122 -0
- package/corpus/templates/slides/.agents/skills/design-systems/SKILL.md +11 -0
- package/corpus/templates/slides/.agents/skills/slide-editing/SKILL.md +12 -3
- package/corpus/templates/slides/AGENTS.md +6 -0
- package/corpus/templates/slides/actions/add-slide.ts +230 -14
- package/corpus/templates/slides/actions/clone-context-slide.ts +302 -0
- package/corpus/templates/slides/actions/create-deck.ts +130 -0
- package/corpus/templates/slides/actions/extract-pdf.ts +6 -2
- package/corpus/templates/slides/actions/import-file.ts +5 -4
- package/corpus/templates/slides/actions/patch-deck.ts +200 -10
- package/corpus/templates/slides/actions/update-slide.ts +208 -15
- package/corpus/templates/slides/app/components/layout/Layout.tsx +2 -0
- package/corpus/templates/slides/app/components/visual-editor/CanvasCommentPins.tsx +16 -1
- package/corpus/templates/slides/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/slides/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/slides/app/i18n/en-US.ts +6 -3
- package/corpus/templates/slides/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/slides/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/slides/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/slides/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/slides/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/slides/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/slides/app/i18n/zh-CN.ts +3 -0
- package/corpus/templates/slides/app/i18n/zh-TW.ts +3 -0
- package/corpus/templates/slides/app/lib/validate-native-slide-html.ts +176 -0
- package/corpus/templates/slides/app/routes/agent.tsx +7 -1
- package/corpus/templates/slides/app/routes/settings.tsx +3 -0
- package/corpus/templates/slides/changelog/2026-07-16-creative-context-library.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-16-google-slides-native-cloning.md +6 -0
- package/corpus/templates/slides/package.json +1 -0
- package/corpus/templates/slides/server/handlers/import/docx-parser.ts +4 -85
- package/corpus/templates/slides/server/handlers/import/pptx-parser.ts +7 -421
- package/corpus/templates/slides/server/plugins/creative-context.ts +166 -0
- package/dist/agent/engine/credential-errors.d.ts +1 -1
- package/dist/agent/engine/credential-errors.d.ts.map +1 -1
- package/dist/agent/engine/credential-errors.js +2 -2
- package/dist/agent/engine/credential-errors.js.map +1 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +25 -0
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +12 -2
- package/dist/agent/run-store.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +1 -0
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/skills-content/visual-plan-skill.d.ts +1 -1
- package/dist/cli/skills-content/visual-plan-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/visual-plan-skill.js +30 -11
- package/dist/cli/skills-content/visual-plan-skill.js.map +1 -1
- package/dist/cli/templates-meta.d.ts.map +1 -1
- package/dist/cli/templates-meta.js +4 -3
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/client/AgentAskPopover.d.ts +11 -0
- package/dist/client/AgentAskPopover.d.ts.map +1 -0
- package/dist/client/AgentAskPopover.js +30 -0
- package/dist/client/AgentAskPopover.js.map +1 -0
- package/dist/client/AgentChatHome.d.ts +1 -1
- package/dist/client/AgentChatHome.d.ts.map +1 -1
- package/dist/client/AgentChatHome.js +2 -2
- package/dist/client/AgentChatHome.js.map +1 -1
- package/dist/client/AgentPanel.d.ts +9 -19
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +119 -80
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +4 -4
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts +3 -9
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +49 -189
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +12 -1
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/agent-page/AgentContextTab.d.ts.map +1 -1
- package/dist/client/agent-page/AgentContextTab.js +26 -28
- package/dist/client/agent-page/AgentContextTab.js.map +1 -1
- package/dist/client/agent-page/AgentEmptyState.d.ts +13 -0
- package/dist/client/agent-page/AgentEmptyState.d.ts.map +1 -0
- package/dist/client/agent-page/AgentEmptyState.js +6 -0
- package/dist/client/agent-page/AgentEmptyState.js.map +1 -0
- package/dist/client/agent-page/AgentJobsTab.d.ts +1 -1
- package/dist/client/agent-page/AgentJobsTab.d.ts.map +1 -1
- package/dist/client/agent-page/AgentJobsTab.js +90 -58
- package/dist/client/agent-page/AgentJobsTab.js.map +1 -1
- package/dist/client/agent-page/AgentTabFrame.d.ts +12 -0
- package/dist/client/agent-page/AgentTabFrame.d.ts.map +1 -0
- package/dist/client/agent-page/AgentTabFrame.js +7 -0
- package/dist/client/agent-page/AgentTabFrame.js.map +1 -0
- package/dist/client/agent-page/AgentTabsPage.d.ts +9 -1
- package/dist/client/agent-page/AgentTabsPage.d.ts.map +1 -1
- package/dist/client/agent-page/AgentTabsPage.js +135 -99
- package/dist/client/agent-page/AgentTabsPage.js.map +1 -1
- package/dist/client/agent-page/types.d.ts +1 -1
- package/dist/client/agent-page/types.d.ts.map +1 -1
- package/dist/client/agent-page/types.js.map +1 -1
- package/dist/client/analytics.d.ts +10 -3
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +37 -2
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/chat/run-recovery.d.ts.map +1 -1
- package/dist/client/chat/run-recovery.js +10 -3
- package/dist/client/chat/run-recovery.js.map +1 -1
- package/dist/client/composer/PromptComposer.d.ts.map +1 -1
- package/dist/client/composer/PromptComposer.js +2 -2
- package/dist/client/composer/PromptComposer.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +15 -3
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/dynamic-suggestions.js +3 -3
- package/dist/client/dynamic-suggestions.js.map +1 -1
- package/dist/client/index.d.ts +4 -3
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +3 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/resources/ResourceTree.d.ts +5 -1
- package/dist/client/resources/ResourceTree.d.ts.map +1 -1
- package/dist/client/resources/ResourceTree.js +74 -5
- package/dist/client/resources/ResourceTree.js.map +1 -1
- package/dist/client/resources/ResourcesPanel.d.ts +11 -2
- package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
- package/dist/client/resources/ResourcesPanel.js +105 -31
- package/dist/client/resources/ResourcesPanel.js.map +1 -1
- package/dist/client/session-replay.d.ts +28 -0
- package/dist/client/session-replay.d.ts.map +1 -1
- package/dist/client/session-replay.js +122 -8
- package/dist/client/session-replay.js.map +1 -1
- package/dist/client/settings/AutomationsSection.d.ts +3 -1
- package/dist/client/settings/AutomationsSection.d.ts.map +1 -1
- package/dist/client/settings/AutomationsSection.js +16 -6
- package/dist/client/settings/AutomationsSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +3 -3
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/SettingsTabsPage.d.ts +2 -0
- package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
- package/dist/client/settings/SettingsTabsPage.js.map +1 -1
- package/dist/client/settings/agent-settings-search.js +2 -2
- package/dist/client/settings/agent-settings-search.js.map +1 -1
- package/dist/client/use-chat-threads.d.ts +2 -0
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/connections/catalog.d.ts +41 -7
- package/dist/connections/catalog.d.ts.map +1 -1
- package/dist/connections/catalog.js +40 -7
- package/dist/connections/catalog.js.map +1 -1
- package/dist/db/index.d.ts +2 -2
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +2 -2
- package/dist/db/index.js.map +1 -1
- package/dist/extensions/actions.d.ts.map +1 -1
- package/dist/extensions/actions.js +85 -15
- package/dist/extensions/actions.js.map +1 -1
- package/dist/extensions/content-patch.d.ts +4 -0
- package/dist/extensions/content-patch.d.ts.map +1 -1
- package/dist/extensions/content-patch.js +18 -0
- package/dist/extensions/content-patch.js.map +1 -1
- package/dist/extensions/routes.d.ts.map +1 -1
- package/dist/extensions/routes.js +14 -0
- package/dist/extensions/routes.js.map +1 -1
- package/dist/extensions/store.d.ts +1 -0
- package/dist/extensions/store.d.ts.map +1 -1
- package/dist/extensions/store.js +4 -1
- package/dist/extensions/store.js.map +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ingestion/docx.d.ts +16 -0
- package/dist/ingestion/docx.d.ts.map +1 -0
- package/dist/ingestion/docx.js +129 -0
- package/dist/ingestion/docx.js.map +1 -0
- package/dist/ingestion/figma-node-to-html.d.ts +304 -0
- package/dist/ingestion/figma-node-to-html.d.ts.map +1 -0
- package/dist/ingestion/figma-node-to-html.js +1292 -0
- package/dist/ingestion/figma-node-to-html.js.map +1 -0
- package/dist/ingestion/figma.d.ts +115 -0
- package/dist/ingestion/figma.d.ts.map +1 -0
- package/dist/ingestion/figma.js +399 -0
- package/dist/ingestion/figma.js.map +1 -0
- package/dist/ingestion/index.d.ts +11 -0
- package/dist/ingestion/index.d.ts.map +1 -0
- package/dist/ingestion/index.js +11 -0
- package/dist/ingestion/index.js.map +1 -0
- package/dist/ingestion/media.d.ts +36 -0
- package/dist/ingestion/media.d.ts.map +1 -0
- package/dist/ingestion/media.js +178 -0
- package/dist/ingestion/media.js.map +1 -0
- package/dist/ingestion/notion.d.ts +12 -0
- package/dist/ingestion/notion.d.ts.map +1 -0
- package/dist/ingestion/notion.js +104 -0
- package/dist/ingestion/notion.js.map +1 -0
- package/dist/ingestion/office.d.ts +45 -0
- package/dist/ingestion/office.d.ts.map +1 -0
- package/dist/ingestion/office.js +141 -0
- package/dist/ingestion/office.js.map +1 -0
- package/dist/ingestion/orchestration.d.ts +52 -0
- package/dist/ingestion/orchestration.d.ts.map +1 -0
- package/dist/ingestion/orchestration.js +89 -0
- package/dist/ingestion/orchestration.js.map +1 -0
- package/dist/ingestion/pptx.d.ts +28 -0
- package/dist/ingestion/pptx.d.ts.map +1 -0
- package/dist/ingestion/pptx.js +255 -0
- package/dist/ingestion/pptx.js.map +1 -0
- package/dist/ingestion/selection.d.ts +20 -0
- package/dist/ingestion/selection.d.ts.map +1 -0
- package/dist/ingestion/selection.js +52 -0
- package/dist/ingestion/selection.js.map +1 -0
- package/dist/ingestion/website.d.ts +27 -0
- package/dist/ingestion/website.d.ts.map +1 -0
- package/dist/ingestion/website.js +100 -0
- package/dist/ingestion/website.js.map +1 -0
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +32 -27
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/localization/default-messages.d.ts +22 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +31 -9
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/observability/hosted-model-experiment.d.ts +39 -0
- package/dist/observability/hosted-model-experiment.d.ts.map +1 -0
- package/dist/observability/hosted-model-experiment.js +90 -0
- package/dist/observability/hosted-model-experiment.js.map +1 -0
- package/dist/observability/routes.d.ts +5 -5
- package/dist/observability/traces.d.ts.map +1 -1
- package/dist/observability/traces.js +5 -3
- package/dist/observability/traces.js.map +1 -1
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/index.d.ts +35 -4
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +339 -8
- package/dist/provider-api/index.js.map +1 -1
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.d.ts.map +1 -1
- package/dist/scripts/agent-engines/list-agent-engines.js +18 -1
- package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
- package/dist/search-utils/index.d.ts +12 -0
- package/dist/search-utils/index.d.ts.map +1 -0
- package/dist/search-utils/index.js +95 -0
- package/dist/search-utils/index.js.map +1 -0
- package/dist/secrets/register-framework-secrets.d.ts.map +1 -1
- package/dist/secrets/register-framework-secrets.js +57 -0
- package/dist/secrets/register-framework-secrets.js.map +1 -1
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/action-discovery.d.ts +8 -0
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +26 -9
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/agent-chat/framework-prompts.js +2 -2
- package/dist/server/agent-chat/framework-prompts.js.map +1 -1
- package/dist/server/agent-chat/prompt-resources.d.ts +19 -0
- package/dist/server/agent-chat/prompt-resources.d.ts.map +1 -1
- package/dist/server/agent-chat/prompt-resources.js +95 -0
- package/dist/server/agent-chat/prompt-resources.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +7 -0
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/core-routes-plugin.d.ts.map +1 -1
- package/dist/server/core-routes-plugin.js +5 -0
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/index.d.ts +5 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +5 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/workspace-provider-oauth.d.ts +48 -0
- package/dist/server/workspace-provider-oauth.d.ts.map +1 -0
- package/dist/server/workspace-provider-oauth.js +415 -0
- package/dist/server/workspace-provider-oauth.js.map +1 -0
- package/dist/styles/agent-native.css +9 -0
- package/dist/templates/chat/app/i18n/en-US.ts +3 -3
- package/dist/templates/chat/app/lib/agent-page.tsx +10 -1
- package/dist/templates/default/app/i18n/en-US.ts +3 -3
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +14 -5
- package/dist/templates/workspace-root/.env.example +12 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +2 -0
- package/dist/vite/client.js.map +1 -1
- package/dist/workspace-connections/index.d.ts +1 -0
- package/dist/workspace-connections/index.d.ts.map +1 -1
- package/dist/workspace-connections/index.js +1 -0
- package/dist/workspace-connections/index.js.map +1 -1
- package/dist/workspace-connections/lifecycle.d.ts +16 -0
- package/dist/workspace-connections/lifecycle.d.ts.map +1 -0
- package/dist/workspace-connections/lifecycle.js +14 -0
- package/dist/workspace-connections/lifecycle.js.map +1 -0
- package/dist/workspace-connections/store.d.ts.map +1 -1
- package/dist/workspace-connections/store.js +16 -0
- package/dist/workspace-connections/store.js.map +1 -1
- package/package.json +10 -3
- package/src/templates/chat/app/i18n/en-US.ts +3 -3
- package/src/templates/chat/app/lib/agent-page.spec.tsx +10 -1
- package/src/templates/chat/app/lib/agent-page.tsx +10 -1
- package/src/templates/default/app/i18n/en-US.ts +3 -3
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +14 -5
- package/src/templates/workspace-root/.env.example +12 -0
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
type ListRecordingsArgs,
|
|
20
20
|
type RecordingSummary,
|
|
21
21
|
} from "@/hooks/use-library";
|
|
22
|
+
import { cn } from "@/lib/utils";
|
|
22
23
|
|
|
23
24
|
import { BulkActionToolbar, type BulkMoveTarget } from "./bulk-action-toolbar";
|
|
24
25
|
import { EmptyState } from "./empty-state";
|
|
@@ -291,109 +292,116 @@ export function LibraryGrid({
|
|
|
291
292
|
)}
|
|
292
293
|
|
|
293
294
|
{/* Grid body */}
|
|
294
|
-
<div className="flex-1 overflow-
|
|
295
|
-
<div
|
|
296
|
-
{
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
295
|
+
<div className="relative flex min-h-0 flex-1 overflow-hidden">
|
|
296
|
+
<div
|
|
297
|
+
className={cn(
|
|
298
|
+
"min-h-0 flex-1 overflow-y-auto",
|
|
299
|
+
selected.size > 0 && "pb-20",
|
|
300
|
+
)}
|
|
301
|
+
>
|
|
302
|
+
<div className="p-5">
|
|
303
|
+
{isLoading ? (
|
|
304
|
+
<div className="grid gap-4 [grid-template-columns:repeat(auto-fill,minmax(300px,1fr))]">
|
|
305
|
+
{Array.from({ length: 8 }).map((_, i) => (
|
|
306
|
+
<Skeleton key={i} />
|
|
307
|
+
))}
|
|
306
308
|
</div>
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
canManageRecordings
|
|
342
|
-
|
|
343
|
-
: undefined
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
);
|
|
358
|
-
}
|
|
359
|
-
: undefined
|
|
360
|
-
}
|
|
361
|
-
onArchive={
|
|
362
|
-
canManageRecordings
|
|
363
|
-
? (rec) => {
|
|
364
|
-
if (rec.archivedAt) {
|
|
365
|
-
restoreRecording.mutate(
|
|
366
|
-
{ id: rec.id },
|
|
367
|
-
{
|
|
368
|
-
onSuccess: () =>
|
|
369
|
-
toast.success(
|
|
370
|
-
t("libraryGrid.restoredFromArchive"),
|
|
371
|
-
),
|
|
372
|
-
},
|
|
373
|
-
);
|
|
374
|
-
} else {
|
|
375
|
-
archiveRecording.mutate(
|
|
309
|
+
) : isError && recordings.length === 0 ? (
|
|
310
|
+
<div className="flex flex-1 flex-col items-center justify-center py-20 px-8 text-center">
|
|
311
|
+
<div className="relative mb-6 flex h-20 w-20 items-center justify-center rounded-2xl bg-destructive/10">
|
|
312
|
+
<IconAlertTriangle className="h-10 w-10 text-destructive" />
|
|
313
|
+
</div>
|
|
314
|
+
<h2 className="text-base font-semibold text-foreground mb-1">
|
|
315
|
+
{t("libraryGrid.loadFailedTitle")}
|
|
316
|
+
</h2>
|
|
317
|
+
<p className="text-sm text-muted-foreground max-w-sm mb-5">
|
|
318
|
+
{t("libraryGrid.loadFailedBody")}
|
|
319
|
+
</p>
|
|
320
|
+
<Button
|
|
321
|
+
onClick={() => refetch()}
|
|
322
|
+
disabled={isRefetching}
|
|
323
|
+
size="sm"
|
|
324
|
+
>
|
|
325
|
+
{t("libraryGrid.retry")}
|
|
326
|
+
</Button>
|
|
327
|
+
</div>
|
|
328
|
+
) : recordings.length === 0 ? (
|
|
329
|
+
<EmptyState
|
|
330
|
+
kind={resolvedEmptyKind}
|
|
331
|
+
spaceId={spaceId}
|
|
332
|
+
folderId={folderId}
|
|
333
|
+
/>
|
|
334
|
+
) : (
|
|
335
|
+
<div className="grid gap-4 [grid-template-columns:repeat(auto-fill,minmax(300px,1fr))]">
|
|
336
|
+
{recordings.map((r: RecordingSummary) => (
|
|
337
|
+
<RecordingCard
|
|
338
|
+
key={r.id}
|
|
339
|
+
recording={r}
|
|
340
|
+
selected={
|
|
341
|
+
canManageRecordings ? selected.has(r.id) : undefined
|
|
342
|
+
}
|
|
343
|
+
selectionMode={canManageRecordings && selectionMode}
|
|
344
|
+
onToggleSelect={
|
|
345
|
+
canManageRecordings ? toggleSelect : undefined
|
|
346
|
+
}
|
|
347
|
+
onShare={
|
|
348
|
+
canManageRecordings
|
|
349
|
+
? (rec) => setSharingRec(rec)
|
|
350
|
+
: undefined
|
|
351
|
+
}
|
|
352
|
+
moveTargets={moveTargets}
|
|
353
|
+
onMove={canMoveSelection ? moveSingle : undefined}
|
|
354
|
+
isMovePending={moveRecording.isPending}
|
|
355
|
+
onTrash={
|
|
356
|
+
canManageRecordings
|
|
357
|
+
? (rec) => {
|
|
358
|
+
trashRecording.mutate(
|
|
376
359
|
{ id: rec.id },
|
|
377
360
|
{
|
|
378
361
|
onSuccess: () =>
|
|
379
|
-
toast.success(t("libraryGrid.
|
|
362
|
+
toast.success(t("libraryGrid.movedToTrash")),
|
|
380
363
|
},
|
|
381
364
|
);
|
|
382
365
|
}
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
366
|
+
: undefined
|
|
367
|
+
}
|
|
368
|
+
onArchive={
|
|
369
|
+
canManageRecordings
|
|
370
|
+
? (rec) => {
|
|
371
|
+
if (rec.archivedAt) {
|
|
372
|
+
restoreRecording.mutate(
|
|
373
|
+
{ id: rec.id },
|
|
374
|
+
{
|
|
375
|
+
onSuccess: () =>
|
|
376
|
+
toast.success(
|
|
377
|
+
t("libraryGrid.restoredFromArchive"),
|
|
378
|
+
),
|
|
379
|
+
},
|
|
380
|
+
);
|
|
381
|
+
} else {
|
|
382
|
+
archiveRecording.mutate(
|
|
383
|
+
{ id: rec.id },
|
|
384
|
+
{
|
|
385
|
+
onSuccess: () =>
|
|
386
|
+
toast.success(t("libraryGrid.archived")),
|
|
387
|
+
},
|
|
388
|
+
);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
: undefined
|
|
392
|
+
}
|
|
393
|
+
readOnly={!canManageRecordings}
|
|
394
|
+
/>
|
|
395
|
+
))}
|
|
396
|
+
</div>
|
|
397
|
+
)}
|
|
398
|
+
</div>
|
|
391
399
|
</div>
|
|
392
400
|
|
|
393
|
-
{/*
|
|
401
|
+
{/* Keep selected-library actions visible while the recording list scrolls. */}
|
|
394
402
|
{canManageRecordings && selected.size > 0 && (
|
|
395
|
-
<div className="pointer-events-none
|
|
396
|
-
<div className="pointer-events-auto">
|
|
403
|
+
<div className="pointer-events-none absolute inset-x-0 bottom-0 z-30 flex justify-center px-4 pb-4">
|
|
404
|
+
<div className="pointer-events-auto max-w-full overflow-x-auto">
|
|
397
405
|
<BulkActionToolbar
|
|
398
406
|
count={selected.size}
|
|
399
407
|
moveTargets={moveTargets}
|
|
@@ -510,6 +510,17 @@ export const VideoPlayer = forwardRef<VideoPlayerHandle, VideoPlayerProps>(
|
|
|
510
510
|
bumpControls();
|
|
511
511
|
setPlayError(null);
|
|
512
512
|
|
|
513
|
+
// The center replay control calls requestPlay directly (rather than the
|
|
514
|
+
// surface toggle path), so restart an ended media element here as well.
|
|
515
|
+
if (v.ended) {
|
|
516
|
+
try {
|
|
517
|
+
v.currentTime = 0;
|
|
518
|
+
setCurrentMs(0);
|
|
519
|
+
} catch {
|
|
520
|
+
// Let the normal play attempt report a media error if the seek fails.
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
|
|
513
524
|
if (
|
|
514
525
|
!hasPlaybackStarted &&
|
|
515
526
|
(!startMs || startMs <= 0) &&
|
|
@@ -5,22 +5,34 @@ import {
|
|
|
5
5
|
} from "@agent-native/core/client";
|
|
6
6
|
import { IconPalette, IconPhoto } from "@tabler/icons-react";
|
|
7
7
|
import { useQueryClient } from "@tanstack/react-query";
|
|
8
|
-
import { useState } from "react";
|
|
8
|
+
import { useEffect, useState } from "react";
|
|
9
9
|
import { toast } from "sonner";
|
|
10
10
|
|
|
11
11
|
import { Button } from "@/components/ui/button";
|
|
12
12
|
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
|
13
13
|
import { Input } from "@/components/ui/input";
|
|
14
14
|
import { Label } from "@/components/ui/label";
|
|
15
|
+
import {
|
|
16
|
+
Select,
|
|
17
|
+
SelectContent,
|
|
18
|
+
SelectItem,
|
|
19
|
+
SelectTrigger,
|
|
20
|
+
SelectValue,
|
|
21
|
+
} from "@/components/ui/select";
|
|
22
|
+
|
|
23
|
+
export type RecordingVisibility = "private" | "org" | "public";
|
|
15
24
|
|
|
16
25
|
interface BrandingEditorProps {
|
|
17
26
|
organizationId: string;
|
|
18
27
|
initialName: string;
|
|
19
28
|
initialBrandColor: string;
|
|
20
29
|
initialBrandLogoUrl: string | null;
|
|
30
|
+
initialDefaultVisibility?: RecordingVisibility;
|
|
21
31
|
disabled?: boolean;
|
|
22
32
|
}
|
|
23
33
|
|
|
34
|
+
const DEFAULT_VISIBILITY: RecordingVisibility = "public";
|
|
35
|
+
|
|
24
36
|
const PRESETS = [
|
|
25
37
|
"#18181B",
|
|
26
38
|
"#22C55E",
|
|
@@ -54,6 +66,7 @@ export function BrandingEditor({
|
|
|
54
66
|
initialName,
|
|
55
67
|
initialBrandColor,
|
|
56
68
|
initialBrandLogoUrl,
|
|
69
|
+
initialDefaultVisibility = DEFAULT_VISIBILITY,
|
|
57
70
|
disabled,
|
|
58
71
|
}: BrandingEditorProps) {
|
|
59
72
|
const t = useT();
|
|
@@ -62,9 +75,15 @@ export function BrandingEditor({
|
|
|
62
75
|
const [brandLogoUrl, setBrandLogoUrl] = useState<string | null>(
|
|
63
76
|
initialBrandLogoUrl,
|
|
64
77
|
);
|
|
78
|
+
const [defaultVisibility, setDefaultVisibility] =
|
|
79
|
+
useState<RecordingVisibility>(initialDefaultVisibility);
|
|
65
80
|
const [uploading, setUploading] = useState(false);
|
|
66
81
|
const [dragging, setDragging] = useState(false);
|
|
67
82
|
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
setDefaultVisibility(initialDefaultVisibility);
|
|
85
|
+
}, [initialDefaultVisibility]);
|
|
86
|
+
|
|
68
87
|
const qc = useQueryClient();
|
|
69
88
|
const save = useActionMutation<
|
|
70
89
|
any,
|
|
@@ -73,6 +92,7 @@ export function BrandingEditor({
|
|
|
73
92
|
name?: string;
|
|
74
93
|
brandColor?: string;
|
|
75
94
|
brandLogoUrl?: string | null;
|
|
95
|
+
defaultVisibility?: RecordingVisibility;
|
|
76
96
|
}
|
|
77
97
|
>("set-organization-branding");
|
|
78
98
|
|
|
@@ -103,6 +123,7 @@ export function BrandingEditor({
|
|
|
103
123
|
name: name.trim() || undefined,
|
|
104
124
|
brandColor,
|
|
105
125
|
brandLogoUrl,
|
|
126
|
+
defaultVisibility,
|
|
106
127
|
});
|
|
107
128
|
toast.success(t("brandingEditor.brandingUpdated"));
|
|
108
129
|
qc.invalidateQueries({
|
|
@@ -246,6 +267,37 @@ export function BrandingEditor({
|
|
|
246
267
|
</div>
|
|
247
268
|
</div>
|
|
248
269
|
|
|
270
|
+
<div className="space-y-1.5">
|
|
271
|
+
<Label htmlFor="default-visibility">
|
|
272
|
+
{t("brandingEditor.defaultVisibility")}
|
|
273
|
+
</Label>
|
|
274
|
+
<Select
|
|
275
|
+
value={defaultVisibility}
|
|
276
|
+
onValueChange={(value) =>
|
|
277
|
+
setDefaultVisibility(value as RecordingVisibility)
|
|
278
|
+
}
|
|
279
|
+
disabled={disabled}
|
|
280
|
+
>
|
|
281
|
+
<SelectTrigger id="default-visibility">
|
|
282
|
+
<SelectValue />
|
|
283
|
+
</SelectTrigger>
|
|
284
|
+
<SelectContent>
|
|
285
|
+
<SelectItem value="public">
|
|
286
|
+
{t("playerSettings.visibilityPublic")}
|
|
287
|
+
</SelectItem>
|
|
288
|
+
<SelectItem value="org">
|
|
289
|
+
{t("playerSettings.visibilityOrg")}
|
|
290
|
+
</SelectItem>
|
|
291
|
+
<SelectItem value="private">
|
|
292
|
+
{t("playerSettings.visibilityPrivate")}
|
|
293
|
+
</SelectItem>
|
|
294
|
+
</SelectContent>
|
|
295
|
+
</Select>
|
|
296
|
+
<p className="text-xs text-muted-foreground">
|
|
297
|
+
{t("brandingEditor.defaultVisibilityDescription")}
|
|
298
|
+
</p>
|
|
299
|
+
</div>
|
|
300
|
+
|
|
249
301
|
<div className="rounded-md border p-4">
|
|
250
302
|
<div className="text-xs uppercase tracking-wide text-muted-foreground mb-2">
|
|
251
303
|
{t("brandingEditor.preview")}
|
|
@@ -170,7 +170,7 @@ const messages = {
|
|
|
170
170
|
"انتهى مسجل سطح المكتب وحفظ نسخة محلية، لكن لم يتمكن Clips من تحميلها. يمكنك إعادة المحاولة من قائمة Clips دون التسجيل مرة أخرى.",
|
|
171
171
|
retryLibrary: "يمكنك إعادة المحاولة من المكتبة.",
|
|
172
172
|
processingStuck:
|
|
173
|
-
"
|
|
173
|
+
"يستغرق حفظ المقطع وقتًا أطول من المتوقع (الحالة={{status}}). إذا سجلته في تطبيق سطح المكتب، فافتح Clips من شريط القوائم لإعادة محاولة الرفع أو تنزيل نسخة محلية محفوظة، ثم تحقق مرة أخرى.",
|
|
174
174
|
uploadingAssembling:
|
|
175
175
|
"تحميل الفيديو الخاص بك وتجميعه — يستغرق هذا عادةً بضع ثوانٍ فقط.",
|
|
176
176
|
connectStorageImportLoom: "قم بتوصيل وحدة التخزين لاستيراد Loom هذا.",
|
|
@@ -214,6 +214,9 @@ const messages = {
|
|
|
214
214
|
autoChapters: "فصول السيارات",
|
|
215
215
|
removeFillerWords: "إزالة كلمات الحشو",
|
|
216
216
|
removeSilences: "إزالة فترات الصمت (> 1.2 ثانية)",
|
|
217
|
+
silenceWorking: "جارٍ إزالة فترات الصمت…",
|
|
218
|
+
silenceCompleted: "اكتملت إزالة فترات الصمت",
|
|
219
|
+
silenceFailed: "فشلت إزالة فترات الصمت",
|
|
217
220
|
generatePrSummary: "إنشاء ملخص للعلاقات العامة",
|
|
218
221
|
generateSop: "توليد SOP",
|
|
219
222
|
generateSopTooltip:
|
|
@@ -540,6 +543,9 @@ const messages = {
|
|
|
540
543
|
brandingUpdated: "تم تحديث العلامة التجارية",
|
|
541
544
|
saveFailed: "فشل الحفظ",
|
|
542
545
|
organizationName: "اسم المؤسسة",
|
|
546
|
+
defaultVisibility: "الرؤية الافتراضية للتسجيلات الجديدة",
|
|
547
|
+
defaultVisibilityDescription:
|
|
548
|
+
"تُطبّق على التسجيلات الجديدة ما لم تختر رؤية مختلفة.",
|
|
543
549
|
brandColor: "لون العلامة التجارية",
|
|
544
550
|
brandColorPicker: "منتقي لون العلامة التجارية",
|
|
545
551
|
useColor: "استخدم {{color}}",
|
|
@@ -174,7 +174,7 @@ const messages = {
|
|
|
174
174
|
"Der Desktop-Recorder hat den Vorgang abgeschlossen und eine lokale Kopie gespeichert, aber Clips konnte sie nicht hochladen. Sie können es über das Clips-Menü erneut versuchen, ohne erneut aufzunehmen.",
|
|
175
175
|
retryLibrary: "Sie können es in der Bibliothek erneut versuchen.",
|
|
176
176
|
processingStuck:
|
|
177
|
-
"
|
|
177
|
+
"Das Speichern dauert länger als erwartet (Status={{status}}). Wenn du mit der Desktop-App aufgenommen hast, öffne Clips über die Menüleiste, um den Upload erneut zu versuchen oder eine gespeicherte lokale Kopie herunterzuladen. Prüfe danach erneut.",
|
|
178
178
|
uploadingAssembling:
|
|
179
179
|
"Das Hochladen und Zusammenstellen Ihres Videos dauert normalerweise nur wenige Sekunden.",
|
|
180
180
|
connectStorageImportLoom:
|
|
@@ -225,6 +225,9 @@ const messages = {
|
|
|
225
225
|
autoChapters: "Automatische Kapitel",
|
|
226
226
|
removeFillerWords: "Entfernen Sie Füllwörter",
|
|
227
227
|
removeSilences: "Stille entfernen (>1,2 s)",
|
|
228
|
+
silenceWorking: "Stille wird entfernt…",
|
|
229
|
+
silenceCompleted: "Entfernen der Stille abgeschlossen",
|
|
230
|
+
silenceFailed: "Entfernen der Stille fehlgeschlagen",
|
|
228
231
|
generatePrSummary: "Erstellen Sie eine PR-Zusammenfassung",
|
|
229
232
|
generateSop: "Generieren Sie SOP",
|
|
230
233
|
generateSopTooltip:
|
|
@@ -555,6 +558,9 @@ const messages = {
|
|
|
555
558
|
brandingUpdated: "Branding aktualisiert",
|
|
556
559
|
saveFailed: "Speichern fehlgeschlagen",
|
|
557
560
|
organizationName: "Name der Organisation",
|
|
561
|
+
defaultVisibility: "Standard-Sichtbarkeit neuer Aufnahmen",
|
|
562
|
+
defaultVisibilityDescription:
|
|
563
|
+
"Wird auf neue Aufnahmen angewendet, sofern du keine andere Sichtbarkeit auswählst.",
|
|
558
564
|
brandColor: "Markenfarbe",
|
|
559
565
|
brandColorPicker: "Markenfarbauswahl",
|
|
560
566
|
useColor: "Verwenden Sie {{color}}",
|
|
@@ -161,6 +161,9 @@ const messages = {
|
|
|
161
161
|
chapterQueued: "Chapter request queued",
|
|
162
162
|
fillerQueued: "Filler-word removal queued",
|
|
163
163
|
silenceQueued: "Silence removal queued",
|
|
164
|
+
silenceWorking: "Removing silences…",
|
|
165
|
+
silenceCompleted: "Silence removal complete",
|
|
166
|
+
silenceFailed: "Silence removal failed",
|
|
164
167
|
workflowQueued: "Workflow request queued",
|
|
165
168
|
pageTitle: "Clip recording · Clips",
|
|
166
169
|
loomMissingUrl: "This Loom recording is missing its source URL.",
|
|
@@ -171,7 +174,7 @@ const messages = {
|
|
|
171
174
|
"The desktop recorder finished and saved a local copy, but Clips could not upload it. You can retry from the Clips menu without recording again.",
|
|
172
175
|
retryLibrary: "You can retry from the library.",
|
|
173
176
|
processingStuck:
|
|
174
|
-
"
|
|
177
|
+
"Saving is taking longer than expected (status={{status}}). If you recorded in the desktop app, open Clips from the menu bar to retry or download a saved local copy, then check again.",
|
|
175
178
|
uploadingAssembling:
|
|
176
179
|
"Uploading and assembling your video — this usually takes just a few seconds.",
|
|
177
180
|
connectStorageImportLoom: "Connect storage to import this Loom.",
|
|
@@ -536,6 +539,9 @@ const messages = {
|
|
|
536
539
|
brandingUpdated: "Branding updated",
|
|
537
540
|
saveFailed: "Failed to save",
|
|
538
541
|
organizationName: "Organization name",
|
|
542
|
+
defaultVisibility: "Default recording visibility",
|
|
543
|
+
defaultVisibilityDescription:
|
|
544
|
+
"Applied to new recordings unless you choose a different visibility.",
|
|
539
545
|
brandColor: "Brand color",
|
|
540
546
|
brandColorPicker: "Brand color picker",
|
|
541
547
|
useColor: "Use {{color}}",
|
|
@@ -602,10 +608,10 @@ const messages = {
|
|
|
602
608
|
pageTitle: "Join team · Clips",
|
|
603
609
|
},
|
|
604
610
|
settings: {
|
|
605
|
-
openAgentSettings: "Open agent
|
|
611
|
+
openAgentSettings: "Open agent workspace",
|
|
606
612
|
agentDescription:
|
|
607
|
-
"Open the agent
|
|
608
|
-
agentTitle: "Agent
|
|
613
|
+
"Open the agent workspace for model, API keys, automations, voice, and other agent controls.",
|
|
614
|
+
agentTitle: "Agent workspace",
|
|
609
615
|
title: "Settings",
|
|
610
616
|
pageTitle: "Settings · Clips",
|
|
611
617
|
intro: "Preferences and connected services for this Clips workspace.",
|
|
@@ -173,7 +173,7 @@ const messages = {
|
|
|
173
173
|
"La grabadora de escritorio terminó y guardó una copia local, pero Clips no pudo cargarla. Puedes volver a intentarlo desde el menú Clips sin volver a grabar.",
|
|
174
174
|
retryLibrary: "Puedes volver a intentarlo desde la biblioteca.",
|
|
175
175
|
processingStuck:
|
|
176
|
-
"El
|
|
176
|
+
"El guardado está tardando más de lo esperado (estado={{status}}). Si grabaste con la aplicación de escritorio, abre Clips desde la barra de menús para reintentar la carga o descargar una copia local guardada y vuelve a comprobarlo.",
|
|
177
177
|
uploadingAssembling:
|
|
178
178
|
"Cargar y ensamblar su video; esto generalmente toma solo unos segundos.",
|
|
179
179
|
connectStorageImportLoom:
|
|
@@ -224,6 +224,9 @@ const messages = {
|
|
|
224
224
|
autoChapters: "capítulos automáticos",
|
|
225
225
|
removeFillerWords: "Eliminar palabras de relleno",
|
|
226
226
|
removeSilences: "Eliminar silencios (>1,2s)",
|
|
227
|
+
silenceWorking: "Eliminando silencios…",
|
|
228
|
+
silenceCompleted: "Eliminación de silencios completada",
|
|
229
|
+
silenceFailed: "No se pudieron eliminar los silencios",
|
|
227
230
|
generatePrSummary: "Generar resumen de relaciones públicas",
|
|
228
231
|
generateSop: "Generar SOP",
|
|
229
232
|
generateSopTooltip:
|
|
@@ -552,6 +555,9 @@ const messages = {
|
|
|
552
555
|
brandingUpdated: "Marca actualizada",
|
|
553
556
|
saveFailed: "No se pudo guardar",
|
|
554
557
|
organizationName: "Nombre de la organización",
|
|
558
|
+
defaultVisibility: "Visibilidad predeterminada de las nuevas grabaciones",
|
|
559
|
+
defaultVisibilityDescription:
|
|
560
|
+
"Se aplica a las nuevas grabaciones, a menos que elijas otra visibilidad.",
|
|
555
561
|
brandColor: "Color de la marca",
|
|
556
562
|
brandColorPicker: "Selector de color de marca",
|
|
557
563
|
useColor: "Utilice {{color}}",
|
|
@@ -172,7 +172,7 @@ const messages = {
|
|
|
172
172
|
"L'enregistreur de bureau a terminé et a enregistré une copie locale, mais Clips n'a pas pu la télécharger. Vous pouvez réessayer à partir du menu Clips sans réenregistrer.",
|
|
173
173
|
retryLibrary: "Vous pouvez réessayer depuis la bibliothèque.",
|
|
174
174
|
processingStuck:
|
|
175
|
-
"
|
|
175
|
+
"L’enregistrement prend plus de temps que prévu (statut={{status}}). Si vous avez utilisé l’application de bureau, ouvrez Clips depuis la barre des menus pour réessayer l’envoi ou télécharger une copie locale enregistrée, puis vérifiez à nouveau.",
|
|
176
176
|
uploadingAssembling:
|
|
177
177
|
"Télécharger et assembler votre vidéo : cela ne prend généralement que quelques secondes.",
|
|
178
178
|
connectStorageImportLoom: "Connectez le stockage pour importer ce Loom.",
|
|
@@ -224,6 +224,9 @@ const messages = {
|
|
|
224
224
|
autoChapters: "Chapitres automatiques",
|
|
225
225
|
removeFillerWords: "Supprimer les mots de remplissage",
|
|
226
226
|
removeSilences: "Supprimer les silences (>1,2s)",
|
|
227
|
+
silenceWorking: "Suppression des silences…",
|
|
228
|
+
silenceCompleted: "Suppression des silences terminée",
|
|
229
|
+
silenceFailed: "Échec de la suppression des silences",
|
|
227
230
|
generatePrSummary: "Générer un résumé des relations publiques",
|
|
228
231
|
generateSop: "Générer SOP",
|
|
229
232
|
generateSopTooltip:
|
|
@@ -552,6 +555,9 @@ const messages = {
|
|
|
552
555
|
brandingUpdated: "Image de marque mise à jour",
|
|
553
556
|
saveFailed: "Échec de l'enregistrement",
|
|
554
557
|
organizationName: "Nom de l'organisation",
|
|
558
|
+
defaultVisibility: "Visibilité par défaut des nouveaux enregistrements",
|
|
559
|
+
defaultVisibilityDescription:
|
|
560
|
+
"S'applique aux nouveaux enregistrements, sauf si vous choisissez une autre visibilité.",
|
|
555
561
|
brandColor: "Couleur de la marque",
|
|
556
562
|
brandColorPicker: "Sélecteur de couleurs de marque",
|
|
557
563
|
useColor: "Utilisez {{color}}",
|
|
@@ -171,7 +171,7 @@ const messages = {
|
|
|
171
171
|
"डेस्कटॉप रिकॉर्डर ने काम पूरा कर लिया और एक स्थानीय प्रतिलिपि सहेज ली, लेकिन Clips इसे अपलोड नहीं कर सका। आप दोबारा रिकॉर्डिंग किए बिना Clips मेनू से पुनः प्रयास कर सकते हैं।",
|
|
172
172
|
retryLibrary: "आप लाइब्रेरी से पुनः प्रयास कर सकते हैं.",
|
|
173
173
|
processingStuck:
|
|
174
|
-
"
|
|
174
|
+
"क्लिप को सेव होने में अपेक्षा से अधिक समय लग रहा है (स्थिति={{status}})। अगर आपने डेस्कटॉप ऐप में रिकॉर्ड किया है, तो अपलोड दोबारा करने या सेव की गई स्थानीय कॉपी डाउनलोड करने के लिए मेनू बार से Clips खोलें, फिर दोबारा जाँचें।",
|
|
175
175
|
uploadingAssembling:
|
|
176
176
|
"अपना वीडियो अपलोड करना और असेंबल करना - इसमें आमतौर पर बस कुछ सेकंड लगते हैं।",
|
|
177
177
|
connectStorageImportLoom: "इस Loom को आयात करने के लिए स्टोरेज कनेक्ट करें।",
|
|
@@ -214,6 +214,9 @@ const messages = {
|
|
|
214
214
|
autoChapters: "ऑटो अध्याय",
|
|
215
215
|
removeFillerWords: "पूरक शब्द हटाएँ",
|
|
216
216
|
removeSilences: "मौन हटाएँ (>1.2s)",
|
|
217
|
+
silenceWorking: "मौन हटाए जा रहे हैं…",
|
|
218
|
+
silenceCompleted: "मौन हटाना पूरा हुआ",
|
|
219
|
+
silenceFailed: "मौन हटाना विफल रहा",
|
|
217
220
|
generatePrSummary: "पीआर सारांश तैयार करें",
|
|
218
221
|
generateSop: "SOP उत्पन्न करें",
|
|
219
222
|
generateSopTooltip:
|
|
@@ -532,6 +535,9 @@ const messages = {
|
|
|
532
535
|
brandingUpdated: "ब्रांडिंग अपडेट हुई",
|
|
533
536
|
saveFailed: "सहेजने में विफल",
|
|
534
537
|
organizationName: "संगठन का नाम",
|
|
538
|
+
defaultVisibility: "नई रिकॉर्डिंग की डिफ़ॉल्ट दृश्यता",
|
|
539
|
+
defaultVisibilityDescription:
|
|
540
|
+
"जब तक आप कोई अलग दृश्यता न चुनें, यह नई रिकॉर्डिंग पर लागू होगी।",
|
|
535
541
|
brandColor: "ब्रांड रंग",
|
|
536
542
|
brandColorPicker: "ब्रांड रंग चयनकर्ता",
|
|
537
543
|
useColor: "{{color}} उपयोग करें",
|
|
@@ -172,7 +172,7 @@ const messages = {
|
|
|
172
172
|
"デスクトップ レコーダーは終了し、ローカル コピーを保存しましたが、Clips はそれをアップロードできませんでした。再度録音せずに、Clips メニューから再試行できます。",
|
|
173
173
|
retryLibrary: "ライブラリから再試行できます。",
|
|
174
174
|
processingStuck:
|
|
175
|
-
"
|
|
175
|
+
"保存に予想以上の時間がかかっています(ステータス={{status}})。デスクトップアプリで録画した場合は、メニューバーから Clips を開き、アップロードを再試行するか保存済みのローカルコピーをダウンロードしてから、もう一度確認してください。",
|
|
176
176
|
uploadingAssembling:
|
|
177
177
|
"ビデオのアップロードと組み立て - 通常、これには数秒しかかかりません。",
|
|
178
178
|
connectStorageImportLoom:
|
|
@@ -222,6 +222,9 @@ const messages = {
|
|
|
222
222
|
autoChapters: "自動チャプター",
|
|
223
223
|
removeFillerWords: "つなぎ言葉を削除する",
|
|
224
224
|
removeSilences: "無音部分を削除 (>1.2 秒)",
|
|
225
|
+
silenceWorking: "無音部分を削除しています…",
|
|
226
|
+
silenceCompleted: "無音部分の削除が完了しました",
|
|
227
|
+
silenceFailed: "無音部分の削除に失敗しました",
|
|
225
228
|
generatePrSummary: "PRサマリーを生成する",
|
|
226
229
|
generateSop: "SOPを生成する",
|
|
227
230
|
generateSopTooltip:
|
|
@@ -547,6 +550,9 @@ const messages = {
|
|
|
547
550
|
brandingUpdated: "ブランドを更新しました",
|
|
548
551
|
saveFailed: "保存に失敗しました",
|
|
549
552
|
organizationName: "組織名",
|
|
553
|
+
defaultVisibility: "新しい録画のデフォルトの公開範囲",
|
|
554
|
+
defaultVisibilityDescription:
|
|
555
|
+
"別の公開範囲を選択しない限り、新しい録画に適用されます。",
|
|
550
556
|
brandColor: "ブランドカラー",
|
|
551
557
|
brandColorPicker: "ブランドカラーピッカー",
|
|
552
558
|
useColor: "{{color}} を使用してください",
|
|
@@ -171,7 +171,7 @@ const messages = {
|
|
|
171
171
|
"데스크톱 레코더가 완료되고 로컬 복사본을 저장했지만 Clips가 이를 업로드할 수 없습니다. 다시 녹음하지 않고 Clips 메뉴에서 다시 시도할 수 있습니다.",
|
|
172
172
|
retryLibrary: "라이브러리에서 다시 시도할 수 있습니다.",
|
|
173
173
|
processingStuck:
|
|
174
|
-
"
|
|
174
|
+
"저장하는 데 예상보다 오래 걸리고 있습니다(상태={{status}}). 데스크톱 앱에서 녹화했다면 메뉴 막대에서 Clips를 열어 업로드를 다시 시도하거나 저장된 로컬 사본을 다운로드한 다음 다시 확인하세요.",
|
|
175
175
|
uploadingAssembling:
|
|
176
176
|
"비디오 업로드 및 취합 – 일반적으로 몇 초 밖에 걸리지 않습니다.",
|
|
177
177
|
connectStorageImportLoom: "이 Loom를 가져오려면 저장소를 연결하세요.",
|
|
@@ -218,6 +218,9 @@ const messages = {
|
|
|
218
218
|
autoChapters: "자동 챕터",
|
|
219
219
|
removeFillerWords: "필러 단어 제거",
|
|
220
220
|
removeSilences: "무음 제거(>1.2초)",
|
|
221
|
+
silenceWorking: "무음 구간을 제거하는 중…",
|
|
222
|
+
silenceCompleted: "무음 구간 제거 완료",
|
|
223
|
+
silenceFailed: "무음 구간 제거 실패",
|
|
221
224
|
generatePrSummary: "PR 요약 생성",
|
|
222
225
|
generateSop: "SOP 생성",
|
|
223
226
|
generateSopTooltip:
|
|
@@ -539,6 +542,9 @@ const messages = {
|
|
|
539
542
|
brandingUpdated: "브랜딩이 업데이트됨",
|
|
540
543
|
saveFailed: "저장 실패",
|
|
541
544
|
organizationName: "조직 이름",
|
|
545
|
+
defaultVisibility: "새 녹화의 기본 공개 범위",
|
|
546
|
+
defaultVisibilityDescription:
|
|
547
|
+
"다른 공개 범위를 선택하지 않으면 새 녹화에 적용됩니다.",
|
|
542
548
|
brandColor: "브랜드 색상",
|
|
543
549
|
brandColorPicker: "브랜드 색상 선택기",
|
|
544
550
|
useColor: "{{color}} 사용",
|
|
@@ -172,7 +172,7 @@ const messages = {
|
|
|
172
172
|
"O gravador de desktop terminou e salvou uma cópia local, mas Clips não conseguiu carregá-la. Você pode tentar novamente no menu Clips sem gravar novamente.",
|
|
173
173
|
retryLibrary: "Você pode tentar novamente na biblioteca.",
|
|
174
174
|
processingStuck:
|
|
175
|
-
"O
|
|
175
|
+
"O salvamento está demorando mais do que o esperado (status={{status}}). Se você gravou no app para desktop, abra o Clips pela barra de menus para tentar o upload novamente ou baixar uma cópia local salva e verifique outra vez.",
|
|
176
176
|
uploadingAssembling:
|
|
177
177
|
"Carregar e montar seu vídeo – isso geralmente leva apenas alguns segundos.",
|
|
178
178
|
connectStorageImportLoom:
|
|
@@ -221,6 +221,9 @@ const messages = {
|
|
|
221
221
|
autoChapters: "Capítulos automáticos",
|
|
222
222
|
removeFillerWords: "Remover palavras de preenchimento",
|
|
223
223
|
removeSilences: "Remover silêncios (>1,2s)",
|
|
224
|
+
silenceWorking: "Removendo silêncios…",
|
|
225
|
+
silenceCompleted: "Remoção de silêncios concluída",
|
|
226
|
+
silenceFailed: "Falha ao remover silêncios",
|
|
224
227
|
generatePrSummary: "Gerar resumo de PR",
|
|
225
228
|
generateSop: "Gerar SOP",
|
|
226
229
|
generateSopTooltip:
|
|
@@ -549,6 +552,9 @@ const messages = {
|
|
|
549
552
|
brandingUpdated: "Marca atualizada",
|
|
550
553
|
saveFailed: "Falha ao salvar",
|
|
551
554
|
organizationName: "Nome da organização",
|
|
555
|
+
defaultVisibility: "Visibilidade padrão de novas gravações",
|
|
556
|
+
defaultVisibilityDescription:
|
|
557
|
+
"Aplicada a novas gravações, a menos que você escolha outra visibilidade.",
|
|
552
558
|
brandColor: "Cor da marca",
|
|
553
559
|
brandColorPicker: "Seletor de cor da marca",
|
|
554
560
|
useColor: "Usar {{color}}",
|