@agent-native/core 0.122.3 → 0.123.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1375) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +544 -0
  3. package/corpus/core/docs/content/actions.mdx +33 -20
  4. package/corpus/core/docs/content/agent-mentions.mdx +30 -19
  5. package/corpus/core/docs/content/agent-native-toolkit.mdx +8 -6
  6. package/corpus/core/docs/content/agent-resources.mdx +11 -0
  7. package/corpus/core/docs/content/agent-surfaces.mdx +41 -30
  8. package/corpus/core/docs/content/audit-log.mdx +78 -0
  9. package/corpus/core/docs/content/authentication.mdx +7 -5
  10. package/corpus/core/docs/content/automations.mdx +15 -9
  11. package/corpus/core/docs/content/client.mdx +11 -11
  12. package/corpus/core/docs/content/cloneable-saas.mdx +7 -1
  13. package/corpus/core/docs/content/code-agents-ui.mdx +9 -1
  14. package/corpus/core/docs/content/components.mdx +7 -0
  15. package/corpus/core/docs/content/context-awareness.mdx +1 -0
  16. package/corpus/core/docs/content/creating-templates.mdx +9 -1
  17. package/corpus/core/docs/content/custom-design-system.mdx +8 -0
  18. package/corpus/core/docs/content/data-programs.mdx +6 -0
  19. package/corpus/core/docs/content/deployment.mdx +2 -0
  20. package/corpus/core/docs/content/doctor.mdx +5 -3
  21. package/corpus/core/docs/content/extensions.mdx +26 -0
  22. package/corpus/core/docs/content/external-agents-catalog.mdx +533 -0
  23. package/corpus/core/docs/content/external-agents.mdx +20 -514
  24. package/corpus/core/docs/content/faq.mdx +2 -2
  25. package/corpus/core/docs/content/file-uploads.mdx +44 -0
  26. package/corpus/core/docs/content/frames.mdx +2 -2
  27. package/corpus/core/docs/content/generative-ui.mdx +8 -0
  28. package/corpus/core/docs/content/getting-started.mdx +45 -17
  29. package/corpus/core/docs/content/human-approval.mdx +9 -0
  30. package/corpus/core/docs/content/integrations.mdx +4 -3
  31. package/corpus/core/docs/content/internationalization.mdx +4 -11
  32. package/corpus/core/docs/content/key-concepts.mdx +1 -1
  33. package/corpus/core/docs/content/local-file-mode.mdx +5 -0
  34. package/corpus/core/docs/content/mcp-apps.mdx +2 -1
  35. package/corpus/core/docs/content/mcp-clients.mdx +32 -1
  36. package/corpus/core/docs/content/mcp-protocol.mdx +4 -3
  37. package/corpus/core/docs/content/messaging-internals.mdx +328 -0
  38. package/corpus/core/docs/content/messaging-recipes.mdx +194 -0
  39. package/corpus/core/docs/content/messaging.mdx +9 -307
  40. package/corpus/core/docs/content/multi-app-workspace.mdx +1 -1
  41. package/corpus/core/docs/content/multi-tenancy.mdx +1 -0
  42. package/corpus/core/docs/content/native-chat-ui.mdx +8 -0
  43. package/corpus/core/docs/content/notifications.mdx +18 -20
  44. package/corpus/core/docs/content/observability.mdx +1 -0
  45. package/corpus/core/docs/content/onboarding.mdx +20 -6
  46. package/corpus/core/docs/content/organizations-teams-permissions.mdx +99 -124
  47. package/corpus/core/docs/content/package-lifecycle.mdx +19 -7
  48. package/corpus/core/docs/content/progress.mdx +11 -0
  49. package/corpus/core/docs/content/real-time-collaboration.mdx +44 -3
  50. package/corpus/core/docs/content/recurring-jobs.mdx +14 -1
  51. package/corpus/core/docs/content/security.mdx +5 -2
  52. package/corpus/core/docs/content/server.mdx +2 -1
  53. package/corpus/core/docs/content/sharing.mdx +22 -3
  54. package/corpus/core/docs/content/skills-guide.mdx +62 -19
  55. package/corpus/core/docs/content/syncing-template-changes.mdx +9 -0
  56. package/corpus/core/docs/content/template-analytics-connectors.mdx +75 -0
  57. package/corpus/core/docs/content/template-analytics-dashboards.mdx +106 -0
  58. package/corpus/core/docs/content/template-analytics-developers.mdx +287 -0
  59. package/corpus/core/docs/content/template-analytics-monitoring-and-sessions.mdx +109 -0
  60. package/corpus/core/docs/content/template-analytics.mdx +21 -263
  61. package/corpus/core/docs/content/template-assets-developers.mdx +456 -0
  62. package/corpus/core/docs/content/template-assets-generation.mdx +147 -0
  63. package/corpus/core/docs/content/template-assets-integrations.mdx +319 -0
  64. package/corpus/core/docs/content/template-assets-presets.mdx +185 -0
  65. package/corpus/core/docs/content/template-assets.mdx +12 -562
  66. package/corpus/core/docs/content/template-brain-agent.mdx +103 -0
  67. package/corpus/core/docs/content/template-brain-developers.mdx +379 -0
  68. package/corpus/core/docs/content/template-brain-knowledge.mdx +50 -0
  69. package/corpus/core/docs/content/template-brain-sources.mdx +163 -0
  70. package/corpus/core/docs/content/template-brain.mdx +30 -390
  71. package/corpus/core/docs/content/template-calendar-agent.mdx +133 -0
  72. package/corpus/core/docs/content/template-calendar-booking-links.mdx +73 -0
  73. package/corpus/core/docs/content/template-calendar-developers.mdx +366 -0
  74. package/corpus/core/docs/content/template-calendar-scheduling.mdx +128 -0
  75. package/corpus/core/docs/content/template-calendar.mdx +13 -260
  76. package/corpus/core/docs/content/template-chat-developers.mdx +88 -0
  77. package/corpus/core/docs/content/template-chat-first-edits.mdx +145 -0
  78. package/corpus/core/docs/content/template-chat.mdx +12 -77
  79. package/corpus/core/docs/content/template-clips-ai-and-editing.mdx +114 -0
  80. package/corpus/core/docs/content/template-clips-capture-everywhere.mdx +120 -0
  81. package/corpus/core/docs/content/template-clips-developers.mdx +373 -0
  82. package/corpus/core/docs/content/template-clips-sharing-and-teams.mdx +182 -0
  83. package/corpus/core/docs/content/template-clips.mdx +19 -508
  84. package/corpus/core/docs/content/template-content-databases.mdx +406 -0
  85. package/corpus/core/docs/content/template-content-developers.mdx +364 -0
  86. package/corpus/core/docs/content/template-content-editing.mdx +60 -0
  87. package/corpus/core/docs/content/template-content-sync.mdx +149 -0
  88. package/corpus/core/docs/content/template-content.mdx +21 -561
  89. package/corpus/core/docs/content/template-design-brand-and-figma.mdx +150 -0
  90. package/corpus/core/docs/content/template-design-collaboration-and-full-apps.mdx +125 -0
  91. package/corpus/core/docs/content/template-design-developers.mdx +358 -0
  92. package/corpus/core/docs/content/template-design-quality-and-components.mdx +95 -0
  93. package/corpus/core/docs/content/template-design.mdx +20 -344
  94. package/corpus/core/docs/content/template-dispatch-developers.mdx +121 -0
  95. package/corpus/core/docs/content/template-dispatch-messaging-routing.mdx +114 -0
  96. package/corpus/core/docs/content/template-dispatch-operations.mdx +160 -0
  97. package/corpus/core/docs/content/template-dispatch-vault-integrations.mdx +316 -0
  98. package/corpus/core/docs/content/template-dispatch.mdx +24 -283
  99. package/corpus/core/docs/content/template-forms-building-publishing.mdx +135 -0
  100. package/corpus/core/docs/content/template-forms-developers.mdx +195 -0
  101. package/corpus/core/docs/content/template-forms-responses.mdx +120 -0
  102. package/corpus/core/docs/content/template-forms.mdx +21 -230
  103. package/corpus/core/docs/content/template-mail-agent.mdx +114 -0
  104. package/corpus/core/docs/content/template-mail-developers.mdx +356 -0
  105. package/corpus/core/docs/content/template-mail-drafts-and-queue.mdx +103 -0
  106. package/corpus/core/docs/content/template-mail-inbox.mdx +118 -0
  107. package/corpus/core/docs/content/template-mail.mdx +23 -274
  108. package/corpus/core/docs/content/template-plan-automations.mdx +213 -0
  109. package/corpus/core/docs/content/template-plan-developers.mdx +703 -0
  110. package/corpus/core/docs/content/template-plan-local-and-desktop.mdx +236 -0
  111. package/corpus/core/docs/content/template-plan-review-workflow.mdx +180 -0
  112. package/corpus/core/docs/content/template-plan.mdx +60 -910
  113. package/corpus/core/docs/content/template-slides-agent.mdx +102 -0
  114. package/corpus/core/docs/content/template-slides-design-and-media.mdx +94 -0
  115. package/corpus/core/docs/content/template-slides-developers.mdx +488 -0
  116. package/corpus/core/docs/content/template-slides-editing.mdx +56 -0
  117. package/corpus/core/docs/content/template-slides.mdx +20 -362
  118. package/corpus/core/docs/content/toolkit-capability-packages.mdx +38 -13
  119. package/corpus/core/docs/content/toolkit-context-knowledge.mdx +49 -9
  120. package/corpus/core/docs/content/toolkit-editors-canvases.mdx +72 -10
  121. package/corpus/core/docs/content/toolkit-resources.mdx +16 -0
  122. package/corpus/core/docs/content/toolkit-settings.mdx +3 -3
  123. package/corpus/core/docs/content/toolkit-sharing.mdx +5 -7
  124. package/corpus/core/docs/content/using-your-agent.mdx +25 -2
  125. package/corpus/core/docs/content/voice-input.mdx +11 -7
  126. package/corpus/core/docs/content/what-is-agent-native.mdx +1 -0
  127. package/corpus/core/docs/content/workspace-connections.mdx +21 -11
  128. package/corpus/core/docs/content/workspace-management.mdx +1 -1
  129. package/corpus/core/package.json +1 -3
  130. package/corpus/core/src/a2a/client.ts +4 -2
  131. package/corpus/core/src/agent/action-warnings.ts +103 -0
  132. package/corpus/core/src/agent/durable-background.ts +42 -5
  133. package/corpus/core/src/agent/engine/ai-sdk-engine.ts +58 -6
  134. package/corpus/core/src/agent/engine/anthropic-engine.ts +51 -8
  135. package/corpus/core/src/agent/engine/builder-engine.ts +56 -18
  136. package/corpus/core/src/agent/engine/continuation-dispatch-retry.ts +10 -9
  137. package/corpus/core/src/agent/engine/credential-errors.ts +11 -0
  138. package/corpus/core/src/agent/engine/error-detail.ts +39 -0
  139. package/corpus/core/src/agent/engine/prompt-cache.ts +44 -0
  140. package/corpus/core/src/agent/engine/registry.ts +22 -30
  141. package/corpus/core/src/agent/engine/tool-call-journal-seed.ts +2 -1
  142. package/corpus/core/src/agent/engine/translate-anthropic.ts +99 -0
  143. package/corpus/core/src/agent/loop-settings.ts +94 -7
  144. package/corpus/core/src/agent/production-agent.ts +667 -157
  145. package/corpus/core/src/agent/run-loop-with-resume.ts +27 -1
  146. package/corpus/core/src/agent/run-manager.ts +229 -39
  147. package/corpus/core/src/agent/run-store.ts +397 -64
  148. package/corpus/core/src/agent/thread-data-builder.ts +5 -1
  149. package/corpus/core/src/agent/types.ts +23 -6
  150. package/corpus/core/src/application-state/script-helpers.ts +5 -2
  151. package/corpus/core/src/cli/agents.ts +69 -1
  152. package/corpus/core/src/cli/app-skill.ts +1 -1
  153. package/corpus/core/src/cli/code-agent-executor.ts +7 -3
  154. package/corpus/core/src/cli/design-connect.ts +82 -8
  155. package/corpus/core/src/cli/index.ts +2 -1
  156. package/corpus/core/src/cli/mcp.ts +13 -3
  157. package/corpus/core/src/cli/skills-content/design-visual-edit-skill.ts +169 -24
  158. package/corpus/core/src/cli/skills-content/rewind-skill.ts +36 -4
  159. package/corpus/core/src/cli/skills.ts +250 -37
  160. package/corpus/core/src/cli/telemetry-routing.ts +57 -0
  161. package/corpus/core/src/cli/telemetry.ts +3 -3
  162. package/corpus/core/src/client/AssistantChat.tsx +623 -607
  163. package/corpus/core/src/client/agent-chat-adapter.ts +176 -29
  164. package/corpus/core/src/client/chat/message-components.tsx +13 -0
  165. package/corpus/core/src/client/embed-auth.ts +3 -1
  166. package/corpus/core/src/client/integrations/IntegrationCard.tsx +41 -24
  167. package/corpus/core/src/client/integrations/IntegrationsPanel.tsx +37 -21
  168. package/corpus/core/src/client/integrations/webhook-url.ts +29 -0
  169. package/corpus/core/src/client/org/OrgSwitcher.tsx +41 -27
  170. package/corpus/core/src/client/org/RequireActiveOrg.tsx +7 -0
  171. package/corpus/core/src/client/org/TeamPage.tsx +144 -14
  172. package/corpus/core/src/client/org/hooks.ts +27 -0
  173. package/corpus/core/src/client/org/index.ts +2 -0
  174. package/corpus/core/src/client/require-session.tsx +40 -29
  175. package/corpus/core/src/client/session-replay.ts +1 -1
  176. package/corpus/core/src/client/settings/DemoModeSection.tsx +0 -5
  177. package/corpus/core/src/client/settings/SecretsSection.tsx +47 -42
  178. package/corpus/core/src/client/settings/VoiceTranscriptionSection.tsx +0 -5
  179. package/corpus/core/src/client/sse-event-processor.ts +83 -8
  180. package/corpus/core/src/client/use-action.ts +22 -13
  181. package/corpus/core/src/client/use-agent-engine-configured.ts +36 -4
  182. package/corpus/core/src/client/use-db-sync.ts +21 -1
  183. package/corpus/core/src/credentials/index.ts +124 -2
  184. package/corpus/core/src/deploy/build.ts +93 -30
  185. package/corpus/core/src/deploy/workspace-deploy.ts +21 -16
  186. package/corpus/core/src/guards/no-localhost-fallback.ts +76 -14
  187. package/corpus/core/src/integrations/google-docs-poller.ts +19 -12
  188. package/corpus/core/src/integrations/webhook-handler.ts +56 -33
  189. package/corpus/core/src/jobs/scheduler.ts +57 -23
  190. package/corpus/core/src/localization/default-messages.ts +23 -1
  191. package/corpus/core/src/mcp/screen-memory-stdio.ts +21 -2
  192. package/corpus/core/src/observability/evals.ts +7 -8
  193. package/corpus/core/src/observability/traces.ts +2 -0
  194. package/corpus/core/src/org/accept-pending.ts +2 -2
  195. package/corpus/core/src/org/active-org.ts +73 -0
  196. package/corpus/core/src/org/auto-join-domain.ts +7 -2
  197. package/corpus/core/src/org/context.ts +169 -66
  198. package/corpus/core/src/org/handlers.ts +148 -10
  199. package/corpus/core/src/org/plugin.ts +8 -1
  200. package/corpus/core/src/org/types.ts +6 -1
  201. package/corpus/core/src/provider-api/index.ts +6 -1
  202. package/corpus/core/src/resources/handlers.ts +2 -6
  203. package/corpus/core/src/resources/script-helpers.ts +2 -1
  204. package/corpus/core/src/scripts/chat/search-chats.ts +5 -2
  205. package/corpus/core/src/scripts/describe-workspace-apps.ts +59 -0
  206. package/corpus/core/src/scripts/resources/delete-memory.ts +5 -2
  207. package/corpus/core/src/scripts/resources/delete.ts +5 -2
  208. package/corpus/core/src/scripts/resources/effective.ts +5 -2
  209. package/corpus/core/src/scripts/resources/list.ts +5 -2
  210. package/corpus/core/src/scripts/resources/read.ts +5 -2
  211. package/corpus/core/src/scripts/resources/save-memory.ts +5 -2
  212. package/corpus/core/src/scripts/resources/write.ts +5 -2
  213. package/corpus/core/src/server/agent-capabilities.ts +147 -0
  214. package/corpus/core/src/server/agent-chat/framework-prompts.ts +11 -13
  215. package/corpus/core/src/server/agent-chat/prompt-resources.ts +183 -57
  216. package/corpus/core/src/server/agent-chat/script-entries.ts +20 -7
  217. package/corpus/core/src/server/agent-chat-plugin.ts +27 -0
  218. package/corpus/core/src/server/auth.ts +38 -32
  219. package/corpus/core/src/server/core-routes-plugin.ts +229 -179
  220. package/corpus/core/src/server/credential-provider.ts +196 -44
  221. package/corpus/core/src/server/embed-session.ts +10 -0
  222. package/corpus/core/src/server/framework-request-handler.ts +43 -0
  223. package/corpus/core/src/server/google-auth-plugin.ts +13 -450
  224. package/corpus/core/src/server/index.ts +4 -1
  225. package/corpus/core/src/server/onboarding-html.ts +20 -56
  226. package/corpus/core/src/server/open-route.ts +6 -1
  227. package/corpus/core/src/server/poll.ts +1 -1
  228. package/corpus/core/src/server/prompts/framework-core-compact.ts +5 -5
  229. package/corpus/core/src/server/prompts/framework-core.ts +7 -9
  230. package/corpus/core/src/server/prompts/shared-rules.ts +20 -9
  231. package/corpus/core/src/server/request-context.ts +58 -2
  232. package/corpus/core/src/server/scoped-key-storage.ts +1 -1
  233. package/corpus/core/src/settings/org-settings.ts +9 -0
  234. package/corpus/core/src/settings/store.ts +29 -0
  235. package/corpus/core/src/shared/index.ts +13 -0
  236. package/corpus/core/src/shared/sign-in-journey.ts +331 -0
  237. package/corpus/core/src/styles/agent-native.css +8 -0
  238. package/corpus/core/src/templates/chat/.agents/skills/actions/SKILL.md +19 -1
  239. package/corpus/core/src/templates/chat/.agents/skills/adding-a-feature/SKILL.md +2 -0
  240. package/corpus/core/src/templates/chat/.agents/skills/frontend-design/SKILL.md +20 -6
  241. package/corpus/core/src/templates/chat/.agents/skills/security/SKILL.md +2 -0
  242. package/corpus/core/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +4 -3
  243. package/corpus/core/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +7 -3
  244. package/corpus/core/src/templates/chat/AGENTS.md +8 -0
  245. package/corpus/core/src/templates/chat/app/entry.client.tsx +3 -0
  246. package/corpus/core/src/templates/chat/changelog/2026-07-24-borderless-secondary-surfaces.md +6 -0
  247. package/corpus/core/src/templates/chat/changelog/2026-07-24-sidebar-footer-controls-follow-a-consistent-order.md +6 -0
  248. package/corpus/core/src/templates/chat/changelog/2026-07-25-settings-navigation-now-keeps-manage-agent-as-a-dedicated-li.md +6 -0
  249. package/corpus/core/src/templates/default/.agents/skills/actions/SKILL.md +19 -1
  250. package/corpus/core/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +2 -0
  251. package/corpus/core/src/templates/default/.agents/skills/frontend-design/SKILL.md +20 -6
  252. package/corpus/core/src/templates/default/.agents/skills/security/SKILL.md +2 -0
  253. package/corpus/core/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +4 -3
  254. package/corpus/core/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +7 -3
  255. package/corpus/core/src/templates/default/AGENTS.md +68 -195
  256. package/corpus/core/src/templates/default/app/entry.client.tsx +3 -0
  257. package/corpus/core/src/templates/default/app/i18n/ar-SA.ts +8 -0
  258. package/corpus/core/src/templates/default/app/i18n/de-DE.ts +8 -0
  259. package/corpus/core/src/templates/default/app/i18n/en-US.ts +8 -0
  260. package/corpus/core/src/templates/default/app/i18n/es-ES.ts +8 -0
  261. package/corpus/core/src/templates/default/app/i18n/fr-FR.ts +8 -0
  262. package/corpus/core/src/templates/default/app/i18n/hi-IN.ts +8 -0
  263. package/corpus/core/src/templates/default/app/i18n/ja-JP.ts +8 -0
  264. package/corpus/core/src/templates/default/app/i18n/ko-KR.ts +8 -0
  265. package/corpus/core/src/templates/default/app/i18n/pt-BR.ts +8 -0
  266. package/corpus/core/src/templates/default/app/i18n/zh-CN.ts +8 -0
  267. package/corpus/core/src/templates/default/app/i18n/zh-TW.ts +8 -0
  268. package/corpus/core/src/templates/headless/.agents/skills/actions/SKILL.md +19 -1
  269. package/corpus/core/src/templates/workspace-core/.agents/skills/actions/SKILL.md +19 -1
  270. package/corpus/core/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +2 -0
  271. package/corpus/core/src/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +100 -0
  272. package/corpus/core/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +2 -1
  273. package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +28 -0
  274. package/corpus/core/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +14 -1
  275. package/corpus/core/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +20 -6
  276. package/corpus/core/src/templates/workspace-core/.agents/skills/qa/SKILL.md +6 -3
  277. package/corpus/core/src/templates/workspace-core/.agents/skills/security/SKILL.md +2 -0
  278. package/corpus/core/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +4 -3
  279. package/corpus/core/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +7 -3
  280. package/corpus/core/src/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +91 -0
  281. package/corpus/core/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +60 -0
  282. package/corpus/core/src/templates/workspace-core/AGENTS.md +62 -124
  283. package/corpus/core/src/templates/workspace-root/AGENTS.md +6 -1
  284. package/corpus/core/src/triggers/dispatcher.ts +28 -17
  285. package/corpus/core/src/vite/client.ts +20 -8
  286. package/corpus/templates/analytics/.agents/skills/actions/SKILL.md +19 -1
  287. package/corpus/templates/analytics/.agents/skills/dashboard-management/SKILL.md +41 -1
  288. package/corpus/templates/analytics/.agents/skills/dashboard-ops/SKILL.md +50 -22
  289. package/corpus/templates/analytics/.agents/skills/data-querying/SKILL.md +1 -1
  290. package/corpus/templates/analytics/.agents/skills/data-querying/references/inline-chart-embeds.md +8 -0
  291. package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +20 -6
  292. package/corpus/templates/analytics/.agents/skills/security/SKILL.md +2 -0
  293. package/corpus/templates/analytics/.agents/skills/self-modifying-code/SKILL.md +4 -3
  294. package/corpus/templates/analytics/.agents/skills/shadcn-ui/SKILL.md +7 -3
  295. package/corpus/templates/analytics/.agents/skills/sharing/SKILL.md +228 -0
  296. package/corpus/templates/analytics/.builder/skills/charts/SKILL.md +2 -2
  297. package/corpus/templates/analytics/actions/delete-dashboard-view.ts +24 -0
  298. package/corpus/templates/analytics/actions/delete-user-pref.ts +22 -0
  299. package/corpus/templates/analytics/actions/generate-chart.ts +8 -245
  300. package/corpus/templates/analytics/actions/get-theme.ts +27 -0
  301. package/corpus/templates/analytics/actions/get-user-pref.ts +22 -0
  302. package/corpus/templates/analytics/actions/list-dashboard-views.ts +25 -0
  303. package/corpus/templates/analytics/actions/save-dashboard-view.ts +33 -0
  304. package/corpus/templates/analytics/actions/set-theme.ts +22 -0
  305. package/corpus/templates/analytics/actions/set-user-pref.ts +24 -0
  306. package/corpus/templates/analytics/app/components/dashboard/SqlChart.tsx +134 -27
  307. package/corpus/templates/analytics/app/components/layout/CommandPalette.tsx +2 -9
  308. package/corpus/templates/analytics/app/components/layout/Layout.tsx +0 -17
  309. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +10 -5
  310. package/corpus/templates/analytics/app/hooks/use-dashboard-views.ts +22 -52
  311. package/corpus/templates/analytics/app/hooks/use-user-pref.ts +21 -31
  312. package/corpus/templates/analytics/app/i18n-data.ts +10 -0
  313. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/PanelEditorDialog.tsx +2 -1
  314. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/dual-axis.ts +73 -0
  315. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +8 -27
  316. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/report-panel-window.ts +0 -57
  317. package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/types.ts +8 -0
  318. package/corpus/templates/analytics/app/root.tsx +0 -28
  319. package/corpus/templates/analytics/changelog/2026-07-26-error-issues-now-group-by-message-as-well-as-stack-frame-and.md +6 -0
  320. package/corpus/templates/analytics/changelog/2026-07-26-line-area-and-bar-dashboard-panels-can-plot-series-on-a-seco.md +6 -0
  321. package/corpus/templates/analytics/changelog/2026-07-26-scheduled-dashboard-email-reports-now-arrive-complete-and-re.md +6 -0
  322. package/corpus/templates/analytics/changelog/2026-07-26-session-replays-now-detect-rage-clicks-so-the-rage-click-fil.md +6 -0
  323. package/corpus/templates/analytics/docs/error-capture.md +8 -4
  324. package/corpus/templates/analytics/package.json +1 -2
  325. package/corpus/templates/analytics/scripts/preview-dashboard-report.ts +221 -0
  326. package/corpus/templates/analytics/server/jobs/dashboard-report.ts +39 -32
  327. package/corpus/templates/analytics/server/lib/dashboard-report-render.ts +1168 -0
  328. package/corpus/templates/analytics/server/lib/dashboard-report.ts +111 -1358
  329. package/corpus/templates/analytics/server/lib/error-capture.ts +32 -15
  330. package/corpus/templates/analytics/server/lib/report-chart-svg.ts +901 -0
  331. package/corpus/templates/analytics/server/lib/session-replay.ts +77 -1
  332. package/corpus/templates/analytics/shared/dashboard-report-timeouts.ts +3 -4
  333. package/corpus/templates/assets/.agents/skills/a2a-assets/SKILL.md +28 -0
  334. package/corpus/templates/assets/.agents/skills/actions/SKILL.md +19 -1
  335. package/corpus/templates/assets/.agents/skills/assets-navigation/SKILL.md +46 -0
  336. package/corpus/templates/assets/.agents/skills/creative-context/SKILL.md +12 -0
  337. package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +20 -6
  338. package/corpus/templates/assets/.agents/skills/image-generation/SKILL.md +28 -0
  339. package/corpus/templates/assets/.agents/skills/library-management/SKILL.md +9 -0
  340. package/corpus/templates/assets/.agents/skills/logo-composite/SKILL.md +11 -0
  341. package/corpus/templates/assets/.agents/skills/security/SKILL.md +2 -0
  342. package/corpus/templates/assets/.agents/skills/self-modifying-code/SKILL.md +4 -3
  343. package/corpus/templates/assets/.agents/skills/shadcn-ui/SKILL.md +7 -3
  344. package/corpus/templates/assets/.agents/skills/sharing/SKILL.md +228 -0
  345. package/corpus/templates/assets/AGENTS.md +58 -125
  346. package/corpus/templates/assets/actions/variant-slots.ts +8 -4
  347. package/corpus/templates/assets/app/entry.client.tsx +3 -0
  348. package/corpus/templates/assets/package.json +0 -2
  349. package/corpus/templates/brain/.agents/skills/actions/SKILL.md +19 -1
  350. package/corpus/templates/brain/.agents/skills/adding-a-feature/SKILL.md +2 -0
  351. package/corpus/templates/brain/.agents/skills/brain/SKILL.md +78 -4
  352. package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +20 -6
  353. package/corpus/templates/brain/.agents/skills/ingestion-and-connectors/SKILL.md +15 -3
  354. package/corpus/templates/brain/.agents/skills/security/SKILL.md +2 -0
  355. package/corpus/templates/brain/.agents/skills/self-modifying-code/SKILL.md +4 -3
  356. package/corpus/templates/brain/.agents/skills/shadcn-ui/SKILL.md +7 -3
  357. package/corpus/templates/brain/.agents/skills/sharing/SKILL.md +228 -0
  358. package/corpus/templates/brain/.agents/skills/storing-data/SKILL.md +178 -0
  359. package/corpus/templates/brain/AGENTS.md +73 -119
  360. package/corpus/templates/brain/app/entry.client.tsx +3 -0
  361. package/corpus/templates/calendar/.agents/skills/actions/SKILL.md +19 -1
  362. package/corpus/templates/calendar/.agents/skills/event-management/SKILL.md +56 -3
  363. package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +20 -6
  364. package/corpus/templates/calendar/.agents/skills/security/SKILL.md +2 -0
  365. package/corpus/templates/calendar/.agents/skills/self-modifying-code/SKILL.md +4 -3
  366. package/corpus/templates/calendar/.agents/skills/shadcn-ui/SKILL.md +7 -3
  367. package/corpus/templates/calendar/.agents/skills/sharing/SKILL.md +228 -0
  368. package/corpus/templates/calendar/AGENTS.md +22 -45
  369. package/corpus/templates/calendar/app/entry.client.tsx +3 -0
  370. package/corpus/templates/calendar/server/handlers/events.ts +0 -364
  371. package/corpus/templates/chat/.agents/skills/actions/SKILL.md +19 -1
  372. package/corpus/templates/chat/.agents/skills/adding-a-feature/SKILL.md +2 -0
  373. package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +20 -6
  374. package/corpus/templates/chat/.agents/skills/security/SKILL.md +2 -0
  375. package/corpus/templates/chat/.agents/skills/self-modifying-code/SKILL.md +4 -3
  376. package/corpus/templates/chat/.agents/skills/shadcn-ui/SKILL.md +7 -3
  377. package/corpus/templates/chat/.agents/skills/sharing/SKILL.md +228 -0
  378. package/corpus/templates/chat/.agents/skills/storing-data/SKILL.md +178 -0
  379. package/corpus/templates/chat/AGENTS.md +8 -0
  380. package/corpus/templates/chat/app/entry.client.tsx +3 -0
  381. package/corpus/templates/clips/.agents/skills/actions/SKILL.md +19 -1
  382. package/corpus/templates/clips/.agents/skills/ai-video-tools/SKILL.md +42 -0
  383. package/corpus/templates/clips/.agents/skills/brain-export/SKILL.md +59 -0
  384. package/corpus/templates/clips/.agents/skills/bug-reports/SKILL.md +37 -0
  385. package/corpus/templates/clips/.agents/skills/crm-call-evidence/SKILL.md +41 -0
  386. package/corpus/templates/clips/.agents/skills/dictate/SKILL.md +4 -0
  387. package/corpus/templates/clips/.agents/skills/external-integrations/SKILL.md +45 -0
  388. package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +20 -6
  389. package/corpus/templates/clips/.agents/skills/meetings/SKILL.md +9 -0
  390. package/corpus/templates/clips/.agents/skills/recording/SKILL.md +45 -0
  391. package/corpus/templates/clips/.agents/skills/screen-memory/SKILL.md +43 -0
  392. package/corpus/templates/clips/.agents/skills/security/SKILL.md +2 -0
  393. package/corpus/templates/clips/.agents/skills/self-modifying-code/SKILL.md +4 -3
  394. package/corpus/templates/clips/.agents/skills/shadcn-ui/SKILL.md +7 -3
  395. package/corpus/templates/clips/.agents/skills/video-sharing/SKILL.md +38 -1
  396. package/corpus/templates/clips/AGENTS.md +82 -224
  397. package/corpus/templates/clips/actions/create-recording.ts +4 -0
  398. package/corpus/templates/clips/app/components/player/sign-in-prompt-dialog.tsx +6 -10
  399. package/corpus/templates/clips/app/routes/invite.$token.tsx +6 -5
  400. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +4 -5
  401. package/corpus/templates/clips/app/routes/share.$shareId.tsx +8 -8
  402. package/corpus/templates/clips/changelog/2026-07-26-long-agent-chat-turns-now-finish-instead-of-stopping-partway.md +6 -0
  403. package/corpus/templates/clips/changelog/2026-07-26-recordings-no-longer-get-stuck-on-uploading-uploads-now-hold.md +6 -0
  404. package/corpus/templates/clips/server/db/schema.ts +3 -0
  405. package/corpus/templates/clips/server/jobs/brain-export.ts +4 -0
  406. package/corpus/templates/clips/server/lib/recording-upload-state.ts +0 -52
  407. package/corpus/templates/clips/server/lib/upload-lease.ts +241 -0
  408. package/corpus/templates/clips/server/plugins/agent-chat.ts +4 -0
  409. package/corpus/templates/clips/server/plugins/db.ts +18 -347
  410. package/corpus/templates/clips/server/routes/api/clips/brain-export/run.post.ts +7 -1
  411. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +123 -126
  412. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/reset-chunks.post.ts +4 -0
  413. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/resume.get.ts +118 -0
  414. package/corpus/templates/clips/server/routes/api/uploads/reap.post.ts +69 -0
  415. package/corpus/templates/content/.agents/skills/actions/SKILL.md +19 -1
  416. package/corpus/templates/content/.agents/skills/content/SKILL.md +4 -0
  417. package/corpus/templates/content/.agents/skills/creative-context/SKILL.md +8 -0
  418. package/corpus/templates/content/.agents/skills/document-editing/SKILL.md +55 -0
  419. package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +20 -6
  420. package/corpus/templates/content/.agents/skills/notion-integration/SKILL.md +12 -1
  421. package/corpus/templates/content/.agents/skills/security/SKILL.md +2 -0
  422. package/corpus/templates/content/.agents/skills/self-modifying-code/SKILL.md +4 -3
  423. package/corpus/templates/content/.agents/skills/shadcn-ui/SKILL.md +7 -3
  424. package/corpus/templates/content/.agents/skills/sharing/SKILL.md +228 -0
  425. package/corpus/templates/content/AGENTS.md +63 -131
  426. package/corpus/templates/content/app/routes/_app.tsx +4 -4
  427. package/corpus/templates/content/server/routes/api/notion/callback.get.ts +6 -24
  428. package/corpus/templates/design/.agents/skills/actions/SKILL.md +19 -1
  429. package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +16 -0
  430. package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +15 -0
  431. package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +20 -6
  432. package/corpus/templates/design/.agents/skills/full-app-build/SKILL.md +12 -0
  433. package/corpus/templates/design/.agents/skills/security/SKILL.md +2 -0
  434. package/corpus/templates/design/.agents/skills/self-modifying-code/SKILL.md +4 -3
  435. package/corpus/templates/design/.agents/skills/shadcn-ui/SKILL.md +7 -3
  436. package/corpus/templates/design/.agents/skills/sharing/SKILL.md +228 -0
  437. package/corpus/templates/design/.agents/skills/storing-data/SKILL.md +178 -0
  438. package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +201 -102
  439. package/corpus/templates/design/AGENTS.md +58 -71
  440. package/corpus/templates/design/actions/open-visual-edit.ts +111 -2
  441. package/corpus/templates/design/app/components/design/AddLocalhostScreenDialog.tsx +236 -0
  442. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +1 -1
  443. package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +2 -2
  444. package/corpus/templates/design/app/entry.client.tsx +3 -0
  445. package/corpus/templates/design/app/i18n-data.ts +180 -0
  446. package/corpus/templates/design/app/pages/Present.tsx +6 -9
  447. package/corpus/templates/design/app/pages/VisualEdit.tsx +4 -7
  448. package/corpus/templates/design/app/pages/design-editor/design-data-geometry-utils.ts +20 -0
  449. package/corpus/templates/dispatch/.agents/skills/actions/SKILL.md +19 -1
  450. package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +20 -6
  451. package/corpus/templates/dispatch/.agents/skills/security/SKILL.md +2 -0
  452. package/corpus/templates/dispatch/.agents/skills/self-modifying-code/SKILL.md +4 -3
  453. package/corpus/templates/dispatch/.agents/skills/shadcn-ui/SKILL.md +7 -3
  454. package/corpus/templates/dispatch/.agents/skills/sharing/SKILL.md +228 -0
  455. package/corpus/templates/dispatch/.agents/skills/storing-data/SKILL.md +178 -0
  456. package/corpus/templates/dispatch/app/entry.client.tsx +3 -0
  457. package/corpus/templates/dispatch/server/plugins/identity-sso.ts +27 -16
  458. package/corpus/templates/forms/.agents/skills/actions/SKILL.md +19 -1
  459. package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +20 -6
  460. package/corpus/templates/forms/.agents/skills/security/SKILL.md +2 -0
  461. package/corpus/templates/forms/.agents/skills/self-modifying-code/SKILL.md +4 -3
  462. package/corpus/templates/forms/.agents/skills/shadcn-ui/SKILL.md +7 -3
  463. package/corpus/templates/forms/.agents/skills/sharing/SKILL.md +228 -0
  464. package/corpus/templates/forms/DEVELOPING.md +1 -1
  465. package/corpus/templates/forms/app/entry.client.tsx +3 -0
  466. package/corpus/templates/forms/app/pages/FormsListPage.tsx +3 -5
  467. package/corpus/templates/forms/app/routes/_app.tsx +4 -4
  468. package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +20 -6
  469. package/corpus/templates/macros/.agents/skills/security/SKILL.md +2 -0
  470. package/corpus/templates/macros/.agents/skills/shadcn-ui/SKILL.md +7 -3
  471. package/corpus/templates/macros/.agents/skills/sharing/SKILL.md +228 -0
  472. package/corpus/templates/macros/.agents/skills/storing-data/SKILL.md +178 -0
  473. package/corpus/templates/macros/app/entry.client.tsx +3 -0
  474. package/corpus/templates/mail/.agents/skills/actions/SKILL.md +19 -1
  475. package/corpus/templates/mail/.agents/skills/contacts-and-crm/SKILL.md +10 -0
  476. package/corpus/templates/mail/.agents/skills/draft-queue/SKILL.md +3 -0
  477. package/corpus/templates/mail/.agents/skills/email-drafts/SKILL.md +26 -2
  478. package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +20 -6
  479. package/corpus/templates/mail/.agents/skills/inbox-automations/SKILL.md +37 -0
  480. package/corpus/templates/mail/.agents/skills/inbox-reads-and-triage/SKILL.md +58 -0
  481. package/corpus/templates/mail/.agents/skills/mail-backends/SKILL.md +33 -0
  482. package/corpus/templates/mail/.agents/skills/provider-api-scans/SKILL.md +39 -0
  483. package/corpus/templates/mail/.agents/skills/security/SKILL.md +2 -0
  484. package/corpus/templates/mail/.agents/skills/self-modifying-code/SKILL.md +4 -3
  485. package/corpus/templates/mail/.agents/skills/shadcn-ui/SKILL.md +7 -3
  486. package/corpus/templates/mail/.agents/skills/sharing/SKILL.md +228 -0
  487. package/corpus/templates/mail/AGENTS.md +74 -143
  488. package/corpus/templates/mail/actions/create-alias.ts +36 -0
  489. package/corpus/templates/mail/actions/create-automation.ts +28 -0
  490. package/corpus/templates/mail/actions/create-scheduled-job.ts +45 -0
  491. package/corpus/templates/mail/actions/delete-alias.ts +26 -0
  492. package/corpus/templates/mail/actions/delete-automation.ts +21 -0
  493. package/corpus/templates/mail/actions/get-automation-settings.ts +32 -0
  494. package/corpus/templates/mail/actions/get-mail-preferences.ts +18 -0
  495. package/corpus/templates/mail/actions/list-aliases.ts +17 -0
  496. package/corpus/templates/mail/actions/list-automations.ts +18 -0
  497. package/corpus/templates/mail/actions/list-scheduled-jobs.ts +18 -0
  498. package/corpus/templates/mail/actions/update-alias.ts +37 -0
  499. package/corpus/templates/mail/actions/update-automation-settings.ts +33 -0
  500. package/corpus/templates/mail/actions/update-automation.ts +33 -0
  501. package/corpus/templates/mail/actions/update-mail-preferences.ts +68 -0
  502. package/corpus/templates/mail/actions/update-scheduled-job.ts +25 -0
  503. package/corpus/templates/mail/app/entry.client.tsx +3 -0
  504. package/corpus/templates/mail/app/hooks/use-aliases.ts +6 -36
  505. package/corpus/templates/mail/app/hooks/use-automations.ts +9 -16
  506. package/corpus/templates/mail/app/hooks/use-emails.ts +6 -5
  507. package/corpus/templates/mail/app/hooks/use-scheduled-jobs.ts +12 -15
  508. package/corpus/templates/mail/app/pages/SettingsPage.tsx +15 -9
  509. package/corpus/templates/mail/server/handlers/automations.ts +5 -142
  510. package/corpus/templates/mail/server/handlers/emails.ts +1 -56
  511. package/corpus/templates/mail/server/handlers/scheduled-jobs.ts +0 -134
  512. package/corpus/templates/mail/server/lib/aliases.ts +18 -0
  513. package/corpus/templates/mail/server/lib/automations.ts +104 -0
  514. package/corpus/templates/mail/server/lib/jobs.ts +34 -0
  515. package/corpus/templates/mail/server/lib/mail-settings.ts +43 -0
  516. package/corpus/templates/mail/shared/automation-schema.ts +10 -0
  517. package/corpus/templates/plan/.agents/skills/actions/SKILL.md +19 -1
  518. package/corpus/templates/plan/.agents/skills/adding-a-feature/SKILL.md +2 -0
  519. package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +20 -6
  520. package/corpus/templates/plan/.agents/skills/plan-authoring-flow/SKILL.md +98 -0
  521. package/corpus/templates/plan/.agents/skills/plan-browser-editing/SKILL.md +42 -0
  522. package/corpus/templates/plan/.agents/skills/plan-comments-and-feedback/SKILL.md +68 -0
  523. package/corpus/templates/plan/.agents/skills/plan-events/SKILL.md +22 -0
  524. package/corpus/templates/plan/.agents/skills/plan-hosted-writes/SKILL.md +42 -0
  525. package/corpus/templates/plan/.agents/skills/plan-local-codebase-chat/SKILL.md +38 -0
  526. package/corpus/templates/plan/.agents/skills/plan-review-recaps/SKILL.md +25 -0
  527. package/corpus/templates/plan/.agents/skills/plan-source-sync/SKILL.md +68 -0
  528. package/corpus/templates/plan/.agents/skills/plan-version-history/SKILL.md +25 -0
  529. package/corpus/templates/plan/.agents/skills/security/SKILL.md +2 -0
  530. package/corpus/templates/plan/.agents/skills/self-modifying-code/SKILL.md +4 -3
  531. package/corpus/templates/plan/.agents/skills/shadcn-ui/SKILL.md +7 -3
  532. package/corpus/templates/plan/.agents/skills/sharing/SKILL.md +228 -0
  533. package/corpus/templates/plan/.agents/skills/storing-data/SKILL.md +178 -0
  534. package/corpus/templates/plan/AGENTS.md +64 -296
  535. package/corpus/templates/plan/app/components/layout/Sidebar.tsx +9 -8
  536. package/corpus/templates/plan/app/pages/PlansPage.tsx +5 -10
  537. package/corpus/templates/slides/.agents/skills/actions/SKILL.md +19 -1
  538. package/corpus/templates/slides/.agents/skills/deck-management/SKILL.md +7 -7
  539. package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +20 -6
  540. package/corpus/templates/slides/.agents/skills/security/SKILL.md +2 -0
  541. package/corpus/templates/slides/.agents/skills/self-modifying-code/SKILL.md +4 -3
  542. package/corpus/templates/slides/.agents/skills/shadcn-ui/SKILL.md +7 -3
  543. package/corpus/templates/slides/.agents/skills/sharing/SKILL.md +228 -0
  544. package/corpus/templates/slides/.agents/skills/slide-editing/SKILL.md +3 -2
  545. package/corpus/templates/slides/.agents/skills/storing-data/SKILL.md +178 -0
  546. package/corpus/templates/slides/DEVELOPING.md +3 -3
  547. package/corpus/templates/slides/actions/_deck-write.ts +52 -0
  548. package/corpus/templates/slides/actions/add-deck.ts +73 -0
  549. package/corpus/templates/slides/actions/delete-deck.ts +60 -0
  550. package/corpus/templates/slides/actions/get-deck.ts +3 -1
  551. package/corpus/templates/slides/actions/save-deck.ts +144 -0
  552. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +27 -20
  553. package/corpus/templates/slides/app/context/DeckContext.tsx +173 -100
  554. package/corpus/templates/slides/app/pages/Index.tsx +3 -6
  555. package/corpus/templates/slides/app/routes/slide.tsx +16 -12
  556. package/corpus/templates/slides/changelog/2026-07-26-a-newly-created-deck-now-appears-in-the-deck-list-right-away.md +6 -0
  557. package/corpus/templates/slides/server/handlers/decks.ts +2 -378
  558. package/corpus/templates/tasks/.agents/skills/action-reference/SKILL.md +47 -0
  559. package/corpus/templates/tasks/.agents/skills/actions/SKILL.md +19 -1
  560. package/corpus/templates/tasks/.agents/skills/adding-a-feature/SKILL.md +2 -0
  561. package/corpus/templates/tasks/.agents/skills/change-summary/SKILL.md +19 -1
  562. package/corpus/templates/tasks/.agents/skills/custom-fields/SKILL.md +63 -0
  563. package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +20 -6
  564. package/corpus/templates/tasks/.agents/skills/security/SKILL.md +2 -0
  565. package/corpus/templates/tasks/.agents/skills/self-modifying-code/SKILL.md +4 -3
  566. package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +7 -3
  567. package/corpus/templates/tasks/.agents/skills/sharing/SKILL.md +228 -0
  568. package/corpus/templates/tasks/.agents/skills/store-conventions/SKILL.md +45 -0
  569. package/corpus/templates/tasks/.agents/skills/storing-data/SKILL.md +178 -0
  570. package/corpus/templates/tasks/.agents/skills/task-inbox-workflow/SKILL.md +66 -0
  571. package/corpus/templates/tasks/AGENTS.md +48 -113
  572. package/corpus/templates/tasks/app/entry.client.tsx +3 -0
  573. package/corpus/toolkit/CHANGELOG.md +12 -0
  574. package/corpus/toolkit/package.json +1 -1
  575. package/corpus/toolkit/src/composer/PromptComposer.tsx +23 -20
  576. package/dist/a2a/client.d.ts +3 -1
  577. package/dist/a2a/client.d.ts.map +1 -1
  578. package/dist/a2a/client.js +4 -2
  579. package/dist/a2a/client.js.map +1 -1
  580. package/dist/agent/action-warnings.d.ts +27 -0
  581. package/dist/agent/action-warnings.d.ts.map +1 -0
  582. package/dist/agent/action-warnings.js +73 -0
  583. package/dist/agent/action-warnings.js.map +1 -0
  584. package/dist/agent/durable-background.d.ts +8 -0
  585. package/dist/agent/durable-background.d.ts.map +1 -1
  586. package/dist/agent/durable-background.js +37 -5
  587. package/dist/agent/durable-background.js.map +1 -1
  588. package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
  589. package/dist/agent/engine/ai-sdk-engine.js +47 -6
  590. package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
  591. package/dist/agent/engine/anthropic-engine.d.ts.map +1 -1
  592. package/dist/agent/engine/anthropic-engine.js +41 -9
  593. package/dist/agent/engine/anthropic-engine.js.map +1 -1
  594. package/dist/agent/engine/builder-engine.d.ts.map +1 -1
  595. package/dist/agent/engine/builder-engine.js +46 -19
  596. package/dist/agent/engine/builder-engine.js.map +1 -1
  597. package/dist/agent/engine/continuation-dispatch-retry.d.ts.map +1 -1
  598. package/dist/agent/engine/continuation-dispatch-retry.js +11 -9
  599. package/dist/agent/engine/continuation-dispatch-retry.js.map +1 -1
  600. package/dist/agent/engine/credential-errors.d.ts +6 -0
  601. package/dist/agent/engine/credential-errors.d.ts.map +1 -1
  602. package/dist/agent/engine/credential-errors.js +10 -0
  603. package/dist/agent/engine/credential-errors.js.map +1 -1
  604. package/dist/agent/engine/error-detail.d.ts +2 -0
  605. package/dist/agent/engine/error-detail.d.ts.map +1 -0
  606. package/dist/agent/engine/error-detail.js +37 -0
  607. package/dist/agent/engine/error-detail.js.map +1 -0
  608. package/dist/agent/engine/prompt-cache.d.ts +34 -0
  609. package/dist/agent/engine/prompt-cache.d.ts.map +1 -0
  610. package/dist/agent/engine/prompt-cache.js +39 -0
  611. package/dist/agent/engine/prompt-cache.js.map +1 -0
  612. package/dist/agent/engine/registry.d.ts.map +1 -1
  613. package/dist/agent/engine/registry.js +23 -33
  614. package/dist/agent/engine/registry.js.map +1 -1
  615. package/dist/agent/engine/tool-call-journal-seed.d.ts +1 -1
  616. package/dist/agent/engine/tool-call-journal-seed.d.ts.map +1 -1
  617. package/dist/agent/engine/tool-call-journal-seed.js +2 -2
  618. package/dist/agent/engine/tool-call-journal-seed.js.map +1 -1
  619. package/dist/agent/engine/translate-anthropic.d.ts +28 -0
  620. package/dist/agent/engine/translate-anthropic.d.ts.map +1 -1
  621. package/dist/agent/engine/translate-anthropic.js +75 -0
  622. package/dist/agent/engine/translate-anthropic.js.map +1 -1
  623. package/dist/agent/loop-settings.d.ts +35 -2
  624. package/dist/agent/loop-settings.d.ts.map +1 -1
  625. package/dist/agent/loop-settings.js +71 -8
  626. package/dist/agent/loop-settings.js.map +1 -1
  627. package/dist/agent/production-agent.d.ts +105 -20
  628. package/dist/agent/production-agent.d.ts.map +1 -1
  629. package/dist/agent/production-agent.js +516 -123
  630. package/dist/agent/production-agent.js.map +1 -1
  631. package/dist/agent/run-loop-with-resume.d.ts.map +1 -1
  632. package/dist/agent/run-loop-with-resume.js +24 -2
  633. package/dist/agent/run-loop-with-resume.js.map +1 -1
  634. package/dist/agent/run-manager.d.ts +52 -9
  635. package/dist/agent/run-manager.d.ts.map +1 -1
  636. package/dist/agent/run-manager.js +191 -36
  637. package/dist/agent/run-manager.js.map +1 -1
  638. package/dist/agent/run-store.d.ts +87 -14
  639. package/dist/agent/run-store.d.ts.map +1 -1
  640. package/dist/agent/run-store.js +331 -59
  641. package/dist/agent/run-store.js.map +1 -1
  642. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  643. package/dist/agent/thread-data-builder.js +6 -1
  644. package/dist/agent/thread-data-builder.js.map +1 -1
  645. package/dist/agent/types.d.ts +18 -6
  646. package/dist/agent/types.d.ts.map +1 -1
  647. package/dist/agent/types.js +9 -5
  648. package/dist/agent/types.js.map +1 -1
  649. package/dist/application-state/script-helpers.d.ts.map +1 -1
  650. package/dist/application-state/script-helpers.js +2 -2
  651. package/dist/application-state/script-helpers.js.map +1 -1
  652. package/dist/cli/agents.d.ts +2 -0
  653. package/dist/cli/agents.d.ts.map +1 -1
  654. package/dist/cli/agents.js +48 -1
  655. package/dist/cli/agents.js.map +1 -1
  656. package/dist/cli/app-skill.js +1 -1
  657. package/dist/cli/app-skill.js.map +1 -1
  658. package/dist/cli/code-agent-executor.d.ts.map +1 -1
  659. package/dist/cli/code-agent-executor.js +3 -3
  660. package/dist/cli/code-agent-executor.js.map +1 -1
  661. package/dist/cli/design-connect.d.ts.map +1 -1
  662. package/dist/cli/design-connect.js +73 -8
  663. package/dist/cli/design-connect.js.map +1 -1
  664. package/dist/cli/index.js +3 -1
  665. package/dist/cli/index.js.map +1 -1
  666. package/dist/cli/mcp.d.ts.map +1 -1
  667. package/dist/cli/mcp.js +12 -3
  668. package/dist/cli/mcp.js.map +1 -1
  669. package/dist/cli/skills-content/design-visual-edit-skill.d.ts +1 -1
  670. package/dist/cli/skills-content/design-visual-edit-skill.d.ts.map +1 -1
  671. package/dist/cli/skills-content/design-visual-edit-skill.js +169 -24
  672. package/dist/cli/skills-content/design-visual-edit-skill.js.map +1 -1
  673. package/dist/cli/skills-content/rewind-skill.d.ts +1 -1
  674. package/dist/cli/skills-content/rewind-skill.d.ts.map +1 -1
  675. package/dist/cli/skills-content/rewind-skill.js +36 -4
  676. package/dist/cli/skills-content/rewind-skill.js.map +1 -1
  677. package/dist/cli/skills.d.ts +2 -0
  678. package/dist/cli/skills.d.ts.map +1 -1
  679. package/dist/cli/skills.js +191 -40
  680. package/dist/cli/skills.js.map +1 -1
  681. package/dist/cli/telemetry-routing.d.ts +2 -0
  682. package/dist/cli/telemetry-routing.d.ts.map +1 -0
  683. package/dist/cli/telemetry-routing.js +54 -0
  684. package/dist/cli/telemetry-routing.js.map +1 -0
  685. package/dist/cli/telemetry.js +3 -3
  686. package/dist/cli/telemetry.js.map +1 -1
  687. package/dist/client/AssistantChat.d.ts.map +1 -1
  688. package/dist/client/AssistantChat.js +135 -125
  689. package/dist/client/AssistantChat.js.map +1 -1
  690. package/dist/client/agent-chat-adapter.d.ts +17 -0
  691. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  692. package/dist/client/agent-chat-adapter.js +141 -31
  693. package/dist/client/agent-chat-adapter.js.map +1 -1
  694. package/dist/client/chat/message-components.d.ts +9 -1
  695. package/dist/client/chat/message-components.d.ts.map +1 -1
  696. package/dist/client/chat/message-components.js +12 -1
  697. package/dist/client/chat/message-components.js.map +1 -1
  698. package/dist/client/embed-auth.d.ts.map +1 -1
  699. package/dist/client/embed-auth.js +3 -1
  700. package/dist/client/embed-auth.js.map +1 -1
  701. package/dist/client/integrations/IntegrationCard.d.ts.map +1 -1
  702. package/dist/client/integrations/IntegrationCard.js +9 -4
  703. package/dist/client/integrations/IntegrationCard.js.map +1 -1
  704. package/dist/client/integrations/IntegrationsPanel.d.ts.map +1 -1
  705. package/dist/client/integrations/IntegrationsPanel.js +13 -7
  706. package/dist/client/integrations/IntegrationsPanel.js.map +1 -1
  707. package/dist/client/integrations/webhook-url.d.ts +7 -0
  708. package/dist/client/integrations/webhook-url.d.ts.map +1 -0
  709. package/dist/client/integrations/webhook-url.js +32 -0
  710. package/dist/client/integrations/webhook-url.js.map +1 -0
  711. package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
  712. package/dist/client/org/OrgSwitcher.js +13 -11
  713. package/dist/client/org/OrgSwitcher.js.map +1 -1
  714. package/dist/client/org/RequireActiveOrg.d.ts.map +1 -1
  715. package/dist/client/org/RequireActiveOrg.js +2 -2
  716. package/dist/client/org/RequireActiveOrg.js.map +1 -1
  717. package/dist/client/org/TeamPage.d.ts.map +1 -1
  718. package/dist/client/org/TeamPage.js +52 -13
  719. package/dist/client/org/TeamPage.js.map +1 -1
  720. package/dist/client/org/hooks.d.ts +9 -0
  721. package/dist/client/org/hooks.d.ts.map +1 -1
  722. package/dist/client/org/hooks.js +24 -0
  723. package/dist/client/org/hooks.js.map +1 -1
  724. package/dist/client/org/index.d.ts +1 -1
  725. package/dist/client/org/index.d.ts.map +1 -1
  726. package/dist/client/org/index.js +1 -1
  727. package/dist/client/org/index.js.map +1 -1
  728. package/dist/client/require-session.d.ts +12 -17
  729. package/dist/client/require-session.d.ts.map +1 -1
  730. package/dist/client/require-session.js +36 -23
  731. package/dist/client/require-session.js.map +1 -1
  732. package/dist/client/session-replay.js +1 -1
  733. package/dist/client/session-replay.js.map +1 -1
  734. package/dist/client/settings/DemoModeSection.d.ts +0 -1
  735. package/dist/client/settings/DemoModeSection.d.ts.map +1 -1
  736. package/dist/client/settings/DemoModeSection.js +0 -4
  737. package/dist/client/settings/DemoModeSection.js.map +1 -1
  738. package/dist/client/settings/SecretsSection.d.ts.map +1 -1
  739. package/dist/client/settings/SecretsSection.js +12 -8
  740. package/dist/client/settings/SecretsSection.js.map +1 -1
  741. package/dist/client/settings/VoiceTranscriptionSection.d.ts +0 -1
  742. package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
  743. package/dist/client/settings/VoiceTranscriptionSection.js +1 -4
  744. package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
  745. package/dist/client/sse-event-processor.d.ts +33 -1
  746. package/dist/client/sse-event-processor.d.ts.map +1 -1
  747. package/dist/client/sse-event-processor.js +83 -8
  748. package/dist/client/sse-event-processor.js.map +1 -1
  749. package/dist/client/use-action.d.ts.map +1 -1
  750. package/dist/client/use-action.js +23 -14
  751. package/dist/client/use-action.js.map +1 -1
  752. package/dist/client/use-agent-engine-configured.d.ts +9 -3
  753. package/dist/client/use-agent-engine-configured.d.ts.map +1 -1
  754. package/dist/client/use-agent-engine-configured.js +30 -3
  755. package/dist/client/use-agent-engine-configured.js.map +1 -1
  756. package/dist/client/use-db-sync.d.ts +3 -0
  757. package/dist/client/use-db-sync.d.ts.map +1 -1
  758. package/dist/client/use-db-sync.js +18 -1
  759. package/dist/client/use-db-sync.js.map +1 -1
  760. package/dist/collab/awareness.d.ts +2 -2
  761. package/dist/collab/awareness.d.ts.map +1 -1
  762. package/dist/collab/struct-routes.d.ts +1 -1
  763. package/dist/credentials/index.d.ts +29 -1
  764. package/dist/credentials/index.d.ts.map +1 -1
  765. package/dist/credentials/index.js +111 -2
  766. package/dist/credentials/index.js.map +1 -1
  767. package/dist/deploy/build.d.ts +14 -3
  768. package/dist/deploy/build.d.ts.map +1 -1
  769. package/dist/deploy/build.js +81 -24
  770. package/dist/deploy/build.js.map +1 -1
  771. package/dist/deploy/workspace-deploy.d.ts +15 -0
  772. package/dist/deploy/workspace-deploy.d.ts.map +1 -1
  773. package/dist/deploy/workspace-deploy.js +19 -18
  774. package/dist/deploy/workspace-deploy.js.map +1 -1
  775. package/dist/file-upload/actions/upload-image.d.ts +3 -3
  776. package/dist/guards/no-localhost-fallback.d.ts +7 -0
  777. package/dist/guards/no-localhost-fallback.d.ts.map +1 -1
  778. package/dist/guards/no-localhost-fallback.js +75 -16
  779. package/dist/guards/no-localhost-fallback.js.map +1 -1
  780. package/dist/integrations/google-docs-poller.d.ts.map +1 -1
  781. package/dist/integrations/google-docs-poller.js +8 -3
  782. package/dist/integrations/google-docs-poller.js.map +1 -1
  783. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  784. package/dist/integrations/webhook-handler.js +22 -4
  785. package/dist/integrations/webhook-handler.js.map +1 -1
  786. package/dist/jobs/scheduler.d.ts +17 -0
  787. package/dist/jobs/scheduler.d.ts.map +1 -1
  788. package/dist/jobs/scheduler.js +60 -33
  789. package/dist/jobs/scheduler.js.map +1 -1
  790. package/dist/localization/default-messages.d.ts +17 -1
  791. package/dist/localization/default-messages.d.ts.map +1 -1
  792. package/dist/localization/default-messages.js +17 -1
  793. package/dist/localization/default-messages.js.map +1 -1
  794. package/dist/mcp/screen-memory-stdio.d.ts +2 -0
  795. package/dist/mcp/screen-memory-stdio.d.ts.map +1 -1
  796. package/dist/mcp/screen-memory-stdio.js +12 -2
  797. package/dist/mcp/screen-memory-stdio.js.map +1 -1
  798. package/dist/notifications/routes.d.ts +1 -1
  799. package/dist/observability/evals.d.ts.map +1 -1
  800. package/dist/observability/evals.js +7 -10
  801. package/dist/observability/evals.js.map +1 -1
  802. package/dist/observability/traces.d.ts +2 -0
  803. package/dist/observability/traces.d.ts.map +1 -1
  804. package/dist/observability/traces.js.map +1 -1
  805. package/dist/org/accept-pending.js +2 -2
  806. package/dist/org/accept-pending.js.map +1 -1
  807. package/dist/org/active-org.d.ts +16 -0
  808. package/dist/org/active-org.d.ts.map +1 -0
  809. package/dist/org/active-org.js +57 -0
  810. package/dist/org/active-org.js.map +1 -0
  811. package/dist/org/auto-join-domain.d.ts.map +1 -1
  812. package/dist/org/auto-join-domain.js +3 -2
  813. package/dist/org/auto-join-domain.js.map +1 -1
  814. package/dist/org/context.d.ts +19 -1
  815. package/dist/org/context.d.ts.map +1 -1
  816. package/dist/org/context.js +159 -71
  817. package/dist/org/context.js.map +1 -1
  818. package/dist/org/handlers.d.ts +24 -1
  819. package/dist/org/handlers.d.ts.map +1 -1
  820. package/dist/org/handlers.js +129 -10
  821. package/dist/org/handlers.js.map +1 -1
  822. package/dist/org/plugin.d.ts +2 -0
  823. package/dist/org/plugin.d.ts.map +1 -1
  824. package/dist/org/plugin.js +9 -2
  825. package/dist/org/plugin.js.map +1 -1
  826. package/dist/org/types.d.ts +6 -1
  827. package/dist/org/types.d.ts.map +1 -1
  828. package/dist/org/types.js.map +1 -1
  829. package/dist/provider-api/actions/custom-provider-registration.d.ts +9 -9
  830. package/dist/provider-api/actions/provider-api.d.ts +11 -11
  831. package/dist/provider-api/index.d.ts.map +1 -1
  832. package/dist/provider-api/index.js +3 -2
  833. package/dist/provider-api/index.js.map +1 -1
  834. package/dist/resources/handlers.d.ts.map +1 -1
  835. package/dist/resources/handlers.js +2 -7
  836. package/dist/resources/handlers.js.map +1 -1
  837. package/dist/resources/script-helpers.d.ts.map +1 -1
  838. package/dist/resources/script-helpers.js +2 -2
  839. package/dist/resources/script-helpers.js.map +1 -1
  840. package/dist/scripts/chat/search-chats.d.ts.map +1 -1
  841. package/dist/scripts/chat/search-chats.js +2 -2
  842. package/dist/scripts/chat/search-chats.js.map +1 -1
  843. package/dist/scripts/describe-workspace-apps.d.ts +4 -0
  844. package/dist/scripts/describe-workspace-apps.d.ts.map +1 -0
  845. package/dist/scripts/describe-workspace-apps.js +34 -0
  846. package/dist/scripts/describe-workspace-apps.js.map +1 -0
  847. package/dist/scripts/resources/delete-memory.d.ts.map +1 -1
  848. package/dist/scripts/resources/delete-memory.js +2 -2
  849. package/dist/scripts/resources/delete-memory.js.map +1 -1
  850. package/dist/scripts/resources/delete.d.ts.map +1 -1
  851. package/dist/scripts/resources/delete.js +2 -2
  852. package/dist/scripts/resources/delete.js.map +1 -1
  853. package/dist/scripts/resources/effective.d.ts.map +1 -1
  854. package/dist/scripts/resources/effective.js +2 -2
  855. package/dist/scripts/resources/effective.js.map +1 -1
  856. package/dist/scripts/resources/list.d.ts.map +1 -1
  857. package/dist/scripts/resources/list.js +2 -2
  858. package/dist/scripts/resources/list.js.map +1 -1
  859. package/dist/scripts/resources/read.d.ts.map +1 -1
  860. package/dist/scripts/resources/read.js +2 -2
  861. package/dist/scripts/resources/read.js.map +1 -1
  862. package/dist/scripts/resources/save-memory.d.ts.map +1 -1
  863. package/dist/scripts/resources/save-memory.js +2 -2
  864. package/dist/scripts/resources/save-memory.js.map +1 -1
  865. package/dist/scripts/resources/write.d.ts.map +1 -1
  866. package/dist/scripts/resources/write.js +2 -2
  867. package/dist/scripts/resources/write.js.map +1 -1
  868. package/dist/secrets/routes.d.ts +9 -9
  869. package/dist/server/agent-capabilities.d.ts +21 -0
  870. package/dist/server/agent-capabilities.d.ts.map +1 -0
  871. package/dist/server/agent-capabilities.js +106 -0
  872. package/dist/server/agent-capabilities.js.map +1 -0
  873. package/dist/server/agent-chat/framework-prompts.d.ts.map +1 -1
  874. package/dist/server/agent-chat/framework-prompts.js +11 -13
  875. package/dist/server/agent-chat/framework-prompts.js.map +1 -1
  876. package/dist/server/agent-chat/prompt-resources.d.ts +32 -0
  877. package/dist/server/agent-chat/prompt-resources.d.ts.map +1 -1
  878. package/dist/server/agent-chat/prompt-resources.js +117 -56
  879. package/dist/server/agent-chat/prompt-resources.js.map +1 -1
  880. package/dist/server/agent-chat/script-entries.d.ts.map +1 -1
  881. package/dist/server/agent-chat/script-entries.js +18 -8
  882. package/dist/server/agent-chat/script-entries.js.map +1 -1
  883. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  884. package/dist/server/agent-chat-plugin.js +27 -1
  885. package/dist/server/agent-chat-plugin.js.map +1 -1
  886. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  887. package/dist/server/auth.d.ts +9 -9
  888. package/dist/server/auth.d.ts.map +1 -1
  889. package/dist/server/auth.js +32 -33
  890. package/dist/server/auth.js.map +1 -1
  891. package/dist/server/core-routes-plugin.d.ts +45 -0
  892. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  893. package/dist/server/core-routes-plugin.js +162 -139
  894. package/dist/server/core-routes-plugin.js.map +1 -1
  895. package/dist/server/credential-provider.d.ts +35 -2
  896. package/dist/server/credential-provider.d.ts.map +1 -1
  897. package/dist/server/credential-provider.js +155 -40
  898. package/dist/server/credential-provider.js.map +1 -1
  899. package/dist/server/embed-session.d.ts.map +1 -1
  900. package/dist/server/embed-session.js +10 -0
  901. package/dist/server/embed-session.js.map +1 -1
  902. package/dist/server/framework-request-handler.d.ts.map +1 -1
  903. package/dist/server/framework-request-handler.js +38 -0
  904. package/dist/server/framework-request-handler.js.map +1 -1
  905. package/dist/server/google-auth-plugin.d.ts.map +1 -1
  906. package/dist/server/google-auth-plugin.js +12 -444
  907. package/dist/server/google-auth-plugin.js.map +1 -1
  908. package/dist/server/index.d.ts +2 -2
  909. package/dist/server/index.d.ts.map +1 -1
  910. package/dist/server/index.js +2 -2
  911. package/dist/server/index.js.map +1 -1
  912. package/dist/server/onboarding-html.d.ts.map +1 -1
  913. package/dist/server/onboarding-html.js +20 -56
  914. package/dist/server/onboarding-html.js.map +1 -1
  915. package/dist/server/open-route.d.ts.map +1 -1
  916. package/dist/server/open-route.js +6 -1
  917. package/dist/server/open-route.js.map +1 -1
  918. package/dist/server/poll.js +1 -1
  919. package/dist/server/poll.js.map +1 -1
  920. package/dist/server/prompts/framework-core-compact.d.ts.map +1 -1
  921. package/dist/server/prompts/framework-core-compact.js +5 -6
  922. package/dist/server/prompts/framework-core-compact.js.map +1 -1
  923. package/dist/server/prompts/framework-core.d.ts.map +1 -1
  924. package/dist/server/prompts/framework-core.js +7 -10
  925. package/dist/server/prompts/framework-core.js.map +1 -1
  926. package/dist/server/prompts/shared-rules.d.ts +20 -2
  927. package/dist/server/prompts/shared-rules.d.ts.map +1 -1
  928. package/dist/server/prompts/shared-rules.js +20 -10
  929. package/dist/server/prompts/shared-rules.js.map +1 -1
  930. package/dist/server/request-context.d.ts +26 -1
  931. package/dist/server/request-context.d.ts.map +1 -1
  932. package/dist/server/request-context.js +52 -2
  933. package/dist/server/request-context.js.map +1 -1
  934. package/dist/server/scoped-key-storage.js +1 -1
  935. package/dist/server/scoped-key-storage.js.map +1 -1
  936. package/dist/settings/org-settings.d.ts +2 -0
  937. package/dist/settings/org-settings.d.ts.map +1 -1
  938. package/dist/settings/org-settings.js +5 -1
  939. package/dist/settings/org-settings.js.map +1 -1
  940. package/dist/settings/store.d.ts +6 -0
  941. package/dist/settings/store.d.ts.map +1 -1
  942. package/dist/settings/store.js +25 -0
  943. package/dist/settings/store.js.map +1 -1
  944. package/dist/shared/index.d.ts +1 -0
  945. package/dist/shared/index.d.ts.map +1 -1
  946. package/dist/shared/index.js +1 -0
  947. package/dist/shared/index.js.map +1 -1
  948. package/dist/shared/sign-in-journey.d.ts +102 -0
  949. package/dist/shared/sign-in-journey.d.ts.map +1 -0
  950. package/dist/shared/sign-in-journey.js +269 -0
  951. package/dist/shared/sign-in-journey.js.map +1 -0
  952. package/dist/styles/agent-native.css +8 -0
  953. package/dist/templates/chat/.agents/skills/actions/SKILL.md +19 -1
  954. package/dist/templates/chat/.agents/skills/adding-a-feature/SKILL.md +2 -0
  955. package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +20 -6
  956. package/dist/templates/chat/.agents/skills/security/SKILL.md +2 -0
  957. package/dist/templates/chat/.agents/skills/self-modifying-code/SKILL.md +4 -3
  958. package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +7 -3
  959. package/dist/templates/chat/.agents/skills/sharing/SKILL.md +228 -0
  960. package/dist/templates/chat/.agents/skills/storing-data/SKILL.md +178 -0
  961. package/dist/templates/chat/AGENTS.md +8 -0
  962. package/dist/templates/chat/app/entry.client.tsx +3 -0
  963. package/dist/templates/default/.agents/skills/actions/SKILL.md +19 -1
  964. package/dist/templates/default/.agents/skills/adding-a-feature/SKILL.md +2 -0
  965. package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +20 -6
  966. package/dist/templates/default/.agents/skills/security/SKILL.md +2 -0
  967. package/dist/templates/default/.agents/skills/self-modifying-code/SKILL.md +4 -3
  968. package/dist/templates/default/.agents/skills/shadcn-ui/SKILL.md +7 -3
  969. package/dist/templates/default/AGENTS.md +68 -195
  970. package/dist/templates/default/app/entry.client.tsx +3 -0
  971. package/dist/templates/default/app/i18n/ar-SA.ts +8 -0
  972. package/dist/templates/default/app/i18n/de-DE.ts +8 -0
  973. package/dist/templates/default/app/i18n/en-US.ts +8 -0
  974. package/dist/templates/default/app/i18n/es-ES.ts +8 -0
  975. package/dist/templates/default/app/i18n/fr-FR.ts +8 -0
  976. package/dist/templates/default/app/i18n/hi-IN.ts +8 -0
  977. package/dist/templates/default/app/i18n/ja-JP.ts +8 -0
  978. package/dist/templates/default/app/i18n/ko-KR.ts +8 -0
  979. package/dist/templates/default/app/i18n/pt-BR.ts +8 -0
  980. package/dist/templates/default/app/i18n/zh-CN.ts +8 -0
  981. package/dist/templates/default/app/i18n/zh-TW.ts +8 -0
  982. package/dist/templates/headless/.agents/skills/actions/SKILL.md +19 -1
  983. package/dist/templates/workspace-core/.agents/skills/actions/SKILL.md +19 -1
  984. package/dist/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +2 -0
  985. package/dist/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +100 -0
  986. package/dist/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +2 -1
  987. package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +28 -0
  988. package/dist/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +14 -1
  989. package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +20 -6
  990. package/dist/templates/workspace-core/.agents/skills/qa/SKILL.md +6 -3
  991. package/dist/templates/workspace-core/.agents/skills/security/SKILL.md +2 -0
  992. package/dist/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +4 -3
  993. package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +7 -3
  994. package/dist/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +91 -0
  995. package/dist/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +60 -0
  996. package/dist/templates/workspace-core/AGENTS.md +62 -124
  997. package/dist/templates/workspace-root/AGENTS.md +6 -1
  998. package/dist/triggers/dispatcher.d.ts.map +1 -1
  999. package/dist/triggers/dispatcher.js +10 -3
  1000. package/dist/triggers/dispatcher.js.map +1 -1
  1001. package/dist/vite/client.d.ts.map +1 -1
  1002. package/dist/vite/client.js +18 -8
  1003. package/dist/vite/client.js.map +1 -1
  1004. package/docs/content/actions.mdx +33 -20
  1005. package/docs/content/agent-mentions.mdx +30 -19
  1006. package/docs/content/agent-native-toolkit.mdx +8 -6
  1007. package/docs/content/agent-resources.mdx +11 -0
  1008. package/docs/content/agent-surfaces.mdx +41 -30
  1009. package/docs/content/audit-log.mdx +78 -0
  1010. package/docs/content/authentication.mdx +7 -5
  1011. package/docs/content/automations.mdx +15 -9
  1012. package/docs/content/client.mdx +11 -11
  1013. package/docs/content/cloneable-saas.mdx +7 -1
  1014. package/docs/content/code-agents-ui.mdx +9 -1
  1015. package/docs/content/components.mdx +7 -0
  1016. package/docs/content/context-awareness.mdx +1 -0
  1017. package/docs/content/creating-templates.mdx +9 -1
  1018. package/docs/content/custom-design-system.mdx +8 -0
  1019. package/docs/content/data-programs.mdx +6 -0
  1020. package/docs/content/deployment.mdx +2 -0
  1021. package/docs/content/doctor.mdx +5 -3
  1022. package/docs/content/extensions.mdx +26 -0
  1023. package/docs/content/external-agents-catalog.mdx +533 -0
  1024. package/docs/content/external-agents.mdx +20 -514
  1025. package/docs/content/faq.mdx +2 -2
  1026. package/docs/content/file-uploads.mdx +44 -0
  1027. package/docs/content/frames.mdx +2 -2
  1028. package/docs/content/generative-ui.mdx +8 -0
  1029. package/docs/content/getting-started.mdx +45 -17
  1030. package/docs/content/human-approval.mdx +9 -0
  1031. package/docs/content/integrations.mdx +4 -3
  1032. package/docs/content/internationalization.mdx +4 -11
  1033. package/docs/content/key-concepts.mdx +1 -1
  1034. package/docs/content/local-file-mode.mdx +5 -0
  1035. package/docs/content/mcp-apps.mdx +2 -1
  1036. package/docs/content/mcp-clients.mdx +32 -1
  1037. package/docs/content/mcp-protocol.mdx +4 -3
  1038. package/docs/content/messaging-internals.mdx +328 -0
  1039. package/docs/content/messaging-recipes.mdx +194 -0
  1040. package/docs/content/messaging.mdx +9 -307
  1041. package/docs/content/multi-app-workspace.mdx +1 -1
  1042. package/docs/content/multi-tenancy.mdx +1 -0
  1043. package/docs/content/native-chat-ui.mdx +8 -0
  1044. package/docs/content/notifications.mdx +18 -20
  1045. package/docs/content/observability.mdx +1 -0
  1046. package/docs/content/onboarding.mdx +20 -6
  1047. package/docs/content/organizations-teams-permissions.mdx +99 -124
  1048. package/docs/content/package-lifecycle.mdx +19 -7
  1049. package/docs/content/progress.mdx +11 -0
  1050. package/docs/content/real-time-collaboration.mdx +44 -3
  1051. package/docs/content/recurring-jobs.mdx +14 -1
  1052. package/docs/content/security.mdx +5 -2
  1053. package/docs/content/server.mdx +2 -1
  1054. package/docs/content/sharing.mdx +22 -3
  1055. package/docs/content/skills-guide.mdx +62 -19
  1056. package/docs/content/syncing-template-changes.mdx +9 -0
  1057. package/docs/content/template-analytics-connectors.mdx +75 -0
  1058. package/docs/content/template-analytics-dashboards.mdx +106 -0
  1059. package/docs/content/template-analytics-developers.mdx +287 -0
  1060. package/docs/content/template-analytics-monitoring-and-sessions.mdx +109 -0
  1061. package/docs/content/template-analytics.mdx +21 -263
  1062. package/docs/content/template-assets-developers.mdx +456 -0
  1063. package/docs/content/template-assets-generation.mdx +147 -0
  1064. package/docs/content/template-assets-integrations.mdx +319 -0
  1065. package/docs/content/template-assets-presets.mdx +185 -0
  1066. package/docs/content/template-assets.mdx +12 -562
  1067. package/docs/content/template-brain-agent.mdx +103 -0
  1068. package/docs/content/template-brain-developers.mdx +379 -0
  1069. package/docs/content/template-brain-knowledge.mdx +50 -0
  1070. package/docs/content/template-brain-sources.mdx +163 -0
  1071. package/docs/content/template-brain.mdx +30 -390
  1072. package/docs/content/template-calendar-agent.mdx +133 -0
  1073. package/docs/content/template-calendar-booking-links.mdx +73 -0
  1074. package/docs/content/template-calendar-developers.mdx +366 -0
  1075. package/docs/content/template-calendar-scheduling.mdx +128 -0
  1076. package/docs/content/template-calendar.mdx +13 -260
  1077. package/docs/content/template-chat-developers.mdx +88 -0
  1078. package/docs/content/template-chat-first-edits.mdx +145 -0
  1079. package/docs/content/template-chat.mdx +12 -77
  1080. package/docs/content/template-clips-ai-and-editing.mdx +114 -0
  1081. package/docs/content/template-clips-capture-everywhere.mdx +120 -0
  1082. package/docs/content/template-clips-developers.mdx +373 -0
  1083. package/docs/content/template-clips-sharing-and-teams.mdx +182 -0
  1084. package/docs/content/template-clips.mdx +19 -508
  1085. package/docs/content/template-content-databases.mdx +406 -0
  1086. package/docs/content/template-content-developers.mdx +364 -0
  1087. package/docs/content/template-content-editing.mdx +60 -0
  1088. package/docs/content/template-content-sync.mdx +149 -0
  1089. package/docs/content/template-content.mdx +21 -561
  1090. package/docs/content/template-design-brand-and-figma.mdx +150 -0
  1091. package/docs/content/template-design-collaboration-and-full-apps.mdx +125 -0
  1092. package/docs/content/template-design-developers.mdx +358 -0
  1093. package/docs/content/template-design-quality-and-components.mdx +95 -0
  1094. package/docs/content/template-design.mdx +20 -344
  1095. package/docs/content/template-dispatch-developers.mdx +121 -0
  1096. package/docs/content/template-dispatch-messaging-routing.mdx +114 -0
  1097. package/docs/content/template-dispatch-operations.mdx +160 -0
  1098. package/docs/content/template-dispatch-vault-integrations.mdx +316 -0
  1099. package/docs/content/template-dispatch.mdx +24 -283
  1100. package/docs/content/template-forms-building-publishing.mdx +135 -0
  1101. package/docs/content/template-forms-developers.mdx +195 -0
  1102. package/docs/content/template-forms-responses.mdx +120 -0
  1103. package/docs/content/template-forms.mdx +21 -230
  1104. package/docs/content/template-mail-agent.mdx +114 -0
  1105. package/docs/content/template-mail-developers.mdx +356 -0
  1106. package/docs/content/template-mail-drafts-and-queue.mdx +103 -0
  1107. package/docs/content/template-mail-inbox.mdx +118 -0
  1108. package/docs/content/template-mail.mdx +23 -274
  1109. package/docs/content/template-plan-automations.mdx +213 -0
  1110. package/docs/content/template-plan-developers.mdx +703 -0
  1111. package/docs/content/template-plan-local-and-desktop.mdx +236 -0
  1112. package/docs/content/template-plan-review-workflow.mdx +180 -0
  1113. package/docs/content/template-plan.mdx +60 -910
  1114. package/docs/content/template-slides-agent.mdx +102 -0
  1115. package/docs/content/template-slides-design-and-media.mdx +94 -0
  1116. package/docs/content/template-slides-developers.mdx +488 -0
  1117. package/docs/content/template-slides-editing.mdx +56 -0
  1118. package/docs/content/template-slides.mdx +20 -362
  1119. package/docs/content/toolkit-capability-packages.mdx +38 -13
  1120. package/docs/content/toolkit-context-knowledge.mdx +49 -9
  1121. package/docs/content/toolkit-editors-canvases.mdx +72 -10
  1122. package/docs/content/toolkit-resources.mdx +16 -0
  1123. package/docs/content/toolkit-settings.mdx +3 -3
  1124. package/docs/content/toolkit-sharing.mdx +5 -7
  1125. package/docs/content/using-your-agent.mdx +25 -2
  1126. package/docs/content/voice-input.mdx +11 -7
  1127. package/docs/content/what-is-agent-native.mdx +1 -0
  1128. package/docs/content/workspace-connections.mdx +21 -11
  1129. package/docs/content/workspace-management.mdx +1 -1
  1130. package/package.json +2 -4
  1131. package/src/a2a/client.ts +4 -2
  1132. package/src/agent/action-warnings.ts +103 -0
  1133. package/src/agent/durable-background.ts +42 -5
  1134. package/src/agent/engine/ai-sdk-engine.ts +58 -6
  1135. package/src/agent/engine/anthropic-engine.ts +51 -8
  1136. package/src/agent/engine/builder-engine.ts +56 -18
  1137. package/src/agent/engine/continuation-dispatch-retry.ts +10 -9
  1138. package/src/agent/engine/credential-errors.ts +11 -0
  1139. package/src/agent/engine/error-detail.ts +39 -0
  1140. package/src/agent/engine/prompt-cache.ts +44 -0
  1141. package/src/agent/engine/registry.ts +22 -30
  1142. package/src/agent/engine/tool-call-journal-seed.ts +2 -1
  1143. package/src/agent/engine/translate-anthropic.ts +99 -0
  1144. package/src/agent/loop-settings.ts +94 -7
  1145. package/src/agent/production-agent.ts +667 -157
  1146. package/src/agent/run-loop-with-resume.ts +27 -1
  1147. package/src/agent/run-manager.ts +229 -39
  1148. package/src/agent/run-store.ts +397 -64
  1149. package/src/agent/thread-data-builder.ts +5 -1
  1150. package/src/agent/types.ts +23 -6
  1151. package/src/application-state/script-helpers.ts +5 -2
  1152. package/src/cli/agents.ts +69 -1
  1153. package/src/cli/app-skill.ts +1 -1
  1154. package/src/cli/code-agent-executor.ts +7 -3
  1155. package/src/cli/design-connect.ts +82 -8
  1156. package/src/cli/index.ts +2 -1
  1157. package/src/cli/mcp.ts +13 -3
  1158. package/src/cli/skills-content/design-visual-edit-skill.ts +169 -24
  1159. package/src/cli/skills-content/rewind-skill.ts +36 -4
  1160. package/src/cli/skills.ts +250 -37
  1161. package/src/cli/telemetry-routing.ts +57 -0
  1162. package/src/cli/telemetry.ts +3 -3
  1163. package/src/client/AssistantChat.tsx +623 -607
  1164. package/src/client/agent-chat-adapter.ts +176 -29
  1165. package/src/client/chat/message-components.tsx +13 -0
  1166. package/src/client/embed-auth.ts +3 -1
  1167. package/src/client/integrations/IntegrationCard.tsx +41 -24
  1168. package/src/client/integrations/IntegrationsPanel.tsx +37 -21
  1169. package/src/client/integrations/webhook-url.ts +29 -0
  1170. package/src/client/org/OrgSwitcher.tsx +41 -27
  1171. package/src/client/org/RequireActiveOrg.tsx +7 -0
  1172. package/src/client/org/TeamPage.tsx +144 -14
  1173. package/src/client/org/hooks.ts +27 -0
  1174. package/src/client/org/index.ts +2 -0
  1175. package/src/client/require-session.tsx +40 -29
  1176. package/src/client/session-replay.ts +1 -1
  1177. package/src/client/settings/DemoModeSection.tsx +0 -5
  1178. package/src/client/settings/SecretsSection.tsx +47 -42
  1179. package/src/client/settings/VoiceTranscriptionSection.tsx +0 -5
  1180. package/src/client/sse-event-processor.ts +83 -8
  1181. package/src/client/use-action.ts +22 -13
  1182. package/src/client/use-agent-engine-configured.ts +36 -4
  1183. package/src/client/use-db-sync.ts +21 -1
  1184. package/src/credentials/index.ts +124 -2
  1185. package/src/deploy/build.ts +93 -30
  1186. package/src/deploy/workspace-deploy.ts +21 -16
  1187. package/src/guards/no-localhost-fallback.ts +76 -14
  1188. package/src/integrations/google-docs-poller.ts +19 -12
  1189. package/src/integrations/webhook-handler.ts +56 -33
  1190. package/src/jobs/scheduler.ts +57 -23
  1191. package/src/localization/default-messages.ts +23 -1
  1192. package/src/mcp/screen-memory-stdio.ts +21 -2
  1193. package/src/observability/evals.ts +7 -8
  1194. package/src/observability/traces.ts +2 -0
  1195. package/src/org/accept-pending.ts +2 -2
  1196. package/src/org/active-org.ts +73 -0
  1197. package/src/org/auto-join-domain.ts +7 -2
  1198. package/src/org/context.ts +169 -66
  1199. package/src/org/handlers.ts +148 -10
  1200. package/src/org/plugin.ts +8 -1
  1201. package/src/org/types.ts +6 -1
  1202. package/src/provider-api/index.ts +6 -1
  1203. package/src/resources/handlers.ts +2 -6
  1204. package/src/resources/script-helpers.ts +2 -1
  1205. package/src/scripts/chat/search-chats.ts +5 -2
  1206. package/src/scripts/describe-workspace-apps.ts +59 -0
  1207. package/src/scripts/resources/delete-memory.ts +5 -2
  1208. package/src/scripts/resources/delete.ts +5 -2
  1209. package/src/scripts/resources/effective.ts +5 -2
  1210. package/src/scripts/resources/list.ts +5 -2
  1211. package/src/scripts/resources/read.ts +5 -2
  1212. package/src/scripts/resources/save-memory.ts +5 -2
  1213. package/src/scripts/resources/write.ts +5 -2
  1214. package/src/server/__snapshots__/agent-chat-plugin.surface.spec.ts.snap +11 -31
  1215. package/src/server/agent-capabilities.ts +147 -0
  1216. package/src/server/agent-chat/framework-prompts.ts +11 -13
  1217. package/src/server/agent-chat/prompt-resources.ts +183 -57
  1218. package/src/server/agent-chat/script-entries.ts +20 -7
  1219. package/src/server/agent-chat-plugin.ts +27 -0
  1220. package/src/server/auth.ts +38 -32
  1221. package/src/server/core-routes-plugin.ts +229 -179
  1222. package/src/server/credential-provider.ts +196 -44
  1223. package/src/server/embed-session.ts +10 -0
  1224. package/src/server/framework-request-handler.ts +43 -0
  1225. package/src/server/google-auth-plugin.ts +13 -450
  1226. package/src/server/index.ts +4 -1
  1227. package/src/server/onboarding-html.ts +20 -56
  1228. package/src/server/open-route.ts +6 -1
  1229. package/src/server/poll.ts +1 -1
  1230. package/src/server/prompts/framework-core-compact.ts +5 -5
  1231. package/src/server/prompts/framework-core.ts +7 -9
  1232. package/src/server/prompts/shared-rules.ts +20 -9
  1233. package/src/server/request-context.ts +58 -2
  1234. package/src/server/scoped-key-storage.ts +1 -1
  1235. package/src/settings/org-settings.ts +9 -0
  1236. package/src/settings/store.ts +29 -0
  1237. package/src/shared/index.ts +13 -0
  1238. package/src/shared/sign-in-journey.ts +331 -0
  1239. package/src/styles/agent-native.css +8 -0
  1240. package/src/templates/chat/.agents/skills/actions/SKILL.md +19 -1
  1241. package/src/templates/chat/.agents/skills/adding-a-feature/SKILL.md +2 -0
  1242. package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +20 -6
  1243. package/src/templates/chat/.agents/skills/security/SKILL.md +2 -0
  1244. package/src/templates/chat/.agents/skills/self-modifying-code/SKILL.md +4 -3
  1245. package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +7 -3
  1246. package/src/templates/chat/.agents/skills/sharing/SKILL.md +228 -0
  1247. package/src/templates/chat/.agents/skills/storing-data/SKILL.md +178 -0
  1248. package/src/templates/chat/AGENTS.md +8 -0
  1249. package/src/templates/chat/app/entry.client.tsx +3 -0
  1250. package/src/templates/default/.agents/skills/actions/SKILL.md +19 -1
  1251. package/src/templates/default/.agents/skills/adding-a-feature/SKILL.md +2 -0
  1252. package/src/templates/default/.agents/skills/frontend-design/SKILL.md +20 -6
  1253. package/src/templates/default/.agents/skills/security/SKILL.md +2 -0
  1254. package/src/templates/default/.agents/skills/self-modifying-code/SKILL.md +4 -3
  1255. package/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +7 -3
  1256. package/src/templates/default/AGENTS.md +68 -195
  1257. package/src/templates/default/app/entry.client.tsx +3 -0
  1258. package/src/templates/default/app/i18n/ar-SA.ts +8 -0
  1259. package/src/templates/default/app/i18n/de-DE.ts +8 -0
  1260. package/src/templates/default/app/i18n/en-US.ts +8 -0
  1261. package/src/templates/default/app/i18n/es-ES.ts +8 -0
  1262. package/src/templates/default/app/i18n/fr-FR.ts +8 -0
  1263. package/src/templates/default/app/i18n/hi-IN.ts +8 -0
  1264. package/src/templates/default/app/i18n/ja-JP.ts +8 -0
  1265. package/src/templates/default/app/i18n/ko-KR.ts +8 -0
  1266. package/src/templates/default/app/i18n/pt-BR.ts +8 -0
  1267. package/src/templates/default/app/i18n/zh-CN.ts +8 -0
  1268. package/src/templates/default/app/i18n/zh-TW.ts +8 -0
  1269. package/src/templates/headless/.agents/skills/actions/SKILL.md +19 -1
  1270. package/src/templates/workspace-core/.agents/skills/actions/SKILL.md +19 -1
  1271. package/src/templates/workspace-core/.agents/skills/adding-a-feature/SKILL.md +2 -0
  1272. package/src/templates/workspace-core/.agents/skills/adding-workspace-apps/SKILL.md +100 -0
  1273. package/src/templates/workspace-core/.agents/skills/address-feedback/SKILL.md +2 -1
  1274. package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +28 -0
  1275. package/src/templates/workspace-core/.agents/skills/composable-mini-apps/SKILL.md +14 -1
  1276. package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +20 -6
  1277. package/src/templates/workspace-core/.agents/skills/qa/SKILL.md +6 -3
  1278. package/src/templates/workspace-core/.agents/skills/security/SKILL.md +2 -0
  1279. package/src/templates/workspace-core/.agents/skills/self-modifying-code/SKILL.md +4 -3
  1280. package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +7 -3
  1281. package/src/templates/workspace-core/.agents/skills/workspace-conventions/SKILL.md +91 -0
  1282. package/src/templates/workspace-core/.agents/skills/writing-agent-instructions/SKILL.md +60 -0
  1283. package/src/templates/workspace-core/AGENTS.md +62 -124
  1284. package/src/templates/workspace-root/AGENTS.md +6 -1
  1285. package/src/triggers/dispatcher.ts +28 -17
  1286. package/src/vite/client.ts +20 -8
  1287. package/corpus/core/src/client/components/MissingKeyCard.tsx +0 -61
  1288. package/corpus/core/src/client/extensions/agent-native-extension-runtime.ts +0 -495
  1289. package/corpus/core/src/client/settings/BackgroundAgentSection.tsx +0 -193
  1290. package/corpus/core/src/client/settings/BrowserSection.tsx +0 -110
  1291. package/corpus/templates/analytics/app/components/InlineMetric.tsx +0 -31
  1292. package/corpus/templates/analytics/app/components/auth/LoginScreen.tsx +0 -4
  1293. package/corpus/templates/analytics/app/components/dashboard/CumulativeNetChart.tsx +0 -128
  1294. package/corpus/templates/analytics/app/components/dashboard/DataTable.tsx +0 -264
  1295. package/corpus/templates/analytics/app/components/dashboard/RecentActivity.tsx +0 -84
  1296. package/corpus/templates/analytics/app/components/dashboard/RevenueChart.tsx +0 -92
  1297. package/corpus/templates/analytics/app/components/dashboard/RevenueComparisonChart.tsx +0 -154
  1298. package/corpus/templates/analytics/app/components/dashboard/StatsCard.tsx +0 -49
  1299. package/corpus/templates/analytics/app/components/dashboard/TimeSeriesChart.tsx +0 -120
  1300. package/corpus/templates/analytics/server/handlers/dashboard-views.ts +0 -85
  1301. package/corpus/templates/analytics/server/handlers/user-prefs.ts +0 -58
  1302. package/corpus/templates/analytics/server/routes/api/dashboard-views/[dashboardId]/[viewId].delete.ts +0 -1
  1303. package/corpus/templates/analytics/server/routes/api/dashboard-views/[dashboardId].get.ts +0 -1
  1304. package/corpus/templates/analytics/server/routes/api/dashboard-views/[dashboardId].post.ts +0 -1
  1305. package/corpus/templates/analytics/server/routes/api/theme.get.ts +0 -17
  1306. package/corpus/templates/analytics/server/routes/api/theme.post.ts +0 -15
  1307. package/corpus/templates/analytics/server/routes/api/user-prefs/[key].delete.ts +0 -1
  1308. package/corpus/templates/analytics/server/routes/api/user-prefs/[key].get.ts +0 -1
  1309. package/corpus/templates/analytics/server/routes/api/user-prefs/[key].put.ts +0 -1
  1310. package/corpus/templates/assets/app/components/library/CreateLibraryDialog.tsx +0 -156
  1311. package/corpus/templates/assets/app/components/library/LibraryCard.tsx +0 -213
  1312. package/corpus/templates/calendar/app/components/calendar/GoogleSyncButton.tsx +0 -49
  1313. package/corpus/templates/calendar/server/routes/api/events/[id].delete.ts +0 -1
  1314. package/corpus/templates/calendar/server/routes/api/events/[id].get.ts +0 -1
  1315. package/corpus/templates/calendar/server/routes/api/events/[id].put.ts +0 -1
  1316. package/corpus/templates/content/app/components/layout/AppLayout.tsx +0 -9
  1317. package/corpus/templates/content/server/routes/api/comments/[id].delete.ts +0 -69
  1318. package/corpus/templates/content/server/routes/api/comments/[id].patch.ts +0 -109
  1319. package/corpus/templates/content/server/routes/api/documents/[id]/versions.get.ts +0 -53
  1320. package/corpus/templates/design/app/components/design/code-workbench/ActivityBar.tsx +0 -85
  1321. package/corpus/templates/design/app/components/design-system/DesignSystemCard.tsx +0 -129
  1322. package/corpus/templates/forms/app/components/layout/AppLayout.tsx +0 -9
  1323. package/corpus/templates/mail/app/components/email/SnoozePopover.tsx +0 -213
  1324. package/corpus/templates/mail/server/handlers/aliases.ts +0 -98
  1325. package/corpus/templates/mail/server/routes/api/aliases/[id].delete.ts +0 -1
  1326. package/corpus/templates/mail/server/routes/api/aliases/[id].patch.ts +0 -1
  1327. package/corpus/templates/mail/server/routes/api/aliases/index.get.ts +0 -1
  1328. package/corpus/templates/mail/server/routes/api/aliases/index.post.ts +0 -1
  1329. package/corpus/templates/mail/server/routes/api/automations/[id].delete.ts +0 -1
  1330. package/corpus/templates/mail/server/routes/api/automations/[id].patch.ts +0 -1
  1331. package/corpus/templates/mail/server/routes/api/automations/index.get.ts +0 -1
  1332. package/corpus/templates/mail/server/routes/api/automations/index.post.ts +0 -1
  1333. package/corpus/templates/mail/server/routes/api/automations/settings.get.ts +0 -22
  1334. package/corpus/templates/mail/server/routes/api/automations/settings.put.ts +0 -25
  1335. package/corpus/templates/mail/server/routes/api/scheduled-jobs/[id].delete.ts +0 -1
  1336. package/corpus/templates/mail/server/routes/api/scheduled-jobs/[id].patch.ts +0 -1
  1337. package/corpus/templates/mail/server/routes/api/scheduled-jobs/index.get.ts +0 -1
  1338. package/corpus/templates/mail/server/routes/api/scheduled-jobs/index.post.ts +0 -1
  1339. package/corpus/templates/mail/server/routes/api/settings.get.ts +0 -1
  1340. package/corpus/templates/mail/server/routes/api/settings.patch.ts +0 -1
  1341. package/corpus/templates/slides/app/components/deck/BuilderLogo.tsx +0 -22
  1342. package/corpus/templates/slides/app/components/design-system/DesignSystemPreview.tsx +0 -176
  1343. package/corpus/templates/slides/app/components/editor/GenerateSlidesDialog.tsx +0 -244
  1344. package/corpus/templates/slides/app/components/editor/ImportButton.tsx +0 -84
  1345. package/corpus/templates/slides/server/routes/api/comments/[id].delete.ts +0 -43
  1346. package/corpus/templates/slides/server/routes/api/comments/[id].patch.ts +0 -50
  1347. package/corpus/templates/slides/server/routes/api/decks/[id].delete.ts +0 -1
  1348. package/corpus/templates/slides/server/routes/api/decks/[id].get.ts +0 -1
  1349. package/corpus/templates/slides/server/routes/api/decks/[id].put.ts +0 -1
  1350. package/corpus/templates/slides/server/routes/api/decks/index.get.ts +0 -1
  1351. package/corpus/templates/slides/server/routes/api/decks/index.post.ts +0 -1
  1352. package/dist/client/components/MissingKeyCard.d.ts +0 -7
  1353. package/dist/client/components/MissingKeyCard.d.ts.map +0 -1
  1354. package/dist/client/components/MissingKeyCard.js +0 -32
  1355. package/dist/client/components/MissingKeyCard.js.map +0 -1
  1356. package/dist/client/extensions/agent-native-extension-runtime.d.ts +0 -69
  1357. package/dist/client/extensions/agent-native-extension-runtime.d.ts.map +0 -1
  1358. package/dist/client/extensions/agent-native-extension-runtime.js +0 -348
  1359. package/dist/client/extensions/agent-native-extension-runtime.js.map +0 -1
  1360. package/dist/client/settings/BackgroundAgentSection.d.ts +0 -2
  1361. package/dist/client/settings/BackgroundAgentSection.d.ts.map +0 -1
  1362. package/dist/client/settings/BackgroundAgentSection.js +0 -68
  1363. package/dist/client/settings/BackgroundAgentSection.js.map +0 -1
  1364. package/dist/client/settings/BrowserSection.d.ts +0 -2
  1365. package/dist/client/settings/BrowserSection.d.ts.map +0 -1
  1366. package/dist/client/settings/BrowserSection.js +0 -40
  1367. package/dist/client/settings/BrowserSection.js.map +0 -1
  1368. package/dist/templates/chat/.react-router/types/+server-build.d.ts +0 -18
  1369. package/dist/templates/chat/.react-router/types/app/+types/root.ts +0 -68
  1370. package/src/client/components/MissingKeyCard.tsx +0 -61
  1371. package/src/client/extensions/agent-native-extension-runtime.ts +0 -495
  1372. package/src/client/settings/BackgroundAgentSection.tsx +0 -193
  1373. package/src/client/settings/BrowserSection.tsx +0 -110
  1374. package/src/templates/chat/.react-router/types/+server-build.d.ts +0 -18
  1375. package/src/templates/chat/.react-router/types/app/+types/root.ts +0 -68
