@agent-native/core 0.92.12 → 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 +39 -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 +15 -3
- package/corpus/core/src/agent/run-manager.ts +130 -10
- package/corpus/core/src/agent/run-store.ts +225 -15
- 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 +54 -5
- 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/hooks/use-library.ts +1 -1
- package/corpus/templates/clips/app/hooks/use-navigation-state.ts +10 -2
- 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-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 +10 -16
- package/corpus/templates/content/actions/_database-source-utils.ts +58 -11
- package/corpus/templates/content/actions/_property-utils.ts +30 -2
- package/corpus/templates/content/actions/add-content-database-source-field-property.ts +312 -114
- package/corpus/templates/content/actions/submit-content-database-form.ts +497 -0
- 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-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 +27 -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 +2 -2
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +15 -5
- 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 +90 -9
- 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 +206 -15
- 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 +49 -4
- 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/struct-routes.d.ts +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/observability/routes.d.ts +5 -5
- package/dist/progress/routes.d.ts +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 +3 -3
- 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
|
@@ -541,6 +541,26 @@ const messages = {
|
|
|
541
541
|
updated: "Actualizado {{date}}",
|
|
542
542
|
},
|
|
543
543
|
database: {
|
|
544
|
+
formChecked: "已勾選",
|
|
545
|
+
formChooseOption: "選擇一個選項",
|
|
546
|
+
formDescription: "填寫以下問題,將頁面新增至此資料庫。",
|
|
547
|
+
formEditorAccessRequired: "需要編輯者權限才能提交此表單。",
|
|
548
|
+
formLongAnswerPlaceholder: "輸入詳細回覆...",
|
|
549
|
+
formMoveQuestionDown: "將 {{name}} 下移",
|
|
550
|
+
formMoveQuestionUp: "將 {{name}} 上移",
|
|
551
|
+
formName: "名稱",
|
|
552
|
+
formNotChecked: "未勾選",
|
|
553
|
+
formOnePerLinePlaceholder: "每行輸入一個值",
|
|
554
|
+
formQuestions: "問題",
|
|
555
|
+
formQuestionsDescription: "選擇顯示的問題、標示必填項目並設定順序。",
|
|
556
|
+
formRequired: "必填",
|
|
557
|
+
formRequiredError: "此問題為必填。",
|
|
558
|
+
formShowQuestion: "顯示",
|
|
559
|
+
formSubmit: "提交",
|
|
560
|
+
formSubmitFailed: "無法提交表單。",
|
|
561
|
+
formSubmitted: "回覆已提交",
|
|
562
|
+
formSubmittedDescription: "新的資料庫頁面已準備完成。",
|
|
563
|
+
formSubmitting: "提交中...",
|
|
544
564
|
addARowTo: "新增列至…",
|
|
545
565
|
addASource: "新增來源",
|
|
546
566
|
aField: "一個欄位",
|
|
@@ -713,6 +733,7 @@ const messages = {
|
|
|
713
733
|
previousTimelineRange: "上一個時間線範圍",
|
|
714
734
|
propertyVisibility: "屬性可見性",
|
|
715
735
|
reset: "重設",
|
|
736
|
+
refreshSource: "重新整理來源",
|
|
716
737
|
resizeNameColumn: "調整名稱列寬",
|
|
717
738
|
row: "行",
|
|
718
739
|
rowOptions: "行選項",
|
|
@@ -136,6 +136,7 @@ const databaseMessages = {
|
|
|
136
136
|
previousTimelineRange: "Previous timeline range",
|
|
137
137
|
propertyVisibility: "Property visibility",
|
|
138
138
|
reset: "Reset",
|
|
139
|
+
refreshSource: "Refresh source",
|
|
139
140
|
resizeNameColumn: "Resize Name column",
|
|
140
141
|
row: "Row",
|
|
141
142
|
rowOptions: "Row options",
|
|
@@ -220,6 +221,28 @@ const databaseMessages = {
|
|
|
220
221
|
expandAllGroups: "Expand all groups",
|
|
221
222
|
fieldsWereNotAdded: "Fields were not added",
|
|
222
223
|
filterRowsWhere: "Filter rows where",
|
|
224
|
+
formChecked: "Checked",
|
|
225
|
+
formChooseOption: "Choose an option",
|
|
226
|
+
formDescription:
|
|
227
|
+
"Fill out the questions below to add a page to this database.",
|
|
228
|
+
formEditorAccessRequired: "Editor access is required to submit this form.",
|
|
229
|
+
formLongAnswerPlaceholder: "Enter a detailed response...",
|
|
230
|
+
formMoveQuestionDown: "Move {{name}} down",
|
|
231
|
+
formMoveQuestionUp: "Move {{name}} up",
|
|
232
|
+
formName: "Name",
|
|
233
|
+
formNotChecked: "Not checked",
|
|
234
|
+
formOnePerLinePlaceholder: "Enter one value per line",
|
|
235
|
+
formQuestions: "Questions",
|
|
236
|
+
formQuestionsDescription:
|
|
237
|
+
"Choose which questions appear, mark required answers, and set their order.",
|
|
238
|
+
formRequired: "Required",
|
|
239
|
+
formRequiredError: "This question is required.",
|
|
240
|
+
formShowQuestion: "Show",
|
|
241
|
+
formSubmit: "Submit",
|
|
242
|
+
formSubmitFailed: "The form could not be submitted.",
|
|
243
|
+
formSubmitted: "Response submitted",
|
|
244
|
+
formSubmittedDescription: "The new database page is ready.",
|
|
245
|
+
formSubmitting: "Submitting...",
|
|
223
246
|
gallery: "Gallery",
|
|
224
247
|
groupBy: "Group by",
|
|
225
248
|
groupName: "Group name",
|
|
@@ -409,6 +432,26 @@ const databaseMessagesByLocale = {
|
|
|
409
432
|
"en-US": databaseMessages,
|
|
410
433
|
"zh-TW": zhTW.database,
|
|
411
434
|
"zh-CN": {
|
|
435
|
+
formChecked: "已勾选",
|
|
436
|
+
formChooseOption: "选择一个选项",
|
|
437
|
+
formDescription: "填写以下问题以向此数据库添加页面。",
|
|
438
|
+
formEditorAccessRequired: "需要编辑者权限才能提交此表单。",
|
|
439
|
+
formLongAnswerPlaceholder: "输入详细回复...",
|
|
440
|
+
formMoveQuestionDown: "将 {{name}} 下移",
|
|
441
|
+
formMoveQuestionUp: "将 {{name}} 上移",
|
|
442
|
+
formName: "名称",
|
|
443
|
+
formNotChecked: "未勾选",
|
|
444
|
+
formOnePerLinePlaceholder: "每行输入一个值",
|
|
445
|
+
formQuestions: "问题",
|
|
446
|
+
formQuestionsDescription: "选择显示的问题、标记必填项并调整顺序。",
|
|
447
|
+
formRequired: "必填",
|
|
448
|
+
formRequiredError: "此问题为必填项。",
|
|
449
|
+
formShowQuestion: "显示",
|
|
450
|
+
formSubmit: "提交",
|
|
451
|
+
formSubmitFailed: "无法提交表单。",
|
|
452
|
+
formSubmitted: "回复已提交",
|
|
453
|
+
formSubmittedDescription: "新的数据库页面已准备就绪。",
|
|
454
|
+
formSubmitting: "正在提交...",
|
|
412
455
|
addARowTo: "添加行到…",
|
|
413
456
|
addASource: "添加来源",
|
|
414
457
|
aField: "一个字段",
|
|
@@ -545,6 +588,7 @@ const databaseMessagesByLocale = {
|
|
|
545
588
|
previousMonth: "上个月",
|
|
546
589
|
previousTimelineRange: "上一个时间线范围",
|
|
547
590
|
propertyVisibility: "属性可见性",
|
|
591
|
+
refreshSource: "刷新数据源",
|
|
548
592
|
resizeNameColumn: "调整名称列宽",
|
|
549
593
|
search: "搜索",
|
|
550
594
|
saveForEveryone: "为所有人保存",
|
|
@@ -567,6 +611,29 @@ const databaseMessagesByLocale = {
|
|
|
567
611
|
wrapAllContent: "换行显示所有内容",
|
|
568
612
|
},
|
|
569
613
|
"es-ES": {
|
|
614
|
+
formChecked: "Marcado",
|
|
615
|
+
formChooseOption: "Elige una opción",
|
|
616
|
+
formDescription:
|
|
617
|
+
"Responde estas preguntas para añadir una página a esta base de datos.",
|
|
618
|
+
formEditorAccessRequired:
|
|
619
|
+
"Se necesita acceso de editor para enviar este formulario.",
|
|
620
|
+
formLongAnswerPlaceholder: "Escribe una respuesta detallada...",
|
|
621
|
+
formMoveQuestionDown: "Mover {{name}} hacia abajo",
|
|
622
|
+
formMoveQuestionUp: "Mover {{name}} hacia arriba",
|
|
623
|
+
formName: "Nombre",
|
|
624
|
+
formNotChecked: "Sin marcar",
|
|
625
|
+
formOnePerLinePlaceholder: "Introduce un valor por línea",
|
|
626
|
+
formQuestions: "Preguntas",
|
|
627
|
+
formQuestionsDescription:
|
|
628
|
+
"Elige qué preguntas aparecen, marca las obligatorias y ordénalas.",
|
|
629
|
+
formRequired: "Obligatorio",
|
|
630
|
+
formRequiredError: "Esta pregunta es obligatoria.",
|
|
631
|
+
formShowQuestion: "Mostrar",
|
|
632
|
+
formSubmit: "Enviar",
|
|
633
|
+
formSubmitFailed: "No se pudo enviar el formulario.",
|
|
634
|
+
formSubmitted: "Respuesta enviada",
|
|
635
|
+
formSubmittedDescription: "La nueva página de la base de datos está lista.",
|
|
636
|
+
formSubmitting: "Enviando...",
|
|
570
637
|
addARowTo: "Añadir una fila a…",
|
|
571
638
|
addASource: "Añadir una fuente",
|
|
572
639
|
aField: "un campo",
|
|
@@ -719,6 +786,7 @@ const databaseMessagesByLocale = {
|
|
|
719
786
|
previousMonth: "Mes anterior",
|
|
720
787
|
previousTimelineRange: "Rango de cronología anterior",
|
|
721
788
|
propertyVisibility: "Visibilidad de propiedades",
|
|
789
|
+
refreshSource: "Actualizar fuente",
|
|
722
790
|
resizeNameColumn: "Cambiar ancho de la columna Nombre",
|
|
723
791
|
search: "Buscar",
|
|
724
792
|
saveForEveryone: "Guardar para todos",
|
|
@@ -741,6 +809,29 @@ const databaseMessagesByLocale = {
|
|
|
741
809
|
wrapAllContent: "Ajustar todo el contenido",
|
|
742
810
|
},
|
|
743
811
|
"fr-FR": {
|
|
812
|
+
formChecked: "Coché",
|
|
813
|
+
formChooseOption: "Choisir une option",
|
|
814
|
+
formDescription:
|
|
815
|
+
"Répondez aux questions ci-dessous pour ajouter une page à cette base de données.",
|
|
816
|
+
formEditorAccessRequired:
|
|
817
|
+
"Un accès éditeur est requis pour envoyer ce formulaire.",
|
|
818
|
+
formLongAnswerPlaceholder: "Saisissez une réponse détaillée...",
|
|
819
|
+
formMoveQuestionDown: "Descendre {{name}}",
|
|
820
|
+
formMoveQuestionUp: "Monter {{name}}",
|
|
821
|
+
formName: "Nom",
|
|
822
|
+
formNotChecked: "Non coché",
|
|
823
|
+
formOnePerLinePlaceholder: "Saisissez une valeur par ligne",
|
|
824
|
+
formQuestions: "Questions",
|
|
825
|
+
formQuestionsDescription:
|
|
826
|
+
"Choisissez les questions affichées, les réponses obligatoires et leur ordre.",
|
|
827
|
+
formRequired: "Obligatoire",
|
|
828
|
+
formRequiredError: "Cette question est obligatoire.",
|
|
829
|
+
formShowQuestion: "Afficher",
|
|
830
|
+
formSubmit: "Envoyer",
|
|
831
|
+
formSubmitFailed: "Le formulaire n’a pas pu être envoyé.",
|
|
832
|
+
formSubmitted: "Réponse envoyée",
|
|
833
|
+
formSubmittedDescription: "La nouvelle page de base de données est prête.",
|
|
834
|
+
formSubmitting: "Envoi...",
|
|
744
835
|
addARowTo: "Ajouter une ligne à…",
|
|
745
836
|
addASource: "Ajouter une source",
|
|
746
837
|
aField: "un champ",
|
|
@@ -894,6 +985,7 @@ const databaseMessagesByLocale = {
|
|
|
894
985
|
previousMonth: "Mois précédent",
|
|
895
986
|
previousTimelineRange: "Plage chronologique précédente",
|
|
896
987
|
propertyVisibility: "Visibilité des propriétés",
|
|
988
|
+
refreshSource: "Actualiser la source",
|
|
897
989
|
resizeNameColumn: "Redimensionner la colonne Nom",
|
|
898
990
|
search: "Rechercher",
|
|
899
991
|
saveForEveryone: "Enregistrer pour tout le monde",
|
|
@@ -916,6 +1008,28 @@ const databaseMessagesByLocale = {
|
|
|
916
1008
|
wrapAllContent: "Renvoyer tout le contenu à la ligne",
|
|
917
1009
|
},
|
|
918
1010
|
"de-DE": {
|
|
1011
|
+
formChecked: "Ausgewählt",
|
|
1012
|
+
formChooseOption: "Option auswählen",
|
|
1013
|
+
formDescription:
|
|
1014
|
+
"Beantworten Sie die Fragen, um dieser Datenbank eine Seite hinzuzufügen.",
|
|
1015
|
+
formEditorAccessRequired: "Zum Absenden ist Editorzugriff erforderlich.",
|
|
1016
|
+
formLongAnswerPlaceholder: "Ausführliche Antwort eingeben...",
|
|
1017
|
+
formMoveQuestionDown: "{{name}} nach unten verschieben",
|
|
1018
|
+
formMoveQuestionUp: "{{name}} nach oben verschieben",
|
|
1019
|
+
formName: "Name",
|
|
1020
|
+
formNotChecked: "Nicht ausgewählt",
|
|
1021
|
+
formOnePerLinePlaceholder: "Einen Wert pro Zeile eingeben",
|
|
1022
|
+
formQuestions: "Fragen",
|
|
1023
|
+
formQuestionsDescription:
|
|
1024
|
+
"Legen Sie sichtbare und erforderliche Fragen sowie ihre Reihenfolge fest.",
|
|
1025
|
+
formRequired: "Erforderlich",
|
|
1026
|
+
formRequiredError: "Diese Frage ist erforderlich.",
|
|
1027
|
+
formShowQuestion: "Anzeigen",
|
|
1028
|
+
formSubmit: "Absenden",
|
|
1029
|
+
formSubmitFailed: "Das Formular konnte nicht gesendet werden.",
|
|
1030
|
+
formSubmitted: "Antwort gesendet",
|
|
1031
|
+
formSubmittedDescription: "Die neue Datenbankseite ist bereit.",
|
|
1032
|
+
formSubmitting: "Wird gesendet...",
|
|
919
1033
|
addARowTo: "Zeile hinzufügen zu…",
|
|
920
1034
|
addASource: "Quelle hinzufügen",
|
|
921
1035
|
aField: "ein Feld",
|
|
@@ -1070,6 +1184,7 @@ const databaseMessagesByLocale = {
|
|
|
1070
1184
|
previousMonth: "Vorheriger Monat",
|
|
1071
1185
|
previousTimelineRange: "Vorheriger Zeitachsenbereich",
|
|
1072
1186
|
propertyVisibility: "Eigenschaftensichtbarkeit",
|
|
1187
|
+
refreshSource: "Quelle aktualisieren",
|
|
1073
1188
|
resizeNameColumn: "Namensspalte anpassen",
|
|
1074
1189
|
search: "Suchen",
|
|
1075
1190
|
saveForEveryone: "Für alle speichern",
|
|
@@ -1092,6 +1207,27 @@ const databaseMessagesByLocale = {
|
|
|
1092
1207
|
wrapAllContent: "Gesamten Inhalt umbrechen",
|
|
1093
1208
|
},
|
|
1094
1209
|
"ja-JP": {
|
|
1210
|
+
formChecked: "チェック済み",
|
|
1211
|
+
formChooseOption: "オプションを選択",
|
|
1212
|
+
formDescription:
|
|
1213
|
+
"以下の質問に回答して、このデータベースにページを追加します。",
|
|
1214
|
+
formEditorAccessRequired: "このフォームの送信には編集権限が必要です。",
|
|
1215
|
+
formLongAnswerPlaceholder: "詳しい回答を入力...",
|
|
1216
|
+
formMoveQuestionDown: "{{name}} を下へ移動",
|
|
1217
|
+
formMoveQuestionUp: "{{name}} を上へ移動",
|
|
1218
|
+
formName: "名前",
|
|
1219
|
+
formNotChecked: "未チェック",
|
|
1220
|
+
formOnePerLinePlaceholder: "1行に1つ入力",
|
|
1221
|
+
formQuestions: "質問",
|
|
1222
|
+
formQuestionsDescription: "表示する質問、必須項目、順序を設定します。",
|
|
1223
|
+
formRequired: "必須",
|
|
1224
|
+
formRequiredError: "この質問は必須です。",
|
|
1225
|
+
formShowQuestion: "表示",
|
|
1226
|
+
formSubmit: "送信",
|
|
1227
|
+
formSubmitFailed: "フォームを送信できませんでした。",
|
|
1228
|
+
formSubmitted: "回答を送信しました",
|
|
1229
|
+
formSubmittedDescription: "新しいデータベースページを作成しました。",
|
|
1230
|
+
formSubmitting: "送信中...",
|
|
1095
1231
|
addARowTo: "行の追加先…",
|
|
1096
1232
|
addASource: "ソースを追加",
|
|
1097
1233
|
aField: "フィールド",
|
|
@@ -1241,6 +1377,7 @@ const databaseMessagesByLocale = {
|
|
|
1241
1377
|
previousMonth: "前の月",
|
|
1242
1378
|
previousTimelineRange: "前のタイムライン範囲",
|
|
1243
1379
|
propertyVisibility: "プロパティの表示",
|
|
1380
|
+
refreshSource: "ソースを更新",
|
|
1244
1381
|
resizeNameColumn: "名前列のサイズ変更",
|
|
1245
1382
|
search: "検索",
|
|
1246
1383
|
saveForEveryone: "全員に保存",
|
|
@@ -1263,6 +1400,27 @@ const databaseMessagesByLocale = {
|
|
|
1263
1400
|
wrapAllContent: "すべての内容を折り返す",
|
|
1264
1401
|
},
|
|
1265
1402
|
"ko-KR": {
|
|
1403
|
+
formChecked: "선택됨",
|
|
1404
|
+
formChooseOption: "옵션 선택",
|
|
1405
|
+
formDescription:
|
|
1406
|
+
"아래 질문에 답하여 이 데이터베이스에 페이지를 추가하세요.",
|
|
1407
|
+
formEditorAccessRequired: "이 양식을 제출하려면 편집자 권한이 필요합니다.",
|
|
1408
|
+
formLongAnswerPlaceholder: "자세한 답변 입력...",
|
|
1409
|
+
formMoveQuestionDown: "{{name}} 아래로 이동",
|
|
1410
|
+
formMoveQuestionUp: "{{name}} 위로 이동",
|
|
1411
|
+
formName: "이름",
|
|
1412
|
+
formNotChecked: "선택 안 됨",
|
|
1413
|
+
formOnePerLinePlaceholder: "한 줄에 하나씩 입력",
|
|
1414
|
+
formQuestions: "질문",
|
|
1415
|
+
formQuestionsDescription: "표시할 질문, 필수 답변, 순서를 설정하세요.",
|
|
1416
|
+
formRequired: "필수",
|
|
1417
|
+
formRequiredError: "필수 질문입니다.",
|
|
1418
|
+
formShowQuestion: "표시",
|
|
1419
|
+
formSubmit: "제출",
|
|
1420
|
+
formSubmitFailed: "양식을 제출하지 못했습니다.",
|
|
1421
|
+
formSubmitted: "응답 제출됨",
|
|
1422
|
+
formSubmittedDescription: "새 데이터베이스 페이지가 준비되었습니다.",
|
|
1423
|
+
formSubmitting: "제출 중...",
|
|
1266
1424
|
addARowTo: "행 추가 대상…",
|
|
1267
1425
|
addASource: "소스 추가",
|
|
1268
1426
|
aField: "필드",
|
|
@@ -1410,6 +1568,7 @@ const databaseMessagesByLocale = {
|
|
|
1410
1568
|
previousMonth: "이전 달",
|
|
1411
1569
|
previousTimelineRange: "이전 타임라인 범위",
|
|
1412
1570
|
propertyVisibility: "속성 표시 여부",
|
|
1571
|
+
refreshSource: "소스 새로 고침",
|
|
1413
1572
|
resizeNameColumn: "이름 열 크기 조정",
|
|
1414
1573
|
search: "검색",
|
|
1415
1574
|
saveForEveryone: "모두에게 저장",
|
|
@@ -1432,6 +1591,29 @@ const databaseMessagesByLocale = {
|
|
|
1432
1591
|
wrapAllContent: "모든 콘텐츠 줄바꿈",
|
|
1433
1592
|
},
|
|
1434
1593
|
"pt-BR": {
|
|
1594
|
+
formChecked: "Marcado",
|
|
1595
|
+
formChooseOption: "Escolha uma opção",
|
|
1596
|
+
formDescription:
|
|
1597
|
+
"Responda às perguntas abaixo para adicionar uma página a este banco de dados.",
|
|
1598
|
+
formEditorAccessRequired:
|
|
1599
|
+
"É necessário acesso de editor para enviar este formulário.",
|
|
1600
|
+
formLongAnswerPlaceholder: "Digite uma resposta detalhada...",
|
|
1601
|
+
formMoveQuestionDown: "Mover {{name}} para baixo",
|
|
1602
|
+
formMoveQuestionUp: "Mover {{name}} para cima",
|
|
1603
|
+
formName: "Nome",
|
|
1604
|
+
formNotChecked: "Desmarcado",
|
|
1605
|
+
formOnePerLinePlaceholder: "Digite um valor por linha",
|
|
1606
|
+
formQuestions: "Perguntas",
|
|
1607
|
+
formQuestionsDescription:
|
|
1608
|
+
"Escolha as perguntas exibidas, marque as obrigatórias e defina a ordem.",
|
|
1609
|
+
formRequired: "Obrigatório",
|
|
1610
|
+
formRequiredError: "Esta pergunta é obrigatória.",
|
|
1611
|
+
formShowQuestion: "Mostrar",
|
|
1612
|
+
formSubmit: "Enviar",
|
|
1613
|
+
formSubmitFailed: "Não foi possível enviar o formulário.",
|
|
1614
|
+
formSubmitted: "Resposta enviada",
|
|
1615
|
+
formSubmittedDescription: "A nova página do banco de dados está pronta.",
|
|
1616
|
+
formSubmitting: "Enviando...",
|
|
1435
1617
|
addARowTo: "Adicionar uma linha a…",
|
|
1436
1618
|
addASource: "Adicionar uma fonte",
|
|
1437
1619
|
aField: "um campo",
|
|
@@ -1584,6 +1766,7 @@ const databaseMessagesByLocale = {
|
|
|
1584
1766
|
previousMonth: "Mês anterior",
|
|
1585
1767
|
previousTimelineRange: "Intervalo anterior da linha do tempo",
|
|
1586
1768
|
propertyVisibility: "Visibilidade da propriedade",
|
|
1769
|
+
refreshSource: "Atualizar fonte",
|
|
1587
1770
|
resizeNameColumn: "Redimensionar coluna Nome",
|
|
1588
1771
|
search: "Buscar",
|
|
1589
1772
|
saveForEveryone: "Salvar para todos",
|
|
@@ -1606,6 +1789,26 @@ const databaseMessagesByLocale = {
|
|
|
1606
1789
|
wrapAllContent: "Quebrar todo o conteúdo",
|
|
1607
1790
|
},
|
|
1608
1791
|
"hi-IN": {
|
|
1792
|
+
formChecked: "चयनित",
|
|
1793
|
+
formChooseOption: "एक विकल्प चुनें",
|
|
1794
|
+
formDescription: "इस डेटाबेस में पेज जोड़ने के लिए नीचे दिए सवाल भरें।",
|
|
1795
|
+
formEditorAccessRequired: "यह फ़ॉर्म जमा करने के लिए संपादक पहुँच आवश्यक है।",
|
|
1796
|
+
formLongAnswerPlaceholder: "विस्तृत उत्तर लिखें...",
|
|
1797
|
+
formMoveQuestionDown: "{{name}} को नीचे ले जाएँ",
|
|
1798
|
+
formMoveQuestionUp: "{{name}} को ऊपर ले जाएँ",
|
|
1799
|
+
formName: "नाम",
|
|
1800
|
+
formNotChecked: "चयनित नहीं",
|
|
1801
|
+
formOnePerLinePlaceholder: "हर पंक्ति में एक मान लिखें",
|
|
1802
|
+
formQuestions: "सवाल",
|
|
1803
|
+
formQuestionsDescription: "दिखने वाले और आवश्यक सवाल चुनें और उनका क्रम तय करें।",
|
|
1804
|
+
formRequired: "आवश्यक",
|
|
1805
|
+
formRequiredError: "यह सवाल आवश्यक है।",
|
|
1806
|
+
formShowQuestion: "दिखाएँ",
|
|
1807
|
+
formSubmit: "जमा करें",
|
|
1808
|
+
formSubmitFailed: "फ़ॉर्म जमा नहीं हो सका।",
|
|
1809
|
+
formSubmitted: "उत्तर जमा हुआ",
|
|
1810
|
+
formSubmittedDescription: "नया डेटाबेस पेज तैयार है।",
|
|
1811
|
+
formSubmitting: "जमा हो रहा है...",
|
|
1609
1812
|
addARowTo: "पंक्ति यहाँ जोड़ें…",
|
|
1610
1813
|
addASource: "स्रोत जोड़ें",
|
|
1611
1814
|
aField: "एक फ़ील्ड",
|
|
@@ -1749,6 +1952,7 @@ const databaseMessagesByLocale = {
|
|
|
1749
1952
|
previousMonth: "पिछला महीना",
|
|
1750
1953
|
previousTimelineRange: "पिछला टाइमलाइन रेंज",
|
|
1751
1954
|
propertyVisibility: "प्रॉपर्टी दृश्यता",
|
|
1955
|
+
refreshSource: "स्रोत रीफ़्रेश करें",
|
|
1752
1956
|
resizeNameColumn: "नाम कॉलम का आकार बदलें",
|
|
1753
1957
|
search: "खोजें",
|
|
1754
1958
|
saveForEveryone: "सभी के लिए सहेजें",
|
|
@@ -1771,6 +1975,26 @@ const databaseMessagesByLocale = {
|
|
|
1771
1975
|
wrapAllContent: "सभी सामग्री रैप करें",
|
|
1772
1976
|
},
|
|
1773
1977
|
"ar-SA": {
|
|
1978
|
+
formChecked: "محدد",
|
|
1979
|
+
formChooseOption: "اختر خيارا",
|
|
1980
|
+
formDescription: "أجب عن الأسئلة أدناه لإضافة صفحة إلى قاعدة البيانات هذه.",
|
|
1981
|
+
formEditorAccessRequired: "يلزم وصول المحرر لإرسال هذا النموذج.",
|
|
1982
|
+
formLongAnswerPlaceholder: "أدخل إجابة مفصلة...",
|
|
1983
|
+
formMoveQuestionDown: "نقل {{name}} إلى أسفل",
|
|
1984
|
+
formMoveQuestionUp: "نقل {{name}} إلى أعلى",
|
|
1985
|
+
formName: "الاسم",
|
|
1986
|
+
formNotChecked: "غير محدد",
|
|
1987
|
+
formOnePerLinePlaceholder: "أدخل قيمة واحدة في كل سطر",
|
|
1988
|
+
formQuestions: "الأسئلة",
|
|
1989
|
+
formQuestionsDescription: "اختر الأسئلة الظاهرة والإجابات المطلوبة ورتبها.",
|
|
1990
|
+
formRequired: "مطلوب",
|
|
1991
|
+
formRequiredError: "هذا السؤال مطلوب.",
|
|
1992
|
+
formShowQuestion: "إظهار",
|
|
1993
|
+
formSubmit: "إرسال",
|
|
1994
|
+
formSubmitFailed: "تعذر إرسال النموذج.",
|
|
1995
|
+
formSubmitted: "تم إرسال الرد",
|
|
1996
|
+
formSubmittedDescription: "صفحة قاعدة البيانات الجديدة جاهزة.",
|
|
1997
|
+
formSubmitting: "جار الإرسال...",
|
|
1774
1998
|
addARowTo: "إضافة صف إلى…",
|
|
1775
1999
|
addASource: "إضافة مصدر",
|
|
1776
2000
|
aField: "حقل",
|
|
@@ -1914,6 +2138,7 @@ const databaseMessagesByLocale = {
|
|
|
1914
2138
|
previousMonth: "الشهر السابق",
|
|
1915
2139
|
previousTimelineRange: "نطاق المخطط الزمني السابق",
|
|
1916
2140
|
propertyVisibility: "رؤية الخصائص",
|
|
2141
|
+
refreshSource: "تحديث المصدر",
|
|
1917
2142
|
resizeNameColumn: "تغيير حجم عمود الاسم",
|
|
1918
2143
|
search: "بحث",
|
|
1919
2144
|
saveForEveryone: "حفظ للجميع",
|
|
@@ -5,6 +5,7 @@ This generated matrix tracks whether high-value Content UI operations use the sa
|
|
|
5
5
|
| ID | Surface | User-visible action | Status | Actions | UI entrypoints | Durable effect | Exception / gap | Reliability risk | Spine priority | Test coverage | Coverage refs | Eval scenarios | Follow-up |
|
|
6
6
|
| ---------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------- | -------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------------ |
|
|
7
7
|
| comments.threads | comments | List, add, reply, resolve, reopen, and delete comment threads | action-backed | `add-comment`, `delete-comment`, `list-comments`, `update-comment` | `app/components/editor/CommentsSidebar.tsx`, `app/hooks/use-comments.ts` | Comment threads, replies, anchors, mentions, resolution state, and deletion are stored through comment actions. | - | - | P0 | seeded | - | - | - |
|
|
8
|
+
| database.form-submissions | database | Submit public database forms as new rows | action-backed | `submit-content-database-form` | `app/components/editor/database/FormView.tsx` | A validated form submission atomically creates a database row document and its editable property values. | - | - | P0 | covered | `actions/submit-content-database-form.db.test.ts` | - | - |
|
|
8
9
|
| database.lifecycle-and-trash | database | Create, soft-delete, restore, list, and inspect content databases | action-backed | `create-content-database`, `create-inline-content-database`, `delete-content-database`, `get-content-database`, `list-content-databases`, `list-trashed-content-databases`, `restore-content-database` | `app/components/editor/SlashCommandMenu.tsx`, `app/hooks/use-content-database.ts`, `app/hooks/use-documents.ts` | Database pages and database records are created, read, soft-deleted, restored, and listed. | - | - | P0 | covered | `actions/content-database-lifecycle.db.test.ts` | `database-source-scope` | - |
|
|
9
10
|
| database.properties-and-view-config | database | Configure properties, values, ordering, and saved views | action-backed | `configure-document-property`, `delete-document-property`, `duplicate-document-property`, `get-content-database-personal-view`, `list-document-properties`, `reorder-document-property`, `set-document-property`, `update-content-database-personal-view`, `update-content-database-view` | `app/components/editor/DocumentProperties.tsx`, `app/components/editor/DocumentDatabase.tsx`, `app/components/editor/database/DatabaseView.tsx`, `app/hooks/use-document-properties.ts` | Property schemas, property values, property order, filters, sorts, grouping, hidden columns, view type, and view settings are stored. | - | - | P0 | covered | `actions/bind-content-database-source-field.db.test.ts`, `actions/content-database-source-actions.test.ts`, `actions/resync-content-database-source.db.test.ts` | `database-source-scope` | - |
|
|
10
11
|
| database.rows | database | Add, duplicate, move, open, and delete database rows | action-backed | `add-database-item`, `delete-database-items`, `delete-document`, `duplicate-database-items`, `duplicate-database-item`, `move-database-item`, `set-document-property` | `app/components/editor/DocumentDatabase.tsx`, `app/components/editor/database/DatabaseView.tsx` | Database row backing documents and row ordering are created, duplicated, moved, edited, and deleted. | - | - | P0 | covered | `actions/database-row-batch-actions.db.test.ts`, `parity/__tests__/database-row-batch-reliability.test.ts` | `database-bulk-row-reliability` | - |
|
|
@@ -228,6 +228,24 @@ export const parityMatrix: ParityRow[] = [
|
|
|
228
228
|
coverageRefs: ["actions/content-database-lifecycle.db.test.ts"],
|
|
229
229
|
evalScenarioIds: ["database-source-scope"],
|
|
230
230
|
},
|
|
231
|
+
{
|
|
232
|
+
id: "database.form-submissions",
|
|
233
|
+
surface: "database",
|
|
234
|
+
label: "Submit public database forms as new rows",
|
|
235
|
+
uiEntrypoints: ["app/components/editor/database/FormView.tsx"],
|
|
236
|
+
durableEffect:
|
|
237
|
+
"A validated form submission atomically creates a database row document and its editable property values.",
|
|
238
|
+
uiImplementation:
|
|
239
|
+
"The public form view calls the same submission action exposed to agents and rolls back the row if a property write fails.",
|
|
240
|
+
status: "action-backed",
|
|
241
|
+
actions: ["submit-content-database-form"],
|
|
242
|
+
exception: null,
|
|
243
|
+
reliabilityRisk: "none",
|
|
244
|
+
spinePriority: "P0",
|
|
245
|
+
testCoverage: "covered",
|
|
246
|
+
followUpPR: null,
|
|
247
|
+
coverageRefs: ["actions/submit-content-database-form.db.test.ts"],
|
|
248
|
+
},
|
|
231
249
|
{
|
|
232
250
|
id: "database.rows",
|
|
233
251
|
surface: "database",
|
|
@@ -274,12 +274,20 @@ export type ContentDatabaseViewType =
|
|
|
274
274
|
| "list"
|
|
275
275
|
| "gallery"
|
|
276
276
|
| "calendar"
|
|
277
|
-
| "timeline"
|
|
277
|
+
| "timeline"
|
|
278
|
+
| "form";
|
|
278
279
|
|
|
279
280
|
export type ContentDatabaseRowDensity = "compact" | "default" | "comfortable";
|
|
280
281
|
export type ContentDatabaseFilterMode = "and" | "or";
|
|
281
282
|
export type ContentDatabaseOpenPagesIn = "preview" | "full_page";
|
|
282
283
|
|
|
284
|
+
export interface ContentDatabaseFormQuestion {
|
|
285
|
+
/** "name" is the row page title; every other key is a property definition id. */
|
|
286
|
+
key: string;
|
|
287
|
+
enabled: boolean;
|
|
288
|
+
required: boolean;
|
|
289
|
+
}
|
|
290
|
+
|
|
283
291
|
export interface ContentDatabaseView {
|
|
284
292
|
id: string;
|
|
285
293
|
name: string;
|
|
@@ -299,6 +307,7 @@ export interface ContentDatabaseView {
|
|
|
299
307
|
wrapCells?: boolean;
|
|
300
308
|
rowDensity?: ContentDatabaseRowDensity;
|
|
301
309
|
openPagesIn?: ContentDatabaseOpenPagesIn;
|
|
310
|
+
formQuestions?: ContentDatabaseFormQuestion[];
|
|
302
311
|
}
|
|
303
312
|
|
|
304
313
|
export interface ContentDatabaseViewConfig {
|
|
@@ -735,6 +744,23 @@ export interface AddDatabaseItemRequest {
|
|
|
735
744
|
propertyValues?: Record<string, DocumentPropertyValue>;
|
|
736
745
|
}
|
|
737
746
|
|
|
747
|
+
export interface SubmitContentDatabaseFormRequest {
|
|
748
|
+
databaseId: string;
|
|
749
|
+
viewId?: string;
|
|
750
|
+
title?: string;
|
|
751
|
+
propertyValues?: Record<string, unknown>;
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
export interface SubmitContentDatabaseFormResponse {
|
|
755
|
+
databaseId: string;
|
|
756
|
+
viewId: string;
|
|
757
|
+
createdItemId: string;
|
|
758
|
+
createdDocumentId: string;
|
|
759
|
+
urlPath: string;
|
|
760
|
+
deepLink: string;
|
|
761
|
+
verified: true;
|
|
762
|
+
}
|
|
763
|
+
|
|
738
764
|
export interface DuplicateDatabaseItemRequest {
|
|
739
765
|
itemId?: string;
|
|
740
766
|
documentId?: string;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ContentDatabaseFormQuestion, ContentDatabaseView } from "./api";
|
|
2
|
+
import {
|
|
3
|
+
isComputedPropertyType,
|
|
4
|
+
type DocumentPropertyType,
|
|
5
|
+
} from "./properties";
|
|
6
|
+
|
|
7
|
+
export interface ContentDatabaseFormPropertyLike {
|
|
8
|
+
definition: {
|
|
9
|
+
id: string;
|
|
10
|
+
type: DocumentPropertyType;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function contentDatabaseFormQuestions(
|
|
15
|
+
view: Pick<ContentDatabaseView, "formQuestions">,
|
|
16
|
+
properties: ContentDatabaseFormPropertyLike[],
|
|
17
|
+
): ContentDatabaseFormQuestion[] {
|
|
18
|
+
const availableKeys = [
|
|
19
|
+
"name",
|
|
20
|
+
...properties
|
|
21
|
+
.filter((property) => !isComputedPropertyType(property.definition.type))
|
|
22
|
+
.map((property) => property.definition.id),
|
|
23
|
+
];
|
|
24
|
+
const available = new Set(availableKeys);
|
|
25
|
+
const configured = view.formQuestions ?? [];
|
|
26
|
+
|
|
27
|
+
if (configured.length === 0) {
|
|
28
|
+
return availableKeys.map((key) => ({
|
|
29
|
+
key,
|
|
30
|
+
enabled: true,
|
|
31
|
+
required: key === "name",
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const seen = new Set<string>();
|
|
36
|
+
const questions = configured.flatMap((question) => {
|
|
37
|
+
if (!available.has(question.key) || seen.has(question.key)) return [];
|
|
38
|
+
seen.add(question.key);
|
|
39
|
+
return [
|
|
40
|
+
{
|
|
41
|
+
key: question.key,
|
|
42
|
+
enabled: question.enabled !== false,
|
|
43
|
+
required: question.required === true,
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
for (const key of availableKeys) {
|
|
49
|
+
if (seen.has(key)) continue;
|
|
50
|
+
questions.push({ key, enabled: true, required: key === "name" });
|
|
51
|
+
}
|
|
52
|
+
return questions;
|
|
53
|
+
}
|
|
@@ -11,11 +11,14 @@ metadata:
|
|
|
11
11
|
|
|
12
12
|
# Capture Learnings
|
|
13
13
|
|
|
14
|
-
This is background knowledge, not a slash command. **
|
|
14
|
+
This is background knowledge, not a slash command. **Organization learnings and your personal memory index are loaded at the start of every conversation, including Slack/integration turns.** Capture durable context proactively when you learn something worth remembering.
|
|
15
15
|
|
|
16
16
|
## How to Read & Write Memories
|
|
17
17
|
|
|
18
|
-
Memories are stored as **resources** in the SQL database
|
|
18
|
+
Memories are stored as **resources** in the SQL database, not as files on disk.
|
|
19
|
+
|
|
20
|
+
- **Team/organization knowledge:** shared `LEARNINGS.md`. Read it first, merge the new fact, then write the full updated file with the `resources` tool using `scope: "shared"`. Shared scope resolves to the active organization; it must never leak to another organization in the same deployment.
|
|
21
|
+
- **Personal knowledge:** `memory/MEMORY.md` plus `memory/<name>.md`, written with `save-memory`.
|
|
19
22
|
|
|
20
23
|
- **Save a memory:** `save-memory --name <name> --type <type> --description "..." --content "..."`
|
|
21
24
|
- **Read a memory:** `resource-read --path memory/<name>.md`
|
|
@@ -33,6 +36,14 @@ Memories are stored as **resources** in the SQL database (personal scope), not a
|
|
|
33
36
|
|
|
34
37
|
## When to Capture
|
|
35
38
|
|
|
39
|
+
### Team and organization knowledge (`LEARNINGS.md`, shared scope)
|
|
40
|
+
- Canonical destinations and workflows (for example, which Content database receives a type of Slack request)
|
|
41
|
+
- Required intake fields, ownership, prioritization conventions, metric definitions, and approved terminology
|
|
42
|
+
- Durable external references that the whole team needs, including the canonical page/database URL
|
|
43
|
+
- Corrections or decisions that should affect every organization member's future Slack and app conversations
|
|
44
|
+
|
|
45
|
+
Store the fact and a concise provenance link when available. Do not paste full private conversations, customer data, credentials, or secrets into learnings. Put stable always-on policy in shared `AGENTS.md`; put learned facts and evolving conventions in shared `LEARNINGS.md`.
|
|
46
|
+
|
|
36
47
|
### User Preferences & Memory (`user`)
|
|
37
48
|
- **Tone and style** — "I prefer casual tone", "don't use emojis", "keep replies short"
|
|
38
49
|
- **Personal context** — contacts, relationships, habits ("my wife's email is...", "I'm in PST timezone")
|
|
@@ -58,19 +69,21 @@ Memories are stored as **resources** in the SQL database (personal scope), not a
|
|
|
58
69
|
- Things obvious from reading the code
|
|
59
70
|
- Standard language/framework behavior
|
|
60
71
|
- Temporary debugging notes
|
|
61
|
-
- Anything already in AGENTS.md or skills
|
|
72
|
+
- Anything already in AGENTS.md, shared LEARNINGS.md, or skills
|
|
62
73
|
- Ephemeral task details (use tasks/plans instead)
|
|
63
74
|
|
|
64
75
|
## Key Rules
|
|
65
76
|
|
|
66
|
-
1. **Save proactively — don't ask permission.** When you learn something, save it immediately.
|
|
67
|
-
2. **
|
|
68
|
-
3. **
|
|
69
|
-
4. **
|
|
70
|
-
5. **
|
|
77
|
+
1. **Save proactively — don't ask permission.** When you learn something durable, save it immediately at the correct scope.
|
|
78
|
+
2. **Choose scope by audience.** Organization workflow or reference → shared `LEARNINGS.md`; one person's preference/context → personal memory.
|
|
79
|
+
3. **One memory per topic** — e.g. `coding-style`, `project-alpha`, not one giant dump
|
|
80
|
+
4. **Read before updating** — if a memory exists, read it first and merge, don't overwrite
|
|
81
|
+
5. **Keep descriptions concise** — the index is loaded every conversation
|
|
82
|
+
6. **Memories are SQL-backed** — they persist across sessions and are not in git; still minimize sensitive content
|
|
71
83
|
|
|
72
84
|
## Graduation
|
|
73
85
|
|
|
74
86
|
When a memory is referenced repeatedly, it may belong in AGENTS.md or a skill:
|
|
75
|
-
- Saving a memory is lightweight (auto-apply, personal scope)
|
|
87
|
+
- Saving a personal memory is lightweight (auto-apply, personal scope)
|
|
88
|
+
- Shared LEARNINGS.md is the lightweight organization knowledge layer
|
|
76
89
|
- Updating AGENTS.md or a skill is heavier (affects all users/agents)
|