@agent-native/core 0.95.1 → 0.97.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 (655) hide show
  1. package/README.md +6 -0
  2. package/corpus/README.md +2 -2
  3. package/corpus/core/CHANGELOG.md +64 -0
  4. package/corpus/core/docs/content/audit-log.mdx +2 -1
  5. package/corpus/core/docs/content/automations.mdx +7 -7
  6. package/corpus/core/docs/content/creating-templates.mdx +1 -1
  7. package/corpus/core/docs/content/internationalization.mdx +2 -1
  8. package/corpus/core/docs/content/locales/ar-SA/audit-log.mdx +2 -1
  9. package/corpus/core/docs/content/locales/ar-SA/automations.mdx +7 -7
  10. package/corpus/core/docs/content/locales/ar-SA/getting-started.mdx +7 -1
  11. package/corpus/core/docs/content/locales/ar-SA/internationalization.mdx +1 -1
  12. package/corpus/core/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
  13. package/corpus/core/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
  14. package/corpus/core/docs/content/locales/ar-SA/security.mdx +8 -0
  15. package/corpus/core/docs/content/locales/de-DE/audit-log.mdx +2 -1
  16. package/corpus/core/docs/content/locales/de-DE/automations.mdx +7 -7
  17. package/corpus/core/docs/content/locales/de-DE/getting-started.mdx +7 -1
  18. package/corpus/core/docs/content/locales/de-DE/internationalization.mdx +1 -1
  19. package/corpus/core/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
  20. package/corpus/core/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
  21. package/corpus/core/docs/content/locales/de-DE/security.mdx +8 -0
  22. package/corpus/core/docs/content/locales/es-ES/audit-log.mdx +2 -1
  23. package/corpus/core/docs/content/locales/es-ES/automations.mdx +7 -7
  24. package/corpus/core/docs/content/locales/es-ES/getting-started.mdx +7 -1
  25. package/corpus/core/docs/content/locales/es-ES/internationalization.mdx +1 -1
  26. package/corpus/core/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
  27. package/corpus/core/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
  28. package/corpus/core/docs/content/locales/es-ES/security.mdx +8 -0
  29. package/corpus/core/docs/content/locales/fr-FR/audit-log.mdx +2 -1
  30. package/corpus/core/docs/content/locales/fr-FR/automations.mdx +7 -7
  31. package/corpus/core/docs/content/locales/fr-FR/getting-started.mdx +7 -1
  32. package/corpus/core/docs/content/locales/fr-FR/internationalization.mdx +1 -1
  33. package/corpus/core/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
  34. package/corpus/core/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
  35. package/corpus/core/docs/content/locales/fr-FR/security.mdx +8 -0
  36. package/corpus/core/docs/content/locales/hi-IN/audit-log.mdx +2 -1
  37. package/corpus/core/docs/content/locales/hi-IN/automations.mdx +7 -7
  38. package/corpus/core/docs/content/locales/hi-IN/getting-started.mdx +7 -1
  39. package/corpus/core/docs/content/locales/hi-IN/internationalization.mdx +1 -1
  40. package/corpus/core/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
  41. package/corpus/core/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
  42. package/corpus/core/docs/content/locales/hi-IN/security.mdx +8 -0
  43. package/corpus/core/docs/content/locales/ja-JP/audit-log.mdx +2 -1
  44. package/corpus/core/docs/content/locales/ja-JP/automations.mdx +7 -7
  45. package/corpus/core/docs/content/locales/ja-JP/getting-started.mdx +7 -1
  46. package/corpus/core/docs/content/locales/ja-JP/internationalization.mdx +1 -1
  47. package/corpus/core/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
  48. package/corpus/core/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
  49. package/corpus/core/docs/content/locales/ja-JP/security.mdx +8 -0
  50. package/corpus/core/docs/content/locales/ko-KR/audit-log.mdx +2 -1
  51. package/corpus/core/docs/content/locales/ko-KR/automations.mdx +7 -7
  52. package/corpus/core/docs/content/locales/ko-KR/getting-started.mdx +7 -1
  53. package/corpus/core/docs/content/locales/ko-KR/internationalization.mdx +1 -1
  54. package/corpus/core/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
  55. package/corpus/core/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
  56. package/corpus/core/docs/content/locales/ko-KR/security.mdx +8 -0
  57. package/corpus/core/docs/content/locales/pt-BR/audit-log.mdx +2 -1
  58. package/corpus/core/docs/content/locales/pt-BR/automations.mdx +7 -7
  59. package/corpus/core/docs/content/locales/pt-BR/getting-started.mdx +7 -1
  60. package/corpus/core/docs/content/locales/pt-BR/internationalization.mdx +1 -1
  61. package/corpus/core/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
  62. package/corpus/core/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
  63. package/corpus/core/docs/content/locales/pt-BR/security.mdx +8 -0
  64. package/corpus/core/docs/content/locales/zh-CN/audit-log.mdx +2 -1
  65. package/corpus/core/docs/content/locales/zh-CN/automations.mdx +7 -7
  66. package/corpus/core/docs/content/locales/zh-CN/getting-started.mdx +6 -4
  67. package/corpus/core/docs/content/locales/zh-CN/internationalization.mdx +1 -1
  68. package/corpus/core/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
  69. package/corpus/core/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
  70. package/corpus/core/docs/content/locales/zh-CN/security.mdx +8 -0
  71. package/corpus/core/docs/content/locales/zh-TW/audit-log.mdx +2 -1
  72. package/corpus/core/docs/content/locales/zh-TW/automations.mdx +7 -7
  73. package/corpus/core/docs/content/locales/zh-TW/getting-started.mdx +6 -4
  74. package/corpus/core/docs/content/locales/zh-TW/internationalization.mdx +1 -1
  75. package/corpus/core/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
  76. package/corpus/core/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
  77. package/corpus/core/docs/content/locales/zh-TW/security.mdx +8 -0
  78. package/corpus/core/docs/content/package-lifecycle.mdx +51 -0
  79. package/corpus/core/docs/content/sandbox-adapters.mdx +16 -5
  80. package/corpus/core/package.json +11 -2
  81. package/corpus/core/src/a2a/auth-policy.ts +33 -0
  82. package/corpus/core/src/a2a/client.ts +11 -1
  83. package/corpus/core/src/agent/durable-background.ts +15 -7
  84. package/corpus/core/src/agent/production-agent.ts +87 -27
  85. package/corpus/core/src/agent/run-store.ts +13 -4
  86. package/corpus/core/src/agent/thread-data-builder.ts +7 -5
  87. package/corpus/core/src/audit/actions/export-audit-events.ts +162 -0
  88. package/corpus/core/src/audit/store.ts +8 -3
  89. package/corpus/core/src/audit/types.ts +3 -0
  90. package/corpus/core/src/chat-threads/store.ts +20 -1
  91. package/corpus/core/src/cli/code-agent-executor.ts +1 -0
  92. package/corpus/core/src/cli/code-agent-runs.ts +14 -0
  93. package/corpus/core/src/cli/doctor.ts +396 -0
  94. package/corpus/core/src/cli/index.ts +56 -0
  95. package/corpus/core/src/cli/info.ts +3 -3
  96. package/corpus/core/src/cli/package-lifecycle.ts +821 -0
  97. package/corpus/core/src/client/AgentPanel.tsx +32 -25
  98. package/corpus/core/src/client/AssistantChat.tsx +36 -20
  99. package/corpus/core/src/client/MultiTabAssistantChat.tsx +141 -90
  100. package/corpus/core/src/client/agent-chat-adapter.ts +9 -9
  101. package/corpus/core/src/client/chat/ChatHistoryList.tsx +404 -0
  102. package/corpus/core/src/client/chat/index.ts +6 -0
  103. package/corpus/core/src/client/chat/tool-call-display.tsx +37 -3
  104. package/corpus/core/src/client/code-agent-chat-adapter.ts +72 -4
  105. package/corpus/core/src/client/composer/RealtimeVoiceMode.tsx +52 -11
  106. package/corpus/core/src/client/composer/TiptapComposer.tsx +157 -20
  107. package/corpus/core/src/client/composer/VoiceButton.tsx +28 -0
  108. package/corpus/core/src/client/composer/useRealtimeVoiceMode.tsx +5 -0
  109. package/corpus/core/src/client/conversation/code-agent-transcript.ts +4 -5
  110. package/corpus/core/src/client/guided-questions.tsx +2 -1
  111. package/corpus/core/src/client/index.ts +11 -0
  112. package/corpus/core/src/client/use-chat-threads.ts +10 -1
  113. package/corpus/core/src/client/voice-provider-status.ts +44 -0
  114. package/corpus/core/src/code-agents/transcript-normalizer.ts +76 -0
  115. package/corpus/core/src/deploy/build.ts +12 -11
  116. package/corpus/core/src/guards/db-tool-scoping.ts +129 -0
  117. package/corpus/core/src/guards/index.ts +23 -0
  118. package/corpus/core/src/guards/no-drizzle-push.ts +116 -0
  119. package/corpus/core/src/guards/no-env-credentials.ts +229 -0
  120. package/corpus/core/src/guards/no-env-mutation.ts +114 -0
  121. package/corpus/core/src/guards/no-localhost-fallback.ts +124 -0
  122. package/corpus/core/src/guards/no-unscoped-credentials.ts +227 -0
  123. package/corpus/core/src/guards/no-unscoped-queries.ts +834 -0
  124. package/corpus/core/src/guards/scan-utils.ts +105 -0
  125. package/corpus/core/src/guards/types.ts +30 -0
  126. package/corpus/core/src/integrations/a2a-continuation-processor.ts +35 -5
  127. package/corpus/core/src/integrations/adapters/slack.ts +74 -21
  128. package/corpus/core/src/integrations/webhook-handler.ts +14 -0
  129. package/corpus/core/src/localization/default-messages.ts +6 -0
  130. package/corpus/core/src/observability/hosted-model-experiment.ts +118 -0
  131. package/corpus/core/src/observability/routes.ts +17 -0
  132. package/corpus/core/src/observability/store.ts +4 -1
  133. package/corpus/core/src/observability/traces.ts +41 -2
  134. package/corpus/core/src/org/accept-pending.ts +9 -1
  135. package/corpus/core/src/org/migrations.ts +41 -0
  136. package/corpus/core/src/package-lifecycle/index.ts +1 -0
  137. package/corpus/core/src/package-lifecycle/manifest.ts +120 -0
  138. package/corpus/core/src/provider-api/custom-registry.ts +56 -0
  139. package/corpus/core/src/provider-api/index.ts +2 -0
  140. package/corpus/core/src/scripts/agent-engines/list-agent-engines.ts +19 -1
  141. package/corpus/core/src/scripts/call-agent.ts +53 -3
  142. package/corpus/core/src/scripts/chat/search-chats.ts +11 -8
  143. package/corpus/core/src/secrets/register-framework-secrets.ts +1 -1
  144. package/corpus/core/src/secrets/storage.ts +47 -27
  145. package/corpus/core/src/server/action-discovery.ts +4 -0
  146. package/corpus/core/src/server/agent-chat-plugin.ts +95 -18
  147. package/corpus/core/src/server/core-routes-plugin.ts +45 -14
  148. package/corpus/core/src/server/csrf.ts +24 -5
  149. package/corpus/core/src/server/framework-request-handler.ts +34 -0
  150. package/corpus/core/src/server/google-realtime-session.ts +1 -36
  151. package/corpus/core/src/server/poll.ts +24 -2
  152. package/corpus/core/src/server/realtime-voice.ts +80 -24
  153. package/corpus/core/src/server/request-origin.ts +63 -0
  154. package/corpus/core/src/server/transcribe-voice.ts +1 -50
  155. package/corpus/core/src/server/voice-providers-status.ts +4 -3
  156. package/corpus/core/src/shared/cache-control.ts +2 -8
  157. package/corpus/core/src/styles/agent-native.css +1 -0
  158. package/corpus/core/src/styles/chat-history-list.css +313 -0
  159. package/corpus/core/src/templates/default/package.json +2 -2
  160. package/corpus/core/src/templates/headless/package.json +0 -1
  161. package/corpus/core/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  162. package/corpus/core/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  163. package/corpus/core/src/templates/workspace-core/.agents/skills/observability/SKILL.md +20 -0
  164. package/corpus/core/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +8 -4
  165. package/corpus/core/src/templates/workspace-core/package.json +0 -1
  166. package/corpus/core/src/templates/workspace-root/package.json +0 -1
  167. package/corpus/core/src/triggers/actions.ts +11 -3
  168. package/corpus/core/src/triggers/types.ts +7 -1
  169. package/corpus/core/src/vite/client.ts +1 -0
  170. package/corpus/templates/analytics/AGENTS.md +7 -0
  171. package/corpus/templates/analytics/actions/bigquery.ts +26 -2
  172. package/corpus/templates/analytics/actions/compose-dashboard.ts +65 -37
  173. package/corpus/templates/analytics/actions/data-source-status.ts +18 -0
  174. package/corpus/templates/analytics/actions/mutate-dashboard.ts +73 -24
  175. package/corpus/templates/analytics/actions/reorder-dashboard-panels.ts +16 -13
  176. package/corpus/templates/analytics/actions/update-dashboard.ts +53 -42
  177. package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +5 -4
  178. package/corpus/templates/analytics/app/global.css +10 -0
  179. package/corpus/templates/analytics/app/pages/Ask.tsx +25 -2
  180. package/corpus/templates/analytics/changelog/2026-07-10-analytics-answers-simple-time-bounded-metrics-without-unnece.md +6 -0
  181. package/corpus/templates/analytics/changelog/2026-07-10-analytics-chat-reliably-uses-connected-data-sources-across-s.md +6 -0
  182. package/corpus/templates/analytics/changelog/2026-07-10-chat-threads-now-stay-clear-of-top-actions-and-fade-smoothly.md +6 -0
  183. package/corpus/templates/analytics/changelog/2026-07-10-context-chips-can-now-be-selected-and-removed-one-at-a-time-.md +6 -0
  184. package/corpus/templates/analytics/changelog/2026-07-10-dashboard-edits-from-the-agent-and-the-ui-at-the-same-time-n.md +6 -0
  185. package/corpus/templates/analytics/changelog/2026-07-10-the-ask-composer-no-longer-carries-dashboard-or-panel-contex.md +6 -0
  186. package/corpus/templates/analytics/changelog/2026-07-10-the-ask-section-stays-highlighted-while-its-chat-history-is-.md +6 -0
  187. package/corpus/templates/analytics/changelog/2026-07-10-timed-out-bigquery-jobs-are-now-cancelled-so-they-stop-consu.md +6 -0
  188. package/corpus/templates/analytics/package.json +1 -2
  189. package/corpus/templates/analytics/server/lib/bigquery.ts +91 -14
  190. package/corpus/templates/analytics/server/lib/dashboards-store.ts +154 -11
  191. package/corpus/templates/analytics/server/plugins/agent-chat.ts +82 -7
  192. package/corpus/templates/assets/package.json +1 -2
  193. package/corpus/templates/brain/package.json +1 -2
  194. package/corpus/templates/calendar/package.json +1 -2
  195. package/corpus/templates/chat/package.json +1 -2
  196. package/corpus/templates/clips/changelog/2026-07-10-atomic-view-tracking.md +6 -0
  197. package/corpus/templates/clips/chrome-extension/package.json +3 -2
  198. package/corpus/templates/clips/desktop/package.json +6 -4
  199. package/corpus/templates/clips/desktop/src/lib/recorder.ts +26 -13
  200. package/corpus/templates/clips/desktop/src/lib/voice-dictation.ts +4 -1
  201. package/corpus/templates/clips/package.json +1 -2
  202. package/corpus/templates/clips/server/db/schema.ts +29 -17
  203. package/corpus/templates/clips/server/plugins/db.ts +8 -0
  204. package/corpus/templates/clips/server/routes/api/view-event.post.ts +260 -105
  205. package/corpus/templates/content/.agents/skills/notion-integration/SKILL.md +16 -0
  206. package/corpus/templates/content/AGENTS.md +72 -62
  207. package/corpus/templates/content/actions/_content-database-source-adapters.ts +84 -0
  208. package/corpus/templates/content/actions/_database-source-utils.ts +206 -96
  209. package/corpus/templates/content/actions/_notion-database-source-adapter.ts +216 -0
  210. package/corpus/templates/content/actions/_position-utils.ts +76 -0
  211. package/corpus/templates/content/actions/_property-utils.ts +31 -20
  212. package/corpus/templates/content/actions/add-database-item.ts +52 -39
  213. package/corpus/templates/content/actions/attach-content-database-source.ts +95 -11
  214. package/corpus/templates/content/actions/change-content-database-source-role.ts +24 -1
  215. package/corpus/templates/content/actions/configure-document-property.ts +36 -27
  216. package/corpus/templates/content/actions/create-content-database.ts +40 -30
  217. package/corpus/templates/content/actions/create-document.ts +39 -32
  218. package/corpus/templates/content/actions/duplicate-document-property.ts +37 -28
  219. package/corpus/templates/content/actions/list-notion-database-sources.ts +80 -0
  220. package/corpus/templates/content/actions/move-document.ts +64 -48
  221. package/corpus/templates/content/actions/refresh-content-database-source.ts +42 -3
  222. package/corpus/templates/content/actions/share-local-file-document.ts +36 -27
  223. package/corpus/templates/content/actions/suggest-source-join-key.ts +39 -16
  224. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +89 -23
  225. package/corpus/templates/content/app/components/editor/database/settings.tsx +1 -1
  226. package/corpus/templates/content/app/hooks/use-content-database.ts +18 -1
  227. package/corpus/templates/content/app/i18n/zh-TW.ts +4 -0
  228. package/corpus/templates/content/app/i18n-data.ts +40 -0
  229. package/corpus/templates/content/changelog/2026-07-10-failed-row-creation-and-source-attach-now-show-an-error-inst.md +6 -0
  230. package/corpus/templates/content/changelog/2026-07-10-items-added-at-the-same-time-no-longer-end-up-with-identical.md +6 -0
  231. package/corpus/templates/content/changelog/2026-07-10-notion-databases-can-add-read-only-details-to-content-tables.md +6 -0
  232. package/corpus/templates/content/package.json +1 -2
  233. package/corpus/templates/content/parity/matrix.md +25 -25
  234. package/corpus/templates/content/parity/matrix.ts +1 -0
  235. package/corpus/templates/content/server/routes/api/documents/[id]/move.patch.ts +43 -26
  236. package/corpus/templates/content/shared/api.ts +16 -1
  237. package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +8 -4
  238. package/corpus/templates/design/AGENTS.md +12 -2
  239. package/corpus/templates/design/DEVELOPING.md +10 -6
  240. package/corpus/templates/design/actions/apply-visual-edit.ts +191 -6
  241. package/corpus/templates/design/actions/duplicate-design.ts +31 -25
  242. package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +5 -1
  243. package/corpus/templates/design/changelog/2026-07-10-duplicating-a-design-can-no-longer-produce-a-copy-with-missi.md +6 -0
  244. package/corpus/templates/design/changelog/2026-07-10-local-visual-edits-can-now-save-safe-leaf-text-class-and.md +6 -0
  245. package/corpus/templates/design/package.json +1 -1
  246. package/corpus/templates/design/shared/local-jsx-visual-edit.ts +388 -0
  247. package/corpus/templates/dispatch/package.json +1 -2
  248. package/corpus/templates/forms/actions/patch-form-fields.ts +82 -44
  249. package/corpus/templates/forms/changelog/2026-07-10-simultaneous-edits-to-different-form-fields-no-longer-overwr.md +6 -0
  250. package/corpus/templates/forms/package.json +1 -2
  251. package/corpus/templates/macros/package.json +1 -2
  252. package/corpus/templates/mail/app/components/email/EmailThread.tsx +3 -1
  253. package/corpus/templates/mail/changelog/2026-07-10-fixed-calendar-rsvp-buttons-in-emails-firing-duplicate-respo.md +6 -0
  254. package/corpus/templates/mail/package.json +1 -2
  255. package/corpus/templates/plan/actions/restore-plan-version.ts +126 -96
  256. package/corpus/templates/plan/changelog/2026-07-10-restoring-a-plan-version-can-no-longer-leave-a-plan-half-res.md +6 -0
  257. package/corpus/templates/plan/package.json +1 -2
  258. package/corpus/templates/plan/server/plans.ts +9 -2
  259. package/corpus/templates/slides/actions/list-decks.ts +28 -0
  260. package/corpus/templates/slides/app/components/deck/MermaidRenderer.tsx +41 -26
  261. package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +4 -8
  262. package/corpus/templates/slides/app/components/editor/EditorSidebar.tsx +2 -4
  263. package/corpus/templates/slides/app/components/editor/EditorToolbar.tsx +4 -8
  264. package/corpus/templates/slides/app/components/editor/ExportMenu.tsx +5 -12
  265. package/corpus/templates/slides/app/components/editor/HistoryPanel.tsx +3 -6
  266. package/corpus/templates/slides/app/components/editor/ImageDropPromptPopover.tsx +3 -6
  267. package/corpus/templates/slides/app/components/editor/PromptDialog.tsx +2 -5
  268. package/corpus/templates/slides/app/context/DeckContext.tsx +47 -4
  269. package/corpus/templates/slides/app/pages/DeckEditor.tsx +11 -30
  270. package/corpus/templates/slides/app/pages/Index.tsx +2 -3
  271. package/corpus/templates/slides/app/root.tsx +0 -5
  272. package/corpus/templates/slides/changelog/2026-07-10-deck-lists-load-much-faster-and-no-longer-re-download-slide-.md +6 -0
  273. package/corpus/templates/slides/package.json +1 -2
  274. package/dist/a2a/auth-policy.d.ts +19 -0
  275. package/dist/a2a/auth-policy.d.ts.map +1 -1
  276. package/dist/a2a/auth-policy.js +32 -0
  277. package/dist/a2a/auth-policy.js.map +1 -1
  278. package/dist/a2a/client.d.ts +7 -0
  279. package/dist/a2a/client.d.ts.map +1 -1
  280. package/dist/a2a/client.js +2 -1
  281. package/dist/a2a/client.js.map +1 -1
  282. package/dist/agent/durable-background.d.ts +8 -5
  283. package/dist/agent/durable-background.d.ts.map +1 -1
  284. package/dist/agent/durable-background.js +15 -8
  285. package/dist/agent/durable-background.js.map +1 -1
  286. package/dist/agent/production-agent.d.ts +6 -0
  287. package/dist/agent/production-agent.d.ts.map +1 -1
  288. package/dist/agent/production-agent.js +63 -26
  289. package/dist/agent/production-agent.js.map +1 -1
  290. package/dist/agent/run-store.d.ts.map +1 -1
  291. package/dist/agent/run-store.js +9 -4
  292. package/dist/agent/run-store.js.map +1 -1
  293. package/dist/agent/thread-data-builder.d.ts +1 -0
  294. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  295. package/dist/agent/thread-data-builder.js +6 -5
  296. package/dist/agent/thread-data-builder.js.map +1 -1
  297. package/dist/audit/actions/export-audit-events.d.ts +27 -0
  298. package/dist/audit/actions/export-audit-events.d.ts.map +1 -0
  299. package/dist/audit/actions/export-audit-events.js +144 -0
  300. package/dist/audit/actions/export-audit-events.js.map +1 -0
  301. package/dist/audit/store.d.ts +1 -0
  302. package/dist/audit/store.d.ts.map +1 -1
  303. package/dist/audit/store.js +8 -3
  304. package/dist/audit/store.js.map +1 -1
  305. package/dist/audit/types.d.ts +3 -0
  306. package/dist/audit/types.d.ts.map +1 -1
  307. package/dist/audit/types.js.map +1 -1
  308. package/dist/chat-threads/store.d.ts +10 -0
  309. package/dist/chat-threads/store.d.ts.map +1 -1
  310. package/dist/chat-threads/store.js +6 -0
  311. package/dist/chat-threads/store.js.map +1 -1
  312. package/dist/cli/code-agent-executor.d.ts.map +1 -1
  313. package/dist/cli/code-agent-executor.js +1 -0
  314. package/dist/cli/code-agent-executor.js.map +1 -1
  315. package/dist/cli/code-agent-runs.d.ts +12 -0
  316. package/dist/cli/code-agent-runs.d.ts.map +1 -1
  317. package/dist/cli/code-agent-runs.js +1 -0
  318. package/dist/cli/code-agent-runs.js.map +1 -1
  319. package/dist/cli/doctor.d.ts +83 -0
  320. package/dist/cli/doctor.d.ts.map +1 -0
  321. package/dist/cli/doctor.js +277 -0
  322. package/dist/cli/doctor.js.map +1 -0
  323. package/dist/cli/index.js +50 -0
  324. package/dist/cli/index.js.map +1 -1
  325. package/dist/cli/info.js +3 -3
  326. package/dist/cli/info.js.map +1 -1
  327. package/dist/cli/package-lifecycle.d.ts +50 -0
  328. package/dist/cli/package-lifecycle.d.ts.map +1 -0
  329. package/dist/cli/package-lifecycle.js +560 -0
  330. package/dist/cli/package-lifecycle.js.map +1 -0
  331. package/dist/client/AgentPanel.d.ts.map +1 -1
  332. package/dist/client/AgentPanel.js +3 -3
  333. package/dist/client/AgentPanel.js.map +1 -1
  334. package/dist/client/AssistantChat.d.ts +11 -0
  335. package/dist/client/AssistantChat.d.ts.map +1 -1
  336. package/dist/client/AssistantChat.js +7 -4
  337. package/dist/client/AssistantChat.js.map +1 -1
  338. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  339. package/dist/client/MultiTabAssistantChat.js +83 -10
  340. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  341. package/dist/client/agent-chat-adapter.js +7 -3
  342. package/dist/client/agent-chat-adapter.js.map +1 -1
  343. package/dist/client/chat/ChatHistoryList.d.ts +88 -0
  344. package/dist/client/chat/ChatHistoryList.d.ts.map +1 -0
  345. package/dist/client/chat/ChatHistoryList.js +83 -0
  346. package/dist/client/chat/ChatHistoryList.js.map +1 -0
  347. package/dist/client/chat/index.d.ts +1 -0
  348. package/dist/client/chat/index.d.ts.map +1 -1
  349. package/dist/client/chat/index.js +1 -0
  350. package/dist/client/chat/index.js.map +1 -1
  351. package/dist/client/chat/tool-call-display.d.ts +13 -1
  352. package/dist/client/chat/tool-call-display.d.ts.map +1 -1
  353. package/dist/client/chat/tool-call-display.js +10 -2
  354. package/dist/client/chat/tool-call-display.js.map +1 -1
  355. package/dist/client/code-agent-chat-adapter.d.ts +17 -1
  356. package/dist/client/code-agent-chat-adapter.d.ts.map +1 -1
  357. package/dist/client/code-agent-chat-adapter.js +47 -3
  358. package/dist/client/code-agent-chat-adapter.js.map +1 -1
  359. package/dist/client/composer/RealtimeVoiceMode.d.ts +11 -1
  360. package/dist/client/composer/RealtimeVoiceMode.d.ts.map +1 -1
  361. package/dist/client/composer/RealtimeVoiceMode.js +5 -3
  362. package/dist/client/composer/RealtimeVoiceMode.js.map +1 -1
  363. package/dist/client/composer/TiptapComposer.d.ts +25 -2
  364. package/dist/client/composer/TiptapComposer.d.ts.map +1 -1
  365. package/dist/client/composer/TiptapComposer.js +96 -5
  366. package/dist/client/composer/TiptapComposer.js.map +1 -1
  367. package/dist/client/composer/VoiceButton.d.ts.map +1 -1
  368. package/dist/client/composer/VoiceButton.js +21 -1
  369. package/dist/client/composer/VoiceButton.js.map +1 -1
  370. package/dist/client/composer/useRealtimeVoiceMode.d.ts.map +1 -1
  371. package/dist/client/composer/useRealtimeVoiceMode.js +5 -0
  372. package/dist/client/composer/useRealtimeVoiceMode.js.map +1 -1
  373. package/dist/client/conversation/code-agent-transcript.d.ts +2 -0
  374. package/dist/client/conversation/code-agent-transcript.d.ts.map +1 -1
  375. package/dist/client/conversation/code-agent-transcript.js +3 -5
  376. package/dist/client/conversation/code-agent-transcript.js.map +1 -1
  377. package/dist/client/guided-questions.d.ts.map +1 -1
  378. package/dist/client/guided-questions.js +2 -1
  379. package/dist/client/guided-questions.js.map +1 -1
  380. package/dist/client/index.d.ts +3 -1
  381. package/dist/client/index.d.ts.map +1 -1
  382. package/dist/client/index.js +3 -1
  383. package/dist/client/index.js.map +1 -1
  384. package/dist/client/use-chat-threads.d.ts.map +1 -1
  385. package/dist/client/use-chat-threads.js +9 -1
  386. package/dist/client/use-chat-threads.js.map +1 -1
  387. package/dist/client/voice-provider-status.d.ts +10 -0
  388. package/dist/client/voice-provider-status.d.ts.map +1 -0
  389. package/dist/client/voice-provider-status.js +32 -0
  390. package/dist/client/voice-provider-status.js.map +1 -0
  391. package/dist/code-agents/transcript-normalizer.d.ts +29 -0
  392. package/dist/code-agents/transcript-normalizer.d.ts.map +1 -1
  393. package/dist/code-agents/transcript-normalizer.js +55 -0
  394. package/dist/code-agents/transcript-normalizer.js.map +1 -1
  395. package/dist/collab/routes.d.ts +1 -1
  396. package/dist/deploy/build.d.ts.map +1 -1
  397. package/dist/deploy/build.js +13 -11
  398. package/dist/deploy/build.js.map +1 -1
  399. package/dist/guards/db-tool-scoping.d.ts +38 -0
  400. package/dist/guards/db-tool-scoping.d.ts.map +1 -0
  401. package/dist/guards/db-tool-scoping.js +114 -0
  402. package/dist/guards/db-tool-scoping.js.map +1 -0
  403. package/dist/guards/index.d.ts +23 -0
  404. package/dist/guards/index.d.ts.map +1 -0
  405. package/dist/guards/index.js +19 -0
  406. package/dist/guards/index.js.map +1 -0
  407. package/dist/guards/no-drizzle-push.d.ts +14 -0
  408. package/dist/guards/no-drizzle-push.d.ts.map +1 -0
  409. package/dist/guards/no-drizzle-push.js +97 -0
  410. package/dist/guards/no-drizzle-push.js.map +1 -0
  411. package/dist/guards/no-env-credentials.d.ts +36 -0
  412. package/dist/guards/no-env-credentials.d.ts.map +1 -0
  413. package/dist/guards/no-env-credentials.js +204 -0
  414. package/dist/guards/no-env-credentials.js.map +1 -0
  415. package/dist/guards/no-env-mutation.d.ts +23 -0
  416. package/dist/guards/no-env-mutation.d.ts.map +1 -0
  417. package/dist/guards/no-env-mutation.js +90 -0
  418. package/dist/guards/no-env-mutation.js.map +1 -0
  419. package/dist/guards/no-localhost-fallback.d.ts +30 -0
  420. package/dist/guards/no-localhost-fallback.d.ts.map +1 -0
  421. package/dist/guards/no-localhost-fallback.js +105 -0
  422. package/dist/guards/no-localhost-fallback.js.map +1 -0
  423. package/dist/guards/no-unscoped-credentials.d.ts +28 -0
  424. package/dist/guards/no-unscoped-credentials.d.ts.map +1 -0
  425. package/dist/guards/no-unscoped-credentials.js +199 -0
  426. package/dist/guards/no-unscoped-credentials.js.map +1 -0
  427. package/dist/guards/no-unscoped-queries.d.ts +32 -0
  428. package/dist/guards/no-unscoped-queries.d.ts.map +1 -0
  429. package/dist/guards/no-unscoped-queries.js +720 -0
  430. package/dist/guards/no-unscoped-queries.js.map +1 -0
  431. package/dist/guards/scan-utils.d.ts +28 -0
  432. package/dist/guards/scan-utils.d.ts.map +1 -0
  433. package/dist/guards/scan-utils.js +92 -0
  434. package/dist/guards/scan-utils.js.map +1 -0
  435. package/dist/guards/types.d.ts +28 -0
  436. package/dist/guards/types.d.ts.map +1 -0
  437. package/dist/guards/types.js +11 -0
  438. package/dist/guards/types.js.map +1 -0
  439. package/dist/integrations/a2a-continuation-processor.d.ts.map +1 -1
  440. package/dist/integrations/a2a-continuation-processor.js +25 -5
  441. package/dist/integrations/a2a-continuation-processor.js.map +1 -1
  442. package/dist/integrations/adapters/slack.d.ts.map +1 -1
  443. package/dist/integrations/adapters/slack.js +55 -21
  444. package/dist/integrations/adapters/slack.js.map +1 -1
  445. package/dist/integrations/webhook-handler.d.ts.map +1 -1
  446. package/dist/integrations/webhook-handler.js +11 -0
  447. package/dist/integrations/webhook-handler.js.map +1 -1
  448. package/dist/localization/default-messages.d.ts +5 -0
  449. package/dist/localization/default-messages.d.ts.map +1 -1
  450. package/dist/localization/default-messages.js +5 -0
  451. package/dist/localization/default-messages.js.map +1 -1
  452. package/dist/notifications/routes.d.ts +2 -2
  453. package/dist/observability/hosted-model-experiment.d.ts +39 -0
  454. package/dist/observability/hosted-model-experiment.d.ts.map +1 -0
  455. package/dist/observability/hosted-model-experiment.js +90 -0
  456. package/dist/observability/hosted-model-experiment.js.map +1 -0
  457. package/dist/observability/routes.d.ts +1 -1
  458. package/dist/observability/routes.d.ts.map +1 -1
  459. package/dist/observability/routes.js +16 -0
  460. package/dist/observability/routes.js.map +1 -1
  461. package/dist/observability/store.d.ts.map +1 -1
  462. package/dist/observability/store.js +4 -1
  463. package/dist/observability/store.js.map +1 -1
  464. package/dist/observability/traces.d.ts +6 -0
  465. package/dist/observability/traces.d.ts.map +1 -1
  466. package/dist/observability/traces.js +28 -2
  467. package/dist/observability/traces.js.map +1 -1
  468. package/dist/org/accept-pending.d.ts.map +1 -1
  469. package/dist/org/accept-pending.js +9 -1
  470. package/dist/org/accept-pending.js.map +1 -1
  471. package/dist/org/migrations.d.ts +7 -2
  472. package/dist/org/migrations.d.ts.map +1 -1
  473. package/dist/org/migrations.js +41 -0
  474. package/dist/org/migrations.js.map +1 -1
  475. package/dist/package-lifecycle/index.d.ts +2 -0
  476. package/dist/package-lifecycle/index.d.ts.map +1 -0
  477. package/dist/package-lifecycle/index.js +2 -0
  478. package/dist/package-lifecycle/index.js.map +1 -0
  479. package/dist/package-lifecycle/manifest.d.ts +24 -0
  480. package/dist/package-lifecycle/manifest.d.ts.map +1 -0
  481. package/dist/package-lifecycle/manifest.js +81 -0
  482. package/dist/package-lifecycle/manifest.js.map +1 -0
  483. package/dist/progress/routes.d.ts +1 -1
  484. package/dist/provider-api/custom-registry.d.ts +32 -1
  485. package/dist/provider-api/custom-registry.d.ts.map +1 -1
  486. package/dist/provider-api/custom-registry.js +41 -1
  487. package/dist/provider-api/custom-registry.js.map +1 -1
  488. package/dist/provider-api/index.d.ts +1 -1
  489. package/dist/provider-api/index.d.ts.map +1 -1
  490. package/dist/provider-api/index.js +1 -1
  491. package/dist/provider-api/index.js.map +1 -1
  492. package/dist/resources/handlers.d.ts +1 -1
  493. package/dist/scripts/agent-engines/list-agent-engines.d.ts.map +1 -1
  494. package/dist/scripts/agent-engines/list-agent-engines.js +19 -1
  495. package/dist/scripts/agent-engines/list-agent-engines.js.map +1 -1
  496. package/dist/scripts/call-agent.d.ts.map +1 -1
  497. package/dist/scripts/call-agent.js +43 -3
  498. package/dist/scripts/call-agent.js.map +1 -1
  499. package/dist/scripts/chat/search-chats.d.ts +1 -1
  500. package/dist/scripts/chat/search-chats.d.ts.map +1 -1
  501. package/dist/scripts/chat/search-chats.js +11 -8
  502. package/dist/scripts/chat/search-chats.js.map +1 -1
  503. package/dist/secrets/register-framework-secrets.js +1 -1
  504. package/dist/secrets/register-framework-secrets.js.map +1 -1
  505. package/dist/secrets/storage.d.ts.map +1 -1
  506. package/dist/secrets/storage.js +45 -27
  507. package/dist/secrets/storage.js.map +1 -1
  508. package/dist/server/action-discovery.d.ts.map +1 -1
  509. package/dist/server/action-discovery.js +4 -0
  510. package/dist/server/action-discovery.js.map +1 -1
  511. package/dist/server/agent-chat-plugin.d.ts +11 -0
  512. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  513. package/dist/server/agent-chat-plugin.js +74 -19
  514. package/dist/server/agent-chat-plugin.js.map +1 -1
  515. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  516. package/dist/server/core-routes-plugin.d.ts +3 -0
  517. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  518. package/dist/server/core-routes-plugin.js +36 -12
  519. package/dist/server/core-routes-plugin.js.map +1 -1
  520. package/dist/server/csrf.d.ts.map +1 -1
  521. package/dist/server/csrf.js +18 -5
  522. package/dist/server/csrf.js.map +1 -1
  523. package/dist/server/framework-request-handler.d.ts.map +1 -1
  524. package/dist/server/framework-request-handler.js +34 -0
  525. package/dist/server/framework-request-handler.js.map +1 -1
  526. package/dist/server/google-realtime-session.d.ts.map +1 -1
  527. package/dist/server/google-realtime-session.js +2 -34
  528. package/dist/server/google-realtime-session.js.map +1 -1
  529. package/dist/server/poll.d.ts.map +1 -1
  530. package/dist/server/poll.js +24 -2
  531. package/dist/server/poll.js.map +1 -1
  532. package/dist/server/realtime-voice.d.ts.map +1 -1
  533. package/dist/server/realtime-voice.js +64 -21
  534. package/dist/server/realtime-voice.js.map +1 -1
  535. package/dist/server/request-origin.d.ts +10 -0
  536. package/dist/server/request-origin.d.ts.map +1 -0
  537. package/dist/server/request-origin.js +60 -0
  538. package/dist/server/request-origin.js.map +1 -0
  539. package/dist/server/transcribe-voice.d.ts.map +1 -1
  540. package/dist/server/transcribe-voice.js +2 -48
  541. package/dist/server/transcribe-voice.js.map +1 -1
  542. package/dist/server/voice-providers-status.d.ts.map +1 -1
  543. package/dist/server/voice-providers-status.js +2 -3
  544. package/dist/server/voice-providers-status.js.map +1 -1
  545. package/dist/shared/cache-control.d.ts +4 -6
  546. package/dist/shared/cache-control.d.ts.map +1 -1
  547. package/dist/shared/cache-control.js +2 -7
  548. package/dist/shared/cache-control.js.map +1 -1
  549. package/dist/styles/agent-native.css +1 -0
  550. package/dist/styles/chat-history-list.css +313 -0
  551. package/dist/templates/default/package.json +2 -2
  552. package/dist/templates/headless/package.json +0 -1
  553. package/dist/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  554. package/dist/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  555. package/dist/templates/workspace-core/.agents/skills/observability/SKILL.md +20 -0
  556. package/dist/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +8 -4
  557. package/dist/templates/workspace-core/package.json +0 -1
  558. package/dist/templates/workspace-root/package.json +0 -1
  559. package/dist/triggers/actions.d.ts.map +1 -1
  560. package/dist/triggers/actions.js +8 -3
  561. package/dist/triggers/actions.js.map +1 -1
  562. package/dist/triggers/types.d.ts +7 -1
  563. package/dist/triggers/types.d.ts.map +1 -1
  564. package/dist/triggers/types.js.map +1 -1
  565. package/dist/vite/client.d.ts.map +1 -1
  566. package/dist/vite/client.js +1 -0
  567. package/dist/vite/client.js.map +1 -1
  568. package/docs/content/audit-log.mdx +2 -1
  569. package/docs/content/automations.mdx +7 -7
  570. package/docs/content/creating-templates.mdx +1 -1
  571. package/docs/content/internationalization.mdx +2 -1
  572. package/docs/content/locales/ar-SA/audit-log.mdx +2 -1
  573. package/docs/content/locales/ar-SA/automations.mdx +7 -7
  574. package/docs/content/locales/ar-SA/getting-started.mdx +7 -1
  575. package/docs/content/locales/ar-SA/internationalization.mdx +1 -1
  576. package/docs/content/locales/ar-SA/package-lifecycle.mdx +19 -0
  577. package/docs/content/locales/ar-SA/sandbox-adapters.mdx +18 -7
  578. package/docs/content/locales/ar-SA/security.mdx +8 -0
  579. package/docs/content/locales/de-DE/audit-log.mdx +2 -1
  580. package/docs/content/locales/de-DE/automations.mdx +7 -7
  581. package/docs/content/locales/de-DE/getting-started.mdx +7 -1
  582. package/docs/content/locales/de-DE/internationalization.mdx +1 -1
  583. package/docs/content/locales/de-DE/package-lifecycle.mdx +22 -0
  584. package/docs/content/locales/de-DE/sandbox-adapters.mdx +18 -7
  585. package/docs/content/locales/de-DE/security.mdx +8 -0
  586. package/docs/content/locales/es-ES/audit-log.mdx +2 -1
  587. package/docs/content/locales/es-ES/automations.mdx +7 -7
  588. package/docs/content/locales/es-ES/getting-started.mdx +7 -1
  589. package/docs/content/locales/es-ES/internationalization.mdx +1 -1
  590. package/docs/content/locales/es-ES/package-lifecycle.mdx +22 -0
  591. package/docs/content/locales/es-ES/sandbox-adapters.mdx +18 -7
  592. package/docs/content/locales/es-ES/security.mdx +8 -0
  593. package/docs/content/locales/fr-FR/audit-log.mdx +2 -1
  594. package/docs/content/locales/fr-FR/automations.mdx +7 -7
  595. package/docs/content/locales/fr-FR/getting-started.mdx +7 -1
  596. package/docs/content/locales/fr-FR/internationalization.mdx +1 -1
  597. package/docs/content/locales/fr-FR/package-lifecycle.mdx +21 -0
  598. package/docs/content/locales/fr-FR/sandbox-adapters.mdx +19 -8
  599. package/docs/content/locales/fr-FR/security.mdx +8 -0
  600. package/docs/content/locales/hi-IN/audit-log.mdx +2 -1
  601. package/docs/content/locales/hi-IN/automations.mdx +7 -7
  602. package/docs/content/locales/hi-IN/getting-started.mdx +7 -1
  603. package/docs/content/locales/hi-IN/internationalization.mdx +1 -1
  604. package/docs/content/locales/hi-IN/package-lifecycle.mdx +20 -0
  605. package/docs/content/locales/hi-IN/sandbox-adapters.mdx +18 -7
  606. package/docs/content/locales/hi-IN/security.mdx +8 -0
  607. package/docs/content/locales/ja-JP/audit-log.mdx +2 -1
  608. package/docs/content/locales/ja-JP/automations.mdx +7 -7
  609. package/docs/content/locales/ja-JP/getting-started.mdx +7 -1
  610. package/docs/content/locales/ja-JP/internationalization.mdx +1 -1
  611. package/docs/content/locales/ja-JP/package-lifecycle.mdx +21 -0
  612. package/docs/content/locales/ja-JP/sandbox-adapters.mdx +17 -6
  613. package/docs/content/locales/ja-JP/security.mdx +8 -0
  614. package/docs/content/locales/ko-KR/audit-log.mdx +2 -1
  615. package/docs/content/locales/ko-KR/automations.mdx +7 -7
  616. package/docs/content/locales/ko-KR/getting-started.mdx +7 -1
  617. package/docs/content/locales/ko-KR/internationalization.mdx +1 -1
  618. package/docs/content/locales/ko-KR/package-lifecycle.mdx +20 -0
  619. package/docs/content/locales/ko-KR/sandbox-adapters.mdx +17 -6
  620. package/docs/content/locales/ko-KR/security.mdx +8 -0
  621. package/docs/content/locales/pt-BR/audit-log.mdx +2 -1
  622. package/docs/content/locales/pt-BR/automations.mdx +7 -7
  623. package/docs/content/locales/pt-BR/getting-started.mdx +7 -1
  624. package/docs/content/locales/pt-BR/internationalization.mdx +1 -1
  625. package/docs/content/locales/pt-BR/package-lifecycle.mdx +21 -0
  626. package/docs/content/locales/pt-BR/sandbox-adapters.mdx +18 -7
  627. package/docs/content/locales/pt-BR/security.mdx +8 -0
  628. package/docs/content/locales/zh-CN/audit-log.mdx +2 -1
  629. package/docs/content/locales/zh-CN/automations.mdx +7 -7
  630. package/docs/content/locales/zh-CN/getting-started.mdx +6 -4
  631. package/docs/content/locales/zh-CN/internationalization.mdx +1 -1
  632. package/docs/content/locales/zh-CN/package-lifecycle.mdx +19 -0
  633. package/docs/content/locales/zh-CN/sandbox-adapters.mdx +17 -6
  634. package/docs/content/locales/zh-CN/security.mdx +8 -0
  635. package/docs/content/locales/zh-TW/audit-log.mdx +2 -1
  636. package/docs/content/locales/zh-TW/automations.mdx +7 -7
  637. package/docs/content/locales/zh-TW/getting-started.mdx +6 -4
  638. package/docs/content/locales/zh-TW/internationalization.mdx +1 -1
  639. package/docs/content/locales/zh-TW/package-lifecycle.mdx +19 -0
  640. package/docs/content/locales/zh-TW/sandbox-adapters.mdx +18 -7
  641. package/docs/content/locales/zh-TW/security.mdx +8 -0
  642. package/docs/content/package-lifecycle.mdx +51 -0
  643. package/docs/content/sandbox-adapters.mdx +16 -5
  644. package/package.json +12 -3
  645. package/src/templates/default/package.json +2 -2
  646. package/src/templates/headless/package.json +0 -1
  647. package/src/templates/workspace-core/.agents/skills/audit-log/SKILL.md +3 -0
  648. package/src/templates/workspace-core/.agents/skills/automations/SKILL.md +1 -1
  649. package/src/templates/workspace-core/.agents/skills/observability/SKILL.md +20 -0
  650. package/src/templates/workspace-core/.agents/skills/voice-transcription/SKILL.md +8 -4
  651. package/src/templates/workspace-core/package.json +0 -1
  652. package/src/templates/workspace-root/package.json +0 -1
  653. package/corpus/templates/slides/app/components/ui/toast.tsx +0 -1
  654. package/corpus/templates/slides/app/components/ui/toaster.tsx +0 -1
  655. package/corpus/templates/slides/app/hooks/use-toast.ts +0 -1
