@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
@@ -20,7 +20,8 @@
20
20
 
21
21
  import { createHash } from "node:crypto";
22
22
 
23
- import { isLocalDatabase } from "../db/client.js";
23
+ import { CREDENTIAL_STORE_UNAVAILABLE_ERROR_CODE } from "../agent/engine/credential-errors.js";
24
+ import { isLocalDatabase, isTransientDatabaseError } from "../db/client.js";
24
25
  import { getRequestUserEmail, getRequestOrgId } from "./request-context.js";
25
26
 
26
27
  /**
@@ -65,6 +66,38 @@ export class FeatureNotConfiguredError extends Error {
65
66
  }
66
67
  }
67
68
 
69
+ /**
70
+ * The credential store could not be read — which is NOT the same as the
71
+ * credential being absent. Never render this as "not configured": the user has
72
+ * nothing to configure, they have something to retry.
73
+ */
74
+ export class CredentialStoreUnavailableError extends Error {
75
+ readonly errorCode = CREDENTIAL_STORE_UNAVAILABLE_ERROR_CODE;
76
+ readonly retryable = true;
77
+
78
+ constructor(cause?: unknown) {
79
+ super(
80
+ "Could not read your saved connections — the app database did not answer. This is temporary; try again in a moment.",
81
+ { cause },
82
+ );
83
+ this.name = "CredentialStoreUnavailableError";
84
+ }
85
+ }
86
+
87
+ /**
88
+ * The one place that decides when an unanswered credential lookup becomes a
89
+ * user-visible retryable error. A store that is not configured at all is a real
90
+ * "no credential"; a store that timed out or dropped the connection is not.
91
+ */
92
+ export function assertCredentialStoreReadable(result: {
93
+ lookupFailed: boolean;
94
+ cause?: unknown;
95
+ }): void {
96
+ if (result.lookupFailed && isTransientDatabaseError(result.cause)) {
97
+ throw new CredentialStoreUnavailableError(result.cause);
98
+ }
99
+ }
100
+
68
101
  /**
69
102
  * Deployment-level credential fallback for single-tenant/local operation.
70
103
  * Multi-tenant call sites must gate this explicitly before calling.
@@ -296,25 +329,46 @@ async function readBuilderCredentialScope(
296
329
  */
297
330
  async function resolveOrgIdForRequestEmail(
298
331
  email: string,
299
- ): Promise<string | null> {
332
+ ): Promise<{ orgId: string | null; cause?: unknown }> {
300
333
  try {
301
334
  const { resolveOrgIdForEmail } = await import("../org/context.js");
302
- return await resolveOrgIdForEmail(email);
303
- } catch {
304
- return null;
335
+ return { orgId: await resolveOrgIdForEmail(email) };
336
+ } catch (err) {
337
+ // Could not read org membership, so org- and workspace-scoped rows were
338
+ // never searched. Report the failure instead of the empty answer.
339
+ return { orgId: null, cause: err };
305
340
  }
306
341
  }
307
342
 
343
+ interface ScopedCredentialResult {
344
+ value: string | null;
345
+ source: "user" | "org" | "workspace" | null;
346
+ /** The failure, when there was one, so callers can classify it. */
347
+ cause?: unknown;
348
+ /**
349
+ * True when reading the store (or the org membership that decides which
350
+ * scopes to search) failed, as opposed to the store answering "no row".
351
+ */
352
+ lookupFailed: boolean;
353
+ }
354
+
355
+ const NOT_FOUND: ScopedCredentialResult = {
356
+ value: null,
357
+ source: null,
358
+ lookupFailed: false,
359
+ };
360
+
308
361
  async function resolveScopedBuilderCredential(
309
362
  key: string,
310
- ): Promise<{ value: string; source: "user" | "org" | "workspace" } | null> {
363
+ ): Promise<ScopedCredentialResult> {
311
364
  const email = getRequestUserEmail();
312
- if (!email) return null;
365
+ if (!email) return NOT_FOUND;
313
366
 
314
367
  // Trace only when explicitly requested. These diagnostics are useful for
315
368
  // support, but they include account identifiers and run on hot paths.
316
369
  const traceLookup = shouldTraceCredentialResolve();
317
370
  let scopeAttempted = "user";
371
+ let orgLookupCause: unknown;
318
372
  try {
319
373
  const { readAppSecret } = await import("../secrets/storage.js");
320
374
 
@@ -331,7 +385,7 @@ async function resolveScopedBuilderCredential(
331
385
  `[builder-credential] key=${key} email=${email} scope=user hit=true`,
332
386
  );
333
387
  }
334
- return { value: userSecret.value, source: "user" };
388
+ return { value: userSecret.value, source: "user", lookupFailed: false };
335
389
  }
