@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.
Files changed (490) hide show
  1. package/corpus/README.md +4 -2
  2. package/corpus/core/CHANGELOG.md +22 -0
  3. package/corpus/core/docs/AGENTS.md +7 -0
  4. package/corpus/core/docs/content/integrations.mdx +63 -2
  5. package/corpus/core/docs/design/provider-integration-authority.md +117 -0
  6. package/corpus/core/package.json +6 -1
  7. package/corpus/core/scripts/materialize-source-corpus.mjs +9 -2
  8. package/corpus/core/src/cli/atomic-json-file.ts +324 -0
  9. package/corpus/core/src/cli/claude-code-participant.ts +515 -0
  10. package/corpus/core/src/cli/code-agent-executor.ts +18 -10
  11. package/corpus/core/src/cli/code-agent-runs.concurrent-worker.ts +33 -0
  12. package/corpus/core/src/cli/code-agent-runs.ts +55 -62
  13. package/corpus/core/src/cli/codex-cli-participant.ts +496 -0
  14. package/corpus/core/src/cli/multi-frontier-runs.ts +1246 -135
  15. package/corpus/core/src/client/chat/ChatHistoryList.tsx +7 -404
  16. package/corpus/core/src/integrations/index.ts +10 -0
  17. package/corpus/core/src/integrations/slack-oauth.ts +1 -0
  18. package/corpus/core/src/integrations/webhook-delivery.ts +55 -0
  19. package/corpus/core/src/notifications/channels.ts +4 -10
  20. package/corpus/core/src/provider-api/actions/custom-provider-registration.ts +197 -0
  21. package/corpus/core/src/provider-api/actions/delete-staged-dataset.ts +3 -42
  22. package/corpus/core/src/provider-api/actions/list-staged-datasets.ts +3 -45
  23. package/corpus/core/src/provider-api/actions/provider-api-audit.ts +88 -0
  24. package/corpus/core/src/provider-api/actions/provider-api.ts +460 -0
  25. package/corpus/core/src/provider-api/actions/query-staged-dataset.ts +3 -140
  26. package/corpus/core/src/provider-api/actions/staged-datasets.ts +359 -0
  27. package/corpus/core/src/provider-api/gong.ts +108 -0
  28. package/corpus/core/src/scripts/docs/source-search.ts +2 -1
  29. package/corpus/core/src/server/google-oauth-credentials.ts +80 -3
  30. package/corpus/core/src/server/index.ts +6 -0
  31. package/corpus/core/src/styles/chat-history-list.css +1 -313
  32. package/corpus/core/src/templates/default/.agents/skills/actions/SKILL.md +32 -12
  33. package/corpus/core/src/templates/default/.agents/skills/agent-native-docs/SKILL.md +10 -0
  34. package/corpus/core/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  35. package/corpus/core/src/templates/default/.agents/skills/integration-webhooks/SKILL.md +323 -0
  36. package/corpus/core/src/templates/default/.agents/skills/onboarding/SKILL.md +56 -0
  37. package/corpus/core/src/templates/default/.agents/skills/secrets/SKILL.md +273 -0
  38. package/corpus/core/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +11 -2
  39. package/corpus/core/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  40. package/corpus/core/src/templates/default/AGENTS.md +25 -18
  41. package/corpus/core/src/templates/headless/.agents/skills/actions/SKILL.md +512 -0
  42. package/corpus/core/src/templates/headless/.agents/skills/agent-native-docs/SKILL.md +10 -0
  43. package/corpus/core/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  44. package/corpus/core/src/templates/headless/.agents/skills/integration-webhooks/SKILL.md +323 -0
  45. package/corpus/core/src/templates/headless/.agents/skills/secrets/SKILL.md +273 -0
  46. package/corpus/core/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  47. package/corpus/core/src/templates/headless/AGENTS.md +7 -0
  48. package/corpus/core/src/templates/workspace-core/.agents/skills/actions/SKILL.md +32 -12
  49. package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +10 -0
  50. package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +6 -0
  51. package/corpus/core/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  52. package/corpus/core/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +11 -2
  53. package/corpus/core/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  54. package/corpus/core/src/templates/workspace-core/AGENTS.md +4 -0
  55. package/corpus/core/src/templates/workspace-root/AGENTS.md +4 -0
  56. package/corpus/templates/analytics/.agents/skills/actions/SKILL.md +32 -12
  57. package/corpus/templates/analytics/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  58. package/corpus/templates/analytics/.agents/skills/self-modifying-code/SKILL.md +11 -2
  59. package/corpus/templates/analytics/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  60. package/corpus/templates/analytics/actions/delete-staged-dataset.ts +3 -23
  61. package/corpus/templates/analytics/actions/list-staged-datasets.ts +3 -27
  62. package/corpus/templates/analytics/actions/provider-api-catalog.ts +16 -19
  63. package/corpus/templates/analytics/actions/provider-api-docs.ts +3 -5
  64. package/corpus/templates/analytics/actions/provider-api-request.ts +162 -185
  65. package/corpus/templates/analytics/actions/query-staged-dataset.ts +3 -47
  66. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +52 -161
  67. package/corpus/templates/assets/.agents/skills/actions/SKILL.md +32 -12
  68. package/corpus/templates/assets/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  69. package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +11 -2
  70. package/corpus/templates/assets/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  71. package/corpus/templates/assets/app/components/layout/Sidebar.tsx +63 -160
  72. package/corpus/templates/brain/.agents/skills/actions/SKILL.md +32 -12
  73. package/corpus/templates/brain/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  74. package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +11 -2
  75. package/corpus/templates/brain/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  76. package/corpus/templates/brain/actions/_schemas.ts +13 -7
  77. package/corpus/templates/brain/actions/delete-staged-dataset.ts +3 -24
  78. package/corpus/templates/brain/actions/list-staged-datasets.ts +3 -28
  79. package/corpus/templates/brain/actions/provider-api-catalog.ts +5 -11
  80. package/corpus/templates/brain/actions/provider-api-docs.ts +3 -5
  81. package/corpus/templates/brain/actions/provider-api-request.ts +3 -37
  82. package/corpus/templates/brain/actions/query-staged-dataset.ts +3 -48
  83. package/corpus/templates/brain/actions/update-source.ts +5 -1
  84. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +48 -154
  85. package/corpus/templates/brain/app/lib/brain.ts +55 -0
  86. package/corpus/templates/brain/app/lib/ingest-handoff.ts +35 -0
  87. package/corpus/templates/brain/changelog/2026-07-19-slack-backfills-can-now-join-configured-public-channels-befo.md +6 -0
  88. package/corpus/templates/brain/changelog/2026-07-19-slack-backfills-now-continue-across-the-configured-number-of.md +6 -0
  89. package/corpus/templates/brain/changelog/2026-07-19-slack-backfills-now-start-with-a-safe-four-week-window-and-r.md +6 -0
  90. package/corpus/templates/brain/server/lib/connectors.ts +53 -2
  91. package/corpus/templates/brain/server/lib/slack-channel-membership.ts +44 -0
  92. package/corpus/templates/brain/shared/slack-source-config.ts +60 -0
  93. package/corpus/templates/calendar/.agents/skills/actions/SKILL.md +32 -12
  94. package/corpus/templates/calendar/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  95. package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +11 -2
  96. package/corpus/templates/calendar/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  97. package/corpus/templates/calendar/actions/delete-staged-dataset.ts +3 -24
  98. package/corpus/templates/calendar/actions/list-staged-datasets.ts +3 -28
  99. package/corpus/templates/calendar/actions/provider-api-catalog.ts +5 -11
  100. package/corpus/templates/calendar/actions/provider-api-docs.ts +3 -5
  101. package/corpus/templates/calendar/actions/provider-api-request.ts +3 -37
  102. package/corpus/templates/calendar/actions/query-staged-dataset.ts +3 -48
  103. package/corpus/templates/calendar/server/handlers/gong.ts +6 -61
  104. package/corpus/templates/calendar/server/handlers/google-auth.ts +10 -8
  105. package/corpus/templates/calendar/server/lib/google-calendar.ts +7 -45
  106. package/corpus/templates/chat/.agents/skills/actions/SKILL.md +32 -12
  107. package/corpus/templates/chat/.agents/skills/agent-native-docs/SKILL.md +10 -0
  108. package/corpus/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  109. package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +11 -2
  110. package/corpus/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  111. package/corpus/templates/chat/AGENTS.md +5 -2
  112. package/corpus/templates/chat/app/components/layout/Sidebar.tsx +51 -157
  113. package/corpus/templates/clips/.agents/skills/actions/SKILL.md +32 -12
  114. package/corpus/templates/clips/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  115. package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +11 -2
  116. package/corpus/templates/clips/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  117. package/corpus/templates/clips/AGENTS.md +11 -0
  118. package/corpus/templates/clips/actions/export-to-brain.ts +505 -171
  119. package/corpus/templates/clips/changelog/2026-07-19-ready-clips-transcripts-can-be-backfilled-to-brain-for-a-bou.md +6 -0
  120. package/corpus/templates/clips/server/lib/calendar-event-meetings.ts +1 -1
  121. package/corpus/templates/clips/server/lib/google-calendar-client.ts +12 -22
  122. package/corpus/templates/clips/server/lib/google-calendar-oauth.ts +9 -6
  123. package/corpus/templates/clips/server/lib/slack-oauth.ts +12 -47
  124. package/corpus/templates/clips/server/routes/_agent-native/google/auth-url.get.ts +2 -6
  125. package/corpus/templates/clips/server/routes/api/auth/google-calendar.get.ts +4 -4
  126. package/corpus/templates/content/.agents/skills/actions/SKILL.md +32 -12
  127. package/corpus/templates/content/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  128. package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +11 -2
  129. package/corpus/templates/content/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  130. package/corpus/templates/content/actions/delete-staged-dataset.ts +3 -24
  131. package/corpus/templates/content/actions/list-staged-datasets.ts +3 -28
  132. package/corpus/templates/content/actions/provider-api-catalog.ts +5 -11
  133. package/corpus/templates/content/actions/provider-api-docs.ts +3 -5
  134. package/corpus/templates/content/actions/provider-api-request.ts +3 -37
  135. package/corpus/templates/content/actions/query-staged-dataset.ts +3 -48
  136. package/corpus/templates/design/.agents/skills/actions/SKILL.md +32 -12
  137. package/corpus/templates/design/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  138. package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +11 -2
  139. package/corpus/templates/design/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  140. package/corpus/templates/design/actions/delete-staged-dataset.ts +4 -23
  141. package/corpus/templates/design/actions/list-staged-datasets.ts +4 -27
  142. package/corpus/templates/design/actions/provider-api-catalog.ts +15 -18
  143. package/corpus/templates/design/actions/provider-api-docs.ts +57 -48
  144. package/corpus/templates/design/actions/provider-api-request.ts +140 -164
  145. package/corpus/templates/design/actions/query-staged-dataset.ts +4 -47
  146. package/corpus/templates/dispatch/.agents/skills/actions/SKILL.md +32 -12
  147. package/corpus/templates/dispatch/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  148. package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +11 -2
  149. package/corpus/templates/dispatch/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  150. package/corpus/templates/dispatch/actions/delete-staged-dataset.ts +4 -23
  151. package/corpus/templates/dispatch/actions/list-staged-datasets.ts +4 -30
  152. package/corpus/templates/dispatch/actions/provider-api-catalog.ts +15 -18
  153. package/corpus/templates/dispatch/actions/provider-api-docs.ts +57 -48
  154. package/corpus/templates/dispatch/actions/provider-api-request.ts +138 -163
  155. package/corpus/templates/dispatch/actions/query-staged-dataset.ts +4 -47
  156. package/corpus/templates/forms/.agents/skills/actions/SKILL.md +32 -12
  157. package/corpus/templates/forms/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  158. package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +11 -2
  159. package/corpus/templates/forms/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  160. package/corpus/templates/forms/server/lib/integrations.ts +23 -22
  161. package/corpus/templates/macros/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  162. package/corpus/templates/macros/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  163. package/corpus/templates/mail/.agents/skills/actions/SKILL.md +32 -12
  164. package/corpus/templates/mail/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  165. package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +11 -2
  166. package/corpus/templates/mail/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  167. package/corpus/templates/mail/actions/delete-staged-dataset.ts +4 -23
  168. package/corpus/templates/mail/actions/list-staged-datasets.ts +4 -27
  169. package/corpus/templates/mail/actions/provider-api-catalog.ts +15 -18
  170. package/corpus/templates/mail/actions/provider-api-docs.ts +57 -48
  171. package/corpus/templates/mail/actions/provider-api-request.ts +146 -173
  172. package/corpus/templates/mail/actions/query-staged-dataset.ts +4 -47
  173. package/corpus/templates/mail/server/handlers/gong.ts +6 -61
  174. package/corpus/templates/mail/server/lib/google-auth.ts +10 -13
  175. package/corpus/templates/plan/.agents/skills/actions/SKILL.md +32 -12
  176. package/corpus/templates/plan/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  177. package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +11 -2
  178. package/corpus/templates/plan/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  179. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +47 -156
  180. package/corpus/templates/slides/.agents/skills/actions/SKILL.md +32 -12
  181. package/corpus/templates/slides/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  182. package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +11 -2
  183. package/corpus/templates/slides/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  184. package/corpus/templates/slides/actions/delete-staged-dataset.ts +4 -23
  185. package/corpus/templates/slides/actions/list-staged-datasets.ts +4 -27
  186. package/corpus/templates/slides/actions/provider-api-catalog.ts +15 -18
  187. package/corpus/templates/slides/actions/provider-api-docs.ts +57 -48
  188. package/corpus/templates/slides/actions/provider-api-request.ts +145 -172
  189. package/corpus/templates/slides/actions/query-staged-dataset.ts +4 -47
  190. package/corpus/templates/slides/server/lib/google-docs-oauth.ts +11 -36
  191. package/corpus/templates/tasks/.agents/skills/actions/SKILL.md +32 -12
  192. package/corpus/templates/tasks/.agents/skills/agent-native-docs/SKILL.md +10 -0
  193. package/corpus/templates/tasks/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  194. package/corpus/templates/tasks/.agents/skills/self-modifying-code/SKILL.md +11 -2
  195. package/corpus/templates/tasks/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  196. package/corpus/toolkit/CHANGELOG.md +125 -0
  197. package/corpus/toolkit/README.md +60 -0
  198. package/corpus/toolkit/export-snapshot.json +35 -0
  199. package/corpus/toolkit/migration-manifest.json +4 -0
  200. package/corpus/toolkit/package.json +281 -0
  201. package/corpus/toolkit/scripts/finalize-build.mjs +55 -0
  202. package/corpus/toolkit/src/app-shell/header-actions.tsx +84 -0
  203. package/corpus/toolkit/src/app-shell/index.ts +1 -0
  204. package/corpus/toolkit/src/chat-history/ChatHistoryList.tsx +469 -0
  205. package/corpus/toolkit/src/chat-history/index.ts +7 -0
  206. package/corpus/toolkit/src/chat-history.css +314 -0
  207. package/corpus/toolkit/src/collab-ui/AgentPresenceChip.tsx +69 -0
  208. package/corpus/toolkit/src/collab-ui/LiveCursorOverlay.tsx +241 -0
  209. package/corpus/toolkit/src/collab-ui/PresenceBar.tsx +346 -0
  210. package/corpus/toolkit/src/collab-ui/RecentEditHighlights.tsx +225 -0
  211. package/corpus/toolkit/src/collab-ui/RemoteSelectionRings.tsx +227 -0
  212. package/corpus/toolkit/src/collab-ui/agent-identity.ts +16 -0
  213. package/corpus/toolkit/src/collab-ui/index.ts +39 -0
  214. package/corpus/toolkit/src/collab-ui/lead-client.ts +32 -0
  215. package/corpus/toolkit/src/collab-ui/types.ts +96 -0
  216. package/corpus/toolkit/src/composer/AgentComposerFrame.tsx +59 -0
  217. package/corpus/toolkit/src/composer/ComposerPlusMenu.tsx +983 -0
  218. package/corpus/toolkit/src/composer/MentionPopover.tsx +412 -0
  219. package/corpus/toolkit/src/composer/PastedTextChip.tsx +150 -0
  220. package/corpus/toolkit/src/composer/PromptComposer.tsx +718 -0
  221. package/corpus/toolkit/src/composer/RealtimeVoiceMode.tsx +856 -0
  222. package/corpus/toolkit/src/composer/TiptapComposer.tsx +2936 -0
  223. package/corpus/toolkit/src/composer/VoiceButton.tsx +255 -0
  224. package/corpus/toolkit/src/composer/asset-picker-url.ts +80 -0
  225. package/corpus/toolkit/src/composer/attachment-accept.ts +71 -0
  226. package/corpus/toolkit/src/composer/draft-key.ts +7 -0
  227. package/corpus/toolkit/src/composer/extensions/FileReference.tsx +55 -0
  228. package/corpus/toolkit/src/composer/extensions/MentionReference.tsx +93 -0
  229. package/corpus/toolkit/src/composer/extensions/SkillReference.tsx +56 -0
  230. package/corpus/toolkit/src/composer/index.ts +79 -0
  231. package/corpus/toolkit/src/composer/pasted-text.ts +160 -0
  232. package/corpus/toolkit/src/composer/prompt-attachments.ts +93 -0
  233. package/corpus/toolkit/src/composer/realtime-voice-audio-level.ts +64 -0
  234. package/corpus/toolkit/src/composer/realtime-voice-transcript.ts +134 -0
  235. package/corpus/toolkit/src/composer/runtime-adapters.tsx +343 -0
  236. package/corpus/toolkit/src/composer/types.ts +66 -0
  237. package/corpus/toolkit/src/composer/use-file-search.ts +64 -0
  238. package/corpus/toolkit/src/composer/use-mention-search.ts +90 -0
  239. package/corpus/toolkit/src/composer/use-skills.ts +45 -0
  240. package/corpus/toolkit/src/composer/useRealtimeVoiceMode.tsx +2117 -0
  241. package/corpus/toolkit/src/composer/useVoiceDictation.ts +1191 -0
  242. package/corpus/toolkit/src/context-ui/ContextMeter.tsx +101 -0
  243. package/corpus/toolkit/src/context-ui/ContextSegmentRow.tsx +184 -0
  244. package/corpus/toolkit/src/context-ui/ContextTreemap.tsx +125 -0
  245. package/corpus/toolkit/src/context-ui/ContextXRayPanel.tsx +377 -0
  246. package/corpus/toolkit/src/context-ui/format.ts +42 -0
  247. package/corpus/toolkit/src/context-ui/index.ts +15 -0
  248. package/corpus/toolkit/src/context-ui/types.ts +43 -0
  249. package/corpus/toolkit/src/design-tweaks/index.ts +1 -0
  250. package/corpus/toolkit/src/design-tweaks/visual-style-controls.tsx +1084 -0
  251. package/corpus/toolkit/src/editor/BubbleToolbar.tsx +253 -0
  252. package/corpus/toolkit/src/editor/CodeBlockNode.tsx +254 -0
  253. package/corpus/toolkit/src/editor/DragHandle.ts +1437 -0
  254. package/corpus/toolkit/src/editor/ImageExtension.ts +306 -0
  255. package/corpus/toolkit/src/editor/RegistryBlockContext.tsx +107 -0
  256. package/corpus/toolkit/src/editor/RegistryBlockNode.tsx +652 -0
  257. package/corpus/toolkit/src/editor/RichMarkdownEditor.tsx +81 -0
  258. package/corpus/toolkit/src/editor/RunId.ts +61 -0
  259. package/corpus/toolkit/src/editor/SharedRichEditor.tsx +321 -0
  260. package/corpus/toolkit/src/editor/SlashCommandMenu.tsx +310 -0
  261. package/corpus/toolkit/src/editor/extensions.ts +402 -0
  262. package/corpus/toolkit/src/editor/gfmDoc.ts +92 -0
  263. package/corpus/toolkit/src/editor/index.ts +93 -0
  264. package/corpus/toolkit/src/editor/registrySlashCommands.ts +131 -0
  265. package/corpus/toolkit/src/editor/surgical-apply.ts +192 -0
  266. package/corpus/toolkit/src/editor/useCollabReconcile.ts +589 -0
  267. package/corpus/toolkit/src/editor.css +510 -0
  268. package/corpus/toolkit/src/hooks/index.ts +2 -0
  269. package/corpus/toolkit/src/hooks/use-mobile.tsx +21 -0
  270. package/corpus/toolkit/src/hooks/use-toast.ts +188 -0
  271. package/corpus/toolkit/src/index.ts +8 -0
  272. package/corpus/toolkit/src/onboarding/index.ts +1 -0
  273. package/corpus/toolkit/src/provider.tsx +47 -0
  274. package/corpus/toolkit/src/sharing/VisibilityBadge.tsx +37 -0
  275. package/corpus/toolkit/src/sharing/index.ts +4 -0
  276. package/corpus/toolkit/src/styles.css +21 -0
  277. package/corpus/toolkit/src/ui/accordion.tsx +56 -0
  278. package/corpus/toolkit/src/ui/alert-dialog.tsx +141 -0
  279. package/corpus/toolkit/src/ui/alert.tsx +59 -0
  280. package/corpus/toolkit/src/ui/aspect-ratio.tsx +5 -0
  281. package/corpus/toolkit/src/ui/avatar.tsx +48 -0
  282. package/corpus/toolkit/src/ui/badge.tsx +37 -0
  283. package/corpus/toolkit/src/ui/breadcrumb.tsx +115 -0
  284. package/corpus/toolkit/src/ui/button.tsx +78 -0
  285. package/corpus/toolkit/src/ui/calendar.tsx +214 -0
  286. package/corpus/toolkit/src/ui/card.tsx +86 -0
  287. package/corpus/toolkit/src/ui/carousel.tsx +260 -0
  288. package/corpus/toolkit/src/ui/chart.tsx +375 -0
  289. package/corpus/toolkit/src/ui/checkbox.tsx +28 -0
  290. package/corpus/toolkit/src/ui/collapsible.tsx +9 -0
  291. package/corpus/toolkit/src/ui/command.tsx +174 -0
  292. package/corpus/toolkit/src/ui/context-menu.tsx +202 -0
  293. package/corpus/toolkit/src/ui/date-picker.tsx +64 -0
  294. package/corpus/toolkit/src/ui/dialog.tsx +146 -0
  295. package/corpus/toolkit/src/ui/drawer.tsx +126 -0
  296. package/corpus/toolkit/src/ui/dropdown-menu.tsx +218 -0
  297. package/corpus/toolkit/src/ui/form.tsx +177 -0
  298. package/corpus/toolkit/src/ui/hover-card.tsx +27 -0
  299. package/corpus/toolkit/src/ui/index.ts +52 -0
  300. package/corpus/toolkit/src/ui/input-otp.tsx +69 -0
  301. package/corpus/toolkit/src/ui/input.tsx +22 -0
  302. package/corpus/toolkit/src/ui/label.tsx +24 -0
  303. package/corpus/toolkit/src/ui/logo.tsx +36 -0
  304. package/corpus/toolkit/src/ui/menubar.tsx +235 -0
  305. package/corpus/toolkit/src/ui/navigation-menu.tsx +128 -0
  306. package/corpus/toolkit/src/ui/pagination.tsx +121 -0
  307. package/corpus/toolkit/src/ui/popover.tsx +44 -0
  308. package/corpus/toolkit/src/ui/progress.tsx +26 -0
  309. package/corpus/toolkit/src/ui/radio-group.tsx +42 -0
  310. package/corpus/toolkit/src/ui/resizable.tsx +43 -0
  311. package/corpus/toolkit/src/ui/scroll-area.tsx +46 -0
  312. package/corpus/toolkit/src/ui/select.tsx +158 -0
  313. package/corpus/toolkit/src/ui/separator.tsx +29 -0
  314. package/corpus/toolkit/src/ui/sheet.tsx +160 -0
  315. package/corpus/toolkit/src/ui/sidebar.tsx +777 -0
  316. package/corpus/toolkit/src/ui/skeleton.tsx +18 -0
  317. package/corpus/toolkit/src/ui/slider.tsx +26 -0
  318. package/corpus/toolkit/src/ui/sonner.tsx +58 -0
  319. package/corpus/toolkit/src/ui/spinner.tsx +17 -0
  320. package/corpus/toolkit/src/ui/switch.tsx +27 -0
  321. package/corpus/toolkit/src/ui/table.tsx +117 -0
  322. package/corpus/toolkit/src/ui/tabs.tsx +53 -0
  323. package/corpus/toolkit/src/ui/textarea.tsx +23 -0
  324. package/corpus/toolkit/src/ui/toast.tsx +127 -0
  325. package/corpus/toolkit/src/ui/toaster.tsx +33 -0
  326. package/corpus/toolkit/src/ui/toggle-group.tsx +59 -0
  327. package/corpus/toolkit/src/ui/toggle.tsx +43 -0
  328. package/corpus/toolkit/src/ui/tooltip.tsx +53 -0
  329. package/corpus/toolkit/src/ui/use-toast.ts +3 -0
  330. package/corpus/toolkit/src/utils.ts +8 -0
  331. package/corpus/toolkit/tsconfig.json +23 -0
  332. package/dist/cli/atomic-json-file.d.ts +30 -0
  333. package/dist/cli/atomic-json-file.d.ts.map +1 -0
  334. package/dist/cli/atomic-json-file.js +240 -0
  335. package/dist/cli/atomic-json-file.js.map +1 -0
  336. package/dist/cli/claude-code-participant.d.ts +77 -0
  337. package/dist/cli/claude-code-participant.d.ts.map +1 -0
  338. package/dist/cli/claude-code-participant.js +355 -0
  339. package/dist/cli/claude-code-participant.js.map +1 -0
  340. package/dist/cli/code-agent-executor.d.ts.map +1 -1
  341. package/dist/cli/code-agent-executor.js +18 -10
  342. package/dist/cli/code-agent-executor.js.map +1 -1
  343. package/dist/cli/code-agent-runs.concurrent-worker.d.ts +2 -0
  344. package/dist/cli/code-agent-runs.concurrent-worker.d.ts.map +1 -0
  345. package/dist/cli/code-agent-runs.concurrent-worker.js +32 -0
  346. package/dist/cli/code-agent-runs.concurrent-worker.js.map +1 -0
  347. package/dist/cli/code-agent-runs.d.ts.map +1 -1
  348. package/dist/cli/code-agent-runs.js +43 -56
  349. package/dist/cli/code-agent-runs.js.map +1 -1
  350. package/dist/cli/codex-cli-participant.d.ts +77 -0
  351. package/dist/cli/codex-cli-participant.d.ts.map +1 -0
  352. package/dist/cli/codex-cli-participant.js +354 -0
  353. package/dist/cli/codex-cli-participant.js.map +1 -0
  354. package/dist/cli/multi-frontier-runs.d.ts +115 -0
  355. package/dist/cli/multi-frontier-runs.d.ts.map +1 -1
  356. package/dist/cli/multi-frontier-runs.js +831 -113
  357. package/dist/cli/multi-frontier-runs.js.map +1 -1
  358. package/dist/client/chat/ChatHistoryList.d.ts +1 -87
  359. package/dist/client/chat/ChatHistoryList.d.ts.map +1 -1
  360. package/dist/client/chat/ChatHistoryList.js +1 -82
  361. package/dist/client/chat/ChatHistoryList.js.map +1 -1
  362. package/dist/integrations/index.d.ts +2 -1
  363. package/dist/integrations/index.d.ts.map +1 -1
  364. package/dist/integrations/index.js +2 -1
  365. package/dist/integrations/index.js.map +1 -1
  366. package/dist/integrations/slack-manifest.d.ts +1 -1
  367. package/dist/integrations/slack-oauth.d.ts +1 -1
  368. package/dist/integrations/slack-oauth.d.ts.map +1 -1
  369. package/dist/integrations/slack-oauth.js +1 -0
  370. package/dist/integrations/slack-oauth.js.map +1 -1
  371. package/dist/integrations/webhook-delivery.d.ts +23 -0
  372. package/dist/integrations/webhook-delivery.d.ts.map +1 -0
  373. package/dist/integrations/webhook-delivery.js +32 -0
  374. package/dist/integrations/webhook-delivery.js.map +1 -0
  375. package/dist/notifications/channels.d.ts.map +1 -1
  376. package/dist/notifications/channels.js +4 -9
  377. package/dist/notifications/channels.js.map +1 -1
  378. package/dist/notifications/routes.d.ts +3 -3
  379. package/dist/provider-api/actions/custom-provider-registration.d.ts +136 -0
  380. package/dist/provider-api/actions/custom-provider-registration.d.ts.map +1 -0
  381. package/dist/provider-api/actions/custom-provider-registration.js +154 -0
  382. package/dist/provider-api/actions/custom-provider-registration.js.map +1 -0
  383. package/dist/provider-api/actions/delete-staged-dataset.d.ts +1 -1
  384. package/dist/provider-api/actions/delete-staged-dataset.d.ts.map +1 -1
  385. package/dist/provider-api/actions/delete-staged-dataset.js +3 -34
  386. package/dist/provider-api/actions/delete-staged-dataset.js.map +1 -1
  387. package/dist/provider-api/actions/list-staged-datasets.d.ts +2 -3
  388. package/dist/provider-api/actions/list-staged-datasets.d.ts.map +1 -1
  389. package/dist/provider-api/actions/list-staged-datasets.js +3 -40
  390. package/dist/provider-api/actions/list-staged-datasets.js.map +1 -1
  391. package/dist/provider-api/actions/provider-api-audit.d.ts +7 -0
  392. package/dist/provider-api/actions/provider-api-audit.d.ts.map +1 -0
  393. package/dist/provider-api/actions/provider-api-audit.js +74 -0
  394. package/dist/provider-api/actions/provider-api-audit.js.map +1 -0
  395. package/dist/provider-api/actions/provider-api.d.ts +370 -0
  396. package/dist/provider-api/actions/provider-api.d.ts.map +1 -0
  397. package/dist/provider-api/actions/provider-api.js +280 -0
  398. package/dist/provider-api/actions/provider-api.js.map +1 -0
  399. package/dist/provider-api/actions/query-staged-dataset.d.ts +1 -1
  400. package/dist/provider-api/actions/query-staged-dataset.d.ts.map +1 -1
  401. package/dist/provider-api/actions/query-staged-dataset.js +3 -116
  402. package/dist/provider-api/actions/query-staged-dataset.js.map +1 -1
  403. package/dist/provider-api/actions/staged-datasets.d.ts +190 -0
  404. package/dist/provider-api/actions/staged-datasets.d.ts.map +1 -0
  405. package/dist/provider-api/actions/staged-datasets.js +210 -0
  406. package/dist/provider-api/actions/staged-datasets.js.map +1 -0
  407. package/dist/provider-api/gong.d.ts +44 -0
  408. package/dist/provider-api/gong.d.ts.map +1 -0
  409. package/dist/provider-api/gong.js +56 -0
  410. package/dist/provider-api/gong.js.map +1 -0
  411. package/dist/scripts/docs/source-search.d.ts +2 -1
  412. package/dist/scripts/docs/source-search.d.ts.map +1 -1
  413. package/dist/scripts/docs/source-search.js +2 -1
  414. package/dist/scripts/docs/source-search.js.map +1 -1
  415. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  416. package/dist/server/google-oauth-credentials.d.ts +35 -0
  417. package/dist/server/google-oauth-credentials.d.ts.map +1 -1
  418. package/dist/server/google-oauth-credentials.js +48 -2
  419. package/dist/server/google-oauth-credentials.js.map +1 -1
  420. package/dist/server/index.d.ts +1 -1
  421. package/dist/server/index.d.ts.map +1 -1
  422. package/dist/server/index.js +1 -1
  423. package/dist/server/index.js.map +1 -1
  424. package/dist/styles/chat-history-list.css +1 -313
  425. package/dist/templates/chat/.agents/skills/actions/SKILL.md +32 -12
  426. package/dist/templates/chat/.agents/skills/agent-native-docs/SKILL.md +10 -0
  427. package/dist/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  428. package/dist/templates/chat/.agents/skills/self-modifying-code/SKILL.md +11 -2
  429. package/dist/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  430. package/dist/templates/chat/AGENTS.md +5 -2
  431. package/dist/templates/chat/app/components/layout/Sidebar.tsx +51 -157
  432. package/dist/templates/default/.agents/skills/actions/SKILL.md +32 -12
  433. package/dist/templates/default/.agents/skills/agent-native-docs/SKILL.md +10 -0
  434. package/dist/templates/default/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  435. package/dist/templates/default/.agents/skills/integration-webhooks/SKILL.md +323 -0
  436. package/dist/templates/default/.agents/skills/onboarding/SKILL.md +56 -0
  437. package/dist/templates/default/.agents/skills/secrets/SKILL.md +273 -0
  438. package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +11 -2
  439. package/dist/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  440. package/dist/templates/default/AGENTS.md +25 -18
  441. package/dist/templates/headless/.agents/skills/actions/SKILL.md +512 -0
  442. package/dist/templates/headless/.agents/skills/agent-native-docs/SKILL.md +10 -0
  443. package/dist/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  444. package/dist/templates/headless/.agents/skills/integration-webhooks/SKILL.md +323 -0
  445. package/dist/templates/headless/.agents/skills/secrets/SKILL.md +273 -0
  446. package/dist/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  447. package/dist/templates/headless/AGENTS.md +7 -0
  448. package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +32 -12
  449. package/dist/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +10 -0
  450. package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +6 -0
  451. package/dist/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  452. package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +11 -2
  453. package/dist/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  454. package/dist/templates/workspace-core/AGENTS.md +4 -0
  455. package/dist/templates/workspace-root/AGENTS.md +4 -0
  456. package/docs/AGENTS.md +7 -0
  457. package/docs/content/integrations.mdx +63 -2
  458. package/docs/design/provider-integration-authority.md +117 -0
  459. package/package.json +7 -2
  460. package/src/templates/chat/.agents/skills/actions/SKILL.md +32 -12
  461. package/src/templates/chat/.agents/skills/agent-native-docs/SKILL.md +10 -0
  462. package/src/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  463. package/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +11 -2
  464. package/src/templates/chat/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  465. package/src/templates/chat/AGENTS.md +5 -2
  466. package/src/templates/chat/app/components/layout/Sidebar.tsx +51 -157
  467. package/src/templates/default/.agents/skills/actions/SKILL.md +32 -12
  468. package/src/templates/default/.agents/skills/agent-native-docs/SKILL.md +10 -0
  469. package/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  470. package/src/templates/default/.agents/skills/integration-webhooks/SKILL.md +323 -0
  471. package/src/templates/default/.agents/skills/onboarding/SKILL.md +56 -0
  472. package/src/templates/default/.agents/skills/secrets/SKILL.md +273 -0
  473. package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +11 -2
  474. package/src/templates/default/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  475. package/src/templates/default/AGENTS.md +25 -18
  476. package/src/templates/headless/.agents/skills/actions/SKILL.md +512 -0
  477. package/src/templates/headless/.agents/skills/agent-native-docs/SKILL.md +10 -0
  478. package/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  479. package/src/templates/headless/.agents/skills/integration-webhooks/SKILL.md +323 -0
  480. package/src/templates/headless/.agents/skills/secrets/SKILL.md +273 -0
  481. package/src/templates/headless/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  482. package/src/templates/headless/AGENTS.md +7 -0
  483. package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +32 -12
  484. package/src/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +10 -0
  485. package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +6 -0
  486. package/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +102 -0
  487. package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +11 -2
  488. package/src/templates/workspace-core/.agents/skills/upgrade-agent-native/SKILL.md +6 -0
  489. package/src/templates/workspace-core/AGENTS.md +4 -0
  490. package/src/templates/workspace-root/AGENTS.md +4 -0
