@agent-native/core 0.112.0 → 0.113.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 +4 -2
- package/corpus/core/CHANGELOG.md +22 -0
- package/corpus/core/docs/AGENTS.md +7 -0
- package/corpus/core/docs/content/integrations.mdx +63 -2
- package/corpus/core/docs/design/provider-integration-authority.md +117 -0
- package/corpus/core/package.json +6 -1
- package/corpus/core/scripts/materialize-source-corpus.mjs +9 -2
- package/corpus/core/src/cli/atomic-json-file.ts +324 -0
- package/corpus/core/src/cli/claude-code-participant.ts +515 -0
- package/corpus/core/src/cli/code-agent-executor.ts +18 -10
- package/corpus/core/src/cli/code-agent-runs.concurrent-worker.ts +33 -0
- package/corpus/core/src/cli/code-agent-runs.ts +55 -62
- package/corpus/core/src/cli/codex-cli-participant.ts +496 -0
- package/corpus/core/src/cli/multi-frontier-runs.ts +1246 -135
- package/corpus/core/src/client/chat/ChatHistoryList.tsx +7 -404
- package/corpus/core/src/integrations/index.ts +10 -0
- package/corpus/core/src/integrations/slack-oauth.ts +1 -0
- package/corpus/core/src/integrations/webhook-delivery.ts +55 -0
- package/corpus/core/src/notifications/channels.ts +4 -10
- package/corpus/core/src/provider-api/actions/custom-provider-registration.ts +197 -0
- package/corpus/core/src/provider-api/actions/delete-staged-dataset.ts +3 -42
- package/corpus/core/src/provider-api/actions/list-staged-datasets.ts +3 -45
- package/corpus/core/src/provider-api/actions/provider-api-audit.ts +88 -0
- package/corpus/core/src/provider-api/actions/provider-api.ts +460 -0
- package/corpus/core/src/provider-api/actions/query-staged-dataset.ts +3 -140
- package/corpus/core/src/provider-api/actions/staged-datasets.ts +359 -0
- package/corpus/core/src/provider-api/gong.ts +108 -0
- package/corpus/core/src/scripts/docs/source-search.ts +2 -1
- package/corpus/core/src/server/google-oauth-credentials.ts +80 -3
- package/corpus/core/src/server/index.ts +6 -0
- package/corpus/core/src/styles/chat-history-list.css +1 -313
- package/corpus/core/src/templates/default/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/core/src/templates/default/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/corpus/core/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/core/src/templates/default/.agents/skills/integration-webhooks/SKILL.md +323 -0
- package/corpus/core/src/templates/default/.agents/skills/onboarding/SKILL.md +56 -0
- package/corpus/core/src/templates/default/.agents/skills/secrets/SKILL.md +273 -0
- package/corpus/core/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/core/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/core/src/templates/default/AGENTS.md +25 -18
- package/corpus/core/src/templates/headless/.agents/skills/actions/SKILL.md +512 -0
- package/corpus/core/src/templates/headless/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/corpus/core/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/core/src/templates/headless/.agents/skills/integration-webhooks/SKILL.md +323 -0
- package/corpus/core/src/templates/headless/.agents/skills/secrets/SKILL.md +273 -0
- package/corpus/core/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/core/src/templates/headless/AGENTS.md +7 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +6 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/core/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/core/src/templates/workspace-core/AGENTS.md +4 -0
- package/corpus/core/src/templates/workspace-root/AGENTS.md +4 -0
- package/corpus/templates/analytics/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/analytics/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/analytics/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/analytics/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/analytics/actions/delete-staged-dataset.ts +3 -23
- package/corpus/templates/analytics/actions/list-staged-datasets.ts +3 -27
- package/corpus/templates/analytics/actions/provider-api-catalog.ts +16 -19
- package/corpus/templates/analytics/actions/provider-api-docs.ts +3 -5
- package/corpus/templates/analytics/actions/provider-api-request.ts +162 -185
- package/corpus/templates/analytics/actions/query-staged-dataset.ts +3 -47
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +52 -161
- package/corpus/templates/assets/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/assets/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/assets/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/assets/app/components/layout/Sidebar.tsx +63 -160
- package/corpus/templates/brain/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/brain/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/brain/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/brain/actions/_schemas.ts +13 -7
- package/corpus/templates/brain/actions/delete-staged-dataset.ts +3 -24
- package/corpus/templates/brain/actions/list-staged-datasets.ts +3 -28
- package/corpus/templates/brain/actions/provider-api-catalog.ts +5 -11
- package/corpus/templates/brain/actions/provider-api-docs.ts +3 -5
- package/corpus/templates/brain/actions/provider-api-request.ts +3 -37
- package/corpus/templates/brain/actions/query-staged-dataset.ts +3 -48
- package/corpus/templates/brain/actions/update-source.ts +5 -1
- package/corpus/templates/brain/app/components/layout/Sidebar.tsx +48 -154
- package/corpus/templates/brain/app/lib/brain.ts +55 -0
- package/corpus/templates/brain/app/lib/ingest-handoff.ts +35 -0
- package/corpus/templates/brain/changelog/2026-07-19-slack-backfills-can-now-join-configured-public-channels-befo.md +6 -0
- package/corpus/templates/brain/changelog/2026-07-19-slack-backfills-now-continue-across-the-configured-number-of.md +6 -0
- package/corpus/templates/brain/changelog/2026-07-19-slack-backfills-now-start-with-a-safe-four-week-window-and-r.md +6 -0
- package/corpus/templates/brain/server/lib/connectors.ts +53 -2
- package/corpus/templates/brain/server/lib/slack-channel-membership.ts +44 -0
- package/corpus/templates/brain/shared/slack-source-config.ts +60 -0
- package/corpus/templates/calendar/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/calendar/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/calendar/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/calendar/actions/delete-staged-dataset.ts +3 -24
- package/corpus/templates/calendar/actions/list-staged-datasets.ts +3 -28
- package/corpus/templates/calendar/actions/provider-api-catalog.ts +5 -11
- package/corpus/templates/calendar/actions/provider-api-docs.ts +3 -5
- package/corpus/templates/calendar/actions/provider-api-request.ts +3 -37
- package/corpus/templates/calendar/actions/query-staged-dataset.ts +3 -48
- package/corpus/templates/calendar/server/handlers/gong.ts +6 -61
- package/corpus/templates/calendar/server/handlers/google-auth.ts +10 -8
- package/corpus/templates/calendar/server/lib/google-calendar.ts +7 -45
- package/corpus/templates/chat/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/chat/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/corpus/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/chat/AGENTS.md +5 -2
- package/corpus/templates/chat/app/components/layout/Sidebar.tsx +51 -157
- package/corpus/templates/clips/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/clips/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/clips/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/clips/AGENTS.md +11 -0
- package/corpus/templates/clips/actions/export-to-brain.ts +505 -171
- package/corpus/templates/clips/changelog/2026-07-19-ready-clips-transcripts-can-be-backfilled-to-brain-for-a-bou.md +6 -0
- package/corpus/templates/clips/server/lib/calendar-event-meetings.ts +1 -1
- package/corpus/templates/clips/server/lib/google-calendar-client.ts +12 -22
- package/corpus/templates/clips/server/lib/google-calendar-oauth.ts +9 -6
- package/corpus/templates/clips/server/lib/slack-oauth.ts +12 -47
- package/corpus/templates/clips/server/routes/_agent-native/google/auth-url.get.ts +2 -6
- package/corpus/templates/clips/server/routes/api/auth/google-calendar.get.ts +4 -4
- package/corpus/templates/content/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/content/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/content/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/content/actions/delete-staged-dataset.ts +3 -24
- package/corpus/templates/content/actions/list-staged-datasets.ts +3 -28
- package/corpus/templates/content/actions/provider-api-catalog.ts +5 -11
- package/corpus/templates/content/actions/provider-api-docs.ts +3 -5
- package/corpus/templates/content/actions/provider-api-request.ts +3 -37
- package/corpus/templates/content/actions/query-staged-dataset.ts +3 -48
- package/corpus/templates/design/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/design/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/design/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/design/actions/delete-staged-dataset.ts +4 -23
- package/corpus/templates/design/actions/list-staged-datasets.ts +4 -27
- package/corpus/templates/design/actions/provider-api-catalog.ts +15 -18
- package/corpus/templates/design/actions/provider-api-docs.ts +57 -48
- package/corpus/templates/design/actions/provider-api-request.ts +140 -164
- package/corpus/templates/design/actions/query-staged-dataset.ts +4 -47
- package/corpus/templates/dispatch/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/dispatch/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/dispatch/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/dispatch/actions/delete-staged-dataset.ts +4 -23
- package/corpus/templates/dispatch/actions/list-staged-datasets.ts +4 -30
- package/corpus/templates/dispatch/actions/provider-api-catalog.ts +15 -18
- package/corpus/templates/dispatch/actions/provider-api-docs.ts +57 -48
- package/corpus/templates/dispatch/actions/provider-api-request.ts +138 -163
- package/corpus/templates/dispatch/actions/query-staged-dataset.ts +4 -47
- package/corpus/templates/forms/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/forms/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/forms/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/forms/server/lib/integrations.ts +23 -22
- package/corpus/templates/macros/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/macros/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/mail/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/mail/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/mail/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/mail/actions/delete-staged-dataset.ts +4 -23
- package/corpus/templates/mail/actions/list-staged-datasets.ts +4 -27
- package/corpus/templates/mail/actions/provider-api-catalog.ts +15 -18
- package/corpus/templates/mail/actions/provider-api-docs.ts +57 -48
- package/corpus/templates/mail/actions/provider-api-request.ts +146 -173
- package/corpus/templates/mail/actions/query-staged-dataset.ts +4 -47
- package/corpus/templates/mail/server/handlers/gong.ts +6 -61
- package/corpus/templates/mail/server/lib/google-auth.ts +10 -13
- package/corpus/templates/plan/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/plan/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/plan/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/plan/app/components/layout/Sidebar.tsx +47 -156
- package/corpus/templates/slides/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/slides/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/slides/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/templates/slides/actions/delete-staged-dataset.ts +4 -23
- package/corpus/templates/slides/actions/list-staged-datasets.ts +4 -27
- package/corpus/templates/slides/actions/provider-api-catalog.ts +15 -18
- package/corpus/templates/slides/actions/provider-api-docs.ts +57 -48
- package/corpus/templates/slides/actions/provider-api-request.ts +145 -172
- package/corpus/templates/slides/actions/query-staged-dataset.ts +4 -47
- package/corpus/templates/slides/server/lib/google-docs-oauth.ts +11 -36
- package/corpus/templates/tasks/.agents/skills/actions/SKILL.md +32 -12
- package/corpus/templates/tasks/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/corpus/templates/tasks/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/corpus/templates/tasks/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/corpus/templates/tasks/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/corpus/toolkit/CHANGELOG.md +125 -0
- package/corpus/toolkit/README.md +60 -0
- package/corpus/toolkit/export-snapshot.json +35 -0
- package/corpus/toolkit/migration-manifest.json +4 -0
- package/corpus/toolkit/package.json +281 -0
- package/corpus/toolkit/scripts/finalize-build.mjs +55 -0
- package/corpus/toolkit/src/app-shell/header-actions.tsx +84 -0
- package/corpus/toolkit/src/app-shell/index.ts +1 -0
- package/corpus/toolkit/src/chat-history/ChatHistoryList.tsx +469 -0
- package/corpus/toolkit/src/chat-history/index.ts +7 -0
- package/corpus/toolkit/src/chat-history.css +314 -0
- package/corpus/toolkit/src/collab-ui/AgentPresenceChip.tsx +69 -0
- package/corpus/toolkit/src/collab-ui/LiveCursorOverlay.tsx +241 -0
- package/corpus/toolkit/src/collab-ui/PresenceBar.tsx +346 -0
- package/corpus/toolkit/src/collab-ui/RecentEditHighlights.tsx +225 -0
- package/corpus/toolkit/src/collab-ui/RemoteSelectionRings.tsx +227 -0
- package/corpus/toolkit/src/collab-ui/agent-identity.ts +16 -0
- package/corpus/toolkit/src/collab-ui/index.ts +39 -0
- package/corpus/toolkit/src/collab-ui/lead-client.ts +32 -0
- package/corpus/toolkit/src/collab-ui/types.ts +96 -0
- package/corpus/toolkit/src/composer/AgentComposerFrame.tsx +59 -0
- package/corpus/toolkit/src/composer/ComposerPlusMenu.tsx +983 -0
- package/corpus/toolkit/src/composer/MentionPopover.tsx +412 -0
- package/corpus/toolkit/src/composer/PastedTextChip.tsx +150 -0
- package/corpus/toolkit/src/composer/PromptComposer.tsx +718 -0
- package/corpus/toolkit/src/composer/RealtimeVoiceMode.tsx +856 -0
- package/corpus/toolkit/src/composer/TiptapComposer.tsx +2936 -0
- package/corpus/toolkit/src/composer/VoiceButton.tsx +255 -0
- package/corpus/toolkit/src/composer/asset-picker-url.ts +80 -0
- package/corpus/toolkit/src/composer/attachment-accept.ts +71 -0
- package/corpus/toolkit/src/composer/draft-key.ts +7 -0
- package/corpus/toolkit/src/composer/extensions/FileReference.tsx +55 -0
- package/corpus/toolkit/src/composer/extensions/MentionReference.tsx +93 -0
- package/corpus/toolkit/src/composer/extensions/SkillReference.tsx +56 -0
- package/corpus/toolkit/src/composer/index.ts +79 -0
- package/corpus/toolkit/src/composer/pasted-text.ts +160 -0
- package/corpus/toolkit/src/composer/prompt-attachments.ts +93 -0
- package/corpus/toolkit/src/composer/realtime-voice-audio-level.ts +64 -0
- package/corpus/toolkit/src/composer/realtime-voice-transcript.ts +134 -0
- package/corpus/toolkit/src/composer/runtime-adapters.tsx +343 -0
- package/corpus/toolkit/src/composer/types.ts +66 -0
- package/corpus/toolkit/src/composer/use-file-search.ts +64 -0
- package/corpus/toolkit/src/composer/use-mention-search.ts +90 -0
- package/corpus/toolkit/src/composer/use-skills.ts +45 -0
- package/corpus/toolkit/src/composer/useRealtimeVoiceMode.tsx +2117 -0
- package/corpus/toolkit/src/composer/useVoiceDictation.ts +1191 -0
- package/corpus/toolkit/src/context-ui/ContextMeter.tsx +101 -0
- package/corpus/toolkit/src/context-ui/ContextSegmentRow.tsx +184 -0
- package/corpus/toolkit/src/context-ui/ContextTreemap.tsx +125 -0
- package/corpus/toolkit/src/context-ui/ContextXRayPanel.tsx +377 -0
- package/corpus/toolkit/src/context-ui/format.ts +42 -0
- package/corpus/toolkit/src/context-ui/index.ts +15 -0
- package/corpus/toolkit/src/context-ui/types.ts +43 -0
- package/corpus/toolkit/src/design-tweaks/index.ts +1 -0
- package/corpus/toolkit/src/design-tweaks/visual-style-controls.tsx +1084 -0
- package/corpus/toolkit/src/editor/BubbleToolbar.tsx +253 -0
- package/corpus/toolkit/src/editor/CodeBlockNode.tsx +254 -0
- package/corpus/toolkit/src/editor/DragHandle.ts +1437 -0
- package/corpus/toolkit/src/editor/ImageExtension.ts +306 -0
- package/corpus/toolkit/src/editor/RegistryBlockContext.tsx +107 -0
- package/corpus/toolkit/src/editor/RegistryBlockNode.tsx +652 -0
- package/corpus/toolkit/src/editor/RichMarkdownEditor.tsx +81 -0
- package/corpus/toolkit/src/editor/RunId.ts +61 -0
- package/corpus/toolkit/src/editor/SharedRichEditor.tsx +321 -0
- package/corpus/toolkit/src/editor/SlashCommandMenu.tsx +310 -0
- package/corpus/toolkit/src/editor/extensions.ts +402 -0
- package/corpus/toolkit/src/editor/gfmDoc.ts +92 -0
- package/corpus/toolkit/src/editor/index.ts +93 -0
- package/corpus/toolkit/src/editor/registrySlashCommands.ts +131 -0
- package/corpus/toolkit/src/editor/surgical-apply.ts +192 -0
- package/corpus/toolkit/src/editor/useCollabReconcile.ts +589 -0
- package/corpus/toolkit/src/editor.css +510 -0
- package/corpus/toolkit/src/hooks/index.ts +2 -0
- package/corpus/toolkit/src/hooks/use-mobile.tsx +21 -0
- package/corpus/toolkit/src/hooks/use-toast.ts +188 -0
- package/corpus/toolkit/src/index.ts +8 -0
- package/corpus/toolkit/src/onboarding/index.ts +1 -0
- package/corpus/toolkit/src/provider.tsx +47 -0
- package/corpus/toolkit/src/sharing/VisibilityBadge.tsx +37 -0
- package/corpus/toolkit/src/sharing/index.ts +4 -0
- package/corpus/toolkit/src/styles.css +21 -0
- package/corpus/toolkit/src/ui/accordion.tsx +56 -0
- package/corpus/toolkit/src/ui/alert-dialog.tsx +141 -0
- package/corpus/toolkit/src/ui/alert.tsx +59 -0
- package/corpus/toolkit/src/ui/aspect-ratio.tsx +5 -0
- package/corpus/toolkit/src/ui/avatar.tsx +48 -0
- package/corpus/toolkit/src/ui/badge.tsx +37 -0
- package/corpus/toolkit/src/ui/breadcrumb.tsx +115 -0
- package/corpus/toolkit/src/ui/button.tsx +78 -0
- package/corpus/toolkit/src/ui/calendar.tsx +214 -0
- package/corpus/toolkit/src/ui/card.tsx +86 -0
- package/corpus/toolkit/src/ui/carousel.tsx +260 -0
- package/corpus/toolkit/src/ui/chart.tsx +375 -0
- package/corpus/toolkit/src/ui/checkbox.tsx +28 -0
- package/corpus/toolkit/src/ui/collapsible.tsx +9 -0
- package/corpus/toolkit/src/ui/command.tsx +174 -0
- package/corpus/toolkit/src/ui/context-menu.tsx +202 -0
- package/corpus/toolkit/src/ui/date-picker.tsx +64 -0
- package/corpus/toolkit/src/ui/dialog.tsx +146 -0
- package/corpus/toolkit/src/ui/drawer.tsx +126 -0
- package/corpus/toolkit/src/ui/dropdown-menu.tsx +218 -0
- package/corpus/toolkit/src/ui/form.tsx +177 -0
- package/corpus/toolkit/src/ui/hover-card.tsx +27 -0
- package/corpus/toolkit/src/ui/index.ts +52 -0
- package/corpus/toolkit/src/ui/input-otp.tsx +69 -0
- package/corpus/toolkit/src/ui/input.tsx +22 -0
- package/corpus/toolkit/src/ui/label.tsx +24 -0
- package/corpus/toolkit/src/ui/logo.tsx +36 -0
- package/corpus/toolkit/src/ui/menubar.tsx +235 -0
- package/corpus/toolkit/src/ui/navigation-menu.tsx +128 -0
- package/corpus/toolkit/src/ui/pagination.tsx +121 -0
- package/corpus/toolkit/src/ui/popover.tsx +44 -0
- package/corpus/toolkit/src/ui/progress.tsx +26 -0
- package/corpus/toolkit/src/ui/radio-group.tsx +42 -0
- package/corpus/toolkit/src/ui/resizable.tsx +43 -0
- package/corpus/toolkit/src/ui/scroll-area.tsx +46 -0
- package/corpus/toolkit/src/ui/select.tsx +158 -0
- package/corpus/toolkit/src/ui/separator.tsx +29 -0
- package/corpus/toolkit/src/ui/sheet.tsx +160 -0
- package/corpus/toolkit/src/ui/sidebar.tsx +777 -0
- package/corpus/toolkit/src/ui/skeleton.tsx +18 -0
- package/corpus/toolkit/src/ui/slider.tsx +26 -0
- package/corpus/toolkit/src/ui/sonner.tsx +58 -0
- package/corpus/toolkit/src/ui/spinner.tsx +17 -0
- package/corpus/toolkit/src/ui/switch.tsx +27 -0
- package/corpus/toolkit/src/ui/table.tsx +117 -0
- package/corpus/toolkit/src/ui/tabs.tsx +53 -0
- package/corpus/toolkit/src/ui/textarea.tsx +23 -0
- package/corpus/toolkit/src/ui/toast.tsx +127 -0
- package/corpus/toolkit/src/ui/toaster.tsx +33 -0
- package/corpus/toolkit/src/ui/toggle-group.tsx +59 -0
- package/corpus/toolkit/src/ui/toggle.tsx +43 -0
- package/corpus/toolkit/src/ui/tooltip.tsx +53 -0
- package/corpus/toolkit/src/ui/use-toast.ts +3 -0
- package/corpus/toolkit/src/utils.ts +8 -0
- package/corpus/toolkit/tsconfig.json +23 -0
- package/dist/cli/atomic-json-file.d.ts +30 -0
- package/dist/cli/atomic-json-file.d.ts.map +1 -0
- package/dist/cli/atomic-json-file.js +240 -0
- package/dist/cli/atomic-json-file.js.map +1 -0
- package/dist/cli/claude-code-participant.d.ts +77 -0
- package/dist/cli/claude-code-participant.d.ts.map +1 -0
- package/dist/cli/claude-code-participant.js +355 -0
- package/dist/cli/claude-code-participant.js.map +1 -0
- package/dist/cli/code-agent-executor.d.ts.map +1 -1
- package/dist/cli/code-agent-executor.js +18 -10
- package/dist/cli/code-agent-executor.js.map +1 -1
- package/dist/cli/code-agent-runs.concurrent-worker.d.ts +2 -0
- package/dist/cli/code-agent-runs.concurrent-worker.d.ts.map +1 -0
- package/dist/cli/code-agent-runs.concurrent-worker.js +32 -0
- package/dist/cli/code-agent-runs.concurrent-worker.js.map +1 -0
- package/dist/cli/code-agent-runs.d.ts.map +1 -1
- package/dist/cli/code-agent-runs.js +43 -56
- package/dist/cli/code-agent-runs.js.map +1 -1
- package/dist/cli/codex-cli-participant.d.ts +77 -0
- package/dist/cli/codex-cli-participant.d.ts.map +1 -0
- package/dist/cli/codex-cli-participant.js +354 -0
- package/dist/cli/codex-cli-participant.js.map +1 -0
- package/dist/cli/multi-frontier-runs.d.ts +115 -0
- package/dist/cli/multi-frontier-runs.d.ts.map +1 -1
- package/dist/cli/multi-frontier-runs.js +831 -113
- package/dist/cli/multi-frontier-runs.js.map +1 -1
- package/dist/client/chat/ChatHistoryList.d.ts +1 -87
- package/dist/client/chat/ChatHistoryList.d.ts.map +1 -1
- package/dist/client/chat/ChatHistoryList.js +1 -82
- package/dist/client/chat/ChatHistoryList.js.map +1 -1
- package/dist/integrations/index.d.ts +2 -1
- package/dist/integrations/index.d.ts.map +1 -1
- package/dist/integrations/index.js +2 -1
- package/dist/integrations/index.js.map +1 -1
- package/dist/integrations/slack-manifest.d.ts +1 -1
- package/dist/integrations/slack-oauth.d.ts +1 -1
- package/dist/integrations/slack-oauth.d.ts.map +1 -1
- package/dist/integrations/slack-oauth.js +1 -0
- package/dist/integrations/slack-oauth.js.map +1 -1
- package/dist/integrations/webhook-delivery.d.ts +23 -0
- package/dist/integrations/webhook-delivery.d.ts.map +1 -0
- package/dist/integrations/webhook-delivery.js +32 -0
- package/dist/integrations/webhook-delivery.js.map +1 -0
- package/dist/notifications/channels.d.ts.map +1 -1
- package/dist/notifications/channels.js +4 -9
- package/dist/notifications/channels.js.map +1 -1
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/provider-api/actions/custom-provider-registration.d.ts +136 -0
- package/dist/provider-api/actions/custom-provider-registration.d.ts.map +1 -0
- package/dist/provider-api/actions/custom-provider-registration.js +154 -0
- package/dist/provider-api/actions/custom-provider-registration.js.map +1 -0
- package/dist/provider-api/actions/delete-staged-dataset.d.ts +1 -1
- package/dist/provider-api/actions/delete-staged-dataset.d.ts.map +1 -1
- package/dist/provider-api/actions/delete-staged-dataset.js +3 -34
- package/dist/provider-api/actions/delete-staged-dataset.js.map +1 -1
- package/dist/provider-api/actions/list-staged-datasets.d.ts +2 -3
- package/dist/provider-api/actions/list-staged-datasets.d.ts.map +1 -1
- package/dist/provider-api/actions/list-staged-datasets.js +3 -40
- package/dist/provider-api/actions/list-staged-datasets.js.map +1 -1
- package/dist/provider-api/actions/provider-api-audit.d.ts +7 -0
- package/dist/provider-api/actions/provider-api-audit.d.ts.map +1 -0
- package/dist/provider-api/actions/provider-api-audit.js +74 -0
- package/dist/provider-api/actions/provider-api-audit.js.map +1 -0
- package/dist/provider-api/actions/provider-api.d.ts +370 -0
- package/dist/provider-api/actions/provider-api.d.ts.map +1 -0
- package/dist/provider-api/actions/provider-api.js +280 -0
- package/dist/provider-api/actions/provider-api.js.map +1 -0
- package/dist/provider-api/actions/query-staged-dataset.d.ts +1 -1
- package/dist/provider-api/actions/query-staged-dataset.d.ts.map +1 -1
- package/dist/provider-api/actions/query-staged-dataset.js +3 -116
- package/dist/provider-api/actions/query-staged-dataset.js.map +1 -1
- package/dist/provider-api/actions/staged-datasets.d.ts +190 -0
- package/dist/provider-api/actions/staged-datasets.d.ts.map +1 -0
- package/dist/provider-api/actions/staged-datasets.js +210 -0
- package/dist/provider-api/actions/staged-datasets.js.map +1 -0
- package/dist/provider-api/gong.d.ts +44 -0
- package/dist/provider-api/gong.d.ts.map +1 -0
- package/dist/provider-api/gong.js +56 -0
- package/dist/provider-api/gong.js.map +1 -0
- package/dist/scripts/docs/source-search.d.ts +2 -1
- package/dist/scripts/docs/source-search.d.ts.map +1 -1
- package/dist/scripts/docs/source-search.js +2 -1
- package/dist/scripts/docs/source-search.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/google-oauth-credentials.d.ts +35 -0
- package/dist/server/google-oauth-credentials.d.ts.map +1 -1
- package/dist/server/google-oauth-credentials.js +48 -2
- package/dist/server/google-oauth-credentials.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/styles/chat-history-list.css +1 -313
- package/dist/templates/chat/.agents/skills/actions/SKILL.md +32 -12
- package/dist/templates/chat/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/dist/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/dist/templates/chat/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/dist/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/dist/templates/chat/AGENTS.md +5 -2
- package/dist/templates/chat/app/components/layout/Sidebar.tsx +51 -157
- package/dist/templates/default/.agents/skills/actions/SKILL.md +32 -12
- package/dist/templates/default/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/dist/templates/default/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/dist/templates/default/.agents/skills/integration-webhooks/SKILL.md +323 -0
- package/dist/templates/default/.agents/skills/onboarding/SKILL.md +56 -0
- package/dist/templates/default/.agents/skills/secrets/SKILL.md +273 -0
- package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/dist/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/dist/templates/default/AGENTS.md +25 -18
- package/dist/templates/headless/.agents/skills/actions/SKILL.md +512 -0
- package/dist/templates/headless/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/dist/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/dist/templates/headless/.agents/skills/integration-webhooks/SKILL.md +323 -0
- package/dist/templates/headless/.agents/skills/secrets/SKILL.md +273 -0
- package/dist/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/dist/templates/headless/AGENTS.md +7 -0
- package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +32 -12
- package/dist/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +6 -0
- package/dist/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/dist/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/dist/templates/workspace-core/AGENTS.md +4 -0
- package/dist/templates/workspace-root/AGENTS.md +4 -0
- package/docs/AGENTS.md +7 -0
- package/docs/content/integrations.mdx +63 -2
- package/docs/design/provider-integration-authority.md +117 -0
- package/package.json +7 -2
- package/src/templates/chat/.agents/skills/actions/SKILL.md +32 -12
- package/src/templates/chat/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/src/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/src/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/src/templates/chat/AGENTS.md +5 -2
- package/src/templates/chat/app/components/layout/Sidebar.tsx +51 -157
- package/src/templates/default/.agents/skills/actions/SKILL.md +32 -12
- package/src/templates/default/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/src/templates/default/.agents/skills/integration-webhooks/SKILL.md +323 -0
- package/src/templates/default/.agents/skills/onboarding/SKILL.md +56 -0
- package/src/templates/default/.agents/skills/secrets/SKILL.md +273 -0
- package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/src/templates/default/AGENTS.md +25 -18
- package/src/templates/headless/.agents/skills/actions/SKILL.md +512 -0
- package/src/templates/headless/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/src/templates/headless/.agents/skills/integration-webhooks/SKILL.md +323 -0
- package/src/templates/headless/.agents/skills/secrets/SKILL.md +273 -0
- package/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/src/templates/headless/AGENTS.md +7 -0
- package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +32 -12
- package/src/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +10 -0
- package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +6 -0
- package/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +102 -0
- package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +11 -2
- package/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
- package/src/templates/workspace-core/AGENTS.md +4 -0
- package/src/templates/workspace-root/AGENTS.md +4 -0
|
@@ -35,8 +35,14 @@ Tier 4 includes **all** of the following — not only editing package source:
|
|
|
35
35
|
- Files under `node_modules/@agent-native/*` (core, dispatch, scheduling, …)
|
|
36
36
|
- `pnpm.overrides`, `overrides`, `resolutions`, or `patchedDependencies` that
|
|
37
37
|
target any `@agent-native/*` package
|
|
38
|
-
- Local patches
|
|
39
|
-
|
|
38
|
+
- Local package patches or invented "dispatch/core behavior" shims meant to
|
|
39
|
+
paper over a version skew or failed upgrade
|
|
40
|
+
|
|
41
|
+
This does not prohibit intentional app-owned UI customization. When public
|
|
42
|
+
props and composition are insufficient, the `customizing-agent-native` skill
|
|
43
|
+
allows copying the smallest reference UI component from the installed source
|
|
44
|
+
into the app. The copy must use public runtime contracts and must not replace
|
|
45
|
+
Core auth, DB, actions, agent execution, or transport behavior.
|
|
40
46
|
|
|
41
47
|
When an older branch needs current packages, use **`agent-native upgrade`**
|
|
42
48
|
(see the `upgrade-agent-native` skill). If upgrade or typecheck fails, fix
|
|
@@ -88,6 +94,8 @@ inline strings in components.
|
|
|
88
94
|
- Don't modify `.env` files or files containing secrets
|
|
89
95
|
- Don't modify `@agent-native/core`, `@agent-native/dispatch`, or other
|
|
90
96
|
`@agent-native/*` package internals (including under `node_modules`)
|
|
97
|
+
- Don't confuse a read-only reference copy with editing package internals: use
|
|
98
|
+
`customizing-agent-native` for selective app-owned UI adoption
|
|
91
99
|
- Don't add `pnpm.overrides` / `patchedDependencies` / `resolutions` for
|
|
92
100
|
`@agent-native/*` to "make the app run" after a version bump
|
|
93
101
|
- Don't invent local dispatch/core behavior overrides when upgrade fails —
|
|
@@ -99,6 +107,7 @@ inline strings in components.
|
|
|
99
107
|
## Related Skills
|
|
100
108
|
|
|
101
109
|
- **upgrade-agent-native** — supported path to bring an older app/workspace current
|
|
110
|
+
- **customizing-agent-native** — safe selective adoption of installed reference UI
|
|
102
111
|
- **storing-data** — Tier 1 modifications (data files) are the safest and most common
|
|
103
112
|
- **actions** — The agent can create or modify actions to add new capabilities
|
|
104
113
|
- **delegate-to-agent** — Self-modification requests come through the agent chat
|
|
@@ -63,6 +63,11 @@ install → refresh scaffold skills → verify, then fix **app** code only.
|
|
|
63
63
|
- Re-run `agent-native upgrade` or `pnpm typecheck`
|
|
64
64
|
- Stop and ask the user if you cannot fix the app-level error
|
|
65
65
|
|
|
66
|
+
Intentional app-level UI customization is a separate workflow. Read
|
|
67
|
+
`customizing-agent-native` when the product needs to own a selectively
|
|
68
|
+
copied component; do not use that path to reproduce framework runtime
|
|
69
|
+
behavior or hide version skew.
|
|
70
|
+
|
|
66
71
|
4. **Dry-run / partial runs**
|
|
67
72
|
|
|
68
73
|
```bash
|
|
@@ -91,4 +96,5 @@ install → refresh scaffold skills → verify, then fix **app** code only.
|
|
|
91
96
|
|
|
92
97
|
- **self-modifying-code** — Tier 4: framework packages are off limits
|
|
93
98
|
- **agent-native-docs** — version-matched docs after the bump
|
|
99
|
+
- **customizing-agent-native** — intentional app-owned UI copies, not upgrade patches
|
|
94
100
|
- **portability** — keep app code provider-agnostic across upgrades
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Thin slides re-export of staged dataset deletion, pre-bound to appId="slides".
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import { deleteStagedDataset } from "@agent-native/core/provider-api/staged-datasets-store";
|
|
4
|
+
import { createDeleteStagedDatasetAction } from "@agent-native/core/provider-api/actions/staged-datasets";
|
|
6
5
|
import { getCredentialContext } from "@agent-native/core/server/request-context";
|
|
7
6
|
import { z } from "zod";
|
|
8
7
|
|
|
9
8
|
import { SLIDES_APP_ID } from "../server/lib/provider-api.js";
|
|
10
9
|
|
|
11
|
-
export default
|
|
10
|
+
export default createDeleteStagedDatasetAction({
|
|
12
11
|
description:
|
|
13
12
|
"Delete a staged dataset by id, freeing its scratch storage. Use after analysis is complete or before re-staging under the same name. Only the owner who staged the dataset can delete it.",
|
|
14
13
|
schema: z.object({
|
|
@@ -19,25 +18,7 @@ export default defineAction({
|
|
|
19
18
|
"Dataset id to delete (from list-staged-datasets or provider-api-request stageAs result).",
|
|
20
19
|
),
|
|
21
20
|
}),
|
|
21
|
+
appId: SLIDES_APP_ID,
|
|
22
|
+
getOwnerEmail: () => getCredentialContext()?.userEmail ?? null,
|
|
22
23
|
http: false,
|
|
23
|
-
run: async (args) => {
|
|
24
|
-
const ctx = getCredentialContext();
|
|
25
|
-
if (!ctx) {
|
|
26
|
-
throw new Error("No authenticated context for delete-staged-dataset.");
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const deleted = await deleteStagedDataset({
|
|
30
|
-
id: args.datasetId,
|
|
31
|
-
appId: SLIDES_APP_ID,
|
|
32
|
-
ownerEmail: ctx.userEmail,
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
if (!deleted) {
|
|
36
|
-
throw new Error(
|
|
37
|
-
`Dataset ${args.datasetId} not found (or belongs to a different owner/app).`,
|
|
38
|
-
);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return { deleted: true, datasetId: args.datasetId };
|
|
42
|
-
},
|
|
43
24
|
});
|
|
@@ -1,40 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Thin slides re-export of staged dataset listing, pre-bound to appId="slides".
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import { listStagedDatasets } from "@agent-native/core/provider-api/staged-datasets-store";
|
|
4
|
+
import { createListStagedDatasetsAction } from "@agent-native/core/provider-api/actions/staged-datasets";
|
|
6
5
|
import { getCredentialContext } from "@agent-native/core/server/request-context";
|
|
7
6
|
import { z } from "zod";
|
|
8
7
|
|
|
9
8
|
import { SLIDES_APP_ID } from "../server/lib/provider-api.js";
|
|
10
9
|
|
|
11
|
-
export default
|
|
10
|
+
export default createListStagedDatasetsAction({
|
|
12
11
|
description:
|
|
13
12
|
"List staged datasets stored by provider-api-request (stageAs) for the current user. Returns dataset ids, names, row counts, columns, and sizes. Use dataset ids with query-staged-dataset to aggregate, or with delete-staged-dataset to free scratch storage.",
|
|
14
13
|
schema: z.object({}),
|
|
14
|
+
appId: SLIDES_APP_ID,
|
|
15
|
+
getOwnerEmail: () => getCredentialContext()?.userEmail ?? null,
|
|
15
16
|
http: { method: "GET" },
|
|
16
|
-
readOnly: true,
|
|
17
|
-
run: async () => {
|
|
18
|
-
const ctx = getCredentialContext();
|
|
19
|
-
if (!ctx) {
|
|
20
|
-
throw new Error("No authenticated context for list-staged-datasets.");
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const datasets = await listStagedDatasets({
|
|
24
|
-
appId: SLIDES_APP_ID,
|
|
25
|
-
ownerEmail: ctx.userEmail,
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
return {
|
|
29
|
-
datasets: datasets.map((d) => ({
|
|
30
|
-
id: d.id,
|
|
31
|
-
name: d.name,
|
|
32
|
-
rowCount: d.rowCount,
|
|
33
|
-
columns: d.columns,
|
|
34
|
-
byteSize: d.byteSize,
|
|
35
|
-
updatedAt: new Date(d.updatedAt).toISOString(),
|
|
36
|
-
})),
|
|
37
|
-
total: datasets.length,
|
|
38
|
-
};
|
|
39
|
-
},
|
|
40
17
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createProviderApiCatalogAction } from "@agent-native/core/provider-api/actions/provider-api";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
|
|
4
4
|
import {
|
|
@@ -8,21 +8,18 @@ import {
|
|
|
8
8
|
|
|
9
9
|
const ProviderSchema = z.enum(SLIDES_PROVIDER_API_IDS);
|
|
10
10
|
|
|
11
|
-
export default
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
guidance:
|
|
25
|
-
"Slides actions like import-google-doc and export-google-slides are workflow shortcuts, not capability limits. When the provider API can answer the question with a better endpoint, query, body, pagination mode, metadata field, export format, or API version, inspect docs/spec URLs and call provider-api-request directly.",
|
|
26
|
-
};
|
|
11
|
+
export default createProviderApiCatalogAction(
|
|
12
|
+
{ listCatalog: listProviderApiCatalog },
|
|
13
|
+
{
|
|
14
|
+
description:
|
|
15
|
+
"List raw HTTP API capabilities for Slides-connected providers. Use before provider-api-request when deck/import convenience actions are too narrow. Returns provider base URLs, auth style, credential key names, docs/spec URLs, placeholders, and examples; never returns secret values.",
|
|
16
|
+
schema: z.object({
|
|
17
|
+
provider: ProviderSchema.optional().describe(
|
|
18
|
+
"Optional provider id to inspect. Omit to list every Slides provider API escape hatch.",
|
|
19
|
+
),
|
|
20
|
+
}),
|
|
21
|
+
http: { method: "GET" },
|
|
22
|
+
guidance:
|
|
23
|
+
"Slides actions like import-google-doc and export-google-slides are workflow shortcuts, not capability limits. When the provider API can answer the question with a better endpoint, query, body, pagination mode, metadata field, export format, or API version, inspect docs/spec URLs and call provider-api-request directly.",
|
|
27
24
|
},
|
|
28
|
-
|
|
25
|
+
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createProviderApiDocsAction } from "@agent-native/core/provider-api/actions/provider-api";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
|
|
4
4
|
import {
|
|
@@ -23,52 +23,61 @@ const WebContentSearchSchema = z.object({
|
|
|
23
23
|
caseSensitive: BooleanFromQuerySchema.optional(),
|
|
24
24
|
});
|
|
25
25
|
|
|
26
|
-
export default
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
.string()
|
|
35
|
-
.url()
|
|
36
|
-
.optional()
|
|
37
|
-
.describe(
|
|
38
|
-
"Optional public docs/spec URL to fetch. Registered docs/spec URLs from provider-api-catalog are curated starting points, but any public http(s) API documentation URL is allowed.",
|
|
26
|
+
export default createProviderApiDocsAction(
|
|
27
|
+
{ fetchDocs: fetchProviderApiDocs },
|
|
28
|
+
{
|
|
29
|
+
description:
|
|
30
|
+
"Inspect provider API docs/spec metadata, or fetch any public API documentation page, OpenAPI spec, changelog, or web page. Use this before provider-api-request when the exact Google Drive endpoint, export format, payload shape, pagination, or API version is uncertain.",
|
|
31
|
+
schema: z.object({
|
|
32
|
+
provider: ProviderSchema.describe(
|
|
33
|
+
"Provider whose API docs/spec to inspect.",
|
|
39
34
|
),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
35
|
+
url: z
|
|
36
|
+
.string()
|
|
37
|
+
.url()
|
|
38
|
+
.optional()
|
|
39
|
+
.describe(
|
|
40
|
+
"Optional public docs/spec URL to fetch. Registered docs/spec URLs from provider-api-catalog are curated starting points, but any public http(s) API documentation URL is allowed.",
|
|
41
|
+
),
|
|
42
|
+
maxBytes: z.coerce
|
|
43
|
+
.number()
|
|
44
|
+
.int()
|
|
45
|
+
.min(1_000)
|
|
46
|
+
.max(4 * 1024 * 1024)
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Maximum response bytes to read. Default 1MB, max 4MB."),
|
|
49
|
+
maxChars: z.coerce
|
|
50
|
+
.number()
|
|
51
|
+
.int()
|
|
52
|
+
.min(1)
|
|
53
|
+
.max(200_000)
|
|
54
|
+
.optional()
|
|
55
|
+
.describe("Maximum extracted content characters to return."),
|
|
56
|
+
responseMode: z
|
|
57
|
+
.enum([
|
|
58
|
+
"auto",
|
|
59
|
+
"raw",
|
|
60
|
+
"text",
|
|
61
|
+
"markdown",
|
|
62
|
+
"links",
|
|
63
|
+
"metadata",
|
|
64
|
+
"matches",
|
|
65
|
+
])
|
|
66
|
+
.optional()
|
|
67
|
+
.describe(
|
|
68
|
+
"How to return fetched docs. Default auto extracts HTML to markdown; use matches with search for compact snippets.",
|
|
69
|
+
),
|
|
70
|
+
extract: z
|
|
71
|
+
.enum(["readability", "all-visible", "none"])
|
|
72
|
+
.optional()
|
|
73
|
+
.describe("HTML extraction strategy. Default readability."),
|
|
74
|
+
includeLinks: BooleanFromQuerySchema.optional().describe(
|
|
75
|
+
"Include compact links from extracted HTML. Default true.",
|
|
59
76
|
),
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
search: WebContentSearchSchema.optional().describe(
|
|
68
|
-
"Optional post-fetch search over extracted content by default. Supports query, queries, terms, regex, source, maxMatches, and contextChars.",
|
|
69
|
-
),
|
|
70
|
-
}),
|
|
71
|
-
http: { method: "GET" },
|
|
72
|
-
readOnly: true,
|
|
73
|
-
run: async (args) => fetchProviderApiDocs(args),
|
|
74
|
-
});
|
|
77
|
+
search: WebContentSearchSchema.optional().describe(
|
|
78
|
+
"Optional post-fetch search over extracted content by default. Supports query, queries, terms, regex, source, maxMatches, and contextChars.",
|
|
79
|
+
),
|
|
80
|
+
}),
|
|
81
|
+
http: { method: "GET" },
|
|
82
|
+
},
|
|
83
|
+
);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { stagingExecuteRequest } from "@agent-native/core/provider-api/staging";
|
|
1
|
+
import { createProviderApiRequestAction } from "@agent-native/core/provider-api/actions/provider-api";
|
|
3
2
|
import { getCredentialContext } from "@agent-native/core/server/request-context";
|
|
4
3
|
import { z } from "zod";
|
|
5
4
|
|
|
@@ -7,7 +6,6 @@ import {
|
|
|
7
6
|
SLIDES_APP_ID,
|
|
8
7
|
SLIDES_PROVIDER_API_IDS,
|
|
9
8
|
executeProviderApiRequest,
|
|
10
|
-
getSlidesProviderApiRuntime,
|
|
11
9
|
} from "../server/lib/provider-api.js";
|
|
12
10
|
|
|
13
11
|
const ProviderSchema = z.enum(SLIDES_PROVIDER_API_IDS);
|
|
@@ -68,173 +66,148 @@ const PaginationSchema = z
|
|
|
68
66
|
})
|
|
69
67
|
.optional();
|
|
70
68
|
|
|
71
|
-
export default
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
"
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
.
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
.
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
.
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
.
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const providerRuntime = getSlidesProviderApiRuntime();
|
|
215
|
-
return stagingExecuteRequest(
|
|
216
|
-
{
|
|
217
|
-
provider: args.provider,
|
|
218
|
-
method: args.method,
|
|
219
|
-
path: args.path,
|
|
220
|
-
query: args.query,
|
|
221
|
-
headers: args.headers,
|
|
222
|
-
body: args.body,
|
|
223
|
-
auth: args.auth,
|
|
224
|
-
connectionId: args.connectionId,
|
|
225
|
-
accountId: args.accountId,
|
|
226
|
-
timeoutMs: args.timeoutMs,
|
|
227
|
-
maxBytes: args.maxBytes,
|
|
228
|
-
stageAs: args.stageAs,
|
|
229
|
-
itemsPath: args.itemsPath,
|
|
230
|
-
pagination: args.pagination,
|
|
231
|
-
},
|
|
232
|
-
(reqArgs) => providerRuntime.executeRequest(reqArgs),
|
|
233
|
-
{ appId: SLIDES_APP_ID, ownerEmail: ctx.userEmail },
|
|
234
|
-
);
|
|
235
|
-
}
|
|
236
|
-
return executeProviderApiRequest(
|
|
237
|
-
args as unknown as Parameters<typeof executeProviderApiRequest>[0],
|
|
238
|
-
);
|
|
69
|
+
export default createProviderApiRequestAction(
|
|
70
|
+
{ executeRequest: executeProviderApiRequest },
|
|
71
|
+
{
|
|
72
|
+
description:
|
|
73
|
+
"Make an arbitrary authenticated HTTP request to a Slides-connected provider API. " +
|
|
74
|
+
"Use this as the flexible escape hatch when a convenience action cannot express the needed Google Drive endpoint, file metadata field, export format, query, request body, pagination mode, payload shape, or API version. " +
|
|
75
|
+
"The request is constrained to the provider host, uses the user's configured Google Docs/Drive OAuth connection automatically, blocks private/internal URLs, and redacts secrets from responses. " +
|
|
76
|
+
"\n\nSTAGING MODE (preferred for large responses): Pass stageAs to write response items into a scratch dataset instead of returning the raw body. " +
|
|
77
|
+
"Returns { dataset, rowCount, columns, sampleRows } so only a compact summary enters context. Use query-staged-dataset to aggregate, filter, and project the data without re-fetching. " +
|
|
78
|
+
"\n\nPAGINATION: When stageAs is set, pass pagination config to fetch all pages server-side into the same dataset. For Google Drive files.list, use nextCursorPath='nextPageToken', cursorParam='pageToken', and itemsPath='files'.",
|
|
79
|
+
schema: z.object({
|
|
80
|
+
provider: ProviderSchema.describe(
|
|
81
|
+
"Configured provider API to call, e.g. google_drive.",
|
|
82
|
+
),
|
|
83
|
+
method: MethodSchema.default("GET").describe("HTTP method to use."),
|
|
84
|
+
path: z
|
|
85
|
+
.string()
|
|
86
|
+
.min(1)
|
|
87
|
+
.describe(
|
|
88
|
+
"Provider API path such as /files, /files/{fileId}, /files/{fileId}/export, or a full URL on an allowed provider host. Use placeholders from provider-api-catalog when provided.",
|
|
89
|
+
),
|
|
90
|
+
query: z
|
|
91
|
+
.unknown()
|
|
92
|
+
.optional()
|
|
93
|
+
.describe(
|
|
94
|
+
"Optional query params as a JSON object/string. Array values produce repeated query params.",
|
|
95
|
+
),
|
|
96
|
+
headers: z
|
|
97
|
+
.record(z.string(), z.unknown())
|
|
98
|
+
.optional()
|
|
99
|
+
.describe(
|
|
100
|
+
"Optional extra headers. Unsafe hop-by-hop headers are ignored. Auth headers are injected from stored credentials.",
|
|
101
|
+
),
|
|
102
|
+
body: z
|
|
103
|
+
.unknown()
|
|
104
|
+
.optional()
|
|
105
|
+
.describe(
|
|
106
|
+
"Optional request body. Objects/arrays are JSON encoded; strings are sent as-is.",
|
|
107
|
+
),
|
|
108
|
+
auth: z
|
|
109
|
+
.enum(["default", "none"])
|
|
110
|
+
.default("default")
|
|
111
|
+
.describe(
|
|
112
|
+
"Use default to inject configured provider auth. Use none only for public provider endpoints that intentionally require no auth.",
|
|
113
|
+
),
|
|
114
|
+
connectionId: z
|
|
115
|
+
.string()
|
|
116
|
+
.trim()
|
|
117
|
+
.min(1)
|
|
118
|
+
.optional()
|
|
119
|
+
.describe(
|
|
120
|
+
"Unused for Slides Google Docs OAuth; reserved for shared grants.",
|
|
121
|
+
),
|
|
122
|
+
accountId: z
|
|
123
|
+
.string()
|
|
124
|
+
.optional()
|
|
125
|
+
.describe(
|
|
126
|
+
"Optional Google Docs OAuth account email when multiple accounts are connected.",
|
|
127
|
+
),
|
|
128
|
+
timeoutMs: z.coerce
|
|
129
|
+
.number()
|
|
130
|
+
.int()
|
|
131
|
+
.min(1_000)
|
|
132
|
+
.max(120_000)
|
|
133
|
+
.optional()
|
|
134
|
+
.describe(
|
|
135
|
+
"Request timeout in milliseconds. Default 30000, max 120000.",
|
|
136
|
+
),
|
|
137
|
+
maxBytes: z.coerce
|
|
138
|
+
.number()
|
|
139
|
+
.int()
|
|
140
|
+
.min(1_000)
|
|
141
|
+
.max(4 * 1024 * 1024)
|
|
142
|
+
.optional()
|
|
143
|
+
.describe(
|
|
144
|
+
"Maximum response bytes to read. Default 1MB, max 4MB. Ignored when saveToFile is set (allows up to 20MB).",
|
|
145
|
+
),
|
|
146
|
+
stageAs: z
|
|
147
|
+
.string()
|
|
148
|
+
.min(1)
|
|
149
|
+
.optional()
|
|
150
|
+
.describe(
|
|
151
|
+
"When set, parse the response as an array of records and write them into a staged dataset with this name. Returns a compact summary instead of the raw body. Re-staging the same name replaces the previous dataset.",
|
|
152
|
+
),
|
|
153
|
+
itemsPath: z
|
|
154
|
+
.string()
|
|
155
|
+
.optional()
|
|
156
|
+
.describe(
|
|
157
|
+
"Dot-path to the items array in the response JSON, e.g. 'files' for Google Drive files.list. Omit for auto-detection.",
|
|
158
|
+
),
|
|
159
|
+
pagination: PaginationSchema.describe(
|
|
160
|
+
"Pagination config for server-side fetchAll when stageAs is set. Supports cursor (nextCursorPath + cursorParam or cursorBodyPath), page, and offset modes.",
|
|
161
|
+
),
|
|
162
|
+
saveToFile: z
|
|
163
|
+
.string()
|
|
164
|
+
.optional()
|
|
165
|
+
.describe(
|
|
166
|
+
"Workspace file path to save the full response body to instead of returning it in context, e.g. 'slides/google-drive-files.json'. When set, returns only a compact summary and allows up to 20MB response.",
|
|
167
|
+
),
|
|
168
|
+
fetchAllPages: z
|
|
169
|
+
.object({
|
|
170
|
+
cursorPath: z
|
|
171
|
+
.string()
|
|
172
|
+
.describe(
|
|
173
|
+
"Dot-path in the JSON response body where the next-page cursor lives, e.g. 'nextPageToken'.",
|
|
174
|
+
),
|
|
175
|
+
cursorParam: z
|
|
176
|
+
.string()
|
|
177
|
+
.optional()
|
|
178
|
+
.describe(
|
|
179
|
+
"Query parameter name to pass the cursor on subsequent pages, e.g. 'pageToken'. Use cursorBodyPath instead for APIs that put cursors in POST bodies.",
|
|
180
|
+
),
|
|
181
|
+
cursorBodyPath: z
|
|
182
|
+
.string()
|
|
183
|
+
.optional()
|
|
184
|
+
.describe(
|
|
185
|
+
"Dot-path in the JSON request body to set to the next cursor. Use for POST-body pagination.",
|
|
186
|
+
),
|
|
187
|
+
itemsPath: z
|
|
188
|
+
.string()
|
|
189
|
+
.optional()
|
|
190
|
+
.describe(
|
|
191
|
+
"Dot-path to the items array in each response, e.g. 'files'. When omitted, the whole response body is appended per page.",
|
|
192
|
+
),
|
|
193
|
+
maxPages: z.coerce
|
|
194
|
+
.number()
|
|
195
|
+
.int()
|
|
196
|
+
.min(1)
|
|
197
|
+
.max(50)
|
|
198
|
+
.optional()
|
|
199
|
+
.describe(
|
|
200
|
+
"Maximum pages to fetch. Default 10, max 50. Stops early when cursor is empty.",
|
|
201
|
+
),
|
|
202
|
+
})
|
|
203
|
+
.optional()
|
|
204
|
+
.describe(
|
|
205
|
+
"Enable cursor-based pagination. For Google Drive files.list use { cursorPath: 'nextPageToken', cursorParam: 'pageToken', itemsPath: 'files' }. For APIs that page through POST bodies, use cursorBodyPath instead of cursorParam.",
|
|
206
|
+
),
|
|
207
|
+
}),
|
|
208
|
+
appId: SLIDES_APP_ID,
|
|
209
|
+
getOwnerEmail: () => getCredentialContext()?.userEmail ?? null,
|
|
210
|
+
http: false,
|
|
211
|
+
toolCallable: false,
|
|
239
212
|
},
|
|
240
|
-
|
|
213
|
+
);
|