336
390
 
337
391
  let orgId: string | null | undefined = getRequestOrgId();
@@ -339,7 +393,9 @@ async function resolveScopedBuilderCredential(
339
393
  ? "request"
340
394
  : "none";
341
395
  if (!orgId) {
342
- orgId = await resolveOrgIdForRequestEmail(email);
396
+ const resolved = await resolveOrgIdForRequestEmail(email);
397
+ orgLookupCause = resolved.cause;
398
+ orgId = resolved.orgId;
343
399
  if (orgId) orgSource = "email-fallback";
344
400
  }
345
401
 
@@ -361,7 +417,7 @@ async function resolveScopedBuilderCredential(
361
417
  `[builder-credential] key=${key} email=${email} orgId=${orgId} orgSource=${orgSource} scope=org hit=true`,
362
418
  );
363
419
  }
364
- return { value: orgSecret.value, source: "org" };
420
+ return { value: orgSecret.value, source: "org", lookupFailed: false };
365
421
  }
366
422
 
367
423
  // Older setup flows wrote shared credentials at workspace scope.
@@ -379,7 +435,11 @@ async function resolveScopedBuilderCredential(
379
435
  `[builder-credential] key=${key} email=${email} orgId=${orgId} orgSource=${orgSource} scope=workspace hit=true`,
380
436
  );
381
437
  }
382
- return { value: workspaceSecret.value, source: "workspace" };
438
+ return {
439
+ value: workspaceSecret.value,
440
+ source: "workspace",
441
+ lookupFailed: false,
442
+ };
383
443
  }
384
444
  if (traceLookup) {
385
445
  console.log(
@@ -388,6 +448,18 @@ async function resolveScopedBuilderCredential(
388
448
  }
389
449
  }
390
450
 
451
+ // Membership lookup failure means the org scopes were never searched.
452
+ // Do not let a pre-org solo row silently impersonate the current org while
453
+ // the membership read is retryable.
454
+ if (orgLookupCause !== undefined) {
455
+ return {
456
+ value: null,
457
+ source: null,
458
+ lookupFailed: true,
459
+ cause: orgLookupCause,
460
+ };
461
+ }
462
+
391
463
  // 3. Solo-workspace fallback: always checked, even when an org id was
392
464
  // found above. Older no-org connect flows wrote here, so a credential
393
465
  // written before the user joined/created an org must not become
@@ -404,7 +476,11 @@ async function resolveScopedBuilderCredential(
404
476
  `[builder-credential] key=${key} email=${email} orgId=${orgId ?? "(none)"} orgSource=${orgSource} scope=workspace-solo hit=true`,
405
477
  );
406
478
  }
407
- return { value: soloWorkspaceSecret.value, source: "workspace" };
479
+ return {
480
+ value: soloWorkspaceSecret.value,
481
+ source: "workspace",
482
+ lookupFailed: false,
483
+ };
408
484
  }
409
485
  if (traceLookup) {
410
486
  console.log(
@@ -417,13 +493,20 @@ async function resolveScopedBuilderCredential(
417
493
  `[builder-credential] key=${key} email=${email} scope=${scopeAttempted} error=${(err as Error)?.message ?? err}`,
418
494
  );
419
495
  }
420
- // Secrets table not ready treat as missing.
496
+ return { value: null, source: null, lookupFailed: true, cause: err };
421
497
  }
422
- return null;
498
+ return {
499
+ value: null,
500
+ source: null,
501
+ lookupFailed: orgLookupCause !== undefined,
502
+ cause: orgLookupCause,
503
+ };
423
504
  }
424
505
 
