@agent-native/core 0.121.2 → 0.122.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/README.md +4 -12
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +148 -0
- package/corpus/core/docs/content/actions.mdx +2 -2
- package/corpus/core/docs/content/agent-surfaces.mdx +1 -1
- package/corpus/core/docs/content/authentication.mdx +2 -0
- package/corpus/core/docs/content/deployment.mdx +36 -0
- package/corpus/core/docs/content/http-api.mdx +266 -0
- package/corpus/core/docs/content/syncing-template-changes.mdx +159 -0
- package/corpus/core/package.json +2 -1
- package/corpus/core/src/a2a/activity.ts +38 -27
- package/corpus/core/src/a2a/client.ts +57 -4
- package/corpus/core/src/agent/engine/builder-engine.ts +35 -4
- package/corpus/core/src/agent/run-manager.ts +20 -1
- package/corpus/core/src/agent/run-store.ts +4 -1
- package/corpus/core/src/agent/types.ts +28 -8
- package/corpus/core/src/chat-threads/store.ts +45 -0
- package/corpus/core/src/checkpoints/index.ts +2 -0
- package/corpus/core/src/checkpoints/route-match.ts +13 -0
- package/corpus/core/src/cli/create.ts +105 -17
- package/corpus/core/src/cli/index.ts +20 -0
- package/corpus/core/src/cli/template-baseline.ts +410 -0
- package/corpus/core/src/cli/template-sync.ts +1004 -0
- package/corpus/core/src/cli/templates-meta.ts +1 -0
- package/corpus/core/src/client/AssistantChat.tsx +38 -12
- package/corpus/core/src/client/NewWorkspaceAppFlow.tsx +75 -10
- package/corpus/core/src/client/chat/message-components.tsx +127 -66
- package/corpus/core/src/client/chat/tool-call-display.tsx +29 -5
- package/corpus/core/src/client/error-format.ts +18 -0
- package/corpus/core/src/client/org/OrgSwitcher.tsx +30 -8
- package/corpus/core/src/client/org/TeamPage.tsx +7 -6
- package/corpus/core/src/client/settings/SettingsPanel.tsx +9 -9
- package/corpus/core/src/client/settings/SettingsTabsPage.tsx +12 -2
- package/corpus/core/src/client/sse-event-processor.ts +3 -0
- package/corpus/core/src/data-widgets/index.ts +41 -0
- package/corpus/core/src/deploy/build.ts +11 -9
- package/corpus/core/src/extensions/url-safety.ts +67 -4
- package/corpus/core/src/integrations/webhook-handler.ts +63 -9
- package/corpus/core/src/org/auto-join-domain.ts +4 -3
- package/corpus/core/src/org/context.ts +108 -39
- package/corpus/core/src/org/index.ts +5 -0
- package/corpus/core/src/org/service-identity.ts +60 -0
- package/corpus/core/src/provider-api/index.ts +22 -1
- package/corpus/core/src/scripts/docs/search.ts +12 -1
- package/corpus/core/src/server/agent-chat/context-tools.ts +9 -4
- package/corpus/core/src/server/agent-chat/framework-prompts.ts +38 -66
- package/corpus/core/src/server/agent-chat-plugin.ts +17 -10
- package/corpus/core/src/server/agents-bundle.ts +84 -5
- package/corpus/core/src/server/auth.ts +4 -3
- package/corpus/core/src/server/builder-browser.ts +47 -19
- package/corpus/core/src/server/core-routes-plugin.ts +2 -2
- package/corpus/core/src/server/credential-provider.ts +209 -68
- package/corpus/core/src/server/index.ts +3 -0
- package/corpus/core/src/server/prompts/framework-core-compact.ts +6 -13
- package/corpus/core/src/server/prompts/framework-core.ts +9 -21
- package/corpus/core/src/server/prompts/index.ts +0 -1
- package/corpus/core/src/server/prompts/shared-rules.ts +19 -11
- package/corpus/core/src/server/ssr-handler.ts +13 -2
- package/corpus/core/src/settings/user-settings.ts +13 -1
- package/corpus/core/src/shared/cache-control.ts +141 -0
- package/corpus/core/src/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/core/src/templates/chat/_gitignore +1 -0
- package/corpus/core/src/templates/chat/app/components/layout/Sidebar.tsx +0 -7
- package/corpus/core/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/core/src/templates/default/app/root.tsx +1 -1
- package/corpus/core/src/templates/default/public/manifest.json +2 -2
- package/corpus/core/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/performance/SKILL.md +19 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/visual-answer/SKILL.md +1 -0
- package/corpus/core/src/vite/agents-bundle-plugin.ts +7 -6
- package/corpus/core/src/vite/client.ts +69 -3
- package/corpus/templates/analytics/.agents/skills/adhoc-analysis/SKILL.md +4 -5
- package/corpus/templates/analytics/.agents/skills/admin-surfaces/SKILL.md +55 -0
- package/corpus/templates/analytics/.agents/skills/dashboard-management/SKILL.md +10 -0
- package/corpus/templates/analytics/.agents/skills/dashboard-management/references/template-catalog-and-demo.md +62 -0
- package/corpus/templates/analytics/.agents/skills/dashboard-ops/SKILL.md +85 -0
- package/corpus/templates/analytics/.agents/skills/data-querying/SKILL.md +27 -2
- package/corpus/templates/analytics/.agents/skills/data-querying/references/inline-chart-embeds.md +139 -0
- package/corpus/templates/analytics/.agents/skills/monitoring/SKILL.md +77 -0
- package/corpus/templates/analytics/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/analytics/AGENTS.md +91 -563
- package/corpus/templates/analytics/_gitignore +1 -0
- package/corpus/templates/analytics/actions/bigquery.ts +12 -4
- package/corpus/templates/analytics/actions/generate-chart.ts +5 -5
- package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +30 -1
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +1 -23
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/DashboardFilterBar.tsx +3 -0
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +1 -1
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +1 -0
- package/corpus/templates/analytics/app/routes/_index.tsx +1 -1
- package/corpus/templates/analytics/changelog/2026-07-24-analytics-finds-saved-dashboards-and-queries-far-more-reliab.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-24-notion-access-errors-now-explain-that-a-page-needs-sharing-w.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/analytics/package.json +1 -1
- package/corpus/templates/analytics/public/manifest.json +1 -1
- package/corpus/templates/analytics/server/lib/agent-chat-plan-mode.ts +7 -0
- package/corpus/templates/analytics/server/lib/analytics-query-catalog.ts +191 -30
- package/corpus/templates/analytics/server/lib/bigquery.ts +11 -1
- package/corpus/templates/analytics/server/lib/notion.ts +15 -4
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +10 -0
- package/corpus/templates/analytics/server/plugins/auth.ts +1 -1
- package/corpus/templates/assets/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/assets/app/components/layout/Sidebar.tsx +0 -2
- package/corpus/templates/assets/app/routes/_index.tsx +1 -1
- package/corpus/templates/assets/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/assets/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/assets/server/plugins/auth.ts +1 -1
- package/corpus/templates/brain/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/brain/_gitignore +1 -0
- package/corpus/templates/brain/app/lib/brain.ts +0 -7
- package/corpus/templates/brain/app/routes/_index.tsx +1 -2
- package/corpus/templates/brain/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/brain/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/brain/package.json +1 -1
- package/corpus/templates/brain/public/manifest.json +1 -1
- package/corpus/templates/brain/server/plugins/auth.ts +1 -1
- package/corpus/templates/calendar/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/calendar/_gitignore +1 -0
- package/corpus/templates/calendar/app/components/layout/Sidebar.tsx +0 -6
- package/corpus/templates/calendar/app/routes/_app._index.tsx +1 -1
- package/corpus/templates/calendar/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/calendar/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/calendar/package.json +1 -1
- package/corpus/templates/calendar/public/manifest.json +1 -1
- package/corpus/templates/calendar/server/plugins/auth.ts +1 -1
- package/corpus/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/chat/_gitignore +1 -0
- package/corpus/templates/chat/app/components/layout/Sidebar.tsx +0 -7
- package/corpus/templates/chat/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/clips/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/clips/.agents/skills/video-sharing/SKILL.md +34 -0
- package/corpus/templates/clips/AGENTS.md +5 -4
- package/corpus/templates/clips/_gitignore +1 -0
- package/corpus/templates/clips/actions/cleanup-transcript.ts +5 -0
- package/corpus/templates/clips/actions/get-recording-insights.ts +44 -8
- package/corpus/templates/clips/actions/get-recording-player-data.ts +39 -70
- package/corpus/templates/clips/actions/import-loom-recording.ts +53 -98
- package/corpus/templates/clips/actions/lib/loom-import-job.ts +260 -0
- package/corpus/templates/clips/actions/list-clip-views.ts +2 -4
- package/corpus/templates/clips/actions/list-recordings.ts +69 -19
- package/corpus/templates/clips/actions/list-viewers.ts +5 -2
- package/corpus/templates/clips/actions/regenerate-summary.ts +5 -1
- package/corpus/templates/clips/actions/request-transcript.ts +28 -1
- package/corpus/templates/clips/app/components/editor/stitch-manager.tsx +21 -1
- package/corpus/templates/clips/app/components/library/library-layout.tsx +0 -7
- package/corpus/templates/clips/app/components/meetings/quick-ask-sidebar.tsx +14 -1
- package/corpus/templates/clips/app/components/player/insights-panel.tsx +8 -20
- package/corpus/templates/clips/app/components/player/recording-views-badge.tsx +335 -0
- package/corpus/templates/clips/app/components/player/video-player.tsx +13 -8
- package/corpus/templates/clips/app/components/sharing/share-ui.tsx +2 -1
- package/corpus/templates/clips/app/i18n/en-US.ts +13 -2
- package/corpus/templates/clips/app/lib/capture-permissions.ts +110 -0
- package/corpus/templates/clips/app/lib/recording-link.ts +32 -0
- package/corpus/templates/clips/app/routes/_app.library._index.tsx +1 -1
- package/corpus/templates/clips/app/routes/_app.meetings.$meetingId.tsx +27 -0
- package/corpus/templates/clips/app/routes/_index.tsx +1 -1
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +52 -15
- package/corpus/templates/clips/app/routes/record.tsx +82 -31
- package/corpus/templates/clips/app/routes/share.$shareId.tsx +42 -31
- package/corpus/templates/clips/changelog/2026-07-24-clip-pages-now-show-a-view-count-with-viewer-avatars-next-to.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-clip-summaries-read-like-a-description-you-d-write-yourself-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-clip-view-counts-now-separate-human-views-from-agent-views-s.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-clips-actions-can-now-be-called-by-org-service-tokens-so-ext.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-clips-no-longer-briefly-shows-a-dock-icon-while-launching.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-fixed-owner-and-editor-share-links-redirecting-to-the-record.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-meeting-and-note-recordings-now-start-as-a-compact-pill-on-t.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-new-clips-now-copy-a-shareable-link-instead-of-the-owner-onl.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-opening-a-share-link-as-the-clip-s-owner-now-goes-straight-t.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-permissions-and-rewind-controls-now-use-compact-consistent-h.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-quitting-the-desktop-app-no-longer-shows-a-false-macos-crash.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-screen-recording-permission-errors-now-name-the-exact-app-to.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-the-desktop-app-now-copies-a-new-clip-s-share-link-to-your-c.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-the-recording-toolbar-now-stays-above-other-apps-including-o.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-transcript-captions-now-use-real-speech-timings-instead-of-a.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-24-video-playback-no-longer-stutters-and-replays-the-last-momen.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/clips/chrome-extension/src/background.ts +17 -1
- package/corpus/templates/clips/desktop/package.json +2 -0
- package/corpus/templates/clips/desktop/src/app.tsx +89 -0
- package/corpus/templates/clips/desktop/src/hooks/useMeetingTranscription.ts +9 -3
- package/corpus/templates/clips/desktop/src/lib/audio-meter.ts +51 -0
- package/corpus/templates/clips/desktop/src/lib/native-notification.ts +44 -0
- package/corpus/templates/clips/desktop/src/lib/recording-link.ts +67 -0
- package/corpus/templates/clips/desktop/src/overlays/live-audio-bars.tsx +35 -35
- package/corpus/templates/clips/desktop/src/overlays/live-transcript.tsx +3 -2
- package/corpus/templates/clips/desktop/src/overlays/recording-pill.tsx +47 -46
- package/corpus/templates/clips/desktop/src/styles.css +127 -78
- package/corpus/templates/clips/desktop/src-tauri/Cargo.toml +7 -0
- package/corpus/templates/clips/desktop/src-tauri/Info.plist +6 -0
- package/corpus/templates/clips/desktop/src-tauri/capabilities/default.json +1 -0
- package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +7 -3
- package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +4 -1
- package/corpus/templates/clips/desktop/src-tauri/src/main.rs +8 -0
- package/corpus/templates/clips/desktop/src-tauri/src/recording_indicator.rs +21 -10
- package/corpus/templates/clips/desktop/src-tauri/src/util.rs +40 -0
- package/corpus/templates/clips/server/db/schema.ts +27 -0
- package/corpus/templates/clips/server/lib/agent-views.ts +145 -0
- package/corpus/templates/clips/server/lib/post-finalize-dispatch.ts +2 -1
- package/corpus/templates/clips/server/lib/public-agent-context.ts +7 -0
- package/corpus/templates/clips/server/lib/recording-share-grant.ts +79 -0
- package/corpus/templates/clips/server/lib/recordings.ts +51 -3
- package/corpus/templates/clips/server/plugins/auth.ts +1 -1
- package/corpus/templates/clips/server/plugins/db.ts +31 -0
- package/corpus/templates/clips/server/routes/api/_agent-native-background/post-finalize-worker.post.ts +56 -3
- package/corpus/templates/clips/server/routes/api/public-recording.get.ts +49 -17
- package/corpus/templates/clips/shared/recording-link.ts +43 -0
- package/corpus/templates/clips/shared/share-attribution.ts +4 -0
- package/corpus/templates/clips/shared/share-dashboard-redirect.ts +42 -0
- package/corpus/templates/clips/shared/view-analytics.ts +26 -0
- package/corpus/templates/content/.agents/skills/content/SKILL.md +5 -0
- package/corpus/templates/content/.agents/skills/content/references/local-file-mode.md +135 -0
- package/corpus/templates/content/.agents/skills/document-editing/SKILL.md +12 -0
- package/corpus/templates/content/.agents/skills/document-editing/references/databases.md +238 -0
- package/corpus/templates/content/.agents/skills/document-editing/references/document-behavior.md +91 -0
- package/corpus/templates/content/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/content/AGENTS.md +62 -583
- package/corpus/templates/content/_gitignore +1 -0
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +1 -39
- package/corpus/templates/content/app/routes/_app._index.tsx +1 -2
- package/corpus/templates/content/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/content/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/content/package.json +1 -1
- package/corpus/templates/content/public/manifest.json +1 -1
- package/corpus/templates/content/server/plugins/auth.ts +1 -1
- package/corpus/templates/design/.agents/skills/creative-context/SKILL.md +11 -0
- package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +50 -8
- package/corpus/templates/design/.agents/skills/design-generation/references/code-layers.md +81 -0
- package/corpus/templates/design/.agents/skills/design-generation/references/code-workspace.md +42 -0
- package/corpus/templates/design/.agents/skills/design-generation/references/editor-extensions.md +34 -0
- package/corpus/templates/design/.agents/skills/responsive-breakpoints/SKILL.md +4 -1
- package/corpus/templates/design/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +17 -0
- package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +8196 -0
- package/corpus/templates/design/.generated/bridge/embedded-wheel.generated.ts +265 -0
- package/corpus/templates/design/.generated/bridge/hit-test.generated.ts +642 -0
- package/corpus/templates/design/.generated/bridge/motion-preview.generated.ts +571 -0
- package/corpus/templates/design/.generated/bridge/nav.generated.ts +91 -0
- package/corpus/templates/design/.generated/bridge/sample.generated.ts +23 -0
- package/corpus/templates/design/.generated/bridge/shader-fill-preview.generated.ts +263 -0
- package/corpus/templates/design/.generated/bridge/shader-runtime.generated.ts +518 -0
- package/corpus/templates/design/.generated/bridge/tweak.generated.ts +20 -0
- package/corpus/templates/design/.generated/bridge/zoom.generated.ts +32 -0
- package/corpus/templates/design/AGENTS.md +88 -503
- package/corpus/templates/design/_gitignore +1 -0
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +0 -2
- package/corpus/templates/design/app/routes/_index.tsx +1 -1
- package/corpus/templates/design/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/design/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/design/server/plugins/auth.ts +1 -1
- package/corpus/templates/dispatch/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/dispatch/_gitignore +1 -0
- package/corpus/templates/dispatch/app/dispatch-extensions.tsx +1 -10
- package/corpus/templates/dispatch/app/routes/overview.tsx +1 -1
- package/corpus/templates/dispatch/changelog/2026-07-24-signing-in-now-puts-you-in-your-companys-workspace.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/dispatch/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/dispatch/package.json +1 -1
- package/corpus/templates/dispatch/public/manifest.json +1 -1
- package/corpus/templates/forms/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/forms/_gitignore +1 -0
- package/corpus/templates/forms/app/components/layout/Sidebar.tsx +0 -35
- package/corpus/templates/forms/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/forms/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/forms/package.json +1 -1
- package/corpus/templates/forms/public/manifest.json +1 -1
- package/corpus/templates/forms/server/lib/public-form-ssr.ts +2 -2
- package/corpus/templates/forms/server/plugins/auth.ts +1 -1
- package/corpus/templates/macros/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/macros/_gitignore +1 -0
- package/corpus/templates/macros/app/components/layout/AppLayout.tsx +0 -2
- package/corpus/templates/macros/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/macros/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/macros/package.json +1 -1
- package/corpus/templates/macros/server/plugins/auth.ts +2 -2
- package/corpus/templates/mail/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/mail/_gitignore +1 -0
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +0 -39
- package/corpus/templates/mail/app/routes/$view.$threadId.tsx +1 -1
- package/corpus/templates/mail/app/routes/$view.tsx +1 -1
- package/corpus/templates/mail/app/routes/_index.tsx +1 -1
- package/corpus/templates/mail/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/mail/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/mail/package.json +1 -1
- package/corpus/templates/mail/public/manifest.json +1 -1
- package/corpus/templates/mail/server/plugins/auth.ts +1 -1
- package/corpus/templates/plan/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/plan/_gitignore +1 -0
- package/corpus/templates/plan/agent-native.app-skill.json +1 -1
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +4 -9
- package/corpus/templates/plan/app/lib/app-config.ts +1 -1
- package/corpus/templates/plan/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/plan/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/plan/package.json +1 -1
- package/corpus/templates/plan/public/manifest.json +1 -1
- package/corpus/templates/plan/server/plugins/auth.ts +1 -1
- package/corpus/templates/slides/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/slides/_gitignore +1 -0
- package/corpus/templates/slides/app/components/layout/Sidebar.tsx +0 -2
- package/corpus/templates/slides/app/routes/_index.tsx +1 -1
- package/corpus/templates/slides/changelog/2026-07-25-app-branding-now-uses-the-product-name-without-the-agent-nat.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/corpus/templates/slides/package.json +1 -1
- package/corpus/templates/slides/public/manifest.json +1 -1
- package/corpus/templates/slides/server/plugins/auth.ts +1 -1
- package/corpus/templates/slides/server/plugins/db.ts +4 -0
- package/corpus/templates/tasks/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/corpus/templates/tasks/AGENTS.md +1 -1
- package/corpus/templates/tasks/_gitignore +1 -0
- package/dist/a2a/activity.d.ts +4 -1
- package/dist/a2a/activity.d.ts.map +1 -1
- package/dist/a2a/activity.js +27 -16
- package/dist/a2a/activity.js.map +1 -1
- package/dist/a2a/client.d.ts.map +1 -1
- package/dist/a2a/client.js +58 -4
- package/dist/a2a/client.js.map +1 -1
- package/dist/agent/engine/builder-engine.d.ts +1 -0
- package/dist/agent/engine/builder-engine.d.ts.map +1 -1
- package/dist/agent/engine/builder-engine.js +31 -4
- package/dist/agent/engine/builder-engine.js.map +1 -1
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +18 -1
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/run-store.d.ts +1 -0
- package/dist/agent/run-store.d.ts.map +1 -1
- package/dist/agent/run-store.js +2 -1
- package/dist/agent/run-store.js.map +1 -1
- package/dist/agent/types.d.ts +12 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js +21 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/chat-threads/store.d.ts +10 -0
- package/dist/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +41 -0
- package/dist/chat-threads/store.js.map +1 -1
- package/dist/checkpoints/index.d.ts +1 -0
- package/dist/checkpoints/index.d.ts.map +1 -1
- package/dist/checkpoints/index.js +1 -0
- package/dist/checkpoints/index.js.map +1 -1
- package/dist/checkpoints/route-match.d.ts +8 -0
- package/dist/checkpoints/route-match.d.ts.map +1 -0
- package/dist/checkpoints/route-match.js +13 -0
- package/dist/checkpoints/route-match.js.map +1 -0
- package/dist/cli/create.d.ts +35 -4
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +69 -19
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +19 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/template-baseline.d.ts +54 -0
- package/dist/cli/template-baseline.d.ts.map +1 -0
- package/dist/cli/template-baseline.js +334 -0
- package/dist/cli/template-baseline.js.map +1 -0
- package/dist/cli/template-sync.d.ts +57 -0
- package/dist/cli/template-sync.d.ts.map +1 -0
- package/dist/cli/template-sync.js +787 -0
- package/dist/cli/template-sync.js.map +1 -0
- package/dist/cli/templates-meta.d.ts.map +1 -1
- package/dist/cli/templates-meta.js +1 -0
- package/dist/cli/templates-meta.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +2 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +38 -10
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/NewWorkspaceAppFlow.d.ts.map +1 -1
- package/dist/client/NewWorkspaceAppFlow.js +32 -2
- package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
- package/dist/client/chat/message-components.d.ts +20 -0
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +81 -46
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +14 -6
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/error-format.d.ts.map +1 -1
- package/dist/client/error-format.js +13 -0
- package/dist/client/error-format.js.map +1 -1
- package/dist/client/org/OrgSwitcher.d.ts +8 -1
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +3 -2
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +1 -1
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/settings/SettingsPanel.js +9 -9
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
- package/dist/client/settings/SettingsTabsPage.js +7 -4
- package/dist/client/settings/SettingsTabsPage.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +3 -0
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/data-widgets/index.d.ts +3 -0
- package/dist/data-widgets/index.d.ts.map +1 -1
- package/dist/data-widgets/index.js +33 -0
- package/dist/data-widgets/index.js.map +1 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +11 -7
- package/dist/deploy/build.js.map +1 -1
- package/dist/eject/provider-api-definitions.d.ts +1 -0
- package/dist/eject/provider-api-definitions.d.ts.map +1 -1
- package/dist/extensions/url-safety.d.ts +9 -16
- package/dist/extensions/url-safety.d.ts.map +1 -1
- package/dist/extensions/url-safety.js +48 -4
- package/dist/extensions/url-safety.js.map +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +1 -1
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +46 -9
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/observability/routes.d.ts +3 -3
- package/dist/org/auto-join-domain.d.ts +3 -2
- package/dist/org/auto-join-domain.d.ts.map +1 -1
- package/dist/org/auto-join-domain.js +1 -1
- package/dist/org/auto-join-domain.js.map +1 -1
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/context.js +84 -28
- package/dist/org/context.js.map +1 -1
- package/dist/org/index.d.ts +1 -0
- package/dist/org/index.d.ts.map +1 -1
- package/dist/org/index.js +1 -0
- package/dist/org/index.js.map +1 -1
- package/dist/org/service-identity.d.ts +43 -0
- package/dist/org/service-identity.d.ts.map +1 -0
- package/dist/org/service-identity.js +34 -0
- package/dist/org/service-identity.js.map +1 -0
- package/dist/provider-api/actions/custom-provider-registration.d.ts +14 -14
- package/dist/provider-api/actions/provider-api.d.ts +13 -11
- package/dist/provider-api/actions/provider-api.d.ts.map +1 -1
- package/dist/provider-api/index.d.ts +4 -0
- package/dist/provider-api/index.d.ts.map +1 -1
- package/dist/provider-api/index.js +17 -1
- package/dist/provider-api/index.js.map +1 -1
- package/dist/scripts/docs/search.d.ts.map +1 -1
- package/dist/scripts/docs/search.js +12 -1
- package/dist/scripts/docs/search.js.map +1 -1
- package/dist/server/agent-chat/context-tools.d.ts.map +1 -1
- package/dist/server/agent-chat/context-tools.js +3 -3
- package/dist/server/agent-chat/context-tools.js.map +1 -1
- package/dist/server/agent-chat/framework-prompts.d.ts +8 -3
- package/dist/server/agent-chat/framework-prompts.d.ts.map +1 -1
- package/dist/server/agent-chat/framework-prompts.js +33 -62
- package/dist/server/agent-chat/framework-prompts.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +16 -10
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/agents-bundle.d.ts +18 -0
- package/dist/server/agents-bundle.d.ts.map +1 -1
- package/dist/server/agents-bundle.js +70 -4
- package/dist/server/agents-bundle.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +4 -3
- package/dist/server/auth.js.map +1 -1
- package/dist/server/builder-browser.d.ts.map +1 -1
- package/dist/server/builder-browser.js +43 -19
- package/dist/server/builder-browser.js.map +1 -1
- package/dist/server/core-routes-plugin.js +2 -2
- package/dist/server/core-routes-plugin.js.map +1 -1
- package/dist/server/credential-provider.d.ts +38 -2
- package/dist/server/credential-provider.d.ts.map +1 -1
- package/dist/server/credential-provider.js +142 -64
- package/dist/server/credential-provider.js.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/prompts/framework-core-compact.d.ts +1 -1
- package/dist/server/prompts/framework-core-compact.d.ts.map +1 -1
- package/dist/server/prompts/framework-core-compact.js +7 -13
- package/dist/server/prompts/framework-core-compact.js.map +1 -1
- package/dist/server/prompts/framework-core.d.ts +1 -1
- package/dist/server/prompts/framework-core.d.ts.map +1 -1
- package/dist/server/prompts/framework-core.js +10 -21
- package/dist/server/prompts/framework-core.js.map +1 -1
- package/dist/server/prompts/index.d.ts +1 -1
- package/dist/server/prompts/index.d.ts.map +1 -1
- package/dist/server/prompts/index.js +1 -1
- package/dist/server/prompts/index.js.map +1 -1
- package/dist/server/prompts/shared-rules.d.ts +16 -10
- package/dist/server/prompts/shared-rules.d.ts.map +1 -1
- package/dist/server/prompts/shared-rules.js +19 -10
- package/dist/server/prompts/shared-rules.js.map +1 -1
- package/dist/server/ssr-handler.d.ts +1 -1
- package/dist/server/ssr-handler.d.ts.map +1 -1
- package/dist/server/ssr-handler.js +10 -3
- package/dist/server/ssr-handler.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/settings/user-settings.d.ts.map +1 -1
- package/dist/settings/user-settings.js +13 -1
- package/dist/settings/user-settings.js.map +1 -1
- package/dist/shared/cache-control.d.ts +52 -0
- package/dist/shared/cache-control.d.ts.map +1 -1
- package/dist/shared/cache-control.js +107 -0
- package/dist/shared/cache-control.js.map +1 -1
- package/dist/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/dist/templates/chat/_gitignore +1 -0
- package/dist/templates/chat/app/components/layout/Sidebar.tsx +0 -7
- package/dist/templates/chat/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/dist/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/dist/templates/default/app/root.tsx +1 -1
- package/dist/templates/default/public/manifest.json +2 -2
- package/dist/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/dist/templates/workspace-core/.agents/skills/performance/SKILL.md +19 -0
- package/dist/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/dist/templates/workspace-core/.agents/skills/visual-answer/SKILL.md +1 -0
- package/dist/vite/agents-bundle-plugin.d.ts.map +1 -1
- package/dist/vite/agents-bundle-plugin.js +8 -7
- package/dist/vite/agents-bundle-plugin.js.map +1 -1
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +66 -1
- package/dist/vite/client.js.map +1 -1
- package/docs/content/actions.mdx +2 -2
- package/docs/content/agent-surfaces.mdx +1 -1
- package/docs/content/authentication.mdx +2 -0
- package/docs/content/deployment.mdx +36 -0
- package/docs/content/http-api.mdx +266 -0
- package/docs/content/syncing-template-changes.mdx +159 -0
- package/package.json +4 -3
- package/src/a2a/activity.ts +38 -27
- package/src/a2a/client.ts +57 -4
- package/src/agent/engine/builder-engine.ts +35 -4
- package/src/agent/run-manager.ts +20 -1
- package/src/agent/run-store.ts +4 -1
- package/src/agent/types.ts +28 -8
- package/src/chat-threads/store.ts +45 -0
- package/src/checkpoints/index.ts +2 -0
- package/src/checkpoints/route-match.ts +13 -0
- package/src/cli/create.ts +105 -17
- package/src/cli/index.ts +20 -0
- package/src/cli/template-baseline.ts +410 -0
- package/src/cli/template-sync.ts +1004 -0
- package/src/cli/templates-meta.ts +1 -0
- package/src/client/AssistantChat.tsx +38 -12
- package/src/client/NewWorkspaceAppFlow.tsx +75 -10
- package/src/client/chat/message-components.tsx +127 -66
- package/src/client/chat/tool-call-display.tsx +29 -5
- package/src/client/error-format.ts +18 -0
- package/src/client/org/OrgSwitcher.tsx +30 -8
- package/src/client/org/TeamPage.tsx +7 -6
- package/src/client/settings/SettingsPanel.tsx +9 -9
- package/src/client/settings/SettingsTabsPage.tsx +12 -2
- package/src/client/sse-event-processor.ts +3 -0
- package/src/data-widgets/index.ts +41 -0
- package/src/deploy/build.ts +11 -9
- package/src/extensions/url-safety.ts +67 -4
- package/src/integrations/webhook-handler.ts +63 -9
- package/src/org/auto-join-domain.ts +4 -3
- package/src/org/context.ts +108 -39
- package/src/org/index.ts +5 -0
- package/src/org/service-identity.ts +60 -0
- package/src/provider-api/index.ts +22 -1
- package/src/scripts/docs/search.ts +12 -1
- package/src/server/__snapshots__/agent-chat-plugin.surface.spec.ts.snap +25 -36
- package/src/server/agent-chat/context-tools.ts +9 -4
- package/src/server/agent-chat/framework-prompts.ts +38 -66
- package/src/server/agent-chat-plugin.ts +17 -10
- package/src/server/agents-bundle.ts +84 -5
- package/src/server/auth.ts +4 -3
- package/src/server/builder-browser.ts +47 -19
- package/src/server/core-routes-plugin.ts +2 -2
- package/src/server/credential-provider.ts +209 -68
- package/src/server/index.ts +3 -0
- package/src/server/prompts/framework-core-compact.ts +6 -13
- package/src/server/prompts/framework-core.ts +9 -21
- package/src/server/prompts/index.ts +0 -1
- package/src/server/prompts/shared-rules.ts +19 -11
- package/src/server/ssr-handler.ts +13 -2
- package/src/settings/user-settings.ts +13 -1
- package/src/shared/cache-control.ts +141 -0
- package/src/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/src/templates/chat/_gitignore +1 -0
- package/src/templates/chat/app/components/layout/Sidebar.tsx +0 -7
- package/src/templates/chat/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
- package/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/src/templates/default/app/root.tsx +1 -1
- package/src/templates/default/public/manifest.json +2 -2
- package/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/src/templates/workspace-core/.agents/skills/performance/SKILL.md +19 -0
- package/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +24 -2
- package/src/templates/workspace-core/.agents/skills/visual-answer/SKILL.md +1 -0
- package/src/vite/agents-bundle-plugin.ts +7 -6
- package/src/vite/client.ts +69 -3
|
@@ -62,11 +62,11 @@ export declare const postAwareness: import("h3").EventHandlerWithFetch<import("h
|
|
|
62
62
|
error: string;
|
|
63
63
|
states?: undefined;
|
|
64
64
|
} | {
|
|
65
|
-
error?: undefined;
|
|
66
65
|
states: {
|
|
67
66
|
clientId: number;
|
|
68
67
|
state: string;
|
|
69
68
|
}[];
|
|
69
|
+
error?: undefined;
|
|
70
70
|
}>>;
|
|
71
71
|
/**
|
|
72
72
|
* GET /_agent-native/collab/:docId/users
|
|
@@ -77,10 +77,10 @@ export declare const getActiveUsers: import("h3").EventHandlerWithFetch<import("
|
|
|
77
77
|
error: string;
|
|
78
78
|
users?: undefined;
|
|
79
79
|
} | {
|
|
80
|
-
error?: undefined;
|
|
81
80
|
users: {
|
|
82
81
|
clientId: number;
|
|
83
82
|
lastSeen: number;
|
|
84
83
|
}[];
|
|
84
|
+
error?: undefined;
|
|
85
85
|
}>>;
|
|
86
86
|
//# sourceMappingURL=awareness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awareness.d.ts","sourceRoot":"","sources":["../../src/collab/awareness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3C,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAOD,eAAO,MAAM,sBAAsB,EAAG,kBAA2B,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD,wBAAgB,mBAAmB,IAAI,YAAY,CAElD;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,cAAc,GAAG,SAAS,GAChC,IAAI,CAON;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,KAAK,CAAC,EAAE,cAAc,GACrB,IAAI,CAgBN;AAoBD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAmB,GAC7B,IAAI,CAON;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE1E;AAiBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAO1E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI,CAOnE;AAkCD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"awareness.d.ts","sourceRoot":"","sources":["../../src/collab/awareness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgB3C,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAOD,eAAO,MAAM,sBAAsB,EAAG,kBAA2B,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD,wBAAgB,mBAAmB,IAAI,YAAY,CAElD;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,cAAc,GAAG,SAAS,GAChC,IAAI,CAON;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,KAAK,CAAC,EAAE,cAAc,GACrB,IAAI,CAgBN;AAoBD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAmB,GAC7B,IAAI,CAON;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE1E;AAiBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAO1E;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,IAAI,CAOnE;AAkCD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa;;;;;kBAwDa,MAAM;eAAS,MAAM;;;GAoB1D,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;kBAYM,MAAM;kBAAY,MAAM;;;GAMvD,CAAC"}
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* Body: { json: any, fieldName?: string, type?: "map"|"array", requestSource?: string }
|
|
14
14
|
*/
|
|
15
15
|
export declare const postCollabJson: import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
|
|
16
|
-
ok?: undefined;
|
|
17
16
|
error: string;
|
|
17
|
+
ok?: undefined;
|
|
18
18
|
} | {
|
|
19
19
|
error?: undefined;
|
|
20
20
|
ok: boolean;
|
|
@@ -86,6 +86,9 @@ export declare function createDataInsightsWidgetResult<const Input extends DataI
|
|
|
86
86
|
}): DataInsightsWidgetResult<Input>;
|
|
87
87
|
export declare function normalizeDataWidgetResult(value: unknown): DataWidgetResult | null;
|
|
88
88
|
export declare function isDataWidgetResult(value: unknown): value is DataWidgetResult;
|
|
89
|
+
export declare const DATA_WIDGET_MAX_ROWS = 50;
|
|
90
|
+
export declare const DATA_WIDGET_MAX_CHART_POINTS = 200;
|
|
91
|
+
export declare function clampDataWidgetRows(result: DataWidgetResult): DataWidgetResult;
|
|
89
92
|
export declare const dataTableWidgetSchema: z.ZodObject<{
|
|
90
93
|
title: z.ZodOptional<z.ZodString>;
|
|
91
94
|
columns: z.ZodArray<z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data-widgets/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data-widgets/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -147,6 +147,39 @@ export function normalizeDataWidgetResult(value) {
|
|
|
147
147
|
export function isDataWidgetResult(value) {
|
|
148
148
|
return normalizeDataWidgetResult(value) !== null;
|
|
149
149
|
}
|
|
150
|
+
export const DATA_WIDGET_MAX_ROWS = 50;
|
|
151
|
+
export const DATA_WIDGET_MAX_CHART_POINTS = 200;
|
|
152
|
+
// Widget rows arrive as tool-call arguments the model decodes token by token, so an
|
|
153
|
+
// uncapped table costs minutes of wall clock before anything renders. Clamp server-side
|
|
154
|
+
// rather than rejecting: the model has already paid for the tokens by the time we see them.
|
|
155
|
+
export function clampDataWidgetRows(result) {
|
|
156
|
+
const source = result;
|
|
157
|
+
const table = source.table;
|
|
158
|
+
const chartSeries = source.chartSeries;
|
|
159
|
+
const clampedTable = table && table.rows.length > DATA_WIDGET_MAX_ROWS
|
|
160
|
+
? {
|
|
161
|
+
...table,
|
|
162
|
+
rows: table.rows.slice(0, DATA_WIDGET_MAX_ROWS),
|
|
163
|
+
totalRows: table.totalRows ?? table.rows.length,
|
|
164
|
+
sampledRows: DATA_WIDGET_MAX_ROWS,
|
|
165
|
+
truncated: true,
|
|
166
|
+
}
|
|
167
|
+
: table;
|
|
168
|
+
const clampedChart = chartSeries && chartSeries.data.length > DATA_WIDGET_MAX_CHART_POINTS
|
|
169
|
+
? {
|
|
170
|
+
...chartSeries,
|
|
171
|
+
data: chartSeries.data.slice(0, DATA_WIDGET_MAX_CHART_POINTS),
|
|
172
|
+
sampled: true,
|
|
173
|
+
}
|
|
174
|
+
: chartSeries;
|
|
175
|
+
if (clampedTable === table && clampedChart === chartSeries)
|
|
176
|
+
return result;
|
|
177
|
+
return {
|
|
178
|
+
...result,
|
|
179
|
+
...(clampedTable ? { table: clampedTable } : {}),
|
|
180
|
+
...(clampedChart ? { chartSeries: clampedChart } : {}),
|
|
181
|
+
};
|
|
182
|
+
}
|
|
150
183
|
const dataTableColumnSchema = z
|
|
151
184
|
.object({
|
|
152
185
|
key: z.string().min(1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data-widgets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAoGpD,MAAM,wBAAwB,GAAmC;IAC/D,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,oBAAoB;CACzC,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,KAAK,KAAK,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAC1D,IAAI,KAAK,KAAK,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAC1D,IAAI,KAAK,KAAK,oBAAoB;QAAE,OAAO,oBAAoB,CAAC;IAChE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,CACjB,CAAC,MAAM,EAAE,EAAE,CACT,QAAQ,CAAC,MAAM,CAAC;YAChB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;YACpB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;gBACzB,MAAM,CAAC,KAAK,KAAK,MAAM;gBACvB,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAC9B;QACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;QACxE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QACpB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,KAAK,CAAC,MAAM,CAAC,KAAK,CAChB,CAAC,MAAM,EAAE,EAAE,CACT,QAAQ,CAAC,MAAM,CAAC;YAChB,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;YACpB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CACnE;QACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,KAAc;IAEd,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO;QACL,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAChE,WAAW,EACT,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;QACvE,aAAa,EAAE,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC;YACjD,CAAC,CAAC,KAAK,CAAC,aAAa;YACrB,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAc;IAEd,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAc;IAEd,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAGzC,KAAsD;IAEtD,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO;QACL,GAAG,KAAK;QACR,MAAM,EAAE,iBAAiB;QACzB,KAAK,EAAE,KAAK,CAAC,KAAK;KACa,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAGzC,KAAgD;IAEhD,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO;QACL,GAAG,KAAK;QACR,MAAM,EAAE,iBAAiB;QACzB,WAAW,EAAE,KAAK,CAAC,WAAW;KACC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAE5C,KAAiC;IACjC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,qBAAqB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO;QACL,GAAG,KAAK;QACR,MAAM,EAAE,oBAAoB;KACM,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAc;IAEd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC;QACtD,CAAC,CAAC,KAAK,CAAC,WAAW;QACnB,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,IAAI,GAAG;QACX,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACzE,KAAK,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAChE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QAC5D,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC;KACzC,CAAC;IAEF,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,iBAAiB;YACzB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,iBAAiB;YACzB,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,oBAAoB;QAC5B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,yBAAyB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AACnD,CAAC;AAED,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,+BAA+B,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,mBAAmB,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACxB,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,uBAAuB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrD,OAAO,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CAC5C,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,2BAA2B,GAAG,oBAAoB;KAC5D,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACpC,KAAK,EAAE,qBAAqB;CAC7B,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,2BAA2B,GAAG,oBAAoB;KAC5D,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACpC,WAAW,EAAE,qBAAqB;CACnC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,8BAA8B,GAAG,oBAAoB;KAC/D,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACvC,KAAK,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CAC9C,CAAC;KACD,WAAW,EAAE;KACb,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE;IACnD,OAAO,EAAE,oDAAoD;CAC9D,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC5C,2BAA2B;IAC3B,2BAA2B;IAC3B,8BAA8B;CAC/B,CAAC,CAAC","sourcesContent":["import { z } from \"zod\";\n\nexport const DATA_TABLE_WIDGET = \"data-table\";\nexport const DATA_CHART_WIDGET = \"data-chart\";\nexport const DATA_INSIGHTS_WIDGET = \"data-insights\";\n\nexport type DataWidgetKind =\n | typeof DATA_TABLE_WIDGET\n | typeof DATA_CHART_WIDGET\n | typeof DATA_INSIGHTS_WIDGET;\n\nexport interface DataTableColumn {\n key: string;\n label: string;\n align?: \"left\" | \"right\";\n}\n\nexport interface DataTableWidget {\n title?: string;\n columns: DataTableColumn[];\n rows: Array<Record<string, unknown>>;\n totalRows?: number;\n sampledRows?: number;\n truncated?: boolean;\n}\n\nexport interface DataChartSeriesDefinition {\n key: string;\n label: string;\n color?: string;\n}\n\nexport interface DataChartWidget {\n type: \"bar\" | \"line\" | \"area\";\n title?: string;\n xKey: string;\n series: DataChartSeriesDefinition[];\n data: Array<Record<string, unknown>>;\n sampled?: boolean;\n}\n\nexport interface DataWidgetDisplay {\n title?: string;\n description?: string;\n primaryAction?: {\n label: string;\n href: string;\n };\n}\n\nexport interface DataWidgetResultMetadata {\n widgetId?: string;\n title?: string;\n summary?: Record<string, unknown>;\n display?: DataWidgetDisplay;\n}\n\nexport interface DataTableWidgetResultInput extends DataWidgetResultMetadata {\n table: DataTableWidget;\n}\n\nexport interface DataChartWidgetResultInput extends DataWidgetResultMetadata {\n chartSeries: DataChartWidget;\n}\n\nexport type DataInsightsWidgetResultInput = DataWidgetResultMetadata &\n (\n | {\n table: DataTableWidget;\n chartSeries?: DataChartWidget;\n }\n | {\n table?: DataTableWidget;\n chartSeries: DataChartWidget;\n }\n );\n\nexport type DataTableWidgetResult<\n Input extends DataTableWidgetResultInput = DataTableWidgetResultInput,\n> = Omit<Input, \"widget\" | \"chartSeries\"> & {\n widget: typeof DATA_TABLE_WIDGET;\n table: Input[\"table\"];\n chartSeries?: never;\n};\n\nexport type DataChartWidgetResult<\n Input extends DataChartWidgetResultInput = DataChartWidgetResultInput,\n> = Omit<Input, \"widget\" | \"table\"> & {\n widget: typeof DATA_CHART_WIDGET;\n table?: never;\n chartSeries: Input[\"chartSeries\"];\n};\n\nexport type DataInsightsWidgetResult<\n Input extends DataInsightsWidgetResultInput = DataInsightsWidgetResultInput,\n> = Omit<Input, \"widget\"> & {\n widget: typeof DATA_INSIGHTS_WIDGET;\n};\n\nexport type DataWidgetResult =\n | DataTableWidgetResult\n | DataChartWidgetResult\n | DataInsightsWidgetResult;\n\nconst LEGACY_DATA_WIDGET_KINDS: Record<string, DataWidgetKind> = {\n \"data-table.v1\": DATA_TABLE_WIDGET,\n \"data-chart.v1\": DATA_CHART_WIDGET,\n \"data-insights.v1\": DATA_INSIGHTS_WIDGET,\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction isString(value: unknown): value is string {\n return typeof value === \"string\" && value.length > 0;\n}\n\nexport function normalizeDataWidgetKind(value: unknown): DataWidgetKind | null {\n if (value === DATA_TABLE_WIDGET) return DATA_TABLE_WIDGET;\n if (value === DATA_CHART_WIDGET) return DATA_CHART_WIDGET;\n if (value === DATA_INSIGHTS_WIDGET) return DATA_INSIGHTS_WIDGET;\n return isString(value) ? (LEGACY_DATA_WIDGET_KINDS[value] ?? null) : null;\n}\n\nexport function isDataTableWidget(value: unknown): value is DataTableWidget {\n if (!isRecord(value)) return false;\n return (\n Array.isArray(value.columns) &&\n value.columns.every(\n (column) =>\n isRecord(column) &&\n isString(column.key) &&\n isString(column.label) &&\n (column.align === undefined ||\n column.align === \"left\" ||\n column.align === \"right\"),\n ) &&\n Array.isArray(value.rows) &&\n value.rows.every(isRecord)\n );\n}\n\nexport function isDataChartWidget(value: unknown): value is DataChartWidget {\n if (!isRecord(value)) return false;\n return (\n (value.type === \"bar\" || value.type === \"line\" || value.type === \"area\") &&\n isString(value.xKey) &&\n Array.isArray(value.series) &&\n value.series.every(\n (series) =>\n isRecord(series) &&\n isString(series.key) &&\n isString(series.label) &&\n (series.color === undefined || typeof series.color === \"string\"),\n ) &&\n Array.isArray(value.data) &&\n value.data.every(isRecord)\n );\n}\n\nfunction isPrimaryAction(\n value: unknown,\n): value is NonNullable<DataWidgetDisplay[\"primaryAction\"]> {\n return isRecord(value) && isString(value.label) && isString(value.href);\n}\n\nfunction normalizeDisplay(value: unknown): DataWidgetDisplay | undefined {\n if (!isRecord(value)) return undefined;\n return {\n title: typeof value.title === \"string\" ? value.title : undefined,\n description:\n typeof value.description === \"string\" ? value.description : undefined,\n primaryAction: isPrimaryAction(value.primaryAction)\n ? value.primaryAction\n : undefined,\n };\n}\n\nfunction assertDataTableWidget(\n table: unknown,\n): asserts table is DataTableWidget {\n if (!isDataTableWidget(table)) {\n throw new Error(\"Invalid data-table widget payload\");\n }\n}\n\nfunction assertDataChartWidget(\n chart: unknown,\n): asserts chart is DataChartWidget {\n if (!isDataChartWidget(chart)) {\n throw new Error(\"Invalid data-chart widget payload\");\n }\n}\n\nexport function createDataTableWidgetResult<\n const Input extends DataTableWidgetResultInput,\n>(\n input: Input & { widget?: never; chartSeries?: never },\n): DataTableWidgetResult<Input> {\n assertDataTableWidget(input.table);\n return {\n ...input,\n widget: DATA_TABLE_WIDGET,\n table: input.table,\n } as DataTableWidgetResult<Input>;\n}\n\nexport function createDataChartWidgetResult<\n const Input extends DataChartWidgetResultInput,\n>(\n input: Input & { widget?: never; table?: never },\n): DataChartWidgetResult<Input> {\n assertDataChartWidget(input.chartSeries);\n return {\n ...input,\n widget: DATA_CHART_WIDGET,\n chartSeries: input.chartSeries,\n } as DataChartWidgetResult<Input>;\n}\n\nexport function createDataInsightsWidgetResult<\n const Input extends DataInsightsWidgetResultInput,\n>(input: Input & { widget?: never }): DataInsightsWidgetResult<Input> {\n if (input.table !== undefined) assertDataTableWidget(input.table);\n if (input.chartSeries !== undefined) assertDataChartWidget(input.chartSeries);\n if (input.table === undefined && input.chartSeries === undefined) {\n throw new Error(\"data-insights widgets require table or chartSeries\");\n }\n return {\n ...input,\n widget: DATA_INSIGHTS_WIDGET,\n } as DataInsightsWidgetResult<Input>;\n}\n\nexport function normalizeDataWidgetResult(\n value: unknown,\n): DataWidgetResult | null {\n if (!isRecord(value)) return null;\n const widget = normalizeDataWidgetKind(value.widget);\n if (!widget) return null;\n\n const table = isDataTableWidget(value.table) ? value.table : undefined;\n const chartSeries = isDataChartWidget(value.chartSeries)\n ? value.chartSeries\n : undefined;\n const base = {\n widgetId: typeof value.widgetId === \"string\" ? value.widgetId : undefined,\n title: typeof value.title === \"string\" ? value.title : undefined,\n summary: isRecord(value.summary) ? value.summary : undefined,\n display: normalizeDisplay(value.display),\n };\n\n if (widget === DATA_TABLE_WIDGET) {\n if (!table) return null;\n return {\n ...base,\n widget: DATA_TABLE_WIDGET,\n table,\n };\n }\n\n if (widget === DATA_CHART_WIDGET) {\n if (!chartSeries) return null;\n return {\n ...base,\n widget: DATA_CHART_WIDGET,\n chartSeries,\n };\n }\n\n if (!table && !chartSeries) return null;\n return {\n ...base,\n widget: DATA_INSIGHTS_WIDGET,\n ...(table ? { table } : {}),\n ...(chartSeries ? { chartSeries } : {}),\n };\n}\n\nexport function isDataWidgetResult(value: unknown): value is DataWidgetResult {\n return normalizeDataWidgetResult(value) !== null;\n}\n\nconst dataTableColumnSchema = z\n .object({\n key: z.string().min(1),\n label: z.string().min(1),\n align: z.enum([\"left\", \"right\"]).optional(),\n })\n .passthrough();\n\nexport const dataTableWidgetSchema = z\n .object({\n title: z.string().optional(),\n columns: z.array(dataTableColumnSchema).min(1),\n rows: z.array(z.record(z.string(), z.unknown())),\n totalRows: z.number().optional(),\n sampledRows: z.number().optional(),\n truncated: z.boolean().optional(),\n })\n .passthrough();\n\nconst dataChartSeriesDefinitionSchema = z\n .object({\n key: z.string().min(1),\n label: z.string().min(1),\n color: z.string().optional(),\n })\n .passthrough();\n\nexport const dataChartWidgetSchema = z\n .object({\n type: z.enum([\"bar\", \"line\", \"area\"]),\n title: z.string().optional(),\n xKey: z.string().min(1),\n series: z.array(dataChartSeriesDefinitionSchema).min(1),\n data: z.array(z.record(z.string(), z.unknown())),\n sampled: z.boolean().optional(),\n })\n .passthrough();\n\nconst primaryActionSchema = z\n .object({\n label: z.string().min(1),\n href: z.string().min(1),\n })\n .passthrough();\n\nconst dataWidgetDisplaySchema = z\n .object({\n title: z.string().optional(),\n description: z.string().optional(),\n primaryAction: primaryActionSchema.optional(),\n })\n .passthrough();\n\nconst dataWidgetBaseSchema = z\n .object({\n widgetId: z.string().optional(),\n title: z.string().optional(),\n summary: z.record(z.string(), z.unknown()).optional(),\n display: dataWidgetDisplaySchema.optional(),\n })\n .passthrough();\n\nexport const dataTableWidgetResultSchema = dataWidgetBaseSchema\n .extend({\n widget: z.literal(DATA_TABLE_WIDGET),\n table: dataTableWidgetSchema,\n })\n .passthrough();\n\nexport const dataChartWidgetResultSchema = dataWidgetBaseSchema\n .extend({\n widget: z.literal(DATA_CHART_WIDGET),\n chartSeries: dataChartWidgetSchema,\n })\n .passthrough();\n\nexport const dataInsightsWidgetResultSchema = dataWidgetBaseSchema\n .extend({\n widget: z.literal(DATA_INSIGHTS_WIDGET),\n table: dataTableWidgetSchema.optional(),\n chartSeries: dataChartWidgetSchema.optional(),\n })\n .passthrough()\n .refine((value) => value.table || value.chartSeries, {\n message: \"data-insights widgets require table or chartSeries\",\n });\n\nexport const dataWidgetResultSchema = z.union([\n dataTableWidgetResultSchema,\n dataChartWidgetResultSchema,\n dataInsightsWidgetResultSchema,\n]);\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data-widgets/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\n\nexport const DATA_TABLE_WIDGET = \"data-table\";\nexport const DATA_CHART_WIDGET = \"data-chart\";\nexport const DATA_INSIGHTS_WIDGET = \"data-insights\";\n\nexport type DataWidgetKind =\n | typeof DATA_TABLE_WIDGET\n | typeof DATA_CHART_WIDGET\n | typeof DATA_INSIGHTS_WIDGET;\n\nexport interface DataTableColumn {\n key: string;\n label: string;\n align?: \"left\" | \"right\";\n}\n\nexport interface DataTableWidget {\n title?: string;\n columns: DataTableColumn[];\n rows: Array<Record<string, unknown>>;\n totalRows?: number;\n sampledRows?: number;\n truncated?: boolean;\n}\n\nexport interface DataChartSeriesDefinition {\n key: string;\n label: string;\n color?: string;\n}\n\nexport interface DataChartWidget {\n type: \"bar\" | \"line\" | \"area\";\n title?: string;\n xKey: string;\n series: DataChartSeriesDefinition[];\n data: Array<Record<string, unknown>>;\n sampled?: boolean;\n}\n\nexport interface DataWidgetDisplay {\n title?: string;\n description?: string;\n primaryAction?: {\n label: string;\n href: string;\n };\n}\n\nexport interface DataWidgetResultMetadata {\n widgetId?: string;\n title?: string;\n summary?: Record<string, unknown>;\n display?: DataWidgetDisplay;\n}\n\nexport interface DataTableWidgetResultInput extends DataWidgetResultMetadata {\n table: DataTableWidget;\n}\n\nexport interface DataChartWidgetResultInput extends DataWidgetResultMetadata {\n chartSeries: DataChartWidget;\n}\n\nexport type DataInsightsWidgetResultInput = DataWidgetResultMetadata &\n (\n | {\n table: DataTableWidget;\n chartSeries?: DataChartWidget;\n }\n | {\n table?: DataTableWidget;\n chartSeries: DataChartWidget;\n }\n );\n\nexport type DataTableWidgetResult<\n Input extends DataTableWidgetResultInput = DataTableWidgetResultInput,\n> = Omit<Input, \"widget\" | \"chartSeries\"> & {\n widget: typeof DATA_TABLE_WIDGET;\n table: Input[\"table\"];\n chartSeries?: never;\n};\n\nexport type DataChartWidgetResult<\n Input extends DataChartWidgetResultInput = DataChartWidgetResultInput,\n> = Omit<Input, \"widget\" | \"table\"> & {\n widget: typeof DATA_CHART_WIDGET;\n table?: never;\n chartSeries: Input[\"chartSeries\"];\n};\n\nexport type DataInsightsWidgetResult<\n Input extends DataInsightsWidgetResultInput = DataInsightsWidgetResultInput,\n> = Omit<Input, \"widget\"> & {\n widget: typeof DATA_INSIGHTS_WIDGET;\n};\n\nexport type DataWidgetResult =\n | DataTableWidgetResult\n | DataChartWidgetResult\n | DataInsightsWidgetResult;\n\nconst LEGACY_DATA_WIDGET_KINDS: Record<string, DataWidgetKind> = {\n \"data-table.v1\": DATA_TABLE_WIDGET,\n \"data-chart.v1\": DATA_CHART_WIDGET,\n \"data-insights.v1\": DATA_INSIGHTS_WIDGET,\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction isString(value: unknown): value is string {\n return typeof value === \"string\" && value.length > 0;\n}\n\nexport function normalizeDataWidgetKind(value: unknown): DataWidgetKind | null {\n if (value === DATA_TABLE_WIDGET) return DATA_TABLE_WIDGET;\n if (value === DATA_CHART_WIDGET) return DATA_CHART_WIDGET;\n if (value === DATA_INSIGHTS_WIDGET) return DATA_INSIGHTS_WIDGET;\n return isString(value) ? (LEGACY_DATA_WIDGET_KINDS[value] ?? null) : null;\n}\n\nexport function isDataTableWidget(value: unknown): value is DataTableWidget {\n if (!isRecord(value)) return false;\n return (\n Array.isArray(value.columns) &&\n value.columns.every(\n (column) =>\n isRecord(column) &&\n isString(column.key) &&\n isString(column.label) &&\n (column.align === undefined ||\n column.align === \"left\" ||\n column.align === \"right\"),\n ) &&\n Array.isArray(value.rows) &&\n value.rows.every(isRecord)\n );\n}\n\nexport function isDataChartWidget(value: unknown): value is DataChartWidget {\n if (!isRecord(value)) return false;\n return (\n (value.type === \"bar\" || value.type === \"line\" || value.type === \"area\") &&\n isString(value.xKey) &&\n Array.isArray(value.series) &&\n value.series.every(\n (series) =>\n isRecord(series) &&\n isString(series.key) &&\n isString(series.label) &&\n (series.color === undefined || typeof series.color === \"string\"),\n ) &&\n Array.isArray(value.data) &&\n value.data.every(isRecord)\n );\n}\n\nfunction isPrimaryAction(\n value: unknown,\n): value is NonNullable<DataWidgetDisplay[\"primaryAction\"]> {\n return isRecord(value) && isString(value.label) && isString(value.href);\n}\n\nfunction normalizeDisplay(value: unknown): DataWidgetDisplay | undefined {\n if (!isRecord(value)) return undefined;\n return {\n title: typeof value.title === \"string\" ? value.title : undefined,\n description:\n typeof value.description === \"string\" ? value.description : undefined,\n primaryAction: isPrimaryAction(value.primaryAction)\n ? value.primaryAction\n : undefined,\n };\n}\n\nfunction assertDataTableWidget(\n table: unknown,\n): asserts table is DataTableWidget {\n if (!isDataTableWidget(table)) {\n throw new Error(\"Invalid data-table widget payload\");\n }\n}\n\nfunction assertDataChartWidget(\n chart: unknown,\n): asserts chart is DataChartWidget {\n if (!isDataChartWidget(chart)) {\n throw new Error(\"Invalid data-chart widget payload\");\n }\n}\n\nexport function createDataTableWidgetResult<\n const Input extends DataTableWidgetResultInput,\n>(\n input: Input & { widget?: never; chartSeries?: never },\n): DataTableWidgetResult<Input> {\n assertDataTableWidget(input.table);\n return {\n ...input,\n widget: DATA_TABLE_WIDGET,\n table: input.table,\n } as DataTableWidgetResult<Input>;\n}\n\nexport function createDataChartWidgetResult<\n const Input extends DataChartWidgetResultInput,\n>(\n input: Input & { widget?: never; table?: never },\n): DataChartWidgetResult<Input> {\n assertDataChartWidget(input.chartSeries);\n return {\n ...input,\n widget: DATA_CHART_WIDGET,\n chartSeries: input.chartSeries,\n } as DataChartWidgetResult<Input>;\n}\n\nexport function createDataInsightsWidgetResult<\n const Input extends DataInsightsWidgetResultInput,\n>(input: Input & { widget?: never }): DataInsightsWidgetResult<Input> {\n if (input.table !== undefined) assertDataTableWidget(input.table);\n if (input.chartSeries !== undefined) assertDataChartWidget(input.chartSeries);\n if (input.table === undefined && input.chartSeries === undefined) {\n throw new Error(\"data-insights widgets require table or chartSeries\");\n }\n return {\n ...input,\n widget: DATA_INSIGHTS_WIDGET,\n } as DataInsightsWidgetResult<Input>;\n}\n\nexport function normalizeDataWidgetResult(\n value: unknown,\n): DataWidgetResult | null {\n if (!isRecord(value)) return null;\n const widget = normalizeDataWidgetKind(value.widget);\n if (!widget) return null;\n\n const table = isDataTableWidget(value.table) ? value.table : undefined;\n const chartSeries = isDataChartWidget(value.chartSeries)\n ? value.chartSeries\n : undefined;\n const base = {\n widgetId: typeof value.widgetId === \"string\" ? value.widgetId : undefined,\n title: typeof value.title === \"string\" ? value.title : undefined,\n summary: isRecord(value.summary) ? value.summary : undefined,\n display: normalizeDisplay(value.display),\n };\n\n if (widget === DATA_TABLE_WIDGET) {\n if (!table) return null;\n return {\n ...base,\n widget: DATA_TABLE_WIDGET,\n table,\n };\n }\n\n if (widget === DATA_CHART_WIDGET) {\n if (!chartSeries) return null;\n return {\n ...base,\n widget: DATA_CHART_WIDGET,\n chartSeries,\n };\n }\n\n if (!table && !chartSeries) return null;\n return {\n ...base,\n widget: DATA_INSIGHTS_WIDGET,\n ...(table ? { table } : {}),\n ...(chartSeries ? { chartSeries } : {}),\n };\n}\n\nexport function isDataWidgetResult(value: unknown): value is DataWidgetResult {\n return normalizeDataWidgetResult(value) !== null;\n}\n\nexport const DATA_WIDGET_MAX_ROWS = 50;\nexport const DATA_WIDGET_MAX_CHART_POINTS = 200;\n\n// Widget rows arrive as tool-call arguments the model decodes token by token, so an\n// uncapped table costs minutes of wall clock before anything renders. Clamp server-side\n// rather than rejecting: the model has already paid for the tokens by the time we see them.\nexport function clampDataWidgetRows(\n result: DataWidgetResult,\n): DataWidgetResult {\n const source = result as Partial<DataInsightsWidgetResult>;\n const table = source.table;\n const chartSeries = source.chartSeries;\n\n const clampedTable =\n table && table.rows.length > DATA_WIDGET_MAX_ROWS\n ? {\n ...table,\n rows: table.rows.slice(0, DATA_WIDGET_MAX_ROWS),\n totalRows: table.totalRows ?? table.rows.length,\n sampledRows: DATA_WIDGET_MAX_ROWS,\n truncated: true,\n }\n : table;\n\n const clampedChart =\n chartSeries && chartSeries.data.length > DATA_WIDGET_MAX_CHART_POINTS\n ? {\n ...chartSeries,\n data: chartSeries.data.slice(0, DATA_WIDGET_MAX_CHART_POINTS),\n sampled: true,\n }\n : chartSeries;\n\n if (clampedTable === table && clampedChart === chartSeries) return result;\n return {\n ...result,\n ...(clampedTable ? { table: clampedTable } : {}),\n ...(clampedChart ? { chartSeries: clampedChart } : {}),\n } as DataWidgetResult;\n}\n\nconst dataTableColumnSchema = z\n .object({\n key: z.string().min(1),\n label: z.string().min(1),\n align: z.enum([\"left\", \"right\"]).optional(),\n })\n .passthrough();\n\nexport const dataTableWidgetSchema = z\n .object({\n title: z.string().optional(),\n columns: z.array(dataTableColumnSchema).min(1),\n rows: z.array(z.record(z.string(), z.unknown())),\n totalRows: z.number().optional(),\n sampledRows: z.number().optional(),\n truncated: z.boolean().optional(),\n })\n .passthrough();\n\nconst dataChartSeriesDefinitionSchema = z\n .object({\n key: z.string().min(1),\n label: z.string().min(1),\n color: z.string().optional(),\n })\n .passthrough();\n\nexport const dataChartWidgetSchema = z\n .object({\n type: z.enum([\"bar\", \"line\", \"area\"]),\n title: z.string().optional(),\n xKey: z.string().min(1),\n series: z.array(dataChartSeriesDefinitionSchema).min(1),\n data: z.array(z.record(z.string(), z.unknown())),\n sampled: z.boolean().optional(),\n })\n .passthrough();\n\nconst primaryActionSchema = z\n .object({\n label: z.string().min(1),\n href: z.string().min(1),\n })\n .passthrough();\n\nconst dataWidgetDisplaySchema = z\n .object({\n title: z.string().optional(),\n description: z.string().optional(),\n primaryAction: primaryActionSchema.optional(),\n })\n .passthrough();\n\nconst dataWidgetBaseSchema = z\n .object({\n widgetId: z.string().optional(),\n title: z.string().optional(),\n summary: z.record(z.string(), z.unknown()).optional(),\n display: dataWidgetDisplaySchema.optional(),\n })\n .passthrough();\n\nexport const dataTableWidgetResultSchema = dataWidgetBaseSchema\n .extend({\n widget: z.literal(DATA_TABLE_WIDGET),\n table: dataTableWidgetSchema,\n })\n .passthrough();\n\nexport const dataChartWidgetResultSchema = dataWidgetBaseSchema\n .extend({\n widget: z.literal(DATA_CHART_WIDGET),\n chartSeries: dataChartWidgetSchema,\n })\n .passthrough();\n\nexport const dataInsightsWidgetResultSchema = dataWidgetBaseSchema\n .extend({\n widget: z.literal(DATA_INSIGHTS_WIDGET),\n table: dataTableWidgetSchema.optional(),\n chartSeries: dataChartWidgetSchema.optional(),\n })\n .passthrough()\n .refine((value) => value.table || value.chartSeries, {\n message: \"data-insights widgets require table or chartSeries\",\n });\n\nexport const dataWidgetResultSchema = z.union([\n dataTableWidgetResultSchema,\n dataChartWidgetResultSchema,\n dataInsightsWidgetResultSchema,\n]);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/deploy/build.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/deploy/build.ts"],"names":[],"mappings":"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"}
|
package/dist/deploy/build.js
CHANGED
|
@@ -20,7 +20,7 @@ import { fileURLToPath } from "url";
|
|
|
20
20
|
import { AGENT_BACKGROUND_FUNCTION_NAME, AGENT_BACKGROUND_PROCESSOR_A2A, AGENT_BACKGROUND_PROCESSOR_FIELD, AGENT_BACKGROUND_PROCESSOR_INTEGRATION, AGENT_BACKGROUND_PROCESSOR_ROUTE, AGENT_BACKGROUND_PROCESSOR_ROUTE_FIELD, AGENT_CHAT_PROCESS_RUN_PATH, } from "../agent/durable-background.js";
|
|
21
21
|
import { INTEGRATION_RETRY_SWEEP_PATH, INTEGRATION_RETRY_SWEEP_TOKEN_SUBJECT, isIntegrationDurableDispatchConfigured, } from "../integrations/integration-durable-dispatch-config.js";
|
|
22
22
|
import { normalizeAppBasePath } from "../server/app-base-path.js";
|
|
23
|
-
import {
|
|
23
|
+
import { DEFAULT_SPECULATION_RULES_PATH, resolveSsrCacheHeaders, } from "../shared/cache-control.js";
|
|
24
24
|
import { mcpEmbedStaticAssetRouteRules } from "../shared/mcp-embed-headers.js";
|
|
25
25
|
import { AGENT_NATIVE_SOCIAL_IMAGE_ALT, AGENT_NATIVE_SOCIAL_IMAGE_CACHE_BUSTER, AGENT_NATIVE_SOCIAL_IMAGE_HEIGHT, AGENT_NATIVE_SOCIAL_IMAGE_PATH, AGENT_NATIVE_SOCIAL_IMAGE_TYPE, AGENT_NATIVE_SOCIAL_IMAGE_WIDTH, } from "../shared/social-meta.js";
|
|
26
26
|
import { generateActionRegistryForProject } from "../vite/action-types-plugin.js";
|
|
@@ -537,6 +537,9 @@ export function addImmutableAssetRouteRulesForClientBuild(routeRules, clientDir,
|
|
|
537
537
|
*/
|
|
538
538
|
export function generateWorkerEntry(routes, pluginPaths, defaultPluginStems = [], actions = [], workspaceCore = null, immutableAssetPaths = [], builtAppBasePath = normalizeConfiguredAppBasePath(), options = {}) {
|
|
539
539
|
const includeReactRouterSsr = options.includeReactRouterSsr ?? true;
|
|
540
|
+
// The worker ships as a static bundle with no access to runtime env, so the
|
|
541
|
+
// deployment-wide SSR cache policy is baked in from this build's env.
|
|
542
|
+
const ssrCacheHeaders = resolveSsrCacheHeaders();
|
|
540
543
|
const routeImports = [];
|
|
541
544
|
const routeRegistrations = [];
|
|
542
545
|
for (let i = 0; i < routes.length; i++) {
|
|
@@ -798,9 +801,10 @@ function injectHeadScript(html, script) {
|
|
|
798
801
|
return html.slice(0, headCloseIdx) + script + html.slice(headCloseIdx);
|
|
799
802
|
}
|
|
800
803
|
|
|
801
|
-
|
|
802
|
-
const
|
|
803
|
-
const
|
|
804
|
+
// Resolved from AGENT_NATIVE_SSR_CACHE at build time.
|
|
805
|
+
const SSR_CACHE_CONTROL = ${JSON.stringify(ssrCacheHeaders["cache-control"])};
|
|
806
|
+
const SSR_CDN_CACHE_CONTROL = ${JSON.stringify(ssrCacheHeaders["cdn-cache-control"])};
|
|
807
|
+
const SSR_NETLIFY_CDN_CACHE_CONTROL = ${JSON.stringify(ssrCacheHeaders["netlify-cdn-cache-control"])};
|
|
804
808
|
const DEFAULT_SPECULATION_RULES_PATH = ${JSON.stringify(DEFAULT_SPECULATION_RULES_PATH)};
|
|
805
809
|
const IMMUTABLE_ASSET_CACHE_CONTROL = ${JSON.stringify(IMMUTABLE_ASSET_CACHE_CONTROL)};
|
|
806
810
|
const IMMUTABLE_ASSET_PATHS = new Set(${JSON.stringify([...new Set(immutableAssetPaths)].sort())});
|
|
@@ -884,13 +888,13 @@ function applyDefaultSsrCacheHeader(headers, status, pathname) {
|
|
|
884
888
|
else headers.delete("vary");
|
|
885
889
|
}
|
|
886
890
|
|
|
887
|
-
headers.set("cache-control",
|
|
888
|
-
headers.set("cdn-cache-control",
|
|
891
|
+
headers.set("cache-control", SSR_CACHE_CONTROL);
|
|
892
|
+
headers.set("cdn-cache-control", SSR_CDN_CACHE_CONTROL);
|
|
889
893
|
// Netlify function responses are dynamic by default and can otherwise show
|
|
890
894
|
// Cache-Status fwd=bypass even with Cache-Control: public. Keep this
|
|
891
895
|
// Netlify-specific header so SSR HTML/.data are served from the shared
|
|
892
896
|
// durable CDN cache instead of stampeding origin — for every visitor.
|
|
893
|
-
headers.set("netlify-cdn-cache-control",
|
|
897
|
+
headers.set("netlify-cdn-cache-control", SSR_NETLIFY_CDN_CACHE_CONTROL);
|
|
894
898
|
}
|
|
895
899
|
|
|
896
900
|
function applyDefaultSpeculationRulesHeader(headers, status, basePath) {
|