@@ -159,6 +159,7 @@ import {
159
159
  useDuplicateDatabaseItems,
160
160
  useExecuteBuilderSourceExecution,
161
161
  useMoveDatabaseItem,
162
+ useNotionDatabaseSources,
162
163
  usePrepareBuilderSourceReview,
163
164
  useProcessBuilderBodyHydration,
164
165
  useRefreshContentDatabaseSource,
@@ -1067,12 +1068,21 @@ function DatabaseTable({
1067
1068
  ...databasePropertyValuesForNewItem(filters, properties, filterMode),
1068
1069
  ...propertyValueOverrides,
1069
1070
  };
1070
- const response = await addItem.mutateAsync({
1071
- databaseId,
1072
- title,
1073
- propertyValues:
1074
- Object.keys(propertyValues).length > 0 ? propertyValues : undefined,
1075
- });
1071
+ let response;
1072
+ try {
1073
+ response = await addItem.mutateAsync({
1074
+ databaseId,
1075
+ title,
1076
+ propertyValues:
1077
+ Object.keys(propertyValues).length > 0 ? propertyValues : undefined,
1078
+ });
1079
+ } catch (err) {
1080
+ toast.error(dbText("failedToCreateRow"), {
1081
+ description:
1082
+ err instanceof Error ? err.message : dbText("somethingWentWrong"),
1083
+ });
1084
+ return null;
1085
+ }
1076
1086
  const createdItem = response.items.find(
1077
1087
  (item) => item.id === response.createdItemId,
1078
1088
  );
@@ -5365,7 +5375,7 @@ type DatabaseSettingsPanel =
5365
5375
  // the leaf can attach without re-fetching.
5366
5376
  // A second source being added, awaiting the canonical-key confirm step.
5367
5377
  type PendingSourceCandidate = {
5368
- sourceType: "mock-local" | "builder-cms" | "local-table";
5378
+ sourceType: "mock-local" | "builder-cms" | "local-table" | "notion-database";
5369
5379
  sourceName: string;
5370
5380
  sourceTable: string;
5371
5381
  displayName: string;
@@ -5983,6 +5993,7 @@ function DatabaseSettingsSourcePanel({
5983
5993
  onOpenBuilder={() =>
5984
5994
  onNavPush({ kind: "provider", providerId: "builder" })
5985
5995
  }
5996
+ onOpenNotion={() => onNavPush({ kind: "addSource" })}
5986
5997
  onOpenSecondary={(secondary) =>
5987
5998
  onNavPush({
5988
5999
  kind: "secondarySource",
@@ -6021,6 +6032,17 @@ function DatabaseSettingsSourcePanel({
6021
6032
  },
6022
6033
  })
6023
6034
  }
6035
+ onPickNotionDatabase={(notionSource) =>
6036
+ onNavPush({
6037
+ kind: "keyConfirm",
6038
+ candidate: {
6039
+ sourceType: "notion-database",
6040
+ sourceName: notionSource.name,
6041
+ sourceTable: notionSource.id,
6042
+ displayName: notionSource.name,
6043
+ },
6044
+ })
6045
+ }
6024
6046
  />
6025
6047
  );
6026
6048
  }
@@ -6241,8 +6263,17 @@ function DatabaseSettingsSourcePanel({
6241
6263
  size="sm"
6242
6264
  disabled={!canEdit || sourceActionPending}
6243
6265
  onClick={async () => {
6244
- await onAttachBuilderSource(model);
6245
- onNavReplace([]);
6266
+ try {
6267
+ await onAttachBuilderSource(model);
6268
+ onNavReplace([]);
6269
+ } catch (err) {
6270
+ toast.error(dbText("failedToAttachSource"), {
6271
+ description:
6272
+ err instanceof Error
6273
+ ? err.message
6274
+ : dbText("somethingWentWrong"),
6275
+ });
6276
+ }
6246
6277
  }}
6247
6278
  >
6248
6279
  {sourceActionPending ? (
@@ -6484,6 +6515,7 @@ function SourcesListView({
6484
6515
  builderSpaceLabel,
6485
6516
  reviewableCount,
6486
6517
  onOpenBuilder,
6518
+ onOpenNotion,
6487
6519
  onOpenSecondary,
6488
6520
  onAddSource,
6489
6521
  }: {
@@ -6493,6 +6525,7 @@ function SourcesListView({
6493
6525
  builderSpaceLabel: string | null;
6494
6526
  reviewableCount: number;
6495
6527
  onOpenBuilder: () => void;
6528
+ onOpenNotion: () => void;
6496
6529
  onOpenSecondary: (source: ContentDatabaseSource) => void;
6497
6530
  onAddSource: () => void;
6498
6531
  }) {
@@ -6562,8 +6595,14 @@ function SourcesListView({
6562
6595
  <DatabaseSettingsRow
6563
6596
  icon={<NotionLogoMark className="size-4" />}
6564
6597
  label="Notion"
6565
- value="Coming soon"
6566
- disabled
6598
+ value={
6599
+ connectedSources.some(
6600
+ (connected) => connected.sourceType === "notion-database",
6601
+ )
6602
+ ? dbText("connected")
6603
+ : undefined
6604
+ }
6605
+ onClick={onOpenNotion}
6567
6606
  />
6568
6607
  </div>
6569
6608
  <div className="grid min-w-0 gap-1.5">
@@ -6776,6 +6815,7 @@ function AddSourceView({
6776
6815
  excludeDatabaseIds,
6777
6816
  canEdit,
6778
6817
  onPickLocalTable,
6818
+ onPickNotionDatabase,
6779
6819
  }: {
6780
6820
  excludeDatabaseIds: string[];
6781
6821
  canEdit: boolean;
@@ -6784,8 +6824,10 @@ function AddSourceView({
6784
6824
  documentId: string;
6785
6825
  title: string;
6786
6826
  }) => void;
6827
+ onPickNotionDatabase: (source: { id: string; name: string }) => void;
6787
6828
  }) {
6788
6829
  const query = useContentDatabases({ enabled: true, excludeDatabaseIds });
6830
+ const notion = useNotionDatabaseSources(true);
6789
6831
  // Exclude this database (no self-reference) and any table already federated
6790
6832
  // onto it — those live in the "Connected sources" group above.
6791
6833
  const excluded = new Set(excludeDatabaseIds);
@@ -6826,9 +6868,28 @@ function AddSourceView({
6826
6868
  <DatabaseSettingsRow
6827
6869
  icon={<NotionLogoMark className="size-4" />}
6828
6870
  label="Notion"
6829
- value="Coming soon"
6830
- disabled
6871
+ value={
6872
+ notion.isLoading
6873
+ ? dbText("loadingTables")
6874
+ : notion.data?.connected
6875
+ ? (notion.data.workspaceName ?? "Notion")
6876
+ : dbText("connectNotionFirst")
6877
+ }
6878
+ disabled={!notion.data?.connected}
6831
6879
  />
6880
+ {notion.data?.connected
6881
+ ? notion.data.sources.map((source) => (
6882
+ <DatabaseSettingsRow
6883
+ key={source.id}
6884
+ icon={<NotionLogoMark className="size-4" />}
6885
+ label={source.name}
6886
+ onClick={
6887
+ canEdit ? () => onPickNotionDatabase(source) : undefined
6888
+ }
6889
+ disabled={!canEdit}
6890
+ />
6891
+ ))
6892
+ : null}
6832
6893
  </div>
6833
6894
  </div>
6834
6895
  );
@@ -6884,6 +6945,7 @@ function SecondarySourceLeaf({
6884
6945
  </div>
6885
6946
  <SourceRoleCard
6886
6947
  source={source}
6948
+ canAddItems={source.sourceType === "builder-cms"}
6887
6949
  canEdit={canEdit}
6888
6950
  pending={pending}
6889
6951
  onAddDetails={onAddDetails}
@@ -7037,6 +7099,7 @@ function SourceRelationshipChoice({
7037
7099
  function SourceRoleCard({
7038
7100
  source,
7039
7101
  canAddDetails = true,
7102
+ canAddItems = true,
7040
7103
  canEdit,
7041
7104
  pending,
7042
7105
  onAddDetails,
@@ -7045,6 +7108,7 @@ function SourceRoleCard({
7045
7108
  }: {
7046
7109
  source: ContentDatabaseSource;
7047
7110
  canAddDetails?: boolean;
7111
+ canAddItems?: boolean;
7048
7112
  canEdit: boolean;
7049
7113
  pending: boolean;
7050
7114
  onAddDetails: () => void;
@@ -7079,16 +7143,18 @@ function SourceRoleCard({
7079
7143
  >
7080
7144
  {dbText("chooseFields")}
7081
7145
  </Button>
7082
- <Button
7083
- type="button"
7084
- size="sm"
7085
- variant="outline"
7086
- className="h-8 text-xs"
7087
- disabled={!canEdit || pending}
7088
- onClick={onAddItems}
7089
- >
7090
- {dbText("addAsItems")}
7091
- </Button>
7146
+ {canAddItems ? (
7147
+ <Button
7148
+ type="button"
7149
+ size="sm"
7150
+ variant="outline"
7151
+ className="h-8 text-xs"
7152
+ disabled={!canEdit || pending}
7153
+ onClick={onAddItems}
7154
+ >
7155
+ {dbText("addAsItems")}
7156
+ </Button>
7157
+ ) : null}
7092
7158
  </>
7093
7159
  ) : canAddDetails ? (
7094
7160
  <Button
@@ -105,7 +105,7 @@ export type DatabaseSettingsPanel =
105
105
  // the leaf can attach without re-fetching.
106
106
  // A second source being added, awaiting the canonical-key confirm step.
107
107
  type PendingSourceCandidate = {
108
- sourceType: "mock-local" | "builder-cms" | "local-table";
108
+ sourceType: "mock-local" | "builder-cms" | "local-table" | "notion-database";
109
109
  sourceName: string;
110
110
  sourceTable: string;
111
111
  displayName: string;
@@ -830,6 +830,19 @@ export function useBuilderCmsModels(enabled: boolean) {
830
830
  );
831
831
  }
832
832
 
833
+ export function useNotionDatabaseSources(enabled: boolean) {
834
+ return useActionQuery(
835
+ "list-notion-database-sources",
836
+ enabled ? { limit: 50 } : undefined,
837
+ {
838
+ enabled,
839
+ retry: false,
840
+ placeholderData: (previous) => previous,
841
+ staleTime: 60_000,
842
+ },
843
+ );
844
+ }
845
+
833
846
  export function useContentDatabases(args: {
834
847
  excludeDatabaseId?: string;
835
848
  excludeDatabaseIds?: string[];
@@ -849,7 +862,11 @@ export function useContentDatabases(args: {
849
862
 
850
863
  export function useSuggestSourceJoinKey(args: {
851
864
  documentId: string;
852
- candidateSourceType: "mock-local" | "builder-cms" | "local-table";
865
+ candidateSourceType:
866
+ | "mock-local"
867
+ | "builder-cms"
868
+ | "local-table"
869
+ | "notion-database";
853
870
  candidateSourceTable: string;
854
871
  enabled: boolean;
855
872
  }) {
@@ -630,6 +630,8 @@ const messages = {
630
630
  addProperty: "新增屬性",
631
631
  back: "返回",
632
632
  builderSpace: "Builder 空間",
633
+ connectNotionFirst: "請先連接 Notion",
634
+ connected: "已連接",
633
635
  builderBulkUpdateNotStaged: "Builder 批次更新未暫存",
634
636
  builderBulkUpdateStaged: "Builder 批次更新已暫存",
635
637
  builderUpdateFailed: "Builder 更新失敗",
@@ -670,6 +672,8 @@ const messages = {
670
672
  closeDatabaseSettings: "關閉資料庫設定",
671
673
  closeSearch: "關閉搜尋",
672
674
  databaseRowsAndLocalPropertiesWereKeptIntact: "資料庫行和本機屬性已保留。",
675
+ failedToAttachSource: "附加來源失敗",
676
+ failedToCreateRow: "建立行失敗",
673
677
  failedToDeleteRow: "刪除行失敗",
674
678
  failedToDeleteSelectedRows: "刪除所選行失敗",
675
679
  failedToDuplicateEverySelectedRow: "未能複製所有選取行",
@@ -26,6 +26,8 @@ const databaseMessages = {
26
26
  bestWhenSameKindAdditionalRows:
27
27
  "Best when this collection has the same kind of records and should appear as additional rows.",
28
28
  builderSpace: "Builder space",
29
+ connectNotionFirst: "Connect Notion first",
30
+ connected: "Connected",
29
31
  builderBulkUpdateNotStaged: "Builder bulk update not staged",
30
32
  builderBulkUpdateStaged: "Builder bulk update staged",
31
33
  builderUpdateFailed: "Builder update failed",
@@ -71,6 +73,8 @@ const databaseMessages = {
71
73
  closeSearch: "Close search",
72
74
  databaseRowsAndLocalPropertiesWereKeptIntact:
73
75
  "Database rows and local properties were kept intact.",
76
+ failedToAttachSource: "Failed to attach source",
77
+ failedToCreateRow: "Failed to create row",
74
78
  failedToDeleteRow: "Failed to delete row",
75
79
  failedToDeleteSelectedRows: "Failed to delete selected rows",
76
80
  failedToDuplicateEverySelectedRow: "Failed to duplicate every selected row",
@@ -532,6 +536,8 @@ const databaseMessagesByLocale = {
532
536
  addProperty: "添加属性",
533
537
  back: "返回",
534
538
  builderSpace: "Builder 空间",
539
+ connectNotionFirst: "请先连接 Notion",
540
+ connected: "已连接",
535
541
  builderBulkUpdateNotStaged: "Builder 批量更新未暂存",
536
542
  builderBulkUpdateStaged: "Builder 批量更新已暂存",
537
543
  builderUpdateFailed: "Builder 更新失败",
@@ -539,6 +545,8 @@ const databaseMessagesByLocale = {
539
545
  closeDatabaseSettings: "关闭数据库设置",
540
546
  closeSearch: "关闭搜索",
541
547
  databaseRowsAndLocalPropertiesWereKeptIntact: "数据库行和本地属性已保留。",
548
+ failedToAttachSource: "附加来源失败",
549
+ failedToCreateRow: "创建行失败",
542
550
  failedToDeleteRow: "删除行失败",
543
551
  failedToDeleteSelectedRows: "删除所选行失败",
544
552
  failedToDuplicateEverySelectedRow: "未能复制所有选中行",
@@ -724,6 +732,8 @@ const databaseMessagesByLocale = {
724
732
  addProperty: "Añadir propiedad",
725
733
  back: "Atrás",
726
734
  builderSpace: "Espacio de Builder",
735
+ connectNotionFirst: "Conecta Notion primero",
736
+ connected: "Conectado",
727
737
  builderBulkUpdateNotStaged: "Actualización masiva de Builder no preparada",
728
738
  builderBulkUpdateStaged: "Actualización masiva de Builder preparada",
729
739
  builderUpdateFailed: "Falló la actualización de Builder",
@@ -733,6 +743,8 @@ const databaseMessagesByLocale = {
733
743
  closeSearch: "Cerrar búsqueda",
734
744
  databaseRowsAndLocalPropertiesWereKeptIntact:
735
745
  "Se conservaron las filas y propiedades locales.",
746
+ failedToAttachSource: "No se pudo adjuntar la fuente",
747
+ failedToCreateRow: "No se pudo crear la fila",
736
748
  failedToDeleteRow: "No se pudo eliminar la fila",
737
749
  failedToDeleteSelectedRows:
738
750
  "No se pudieron eliminar las filas seleccionadas",
@@ -924,6 +936,8 @@ const databaseMessagesByLocale = {
924
936
  addProperty: "Ajouter une propriété",
925
937
  back: "Retour",
926
938
  builderSpace: "Espace Builder",
939
+ connectNotionFirst: "Connectez d’abord Notion",
940
+ connected: "Connecté",
927
941
  builderBulkUpdateNotStaged: "Mise à jour groupée Builder non préparée",
928
942
  builderBulkUpdateStaged: "Mise à jour groupée Builder préparée",
929
943
  builderUpdateFailed: "Échec de la mise à jour Builder",
@@ -932,6 +946,8 @@ const databaseMessagesByLocale = {
932
946
  closeSearch: "Fermer la recherche",
933
947
  databaseRowsAndLocalPropertiesWereKeptIntact:
934
948
  "Les lignes et propriétés locales ont été conservées.",
949
+ failedToAttachSource: "Échec de la connexion de la source",
950
+ failedToCreateRow: "Échec de la création de la ligne",
935
951
  failedToDeleteRow: "Échec de la suppression de la ligne",
936
952
  failedToDeleteSelectedRows:
937
953
  "Échec de la suppression des lignes sélectionnées",
@@ -1122,6 +1138,8 @@ const databaseMessagesByLocale = {
1122
1138
  addProperty: "Eigenschaft hinzufügen",
1123
1139
  back: "Zurück",
1124
1140
  builderSpace: "Builder-Bereich",
1141
+ connectNotionFirst: "Zuerst Notion verbinden",
1142
+ connected: "Verbunden",
1125
1143
  builderBulkUpdateNotStaged:
1126
1144
  "Builder-Massenaktualisierung nicht bereitgestellt",
1127
1145
  builderBulkUpdateStaged: "Builder-Massenaktualisierung bereitgestellt",
@@ -1131,6 +1149,8 @@ const databaseMessagesByLocale = {
1131
1149
  closeSearch: "Suche schließen",
1132
1150
  databaseRowsAndLocalPropertiesWereKeptIntact:
1133
1151
  "Datenbankzeilen und lokale Eigenschaften wurden beibehalten.",
1152
+ failedToAttachSource: "Quelle konnte nicht angehängt werden",
1153
+ failedToCreateRow: "Zeile konnte nicht erstellt werden",
1134
1154
  failedToDeleteRow: "Zeile konnte nicht gelöscht werden",
1135
1155
  failedToDeleteSelectedRows:
1136
1156
  "Ausgewählte Zeilen konnten nicht gelöscht werden",
@@ -1317,6 +1337,8 @@ const databaseMessagesByLocale = {
1317
1337
  addProperty: "プロパティを追加",
1318
1338
  back: "戻る",
1319
1339
  builderSpace: "Builder スペース",
1340
+ connectNotionFirst: "最初に Notion を接続",
1341
+ connected: "接続済み",
1320
1342
  builderBulkUpdateNotStaged: "Builder 一括更新はステージングされていません",
1321
1343
  builderBulkUpdateStaged: "Builder 一括更新をステージングしました",
1322
1344
  builderUpdateFailed: "Builder の更新に失敗しました",
@@ -1326,6 +1348,8 @@ const databaseMessagesByLocale = {
1326
1348
  closeSearch: "検索を閉じる",
1327
1349
  databaseRowsAndLocalPropertiesWereKeptIntact:
1328
1350
  "データベース行とローカルプロパティは保持されました。",
1351
+ failedToAttachSource: "ソースを接続できませんでした",
1352
+ failedToCreateRow: "行を作成できませんでした",
1329
1353
  failedToDeleteRow: "行を削除できませんでした",
1330
1354
  failedToDeleteSelectedRows: "選択した行を削除できませんでした",
1331
1355
  failedToDuplicateEverySelectedRow:
@@ -1510,6 +1534,8 @@ const databaseMessagesByLocale = {
1510
1534
  addProperty: "속성 추가",
1511
1535
  back: "뒤로",
1512
1536
  builderSpace: "Builder 공간",
1537
+ connectNotionFirst: "먼저 Notion 연결",
1538
+ connected: "연결됨",
1513
1539
  builderBulkUpdateNotStaged: "Builder 대량 업데이트가 스테이징되지 않음",
1514
1540
  builderBulkUpdateStaged: "Builder 대량 업데이트가 스테이징됨",
1515
1541
  builderUpdateFailed: "Builder 업데이트 실패",
@@ -1518,6 +1544,8 @@ const databaseMessagesByLocale = {
1518
1544
  closeSearch: "검색 닫기",
1519
1545
  databaseRowsAndLocalPropertiesWereKeptIntact:
1520
1546
  "데이터베이스 행과 로컬 속성은 유지되었습니다.",
1547
+ failedToAttachSource: "소스를 연결하지 못했습니다",
1548
+ failedToCreateRow: "행을 생성하지 못했습니다",
1521
1549
  failedToDeleteRow: "행을 삭제하지 못했습니다",
1522
1550
  failedToDeleteSelectedRows: "선택한 행을 삭제하지 못했습니다",
1523
1551
  failedToDuplicateEverySelectedRow: "선택한 모든 행을 복제하지 못했습니다",
@@ -1705,6 +1733,8 @@ const databaseMessagesByLocale = {
1705
1733
  addProperty: "Adicionar propriedade",
1706
1734
  back: "Voltar",
1707
1735
  builderSpace: "Espaço do Builder",
1736
+ connectNotionFirst: "Conecte o Notion primeiro",
1737
+ connected: "Conectado",
1708
1738
  builderBulkUpdateNotStaged: "Atualização em massa do Builder não preparada",
1709
1739
  builderBulkUpdateStaged: "Atualização em massa do Builder preparada",
1710
1740
  builderUpdateFailed: "Falha na atualização do Builder",
@@ -1713,6 +1743,8 @@ const databaseMessagesByLocale = {
1713
1743
  closeSearch: "Fechar busca",
1714
1744
  databaseRowsAndLocalPropertiesWereKeptIntact:
1715
1745
  "As linhas do banco e propriedades locais foram mantidas.",
1746
+ failedToAttachSource: "Falha ao anexar fonte",
1747
+ failedToCreateRow: "Falha ao criar linha",
1716
1748
  failedToDeleteRow: "Falha ao excluir linha",
1717
1749
  failedToDeleteSelectedRows: "Falha ao excluir linhas selecionadas",
1718
1750
  failedToDuplicateEverySelectedRow:
@@ -1895,6 +1927,8 @@ const databaseMessagesByLocale = {
1895
1927
  addProperty: "प्रॉपर्टी जोड़ें",
1896
1928
  back: "वापस",
1897
1929
  builderSpace: "Builder स्पेस",
1930
+ connectNotionFirst: "पहले Notion कनेक्ट करें",
1931
+ connected: "कनेक्टेड",
1898
1932
  builderBulkUpdateNotStaged: "Builder बल्क अपडेट स्टेज नहीं हुआ",
1899
1933
  builderBulkUpdateStaged: "Builder बल्क अपडेट स्टेज हुआ",
1900
1934
  builderUpdateFailed: "Builder अपडेट विफल रहा",
@@ -1903,6 +1937,8 @@ const databaseMessagesByLocale = {
1903
1937
  closeSearch: "खोज बंद करें",
1904
1938
  databaseRowsAndLocalPropertiesWereKeptIntact:
1905
1939
  "डेटाबेस पंक्तियां और स्थानीय प्रॉपर्टीज़ सुरक्षित रहीं।",
1940
+ failedToAttachSource: "स्रोत संलग्न करने में विफल",
1941
+ failedToCreateRow: "पंक्ति बनाने में विफल",
1906
1942
  failedToDeleteRow: "पंक्ति हटाने में विफल",
1907
1943
  failedToDeleteSelectedRows: "चुनी गई पंक्तियां हटाने में विफल",
1908
1944
  failedToDuplicateEverySelectedRow: "हर चुनी गई पंक्ति डुप्लिकेट नहीं हो सकी",
@@ -2080,6 +2116,8 @@ const databaseMessagesByLocale = {
2080
2116
  addProperty: "إضافة خاصية",
2081
2117
  back: "رجوع",
2082
2118
  builderSpace: "مساحة Builder",
2119
+ connectNotionFirst: "وصّل Notion أولاً",
2120
+ connected: "متصل",
2083
2121
  builderBulkUpdateNotStaged: "لم يتم تجهيز تحديث Builder المجمع",
2084
2122
  builderBulkUpdateStaged: "تم تجهيز تحديث Builder المجمع",
2085
2123
  builderUpdateFailed: "فشل تحديث Builder",
@@ -2088,6 +2126,8 @@ const databaseMessagesByLocale = {
2088
2126
  closeSearch: "إغلاق البحث",
2089
2127
  databaseRowsAndLocalPropertiesWereKeptIntact:
2090
2128
  "تم الاحتفاظ بصفوف قاعدة البيانات والخصائص المحلية.",
2129
+ failedToAttachSource: "فشل إرفاق المصدر",
2130
+ failedToCreateRow: "فشل إنشاء الصف",
2091
2131
  failedToDeleteRow: "فشل حذف الصف",
2092
2132
  failedToDeleteSelectedRows: "فشل حذف الصفوف المحددة",
2093
2133
  failedToDuplicateEverySelectedRow: "تعذر تكرار كل الصفوف المحددة",
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: fixed
3
+ date: 2026-07-10
4
+ ---
5
+
6
+ Failed row creation and source attach now show an error instead of silently doing nothing
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: fixed
3
+ date: 2026-07-10
4
+ ---
5
+
6
+ Items added at the same time no longer end up with identical sort positions
@@ -0,0 +1,6 @@
1
+ ---
2
+ type: added
3
+ date: 2026-07-10
4
+ ---
5
+
6
+ Notion databases can now add read-only details to Content tables through a safe, refreshable source connection.
@@ -52,7 +52,7 @@
52
52
  "@tiptap/y-tiptap": "^3.0.5",
53
53
  "drizzle-orm": "^0.45.2",
54
54
  "ffmpeg-static": "^5.3.0",
55
- "h3": "^2.0.1-rc.20",
55
+ "h3": "catalog:",
56
56
  "highlight.js": "^11.11.1",
57
57
  "isbot": "^5",
58
58
  "lowlight": "^3.3.0",
@@ -97,7 +97,6 @@
97
97
  "sonner": "^2.0.7",
98
98
  "tailwind-merge": "^3.5.0",
99
99
  "tailwindcss": "catalog:",
100
- "typescript": "catalog:",
101
100
  "typescript-7": "catalog:",
102
101
  "vite": "catalog:",
103
102
  "vitest": "catalog:"