@@ -0,0 +1,370 @@
1
+ import { z, type ZodTypeAny } from "zod";
2
+ import { type ActionHttpConfig, type ActionRunContext } from "../../action.js";
3
+ import type { ProviderApiRuntime } from "../index.js";
4
+ import { type CreateCustomProviderRegistrationActionOptions } from "./custom-provider-registration.js";
5
+ export declare function createProviderApiRequestSchema(providerSchema?: ZodTypeAny): z.ZodObject<{
6
+ provider: ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
7
+ method: z.ZodDefault<z.ZodEnum<{
8
+ DELETE: "DELETE";
9
+ GET: "GET";
10
+ HEAD: "HEAD";
11
+ PATCH: "PATCH";
12
+ POST: "POST";
13
+ PUT: "PUT";
14
+ }>>;
15
+ path: z.ZodString;
16
+ query: z.ZodOptional<z.ZodUnknown>;
17
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
18
+ body: z.ZodOptional<z.ZodUnknown>;
19
+ auth: z.ZodDefault<z.ZodEnum<{
20
+ default: "default";
21
+ none: "none";
22
+ }>>;
23
+ connectionId: z.ZodOptional<z.ZodString>;
24
+ accountId: z.ZodOptional<z.ZodString>;
25
+ timeoutMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
26
+ maxBytes: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
27
+ saveToFile: z.ZodOptional<z.ZodString>;
28
+ stageAs: z.ZodOptional<z.ZodString>;
29
+ itemsPath: z.ZodOptional<z.ZodString>;
30
+ pagination: z.ZodOptional<z.ZodObject<{
31
+ nextCursorPath: z.ZodOptional<z.ZodString>;
32
+ cursorParam: z.ZodOptional<z.ZodString>;
33
+ cursorBodyPath: z.ZodOptional<z.ZodString>;
34
+ pageParam: z.ZodOptional<z.ZodString>;
35
+ startPage: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
36
+ offsetParam: z.ZodOptional<z.ZodString>;
37
+ pageSize: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
38
+ maxPages: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
39
+ }, z.core.$strip>>;
40
+ fetchAllPages: z.ZodOptional<z.ZodObject<{
41
+ cursorPath: z.ZodString;
42
+ cursorParam: z.ZodOptional<z.ZodString>;
43
+ cursorBodyPath: z.ZodOptional<z.ZodString>;
44
+ itemsPath: z.ZodOptional<z.ZodString>;
45
+ maxPages: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
46
+ }, z.core.$strip>>;
47
+ }, z.core.$strip>;
48
+ export declare function createProviderApiCatalogSchema(providerSchema?: ZodTypeAny): z.ZodObject<{
49
+ provider: z.ZodOptional<ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
50
+ }, z.core.$strip>;
51
+ export declare function createProviderApiDocsSchema(providerSchema?: ZodTypeAny): z.ZodObject<{
52
+ provider: ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
53
+ url: z.ZodOptional<z.ZodString>;
54
+ maxBytes: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
55
+ maxChars: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
56
+ responseMode: z.ZodOptional<z.ZodEnum<{
57
+ auto: "auto";
58
+ links: "links";
59
+ markdown: "markdown";
60
+ matches: "matches";
61
+ metadata: "metadata";
62
+ raw: "raw";
63
+ text: "text";
64
+ }>>;
65
+ extract: z.ZodOptional<z.ZodEnum<{
66
+ "all-visible": "all-visible";
67
+ none: "none";
68
+ readability: "readability";
69
+ }>>;
70
+ includeLinks: z.ZodOptional<z.ZodPreprocess<z.ZodBoolean>>;
71
+ search: z.ZodOptional<z.ZodObject<{
72
+ query: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
73
+ queries: z.ZodOptional<z.ZodArray<z.ZodString>>;
74
+ terms: z.ZodOptional<z.ZodArray<z.ZodString>>;
75
+ regex: z.ZodOptional<z.ZodString>;
76
+ regexFlags: z.ZodOptional<z.ZodString>;
77
+ source: z.ZodOptional<z.ZodEnum<{
78
+ extracted: "extracted";
79
+ raw: "raw";
80
+ }>>;
81
+ maxMatches: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
82
+ contextChars: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
83
+ caseSensitive: z.ZodOptional<z.ZodPreprocess<z.ZodBoolean>>;
84
+ }, z.core.$strip>>;
85
+ }, z.core.$strip>;
86
+ interface ProviderApiActionBaseOptions<TSchema extends ZodTypeAny> {
87
+ schema?: TSchema;
88
+ description?: string;
89
+ http?: ActionHttpConfig | false;
90
+ toolCallable?: boolean;
91
+ }
92
+ export interface CreateProviderApiRequestActionOptions<TSchema extends ZodTypeAny = ReturnType<typeof createProviderApiRequestSchema>> extends ProviderApiActionBaseOptions<TSchema> {
93
+ appId?: string;
94
+ getOwnerEmail?: () => string | null;
95
+ needsApproval?: boolean | ((args: z.output<TSchema>, ctx?: ActionRunContext) => boolean | Promise<boolean>);
96
+ }
97
+ export declare function createProviderApiRequestAction<TSchema extends ZodTypeAny = ReturnType<typeof createProviderApiRequestSchema>>(runtime: Pick<ProviderApiRuntime, "executeRequest">, options?: CreateProviderApiRequestActionOptions<TSchema>): import("../../action.js").ActionDefinition<import("better-auth").StandardSchemaV1.InferInput<TSchema | z.ZodObject<{
98
+ provider: ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
99
+ method: z.ZodDefault<z.ZodEnum<{
100
+ DELETE: "DELETE";
101
+ GET: "GET";
102
+ HEAD: "HEAD";
103
+ PATCH: "PATCH";
104
+ POST: "POST";
105
+ PUT: "PUT";
106
+ }>>;
107
+ path: z.ZodString;
108
+ query: z.ZodOptional<z.ZodUnknown>;
109
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
110
+ body: z.ZodOptional<z.ZodUnknown>;
111
+ auth: z.ZodDefault<z.ZodEnum<{
112
+ default: "default";
113
+ none: "none";
114
+ }>>;
115
+ connectionId: z.ZodOptional<z.ZodString>;
116
+ accountId: z.ZodOptional<z.ZodString>;
117
+ timeoutMs: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
118
+ maxBytes: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
119
+ saveToFile: z.ZodOptional<z.ZodString>;
120
+ stageAs: z.ZodOptional<z.ZodString>;
121
+ itemsPath: z.ZodOptional<z.ZodString>;
122
+ pagination: z.ZodOptional<z.ZodObject<{
123
+ nextCursorPath: z.ZodOptional<z.ZodString>;
124
+ cursorParam: z.ZodOptional<z.ZodString>;
125
+ cursorBodyPath: z.ZodOptional<z.ZodString>;
126
+ pageParam: z.ZodOptional<z.ZodString>;
127
+ startPage: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
128
+ offsetParam: z.ZodOptional<z.ZodString>;
129
+ pageSize: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
130
+ maxPages: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
131
+ }, z.core.$strip>>;
132
+ fetchAllPages: z.ZodOptional<z.ZodObject<{
133
+ cursorPath: z.ZodString;
134
+ cursorParam: z.ZodOptional<z.ZodString>;
135
+ cursorBodyPath: z.ZodOptional<z.ZodString>;
136
+ itemsPath: z.ZodOptional<z.ZodString>;
137
+ maxPages: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
138
+ }, z.core.$strip>>;
139
+ }, z.core.$strip>>, unknown>;
140
+ export interface CreateProviderApiCatalogActionOptions<TSchema extends ZodTypeAny = ReturnType<typeof createProviderApiCatalogSchema>> extends ProviderApiActionBaseOptions<TSchema> {
141
+ guidance?: string;
142
+ }
143
+ export declare function createProviderApiCatalogAction<TSchema extends ZodTypeAny = ReturnType<typeof createProviderApiCatalogSchema>>(runtime: Pick<ProviderApiRuntime, "listCatalog">, options?: CreateProviderApiCatalogActionOptions<TSchema>): import("../../action.js").ActionDefinition<import("better-auth").StandardSchemaV1.InferInput<TSchema | z.ZodObject<{
144
+ provider: z.ZodOptional<ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
145
+ }, z.core.$strip>>, {
146
+ providers: unknown[] | {
147
+ id: "amplitude" | "apollo" | "bigquery" | "clay" | "commonroom" | "dataforseo" | "figma" | "ga4" | "gcloud" | "github" | "gmail" | "gong" | "google_calendar" | "google_drive" | "google_slides" | "grafana" | "granola" | "hubspot" | "jira" | "mixpanel" | "notion" | "posthog" | "prometheus" | "pylon" | "sentry" | "slack" | "stripe" | "twitter";
148
+ label: string;
149
+ defaultBaseUrl: string;
150
+ baseUrlCredentialKey: string | null;
151
+ auth: string;
152
+ credentialKeys: readonly string[];
153
+ docsUrls: readonly string[];
154
+ specUrls: readonly string[];
155
+ allowedHostSuffixes: readonly string[];
156
+ placeholders: readonly import("../index.js").ProviderApiPlaceholder[];
157
+ defaultHeaders: Record<string, string>;
158
+ examples: readonly import("../index.js").ProviderApiExample[];
159
+ notes: readonly string[];
160
+ corpusRecipes: readonly import("../index.js").ProviderApiCorpusRecipe[];
161
+ templateUses: readonly import("../../index.js").WorkspaceConnectionTemplateUse[];
162
+ }[];
163
+ guidance: string;
164
+ }>;
165
+ export interface CreateProviderApiDocsActionOptions<TSchema extends ZodTypeAny = ReturnType<typeof createProviderApiDocsSchema>> extends ProviderApiActionBaseOptions<TSchema> {
166
+ }
167
+ export declare function createProviderApiDocsAction<TSchema extends ZodTypeAny = ReturnType<typeof createProviderApiDocsSchema>>(runtime: Pick<ProviderApiRuntime, "fetchDocs">, options?: CreateProviderApiDocsActionOptions<TSchema>): import("../../action.js").ActionDefinition<import("better-auth").StandardSchemaV1.InferInput<TSchema | z.ZodObject<{
168
+ provider: ZodTypeAny<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
169
+ url: z.ZodOptional<z.ZodString>;
170
+ maxBytes: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
171
+ maxChars: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
172
+ responseMode: z.ZodOptional<z.ZodEnum<{
173
+ auto: "auto";
174
+ links: "links";
175
+ markdown: "markdown";
176
+ matches: "matches";
177
+ metadata: "metadata";
178
+ raw: "raw";
179
+ text: "text";
180
+ }>>;
181
+ extract: z.ZodOptional<z.ZodEnum<{
182
+ "all-visible": "all-visible";
183
+ none: "none";
184
+ readability: "readability";
185
+ }>>;
186
+ includeLinks: z.ZodOptional<z.ZodPreprocess<z.ZodBoolean>>;
187
+ search: z.ZodOptional<z.ZodObject<{
188
+ query: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
189
+ queries: z.ZodOptional<z.ZodArray<z.ZodString>>;
190
+ terms: z.ZodOptional<z.ZodArray<z.ZodString>>;
191
+ regex: z.ZodOptional<z.ZodString>;
192
+ regexFlags: z.ZodOptional<z.ZodString>;
193
+ source: z.ZodOptional<z.ZodEnum<{
194
+ extracted: "extracted";
195
+ raw: "raw";
196
+ }>>;
197
+ maxMatches: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
198
+ contextChars: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
199
+ caseSensitive: z.ZodOptional<z.ZodPreprocess<z.ZodBoolean>>;
200
+ }, z.core.$strip>>;
201
+ }, z.core.$strip>>, unknown>;
202
+ export interface CreateProviderApiActionsOptions {
203
+ request?: CreateProviderApiRequestActionOptions;
204
+ catalog?: CreateProviderApiCatalogActionOptions;
205
+ docs?: CreateProviderApiDocsActionOptions;
206
+ customProviderRegistration?: boolean;
207
+ registration?: CreateCustomProviderRegistrationActionOptions;
208
+ }
209
+ export declare function createProviderApiActions(runtime: Pick<ProviderApiRuntime, "executeRequest" | "listCatalog" | "fetchDocs">, options?: CreateProviderApiActionsOptions): {
210
+ request: import("../../action.js").ActionDefinition<{
211
+ provider: unknown;
212
+ method?: "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT" | undefined;
213
+ path: string;
214
+ query?: unknown;
215
+ headers?: Record<string, unknown> | undefined;
216
+ body?: unknown;
217
+ auth?: "default" | "none" | undefined;
218
+ connectionId?: string | undefined;
219
+ accountId?: string | undefined;
220
+ timeoutMs?: unknown;
221
+ maxBytes?: unknown;
222
+ saveToFile?: string | undefined;
223
+ stageAs?: string | undefined;
224
+ itemsPath?: string | undefined;
225
+ pagination?: {
226
+ nextCursorPath?: string | undefined;
227
+ cursorParam?: string | undefined;
228
+ cursorBodyPath?: string | undefined;
229
+ pageParam?: string | undefined;
230
+ startPage?: unknown;
231
+ offsetParam?: string | undefined;
232
+ pageSize?: unknown;
233
+ maxPages?: unknown;
234
+ } | undefined;
235
+ fetchAllPages?: {
236
+ cursorPath: string;
237
+ cursorParam?: string | undefined;
238
+ cursorBodyPath?: string | undefined;
239
+ itemsPath?: string | undefined;
240
+ maxPages?: unknown;
241
+ } | undefined;
242
+ }, unknown>;
243
+ catalog: import("../../action.js").ActionDefinition<{
244
+ provider?: unknown;
245
+ }, {
246
+ providers: unknown[] | {
247
+ id: "amplitude" | "apollo" | "bigquery" | "clay" | "commonroom" | "dataforseo" | "figma" | "ga4" | "gcloud" | "github" | "gmail" | "gong" | "google_calendar" | "google_drive" | "google_slides" | "grafana" | "granola" | "hubspot" | "jira" | "mixpanel" | "notion" | "posthog" | "prometheus" | "pylon" | "sentry" | "slack" | "stripe" | "twitter";
248
+ label: string;
249
+ defaultBaseUrl: string;
250
+ baseUrlCredentialKey: string | null;
251
+ auth: string;
252
+ credentialKeys: readonly string[];
253
+ docsUrls: readonly string[];
254
+ specUrls: readonly string[];
255
+ allowedHostSuffixes: readonly string[];
256
+ placeholders: readonly import("../index.js").ProviderApiPlaceholder[];
257
+ defaultHeaders: Record<string, string>;
258
+ examples: readonly import("../index.js").ProviderApiExample[];
259
+ notes: readonly string[];
260
+ corpusRecipes: readonly import("../index.js").ProviderApiCorpusRecipe[];
261
+ templateUses: readonly import("../../index.js").WorkspaceConnectionTemplateUse[];
262
+ }[];
263
+ guidance: string;
264
+ }>;
265
+ docs: import("../../action.js").ActionDefinition<{
266
+ provider: unknown;
267
+ url?: string | undefined;
268
+ maxBytes?: unknown;
269
+ maxChars?: unknown;
270
+ responseMode?: "auto" | "links" | "markdown" | "matches" | "metadata" | "raw" | "text" | undefined;
271
+ extract?: "all-visible" | "none" | "readability" | undefined;
272
+ includeLinks?: unknown;
273
+ search?: {
274
+ query?: string | string[] | undefined;
275
+ queries?: string[] | undefined;
276
+ terms?: string[] | undefined;
277
+ regex?: string | undefined;
278
+ regexFlags?: string | undefined;
279
+ source?: "extracted" | "raw" | undefined;
280
+ maxMatches?: unknown;
281
+ contextChars?: unknown;
282
+ caseSensitive?: unknown;
283
+ } | undefined;
284
+ }, unknown>;
285
+ register: import("../../action.js").ActionDefinition<{
286
+ operation?: "delete" | "get" | "list" | "upsert" | undefined;
287
+ id?: string | undefined;
288
+ label?: string | undefined;
289
+ baseUrl?: string | undefined;
290
+ auth?: {
291
+ type: "none";
292
+ } | {
293
+ type: "bearer";
294
+ credentialKey: string;
295
+ } | {
296
+ type: "basic";
297
+ usernameKey: string;
298
+ passwordKey: string;
299
+ } | {
300
+ type: "api-key-header";
301
+ credentialKey: string;
302
+ headerName: string;
303
+ } | undefined;
304
+ docsUrls?: string[] | undefined;
305
+ allowedHostSuffixes?: string[] | undefined;
306
+ defaultHeaders?: Record<string, string> | undefined;
307
+ notes?: string | undefined;
308
+ scope?: "org" | "user" | undefined;
309
+ }, {
310
+ id?: undefined;
311
+ provider?: undefined;
312
+ deleted?: undefined;
313
+ found?: undefined;
314
+ providers: {
315
+ id: string;
316
+ label: string;
317
+ baseUrl: string;
318
+ authType: "api-key-header" | "basic" | "bearer" | "none";
319
+ docsUrls: string[];
320
+ notes: string;
321
+ updatedAt: number;
322
+ }[];
323
+ count: number;
324
+ registered?: undefined;
325
+ label?: undefined;
326
+ message?: undefined;
327
+ } | {
328
+ id?: undefined;
329
+ deleted?: undefined;
330
+ providers?: undefined;
331
+ count?: undefined;
332
+ found: boolean;
333
+ provider: import("../custom-registry.js").CustomProviderConfig;
334
+ registered?: undefined;
335
+ label?: undefined;
336
+ message?: undefined;
337
+ } | {
338
+ provider?: undefined;
339
+ deleted?: undefined;
340
+ providers?: undefined;
341
+ count?: undefined;
342
+ found: boolean;
343
+ id: string;
344
+ registered?: undefined;
345
+ label?: undefined;
346
+ message?: undefined;
347
+ } | {
348
+ provider?: undefined;
349
+ found?: undefined;
350
+ providers?: undefined;
351
+ count?: undefined;
352
+ deleted: boolean;
353
+ id: string;
354
+ registered?: undefined;
355
+ label?: undefined;
356
+ message?: undefined;
357
+ } | {
358
+ provider?: undefined;
359
+ deleted?: undefined;
360
+ found?: undefined;
361
+ providers?: undefined;
362
+ count?: undefined;
363
+ registered: boolean;
364
+ id: string;
365
+ label: string;
366
+ message: string;
367
+ }> | undefined;
368
+ };
369
+ export {};
370
+ //# sourceMappingURL=provider-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-api.d.ts","sourceRoot":"","sources":["../../../src/provider-api/actions/provider-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,UAAU,EAAE,MAAM,KAAK,CAAC;AAEzC,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAGV,kBAAkB,EACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,KAAK,6CAA6C,EACnD,MAAM,mCAAmC,CAAC;AAqH3C,wBAAgB,8BAA8B,CAC5C,cAAc,GAAE,UAKb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuFJ;AAED,wBAAgB,8BAA8B,CAC5C,cAAc,GAAE,UAAuB;;kBASxC;AAED,wBAAgB,2BAA2B,CACzC,cAAc,GAAE,UAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4C/C;AAOD,UAAU,4BAA4B,CAAC,OAAO,SAAS,UAAU;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,gBAAgB,GAAG,KAAK,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qCAAqC,CACpD,OAAO,SAAS,UAAU,GAAG,UAAU,CACrC,OAAO,8BAA8B,CACtC,CACD,SAAQ,4BAA4B,CAAC,OAAO,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,CAAC,EACV,OAAO,GACP,CAAC,CACC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EACvB,GAAG,CAAC,EAAE,gBAAgB,KACnB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CACtC;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,SAAS,UAAU,GAAG,UAAU,CACrC,OAAO,8BAA8B,CACtC,EAED,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EACnD,OAAO,GAAE,qCAAqC,CAAC,OAAO,CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAsD7D;AAED,MAAM,WAAW,qCAAqC,CACpD,OAAO,SAAS,UAAU,GAAG,UAAU,CACrC,OAAO,8BAA8B,CACtC,CACD,SAAQ,4BAA4B,CAAC,OAAO,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,SAAS,UAAU,GAAG,UAAU,CACrC,OAAO,8BAA8B,CACtC,EAED,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAChD,OAAO,GAAE,qCAAqC,CAAC,OAAO,CAAM;;;;;;;;;;;;;;;;;;;;;GAoB7D;AAED,MAAM,WAAW,kCAAkC,CACjD,OAAO,SAAS,UAAU,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAC3E,SAAQ,4BAA4B,CAAC,OAAO,CAAC;CAAG;AAElD,wBAAgB,2BAA2B,CACzC,OAAO,SAAS,UAAU,GAAG,UAAU,CAAC,OAAO,2BAA2B,CAAC,EAE3E,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,EAC9C,OAAO,GAAE,kCAAkC,CAAC,OAAO,CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAa1D;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,qCAAqC,CAAC;IAChD,OAAO,CAAC,EAAE,qCAAqC,CAAC;IAChD,IAAI,CAAC,EAAE,kCAAkC,CAAC;IAC1C,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,YAAY,CAAC,EAAE,6CAA6C,CAAC;CAC9D;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,IAAI,CACX,kBAAkB,EAClB,gBAAgB,GAAG,aAAa,GAAG,WAAW,CAC/C,EACD,OAAO,GAAE,+BAAoC;IAG3C,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACP,OAAO;;;;;;;;;;;;;;;;;;;;;;IACP,IAAI;;;;;;;;;;;;;;;;;;;;IACJ,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIX"}
@@ -0,0 +1,280 @@
1
+ import { z } from "zod";
2
+ import { defineAction, } from "../../action.js";
3
+ import { getCredentialContext } from "../../server/request-context.js";
4
+ import { stagingExecuteRequest } from "../staging.js";
5
+ import { createCustomProviderRegistrationAction, } from "./custom-provider-registration.js";
6
+ import { buildProviderApiAuditSummary } from "./provider-api-audit.js";
7
+ const MethodSchema = z.enum(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD"]);
8
+ const PaginationSchema = z
9
+ .object({
10
+ nextCursorPath: z
11
+ .string()
12
+ .optional()
13
+ .describe("Dot-path in the response JSON where the next cursor/token lives, e.g. 'next_cursor', 'meta.next', or 'nextPageToken'."),
14
+ cursorParam: z
15
+ .string()
16
+ .optional()
17
+ .describe("Query parameter name to inject the cursor into the next request. Use cursorBodyPath for APIs that page through POST bodies."),
18
+ cursorBodyPath: z
19
+ .string()
20
+ .optional()
21
+ .describe("Dot-path in the JSON request body to set to the next cursor. Use this for POST-body pagination."),
22
+ pageParam: z
23
+ .string()
24
+ .optional()
25
+ .describe("Use page-number mode: this query param is incremented on each page."),
26
+ startPage: z.coerce
27
+ .number()
28
+ .int()
29
+ .optional()
30
+ .describe("Starting page number for pageParam mode (default 1)."),
31
+ offsetParam: z
32
+ .string()
33
+ .optional()
34
+ .describe("Use offset mode: this query param is incremented by pageSize on each request."),
35
+ pageSize: z.coerce
36
+ .number()
37
+ .int()
38
+ .min(1)
39
+ .optional()
40
+ .describe("Expected page size for offset increments. Defaults to the actual item count of the first page."),
41
+ maxPages: z.coerce
42
+ .number()
43
+ .int()
44
+ .min(1)
45
+ .max(200)
46
+ .optional()
47
+ .describe("Maximum pages to fetch server-side (default 50, max 200)."),
48
+ })
49
+ .optional();
50
+ const FetchAllPagesSchema = z
51
+ .object({
52
+ cursorPath: z
53
+ .string()
54
+ .describe("Dot-path in the JSON response body where the next-page cursor lives, e.g. 'meta.next_cursor' or 'pagination.next_page_token'."),
55
+ cursorParam: z
56
+ .string()
57
+ .optional()
58
+ .describe("Query parameter name to pass the cursor on subsequent pages, e.g. 'cursor' or 'page_token'. Use cursorBodyPath instead for APIs that put cursors in POST bodies."),
59
+ cursorBodyPath: z
60
+ .string()
61
+ .optional()
62
+ .describe("Dot-path in the JSON request body to set to the next cursor. Use for POST-body pagination."),
63
+ itemsPath: z
64
+ .string()
65
+ .optional()
66
+ .describe("Dot-path to the items array in each response, e.g. 'results' or 'data.items'. When omitted, the whole response body is appended per page."),
67
+ maxPages: z.coerce
68
+ .number()
69
+ .int()
70
+ .min(1)
71
+ .max(50)
72
+ .optional()
73
+ .describe("Maximum pages to fetch. Default 10, max 50. Stops early when the cursor is empty."),
74
+ })
75
+ .optional()
76
+ .describe("Enable cursor-based pagination. After each response, reads cursorPath from the JSON body and re-issues the request with cursorParam or cursorBodyPath set, accumulating items from itemsPath (or whole bodies) until cursor is empty or maxPages is reached. Combine with saveToFile to write the full dataset to a workspace file.");
77
+ const BooleanFromQuerySchema = z.preprocess((value) => (typeof value === "string" ? value === "true" : value), z.boolean());
78
+ const WebContentSearchSchema = z.object({
79
+ query: z.union([z.string(), z.array(z.string())]).optional(),
80
+ queries: z.array(z.string()).optional(),
81
+ terms: z.array(z.string()).optional(),
82
+ regex: z.string().optional(),
83
+ regexFlags: z.string().optional(),
84
+ source: z.enum(["extracted", "raw"]).optional(),
85
+ maxMatches: z.coerce.number().int().min(1).max(500).optional(),
86
+ contextChars: z.coerce.number().int().min(0).max(1_000).optional(),
87
+ caseSensitive: BooleanFromQuerySchema.optional(),
88
+ });
89
+ export function createProviderApiRequestSchema(providerSchema = z
90
+ .string()
91
+ .min(1)
92
+ .describe("Provider id to call — built-in or a custom provider id registered via provider-api-register. Use provider-api-catalog to list available providers.")) {
93
+ return z.object({
94
+ provider: providerSchema,
95
+ method: MethodSchema.default("GET").describe("HTTP method to use."),
96
+ path: z
97
+ .string()
98
+ .min(1)
99
+ .describe("Provider API path or a full URL on an allowed provider host. Use placeholders from provider-api-catalog when provided."),
100
+ query: z
101
+ .unknown()
102
+ .optional()
103
+ .describe("Optional query params as a JSON object/string. Array values produce repeated query params."),
104
+ headers: z
105
+ .record(z.string(), z.unknown())
106
+ .optional()
107
+ .describe("Optional extra headers. Unsafe hop-by-hop headers are ignored. Auth headers are injected from stored credentials."),
108
+ body: z
109
+ .unknown()
110
+ .optional()
111
+ .describe("Optional request body. Objects/arrays are JSON encoded; strings are sent as-is."),
112
+ auth: z
113
+ .enum(["default", "none"])
114
+ .default("default")
115
+ .describe("Use default to inject configured provider auth. Use none only for public provider endpoints that intentionally require no auth."),
116
+ connectionId: z
117
+ .string()
118
+ .optional()
119
+ .describe("Optional shared workspace connection id to use when the provider has multiple granted connections."),
120
+ accountId: z
121
+ .string()
122
+ .optional()
123
+ .describe("Optional OAuth account id to use for OAuth-backed providers such as Gmail, Google Calendar, or Google Drive."),
124
+ timeoutMs: z.coerce
125
+ .number()
126
+ .int()
127
+ .min(1_000)
128
+ .max(120_000)
129
+ .optional()
130
+ .describe("Request timeout in milliseconds. Default 30000, max 120000."),
131
+ maxBytes: z.coerce
132
+ .number()
133
+ .int()
134
+ .min(1_000)
135
+ .max(4 * 1024 * 1024)
136
+ .optional()
137
+ .describe("Maximum response bytes to read. Default 1MB, max 4MB. Ignored when saveToFile is set (allows up to 20MB)."),
138
+ saveToFile: z
139
+ .string()
140
+ .optional()
141
+ .describe("Workspace file path to save the full response body to instead of returning it in context. When set, returns a compact summary and allows up to 20MB response."),
142
+ stageAs: z
143
+ .string()
144
+ .min(1)
145
+ .optional()
146
+ .describe("When set, parse the response as records and write them into a staged dataset with this name. Re-staging the same name replaces the previous dataset."),
147
+ itemsPath: z
148
+ .string()
149
+ .optional()
150
+ .describe("Dot-path to the items array in the response JSON. Omit for auto-detection."),
151
+ pagination: PaginationSchema.describe("Pagination config for server-side fetchAll when stageAs is set. Supports cursor, page, and offset modes."),
152
+ fetchAllPages: FetchAllPagesSchema,
153
+ });
154
+ }
155
+ export function createProviderApiCatalogSchema(providerSchema = z.string()) {
156
+ return z.object({
157
+ provider: providerSchema
158
+ .optional()
159
+ .describe("Optional provider id to inspect. Omit to list every available provider API."),
160
+ });
161
+ }
162
+ export function createProviderApiDocsSchema(providerSchema = z.string().min(1)) {
163
+ return z.object({
164
+ provider: providerSchema.describe("Provider whose API docs/spec to inspect."),
165
+ url: z
166
+ .string()
167
+ .url()
168
+ .optional()
169
+ .describe("Optional public documentation, OpenAPI spec, changelog, or web page URL to fetch."),
170
+ maxBytes: z.coerce
171
+ .number()
172
+ .int()
173
+ .min(1_000)
174
+ .max(4 * 1024 * 1024)
175
+ .optional()
176
+ .describe("Maximum response bytes to read. Default 1MB, max 4MB."),
177
+ maxChars: z.coerce
178
+ .number()
179
+ .int()
180
+ .min(1)
181
+ .max(200_000)
182
+ .optional()
183
+ .describe("Maximum extracted content characters to return."),
184
+ responseMode: z
185
+ .enum(["auto", "raw", "text", "markdown", "links", "metadata", "matches"])
186
+ .optional()
187
+ .describe("How to return fetched docs. Default auto extracts HTML to markdown; use matches with search for compact snippets."),
188
+ extract: z
189
+ .enum(["readability", "all-visible", "none"])
190
+ .optional()
191
+ .describe("HTML extraction strategy. Default readability."),
192
+ includeLinks: BooleanFromQuerySchema.optional().describe("Include compact links from extracted HTML. Default true."),
193
+ search: WebContentSearchSchema.optional().describe("Optional post-fetch search over extracted content by default. Supports query, queries, terms, regex, source, maxMatches, and contextChars."),
194
+ });
195
+ }
196
+ export function createProviderApiRequestAction(runtime, options = {}) {
197
+ const schema = options.schema ?? createProviderApiRequestSchema();
198
+ return defineAction({
199
+ description: options.description ??
200
+ "Make an arbitrary authenticated HTTP request to a shared workspace integration, configured provider API, or custom provider registered via provider-api-register. Use this flexible escape hatch when a provider endpoint, filter, pagination mode, payload, or API version is not covered by a first-class action. Requests stay constrained to allowed provider hosts and credentials are injected by the provider runtime.",
201
+ schema,
202
+ http: options.http ?? false,
203
+ ...(options.toolCallable === undefined
204
+ ? {}
205
+ : { toolCallable: options.toolCallable }),
206
+ ...(options.needsApproval === undefined
207
+ ? {}
208
+ : {
209
+ needsApproval: options.needsApproval,
210
+ }),
211
+ audit: {
212
+ recordInputs: false,
213
+ target: (args) => ({
214
+ type: "provider-api",
215
+ id: String(args.provider),
216
+ visibility: "private",
217
+ }),
218
+ summary: (args) => buildProviderApiAuditSummary(args),
219
+ },
220
+ run: async (rawArgs) => {
221
+ const args = rawArgs;
222
+ if (args.stageAs) {
223
+ if (!options.appId) {
224
+ throw new Error("createProviderApiRequestAction requires appId when stageAs is used.");
225
+ }
226
+ const ownerEmail = options.getOwnerEmail
227
+ ? options.getOwnerEmail()
228
+ : (getCredentialContext()?.userEmail ?? null);
229
+ if (!ownerEmail) {
230
+ throw new Error("No authenticated context for provider API staging.");
231
+ }
232
+ return stagingExecuteRequest(args, runtime.executeRequest, {
233
+ appId: options.appId,
234
+ ownerEmail,
235
+ });
236
+ }
237
+ return runtime.executeRequest(args);
238
+ },
239
+ });
240
+ }
241
+ export function createProviderApiCatalogAction(runtime, options = {}) {
242
+ const schema = options.schema ?? createProviderApiCatalogSchema();
243
+ return defineAction({
244
+ description: options.description ??
245
+ "List raw HTTP API capabilities for shared workspace integrations, configured providers, and custom registered providers. Returns setup metadata and examples, never secret values.",
246
+ schema,
247
+ http: options.http ?? { method: "GET" },
248
+ readOnly: true,
249
+ run: async (rawArgs) => {
250
+ const args = rawArgs;
251
+ return {
252
+ providers: await runtime.listCatalog(args.provider),
253
+ guidance: options.guidance ??
254
+ "First-class provider actions are convenience shortcuts, not capability limits. Inspect provider docs and use provider-api-request when the upstream API can express the operation safely.",
255
+ };
256
+ },
257
+ });
258
+ }
259
+ export function createProviderApiDocsAction(runtime, options = {}) {
260
+ const schema = options.schema ?? createProviderApiDocsSchema();
261
+ return defineAction({
262
+ description: options.description ??
263
+ "Inspect provider API docs/spec metadata or fetch a public API documentation page, OpenAPI spec, changelog, or web page. Private and internal addresses remain blocked by the provider runtime.",
264
+ schema,
265
+ http: options.http ?? { method: "GET" },
266
+ readOnly: true,
267
+ run: async (rawArgs) => runtime.fetchDocs(rawArgs),
268
+ });
269
+ }
270
+ export function createProviderApiActions(runtime, options = {}) {
271
+ return {
272
+ request: createProviderApiRequestAction(runtime, options.request),
273
+ catalog: createProviderApiCatalogAction(runtime, options.catalog),
274
+ docs: createProviderApiDocsAction(runtime, options.docs),
275
+ register: options.customProviderRegistration
276
+ ? createCustomProviderRegistrationAction(options.registration)
277
+ : undefined,
278
+ };
279
+ }
280
+ //# sourceMappingURL=provider-api.js.map