@agent-native/core 0.131.5 → 0.131.6

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 (328) hide show
  1. package/corpus/README.md +3 -3
  2. package/corpus/core/CHANGELOG.md +63 -0
  3. package/corpus/core/docs/content/agent-native-toolkit.mdx +13 -6
  4. package/corpus/core/docs/content/cloneable-saas.mdx +5 -5
  5. package/corpus/core/docs/content/creating-templates.mdx +9 -0
  6. package/corpus/core/docs/content/deployment.mdx +14 -10
  7. package/corpus/core/docs/content/doctor.mdx +8 -1
  8. package/corpus/core/docs/content/drop-in-agent.mdx +1 -1
  9. package/corpus/core/docs/content/extensions.mdx +18 -18
  10. package/corpus/core/docs/content/faq.mdx +4 -4
  11. package/corpus/core/docs/content/key-concepts.mdx +30 -21
  12. package/corpus/core/docs/content/template-brain-developers.mdx +4 -1
  13. package/corpus/core/docs/content/template-mail-developers.mdx +4 -1
  14. package/corpus/core/docs/content/what-is-agent-native.mdx +6 -6
  15. package/corpus/core/package.json +1 -1
  16. package/corpus/core/src/a2a/client.ts +449 -66
  17. package/corpus/core/src/a2a/correlation.ts +31 -0
  18. package/corpus/core/src/a2a/types.ts +4 -0
  19. package/corpus/core/src/action.ts +3 -0
  20. package/corpus/core/src/agent/engine/registry.ts +45 -5
  21. package/corpus/core/src/agent/production-agent.ts +151 -18
  22. package/corpus/core/src/agent/run-loop-with-resume.ts +190 -3
  23. package/corpus/core/src/agent/run-manager.ts +117 -41
  24. package/corpus/core/src/agent/thread-debug-history.ts +86 -0
  25. package/corpus/core/src/agent/types.ts +3 -1
  26. package/corpus/core/src/cli/create.ts +11 -1
  27. package/corpus/core/src/cli/templates-meta.ts +2 -2
  28. package/corpus/core/src/client/agent-chat-adapter.ts +91 -13
  29. package/corpus/core/src/client/resources/McpIntegrationDialog.tsx +11 -9
  30. package/corpus/core/src/client/sse-event-processor.ts +17 -3
  31. package/corpus/core/src/db/client.ts +57 -17
  32. package/corpus/core/src/integrations/adapters/slack.ts +8 -3
  33. package/corpus/core/src/localization/default-messages.ts +44 -0
  34. package/corpus/core/src/observability/traces.ts +78 -5
  35. package/corpus/core/src/scripts/call-agent.ts +290 -9
  36. package/corpus/core/src/scripts/describe-workspace-apps.ts +2 -2
  37. package/corpus/core/src/secrets/crypto.ts +126 -34
  38. package/corpus/core/src/secrets/storage.ts +61 -25
  39. package/corpus/core/src/server/agent-capabilities.ts +1 -1
  40. package/corpus/core/src/server/agent-chat/action-filters-a2a.ts +111 -7
  41. package/corpus/core/src/server/agent-chat/context-tools.ts +2 -0
  42. package/corpus/core/src/server/agent-chat/plugin-options.ts +34 -1
  43. package/corpus/core/src/server/agent-chat/prompt-resources.ts +1 -1
  44. package/corpus/core/src/server/agent-chat-plugin.ts +91 -59
  45. package/corpus/core/src/templates/default/.agents/skills/secrets/SKILL.md +14 -7
  46. package/corpus/core/src/templates/headless/.agents/skills/secrets/SKILL.md +14 -7
  47. package/corpus/core/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +18 -7
  48. package/corpus/core/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +15 -14
  49. package/corpus/core/src/templates/workspace-core/.agents/skills/secrets/SKILL.md +14 -7
  50. package/corpus/core/src/vite/client.ts +1 -0
  51. package/corpus/templates/analytics/.agents/skills/dashboard-ops/SKILL.md +5 -4
  52. package/corpus/templates/analytics/.agents/skills/gong/SKILL.md +6 -4
  53. package/corpus/templates/analytics/AGENTS.md +6 -4
  54. package/corpus/templates/analytics/actions/query-agent-native-analytics.ts +4 -3
  55. package/corpus/templates/analytics/changelog/2026-07-30-scheduled-dashboard-emails-complete-every-panel-without-pool.md +6 -0
  56. package/corpus/templates/analytics/scripts/emit-netlify-dashboard-report-cron.ts +28 -1
  57. package/corpus/templates/analytics/server/jobs/dashboard-report.ts +18 -11
  58. package/corpus/templates/analytics/server/lib/analytics-connector-catalog.ts +4 -4
  59. package/corpus/templates/analytics/server/lib/canonical-first-party-dashboard-repair.ts +9 -5
  60. package/corpus/templates/analytics/server/lib/dashboard-panel-query.ts +6 -2
  61. package/corpus/templates/analytics/server/lib/dashboard-panel-source-resolver.ts +11 -4
  62. package/corpus/templates/analytics/server/lib/dashboard-report-render.ts +49 -31
  63. package/corpus/templates/analytics/server/lib/first-party-analytics.ts +16 -8
  64. package/corpus/templates/analytics/server/lib/first-party-metric-catalog.ts +9 -3
  65. package/corpus/templates/analytics/server/lib/production-serverless-runtime.ts +11 -0
  66. package/corpus/templates/analytics/server/plugins/agent-chat.ts +3 -2
  67. package/corpus/templates/analytics/server/plugins/analytics-alert-jobs.ts +2 -1
  68. package/corpus/templates/analytics/server/plugins/dashboard-report-jobs.ts +2 -1
  69. package/corpus/templates/analytics/server/plugins/uptime-monitor-jobs.ts +1 -12
  70. package/corpus/templates/brain/.agents/skills/brain/RUNBOOK.md +54 -6
  71. package/corpus/templates/brain/.agents/skills/brain/SKILL.md +20 -9
  72. package/corpus/templates/brain/.agents/skills/ingestion-and-connectors/SKILL.md +33 -1
  73. package/corpus/templates/brain/AGENTS.md +3 -1
  74. package/corpus/templates/brain/README.md +4 -1
  75. package/corpus/templates/brain/actions/_schemas.ts +30 -8
  76. package/corpus/templates/brain/actions/ask-brain.ts +124 -14
  77. package/corpus/templates/brain/actions/create-source.ts +18 -2
  78. package/corpus/templates/brain/actions/enqueue-captures-distillation.ts +8 -123
  79. package/corpus/templates/brain/actions/enqueue-distillation.ts +6 -127
  80. package/corpus/templates/brain/actions/import-capture.ts +17 -5
  81. package/corpus/templates/brain/actions/import-transcript.ts +17 -5
  82. package/corpus/templates/brain/actions/update-source.ts +25 -5
  83. package/corpus/templates/brain/app/components/layout/Sidebar.tsx +1 -1
  84. package/corpus/templates/brain/changelog/2026-07-30-blessed-resources-can-feed-cited-company-answers.md +6 -0
  85. package/corpus/templates/brain/changelog/2026-07-30-the-left-sidebar-no-longer-shows-a-blank-organization-placeh.md +6 -0
  86. package/corpus/templates/brain/server/lib/brain.ts +49 -19
  87. package/corpus/templates/brain/server/lib/distillation-queue.ts +147 -0
  88. package/corpus/templates/brain/server/lib/source-policy.ts +264 -0
  89. package/corpus/templates/brain/server/plugins/agent-chat.ts +3 -2
  90. package/corpus/templates/brain/server/routes/api/_agent-native/brain/ingest.post.ts +116 -19
  91. package/corpus/templates/clips/app/components/meetings/google-oauth-identity-notice.tsx +51 -0
  92. package/corpus/templates/clips/app/i18n/en-US.ts +4 -0
  93. package/corpus/templates/clips/app/routes/_app.meetings._index.tsx +3 -1
  94. package/corpus/templates/clips/changelog/2026-07-30-google-calendar-warning.md +6 -0
  95. package/corpus/templates/content/app/components/editor/VisualEditor.tsx +72 -8
  96. package/corpus/templates/content/changelog/2026-07-30-the-slash-command-hint-now-stays-on-only-the-active-empty-li.md +6 -0
  97. package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +506 -11
  98. package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +148 -17
  99. package/corpus/templates/design/app/components/design/canvas-interactions/design-canvas-interactions.ts +357 -0
  100. package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +7 -466
  101. package/corpus/templates/design/app/components/design/inspector/scrub-input-utils.ts +15 -311
  102. package/corpus/templates/design/app/components/visual-editor/CanvasCommentPins.tsx +19 -997
  103. package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +8 -1216
  104. package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +31 -38
  105. package/corpus/templates/design/package.json +0 -1
  106. package/corpus/templates/dispatch/AGENTS.md +8 -0
  107. package/corpus/templates/dispatch/DEVELOPING.md +29 -0
  108. package/corpus/templates/dispatch/actions/view-screen.ts +34 -2
  109. package/corpus/templates/dispatch/app/i18n-data.ts +457 -0
  110. package/corpus/templates/dispatch/changelog/2026-07-30-delegated-dispatch-work-continues-reliably-in-the-background.md +6 -0
  111. package/corpus/templates/dispatch/changelog/2026-07-30-find-failed-runs-across-apps.md +6 -0
  112. package/corpus/templates/dispatch/netlify.toml +3 -0
  113. package/corpus/templates/slides/.agents/skills/analytics-data-for-decks/SKILL.md +8 -12
  114. package/corpus/templates/slides/AGENTS.md +4 -4
  115. package/corpus/templates/slides/actions/duplicate-deck.ts +19 -4
  116. package/corpus/templates/slides/app/components/deck/DeckCard.tsx +2 -10
  117. package/corpus/templates/slides/app/components/deck/MermaidRenderer.tsx +12 -1
  118. package/corpus/templates/slides/app/components/deck/SlideRenderer.tsx +30 -13
  119. package/corpus/templates/slides/app/components/editor/DeckEditorSkeleton.tsx +35 -0
  120. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +63 -56
  121. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +21 -76
  122. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +1110 -292
  123. package/corpus/templates/slides/app/components/editor/SlideOverflowWarning.tsx +53 -0
  124. package/corpus/templates/slides/app/components/editor/SlideStyleInspector.tsx +235 -18
  125. package/corpus/templates/slides/app/components/editor/SpeakerNotesPanel.tsx +4 -1
  126. package/corpus/templates/slides/app/components/editor/canvas-interactions/index.ts +11 -0
  127. package/corpus/templates/slides/app/components/editor/canvas-interactions/slides-canvas-adapter.ts +129 -0
  128. package/corpus/templates/slides/app/components/editor/selection-overlay-measurement.ts +70 -0
  129. package/corpus/templates/slides/app/components/editor/slide-object-interactions.ts +519 -65
  130. package/corpus/templates/slides/app/components/visual-editor/CanvasCommentPins.tsx +36 -426
  131. package/corpus/templates/slides/app/components/visual-editor/DrawOverlay.tsx +19 -458
  132. package/corpus/templates/slides/app/context/DeckContext.tsx +179 -72
  133. package/corpus/templates/slides/app/global.css +105 -0
  134. package/corpus/templates/slides/app/i18n/en-US.ts +8 -0
  135. package/corpus/templates/slides/app/lib/deck-editor-loading.ts +26 -0
  136. package/corpus/templates/slides/app/lib/mermaid-blocks.ts +27 -0
  137. package/corpus/templates/slides/app/pages/DeckEditor.tsx +71 -38
  138. package/corpus/templates/slides/app/pages/Index.tsx +98 -41
  139. package/corpus/templates/slides/changelog/2026-07-30-deck-loading-no-longer-flashes-an-unavailable-message.md +6 -0
  140. package/corpus/templates/slides/changelog/2026-07-30-duplicating-a-deck-from-the-deck-list-now-opens-the-copy-imm.md +6 -0
  141. package/corpus/templates/slides/changelog/2026-07-30-layout-overflow-warning-is-readable-and-dismissible.md +6 -0
  142. package/corpus/templates/slides/changelog/2026-07-30-shared-canvas-annotations.md +6 -0
  143. package/corpus/templates/slides/changelog/2026-07-30-slide-objects-can-be-moved-as-a-group-copied-and-pasted-with.md +6 -0
  144. package/corpus/templates/slides/changelog/2026-07-30-slide-text-editing-and-object-controls-now-match-google-slides.md +6 -0
  145. package/corpus/templates/slides/changelog/2026-07-30-style-panel-now-scrolls-with-speaker-notes-open-shows-the-sl.md +6 -0
  146. package/corpus/templates/slides/changelog/2026-07-30-top-toolbar-controls-now-use-consistent-sizing-with-undo-and.md +6 -0
  147. package/corpus/templates/slides/netlify.toml +3 -1
  148. package/corpus/templates/slides/package.json +0 -1
  149. package/corpus/templates/slides/server/lib/chat-attachments.ts +18 -0
  150. package/corpus/templates/slides/server/plugins/agent-chat.ts +5 -0
  151. package/corpus/templates/slides/vite.config.ts +0 -1
  152. package/corpus/toolkit/CHANGELOG.md +13 -0
  153. package/corpus/toolkit/README.md +19 -0
  154. package/corpus/toolkit/agent-native.eject.json +38 -0
  155. package/corpus/toolkit/package.json +29 -1
  156. package/corpus/toolkit/src/canvas-annotations/CanvasCommentPins.tsx +861 -0
  157. package/corpus/toolkit/src/canvas-annotations/DrawOverlay.tsx +1233 -0
  158. package/corpus/toolkit/src/canvas-annotations/index.ts +15 -0
  159. package/corpus/toolkit/src/canvas-annotations/types.ts +14 -0
  160. package/corpus/toolkit/src/canvas-interactions/canvas-interactions.ts +933 -0
  161. package/corpus/toolkit/src/canvas-interactions/index.ts +67 -0
  162. package/corpus/toolkit/src/design-tweaks/scrub-input-utils.ts +311 -0
  163. package/corpus/toolkit/src/design-tweaks/scrub-input.tsx +491 -0
  164. package/corpus/toolkit/src/design-tweaks/visual-style-controls.tsx +26 -171
  165. package/corpus/toolkit/src/index.ts +1 -0
  166. package/dist/a2a/client.d.ts +23 -0
  167. package/dist/a2a/client.d.ts.map +1 -1
  168. package/dist/a2a/client.js +309 -44
  169. package/dist/a2a/client.js.map +1 -1
  170. package/dist/a2a/correlation.d.ts +1 -0
  171. package/dist/a2a/correlation.d.ts.map +1 -1
  172. package/dist/a2a/correlation.js +27 -0
  173. package/dist/a2a/correlation.js.map +1 -1
  174. package/dist/a2a/types.d.ts +4 -0
  175. package/dist/a2a/types.d.ts.map +1 -1
  176. package/dist/a2a/types.js.map +1 -1
  177. package/dist/action.d.ts +3 -0
  178. package/dist/action.d.ts.map +1 -1
  179. package/dist/action.js.map +1 -1
  180. package/dist/agent/engine/registry.d.ts.map +1 -1
  181. package/dist/agent/engine/registry.js +34 -7
  182. package/dist/agent/engine/registry.js.map +1 -1
  183. package/dist/agent/production-agent.d.ts +40 -1
  184. package/dist/agent/production-agent.d.ts.map +1 -1
  185. package/dist/agent/production-agent.js +113 -15
  186. package/dist/agent/production-agent.js.map +1 -1
  187. package/dist/agent/run-loop-with-resume.d.ts +21 -0
  188. package/dist/agent/run-loop-with-resume.d.ts.map +1 -1
  189. package/dist/agent/run-loop-with-resume.js +163 -4
  190. package/dist/agent/run-loop-with-resume.js.map +1 -1
  191. package/dist/agent/run-manager.d.ts +16 -9
  192. package/dist/agent/run-manager.d.ts.map +1 -1
  193. package/dist/agent/run-manager.js +93 -42
  194. package/dist/agent/run-manager.js.map +1 -1
  195. package/dist/agent/thread-debug-history.d.ts +10 -0
  196. package/dist/agent/thread-debug-history.d.ts.map +1 -0
  197. package/dist/agent/thread-debug-history.js +68 -0
  198. package/dist/agent/thread-debug-history.js.map +1 -0
  199. package/dist/agent/types.d.ts +3 -1
  200. package/dist/agent/types.d.ts.map +1 -1
  201. package/dist/agent/types.js.map +1 -1
  202. package/dist/cli/create.d.ts.map +1 -1
  203. package/dist/cli/create.js +6 -1
  204. package/dist/cli/create.js.map +1 -1
  205. package/dist/cli/templates-meta.js +2 -2
  206. package/dist/cli/templates-meta.js.map +1 -1
  207. package/dist/client/agent-chat-adapter.d.ts +1 -1
  208. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  209. package/dist/client/agent-chat-adapter.js +76 -13
  210. package/dist/client/agent-chat-adapter.js.map +1 -1
  211. package/dist/client/resources/McpIntegrationDialog.d.ts.map +1 -1
  212. package/dist/client/resources/McpIntegrationDialog.js +1 -1
  213. package/dist/client/resources/McpIntegrationDialog.js.map +1 -1
  214. package/dist/client/sse-event-processor.d.ts.map +1 -1
  215. package/dist/client/sse-event-processor.js +12 -3
  216. package/dist/client/sse-event-processor.js.map +1 -1
  217. package/dist/collab/routes.d.ts +1 -1
  218. package/dist/collab/struct-routes.d.ts +1 -1
  219. package/dist/db/client.d.ts.map +1 -1
  220. package/dist/db/client.js +48 -17
  221. package/dist/db/client.js.map +1 -1
  222. package/dist/file-upload/actions/upload-image.d.ts +1 -1
  223. package/dist/integrations/adapters/slack.js +7 -3
  224. package/dist/integrations/adapters/slack.js.map +1 -1
  225. package/dist/localization/default-messages.d.ts +43 -0
  226. package/dist/localization/default-messages.d.ts.map +1 -1
  227. package/dist/localization/default-messages.js +43 -0
  228. package/dist/localization/default-messages.js.map +1 -1
  229. package/dist/mcp/screen-memory-stdio.d.ts +7 -7
  230. package/dist/mcp/screen-memory-stdio.d.ts.map +1 -1
  231. package/dist/notifications/routes.d.ts +6 -6
  232. package/dist/observability/traces.d.ts +3 -1
  233. package/dist/observability/traces.d.ts.map +1 -1
  234. package/dist/observability/traces.js +73 -4
  235. package/dist/observability/traces.js.map +1 -1
  236. package/dist/progress/routes.d.ts +1 -1
  237. package/dist/provider-api/actions/custom-provider-registration.d.ts +12 -12
  238. package/dist/provider-api/actions/provider-api.d.ts +13 -13
  239. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  240. package/dist/scripts/call-agent.d.ts.map +1 -1
  241. package/dist/scripts/call-agent.js +233 -10
  242. package/dist/scripts/call-agent.js.map +1 -1
  243. package/dist/scripts/describe-workspace-apps.js +2 -2
  244. package/dist/scripts/describe-workspace-apps.js.map +1 -1
  245. package/dist/secrets/crypto.d.ts +31 -21
  246. package/dist/secrets/crypto.d.ts.map +1 -1
  247. package/dist/secrets/crypto.js +108 -33
  248. package/dist/secrets/crypto.js.map +1 -1
  249. package/dist/secrets/storage.d.ts +3 -5
  250. package/dist/secrets/storage.d.ts.map +1 -1
  251. package/dist/secrets/storage.js +40 -25
  252. package/dist/secrets/storage.js.map +1 -1
  253. package/dist/server/agent-capabilities.js +1 -1
  254. package/dist/server/agent-capabilities.js.map +1 -1
  255. package/dist/server/agent-chat/action-filters-a2a.d.ts +17 -3
  256. package/dist/server/agent-chat/action-filters-a2a.d.ts.map +1 -1
  257. package/dist/server/agent-chat/action-filters-a2a.js +92 -3
  258. package/dist/server/agent-chat/action-filters-a2a.js.map +1 -1
  259. package/dist/server/agent-chat/context-tools.d.ts.map +1 -1
  260. package/dist/server/agent-chat/context-tools.js +2 -0
  261. package/dist/server/agent-chat/context-tools.js.map +1 -1
  262. package/dist/server/agent-chat/plugin-options.d.ts +23 -0
  263. package/dist/server/agent-chat/plugin-options.d.ts.map +1 -1
  264. package/dist/server/agent-chat/plugin-options.js +4 -1
  265. package/dist/server/agent-chat/plugin-options.js.map +1 -1
  266. package/dist/server/agent-chat/prompt-resources.js +1 -1
  267. package/dist/server/agent-chat/prompt-resources.js.map +1 -1
  268. package/dist/server/agent-chat-plugin.d.ts +2 -1
  269. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  270. package/dist/server/agent-chat-plugin.js +79 -56
  271. package/dist/server/agent-chat-plugin.js.map +1 -1
  272. package/dist/server/realtime-token.d.ts +1 -1
  273. package/dist/templates/default/.agents/skills/secrets/SKILL.md +14 -7
  274. package/dist/templates/headless/.agents/skills/secrets/SKILL.md +14 -7
  275. package/dist/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +18 -7
  276. package/dist/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +15 -14
  277. package/dist/templates/workspace-core/.agents/skills/secrets/SKILL.md +14 -7
  278. package/dist/vite/client.d.ts.map +1 -1
  279. package/dist/vite/client.js +1 -0
  280. package/dist/vite/client.js.map +1 -1
  281. package/docs/content/agent-native-toolkit.mdx +13 -6
  282. package/docs/content/cloneable-saas.mdx +5 -5
  283. package/docs/content/creating-templates.mdx +9 -0
  284. package/docs/content/deployment.mdx +14 -10
  285. package/docs/content/doctor.mdx +8 -1
  286. package/docs/content/drop-in-agent.mdx +1 -1
  287. package/docs/content/extensions.mdx +18 -18
  288. package/docs/content/faq.mdx +4 -4
  289. package/docs/content/key-concepts.mdx +30 -21
  290. package/docs/content/template-brain-developers.mdx +4 -1
  291. package/docs/content/template-mail-developers.mdx +4 -1
  292. package/docs/content/what-is-agent-native.mdx +6 -6
  293. package/package.json +2 -2
  294. package/src/a2a/client.ts +449 -66
  295. package/src/a2a/correlation.ts +31 -0
  296. package/src/a2a/types.ts +4 -0
  297. package/src/action.ts +3 -0
  298. package/src/agent/engine/registry.ts +45 -5
  299. package/src/agent/production-agent.ts +151 -18
  300. package/src/agent/run-loop-with-resume.ts +190 -3
  301. package/src/agent/run-manager.ts +117 -41
  302. package/src/agent/thread-debug-history.ts +86 -0
  303. package/src/agent/types.ts +3 -1
  304. package/src/cli/create.ts +11 -1
  305. package/src/cli/templates-meta.ts +2 -2
  306. package/src/client/agent-chat-adapter.ts +91 -13
  307. package/src/client/resources/McpIntegrationDialog.tsx +11 -9
  308. package/src/client/sse-event-processor.ts +17 -3
  309. package/src/db/client.ts +57 -17
  310. package/src/integrations/adapters/slack.ts +8 -3
  311. package/src/localization/default-messages.ts +44 -0
  312. package/src/observability/traces.ts +78 -5
  313. package/src/scripts/call-agent.ts +290 -9
  314. package/src/scripts/describe-workspace-apps.ts +2 -2
  315. package/src/secrets/crypto.ts +126 -34
  316. package/src/secrets/storage.ts +61 -25
  317. package/src/server/agent-capabilities.ts +1 -1
  318. package/src/server/agent-chat/action-filters-a2a.ts +111 -7
  319. package/src/server/agent-chat/context-tools.ts +2 -0
  320. package/src/server/agent-chat/plugin-options.ts +34 -1
  321. package/src/server/agent-chat/prompt-resources.ts +1 -1
  322. package/src/server/agent-chat-plugin.ts +91 -59
  323. package/src/templates/default/.agents/skills/secrets/SKILL.md +14 -7
  324. package/src/templates/headless/.agents/skills/secrets/SKILL.md +14 -7
  325. package/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +18 -7
  326. package/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +15 -14
  327. package/src/templates/workspace-core/.agents/skills/secrets/SKILL.md +14 -7
  328. package/src/vite/client.ts +1 -0
