@agent-native/core 0.114.15 → 0.115.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/agent-native.eject.json +2 -0
  2. package/bin/agent-native.js +35 -14
  3. package/bin/launcher.js +34 -0
  4. package/corpus/README.md +3 -3
  5. package/corpus/core/CHANGELOG.md +35 -0
  6. package/corpus/core/agent-native.eject.json +2 -0
  7. package/corpus/core/bin/agent-native.js +35 -14
  8. package/corpus/core/bin/launcher.js +34 -0
  9. package/corpus/core/docs/content/agent-native-toolkit.mdx +16 -0
  10. package/corpus/core/docs/content/recurring-jobs.mdx +35 -6
  11. package/corpus/core/export-snapshot.json +4 -0
  12. package/corpus/core/package.json +5 -1
  13. package/corpus/core/src/action.ts +22 -1
  14. package/corpus/core/src/agent/production-agent.ts +105 -3
  15. package/corpus/core/src/cli/templates-meta.ts +12 -0
  16. package/corpus/core/src/client/AssistantChat.tsx +53 -26
  17. package/corpus/core/src/client/agent-page/AgentJobsTab.tsx +19 -0
  18. package/corpus/core/src/client/agent-page/use-jobs.ts +1 -0
  19. package/corpus/core/src/client/chat/message-components.tsx +35 -1
  20. package/corpus/core/src/client/chat/tool-call-display.tsx +38 -3
  21. package/corpus/core/src/connections/catalog.ts +20 -1
  22. package/corpus/core/src/connections/reader.ts +65 -0
  23. package/corpus/core/src/dashboard-storage/index.ts +27 -0
  24. package/corpus/core/src/dashboard-storage/panel-source.ts +168 -0
  25. package/corpus/core/src/dashboard-storage/schema.ts +62 -0
  26. package/corpus/core/src/dashboard-storage/store.ts +333 -0
  27. package/corpus/core/src/deploy/build.ts +95 -16
  28. package/corpus/core/src/eject/provider-api-definitions.ts +1 -0
  29. package/corpus/core/src/eject/workspace-connections.ts +1 -0
  30. package/corpus/core/src/extensions/actions.ts +199 -73
  31. package/corpus/core/src/jobs/actions/list-recurring-jobs.ts +2 -0
  32. package/corpus/core/src/jobs/scheduler.ts +71 -4
  33. package/corpus/core/src/jobs/tools.ts +31 -1
  34. package/corpus/core/src/localization/default-messages.ts +1 -0
  35. package/corpus/core/src/mcp-client/index.ts +6 -0
  36. package/corpus/core/src/provider-api/actions/provider-api.ts +1 -1
  37. package/corpus/core/src/provider-api/index.ts +190 -5
  38. package/corpus/core/src/secrets/register-framework-secrets.ts +8 -0
  39. package/corpus/core/src/server/agent-chat/context-tools.ts +9 -0
  40. package/corpus/core/src/server/agent-chat/framework-prompts.ts +2 -2
  41. package/corpus/core/src/server/agent-chat-plugin.ts +22 -2
  42. package/corpus/core/src/server/core-routes-plugin.ts +1 -0
  43. package/corpus/core/src/server/credential-provider.ts +9 -3
  44. package/corpus/core/src/server/workspace-provider-oauth.ts +181 -4
  45. package/corpus/core/src/styles/agent-native.css +45 -2
  46. package/corpus/core/src/templates/default/.agents/skills/agent-native-docs/SKILL.md +27 -0
  47. package/corpus/core/src/templates/default/.agents/skills/app-branding/SKILL.md +159 -0
  48. package/corpus/core/src/templates/default/.agents/skills/app-permissions/SKILL.md +155 -0
  49. package/corpus/core/src/templates/headless/.agents/skills/agent-native-docs/SKILL.md +27 -0
  50. package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +27 -0
  51. package/corpus/core/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +31 -18
  52. package/corpus/core/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +15 -0
  53. package/corpus/core/src/triggers/actions.ts +11 -2
  54. package/corpus/core/src/triggers/dispatcher.ts +20 -1
  55. package/corpus/core/src/triggers/types.ts +5 -0
  56. package/corpus/core/src/vite/action-types-plugin.ts +9 -1
  57. package/corpus/templates/analytics/.agents/skills/agent-native-docs/SKILL.md +115 -0
  58. package/corpus/templates/analytics/AGENTS.md +11 -11
  59. package/corpus/templates/analytics/_gitignore +39 -0
  60. package/corpus/templates/analytics/actions/query-dashboard-panel.ts +30 -0
  61. package/corpus/templates/analytics/actions/update-dashboard.ts +2 -1
  62. package/corpus/templates/analytics/app/lib/sql-query.ts +11 -25
  63. package/corpus/templates/analytics/changelog/2026-07-21-fixed-extension-updates-failing-before-changes-could-be-appl.md +6 -0
  64. package/corpus/templates/analytics/server/lib/dashboard-panel-query.ts +1 -0
  65. package/corpus/templates/analytics/server/lib/dashboard-panel-source-resolver.ts +51 -0
  66. package/corpus/templates/analytics/server/lib/prometheus.ts +1 -1
  67. package/corpus/templates/analytics/server/plugins/agent-chat.ts +1 -1
  68. package/corpus/templates/assets/.agents/skills/agent-native-docs/SKILL.md +115 -0
  69. package/corpus/templates/brain/.agents/skills/agent-native-docs/SKILL.md +115 -0
  70. package/corpus/templates/calendar/.agents/skills/agent-native-docs/SKILL.md +115 -0
  71. package/corpus/templates/calendar/_gitignore +39 -0
  72. package/corpus/templates/chat/.agents/skills/agent-native-docs/SKILL.md +27 -0
  73. package/corpus/templates/chat/AGENTS.md +1 -1
  74. package/corpus/templates/clips/.agents/skills/agent-native-docs/SKILL.md +115 -0
  75. package/corpus/templates/clips/AGENTS.md +7 -0
  76. package/corpus/templates/clips/actions/prepare-crm-call-evidence.ts +58 -0
  77. package/corpus/templates/clips/app/components/library/bulk-action-toolbar.tsx +25 -8
  78. package/corpus/templates/clips/app/components/library/library-grid.tsx +118 -9
  79. package/corpus/templates/clips/app/components/library/library-layout.tsx +1 -1
  80. package/corpus/templates/clips/app/components/library/recording-card.tsx +10 -8
  81. package/corpus/templates/clips/app/components/recorder/recorder-engine.ts +88 -11
  82. package/corpus/templates/clips/app/i18n/en-US.ts +6 -0
  83. package/corpus/templates/clips/app/routes/_app.trash.tsx +16 -1
  84. package/corpus/templates/clips/changelog/2026-07-21-crm-call-evidence-handoff.md +6 -0
  85. package/corpus/templates/clips/changelog/2026-07-21-recording-retries-and-restarts-keep-their-upload-session-so-.md +6 -0
  86. package/corpus/templates/clips/chrome-extension/src/background.ts +20 -5
  87. package/corpus/templates/clips/chrome-extension/src/native-recording-state.ts +19 -0
  88. package/corpus/templates/clips/chrome-extension/src/offscreen.ts +8 -0
  89. package/corpus/templates/clips/desktop/src/app.tsx +24 -3
  90. package/corpus/templates/clips/desktop/src/overlays/recording-pill.tsx +9 -0
  91. package/corpus/templates/clips/desktop/src-tauri/src/recording_indicator.rs +54 -28
  92. package/corpus/templates/clips/server/plugins/agent-chat.ts +1 -0
  93. package/corpus/templates/content/.agents/skills/agent-native-docs/SKILL.md +115 -0
  94. package/corpus/templates/content/_gitignore +39 -0
  95. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +20 -38
  96. package/corpus/templates/content/app/components/editor/previewDocumentSaveController.ts +40 -1
  97. package/corpus/templates/content/learnings.defaults.md +5 -0
  98. package/corpus/templates/crm/.agents/skills/agent-native-docs/SKILL.md +115 -0
  99. package/corpus/templates/crm/.agents/skills/agent-native-toolkit/SKILL.md +133 -0
  100. package/corpus/templates/crm/.agents/skills/crm/SKILL.md +128 -0
  101. package/corpus/templates/crm/.agents/skills/customizing-agent-native/SKILL.md +145 -0
  102. package/corpus/templates/crm/.agents/skills/feature-flags/SKILL.md +169 -0
  103. package/corpus/templates/crm/.agents/skills/upgrade-agent-native/SKILL.md +100 -0
  104. package/corpus/templates/crm/.env.example +5 -0
  105. package/corpus/templates/crm/AGENTS.md +120 -0
  106. package/corpus/templates/crm/CHANGELOG.md +1 -0
  107. package/corpus/templates/crm/DEVELOPING.md +66 -0
  108. package/corpus/templates/crm/README.md +106 -0
  109. package/corpus/templates/crm/_gitignore +12 -0
  110. package/corpus/templates/crm/actions/_crm-action-utils.ts +87 -0
  111. package/corpus/templates/crm/actions/_crm-dashboard.ts +69 -0
  112. package/corpus/templates/crm/actions/_crm-signal-utils.ts +79 -0
  113. package/corpus/templates/crm/actions/apply-crm-proposals.ts +203 -0
  114. package/corpus/templates/crm/actions/attach-call-evidence.ts +170 -0
  115. package/corpus/templates/crm/actions/configure-crm-connection.ts +126 -0
  116. package/corpus/templates/crm/actions/configure-native-crm.ts +44 -0
  117. package/corpus/templates/crm/actions/create-crm-record.ts +148 -0
  118. package/corpus/templates/crm/actions/create-crm-signal-tracker.ts +58 -0
  119. package/corpus/templates/crm/actions/delete-staged-dataset.ts +14 -0
  120. package/corpus/templates/crm/actions/get-crm-automation-recipe.ts +36 -0
  121. package/corpus/templates/crm/actions/get-crm-dashboard-panel.ts +33 -0
  122. package/corpus/templates/crm/actions/get-crm-dashboard.ts +14 -0
  123. package/corpus/templates/crm/actions/get-crm-overview.ts +13 -0
  124. package/corpus/templates/crm/actions/get-crm-pipeline-data.ts +61 -0
  125. package/corpus/templates/crm/actions/get-crm-record.ts +75 -0
  126. package/corpus/templates/crm/actions/install-crm-pipeline-dashboard.ts +81 -0
  127. package/corpus/templates/crm/actions/list-crm-dashboard-revisions.ts +15 -0
  128. package/corpus/templates/crm/actions/list-crm-dashboards.ts +15 -0
  129. package/corpus/templates/crm/actions/list-crm-proposals.ts +31 -0
  130. package/corpus/templates/crm/actions/list-crm-records.ts +79 -0
  131. package/corpus/templates/crm/actions/list-crm-saved-views.ts +15 -0
  132. package/corpus/templates/crm/actions/list-crm-signal-hits.ts +43 -0
  133. package/corpus/templates/crm/actions/list-crm-signal-trackers.ts +32 -0
  134. package/corpus/templates/crm/actions/list-crm-tasks.ts +22 -0
  135. package/corpus/templates/crm/actions/list-staged-datasets.ts +14 -0
  136. package/corpus/templates/crm/actions/list-workspace-connections.ts +47 -0
  137. package/corpus/templates/crm/actions/manage-crm-signal-tracker.ts +87 -0
  138. package/corpus/templates/crm/actions/manage-crm-task.ts +132 -0
  139. package/corpus/templates/crm/actions/navigate.ts +63 -0
  140. package/corpus/templates/crm/actions/provider-api-catalog.ts +22 -0
  141. package/corpus/templates/crm/actions/provider-api-docs.ts +54 -0
  142. package/corpus/templates/crm/actions/provider-api-request.ts +92 -0
  143. package/corpus/templates/crm/actions/query-staged-dataset.ts +44 -0
  144. package/corpus/templates/crm/actions/record-crm-call-insight.ts +160 -0
  145. package/corpus/templates/crm/actions/record-crm-smart-signal.ts +150 -0
  146. package/corpus/templates/crm/actions/restore-crm-dashboard-revision.ts +23 -0
  147. package/corpus/templates/crm/actions/review-crm-signal.ts +31 -0
  148. package/corpus/templates/crm/actions/run-crm-saved-view-program.ts +103 -0
  149. package/corpus/templates/crm/actions/run-crm-signal-trackers.ts +275 -0
  150. package/corpus/templates/crm/actions/run.ts +11 -0
  151. package/corpus/templates/crm/actions/save-crm-dashboard.ts +51 -0
  152. package/corpus/templates/crm/actions/save-crm-saved-view.ts +119 -0
  153. package/corpus/templates/crm/actions/sync-crm.ts +146 -0
  154. package/corpus/templates/crm/actions/update-crm-record.ts +508 -0
  155. package/corpus/templates/crm/actions/view-screen.ts +218 -0
  156. package/corpus/templates/crm/agent-native.app-skill.json +58 -0
  157. package/corpus/templates/crm/app/components/crm/CreateCrmRecordDialog.tsx +158 -0
  158. package/corpus/templates/crm/app/components/crm/CrmDashboardPanel.tsx +83 -0
  159. package/corpus/templates/crm/app/components/crm/CrmSignalsPanel.tsx +225 -0
  160. package/corpus/templates/crm/app/components/crm/IntelligenceSettings.tsx +413 -0
  161. package/corpus/templates/crm/app/components/crm/RecordActions.tsx +510 -0
  162. package/corpus/templates/crm/app/components/crm/RecordGrid.tsx +134 -0
  163. package/corpus/templates/crm/app/components/crm/RecordWorkspace.tsx +367 -0
  164. package/corpus/templates/crm/app/components/crm/SavedViewDataProgram.tsx +92 -0
  165. package/corpus/templates/crm/app/components/crm/Surface.tsx +96 -0
  166. package/corpus/templates/crm/app/components/crm/WorkOverview.tsx +180 -0
  167. package/corpus/templates/crm/app/components/layout/CrmLayout.tsx +106 -0
  168. package/corpus/templates/crm/app/components/layout/CrmSidebar.tsx +84 -0
  169. package/corpus/templates/crm/app/entry.client.tsx +16 -0
  170. package/corpus/templates/crm/app/entry.server.tsx +10 -0
  171. package/corpus/templates/crm/app/global.css +167 -0
  172. package/corpus/templates/crm/app/hooks/use-navigation-state.ts +60 -0
  173. package/corpus/templates/crm/app/i18n/en-US.ts +89 -0
  174. package/corpus/templates/crm/app/i18n/index.ts +34 -0
  175. package/corpus/templates/crm/app/lib/dashboard.ts +13 -0
  176. package/corpus/templates/crm/app/lib/navigation.ts +54 -0
  177. package/corpus/templates/crm/app/lib/tab-id.ts +1 -0
  178. package/corpus/templates/crm/app/lib/types.ts +172 -0
  179. package/corpus/templates/crm/app/lib/utils.ts +1 -0
  180. package/corpus/templates/crm/app/root.tsx +88 -0
  181. package/corpus/templates/crm/app/routes/_index.tsx +26 -0
  182. package/corpus/templates/crm/app/routes/accounts.tsx +41 -0
  183. package/corpus/templates/crm/app/routes/agent.tsx +5 -0
  184. package/corpus/templates/crm/app/routes/ask.tsx +53 -0
  185. package/corpus/templates/crm/app/routes/dashboard.tsx +118 -0
  186. package/corpus/templates/crm/app/routes/opportunities.tsx +41 -0
  187. package/corpus/templates/crm/app/routes/people.tsx +41 -0
  188. package/corpus/templates/crm/app/routes/proposals.tsx +266 -0
  189. package/corpus/templates/crm/app/routes/records.$recordId.tsx +35 -0
  190. package/corpus/templates/crm/app/routes/settings.tsx +63 -0
  191. package/corpus/templates/crm/app/routes/setup.tsx +308 -0
  192. package/corpus/templates/crm/app/routes/tasks.tsx +252 -0
  193. package/corpus/templates/crm/app/routes/views.tsx +333 -0
  194. package/corpus/templates/crm/app/routes.ts +17 -0
  195. package/corpus/templates/crm/app/vite-env.d.ts +6 -0
  196. package/corpus/templates/crm/changelog/2026-07-21-agent-native-crm.md +6 -0
  197. package/corpus/templates/crm/changelog/2026-07-21-clips-call-evidence-review-recipe.md +6 -0
  198. package/corpus/templates/crm/changelog/2026-07-21-crm-can-now-find-and-review-evidence-grounded-call-signals-w.md +6 -0
  199. package/corpus/templates/crm/changelog/2026-07-21-crm-can-now-manage-keyword-and-smart-call-signal-trackers-fr.md +6 -0
  200. package/corpus/templates/crm/changelog/2026-07-21-delegated-local-crm-automation.md +6 -0
  201. package/corpus/templates/crm/changelog/2026-07-21-native-sql.md +6 -0
  202. package/corpus/templates/crm/changelog/2026-07-21-pipeline-dashboard.md +6 -0
  203. package/corpus/templates/crm/changelog/2026-07-21-pipeline-dashboards-now-install-correctly-from-the-crm-actio.md +6 -0
  204. package/corpus/templates/crm/changelog/2026-07-21-salesforce-connection.md +6 -0
  205. package/corpus/templates/crm/components.json +20 -0
  206. package/corpus/templates/crm/docs/architecture/crm-contract.md +180 -0
  207. package/corpus/templates/crm/learnings.defaults.md +5 -0
  208. package/corpus/templates/crm/package.json +59 -0
  209. package/corpus/templates/crm/public/favicon.svg +1 -0
  210. package/corpus/templates/crm/public/icon-180.svg +1 -0
  211. package/corpus/templates/crm/public/manifest.json +11 -0
  212. package/corpus/templates/crm/react-router.config.ts +7 -0
  213. package/corpus/templates/crm/server/crm/adapter.ts +32 -0
  214. package/corpus/templates/crm/server/crm/crm-field-firewall.ts +64 -0
  215. package/corpus/templates/crm/server/crm/crm-mirror.ts +711 -0
  216. package/corpus/templates/crm/server/crm/hubspot-adapter.ts +1143 -0
  217. package/corpus/templates/crm/server/crm/native-adapter.ts +1715 -0
  218. package/corpus/templates/crm/server/crm/read-through.ts +207 -0
  219. package/corpus/templates/crm/server/crm/salesforce-adapter.ts +1255 -0
  220. package/corpus/templates/crm/server/db/crm-store.ts +1170 -0
  221. package/corpus/templates/crm/server/db/index.ts +169 -0
  222. package/corpus/templates/crm/server/db/schema.ts +441 -0
  223. package/corpus/templates/crm/server/lib/intelligence/default-detectors.ts +65 -0
  224. package/corpus/templates/crm/server/lib/intelligence/evidence.ts +105 -0
  225. package/corpus/templates/crm/server/lib/intelligence/keyword-detector.ts +100 -0
  226. package/corpus/templates/crm/server/lib/intelligence/smart-detector.ts +144 -0
  227. package/corpus/templates/crm/server/lib/intelligence/summary.ts +141 -0
  228. package/corpus/templates/crm/server/lib/provider-api.ts +64 -0
  229. package/corpus/templates/crm/server/middleware/auth.ts +4 -0
  230. package/corpus/templates/crm/server/plugins/agent-chat.ts +68 -0
  231. package/corpus/templates/crm/server/plugins/auth.ts +14 -0
  232. package/corpus/templates/crm/server/plugins/core-routes.ts +17 -0
  233. package/corpus/templates/crm/server/plugins/db.ts +454 -0
  234. package/corpus/templates/crm/server/routes/[...page].get.ts +5 -0
  235. package/corpus/templates/crm/shared/crm-automation-recipes.ts +132 -0
  236. package/corpus/templates/crm/shared/crm-contract.ts +254 -0
  237. package/corpus/templates/crm/shared/crm-sales-config.ts +63 -0
  238. package/corpus/templates/crm/ssr-entry.ts +11 -0
  239. package/corpus/templates/crm/tsconfig.json +24 -0
  240. package/corpus/templates/crm/vite.config.ts +15 -0
  241. package/corpus/templates/crm/vitest.config.ts +5 -0
  242. package/corpus/templates/design/.agents/skills/agent-native-docs/SKILL.md +115 -0
  243. package/corpus/templates/dispatch/.agents/skills/agent-native-docs/SKILL.md +115 -0
  244. package/corpus/templates/forms/.agents/skills/agent-native-docs/SKILL.md +115 -0
  245. package/corpus/templates/forms/_gitignore +39 -0
  246. package/corpus/templates/forms/learnings.defaults.md +5 -0
  247. package/corpus/templates/macros/.agents/skills/agent-native-docs/SKILL.md +115 -0
  248. package/corpus/templates/macros/_gitignore +39 -0
  249. package/corpus/templates/macros/learnings.defaults.md +5 -0
  250. package/corpus/templates/mail/.agents/skills/agent-native-docs/SKILL.md +115 -0
  251. package/corpus/templates/mail/_gitignore +39 -0
  252. package/corpus/templates/plan/.agents/skills/agent-native-docs/SKILL.md +115 -0
  253. package/corpus/templates/slides/.agents/skills/agent-native-docs/SKILL.md +115 -0
  254. package/corpus/templates/slides/_gitignore +39 -0
  255. package/corpus/templates/tasks/.agents/skills/agent-native-docs/SKILL.md +27 -0
  256. package/corpus/templates/tasks/_gitignore +39 -0
  257. package/corpus/toolkit/CHANGELOG.md +12 -0
  258. package/corpus/toolkit/README.md +30 -0
  259. package/corpus/toolkit/agent-native.eject.json +33 -0
  260. package/corpus/toolkit/package.json +15 -1
  261. package/corpus/toolkit/src/dashboard/DataTable.tsx +273 -0
  262. package/corpus/toolkit/src/dashboard/DateRangePicker.tsx +57 -0
  263. package/corpus/toolkit/src/dashboard/GenericChartPanel.tsx +461 -0
  264. package/corpus/toolkit/src/dashboard/MetricCard.tsx +54 -0
  265. package/corpus/toolkit/src/dashboard/StatsCard.tsx +49 -0
  266. package/corpus/toolkit/src/dashboard/dashboard-layout.ts +329 -0
  267. package/corpus/toolkit/src/dashboard/index.ts +6 -0
  268. package/corpus/toolkit/src/index.ts +1 -0
  269. package/corpus/toolkit/src/ui/calendar.tsx +8 -8
  270. package/corpus/toolkit/src/ui/date-picker.tsx +4 -1
  271. package/dist/action.d.ts +14 -1
  272. package/dist/action.d.ts.map +1 -1
  273. package/dist/action.js.map +1 -1
  274. package/dist/agent/production-agent.d.ts +3 -1
  275. package/dist/agent/production-agent.d.ts.map +1 -1
  276. package/dist/agent/production-agent.js +83 -3
  277. package/dist/agent/production-agent.js.map +1 -1
  278. package/dist/cli/templates-meta.d.ts.map +1 -1
  279. package/dist/cli/templates-meta.js +12 -0
  280. package/dist/cli/templates-meta.js.map +1 -1
  281. package/dist/client/AssistantChat.d.ts +4 -0
  282. package/dist/client/AssistantChat.d.ts.map +1 -1
  283. package/dist/client/AssistantChat.js +30 -17
  284. package/dist/client/AssistantChat.js.map +1 -1
  285. package/dist/client/agent-page/AgentJobsTab.d.ts.map +1 -1
  286. package/dist/client/agent-page/AgentJobsTab.js +3 -1
  287. package/dist/client/agent-page/AgentJobsTab.js.map +1 -1
  288. package/dist/client/agent-page/use-jobs.d.ts +1 -0
  289. package/dist/client/agent-page/use-jobs.d.ts.map +1 -1
  290. package/dist/client/agent-page/use-jobs.js.map +1 -1
  291. package/dist/client/chat/message-components.d.ts +5 -0
  292. package/dist/client/chat/message-components.d.ts.map +1 -1
  293. package/dist/client/chat/message-components.js +17 -1
  294. package/dist/client/chat/message-components.js.map +1 -1
  295. package/dist/client/chat/tool-call-display.d.ts +3 -1
  296. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  297. package/dist/client/chat/tool-call-display.js +17 -7
  298. package/dist/client/chat/tool-call-display.js.map +1 -1
  299. package/dist/collab/awareness.d.ts +2 -2
  300. package/dist/collab/awareness.d.ts.map +1 -1
  301. package/dist/collab/routes.d.ts +1 -1
  302. package/dist/collab/struct-routes.d.ts +1 -1
  303. package/dist/connections/catalog.d.ts +17 -3
  304. package/dist/connections/catalog.d.ts.map +1 -1
  305. package/dist/connections/catalog.js +16 -1
  306. package/dist/connections/catalog.js.map +1 -1
  307. package/dist/connections/reader.d.ts +18 -0
  308. package/dist/connections/reader.d.ts.map +1 -1
  309. package/dist/connections/reader.js +41 -0
  310. package/dist/connections/reader.js.map +1 -1
  311. package/dist/dashboard-storage/index.d.ts +4 -0
  312. package/dist/dashboard-storage/index.d.ts.map +1 -0
  313. package/dist/dashboard-storage/index.js +4 -0
  314. package/dist/dashboard-storage/index.js.map +1 -0
  315. package/dist/dashboard-storage/panel-source.d.ts +68 -0
  316. package/dist/dashboard-storage/panel-source.d.ts.map +1 -0
  317. package/dist/dashboard-storage/panel-source.js +76 -0
  318. package/dist/dashboard-storage/panel-source.js.map +1 -0
  319. package/dist/dashboard-storage/schema.d.ts +562 -0
  320. package/dist/dashboard-storage/schema.d.ts.map +1 -0
  321. package/dist/dashboard-storage/schema.js +32 -0
  322. package/dist/dashboard-storage/schema.js.map +1 -0
  323. package/dist/dashboard-storage/store.d.ts +62 -0
  324. package/dist/dashboard-storage/store.d.ts.map +1 -0
  325. package/dist/dashboard-storage/store.js +227 -0
  326. package/dist/dashboard-storage/store.js.map +1 -0
  327. package/dist/deploy/build.d.ts +7 -0
  328. package/dist/deploy/build.d.ts.map +1 -1
  329. package/dist/deploy/build.js +78 -14
  330. package/dist/deploy/build.js.map +1 -1
  331. package/dist/eject/provider-api-definitions.d.ts +2 -1
  332. package/dist/eject/provider-api-definitions.d.ts.map +1 -1
  333. package/dist/eject/provider-api-definitions.js +1 -0
  334. package/dist/eject/provider-api-definitions.js.map +1 -1
  335. package/dist/eject/workspace-connections.d.ts.map +1 -1
  336. package/dist/eject/workspace-connections.js +1 -0
  337. package/dist/eject/workspace-connections.js.map +1 -1
  338. package/dist/extensions/actions.d.ts.map +1 -1
  339. package/dist/extensions/actions.js +165 -67
  340. package/dist/extensions/actions.js.map +1 -1
  341. package/dist/file-upload/actions/upload-image.d.ts +1 -1
  342. package/dist/jobs/actions/list-recurring-jobs.d.ts +1 -0
  343. package/dist/jobs/actions/list-recurring-jobs.d.ts.map +1 -1
  344. package/dist/jobs/actions/list-recurring-jobs.js +1 -0
  345. package/dist/jobs/actions/list-recurring-jobs.js.map +1 -1
  346. package/dist/jobs/scheduler.d.ts +17 -2
  347. package/dist/jobs/scheduler.d.ts.map +1 -1
  348. package/dist/jobs/scheduler.js +51 -2
  349. package/dist/jobs/scheduler.js.map +1 -1
  350. package/dist/jobs/tools.d.ts.map +1 -1
  351. package/dist/jobs/tools.js +32 -2
  352. package/dist/jobs/tools.js.map +1 -1
  353. package/dist/localization/default-messages.d.ts +1 -0
  354. package/dist/localization/default-messages.d.ts.map +1 -1
  355. package/dist/localization/default-messages.js +1 -0
  356. package/dist/localization/default-messages.js.map +1 -1
  357. package/dist/mcp-client/index.d.ts +2 -0
  358. package/dist/mcp-client/index.d.ts.map +1 -1
  359. package/dist/mcp-client/index.js +5 -0
  360. package/dist/mcp-client/index.js.map +1 -1
  361. package/dist/observability/routes.d.ts +1 -1
  362. package/dist/provider-api/actions/custom-provider-registration.d.ts +8 -8
  363. package/dist/provider-api/actions/provider-api.d.ts +8 -6
  364. package/dist/provider-api/actions/provider-api.d.ts.map +1 -1
  365. package/dist/provider-api/actions/provider-api.js +1 -1
  366. package/dist/provider-api/actions/provider-api.js.map +1 -1
  367. package/dist/provider-api/index.d.ts +11 -7
  368. package/dist/provider-api/index.d.ts.map +1 -1
  369. package/dist/provider-api/index.js +143 -5
  370. package/dist/provider-api/index.js.map +1 -1
  371. package/dist/resources/handlers.d.ts +1 -1
  372. package/dist/secrets/register-framework-secrets.d.ts.map +1 -1
  373. package/dist/secrets/register-framework-secrets.js +7 -0
  374. package/dist/secrets/register-framework-secrets.js.map +1 -1
  375. package/dist/server/agent-chat/context-tools.d.ts.map +1 -1
  376. package/dist/server/agent-chat/context-tools.js +9 -0
  377. package/dist/server/agent-chat/context-tools.js.map +1 -1
  378. package/dist/server/agent-chat/framework-prompts.js +2 -2
  379. package/dist/server/agent-chat/framework-prompts.js.map +1 -1
  380. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  381. package/dist/server/agent-chat-plugin.js +18 -2
  382. package/dist/server/agent-chat-plugin.js.map +1 -1
  383. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  384. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  385. package/dist/server/core-routes-plugin.js +1 -0
  386. package/dist/server/core-routes-plugin.js.map +1 -1
  387. package/dist/server/credential-provider.d.ts +4 -3
  388. package/dist/server/credential-provider.d.ts.map +1 -1
  389. package/dist/server/credential-provider.js +9 -3
  390. package/dist/server/credential-provider.js.map +1 -1
  391. package/dist/server/workspace-provider-oauth.d.ts +6 -1
  392. package/dist/server/workspace-provider-oauth.d.ts.map +1 -1
  393. package/dist/server/workspace-provider-oauth.js +141 -4
  394. package/dist/server/workspace-provider-oauth.js.map +1 -1
  395. package/dist/styles/agent-native.css +45 -2
  396. package/dist/templates/chat/.agents/skills/agent-native-docs/SKILL.md +27 -0
  397. package/dist/templates/chat/AGENTS.md +1 -1
  398. package/dist/templates/default/.agents/skills/agent-native-docs/SKILL.md +27 -0
  399. package/dist/templates/default/.agents/skills/app-branding/SKILL.md +159 -0
  400. package/dist/templates/default/.agents/skills/app-permissions/SKILL.md +155 -0
  401. package/dist/templates/headless/.agents/skills/agent-native-docs/SKILL.md +27 -0
  402. package/dist/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +27 -0
  403. package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +31 -18
  404. package/dist/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +15 -0
  405. package/dist/triggers/actions.d.ts.map +1 -1
  406. package/dist/triggers/actions.js +10 -2
  407. package/dist/triggers/actions.js.map +1 -1
  408. package/dist/triggers/dispatcher.d.ts.map +1 -1
  409. package/dist/triggers/dispatcher.js +15 -0
  410. package/dist/triggers/dispatcher.js.map +1 -1
  411. package/dist/triggers/types.d.ts +5 -0
  412. package/dist/triggers/types.d.ts.map +1 -1
  413. package/dist/triggers/types.js.map +1 -1
  414. package/dist/vite/action-types-plugin.d.ts.map +1 -1
  415. package/dist/vite/action-types-plugin.js +4 -1
  416. package/dist/vite/action-types-plugin.js.map +1 -1
  417. package/docs/content/agent-native-toolkit.mdx +16 -0
  418. package/docs/content/recurring-jobs.mdx +35 -6
  419. package/package.json +6 -2
  420. package/src/action.ts +22 -1
  421. package/src/agent/production-agent.ts +105 -3
  422. package/src/cli/templates-meta.ts +12 -0
  423. package/src/client/AssistantChat.tsx +53 -26
  424. package/src/client/agent-page/AgentJobsTab.tsx +19 -0
  425. package/src/client/agent-page/use-jobs.ts +1 -0
  426. package/src/client/chat/message-components.tsx +35 -1
  427. package/src/client/chat/tool-call-display.tsx +38 -3
  428. package/src/connections/catalog.ts +20 -1
  429. package/src/connections/reader.ts +65 -0
  430. package/src/dashboard-storage/index.ts +27 -0
  431. package/src/dashboard-storage/panel-source.ts +168 -0
  432. package/src/dashboard-storage/schema.ts +62 -0
  433. package/src/dashboard-storage/store.ts +333 -0
  434. package/src/deploy/build.ts +95 -16
  435. package/src/eject/provider-api-definitions.ts +1 -0
  436. package/src/eject/workspace-connections.ts +1 -0
  437. package/src/extensions/actions.ts +199 -73
  438. package/src/jobs/actions/list-recurring-jobs.ts +2 -0
  439. package/src/jobs/scheduler.ts +71 -4
  440. package/src/jobs/tools.ts +31 -1
  441. package/src/localization/default-messages.ts +1 -0
  442. package/src/mcp-client/index.ts +6 -0
  443. package/src/provider-api/actions/provider-api.ts +1 -1
  444. package/src/provider-api/index.ts +190 -5
  445. package/src/secrets/register-framework-secrets.ts +8 -0
  446. package/src/server/agent-chat/context-tools.ts +9 -0
  447. package/src/server/agent-chat/framework-prompts.ts +2 -2
  448. package/src/server/agent-chat-plugin.ts +22 -2
  449. package/src/server/core-routes-plugin.ts +1 -0
  450. package/src/server/credential-provider.ts +9 -3
  451. package/src/server/workspace-provider-oauth.ts +181 -4
  452. package/src/styles/agent-native.css +45 -2
  453. package/src/templates/chat/.agents/skills/agent-native-docs/SKILL.md +27 -0
  454. package/src/templates/chat/AGENTS.md +1 -1
  455. package/src/templates/default/.agents/skills/agent-native-docs/SKILL.md +27 -0
  456. package/src/templates/default/.agents/skills/app-branding/SKILL.md +159 -0
  457. package/src/templates/default/.agents/skills/app-permissions/SKILL.md +155 -0
  458. package/src/templates/headless/.agents/skills/agent-native-docs/SKILL.md +27 -0
  459. package/src/templates/workspace-core/.agents/skills/agent-native-docs/SKILL.md +27 -0
  460. package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +31 -18
  461. package/src/templates/workspace-core/.agents/skills/recurring-jobs/SKILL.md +15 -0
  462. package/src/triggers/actions.ts +11 -2
  463. package/src/triggers/dispatcher.ts +20 -1
  464. package/src/triggers/types.ts +5 -0
  465. package/src/vite/action-types-plugin.ts +9 -1
  466. package/corpus/templates/analytics/server/handlers/sql-query.ts +0 -36
  467. package/corpus/templates/analytics/server/routes/api/sql-query.post.ts +0 -1