425
506
  interface ScopedBuilderCredentialsResult {
426
507
  creds: BuilderResolvedCredentials | null;
508
+ /** The failure, when there was one, so callers can classify it. */
509
+ cause?: unknown;
427
510
  /**
428
511
  * True when reading the credential store itself threw (db timeout, etc),
429
512
  * as opposed to the store answering cleanly with "no row". Callers must
@@ -438,6 +521,7 @@ async function resolveScopedBuilderCredentials(): Promise<ScopedBuilderCredentia
438
521
 
439
522
  const traceLookup = shouldTraceCredentialResolve();
440
523
  let scopeAttempted = "user";
524
+ let orgLookupCause: unknown;
441
525
  try {
442
526
  const { readAppSecrets } = await import("../secrets/storage.js");
443
527
  const traceScope = (
@@ -466,7 +550,9 @@ async function resolveScopedBuilderCredentials(): Promise<ScopedBuilderCredentia
466
550
  ? "request"
467
551
  : "none";
468
552
  if (!orgId) {
469
- orgId = await resolveOrgIdForRequestEmail(email);
553
+ const resolved = await resolveOrgIdForRequestEmail(email);
554
+ orgLookupCause = resolved.cause;
555
+ orgId = resolved.orgId;
470
556
  if (orgId) orgSource = "email-fallback";
471
557
  }
472
558
 
@@ -494,6 +580,10 @@ async function resolveScopedBuilderCredentials(): Promise<ScopedBuilderCredentia
494
580
  }
495
581
  }
496
582
 
583
+ if (orgLookupCause !== undefined) {
584
+ return { creds: null, lookupFailed: true, cause: orgLookupCause };
585
+ }
586
+
497
587
  // Solo-workspace fallback: always checked, even when an org id was found
498
588
  // above. See resolveScopedBuilderCredential for why this must not be
499
589
  // gated behind "no org".
@@ -518,9 +608,13 @@ async function resolveScopedBuilderCredentials(): Promise<ScopedBuilderCredentia
518
608
  `[builder-credential] email=${email} scope=${scopeAttempted} credentials error=${(err as Error)?.message ?? err}`,
519
609
  );
520
610
  }
521
- return { creds: null, lookupFailed: true };
611
+ return { creds: null, lookupFailed: true, cause: err };
522
612
  }
523
- return { creds: null, lookupFailed: false };
613
+ return {
614
+ creds: null,
615
+ lookupFailed: orgLookupCause !== undefined,
616
+ cause: orgLookupCause,
617
+ };
524
618
  }
525
619
 
526
620
  /**
@@ -533,9 +627,15 @@ export async function resolveBuilderCredential(
533
627
  key: string,
534
628
  ): Promise<string | null> {
535
629
  const scoped = await resolveScopedBuilderCredential(key);
536
- if (scoped) return scoped.value;
537
- if (!canUseBuilderDeployCredentialFallbackForRequest()) return null;
538
- return readDeployCredentialEnv(key) ?? null;
630
+ if (scoped.value) return scoped.value;
631
+ const envValue = canUseBuilderDeployCredentialFallbackForRequest()
632
+ ? (readDeployCredentialEnv(key) ?? null)
633
+ : null;
634
+ if (envValue) return envValue;
635
+ // Nothing answered AND the store never gave a real answer: that is not
636
+ // "not connected", it is "we could not look".
637
+ assertCredentialStoreReadable(scoped);
638
+ return null;
539
639
  }
540
640
 
541
641
  /**
@@ -608,6 +708,8 @@ export interface BuilderCredentialsDetailed {
608
708
  * Callers must report this as retryable rather than "not configured".
609
709
  */
610
710
  lookupFailed: boolean;
711
+ /** The failure, when there was one, so callers can classify it. */
712
+ cause?: unknown;
611
713
  }
612
714
 
613
715
  /**
@@ -620,8 +722,11 @@ export interface BuilderCredentialsDetailed {
620
722
  * should use `resolveBuilderCredentials()` instead.
621
723
  */
