@agent-native/core 0.92.11 → 0.93.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 +45 -0
- package/corpus/core/docs/content/automation-connectors.mdx +80 -0
- package/corpus/core/docs/content/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/ar-SA/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/ar-SA/messaging.mdx +84 -15
- package/corpus/core/docs/content/locales/ar-SA/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/ar-SA/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/de-DE/extensions.mdx +10 -0
- package/corpus/core/docs/content/locales/de-DE/messaging.mdx +92 -15
- package/corpus/core/docs/content/locales/de-DE/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/de-DE/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/es-ES/extensions.mdx +10 -0
- package/corpus/core/docs/content/locales/es-ES/messaging.mdx +91 -15
- package/corpus/core/docs/content/locales/es-ES/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/es-ES/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/fr-FR/extensions.mdx +10 -0
- package/corpus/core/docs/content/locales/fr-FR/messaging.mdx +91 -15
- package/corpus/core/docs/content/locales/fr-FR/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/fr-FR/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/hi-IN/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/hi-IN/messaging.mdx +81 -15
- package/corpus/core/docs/content/locales/hi-IN/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/hi-IN/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/ja-JP/extensions.mdx +9 -0
- package/corpus/core/docs/content/locales/ja-JP/messaging.mdx +81 -15
- package/corpus/core/docs/content/locales/ja-JP/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/ja-JP/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/ko-KR/extensions.mdx +8 -0
- package/corpus/core/docs/content/locales/ko-KR/messaging.mdx +80 -15
- package/corpus/core/docs/content/locales/ko-KR/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/ko-KR/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/pt-BR/extensions.mdx +9 -0
- package/corpus/core/docs/content/locales/pt-BR/messaging.mdx +88 -15
- package/corpus/core/docs/content/locales/pt-BR/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/pt-BR/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/zh-CN/extensions.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-CN/messaging.mdx +78 -15
- package/corpus/core/docs/content/locales/zh-CN/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/zh-CN/template-design.mdx +1 -0
- package/corpus/core/docs/content/locales/zh-TW/extensions.mdx +6 -0
- package/corpus/core/docs/content/locales/zh-TW/messaging.mdx +78 -15
- package/corpus/core/docs/content/locales/zh-TW/template-clips.mdx +1 -0
- package/corpus/core/docs/content/locales/zh-TW/template-design.mdx +1 -0
- package/corpus/core/docs/content/messaging.mdx +227 -45
- package/corpus/core/docs/content/template-clips.mdx +3 -0
- package/corpus/core/docs/content/template-design.mdx +4 -0
- package/corpus/core/package.json +5 -1
- package/corpus/core/src/a2a/artifact-response.ts +131 -2
- package/corpus/core/src/a2a/client.ts +10 -0
- package/corpus/core/src/a2a/handlers.ts +40 -76
- package/corpus/core/src/a2a/types.ts +2 -0
- package/corpus/core/src/agent/durable-background.ts +24 -0
- package/corpus/core/src/agent/production-agent.ts +48 -5
- package/corpus/core/src/agent/run-manager.ts +171 -20
- package/corpus/core/src/agent/run-store.ts +297 -42
- package/corpus/core/src/agent/types.ts +23 -0
- package/corpus/core/src/audit/record.ts +31 -0
- package/corpus/core/src/audit/store.ts +69 -3
- package/corpus/core/src/audit/types.ts +13 -0
- package/corpus/core/src/automation/index.ts +802 -0
- package/corpus/core/src/cli/create.ts +12 -5
- package/corpus/core/src/cli/design-connect.ts +596 -36
- package/corpus/core/src/client/AgentPanel.tsx +51 -6
- package/corpus/core/src/client/AssistantChat.tsx +274 -147
- package/corpus/core/src/client/MultiTabAssistantChat.tsx +3 -0
- package/corpus/core/src/client/RunStuckBanner.tsx +69 -20
- package/corpus/core/src/client/agent-chat-adapter.ts +110 -17
- package/corpus/core/src/client/automation.ts +22 -0
- package/corpus/core/src/client/chat/run-recovery.tsx +67 -50
- package/corpus/core/src/client/composer/TiptapComposer.tsx +8 -0
- package/corpus/core/src/client/index.ts +30 -0
- package/corpus/core/src/client/integrations/api.ts +295 -0
- package/corpus/core/src/client/integrations/index.ts +26 -0
- package/corpus/core/src/client/transcription/use-live-transcription.ts +68 -5
- package/corpus/core/src/client/use-run-stuck-detection.ts +41 -3
- package/corpus/core/src/deploy/build.ts +59 -3
- package/corpus/core/src/deploy/workspace-deploy.ts +37 -2
- package/corpus/core/src/file-upload/types.ts +2 -0
- package/corpus/core/src/index.ts +37 -0
- package/corpus/core/src/integrations/a2a-continuations-store.ts +6 -4
- package/corpus/core/src/integrations/adapters/discord.ts +362 -0
- package/corpus/core/src/integrations/adapters/index.ts +29 -0
- package/corpus/core/src/integrations/adapters/microsoft-teams.ts +411 -0
- package/corpus/core/src/integrations/adapters/slack.ts +861 -27
- package/corpus/core/src/integrations/adapters/telegram.ts +54 -15
- package/corpus/core/src/integrations/adapters/whatsapp.ts +41 -17
- package/corpus/core/src/integrations/catalog.ts +571 -0
- package/corpus/core/src/integrations/controls-store.ts +187 -0
- package/corpus/core/src/integrations/index.ts +100 -0
- package/corpus/core/src/integrations/installations-store.ts +677 -0
- package/corpus/core/src/integrations/integration-memory.ts +187 -0
- package/corpus/core/src/integrations/pending-tasks-retry-job.ts +6 -6
- package/corpus/core/src/integrations/pending-tasks-store.ts +83 -5
- package/corpus/core/src/integrations/plugin.ts +685 -47
- package/corpus/core/src/integrations/scope-store.ts +498 -0
- package/corpus/core/src/integrations/slack-manifest.ts +78 -0
- package/corpus/core/src/integrations/slack-oauth.ts +343 -0
- package/corpus/core/src/integrations/types.ts +179 -0
- package/corpus/core/src/integrations/usage-budget-store.ts +906 -0
- package/corpus/core/src/integrations/webhook-handler.ts +562 -51
- package/corpus/core/src/jobs/scheduler.ts +100 -2
- package/corpus/core/src/jobs/tools.ts +45 -9
- package/corpus/core/src/provider-api/index.ts +72 -1
- package/corpus/core/src/resources/handlers.ts +88 -14
- package/corpus/core/src/resources/script-helpers.ts +36 -7
- package/corpus/core/src/resources/store.ts +59 -52
- package/corpus/core/src/scripts/call-agent.ts +107 -1
- package/corpus/core/src/server/agent-chat-plugin.ts +294 -119
- package/corpus/core/src/server/auth.ts +10 -14
- package/corpus/core/src/server/builder-design-systems.ts +16 -1
- package/corpus/core/src/server/edge.ts +18 -0
- package/corpus/core/src/server/index.ts +26 -0
- package/corpus/core/src/server/request-context.ts +18 -0
- package/corpus/core/src/server/social-og-image.ts +3 -2
- package/corpus/core/src/styles/agent-native.css +62 -44
- package/corpus/core/src/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/core/src/templates/default/AGENTS.md +7 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
- package/corpus/core/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/core/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
- package/corpus/core/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
- package/corpus/core/src/templates/workspace-core/AGENTS.md +3 -2
- package/corpus/core/src/usage/store.ts +37 -2
- package/corpus/templates/analytics/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/analytics/.agents/skills/provider-api/SKILL.md +23 -0
- package/corpus/templates/analytics/.builder/skills/provider-api/SKILL.md +15 -0
- package/corpus/templates/analytics/actions/save-monitor.ts +25 -2
- package/corpus/templates/analytics/app/lib/data-sources.ts +28 -0
- package/corpus/templates/analytics/changelog/2026-07-10-agent-created-uptime-monitors-now-return-a-direct-link-to-th.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-10-dashboard-email-reports-still-arrive-when-screenshot-capture-temporarily-fails.md +6 -0
- package/corpus/templates/analytics/server/jobs/dashboard-report.ts +3 -7
- package/corpus/templates/analytics/server/lib/credential-keys.ts +12 -0
- package/corpus/templates/analytics/server/lib/dashboard-report.ts +5 -1
- package/corpus/templates/analytics/server/lib/provider-credentials.ts +2 -0
- package/corpus/templates/analytics/server/routes/api/test-connection.post.ts +16 -0
- package/corpus/templates/assets/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/brain/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/calendar/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/calendar/app/components/calendar/CommandPalette.tsx +98 -108
- package/corpus/templates/calendar/app/components/calendar/EventAttendeesSection.tsx +97 -90
- package/corpus/templates/calendar/changelog/2026-07-10-event-guest-details-and-option-menus-now-use-valid-accessibl.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-10-natural-language-event-phrases-stay-available-as-quick-creat.md +6 -0
- package/corpus/templates/chat/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/chat/changelog/2026-07-10-chat-now-makes-ai-connection-setup-clear-without-shifting-th.md +6 -0
- package/corpus/templates/clips/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/clips/.agents/skills/recording/SKILL.md +17 -1
- package/corpus/templates/clips/.agents/skills/video-sharing/SKILL.md +8 -0
- package/corpus/templates/clips/AGENTS.md +8 -3
- package/corpus/templates/clips/actions/finalize-recording.ts +63 -23
- package/corpus/templates/clips/actions/get-recording-player-data.ts +6 -2
- package/corpus/templates/clips/actions/lib/ensure-seekable-video.ts +72 -9
- package/corpus/templates/clips/actions/list-recordings.ts +19 -3
- package/corpus/templates/clips/actions/navigate.ts +2 -0
- package/corpus/templates/clips/actions/reprocess-recording.ts +20 -6
- package/corpus/templates/clips/actions/request-transcript.ts +16 -31
- package/corpus/templates/clips/actions/view-screen.ts +57 -5
- package/corpus/templates/clips/app/components/layout/Header.tsx +1 -0
- package/corpus/templates/clips/app/components/library/empty-state.tsx +2 -0
- package/corpus/templates/clips/app/components/library/library-grid.tsx +69 -42
- package/corpus/templates/clips/app/components/library/library-layout.tsx +15 -1
- package/corpus/templates/clips/app/components/library/recording-card.tsx +81 -68
- package/corpus/templates/clips/app/components/library/search-bar.tsx +4 -3
- package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +9 -3
- package/corpus/templates/clips/app/components/player/share-dialog.tsx +1 -1
- package/corpus/templates/clips/app/components/player/transcript-panel.tsx +27 -5
- package/corpus/templates/clips/app/hooks/use-library.ts +1 -1
- package/corpus/templates/clips/app/hooks/use-navigation-state.ts +10 -2
- package/corpus/templates/clips/app/hooks/use-player-shortcuts.ts +1 -0
- 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 +7 -1
- 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 +8 -1
- package/corpus/templates/clips/app/i18n/zh-TW.ts +8 -1
- package/corpus/templates/clips/app/lib/recording-visibility.ts +70 -0
- package/corpus/templates/clips/app/routes/_app.shared.tsx +20 -0
- package/corpus/templates/clips/app/routes/download.tsx +24 -8
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +115 -2
- package/corpus/templates/clips/app/routes/record.tsx +62 -0
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +25 -16
- package/corpus/templates/clips/changelog/2026-07-10-clips-desktop-is-now-available-for-linux-with-appimage-debia.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-clips-downloads-updates-sooner-in-the-background-and-offers-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-clips-shared-with-you-now-appear-in-a-searchable-shared-with.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-clips-with-missing-mobile-video-frames-can-be-repaired-witho.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-fixed-copying-agent-responses-and-transcript-text-from-recor.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-mobile-camera-recordings-pause-while-backgrounded.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-mp4-downloads-now-show-progress-immediately-after-the-option.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-recording-pages-now-open-as-soon-as-you-stop-with-a-share-li.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-recordings-now-seek-smoothly-downloads-use-the-correct-file-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-10-s3-compatible-storage-now-saves-hosted-recordings-without-re.md +6 -0
- package/corpus/templates/clips/desktop/README.md +22 -6
- package/corpus/templates/clips/desktop/package.json +1 -1
- package/corpus/templates/clips/desktop/src/app.tsx +32 -19
- package/corpus/templates/clips/desktop/src/components/ReadinessPanel.tsx +15 -9
- package/corpus/templates/clips/desktop/src/lib/finalization-guard.ts +22 -0
- package/corpus/templates/clips/desktop/src/lib/permissions.ts +3 -1
- package/corpus/templates/clips/desktop/src/lib/recorder.ts +97 -120
- package/corpus/templates/clips/desktop/src/lib/updater.ts +26 -4
- package/corpus/templates/clips/desktop/src/overlays/finalizing.tsx +4 -8
- package/corpus/templates/clips/desktop/src-tauri/Cargo.toml +1 -1
- package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +2 -2
- package/corpus/templates/clips/desktop/src-tauri/src/permission_status.rs +11 -7
- package/corpus/templates/clips/desktop/src-tauri/tauri.linux.conf.json +11 -0
- package/corpus/templates/clips/netlify.toml +3 -0
- package/corpus/templates/clips/server/lib/post-finalize-dispatch.ts +106 -0
- package/corpus/templates/clips/server/lib/public-agent-context.ts +9 -1
- package/corpus/templates/clips/server/lib/resumable-upload-provider.ts +52 -0
- package/corpus/templates/clips/server/lib/s3-upload-provider.ts +433 -85
- package/corpus/templates/clips/server/lib/video-remux.ts +114 -0
- package/corpus/templates/clips/server/routes/api/_agent-native-background/post-finalize-worker.post.ts +109 -0
- package/corpus/templates/clips/server/routes/api/clips-updater.json.get.ts +22 -11
- package/corpus/templates/clips/server/routes/api/public-recording.get.ts +4 -2
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/abort.post.ts +47 -5
- package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +10 -2
- package/corpus/templates/clips/shared/share-loader-response.ts +12 -0
- package/corpus/templates/clips/shared/transcript-status.ts +40 -0
- package/corpus/templates/content/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/content/.agents/skills/content/SKILL.md +57 -5
- package/corpus/templates/content/AGENTS.md +65 -55
- package/corpus/templates/content/actions/_builder-cms-read-client.ts +92 -23
- package/corpus/templates/content/actions/_database-source-utils.ts +207 -41
- package/corpus/templates/content/actions/_property-utils.ts +30 -2
- package/corpus/templates/content/actions/add-content-database-source-field-property.ts +316 -121
- package/corpus/templates/content/actions/attach-content-database-source.ts +41 -17
- package/corpus/templates/content/actions/change-content-database-source-role.ts +46 -8
- package/corpus/templates/content/actions/submit-content-database-form.ts +497 -0
- package/corpus/templates/content/actions/suggest-source-join-key.ts +8 -1
- package/corpus/templates/content/actions/update-content-database-view.ts +8 -1
- package/corpus/templates/content/actions/view-screen.ts +4 -1
- package/corpus/templates/content/agent-native.app-skill.json +1 -1
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +250 -64
- package/corpus/templates/content/app/components/editor/database/FormView.tsx +460 -0
- package/corpus/templates/content/app/components/editor/database/navigation-state.ts +3 -0
- package/corpus/templates/content/app/components/editor/database/settings.tsx +30 -37
- package/corpus/templates/content/app/components/editor/database/shared.tsx +2 -0
- package/corpus/templates/content/app/components/editor/database/view-config.ts +29 -1
- package/corpus/templates/content/app/components/ui/textarea.tsx +1 -0
- package/corpus/templates/content/app/hooks/use-content-database.ts +22 -0
- package/corpus/templates/content/app/i18n/zh-TW.ts +21 -0
- package/corpus/templates/content/app/i18n-data.ts +225 -0
- package/corpus/templates/content/changelog/2026-07-09-builder-source-refreshes-now-keep-mapped-fields-such-as-topi.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-builder-backed-properties-now-load-current-source-values-as-.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-builder-database-refreshes-now-stay-explicit-and-accurate.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-database-form-views-now-collect-ordered-required-answers-and.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-database-tables-now-use-a-quieter-more-compact-layout-with-c.md +6 -0
- package/corpus/templates/content/changelog/2026-07-10-slack-intake-routes-to-content-database-forms.md +6 -0
- package/corpus/templates/content/parity/matrix.md +1 -0
- package/corpus/templates/content/parity/matrix.ts +18 -0
- package/corpus/templates/content/shared/api.ts +28 -1
- package/corpus/templates/content/shared/database-form.ts +53 -0
- package/corpus/templates/design/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +26 -0
- package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +85 -12
- package/corpus/templates/design/AGENTS.md +72 -18
- package/corpus/templates/design/DESIGN.md +1 -1
- package/corpus/templates/design/DEVELOPING.md +1 -1
- package/corpus/templates/design/FIGMA_INTEROPERABILITY.md +116 -0
- package/corpus/templates/design/actions/create-design-from-template.ts +220 -0
- package/corpus/templates/design/actions/create-design-system.ts +92 -16
- package/corpus/templates/design/actions/delete-design-template.ts +28 -0
- package/corpus/templates/design/actions/delete-file.ts +7 -0
- package/corpus/templates/design/actions/edit-design.ts +3 -0
- package/corpus/templates/design/actions/export-design-as-figma-svg.ts +137 -5
- package/corpus/templates/design/actions/export-pdf.ts +1 -1
- package/corpus/templates/design/actions/generate-design.ts +3 -0
- package/corpus/templates/design/actions/get-design-snapshot.ts +9 -0
- package/corpus/templates/design/actions/get-figma-connection-status.ts +26 -0
- package/corpus/templates/design/actions/get-figma-design-context.ts +138 -0
- package/corpus/templates/design/actions/get-figma-styles.ts +2 -2
- package/corpus/templates/design/actions/import-figma-clipboard.ts +112 -16
- package/corpus/templates/design/actions/import-figma-frame.ts +15 -4
- package/corpus/templates/design/actions/index-design-system-with-builder.ts +4 -0
- package/corpus/templates/design/actions/list-design-templates.ts +118 -0
- package/corpus/templates/design/actions/navigate.ts +16 -2
- package/corpus/templates/design/actions/provider-api-request.ts +11 -1
- package/corpus/templates/design/actions/save-design-as-template.ts +156 -0
- package/corpus/templates/design/actions/set-active-breakpoint.ts +13 -4
- package/corpus/templates/design/actions/take-design-screenshot.ts +73 -3
- package/corpus/templates/design/actions/update-file.ts +39 -22
- package/corpus/templates/design/actions/view-screen.ts +36 -1
- package/corpus/templates/design/actions/write-local-file.ts +50 -38
- package/corpus/templates/design/app/components/design/AutoLayoutSuggestionDialog.tsx +151 -0
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +20 -0
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +251 -22
- package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +3 -3
- package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +384 -9
- package/corpus/templates/design/app/components/design/EditPanel.tsx +105 -32
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +58 -28
- package/corpus/templates/design/app/components/design/TweaksPanel.tsx +6 -0
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +539 -53
- package/corpus/templates/design/app/components/design/bridge/embedded-wheel.bridge.ts +40 -0
- package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbench.tsx +1 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +1 -0
- package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +5 -1
- package/corpus/templates/design/app/components/design/code-workbench/workspace/create-providers.ts +2 -0
- package/corpus/templates/design/app/components/design/code-workbench/workspace/localhost-provider.ts +3 -1
- package/corpus/templates/design/app/components/design/code-workbench/workspace/types.ts +2 -0
- package/corpus/templates/design/app/components/design/edit-panel/element-identity.ts +19 -0
- package/corpus/templates/design/app/components/design/edit-panel/frame-presets-panel.tsx +1 -0
- package/corpus/templates/design/app/components/design/edit-panel/interaction-state-helpers.ts +27 -0
- package/corpus/templates/design/app/components/design/inspector/InteractionStatePanel.tsx +137 -81
- package/corpus/templates/design/app/components/design/inspector/frame-size-presets.ts +25 -5
- package/corpus/templates/design/app/components/design/multi-screen/chrome-transitions.ts +1 -1
- package/corpus/templates/design/app/components/design/multi-screen/frame-geometry.ts +220 -3
- package/corpus/templates/design/app/components/design/multi-screen/overview-layout.ts +13 -0
- package/corpus/templates/design/app/components/design/multi-screen/types.ts +22 -1
- package/corpus/templates/design/app/components/design/types.ts +4 -0
- package/corpus/templates/design/app/components/design-system/ProductionDesignSystemShowcase.tsx +208 -0
- package/corpus/templates/design/app/components/editor/FigmaLinkComposerBubble.tsx +321 -0
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +24 -4
- package/corpus/templates/design/app/components/layout/Layout.tsx +16 -2
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +2 -0
- package/corpus/templates/design/app/components/templates/TemplatePreview.tsx +72 -0
- package/corpus/templates/design/app/global.css +2 -35
- package/corpus/templates/design/app/hooks/use-navigation-state.ts +10 -0
- package/corpus/templates/design/app/i18n/zh-TW.ts +127 -5
- package/corpus/templates/design/app/i18n-breakpoints.ts +209 -0
- package/corpus/templates/design/app/i18n-data.ts +1317 -59
- package/corpus/templates/design/app/i18n-template-feature.ts +458 -0
- package/corpus/templates/design/app/lib/design-clipboard.ts +202 -0
- package/corpus/templates/design/app/lib/design-file-upload.ts +87 -0
- package/corpus/templates/design/app/lib/design-import.ts +168 -11
- package/corpus/templates/design/app/lib/desktop-design-preview.ts +423 -0
- package/corpus/templates/design/app/lib/figma-clipboard.ts +74 -8
- package/corpus/templates/design/app/lib/figma-connection.ts +161 -0
- package/corpus/templates/design/app/lib/figma-svg-copy.ts +814 -22
- package/corpus/templates/design/app/lib/figma-url.ts +77 -0
- package/corpus/templates/design/app/lib/pending-generation.ts +35 -0
- package/corpus/templates/design/app/pages/DesignSystems.tsx +236 -177
- package/corpus/templates/design/app/pages/Index.tsx +38 -0
- package/corpus/templates/design/app/pages/Templates.tsx +498 -0
- package/corpus/templates/design/app/pages/design-editor/auto-layout-suggestion.ts +328 -0
- package/corpus/templates/design/app/pages/design-editor/clone-idrefs.ts +113 -0
- package/corpus/templates/design/app/pages/design-editor/created-screen-navigation.ts +55 -0
- package/corpus/templates/design/app/pages/design-editor/editor-session.ts +32 -0
- package/corpus/templates/design/app/pages/design-editor/editor-state.ts +49 -2
- package/corpus/templates/design/app/pages/design-editor/export-capture.ts +296 -0
- package/corpus/templates/design/app/pages/design-editor/history.ts +101 -2
- package/corpus/templates/design/app/pages/design-editor/layout-operations.ts +28 -1
- package/corpus/templates/design/app/pages/design-editor/overview-camera.ts +34 -0
- package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +202 -6
- package/corpus/templates/design/app/pages/design-editor/pending-structure-verification.ts +92 -0
- package/corpus/templates/design/app/pages/design-editor/save-failure.ts +58 -0
- package/corpus/templates/design/app/routes/templates.tsx +4 -6
- package/corpus/templates/design/changelog/2026-07-10-app-workspaces-now-use-clean-borderless-main-surfaces-throug.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-ask-chat-what-s-in-a-figma-file-or-frame-structure-screensho.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-canvas-edits-now-reject-malformed-html-before-it-can-corrupt.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-complex-designs-now-export-as-valid-secure-svgs-and-crisp-ra.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-complex-figma-masks-arcs-rich-text-transformed-images-and-ad.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-copied-layers-paste-across-designs-and-browser-tabs.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-copy-and-download-editable-figma-svg.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-copying-design-text-now-pastes-readable-text-into-other-apps.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-deleted-screens-can-be-restored-with-undo-and-removed-again-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-design-changes-now-save-before-switching-apps-and-retry-when.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-design-stays-usable-on-phones-by-keeping-editor-panels-and-f.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-download-all-screens-as-one-multi-page-pdf-from-the-overview.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-duplicated-layers-now-keep-labels-aria-relationships-fragmen.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fig-import-results-stay-compact.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-figma-imports-now-load-real-fonts-fix-rotated-gradient-dashe.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-figma-links-in-chat-and-the-import-tab-now-offer-secure-one-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-cmd-z-not-restoring-content-after-an-agent-driven-desi.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-download-pdf-being-unreachable-from-the-export-panel-e.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-dragging-a-layer-out-of-an-auto-layout-row-column-no-l.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-figma-svg-export-text-wrapping-sizing-and-inner-layer.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-hiding-or-locking-one-layer-no-longer-hides-or-blocks-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-png-screenshots-of-tall-screens-being-cropped-to-one-v.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-fixed-png-svg-exports-capturing-broken-layout-when-webfonts-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-frame-tool-now-offers-standard-ad-unit-size-presets-medium-r.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-full-view-controls-stay-within-their-frame-instead-of-coveri.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-hover-focus-focus-visible-pressed-and-disabled-states-now-pr.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-layer-drops-now-land-in-the-intended-grid-row-stay-visually-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-local-code-workspaces-now-keep-unsaved-edits-across-panel-sw.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-local-visual-editing-now-keeps-authenticated-sessions-shared.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-long-running-agent-work-no-longer-shows-a-premature-stuck-wa.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-managed-figma-connections-are-recognized-automatically.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-new-designs-can-open-directly-in-the-editor-without-a-pr.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-new-screens-are-selected-and-revealed-immediately.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-new-text-layers-undo-as-one-safe-creation.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-preview-and-apply-inferred-auto-layout-without-changing-yo.md +5 -0
- package/corpus/templates/design/changelog/2026-07-10-print-pdf-exports-and-paper-size-presets-letter-a4-now-match.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-responsive-frame-editing.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-reusable-design-templates.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-screen-overview-frames-now-use-a-clearer-interact-action-wit.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-start-designs-from-source-linked-material-3-carbon-or-primer.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-tweaks-guidance.md +6 -0
- package/corpus/templates/design/changelog/2026-07-10-uploaded-fig-files-can-now-become-editable-design-screens-wi.md +6 -0
- package/corpus/templates/design/e2e/helpers.ts +3 -3
- package/corpus/templates/design/package.json +2 -0
- package/corpus/templates/design/scripts/qa-figma-stress-import.ts +96 -0
- package/corpus/templates/design/server/db/index.ts +10 -0
- package/corpus/templates/design/server/db/schema.ts +44 -0
- package/corpus/templates/design/server/handlers/import-design-file.ts +114 -80
- package/corpus/templates/design/server/handlers/index-design-system-with-builder.ts +19 -6
- package/corpus/templates/design/server/lib/design-export.ts +240 -3
- package/corpus/templates/design/server/lib/design-template-data.ts +89 -0
- package/corpus/templates/design/server/lib/design-to-figma-svg.ts +250 -26
- package/corpus/templates/design/server/lib/fig-file-decoder.ts +839 -0
- package/corpus/templates/design/server/lib/fig-file-import.ts +287 -0
- package/corpus/templates/design/server/lib/fig-file-limits.ts +3 -0
- package/corpus/templates/design/server/lib/fig-file-to-html.ts +2568 -0
- package/corpus/templates/design/server/lib/figma-design-context.ts +359 -0
- package/corpus/templates/design/server/lib/figma-node-import.ts +478 -22
- package/corpus/templates/design/server/lib/figma-node-to-html.ts +554 -29
- package/corpus/templates/design/server/lib/local-figma-qa-upload.ts +112 -0
- package/corpus/templates/design/server/lib/verify-write-grant.ts +16 -2
- package/corpus/templates/design/server/lib/visible-clipboard-html.ts +13 -3
- package/corpus/templates/design/server/plugins/agent-chat.ts +7 -0
- package/corpus/templates/design/server/plugins/db.ts +42 -0
- package/corpus/templates/design/server/plugins/local-figma-qa-upload.ts +7 -0
- package/corpus/templates/design/server/register-secrets.ts +8 -8
- package/corpus/templates/design/server/routes/api/qa-figma-import-assets/[assetId].get.ts +46 -0
- package/corpus/templates/design/server/source-workspace.ts +104 -12
- package/corpus/templates/design/shared/code-layer.ts +105 -28
- package/corpus/templates/design/shared/design-system-templates.ts +301 -0
- package/corpus/templates/design/shared/design-template-presets.ts +195 -0
- package/corpus/templates/design/shared/figma-url.ts +8 -0
- package/corpus/templates/design/shared/html-integrity.ts +306 -0
- package/corpus/templates/design/shared/interaction-states.ts +318 -23
- package/corpus/templates/design/shared/locked-layers.ts +151 -0
- package/corpus/templates/dispatch/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/dispatch/app/i18n/zh-TW.ts +48 -0
- package/corpus/templates/dispatch/app/i18n-data.ts +536 -1
- package/corpus/templates/dispatch/changelog/2026-07-10-connect-slack-workspaces-with-oauth-and-manage-channel-ident.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-10-microsoft-teams-bots-and-discord-slash-commands-can-now-conn.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-10-slack-and-telegram-now-route-uptime-monitor-requests-to-anal.md +6 -0
- package/corpus/templates/forms/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/forms/.agents/skills/form-publishing/SKILL.md +7 -0
- package/corpus/templates/forms/AGENTS.md +4 -0
- package/corpus/templates/forms/actions/create-form.ts +44 -7
- package/corpus/templates/forms/actions/lib/assert-publishable-form.ts +38 -0
- package/corpus/templates/forms/actions/patch-form-fields.ts +4 -0
- package/corpus/templates/forms/actions/update-form.ts +2 -36
- package/corpus/templates/forms/app/i18n/ar-SA.ts +3 -0
- package/corpus/templates/forms/app/i18n/de-DE.ts +3 -0
- package/corpus/templates/forms/app/i18n/en-US.ts +3 -0
- package/corpus/templates/forms/app/i18n/es-ES.ts +3 -0
- package/corpus/templates/forms/app/i18n/fr-FR.ts +3 -0
- package/corpus/templates/forms/app/i18n/hi-IN.ts +3 -0
- package/corpus/templates/forms/app/i18n/ja-JP.ts +3 -0
- package/corpus/templates/forms/app/i18n/ko-KR.ts +3 -0
- package/corpus/templates/forms/app/i18n/pt-BR.ts +3 -0
- package/corpus/templates/forms/app/i18n/zh-CN.ts +2 -0
- package/corpus/templates/forms/app/i18n/zh-TW.ts +3 -0
- package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +17 -0
- package/corpus/templates/forms/changelog/2026-07-10-agent-created-published-forms-now-return-the-anonymous-publi.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-10-published-forms-can-no-longer-be-edited-into-an-unusable-emp.md +6 -0
- package/corpus/templates/forms/server/handlers/submissions.ts +4 -3
- package/corpus/templates/forms/server/plugins/agent-chat.ts +1 -0
- package/corpus/templates/forms/shared/types.ts +5 -0
- package/corpus/templates/mail/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +2 -2
- package/corpus/templates/mail/changelog/2026-07-10-mail-navigation-now-uses-a-clean-borderless-drawer.md +6 -0
- package/corpus/templates/plan/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/corpus/templates/plan/app/lib/plan-local-bridge.ts +4 -1
- package/corpus/templates/plan/changelog/2026-07-10-local-plans-now-keep-valid-content-visible-when-one-generate.md +6 -0
- package/corpus/templates/plan/server/lib/local-plan-files.ts +4 -1
- package/corpus/templates/slides/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/dist/a2a/artifact-response.d.ts.map +1 -1
- package/dist/a2a/artifact-response.js +88 -2
- package/dist/a2a/artifact-response.js.map +1 -1
- package/dist/a2a/client.d.ts +9 -0
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +1 -0
- package/dist/a2a/client.js.map +1 -1
- package/dist/a2a/handlers.d.ts.map +1 -1
- package/dist/a2a/handlers.js +24 -69
- package/dist/a2a/handlers.js.map +1 -1
- package/dist/a2a/types.d.ts +2 -0
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/a2a/types.js.map +1 -1
- package/dist/agent/durable-background.d.ts +11 -0
- package/dist/agent/durable-background.d.ts.map +1 -1
- package/dist/agent/durable-background.js +17 -0
- package/dist/agent/durable-background.js.map +1 -1
- package/dist/agent/production-agent.d.ts +5 -3
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +34 -8
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-manager.d.ts +44 -2
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +124 -18
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/run-store.d.ts +109 -0
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +274 -37
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/types.d.ts +22 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/audit/record.d.ts.map +1 -1
- package/dist/audit/record.js +29 -0
- package/dist/audit/record.js.map +1 -1
- package/dist/audit/store.d.ts.map +1 -1
- package/dist/audit/store.js +62 -3
- package/dist/audit/store.js.map +1 -1
- package/dist/audit/types.d.ts +13 -0
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/types.js.map +1 -1
- package/dist/automation/index.d.ts +193 -0
- package/dist/automation/index.d.ts.map +1 -0
- package/dist/automation/index.js +464 -0
- package/dist/automation/index.js.map +1 -0
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +10 -3
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/design-connect.d.ts.map +1 -1
- package/dist/cli/design-connect.js +492 -35
- package/dist/cli/design-connect.js.map +1 -1
- package/dist/client/AgentPanel.d.ts +7 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +32 -8
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +15 -0
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +115 -47
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
- package/dist/client/MultiTabAssistantChat.js +1 -1
- package/dist/client/MultiTabAssistantChat.js.map +1 -1
- package/dist/client/RunStuckBanner.d.ts +14 -1
- package/dist/client/RunStuckBanner.d.ts.map +1 -1
- package/dist/client/RunStuckBanner.js +35 -7
- package/dist/client/RunStuckBanner.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts +4 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +97 -16
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/automation.d.ts +14 -0
- package/dist/client/automation.d.ts.map +1 -0
- package/dist/client/automation.js +9 -0
- package/dist/client/automation.js.map +1 -0
- package/dist/client/chat/run-recovery.d.ts +4 -0
- package/dist/client/chat/run-recovery.d.ts.map +1 -1
- package/dist/client/chat/run-recovery.js +12 -10
- package/dist/client/chat/run-recovery.js.map +1 -1
- package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/client/composer/TiptapComposer.js +8 -0
- package/dist/client/composer/TiptapComposer.js.map +1 -1
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/integrations/api.d.ts +115 -0
- package/dist/client/integrations/api.d.ts.map +1 -0
- package/dist/client/integrations/api.js +123 -0
- package/dist/client/integrations/api.js.map +1 -0
- package/dist/client/integrations/index.d.ts +1 -0
- package/dist/client/integrations/index.d.ts.map +1 -1
- package/dist/client/integrations/index.js +1 -0
- package/dist/client/integrations/index.js.map +1 -1
- package/dist/client/transcription/use-live-transcription.d.ts.map +1 -1
- package/dist/client/transcription/use-live-transcription.js +59 -5
- package/dist/client/transcription/use-live-transcription.js.map +1 -1
- package/dist/client/use-run-stuck-detection.d.ts +16 -1
- package/dist/client/use-run-stuck-detection.d.ts.map +1 -1
- package/dist/client/use-run-stuck-detection.js +23 -4
- package/dist/client/use-run-stuck-detection.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +49 -4
- package/dist/deploy/build.js.map +1 -1
- package/dist/deploy/workspace-deploy.d.ts.map +1 -1
- package/dist/deploy/workspace-deploy.js +31 -2
- package/dist/deploy/workspace-deploy.js.map +1 -1
- package/dist/file-upload/types.d.ts +2 -0
- package/dist/file-upload/types.d.ts.map +1 -1
- package/dist/file-upload/types.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/a2a-continuations-store.d.ts.map +1 -1
- package/dist/integrations/a2a-continuations-store.js +6 -4
- package/dist/integrations/a2a-continuations-store.js.map +1 -1
- package/dist/integrations/adapters/discord.d.ts +3 -0
- package/dist/integrations/adapters/discord.d.ts.map +1 -0
- package/dist/integrations/adapters/discord.js +261 -0
- package/dist/integrations/adapters/discord.js.map +1 -0
- package/dist/integrations/adapters/index.d.ts +4 -0
- package/dist/integrations/adapters/index.d.ts.map +1 -0
- package/dist/integrations/adapters/index.js +26 -0
- package/dist/integrations/adapters/index.js.map +1 -0
- package/dist/integrations/adapters/microsoft-teams.d.ts +5 -0
- package/dist/integrations/adapters/microsoft-teams.d.ts.map +1 -0
- package/dist/integrations/adapters/microsoft-teams.js +295 -0
- package/dist/integrations/adapters/microsoft-teams.js.map +1 -0
- package/dist/integrations/adapters/slack.d.ts +8 -2
- package/dist/integrations/adapters/slack.d.ts.map +1 -1
- package/dist/integrations/adapters/slack.js +736 -27
- package/dist/integrations/adapters/slack.js.map +1 -1
- package/dist/integrations/adapters/telegram.d.ts +0 -2
- package/dist/integrations/adapters/telegram.d.ts.map +1 -1
- package/dist/integrations/adapters/telegram.js +49 -15
- package/dist/integrations/adapters/telegram.js.map +1 -1
- package/dist/integrations/adapters/whatsapp.d.ts +0 -2
- package/dist/integrations/adapters/whatsapp.d.ts.map +1 -1
- package/dist/integrations/adapters/whatsapp.js +40 -17
- package/dist/integrations/adapters/whatsapp.js.map +1 -1
- package/dist/integrations/catalog.d.ts +75 -0
- package/dist/integrations/catalog.d.ts.map +1 -0
- package/dist/integrations/catalog.js +451 -0
- package/dist/integrations/catalog.js.map +1 -0
- package/dist/integrations/controls-store.d.ts +44 -0
- package/dist/integrations/controls-store.d.ts.map +1 -0
- package/dist/integrations/controls-store.js +129 -0
- package/dist/integrations/controls-store.js.map +1 -0
- package/dist/integrations/index.d.ts +13 -1
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +9 -0
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/installations-store.d.ts +112 -0
- package/dist/integrations/installations-store.d.ts.map +1 -0
- package/dist/integrations/installations-store.js +493 -0
- package/dist/integrations/installations-store.js.map +1 -0
- package/dist/integrations/integration-memory.d.ts +24 -0
- package/dist/integrations/integration-memory.d.ts.map +1 -0
- package/dist/integrations/integration-memory.js +136 -0
- package/dist/integrations/integration-memory.js.map +1 -0
- package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -1
- package/dist/integrations/pending-tasks-retry-job.js +6 -5
- package/dist/integrations/pending-tasks-retry-job.js.map +1 -1
- package/dist/integrations/pending-tasks-store.d.ts +17 -0
- package/dist/integrations/pending-tasks-store.d.ts.map +1 -1
- package/dist/integrations/pending-tasks-store.js +71 -5
- package/dist/integrations/pending-tasks-store.js.map +1 -1
- package/dist/integrations/plugin.d.ts.map +1 -1
- package/dist/integrations/plugin.js +520 -35
- package/dist/integrations/plugin.js.map +1 -1
- package/dist/integrations/scope-store.d.ts +65 -0
- package/dist/integrations/scope-store.d.ts.map +1 -0
- package/dist/integrations/scope-store.js +361 -0
- package/dist/integrations/scope-store.js.map +1 -0
- package/dist/integrations/slack-manifest.d.ts +66 -0
- package/dist/integrations/slack-manifest.d.ts.map +1 -0
- package/dist/integrations/slack-manifest.js +70 -0
- package/dist/integrations/slack-manifest.js.map +1 -0
- package/dist/integrations/slack-oauth.d.ts +99 -0
- package/dist/integrations/slack-oauth.d.ts.map +1 -0
- package/dist/integrations/slack-oauth.js +226 -0
- package/dist/integrations/slack-oauth.js.map +1 -0
- package/dist/integrations/types.d.ts +144 -0
- package/dist/integrations/types.d.ts.map +1 -1
- package/dist/integrations/types.js +16 -1
- package/dist/integrations/types.js.map +1 -1
- package/dist/integrations/usage-budget-store.d.ts +84 -0
- package/dist/integrations/usage-budget-store.d.ts.map +1 -0
- package/dist/integrations/usage-budget-store.js +650 -0
- package/dist/integrations/usage-budget-store.js.map +1 -0
- package/dist/integrations/webhook-handler.d.ts +4 -0
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +415 -47
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/jobs/scheduler.d.ts +6 -0
- package/dist/jobs/scheduler.d.ts.map +1 -1
- package/dist/jobs/scheduler.js +83 -4
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/jobs/tools.d.ts.map +1 -1
- package/dist/jobs/tools.js +43 -11
- package/dist/jobs/tools.js.map +1 -1
- package/dist/provider-api/index.d.ts +4 -4
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +72 -1
- package/dist/provider-api/index.js.map +1 -1
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +57 -15
- package/dist/resources/handlers.js.map +1 -1
- package/dist/resources/script-helpers.d.ts.map +1 -1
- package/dist/resources/script-helpers.js +34 -8
- package/dist/resources/script-helpers.js.map +1 -1
- package/dist/resources/store.d.ts +10 -0
- package/dist/resources/store.d.ts.map +1 -1
- package/dist/resources/store.js +54 -47
- package/dist/resources/store.js.map +1 -1
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +106 -1
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts +15 -4
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +248 -113
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +10 -14
- package/dist/server/auth.js.map +1 -1
- package/dist/server/builder-design-systems.d.ts +3 -1
- package/dist/server/builder-design-systems.d.ts.map +1 -1
- package/dist/server/builder-design-systems.js +9 -2
- package/dist/server/builder-design-systems.js.map +1 -1
- package/dist/server/edge.d.ts +1 -1
- package/dist/server/edge.d.ts.map +1 -1
- package/dist/server/edge.js +1 -1
- package/dist/server/edge.js.map +1 -1
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/request-context.d.ts +18 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/social-og-image.d.ts.map +1 -1
- package/dist/server/social-og-image.js +3 -2
- package/dist/server/social-og-image.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/styles/agent-native.css +62 -44
- package/dist/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/dist/templates/default/AGENTS.md +7 -3
- package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
- package/dist/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
- package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
- package/dist/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
- package/dist/templates/workspace-core/AGENTS.md +3 -2
- package/dist/usage/store.d.ts +7 -0
- package/dist/usage/store.d.ts.map +1 -1
- package/dist/usage/store.js +24 -3
- package/dist/usage/store.js.map +1 -1
- package/docs/content/automation-connectors.mdx +80 -0
- package/docs/content/extensions.mdx +8 -0
- package/docs/content/locales/ar-SA/extensions.mdx +8 -0
- package/docs/content/locales/ar-SA/messaging.mdx +84 -15
- package/docs/content/locales/ar-SA/template-clips.mdx +1 -0
- package/docs/content/locales/ar-SA/template-design.mdx +1 -0
- package/docs/content/locales/de-DE/extensions.mdx +10 -0
- package/docs/content/locales/de-DE/messaging.mdx +92 -15
- package/docs/content/locales/de-DE/template-clips.mdx +1 -0
- package/docs/content/locales/de-DE/template-design.mdx +1 -0
- package/docs/content/locales/es-ES/extensions.mdx +10 -0
- package/docs/content/locales/es-ES/messaging.mdx +91 -15
- package/docs/content/locales/es-ES/template-clips.mdx +1 -0
- package/docs/content/locales/es-ES/template-design.mdx +1 -0
- package/docs/content/locales/fr-FR/extensions.mdx +10 -0
- package/docs/content/locales/fr-FR/messaging.mdx +91 -15
- package/docs/content/locales/fr-FR/template-clips.mdx +1 -0
- package/docs/content/locales/fr-FR/template-design.mdx +1 -0
- package/docs/content/locales/hi-IN/extensions.mdx +8 -0
- package/docs/content/locales/hi-IN/messaging.mdx +81 -15
- package/docs/content/locales/hi-IN/template-clips.mdx +1 -0
- package/docs/content/locales/hi-IN/template-design.mdx +1 -0
- package/docs/content/locales/ja-JP/extensions.mdx +9 -0
- package/docs/content/locales/ja-JP/messaging.mdx +81 -15
- package/docs/content/locales/ja-JP/template-clips.mdx +1 -0
- package/docs/content/locales/ja-JP/template-design.mdx +1 -0
- package/docs/content/locales/ko-KR/extensions.mdx +8 -0
- package/docs/content/locales/ko-KR/messaging.mdx +80 -15
- package/docs/content/locales/ko-KR/template-clips.mdx +1 -0
- package/docs/content/locales/ko-KR/template-design.mdx +1 -0
- package/docs/content/locales/pt-BR/extensions.mdx +9 -0
- package/docs/content/locales/pt-BR/messaging.mdx +88 -15
- package/docs/content/locales/pt-BR/template-clips.mdx +1 -0
- package/docs/content/locales/pt-BR/template-design.mdx +1 -0
- package/docs/content/locales/zh-CN/extensions.mdx +6 -0
- package/docs/content/locales/zh-CN/messaging.mdx +78 -15
- package/docs/content/locales/zh-CN/template-clips.mdx +1 -0
- package/docs/content/locales/zh-CN/template-design.mdx +1 -0
- package/docs/content/locales/zh-TW/extensions.mdx +6 -0
- package/docs/content/locales/zh-TW/messaging.mdx +78 -15
- package/docs/content/locales/zh-TW/template-clips.mdx +1 -0
- package/docs/content/locales/zh-TW/template-design.mdx +1 -0
- package/docs/content/messaging.mdx +227 -45
- package/docs/content/template-clips.mdx +3 -0
- package/docs/content/template-design.mdx +4 -0
- package/package.json +5 -1
- package/src/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/src/templates/default/AGENTS.md +7 -3
- package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
- package/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
- package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
- package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
- package/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
- package/src/templates/workspace-core/AGENTS.md +3 -2
|
@@ -2124,12 +2124,24 @@ function buildProjection(
|
|
|
2124
2124
|
const style = parseStyle(attributeValue(element, "style"));
|
|
2125
2125
|
const dataAttributes = dataAttributeRecord(element);
|
|
2126
2126
|
const layerName = layerNameFor(html, element);
|
|
2127
|
+
// Only alias attribute selectors that are actually STABLE, UNIQUE node
|
|
2128
|
+
// identifiers (data-agent-native-node-id, data-code-layer-id, etc). Every
|
|
2129
|
+
// other data-* attribute (e.g. data-an-primitive="frame", or the boolean
|
|
2130
|
+
// data-agent-native-locked/hidden state flags) is shared by many/most
|
|
2131
|
+
// nodes of the same kind, not a per-node identity marker. Aliasing those
|
|
2132
|
+
// here previously let a single hidden/locked layer's `hiddenSelectors`/
|
|
2133
|
+
// `lockedSelectors` (built from these aliases — see
|
|
2134
|
+
// codeLayerSelectorAliases in design-editor/code-layer-state.ts) resolve
|
|
2135
|
+
// to `[data-an-primitive="frame"]` and silently hide/lock EVERY frame-kind
|
|
2136
|
+
// container in the document via applyHiddenSelectors' document-wide
|
|
2137
|
+
// querySelectorAll, instead of only the one node the user actually hid or
|
|
2138
|
+
// locked.
|
|
2127
2139
|
const selectors = Array.from(
|
|
2128
2140
|
new Set([
|
|
2129
2141
|
selector.selector,
|
|
2130
2142
|
path,
|
|
2131
|
-
...
|
|
2132
|
-
(
|
|
2143
|
+
...STABLE_NODE_ID_ATTRIBUTES.filter((name) => dataAttributes[name]).map(
|
|
2144
|
+
(name) => `[${name}="${cssEscape(dataAttributes[name]!)}"]`,
|
|
2133
2145
|
),
|
|
2134
2146
|
]),
|
|
2135
2147
|
);
|
|
@@ -3226,13 +3238,17 @@ function prepareMovedFragmentForParent(
|
|
|
3226
3238
|
fragment: string,
|
|
3227
3239
|
destinationParent: ParsedElement | undefined,
|
|
3228
3240
|
): string {
|
|
3229
|
-
if (!isFlowLayoutContainer(destinationParent)) return fragment;
|
|
3230
3241
|
const fragmentRoot = parseHtmlElements(fragment).find(
|
|
3231
3242
|
(element) => element.parentIndex === undefined,
|
|
3232
3243
|
);
|
|
3233
|
-
return
|
|
3234
|
-
|
|
3235
|
-
|
|
3244
|
+
if (!fragmentRoot) return fragment;
|
|
3245
|
+
if (isFlowLayoutContainer(destinationParent)) {
|
|
3246
|
+
return stripAbsolutePositioningFromChild(fragment, fragmentRoot);
|
|
3247
|
+
}
|
|
3248
|
+
// Mirror image: entering a non-flow (absolute/freeform) parent, or the
|
|
3249
|
+
// document root, strips any leftover flex/grid-item-only styling instead —
|
|
3250
|
+
// see stripFlexItemStylingFromChild's doc comment.
|
|
3251
|
+
return stripFlexItemStylingFromChild(fragment, fragmentRoot);
|
|
3236
3252
|
}
|
|
3237
3253
|
|
|
3238
3254
|
/** Generate a fresh unique data-agent-native-node-id value not already in the set. */
|
|
@@ -3274,6 +3290,25 @@ const AUTO_LAYOUT_STRIP_PROPS = [
|
|
|
3274
3290
|
"inset",
|
|
3275
3291
|
] as const;
|
|
3276
3292
|
|
|
3293
|
+
/**
|
|
3294
|
+
* Flex/grid-item-only properties stripped when a fragment leaves auto-layout
|
|
3295
|
+
* flow for a non-flow (absolute/freeform) destination parent — the mirror
|
|
3296
|
+
* image of AUTO_LAYOUT_STRIP_PROPS. Mirrors FLEX_ITEM_INLINE_PROPS in
|
|
3297
|
+
* editor-chrome.bridge.ts's prepareFlowMembersForAbsoluteDrop and
|
|
3298
|
+
* FLEX_ITEM_PROPS in DesignEditor.tsx's setAbsolutePositioningForNodeInHtml
|
|
3299
|
+
* (the same-document/canvas-drag persistence paths for this exact leak);
|
|
3300
|
+
* this is the moveNodeBetweenDocuments seam other reparent flows (e.g. a
|
|
3301
|
+
* Layers-panel cross-screen move) go through instead.
|
|
3302
|
+
*/
|
|
3303
|
+
const FLEX_ITEM_STRIP_PROPS = [
|
|
3304
|
+
"flex",
|
|
3305
|
+
"flex-grow",
|
|
3306
|
+
"flex-shrink",
|
|
3307
|
+
"flex-basis",
|
|
3308
|
+
"align-self",
|
|
3309
|
+
"order",
|
|
3310
|
+
] as const;
|
|
3311
|
+
|
|
3277
3312
|
/**
|
|
3278
3313
|
* Apply display:flex + direction + gap to a raw open-tag string and return it.
|
|
3279
3314
|
* Only touches the style attribute.
|
|
@@ -3359,6 +3394,44 @@ function stripAbsolutePositioningFromChild(
|
|
|
3359
3394
|
return nextHtml;
|
|
3360
3395
|
}
|
|
3361
3396
|
|
|
3397
|
+
/**
|
|
3398
|
+
* Strip flex/grid-item-only inline properties (flex-grow/shrink/basis,
|
|
3399
|
+
* align-self, order, the flex shorthand) from a child's inline style. Called
|
|
3400
|
+
* when a fragment leaves auto-layout flow for a non-flow destination parent —
|
|
3401
|
+
* these properties only mean anything inside a flex/grid container, so
|
|
3402
|
+
* leaving them on an absolute/freeform element is dead (and misleading)
|
|
3403
|
+
* source clutter that would silently reactivate with a stale value if the
|
|
3404
|
+
* element were ever reparented back into flow. No-ops harmlessly when the
|
|
3405
|
+
* child never had any of these set.
|
|
3406
|
+
*/
|
|
3407
|
+
function stripFlexItemStylingFromChild(
|
|
3408
|
+
html: string,
|
|
3409
|
+
child: ParsedElement,
|
|
3410
|
+
): string {
|
|
3411
|
+
const currentStyle = attributeValue(child, "style");
|
|
3412
|
+
if (!currentStyle) return html;
|
|
3413
|
+
// Cheap presence check before touching anything: stripStyleProperties round
|
|
3414
|
+
// -trips through parseStyleDeclarations/serializeStyleDeclarations, which
|
|
3415
|
+
// normalizes formatting (adds "; " separators and a space after each
|
|
3416
|
+
// colon) even when nothing actually needs removing. The overwhelming
|
|
3417
|
+
// majority of moves into a non-flow destination involve a fragment that
|
|
3418
|
+
// was never a flex/grid item, so unconditionally rewriting its style
|
|
3419
|
+
// attribute would silently reformat unrelated, untouched authored CSS on
|
|
3420
|
+
// every such move — exactly the kind of source churn this substrate is
|
|
3421
|
+
// supposed to avoid. Only rewrite when there's actually something to strip.
|
|
3422
|
+
const declarations = parseStyleDeclarations(currentStyle);
|
|
3423
|
+
const hasFlexItemProp = declarations.some((decl) =>
|
|
3424
|
+
(FLEX_ITEM_STRIP_PROPS as readonly string[]).includes(decl.property),
|
|
3425
|
+
);
|
|
3426
|
+
if (!hasFlexItemProp) return html;
|
|
3427
|
+
return replaceOrInsertAttribute(
|
|
3428
|
+
html,
|
|
3429
|
+
child,
|
|
3430
|
+
"style",
|
|
3431
|
+
stripStyleProperties(currentStyle, [...FLEX_ITEM_STRIP_PROPS]),
|
|
3432
|
+
);
|
|
3433
|
+
}
|
|
3434
|
+
|
|
3362
3435
|
/**
|
|
3363
3436
|
* L7: sequential "Group N" naming. Counts existing layer names already
|
|
3364
3437
|
* matching "Group" or "Group <number>" in the projection (via
|
|
@@ -3449,7 +3522,12 @@ function applyWrapNodes(
|
|
|
3449
3522
|
):
|
|
3450
3523
|
| { content: string; capability: EditCapability; wrapperNodeId: string }
|
|
3451
3524
|
| PatchResultStatus {
|
|
3452
|
-
const {
|
|
3525
|
+
const { autoLayout = false } = intent;
|
|
3526
|
+
// A UI selection is unique, but action/tool callers and stale multi-select
|
|
3527
|
+
// state can repeat an id. Extracting/removing the same source span twice
|
|
3528
|
+
// corrupts the surrounding document and duplicates the node inside the new
|
|
3529
|
+
// wrapper. Normalize at the deterministic edit boundary.
|
|
3530
|
+
const targetIds = Array.from(new Set(intent.targetIds));
|
|
3453
3531
|
if (targetIds.length === 0) return "unsupported";
|
|
3454
3532
|
|
|
3455
3533
|
// Resolve all target nodes via nodeId attribute matching.
|
|
@@ -4278,37 +4356,39 @@ export function moveNodeBetweenDocuments(
|
|
|
4278
4356
|
|
|
4279
4357
|
// --- Re-stamp any colliding node ids in the fragment ---
|
|
4280
4358
|
// We do this by parsing the fragment as its own HTML and replacing ids.
|
|
4359
|
+
// Replacements are tracked PER ATTRIBUTE OCCURRENCE, not in an
|
|
4360
|
+
// old-id -> new-id map: malformed/generated source can already contain the
|
|
4361
|
+
// same stable id more than once. Mapping by the old string would assign the
|
|
4362
|
+
// same replacement to every duplicate and leave the destination ambiguous
|
|
4363
|
+
// after a cross-screen move (selection and undo would then target whichever
|
|
4364
|
+
// duplicate happened to resolve first).
|
|
4281
4365
|
const fragElements = parseHtmlElements(fragment);
|
|
4282
|
-
|
|
4283
|
-
|
|
4366
|
+
const remapEdits: Array<{ start: number; end: number; value: string }> = [];
|
|
4367
|
+
let movedNodeId = nodeId;
|
|
4284
4368
|
for (const fragEl of fragElements) {
|
|
4285
|
-
const
|
|
4286
|
-
if (!
|
|
4369
|
+
const attr = getAttribute(fragEl, "data-agent-native-node-id");
|
|
4370
|
+
if (!attr || typeof attr.value !== "string") continue;
|
|
4371
|
+
const existingId = attr.value;
|
|
4372
|
+
let nextId = existingId;
|
|
4287
4373
|
if (destUsedIds.has(existingId)) {
|
|
4288
4374
|
const newId = freshNodeId(
|
|
4289
4375
|
destUsedIds,
|
|
4290
4376
|
`moved:${existingId}:${fragEl.start}`,
|
|
4291
4377
|
);
|
|
4292
|
-
|
|
4293
|
-
} else {
|
|
4294
|
-
destUsedIds.add(existingId);
|
|
4295
|
-
}
|
|
4296
|
-
}
|
|
4297
|
-
|
|
4298
|
-
// Apply id remaps to the fragment (back to front by attribute position).
|
|
4299
|
-
if (idRemap.size > 0) {
|
|
4300
|
-
const remapEdits: Array<{ start: number; end: number; value: string }> = [];
|
|
4301
|
-
for (const fragEl of fragElements) {
|
|
4302
|
-
const attr = getAttribute(fragEl, "data-agent-native-node-id");
|
|
4303
|
-
if (!attr || typeof attr.value !== "string") continue;
|
|
4304
|
-
const newId = idRemap.get(attr.value);
|
|
4305
|
-
if (!newId) continue;
|
|
4378
|
+
nextId = newId;
|
|
4306
4379
|
remapEdits.push({
|
|
4307
4380
|
start: attr.start,
|
|
4308
4381
|
end: attr.end,
|
|
4309
4382
|
value: `data-agent-native-node-id="${escapeHtmlAttribute(newId)}"`,
|
|
4310
4383
|
});
|
|
4384
|
+
} else {
|
|
4385
|
+
destUsedIds.add(existingId);
|
|
4311
4386
|
}
|
|
4387
|
+
if (fragEl.parentIndex === undefined) movedNodeId = nextId;
|
|
4388
|
+
}
|
|
4389
|
+
|
|
4390
|
+
// Apply id remaps to the fragment (back to front by attribute position).
|
|
4391
|
+
if (remapEdits.length > 0) {
|
|
4312
4392
|
// Apply back to front.
|
|
4313
4393
|
remapEdits.sort((a, b) => b.start - a.start);
|
|
4314
4394
|
for (const edit of remapEdits) {
|
|
@@ -4398,9 +4478,6 @@ export function moveNodeBetweenDocuments(
|
|
|
4398
4478
|
nextDestHtml = `${destHtml.slice(0, insertAt)}${fragment}${destHtml.slice(insertAt)}`;
|
|
4399
4479
|
}
|
|
4400
4480
|
|
|
4401
|
-
// The moved node keeps its original id unless it collided and was re-stamped.
|
|
4402
|
-
const movedNodeId = idRemap.get(nodeId) ?? nodeId;
|
|
4403
|
-
|
|
4404
4481
|
return {
|
|
4405
4482
|
sourceHtml: nextSourceHtml,
|
|
4406
4483
|
destHtml: nextDestHtml,
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import type { DesignSystemData } from "./api";
|
|
2
|
+
|
|
3
|
+
export const DESIGN_SYSTEM_TEMPLATE_IDS = [
|
|
4
|
+
"material-3",
|
|
5
|
+
"carbon-white",
|
|
6
|
+
"primer-light",
|
|
7
|
+
] as const;
|
|
8
|
+
|
|
9
|
+
export type DesignSystemTemplateId =
|
|
10
|
+
(typeof DESIGN_SYSTEM_TEMPLATE_IDS)[number];
|
|
11
|
+
|
|
12
|
+
export interface ProductionDesignSystemTemplate {
|
|
13
|
+
id: DesignSystemTemplateId;
|
|
14
|
+
title: string;
|
|
15
|
+
organization: string;
|
|
16
|
+
description: string;
|
|
17
|
+
sourceLabel: string;
|
|
18
|
+
sourceUrl: string;
|
|
19
|
+
version: string;
|
|
20
|
+
license: string;
|
|
21
|
+
data: DesignSystemData;
|
|
22
|
+
customInstructions: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Source-linked snapshots of established public design systems. Keep values
|
|
27
|
+
* aligned with the version/source named on each entry; these are working
|
|
28
|
+
* systems for generated designs, not lookalike palettes.
|
|
29
|
+
*/
|
|
30
|
+
export const PRODUCTION_DESIGN_SYSTEM_TEMPLATES = [
|
|
31
|
+
{
|
|
32
|
+
id: "material-3",
|
|
33
|
+
title: "Material Design 3",
|
|
34
|
+
organization: "Google",
|
|
35
|
+
description:
|
|
36
|
+
"Baseline light color roles, Roboto type scale, 4 dp spacing, and the Material 3 shape system.",
|
|
37
|
+
sourceLabel: "Material Design 3",
|
|
38
|
+
sourceUrl: "https://m3.material.io/styles",
|
|
39
|
+
version: "Baseline light",
|
|
40
|
+
license: "Apache-2.0",
|
|
41
|
+
data: {
|
|
42
|
+
colors: {
|
|
43
|
+
primary: "#6750A4",
|
|
44
|
+
secondary: "#625B71",
|
|
45
|
+
accent: "#7D5260",
|
|
46
|
+
background: "#FFFBFE",
|
|
47
|
+
surface: "#FFFBFE",
|
|
48
|
+
text: "#1C1B1F",
|
|
49
|
+
textMuted: "#49454F",
|
|
50
|
+
},
|
|
51
|
+
typography: {
|
|
52
|
+
headingFont: "Roboto",
|
|
53
|
+
bodyFont: "Roboto",
|
|
54
|
+
headingWeight: "400",
|
|
55
|
+
bodyWeight: "400",
|
|
56
|
+
headingSizes: {
|
|
57
|
+
h1: "57px",
|
|
58
|
+
h2: "45px",
|
|
59
|
+
h3: "36px",
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
spacing: {
|
|
63
|
+
pagePadding: "24px",
|
|
64
|
+
elementGap: "16px",
|
|
65
|
+
},
|
|
66
|
+
borders: {
|
|
67
|
+
radius: "12px",
|
|
68
|
+
accentWidth: "1px",
|
|
69
|
+
},
|
|
70
|
+
defaults: {
|
|
71
|
+
background: "#FFFBFE",
|
|
72
|
+
labelStyle: "none",
|
|
73
|
+
},
|
|
74
|
+
logos: [],
|
|
75
|
+
imageStyle: {
|
|
76
|
+
referenceUrls: [],
|
|
77
|
+
styleDescription:
|
|
78
|
+
"Clear, inclusive product imagery with simple compositions, natural light, and purposeful color drawn from the active Material color roles.",
|
|
79
|
+
},
|
|
80
|
+
notes:
|
|
81
|
+
"Material Design 3 baseline light snapshot. Source: https://m3.material.io/styles. Use semantic color roles and the complete type and shape scales; do not imply Google product branding.",
|
|
82
|
+
customCSS: `:root {
|
|
83
|
+
--md-sys-color-primary: #6750a4;
|
|
84
|
+
--md-sys-color-on-primary: #ffffff;
|
|
85
|
+
--md-sys-color-primary-container: #eaddff;
|
|
86
|
+
--md-sys-color-on-primary-container: #21005d;
|
|
87
|
+
--md-sys-color-secondary: #625b71;
|
|
88
|
+
--md-sys-color-secondary-container: #e8def8;
|
|
89
|
+
--md-sys-color-tertiary: #7d5260;
|
|
90
|
+
--md-sys-color-tertiary-container: #ffd8e4;
|
|
91
|
+
--md-sys-color-surface: #fffbfe;
|
|
92
|
+
--md-sys-color-surface-variant: #e7e0ec;
|
|
93
|
+
--md-sys-color-on-surface: #1c1b1f;
|
|
94
|
+
--md-sys-color-on-surface-variant: #49454f;
|
|
95
|
+
--md-sys-color-outline: #79747e;
|
|
96
|
+
--md-sys-color-outline-variant: #cac4d0;
|
|
97
|
+
--md-sys-color-error: #b3261e;
|
|
98
|
+
--md-sys-shape-extra-small: 4px;
|
|
99
|
+
--md-sys-shape-small: 8px;
|
|
100
|
+
--md-sys-shape-medium: 12px;
|
|
101
|
+
--md-sys-shape-large: 16px;
|
|
102
|
+
--md-sys-shape-extra-large: 28px;
|
|
103
|
+
--md-sys-shape-full: 9999px;
|
|
104
|
+
--md-sys-typescale-display-large-size: 57px;
|
|
105
|
+
--md-sys-typescale-display-large-line-height: 64px;
|
|
106
|
+
--md-sys-typescale-headline-large-size: 32px;
|
|
107
|
+
--md-sys-typescale-headline-large-line-height: 40px;
|
|
108
|
+
--md-sys-typescale-title-large-size: 22px;
|
|
109
|
+
--md-sys-typescale-title-large-line-height: 28px;
|
|
110
|
+
--md-sys-typescale-body-large-size: 16px;
|
|
111
|
+
--md-sys-typescale-body-large-line-height: 24px;
|
|
112
|
+
--md-sys-typescale-label-large-size: 14px;
|
|
113
|
+
--md-sys-typescale-label-large-line-height: 20px;
|
|
114
|
+
}`,
|
|
115
|
+
},
|
|
116
|
+
customInstructions:
|
|
117
|
+
"Follow Material Design 3, using semantic color roles rather than decorative purple. Reserve primary for high-emphasis controls and active states; use containers for lower emphasis. Use the Roboto baseline type scale (display 57/64, headline large 32/40, title large 22/28, body large 16/24, label large 14/20). Build spacing on a 4 px grid. Use the official shape scale (4, 8, 12, 16, 28, full) by component role, visible focus states, minimum 48 px touch targets, and state layers for hover, focus, pressed, and disabled. Do not use Google logos or make the result look like a specific Google product.",
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
id: "carbon-white",
|
|
121
|
+
title: "Carbon Design System",
|
|
122
|
+
organization: "IBM",
|
|
123
|
+
description:
|
|
124
|
+
"Carbon v11 White theme with IBM Plex, role-based enterprise color tokens, and the 2/4/8 spacing scale.",
|
|
125
|
+
sourceLabel: "Carbon Design System",
|
|
126
|
+
sourceUrl: "https://carbondesignsystem.com/",
|
|
127
|
+
version: "@carbon/themes 11.76.1",
|
|
128
|
+
license: "Apache-2.0",
|
|
129
|
+
data: {
|
|
130
|
+
colors: {
|
|
131
|
+
primary: "#0F62FE",
|
|
132
|
+
secondary: "#393939",
|
|
133
|
+
accent: "#0F62FE",
|
|
134
|
+
background: "#FFFFFF",
|
|
135
|
+
surface: "#F4F4F4",
|
|
136
|
+
text: "#161616",
|
|
137
|
+
textMuted: "#525252",
|
|
138
|
+
},
|
|
139
|
+
typography: {
|
|
140
|
+
headingFont: "IBM Plex Sans",
|
|
141
|
+
bodyFont: "IBM Plex Sans",
|
|
142
|
+
headingWeight: "400",
|
|
143
|
+
bodyWeight: "400",
|
|
144
|
+
headingSizes: {
|
|
145
|
+
h1: "32px",
|
|
146
|
+
h2: "28px",
|
|
147
|
+
h3: "24px",
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
spacing: {
|
|
151
|
+
pagePadding: "32px",
|
|
152
|
+
elementGap: "16px",
|
|
153
|
+
},
|
|
154
|
+
borders: {
|
|
155
|
+
radius: "0px",
|
|
156
|
+
accentWidth: "2px",
|
|
157
|
+
},
|
|
158
|
+
defaults: {
|
|
159
|
+
background: "#FFFFFF",
|
|
160
|
+
labelStyle: "none",
|
|
161
|
+
},
|
|
162
|
+
logos: [],
|
|
163
|
+
imageStyle: {
|
|
164
|
+
referenceUrls: [],
|
|
165
|
+
styleDescription:
|
|
166
|
+
"Technical, information-rich editorial imagery with strong grids, restrained color, crisp geometry, and documentary rather than decorative composition.",
|
|
167
|
+
},
|
|
168
|
+
notes:
|
|
169
|
+
"IBM Carbon Design System v11 White theme snapshot from @carbon/themes 11.76.1. Sources: https://carbondesignsystem.com/elements/themes/overview/ and https://carbondesignsystem.com/elements/typography/type-sets/. Do not imply IBM endorsement.",
|
|
170
|
+
customCSS: `:root {
|
|
171
|
+
--cds-background: #ffffff;
|
|
172
|
+
--cds-background-brand: #0f62fe;
|
|
173
|
+
--cds-layer-01: #f4f4f4;
|
|
174
|
+
--cds-layer-02: #ffffff;
|
|
175
|
+
--cds-layer-accent-01: #e0e0e0;
|
|
176
|
+
--cds-border-subtle-00: #e0e0e0;
|
|
177
|
+
--cds-border-strong-01: #8d8d8d;
|
|
178
|
+
--cds-border-interactive: #0f62fe;
|
|
179
|
+
--cds-text-primary: #161616;
|
|
180
|
+
--cds-text-secondary: #525252;
|
|
181
|
+
--cds-text-helper: #6f6f6f;
|
|
182
|
+
--cds-link-primary: #0f62fe;
|
|
183
|
+
--cds-focus: #0f62fe;
|
|
184
|
+
--cds-support-error: #da1e28;
|
|
185
|
+
--cds-support-success: #24a148;
|
|
186
|
+
--cds-support-warning: #f1c21b;
|
|
187
|
+
--cds-spacing-01: 2px;
|
|
188
|
+
--cds-spacing-02: 4px;
|
|
189
|
+
--cds-spacing-03: 8px;
|
|
190
|
+
--cds-spacing-04: 12px;
|
|
191
|
+
--cds-spacing-05: 16px;
|
|
192
|
+
--cds-spacing-06: 24px;
|
|
193
|
+
--cds-spacing-07: 32px;
|
|
194
|
+
--cds-spacing-08: 40px;
|
|
195
|
+
--cds-spacing-09: 48px;
|
|
196
|
+
--cds-spacing-10: 64px;
|
|
197
|
+
--cds-spacing-11: 80px;
|
|
198
|
+
--cds-spacing-12: 96px;
|
|
199
|
+
--cds-spacing-13: 160px;
|
|
200
|
+
--cds-heading-05-size: 32px;
|
|
201
|
+
--cds-heading-05-line-height: 40px;
|
|
202
|
+
--cds-body-01-size: 14px;
|
|
203
|
+
--cds-body-01-line-height: 20px;
|
|
204
|
+
}`,
|
|
205
|
+
},
|
|
206
|
+
customInstructions:
|
|
207
|
+
"Follow IBM Carbon Design System v11 White theme. Use IBM Plex Sans and productive type for application UI: heading-05 is 32/40 regular, body-01 is 14/20 regular, and compact headings are semibold. Use Carbon's 2, 4, 8, 12, 16, 24, 32, 40, 48, 64, 80, 96, 160 px spacing tokens and a disciplined grid. Keep corners square, surfaces layered through white and gray 10, and blue 60 (#0F62FE) reserved for interactive emphasis. Use 48 px controls where Carbon specifies them, 2 px focus outlines, clear data density, and complete hover, active, selected, disabled, error, and skeleton states. Do not use IBM logos or imply IBM endorsement.",
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
id: "primer-light",
|
|
211
|
+
title: "Primer",
|
|
212
|
+
organization: "GitHub",
|
|
213
|
+
description:
|
|
214
|
+
"Primer light tokens with Mona Sans, compact developer-tool density, semantic colors, and responsive spacing.",
|
|
215
|
+
sourceLabel: "Primer Design System",
|
|
216
|
+
sourceUrl: "https://primer.style/",
|
|
217
|
+
version: "@primer/primitives 11.9.0",
|
|
218
|
+
license: "MIT",
|
|
219
|
+
data: {
|
|
220
|
+
colors: {
|
|
221
|
+
primary: "#0969DA",
|
|
222
|
+
secondary: "#25292E",
|
|
223
|
+
accent: "#0969DA",
|
|
224
|
+
background: "#FFFFFF",
|
|
225
|
+
surface: "#F6F8FA",
|
|
226
|
+
text: "#1F2328",
|
|
227
|
+
textMuted: "#59636E",
|
|
228
|
+
},
|
|
229
|
+
typography: {
|
|
230
|
+
headingFont: "Mona Sans",
|
|
231
|
+
bodyFont: "Mona Sans",
|
|
232
|
+
headingWeight: "600",
|
|
233
|
+
bodyWeight: "400",
|
|
234
|
+
headingSizes: {
|
|
235
|
+
h1: "40px",
|
|
236
|
+
h2: "32px",
|
|
237
|
+
h3: "20px",
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
spacing: {
|
|
241
|
+
pagePadding: "24px",
|
|
242
|
+
elementGap: "16px",
|
|
243
|
+
},
|
|
244
|
+
borders: {
|
|
245
|
+
radius: "6px",
|
|
246
|
+
accentWidth: "1px",
|
|
247
|
+
},
|
|
248
|
+
defaults: {
|
|
249
|
+
background: "#FFFFFF",
|
|
250
|
+
labelStyle: "none",
|
|
251
|
+
},
|
|
252
|
+
logos: [],
|
|
253
|
+
imageStyle: {
|
|
254
|
+
referenceUrls: [],
|
|
255
|
+
styleDescription:
|
|
256
|
+
"Practical developer-focused diagrams and product imagery with crisp code-detail, restrained backgrounds, and semantic status color used only when informative.",
|
|
257
|
+
},
|
|
258
|
+
notes:
|
|
259
|
+
"GitHub Primer light snapshot from @primer/primitives 11.9.0. Sources: https://primer.style/product/primitives/ and https://primer.style/product/getting-started/foundations/. Do not use GitHub or Octocat marks or imply GitHub endorsement.",
|
|
260
|
+
customCSS: `:root {
|
|
261
|
+
--bgColor-default: #ffffff;
|
|
262
|
+
--bgColor-muted: #f6f8fa;
|
|
263
|
+
--bgColor-emphasis: #25292e;
|
|
264
|
+
--bgColor-accent-muted: #ddf4ff;
|
|
265
|
+
--bgColor-accent-emphasis: #0969da;
|
|
266
|
+
--fgColor-default: #1f2328;
|
|
267
|
+
--fgColor-muted: #59636e;
|
|
268
|
+
--fgColor-accent: #0969da;
|
|
269
|
+
--fgColor-onEmphasis: #ffffff;
|
|
270
|
+
--borderColor-default: #d1d9e0;
|
|
271
|
+
--borderColor-muted: #d8dee4;
|
|
272
|
+
--borderColor-accent-emphasis: #0969da;
|
|
273
|
+
--base-size-4: 4px;
|
|
274
|
+
--base-size-8: 8px;
|
|
275
|
+
--base-size-16: 16px;
|
|
276
|
+
--base-size-24: 24px;
|
|
277
|
+
--base-size-32: 32px;
|
|
278
|
+
--base-size-40: 40px;
|
|
279
|
+
--base-size-48: 48px;
|
|
280
|
+
--base-size-64: 64px;
|
|
281
|
+
--text-body-size-medium: 1rem;
|
|
282
|
+
--text-title-size-small: 1rem;
|
|
283
|
+
--text-title-size-medium: 1.25rem;
|
|
284
|
+
--text-title-size-large: 2rem;
|
|
285
|
+
--text-display-size: 2.5rem;
|
|
286
|
+
--text-display-lineHeight: 1.375;
|
|
287
|
+
--text-display-weight: 500;
|
|
288
|
+
}`,
|
|
289
|
+
},
|
|
290
|
+
customInstructions:
|
|
291
|
+
"Follow GitHub Primer using semantic tokens, not raw palette values. Use the Mona Sans stack with display 40 px/500, large title 32 px, medium title 20 px, and 16 px body text; keep dense application labels at 14 px only where hierarchy remains clear. Use the 4, 8, 16, 24, 32, 40, 48, 64 px spacing scale and restrained 6 px radii. Default backgrounds are white, muted grouping is #F6F8FA, primary text is #1F2328, muted text is #59636E, and accent emphasis is #0969DA. Pair emphasis backgrounds with on-emphasis foregrounds, preserve semantic status colors, support light/dark and high-contrast modes conceptually, and include visible focus, hover, active, selected, disabled, loading, empty, and error states. Do not use GitHub or Octocat marks or imply GitHub endorsement.",
|
|
292
|
+
},
|
|
293
|
+
] satisfies readonly ProductionDesignSystemTemplate[];
|
|
294
|
+
|
|
295
|
+
export function getProductionDesignSystemTemplate(
|
|
296
|
+
id: string,
|
|
297
|
+
): ProductionDesignSystemTemplate | undefined {
|
|
298
|
+
return PRODUCTION_DESIGN_SYSTEM_TEMPLATES.find(
|
|
299
|
+
(template) => template.id === id,
|
|
300
|
+
);
|
|
301
|
+
}
|