@@ -6,9 +6,10 @@ export declare function mergeProviderApiConfigs(overrides?: readonly ProviderApi
6
6
  export declare function getProviderApiConfig(providerId: ProviderApiId | string, overrides?: readonly ProviderApiConfig[]): ProviderApiConfig;
7
7
  export declare function listProviderApiIdsForTemplateUse(templateUse: WorkspaceConnectionTemplateUse, overrides?: readonly ProviderApiConfig[]): ProviderApiId[];
8
8
  export declare function listProviderApiCatalog(providerId?: ProviderApiId | string, options?: Parameters<typeof listRuntimeProviderApiCatalog>[1]): {
9
- 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";
9
+ 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" | "salesforce" | "sentry" | "slack" | "stripe" | "twitter";
10
10
  label: string;
11
11
  defaultBaseUrl: string;
12
+ requiresConnectionId: boolean;
12
13
  baseUrlCredentialKey: string | null;
13
14
  auth: string;
14
15
  credentialKeys: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"provider-api-definitions.d.ts","sourceRoot":"","sources":["../../src/eject/provider-api-definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-api-definitions.d.ts","sourceRoot":"","sources":["../../src/eject/provider-api-definitions.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export const providerApiOverrides = [
22
22
  provider("granola"),
23
23
  provider("grafana"),
24
24
  provider("hubspot"),
25
+ provider("salesforce"),
25
26
  provider("jira"),
26
27
  provider("mixpanel"),
27
28
  provider("notion"),
@@ -1 +1 @@
1
- {"version":3,"file":"provider-api-definitions.js","sourceRoot":"","sources":["../../src/eject/provider-api-definitions.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,IAAI,+BAA+B,EAC3D,0BAA0B,IAAI,iCAAiC,EAC/D,yBAAyB,IAAI,gCAAgC,EAC7D,oBAAoB,IAAI,2BAA2B,EACnD,oBAAoB,IAAI,2BAA2B,EACnD,yBAAyB,IAAI,gCAAgC,EAC7D,sBAAsB,IAAI,6BAA6B,EACvD,uBAAuB,IAAI,8BAA8B,EACzD,wBAAwB,IAAI,+BAA+B,EAC3D,kCAAkC,IAAI,yCAAyC,EAC/E,2BAA2B,IAAI,kCAAkC,EACjE,yBAAyB,IAAI,gCAAgC,GAK9D,MAAM,yCAAyC,CAAC;AAEjD,cAAc,yCAAyC,CAAC;AAExD,MAAM,QAAQ,GAAG,CAAC,EAAiB,EAAqB,EAAE,CAAC,CAAC;IAC1D,GAAG,2BAA2B,CAAC,EAAE,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACvD,QAAQ,CAAC,WAAW,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,UAAU,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC;IAChB,QAAQ,CAAC,YAAY,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC;IACf,QAAQ,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,OAAO,CAAC;IACjB,QAAQ,CAAC,OAAO,CAAC;IACjB,QAAQ,CAAC,MAAM,CAAC;IAChB,QAAQ,CAAC,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC;IACxB,QAAQ,CAAC,eAAe,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC;IACnB,QAAQ,CAAC,SAAS,CAAC;IACnB,QAAQ,CAAC,SAAS,CAAC;IACnB,QAAQ,CAAC,MAAM,CAAC;IAChB,QAAQ,CAAC,UAAU,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,SAAS,CAAC;IACnB,QAAQ,CAAC,YAAY,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC;IACjB,QAAQ,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,OAAO,CAAC;IACjB,QAAQ,CAAC,QAAQ,CAAC;IAClB,QAAQ,CAAC,SAAS,CAAC;CACpB,CAAC;AAEF,SAAS,kBAAkB,CACzB,SAAS,GAAiC,EAAE;IAE5C,OAAO,CAAC,GAAG,oBAAoB,EAAE,GAAG,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAkC;IAElC,OAAO;QACL,GAAG,OAAO;QACV,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC;KACjE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAAS,GAAiC,EAAE;IAE5C,OAAO,8BAA8B,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,UAAkC,EAClC,SAAS,GAAiC,EAAE;IAE5C,OAAO,2BAA2B,CAAC,UAAU,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,WAA2C,EAC3C,SAAS,GAAiC,EAAE;IAE5C,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,uBAAuB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CACxE,CAAC;IACF,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACpC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,UAAmC,EACnC,OAAO,GAAwD,EAAE;IAEjE,OAAO,6BAA6B,CAAC,UAAU,EAAE;QAC/C,GAAG,OAAO;QACV,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC;KACjE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAkC;IAElC,OAAO,+BAA+B,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAA0D,EAC1D,OAAO,GAA8B,EAAE,KAAK,EAAE,KAAK,EAAE;IAErD,OAAO,2BAA2B,CAChC,OAAO,EACP,yBAAyB,CAAC,OAAO,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAA4D,EAC5D,OAAkC;IAElC,OAAO,gCAAgC,CACrC,IAAI,EACJ,yBAAyB,CAAC,OAAO,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,IAAqE,EACrE,OAAkC;IAElC,OAAO,yCAAyC,CAC9C,IAAI,EACJ,yBAAyB,CAAC,OAAO,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAA4D,EAC5D,OAAkC;IAElC,OAAO,gCAAgC,CACrC,IAAI,EACJ,yBAAyB,CAAC,OAAO,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,IAA8D,EAC9D,OAAkC;IAElC,OAAO,kCAAkC,CACvC,IAAI,EACJ,yBAAyB,CAAC,OAAO,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAA2D,EAC3D,OAAkC;IAElC,OAAO,+BAA+B,CACpC,IAAI,EACJ,yBAAyB,CAAC,OAAO,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAA4D,EAC5D,OAAkC;IAElC,OAAO,gCAAgC,CACrC,IAAI,EACJ,yBAAyB,CAAC,OAAO,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAA6D,EAC7D,OAAkC;IAElC,OAAO,iCAAiC,CACtC,IAAI,EACJ,yBAAyB,CAAC,OAAO,CAAC,CACnC,CAAC;AACJ,CAAC","sourcesContent":["import type { WorkspaceConnectionTemplateUse } from \"@agent-native/core/connections/runtime\";\nimport {\n PROVIDER_API_IDS,\n createProviderApiRuntime as createRuntimeProviderApiRuntime,\n deleteGitHubRepositoryFile as deleteRuntimeGitHubRepositoryFile,\n executeProviderApiRequest as executeRuntimeProviderApiRequest,\n fetchProviderApiDocs as fetchRuntimeProviderApiDocs,\n getProviderApiConfig as getRuntimeProviderApiConfig,\n listGitHubRepositoryFiles as listRuntimeGitHubRepositoryFiles,\n listProviderApiCatalog as listRuntimeProviderApiCatalog,\n mergeProviderApiConfigs as mergeRuntimeProviderApiConfigs,\n readGitHubRepositoryFile as readRuntimeGitHubRepositoryFile,\n resolveProviderApiOAuthAccessToken as resolveRuntimeProviderApiOAuthAccessToken,\n searchGitHubRepositoryFiles as searchRuntimeGitHubRepositoryFiles,\n writeGitHubRepositoryFile as writeRuntimeGitHubRepositoryFile,\n type ProviderApiConfig,\n type ProviderApiId,\n type ProviderApiRuntime,\n type ProviderApiRuntimeOptions,\n} from \"@agent-native/core/provider-api/runtime\";\n\nexport * from \"@agent-native/core/provider-api/runtime\";\n\nconst provider = (id: ProviderApiId): ProviderApiConfig => ({\n ...getRuntimeProviderApiConfig(id),\n});\n\nexport const providerApiOverrides: ProviderApiConfig[] = [\n provider(\"amplitude\"),\n provider(\"apollo\"),\n provider(\"bigquery\"),\n provider(\"clay\"),\n provider(\"commonroom\"),\n provider(\"dataforseo\"),\n provider(\"ga4\"),\n provider(\"gcloud\"),\n provider(\"github\"),\n provider(\"figma\"),\n provider(\"gmail\"),\n provider(\"gong\"),\n provider(\"google_calendar\"),\n provider(\"google_drive\"),\n provider(\"google_slides\"),\n provider(\"granola\"),\n provider(\"grafana\"),\n provider(\"hubspot\"),\n provider(\"jira\"),\n provider(\"mixpanel\"),\n provider(\"notion\"),\n provider(\"posthog\"),\n provider(\"prometheus\"),\n provider(\"pylon\"),\n provider(\"sentry\"),\n provider(\"slack\"),\n provider(\"stripe\"),\n provider(\"twitter\"),\n];\n\nfunction withLocalOverrides(\n overrides: readonly ProviderApiConfig[] = [],\n): ProviderApiConfig[] {\n return [...providerApiOverrides, ...overrides];\n}\n\nfunction withLocalRuntimeOverrides(\n runtime: ProviderApiRuntimeOptions,\n): ProviderApiRuntimeOptions {\n return {\n ...runtime,\n providerOverrides: withLocalOverrides(runtime.providerOverrides),\n };\n}\n\nexport function mergeProviderApiConfigs(\n overrides: readonly ProviderApiConfig[] = [],\n): ProviderApiConfig[] {\n return mergeRuntimeProviderApiConfigs(withLocalOverrides(overrides));\n}\n\nexport function getProviderApiConfig(\n providerId: ProviderApiId | string,\n overrides: readonly ProviderApiConfig[] = [],\n): ProviderApiConfig {\n return getRuntimeProviderApiConfig(providerId, withLocalOverrides(overrides));\n}\n\nexport function listProviderApiIdsForTemplateUse(\n templateUse: WorkspaceConnectionTemplateUse,\n overrides: readonly ProviderApiConfig[] = [],\n): ProviderApiId[] {\n const configs = new Map(\n mergeProviderApiConfigs(overrides).map((config) => [config.id, config]),\n );\n return PROVIDER_API_IDS.filter((id) =>\n (configs.get(id)?.templateUses ?? []).includes(templateUse),\n );\n}\n\nexport function listProviderApiCatalog(\n providerId?: ProviderApiId | string,\n options: Parameters<typeof listRuntimeProviderApiCatalog>[1] = {},\n) {\n return listRuntimeProviderApiCatalog(providerId, {\n ...options,\n providerOverrides: withLocalOverrides(options.providerOverrides),\n });\n}\n\nexport function createProviderApiRuntime(\n options: ProviderApiRuntimeOptions,\n): ProviderApiRuntime {\n return createRuntimeProviderApiRuntime(withLocalRuntimeOverrides(options));\n}\n\nexport function fetchProviderApiDocs(\n options: Parameters<typeof fetchRuntimeProviderApiDocs>[0],\n runtime: ProviderApiRuntimeOptions = { appId: \"app\" },\n): ReturnType<typeof fetchRuntimeProviderApiDocs> {\n return fetchRuntimeProviderApiDocs(\n options,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function executeProviderApiRequest(\n args: Parameters<typeof executeRuntimeProviderApiRequest>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof executeRuntimeProviderApiRequest> {\n return executeRuntimeProviderApiRequest(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function resolveProviderApiOAuthAccessToken(\n args: Parameters<typeof resolveRuntimeProviderApiOAuthAccessToken>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof resolveRuntimeProviderApiOAuthAccessToken> {\n return resolveRuntimeProviderApiOAuthAccessToken(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function listGitHubRepositoryFiles(\n args: Parameters<typeof listRuntimeGitHubRepositoryFiles>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof listRuntimeGitHubRepositoryFiles> {\n return listRuntimeGitHubRepositoryFiles(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function searchGitHubRepositoryFiles(\n args: Parameters<typeof searchRuntimeGitHubRepositoryFiles>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof searchRuntimeGitHubRepositoryFiles> {\n return searchRuntimeGitHubRepositoryFiles(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function readGitHubRepositoryFile(\n args: Parameters<typeof readRuntimeGitHubRepositoryFile>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof readRuntimeGitHubRepositoryFile> {\n return readRuntimeGitHubRepositoryFile(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function writeGitHubRepositoryFile(\n args: Parameters<typeof writeRuntimeGitHubRepositoryFile>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof writeRuntimeGitHubRepositoryFile> {\n return writeRuntimeGitHubRepositoryFile(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function deleteGitHubRepositoryFile(\n args: Parameters<typeof deleteRuntimeGitHubRepositoryFile>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof deleteRuntimeGitHubRepositoryFile> {\n return deleteRuntimeGitHubRepositoryFile(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n"]}
1
+ {"version":3,"file":"provider-api-definitions.js","sourceRoot":"","sources":["../../src/eject/provider-api-definitions.ts"],"names":[],"mappings":"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","sourcesContent":["import type { WorkspaceConnectionTemplateUse } from \"@agent-native/core/connections/runtime\";\nimport {\n PROVIDER_API_IDS,\n createProviderApiRuntime as createRuntimeProviderApiRuntime,\n deleteGitHubRepositoryFile as deleteRuntimeGitHubRepositoryFile,\n executeProviderApiRequest as executeRuntimeProviderApiRequest,\n fetchProviderApiDocs as fetchRuntimeProviderApiDocs,\n getProviderApiConfig as getRuntimeProviderApiConfig,\n listGitHubRepositoryFiles as listRuntimeGitHubRepositoryFiles,\n listProviderApiCatalog as listRuntimeProviderApiCatalog,\n mergeProviderApiConfigs as mergeRuntimeProviderApiConfigs,\n readGitHubRepositoryFile as readRuntimeGitHubRepositoryFile,\n resolveProviderApiOAuthAccessToken as resolveRuntimeProviderApiOAuthAccessToken,\n searchGitHubRepositoryFiles as searchRuntimeGitHubRepositoryFiles,\n writeGitHubRepositoryFile as writeRuntimeGitHubRepositoryFile,\n type ProviderApiConfig,\n type ProviderApiId,\n type ProviderApiRuntime,\n type ProviderApiRuntimeOptions,\n} from \"@agent-native/core/provider-api/runtime\";\n\nexport * from \"@agent-native/core/provider-api/runtime\";\n\nconst provider = (id: ProviderApiId): ProviderApiConfig => ({\n ...getRuntimeProviderApiConfig(id),\n});\n\nexport const providerApiOverrides: ProviderApiConfig[] = [\n provider(\"amplitude\"),\n provider(\"apollo\"),\n provider(\"bigquery\"),\n provider(\"clay\"),\n provider(\"commonroom\"),\n provider(\"dataforseo\"),\n provider(\"ga4\"),\n provider(\"gcloud\"),\n provider(\"github\"),\n provider(\"figma\"),\n provider(\"gmail\"),\n provider(\"gong\"),\n provider(\"google_calendar\"),\n provider(\"google_drive\"),\n provider(\"google_slides\"),\n provider(\"granola\"),\n provider(\"grafana\"),\n provider(\"hubspot\"),\n provider(\"salesforce\"),\n provider(\"jira\"),\n provider(\"mixpanel\"),\n provider(\"notion\"),\n provider(\"posthog\"),\n provider(\"prometheus\"),\n provider(\"pylon\"),\n provider(\"sentry\"),\n provider(\"slack\"),\n provider(\"stripe\"),\n provider(\"twitter\"),\n];\n\nfunction withLocalOverrides(\n overrides: readonly ProviderApiConfig[] = [],\n): ProviderApiConfig[] {\n return [...providerApiOverrides, ...overrides];\n}\n\nfunction withLocalRuntimeOverrides(\n runtime: ProviderApiRuntimeOptions,\n): ProviderApiRuntimeOptions {\n return {\n ...runtime,\n providerOverrides: withLocalOverrides(runtime.providerOverrides),\n };\n}\n\nexport function mergeProviderApiConfigs(\n overrides: readonly ProviderApiConfig[] = [],\n): ProviderApiConfig[] {\n return mergeRuntimeProviderApiConfigs(withLocalOverrides(overrides));\n}\n\nexport function getProviderApiConfig(\n providerId: ProviderApiId | string,\n overrides: readonly ProviderApiConfig[] = [],\n): ProviderApiConfig {\n return getRuntimeProviderApiConfig(providerId, withLocalOverrides(overrides));\n}\n\nexport function listProviderApiIdsForTemplateUse(\n templateUse: WorkspaceConnectionTemplateUse,\n overrides: readonly ProviderApiConfig[] = [],\n): ProviderApiId[] {\n const configs = new Map(\n mergeProviderApiConfigs(overrides).map((config) => [config.id, config]),\n );\n return PROVIDER_API_IDS.filter((id) =>\n (configs.get(id)?.templateUses ?? []).includes(templateUse),\n );\n}\n\nexport function listProviderApiCatalog(\n providerId?: ProviderApiId | string,\n options: Parameters<typeof listRuntimeProviderApiCatalog>[1] = {},\n) {\n return listRuntimeProviderApiCatalog(providerId, {\n ...options,\n providerOverrides: withLocalOverrides(options.providerOverrides),\n });\n}\n\nexport function createProviderApiRuntime(\n options: ProviderApiRuntimeOptions,\n): ProviderApiRuntime {\n return createRuntimeProviderApiRuntime(withLocalRuntimeOverrides(options));\n}\n\nexport function fetchProviderApiDocs(\n options: Parameters<typeof fetchRuntimeProviderApiDocs>[0],\n runtime: ProviderApiRuntimeOptions = { appId: \"app\" },\n): ReturnType<typeof fetchRuntimeProviderApiDocs> {\n return fetchRuntimeProviderApiDocs(\n options,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function executeProviderApiRequest(\n args: Parameters<typeof executeRuntimeProviderApiRequest>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof executeRuntimeProviderApiRequest> {\n return executeRuntimeProviderApiRequest(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function resolveProviderApiOAuthAccessToken(\n args: Parameters<typeof resolveRuntimeProviderApiOAuthAccessToken>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof resolveRuntimeProviderApiOAuthAccessToken> {\n return resolveRuntimeProviderApiOAuthAccessToken(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function listGitHubRepositoryFiles(\n args: Parameters<typeof listRuntimeGitHubRepositoryFiles>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof listRuntimeGitHubRepositoryFiles> {\n return listRuntimeGitHubRepositoryFiles(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function searchGitHubRepositoryFiles(\n args: Parameters<typeof searchRuntimeGitHubRepositoryFiles>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof searchRuntimeGitHubRepositoryFiles> {\n return searchRuntimeGitHubRepositoryFiles(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function readGitHubRepositoryFile(\n args: Parameters<typeof readRuntimeGitHubRepositoryFile>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof readRuntimeGitHubRepositoryFile> {\n return readRuntimeGitHubRepositoryFile(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function writeGitHubRepositoryFile(\n args: Parameters<typeof writeRuntimeGitHubRepositoryFile>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof writeRuntimeGitHubRepositoryFile> {\n return writeRuntimeGitHubRepositoryFile(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n\nexport function deleteGitHubRepositoryFile(\n args: Parameters<typeof deleteRuntimeGitHubRepositoryFile>[0],\n runtime: ProviderApiRuntimeOptions,\n): ReturnType<typeof deleteRuntimeGitHubRepositoryFile> {\n return deleteRuntimeGitHubRepositoryFile(\n args,\n withLocalRuntimeOverrides(runtime),\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-connections.d.ts","sourceRoot":"","sources":["../../src/eject/workspace-connections.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,uCAAuC,EAC5C,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACpC,MAAM,wCAAwC,CAAC;AAEhD,cAAc,wCAAwC,CAAC;AAEvD,eAAO,MAAM,8BAA8B,EAAE,2BAA2B,EAiBrE,CAAC;AAEJ,eAAO,MAAM,oCAAoC,+BACjB,CAAC;AAQjC,wBAAgB,iCAAiC,CAC/C,SAAS,GAAE,SAAS,2BAA2B,EAAO,GACrD,2BAA2B,EAAE,CAI/B;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,GAAE,uCAA4C,GACpD,2BAA2B,EAAE,CAK/B;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,MAAM,EACV,SAAS,GAAE,SAAS,2BAA2B,EAAO,GACrD,2BAA2B,GAAG,SAAS,CAKzC;AAED,wBAAgB,2CAA2C,CACzD,WAAW,EAAE,8BAA8B,EAC3C,iBAAiB,GAAE,SAAS,2BAA2B,EAAO,GAC7D,2BAA2B,EAAE,CAE/B;AAED,wBAAgB,6CAA6C,CAC3D,UAAU,EAAE,6BAA6B,EACzC,iBAAiB,GAAE,SAAS,2BAA2B,EAAO,GAC7D,2BAA2B,EAAE,CAE/B;AAED,wBAAgB,mCAAmC,CACjD,YAAY,EAAE,2BAA2B,GAAG,MAAM,EAClD,UAAU,EAAE,6BAA6B,GACxC,OAAO,CAMT"}
1
+ {"version":3,"file":"workspace-connections.d.ts","sourceRoot":"","sources":["../../src/eject/workspace-connections.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,uCAAuC,EAC5C,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,KAAK,8BAA8B,EACpC,MAAM,wCAAwC,CAAC;AAEhD,cAAc,wCAAwC,CAAC;AAEvD,eAAO,MAAM,8BAA8B,EAAE,2BAA2B,EAkBrE,CAAC;AAEJ,eAAO,MAAM,oCAAoC,+BACjB,CAAC;AAQjC,wBAAgB,iCAAiC,CAC/C,SAAS,GAAE,SAAS,2BAA2B,EAAO,GACrD,2BAA2B,EAAE,CAI/B;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,GAAE,uCAA4C,GACpD,2BAA2B,EAAE,CAK/B;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,MAAM,EACV,SAAS,GAAE,SAAS,2BAA2B,EAAO,GACrD,2BAA2B,GAAG,SAAS,CAKzC;AAED,wBAAgB,2CAA2C,CACzD,WAAW,EAAE,8BAA8B,EAC3C,iBAAiB,GAAE,SAAS,2BAA2B,EAAO,GAC7D,2BAA2B,EAAE,CAE/B;AAED,wBAAgB,6CAA6C,CAC3D,UAAU,EAAE,6BAA6B,EACzC,iBAAiB,GAAE,SAAS,2BAA2B,EAAO,GAC7D,2BAA2B,EAAE,CAE/B;AAED,wBAAgB,mCAAmC,CACjD,YAAY,EAAE,2BAA2B,GAAG,MAAM,EAClD,UAAU,EAAE,6BAA6B,GACxC,OAAO,CAMT"}
@@ -8,6 +8,7 @@ export const WORKSPACE_CONNECTION_PROVIDERS = [
8
8
  "gmail",
9
9
  "google_drive",
10
10
  "hubspot",
11
+ "salesforce",
11
12
  "jira",
12
13
  "sentry",
13
14
  "granola",
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-connections.js","sourceRoot":"","sources":["../../src/eject/workspace-connections.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,IAAI,sCAAsC,EACxE,8BAA8B,IAAI,qCAAqC,EACvE,gCAAgC,IAAI,uCAAuC,EAC3E,iCAAiC,IAAI,wCAAwC,GAK9E,MAAM,wCAAwC,CAAC;AAEhD,cAAc,wCAAwC,CAAC;AAEvD,MAAM,CAAC,MAAM,8BAA8B,GAAkC;IAC3E,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,cAAc;IACd,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;CACV,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACb,GAAG,sCAAsC,CAAC,IAAI,CAC5C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAChC;CACH,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,oCAAoC,GAC/C,8BAA8B,CAAC;AAEjC,SAAS,kBAAkB,CACzB,SAAS,GAA2C,EAAE;IAEtD,OAAO,CAAC,GAAG,oCAAoC,EAAE,GAAG,SAAS,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,SAAS,GAA2C,EAAE;IAEtD,OAAO,wCAAwC,CAC7C,kBAAkB,CAAC,SAAS,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAO,GAA4C,EAAE;IAErD,OAAO,uCAAuC,CAAC;QAC7C,GAAG,OAAO;QACV,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC;KACjE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,EAAU,EACV,SAAS,GAA2C,EAAE;IAEtD,OAAO,qCAAqC,CAC1C,EAAE,EACF,kBAAkB,CAAC,SAAS,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,WAA2C,EAC3C,iBAAiB,GAA2C,EAAE;IAE9D,OAAO,gCAAgC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,6CAA6C,CAC3D,UAAyC,EACzC,iBAAiB,GAA2C,EAAE;IAE9D,OAAO,gCAAgC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,YAAkD,EAClD,UAAyC;IAEzC,MAAM,QAAQ,GACZ,OAAO,YAAY,KAAK,QAAQ;QAC9B,CAAC,CAAC,8BAA8B,CAAC,YAAY,CAAC;QAC9C,CAAC,CAAC,YAAY,CAAC;IACnB,OAAO,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;AAC9D,CAAC","sourcesContent":["import {\n WORKSPACE_CONNECTION_PROVIDERS as RUNTIME_WORKSPACE_CONNECTION_PROVIDERS,\n getWorkspaceConnectionProvider as getRuntimeWorkspaceConnectionProvider,\n listWorkspaceConnectionProviders as listRuntimeWorkspaceConnectionProviders,\n mergeWorkspaceConnectionProviders as mergeRuntimeWorkspaceConnectionProviders,\n type ListWorkspaceConnectionProvidersOptions,\n type WorkspaceConnectionCapability,\n type WorkspaceConnectionProvider,\n type WorkspaceConnectionTemplateUse,\n} from \"@agent-native/core/connections/runtime\";\n\nexport * from \"@agent-native/core/connections/runtime\";\n\nexport const WORKSPACE_CONNECTION_PROVIDERS: WorkspaceConnectionProvider[] = [\n \"slack\",\n \"github\",\n \"figma\",\n \"notion\",\n \"gmail\",\n \"google_drive\",\n \"hubspot\",\n \"jira\",\n \"sentry\",\n \"granola\",\n \"clips\",\n \"generic\",\n].map((id) => ({\n ...RUNTIME_WORKSPACE_CONNECTION_PROVIDERS.find(\n (provider) => provider.id === id,\n )!,\n}));\n\nexport const workspaceConnectionProviderOverrides =\n WORKSPACE_CONNECTION_PROVIDERS;\n\nfunction withLocalOverrides(\n overrides: readonly WorkspaceConnectionProvider[] = [],\n): WorkspaceConnectionProvider[] {\n return [...workspaceConnectionProviderOverrides, ...overrides];\n}\n\nexport function mergeWorkspaceConnectionProviders(\n overrides: readonly WorkspaceConnectionProvider[] = [],\n): WorkspaceConnectionProvider[] {\n return mergeRuntimeWorkspaceConnectionProviders(\n withLocalOverrides(overrides),\n );\n}\n\nexport function listWorkspaceConnectionProviders(\n options: ListWorkspaceConnectionProvidersOptions = {},\n): WorkspaceConnectionProvider[] {\n return listRuntimeWorkspaceConnectionProviders({\n ...options,\n providerOverrides: withLocalOverrides(options.providerOverrides),\n });\n}\n\nexport function getWorkspaceConnectionProvider(\n id: string,\n overrides: readonly WorkspaceConnectionProvider[] = [],\n): WorkspaceConnectionProvider | undefined {\n return getRuntimeWorkspaceConnectionProvider(\n id,\n withLocalOverrides(overrides),\n );\n}\n\nexport function listWorkspaceConnectionProvidersForTemplate(\n templateUse: WorkspaceConnectionTemplateUse,\n providerOverrides: readonly WorkspaceConnectionProvider[] = [],\n): WorkspaceConnectionProvider[] {\n return listWorkspaceConnectionProviders({ templateUse, providerOverrides });\n}\n\nexport function listWorkspaceConnectionProvidersForCapability(\n capability: WorkspaceConnectionCapability,\n providerOverrides: readonly WorkspaceConnectionProvider[] = [],\n): WorkspaceConnectionProvider[] {\n return listWorkspaceConnectionProviders({ capability, providerOverrides });\n}\n\nexport function workspaceConnectionProviderSupports(\n providerOrId: WorkspaceConnectionProvider | string,\n capability: WorkspaceConnectionCapability,\n): boolean {\n const provider =\n typeof providerOrId === \"string\"\n ? getWorkspaceConnectionProvider(providerOrId)\n : providerOrId;\n return provider?.capabilities.includes(capability) ?? false;\n}\n"]}
1
+ {"version":3,"file":"workspace-connections.js","sourceRoot":"","sources":["../../src/eject/workspace-connections.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,IAAI,sCAAsC,EACxE,8BAA8B,IAAI,qCAAqC,EACvE,gCAAgC,IAAI,uCAAuC,EAC3E,iCAAiC,IAAI,wCAAwC,GAK9E,MAAM,wCAAwC,CAAC;AAEhD,cAAc,wCAAwC,CAAC;AAEvD,MAAM,CAAC,MAAM,8BAA8B,GAAkC;IAC3E,OAAO;IACP,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,cAAc;IACd,SAAS;IACT,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;CACV,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACb,GAAG,sCAAsC,CAAC,IAAI,CAC5C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAChC;CACH,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,oCAAoC,GAC/C,8BAA8B,CAAC;AAEjC,SAAS,kBAAkB,CACzB,SAAS,GAA2C,EAAE;IAEtD,OAAO,CAAC,GAAG,oCAAoC,EAAE,GAAG,SAAS,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,SAAS,GAA2C,EAAE;IAEtD,OAAO,wCAAwC,CAC7C,kBAAkB,CAAC,SAAS,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAO,GAA4C,EAAE;IAErD,OAAO,uCAAuC,CAAC;QAC7C,GAAG,OAAO;QACV,iBAAiB,EAAE,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC;KACjE,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,EAAU,EACV,SAAS,GAA2C,EAAE;IAEtD,OAAO,qCAAqC,CAC1C,EAAE,EACF,kBAAkB,CAAC,SAAS,CAAC,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,WAA2C,EAC3C,iBAAiB,GAA2C,EAAE;IAE9D,OAAO,gCAAgC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,6CAA6C,CAC3D,UAAyC,EACzC,iBAAiB,GAA2C,EAAE;IAE9D,OAAO,gCAAgC,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,YAAkD,EAClD,UAAyC;IAEzC,MAAM,QAAQ,GACZ,OAAO,YAAY,KAAK,QAAQ;QAC9B,CAAC,CAAC,8BAA8B,CAAC,YAAY,CAAC;QAC9C,CAAC,CAAC,YAAY,CAAC;IACnB,OAAO,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;AAC9D,CAAC","sourcesContent":["import {\n WORKSPACE_CONNECTION_PROVIDERS as RUNTIME_WORKSPACE_CONNECTION_PROVIDERS,\n getWorkspaceConnectionProvider as getRuntimeWorkspaceConnectionProvider,\n listWorkspaceConnectionProviders as listRuntimeWorkspaceConnectionProviders,\n mergeWorkspaceConnectionProviders as mergeRuntimeWorkspaceConnectionProviders,\n type ListWorkspaceConnectionProvidersOptions,\n type WorkspaceConnectionCapability,\n type WorkspaceConnectionProvider,\n type WorkspaceConnectionTemplateUse,\n} from \"@agent-native/core/connections/runtime\";\n\nexport * from \"@agent-native/core/connections/runtime\";\n\nexport const WORKSPACE_CONNECTION_PROVIDERS: WorkspaceConnectionProvider[] = [\n \"slack\",\n \"github\",\n \"figma\",\n \"notion\",\n \"gmail\",\n \"google_drive\",\n \"hubspot\",\n \"salesforce\",\n \"jira\",\n \"sentry\",\n \"granola\",\n \"clips\",\n \"generic\",\n].map((id) => ({\n ...RUNTIME_WORKSPACE_CONNECTION_PROVIDERS.find(\n (provider) => provider.id === id,\n )!,\n}));\n\nexport const workspaceConnectionProviderOverrides =\n WORKSPACE_CONNECTION_PROVIDERS;\n\nfunction withLocalOverrides(\n overrides: readonly WorkspaceConnectionProvider[] = [],\n): WorkspaceConnectionProvider[] {\n return [...workspaceConnectionProviderOverrides, ...overrides];\n}\n\nexport function mergeWorkspaceConnectionProviders(\n overrides: readonly WorkspaceConnectionProvider[] = [],\n): WorkspaceConnectionProvider[] {\n return mergeRuntimeWorkspaceConnectionProviders(\n withLocalOverrides(overrides),\n );\n}\n\nexport function listWorkspaceConnectionProviders(\n options: ListWorkspaceConnectionProvidersOptions = {},\n): WorkspaceConnectionProvider[] {\n return listRuntimeWorkspaceConnectionProviders({\n ...options,\n providerOverrides: withLocalOverrides(options.providerOverrides),\n });\n}\n\nexport function getWorkspaceConnectionProvider(\n id: string,\n overrides: readonly WorkspaceConnectionProvider[] = [],\n): WorkspaceConnectionProvider | undefined {\n return getRuntimeWorkspaceConnectionProvider(\n id,\n withLocalOverrides(overrides),\n );\n}\n\nexport function listWorkspaceConnectionProvidersForTemplate(\n templateUse: WorkspaceConnectionTemplateUse,\n providerOverrides: readonly WorkspaceConnectionProvider[] = [],\n): WorkspaceConnectionProvider[] {\n return listWorkspaceConnectionProviders({ templateUse, providerOverrides });\n}\n\nexport function listWorkspaceConnectionProvidersForCapability(\n capability: WorkspaceConnectionCapability,\n providerOverrides: readonly WorkspaceConnectionProvider[] = [],\n): WorkspaceConnectionProvider[] {\n return listWorkspaceConnectionProviders({ capability, providerOverrides });\n}\n\nexport function workspaceConnectionProviderSupports(\n providerOrId: WorkspaceConnectionProvider | string,\n capability: WorkspaceConnectionCapability,\n): boolean {\n const provider =\n typeof providerOrId === \"string\"\n ? getWorkspaceConnectionProvider(providerOrId)\n : providerOrId;\n return provider?.capabilities.includes(capability) ?? false;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/extensions/actions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAkEhE,wBAAgB,4BAA4B,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAgyC1E"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/extensions/actions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAkEhE,wBAAgB,4BAA4B,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAowC1E"}
@@ -518,7 +518,7 @@ export function createExtensionActionEntries() {
518
518
  },
519
519
  "update-extension": {
520
520
  tool: {
521
- description: 'Update an existing sandboxed Alpine.js mini-app extension. If the user is viewing the extension, use the extensionId from <current-screen> or <current-url> directly; do not list extensions first just to find the current id. Prefer granular edits for surgical changes; full-body replacement is blocked by default to preserve existing layout, CSS, copy, and interactions during data-only fixes. Use `patches` or `edits` for targeted changes; set `allowFullReplacement=true` only when the user explicitly asks for a visual rewrite or supplies a complete replacement body. Supported edits include literal replace, insert-before/after marker, replace-between markers, replace-section/wrap-section/remove-section for <!-- agent-native:section name --> blocks, and regex-replace. Pass format=true to run Prettier on the final HTML. To replace the whole body with a large pasted file, pass contentFromAttachment (the attachment name, or "latest") instead of copying the file into `content` that avoids re-emitting thousands of tokens.',
521
+ description: 'Update an existing sandboxed Alpine.js mini-app extension. Pass exactly three fields: `id`, `operation`, and `payloadJson`. `payloadJson` is a JSON object encoded as a string so model gateways cannot fill its optional members with invalid empty placeholders. For operation="edit", pass {"edits":[...]} or {"patches":[...]} and optional format=true. For operation="replace", pass exactly one of content, contentFromAttachment, or contentFromWorkspaceFile; use this operation only for a user-requested broad visual rewrite or complete replacement body. For operation="metadata", pass name, description, or icon. Change sharing through set-resource-visibility instead. If the user is viewing the extension, use the extensionId from <current-screen> or <current-url> directly.',
522
522
  parameters: {
523
523
  type: "object",
524
524
  properties: {
@@ -526,65 +526,33 @@ export function createExtensionActionEntries() {
526
526
  type: "string",
527
527
  description: "Extension id to update. Prefer the extensionId from <current-screen> or <current-url> for the current extension.",
528
528
  },
529
- name: {
530
- type: "string",
531
- description: "Optional new display name.",
532
- },
533
- description: {
534
- type: "string",
535
- description: "Optional new description.",
536
- },
537
- content: {
538
- type: "string",
539
- description: "Optional full replacement Alpine.js HTML body snippet.",
540
- },
541
- contentFromAttachment: {
529
+ operation: {
542
530
  type: "string",
543
- description: 'Optional full replacement sourced from a pasted/attached file on the current turn, by attachment name (or the literal "latest" for the most recent pasted block). Use instead of `content` when replacing the whole body with a large pasted file so you do not have to re-type it. Ignored when `content` is provided.',
531
+ enum: ["edit", "replace", "metadata"],
532
+ description: 'The single update mode: "edit" for focused patches/edits, "replace" for an explicitly authorized complete body replacement, or "metadata" for name/description/icon.',
544
533
  },
545
- contentFromWorkspaceFile: {
534
+ payloadJson: {
546
535
  type: "string",
547
- description: 'Optional full replacement sourced from a workspace/shared resource file, by resource path (e.g. "intuit-analytics-extension.html"). The server reads the full file and uses it as the replacement body. Use instead of `content` when replacing the whole body with a large file that exists as a workspace resource. Ignored when `content` is provided.',
548
- },
549
- allowFullReplacement: {
550
- type: "boolean",
551
- description: "Explicitly allow replacing the entire existing body. Omit or set false for data-only repairs so the existing visual design is protected. Use true only when the user explicitly requested a broad visual rewrite or supplied a complete replacement body.",
552
- },
553
- patches: {
554
- anyOf: [
555
- { type: "string" },
556
- { type: "array", items: { type: "object" } },
557
- ],
558
- description: 'Optional patches as a JSON-encoded string or native array of { "find": "...", "replace": "...", "all"?: true, "expectedMatches"?: 1, "required"?: true } objects. Missing required targets fail instead of silently no-oping.',
559
- },
560
- edits: {
561
- anyOf: [
562
- { type: "string" },
563
- { type: "array", items: { type: "object" } },
564
- ],
565
- description: 'Preferred optional granular edit operations as a JSON-encoded string or native array. Examples: { "op": "insert-after", "marker": "<!-- section:metrics -->", "content": "..." }, { "op": "replace-section", "section": "npm-chart", "content": "..." }, { "op": "wrap-section", "section": "charts", "before": "<div>", "after": "</div>" }, { "op": "regex-replace", "pattern": "...", "replace": "...", "expectedMatches": 1 }.',
566
- },
567
- format: {
568
- type: "boolean",
569
- description: "When true, format the final extension HTML with Prettier after applying content, patches, and edits.",
570
- },
571
- icon: {
572
- type: "string",
573
- description: "Optional icon name or short label.",
574
- },
575
- visibility: {
576
- type: "string",
577
- description: "Optional sharing visibility. Public extension sharing is not supported; use private or org.",
578
- enum: ["private", "org"],
536
+ minLength: 2,
537
+ description: 'A non-empty JSON object encoded as a string. edit example: {"edits":[{"op":"replace","find":"old","replace":"new"}],"format":true}. replace example: {"contentFromAttachment":"latest"}. metadata example: {"name":"New name"}.',
579
538
  },
580
539
  },
581
- required: ["id"],
540
+ required: ["id", "operation", "payloadJson"],
541
+ additionalProperties: false,
582
542
  },
583
543
  },
584
544
  run: async (args, ctx) => {
545
+ const normalizedUpdate = normalizeUpdateExtensionArgs(args);
546
+ if ("error" in normalizedUpdate)
547
+ return normalizedUpdate.error;
548
+ args = normalizedUpdate.args;
585
549
  const id = String(args?.id ?? "").trim();
586
550
  if (!id)
587
551
  return "Error: id is required.";
552
+ if (args?.name !== undefined &&
553
+ (typeof args.name !== "string" || args.name.trim().length === 0)) {
554
+ return "Error: extension name must be a non-empty string. No changes were applied.";
555
+ }
588
556
  const localMessage = await localExtensionEditMessage(id);
589
557
  if (localMessage)
590
558
  return localMessage;
@@ -601,10 +569,16 @@ export function createExtensionActionEntries() {
601
569
  }, null, 2),
602
570
  });
603
571
  }
572
+ const attachmentRef = typeof args?.contentFromAttachment === "string"
573
+ ? args.contentFromAttachment.trim()
574
+ : "";
575
+ const workspaceFileRef = typeof args?.contentFromWorkspaceFile === "string"
576
+ ? args.contentFromWorkspaceFile.trim()
577
+ : "";
604
578
  const fullReplacementRequested = (typeof args?.content === "string" &&
605
579
  args.content.trim().length > 0) ||
606
- args?.contentFromAttachment !== undefined ||
607
- args?.contentFromWorkspaceFile !== undefined;
580
+ attachmentRef.length > 0 ||
581
+ workspaceFileRef.length > 0;
608
582
  if (fullReplacementRequested &&
609
583
  !coerceBoolean(args?.allowFullReplacement)) {
610
584
  const message = "Full extension-body replacement requires allowFullReplacement=true. No changes were applied. If the user's request includes a broad visual rewrite such as changing layout, compactness, visible sections, naming, or padding, retry once with allowFullReplacement=true; otherwise read the current extension and use focused patches/edits for a data-only repair. Do not retry unchanged arguments.";
@@ -620,27 +594,26 @@ export function createExtensionActionEntries() {
620
594
  ? args.content
621
595
  : undefined;
622
596
  if (replacementContent === undefined &&
623
- (args?.contentFromAttachment !== undefined ||
624
- args?.contentFromWorkspaceFile !== undefined)) {
597
+ (attachmentRef.length > 0 || workspaceFileRef.length > 0)) {
625
598
  const resolved = await resolveExtensionContentAsync(args, ctx);
626
599
  if ("error" in resolved)
627
600
  return resolved.error;
628
601
  replacementContent = resolved.content;
629
602
  }
630
603
  let result = null;
604
+ const patches = parsePatches(args.patches);
605
+ if (args?.patches !== undefined && !patches) {
606
+ return "Error: patches must be a JSON array of { find, replace } objects.";
607
+ }
608
+ const edits = parseEdits(args.edits);
609
+ if (args?.edits !== undefined && !edits) {
610
+ return "Error: edits must be a JSON array of supported extension edit operations.";
611
+ }
631
612
  const hasContentUpdate = replacementContent !== undefined ||
632
- args?.patches !== undefined ||
633
- args?.edits !== undefined ||
634
- args?.format !== undefined;
613
+ (patches?.length ?? 0) > 0 ||
614
+ (edits?.length ?? 0) > 0 ||
615
+ coerceBoolean(args?.format);
635
616
  if (hasContentUpdate) {
636
- const patches = parsePatches(args.patches);
637
- if (args?.patches !== undefined && !patches) {
638
- return "Error: patches must be a JSON array of { find, replace } objects.";
639
- }
640
- const edits = parseEdits(args.edits);
641
- if (args?.edits !== undefined && !edits) {
642
- return "Error: edits must be a JSON array of supported extension edit operations.";
643
- }
644
617
  try {
645
618
  result = await updateExtensionContent(id, {
646
619
  content: replacementContent,
@@ -674,12 +647,14 @@ export function createExtensionActionEntries() {
674
647
  }
675
648
  if (args?.icon !== undefined)
676
649
  meta.icon = String(args.icon);
677
- if (args?.visibility !== undefined) {
650
+ if (args?.visibility !== undefined)
678
651
  meta.visibility = String(args.visibility);
679
- }
680
652
  if (Object.keys(meta).length > 0) {
681
653
  result = await updateExtension(id, meta);
682
654
  }
655
+ if (!result && !hasContentUpdate && Object.keys(meta).length === 0) {
656
+ return "Error: update-extension received no actual changes. Choose one operation and provide a non-empty payloadJson object; empty placeholder fields are not an update.";
657
+ }
683
658
  if (!result)
684
659
  result = await getExtension(id);
685
660
  if (!result)
@@ -1265,7 +1240,7 @@ async function summarizeExtensionForAgentRead(row, hiddenIds, includeContent, fo
1265
1240
  reason: "unchanged-content-already-returned-this-run",
1266
1241
  contentHash: fingerprint,
1267
1242
  contentLength: row.content.length,
1268
- next: "Use the content already returned earlier in this run and call update-extension with focused edits/patches. Set forceContent=true only if you truly need the full body again.",
1243
+ next: 'Use the content already returned earlier in this run and call update-extension with operation="edit" plus focused edits/patches inside payloadJson. Set forceContent=true only if you truly need the full body again.',
1269
1244
  },
1270
1245
  };
1271
1246
  }
@@ -1523,6 +1498,129 @@ async function resolveExtensionContentAsync(args, ctx) {
1523
1498
  function coerceBoolean(value) {
1524
1499
  return value === true || value === "true";
1525
1500
  }
1501
+ function normalizeUpdateExtensionArgs(args) {
1502
+ const hasCompactContract = args?.operation !== undefined || args?.payloadJson !== undefined;
1503
+ if (!hasCompactContract) {
1504
+ const legacyArgs = { ...(args ?? {}) };
1505
+ const hasInvalidPlaceholderSignal = (typeof legacyArgs.visibility === "string" &&
1506
+ legacyArgs.visibility.trim().length === 0) ||
1507
+ [legacyArgs.patches, legacyArgs.edits].some((value) => value !== null &&
1508
+ typeof value === "object" &&
1509
+ (Array.isArray(value)
1510
+ ? value.length > 0 &&
1511
+ value.every((item) => item !== null &&
1512
+ typeof item === "object" &&
1513
+ !Array.isArray(item) &&
1514
+ Object.keys(item).length === 0)
1515
+ : Object.keys(value).length === 0));
1516
+ if (hasInvalidPlaceholderSignal) {
1517
+ for (const [key, value] of Object.entries(legacyArgs)) {
1518
+ if (key === "id")
1519
+ continue;
1520
+ const empty = value === false ||
1521
+ value === null ||
1522
+ (typeof value === "string" && value.trim().length === 0) ||
1523
+ (Array.isArray(value) &&
1524
+ (value.length === 0 ||
1525
+ value.every((item) => item !== null &&
1526
+ typeof item === "object" &&
1527
+ !Array.isArray(item) &&
1528
+ Object.keys(item).length === 0))) ||
1529
+ (typeof value === "object" &&
1530
+ value !== null &&
1531
+ !Array.isArray(value) &&
1532
+ Object.keys(value).length === 0);
1533
+ if (empty)
1534
+ delete legacyArgs[key];
1535
+ }
1536
+ delete legacyArgs.visibility;
1537
+ }
1538
+ return { args: legacyArgs };
1539
+ }
1540
+ const operation = String(args?.operation ?? "").trim();
1541
+ if (!["edit", "replace", "metadata"].includes(operation)) {
1542
+ return {
1543
+ error: 'Error: operation must be "edit", "replace", or "metadata". No changes were applied.',
1544
+ };
1545
+ }
1546
+ let payload;
1547
+ try {
1548
+ payload = JSON.parse(String(args?.payloadJson ?? ""));
1549
+ }
1550
+ catch {
1551
+ return {
1552
+ error: "Error: payloadJson must be a valid JSON object encoded as a string. No changes were applied.",
1553
+ };
1554
+ }
1555
+ if (!payload || typeof payload !== "object" || Array.isArray(payload)) {
1556
+ return {
1557
+ error: "Error: payloadJson must decode to a non-empty JSON object. No changes were applied.",
1558
+ };
1559
+ }
1560
+ const payloadRecord = payload;
1561
+ const allowedByOperation = {
1562
+ edit: new Set(["patches", "edits", "format"]),
1563
+ replace: new Set([
1564
+ "content",
1565
+ "contentFromAttachment",
1566
+ "contentFromWorkspaceFile",
1567
+ "format",
1568
+ ]),
1569
+ metadata: new Set(["name", "description", "icon"]),
1570
+ };
1571
+ const unexpected = Object.keys(payloadRecord).filter((key) => !allowedByOperation[operation].has(key));
1572
+ if (unexpected.length > 0) {
1573
+ return {
1574
+ error: `Error: operation=${operation} does not accept ${unexpected.join(", ")}. No changes were applied.`,
1575
+ };
1576
+ }
1577
+ if (operation === "edit") {
1578
+ const patches = parsePatches(payloadRecord.patches);
1579
+ const edits = parseEdits(payloadRecord.edits);
1580
+ const hasEdit = (patches?.length ?? 0) > 0 ||
1581
+ (edits?.length ?? 0) > 0 ||
1582
+ coerceBoolean(payloadRecord.format);
1583
+ if (!hasEdit) {
1584
+ return {
1585
+ error: "Error: operation=edit requires at least one valid patch/edit or format=true. No changes were applied.",
1586
+ };
1587
+ }
1588
+ }
1589
+ if (operation === "replace") {
1590
+ const replacementSources = [
1591
+ payloadRecord.content,
1592
+ payloadRecord.contentFromAttachment,
1593
+ payloadRecord.contentFromWorkspaceFile,
1594
+ ].filter((value) => typeof value === "string" && value.trim().length > 0);
1595
+ if (replacementSources.length !== 1) {
1596
+ return {
1597
+ error: "Error: operation=replace requires exactly one non-empty content, contentFromAttachment, or contentFromWorkspaceFile value. No changes were applied.",
1598
+ };
1599
+ }
1600
+ }
1601
+ if (operation === "metadata") {
1602
+ const keys = Object.keys(payloadRecord);
1603
+ if (keys.length === 0) {
1604
+ return {
1605
+ error: "Error: operation=metadata requires name, description, or icon. No changes were applied.",
1606
+ };
1607
+ }
1608
+ if (payloadRecord.name !== undefined &&
1609
+ (typeof payloadRecord.name !== "string" ||
1610
+ payloadRecord.name.trim().length === 0)) {
1611
+ return {
1612
+ error: "Error: extension name must be a non-empty string. No changes were applied.",
1613
+ };
1614
+ }
1615
+ }
1616
+ return {
1617
+ args: {
1618
+ id: String(args?.id ?? "").trim(),
1619
+ ...payloadRecord,
1620
+ ...(operation === "replace" ? { allowFullReplacement: true } : {}),
1621
+ },
1622
+ };
1623
+ }
1526
1624
  function parseInlineContext(value) {
1527
1625
  if (value === undefined || value === null || value === "")
1528
1626
  return undefined;