@agent-native/core 0.92.12 → 0.93.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 (772) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +39 -0
  3. package/corpus/core/docs/content/automation-connectors.mdx +80 -0
  4. package/corpus/core/docs/content/extensions.mdx +8 -0
  5. package/corpus/core/docs/content/locales/ar-SA/extensions.mdx +8 -0
  6. package/corpus/core/docs/content/locales/ar-SA/messaging.mdx +84 -15
  7. package/corpus/core/docs/content/locales/ar-SA/template-clips.mdx +1 -0
  8. package/corpus/core/docs/content/locales/ar-SA/template-design.mdx +1 -0
  9. package/corpus/core/docs/content/locales/de-DE/extensions.mdx +10 -0
  10. package/corpus/core/docs/content/locales/de-DE/messaging.mdx +92 -15
  11. package/corpus/core/docs/content/locales/de-DE/template-clips.mdx +1 -0
  12. package/corpus/core/docs/content/locales/de-DE/template-design.mdx +1 -0
  13. package/corpus/core/docs/content/locales/es-ES/extensions.mdx +10 -0
  14. package/corpus/core/docs/content/locales/es-ES/messaging.mdx +91 -15
  15. package/corpus/core/docs/content/locales/es-ES/template-clips.mdx +1 -0
  16. package/corpus/core/docs/content/locales/es-ES/template-design.mdx +1 -0
  17. package/corpus/core/docs/content/locales/fr-FR/extensions.mdx +10 -0
  18. package/corpus/core/docs/content/locales/fr-FR/messaging.mdx +91 -15
  19. package/corpus/core/docs/content/locales/fr-FR/template-clips.mdx +1 -0
  20. package/corpus/core/docs/content/locales/fr-FR/template-design.mdx +1 -0
  21. package/corpus/core/docs/content/locales/hi-IN/extensions.mdx +8 -0
  22. package/corpus/core/docs/content/locales/hi-IN/messaging.mdx +81 -15
  23. package/corpus/core/docs/content/locales/hi-IN/template-clips.mdx +1 -0
  24. package/corpus/core/docs/content/locales/hi-IN/template-design.mdx +1 -0
  25. package/corpus/core/docs/content/locales/ja-JP/extensions.mdx +9 -0
  26. package/corpus/core/docs/content/locales/ja-JP/messaging.mdx +81 -15
  27. package/corpus/core/docs/content/locales/ja-JP/template-clips.mdx +1 -0
  28. package/corpus/core/docs/content/locales/ja-JP/template-design.mdx +1 -0
  29. package/corpus/core/docs/content/locales/ko-KR/extensions.mdx +8 -0
  30. package/corpus/core/docs/content/locales/ko-KR/messaging.mdx +80 -15
  31. package/corpus/core/docs/content/locales/ko-KR/template-clips.mdx +1 -0
  32. package/corpus/core/docs/content/locales/ko-KR/template-design.mdx +1 -0
  33. package/corpus/core/docs/content/locales/pt-BR/extensions.mdx +9 -0
  34. package/corpus/core/docs/content/locales/pt-BR/messaging.mdx +88 -15
  35. package/corpus/core/docs/content/locales/pt-BR/template-clips.mdx +1 -0
  36. package/corpus/core/docs/content/locales/pt-BR/template-design.mdx +1 -0
  37. package/corpus/core/docs/content/locales/zh-CN/extensions.mdx +6 -0
  38. package/corpus/core/docs/content/locales/zh-CN/messaging.mdx +78 -15
  39. package/corpus/core/docs/content/locales/zh-CN/template-clips.mdx +1 -0
  40. package/corpus/core/docs/content/locales/zh-CN/template-design.mdx +1 -0
  41. package/corpus/core/docs/content/locales/zh-TW/extensions.mdx +6 -0
  42. package/corpus/core/docs/content/locales/zh-TW/messaging.mdx +78 -15
  43. package/corpus/core/docs/content/locales/zh-TW/template-clips.mdx +1 -0
  44. package/corpus/core/docs/content/locales/zh-TW/template-design.mdx +1 -0
  45. package/corpus/core/docs/content/messaging.mdx +227 -45
  46. package/corpus/core/docs/content/template-clips.mdx +3 -0
  47. package/corpus/core/docs/content/template-design.mdx +4 -0
  48. package/corpus/core/package.json +5 -1
  49. package/corpus/core/src/a2a/artifact-response.ts +131 -2
  50. package/corpus/core/src/a2a/client.ts +10 -0
  51. package/corpus/core/src/a2a/handlers.ts +40 -76
  52. package/corpus/core/src/a2a/types.ts +2 -0
  53. package/corpus/core/src/agent/durable-background.ts +24 -0
  54. package/corpus/core/src/agent/production-agent.ts +15 -3
  55. package/corpus/core/src/agent/run-manager.ts +130 -10
  56. package/corpus/core/src/agent/run-store.ts +225 -15
  57. package/corpus/core/src/agent/types.ts +23 -0
  58. package/corpus/core/src/audit/record.ts +31 -0
  59. package/corpus/core/src/audit/store.ts +69 -3
  60. package/corpus/core/src/audit/types.ts +13 -0
  61. package/corpus/core/src/automation/index.ts +802 -0
  62. package/corpus/core/src/cli/create.ts +12 -5
  63. package/corpus/core/src/cli/design-connect.ts +596 -36
  64. package/corpus/core/src/client/AgentPanel.tsx +51 -6
  65. package/corpus/core/src/client/AssistantChat.tsx +274 -147
  66. package/corpus/core/src/client/MultiTabAssistantChat.tsx +3 -0
  67. package/corpus/core/src/client/RunStuckBanner.tsx +69 -20
  68. package/corpus/core/src/client/agent-chat-adapter.ts +54 -5
  69. package/corpus/core/src/client/automation.ts +22 -0
  70. package/corpus/core/src/client/chat/run-recovery.tsx +67 -50
  71. package/corpus/core/src/client/composer/TiptapComposer.tsx +8 -0
  72. package/corpus/core/src/client/index.ts +30 -0
  73. package/corpus/core/src/client/integrations/api.ts +295 -0
  74. package/corpus/core/src/client/integrations/index.ts +26 -0
  75. package/corpus/core/src/client/transcription/use-live-transcription.ts +68 -5
  76. package/corpus/core/src/client/use-run-stuck-detection.ts +41 -3
  77. package/corpus/core/src/deploy/build.ts +59 -3
  78. package/corpus/core/src/deploy/workspace-deploy.ts +37 -2
  79. package/corpus/core/src/file-upload/types.ts +2 -0
  80. package/corpus/core/src/index.ts +37 -0
  81. package/corpus/core/src/integrations/a2a-continuations-store.ts +6 -4
  82. package/corpus/core/src/integrations/adapters/discord.ts +362 -0
  83. package/corpus/core/src/integrations/adapters/index.ts +29 -0
  84. package/corpus/core/src/integrations/adapters/microsoft-teams.ts +411 -0
  85. package/corpus/core/src/integrations/adapters/slack.ts +861 -27
  86. package/corpus/core/src/integrations/adapters/telegram.ts +54 -15
  87. package/corpus/core/src/integrations/adapters/whatsapp.ts +41 -17
  88. package/corpus/core/src/integrations/catalog.ts +571 -0
  89. package/corpus/core/src/integrations/controls-store.ts +187 -0
  90. package/corpus/core/src/integrations/index.ts +100 -0
  91. package/corpus/core/src/integrations/installations-store.ts +677 -0
  92. package/corpus/core/src/integrations/integration-memory.ts +187 -0
  93. package/corpus/core/src/integrations/pending-tasks-retry-job.ts +6 -6
  94. package/corpus/core/src/integrations/pending-tasks-store.ts +83 -5
  95. package/corpus/core/src/integrations/plugin.ts +685 -47
  96. package/corpus/core/src/integrations/scope-store.ts +498 -0
  97. package/corpus/core/src/integrations/slack-manifest.ts +78 -0
  98. package/corpus/core/src/integrations/slack-oauth.ts +343 -0
  99. package/corpus/core/src/integrations/types.ts +179 -0
  100. package/corpus/core/src/integrations/usage-budget-store.ts +906 -0
  101. package/corpus/core/src/integrations/webhook-handler.ts +562 -51
  102. package/corpus/core/src/jobs/scheduler.ts +100 -2
  103. package/corpus/core/src/jobs/tools.ts +45 -9
  104. package/corpus/core/src/provider-api/index.ts +72 -1
  105. package/corpus/core/src/resources/handlers.ts +88 -14
  106. package/corpus/core/src/resources/script-helpers.ts +36 -7
  107. package/corpus/core/src/resources/store.ts +59 -52
  108. package/corpus/core/src/scripts/call-agent.ts +107 -1
  109. package/corpus/core/src/server/agent-chat-plugin.ts +294 -119
  110. package/corpus/core/src/server/auth.ts +10 -14
  111. package/corpus/core/src/server/builder-design-systems.ts +16 -1
  112. package/corpus/core/src/server/edge.ts +18 -0
  113. package/corpus/core/src/server/index.ts +26 -0
  114. package/corpus/core/src/server/request-context.ts +18 -0
  115. package/corpus/core/src/server/social-og-image.ts +3 -2
  116. package/corpus/core/src/styles/agent-native.css +62 -44
  117. package/corpus/core/src/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
  118. package/corpus/core/src/templates/default/AGENTS.md +7 -3
  119. package/corpus/core/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
  120. package/corpus/core/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
  121. package/corpus/core/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
  122. package/corpus/core/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
  123. package/corpus/core/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
  124. package/corpus/core/src/templates/workspace-core/AGENTS.md +3 -2
  125. package/corpus/core/src/usage/store.ts +37 -2
  126. package/corpus/templates/analytics/.agents/skills/capture-learnings/SKILL.md +22 -9
  127. package/corpus/templates/analytics/.agents/skills/provider-api/SKILL.md +23 -0
  128. package/corpus/templates/analytics/.builder/skills/provider-api/SKILL.md +15 -0
  129. package/corpus/templates/analytics/actions/save-monitor.ts +25 -2
  130. package/corpus/templates/analytics/app/lib/data-sources.ts +28 -0
  131. package/corpus/templates/analytics/changelog/2026-07-10-agent-created-uptime-monitors-now-return-a-direct-link-to-th.md +6 -0
  132. package/corpus/templates/analytics/changelog/2026-07-10-dashboard-email-reports-still-arrive-when-screenshot-capture-temporarily-fails.md +6 -0
  133. package/corpus/templates/analytics/server/jobs/dashboard-report.ts +3 -7
  134. package/corpus/templates/analytics/server/lib/credential-keys.ts +12 -0
  135. package/corpus/templates/analytics/server/lib/dashboard-report.ts +5 -1
  136. package/corpus/templates/analytics/server/lib/provider-credentials.ts +2 -0
  137. package/corpus/templates/analytics/server/routes/api/test-connection.post.ts +16 -0
  138. package/corpus/templates/assets/.agents/skills/capture-learnings/SKILL.md +22 -9
  139. package/corpus/templates/brain/.agents/skills/capture-learnings/SKILL.md +22 -9
  140. package/corpus/templates/calendar/.agents/skills/capture-learnings/SKILL.md +22 -9
  141. package/corpus/templates/calendar/app/components/calendar/CommandPalette.tsx +98 -108
  142. package/corpus/templates/calendar/app/components/calendar/EventAttendeesSection.tsx +97 -90
  143. package/corpus/templates/calendar/changelog/2026-07-10-event-guest-details-and-option-menus-now-use-valid-accessibl.md +6 -0
  144. package/corpus/templates/calendar/changelog/2026-07-10-natural-language-event-phrases-stay-available-as-quick-creat.md +6 -0
  145. package/corpus/templates/chat/.agents/skills/capture-learnings/SKILL.md +22 -9
  146. package/corpus/templates/chat/changelog/2026-07-10-chat-now-makes-ai-connection-setup-clear-without-shifting-th.md +6 -0
  147. package/corpus/templates/clips/.agents/skills/capture-learnings/SKILL.md +22 -9
  148. package/corpus/templates/clips/.agents/skills/recording/SKILL.md +17 -1
  149. package/corpus/templates/clips/.agents/skills/video-sharing/SKILL.md +8 -0
  150. package/corpus/templates/clips/AGENTS.md +8 -3
  151. package/corpus/templates/clips/actions/finalize-recording.ts +63 -23
  152. package/corpus/templates/clips/actions/get-recording-player-data.ts +6 -2
  153. package/corpus/templates/clips/actions/lib/ensure-seekable-video.ts +72 -9
  154. package/corpus/templates/clips/actions/list-recordings.ts +19 -3
  155. package/corpus/templates/clips/actions/navigate.ts +2 -0
  156. package/corpus/templates/clips/actions/reprocess-recording.ts +20 -6
  157. package/corpus/templates/clips/actions/request-transcript.ts +16 -31
  158. package/corpus/templates/clips/actions/view-screen.ts +57 -5
  159. package/corpus/templates/clips/app/components/layout/Header.tsx +1 -0
  160. package/corpus/templates/clips/app/components/library/empty-state.tsx +2 -0
  161. package/corpus/templates/clips/app/components/library/library-grid.tsx +69 -42
  162. package/corpus/templates/clips/app/components/library/library-layout.tsx +15 -1
  163. package/corpus/templates/clips/app/components/library/recording-card.tsx +81 -68
  164. package/corpus/templates/clips/app/components/library/search-bar.tsx +4 -3
  165. package/corpus/templates/clips/app/components/player/delete-recording-menu.tsx +9 -3
  166. package/corpus/templates/clips/app/components/player/share-dialog.tsx +1 -1
  167. package/corpus/templates/clips/app/hooks/use-library.ts +1 -1
  168. package/corpus/templates/clips/app/hooks/use-navigation-state.ts +10 -2
  169. package/corpus/templates/clips/app/i18n/ar-SA.ts +7 -1
  170. package/corpus/templates/clips/app/i18n/de-DE.ts +7 -1
  171. package/corpus/templates/clips/app/i18n/en-US.ts +7 -1
  172. package/corpus/templates/clips/app/i18n/es-ES.ts +7 -1
  173. package/corpus/templates/clips/app/i18n/fr-FR.ts +7 -1
  174. package/corpus/templates/clips/app/i18n/hi-IN.ts +7 -1
  175. package/corpus/templates/clips/app/i18n/ja-JP.ts +7 -1
  176. package/corpus/templates/clips/app/i18n/ko-KR.ts +7 -1
  177. package/corpus/templates/clips/app/i18n/pt-BR.ts +7 -1
  178. package/corpus/templates/clips/app/i18n/zh-CN.ts +8 -1
  179. package/corpus/templates/clips/app/i18n/zh-TW.ts +8 -1
  180. package/corpus/templates/clips/app/lib/recording-visibility.ts +70 -0
  181. package/corpus/templates/clips/app/routes/_app.shared.tsx +20 -0
  182. package/corpus/templates/clips/app/routes/download.tsx +24 -8
  183. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +115 -2
  184. package/corpus/templates/clips/app/routes/record.tsx +62 -0
  185. package/corpus/templates/clips/app/routes/share.$shareId.tsx +25 -16
  186. package/corpus/templates/clips/changelog/2026-07-10-clips-desktop-is-now-available-for-linux-with-appimage-debia.md +6 -0
  187. package/corpus/templates/clips/changelog/2026-07-10-clips-downloads-updates-sooner-in-the-background-and-offers-.md +6 -0
  188. package/corpus/templates/clips/changelog/2026-07-10-clips-shared-with-you-now-appear-in-a-searchable-shared-with.md +6 -0
  189. package/corpus/templates/clips/changelog/2026-07-10-clips-with-missing-mobile-video-frames-can-be-repaired-witho.md +6 -0
  190. package/corpus/templates/clips/changelog/2026-07-10-mobile-camera-recordings-pause-while-backgrounded.md +6 -0
  191. package/corpus/templates/clips/changelog/2026-07-10-mp4-downloads-now-show-progress-immediately-after-the-option.md +6 -0
  192. package/corpus/templates/clips/changelog/2026-07-10-recording-pages-now-open-as-soon-as-you-stop-with-a-share-li.md +6 -0
  193. package/corpus/templates/clips/changelog/2026-07-10-recordings-now-seek-smoothly-downloads-use-the-correct-file-.md +6 -0
  194. package/corpus/templates/clips/changelog/2026-07-10-s3-compatible-storage-now-saves-hosted-recordings-without-re.md +6 -0
  195. package/corpus/templates/clips/desktop/README.md +22 -6
  196. package/corpus/templates/clips/desktop/package.json +1 -1
  197. package/corpus/templates/clips/desktop/src/app.tsx +32 -19
  198. package/corpus/templates/clips/desktop/src/components/ReadinessPanel.tsx +15 -9
  199. package/corpus/templates/clips/desktop/src/lib/finalization-guard.ts +22 -0
  200. package/corpus/templates/clips/desktop/src/lib/permissions.ts +3 -1
  201. package/corpus/templates/clips/desktop/src/lib/recorder.ts +97 -120
  202. package/corpus/templates/clips/desktop/src/lib/updater.ts +26 -4
  203. package/corpus/templates/clips/desktop/src/overlays/finalizing.tsx +4 -8
  204. package/corpus/templates/clips/desktop/src-tauri/Cargo.toml +1 -1
  205. package/corpus/templates/clips/desktop/src-tauri/src/clips/mod.rs +2 -2
  206. package/corpus/templates/clips/desktop/src-tauri/src/permission_status.rs +11 -7
  207. package/corpus/templates/clips/desktop/src-tauri/tauri.linux.conf.json +11 -0
  208. package/corpus/templates/clips/netlify.toml +3 -0
  209. package/corpus/templates/clips/server/lib/post-finalize-dispatch.ts +106 -0
  210. package/corpus/templates/clips/server/lib/public-agent-context.ts +9 -1
  211. package/corpus/templates/clips/server/lib/resumable-upload-provider.ts +52 -0
  212. package/corpus/templates/clips/server/lib/s3-upload-provider.ts +433 -85
  213. package/corpus/templates/clips/server/lib/video-remux.ts +114 -0
  214. package/corpus/templates/clips/server/routes/api/_agent-native-background/post-finalize-worker.post.ts +109 -0
  215. package/corpus/templates/clips/server/routes/api/clips-updater.json.get.ts +22 -11
  216. package/corpus/templates/clips/server/routes/api/public-recording.get.ts +4 -2
  217. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/abort.post.ts +47 -5
  218. package/corpus/templates/clips/server/routes/api/uploads/[recordingId]/chunk.post.ts +10 -2
  219. package/corpus/templates/clips/shared/share-loader-response.ts +12 -0
  220. package/corpus/templates/clips/shared/transcript-status.ts +40 -0
  221. package/corpus/templates/content/.agents/skills/capture-learnings/SKILL.md +22 -9
  222. package/corpus/templates/content/.agents/skills/content/SKILL.md +57 -5
  223. package/corpus/templates/content/AGENTS.md +65 -55
  224. package/corpus/templates/content/actions/_builder-cms-read-client.ts +10 -16
  225. package/corpus/templates/content/actions/_database-source-utils.ts +58 -11
  226. package/corpus/templates/content/actions/_property-utils.ts +30 -2
  227. package/corpus/templates/content/actions/add-content-database-source-field-property.ts +312 -114
  228. package/corpus/templates/content/actions/submit-content-database-form.ts +497 -0
  229. package/corpus/templates/content/actions/update-content-database-view.ts +8 -1
  230. package/corpus/templates/content/actions/view-screen.ts +4 -1
  231. package/corpus/templates/content/agent-native.app-skill.json +1 -1
  232. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +250 -64
  233. package/corpus/templates/content/app/components/editor/database/FormView.tsx +460 -0
  234. package/corpus/templates/content/app/components/editor/database/navigation-state.ts +3 -0
  235. package/corpus/templates/content/app/components/editor/database/settings.tsx +30 -37
  236. package/corpus/templates/content/app/components/editor/database/shared.tsx +2 -0
  237. package/corpus/templates/content/app/components/editor/database/view-config.ts +29 -1
  238. package/corpus/templates/content/app/components/ui/textarea.tsx +1 -0
  239. package/corpus/templates/content/app/hooks/use-content-database.ts +22 -0
  240. package/corpus/templates/content/app/i18n/zh-TW.ts +21 -0
  241. package/corpus/templates/content/app/i18n-data.ts +225 -0
  242. package/corpus/templates/content/changelog/2026-07-10-builder-backed-properties-now-load-current-source-values-as-.md +6 -0
  243. package/corpus/templates/content/changelog/2026-07-10-builder-database-refreshes-now-stay-explicit-and-accurate.md +6 -0
  244. package/corpus/templates/content/changelog/2026-07-10-database-form-views-now-collect-ordered-required-answers-and.md +6 -0
  245. package/corpus/templates/content/changelog/2026-07-10-database-tables-now-use-a-quieter-more-compact-layout-with-c.md +6 -0
  246. package/corpus/templates/content/changelog/2026-07-10-slack-intake-routes-to-content-database-forms.md +6 -0
  247. package/corpus/templates/content/parity/matrix.md +1 -0
  248. package/corpus/templates/content/parity/matrix.ts +18 -0
  249. package/corpus/templates/content/shared/api.ts +27 -1
  250. package/corpus/templates/content/shared/database-form.ts +53 -0
  251. package/corpus/templates/design/.agents/skills/capture-learnings/SKILL.md +22 -9
  252. package/corpus/templates/design/.agents/skills/design-generation/SKILL.md +26 -0
  253. package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +85 -12
  254. package/corpus/templates/design/AGENTS.md +72 -18
  255. package/corpus/templates/design/DESIGN.md +1 -1
  256. package/corpus/templates/design/DEVELOPING.md +1 -1
  257. package/corpus/templates/design/FIGMA_INTEROPERABILITY.md +116 -0
  258. package/corpus/templates/design/actions/create-design-from-template.ts +220 -0
  259. package/corpus/templates/design/actions/create-design-system.ts +92 -16
  260. package/corpus/templates/design/actions/delete-design-template.ts +28 -0
  261. package/corpus/templates/design/actions/delete-file.ts +7 -0
  262. package/corpus/templates/design/actions/edit-design.ts +3 -0
  263. package/corpus/templates/design/actions/export-design-as-figma-svg.ts +137 -5
  264. package/corpus/templates/design/actions/export-pdf.ts +1 -1
  265. package/corpus/templates/design/actions/generate-design.ts +3 -0
  266. package/corpus/templates/design/actions/get-design-snapshot.ts +9 -0
  267. package/corpus/templates/design/actions/get-figma-connection-status.ts +26 -0
  268. package/corpus/templates/design/actions/get-figma-design-context.ts +138 -0
  269. package/corpus/templates/design/actions/get-figma-styles.ts +2 -2
  270. package/corpus/templates/design/actions/import-figma-clipboard.ts +112 -16
  271. package/corpus/templates/design/actions/import-figma-frame.ts +15 -4
  272. package/corpus/templates/design/actions/index-design-system-with-builder.ts +4 -0
  273. package/corpus/templates/design/actions/list-design-templates.ts +118 -0
  274. package/corpus/templates/design/actions/navigate.ts +16 -2
  275. package/corpus/templates/design/actions/provider-api-request.ts +11 -1
  276. package/corpus/templates/design/actions/save-design-as-template.ts +156 -0
  277. package/corpus/templates/design/actions/set-active-breakpoint.ts +13 -4
  278. package/corpus/templates/design/actions/take-design-screenshot.ts +73 -3
  279. package/corpus/templates/design/actions/update-file.ts +39 -22
  280. package/corpus/templates/design/actions/view-screen.ts +36 -1
  281. package/corpus/templates/design/actions/write-local-file.ts +50 -38
  282. package/corpus/templates/design/app/components/design/AutoLayoutSuggestionDialog.tsx +151 -0
  283. package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +20 -0
  284. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +251 -22
  285. package/corpus/templates/design/app/components/design/DesignEditorSkeleton.tsx +3 -3
  286. package/corpus/templates/design/app/components/design/DesignImportPanel.tsx +384 -9
  287. package/corpus/templates/design/app/components/design/EditPanel.tsx +105 -32
  288. package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +58 -28
  289. package/corpus/templates/design/app/components/design/TweaksPanel.tsx +6 -0
  290. package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +539 -53
  291. package/corpus/templates/design/app/components/design/bridge/embedded-wheel.bridge.ts +40 -0
  292. package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbench.tsx +1 -0
  293. package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +1 -0
  294. package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +5 -1
  295. package/corpus/templates/design/app/components/design/code-workbench/workspace/create-providers.ts +2 -0
  296. package/corpus/templates/design/app/components/design/code-workbench/workspace/localhost-provider.ts +3 -1
  297. package/corpus/templates/design/app/components/design/code-workbench/workspace/types.ts +2 -0
  298. package/corpus/templates/design/app/components/design/edit-panel/element-identity.ts +19 -0
  299. package/corpus/templates/design/app/components/design/edit-panel/frame-presets-panel.tsx +1 -0
  300. package/corpus/templates/design/app/components/design/edit-panel/interaction-state-helpers.ts +27 -0
  301. package/corpus/templates/design/app/components/design/inspector/InteractionStatePanel.tsx +137 -81
  302. package/corpus/templates/design/app/components/design/inspector/frame-size-presets.ts +25 -5
  303. package/corpus/templates/design/app/components/design/multi-screen/chrome-transitions.ts +1 -1
  304. package/corpus/templates/design/app/components/design/multi-screen/frame-geometry.ts +220 -3
  305. package/corpus/templates/design/app/components/design/multi-screen/overview-layout.ts +13 -0
  306. package/corpus/templates/design/app/components/design/multi-screen/types.ts +22 -1
  307. package/corpus/templates/design/app/components/design/types.ts +4 -0
  308. package/corpus/templates/design/app/components/design-system/ProductionDesignSystemShowcase.tsx +208 -0
  309. package/corpus/templates/design/app/components/editor/FigmaLinkComposerBubble.tsx +321 -0
  310. package/corpus/templates/design/app/components/editor/PromptDialog.tsx +24 -4
  311. package/corpus/templates/design/app/components/layout/Layout.tsx +16 -2
  312. package/corpus/templates/design/app/components/layout/Sidebar.tsx +2 -0
  313. package/corpus/templates/design/app/components/templates/TemplatePreview.tsx +72 -0
  314. package/corpus/templates/design/app/global.css +2 -35
  315. package/corpus/templates/design/app/hooks/use-navigation-state.ts +10 -0
  316. package/corpus/templates/design/app/i18n/zh-TW.ts +127 -5
  317. package/corpus/templates/design/app/i18n-breakpoints.ts +209 -0
  318. package/corpus/templates/design/app/i18n-data.ts +1317 -59
  319. package/corpus/templates/design/app/i18n-template-feature.ts +458 -0
  320. package/corpus/templates/design/app/lib/design-clipboard.ts +202 -0
  321. package/corpus/templates/design/app/lib/design-file-upload.ts +87 -0
  322. package/corpus/templates/design/app/lib/design-import.ts +168 -11
  323. package/corpus/templates/design/app/lib/desktop-design-preview.ts +423 -0
  324. package/corpus/templates/design/app/lib/figma-clipboard.ts +74 -8
  325. package/corpus/templates/design/app/lib/figma-connection.ts +161 -0
  326. package/corpus/templates/design/app/lib/figma-svg-copy.ts +814 -22
  327. package/corpus/templates/design/app/lib/figma-url.ts +77 -0
  328. package/corpus/templates/design/app/lib/pending-generation.ts +35 -0
  329. package/corpus/templates/design/app/pages/DesignSystems.tsx +236 -177
  330. package/corpus/templates/design/app/pages/Index.tsx +38 -0
  331. package/corpus/templates/design/app/pages/Templates.tsx +498 -0
  332. package/corpus/templates/design/app/pages/design-editor/auto-layout-suggestion.ts +328 -0
  333. package/corpus/templates/design/app/pages/design-editor/clone-idrefs.ts +113 -0
  334. package/corpus/templates/design/app/pages/design-editor/created-screen-navigation.ts +55 -0
  335. package/corpus/templates/design/app/pages/design-editor/editor-session.ts +32 -0
  336. package/corpus/templates/design/app/pages/design-editor/editor-state.ts +49 -2
  337. package/corpus/templates/design/app/pages/design-editor/export-capture.ts +296 -0
  338. package/corpus/templates/design/app/pages/design-editor/history.ts +101 -2
  339. package/corpus/templates/design/app/pages/design-editor/layout-operations.ts +28 -1
  340. package/corpus/templates/design/app/pages/design-editor/overview-camera.ts +34 -0
  341. package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +202 -6
  342. package/corpus/templates/design/app/pages/design-editor/pending-structure-verification.ts +92 -0
  343. package/corpus/templates/design/app/pages/design-editor/save-failure.ts +58 -0
  344. package/corpus/templates/design/app/routes/templates.tsx +4 -6
  345. package/corpus/templates/design/changelog/2026-07-10-app-workspaces-now-use-clean-borderless-main-surfaces-throug.md +6 -0
  346. package/corpus/templates/design/changelog/2026-07-10-ask-chat-what-s-in-a-figma-file-or-frame-structure-screensho.md +6 -0
  347. package/corpus/templates/design/changelog/2026-07-10-canvas-edits-now-reject-malformed-html-before-it-can-corrupt.md +6 -0
  348. package/corpus/templates/design/changelog/2026-07-10-complex-designs-now-export-as-valid-secure-svgs-and-crisp-ra.md +6 -0
  349. package/corpus/templates/design/changelog/2026-07-10-complex-figma-masks-arcs-rich-text-transformed-images-and-ad.md +6 -0
  350. package/corpus/templates/design/changelog/2026-07-10-copied-layers-paste-across-designs-and-browser-tabs.md +6 -0
  351. package/corpus/templates/design/changelog/2026-07-10-copy-and-download-editable-figma-svg.md +6 -0
  352. package/corpus/templates/design/changelog/2026-07-10-copying-design-text-now-pastes-readable-text-into-other-apps.md +6 -0
  353. package/corpus/templates/design/changelog/2026-07-10-deleted-screens-can-be-restored-with-undo-and-removed-again-.md +6 -0
  354. package/corpus/templates/design/changelog/2026-07-10-design-changes-now-save-before-switching-apps-and-retry-when.md +6 -0
  355. package/corpus/templates/design/changelog/2026-07-10-design-stays-usable-on-phones-by-keeping-editor-panels-and-f.md +6 -0
  356. package/corpus/templates/design/changelog/2026-07-10-download-all-screens-as-one-multi-page-pdf-from-the-overview.md +6 -0
  357. package/corpus/templates/design/changelog/2026-07-10-duplicated-layers-now-keep-labels-aria-relationships-fragmen.md +6 -0
  358. package/corpus/templates/design/changelog/2026-07-10-fig-import-results-stay-compact.md +6 -0
  359. package/corpus/templates/design/changelog/2026-07-10-figma-imports-now-load-real-fonts-fix-rotated-gradient-dashe.md +6 -0
  360. package/corpus/templates/design/changelog/2026-07-10-figma-links-in-chat-and-the-import-tab-now-offer-secure-one-.md +6 -0
  361. package/corpus/templates/design/changelog/2026-07-10-fixed-cmd-z-not-restoring-content-after-an-agent-driven-desi.md +6 -0
  362. package/corpus/templates/design/changelog/2026-07-10-fixed-download-pdf-being-unreachable-from-the-export-panel-e.md +6 -0
  363. package/corpus/templates/design/changelog/2026-07-10-fixed-dragging-a-layer-out-of-an-auto-layout-row-column-no-l.md +6 -0
  364. package/corpus/templates/design/changelog/2026-07-10-fixed-figma-svg-export-text-wrapping-sizing-and-inner-layer.md +6 -0
  365. package/corpus/templates/design/changelog/2026-07-10-fixed-hiding-or-locking-one-layer-no-longer-hides-or-blocks-.md +6 -0
  366. package/corpus/templates/design/changelog/2026-07-10-fixed-png-screenshots-of-tall-screens-being-cropped-to-one-v.md +6 -0
  367. package/corpus/templates/design/changelog/2026-07-10-fixed-png-svg-exports-capturing-broken-layout-when-webfonts-.md +6 -0
  368. package/corpus/templates/design/changelog/2026-07-10-frame-tool-now-offers-standard-ad-unit-size-presets-medium-r.md +6 -0
  369. package/corpus/templates/design/changelog/2026-07-10-full-view-controls-stay-within-their-frame-instead-of-coveri.md +6 -0
  370. package/corpus/templates/design/changelog/2026-07-10-hover-focus-focus-visible-pressed-and-disabled-states-now-pr.md +6 -0
  371. package/corpus/templates/design/changelog/2026-07-10-layer-drops-now-land-in-the-intended-grid-row-stay-visually-.md +6 -0
  372. package/corpus/templates/design/changelog/2026-07-10-local-code-workspaces-now-keep-unsaved-edits-across-panel-sw.md +6 -0
  373. package/corpus/templates/design/changelog/2026-07-10-local-visual-editing-now-keeps-authenticated-sessions-shared.md +6 -0
  374. package/corpus/templates/design/changelog/2026-07-10-long-running-agent-work-no-longer-shows-a-premature-stuck-wa.md +6 -0
  375. package/corpus/templates/design/changelog/2026-07-10-managed-figma-connections-are-recognized-automatically.md +6 -0
  376. package/corpus/templates/design/changelog/2026-07-10-new-designs-can-open-directly-in-the-editor-without-a-pr.md +6 -0
  377. package/corpus/templates/design/changelog/2026-07-10-new-screens-are-selected-and-revealed-immediately.md +6 -0
  378. package/corpus/templates/design/changelog/2026-07-10-new-text-layers-undo-as-one-safe-creation.md +6 -0
  379. package/corpus/templates/design/changelog/2026-07-10-preview-and-apply-inferred-auto-layout-without-changing-yo.md +5 -0
  380. package/corpus/templates/design/changelog/2026-07-10-print-pdf-exports-and-paper-size-presets-letter-a4-now-match.md +6 -0
  381. package/corpus/templates/design/changelog/2026-07-10-responsive-frame-editing.md +6 -0
  382. package/corpus/templates/design/changelog/2026-07-10-reusable-design-templates.md +6 -0
  383. package/corpus/templates/design/changelog/2026-07-10-screen-overview-frames-now-use-a-clearer-interact-action-wit.md +6 -0
  384. package/corpus/templates/design/changelog/2026-07-10-start-designs-from-source-linked-material-3-carbon-or-primer.md +6 -0
  385. package/corpus/templates/design/changelog/2026-07-10-tweaks-guidance.md +6 -0
  386. package/corpus/templates/design/changelog/2026-07-10-uploaded-fig-files-can-now-become-editable-design-screens-wi.md +6 -0
  387. package/corpus/templates/design/e2e/helpers.ts +3 -3
  388. package/corpus/templates/design/package.json +2 -0
  389. package/corpus/templates/design/scripts/qa-figma-stress-import.ts +96 -0
  390. package/corpus/templates/design/server/db/index.ts +10 -0
  391. package/corpus/templates/design/server/db/schema.ts +44 -0
  392. package/corpus/templates/design/server/handlers/import-design-file.ts +114 -80
  393. package/corpus/templates/design/server/handlers/index-design-system-with-builder.ts +19 -6
  394. package/corpus/templates/design/server/lib/design-export.ts +240 -3
  395. package/corpus/templates/design/server/lib/design-template-data.ts +89 -0
  396. package/corpus/templates/design/server/lib/design-to-figma-svg.ts +250 -26
  397. package/corpus/templates/design/server/lib/fig-file-decoder.ts +839 -0
  398. package/corpus/templates/design/server/lib/fig-file-import.ts +287 -0
  399. package/corpus/templates/design/server/lib/fig-file-limits.ts +3 -0
  400. package/corpus/templates/design/server/lib/fig-file-to-html.ts +2568 -0
  401. package/corpus/templates/design/server/lib/figma-design-context.ts +359 -0
  402. package/corpus/templates/design/server/lib/figma-node-import.ts +478 -22
  403. package/corpus/templates/design/server/lib/figma-node-to-html.ts +554 -29
  404. package/corpus/templates/design/server/lib/local-figma-qa-upload.ts +112 -0
  405. package/corpus/templates/design/server/lib/verify-write-grant.ts +16 -2
  406. package/corpus/templates/design/server/lib/visible-clipboard-html.ts +13 -3
  407. package/corpus/templates/design/server/plugins/agent-chat.ts +7 -0
  408. package/corpus/templates/design/server/plugins/db.ts +42 -0
  409. package/corpus/templates/design/server/plugins/local-figma-qa-upload.ts +7 -0
  410. package/corpus/templates/design/server/register-secrets.ts +8 -8
  411. package/corpus/templates/design/server/routes/api/qa-figma-import-assets/[assetId].get.ts +46 -0
  412. package/corpus/templates/design/server/source-workspace.ts +104 -12
  413. package/corpus/templates/design/shared/code-layer.ts +105 -28
  414. package/corpus/templates/design/shared/design-system-templates.ts +301 -0
  415. package/corpus/templates/design/shared/design-template-presets.ts +195 -0
  416. package/corpus/templates/design/shared/figma-url.ts +8 -0
  417. package/corpus/templates/design/shared/html-integrity.ts +306 -0
  418. package/corpus/templates/design/shared/interaction-states.ts +318 -23
  419. package/corpus/templates/design/shared/locked-layers.ts +151 -0
  420. package/corpus/templates/dispatch/.agents/skills/capture-learnings/SKILL.md +22 -9
  421. package/corpus/templates/dispatch/app/i18n/zh-TW.ts +48 -0
  422. package/corpus/templates/dispatch/app/i18n-data.ts +536 -1
  423. package/corpus/templates/dispatch/changelog/2026-07-10-connect-slack-workspaces-with-oauth-and-manage-channel-ident.md +6 -0
  424. package/corpus/templates/dispatch/changelog/2026-07-10-microsoft-teams-bots-and-discord-slash-commands-can-now-conn.md +6 -0
  425. package/corpus/templates/dispatch/changelog/2026-07-10-slack-and-telegram-now-route-uptime-monitor-requests-to-anal.md +6 -0
  426. package/corpus/templates/forms/.agents/skills/capture-learnings/SKILL.md +22 -9
  427. package/corpus/templates/forms/.agents/skills/form-publishing/SKILL.md +7 -0
  428. package/corpus/templates/forms/AGENTS.md +4 -0
  429. package/corpus/templates/forms/actions/create-form.ts +44 -7
  430. package/corpus/templates/forms/actions/lib/assert-publishable-form.ts +38 -0
  431. package/corpus/templates/forms/actions/patch-form-fields.ts +4 -0
  432. package/corpus/templates/forms/actions/update-form.ts +2 -36
  433. package/corpus/templates/forms/app/i18n/ar-SA.ts +3 -0
  434. package/corpus/templates/forms/app/i18n/de-DE.ts +3 -0
  435. package/corpus/templates/forms/app/i18n/en-US.ts +3 -0
  436. package/corpus/templates/forms/app/i18n/es-ES.ts +3 -0
  437. package/corpus/templates/forms/app/i18n/fr-FR.ts +3 -0
  438. package/corpus/templates/forms/app/i18n/hi-IN.ts +3 -0
  439. package/corpus/templates/forms/app/i18n/ja-JP.ts +3 -0
  440. package/corpus/templates/forms/app/i18n/ko-KR.ts +3 -0
  441. package/corpus/templates/forms/app/i18n/pt-BR.ts +3 -0
  442. package/corpus/templates/forms/app/i18n/zh-CN.ts +2 -0
  443. package/corpus/templates/forms/app/i18n/zh-TW.ts +3 -0
  444. package/corpus/templates/forms/app/pages/FormBuilderPage.tsx +17 -0
  445. package/corpus/templates/forms/changelog/2026-07-10-agent-created-published-forms-now-return-the-anonymous-publi.md +6 -0
  446. package/corpus/templates/forms/changelog/2026-07-10-published-forms-can-no-longer-be-edited-into-an-unusable-emp.md +6 -0
  447. package/corpus/templates/forms/server/handlers/submissions.ts +4 -3
  448. package/corpus/templates/forms/server/plugins/agent-chat.ts +1 -0
  449. package/corpus/templates/forms/shared/types.ts +5 -0
  450. package/corpus/templates/mail/.agents/skills/capture-learnings/SKILL.md +22 -9
  451. package/corpus/templates/mail/app/components/layout/AppLayout.tsx +2 -2
  452. package/corpus/templates/mail/changelog/2026-07-10-mail-navigation-now-uses-a-clean-borderless-drawer.md +6 -0
  453. package/corpus/templates/plan/.agents/skills/capture-learnings/SKILL.md +22 -9
  454. package/corpus/templates/plan/app/lib/plan-local-bridge.ts +4 -1
  455. package/corpus/templates/plan/changelog/2026-07-10-local-plans-now-keep-valid-content-visible-when-one-generate.md +6 -0
  456. package/corpus/templates/plan/server/lib/local-plan-files.ts +4 -1
  457. package/corpus/templates/slides/.agents/skills/capture-learnings/SKILL.md +22 -9
  458. package/dist/a2a/artifact-response.d.ts.map +1 -1
  459. package/dist/a2a/artifact-response.js +88 -2
  460. package/dist/a2a/artifact-response.js.map +1 -1
  461. package/dist/a2a/client.d.ts +9 -0
  462. package/dist/a2a/client.d.ts.map +1 -1
  463. package/dist/a2a/client.js +1 -0
  464. package/dist/a2a/client.js.map +1 -1
  465. package/dist/a2a/handlers.d.ts.map +1 -1
  466. package/dist/a2a/handlers.js +24 -69
  467. package/dist/a2a/handlers.js.map +1 -1
  468. package/dist/a2a/types.d.ts +2 -0
  469. package/dist/a2a/types.d.ts.map +1 -1
  470. package/dist/a2a/types.js.map +1 -1
  471. package/dist/agent/durable-background.d.ts +11 -0
  472. package/dist/agent/durable-background.d.ts.map +1 -1
  473. package/dist/agent/durable-background.js +17 -0
  474. package/dist/agent/durable-background.js.map +1 -1
  475. package/dist/agent/production-agent.d.ts +2 -2
  476. package/dist/agent/production-agent.d.ts.map +1 -1
  477. package/dist/agent/production-agent.js +15 -5
  478. package/dist/agent/production-agent.js.map +1 -1
  479. package/dist/agent/run-manager.d.ts +44 -2
  480. package/dist/agent/run-manager.d.ts.map +1 -1
  481. package/dist/agent/run-manager.js +90 -9
  482. package/dist/agent/run-manager.js.map +1 -1
  483. package/dist/agent/run-store.d.ts +109 -0
  484. package/dist/agent/run-store.d.ts.map +1 -1
  485. package/dist/agent/run-store.js +206 -15
  486. package/dist/agent/run-store.js.map +1 -1
  487. package/dist/agent/types.d.ts +22 -0
  488. package/dist/agent/types.d.ts.map +1 -1
  489. package/dist/agent/types.js.map +1 -1
  490. package/dist/audit/record.d.ts.map +1 -1
  491. package/dist/audit/record.js +29 -0
  492. package/dist/audit/record.js.map +1 -1
  493. package/dist/audit/store.d.ts.map +1 -1
  494. package/dist/audit/store.js +62 -3
  495. package/dist/audit/store.js.map +1 -1
  496. package/dist/audit/types.d.ts +13 -0
  497. package/dist/audit/types.d.ts.map +1 -1
  498. package/dist/audit/types.js.map +1 -1
  499. package/dist/automation/index.d.ts +193 -0
  500. package/dist/automation/index.d.ts.map +1 -0
  501. package/dist/automation/index.js +464 -0
  502. package/dist/automation/index.js.map +1 -0
  503. package/dist/cli/create.d.ts.map +1 -1
  504. package/dist/cli/create.js +10 -3
  505. package/dist/cli/create.js.map +1 -1
  506. package/dist/cli/design-connect.d.ts.map +1 -1
  507. package/dist/cli/design-connect.js +492 -35
  508. package/dist/cli/design-connect.js.map +1 -1
  509. package/dist/client/AgentPanel.d.ts +7 -1
  510. package/dist/client/AgentPanel.d.ts.map +1 -1
  511. package/dist/client/AgentPanel.js +32 -8
  512. package/dist/client/AgentPanel.js.map +1 -1
  513. package/dist/client/AssistantChat.d.ts +15 -0
  514. package/dist/client/AssistantChat.d.ts.map +1 -1
  515. package/dist/client/AssistantChat.js +115 -47
  516. package/dist/client/AssistantChat.js.map +1 -1
  517. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  518. package/dist/client/MultiTabAssistantChat.js +1 -1
  519. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  520. package/dist/client/RunStuckBanner.d.ts +14 -1
  521. package/dist/client/RunStuckBanner.d.ts.map +1 -1
  522. package/dist/client/RunStuckBanner.js +35 -7
  523. package/dist/client/RunStuckBanner.js.map +1 -1
  524. package/dist/client/agent-chat-adapter.d.ts +4 -1
  525. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  526. package/dist/client/agent-chat-adapter.js +49 -4
  527. package/dist/client/agent-chat-adapter.js.map +1 -1
  528. package/dist/client/automation.d.ts +14 -0
  529. package/dist/client/automation.d.ts.map +1 -0
  530. package/dist/client/automation.js +9 -0
  531. package/dist/client/automation.js.map +1 -0
  532. package/dist/client/chat/run-recovery.d.ts +4 -0
  533. package/dist/client/chat/run-recovery.d.ts.map +1 -1
  534. package/dist/client/chat/run-recovery.js +12 -10
  535. package/dist/client/chat/run-recovery.js.map +1 -1
  536. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  537. package/dist/client/composer/TiptapComposer.js +8 -0
  538. package/dist/client/composer/TiptapComposer.js.map +1 -1
  539. package/dist/client/index.d.ts +2 -0
  540. package/dist/client/index.d.ts.map +1 -1
  541. package/dist/client/index.js +2 -0
  542. package/dist/client/index.js.map +1 -1
  543. package/dist/client/integrations/api.d.ts +115 -0
  544. package/dist/client/integrations/api.d.ts.map +1 -0
  545. package/dist/client/integrations/api.js +123 -0
  546. package/dist/client/integrations/api.js.map +1 -0
  547. package/dist/client/integrations/index.d.ts +1 -0
  548. package/dist/client/integrations/index.d.ts.map +1 -1
  549. package/dist/client/integrations/index.js +1 -0
  550. package/dist/client/integrations/index.js.map +1 -1
  551. package/dist/client/transcription/use-live-transcription.d.ts.map +1 -1
  552. package/dist/client/transcription/use-live-transcription.js +59 -5
  553. package/dist/client/transcription/use-live-transcription.js.map +1 -1
  554. package/dist/client/use-run-stuck-detection.d.ts +16 -1
  555. package/dist/client/use-run-stuck-detection.d.ts.map +1 -1
  556. package/dist/client/use-run-stuck-detection.js +23 -4
  557. package/dist/client/use-run-stuck-detection.js.map +1 -1
  558. package/dist/collab/struct-routes.d.ts +1 -1
  559. package/dist/deploy/build.d.ts.map +1 -1
  560. package/dist/deploy/build.js +49 -4
  561. package/dist/deploy/build.js.map +1 -1
  562. package/dist/deploy/workspace-deploy.d.ts.map +1 -1
  563. package/dist/deploy/workspace-deploy.js +31 -2
  564. package/dist/deploy/workspace-deploy.js.map +1 -1
  565. package/dist/file-upload/types.d.ts +2 -0
  566. package/dist/file-upload/types.d.ts.map +1 -1
  567. package/dist/file-upload/types.js.map +1 -1
  568. package/dist/index.d.ts +2 -0
  569. package/dist/index.d.ts.map +1 -1
  570. package/dist/index.js +2 -0
  571. package/dist/index.js.map +1 -1
  572. package/dist/integrations/a2a-continuations-store.d.ts.map +1 -1
  573. package/dist/integrations/a2a-continuations-store.js +6 -4
  574. package/dist/integrations/a2a-continuations-store.js.map +1 -1
  575. package/dist/integrations/adapters/discord.d.ts +3 -0
  576. package/dist/integrations/adapters/discord.d.ts.map +1 -0
  577. package/dist/integrations/adapters/discord.js +261 -0
  578. package/dist/integrations/adapters/discord.js.map +1 -0
  579. package/dist/integrations/adapters/index.d.ts +4 -0
  580. package/dist/integrations/adapters/index.d.ts.map +1 -0
  581. package/dist/integrations/adapters/index.js +26 -0
  582. package/dist/integrations/adapters/index.js.map +1 -0
  583. package/dist/integrations/adapters/microsoft-teams.d.ts +5 -0
  584. package/dist/integrations/adapters/microsoft-teams.d.ts.map +1 -0
  585. package/dist/integrations/adapters/microsoft-teams.js +295 -0
  586. package/dist/integrations/adapters/microsoft-teams.js.map +1 -0
  587. package/dist/integrations/adapters/slack.d.ts +8 -2
  588. package/dist/integrations/adapters/slack.d.ts.map +1 -1
  589. package/dist/integrations/adapters/slack.js +736 -27
  590. package/dist/integrations/adapters/slack.js.map +1 -1
  591. package/dist/integrations/adapters/telegram.d.ts +0 -2
  592. package/dist/integrations/adapters/telegram.d.ts.map +1 -1
  593. package/dist/integrations/adapters/telegram.js +49 -15
  594. package/dist/integrations/adapters/telegram.js.map +1 -1
  595. package/dist/integrations/adapters/whatsapp.d.ts +0 -2
  596. package/dist/integrations/adapters/whatsapp.d.ts.map +1 -1
  597. package/dist/integrations/adapters/whatsapp.js +40 -17
  598. package/dist/integrations/adapters/whatsapp.js.map +1 -1
  599. package/dist/integrations/catalog.d.ts +75 -0
  600. package/dist/integrations/catalog.d.ts.map +1 -0
  601. package/dist/integrations/catalog.js +451 -0
  602. package/dist/integrations/catalog.js.map +1 -0
  603. package/dist/integrations/controls-store.d.ts +44 -0
  604. package/dist/integrations/controls-store.d.ts.map +1 -0
  605. package/dist/integrations/controls-store.js +129 -0
  606. package/dist/integrations/controls-store.js.map +1 -0
  607. package/dist/integrations/index.d.ts +13 -1
  608. package/dist/integrations/index.d.ts.map +1 -1
  609. package/dist/integrations/index.js +9 -0
  610. package/dist/integrations/index.js.map +1 -1
  611. package/dist/integrations/installations-store.d.ts +112 -0
  612. package/dist/integrations/installations-store.d.ts.map +1 -0
  613. package/dist/integrations/installations-store.js +493 -0
  614. package/dist/integrations/installations-store.js.map +1 -0
  615. package/dist/integrations/integration-memory.d.ts +24 -0
  616. package/dist/integrations/integration-memory.d.ts.map +1 -0
  617. package/dist/integrations/integration-memory.js +136 -0
  618. package/dist/integrations/integration-memory.js.map +1 -0
  619. package/dist/integrations/pending-tasks-retry-job.d.ts.map +1 -1
  620. package/dist/integrations/pending-tasks-retry-job.js +6 -5
  621. package/dist/integrations/pending-tasks-retry-job.js.map +1 -1
  622. package/dist/integrations/pending-tasks-store.d.ts +17 -0
  623. package/dist/integrations/pending-tasks-store.d.ts.map +1 -1
  624. package/dist/integrations/pending-tasks-store.js +71 -5
  625. package/dist/integrations/pending-tasks-store.js.map +1 -1
  626. package/dist/integrations/plugin.d.ts.map +1 -1
  627. package/dist/integrations/plugin.js +520 -35
  628. package/dist/integrations/plugin.js.map +1 -1
  629. package/dist/integrations/scope-store.d.ts +65 -0
  630. package/dist/integrations/scope-store.d.ts.map +1 -0
  631. package/dist/integrations/scope-store.js +361 -0
  632. package/dist/integrations/scope-store.js.map +1 -0
  633. package/dist/integrations/slack-manifest.d.ts +66 -0
  634. package/dist/integrations/slack-manifest.d.ts.map +1 -0
  635. package/dist/integrations/slack-manifest.js +70 -0
  636. package/dist/integrations/slack-manifest.js.map +1 -0
  637. package/dist/integrations/slack-oauth.d.ts +99 -0
  638. package/dist/integrations/slack-oauth.d.ts.map +1 -0
  639. package/dist/integrations/slack-oauth.js +226 -0
  640. package/dist/integrations/slack-oauth.js.map +1 -0
  641. package/dist/integrations/types.d.ts +144 -0
  642. package/dist/integrations/types.d.ts.map +1 -1
  643. package/dist/integrations/types.js +16 -1
  644. package/dist/integrations/types.js.map +1 -1
  645. package/dist/integrations/usage-budget-store.d.ts +84 -0
  646. package/dist/integrations/usage-budget-store.d.ts.map +1 -0
  647. package/dist/integrations/usage-budget-store.js +650 -0
  648. package/dist/integrations/usage-budget-store.js.map +1 -0
  649. package/dist/integrations/webhook-handler.d.ts +4 -0
  650. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  651. package/dist/integrations/webhook-handler.js +415 -47
  652. package/dist/integrations/webhook-handler.js.map +1 -1
  653. package/dist/jobs/scheduler.d.ts +6 -0
  654. package/dist/jobs/scheduler.d.ts.map +1 -1
  655. package/dist/jobs/scheduler.js +83 -4
  656. package/dist/jobs/scheduler.js.map +1 -1
  657. package/dist/jobs/tools.d.ts.map +1 -1
  658. package/dist/jobs/tools.js +43 -11
  659. package/dist/jobs/tools.js.map +1 -1
  660. package/dist/observability/routes.d.ts +5 -5
  661. package/dist/progress/routes.d.ts +1 -1
  662. package/dist/provider-api/index.d.ts +4 -4
  663. package/dist/provider-api/index.d.ts.map +1 -1
  664. package/dist/provider-api/index.js +72 -1
  665. package/dist/provider-api/index.js.map +1 -1
  666. package/dist/resources/handlers.d.ts +3 -3
  667. package/dist/resources/handlers.d.ts.map +1 -1
  668. package/dist/resources/handlers.js +57 -15
  669. package/dist/resources/handlers.js.map +1 -1
  670. package/dist/resources/script-helpers.d.ts.map +1 -1
  671. package/dist/resources/script-helpers.js +34 -8
  672. package/dist/resources/script-helpers.js.map +1 -1
  673. package/dist/resources/store.d.ts +10 -0
  674. package/dist/resources/store.d.ts.map +1 -1
  675. package/dist/resources/store.js +54 -47
  676. package/dist/resources/store.js.map +1 -1
  677. package/dist/scripts/call-agent.d.ts.map +1 -1
  678. package/dist/scripts/call-agent.js +106 -1
  679. package/dist/scripts/call-agent.js.map +1 -1
  680. package/dist/server/agent-chat-plugin.d.ts +15 -4
  681. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  682. package/dist/server/agent-chat-plugin.js +248 -113
  683. package/dist/server/agent-chat-plugin.js.map +1 -1
  684. package/dist/server/auth.d.ts.map +1 -1
  685. package/dist/server/auth.js +10 -14
  686. package/dist/server/auth.js.map +1 -1
  687. package/dist/server/builder-design-systems.d.ts +3 -1
  688. package/dist/server/builder-design-systems.d.ts.map +1 -1
  689. package/dist/server/builder-design-systems.js +9 -2
  690. package/dist/server/builder-design-systems.js.map +1 -1
  691. package/dist/server/edge.d.ts +1 -1
  692. package/dist/server/edge.d.ts.map +1 -1
  693. package/dist/server/edge.js +1 -1
  694. package/dist/server/edge.js.map +1 -1
  695. package/dist/server/index.d.ts +2 -1
  696. package/dist/server/index.d.ts.map +1 -1
  697. package/dist/server/index.js +2 -1
  698. package/dist/server/index.js.map +1 -1
  699. package/dist/server/request-context.d.ts +18 -0
  700. package/dist/server/request-context.d.ts.map +1 -1
  701. package/dist/server/request-context.js.map +1 -1
  702. package/dist/server/social-og-image.d.ts.map +1 -1
  703. package/dist/server/social-og-image.js +3 -2
  704. package/dist/server/social-og-image.js.map +1 -1
  705. package/dist/server/transcribe-voice.d.ts +1 -1
  706. package/dist/styles/agent-native.css +62 -44
  707. package/dist/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
  708. package/dist/templates/default/AGENTS.md +7 -3
  709. package/dist/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
  710. package/dist/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
  711. package/dist/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
  712. package/dist/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
  713. package/dist/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
  714. package/dist/templates/workspace-core/AGENTS.md +3 -2
  715. package/dist/usage/store.d.ts +7 -0
  716. package/dist/usage/store.d.ts.map +1 -1
  717. package/dist/usage/store.js +24 -3
  718. package/dist/usage/store.js.map +1 -1
  719. package/docs/content/automation-connectors.mdx +80 -0
  720. package/docs/content/extensions.mdx +8 -0
  721. package/docs/content/locales/ar-SA/extensions.mdx +8 -0
  722. package/docs/content/locales/ar-SA/messaging.mdx +84 -15
  723. package/docs/content/locales/ar-SA/template-clips.mdx +1 -0
  724. package/docs/content/locales/ar-SA/template-design.mdx +1 -0
  725. package/docs/content/locales/de-DE/extensions.mdx +10 -0
  726. package/docs/content/locales/de-DE/messaging.mdx +92 -15
  727. package/docs/content/locales/de-DE/template-clips.mdx +1 -0
  728. package/docs/content/locales/de-DE/template-design.mdx +1 -0
  729. package/docs/content/locales/es-ES/extensions.mdx +10 -0
  730. package/docs/content/locales/es-ES/messaging.mdx +91 -15
  731. package/docs/content/locales/es-ES/template-clips.mdx +1 -0
  732. package/docs/content/locales/es-ES/template-design.mdx +1 -0
  733. package/docs/content/locales/fr-FR/extensions.mdx +10 -0
  734. package/docs/content/locales/fr-FR/messaging.mdx +91 -15
  735. package/docs/content/locales/fr-FR/template-clips.mdx +1 -0
  736. package/docs/content/locales/fr-FR/template-design.mdx +1 -0
  737. package/docs/content/locales/hi-IN/extensions.mdx +8 -0
  738. package/docs/content/locales/hi-IN/messaging.mdx +81 -15
  739. package/docs/content/locales/hi-IN/template-clips.mdx +1 -0
  740. package/docs/content/locales/hi-IN/template-design.mdx +1 -0
  741. package/docs/content/locales/ja-JP/extensions.mdx +9 -0
  742. package/docs/content/locales/ja-JP/messaging.mdx +81 -15
  743. package/docs/content/locales/ja-JP/template-clips.mdx +1 -0
  744. package/docs/content/locales/ja-JP/template-design.mdx +1 -0
  745. package/docs/content/locales/ko-KR/extensions.mdx +8 -0
  746. package/docs/content/locales/ko-KR/messaging.mdx +80 -15
  747. package/docs/content/locales/ko-KR/template-clips.mdx +1 -0
  748. package/docs/content/locales/ko-KR/template-design.mdx +1 -0
  749. package/docs/content/locales/pt-BR/extensions.mdx +9 -0
  750. package/docs/content/locales/pt-BR/messaging.mdx +88 -15
  751. package/docs/content/locales/pt-BR/template-clips.mdx +1 -0
  752. package/docs/content/locales/pt-BR/template-design.mdx +1 -0
  753. package/docs/content/locales/zh-CN/extensions.mdx +6 -0
  754. package/docs/content/locales/zh-CN/messaging.mdx +78 -15
  755. package/docs/content/locales/zh-CN/template-clips.mdx +1 -0
  756. package/docs/content/locales/zh-CN/template-design.mdx +1 -0
  757. package/docs/content/locales/zh-TW/extensions.mdx +6 -0
  758. package/docs/content/locales/zh-TW/messaging.mdx +78 -15
  759. package/docs/content/locales/zh-TW/template-clips.mdx +1 -0
  760. package/docs/content/locales/zh-TW/template-design.mdx +1 -0
  761. package/docs/content/messaging.mdx +227 -45
  762. package/docs/content/template-clips.mdx +3 -0
  763. package/docs/content/template-design.mdx +4 -0
  764. package/package.json +5 -1
  765. package/src/templates/default/.agents/skills/capture-learnings/SKILL.md +22 -9
  766. package/src/templates/default/AGENTS.md +7 -3
  767. package/src/templates/workspace-core/.agents/skills/authentication/SKILL.md +1 -1
  768. package/src/templates/workspace-core/.agents/skills/capture-learnings/SKILL.md +22 -9
  769. package/src/templates/workspace-core/.agents/skills/extension-points/SKILL.md +6 -3
  770. package/src/templates/workspace-core/.agents/skills/extensions/SKILL.md +25 -0
  771. package/src/templates/workspace-core/.agents/skills/integration-webhooks/SKILL.md +15 -0
  772. package/src/templates/workspace-core/AGENTS.md +3 -2