@@ -1 +1 @@
1
- {"version":3,"file":"script-entries.js","sourceRoot":"","sources":["../../../src/server/agent-chat/script-entries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ActionEntry } from \"../../agent/production-agent.js\";\nimport type { ActionTool } from \"../../agent/types.js\";\nimport {\n renameThread,\n resolveThreadAccess,\n setThreadArchived,\n setThreadPinned,\n} from \"../../chat-threads/store.js\";\nimport type { DatabaseToolsMode } from \"../../scripts/db/tool-mode.js\";\nimport { dbExecToolParameters } from \"../../scripts/db/tool-schemas.js\";\nimport { captureCliOutput } from \"../cli-capture.js\";\nimport {\n getRequestOrgId,\n getRequestRunContext,\n getRequestUserEmail,\n} from \"../request-context.js\";\n\n// ---------------------------------------------------------------------------\n// CLI-script-backed action entries: db-*, docs-search/source-search,\n// resources/save-memory/delete-memory, chat-history, manage-agent-engine,\n// manage-agent-loop-settings, and call-agent. Each wraps a core CLI script\n// (that writes to console.log) as an ActionEntry via `wrapCliScript`.\n// ---------------------------------------------------------------------------\n\n/**\n * Wraps a core CLI script (that writes to console.log) as a ActionEntry\n * by capturing stdout. Uses an AsyncLocalStorage-backed capture so\n * concurrent tool calls do not corrupt the global console/stdout pointers\n * (see `cli-capture.ts`).\n */\nfunction wrapCliScript(\n tool: ActionTool,\n cliDefault: (args: string[]) => Promise<void>,\n opts?: {\n allowedArgs?: readonly string[];\n readOnly?: boolean;\n },\n): ActionEntry {\n return {\n tool,\n ...(opts?.readOnly ? { readOnly: true as const } : {}),\n run: async (args: Record<string, string>): Promise<string> => {\n const cliArgs: string[] = [];\n for (const [k, v] of Object.entries(args)) {\n // MCP input schemas are descriptive and some hosts can still send\n // undeclared keys. The externally exposed DB readers must never accept\n // the CLI-only `--db` escape hatch, which could point at another local\n // SQLite file. Keep their runtime surface identical to the advertised\n // schema instead of trusting the client to validate it.\n if (opts?.allowedArgs && !opts.allowedArgs.includes(k)) {\n throw new Error(`Unknown argument: ${k}`);\n }\n const raw = v as unknown;\n const value =\n raw != null && typeof raw === \"object\"\n ? JSON.stringify(raw)\n : String(raw);\n cliArgs.push(`--${k}`, value);\n }\n return captureCliOutput(() => cliDefault(cliArgs));\n },\n };\n}\n\n/**\n * Creates db-* tools (db-query, db-exec, db-patch, db-schema) as native tools.\n * By default these let the agent inspect the app's own SQL database; raw SQL\n * writes are only exposed when the app explicitly opts into write mode.\n * Scoping to the current user/org is enforced automatically in production via\n * temp views.\n *\n * In dev mode template actions are invoked via bash and the agent can call\n * `pnpm action db-query ...` — but in production there is no bash, so these\n * must be registered as native tools for the agent to reach the app DB at all.\n */\nexport async function createDbScriptEntries(\n mode: DatabaseToolsMode = \"read\",\n options: { extensionTools?: boolean } = {},\n): Promise<Record<string, ActionEntry>> {\n try {\n if (mode === \"off\") return {};\n const extensionQueryGuidance =\n options.extensionTools === false\n ? \"Extension management tools are disabled for this app; do not query or mutate the legacy tools table as a workaround.\"\n : \"For extension management, use list-extensions, update-extension, hide-extension, or delete-extension instead of querying the legacy tools table.\";\n const [schemaMod, queryMod] = await Promise.all([\n import(\"../../scripts/db/schema.js\"),\n import(\"../../scripts/db/query.js\"),\n ]);\n const [execMod, patchMod] =\n mode === \"write\"\n ? await Promise.all([\n import(\"../../scripts/db/exec.js\"),\n import(\"../../scripts/db/patch.js\"),\n ])\n : [null, null];\n\n const entries: Record<string, ActionEntry> = {\n \"db-schema\": wrapCliScript(\n {\n description:\n \"Show the app's SQL schema — all tables, columns, types, indexes, and foreign keys. Use this to understand the data model before querying.\",\n parameters: {\n type: \"object\",\n properties: {\n format: {\n type: \"string\",\n description: 'Output format: \"json\" or \"text\" (default: text)',\n enum: [\"json\", \"text\"],\n },\n },\n },\n },\n schemaMod.default,\n {\n allowedArgs: [\"format\"],\n readOnly: true,\n },\n ),\n \"db-query\": wrapCliScript(\n {\n description: `Read from the app's own SQL database ONLY. Runs a SELECT against the app's internal tables (settings, application_state, template tables). Results are auto-scoped to the current user/org. IMPORTANT: This tool CANNOT access external data sources like data warehouses, CRMs, issue trackers, analytics platforms, calendars, mail, docs, or other third-party services. For those, use the relevant template/provider action, MCP connector, or provider-api-catalog/provider-api-docs/provider-api-request when available. If the user names a provider, that named provider wins; do not substitute a warehouse or app database copy unless they explicitly ask for it. If a table isn't in the app schema, don't try db-query — use the data-source-specific action. ${extensionQueryGuidance}`,\n parameters: {\n type: \"object\",\n properties: {\n sql: {\n type: \"string\",\n description:\n \"SELECT query to run, e.g. \\\"SELECT key, value FROM settings WHERE key LIKE 'sql-dashboard-%'\\\"\",\n },\n args: {\n type: \"string\",\n description:\n 'Optional JSON array of positional bind args for parameterized placeholders. Example: \\'[\"draft\",\"form-123\"]\\'',\n },\n format: {\n type: \"string\",\n description: 'Output format: \"json\" or \"text\" (default: text)',\n enum: [\"json\", \"text\"],\n },\n limit: {\n type: \"string\",\n description:\n \"Append LIMIT N if the query doesn't already have one\",\n },\n },\n required: [\"sql\"],\n },\n },\n queryMod.default,\n {\n allowedArgs: [\"sql\", \"args\", \"format\", \"limit\"],\n readOnly: true,\n },\n ),\n };\n\n if (execMod && patchMod) {\n entries[\"db-exec\"] = wrapCliScript(\n {\n description:\n \"Write to the app's own SQL database ONLY. Runs INSERT / UPDATE / DELETE / REPLACE against the app's internal tables. For multiple related writes, pass `statements` so they run sequentially in one transaction instead of issuing several db-exec calls. Writes are auto-scoped to the current user/org, and `owner_email` / `org_id` are auto-injected on INSERT. Schema changes (CREATE/ALTER/DROP) are blocked. Never use this to backfill missing data for a read/analysis request or to create/modify users, members, roles, permissions, admin flags, or ownership; use a dedicated app action or reviewed code. IMPORTANT: This tool CANNOT write to external data sources like BigQuery, HubSpot, etc. For external services, use the appropriate template action.\",\n parameters: dbExecToolParameters(),\n },\n execMod.default,\n );\n entries[\"db-patch\"] = wrapCliScript(\n {\n description:\n \"Surgical patch on a large text/JSON column in the app's SQL database. Two modes: (1) text find/replace via `find`/`replace`/`edits` — best for small edits to documents, slide HTML, etc. (2) structural JSON ops via `json-ops` — STRONGLY PREFERRED when the column is JSON (dashboard configs, form schemas, slide decks) because it avoids all the brace/quote/comma surgery that text find/replace requires. Use `json-ops` to set/remove values at a JSON Pointer path, or to move/insert array items — e.g. reorder dashboard panels, add a filter, rename a field. Targets exactly one row (narrow `where` by primary key). Same per-user/org scoping as db-exec.\",\n parameters: {\n type: \"object\",\n properties: {\n table: {\n type: \"string\",\n description: \"Table name (e.g. 'settings')\",\n },\n column: {\n type: \"string\",\n description:\n \"Text/JSON column to patch (e.g. 'value' for settings)\",\n },\n where: {\n type: \"string\",\n description:\n \"WHERE clause that matches exactly one row (e.g. \\\"key = 'o:org1:sql-dashboard-foo'\\\")\",\n },\n find: {\n type: \"string\",\n description:\n \"Text mode: substring to find. Must match EXACTLY ONE occurrence by default (like Claude Code's Edit tool). If 0 matches, you get 'NOT FOUND'. If >1 matches, you get surrounding context for each match — widen `find` with unique context and retry. Use `all: \\\"true\\\"` to replace every occurrence.\",\n },\n replace: {\n type: \"string\",\n description: \"Text mode: replacement substring\",\n },\n edits: {\n type: \"string\",\n description:\n 'Text mode batch: JSON array of {find, replace} pairs. Same uniqueness rule applies to each `find`. Example: \\'[{\"find\":\"a\",\"replace\":\"b\"}]\\'',\n },\n \"json-ops\": {\n type: \"string\",\n description:\n 'JSON mode: JSON array of structural ops. Each op is {op, path, value?, from?}. `op` is one of \"set\", \"remove\", \"insert\", \"move\", \"move-before\". `path` / `from` use JSON Pointer (\"/panels/3/title\"). Examples — reorder: \\'[{\"op\":\"move\",\"from\":\"/panels/7\",\"path\":\"/panels/1\"}]\\'; edit field: \\'[{\"op\":\"set\",\"path\":\"/panels/0/title\",\"value\":\"New\"}]\\'; delete filter: \\'[{\"op\":\"remove\",\"path\":\"/filters/2\"}]\\'; add panel: \\'[{\"op\":\"insert\",\"path\":\"/panels/0\",\"value\":{\"id\":\"p\",\"title\":\"...\"}}]\\'. Much safer than text find/replace for JSON columns.',\n },\n all: {\n type: \"string\",\n description:\n 'Text mode: set to \"true\" to replace every occurrence of each `find` (default requires exactly one match)',\n enum: [\"true\"],\n },\n },\n required: [\"table\", \"column\", \"where\"],\n },\n },\n patchMod.default,\n );\n }\n\n return entries;\n } catch {\n return {};\n }\n}\n\n/**\n * Creates read-only package lookup tools so agents can inspect version-matched\n * framework docs and source bundled in @agent-native/core at runtime.\n */\nexport async function createDocsScriptEntries(): Promise<\n Record<string, ActionEntry>\n> {\n const entries: Record<string, ActionEntry> = {};\n\n try {\n const mod = await import(\"../../scripts/docs/search.js\");\n entries[\"docs-search\"] = wrapCliScript(\n {\n description:\n \"Search and read agent-native framework documentation, bundled AGENTS.md, and codebase skills. Use --list to see all pages, --query to search, --slug to read a specific page. Codebase skill pages use slugs like skill-<name>.\",\n parameters: {\n type: \"object\",\n properties: {\n query: {\n type: \"string\",\n description:\n \"Search term to find relevant docs (e.g. 'actions', 'authentication', 'database')\",\n },\n slug: {\n type: \"string\",\n description:\n \"Read a specific doc page by slug (e.g. 'actions', 'authentication', 'database')\",\n },\n list: {\n type: \"string\",\n description: 'Set to \"true\" to list all available doc pages',\n enum: [\"true\"],\n },\n },\n },\n },\n mod.default,\n { readOnly: true },\n );\n } catch {\n // Keep source-search available if docs-search fails during a partial build.\n }\n\n try {\n const mod = await import(\"../../scripts/docs/source-search.js\");\n entries[\"source-search\"] = wrapCliScript(\n {\n description:\n \"Search and read the packaged Agent Native source corpus under node_modules/@agent-native/core/corpus. Use --list for sections, --query to search core/template source, and --path to read a file.\",\n parameters: {\n type: \"object\",\n properties: {\n query: {\n type: \"string\",\n description:\n \"Search term to find relevant core or template source (e.g. 'defineAction', 'useActionQuery', 'view-screen').\",\n },\n path: {\n type: \"string\",\n description:\n \"Read a specific corpus file or list a directory (e.g. 'templates/plan/AGENTS.md' or 'core/src/action.ts').\",\n },\n list: {\n type: \"string\",\n description: 'Set to \"true\" to list corpus sections',\n enum: [\"true\"],\n },\n },\n },\n },\n mod.default,\n { readOnly: true },\n );\n } catch {\n // Older package installs may not have the corpus/search script yet.\n }\n\n return entries;\n}\n\n/**\n * Creates resource ScriptEntries available in both prod and dev modes.\n */\nexport function shouldDefaultResourceWriteToWorkspace(path: string): boolean {\n const normalized = path.replace(/^\\/+/, \"\");\n return (\n normalized === \"AGENTS.md\" ||\n normalized === \"LEARNINGS.md\" ||\n normalized.startsWith(\"memory/\") ||\n normalized.startsWith(\"skills/\") ||\n normalized.startsWith(\"jobs/\") ||\n normalized.startsWith(\"agents/\") ||\n normalized.startsWith(\"remote-agents/\")\n );\n}\n\nexport async function createResourceScriptEntries(): Promise<\n Record<string, ActionEntry>\n> {\n try {\n const [list, read, effective, write, del, saveMem, delMem, store] =\n await Promise.all([\n import(\"../../scripts/resources/list.js\"),\n import(\"../../scripts/resources/read.js\"),\n import(\"../../scripts/resources/effective.js\"),\n import(\"../../scripts/resources/write.js\"),\n import(\"../../scripts/resources/delete.js\"),\n import(\"../../scripts/resources/save-memory.js\"),\n import(\"../../scripts/resources/delete-memory.js\"),\n import(\"../../resources/store.js\"),\n ]);\n\n // Wrap each CLI runner so it captures stdout and converts args properly\n const listEntry = wrapCliScript(\n {\n description: \"\",\n parameters: { type: \"object\" as const, properties: {} },\n },\n list.default,\n { readOnly: true },\n );\n const readEntry = wrapCliScript(\n {\n description: \"\",\n parameters: { type: \"object\" as const, properties: {} },\n },\n read.default,\n { readOnly: true },\n );\n const writeEntry = wrapCliScript(\n {\n description: \"\",\n parameters: { type: \"object\" as const, properties: {} },\n },\n write.default,\n );\n const effectiveEntry = wrapCliScript(\n {\n description: \"\",\n parameters: { type: \"object\" as const, properties: {} },\n },\n effective.default,\n { readOnly: true },\n );\n const deleteEntry = wrapCliScript(\n {\n description: \"\",\n parameters: { type: \"object\" as const, properties: {} },\n },\n del.default,\n );\n\n return {\n resources: {\n tool: {\n description:\n 'Manage workspace resources. Actions: \"list\" (browse visible files), \"read\" (get contents), \"effective\" (show workspace -> organization/app -> personal inheritance for a path), \"write\" (create/update personal or shared; workspace only for local file mode control files), \"promote\" (make agent scratch visible), \"delete\" (remove personal or shared; workspace only for local file mode control files). Agent scratch writes are hidden from the Workspace view by default; use visibility=\"workspace\" only for files the user explicitly wants to keep/manage.',\n parameters: {\n type: \"object\",\n properties: {\n action: {\n type: \"string\",\n description: \"The operation to perform\",\n enum: [\n \"list\",\n \"read\",\n \"effective\",\n \"write\",\n \"promote\",\n \"delete\",\n ],\n },\n path: {\n type: \"string\",\n description:\n \"Resource path (e.g. 'LEARNINGS.md', 'notes/ideas.md'). Required for read/write/delete.\",\n },\n content: {\n type: \"string\",\n description: \"Content to write. Required for write.\",\n },\n scope: {\n type: \"string\",\n description:\n \"personal, shared, workspace, or all (default varies by action). Workspace is read-only when inherited from Dispatch; in local file mode AGENTS.md, agent-native.json, mcp.config.json, .mcp.json, and skills/ are writable.\",\n enum: [\"personal\", \"shared\", \"workspace\", \"all\"],\n },\n prefix: {\n type: \"string\",\n description:\n \"Filter by path prefix when listing (e.g. 'notes/')\",\n },\n mime: {\n type: \"string\",\n description:\n \"MIME type for write (default: inferred from extension)\",\n },\n format: {\n type: \"string\",\n description:\n 'Output format for list: \"json\" or \"text\" (default: text)',\n enum: [\"json\", \"text\"],\n },\n visibility: {\n type: \"string\",\n description:\n 'Visibility for write: \"agent_scratch\" for internal working files, \"workspace\" for user-requested files. Defaults to agent_scratch except durable instruction/skill/job/memory paths.',\n enum: [\"workspace\", \"agent_scratch\"],\n },\n includeAgentScratch: {\n type: \"boolean\",\n description: \"Include hidden agent scratch files when listing.\",\n },\n },\n required: [\"action\"],\n },\n },\n run: async (args: Record<string, string>) => {\n const { action: a, ...rest } = args;\n if (a === \"list\") return listEntry.run(rest);\n if (a === \"read\") {\n if (!rest.path) return \"Error: path is required for read\";\n return readEntry.run(rest);\n }\n if (a === \"effective\") {\n if (!rest.path) return \"Error: path is required for effective\";\n return effectiveEntry.run(rest);\n }\n if (a === \"write\") {\n if (\n !rest.path ||\n rest.content === undefined ||\n rest.content === null\n )\n return \"Error: path and content are required for write\";\n rest.createdBy = \"agent\";\n rest.visibility =\n rest.visibility ??\n (shouldDefaultResourceWriteToWorkspace(String(rest.path))\n ? \"workspace\"\n : \"agent_scratch\");\n const runCtx = getRequestRunContext();\n if (runCtx?.threadId) rest.threadId = runCtx.threadId;\n return writeEntry.run(rest);\n }\n if (a === \"promote\") {\n if (!rest.path) return \"Error: path is required for promote\";\n const scope = rest.scope ?? \"personal\";\n if (scope === \"workspace\" || scope === \"all\") {\n return \"Error: promote supports personal or shared scope only\";\n }\n const owner =\n scope === \"shared\"\n ? store.sharedResourceOwner(getRequestOrgId())\n : (getRequestRunContext()?.owner ??\n getRequestUserEmail() ??\n process.env.AGENT_USER_EMAIL);\n if (!owner) {\n return \"Error: promote requires an authenticated user\";\n }\n const resource = await store.resourceGetByPath(\n owner,\n String(rest.path),\n );\n if (!resource) {\n return `Resource not found: ${rest.path}`;\n }\n const promoted = await store.resourcePut(\n owner,\n resource.path,\n resource.content,\n resource.mimeType,\n {\n createdBy: resource.createdBy,\n visibility: \"workspace\",\n threadId: resource.threadId,\n runId: resource.runId,\n expiresAt: null,\n metadata: resource.metadata,\n },\n );\n return `Promoted resource: ${promoted.path}`;\n }\n if (a === \"delete\") {\n if (!rest.path) return \"Error: path is required for delete\";\n return deleteEntry.run(rest);\n }\n return `Error: unknown action \"${a}\". Use: list, read, write, promote, delete`;\n },\n },\n \"save-memory\": wrapCliScript(\n {\n description:\n \"Save a memory for future conversations. Creates or updates a memory file and its index entry. Use proactively when you learn preferences, corrections, project context, or references.\",\n parameters: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n description:\n \"Short kebab-case identifier (e.g. 'coding-style', 'deploy-process'). Used as the filename.\",\n },\n type: {\n type: \"string\",\n description: \"Memory category\",\n enum: [\"user\", \"feedback\", \"project\", \"reference\"],\n },\n description: {\n type: \"string\",\n description:\n \"One-line summary shown in the memory index (keep under 80 chars)\",\n },\n content: {\n type: \"string\",\n description:\n \"The memory content in markdown. For updates, read first and provide full updated content.\",\n },\n },\n required: [\"name\", \"type\", \"description\", \"content\"],\n },\n },\n saveMem.default,\n ),\n \"delete-memory\": wrapCliScript(\n {\n description:\n \"Delete a memory entry and remove it from the memory index.\",\n parameters: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n description: \"The memory name to delete (e.g. 'coding-style')\",\n },\n },\n required: [\"name\"],\n },\n },\n delMem.default,\n ),\n };\n } catch {\n // Resources not available — skip silently\n return {};\n }\n}\n\n/**\n * Creates a unified chat-history ActionEntry that dispatches to search, open,\n * rename, or lightweight organization actions.\n */\nexport async function createChatScriptEntries(): Promise<\n Record<string, ActionEntry>\n> {\n try {\n const [searchMod, openMod] = await Promise.all([\n import(\"../../scripts/chat/search-chats.js\"),\n import(\"../../scripts/chat/open-chat.js\"),\n ]);\n\n const searchEntry = wrapCliScript(\n {\n description: \"Search or list past agent chat threads.\",\n parameters: {\n type: \"object\",\n properties: {\n query: {\n type: \"string\",\n description:\n \"Search term to find chats by title, preview, or content\",\n },\n limit: {\n type: \"string\",\n description: \"Max number of results (default: 20)\",\n },\n format: {\n type: \"string\",\n description: \"Output format\",\n enum: [\"json\", \"text\"],\n },\n includeArchived: {\n type: \"boolean\",\n description:\n \"Also include archived chats in the results. Archived chats are excluded by default.\",\n },\n },\n },\n },\n searchMod.default,\n );\n\n const openEntry = wrapCliScript(\n {\n description: \"Open a chat thread in the UI.\",\n parameters: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n description: \"The chat thread ID to open\",\n },\n },\n required: [\"id\"],\n },\n },\n openMod.default,\n );\n\n return {\n \"chat-history\": {\n tool: {\n description:\n \"Manage past agent chat threads. Use action 'search' to find previous conversations by keyword, 'open' to open a thread in the UI, or 'rename'/'pin'/'unpin'/'archive' to organize history.\",\n parameters: {\n type: \"object\",\n properties: {\n action: {\n type: \"string\",\n description: \"The operation to perform\",\n enum: [\"search\", \"open\", \"rename\", \"pin\", \"unpin\", \"archive\"],\n },\n query: {\n type: \"string\",\n description:\n \"(search) Search term to find chats by title, preview, or content\",\n },\n limit: {\n type: \"string\",\n description: \"(search) Max number of results (default: 20)\",\n },\n format: {\n type: \"string\",\n description: \"(search) Output format\",\n enum: [\"json\", \"text\"],\n },\n includeArchived: {\n type: \"boolean\",\n description:\n \"(search) Also include archived chats in the results. Archived chats are excluded by default, matching the 'archive' action's effect on the chat list.\",\n },\n id: {\n type: \"string\",\n description:\n \"(open, rename, pin, unpin, archive) The chat thread ID to manage\",\n },\n title: {\n type: \"string\",\n description: \"(rename) New chat title\",\n },\n },\n required: [\"action\"],\n },\n },\n run: async (args) => {\n if (args?.action === \"open\") {\n return openEntry.run(args);\n }\n if (\n args?.action === \"rename\" ||\n args?.action === \"pin\" ||\n args?.action === \"unpin\" ||\n args?.action === \"archive\"\n ) {\n const id = typeof args?.id === \"string\" ? args.id : \"\";\n if (!id) return \"Missing required id.\";\n const owner =\n getRequestRunContext()?.owner ?? getRequestUserEmail() ?? \"\";\n if (!owner) return \"No authenticated user is available.\";\n const thread = await resolveThreadAccess(owner, id, \"editor\", {\n orgId: getRequestOrgId(),\n });\n if (!thread) {\n return `Chat thread \"${id}\" not found.`;\n }\n const title = thread.title || thread.preview || \"(untitled)\";\n if (args.action === \"rename\") {\n const nextTitle =\n typeof args?.title === \"string\"\n ? args.title.replace(/\\s+/g, \" \").trim().slice(0, 160)\n : \"\";\n if (!nextTitle) return \"Missing required title.\";\n const renamed = await renameThread(id, nextTitle);\n if (!renamed) return `Chat thread \"${id}\" could not be renamed.`;\n return `Renamed chat \"${title}\" to \"${nextTitle}\".`;\n }\n if (args.action === \"archive\") {\n const archived = await setThreadArchived(id, true);\n if (!archived)\n return `Chat thread \"${id}\" could not be archived.`;\n return `Archived chat: ${title}`;\n }\n const pinned = await setThreadPinned(id, args.action === \"pin\");\n if (!pinned) return `Chat thread \"${id}\" could not be updated.`;\n return `${args.action === \"pin\" ? \"Pinned\" : \"Unpinned\"} chat: ${title}`;\n }\n return searchEntry.run(args);\n },\n },\n };\n } catch {\n return {};\n }\n}\n\n/**\n * Creates the consolidated manage-agent-engine tool (list / set / test).\n * Let the agent inspect and configure the active LLM engine.\n */\nexport async function createAgentEngineScriptEntries(\n appId?: string,\n): Promise<Record<string, ActionEntry>> {\n try {\n const mod =\n await import(\"../../scripts/agent-engines/manage-agent-engine.js\");\n\n return {\n \"manage-agent-engine\": {\n tool: mod.tool,\n run: (args) =>\n mod.run({\n ...args,\n appId:\n typeof args.appId === \"string\" && args.appId.trim()\n ? args.appId\n : (appId ?? \"\"),\n }),\n },\n };\n } catch {\n return {};\n }\n}\n\n/**\n * Creates the manage-agent-loop-settings tool. Lets the agent inspect and\n * configure the loop step limit it may hit on long-running work.\n */\nexport async function createAgentLoopSettingsScriptEntries(): Promise<\n Record<string, ActionEntry>\n> {\n try {\n const mod = await import(\"../../scripts/manage-agent-loop-settings.js\");\n\n return {\n \"manage-agent-loop-settings\": { tool: mod.tool, run: mod.run },\n };\n } catch {\n return {};\n }\n}\n\n/**\n * Creates the call-agent ActionEntry for cross-agent A2A communication.\n * Binds selfAppId so the agent cannot call itself via call-agent.\n */\nexport async function createCallAgentScriptEntry(\n selfAppId?: string,\n): Promise<Record<string, ActionEntry>> {\n try {\n const mod = await import(\"../../scripts/call-agent.js\");\n return {\n \"call-agent\": {\n tool: mod.tool,\n run: (args, context) => mod.run(args, context, selfAppId),\n },\n };\n } catch {\n return {};\n }\n}\n"]}
1
+ {"version":3,"file":"script-entries.js","sourceRoot":"","sources":["../../../src/server/agent-chat/script-entries.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ActionEntry } from \"../../agent/production-agent.js\";\nimport type { ActionTool } from \"../../agent/types.js\";\nimport {\n renameThread,\n resolveThreadAccess,\n setThreadArchived,\n setThreadPinned,\n} from \"../../chat-threads/store.js\";\nimport type { DatabaseToolsMode } from \"../../scripts/db/tool-mode.js\";\nimport { dbExecToolParameters } from \"../../scripts/db/tool-schemas.js\";\nimport { captureCliOutput } from \"../cli-capture.js\";\nimport {\n getAmbientUserEmail,\n getRequestOrgId,\n getRequestRunContext,\n getRequestUserEmail,\n} from \"../request-context.js\";\n\n// ---------------------------------------------------------------------------\n// CLI-script-backed action entries: db-*, docs-search/source-search,\n// resources/save-memory/delete-memory, chat-history, manage-agent-engine,\n// manage-agent-loop-settings, and call-agent. Each wraps a core CLI script\n// (that writes to console.log) as an ActionEntry via `wrapCliScript`.\n// ---------------------------------------------------------------------------\n\n/**\n * Wraps a core CLI script (that writes to console.log) as a ActionEntry\n * by capturing stdout. Uses an AsyncLocalStorage-backed capture so\n * concurrent tool calls do not corrupt the global console/stdout pointers\n * (see `cli-capture.ts`).\n */\nfunction wrapCliScript(\n tool: ActionTool,\n cliDefault: (args: string[]) => Promise<void>,\n opts?: {\n allowedArgs?: readonly string[];\n readOnly?: boolean;\n },\n): ActionEntry {\n return {\n tool,\n ...(opts?.readOnly ? { readOnly: true as const } : {}),\n run: async (args: Record<string, string>): Promise<string> => {\n const cliArgs: string[] = [];\n for (const [k, v] of Object.entries(args)) {\n // MCP input schemas are descriptive and some hosts can still send\n // undeclared keys. The externally exposed DB readers must never accept\n // the CLI-only `--db` escape hatch, which could point at another local\n // SQLite file. Keep their runtime surface identical to the advertised\n // schema instead of trusting the client to validate it.\n if (opts?.allowedArgs && !opts.allowedArgs.includes(k)) {\n throw new Error(`Unknown argument: ${k}`);\n }\n const raw = v as unknown;\n const value =\n raw != null && typeof raw === \"object\"\n ? JSON.stringify(raw)\n : String(raw);\n cliArgs.push(`--${k}`, value);\n }\n return captureCliOutput(() => cliDefault(cliArgs));\n },\n };\n}\n\n/**\n * Creates db-* tools (db-query, db-exec, db-patch, db-schema) as native tools.\n * By default these let the agent inspect the app's own SQL database; raw SQL\n * writes are only exposed when the app explicitly opts into write mode.\n * Scoping to the current user/org is enforced automatically in production via\n * temp views.\n *\n * In dev mode template actions are invoked via bash and the agent can call\n * `pnpm action db-query ...` — but in production there is no bash, so these\n * must be registered as native tools for the agent to reach the app DB at all.\n */\nexport async function createDbScriptEntries(\n mode: DatabaseToolsMode = \"read\",\n options: { extensionTools?: boolean } = {},\n): Promise<Record<string, ActionEntry>> {\n try {\n if (mode === \"off\") return {};\n const extensionQueryGuidance =\n options.extensionTools === false\n ? \"Extension management tools are disabled for this app; do not query or mutate the legacy tools table as a workaround.\"\n : \"For extension management, use list-extensions, update-extension, hide-extension, or delete-extension instead of querying the legacy tools table.\";\n const [schemaMod, queryMod] = await Promise.all([\n import(\"../../scripts/db/schema.js\"),\n import(\"../../scripts/db/query.js\"),\n ]);\n const [execMod, patchMod] =\n mode === \"write\"\n ? await Promise.all([\n import(\"../../scripts/db/exec.js\"),\n import(\"../../scripts/db/patch.js\"),\n ])\n : [null, null];\n\n const entries: Record<string, ActionEntry> = {\n \"db-schema\": wrapCliScript(\n {\n description:\n \"Show the app's SQL schema — all tables, columns, types, indexes, and foreign keys. Use this to understand the data model before querying.\",\n parameters: {\n type: \"object\",\n properties: {\n format: {\n type: \"string\",\n description: 'Output format: \"json\" or \"text\" (default: text)',\n enum: [\"json\", \"text\"],\n },\n },\n },\n },\n schemaMod.default,\n {\n allowedArgs: [\"format\"],\n readOnly: true,\n },\n ),\n \"db-query\": wrapCliScript(\n {\n description: `Read from the app's own SQL database ONLY. Runs a SELECT against the app's internal tables (settings, application_state, template tables). Results are auto-scoped to the current user/org. IMPORTANT: This tool CANNOT access external data sources like data warehouses, CRMs, issue trackers, analytics platforms, calendars, mail, docs, or other third-party services. For those, use the relevant template/provider action, MCP connector, or provider-api-catalog/provider-api-docs/provider-api-request when available. If the user names a provider, that named provider wins; do not substitute a warehouse or app database copy unless they explicitly ask for it. If a table isn't in the app schema, don't try db-query — use the data-source-specific action. ${extensionQueryGuidance}`,\n parameters: {\n type: \"object\",\n properties: {\n sql: {\n type: \"string\",\n description:\n \"SELECT query to run, e.g. \\\"SELECT key, value FROM settings WHERE key LIKE 'sql-dashboard-%'\\\"\",\n },\n args: {\n type: \"string\",\n description:\n 'Optional JSON array of positional bind args for parameterized placeholders. Example: \\'[\"draft\",\"form-123\"]\\'',\n },\n format: {\n type: \"string\",\n description: 'Output format: \"json\" or \"text\" (default: text)',\n enum: [\"json\", \"text\"],\n },\n limit: {\n type: \"string\",\n description:\n \"Append LIMIT N if the query doesn't already have one\",\n },\n },\n required: [\"sql\"],\n },\n },\n queryMod.default,\n {\n allowedArgs: [\"sql\", \"args\", \"format\", \"limit\"],\n readOnly: true,\n },\n ),\n };\n\n if (execMod && patchMod) {\n entries[\"db-exec\"] = wrapCliScript(\n {\n description:\n \"Write to the app's own SQL database ONLY. Runs INSERT / UPDATE / DELETE / REPLACE against the app's internal tables. For multiple related writes, pass `statements` so they run sequentially in one transaction instead of issuing several db-exec calls. Writes are auto-scoped to the current user/org, and `owner_email` / `org_id` are auto-injected on INSERT. Schema changes (CREATE/ALTER/DROP) are blocked. Never use this to backfill missing data for a read/analysis request or to create/modify users, members, roles, permissions, admin flags, or ownership; use a dedicated app action or reviewed code. IMPORTANT: This tool CANNOT write to external data sources like BigQuery, HubSpot, etc. For external services, use the appropriate template action.\",\n parameters: dbExecToolParameters(),\n },\n execMod.default,\n );\n entries[\"db-patch\"] = wrapCliScript(\n {\n description:\n \"Surgical patch on a large text/JSON column in the app's SQL database. Two modes: (1) text find/replace via `find`/`replace`/`edits` — best for small edits to documents, slide HTML, etc. (2) structural JSON ops via `json-ops` — STRONGLY PREFERRED when the column is JSON (dashboard configs, form schemas, slide decks) because it avoids all the brace/quote/comma surgery that text find/replace requires. Use `json-ops` to set/remove values at a JSON Pointer path, or to move/insert array items — e.g. reorder dashboard panels, add a filter, rename a field. Targets exactly one row (narrow `where` by primary key). Same per-user/org scoping as db-exec.\",\n parameters: {\n type: \"object\",\n properties: {\n table: {\n type: \"string\",\n description: \"Table name (e.g. 'settings')\",\n },\n column: {\n type: \"string\",\n description:\n \"Text/JSON column to patch (e.g. 'value' for settings)\",\n },\n where: {\n type: \"string\",\n description:\n \"WHERE clause that matches exactly one row (e.g. \\\"key = 'o:org1:sql-dashboard-foo'\\\")\",\n },\n find: {\n type: \"string\",\n description:\n \"Text mode: substring to find. Must match EXACTLY ONE occurrence by default (like Claude Code's Edit tool). If 0 matches, you get 'NOT FOUND'. If >1 matches, you get surrounding context for each match — widen `find` with unique context and retry. Use `all: \\\"true\\\"` to replace every occurrence.\",\n },\n replace: {\n type: \"string\",\n description: \"Text mode: replacement substring\",\n },\n edits: {\n type: \"string\",\n description:\n 'Text mode batch: JSON array of {find, replace} pairs. Same uniqueness rule applies to each `find`. Example: \\'[{\"find\":\"a\",\"replace\":\"b\"}]\\'',\n },\n \"json-ops\": {\n type: \"string\",\n description:\n 'JSON mode: JSON array of structural ops. Each op is {op, path, value?, from?}. `op` is one of \"set\", \"remove\", \"insert\", \"move\", \"move-before\". `path` / `from` use JSON Pointer (\"/panels/3/title\"). Examples — reorder: \\'[{\"op\":\"move\",\"from\":\"/panels/7\",\"path\":\"/panels/1\"}]\\'; edit field: \\'[{\"op\":\"set\",\"path\":\"/panels/0/title\",\"value\":\"New\"}]\\'; delete filter: \\'[{\"op\":\"remove\",\"path\":\"/filters/2\"}]\\'; add panel: \\'[{\"op\":\"insert\",\"path\":\"/panels/0\",\"value\":{\"id\":\"p\",\"title\":\"...\"}}]\\'. Much safer than text find/replace for JSON columns.',\n },\n all: {\n type: \"string\",\n description:\n 'Text mode: set to \"true\" to replace every occurrence of each `find` (default requires exactly one match)',\n enum: [\"true\"],\n },\n },\n required: [\"table\", \"column\", \"where\"],\n },\n },\n patchMod.default,\n );\n }\n\n return entries;\n } catch {\n return {};\n }\n}\n\n/**\n * Creates read-only package lookup tools so agents can inspect version-matched\n * framework docs and source bundled in @agent-native/core at runtime.\n */\nexport async function createDocsScriptEntries(): Promise<\n Record<string, ActionEntry>\n> {\n const entries: Record<string, ActionEntry> = {};\n\n try {\n const mod = await import(\"../../scripts/docs/search.js\");\n entries[\"docs-search\"] = wrapCliScript(\n {\n description:\n \"Search and read agent-native framework documentation, bundled AGENTS.md, and codebase skills. Use --list to see all pages, --query to search, --slug to read a specific page. Codebase skill pages use slugs like skill-<name>.\",\n parameters: {\n type: \"object\",\n properties: {\n query: {\n type: \"string\",\n description:\n \"Search term to find relevant docs (e.g. 'actions', 'authentication', 'database')\",\n },\n slug: {\n type: \"string\",\n description:\n \"Read a specific doc page by slug (e.g. 'actions', 'authentication', 'database')\",\n },\n list: {\n type: \"string\",\n description: 'Set to \"true\" to list all available doc pages',\n enum: [\"true\"],\n },\n },\n },\n },\n mod.default,\n { readOnly: true },\n );\n } catch {\n // Keep source-search available if docs-search fails during a partial build.\n }\n\n try {\n const mod = await import(\"../../scripts/docs/source-search.js\");\n entries[\"source-search\"] = wrapCliScript(\n {\n description:\n \"Search and read the packaged Agent Native source corpus under node_modules/@agent-native/core/corpus. Use --list for sections, --query to search core/template source, and --path to read a file.\",\n parameters: {\n type: \"object\",\n properties: {\n query: {\n type: \"string\",\n description:\n \"Search term to find relevant core or template source (e.g. 'defineAction', 'useActionQuery', 'view-screen').\",\n },\n path: {\n type: \"string\",\n description:\n \"Read a specific corpus file or list a directory (e.g. 'templates/plan/AGENTS.md' or 'core/src/action.ts').\",\n },\n list: {\n type: \"string\",\n description: 'Set to \"true\" to list corpus sections',\n enum: [\"true\"],\n },\n },\n },\n },\n mod.default,\n { readOnly: true },\n );\n } catch {\n // Older package installs may not have the corpus/search script yet.\n }\n\n return entries;\n}\n\n/**\n * Creates resource ScriptEntries available in both prod and dev modes.\n */\nexport function shouldDefaultResourceWriteToWorkspace(path: string): boolean {\n const normalized = path.replace(/^\\/+/, \"\");\n return (\n normalized === \"AGENTS.md\" ||\n normalized === \"LEARNINGS.md\" ||\n normalized.startsWith(\"memory/\") ||\n normalized.startsWith(\"skills/\") ||\n normalized.startsWith(\"jobs/\") ||\n normalized.startsWith(\"agents/\") ||\n normalized.startsWith(\"remote-agents/\")\n );\n}\n\nexport async function createResourceScriptEntries(): Promise<\n Record<string, ActionEntry>\n> {\n try {\n const [list, read, effective, write, del, saveMem, delMem, store] =\n await Promise.all([\n import(\"../../scripts/resources/list.js\"),\n import(\"../../scripts/resources/read.js\"),\n import(\"../../scripts/resources/effective.js\"),\n import(\"../../scripts/resources/write.js\"),\n import(\"../../scripts/resources/delete.js\"),\n import(\"../../scripts/resources/save-memory.js\"),\n import(\"../../scripts/resources/delete-memory.js\"),\n import(\"../../resources/store.js\"),\n ]);\n\n // Wrap each CLI runner so it captures stdout and converts args properly\n const listEntry = wrapCliScript(\n {\n description: \"\",\n parameters: { type: \"object\" as const, properties: {} },\n },\n list.default,\n { readOnly: true },\n );\n const readEntry = wrapCliScript(\n {\n description: \"\",\n parameters: { type: \"object\" as const, properties: {} },\n },\n read.default,\n { readOnly: true },\n );\n const writeEntry = wrapCliScript(\n {\n description: \"\",\n parameters: { type: \"object\" as const, properties: {} },\n },\n write.default,\n );\n const effectiveEntry = wrapCliScript(\n {\n description: \"\",\n parameters: { type: \"object\" as const, properties: {} },\n },\n effective.default,\n { readOnly: true },\n );\n const deleteEntry = wrapCliScript(\n {\n description: \"\",\n parameters: { type: \"object\" as const, properties: {} },\n },\n del.default,\n );\n\n return {\n resources: {\n tool: {\n description:\n 'Manage workspace resources. Actions: \"list\" (browse visible files), \"read\" (get contents), \"effective\" (show workspace -> organization/app -> personal inheritance for a path), \"write\" (create/update personal or shared; workspace only for local file mode control files), \"promote\" (make agent scratch visible), \"delete\" (remove personal or shared; workspace only for local file mode control files). Agent scratch writes are hidden from the Workspace view by default; use visibility=\"workspace\" only for files the user explicitly wants to keep/manage.',\n parameters: {\n type: \"object\",\n properties: {\n action: {\n type: \"string\",\n description: \"The operation to perform\",\n enum: [\n \"list\",\n \"read\",\n \"effective\",\n \"write\",\n \"promote\",\n \"delete\",\n ],\n },\n path: {\n type: \"string\",\n description:\n \"Resource path (e.g. 'LEARNINGS.md', 'notes/ideas.md'). Required for read/write/delete.\",\n },\n content: {\n type: \"string\",\n description: \"Content to write. Required for write.\",\n },\n scope: {\n type: \"string\",\n description:\n \"personal, shared, workspace, or all (default varies by action). Workspace is read-only when inherited from Dispatch; in local file mode AGENTS.md, agent-native.json, mcp.config.json, .mcp.json, and skills/ are writable.\",\n enum: [\"personal\", \"shared\", \"workspace\", \"all\"],\n },\n prefix: {\n type: \"string\",\n description:\n \"Filter by path prefix when listing (e.g. 'notes/')\",\n },\n mime: {\n type: \"string\",\n description:\n \"MIME type for write (default: inferred from extension)\",\n },\n format: {\n type: \"string\",\n description:\n 'Output format for list: \"json\" or \"text\" (default: text)',\n enum: [\"json\", \"text\"],\n },\n visibility: {\n type: \"string\",\n description:\n 'Visibility for write: \"agent_scratch\" for internal working files, \"workspace\" for user-requested files. Defaults to agent_scratch except durable instruction/skill/job/memory paths.',\n enum: [\"workspace\", \"agent_scratch\"],\n },\n includeAgentScratch: {\n type: \"boolean\",\n description: \"Include hidden agent scratch files when listing.\",\n },\n },\n required: [\"action\"],\n },\n },\n run: async (args: Record<string, string>) => {\n const { action: a, ...rest } = args;\n if (a === \"list\") return listEntry.run(rest);\n if (a === \"read\") {\n if (!rest.path) return \"Error: path is required for read\";\n return readEntry.run(rest);\n }\n if (a === \"effective\") {\n if (!rest.path) return \"Error: path is required for effective\";\n return effectiveEntry.run(rest);\n }\n if (a === \"write\") {\n if (\n !rest.path ||\n rest.content === undefined ||\n rest.content === null\n )\n return \"Error: path and content are required for write\";\n rest.createdBy = \"agent\";\n rest.visibility =\n rest.visibility ??\n (shouldDefaultResourceWriteToWorkspace(String(rest.path))\n ? \"workspace\"\n : \"agent_scratch\");\n const runCtx = getRequestRunContext();\n if (runCtx?.threadId) rest.threadId = runCtx.threadId;\n return writeEntry.run(rest);\n }\n if (a === \"promote\") {\n if (!rest.path) return \"Error: path is required for promote\";\n const scope = rest.scope ?? \"personal\";\n if (scope === \"workspace\" || scope === \"all\") {\n return \"Error: promote supports personal or shared scope only\";\n }\n const owner =\n scope === \"shared\"\n ? store.sharedResourceOwner(getRequestOrgId())\n : (getRequestRunContext()?.owner ??\n getRequestUserEmail() ??\n getAmbientUserEmail());\n if (!owner) {\n return \"Error: promote requires an authenticated user\";\n }\n const resource = await store.resourceGetByPath(\n owner,\n String(rest.path),\n );\n if (!resource) {\n return `Resource not found: ${rest.path}`;\n }\n const promoted = await store.resourcePut(\n owner,\n resource.path,\n resource.content,\n resource.mimeType,\n {\n createdBy: resource.createdBy,\n visibility: \"workspace\",\n threadId: resource.threadId,\n runId: resource.runId,\n expiresAt: null,\n metadata: resource.metadata,\n },\n );\n return `Promoted resource: ${promoted.path}`;\n }\n if (a === \"delete\") {\n if (!rest.path) return \"Error: path is required for delete\";\n return deleteEntry.run(rest);\n }\n return `Error: unknown action \"${a}\". Use: list, read, write, promote, delete`;\n },\n },\n \"save-memory\": wrapCliScript(\n {\n description:\n \"Save a memory for future conversations. Creates or updates a memory file and its index entry. Use proactively when you learn preferences, corrections, project context, or references.\",\n parameters: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n description:\n \"Short kebab-case identifier (e.g. 'coding-style', 'deploy-process'). Used as the filename.\",\n },\n type: {\n type: \"string\",\n description: \"Memory category\",\n enum: [\"user\", \"feedback\", \"project\", \"reference\"],\n },\n description: {\n type: \"string\",\n description:\n \"One-line summary shown in the memory index (keep under 80 chars)\",\n },\n content: {\n type: \"string\",\n description:\n \"The memory content in markdown. For updates, read first and provide full updated content.\",\n },\n },\n required: [\"name\", \"type\", \"description\", \"content\"],\n },\n },\n saveMem.default,\n ),\n \"delete-memory\": wrapCliScript(\n {\n description:\n \"Delete a memory entry and remove it from the memory index.\",\n parameters: {\n type: \"object\",\n properties: {\n name: {\n type: \"string\",\n description: \"The memory name to delete (e.g. 'coding-style')\",\n },\n },\n required: [\"name\"],\n },\n },\n delMem.default,\n ),\n };\n } catch {\n // Resources not available — skip silently\n return {};\n }\n}\n\n/**\n * Creates a unified chat-history ActionEntry that dispatches to search, open,\n * rename, or lightweight organization actions.\n */\nexport async function createChatScriptEntries(): Promise<\n Record<string, ActionEntry>\n> {\n try {\n const [searchMod, openMod] = await Promise.all([\n import(\"../../scripts/chat/search-chats.js\"),\n import(\"../../scripts/chat/open-chat.js\"),\n ]);\n\n const searchEntry = wrapCliScript(\n {\n description: \"Search or list past agent chat threads.\",\n parameters: {\n type: \"object\",\n properties: {\n query: {\n type: \"string\",\n description:\n \"Search term to find chats by title, preview, or content\",\n },\n limit: {\n type: \"string\",\n description: \"Max number of results (default: 20)\",\n },\n format: {\n type: \"string\",\n description: \"Output format\",\n enum: [\"json\", \"text\"],\n },\n includeArchived: {\n type: \"boolean\",\n description:\n \"Also include archived chats in the results. Archived chats are excluded by default.\",\n },\n },\n },\n },\n searchMod.default,\n );\n\n const openEntry = wrapCliScript(\n {\n description: \"Open a chat thread in the UI.\",\n parameters: {\n type: \"object\",\n properties: {\n id: {\n type: \"string\",\n description: \"The chat thread ID to open\",\n },\n },\n required: [\"id\"],\n },\n },\n openMod.default,\n );\n\n return {\n \"chat-history\": {\n tool: {\n description:\n \"Manage past agent chat threads. Use action 'search' to find previous conversations by keyword, 'open' to open a thread in the UI, or 'rename'/'pin'/'unpin'/'archive' to organize history.\",\n parameters: {\n type: \"object\",\n properties: {\n action: {\n type: \"string\",\n description: \"The operation to perform\",\n enum: [\"search\", \"open\", \"rename\", \"pin\", \"unpin\", \"archive\"],\n },\n query: {\n type: \"string\",\n description:\n \"(search) Search term to find chats by title, preview, or content\",\n },\n limit: {\n type: \"string\",\n description: \"(search) Max number of results (default: 20)\",\n },\n format: {\n type: \"string\",\n description: \"(search) Output format\",\n enum: [\"json\", \"text\"],\n },\n includeArchived: {\n type: \"boolean\",\n description:\n \"(search) Also include archived chats in the results. Archived chats are excluded by default, matching the 'archive' action's effect on the chat list.\",\n },\n id: {\n type: \"string\",\n description:\n \"(open, rename, pin, unpin, archive) The chat thread ID to manage\",\n },\n title: {\n type: \"string\",\n description: \"(rename) New chat title\",\n },\n },\n required: [\"action\"],\n },\n },\n run: async (args) => {\n if (args?.action === \"open\") {\n return openEntry.run(args);\n }\n if (\n args?.action === \"rename\" ||\n args?.action === \"pin\" ||\n args?.action === \"unpin\" ||\n args?.action === \"archive\"\n ) {\n const id = typeof args?.id === \"string\" ? args.id : \"\";\n if (!id) return \"Missing required id.\";\n const owner =\n getRequestRunContext()?.owner ?? getRequestUserEmail() ?? \"\";\n if (!owner) return \"No authenticated user is available.\";\n const thread = await resolveThreadAccess(owner, id, \"editor\", {\n orgId: getRequestOrgId(),\n });\n if (!thread) {\n return `Chat thread \"${id}\" not found.`;\n }\n const title = thread.title || thread.preview || \"(untitled)\";\n if (args.action === \"rename\") {\n const nextTitle =\n typeof args?.title === \"string\"\n ? args.title.replace(/\\s+/g, \" \").trim().slice(0, 160)\n : \"\";\n if (!nextTitle) return \"Missing required title.\";\n const renamed = await renameThread(id, nextTitle);\n if (!renamed) return `Chat thread \"${id}\" could not be renamed.`;\n return `Renamed chat \"${title}\" to \"${nextTitle}\".`;\n }\n if (args.action === \"archive\") {\n const archived = await setThreadArchived(id, true);\n if (!archived)\n return `Chat thread \"${id}\" could not be archived.`;\n return `Archived chat: ${title}`;\n }\n const pinned = await setThreadPinned(id, args.action === \"pin\");\n if (!pinned) return `Chat thread \"${id}\" could not be updated.`;\n return `${args.action === \"pin\" ? \"Pinned\" : \"Unpinned\"} chat: ${title}`;\n }\n return searchEntry.run(args);\n },\n },\n };\n } catch {\n return {};\n }\n}\n\n/**\n * Creates the consolidated manage-agent-engine tool (list / set / test).\n * Let the agent inspect and configure the active LLM engine.\n */\nexport async function createAgentEngineScriptEntries(\n appId?: string,\n): Promise<Record<string, ActionEntry>> {\n try {\n const mod =\n await import(\"../../scripts/agent-engines/manage-agent-engine.js\");\n\n return {\n \"manage-agent-engine\": {\n tool: mod.tool,\n run: (args) =>\n mod.run({\n ...args,\n appId:\n typeof args.appId === \"string\" && args.appId.trim()\n ? args.appId\n : (appId ?? \"\"),\n }),\n },\n };\n } catch {\n return {};\n }\n}\n\n/**\n * Creates the manage-agent-loop-settings tool. Lets the agent inspect and\n * configure the loop step limit it may hit on long-running work.\n */\nexport async function createAgentLoopSettingsScriptEntries(): Promise<\n Record<string, ActionEntry>\n> {\n try {\n const mod = await import(\"../../scripts/manage-agent-loop-settings.js\");\n\n return {\n \"manage-agent-loop-settings\": { tool: mod.tool, run: mod.run },\n };\n } catch {\n return {};\n }\n}\n\n/**\n * Creates the call-agent ActionEntry for cross-agent A2A communication.\n * Binds selfAppId so the agent cannot call itself via call-agent.\n */\nexport async function createCallAgentScriptEntry(\n selfAppId?: string,\n): Promise<Record<string, ActionEntry>> {\n const entries: Record<string, ActionEntry> = {};\n\n try {\n const mod = await import(\"../../scripts/call-agent.js\");\n entries[\"call-agent\"] = {\n tool: mod.tool,\n run: (args, context) => mod.run(args, context, selfAppId),\n };\n } catch {\n // A missing built-in leaves the rest of the toolset usable.\n }\n\n try {\n const mod = await import(\"../../scripts/describe-workspace-apps.js\");\n entries[\"describe-workspace-apps\"] = {\n tool: mod.tool,\n run: (args, context) => mod.run(args, context, selfAppId),\n };\n } catch {\n // A missing built-in leaves the rest of the toolset usable.\n }\n\n return entries;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-chat-plugin.d.ts","sourceRoot":"","sources":["../../src/server/agent-chat-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-chat-plugin.d.ts","sourceRoot":"","sources":["../../src/server/agent-chat-plugin.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ import { canUpdateAgentAppModelDefaultSettings, normalizeAgentAppModelDefaultApp
11
11
  import { DEFAULT_ANTHROPIC_MODEL } from "../agent/default-model.js";
12
12
  import { AGENT_CHAT_BACKGROUND_RUN_FIELD, AGENT_CHAT_PROCESS_RUN_PATH, backgroundRunMarkerExpectsBackgroundRuntime, isInBackgroundFunctionRuntime, prepareProcessRunRequest, } from "../agent/durable-background.js";
13
13
  import { resolveEngine, createAnthropicEngine, getStoredModelForEngine, normalizeModelForEngine, getAgentEngineEntry, isAgentEnginePackageInstalled, isStoredEngineUsableForRequest, listAgentEngines, registerBuiltinEngines, } from "../agent/engine/index.js";
14
+ import { SYSTEM_PROMPT_CACHE_SPLIT } from "../agent/engine/prompt-cache.js";
14
15
  import { createProductionAgentHandler, actionsToEngineTools, executeAgentToolCall, toolCallCacheKey, getActiveRunForThreadAsync, abortRunDurably, subscribeToRun, } from "../agent/production-agent.js";
15
16
  import { callerHasRunAccess, callerHasThreadAccess, } from "../agent/run-ownership.js";
16
17
  import { markTurnAborted, readBackgroundRunClaim } from "../agent/run-store.js";
@@ -1195,12 +1196,14 @@ export function createAgentChatPlugin(options) {
1195
1196
  const runtimeContext = runtimeContextForEvent(context.event);
1196
1197
  const systemPrompt = devActive
1197
1198
  ? devPrompt +
1199
+ SYSTEM_PROMPT_CACHE_SPLIT +
1198
1200
  resources +
1199
1201
  schemaBlock +
1200
1202
  extra +
1201
1203
  modelOverlay +
1202
1204
  runtimeContext
1203
1205
  : basePrompt +
1206
+ SYSTEM_PROMPT_CACHE_SPLIT +
1204
1207
  resources +
1205
1208
  schemaBlock +
1206
1209
  extra +
@@ -1370,6 +1373,10 @@ export function createAgentChatPlugin(options) {
1370
1373
  finalResponseGuard: options?.finalResponseGuard,
1371
1374
  runSoftTimeoutMs: options?.runSoftTimeoutMs,
1372
1375
  }, {
1376
+ // Without the hosted default an app that never sets
1377
+ // `runSoftTimeoutMs` resolves to 0 and the wrapper degrades to a
1378
+ // bare `runAgentLoop` — no resume at all on a delegated turn.
1379
+ useHostedDefault: true,
1373
1380
  backgroundFunction: options?.durableBackgroundRuns === true &&
1374
1381
  isInBackgroundFunctionRuntime(),
1375
1382
  }, {
@@ -1601,10 +1608,12 @@ export function createAgentChatPlugin(options) {
1601
1608
  // this plugin (A2A above, prod/anonymous/dev handlers below).
1602
1609
  const systemPrompt = devActiveMcp
1603
1610
  ? mcpDevPrompt +
1611
+ SYSTEM_PROMPT_CACHE_SPLIT +
1604
1612
  resources +
1605
1613
  schemaBlock +
1606
1614
  buildRuntimeContextPrompt()
1607
1615
  : basePrompt +
1616
+ SYSTEM_PROMPT_CACHE_SPLIT +
1608
1617
  resources +
1609
1618
  schemaBlock +
1610
1619
  buildRuntimeContextPrompt();
@@ -1646,6 +1655,9 @@ export function createAgentChatPlugin(options) {
1646
1655
  finalResponseGuard: options?.finalResponseGuard,
1647
1656
  runSoftTimeoutMs: options?.runSoftTimeoutMs,
1648
1657
  }, {
1658
+ // Same as the A2A call site: without this a hosted app that
1659
+ // never configured `runSoftTimeoutMs` gets no resume at all.
1660
+ useHostedDefault: true,
1649
1661
  backgroundFunction: options?.durableBackgroundRuns === true &&
1650
1662
  isInBackgroundFunctionRuntime(),
1651
1663
  }, {
@@ -2314,6 +2326,8 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
2314
2326
  // less-stable content would still invalidate the cached prefix for
2315
2327
  // everything that follows it — putting it last means a day
2316
2328
  // rollover invalidates as little of the prefix as possible.
2329
+ // `SYSTEM_PROMPT_CACHE_SPLIT` marks where the cacheable prefix ends,
2330
+ // so everything after it can change without a cache write.
2317
2331
  if (leanPrompt) {
2318
2332
  const leanRunPolicyPrompt = buildLeanRunPolicyPrompt(codeEditingSurfaceRestriction, prodCodeExecPromptNote);
2319
2333
  await emitContextXraySystemSections(event, {
@@ -2326,6 +2340,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
2326
2340
  });
2327
2341
  return setSystemPromptOnContext(leanBasePrompt +
2328
2342
  leanRunPolicyPrompt +
2343
+ SYSTEM_PROMPT_CACHE_SPLIT +
2329
2344
  extra +
2330
2345
  modelOverlay +
2331
2346
  runtimeContext);
@@ -2347,6 +2362,7 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
2347
2362
  additionalFramework: codeEditingSurfaceRestriction + prodCodeExecPromptNote,
2348
2363
  });
2349
2364
  return setSystemPromptOnContext(basePrompt +
2365
+ SYSTEM_PROMPT_CACHE_SPLIT +
2350
2366
  resources +
2351
2367
  schemaBlock +
2352
2368
  codeEditingSurfaceRestriction +
@@ -4681,7 +4697,17 @@ Non-code requests are still fine on this surface: read data, navigate the UI, su
4681
4697
  const { UNCLAIMED_BACKGROUND_RUN_FAST_SWEEP_MS } = await import("../agent/run-store.js");
4682
4698
  setInterval(() => {
4683
4699
  (async () => {
4684
- const { listUnclaimedBackgroundRunRows, shouldRedispatchUnclaimedBackgroundRun, } = await import("../agent/run-store.js");
4700
+ const { listUnclaimedBackgroundRunRows, shouldRedispatchUnclaimedBackgroundRun, reapAllStaleRuns, } = await import("../agent/run-store.js");
4701
+ // The unclaimed-background sweep below only matches
4702
+ // dispatch_mode='background' — handoffs a worker never
4703
+ // claimed. Once a worker CLAIMS a row nothing periodic looked
4704
+ // at it again, so a dead producer was only reaped when some
4705
+ // client request path or an unrelated run's cleanup happened
4706
+ // to notice (prod: 24 minutes after the last heartbeat,
4707
+ // against a 45s window). `reapAllStaleRuns` is per-row,
4708
+ // idempotent, re-checks staleness at UPDATE time and honours
4709
+ // the in-flight grace, so it is safe on this cadence.
4710
+ await reapAllStaleRuns().catch(() => { });
4685
4711
  let rows;
4686
4712
  try {
4687
4713
  rows = await listUnclaimedBackgroundRunRows();