622
724
  export async function resolveBuilderCredentialsDetailed(): Promise<BuilderCredentialsDetailed> {
623
- const { creds: scoped, lookupFailed } =
624
- await resolveScopedBuilderCredentials();
725
+ const {
726
+ creds: scoped,
727
+ lookupFailed,
728
+ cause,
729
+ } = await resolveScopedBuilderCredentials();
625
730
  if (scoped) {
626
731
  const {
627
732
  privateKey,
@@ -699,6 +804,7 @@ export async function resolveBuilderCredentialsDetailed(): Promise<BuilderCreden
699
804
  isFreeAccount,
700
805
  source: canUseEnv && privateKey ? "env" : null,
701
806
  lookupFailed,
807
+ cause,
702
808
  };
703
809
  }
704
810
 
@@ -1172,12 +1278,32 @@ export async function deleteBuilderCredentials(
1172
1278
 
1173
1279
  /**
1174
1280
  * Resolve a request-scoped secret. Reads from `app_secrets` first (current
1175
- * user override, active org, then workspace row); falls back to `process.env`
1176
- * only when the deploy fallback policy allows it.
1281
+ * user override, active org, workspace row for that org, then the solo
1282
+ * workspace row); falls back to `process.env` only when the deploy fallback
1283
+ * policy allows it.
1177
1284
  */
1178
1285
  export async function resolveSecret(key: string): Promise<string | null> {
1286
+ const resolved = await resolveSecretDetailed(key);
1287
+ if (resolved.value) return resolved.value;
1288
+ // Nothing answered AND the store never gave a real answer. Reporting null
1289
+ // here is what turns a database blip into "you never configured this".
1290
+ assertCredentialStoreReadable(resolved);
1291
+ return null;
1292
+ }
1293
+
1294
+ /**
1295
+ * `resolveSecret` without the throw: reports whether the miss is definitive
1296
+ * (`lookupFailed: false` — no such row anywhere the caller can reach) or just
1297
+ * unknown (`lookupFailed: true` — the store or the org membership behind it
1298
+ * could not be read).
1299
+ */
1300
+ export async function resolveSecretDetailed(
1301
+ key: string,
1302
+ ): Promise<{ value: string | null; lookupFailed: boolean; cause?: unknown }> {
1179
1303
  const traceLookup = shouldTraceCredentialResolve();
1180
1304
  const email = getRequestUserEmail();
1305
+ let lookupFailed = false;
1306
+ let cause: unknown;
1181
1307
  if (email) {
1182
1308
  try {
1183
1309
  const { readAppSecret } = await import("../secrets/storage.js");
@@ -1193,10 +1319,20 @@ export async function resolveSecret(key: string): Promise<string | null> {
1193
1319
  `[resolve-secret] key=${key} email=${email} scope=user hit=true`,
1194
1320
  );
1195
1321
  }
1196
- return userSecret.value;
1322
+ return { value: userSecret.value, lookupFailed: false };
1323
+ }
1324
+
1325
+ // Mirrors resolveScopedBuilderCredential: a transient org_members read
1326
+ // failure makes getOrgContext report no org, which would otherwise hide
1327
+ // an org-scoped vault row behind an intermittent "not configured" error.
1328
+ let orgId: string | null | undefined = getRequestOrgId();
1329
+ if (!orgId) {
1330
+ const resolved = await resolveOrgIdForRequestEmail(email);
1331
+ cause = resolved.cause;
1332
+ lookupFailed = cause !== undefined;
1333
+ orgId = resolved.orgId;
1197
1334
  }
1198
1335
 
1199
- const orgId = getRequestOrgId();
1200
1336
  if (orgId) {
1201
1337
  // Fall back to the active org's shared row, when present. Builder
1202
1338
  // Connect uses this first-class org scope.
@@ -1211,7 +1347,7 @@ export async function resolveSecret(key: string): Promise<string | null> {
1211
1347
  `[resolve-secret] key=${key} email=${email} orgId=${orgId} scope=org hit=true`,
1212
1348
  );
1213
1349
  }
1214
- return orgSecret.value;
1350
+ return { value: orgSecret.value, lookupFailed: false };
1215
1351
  }
1216
1352
 
1217
1353
  // Registered secrets historically used "workspace" scope for
@@ -1228,22 +1364,31 @@ export async function resolveSecret(key: string): Promise<string | null> {
1228
1364
  `[resolve-secret] key=${key} email=${email} orgId=${orgId} scope=workspace hit=true`,
1229
1365
  );
1230
1366
  }
1231
- return workspaceSecret.value;
1367
+ return { value: workspaceSecret.value, lookupFailed: false };
1232
1368
  }
