@agent-native/core 0.173.1-nightly-20260825142811 → 0.173.1
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 +1 -1
- package/corpus/templates/analytics/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/analytics/actions/account-deep-dive.ts +1 -1
- package/corpus/templates/analytics/actions/add-status-page-monitor.ts +1 -1
- package/corpus/templates/analytics/actions/archive-dashboard.ts +1 -1
- package/corpus/templates/analytics/actions/bigquery-query.ts +1 -1
- package/corpus/templates/analytics/actions/bigquery-table-info.ts +1 -1
- package/corpus/templates/analytics/actions/capture-test-error.ts +1 -1
- package/corpus/templates/analytics/actions/check-form-schema.ts +1 -1
- package/corpus/templates/analytics/actions/clear-selected-dashboard-object.ts +1 -1
- package/corpus/templates/analytics/actions/clone-creative-context-dashboard.ts +1 -1
- package/corpus/templates/analytics/actions/configure-gong-native-insights.ts +1 -1
- package/corpus/templates/analytics/actions/content-calendar-schema.ts +1 -1
- package/corpus/templates/analytics/actions/content-calendar.ts +1 -1
- package/corpus/templates/analytics/actions/create-analytics-public-key.ts +1 -1
- package/corpus/templates/analytics/actions/create-dashboard-folder.ts +1 -1
- package/corpus/templates/analytics/actions/create-session-replay-agent-link.ts +1 -1
- package/corpus/templates/analytics/actions/data-source-status.ts +1 -1
- package/corpus/templates/analytics/actions/delete-analysis.ts +1 -1
- package/corpus/templates/analytics/actions/delete-analytics-alert-rule.ts +1 -1
- package/corpus/templates/analytics/actions/delete-dashboard-report-subscription.ts +1 -1
- package/corpus/templates/analytics/actions/delete-dashboard-view.ts +1 -1
- package/corpus/templates/analytics/actions/delete-data-dictionary-entry.ts +1 -1
- package/corpus/templates/analytics/actions/delete-explorer-config.ts +1 -1
- package/corpus/templates/analytics/actions/delete-explorer-dashboard.ts +1 -1
- package/corpus/templates/analytics/actions/delete-monitor.ts +1 -1
- package/corpus/templates/analytics/actions/delete-sql-dashboard.ts +1 -1
- package/corpus/templates/analytics/actions/delete-status-page.ts +1 -1
- package/corpus/templates/analytics/actions/delete-user-pref.ts +1 -1
- package/corpus/templates/analytics/actions/gcloud.ts +1 -1
- package/corpus/templates/analytics/actions/generate-chart.ts +1 -1
- package/corpus/templates/analytics/actions/get-analytics-alert-rule-defaults.ts +1 -1
- package/corpus/templates/analytics/actions/get-data-program.ts +1 -1
- package/corpus/templates/analytics/actions/get-error-issue.ts +1 -1
- package/corpus/templates/analytics/actions/get-explorer-config.ts +1 -1
- package/corpus/templates/analytics/actions/get-explorer-dashboard.ts +1 -1
- package/corpus/templates/analytics/actions/get-first-party-analytics-health.ts +1 -1
- package/corpus/templates/analytics/actions/get-monitor-stats.ts +1 -1
- package/corpus/templates/analytics/actions/get-monitor.ts +1 -1
- package/corpus/templates/analytics/actions/get-public-status-page.ts +1 -1
- package/corpus/templates/analytics/actions/get-session-replay-events.ts +1 -1
- package/corpus/templates/analytics/actions/get-session-replay-summary.ts +1 -1
- package/corpus/templates/analytics/actions/get-session-replay-timeline.ts +1 -1
- package/corpus/templates/analytics/actions/get-status-page.ts +1 -1
- package/corpus/templates/analytics/actions/get-theme.ts +1 -1
- package/corpus/templates/analytics/actions/get-user-pref.ts +1 -1
- package/corpus/templates/analytics/actions/gong-calls.ts +1 -1
- package/corpus/templates/analytics/actions/gong-native-insights.ts +1 -1
- package/corpus/templates/analytics/actions/grafana.ts +1 -1
- package/corpus/templates/analytics/actions/hide-analysis.ts +1 -1
- package/corpus/templates/analytics/actions/hide-dashboard.ts +1 -1
- package/corpus/templates/analytics/actions/hubspot-deals.ts +1 -1
- package/corpus/templates/analytics/actions/hubspot-metrics.ts +1 -1
- package/corpus/templates/analytics/actions/hubspot-pipelines.ts +1 -1
- package/corpus/templates/analytics/actions/hubspot-records.ts +1 -1
- package/corpus/templates/analytics/actions/jira-search.ts +1 -1
- package/corpus/templates/analytics/actions/jira.ts +1 -1
- package/corpus/templates/analytics/actions/list-analyses.ts +1 -1
- package/corpus/templates/analytics/actions/list-analysis-revisions.ts +1 -1
- package/corpus/templates/analytics/actions/list-analytics-alert-rules.ts +1 -1
- package/corpus/templates/analytics/actions/list-analytics-public-keys.ts +1 -1
- package/corpus/templates/analytics/actions/list-dashboard-folders.ts +1 -1
- package/corpus/templates/analytics/actions/list-dashboard-report-subscriptions.ts +1 -1
- package/corpus/templates/analytics/actions/list-dashboard-revisions.ts +1 -1
- package/corpus/templates/analytics/actions/list-dashboard-views.ts +1 -1
- package/corpus/templates/analytics/actions/list-data-dictionary.ts +1 -1
- package/corpus/templates/analytics/actions/list-data-programs.ts +1 -1
- package/corpus/templates/analytics/actions/list-error-issues.ts +1 -1
- package/corpus/templates/analytics/actions/list-explorer-configs.ts +1 -1
- package/corpus/templates/analytics/actions/list-explorer-dashboards.ts +1 -1
- package/corpus/templates/analytics/actions/list-monitors.ts +1 -1
- package/corpus/templates/analytics/actions/list-session-recordings.ts +1 -1
- package/corpus/templates/analytics/actions/list-status-pages.ts +1 -1
- package/corpus/templates/analytics/actions/match-error-issues.ts +1 -1
- package/corpus/templates/analytics/actions/migrate-first-party-analytics-to-bigquery.ts +1 -1
- package/corpus/templates/analytics/actions/navigate.ts +1 -1
- package/corpus/templates/analytics/actions/prometheus.ts +1 -1
- package/corpus/templates/analytics/actions/purge-first-party-analytics-postgres.ts +1 -1
- package/corpus/templates/analytics/actions/pylon-issues.ts +1 -1
- package/corpus/templates/analytics/actions/query-inbound-forms.ts +1 -1
- package/corpus/templates/analytics/actions/remove-status-page-monitor.ts +1 -1
- package/corpus/templates/analytics/actions/rename-analysis.ts +1 -1
- package/corpus/templates/analytics/actions/rename-dashboard.ts +1 -1
- package/corpus/templates/analytics/actions/reorder-status-page-monitors.ts +1 -1
- package/corpus/templates/analytics/actions/resolve-error-issue.ts +1 -1
- package/corpus/templates/analytics/actions/restore-analysis-revision.ts +1 -1
- package/corpus/templates/analytics/actions/restore-dashboard-revision.ts +1 -1
- package/corpus/templates/analytics/actions/revoke-analytics-public-key.ts +1 -1
- package/corpus/templates/analytics/actions/run-analytics-alerts.ts +1 -1
- package/corpus/templates/analytics/actions/run-monitor-check.ts +1 -1
- package/corpus/templates/analytics/actions/save-analytics-alert-rule.ts +1 -1
- package/corpus/templates/analytics/actions/save-dashboard-report-subscription.ts +1 -1
- package/corpus/templates/analytics/actions/save-dashboard-view.ts +1 -1
- package/corpus/templates/analytics/actions/save-data-dictionary-entry.ts +1 -1
- package/corpus/templates/analytics/actions/save-explorer-config.ts +1 -1
- package/corpus/templates/analytics/actions/save-explorer-dashboard.ts +1 -1
- package/corpus/templates/analytics/actions/save-monitor.ts +1 -1
- package/corpus/templates/analytics/actions/save-status-page.ts +1 -1
- package/corpus/templates/analytics/actions/search-analytics-query-catalog.ts +1 -1
- package/corpus/templates/analytics/actions/search-bigquery-schema.ts +1 -1
- package/corpus/templates/analytics/actions/search-dashboard-references.ts +1 -1
- package/corpus/templates/analytics/actions/send-dashboard-report-now.ts +1 -1
- package/corpus/templates/analytics/actions/sentry.ts +1 -1
- package/corpus/templates/analytics/actions/seo-blog-pages.ts +1 -1
- package/corpus/templates/analytics/actions/seo-page-keywords.ts +1 -1
- package/corpus/templates/analytics/actions/seo-top-keywords.ts +1 -1
- package/corpus/templates/analytics/actions/set-dashboard-folder.ts +1 -1
- package/corpus/templates/analytics/actions/set-theme.ts +1 -1
- package/corpus/templates/analytics/actions/set-user-pref.ts +1 -1
- package/corpus/templates/analytics/actions/slack-messages.ts +1 -1
- package/corpus/templates/analytics/actions/stripe.ts +1 -1
- package/corpus/templates/analytics/actions/test-custom-api-connection.ts +1 -1
- package/corpus/templates/analytics/actions/view-screen.ts +1 -1
- package/corpus/templates/assets/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/assets/actions/analyze-collection-style.ts +1 -1
- package/corpus/templates/assets/actions/archive-library.ts +1 -1
- package/corpus/templates/assets/actions/clone-creative-context-asset.ts +1 -1
- package/corpus/templates/assets/actions/create-collection.ts +1 -1
- package/corpus/templates/assets/actions/create-folder.ts +1 -1
- package/corpus/templates/assets/actions/create-generation-preset.ts +1 -1
- package/corpus/templates/assets/actions/create-generation-session.ts +1 -1
- package/corpus/templates/assets/actions/create-library-from-preset.ts +1 -1
- package/corpus/templates/assets/actions/create-library.ts +1 -1
- package/corpus/templates/assets/actions/delete-asset.ts +1 -1
- package/corpus/templates/assets/actions/delete-assets.ts +1 -1
- package/corpus/templates/assets/actions/delete-folder.ts +1 -1
- package/corpus/templates/assets/actions/delete-generation-preset.ts +1 -1
- package/corpus/templates/assets/actions/delete-library.ts +1 -1
- package/corpus/templates/assets/actions/describe-asset.ts +1 -1
- package/corpus/templates/assets/actions/dismiss-variant-slots.ts +1 -1
- package/corpus/templates/assets/actions/duplicate-library.ts +1 -1
- package/corpus/templates/assets/actions/edit-image.ts +1 -1
- package/corpus/templates/assets/actions/export-audit-csv.ts +1 -1
- package/corpus/templates/assets/actions/export-image.ts +1 -1
- package/corpus/templates/assets/actions/extract-palette-from-references.ts +1 -1
- package/corpus/templates/assets/actions/generate-image-batch.ts +1 -1
- package/corpus/templates/assets/actions/generate-image.ts +1 -1
- package/corpus/templates/assets/actions/generate-video.ts +1 -1
- package/corpus/templates/assets/actions/get-asset.ts +1 -1
- package/corpus/templates/assets/actions/get-audit-run.ts +1 -1
- package/corpus/templates/assets/actions/get-generation-run.ts +1 -1
- package/corpus/templates/assets/actions/get-generation-session.ts +1 -1
- package/corpus/templates/assets/actions/get-image-generation-config.ts +1 -1
- package/corpus/templates/assets/actions/get-library.ts +1 -1
- package/corpus/templates/assets/actions/import-asset-from-url.ts +1 -1
- package/corpus/templates/assets/actions/import-style-from-url.ts +1 -1
- package/corpus/templates/assets/actions/is-audit-admin.ts +1 -1
- package/corpus/templates/assets/actions/list-assets.ts +1 -1
- package/corpus/templates/assets/actions/list-audit-runs.ts +1 -1
- package/corpus/templates/assets/actions/list-draft-assets.ts +1 -1
- package/corpus/templates/assets/actions/list-generation-presets.ts +1 -1
- package/corpus/templates/assets/actions/list-generation-runs.ts +1 -1
- package/corpus/templates/assets/actions/list-generation-sessions.ts +1 -1
- package/corpus/templates/assets/actions/list-libraries.ts +1 -1
- package/corpus/templates/assets/actions/list-library-presets.ts +1 -1
- package/corpus/templates/assets/actions/match-library.ts +1 -1
- package/corpus/templates/assets/actions/navigate.ts +1 -1
- package/corpus/templates/assets/actions/prepare-generation-session-continuation.ts +1 -1
- package/corpus/templates/assets/actions/refine-image.ts +1 -1
- package/corpus/templates/assets/actions/refresh-generation-run.ts +1 -1
- package/corpus/templates/assets/actions/rerun-generation-run.ts +1 -1
- package/corpus/templates/assets/actions/restyle-image.ts +1 -1
- package/corpus/templates/assets/actions/save-generated-image.ts +1 -1
- package/corpus/templates/assets/actions/search-assets.ts +1 -1
- package/corpus/templates/assets/actions/set-canonical-logo.ts +1 -1
- package/corpus/templates/assets/actions/unarchive-library.ts +1 -1
- package/corpus/templates/assets/actions/update-asset.ts +1 -1
- package/corpus/templates/assets/actions/update-collection.ts +1 -1
- package/corpus/templates/assets/actions/update-folder.ts +1 -1
- package/corpus/templates/assets/actions/update-generation-preset.ts +1 -1
- package/corpus/templates/assets/actions/update-generation-session.ts +1 -1
- package/corpus/templates/assets/actions/update-library.ts +1 -1
- package/corpus/templates/assets/actions/view-screen.ts +1 -1
- package/corpus/templates/brain/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/brain/actions/approve-proposal.ts +1 -1
- package/corpus/templates/brain/actions/ask-brain.ts +1 -1
- package/corpus/templates/brain/actions/claim-distillation.ts +1 -1
- package/corpus/templates/brain/actions/create-source.ts +1 -1
- package/corpus/templates/brain/actions/delete-source.ts +1 -1
- package/corpus/templates/brain/actions/enqueue-captures-distillation.ts +1 -1
- package/corpus/templates/brain/actions/enqueue-distillation.ts +1 -1
- package/corpus/templates/brain/actions/get-brain-health.ts +1 -1
- package/corpus/templates/brain/actions/get-capture.ts +1 -1
- package/corpus/templates/brain/actions/get-knowledge.ts +1 -1
- package/corpus/templates/brain/actions/get-pilot-report.ts +1 -1
- package/corpus/templates/brain/actions/get-settings.ts +1 -1
- package/corpus/templates/brain/actions/get-source.ts +1 -1
- package/corpus/templates/brain/actions/import-capture.ts +1 -1
- package/corpus/templates/brain/actions/import-markdown-files.ts +1 -1
- package/corpus/templates/brain/actions/import-transcript.ts +1 -1
- package/corpus/templates/brain/actions/list-captures.ts +1 -1
- package/corpus/templates/brain/actions/list-connection-providers.ts +1 -1
- package/corpus/templates/brain/actions/list-distillation-queue.ts +1 -1
- package/corpus/templates/brain/actions/list-knowledge.ts +1 -1
- package/corpus/templates/brain/actions/list-projects.ts +1 -1
- package/corpus/templates/brain/actions/list-proposals.ts +1 -1
- package/corpus/templates/brain/actions/list-sources.ts +1 -1
- package/corpus/templates/brain/actions/manage-project.ts +1 -1
- package/corpus/templates/brain/actions/mark-capture-distilled.ts +1 -1
- package/corpus/templates/brain/actions/navigate.ts +1 -1
- package/corpus/templates/brain/actions/preview-canonical-resource.ts +1 -1
- package/corpus/templates/brain/actions/reject-proposal.ts +1 -1
- package/corpus/templates/brain/actions/remediate-legacy-capture-audiences.ts +1 -1
- package/corpus/templates/brain/actions/resanitize-captures.ts +1 -1
- package/corpus/templates/brain/actions/retry-distillation.ts +1 -1
- package/corpus/templates/brain/actions/review-proposal.ts +1 -1
- package/corpus/templates/brain/actions/rotate-source-ingest-token.ts +1 -1
- package/corpus/templates/brain/actions/run-demo-eval.ts +1 -1
- package/corpus/templates/brain/actions/run-retrieval-eval.ts +1 -1
- package/corpus/templates/brain/actions/run-slack-pilot.ts +1 -1
- package/corpus/templates/brain/actions/search-everything.ts +1 -1
- package/corpus/templates/brain/actions/search-knowledge.ts +1 -1
- package/corpus/templates/brain/actions/seed-demo-data.ts +1 -1
- package/corpus/templates/brain/actions/set-knowledge-canonical.ts +1 -1
- package/corpus/templates/brain/actions/set-settings.ts +1 -1
- package/corpus/templates/brain/actions/sync-due-sources.ts +1 -1
- package/corpus/templates/brain/actions/sync-source.ts +1 -1
- package/corpus/templates/brain/actions/test-slack-connection.ts +1 -1
- package/corpus/templates/brain/actions/update-proposal.ts +1 -1
- package/corpus/templates/brain/actions/update-source.ts +1 -1
- package/corpus/templates/brain/actions/view-screen.ts +1 -1
- package/corpus/templates/brain/actions/write-knowledge.ts +1 -1
- package/corpus/templates/calendar/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/calendar/actions/add-external-calendar.ts +1 -1
- package/corpus/templates/calendar/actions/check-availability.ts +1 -1
- package/corpus/templates/calendar/actions/connect-google-calendar.ts +1 -1
- package/corpus/templates/calendar/actions/create-booking-link.ts +1 -1
- package/corpus/templates/calendar/actions/create-event.ts +1 -1
- package/corpus/templates/calendar/actions/db-connect.ts +1 -1
- package/corpus/templates/calendar/actions/db-status.ts +1 -1
- package/corpus/templates/calendar/actions/delete-event.ts +1 -1
- package/corpus/templates/calendar/actions/delete-events.ts +1 -1
- package/corpus/templates/calendar/actions/duplicate-booking-link.ts +1 -1
- package/corpus/templates/calendar/actions/find-a-time.ts +1 -1
- package/corpus/templates/calendar/actions/get-attendee-timezones.ts +1 -1
- package/corpus/templates/calendar/actions/get-availability.ts +1 -1
- package/corpus/templates/calendar/actions/get-event.ts +1 -1
- package/corpus/templates/calendar/actions/get-overlay-people.ts +1 -1
- package/corpus/templates/calendar/actions/get-settings.ts +1 -1
- package/corpus/templates/calendar/actions/get-zoom-status.ts +1 -1
- package/corpus/templates/calendar/actions/list-booking-links.ts +1 -1
- package/corpus/templates/calendar/actions/list-bookings.ts +1 -1
- package/corpus/templates/calendar/actions/list-events.ts +1 -1
- package/corpus/templates/calendar/actions/list-external-calendars.ts +1 -1
- package/corpus/templates/calendar/actions/navigate.ts +1 -1
- package/corpus/templates/calendar/actions/remove-external-calendar.ts +1 -1
- package/corpus/templates/calendar/actions/rsvp-event.ts +1 -1
- package/corpus/templates/calendar/actions/search-events.ts +1 -1
- package/corpus/templates/calendar/actions/search-people.ts +1 -1
- package/corpus/templates/calendar/actions/set-attendee-timezone.ts +1 -1
- package/corpus/templates/calendar/actions/sync-google-calendar.ts +1 -1
- package/corpus/templates/calendar/actions/update-availability.ts +1 -1
- package/corpus/templates/calendar/actions/update-booking-link.ts +1 -1
- package/corpus/templates/calendar/actions/update-calendar-visual-preferences.ts +1 -1
- package/corpus/templates/calendar/actions/update-event.ts +1 -1
- package/corpus/templates/calendar/actions/update-external-calendars.ts +1 -1
- package/corpus/templates/calendar/actions/update-overlay-people.ts +1 -1
- package/corpus/templates/calendar/actions/update-settings.ts +1 -1
- package/corpus/templates/calendar/actions/view-screen.ts +1 -1
- package/corpus/templates/chat/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/clips/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/clips/actions/accept-invite.ts +1 -1
- package/corpus/templates/clips/actions/add-comment.ts +1 -1
- package/corpus/templates/clips/actions/add-recording-to-space.ts +1 -1
- package/corpus/templates/clips/actions/add-space-member.ts +1 -1
- package/corpus/templates/clips/actions/add-vocabulary-term.ts +1 -1
- package/corpus/templates/clips/actions/apply-rewind-extension.ts +1 -1
- package/corpus/templates/clips/actions/approve-recording-access-request.ts +1 -1
- package/corpus/templates/clips/actions/archive-recording.ts +1 -1
- package/corpus/templates/clips/actions/cleanup-dictation.ts +1 -1
- package/corpus/templates/clips/actions/cleanup-transcript.ts +1 -1
- package/corpus/templates/clips/actions/clear-edits.ts +1 -1
- package/corpus/templates/clips/actions/connect-calendar.ts +1 -1
- package/corpus/templates/clips/actions/connect-slack.ts +1 -1
- package/corpus/templates/clips/actions/create-cta.ts +1 -1
- package/corpus/templates/clips/actions/create-dictation.ts +1 -1
- package/corpus/templates/clips/actions/create-folder.ts +1 -1
- package/corpus/templates/clips/actions/create-meeting.ts +1 -1
- package/corpus/templates/clips/actions/create-organization.ts +1 -1
- package/corpus/templates/clips/actions/create-recording-agent-link.ts +1 -1
- package/corpus/templates/clips/actions/create-recording.ts +1 -1
- package/corpus/templates/clips/actions/create-space.ts +1 -1
- package/corpus/templates/clips/actions/decline-invite.ts +1 -1
- package/corpus/templates/clips/actions/delete-agent-recording-if-unpromoted.ts +1 -1
- package/corpus/templates/clips/actions/delete-comment.ts +1 -1
- package/corpus/templates/clips/actions/delete-cta.ts +1 -1
- package/corpus/templates/clips/actions/delete-folder.ts +1 -1
- package/corpus/templates/clips/actions/delete-meeting.ts +1 -1
- package/corpus/templates/clips/actions/delete-recording-permanent.ts +1 -1
- package/corpus/templates/clips/actions/delete-space.ts +1 -1
- package/corpus/templates/clips/actions/disconnect-calendar.ts +1 -1
- package/corpus/templates/clips/actions/disconnect-slack.ts +1 -1
- package/corpus/templates/clips/actions/export-insights-csv.ts +1 -1
- package/corpus/templates/clips/actions/export-to-brain.ts +1 -1
- package/corpus/templates/clips/actions/finalize-meeting.ts +1 -1
- package/corpus/templates/clips/actions/finalize-recording.ts +1 -1
- package/corpus/templates/clips/actions/generate-filmstrip.ts +1 -1
- package/corpus/templates/clips/actions/generate-workflow.ts +1 -1
- package/corpus/templates/clips/actions/get-builder-credit-status.ts +1 -1
- package/corpus/templates/clips/actions/get-clips-ai-prefs.ts +1 -1
- package/corpus/templates/clips/actions/get-invite.ts +1 -1
- package/corpus/templates/clips/actions/get-meeting.ts +1 -1
- package/corpus/templates/clips/actions/get-organization-insights.ts +1 -1
- package/corpus/templates/clips/actions/get-playback-position.ts +1 -1
- package/corpus/templates/clips/actions/get-recording-insights.ts +1 -1
- package/corpus/templates/clips/actions/get-rewind-extension-request.ts +1 -1
- package/corpus/templates/clips/actions/get-screen-memory-status.ts +1 -1
- package/corpus/templates/clips/actions/import-loom-recording.ts +1 -1
- package/corpus/templates/clips/actions/invite-member.ts +1 -1
- package/corpus/templates/clips/actions/list-ai-requests.ts +1 -1
- package/corpus/templates/clips/actions/list-calendar-accounts.ts +1 -1
- package/corpus/templates/clips/actions/list-clip-views.ts +1 -1
- package/corpus/templates/clips/actions/list-comments.ts +1 -1
- package/corpus/templates/clips/actions/list-dictations.ts +1 -1
- package/corpus/templates/clips/actions/list-meetings.ts +1 -1
- package/corpus/templates/clips/actions/list-notifications.ts +1 -1
- package/corpus/templates/clips/actions/list-organization-state.ts +1 -1
- package/corpus/templates/clips/actions/list-recordings.ts +1 -1
- package/corpus/templates/clips/actions/list-rewind-extension-requests.ts +1 -1
- package/corpus/templates/clips/actions/list-slack-installations.ts +1 -1
- package/corpus/templates/clips/actions/list-viewers.ts +1 -1
- package/corpus/templates/clips/actions/list-vocabulary.ts +1 -1
- package/corpus/templates/clips/actions/make-recording-private-for-rewind.ts +1 -1
- package/corpus/templates/clips/actions/move-recording.ts +1 -1
- package/corpus/templates/clips/actions/navigate.ts +1 -1
- package/corpus/templates/clips/actions/query-screen-memory-context.ts +1 -1
- package/corpus/templates/clips/actions/react-to-comment.ts +1 -1
- package/corpus/templates/clips/actions/react-to-recording.ts +1 -1
- package/corpus/templates/clips/actions/reconcile-workflow-generation.ts +1 -1
- package/corpus/templates/clips/actions/refresh-list.ts +1 -1
- package/corpus/templates/clips/actions/regenerate-chapters.ts +1 -1
- package/corpus/templates/clips/actions/regenerate-summary.ts +1 -1
- package/corpus/templates/clips/actions/regenerate-title.ts +1 -1
- package/corpus/templates/clips/actions/remove-filler-words.ts +1 -1
- package/corpus/templates/clips/actions/remove-member.ts +1 -1
- package/corpus/templates/clips/actions/remove-silences.ts +1 -1
- package/corpus/templates/clips/actions/remove-space-member.ts +1 -1
- package/corpus/templates/clips/actions/remove-vocabulary-term.ts +1 -1
- package/corpus/templates/clips/actions/rename-folder.ts +1 -1
- package/corpus/templates/clips/actions/rename-space.ts +1 -1
- package/corpus/templates/clips/actions/reply-to-comment.ts +1 -1
- package/corpus/templates/clips/actions/reprocess-recording.ts +1 -1
- package/corpus/templates/clips/actions/request-recording-access.ts +1 -1
- package/corpus/templates/clips/actions/request-rewind-extension.ts +1 -1
- package/corpus/templates/clips/actions/request-transcript.ts +1 -1
- package/corpus/templates/clips/actions/resolve-comment.ts +1 -1
- package/corpus/templates/clips/actions/restore-recording.ts +1 -1
- package/corpus/templates/clips/actions/save-browser-diagnostics.ts +1 -1
- package/corpus/templates/clips/actions/save-browser-transcript.ts +1 -1
- package/corpus/templates/clips/actions/save-bug-report-context.ts +1 -1
- package/corpus/templates/clips/actions/save-playback-position.ts +1 -1
- package/corpus/templates/clips/actions/search-meetings.ts +1 -1
- package/corpus/templates/clips/actions/set-chapters.ts +1 -1
- package/corpus/templates/clips/actions/set-organization-branding.ts +1 -1
- package/corpus/templates/clips/actions/set-thumbnail.ts +1 -1
- package/corpus/templates/clips/actions/split-recording.ts +1 -1
- package/corpus/templates/clips/actions/start-meeting-recording.ts +1 -1
- package/corpus/templates/clips/actions/stitch-recordings.ts +1 -1
- package/corpus/templates/clips/actions/stop-meeting-recording.ts +1 -1
- package/corpus/templates/clips/actions/sync-calendars.ts +1 -1
- package/corpus/templates/clips/actions/tag-recording.ts +1 -1
- package/corpus/templates/clips/actions/trash-recording.ts +1 -1
- package/corpus/templates/clips/actions/trim-recording.ts +1 -1
- package/corpus/templates/clips/actions/undo-edit.ts +1 -1
- package/corpus/templates/clips/actions/update-ai-request-status.ts +1 -1
- package/corpus/templates/clips/actions/update-clips-ai-prefs.ts +1 -1
- package/corpus/templates/clips/actions/update-comment.ts +1 -1
- package/corpus/templates/clips/actions/update-cta.ts +1 -1
- package/corpus/templates/clips/actions/update-dictation.ts +1 -1
- package/corpus/templates/clips/actions/update-meeting.ts +1 -1
- package/corpus/templates/clips/actions/update-member-role.ts +1 -1
- package/corpus/templates/clips/actions/update-recording.ts +1 -1
- package/corpus/templates/clips/actions/update-rewind-extension-request.ts +1 -1
- package/corpus/templates/clips/actions/view-screen.ts +1 -1
- package/corpus/templates/content/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/content/actions/add-comment.ts +1 -1
- package/corpus/templates/content/actions/add-content-database-source-field-property.ts +1 -1
- package/corpus/templates/content/actions/add-database-item.ts +1 -1
- package/corpus/templates/content/actions/attach-content-database-source.ts +1 -1
- package/corpus/templates/content/actions/backfill-content-files.ts +1 -1
- package/corpus/templates/content/actions/bind-content-database-source-field.ts +1 -1
- package/corpus/templates/content/actions/cancel-prepared-builder-source-update.ts +1 -1
- package/corpus/templates/content/actions/change-content-database-source-role.ts +1 -1
- package/corpus/templates/content/actions/check-builder-doc.ts +1 -1
- package/corpus/templates/content/actions/clone-creative-context-document.ts +1 -1
- package/corpus/templates/content/actions/configure-document-property.ts +1 -1
- package/corpus/templates/content/actions/connect-local-folder-source.ts +1 -1
- package/corpus/templates/content/actions/connect-notion-status.ts +1 -1
- package/corpus/templates/content/actions/create-and-link-notion-page.ts +1 -1
- package/corpus/templates/content/actions/create-content-space.ts +1 -1
- package/corpus/templates/content/actions/create-inline-content-database.ts +1 -1
- package/corpus/templates/content/actions/delete-comment.ts +1 -1
- package/corpus/templates/content/actions/delete-content-database.ts +1 -1
- package/corpus/templates/content/actions/delete-content-space.ts +1 -1
- package/corpus/templates/content/actions/delete-document-property.ts +1 -1
- package/corpus/templates/content/actions/delete-document.ts +1 -1
- package/corpus/templates/content/actions/describe-content-database.ts +1 -1
- package/corpus/templates/content/actions/disconnect-content-database-source.ts +1 -1
- package/corpus/templates/content/actions/disconnect-local-folder-source.ts +1 -1
- package/corpus/templates/content/actions/disconnect-notion.ts +1 -1
- package/corpus/templates/content/actions/duplicate-database-item.ts +1 -1
- package/corpus/templates/content/actions/duplicate-database-items.ts +1 -1
- package/corpus/templates/content/actions/duplicate-document-property.ts +1 -1
- package/corpus/templates/content/actions/edit-document.ts +1 -1
- package/corpus/templates/content/actions/ensure-content-spaces.ts +1 -1
- package/corpus/templates/content/actions/execute-builder-source-batch.ts +1 -1
- package/corpus/templates/content/actions/execute-builder-source-execution.ts +1 -1
- package/corpus/templates/content/actions/export-content-source.ts +1 -1
- package/corpus/templates/content/actions/export-document.ts +252 -8
- package/corpus/templates/content/actions/get-content-database-personal-view.ts +1 -1
- package/corpus/templates/content/actions/get-content-database-source.ts +1 -1
- package/corpus/templates/content/actions/get-content-database.ts +1 -1
- package/corpus/templates/content/actions/get-document.ts +1 -1
- package/corpus/templates/content/actions/get-preview-document-draft.ts +1 -1
- package/corpus/templates/content/actions/import-content-source.ts +1 -1
- package/corpus/templates/content/actions/link-notion-page.ts +1 -1
- package/corpus/templates/content/actions/list-builder-cms-models.ts +1 -1
- package/corpus/templates/content/actions/list-builder-docs.ts +1 -1
- package/corpus/templates/content/actions/list-comments.ts +1 -1
- package/corpus/templates/content/actions/list-content-database-blocks.ts +1 -1
- package/corpus/templates/content/actions/list-content-databases.ts +1 -1
- package/corpus/templates/content/actions/list-content-spaces.ts +1 -1
- package/corpus/templates/content/actions/list-document-properties.ts +1 -1
- package/corpus/templates/content/actions/list-document-versions.ts +1 -1
- package/corpus/templates/content/actions/list-documents.ts +1 -1
- package/corpus/templates/content/actions/list-local-component-files.ts +1 -1
- package/corpus/templates/content/actions/list-notion-database-sources.ts +1 -1
- package/corpus/templates/content/actions/list-notion-links.ts +1 -1
- package/corpus/templates/content/actions/list-trashed-content-databases.ts +1 -1
- package/corpus/templates/content/actions/list-trashed-documents.ts +1 -1
- package/corpus/templates/content/actions/materialize-builder-required-fields.ts +1 -1
- package/corpus/templates/content/actions/migrate-content-database-rows.ts +1 -1
- package/corpus/templates/content/actions/move-database-item.ts +1 -1
- package/corpus/templates/content/actions/move-document.ts +1 -1
- package/corpus/templates/content/actions/mutate-content-database-block.ts +1 -1
- package/corpus/templates/content/actions/navigate.ts +1 -1
- package/corpus/templates/content/actions/permanently-delete-document.ts +1 -1
- package/corpus/templates/content/actions/prepare-builder-source-execution.ts +1 -1
- package/corpus/templates/content/actions/prepare-builder-source-review.ts +1 -1
- package/corpus/templates/content/actions/preview-builder-source-review.ts +1 -1
- package/corpus/templates/content/actions/preview-content-database-source-attach.ts +1 -1
- package/corpus/templates/content/actions/process-builder-body-hydration.ts +1 -1
- package/corpus/templates/content/actions/pull-builder-doc.ts +1 -1
- package/corpus/templates/content/actions/pull-document.ts +1 -1
- package/corpus/templates/content/actions/pull-notion-page.ts +1 -1
- package/corpus/templates/content/actions/push-builder-doc.ts +1 -1
- package/corpus/templates/content/actions/push-notion-page.ts +1 -1
- package/corpus/templates/content/actions/query-content-database-items.ts +1 -1
- package/corpus/templates/content/actions/refresh-content-database-source.ts +1 -1
- package/corpus/templates/content/actions/refresh-list.ts +1 -1
- package/corpus/templates/content/actions/refresh-notion-sync-status.ts +1 -1
- package/corpus/templates/content/actions/register-local-component-workspace.ts +1 -1
- package/corpus/templates/content/actions/remove-database-items.ts +1 -1
- package/corpus/templates/content/actions/remove-local-file-source.ts +1 -1
- package/corpus/templates/content/actions/reorder-document-property.ts +1 -1
- package/corpus/templates/content/actions/resolve-content-landing.ts +1 -1
- package/corpus/templates/content/actions/resolve-local-folder-conflict.ts +1 -1
- package/corpus/templates/content/actions/resolve-notion-sync-conflict.ts +1 -1
- package/corpus/templates/content/actions/restore-content-database.ts +1 -1
- package/corpus/templates/content/actions/restore-document-version.ts +1 -1
- package/corpus/templates/content/actions/restore-document.ts +1 -1
- package/corpus/templates/content/actions/reveal-local-source-file.ts +1 -1
- package/corpus/templates/content/actions/review-content-database-source-change-set.ts +1 -1
- package/corpus/templates/content/actions/search-documents.ts +1 -1
- package/corpus/templates/content/actions/search-notion-pages.ts +1 -1
- package/corpus/templates/content/actions/set-content-database-source-write-mode.ts +1 -1
- package/corpus/templates/content/actions/set-document-discoverability.ts +1 -1
- package/corpus/templates/content/actions/set-document-property.ts +1 -1
- package/corpus/templates/content/actions/set-image-alt-text.ts +1 -1
- package/corpus/templates/content/actions/stage-builder-revision.ts +1 -1
- package/corpus/templates/content/actions/stage-builder-source-bulk-update.ts +1 -1
- package/corpus/templates/content/actions/suggest-source-join-key.ts +1 -1
- package/corpus/templates/content/actions/sync-local-folder-source.ts +1 -1
- package/corpus/templates/content/actions/sync-manifest-local-folder-source.ts +1 -1
- package/corpus/templates/content/actions/sync-notion-comments.ts +1 -1
- package/corpus/templates/content/actions/transcribe-media.ts +1 -1
- package/corpus/templates/content/actions/unlink-notion-page.ts +1 -1
- package/corpus/templates/content/actions/update-comment.ts +1 -1
- package/corpus/templates/content/actions/update-content-database-personal-view.ts +1 -1
- package/corpus/templates/content/actions/update-content-database-view.ts +1 -1
- package/corpus/templates/content/actions/update-database-item.ts +1 -1
- package/corpus/templates/content/actions/update-document.ts +1 -1
- package/corpus/templates/content/actions/update-preview-document-draft.ts +1 -1
- package/corpus/templates/content/actions/upsert-database-item-by-key.ts +1 -1
- package/corpus/templates/content/actions/validate-builder-source-execution.ts +1 -1
- package/corpus/templates/content/actions/view-screen.ts +1 -1
- package/corpus/templates/content/actions/write-local-component-file.ts +1 -1
- package/corpus/templates/content/app/components/editor/DocumentDatabase.tsx +8 -1
- package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +19 -1
- package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +23 -0
- package/corpus/templates/content/app/components/editor/database/DatabaseExportDialog.tsx +277 -0
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +45 -0
- package/corpus/templates/content/app/i18n-data.ts +121 -0
- package/corpus/templates/content/changelog/2026-08-18-database-exports-can-be-configured-and-downloaded-as-csv.md +6 -0
- package/corpus/templates/content/shared/database-csv-export.ts +59 -0
- package/corpus/templates/crm/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/design/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/design/actions/add-breakpoint.ts +1 -1
- package/corpus/templates/design/actions/add-fusion-screens.ts +1 -1
- package/corpus/templates/design/actions/analyze-brand-assets.ts +1 -1
- package/corpus/templates/design/actions/apply-a11y-fix.ts +1 -1
- package/corpus/templates/design/actions/apply-component-prop-edit.ts +1 -1
- package/corpus/templates/design/actions/apply-design-state.ts +1 -1
- package/corpus/templates/design/actions/apply-design-token-edit.ts +1 -1
- package/corpus/templates/design/actions/apply-fusion-edits.ts +1 -1
- package/corpus/templates/design/actions/apply-motion-edit.ts +1 -1
- package/corpus/templates/design/actions/apply-shader-fill.ts +1 -1
- package/corpus/templates/design/actions/apply-shader.ts +1 -1
- package/corpus/templates/design/actions/apply-source-edit.ts +1 -1
- package/corpus/templates/design/actions/apply-tweaks.ts +1 -1
- package/corpus/templates/design/actions/apply-visual-edit.ts +1 -1
- package/corpus/templates/design/actions/begin-node-rewrite-request.ts +1 -1
- package/corpus/templates/design/actions/cancel-node-rewrite-request.ts +1 -1
- package/corpus/templates/design/actions/capture-design-state.ts +1 -1
- package/corpus/templates/design/actions/clone-creative-context-design-native.ts +1 -1
- package/corpus/templates/design/actions/clone-creative-context-design.ts +1 -1
- package/corpus/templates/design/actions/connect-assets-mcp.ts +1 -1
- package/corpus/templates/design/actions/connect-builder-app.ts +1 -1
- package/corpus/templates/design/actions/connect-localhost.ts +1 -1
- package/corpus/templates/design/actions/create-component.ts +1 -1
- package/corpus/templates/design/actions/create-design-branch.ts +1 -1
- package/corpus/templates/design/actions/create-design-state.ts +1 -1
- package/corpus/templates/design/actions/create-design-system.ts +1 -1
- package/corpus/templates/design/actions/create-file.ts +1 -1
- package/corpus/templates/design/actions/create-fusion-app.ts +1 -1
- package/corpus/templates/design/actions/delete-design-state.ts +1 -1
- package/corpus/templates/design/actions/delete-design-system.ts +1 -1
- package/corpus/templates/design/actions/delete-design-template.ts +1 -1
- package/corpus/templates/design/actions/delete-design.ts +1 -1
- package/corpus/templates/design/actions/delete-file.ts +1 -1
- package/corpus/templates/design/actions/deploy-design-preview.ts +1 -1
- package/corpus/templates/design/actions/deploy-fusion-app.ts +1 -1
- package/corpus/templates/design/actions/duplicate-design.ts +1 -1
- package/corpus/templates/design/actions/edit-design.ts +1 -1
- package/corpus/templates/design/actions/export-design-as-figma-svg.ts +1 -1
- package/corpus/templates/design/actions/export-html.ts +1 -1
- package/corpus/templates/design/actions/export-pdf.ts +1 -1
- package/corpus/templates/design/actions/export-svg.ts +1 -1
- package/corpus/templates/design/actions/export-zip.ts +1 -1
- package/corpus/templates/design/actions/generate-design-title.ts +1 -1
- package/corpus/templates/design/actions/get-code-layer-projection.ts +1 -1
- package/corpus/templates/design/actions/get-component-details.ts +1 -1
- package/corpus/templates/design/actions/get-design-branch-diff.ts +1 -1
- package/corpus/templates/design/actions/get-design-review.ts +1 -1
- package/corpus/templates/design/actions/get-design-surface-index.ts +1 -1
- package/corpus/templates/design/actions/get-design-system.ts +1 -1
- package/corpus/templates/design/actions/get-design-template.ts +1 -1
- package/corpus/templates/design/actions/get-design.ts +1 -1
- package/corpus/templates/design/actions/get-figma-connection-status.ts +1 -1
- package/corpus/templates/design/actions/get-figma-design-context.ts +1 -1
- package/corpus/templates/design/actions/get-figma-styles.ts +1 -1
- package/corpus/templates/design/actions/get-fusion-deploy-status.ts +1 -1
- package/corpus/templates/design/actions/get-motion-timeline.ts +1 -1
- package/corpus/templates/design/actions/get-shader.ts +1 -1
- package/corpus/templates/design/actions/grant-localhost-write-consent.ts +1 -1
- package/corpus/templates/design/actions/hydrate-figma-paste-images.ts +1 -1
- package/corpus/templates/design/actions/import-code.ts +1 -1
- package/corpus/templates/design/actions/import-design-project.ts +1 -1
- package/corpus/templates/design/actions/import-design-source.ts +1 -1
- package/corpus/templates/design/actions/import-design-tokens.ts +1 -1
- package/corpus/templates/design/actions/import-document.ts +1 -1
- package/corpus/templates/design/actions/import-figma-clipboard.ts +1 -1
- package/corpus/templates/design/actions/import-figma-frame.ts +1 -1
- package/corpus/templates/design/actions/import-from-url.ts +1 -1
- package/corpus/templates/design/actions/import-github.ts +1 -1
- package/corpus/templates/design/actions/index-components.ts +1 -1
- package/corpus/templates/design/actions/index-design-system-with-builder.ts +1 -1
- package/corpus/templates/design/actions/index-design-tokens.ts +1 -1
- package/corpus/templates/design/actions/insert-asset.ts +1 -1
- package/corpus/templates/design/actions/insert-design-native-asset.ts +1 -1
- package/corpus/templates/design/actions/insert-figma-library-asset.ts +1 -1
- package/corpus/templates/design/actions/list-design-extensions.ts +1 -1
- package/corpus/templates/design/actions/list-design-native-assets.ts +1 -1
- package/corpus/templates/design/actions/list-design-source-capabilities.ts +1 -1
- package/corpus/templates/design/actions/list-design-states.ts +1 -1
- package/corpus/templates/design/actions/list-design-systems.ts +1 -1
- package/corpus/templates/design/actions/list-design-templates.ts +1 -1
- package/corpus/templates/design/actions/list-designs.ts +1 -1
- package/corpus/templates/design/actions/list-figma-library-assets.ts +1 -1
- package/corpus/templates/design/actions/list-files.ts +1 -1
- package/corpus/templates/design/actions/list-fusion-edits.ts +1 -1
- package/corpus/templates/design/actions/list-local-files.ts +1 -1
- package/corpus/templates/design/actions/list-localhost-connections.ts +1 -1
- package/corpus/templates/design/actions/list-source-files.ts +1 -1
- package/corpus/templates/design/actions/migrate-board-objects-to-file.ts +1 -1
- package/corpus/templates/design/actions/migrate-inline-design-to-app.ts +1 -1
- package/corpus/templates/design/actions/navigate.ts +1 -1
- package/corpus/templates/design/actions/open-component-source.ts +1 -1
- package/corpus/templates/design/actions/preview-component-prop-edit.ts +1 -1
- package/corpus/templates/design/actions/preview-design-token-edit.ts +1 -1
- package/corpus/templates/design/actions/preview-shader-fill.ts +1 -1
- package/corpus/templates/design/actions/preview-source-edit.ts +1 -1
- package/corpus/templates/design/actions/propose-node-rewrite.ts +1 -1
- package/corpus/templates/design/actions/push-fusion-app.ts +1 -1
- package/corpus/templates/design/actions/queue-fusion-edit.ts +1 -1
- package/corpus/templates/design/actions/read-local-file.ts +1 -1
- package/corpus/templates/design/actions/read-source-file.ts +1 -1
- package/corpus/templates/design/actions/refresh-design-system-with-builder.ts +1 -1
- package/corpus/templates/design/actions/remove-breakpoint.ts +1 -1
- package/corpus/templates/design/actions/remove-motion-timeline.ts +1 -1
- package/corpus/templates/design/actions/rename-screen.ts +1 -1
- package/corpus/templates/design/actions/request-localhost-write-consent.ts +1 -1
- package/corpus/templates/design/actions/resolve-node-rewrite.ts +1 -1
- package/corpus/templates/design/actions/resolve-selection-source.ts +1 -1
- package/corpus/templates/design/actions/revoke-localhost-write-consent.ts +1 -1
- package/corpus/templates/design/actions/run-design-audit.ts +1 -1
- package/corpus/templates/design/actions/run-design-extension-action.ts +1 -1
- package/corpus/templates/design/actions/save-design-as-template.ts +1 -1
- package/corpus/templates/design/actions/send-fusion-message.ts +1 -1
- package/corpus/templates/design/actions/set-active-breakpoint.ts +1 -1
- package/corpus/templates/design/actions/set-default-design-system.ts +1 -1
- package/corpus/templates/design/actions/sync-design-system-with-builder.ts +1 -1
- package/corpus/templates/design/actions/sync-fusion-app.ts +1 -1
- package/corpus/templates/design/actions/take-design-screenshot.ts +1 -1
- package/corpus/templates/design/actions/update-design-system.ts +1 -1
- package/corpus/templates/design/actions/update-design.ts +1 -1
- package/corpus/templates/design/actions/update-file.ts +1 -1
- package/corpus/templates/design/actions/view-screen.ts +1 -1
- package/corpus/templates/design/actions/write-local-file.ts +1 -1
- package/corpus/templates/dispatch/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/dispatch/actions/apply-workspace-connection-setup.ts +1 -1
- package/corpus/templates/dispatch/actions/delete-workspace-connection.ts +1 -1
- package/corpus/templates/dispatch/actions/list-workspace-connections.ts +1 -1
- package/corpus/templates/dispatch/actions/list-workspace-user-groups.ts +1 -1
- package/corpus/templates/dispatch/actions/plan-workspace-connection-setup.ts +1 -1
- package/corpus/templates/dispatch/actions/preview-workspace-connection-impact.ts +1 -1
- package/corpus/templates/dispatch/actions/set-workspace-connection-grant.ts +1 -1
- package/corpus/templates/dispatch/actions/upsert-workspace-connection.ts +1 -1
- package/corpus/templates/dispatch/actions/upsert-workspace-user-group.ts +1 -1
- package/corpus/templates/dispatch/actions/view-screen.ts +1 -1
- package/corpus/templates/factory/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/forms/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/forms/actions/db-connect.ts +1 -1
- package/corpus/templates/forms/actions/db-status.ts +1 -1
- package/corpus/templates/forms/actions/delete-form.ts +1 -1
- package/corpus/templates/forms/actions/export-responses.ts +1 -1
- package/corpus/templates/forms/actions/get-form.ts +1 -1
- package/corpus/templates/forms/actions/list-forms.ts +1 -1
- package/corpus/templates/forms/actions/list-responses.ts +1 -1
- package/corpus/templates/forms/actions/navigate.ts +1 -1
- package/corpus/templates/forms/actions/patch-form-fields.ts +1 -1
- package/corpus/templates/forms/actions/refresh-list.ts +1 -1
- package/corpus/templates/forms/actions/restore-form.ts +1 -1
- package/corpus/templates/forms/actions/update-form.ts +1 -1
- package/corpus/templates/forms/actions/view-screen.ts +1 -1
- package/corpus/templates/macros/actions/delete-exercise.ts +1 -1
- package/corpus/templates/macros/actions/delete-item.ts +1 -1
- package/corpus/templates/macros/actions/delete-meal.ts +1 -1
- package/corpus/templates/macros/actions/delete-weight.ts +1 -1
- package/corpus/templates/macros/actions/edit-item.ts +1 -1
- package/corpus/templates/macros/actions/get-analytics.ts +1 -1
- package/corpus/templates/macros/actions/list-exercises.ts +1 -1
- package/corpus/templates/macros/actions/list-meals.ts +1 -1
- package/corpus/templates/macros/actions/list-weights.ts +1 -1
- package/corpus/templates/macros/actions/log-exercise.ts +1 -1
- package/corpus/templates/macros/actions/log-meal.ts +1 -1
- package/corpus/templates/macros/actions/log-weight.ts +1 -1
- package/corpus/templates/macros/actions/meals-history.ts +1 -1
- package/corpus/templates/macros/actions/navigate.ts +1 -1
- package/corpus/templates/macros/actions/update-exercise.ts +1 -1
- package/corpus/templates/macros/actions/update-meal.ts +1 -1
- package/corpus/templates/macros/actions/update-weight.ts +1 -1
- package/corpus/templates/macros/actions/view-screen.ts +1 -1
- package/corpus/templates/macros/actions/weights-history.ts +1 -1
- package/corpus/templates/mail/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/mail/actions/archive-email.ts +1 -1
- package/corpus/templates/mail/actions/bootstrap-watches.ts +1 -1
- package/corpus/templates/mail/actions/bulk-archive.ts +1 -1
- package/corpus/templates/mail/actions/cancel-scheduled-email.ts +1 -1
- package/corpus/templates/mail/actions/create-alias.ts +1 -1
- package/corpus/templates/mail/actions/create-automation.ts +1 -1
- package/corpus/templates/mail/actions/create-scheduled-job.ts +1 -1
- package/corpus/templates/mail/actions/delete-alias.ts +1 -1
- package/corpus/templates/mail/actions/delete-automation.ts +1 -1
- package/corpus/templates/mail/actions/export-emails.ts +1 -1
- package/corpus/templates/mail/actions/find-contact.ts +1 -1
- package/corpus/templates/mail/actions/get-automation-settings.ts +1 -1
- package/corpus/templates/mail/actions/get-email.ts +1 -1
- package/corpus/templates/mail/actions/get-hubspot-contact.ts +1 -1
- package/corpus/templates/mail/actions/get-integration-statuses.ts +1 -1
- package/corpus/templates/mail/actions/get-mail-preferences.ts +1 -1
- package/corpus/templates/mail/actions/get-mail-settings.ts +1 -1
- package/corpus/templates/mail/actions/get-thread.ts +1 -1
- package/corpus/templates/mail/actions/get-tracking.ts +1 -1
- package/corpus/templates/mail/actions/import-gmail-signature.ts +1 -1
- package/corpus/templates/mail/actions/list-aliases.ts +1 -1
- package/corpus/templates/mail/actions/list-automations.ts +1 -1
- package/corpus/templates/mail/actions/list-emails.ts +1 -1
- package/corpus/templates/mail/actions/list-org-members.ts +1 -1
- package/corpus/templates/mail/actions/list-queued-drafts.ts +1 -1
- package/corpus/templates/mail/actions/list-scheduled-jobs.ts +1 -1
- package/corpus/templates/mail/actions/manage-automations.ts +1 -1
- package/corpus/templates/mail/actions/manage-snippets.ts +1 -1
- package/corpus/templates/mail/actions/mark-read.ts +1 -1
- package/corpus/templates/mail/actions/mark-thread-read.ts +1 -1
- package/corpus/templates/mail/actions/move-email.ts +1 -1
- package/corpus/templates/mail/actions/navigate.ts +1 -1
- package/corpus/templates/mail/actions/open-queued-draft.ts +1 -1
- package/corpus/templates/mail/actions/queue-email-draft.ts +1 -1
- package/corpus/templates/mail/actions/refresh-list.ts +1 -1
- package/corpus/templates/mail/actions/request-code-change.ts +1 -1
- package/corpus/templates/mail/actions/respond-calendar-invite.ts +1 -1
- package/corpus/templates/mail/actions/search-emails.ts +1 -1
- package/corpus/templates/mail/actions/send-email.ts +1 -1
- package/corpus/templates/mail/actions/send-queued-drafts.ts +1 -1
- package/corpus/templates/mail/actions/send-scheduled-email-now.ts +1 -1
- package/corpus/templates/mail/actions/star-email.ts +1 -1
- package/corpus/templates/mail/actions/trash-email.ts +1 -1
- package/corpus/templates/mail/actions/trigger-automations.ts +1 -1
- package/corpus/templates/mail/actions/unarchive-email.ts +1 -1
- package/corpus/templates/mail/actions/untrash-email.ts +1 -1
- package/corpus/templates/mail/actions/update-alias.ts +1 -1
- package/corpus/templates/mail/actions/update-automation-settings.ts +1 -1
- package/corpus/templates/mail/actions/update-automation.ts +1 -1
- package/corpus/templates/mail/actions/update-mail-preferences.ts +1 -1
- package/corpus/templates/mail/actions/update-mail-settings.ts +1 -1
- package/corpus/templates/mail/actions/update-queued-draft.ts +1 -1
- package/corpus/templates/mail/actions/update-scheduled-job.ts +1 -1
- package/corpus/templates/mail/actions/view-composer.ts +1 -1
- package/corpus/templates/mail/actions/view-screen.ts +1 -1
- package/corpus/templates/plan/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/plan/actions/consume-plan-feedback.ts +1 -1
- package/corpus/templates/plan/actions/delete-plan-comment.ts +1 -1
- package/corpus/templates/plan/actions/delete-visual-plan.ts +1 -1
- package/corpus/templates/plan/actions/export-visual-plan.ts +1 -1
- package/corpus/templates/plan/actions/get-local-plan-folder.ts +1 -1
- package/corpus/templates/plan/actions/get-plan-access-status.ts +1 -1
- package/corpus/templates/plan/actions/get-plan-blocks.ts +1 -1
- package/corpus/templates/plan/actions/get-plan-feedback.ts +1 -1
- package/corpus/templates/plan/actions/get-plan-version.ts +1 -1
- package/corpus/templates/plan/actions/get-visual-plan.ts +1 -1
- package/corpus/templates/plan/actions/list-plan-versions.ts +1 -1
- package/corpus/templates/plan/actions/list-visual-plans.ts +1 -1
- package/corpus/templates/plan/actions/navigate.ts +1 -1
- package/corpus/templates/plan/actions/patch-visual-plan-source.ts +1 -1
- package/corpus/templates/plan/actions/promote-local-plan-folder.ts +1 -1
- package/corpus/templates/plan/actions/publish-visual-plan.ts +1 -1
- package/corpus/templates/plan/actions/read-visual-plan-source.ts +1 -1
- package/corpus/templates/plan/actions/record-recap-usage.ts +1 -1
- package/corpus/templates/plan/actions/reply-to-plan-comment.ts +1 -1
- package/corpus/templates/plan/actions/report-visual-plan.ts +1 -1
- package/corpus/templates/plan/actions/request-plan-access.ts +1 -1
- package/corpus/templates/plan/actions/resolve-plan-comment.ts +1 -1
- package/corpus/templates/plan/actions/restore-plan-version.ts +1 -1
- package/corpus/templates/plan/actions/seed-kitchen-sink.ts +1 -1
- package/corpus/templates/plan/actions/seed-vertical-tabs.ts +1 -1
- package/corpus/templates/plan/actions/show-visual-plan.ts +1 -1
- package/corpus/templates/plan/actions/update-local-plan-comments.ts +1 -1
- package/corpus/templates/plan/actions/update-local-plan-folder.ts +1 -1
- package/corpus/templates/plan/actions/validate-local-plan-source.ts +1 -1
- package/corpus/templates/plan/actions/view-screen.ts +1 -1
- package/corpus/templates/plan/actions/visualize-plan.ts +1 -1
- package/corpus/templates/slides/.agents/skills/actions/SKILL.md +5 -1
- package/corpus/templates/slides/actions/add-deck.ts +1 -1
- package/corpus/templates/slides/actions/add-slide-comment.ts +1 -1
- package/corpus/templates/slides/actions/analyze-brand-assets.ts +1 -1
- package/corpus/templates/slides/actions/apply-design-system.ts +1 -1
- package/corpus/templates/slides/actions/approve-deck-access-request.ts +1 -1
- package/corpus/templates/slides/actions/check-image-gen.ts +1 -1
- package/corpus/templates/slides/actions/clone-creative-context-deck.ts +1 -1
- package/corpus/templates/slides/actions/create-design-system.ts +1 -1
- package/corpus/templates/slides/actions/db-health.ts +1 -1
- package/corpus/templates/slides/actions/delete-deck.ts +1 -1
- package/corpus/templates/slides/actions/delete-design-system.ts +1 -1
- package/corpus/templates/slides/actions/delete-slide-comment.ts +1 -1
- package/corpus/templates/slides/actions/duplicate-deck.ts +1 -1
- package/corpus/templates/slides/actions/export-google-slides.ts +1 -1
- package/corpus/templates/slides/actions/export-html.ts +1 -1
- package/corpus/templates/slides/actions/export-pptx.ts +1 -1
- package/corpus/templates/slides/actions/generate-image-api.ts +1 -1
- package/corpus/templates/slides/actions/generate-slides-ai.ts +1 -1
- package/corpus/templates/slides/actions/get-deck-access-status.ts +1 -1
- package/corpus/templates/slides/actions/get-deck-reference-context.ts +1 -1
- package/corpus/templates/slides/actions/get-deck-version.ts +1 -1
- package/corpus/templates/slides/actions/get-design-system.ts +1 -1
- package/corpus/templates/slides/actions/get-layout-overflows.ts +1 -1
- package/corpus/templates/slides/actions/get-workspace-defaults.ts +1 -1
- package/corpus/templates/slides/actions/image-gen-status.ts +1 -1
- package/corpus/templates/slides/actions/import-code.ts +1 -1
- package/corpus/templates/slides/actions/import-design-project.ts +1 -1
- package/corpus/templates/slides/actions/import-document.ts +1 -1
- package/corpus/templates/slides/actions/import-docx.ts +1 -1
- package/corpus/templates/slides/actions/import-file.ts +1 -1
- package/corpus/templates/slides/actions/import-from-url.ts +1 -1
- package/corpus/templates/slides/actions/import-google-doc.ts +1 -1
- package/corpus/templates/slides/actions/import-google-slides-reference.ts +1 -1
- package/corpus/templates/slides/actions/import-pptx.ts +1 -1
- package/corpus/templates/slides/actions/index-design-system-with-builder.ts +1 -1
- package/corpus/templates/slides/actions/list-deck-versions.ts +1 -1
- package/corpus/templates/slides/actions/list-decks.ts +1 -1
- package/corpus/templates/slides/actions/list-design-systems.ts +1 -1
- package/corpus/templates/slides/actions/list-slide-comments.ts +1 -1
- package/corpus/templates/slides/actions/logo-config.ts +1 -1
- package/corpus/templates/slides/actions/navigate.ts +1 -1
- package/corpus/templates/slides/actions/patch-deck.ts +1 -1
- package/corpus/templates/slides/actions/request-deck-access.ts +1 -1
- package/corpus/templates/slides/actions/restore-deck-version.ts +1 -1
- package/corpus/templates/slides/actions/save-deck.ts +1 -1
- package/corpus/templates/slides/actions/search-images.ts +1 -1
- package/corpus/templates/slides/actions/search-logos.ts +1 -1
- package/corpus/templates/slides/actions/set-default-design-system.ts +1 -1
- package/corpus/templates/slides/actions/set-workspace-defaults.ts +1 -1
- package/corpus/templates/slides/actions/sync-design-system-with-builder.ts +1 -1
- package/corpus/templates/slides/actions/update-deck-aspect-ratio.ts +1 -1
- package/corpus/templates/slides/actions/update-design-system.ts +1 -1
- package/corpus/templates/slides/actions/update-slide-comment.ts +1 -1
- package/corpus/templates/slides/actions/update-slide.ts +1 -1
- package/corpus/templates/slides/actions/view-screen.ts +1 -1
- package/corpus/templates/tasks/.agents/skills/actions/SKILL.md +5 -1
- package/dist/action.d.ts +27 -1
- package/dist/action.js +23 -0
- package/dist/agent/production-agent.js +11 -2
- package/dist/client/hooks/index.d.ts +1 -1
- package/dist/client/hooks/index.js +1 -1
- package/dist/client/use-action.d.ts +20 -0
- package/dist/client/use-action.js +65 -18
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.js +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/mcp/build-server.js +10 -2
- package/dist/observability/routes.d.ts +1 -1
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/scripts/index.d.ts +1 -1
- package/dist/scripts/utils.d.ts +1 -7
- package/dist/scripts/utils.js +3 -9
- package/dist/secrets/routes.d.ts +6 -6
- package/dist/server/action-routes.js +7 -5
- package/dist/templates/chat/.agents/skills/actions/SKILL.md +5 -1
- package/dist/templates/default/.agents/skills/actions/SKILL.md +5 -1
- package/dist/templates/headless/.agents/skills/actions/SKILL.md +5 -1
- package/dist/templates/headless/actions/hello.ts +1 -1
- package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +5 -1
- package/docs/content/actions-advanced.mdx +8 -8
- package/docs/content/actions-defining.mdx +91 -0
- package/package.json +3 -3
- package/src/templates/chat/.agents/skills/actions/SKILL.md +5 -1
- package/src/templates/default/.agents/skills/actions/SKILL.md +5 -1
- package/src/templates/headless/.agents/skills/actions/SKILL.md +5 -1
- package/src/templates/headless/actions/hello.ts +1 -1
- package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +5 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Update a meeting's metadata. Editor access required.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { defineAction } from "@agent-native/core";
|
|
5
|
+
import { defineAction } from "@agent-native/core/action";
|
|
6
6
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
7
7
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
8
8
|
import { and, eq } from "drizzle-orm";
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* pnpm action update-member-role --email=alice@example.com --role=admin
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { defineAction } from "@agent-native/core";
|
|
12
|
+
import { defineAction } from "@agent-native/core/action";
|
|
13
13
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
14
14
|
import { orgMembers } from "@agent-native/core/org";
|
|
15
15
|
import { and, eq, sql } from "drizzle-orm";
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* pnpm action update-recording --id=<id> --title="New title"
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { defineAction } from "@agent-native/core";
|
|
9
|
+
import { defineAction } from "@agent-native/core/action";
|
|
10
10
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
11
11
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
12
12
|
import { eq } from "drizzle-orm";
|
|
@@ -120,8 +120,12 @@ Everything else — CRUD, settings, search, list/detail reads, auth state, anyth
|
|
|
120
120
|
## Do / Don't
|
|
121
121
|
|
|
122
122
|
- **Do** keep one action, one job; document a reusable action (when to use it, key args, return fields to preserve) in `AGENTS.md` once it's called from outside one narrow screen; promote workflow-heavy actions (provider-backed, cross-app, MCP/A2A, multi-step) into a skill.
|
|
123
|
-
- **Do** use `fail()` for user-friendly errors and import primitives from `@agent-native/core`(`/action`) instead of redefining them; use the core `upload-image` action or `uploadFile()` for durable images/files — never base64 into SQL, markdown, or action results.
|
|
123
|
+
- **Do** use `fail(message, { errorCode, statusCode })` for user-friendly errors and import primitives from `@agent-native/core`(`/action`) instead of redefining them; use the core `upload-image` action or `uploadFile()` for durable images/files — never base64 into SQL, markdown, or action results.
|
|
124
124
|
- **Do** signal failure by throwing (`fail()`), never by returning `{ error: ... }`. A returned envelope is a successful return everywhere the framework looks: the retry breakers (`MAX_IDENTICAL_TOOL_ERRORS`, `MAX_SAME_ERROR_ACROSS_ARGUMENTS`) never count it, the call is recorded `completedSideEffect: true` even though nothing was written, and `failed_tools` / `$ai_is_error` stay clean while the model keeps guessing. One production run spent 32% of its cost on three rejected writes that every dashboard reported as successes.
|
|
125
|
+
- **Do** throw through `fail()` rather than `throw new Error()` whenever the message is written for whoever called. The agent reads either one, but the HTTP route can only tell them apart by type: `fail()` raises an `ActionContractError`, whose message, `errorCode`, and `details` reach the browser, while a bare `Error` is indistinguishable from a driver blowup and is replaced by a generic 500 `"Internal server error"` plus an error-tracking report. Keep the bare throw for genuine internal faults — that is what the 500 is for.
|
|
126
|
+
- **Do** give `fail()` the status that matches the cause: it defaults to `400`, and `useActionQuery` retries only `429`, `502`, `503`, and `504`. A refusal sent as `404` or `409` costs one round trip; sent as a `500` (or thrown bare) it used to cost four, plus four duplicate error reports.
|
|
127
|
+
- **Do** render `actionErrorMessage(error) ?? yourCopy` in UI, never bare `error.message`. The message keeps an `Action <name> failed:` prefix that belongs in a console, so a toast built from it reads "Action update-brand-kit failed: That name is taken." The helper returns only what the action wrote, and `undefined` when nothing did (network drop, proxy HTML page), which is why the fallback is not optional.
|
|
128
|
+
- **Do** pass a real `errorCode` when the agent should branch on the failure rather than re-read it. Codes other than the default `action_failed` are appended to the tool result as `(errorCode: not_found)`, on both the in-app agent and MCP; `details` and the status never reach either.
|
|
125
129
|
- **Don't** re-export actions as REST — `/_agent-native/actions/:name` is already the REST surface; duplicating it under `/api/*` hides the operation from agents.
|
|
126
130
|
- **Don't** reach for provider integrations, `outputSchema`, `authorize`, `needsApproval`, or `_agentImages` without checking `references/` first — each has sharp edges covered there, not here.
|
|
127
131
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { getDialect } from "@agent-native/core/db";
|
|
3
3
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
4
4
|
import { and, eq, isNull, sql } from "drizzle-orm";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
3
3
|
import { getRequestUserEmail } from "@agent-native/core/server/request-context";
|
|
4
4
|
import { z } from "zod";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { getRequestUserEmail } from "@agent-native/core/server/request-context";
|
|
3
3
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
4
4
|
import { and, eq, inArray } from "drizzle-orm";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
3
3
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
4
4
|
import { and, eq, sql } from "drizzle-orm";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
3
3
|
import { getRequestUserEmail } from "@agent-native/core/server/request-context";
|
|
4
4
|
import { and, eq } from "drizzle-orm";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
3
3
|
import { getRequestUserEmail } from "@agent-native/core/server/request-context";
|
|
4
4
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
3
3
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
4
4
|
import { and, eq, inArray } from "drizzle-orm";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
3
3
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
4
4
|
import { and, eq, inArray, isNotNull, isNull, ne, or } from "drizzle-orm";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
3
3
|
import { getRequestUserEmail } from "@agent-native/core/server/request-context";
|
|
4
4
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
3
3
|
import { getRequestUserEmail } from "@agent-native/core/server/request-context";
|
|
4
4
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
3
3
|
import { assertAccess } from "@agent-native/core/sharing";
|
|
4
4
|
import { and, eq, sql } from "drizzle-orm";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { writeAppState } from "@agent-native/core/application-state";
|
|
3
3
|
import { getRequestUserEmail } from "@agent-native/core/server/request-context";
|
|
4
4
|
import { z } from "zod";
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { buildDeepLink } from "@agent-native/core/server";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { getRequestUserEmail } from "@agent-native/core/server/request-context";
|
|
4
|
+
import { accessFilter, resolveAccess } from "@agent-native/core/sharing";
|
|
5
|
+
import { and, asc, eq, isNull, or } from "drizzle-orm";
|
|
5
6
|
import { z } from "zod";
|
|
6
7
|
|
|
7
8
|
import { getDb, schema } from "../server/db/index.js";
|
|
9
|
+
import type {
|
|
10
|
+
ContentDatabaseItem,
|
|
11
|
+
ContentDatabaseTableQuery,
|
|
12
|
+
} from "../shared/api.js";
|
|
8
13
|
import { blocksContentHash } from "../shared/blocks-field-identity.js";
|
|
14
|
+
import { renderDatabaseCsv } from "../shared/database-csv-export.js";
|
|
15
|
+
import { applyContentDatabaseTableQuery } from "../shared/database-query.js";
|
|
9
16
|
import {
|
|
10
17
|
buildDocumentExport,
|
|
11
18
|
collectionItemsMarkdown,
|
|
@@ -16,11 +23,221 @@ import {
|
|
|
16
23
|
isPrimaryBlocksField,
|
|
17
24
|
} from "../shared/properties.js";
|
|
18
25
|
import { resolveContentDocumentAccess } from "./_content-document-access.js";
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
26
|
+
import { listContentOrganizationMemberships } from "./_content-space-access.js";
|
|
27
|
+
import {
|
|
28
|
+
CONTENT_DATABASE_MAX_READ_LIMIT,
|
|
29
|
+
getDatabaseByDocumentId,
|
|
30
|
+
} from "./_database-utils.js";
|
|
31
|
+
import {
|
|
32
|
+
listPropertiesForAllDocumentDatabases,
|
|
33
|
+
listPropertiesForDatabase,
|
|
34
|
+
listPropertiesForDatabaseDocuments,
|
|
35
|
+
parseDatabaseViewConfig,
|
|
36
|
+
} from "./_property-utils.js";
|
|
21
37
|
|
|
22
38
|
const COLLECTION_EXPORT_ACCESS_CONCURRENCY = 8;
|
|
23
39
|
|
|
40
|
+
const collectionSchema = z.object({
|
|
41
|
+
scope: z.discriminatedUnion("kind", [
|
|
42
|
+
z.object({ kind: z.literal("all_members") }),
|
|
43
|
+
z.object({
|
|
44
|
+
kind: z.literal("current_view"),
|
|
45
|
+
viewId: z.string().min(1),
|
|
46
|
+
query: z.object({
|
|
47
|
+
search: z.string().max(500),
|
|
48
|
+
filters: z
|
|
49
|
+
.array(
|
|
50
|
+
z.object({
|
|
51
|
+
key: z.string(),
|
|
52
|
+
label: z.string(),
|
|
53
|
+
operator: z.enum([
|
|
54
|
+
"contains",
|
|
55
|
+
"equals",
|
|
56
|
+
"does_not_equal",
|
|
57
|
+
"greater_than",
|
|
58
|
+
"less_than",
|
|
59
|
+
"before",
|
|
60
|
+
"after",
|
|
61
|
+
"between",
|
|
62
|
+
"is_checked",
|
|
63
|
+
"is_unchecked",
|
|
64
|
+
"is_empty",
|
|
65
|
+
"is_not_empty",
|
|
66
|
+
]),
|
|
67
|
+
value: z.string(),
|
|
68
|
+
filterGroupId: z.string().optional(),
|
|
69
|
+
parentFilterGroupId: z.string().optional(),
|
|
70
|
+
}),
|
|
71
|
+
)
|
|
72
|
+
.max(50),
|
|
73
|
+
sorts: z
|
|
74
|
+
.array(
|
|
75
|
+
z.object({
|
|
76
|
+
key: z.string(),
|
|
77
|
+
label: z.string(),
|
|
78
|
+
direction: z.enum(["asc", "desc"]),
|
|
79
|
+
}),
|
|
80
|
+
)
|
|
81
|
+
.max(20),
|
|
82
|
+
filterMode: z.enum(["and", "or"]),
|
|
83
|
+
}),
|
|
84
|
+
}),
|
|
85
|
+
]),
|
|
86
|
+
propertyIds: z.array(z.string().min(1)).max(200),
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
type CollectionExport = z.infer<typeof collectionSchema>;
|
|
90
|
+
|
|
91
|
+
function assertValidQuery(
|
|
92
|
+
query: ContentDatabaseTableQuery,
|
|
93
|
+
propertyIds: ReadonlySet<string>,
|
|
94
|
+
) {
|
|
95
|
+
for (const key of [...query.filters, ...query.sorts].map(({ key }) => key)) {
|
|
96
|
+
if (key !== "name" && !propertyIds.has(key)) {
|
|
97
|
+
throw new Error(`Unknown database property "${key}" in export query`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
async function databaseCsvContent(
|
|
103
|
+
documentId: string,
|
|
104
|
+
collection: CollectionExport,
|
|
105
|
+
) {
|
|
106
|
+
const database = await getDatabaseByDocumentId(documentId);
|
|
107
|
+
if (!database) throw new Error("CSV export requires a database document");
|
|
108
|
+
|
|
109
|
+
const properties = await listPropertiesForDatabase(database.id);
|
|
110
|
+
const propertyById = new Map(
|
|
111
|
+
properties.map((property) => [property.definition.id, property]),
|
|
112
|
+
);
|
|
113
|
+
if (new Set(collection.propertyIds).size !== collection.propertyIds.length) {
|
|
114
|
+
throw new Error("CSV export property IDs must be unique");
|
|
115
|
+
}
|
|
116
|
+
const selectedProperties = collection.propertyIds.map((propertyId) => {
|
|
117
|
+
const property = propertyById.get(propertyId);
|
|
118
|
+
if (!property) throw new Error(`Unknown database property "${propertyId}"`);
|
|
119
|
+
return property;
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
const query =
|
|
123
|
+
collection.scope.kind === "current_view" ? collection.scope.query : null;
|
|
124
|
+
const scope = collection.scope;
|
|
125
|
+
if (scope.kind === "current_view") {
|
|
126
|
+
const view = parseDatabaseViewConfig(database.viewConfigJson).views.find(
|
|
127
|
+
(candidate) => candidate.id === scope.viewId,
|
|
128
|
+
);
|
|
129
|
+
if (!view) throw new Error(`Database view "${scope.viewId}" not found`);
|
|
130
|
+
assertValidQuery(query!, new Set(propertyById.keys()));
|
|
131
|
+
}
|
|
132
|
+
const blocksAreNeeded =
|
|
133
|
+
selectedProperties.some((property) =>
|
|
134
|
+
isBlocksPropertyType(property.definition.type),
|
|
135
|
+
) ||
|
|
136
|
+
(!!query &&
|
|
137
|
+
(query.search.trim().length > 0 ||
|
|
138
|
+
[...query.filters, ...query.sorts].some((constraint) => {
|
|
139
|
+
const property = propertyById.get(constraint.key);
|
|
140
|
+
return !!property && isBlocksPropertyType(property.definition.type);
|
|
141
|
+
})));
|
|
142
|
+
|
|
143
|
+
const userEmail = getRequestUserEmail();
|
|
144
|
+
const memberships = userEmail
|
|
145
|
+
? await listContentOrganizationMemberships(userEmail)
|
|
146
|
+
: [];
|
|
147
|
+
const accessClauses = [accessFilter(schema.documents, schema.documentShares)];
|
|
148
|
+
for (const membership of memberships) {
|
|
149
|
+
accessClauses.push(
|
|
150
|
+
accessFilter(schema.documents, schema.documentShares, {
|
|
151
|
+
userEmail: userEmail!,
|
|
152
|
+
orgId: membership.orgId,
|
|
153
|
+
}),
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
const rows = await getDb()
|
|
157
|
+
.select({
|
|
158
|
+
item: schema.contentDatabaseItems,
|
|
159
|
+
document: schema.documents,
|
|
160
|
+
})
|
|
161
|
+
.from(schema.contentDatabaseItems)
|
|
162
|
+
.innerJoin(
|
|
163
|
+
schema.documents,
|
|
164
|
+
eq(schema.documents.id, schema.contentDatabaseItems.documentId),
|
|
165
|
+
)
|
|
166
|
+
.where(
|
|
167
|
+
and(
|
|
168
|
+
eq(schema.contentDatabaseItems.databaseId, database.id),
|
|
169
|
+
isNull(schema.documents.trashedAt),
|
|
170
|
+
or(...accessClauses),
|
|
171
|
+
),
|
|
172
|
+
)
|
|
173
|
+
.orderBy(
|
|
174
|
+
asc(schema.contentDatabaseItems.position),
|
|
175
|
+
asc(schema.contentDatabaseItems.createdAt),
|
|
176
|
+
asc(schema.contentDatabaseItems.id),
|
|
177
|
+
)
|
|
178
|
+
.limit(CONTENT_DATABASE_MAX_READ_LIMIT + 1);
|
|
179
|
+
if (rows.length > CONTENT_DATABASE_MAX_READ_LIMIT) {
|
|
180
|
+
throw new Error(
|
|
181
|
+
`CSV export supports up to ${CONTENT_DATABASE_MAX_READ_LIMIT} accessible rows.`,
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
if (blocksAreNeeded) {
|
|
185
|
+
for (const { item } of rows) {
|
|
186
|
+
if (
|
|
187
|
+
item.bodyHydrationStatus !== "hydrated" &&
|
|
188
|
+
item.bodyHydrationStatus !== "unavailable"
|
|
189
|
+
) {
|
|
190
|
+
throw new Error(
|
|
191
|
+
`Database item "${item.documentId}" is not ready for export`,
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const documents = rows.map((row) => row.document);
|
|
197
|
+
const propertiesByDocumentId = await listPropertiesForDatabaseDocuments(
|
|
198
|
+
database.id,
|
|
199
|
+
documents,
|
|
200
|
+
);
|
|
201
|
+
const queryItems: ContentDatabaseItem[] = rows.map((row) => ({
|
|
202
|
+
id: row.item.id,
|
|
203
|
+
databaseId: row.item.databaseId,
|
|
204
|
+
document: {
|
|
205
|
+
id: row.document.id,
|
|
206
|
+
parentId: row.document.parentId,
|
|
207
|
+
title: row.document.title,
|
|
208
|
+
content: row.document.content,
|
|
209
|
+
description: row.document.description ?? undefined,
|
|
210
|
+
icon: row.document.icon,
|
|
211
|
+
position: row.document.position,
|
|
212
|
+
isFavorite: row.document.isFavorite === 1,
|
|
213
|
+
hideFromSearch: row.document.hideFromSearch === 1,
|
|
214
|
+
createdAt: row.document.createdAt,
|
|
215
|
+
updatedAt: row.document.updatedAt,
|
|
216
|
+
},
|
|
217
|
+
position: row.item.position,
|
|
218
|
+
properties: propertiesByDocumentId.get(row.document.id) ?? [],
|
|
219
|
+
}));
|
|
220
|
+
const selectedRows = query
|
|
221
|
+
? applyContentDatabaseTableQuery(queryItems, properties, query)
|
|
222
|
+
: queryItems;
|
|
223
|
+
return renderDatabaseCsv(
|
|
224
|
+
selectedProperties.map((property) => ({
|
|
225
|
+
id: property.definition.id,
|
|
226
|
+
name: property.definition.name,
|
|
227
|
+
property,
|
|
228
|
+
})),
|
|
229
|
+
selectedRows.map((row) => ({
|
|
230
|
+
title: row.document.title,
|
|
231
|
+
values: new Map(
|
|
232
|
+
row.properties.map((property) => [
|
|
233
|
+
property.definition.id,
|
|
234
|
+
property.value,
|
|
235
|
+
]),
|
|
236
|
+
),
|
|
237
|
+
})),
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
|
|
24
241
|
async function databaseExportContent(documentId: string) {
|
|
25
242
|
const database = await getDatabaseByDocumentId(documentId);
|
|
26
243
|
if (!database) return null;
|
|
@@ -82,9 +299,12 @@ export default defineAction({
|
|
|
82
299
|
schema: z.object({
|
|
83
300
|
id: z.string().describe("Document ID (required)"),
|
|
84
301
|
format: z
|
|
85
|
-
.enum(["pdf", "markdown", "html"])
|
|
302
|
+
.enum(["pdf", "markdown", "html", "csv"])
|
|
86
303
|
.default("pdf")
|
|
87
|
-
.describe("Export format: pdf, markdown, or
|
|
304
|
+
.describe("Export format: pdf, markdown, html, or csv."),
|
|
305
|
+
collection: collectionSchema
|
|
306
|
+
.optional()
|
|
307
|
+
.describe("Database CSV export scope and selected property IDs."),
|
|
88
308
|
title: z
|
|
89
309
|
.string()
|
|
90
310
|
.max(500)
|
|
@@ -98,11 +318,35 @@ export default defineAction({
|
|
|
98
318
|
}),
|
|
99
319
|
readOnly: true,
|
|
100
320
|
publicAgent: { expose: true, readOnly: true, requiresAuth: true },
|
|
101
|
-
run: async ({ id, format, title, content }) => {
|
|
321
|
+
run: async ({ id, format, title, content, collection }) => {
|
|
102
322
|
const access = await resolveAccess("document", id);
|
|
103
323
|
if (!access) throw new Error(`Document "${id}" not found`);
|
|
104
324
|
|
|
105
325
|
const doc = access.resource;
|
|
326
|
+
if (format === "csv") {
|
|
327
|
+
if (!collection)
|
|
328
|
+
throw new Error("CSV export requires collection options");
|
|
329
|
+
const content = await databaseCsvContent(doc.id, collection);
|
|
330
|
+
return {
|
|
331
|
+
id: doc.id,
|
|
332
|
+
title: doc.title || "Untitled",
|
|
333
|
+
format,
|
|
334
|
+
filename: `${
|
|
335
|
+
(doc.title || "untitled")
|
|
336
|
+
.replace(/[^a-z0-9]+/gi, "-")
|
|
337
|
+
.replace(/^-+|-+$/g, "")
|
|
338
|
+
.toLowerCase() || "untitled"
|
|
339
|
+
}.csv`,
|
|
340
|
+
mimeType: "text/csv;charset=utf-8",
|
|
341
|
+
content,
|
|
342
|
+
print: false,
|
|
343
|
+
deepLink: buildDeepLink({
|
|
344
|
+
app: "content",
|
|
345
|
+
view: "editor",
|
|
346
|
+
params: { documentId: doc.id },
|
|
347
|
+
}),
|
|
348
|
+
};
|
|
349
|
+
}
|
|
106
350
|
const properties = await listPropertiesForAllDocumentDatabases(doc);
|
|
107
351
|
const blocksFields = properties
|
|
108
352
|
.filter((property) => isBlocksPropertyType(property.definition.type))
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core";
|
|
1
|
+
import { defineAction } from "@agent-native/core/action";
|
|
2
2
|
import { buildDeepLink } from "@agent-native/core/server";
|
|
3
3
|
import { getRequestUserEmail } from "@agent-native/core/server/request-context";
|
|
4
4
|
import { resolveAccess, roleSatisfies } from "@agent-native/core/sharing";
|