@@ -541,6 +541,26 @@ const messages = {
541
541
  updated: "Actualizado {{date}}",
542
542
  },
543
543
  database: {
544
+ formChecked: "已勾選",
545
+ formChooseOption: "選擇一個選項",
546
+ formDescription: "填寫以下問題,將頁面新增至此資料庫。",
547
+ formEditorAccessRequired: "需要編輯者權限才能提交此表單。",
548
+ formLongAnswerPlaceholder: "輸入詳細回覆...",
549
+ formMoveQuestionDown: "將 {{name}} 下移",
550
+ formMoveQuestionUp: "將 {{name}} 上移",
551
+ formName: "名稱",
552
+ formNotChecked: "未勾選",
553
+ formOnePerLinePlaceholder: "每行輸入一個值",
554
+ formQuestions: "問題",
555
+ formQuestionsDescription: "選擇顯示的問題、標示必填項目並設定順序。",
556
+ formRequired: "必填",
557
+ formRequiredError: "此問題為必填。",
558
+ formShowQuestion: "顯示",
559
+ formSubmit: "提交",
560
+ formSubmitFailed: "無法提交表單。",
561
+ formSubmitted: "回覆已提交",
562
+ formSubmittedDescription: "新的資料庫頁面已準備完成。",
563
+ formSubmitting: "提交中...",
544
564
  addARowTo: "新增列至…",
545
565
  addASource: "新增來源",
546
566
  aField: "一個欄位",
@@ -713,6 +733,7 @@ const messages = {
713
733
  previousTimelineRange: "上一個時間線範圍",
714
734
  propertyVisibility: "屬性可見性",
715
735
  reset: "重設",
736
+ refreshSource: "重新整理來源",
716
737
  resizeNameColumn: "調整名稱列寬",
717
738
  row: "行",
718
739
  rowOptions: "行選項",
@@ -136,6 +136,7 @@ const databaseMessages = {
136
136
  previousTimelineRange: "Previous timeline range",
137
137
  propertyVisibility: "Property visibility",
138
138
  reset: "Reset",
139
+ refreshSource: "Refresh source",
139
140
  resizeNameColumn: "Resize Name column",
140
141
  row: "Row",
141
142
  rowOptions: "Row options",
@@ -220,6 +221,28 @@ const databaseMessages = {
220
221
  expandAllGroups: "Expand all groups",
221
222
  fieldsWereNotAdded: "Fields were not added",
222
223
  filterRowsWhere: "Filter rows where",
224
+ formChecked: "Checked",
225
+ formChooseOption: "Choose an option",
226
+ formDescription:
227
+ "Fill out the questions below to add a page to this database.",
228
+ formEditorAccessRequired: "Editor access is required to submit this form.",
229
+ formLongAnswerPlaceholder: "Enter a detailed response...",
230
+ formMoveQuestionDown: "Move {{name}} down",
231
+ formMoveQuestionUp: "Move {{name}} up",
232
+ formName: "Name",
233
+ formNotChecked: "Not checked",
234
+ formOnePerLinePlaceholder: "Enter one value per line",
235
+ formQuestions: "Questions",
236
+ formQuestionsDescription:
237
+ "Choose which questions appear, mark required answers, and set their order.",
238
+ formRequired: "Required",
239
+ formRequiredError: "This question is required.",
240
+ formShowQuestion: "Show",
241
+ formSubmit: "Submit",
242
+ formSubmitFailed: "The form could not be submitted.",
243
+ formSubmitted: "Response submitted",
244
+ formSubmittedDescription: "The new database page is ready.",
245
+ formSubmitting: "Submitting...",
223
246
  gallery: "Gallery",
224
247
  groupBy: "Group by",
225
248
  groupName: "Group name",
@@ -409,6 +432,26 @@ const databaseMessagesByLocale = {
409
432
  "en-US": databaseMessages,
410
433
  "zh-TW": zhTW.database,
411
434
  "zh-CN": {
435
+ formChecked: "已勾选",
436
+ formChooseOption: "选择一个选项",
437
+ formDescription: "填写以下问题以向此数据库添加页面。",
438
+ formEditorAccessRequired: "需要编辑者权限才能提交此表单。",
439
+ formLongAnswerPlaceholder: "输入详细回复...",
440
+ formMoveQuestionDown: "将 {{name}} 下移",
441
+ formMoveQuestionUp: "将 {{name}} 上移",
442
+ formName: "名称",
443
+ formNotChecked: "未勾选",
444
+ formOnePerLinePlaceholder: "每行输入一个值",
445
+ formQuestions: "问题",
446
+ formQuestionsDescription: "选择显示的问题、标记必填项并调整顺序。",
447
+ formRequired: "必填",
448
+ formRequiredError: "此问题为必填项。",
449
+ formShowQuestion: "显示",
450
+ formSubmit: "提交",
451
+ formSubmitFailed: "无法提交表单。",
452
+ formSubmitted: "回复已提交",
453
+ formSubmittedDescription: "新的数据库页面已准备就绪。",
454
+ formSubmitting: "正在提交...",
412
455
  addARowTo: "添加行到…",
413
456
  addASource: "添加来源",
414
457
  aField: "一个字段",
@@ -545,6 +588,7 @@ const databaseMessagesByLocale = {
545
588
  previousMonth: "上个月",
546
589
  previousTimelineRange: "上一个时间线范围",
547
590
  propertyVisibility: "属性可见性",
591
+ refreshSource: "刷新数据源",
548
592
  resizeNameColumn: "调整名称列宽",
549
593
  search: "搜索",
550
594
  saveForEveryone: "为所有人保存",
@@ -567,6 +611,29 @@ const databaseMessagesByLocale = {
567
611
  wrapAllContent: "换行显示所有内容",
568
612
  },
569
613
  "es-ES": {
614
+ formChecked: "Marcado",
615
+ formChooseOption: "Elige una opción",
616
+ formDescription:
617
+ "Responde estas preguntas para añadir una página a esta base de datos.",
618
+ formEditorAccessRequired:
619
+ "Se necesita acceso de editor para enviar este formulario.",
620
+ formLongAnswerPlaceholder: "Escribe una respuesta detallada...",
621
+ formMoveQuestionDown: "Mover {{name}} hacia abajo",
622
+ formMoveQuestionUp: "Mover {{name}} hacia arriba",
623
+ formName: "Nombre",
624
+ formNotChecked: "Sin marcar",
625
+ formOnePerLinePlaceholder: "Introduce un valor por línea",
626
+ formQuestions: "Preguntas",
627
+ formQuestionsDescription:
628
+ "Elige qué preguntas aparecen, marca las obligatorias y ordénalas.",
629
+ formRequired: "Obligatorio",
630
+ formRequiredError: "Esta pregunta es obligatoria.",
631
+ formShowQuestion: "Mostrar",
632
+ formSubmit: "Enviar",
633
+ formSubmitFailed: "No se pudo enviar el formulario.",
634
+ formSubmitted: "Respuesta enviada",
635
+ formSubmittedDescription: "La nueva página de la base de datos está lista.",
636
+ formSubmitting: "Enviando...",
570
637
  addARowTo: "Añadir una fila a…",
571
638
  addASource: "Añadir una fuente",
572
639
  aField: "un campo",
@@ -719,6 +786,7 @@ const databaseMessagesByLocale = {
719
786
  previousMonth: "Mes anterior",
720
787
  previousTimelineRange: "Rango de cronología anterior",
721
788
  propertyVisibility: "Visibilidad de propiedades",
789
+ refreshSource: "Actualizar fuente",
722
790
  resizeNameColumn: "Cambiar ancho de la columna Nombre",
723
791
  search: "Buscar",
724
792
  saveForEveryone: "Guardar para todos",
@@ -741,6 +809,29 @@ const databaseMessagesByLocale = {
741
809
  wrapAllContent: "Ajustar todo el contenido",
742
810
  },
743
811
  "fr-FR": {
812
+ formChecked: "Coché",
813
+ formChooseOption: "Choisir une option",
814
+ formDescription:
815
+ "Répondez aux questions ci-dessous pour ajouter une page à cette base de données.",
816
+ formEditorAccessRequired:
817
+ "Un accès éditeur est requis pour envoyer ce formulaire.",
818
+ formLongAnswerPlaceholder: "Saisissez une réponse détaillée...",
819
+ formMoveQuestionDown: "Descendre {{name}}",
820
+ formMoveQuestionUp: "Monter {{name}}",
821
+ formName: "Nom",
822
+ formNotChecked: "Non coché",
823
+ formOnePerLinePlaceholder: "Saisissez une valeur par ligne",
824
+ formQuestions: "Questions",
825
+ formQuestionsDescription:
826
+ "Choisissez les questions affichées, les réponses obligatoires et leur ordre.",
827
+ formRequired: "Obligatoire",
828
+ formRequiredError: "Cette question est obligatoire.",
829
+ formShowQuestion: "Afficher",
830
+ formSubmit: "Envoyer",
831
+ formSubmitFailed: "Le formulaire n’a pas pu être envoyé.",
832
+ formSubmitted: "Réponse envoyée",
833
+ formSubmittedDescription: "La nouvelle page de base de données est prête.",
834
+ formSubmitting: "Envoi...",
744
835
  addARowTo: "Ajouter une ligne à…",
745
836
  addASource: "Ajouter une source",
746
837
  aField: "un champ",
@@ -894,6 +985,7 @@ const databaseMessagesByLocale = {
894
985
  previousMonth: "Mois précédent",
895
986
  previousTimelineRange: "Plage chronologique précédente",
896
987
  propertyVisibility: "Visibilité des propriétés",
988
+ refreshSource: "Actualiser la source",
897
989
  resizeNameColumn: "Redimensionner la colonne Nom",
898
990
  search: "Rechercher",
899
991
  saveForEveryone: "Enregistrer pour tout le monde",
@@ -916,6 +1008,28 @@ const databaseMessagesByLocale = {
916
1008
  wrapAllContent: "Renvoyer tout le contenu à la ligne",
917
1009
  },
918
1010
  "de-DE": {
1011
+ formChecked: "Ausgewählt",
1012
+ formChooseOption: "Option auswählen",
1013
+ formDescription:
1014
+ "Beantworten Sie die Fragen, um dieser Datenbank eine Seite hinzuzufügen.",
1015
+ formEditorAccessRequired: "Zum Absenden ist Editorzugriff erforderlich.",
1016
+ formLongAnswerPlaceholder: "Ausführliche Antwort eingeben...",
1017
+ formMoveQuestionDown: "{{name}} nach unten verschieben",
1018
+ formMoveQuestionUp: "{{name}} nach oben verschieben",
1019
+ formName: "Name",
1020
+ formNotChecked: "Nicht ausgewählt",
1021
+ formOnePerLinePlaceholder: "Einen Wert pro Zeile eingeben",
1022
+ formQuestions: "Fragen",
1023
+ formQuestionsDescription:
1024
+ "Legen Sie sichtbare und erforderliche Fragen sowie ihre Reihenfolge fest.",
1025
+ formRequired: "Erforderlich",
1026
+ formRequiredError: "Diese Frage ist erforderlich.",
1027
+ formShowQuestion: "Anzeigen",
1028
+ formSubmit: "Absenden",
1029
+ formSubmitFailed: "Das Formular konnte nicht gesendet werden.",
1030
+ formSubmitted: "Antwort gesendet",
1031
+ formSubmittedDescription: "Die neue Datenbankseite ist bereit.",
1032
+ formSubmitting: "Wird gesendet...",
919
1033
  addARowTo: "Zeile hinzufügen zu…",
920
1034
  addASource: "Quelle hinzufügen",
921
1035
  aField: "ein Feld",
@@ -1070,6 +1184,7 @@ const databaseMessagesByLocale = {
1070
1184
  previousMonth: "Vorheriger Monat",
1071
1185
  previousTimelineRange: "Vorheriger Zeitachsenbereich",
1072
1186
  propertyVisibility: "Eigenschaftensichtbarkeit",
1187
+ refreshSource: "Quelle aktualisieren",
1073
1188
  resizeNameColumn: "Namensspalte anpassen",
1074
1189
  search: "Suchen",
1075
1190
  saveForEveryone: "Für alle speichern",
@@ -1092,6 +1207,27 @@ const databaseMessagesByLocale = {
1092
1207
  wrapAllContent: "Gesamten Inhalt umbrechen",
1093
1208
  },
1094
1209
  "ja-JP": {
1210
+ formChecked: "チェック済み",
1211
+ formChooseOption: "オプションを選択",
1212
+ formDescription:
1213
+ "以下の質問に回答して、このデータベースにページを追加します。",
1214
+ formEditorAccessRequired: "このフォームの送信には編集権限が必要です。",
1215
+ formLongAnswerPlaceholder: "詳しい回答を入力...",
1216
+ formMoveQuestionDown: "{{name}} を下へ移動",
1217
+ formMoveQuestionUp: "{{name}} を上へ移動",
1218
+ formName: "名前",
1219
+ formNotChecked: "未チェック",
1220
+ formOnePerLinePlaceholder: "1行に1つ入力",
1221
+ formQuestions: "質問",
1222
+ formQuestionsDescription: "表示する質問、必須項目、順序を設定します。",
1223
+ formRequired: "必須",
1224
+ formRequiredError: "この質問は必須です。",
1225
+ formShowQuestion: "表示",
1226
+ formSubmit: "送信",
1227
+ formSubmitFailed: "フォームを送信できませんでした。",
1228
+ formSubmitted: "回答を送信しました",
1229
+ formSubmittedDescription: "新しいデータベースページを作成しました。",
1230
+ formSubmitting: "送信中...",
1095
1231
  addARowTo: "行の追加先…",
1096
1232
  addASource: "ソースを追加",
1097
1233
  aField: "フィールド",
@@ -1241,6 +1377,7 @@ const databaseMessagesByLocale = {
1241
1377
  previousMonth: "前の月",
1242
1378
  previousTimelineRange: "前のタイムライン範囲",
1243
1379
  propertyVisibility: "プロパティの表示",
1380
+ refreshSource: "ソースを更新",
1244
1381
  resizeNameColumn: "名前列のサイズ変更",
1245
1382
  search: "検索",
1246
1383
  saveForEveryone: "全員に保存",
@@ -1263,6 +1400,27 @@ const databaseMessagesByLocale = {
1263
1400
  wrapAllContent: "すべての内容を折り返す",
1264
1401
  },
1265
1402
  "ko-KR": {
1403
+ formChecked: "선택됨",
1404
+ formChooseOption: "옵션 선택",
1405
+ formDescription:
1406
+ "아래 질문에 답하여 이 데이터베이스에 페이지를 추가하세요.",
1407
+ formEditorAccessRequired: "이 양식을 제출하려면 편집자 권한이 필요합니다.",
1408
+ formLongAnswerPlaceholder: "자세한 답변 입력...",
1409
+ formMoveQuestionDown: "{{name}} 아래로 이동",
1410
+ formMoveQuestionUp: "{{name}} 위로 이동",
1411
+ formName: "이름",
1412
+ formNotChecked: "선택 안 됨",
1413
+ formOnePerLinePlaceholder: "한 줄에 하나씩 입력",
1414
+ formQuestions: "질문",
1415
+ formQuestionsDescription: "표시할 질문, 필수 답변, 순서를 설정하세요.",
1416
+ formRequired: "필수",
1417
+ formRequiredError: "필수 질문입니다.",
1418
+ formShowQuestion: "표시",
1419
+ formSubmit: "제출",
1420
+ formSubmitFailed: "양식을 제출하지 못했습니다.",
1421
+ formSubmitted: "응답 제출됨",
1422
+ formSubmittedDescription: "새 데이터베이스 페이지가 준비되었습니다.",
1423
+ formSubmitting: "제출 중...",
1266
1424
  addARowTo: "행 추가 대상…",
1267
1425
  addASource: "소스 추가",
1268
1426
  aField: "필드",
@@ -1410,6 +1568,7 @@ const databaseMessagesByLocale = {
1410
1568
  previousMonth: "이전 달",
1411
1569
  previousTimelineRange: "이전 타임라인 범위",
1412
1570
  propertyVisibility: "속성 표시 여부",
1571
+ refreshSource: "소스 새로 고침",
1413
1572
  resizeNameColumn: "이름 열 크기 조정",
1414
1573
  search: "검색",
1415
1574
  saveForEveryone: "모두에게 저장",
@@ -1432,6 +1591,29 @@ const databaseMessagesByLocale = {
1432
1591
  wrapAllContent: "모든 콘텐츠 줄바꿈",
1433
1592
  },
1434
1593
  "pt-BR": {
1594
+ formChecked: "Marcado",
1595
+ formChooseOption: "Escolha uma opção",
1596
+ formDescription:
1597
+ "Responda às perguntas abaixo para adicionar uma página a este banco de dados.",
1598
+ formEditorAccessRequired:
1599
+ "É necessário acesso de editor para enviar este formulário.",
1600
+ formLongAnswerPlaceholder: "Digite uma resposta detalhada...",
1601
+ formMoveQuestionDown: "Mover {{name}} para baixo",
1602
+ formMoveQuestionUp: "Mover {{name}} para cima",
1603
+ formName: "Nome",
1604
+ formNotChecked: "Desmarcado",
1605
+ formOnePerLinePlaceholder: "Digite um valor por linha",
1606
+ formQuestions: "Perguntas",
1607
+ formQuestionsDescription:
1608
+ "Escolha as perguntas exibidas, marque as obrigatórias e defina a ordem.",
1609
+ formRequired: "Obrigatório",
1610
+ formRequiredError: "Esta pergunta é obrigatória.",
1611
+ formShowQuestion: "Mostrar",
1612
+ formSubmit: "Enviar",
1613
+ formSubmitFailed: "Não foi possível enviar o formulário.",
1614
+ formSubmitted: "Resposta enviada",
1615
+ formSubmittedDescription: "A nova página do banco de dados está pronta.",
1616
+ formSubmitting: "Enviando...",
1435
1617
  addARowTo: "Adicionar uma linha a…",
1436
1618
  addASource: "Adicionar uma fonte",
1437
1619
  aField: "um campo",
@@ -1584,6 +1766,7 @@ const databaseMessagesByLocale = {
1584
1766
  previousMonth: "Mês anterior",
1585
1767
  previousTimelineRange: "Intervalo anterior da linha do tempo",
1586
1768
  propertyVisibility: "Visibilidade da propriedade",
1769
+ refreshSource: "Atualizar fonte",
1587
1770
  resizeNameColumn: "Redimensionar coluna Nome",
1588
1771
  search: "Buscar",
1589
1772
  saveForEveryone: "Salvar para todos",
@@ -1606,6 +1789,26 @@ const databaseMessagesByLocale = {
1606
1789
  wrapAllContent: "Quebrar todo o conteúdo",
1607
1790
  },
1608
1791
  "hi-IN": {
1792
+ formChecked: "चयनित",
1793
+ formChooseOption: "एक विकल्प चुनें",
1794
+ formDescription: "इस डेटाबेस में पेज जोड़ने के लिए नीचे दिए सवाल भरें।",
1795
+ formEditorAccessRequired: "यह फ़ॉर्म जमा करने के लिए संपादक पहुँच आवश्यक है।",
1796
+ formLongAnswerPlaceholder: "विस्तृत उत्तर लिखें...",
1797
+ formMoveQuestionDown: "{{name}} को नीचे ले जाएँ",
1798
+ formMoveQuestionUp: "{{name}} को ऊपर ले जाएँ",
1799
+ formName: "नाम",
1800
+ formNotChecked: "चयनित नहीं",
1801
+ formOnePerLinePlaceholder: "हर पंक्ति में एक मान लिखें",
1802
+ formQuestions: "सवाल",
1803
+ formQuestionsDescription: "दिखने वाले और आवश्यक सवाल चुनें और उनका क्रम तय करें।",
1804
+ formRequired: "आवश्यक",
1805
+ formRequiredError: "यह सवाल आवश्यक है।",
1806
+ formShowQuestion: "दिखाएँ",
1807
+ formSubmit: "जमा करें",
1808
+ formSubmitFailed: "फ़ॉर्म जमा नहीं हो सका।",
1809
+ formSubmitted: "उत्तर जमा हुआ",
1810
+ formSubmittedDescription: "नया डेटाबेस पेज तैयार है।",
1811
+ formSubmitting: "जमा हो रहा है...",
1609
1812
  addARowTo: "पंक्ति यहाँ जोड़ें…",
1610
1813
  addASource: "स्रोत जोड़ें",
1611
1814
  aField: "एक फ़ील्ड",
@@ -1749,6 +1952,7 @@ const databaseMessagesByLocale = {
1749
1952
  previousMonth: "पिछला महीना",
1750
1953
  previousTimelineRange: "पिछला टाइमलाइन रेंज",
1751
1954
  propertyVisibility: "प्रॉपर्टी दृश्यता",
1955
+ refreshSource: "स्रोत रीफ़्रेश करें",
1752
1956
  resizeNameColumn: "नाम कॉलम का आकार बदलें",
1753
1957
  search: "खोजें",
1754
1958
  saveForEveryone: "सभी के लिए सहेजें",
@@ -1771,6 +1975,26 @@ const databaseMessagesByLocale = {
1771
1975
  wrapAllContent: "सभी सामग्री रैप करें",
1772
1976
  },
1773
1977
  "ar-SA": {
1978
+ formChecked: "محدد",
1979
+ formChooseOption: "اختر خيارا",
1980
+ formDescription: "أجب عن الأسئلة أدناه لإضافة صفحة إلى قاعدة البيانات هذه.",
1981
+ formEditorAccessRequired: "يلزم وصول المحرر لإرسال هذا النموذج.",
1982
+ formLongAnswerPlaceholder: "أدخل إجابة مفصلة...",
1983
+ formMoveQuestionDown: "نقل {{name}} إلى أسفل",
1984
+ formMoveQuestionUp: "نقل {{name}} إلى أعلى",
1985
+ formName: "الاسم",
1986
+ formNotChecked: "غير محدد",
1987
+ formOnePerLinePlaceholder: "أدخل قيمة واحدة في كل سطر",
1988
+ formQuestions: "الأسئلة",
1989
+ formQuestionsDescription: "اختر الأسئلة الظاهرة والإجابات المطلوبة ورتبها.",
1990
+ formRequired: "مطلوب",
1991
+ formRequiredError: "هذا السؤال مطلوب.",
1992
+ formShowQuestion: "إظهار",
1993
+ formSubmit: "إرسال",
1994
+ formSubmitFailed: "تعذر إرسال النموذج.",
1995
+ formSubmitted: "تم إرسال الرد",
1996
+ formSubmittedDescription: "صفحة قاعدة البيانات الجديدة جاهزة.",
1997
+ formSubmitting: "جار الإرسال...",
1774
1998
  addARowTo: "إضافة صف إلى…",
1775
1999
  addASource: "إضافة مصدر",
1776
2000
  aField: "حقل",
@@ -1914,6 +2138,7 @@ const databaseMessagesByLocale = {
1914
2138
  previousMonth: "الشهر السابق",
1915
2139
  previousTimelineRange: "نطاق المخطط الزمني السابق",
1916
2140
  propertyVisibility: "رؤية الخصائص",
2141
+ refreshSource: "تحديث المصدر",
1917
2142
  resizeNameColumn: "تغيير حجم عمود الاسم",
1918
2143
  search: "بحث",
1919
2144
  saveForEveryone: "حفظ للجميع",
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: fixed
3
+ date: 2026-07-10
4
+ ---
5
+
6
+ Builder-backed properties now load current source values as soon as you add them.
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: fixed
3
+ date: 2026-07-10
4
+ ---
5
+
6
+ Builder database snapshots now refresh only when requested, continue past 500 rows, and ignore unchanged select values when counting pending changes.
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: added
3
+ date: 2026-07-10
4
+ ---
5
+
6
+ Database form views now collect ordered, required answers and create verified response pages.
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: improved
3
+ date: 2026-07-10
4
+ ---
5
+
6
+ Database tables now use a quieter, more compact layout with clearer filters and contextual shared-view controls.
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: improved
3
+ date: 2026-07-10
4
+ ---
5
+
6
+ Slack request intake can preserve its source thread, validate required database form fields, and return the exact submitted Content page.
@@ -5,6 +5,7 @@ This generated matrix tracks whether high-value Content UI operations use the sa
5
5
  | ID | Surface | User-visible action | Status | Actions | UI entrypoints | Durable effect | Exception / gap | Reliability risk | Spine priority | Test coverage | Coverage refs | Eval scenarios | Follow-up |
6
6
  | ---------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------- | -------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | ------------------------------ |
7
7
  | comments.threads | comments | List, add, reply, resolve, reopen, and delete comment threads | action-backed | `add-comment`, `delete-comment`, `list-comments`, `update-comment` | `app/components/editor/CommentsSidebar.tsx`, `app/hooks/use-comments.ts` | Comment threads, replies, anchors, mentions, resolution state, and deletion are stored through comment actions. | - | - | P0 | seeded | - | - | - |
8
+ | database.form-submissions | database | Submit public database forms as new rows | action-backed | `submit-content-database-form` | `app/components/editor/database/FormView.tsx` | A validated form submission atomically creates a database row document and its editable property values. | - | - | P0 | covered | `actions/submit-content-database-form.db.test.ts` | - | - |
8
9
  | database.lifecycle-and-trash | database | Create, soft-delete, restore, list, and inspect content databases | action-backed | `create-content-database`, `create-inline-content-database`, `delete-content-database`, `get-content-database`, `list-content-databases`, `list-trashed-content-databases`, `restore-content-database` | `app/components/editor/SlashCommandMenu.tsx`, `app/hooks/use-content-database.ts`, `app/hooks/use-documents.ts` | Database pages and database records are created, read, soft-deleted, restored, and listed. | - | - | P0 | covered | `actions/content-database-lifecycle.db.test.ts` | `database-source-scope` | - |
9
10
  | database.properties-and-view-config | database | Configure properties, values, ordering, and saved views | action-backed | `configure-document-property`, `delete-document-property`, `duplicate-document-property`, `get-content-database-personal-view`, `list-document-properties`, `reorder-document-property`, `set-document-property`, `update-content-database-personal-view`, `update-content-database-view` | `app/components/editor/DocumentProperties.tsx`, `app/components/editor/DocumentDatabase.tsx`, `app/components/editor/database/DatabaseView.tsx`, `app/hooks/use-document-properties.ts` | Property schemas, property values, property order, filters, sorts, grouping, hidden columns, view type, and view settings are stored. | - | - | P0 | covered | `actions/bind-content-database-source-field.db.test.ts`, `actions/content-database-source-actions.test.ts`, `actions/resync-content-database-source.db.test.ts` | `database-source-scope` | - |
10
11
  | database.rows | database | Add, duplicate, move, open, and delete database rows | action-backed | `add-database-item`, `delete-database-items`, `delete-document`, `duplicate-database-items`, `duplicate-database-item`, `move-database-item`, `set-document-property` | `app/components/editor/DocumentDatabase.tsx`, `app/components/editor/database/DatabaseView.tsx` | Database row backing documents and row ordering are created, duplicated, moved, edited, and deleted. | - | - | P0 | covered | `actions/database-row-batch-actions.db.test.ts`, `parity/__tests__/database-row-batch-reliability.test.ts` | `database-bulk-row-reliability` | - |
@@ -228,6 +228,24 @@ export const parityMatrix: ParityRow[] = [
228
228
  coverageRefs: ["actions/content-database-lifecycle.db.test.ts"],
229
229
  evalScenarioIds: ["database-source-scope"],
230
230
  },
231
+ {
232
+ id: "database.form-submissions",
233
+ surface: "database",
234
+ label: "Submit public database forms as new rows",
235
+ uiEntrypoints: ["app/components/editor/database/FormView.tsx"],
236
+ durableEffect:
237
+ "A validated form submission atomically creates a database row document and its editable property values.",
238
+ uiImplementation:
239
+ "The public form view calls the same submission action exposed to agents and rolls back the row if a property write fails.",
240
+ status: "action-backed",
241
+ actions: ["submit-content-database-form"],
242
+ exception: null,
243
+ reliabilityRisk: "none",
244
+ spinePriority: "P0",
245
+ testCoverage: "covered",
246
+ followUpPR: null,
247
+ coverageRefs: ["actions/submit-content-database-form.db.test.ts"],
248
+ },
231
249
  {
232
250
  id: "database.rows",
233
251
  surface: "database",
@@ -274,12 +274,20 @@ export type ContentDatabaseViewType =
274
274
  | "list"
275
275
  | "gallery"
276
276
  | "calendar"
277
- | "timeline";
277
+ | "timeline"
278
+ | "form";
278
279
 
279
280
  export type ContentDatabaseRowDensity = "compact" | "default" | "comfortable";
280
281
  export type ContentDatabaseFilterMode = "and" | "or";
281
282
  export type ContentDatabaseOpenPagesIn = "preview" | "full_page";
282
283
 
284
+ export interface ContentDatabaseFormQuestion {
285
+ /** "name" is the row page title; every other key is a property definition id. */
286
+ key: string;
287
+ enabled: boolean;
288
+ required: boolean;
289
+ }
290
+
283
291
  export interface ContentDatabaseView {
284
292
  id: string;
285
293
  name: string;
@@ -299,6 +307,7 @@ export interface ContentDatabaseView {
299
307
  wrapCells?: boolean;
300
308
  rowDensity?: ContentDatabaseRowDensity;
301
309
  openPagesIn?: ContentDatabaseOpenPagesIn;
310
+ formQuestions?: ContentDatabaseFormQuestion[];
302
311
  }
303
312
 
304
313
  export interface ContentDatabaseViewConfig {
@@ -735,6 +744,23 @@ export interface AddDatabaseItemRequest {
735
744
  propertyValues?: Record<string, DocumentPropertyValue>;
736
745
  }
737
746
 
747
+ export interface SubmitContentDatabaseFormRequest {
748
+ databaseId: string;
749
+ viewId?: string;
750
+ title?: string;
751
+ propertyValues?: Record<string, unknown>;
752
+ }
753
+
754
+ export interface SubmitContentDatabaseFormResponse {
755
+ databaseId: string;
756
+ viewId: string;
757
+ createdItemId: string;
758
+ createdDocumentId: string;
759
+ urlPath: string;
760
+ deepLink: string;
761
+ verified: true;
762
+ }
763
+
738
764
  export interface DuplicateDatabaseItemRequest {
739
765
  itemId?: string;
740
766
  documentId?: string;
@@ -0,0 +1,53 @@
1
+ import type { ContentDatabaseFormQuestion, ContentDatabaseView } from "./api";
2
+ import {
3
+ isComputedPropertyType,
4
+ type DocumentPropertyType,
5
+ } from "./properties";
6
+
7
+ export interface ContentDatabaseFormPropertyLike {
8
+ definition: {
9
+ id: string;
10
+ type: DocumentPropertyType;
11
+ };
12
+ }
13
+
14
+ export function contentDatabaseFormQuestions(
15
+ view: Pick<ContentDatabaseView, "formQuestions">,
16
+ properties: ContentDatabaseFormPropertyLike[],
17
+ ): ContentDatabaseFormQuestion[] {
18
+ const availableKeys = [
19
+ "name",
20
+ ...properties
21
+ .filter((property) => !isComputedPropertyType(property.definition.type))
22
+ .map((property) => property.definition.id),
23
+ ];
24
+ const available = new Set(availableKeys);
25
+ const configured = view.formQuestions ?? [];
26
+
27
+ if (configured.length === 0) {
28
+ return availableKeys.map((key) => ({
29
+ key,
30
+ enabled: true,
31
+ required: key === "name",
32
+ }));
33
+ }
34
+
35
+ const seen = new Set<string>();
36
+ const questions = configured.flatMap((question) => {
37
+ if (!available.has(question.key) || seen.has(question.key)) return [];
38
+ seen.add(question.key);
39
+ return [
40
+ {
41
+ key: question.key,
42
+ enabled: question.enabled !== false,
43
+ required: question.required === true,
44
+ },
45
+ ];
46
+ });
47
+
48
+ for (const key of availableKeys) {
49
+ if (seen.has(key)) continue;
50
+ questions.push({ key, enabled: true, required: key === "name" });
51
+ }
52
+ return questions;
53
+ }
@@ -11,11 +11,14 @@ metadata:
11
11
 
12
12
  # Capture Learnings
13
13
 
14
- This is background knowledge, not a slash command. **Your memory index is loaded at the start of every conversation.** Use `save-memory` proactively when you learn something worth remembering.
14
+ This is background knowledge, not a slash command. **Organization learnings and your personal memory index are loaded at the start of every conversation, including Slack/integration turns.** Capture durable context proactively when you learn something worth remembering.
15
15
 
16
16
  ## How to Read & Write Memories
17
17
 
18
- Memories are stored as **resources** in the SQL database (personal scope), not as files on disk.
18
+ Memories are stored as **resources** in the SQL database, not as files on disk.
19
+
20
+ - **Team/organization knowledge:** shared `LEARNINGS.md`. Read it first, merge the new fact, then write the full updated file with the `resources` tool using `scope: "shared"`. Shared scope resolves to the active organization; it must never leak to another organization in the same deployment.
21
+ - **Personal knowledge:** `memory/MEMORY.md` plus `memory/<name>.md`, written with `save-memory`.
19
22
 
20
23
  - **Save a memory:** `save-memory --name <name> --type <type> --description "..." --content "..."`
21
24
  - **Read a memory:** `resource-read --path memory/<name>.md`
@@ -33,6 +36,14 @@ Memories are stored as **resources** in the SQL database (personal scope), not a
33
36
 
34
37
  ## When to Capture
35
38
 
39
+ ### Team and organization knowledge (`LEARNINGS.md`, shared scope)
40
+ - Canonical destinations and workflows (for example, which Content database receives a type of Slack request)
41
+ - Required intake fields, ownership, prioritization conventions, metric definitions, and approved terminology
42
+ - Durable external references that the whole team needs, including the canonical page/database URL
43
+ - Corrections or decisions that should affect every organization member's future Slack and app conversations
44
+
45
+ Store the fact and a concise provenance link when available. Do not paste full private conversations, customer data, credentials, or secrets into learnings. Put stable always-on policy in shared `AGENTS.md`; put learned facts and evolving conventions in shared `LEARNINGS.md`.
46
+
36
47
  ### User Preferences & Memory (`user`)
37
48
  - **Tone and style** — "I prefer casual tone", "don't use emojis", "keep replies short"
38
49
  - **Personal context** — contacts, relationships, habits ("my wife's email is...", "I'm in PST timezone")
@@ -58,19 +69,21 @@ Memories are stored as **resources** in the SQL database (personal scope), not a
58
69
  - Things obvious from reading the code
59
70
  - Standard language/framework behavior
60
71
  - Temporary debugging notes
61
- - Anything already in AGENTS.md or skills
72
+ - Anything already in AGENTS.md, shared LEARNINGS.md, or skills
62
73
  - Ephemeral task details (use tasks/plans instead)
63
74
 
64
75
  ## Key Rules
65
76
 
66
- 1. **Save proactively — don't ask permission.** When you learn something, save it immediately.
67
- 2. **One memory per topic** e.g. `coding-style`, `project-alpha`, not one giant dump
68
- 3. **Read before updating** — if a memory exists, read it first and merge, don't overwrite
69
- 4. **Keep descriptions concise** — the index is loaded every conversation
70
- 5. **Memories are SQL-backed** — safe for personal info, persist across sessions, not in git
77
+ 1. **Save proactively — don't ask permission.** When you learn something durable, save it immediately at the correct scope.
78
+ 2. **Choose scope by audience.** Organization workflow or reference → shared `LEARNINGS.md`; one person's preference/context → personal memory.
79
+ 3. **One memory per topic** — e.g. `coding-style`, `project-alpha`, not one giant dump
80
+ 4. **Read before updating** — if a memory exists, read it first and merge, don't overwrite
81
+ 5. **Keep descriptions concise** — the index is loaded every conversation
82
+ 6. **Memories are SQL-backed** — they persist across sessions and are not in git; still minimize sensitive content
71
83
 
72
84
  ## Graduation
73
85
 
74
86
  When a memory is referenced repeatedly, it may belong in AGENTS.md or a skill:
75
- - Saving a memory is lightweight (auto-apply, personal scope)
87
+ - Saving a personal memory is lightweight (auto-apply, personal scope)
88
+ - Shared LEARNINGS.md is the lightweight organization knowledge layer
76
89
  - Updating AGENTS.md or a skill is heavier (affects all users/agents)