@agent-native/core 0.90.10 → 0.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +30 -0
- package/corpus/core/docs/content/toolkit-settings.mdx +56 -3
- package/corpus/core/package.json +2 -1
- package/corpus/core/src/agent/durable-background.ts +5 -5
- package/corpus/core/src/agent/engine/ai-sdk-engine.ts +40 -8
- package/corpus/core/src/agent/engine/anthropic-engine.ts +25 -7
- package/corpus/core/src/agent/engine/output-tokens.ts +94 -0
- package/corpus/core/src/agent/production-agent.ts +34 -6
- package/corpus/core/src/agent/run-ownership.ts +29 -1
- package/corpus/core/src/agent/types.ts +3 -2
- package/corpus/core/src/changelog/parse.ts +78 -0
- package/corpus/core/src/chat-threads/schema.ts +43 -0
- package/corpus/core/src/chat-threads/store.ts +144 -12
- package/corpus/core/src/cli/workspace-dev.ts +25 -5
- package/corpus/core/src/client/AgentPanel.tsx +79 -14
- package/corpus/core/src/client/AssistantChat.tsx +359 -425
- package/corpus/core/src/client/analytics-session.ts +70 -0
- package/corpus/core/src/client/analytics.ts +175 -49
- package/corpus/core/src/client/chat/message-components.tsx +22 -2
- package/corpus/core/src/client/components/ui/message-scroller.tsx +131 -0
- package/corpus/core/src/client/conversation/AgentConversation.tsx +63 -41
- package/corpus/core/src/client/error-capture.ts +616 -0
- package/corpus/core/src/client/index.ts +12 -0
- package/corpus/core/src/client/session-replay.ts +57 -7
- package/corpus/core/src/client/settings/SettingsPanel.tsx +123 -1
- package/corpus/core/src/client/settings/SettingsTabsPage.tsx +292 -45
- package/corpus/core/src/client/settings/index.ts +1 -0
- package/corpus/core/src/client/sharing/ShareButton.tsx +14 -11
- package/corpus/core/src/client/sharing/ShareDialog.tsx +13 -10
- package/corpus/core/src/db/client.ts +12 -9
- package/corpus/core/src/mcp/builtin-tools.ts +29 -2
- package/corpus/core/src/server/agent-chat-plugin.ts +174 -79
- package/corpus/core/src/server/onboarding-html.ts +28 -16
- package/corpus/core/src/shared/reasoning-effort.ts +23 -0
- package/corpus/core/src/sharing/actions/list-resource-shares.ts +45 -1
- package/corpus/core/src/sharing/actions/share-resource.ts +9 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +4 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/changelog/SKILL.md +9 -6
- package/corpus/core/src/vite/client.ts +217 -35
- package/corpus/templates/analytics/.agents/skills/adhoc-analysis/SKILL.md +8 -7
- package/corpus/templates/analytics/.agents/skills/analysis-workspace/SKILL.md +14 -10
- package/corpus/templates/analytics/.agents/skills/bigquery/SKILL.md +15 -15
- package/corpus/templates/analytics/.agents/skills/cross-source-analysis/SKILL.md +1 -0
- package/corpus/templates/analytics/.agents/skills/dashboard-management/SKILL.md +38 -22
- package/corpus/templates/analytics/.agents/skills/data-programs/SKILL.md +114 -61
- package/corpus/templates/analytics/.agents/skills/data-querying/SKILL.md +1 -0
- package/corpus/templates/analytics/.agents/skills/gong/SKILL.md +7 -7
- package/corpus/templates/analytics/.agents/skills/hubspot/SKILL.md +1 -0
- package/corpus/templates/analytics/.agents/skills/prometheus/SKILL.md +1 -1
- package/corpus/templates/analytics/.builder/skills/bigquery/SKILL.md +17 -17
- package/corpus/templates/analytics/.builder/skills/gcloud/SKILL.md +5 -5
- package/corpus/templates/analytics/.builder/skills/github/SKILL.md +7 -7
- package/corpus/templates/analytics/.builder/skills/gong/SKILL.md +12 -12
- package/corpus/templates/analytics/.builder/skills/grafana/SKILL.md +7 -7
- package/corpus/templates/analytics/.builder/skills/sentry/SKILL.md +7 -7
- package/corpus/templates/analytics/.builder/skills/slack/SKILL.md +6 -6
- package/corpus/templates/analytics/.builder/skills/stripe/SKILL.md +7 -7
- package/corpus/templates/analytics/AGENTS.md +47 -2
- package/corpus/templates/analytics/actions/add-status-page-monitor.ts +36 -0
- package/corpus/templates/analytics/actions/capture-test-error.ts +33 -0
- package/corpus/templates/analytics/actions/delete-monitor.ts +24 -0
- package/corpus/templates/analytics/actions/delete-status-page.ts +23 -0
- package/corpus/templates/analytics/actions/get-error-issue.ts +36 -0
- package/corpus/templates/analytics/actions/get-monitor-stats.ts +55 -0
- package/corpus/templates/analytics/actions/get-monitor.ts +27 -0
- package/corpus/templates/analytics/actions/get-public-status-page.ts +41 -0
- package/corpus/templates/analytics/actions/get-status-page.ts +29 -0
- package/corpus/templates/analytics/actions/list-error-issues.ts +40 -0
- package/corpus/templates/analytics/actions/list-monitors.ts +21 -0
- package/corpus/templates/analytics/actions/list-status-pages.ts +21 -0
- package/corpus/templates/analytics/actions/match-error-issues.ts +51 -0
- package/corpus/templates/analytics/actions/navigate.ts +58 -4
- package/corpus/templates/analytics/actions/remove-status-page-monitor.ts +22 -0
- package/corpus/templates/analytics/actions/reorder-status-page-monitors.ts +25 -0
- package/corpus/templates/analytics/actions/resolve-error-issue.ts +38 -0
- package/corpus/templates/analytics/actions/run-monitor-check.ts +23 -0
- package/corpus/templates/analytics/actions/save-analysis.ts +1 -0
- package/corpus/templates/analytics/actions/save-monitor.ts +145 -0
- package/corpus/templates/analytics/actions/save-status-page.ts +47 -0
- package/corpus/templates/analytics/actions/view-screen.ts +212 -0
- package/corpus/templates/analytics/app/components/layout/Header.tsx +1 -0
- package/corpus/templates/analytics/app/components/layout/Layout.tsx +10 -1
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +134 -39
- package/corpus/templates/analytics/app/components/monitoring/PublicStatusView.tsx +351 -0
- package/corpus/templates/analytics/app/components/monitoring/ResponseTimeChart.tsx +174 -0
- package/corpus/templates/analytics/app/components/monitoring/UptimeStatCards.tsx +85 -0
- package/corpus/templates/analytics/app/components/monitoring/UptimeTimelineBars.tsx +106 -0
- package/corpus/templates/analytics/app/components/monitoring/chart-utils.ts +101 -0
- package/corpus/templates/analytics/app/components/monitoring/index.ts +28 -0
- package/corpus/templates/analytics/app/components/monitoring/types.ts +42 -0
- package/corpus/templates/analytics/app/hooks/use-navigation-state.ts +34 -0
- package/corpus/templates/analytics/app/i18n/zh-TW.ts +6 -0
- package/corpus/templates/analytics/app/i18n-data.ts +33 -0
- package/corpus/templates/analytics/app/pages/DataSources.tsx +28 -0
- package/corpus/templates/analytics/app/pages/Settings.tsx +77 -9
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/SqlChartCard.tsx +3 -3
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/dashboard-layout.ts +7 -0
- package/corpus/templates/analytics/app/pages/monitoring/ErrorsPanel.tsx +205 -0
- package/corpus/templates/analytics/app/pages/monitoring/MonitoringPage.tsx +100 -0
- package/corpus/templates/analytics/app/pages/monitoring/UptimePanel.tsx +475 -0
- package/corpus/templates/analytics/app/pages/monitoring/errors/IssueDetail.tsx +372 -0
- package/corpus/templates/analytics/app/pages/monitoring/errors/IssueList.tsx +360 -0
- package/corpus/templates/analytics/app/pages/monitoring/errors/Sparkline.tsx +55 -0
- package/corpus/templates/analytics/app/pages/monitoring/errors/i18n.ts +106 -0
- package/corpus/templates/analytics/app/pages/monitoring/errors/types.ts +75 -0
- package/corpus/templates/analytics/app/pages/monitoring/errors/utils.ts +132 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/MonitorDetail.tsx +535 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/MonitorFormPage.tsx +1026 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/MonitorList.tsx +311 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/i18n.ts +235 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/status-pages/StatusPageEditor.tsx +661 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/status-pages/StatusPagesView.tsx +355 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/status-pages/i18n.ts +106 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/status-pages/slug.ts +24 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/status-pages/types.ts +20 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/status-summary.ts +87 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/types.ts +161 -0
- package/corpus/templates/analytics/app/pages/monitoring/uptime/utils.ts +210 -0
- package/corpus/templates/analytics/app/pages/sessions/SessionDetailPage.tsx +76 -1
- package/corpus/templates/analytics/app/pages/sessions/SessionDevToolsPanel.tsx +74 -9
- package/corpus/templates/analytics/app/pages/sessions/SessionsPage.tsx +197 -20
- package/corpus/templates/analytics/app/root.tsx +33 -1
- package/corpus/templates/analytics/app/routes/monitoring._index.tsx +10 -0
- package/corpus/templates/analytics/app/routes/status.$slug.tsx +118 -0
- package/corpus/templates/analytics/changelog/2026-07-08-add-uptime-monitors-that-ping-your-urls-and-alert-you-when-t.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-analytics-chats-keep-large-data-dictionaries-compact-so-prov.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-create-public-status-pages-that-share-the-live-health-of-cho.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-dashboard-extension-panels-use-clearer-open-copy.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-error-capture.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-fixed-single-panel-dashboard-drags-so-they-no-longer-rewrite.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-jump-straight-from-an-error-in-a-session-recording-to-its-fu.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-monitor-detail-and-list-now-show-colorful-uptime-timelines-r.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-pinned-ask-chats-now-show-a-pin-icon-in-the-sidebar.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-publish-a-public-uptime-status-page-with-colorful-uptime-tim.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-sessions-now-hide-visitor-emails-in-demo-mode-and-show-clean.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-08-settings-are-cleaner-searchable-and-alerts-have-their-own-tab.md +5 -0
- package/corpus/templates/analytics/changelog/2026-07-08-sidebar-sections-stay-collapsed-until-opened.md +5 -0
- package/corpus/templates/analytics/changelog/2026-07-08-the-uptime-monitor-list-now-has-a-current-status-overview-wi.md +6 -0
- package/corpus/templates/analytics/docs/error-capture.md +172 -0
- package/corpus/templates/analytics/docs/uptime-monitoring.md +150 -0
- package/corpus/templates/analytics/server/db/schema-errors.ts +150 -0
- package/corpus/templates/analytics/server/db/schema-monitoring.ts +177 -0
- package/corpus/templates/analytics/server/db/schema.ts +6 -0
- package/corpus/templates/analytics/server/jobs/uptime-monitors.ts +123 -0
- package/corpus/templates/analytics/server/lib/agent-chat-plan-mode.ts +41 -0
- package/corpus/templates/analytics/server/lib/data-dictionary-context.ts +55 -12
- package/corpus/templates/analytics/server/lib/error-capture.ts +1331 -0
- package/corpus/templates/analytics/server/lib/first-party-analytics.ts +47 -1
- package/corpus/templates/analytics/server/lib/monitor-stats.ts +494 -0
- package/corpus/templates/analytics/server/lib/status-pages.ts +798 -0
- package/corpus/templates/analytics/server/lib/uptime-monitors.ts +1665 -0
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +7 -37
- package/corpus/templates/analytics/server/plugins/auth.ts +11 -1
- package/corpus/templates/analytics/server/plugins/db.ts +408 -0
- package/corpus/templates/analytics/server/plugins/uptime-monitor-jobs.ts +63 -0
- package/corpus/templates/assets/app/routes/_index.tsx +1 -1
- package/corpus/templates/assets/app/routes/settings.tsx +22 -1
- package/corpus/templates/assets/changelog/2026-07-08-recent-drafts-keep-comfortable-side-padding.md +6 -0
- package/corpus/templates/assets/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/corpus/templates/brain/app/routes/settings.tsx +43 -5
- package/corpus/templates/brain/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/corpus/templates/calendar/app/pages/Settings.tsx +44 -6
- package/corpus/templates/calendar/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/corpus/templates/chat/app/routes/settings.tsx +16 -1
- package/corpus/templates/chat/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/corpus/templates/clips/actions/lib/audio-only-transcription.ts +79 -37
- package/corpus/templates/clips/actions/regenerate-chapters.ts +7 -0
- package/corpus/templates/clips/app/components/player/player-controls.tsx +35 -0
- package/corpus/templates/clips/app/components/player/video-player.tsx +162 -18
- package/corpus/templates/clips/app/hooks/use-auto-title.ts +15 -5
- package/corpus/templates/clips/app/routes/_app.settings._index.tsx +63 -6
- package/corpus/templates/clips/app/routes/download.tsx +12 -4
- package/corpus/templates/clips/app/routes/r.$recordingId.tsx +1 -0
- package/corpus/templates/clips/app/routes/record.tsx +18 -1
- package/corpus/templates/clips/changelog/2026-07-07-auto-generated-chapter-requests-now-open-the-matching-agent-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-07-shared-clips-start-playback-reliably-from-the-first-play-click.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-07-the-clips-desktop-download-page-now-uses-the-agent-native-ap.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-08-chrome-extension-camera-and-microphone-menus-now-show-which-.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-08-chrome-extension-copies-new-clip-links-after-saving.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-08-chrome-extension-recordings-now-continue-after-granting-came.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-08-mobile-shared-clips-now-have-loom-style-tap-and-skip-controls.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-08-recordings-and-uploads-copy-links-after-saving.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-08-settings-are-cleaner-searchable-and-collapse-s3-with-builder.md +5 -0
- package/corpus/templates/clips/changelog/2026-07-08-transcripts-are-more-reliable-for-longer-desktop-recordings-.md +6 -0
- package/corpus/templates/clips/chrome-extension/public/manifest.json +1 -0
- package/corpus/templates/clips/chrome-extension/src/background.ts +162 -13
- package/corpus/templates/clips/chrome-extension/src/content-script.ts +14 -0
- package/corpus/templates/clips/chrome-extension/src/offscreen.ts +36 -0
- package/corpus/templates/clips/chrome-extension/src/overlay.ts +99 -25
- package/corpus/templates/clips/chrome-extension/src/permission.ts +63 -14
- package/corpus/templates/clips/chrome-extension/src/popup.ts +123 -23
- package/corpus/templates/content/actions/_builder-cms-read-client.ts +47 -0
- package/corpus/templates/content/actions/_database-source-utils.ts +33 -4
- package/corpus/templates/content/actions/add-content-database-source-field-property.ts +214 -29
- package/corpus/templates/content/actions/attach-content-database-source.ts +3 -0
- package/corpus/templates/content/actions/change-content-database-source-role.ts +1 -0
- package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +42 -32
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +352 -81
- package/corpus/templates/content/app/components/editor/database/settings.tsx +49 -24
- package/corpus/templates/content/app/routes/_app.settings.tsx +19 -1
- package/corpus/templates/content/changelog/2026-07-07-builder-source-tag-fields-now-import-as-multi-select.md +6 -0
- package/corpus/templates/content/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/corpus/templates/content/shared/api.ts +3 -0
- package/corpus/templates/content/shared/properties.ts +42 -0
- package/corpus/templates/design/actions/generate-design.ts +3 -0
- package/corpus/templates/design/actions/get-design-system.ts +147 -1
- package/corpus/templates/design/app/routes/settings.tsx +16 -1
- package/corpus/templates/design/changelog/2026-07-08-design-generation-now-follows-hydrated-builder-design-system.md +6 -0
- package/corpus/templates/design/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/corpus/templates/dispatch/app/routes/settings.tsx +23 -2
- package/corpus/templates/dispatch/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/corpus/templates/forms/app/routes/_app.settings.tsx +16 -1
- package/corpus/templates/forms/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/corpus/templates/macros/app/routes/settings.tsx +16 -1
- package/corpus/templates/macros/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/corpus/templates/mail/app/components/settings/GmailFiltersSection.tsx +1 -1
- package/corpus/templates/mail/app/components/settings/SnippetsSection.tsx +1 -1
- package/corpus/templates/mail/app/pages/SettingsPage.tsx +123 -105
- package/corpus/templates/mail/changelog/2026-07-08-settings-redesigned-with-a-consistent-searchable-layout.md +5 -0
- package/corpus/templates/plan/app/routes/settings.tsx +23 -2
- package/corpus/templates/plan/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/corpus/templates/slides/actions/add-slide.ts +1 -0
- package/corpus/templates/slides/actions/get-design-system.ts +147 -1
- package/corpus/templates/slides/app/pages/Index.tsx +46 -1
- package/corpus/templates/slides/app/routes/settings.tsx +16 -1
- package/corpus/templates/slides/changelog/2026-07-08-deck-generation-now-follows-hydrated-builder-design-system-g.md +6 -0
- package/corpus/templates/slides/changelog/2026-07-08-settings-are-cleaner-and-searchable.md +5 -0
- package/dist/agent/durable-background.d.ts +1 -1
- package/dist/agent/durable-background.d.ts.map +1 -1
- package/dist/agent/durable-background.js +5 -3
- package/dist/agent/durable-background.js.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +24 -4
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
- package/dist/agent/engine/anthropic-engine.js +13 -3
- package/dist/agent/engine/anthropic-engine.js.map +1 -1
- package/dist/agent/engine/output-tokens.d.ts +27 -0
- package/dist/agent/engine/output-tokens.d.ts.map +1 -1
- package/dist/agent/engine/output-tokens.js +70 -0
- package/dist/agent/engine/output-tokens.js.map +1 -1
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +28 -7
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-ownership.d.ts +6 -0
- package/dist/agent/run-ownership.d.ts.map +1 -1
- package/dist/agent/run-ownership.js +11 -1
- package/dist/agent/run-ownership.js.map +1 -1
- package/dist/agent/types.d.ts +3 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/changelog/parse.d.ts +7 -0
- package/dist/changelog/parse.d.ts.map +1 -1
- package/dist/changelog/parse.js +64 -0
- package/dist/changelog/parse.js.map +1 -1
- package/dist/chat-threads/schema.d.ts +445 -0
- package/dist/chat-threads/schema.d.ts.map +1 -0
- package/dist/chat-threads/schema.js +39 -0
- package/dist/chat-threads/schema.js.map +1 -0
- package/dist/chat-threads/store.d.ts +12 -0
- package/dist/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +99 -10
- package/dist/chat-threads/store.js.map +1 -1
- package/dist/cli/workspace-dev.d.ts.map +1 -1
- package/dist/cli/workspace-dev.js +20 -5
- package/dist/cli/workspace-dev.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +35 -7
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +105 -183
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/analytics-session.d.ts +3 -0
- package/dist/client/analytics-session.d.ts.map +1 -0
- package/dist/client/analytics-session.js +66 -0
- package/dist/client/analytics-session.js.map +1 -0
- package/dist/client/analytics.d.ts +32 -0
- package/dist/client/analytics.d.ts.map +1 -1
- package/dist/client/analytics.js +116 -46
- package/dist/client/analytics.js.map +1 -1
- package/dist/client/chat/message-components.d.ts +2 -1
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +16 -6
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/components/ui/message-scroller.d.ts +16 -0
- package/dist/client/components/ui/message-scroller.d.ts.map +1 -0
- package/dist/client/components/ui/message-scroller.js +25 -0
- package/dist/client/components/ui/message-scroller.js.map +1 -0
- package/dist/client/conversation/AgentConversation.d.ts +1 -1
- package/dist/client/conversation/AgentConversation.d.ts.map +1 -1
- package/dist/client/conversation/AgentConversation.js +3 -8
- package/dist/client/conversation/AgentConversation.js.map +1 -1
- package/dist/client/error-capture.d.ts +99 -0
- package/dist/client/error-capture.d.ts.map +1 -0
- package/dist/client/error-capture.js +437 -0
- package/dist/client/error-capture.js.map +1 -0
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +3 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/session-replay.d.ts +22 -0
- package/dist/client/session-replay.d.ts.map +1 -1
- package/dist/client/session-replay.js +45 -4
- package/dist/client/session-replay.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +100 -5
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/SettingsTabsPage.d.ts +49 -1
- package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
- package/dist/client/settings/SettingsTabsPage.js +131 -19
- package/dist/client/settings/SettingsTabsPage.js.map +1 -1
- package/dist/client/settings/index.d.ts +1 -1
- package/dist/client/settings/index.d.ts.map +1 -1
- package/dist/client/settings/index.js.map +1 -1
- package/dist/client/sharing/ShareButton.d.ts.map +1 -1
- package/dist/client/sharing/ShareButton.js +13 -8
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
- package/dist/client/sharing/ShareDialog.js +12 -7
- package/dist/client/sharing/ShareDialog.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +12 -7
- package/dist/db/client.js.map +1 -1
- package/dist/mcp/builtin-tools.d.ts.map +1 -1
- package/dist/mcp/builtin-tools.js +21 -2
- package/dist/mcp/builtin-tools.js.map +1 -1
- package/dist/notifications/routes.d.ts +1 -1
- package/dist/observability/routes.d.ts +5 -5
- package/dist/org/schema.d.ts +15 -15
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/corpus-jobs.d.ts +2 -2
- package/dist/resources/handlers.d.ts +3 -3
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +109 -73
- 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/onboarding-html.d.ts.map +1 -1
- package/dist/server/onboarding-html.js +28 -16
- package/dist/server/onboarding-html.js.map +1 -1
- package/dist/shared/reasoning-effort.d.ts +1 -0
- package/dist/shared/reasoning-effort.d.ts.map +1 -1
- package/dist/shared/reasoning-effort.js +18 -0
- package/dist/shared/reasoning-effort.js.map +1 -1
- package/dist/sharing/actions/list-resource-shares.js +30 -1
- package/dist/sharing/actions/list-resource-shares.js.map +1 -1
- package/dist/sharing/actions/share-resource.js +6 -0
- package/dist/sharing/actions/share-resource.js.map +1 -1
- package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +4 -2
- package/dist/templates/workspace-core/.agents/skills/changelog/SKILL.md +9 -6
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +192 -30
- package/dist/vite/client.js.map +1 -1
- package/docs/content/toolkit-settings.mdx +56 -3
- package/package.json +2 -1
- package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +4 -2
- package/src/templates/workspace-core/.agents/skills/changelog/SKILL.md +9 -6
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Uptime monitor sweep. Mirrors server/jobs/analytics-alerts.ts: selects
|
|
3
|
+
* monitors that are due (their interval elapsed since the last check), claims
|
|
4
|
+
* each one atomically so parallel sweeps can't double-run it, probes it,
|
|
5
|
+
* records the result, opens/resolves incidents + notifies, and prunes old
|
|
6
|
+
* results so the history table stays bounded.
|
|
7
|
+
*
|
|
8
|
+
* Exported so a deployment-specific scheduled function (cron / Netlify
|
|
9
|
+
* scheduled function) can drive it without relying on a long-lived process.
|
|
10
|
+
*/
|
|
11
|
+
import {
|
|
12
|
+
claimMonitorRun,
|
|
13
|
+
evaluateAndNotifyMonitor,
|
|
14
|
+
listDueMonitors,
|
|
15
|
+
monitorAllowPrivateHosts,
|
|
16
|
+
pruneOldCheckResults,
|
|
17
|
+
recordMonitorResult,
|
|
18
|
+
runMonitorCheck,
|
|
19
|
+
type Monitor,
|
|
20
|
+
} from "../lib/uptime-monitors";
|
|
21
|
+
|
|
22
|
+
let running = false;
|
|
23
|
+
let listFailureLogged = false;
|
|
24
|
+
const DEFAULT_MAX_MONITORS_PER_SWEEP = 100;
|
|
25
|
+
|
|
26
|
+
function maxMonitorsPerSweep(input?: number): number {
|
|
27
|
+
if (input) return Math.max(1, Math.min(500, Math.floor(input)));
|
|
28
|
+
const raw = process.env.UPTIME_MONITOR_SWEEP_LIMIT?.trim();
|
|
29
|
+
if (!raw) return DEFAULT_MAX_MONITORS_PER_SWEEP;
|
|
30
|
+
const parsed = Number.parseInt(raw, 10);
|
|
31
|
+
return Number.isFinite(parsed) && parsed > 0
|
|
32
|
+
? parsed
|
|
33
|
+
: DEFAULT_MAX_MONITORS_PER_SWEEP;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface UptimeSweepResult {
|
|
37
|
+
processed: number;
|
|
38
|
+
up: number;
|
|
39
|
+
failing: number;
|
|
40
|
+
failed: number;
|
|
41
|
+
remaining: number;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Run one uptime sweep. When `ownerEmail`/`orgId` are provided the sweep is
|
|
46
|
+
* scoped to that user (used by the on-demand run-monitors action); otherwise
|
|
47
|
+
* it runs across every owner (the background cron).
|
|
48
|
+
*/
|
|
49
|
+
export async function runDueMonitorsOnce(
|
|
50
|
+
options: {
|
|
51
|
+
ownerEmail?: string;
|
|
52
|
+
orgId?: string | null;
|
|
53
|
+
limit?: number;
|
|
54
|
+
} = {},
|
|
55
|
+
): Promise<UptimeSweepResult> {
|
|
56
|
+
if (running) {
|
|
57
|
+
return { processed: 0, up: 0, failing: 0, failed: 0, remaining: 0 };
|
|
58
|
+
}
|
|
59
|
+
running = true;
|
|
60
|
+
let processed = 0;
|
|
61
|
+
let up = 0;
|
|
62
|
+
let failing = 0;
|
|
63
|
+
let failed = 0;
|
|
64
|
+
let remaining = 0;
|
|
65
|
+
|
|
66
|
+
try {
|
|
67
|
+
const sweepLimit = maxMonitorsPerSweep(options.limit);
|
|
68
|
+
const allowPrivateHosts = monitorAllowPrivateHosts();
|
|
69
|
+
|
|
70
|
+
let monitors: Monitor[];
|
|
71
|
+
try {
|
|
72
|
+
monitors = await listDueMonitors({
|
|
73
|
+
limit: sweepLimit,
|
|
74
|
+
ownerEmail: options.ownerEmail,
|
|
75
|
+
orgId: options.orgId,
|
|
76
|
+
});
|
|
77
|
+
} catch (err) {
|
|
78
|
+
// Schema not migrated yet or a transient DB error — don't let one bad
|
|
79
|
+
// sweep crash every interval firing. Log once per process.
|
|
80
|
+
if (!listFailureLogged) {
|
|
81
|
+
console.error(
|
|
82
|
+
"[uptime-monitors] Failed to list due monitors; skipping this sweep:",
|
|
83
|
+
err,
|
|
84
|
+
);
|
|
85
|
+
listFailureLogged = true;
|
|
86
|
+
}
|
|
87
|
+
return { processed: 0, up: 0, failing: 0, failed: 0, remaining: 0 };
|
|
88
|
+
}
|
|
89
|
+
listFailureLogged = false;
|
|
90
|
+
remaining = monitors.length >= sweepLimit ? 1 : 0;
|
|
91
|
+
|
|
92
|
+
for (const monitor of monitors) {
|
|
93
|
+
try {
|
|
94
|
+
const claimed = await claimMonitorRun(monitor);
|
|
95
|
+
if (!claimed) continue;
|
|
96
|
+
processed++;
|
|
97
|
+
const outcome = await runMonitorCheck(monitor, { allowPrivateHosts });
|
|
98
|
+
await recordMonitorResult(monitor, outcome);
|
|
99
|
+
await evaluateAndNotifyMonitor(monitor, outcome, {
|
|
100
|
+
email: monitor.ownerEmail,
|
|
101
|
+
orgId: monitor.orgId,
|
|
102
|
+
});
|
|
103
|
+
if (outcome.ok) up++;
|
|
104
|
+
else failing++;
|
|
105
|
+
} catch (err) {
|
|
106
|
+
failed++;
|
|
107
|
+
console.error(
|
|
108
|
+
`[uptime-monitors] Monitor ${monitor.id} (${monitor.name}) failed:`,
|
|
109
|
+
err,
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Retention prune — best-effort, never fail the sweep over it.
|
|
115
|
+
await pruneOldCheckResults().catch((err) =>
|
|
116
|
+
console.error("[uptime-monitors] result prune failed:", err),
|
|
117
|
+
);
|
|
118
|
+
} finally {
|
|
119
|
+
running = false;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return { processed, up, failing, failed, remaining };
|
|
123
|
+
}
|
|
@@ -1,5 +1,44 @@
|
|
|
1
1
|
import type { ActionEntry } from "@agent-native/core/server";
|
|
2
2
|
|
|
3
|
+
export const INITIAL_TOOL_NAMES = [
|
|
4
|
+
"view-screen",
|
|
5
|
+
"data-source-status",
|
|
6
|
+
"list-analyses",
|
|
7
|
+
"get-analysis",
|
|
8
|
+
"save-analysis",
|
|
9
|
+
"rename-analysis",
|
|
10
|
+
"delete-analysis",
|
|
11
|
+
"get-sql-dashboard",
|
|
12
|
+
"mutate-dashboard",
|
|
13
|
+
"generate-chart",
|
|
14
|
+
"query-agent-native-analytics",
|
|
15
|
+
"bigquery",
|
|
16
|
+
"search-bigquery-schema",
|
|
17
|
+
"bigquery-table-info",
|
|
18
|
+
"provider-api-catalog",
|
|
19
|
+
"provider-api-docs",
|
|
20
|
+
"provider-api-request",
|
|
21
|
+
"run-code",
|
|
22
|
+
"get-code-execution",
|
|
23
|
+
"provider-corpus-job",
|
|
24
|
+
"provider-corpus-jobs",
|
|
25
|
+
"query-staged-dataset",
|
|
26
|
+
"list-staged-datasets",
|
|
27
|
+
"delete-staged-dataset",
|
|
28
|
+
"account-deep-dive",
|
|
29
|
+
"hubspot-deals",
|
|
30
|
+
"hubspot-records",
|
|
31
|
+
"hubspot-pipelines",
|
|
32
|
+
"gong-calls",
|
|
33
|
+
"github-repo-files",
|
|
34
|
+
"jira-search",
|
|
35
|
+
"slack-messages",
|
|
36
|
+
"sentry",
|
|
37
|
+
"list-data-dictionary",
|
|
38
|
+
"save-data-dictionary-entry",
|
|
39
|
+
"navigate",
|
|
40
|
+
];
|
|
41
|
+
|
|
3
42
|
export const PLAN_MODE_ACT_ONLY_TOOLS = new Set([
|
|
4
43
|
"query-agent-native-analytics",
|
|
5
44
|
"bigquery",
|
|
@@ -9,7 +48,9 @@ export const PLAN_MODE_ACT_ONLY_TOOLS = new Set([
|
|
|
9
48
|
"account-deep-dive",
|
|
10
49
|
"hubspot-deals",
|
|
11
50
|
"hubspot-records",
|
|
51
|
+
"hubspot-pipelines",
|
|
12
52
|
"gong-calls",
|
|
53
|
+
"github-repo-files",
|
|
13
54
|
"jira-search",
|
|
14
55
|
"slack-messages",
|
|
15
56
|
"sentry",
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
type DictionaryEntry = Record<string, unknown>;
|
|
2
2
|
|
|
3
|
+
const MAX_INJECTED_ENTRIES = 40;
|
|
4
|
+
|
|
3
5
|
function compact(value: unknown, max = 240): string {
|
|
4
6
|
const text = String(value ?? "")
|
|
5
7
|
.replace(/\s+/g, " ")
|
|
@@ -72,6 +74,29 @@ function renderEntry(
|
|
|
72
74
|
return lines;
|
|
73
75
|
}
|
|
74
76
|
|
|
77
|
+
function takeWithinBudget<T>(
|
|
78
|
+
entries: T[],
|
|
79
|
+
renderedCount: number,
|
|
80
|
+
): { entries: T[]; renderedCount: number; omitted: number } {
|
|
81
|
+
const remaining = Math.max(0, MAX_INJECTED_ENTRIES - renderedCount);
|
|
82
|
+
const selected = entries.slice(0, remaining);
|
|
83
|
+
return {
|
|
84
|
+
entries: selected,
|
|
85
|
+
renderedCount: renderedCount + selected.length,
|
|
86
|
+
omitted: entries.length - selected.length,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function renderOmittedDictionaryEntries(omitted: number): string[] {
|
|
91
|
+
if (omitted <= 0) return [];
|
|
92
|
+
return [
|
|
93
|
+
`${omitted} additional data-dictionary entr${
|
|
94
|
+
omitted === 1 ? "y was" : "ies were"
|
|
95
|
+
} omitted from prompt context for efficiency. Call \`list-data-dictionary\` with a focused \`search\` or \`department\` filter before writing SQL or making claims that may depend on omitted definitions.`,
|
|
96
|
+
"",
|
|
97
|
+
];
|
|
98
|
+
}
|
|
99
|
+
|
|
75
100
|
/**
|
|
76
101
|
* Render data-dictionary entries as compact prompt context.
|
|
77
102
|
*
|
|
@@ -100,6 +125,8 @@ export function renderDataDictionary(entries: DictionaryEntry[]): string {
|
|
|
100
125
|
),
|
|
101
126
|
);
|
|
102
127
|
const includeAiSuggestions = approved.length + humanUnreviewed.length === 0;
|
|
128
|
+
let renderedCount = 0;
|
|
129
|
+
let omittedEntries = 0;
|
|
103
130
|
|
|
104
131
|
const lines: string[] = [
|
|
105
132
|
"<data-dictionary>",
|
|
@@ -110,27 +137,42 @@ export function renderDataDictionary(entries: DictionaryEntry[]): string {
|
|
|
110
137
|
];
|
|
111
138
|
|
|
112
139
|
if (approved.length) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
140
|
+
const budgeted = takeWithinBudget(approved, renderedCount);
|
|
141
|
+
renderedCount = budgeted.renderedCount;
|
|
142
|
+
omittedEntries += budgeted.omitted;
|
|
143
|
+
if (budgeted.entries.length) {
|
|
144
|
+
lines.push("## Approved canonical entries");
|
|
145
|
+
for (const entry of budgeted.entries) {
|
|
146
|
+
lines.push(...renderEntry(entry, "approved/canonical"));
|
|
147
|
+
}
|
|
148
|
+
lines.push("");
|
|
116
149
|
}
|
|
117
|
-
lines.push("");
|
|
118
150
|
}
|
|
119
151
|
|
|
120
152
|
if (humanUnreviewed.length) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
153
|
+
const budgeted = takeWithinBudget(humanUnreviewed, renderedCount);
|
|
154
|
+
renderedCount = budgeted.renderedCount;
|
|
155
|
+
omittedEntries += budgeted.omitted;
|
|
156
|
+
if (budgeted.entries.length) {
|
|
157
|
+
lines.push("## Unreviewed human-authored entries");
|
|
158
|
+
for (const entry of budgeted.entries) {
|
|
159
|
+
lines.push(...renderEntry(entry, "unreviewed/human"));
|
|
160
|
+
}
|
|
161
|
+
lines.push("");
|
|
124
162
|
}
|
|
125
|
-
lines.push("");
|
|
126
163
|
}
|
|
127
164
|
|
|
128
165
|
if (includeAiSuggestions && aiSuggestions.length) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
166
|
+
const budgeted = takeWithinBudget(aiSuggestions, renderedCount);
|
|
167
|
+
renderedCount = budgeted.renderedCount;
|
|
168
|
+
omittedEntries += budgeted.omitted;
|
|
169
|
+
if (budgeted.entries.length) {
|
|
170
|
+
lines.push("## AI-generated suggestions");
|
|
171
|
+
for (const entry of budgeted.entries) {
|
|
172
|
+
lines.push(...renderEntry(entry, "ai-suggestion"));
|
|
173
|
+
}
|
|
174
|
+
lines.push("");
|
|
132
175
|
}
|
|
133
|
-
lines.push("");
|
|
134
176
|
} else if (aiSuggestions.length) {
|
|
135
177
|
lines.push(
|
|
136
178
|
`${aiSuggestions.length} AI-generated unapproved suggestion${
|
|
@@ -140,6 +182,7 @@ export function renderDataDictionary(entries: DictionaryEntry[]): string {
|
|
|
140
182
|
);
|
|
141
183
|
}
|
|
142
184
|
|
|
185
|
+
lines.push(...renderOmittedDictionaryEntries(omittedEntries));
|
|
143
186
|
lines.push("</data-dictionary>");
|
|
144
187
|
return lines.join("\n");
|
|
145
188
|
}
|