1233
- } else {
1234
- const soloWorkspaceSecret = await readAppSecret({
1235
- key,
1236
- scope: "workspace",
1237
- scopeId: `solo:${email}`,
1238
- });
1239
- if (soloWorkspaceSecret?.value) {
1240
- if (traceLookup) {
1241
- console.log(
1242
- `[resolve-secret] key=${key} email=${email} scope=workspace-solo hit=true`,
1243
- );
1244
- }
1245
- return soloWorkspaceSecret.value;
1369
+ }
1370
+
1371
+ if (lookupFailed) {
1372
+ return { value: null, lookupFailed: true, cause };
1373
+ }
1374
+
1375
+ // Solo-workspace fallback: always checked, even when an org id was found
1376
+ // above. A secret written before the user joined/created an org lives
1377
+ // here, and must not become unreachable once that org exists. It stays
1378
+ // inside this try so a failed org-scoped read still surfaces as
1379
+ // retryable instead of being answered by a stale pre-org row.
1380
+ const soloWorkspaceSecret = await readAppSecret({
1381
+ key,
1382
+ scope: "workspace",
1383
+ scopeId: `solo:${email}`,
1384
+ });
1385
+ if (soloWorkspaceSecret?.value) {
1386
+ if (traceLookup) {
1387
+ console.log(
1388
+ `[resolve-secret] key=${key} email=${email} orgId=${orgId ?? "(none)"} scope=workspace-solo hit=true`,
1389
+ );
1246
1390
  }
1391
+ return { value: soloWorkspaceSecret.value, lookupFailed: false };
1247
1392
  }
1248
1393
  } catch (err) {
1249
1394
  if (traceLookup) {
@@ -1251,7 +1396,10 @@ export async function resolveSecret(key: string): Promise<string | null> {
1251
1396
  `[resolve-secret] key=${key} email=${email} scope=error err=${(err as Error)?.message ?? err}`,
1252
1397
  );
1253
1398
  }
1254
- // Secrets table not ready treat as missing.
1399
+ // Keep looking (env may still have the key), but remember that the store
1400
+ // never actually answered "no row".
1401
+ lookupFailed = true;
1402
+ cause = err;
1255
1403
  }
1256
1404
  // Read deployment-provided env values as fallbacks; framework code must not
1257
1405
  // write to `process.env`, but keys supplied by the host remain valid config.
@@ -1269,7 +1417,11 @@ export async function resolveSecret(key: string): Promise<string | null> {
1269
1417
  `[resolve-secret] key=${key} email=${email} orgId=${getRequestOrgId() ?? "(none)"} scope=${envFallback ? "env-fallback" : "none"} hit=${!!envFallback}`,
1270
1418
  );
1271
1419
  }
1272
- return envFallback;
1420
+ return {
1421
+ value: envFallback,
1422
+ lookupFailed: lookupFailed && !envFallback,
1423
+ cause,
1424
+ };
1273
1425
  }
1274
1426
  // Unauthenticated / local-dev / CLI / background context: env fallback
1275
1427
  // is safe because there's no user to mis-identify.
@@ -1279,7 +1431,7 @@ export async function resolveSecret(key: string): Promise<string | null> {
1279
1431
  `[resolve-secret] key=${key} email=(none) scope=env-anonymous hit=${!!value}`,
1280
1432
  );
1281
1433
  }
1282
- return value;
1434
+ return { value, lookupFailed: false };
1283
1435
  }
1284
1436
 
1285
1437
  // ---------------------------------------------------------------------------
@@ -17,6 +17,7 @@ import {
17
17
  EMBED_TARGET_HEADER,
18
18
  EMBED_TOKEN_QUERY_PARAM,
19
19
  } from "../shared/embed-auth.js";
20
+ import { normalizeAppPath } from "../shared/sign-in-journey.js";
20
21
  import { getConfiguredAppBasePath } from "./app-base-path.js";
21
22
  import { getWorkspaceA2ADerivedSecret } from "./derived-secret.js";
22
23
 
@@ -505,6 +506,15 @@ export function normalizeEmbedTargetPath(
505
506
  if (!path.startsWith("/")) path = `/${path}`;
506
507
  if (path.startsWith("//") || path.startsWith("/\\")) return null;
507
508
  if (/^\/[a-z][a-z0-9+.-]*:/i.test(path)) return null;
509
+ // A ticket minted for an auth entry path used to be honoured, redirecting
510
+ // the embed straight at a login form. Fails closed on the existing
511
+ // "Invalid embed target." 400 instead.
512
+ const base = getConfiguredAppBasePath();
513
+ const pathForValidation =
514
+ base && (path === base || path.startsWith(`${base}/`))
515
+ ? path
516
+ : `${base}${path}`;
517
+ if (normalizeAppPath(pathForValidation, base) === null) return null;
508
518
  return stripConfiguredBasePath(path);
509
519
  }