@@ -17,8 +17,6 @@ import {
17
17
  IconLayoutSidebar,
18
18
  IconPhoto,
19
19
  IconHistory,
20
- IconArrowBackUp,
21
- IconArrowForwardUp,
22
20
  IconFolderOpen,
23
21
  IconSettings,
24
22
  IconSchema,
@@ -67,7 +65,6 @@ import {
67
65
  } from "@/lib/aspect-ratios";
68
66
  import type { GoogleSlidesExportResult } from "@/lib/export-google-slides-client";
69
67
  import { parseUploadResponse } from "@/lib/upload-response";
70
- import { shortcutLabel } from "@/lib/utils";
71
68
 
72
69
  import { ExportMenu } from "./ExportMenu";
73
70
  interface EditorToolbarProps {
@@ -90,10 +87,6 @@ interface EditorToolbarProps {
90
87
  historyOpen: boolean;
91
88
  onShowHistory: () => void;
92
89
  historyButtonRef: React.RefObject<HTMLButtonElement | null>;
93
- onUndo: () => void;
94
- onRedo: () => void;
95
- canUndo: boolean;
96
- canRedo: boolean;
97
90
  currentSlide?: Slide;
98
91
  onUpdateSlide?: (updates: Partial<Omit<Slide, "id">>) => void;
99
92
  /** Active users on the current slide (from collab awareness) */
@@ -171,6 +164,8 @@ const backgroundOptions = [
171
164
  ];
172
165
 
173
166
  const HEX_COLOR_PATTERN = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i;
167
+ const TOOLBAR_ICON_BUTTON_CLASS =
168
+ "inline-flex size-8 flex-shrink-0 items-center justify-center rounded-md transition-colors";
174
169
 
175
170
  /** Native <input type="color"> only accepts 3/6-digit hex — fall back to
176
171
  * black for gradients or other raw CSS values so the picker still opens. */
@@ -247,10 +242,6 @@ export default function EditorToolbar({
247
242
  assetsButtonRef,
248
243
  onShowHistory,
249
244
  historyButtonRef,
250
- onUndo,
251
- onRedo,
252
- canUndo,
253
- canRedo,
254
245
  currentSlide,
255
246
  onUpdateSlide,
256
247
  activeUsers,
@@ -426,10 +417,10 @@ export default function EditorToolbar({
426
417
  <TooltipTrigger asChild>
427
418
  <Link
428
419
  to="/"
429
- className="p-2.5 sm:p-1.5 rounded-md hover:bg-accent transition-colors flex-shrink-0"
420
+ className={`${TOOLBAR_ICON_BUTTON_CLASS} hover:bg-accent`}
430
421
  aria-label={t("editorToolbar.backToDecks")}
431
422
  >
432
- <IconArrowLeft className="w-4 h-4 text-muted-foreground" />
423
+ <IconArrowLeft className="size-4 text-muted-foreground" />
433
424
  </Link>
434
425
  </TooltipTrigger>
435
426
  <TooltipContent>{t("editorToolbar.backToDecks")}</TooltipContent>
@@ -440,12 +431,12 @@ export default function EditorToolbar({
440
431
  <TooltipTrigger asChild>
441
432
  <button
442
433
  onClick={onToggleSidebar}
443
- className={`md:hidden p-2.5 sm:p-1.5 rounded-md hover:bg-accent transition-colors flex-shrink-0 ${
434
+ className={`${TOOLBAR_ICON_BUTTON_CLASS} md:hidden hover:bg-accent ${
444
435
  sidebarOpen ? "text-muted-foreground" : "text-muted-foreground/70"
445
436
  }`}
446
437
  aria-label={t("editorToolbar.toggleSlideList")}
447
438
  >
448
- <IconLayoutSidebar className="w-4 h-4" />
439
+ <IconLayoutSidebar className="size-4" />
449
440
  </button>
450
441
  </TooltipTrigger>
451
442
  <TooltipContent>{t("editorToolbar.toggleSlideList")}</TooltipContent>
@@ -486,14 +477,14 @@ export default function EditorToolbar({
486
477
  closeAll();
487
478
  setLayoutOpen(!layoutOpen);
488
479
  }}
489
- className={`flex items-center gap-1 p-2.5 sm:px-2 sm:py-1.5 rounded-md text-xs transition-colors flex-shrink-0 ${
480
+ className={`${TOOLBAR_ICON_BUTTON_CLASS} ${
490
481
  layoutOpen
491
482
  ? "text-foreground/90 bg-accent"
492
483
  : "text-muted-foreground hover:text-foreground/70 hover:bg-accent"
493
484
  }`}
494
485
  aria-label={t("editorToolbar.slideSettings")}
495
486
  >
496
- <IconSettings className="w-3.5 h-3.5" />
487
+ <IconSettings className="size-4" />
497
488
  </button>
498
489
  </TooltipTrigger>
499
490
  <TooltipContent>{t("editorToolbar.slideSettings")}</TooltipContent>
@@ -665,7 +656,7 @@ graph TD
665
656
  console.error("Mermaid to Excalidraw failed:", err);
666
657
  }
667
658
  }}
668
- className="flex items-center gap-2 w-full px-3 py-1.5 text-xs text-[#00E5FF]/80 hover:text-[#00E5FF] hover:bg-accent/50 transition-colors"
659
+ className="flex items-center gap-2 w-full px-3 py-1.5 text-xs text-[hsl(var(--accent-cyan))]/80 hover:text-[hsl(var(--accent-cyan))] hover:bg-accent/50 transition-colors"
669
660
  >
670
661
  <IconTransform className="w-3 h-3" />
671
662
  {t("editorToolbar.convertMermaidToExcalidraw")}
@@ -719,8 +710,8 @@ graph TD
719
710
  {/* Aspect Ratio section (deck-level) */}
720
711
  {onSetAspectRatio && (
721
712
  <>
722
- <div className="mx-2 my-1.5 border-t border-white/[0.06]" />
723
- <div className="px-3 py-1.5 text-[10px] font-medium text-white/30 uppercase tracking-wider">
713
+ <div className="mx-2 my-1.5 border-t border-border" />
714
+ <div className="px-3 py-1.5 text-[10px] font-medium text-muted-foreground/70 uppercase tracking-wider">
724
715
  {t("editorToolbar.aspectRatio")}
725
716
  </div>
726
717
  <div className="px-3 pb-2.5 grid grid-cols-4 gap-1">
@@ -734,7 +725,7 @@ graph TD
734
725
  className={`px-1.5 py-1 rounded text-[10px] font-medium border ${
735
726
  active
736
727
  ? "bg-[#609FF8]/20 text-[#609FF8] border-[#609FF8]/30"
737
- : "text-white/40 hover:text-white/70 hover:bg-white/[0.04] border-transparent"
728
+ : "text-muted-foreground hover:text-foreground hover:bg-accent/50 border-transparent"
738
729
  }`}
739
730
  >
740
731
  {r}
@@ -764,7 +755,7 @@ graph TD
764
755
  aria-label={t("editorToolbar.addTextBox")}
765
756
  aria-pressed={textBoxMode}
766
757
  aria-keyshortcuts="T"
767
- className={`flex-shrink-0 rounded p-1.5 ${
758
+ className={`${TOOLBAR_ICON_BUTTON_CLASS} ${
768
759
  textBoxMode
769
760
  ? "bg-accent text-foreground"
770
761
  : "text-muted-foreground hover:bg-accent hover:text-foreground/70"
@@ -796,14 +787,14 @@ graph TD
796
787
  <TooltipTrigger asChild>
797
788
  <DropdownMenuTrigger asChild>
798
789
  <button
799
- className={`relative p-1.5 rounded cursor-pointer flex-shrink-0 ${
790
+ className={`${TOOLBAR_ICON_BUTTON_CLASS} relative cursor-pointer ${
800
791
  anyToolActive || toolsOpen
801
792
  ? "bg-accent text-foreground"
802
793
  : "text-muted-foreground hover:text-foreground/70 hover:bg-accent"
803
794
  }`}
804
795
  aria-label={t("editorToolbar.slideTools")}
805
796
  >
806
- <IconTool className="w-4 h-4" />
797
+ <IconTool className="size-4" />
807
798
  {anyToolActive && !toolsOpen && (
808
799
  <span className="absolute top-1 right-1 w-1.5 h-1.5 rounded-full bg-[#609FF8]" />
809
800
  )}
@@ -869,52 +860,6 @@ graph TD
869
860
  </DropdownMenu>
870
861
  )}
871
862
 
872
- {/* Edit-only cluster — undo/redo */}
873
- {canEdit && (
874
- <>
875
- {/* Separator */}
876
- <div className="hidden h-5 w-px flex-shrink-0 bg-border/70 sm:block" />
877
-
878
- {/* Undo/Redo */}
879
- <div className="flex items-center flex-shrink-0">
880
- <Tooltip>
881
- <TooltipTrigger asChild>
882
- <button
883
- onClick={onUndo}
884
- disabled={!canUndo}
885
- className="p-2.5 sm:p-1.5 rounded-md hover:bg-accent disabled:opacity-20 transition-colors"
886
- aria-label={t("editorToolbar.undo")}
887
- >
888
- <IconArrowBackUp className="w-3.5 h-3.5 text-muted-foreground" />
889
- </button>
890
- </TooltipTrigger>
891
- <TooltipContent>
892
- {t("editorToolbar.undoWithShortcut", {
893
- shortcut: shortcutLabel("cmd+z"),
894
- })}
895
- </TooltipContent>
896
- </Tooltip>
897
- <Tooltip>
898
- <TooltipTrigger asChild>
899
- <button
900
- onClick={onRedo}
901
- disabled={!canRedo}
902
- className="p-2.5 sm:p-1.5 rounded-md hover:bg-accent disabled:opacity-20 transition-colors"
903
- aria-label={t("editorToolbar.redo")}
904
- >
905
- <IconArrowForwardUp className="w-3.5 h-3.5 text-muted-foreground" />
906
- </button>
907
- </TooltipTrigger>
908
- <TooltipContent>
909
- {t("editorToolbar.redoWithShortcut", {
910
- shortcut: shortcutLabel("cmd+shift+z"),
911
- })}
912
- </TooltipContent>
913
- </Tooltip>
914
- </div>
915
- </>
916
- )}
917
-
918
863
  {/* Save status — subtle "Saving…" / "Saved" / offline pill. Renders
919
864
  nothing when idle. Only meaningful for editors. */}
920
865
  {canEdit && (
@@ -941,14 +886,14 @@ graph TD
941
886
  <button
942
887
  onClick={onToggleStyle}
943
888
  data-slide-style-trigger="true"
944
- className={`relative flex-shrink-0 rounded-md p-2.5 transition-colors sm:p-1.5 ${
889
+ className={`${TOOLBAR_ICON_BUTTON_CLASS} relative ${
945
890
  styleOpen
946
891
  ? "bg-accent text-foreground"
947
892
  : "text-muted-foreground hover:bg-accent hover:text-foreground/70"
948
893
  }`}
949
894
  aria-label={t("styleInspector.title")}
950
895
  >
951
- <IconPalette className="h-3.5 w-3.5" />
896
+ <IconPalette className="size-4" />
952
897
  </button>
953
898
  </TooltipTrigger>
954
899
  <TooltipContent>{t("styleInspector.title")}</TooltipContent>
@@ -961,14 +906,14 @@ graph TD
961
906
  <TooltipTrigger asChild>
962
907
  <button
963
908
  onClick={onToggleComments}
964
- className={`relative p-2.5 sm:p-1.5 rounded-md transition-colors flex-shrink-0 ${
909
+ className={`${TOOLBAR_ICON_BUTTON_CLASS} relative ${
965
910
  commentsOpen
966
911
  ? "text-foreground bg-accent"
967
912
  : "text-muted-foreground hover:text-foreground/70 hover:bg-accent"
968
913
  }`}
969
914
  aria-label={t("editorToolbar.comments")}
970
915
  >
971
- <IconMessage className="w-3.5 h-3.5" />
916
+ <IconMessage className="size-4" />
972
917
  {unresolvedCommentCount > 0 && (
973
918
  <span className="absolute -top-0.5 -right-0.5 w-3.5 h-3.5 rounded-full bg-[#609FF8] text-[8px] font-bold text-black flex items-center justify-center leading-none">
974
919
  {unresolvedCommentCount > 9 ? "9+" : unresolvedCommentCount}
@@ -1053,10 +998,10 @@ graph TD
1053
998
  <DropdownMenuTrigger asChild>
1054
999
  <button
1055
1000
  ref={historyButtonRef}
1056
- className="p-2.5 sm:p-1.5 rounded-md hover:bg-accent transition-colors flex-shrink-0 text-muted-foreground hover:text-foreground/70 cursor-pointer"
1001
+ className={`${TOOLBAR_ICON_BUTTON_CLASS} cursor-pointer text-muted-foreground hover:bg-accent hover:text-foreground/70`}
1057
1002
  aria-label={t("editorToolbar.more")}
1058
1003
  >
1059
- <IconDotsVertical className="w-4 h-4" />
1004
+ <IconDotsVertical className="size-4" />
1060
1005
  </button>
1061
1006
  </DropdownMenuTrigger>
1062
1007
  </TooltipTrigger>