510
520
 
@@ -23,6 +23,11 @@ import {
23
23
  installHttpResponseTelemetryHooks,
24
24
  recordFrameworkReadyWait,
25
25
  } from "./http-response-telemetry.js";
26
+ import {
27
+ hasRequestContext,
28
+ markRequestBoundaryInstalled,
29
+ runWithRequestContext,
30
+ } from "./request-context.js";
26
31
 
27
32
  const BOOTSTRAPPED = new WeakSet<object>();
28
33
  const IN_BOOTSTRAP = new WeakSet<object>();
@@ -36,6 +41,7 @@ const PLUGIN_FAILED_KEY = "_agentNativePluginInitFailures";
36
41
  const PROVIDED_PLUGIN_STEMS_KEY = "_agentNativeProvidedPluginStems";
37
42
  const MIDDLEWARE_DISPATCHER_PATCHED_KEY =
38
43
  "_agentNativeMiddlewareDispatcherPatched";
44
+ const REQUEST_CONTEXT_BOUNDARY_KEY = "_agentNativeRequestContextBoundary";
39
45
 
40
46
  interface PluginReadyEntry {
41
47
  promise: Promise<void>;
@@ -196,6 +202,10 @@ export function getH3App(nitroApp: any): H3AppShim {
196
202
  // first.
197
203
  registerMiddleware(nitroApp, "", createCsrfMiddleware());
198
204
 
205
+ // Registered last so it lands at index 0 — ahead of the readiness gates
206
+ // and CSRF, both of which were unshifted/pushed above.
207
+ registerRequestContextBoundary(nitroApp);
208
+
199
209
  // Primary gate: Nitro bridges this `request` hook to h3's `config.onRequest`,
200
210
  // which h3 awaits BEFORE `handler()` snapshots middleware and resolves the
201
211
  // route. The middleware gate above runs too late on production dispatchers —
@@ -222,6 +232,39 @@ export function getH3App(nitroApp: any): H3AppShim {
222
232
  return shim;
223
233
  }
224
234
 
235
+ /**
236
+ * Establish a `RequestContext` for every inbound request, so no HTTP handler
237
+ * ever asks a request-scoped question with no request in scope.
238
+ *
239
+ * Hand-written `/api/*` routes have no ALS store of their own, and
240
+ * `getRequestUserEmail()` used to answer those with `AGENT_USER_EMAIL` — a
241
+ * process-wide ambient identity standing in for the caller, which fails open
242
+ * toward more privilege (an admin gate reading it admits whoever the deploy env
243
+ * names). This store is deliberately identity-free: resolving the session here
244
+ * would mean reading cookies on the SSR path, which must stay one impersonal
245
+ * cached shell. Handlers that do know the caller still nest their own
246
+ * `runWithRequestContext`, which shadows this one.
247
+ *
248
+ * h3 v2 hands middleware a `next()` that returns the result of the rest of the
249
+ * chain (route handler included), so wrapping `next()` puts the whole request
250
+ * inside the ALS scope. It must be `~middleware[0]`; going through
251
+ * `registerMiddleware` is not an option because that adapter hides `next`.
252
+ */
253
+ function registerRequestContextBoundary(nitroApp: any): void {
254
+ const h3 = nitroApp?.h3;
255
+ if (!h3 || !Array.isArray(h3["~middleware"])) return;
256
+ if (h3[REQUEST_CONTEXT_BOUNDARY_KEY]) return;
257
+
258
+ const middleware = (_event: H3Event, next: () => unknown) => {
259
+ if (hasRequestContext()) return next();
260
+ return runWithRequestContext({}, () => next());
261
+ };
262
+
263
+ h3[REQUEST_CONTEXT_BOUNDARY_KEY] = middleware;
264
+ h3["~middleware"].unshift(middleware);
265
+ markRequestBoundaryInstalled();
266
+ }
267
+
225
268
  /**
226
269
  * Nitro 3 production builds generate a route dispatcher by overriding h3's
227
270
  * internal `~getMiddleware()` hook. Some generated dispatchers return only