@agent-native/core 0.102.1 → 0.103.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 (295) hide show
  1. package/corpus/README.md +2 -2
  2. package/corpus/core/CHANGELOG.md +15 -0
  3. package/corpus/core/docs/content/local-file-mode.mdx +99 -489
  4. package/corpus/core/docs/content/locales/ar-SA/local-file-mode.mdx +35 -490
  5. package/corpus/core/docs/content/locales/ar-SA/template-content.mdx +10 -24
  6. package/corpus/core/docs/content/locales/de-DE/local-file-mode.mdx +37 -491
  7. package/corpus/core/docs/content/locales/de-DE/template-content.mdx +10 -24
  8. package/corpus/core/docs/content/locales/es-ES/local-file-mode.mdx +35 -493
  9. package/corpus/core/docs/content/locales/es-ES/template-content.mdx +10 -24
  10. package/corpus/core/docs/content/locales/fr-FR/local-file-mode.mdx +38 -491
  11. package/corpus/core/docs/content/locales/fr-FR/template-content.mdx +10 -24
  12. package/corpus/core/docs/content/locales/hi-IN/local-file-mode.mdx +33 -492
  13. package/corpus/core/docs/content/locales/hi-IN/template-content.mdx +10 -24
  14. package/corpus/core/docs/content/locales/ja-JP/local-file-mode.mdx +36 -492
  15. package/corpus/core/docs/content/locales/ja-JP/template-content.mdx +10 -24
  16. package/corpus/core/docs/content/locales/ko-KR/local-file-mode.mdx +35 -490
  17. package/corpus/core/docs/content/locales/ko-KR/template-content.mdx +10 -24
  18. package/corpus/core/docs/content/locales/pt-BR/local-file-mode.mdx +35 -493
  19. package/corpus/core/docs/content/locales/pt-BR/template-content.mdx +10 -24
  20. package/corpus/core/docs/content/locales/zh-CN/local-file-mode.mdx +31 -489
  21. package/corpus/core/docs/content/locales/zh-CN/template-content.mdx +9 -24
  22. package/corpus/core/docs/content/locales/zh-TW/local-file-mode.mdx +31 -489
  23. package/corpus/core/docs/content/locales/zh-TW/template-content.mdx +9 -24
  24. package/corpus/core/docs/content/template-content.mdx +26 -42
  25. package/corpus/core/package.json +1 -1
  26. package/corpus/core/src/cli/content-local.ts +86 -18
  27. package/corpus/core/src/cli/index.ts +2 -2
  28. package/corpus/core/src/cli/skills-content/content-skill.ts +36 -25
  29. package/corpus/core/src/cli/skills.ts +47 -13
  30. package/corpus/core/src/client/AgentPanel.tsx +7 -0
  31. package/corpus/core/src/client/AssistantChat.tsx +7 -0
  32. package/corpus/core/src/client/agent-chat-adapter.ts +7 -1
  33. package/corpus/core/src/client/chat/message-components.tsx +17 -3
  34. package/corpus/core/src/client/composer/ComposerPlusMenu.tsx +96 -6
  35. package/corpus/core/src/client/composer/asset-picker-url.ts +80 -0
  36. package/corpus/core/src/client/error-format.ts +24 -0
  37. package/corpus/core/src/client/resources/McpIntegrationDialog.tsx +8 -1
  38. package/corpus/core/src/local-artifacts/index.ts +65 -0
  39. package/corpus/templates/assets/app/components/library/GenerationPresetsPanel.tsx +325 -0
  40. package/corpus/templates/assets/app/hooks/use-navigation-state.ts +12 -0
  41. package/corpus/templates/assets/app/i18n/zh-TW.ts +21 -0
  42. package/corpus/templates/assets/app/i18n-data.ts +215 -0
  43. package/corpus/templates/assets/app/routes/brand-kits.$id.tsx +19 -479
  44. package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +1 -1
  45. package/corpus/templates/assets/app/routes/brand-kits.$id_.settings.tsx +446 -0
  46. package/corpus/templates/assets/app/routes/library.tsx +69 -0
  47. package/corpus/templates/assets/changelog/2026-07-15-fixed-top-level-image-picker-selections-returning-to-the-com.md +6 -0
  48. package/corpus/templates/clips/actions/disconnect-calendar.ts +57 -9
  49. package/corpus/templates/clips/actions/generate-workflow.ts +102 -59
  50. package/corpus/templates/clips/actions/get-recording-player-data.ts +64 -1
  51. package/corpus/templates/clips/actions/regenerate-summary.ts +7 -0
  52. package/corpus/templates/clips/actions/regenerate-title.ts +29 -11
  53. package/corpus/templates/clips/app/components/editor/editor-layout.tsx +34 -13
  54. package/corpus/templates/clips/app/components/editor/thumbnail-picker.tsx +87 -9
  55. package/corpus/templates/clips/app/components/editor/trim-handles.tsx +15 -0
  56. package/corpus/templates/clips/app/components/editor/waveform.tsx +21 -8
  57. package/corpus/templates/clips/app/components/library/folder-tree.tsx +52 -0
  58. package/corpus/templates/clips/app/components/player/settings-panel.tsx +116 -58
  59. package/corpus/templates/clips/app/components/player/share-dialog.tsx +43 -37
  60. package/corpus/templates/clips/app/components/player/video-player.tsx +50 -2
  61. package/corpus/templates/clips/app/components/recorder/microphone-visualizer.tsx +22 -3
  62. package/corpus/templates/clips/app/i18n/ar-SA.ts +5 -2
  63. package/corpus/templates/clips/app/i18n/de-DE.ts +6 -2
  64. package/corpus/templates/clips/app/i18n/en-US.ts +5 -2
  65. package/corpus/templates/clips/app/i18n/es-ES.ts +6 -2
  66. package/corpus/templates/clips/app/i18n/fr-FR.ts +5 -2
  67. package/corpus/templates/clips/app/i18n/hi-IN.ts +5 -2
  68. package/corpus/templates/clips/app/i18n/ja-JP.ts +6 -1
  69. package/corpus/templates/clips/app/i18n/ko-KR.ts +5 -2
  70. package/corpus/templates/clips/app/i18n/pt-BR.ts +6 -2
  71. package/corpus/templates/clips/app/i18n/zh-CN.ts +5 -2
  72. package/corpus/templates/clips/app/i18n/zh-TW.ts +5 -2
  73. package/corpus/templates/clips/app/lib/timestamp-mapping.ts +14 -0
  74. package/corpus/templates/clips/app/routes/_app.library._index.tsx +1 -2
  75. package/corpus/templates/clips/app/routes/_index.tsx +1 -2
  76. package/corpus/templates/clips/app/routes/r.$recordingId.tsx +98 -32
  77. package/corpus/templates/clips/app/routes/share.$shareId.tsx +4 -1
  78. package/corpus/templates/clips/changelog/2026-07-15-ai-workflow-generation-now-stays-visible-avoids-duplicate-re.md +6 -0
  79. package/corpus/templates/clips/changelog/2026-07-15-clip-playback-and-cta-controls-remain-interactive-through-ed.md +6 -0
  80. package/corpus/templates/clips/changelog/2026-07-15-clip-titles-no-longer-describe-the-product-as-a-loom-alterna.md +6 -0
  81. package/corpus/templates/clips/changelog/2026-07-15-description-regeneration-now-opens-the-agent-chat-so-progres.md +6 -0
  82. package/corpus/templates/clips/changelog/2026-07-15-direct-recording-urls-now-respect-share-link-and-password-ac.md +6 -0
  83. package/corpus/templates/clips/changelog/2026-07-15-disconnecting-a-calendar-now-clears-unrecorded-synced-meetin.md +6 -0
  84. package/corpus/templates/clips/changelog/2026-07-15-folders-now-expose-rename-and-delete-actions-directly-in-the.md +6 -0
  85. package/corpus/templates/clips/changelog/2026-07-15-recording-pages-now-explain-sign-in-access-and-avoid-showing.md +6 -0
  86. package/corpus/templates/clips/changelog/2026-07-15-the-clips-extension-quick-actions-toolbar-can-be-moved-out-o.md +6 -0
  87. package/corpus/templates/clips/changelog/2026-07-15-the-editor-now-skips-cut-sections-during-preview-and-keeps-t.md +6 -0
  88. package/corpus/templates/clips/changelog/2026-07-15-thumbnail-capture-now-updates-previews-while-scrubbing-and-l.md +6 -0
  89. package/corpus/templates/clips/changelog/2026-07-15-windows-permission-links-open-the-matching-settings-page.md +6 -0
  90. package/corpus/templates/clips/chrome-extension/src/content-script.ts +117 -2
  91. package/corpus/templates/clips/chrome-extension/src/overlay.ts +27 -0
  92. package/corpus/templates/clips/desktop/src-tauri/tauri.conf.json +1 -1
  93. package/corpus/templates/clips/server/lib/calendar-event-meetings.ts +139 -101
  94. package/corpus/templates/clips/server/lib/recording-page-access.ts +35 -0
  95. package/corpus/templates/clips/server/lib/share-password.ts +6 -3
  96. package/corpus/templates/content/.agents/skills/content/SKILL.md +26 -39
  97. package/corpus/templates/content/AGENTS.md +25 -30
  98. package/corpus/templates/content/actions/_builder-docs-client.ts +23 -0
  99. package/corpus/templates/content/actions/_content-database-source-adapters.ts +21 -3
  100. package/corpus/templates/content/actions/_content-files.ts +338 -0
  101. package/corpus/templates/content/actions/_content-space-access.ts +135 -0
  102. package/corpus/templates/content/actions/_content-spaces.ts +640 -0
  103. package/corpus/templates/content/actions/_database-source-utils.ts +90 -7
  104. package/corpus/templates/content/actions/_database-utils.ts +7 -1
  105. package/corpus/templates/content/actions/_local-file-documents.ts +0 -9
  106. package/corpus/templates/content/actions/_local-folder-source.ts +53 -0
  107. package/corpus/templates/content/actions/_property-utils.ts +9 -4
  108. package/corpus/templates/content/actions/add-database-item.ts +108 -65
  109. package/corpus/templates/content/actions/backfill-content-files.ts +22 -0
  110. package/corpus/templates/content/actions/connect-local-folder-source.ts +221 -0
  111. package/corpus/templates/content/actions/create-content-database.ts +129 -3
  112. package/corpus/templates/content/actions/create-document.ts +65 -55
  113. package/corpus/templates/content/actions/create-inline-content-database.ts +6 -1
  114. package/corpus/templates/content/actions/delete-content-database.ts +3 -0
  115. package/corpus/templates/content/actions/delete-document.ts +7 -11
  116. package/corpus/templates/content/actions/disconnect-local-folder-source.ts +175 -0
  117. package/corpus/templates/content/actions/duplicate-database-item.ts +10 -0
  118. package/corpus/templates/content/actions/duplicate-database-items.ts +13 -0
  119. package/corpus/templates/content/actions/edit-document.ts +2 -28
  120. package/corpus/templates/content/actions/ensure-content-spaces.ts +26 -0
  121. package/corpus/templates/content/actions/export-content-source.ts +47 -9
  122. package/corpus/templates/content/actions/get-document.ts +0 -14
  123. package/corpus/templates/content/actions/import-content-source.ts +43 -3
  124. package/corpus/templates/content/actions/list-content-spaces.ts +103 -0
  125. package/corpus/templates/content/actions/list-documents.ts +12 -9
  126. package/corpus/templates/content/actions/move-document.ts +3 -14
  127. package/corpus/templates/content/actions/pull-document.ts +0 -23
  128. package/corpus/templates/content/actions/remove-local-file-source.ts +50 -29
  129. package/corpus/templates/content/actions/resolve-local-folder-conflict.ts +442 -0
  130. package/corpus/templates/content/actions/reveal-local-source-file.ts +6 -17
  131. package/corpus/templates/content/actions/search-documents.ts +0 -34
  132. package/corpus/templates/content/actions/share-local-file-document.ts +25 -1
  133. package/corpus/templates/content/actions/submit-content-database-form.ts +12 -0
  134. package/corpus/templates/content/actions/sync-local-folder-source.ts +731 -0
  135. package/corpus/templates/content/actions/sync-manifest-local-folder-source.ts +123 -0
  136. package/corpus/templates/content/actions/update-content-database-view.ts +10 -1
  137. package/corpus/templates/content/actions/update-document.ts +0 -15
  138. package/corpus/templates/content/actions/view-screen.ts +2 -50
  139. package/corpus/templates/content/app/components/editor/SlashCommandMenu.tsx +76 -62
  140. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +70 -22
  141. package/corpus/templates/content/app/components/editor/database/grouping.ts +2 -1
  142. package/corpus/templates/content/app/components/editor/database/settings.tsx +23 -20
  143. package/corpus/templates/content/app/components/editor/database/shared.tsx +2 -0
  144. package/corpus/templates/content/app/components/editor/database/sidebar.tsx +330 -0
  145. package/corpus/templates/content/app/components/editor/database/types.ts +1 -0
  146. package/corpus/templates/content/app/components/editor/database/view-config.ts +3 -1
  147. package/corpus/templates/content/app/components/layout/Layout.tsx +25 -1
  148. package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +209 -113
  149. package/corpus/templates/content/app/components/sidebar/select-content-space.ts +31 -0
  150. package/corpus/templates/content/app/hooks/use-content-database.ts +16 -0
  151. package/corpus/templates/content/app/hooks/use-content-spaces.ts +39 -0
  152. package/corpus/templates/content/app/i18n/zh-TW.ts +11 -0
  153. package/corpus/templates/content/app/i18n-data.ts +75 -0
  154. package/corpus/templates/content/app/routes/_app.local-files.tsx +174 -65
  155. package/corpus/templates/content/changelog/2026-07-16-content-callouts-can-now-be-reviewed-and-published-to-builder.md +6 -0
  156. package/corpus/templates/content/changelog/2026-07-16-heading-5-and-heading-6-are-available-from-the-editor-slash-.md +6 -0
  157. package/corpus/templates/content/changelog/2026-07-16-organize-every-workspace-through-a-customizable-files-databa.md +6 -0
  158. package/corpus/templates/content/parity/matrix.md +2 -1
  159. package/corpus/templates/content/parity/matrix.ts +37 -1
  160. package/corpus/templates/content/scripts/dev-database.mjs +7 -5
  161. package/corpus/templates/content/server/db/schema.ts +113 -40
  162. package/corpus/templates/content/server/lib/document-context.ts +15 -1
  163. package/corpus/templates/content/server/lib/notion-sync.ts +6 -0
  164. package/corpus/templates/content/server/plugins/db.ts +153 -0
  165. package/corpus/templates/content/shared/api.ts +17 -3
  166. package/corpus/templates/content/shared/builder-mdx.ts +163 -16
  167. package/corpus/templates/design/.agents/skills/design-templates/SKILL.md +59 -0
  168. package/corpus/templates/design/AGENTS.md +6 -1
  169. package/corpus/templates/design/actions/create-design-from-template.ts +19 -7
  170. package/corpus/templates/design/actions/list-design-templates.ts +69 -21
  171. package/corpus/templates/design/actions/navigate.ts +2 -2
  172. package/corpus/templates/design/actions/view-screen.ts +15 -2
  173. package/corpus/templates/design/agent-native.app-skill.json +5 -0
  174. package/corpus/templates/design/app/components/design/design-canvas/external-preview.ts +7 -3
  175. package/corpus/templates/design/app/components/editor/PromptDialog.tsx +281 -56
  176. package/corpus/templates/design/app/components/templates/TemplatePreview.tsx +14 -2
  177. package/corpus/templates/design/app/hooks/use-navigation-state.ts +3 -2
  178. package/corpus/templates/design/app/i18n/zh-TW.ts +3 -3
  179. package/corpus/templates/design/app/i18n-data.ts +21 -2
  180. package/corpus/templates/design/app/i18n-template-feature.ts +218 -10
  181. package/corpus/templates/design/app/pages/Index.tsx +195 -24
  182. package/corpus/templates/design/app/pages/Templates.tsx +144 -55
  183. package/corpus/templates/design/app/pages/design-editor/generation-prompt-directives.ts +12 -1
  184. package/corpus/templates/design/changelog/2026-07-14-templates-now-appear-in-the-new-design-picker-with-previews-.md +6 -0
  185. package/corpus/templates/design/changelog/2026-07-15-prototype-print-and-download-buttons-now-work-in-preview.md +6 -0
  186. package/corpus/templates/design/changelog/2026-07-15-templates-now-open-immediately-after-copying-even-while-the-.md +6 -0
  187. package/corpus/templates/design/server/plugins/agent-chat.ts +1 -1
  188. package/corpus/templates/mail/AGENTS.md +23 -18
  189. package/corpus/templates/mail/actions/bulk-archive.ts +32 -28
  190. package/corpus/templates/mail/actions/mark-read.ts +131 -20
  191. package/corpus/templates/mail/actions/mark-thread-read.ts +1 -1
  192. package/corpus/templates/mail/actions/move-email.ts +30 -24
  193. package/corpus/templates/mail/actions/send-email.ts +73 -68
  194. package/corpus/templates/mail/changelog/2026-07-15-unread-inbox-cleanup-now-completes-reliably.md +6 -0
  195. package/corpus/templates/mail/server/handlers/emails.ts +218 -209
  196. package/corpus/templates/mail/server/lib/bulk-mark-read.ts +30 -0
  197. package/corpus/templates/mail/server/lib/email-state.ts +198 -113
  198. package/corpus/templates/mail/server/lib/google-auth.ts +218 -25
  199. package/corpus/templates/mail/server/lib/jobs.ts +69 -74
  200. package/corpus/templates/mail/server/lib/local-email-store.ts +265 -0
  201. package/corpus/templates/mail/server/plugins/agent-chat.ts +6 -0
  202. package/corpus/templates/slides/actions/extract-pdf.ts +1 -1
  203. package/corpus/templates/slides/actions/import-file.ts +4 -1
  204. package/corpus/templates/slides/app/components/editor/ImageGenPanel.tsx +1 -1
  205. package/corpus/templates/slides/app/components/editor/ImageSearchPanel.tsx +9 -12
  206. package/corpus/templates/slides/app/components/editor/SlideEditor.tsx +29 -21
  207. package/corpus/templates/slides/app/i18n/ar-SA.ts +1 -0
  208. package/corpus/templates/slides/app/i18n/de-DE.ts +1 -0
  209. package/corpus/templates/slides/app/i18n/en-US.ts +1 -0
  210. package/corpus/templates/slides/app/i18n/es-ES.ts +1 -0
  211. package/corpus/templates/slides/app/i18n/fr-FR.ts +1 -0
  212. package/corpus/templates/slides/app/i18n/hi-IN.ts +1 -0
  213. package/corpus/templates/slides/app/i18n/ja-JP.ts +1 -0
  214. package/corpus/templates/slides/app/i18n/ko-KR.ts +1 -0
  215. package/corpus/templates/slides/app/i18n/pt-BR.ts +1 -0
  216. package/corpus/templates/slides/app/i18n/zh-CN.ts +1 -0
  217. package/corpus/templates/slides/app/i18n/zh-TW.ts +1 -0
  218. package/corpus/templates/slides/changelog/2026-07-15-image-search-and-generation-controls-now-use-the-registered-.md +6 -0
  219. package/corpus/templates/slides/changelog/2026-07-15-pdf-deck-references-can-be-imported-for-slide-inspiration-ag.md +6 -0
  220. package/corpus/templates/slides/changelog/2026-07-15-stable-style-inspector-dock.md +6 -0
  221. package/dist/cli/content-local.d.ts +1 -0
  222. package/dist/cli/content-local.d.ts.map +1 -1
  223. package/dist/cli/content-local.js +75 -17
  224. package/dist/cli/content-local.js.map +1 -1
  225. package/dist/cli/index.js +2 -2
  226. package/dist/cli/index.js.map +1 -1
  227. package/dist/cli/skills-content/content-skill.d.ts +1 -1
  228. package/dist/cli/skills-content/content-skill.d.ts.map +1 -1
  229. package/dist/cli/skills-content/content-skill.js +36 -25
  230. package/dist/cli/skills-content/content-skill.js.map +1 -1
  231. package/dist/cli/skills.d.ts.map +1 -1
  232. package/dist/cli/skills.js +47 -14
  233. package/dist/cli/skills.js.map +1 -1
  234. package/dist/client/AgentPanel.d.ts.map +1 -1
  235. package/dist/client/AgentPanel.js +5 -0
  236. package/dist/client/AgentPanel.js.map +1 -1
  237. package/dist/client/AssistantChat.d.ts.map +1 -1
  238. package/dist/client/AssistantChat.js +7 -0
  239. package/dist/client/AssistantChat.js.map +1 -1
  240. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  241. package/dist/client/agent-chat-adapter.js +8 -1
  242. package/dist/client/agent-chat-adapter.js.map +1 -1
  243. package/dist/client/chat/message-components.d.ts +4 -0
  244. package/dist/client/chat/message-components.d.ts.map +1 -1
  245. package/dist/client/chat/message-components.js +10 -3
  246. package/dist/client/chat/message-components.js.map +1 -1
  247. package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -1
  248. package/dist/client/composer/ComposerPlusMenu.js +58 -6
  249. package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
  250. package/dist/client/composer/asset-picker-url.d.ts +16 -0
  251. package/dist/client/composer/asset-picker-url.d.ts.map +1 -0
  252. package/dist/client/composer/asset-picker-url.js +64 -0
  253. package/dist/client/composer/asset-picker-url.js.map +1 -0
  254. package/dist/client/error-format.d.ts.map +1 -1
  255. package/dist/client/error-format.js +17 -0
  256. package/dist/client/error-format.js.map +1 -1
  257. package/dist/client/resources/McpIntegrationDialog.d.ts.map +1 -1
  258. package/dist/client/resources/McpIntegrationDialog.js +6 -1
  259. package/dist/client/resources/McpIntegrationDialog.js.map +1 -1
  260. package/dist/collab/awareness.d.ts +2 -2
  261. package/dist/collab/awareness.d.ts.map +1 -1
  262. package/dist/collab/struct-routes.d.ts +1 -1
  263. package/dist/local-artifacts/index.d.ts +10 -0
  264. package/dist/local-artifacts/index.d.ts.map +1 -1
  265. package/dist/local-artifacts/index.js +39 -0
  266. package/dist/local-artifacts/index.js.map +1 -1
  267. package/dist/notifications/routes.d.ts +1 -1
  268. package/dist/provider-api/corpus-jobs.d.ts +2 -2
  269. package/dist/resources/handlers.d.ts +3 -3
  270. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  271. package/dist/server/transcribe-voice.d.ts +1 -1
  272. package/docs/content/local-file-mode.mdx +99 -489
  273. package/docs/content/locales/ar-SA/local-file-mode.mdx +35 -490
  274. package/docs/content/locales/ar-SA/template-content.mdx +10 -24
  275. package/docs/content/locales/de-DE/local-file-mode.mdx +37 -491
  276. package/docs/content/locales/de-DE/template-content.mdx +10 -24
  277. package/docs/content/locales/es-ES/local-file-mode.mdx +35 -493
  278. package/docs/content/locales/es-ES/template-content.mdx +10 -24
  279. package/docs/content/locales/fr-FR/local-file-mode.mdx +38 -491
  280. package/docs/content/locales/fr-FR/template-content.mdx +10 -24
  281. package/docs/content/locales/hi-IN/local-file-mode.mdx +33 -492
  282. package/docs/content/locales/hi-IN/template-content.mdx +10 -24
  283. package/docs/content/locales/ja-JP/local-file-mode.mdx +36 -492
  284. package/docs/content/locales/ja-JP/template-content.mdx +10 -24
  285. package/docs/content/locales/ko-KR/local-file-mode.mdx +35 -490
  286. package/docs/content/locales/ko-KR/template-content.mdx +10 -24
  287. package/docs/content/locales/pt-BR/local-file-mode.mdx +35 -493
  288. package/docs/content/locales/pt-BR/template-content.mdx +10 -24
  289. package/docs/content/locales/zh-CN/local-file-mode.mdx +31 -489
  290. package/docs/content/locales/zh-CN/template-content.mdx +9 -24
  291. package/docs/content/locales/zh-TW/local-file-mode.mdx +31 -489
  292. package/docs/content/locales/zh-TW/template-content.mdx +9 -24
  293. package/docs/content/template-content.mdx +26 -42
  294. package/package.json +1 -1
  295. package/corpus/templates/assets/app/components/library/EditLibraryDialog.tsx +0 -126
@@ -1,527 +1,69 @@
1
1
  ---
2
- title: "Modo de arquivo local"
3
- description: "Execute aplicativos nativos do agente com Markdown, MDX locais e outros arquivos repo como fonte da verdade, incluindo documentos MDX no estilo Obsidian com componentes personalizados."
2
+ title: "Fontes de pastas locais"
3
+ description: "Conecte pastas Markdown e MDX aos espaços do Content com suporte de banco de dados."
4
4
  ---
5
5
 
6
- # Modo de arquivo local
6
+ # Fontes de pastas locais
7
7
 
8
- O modo de arquivo local permite que um aplicativo nativo do agente anexe seu UI normal e sua superfície de ação
9
- diretamente para arquivos em um repositório ou espaço de trabalho. O aplicativo ainda parece hospedado
10
- produto, mas suas visualizações de lista, editor e ferramentas de agente leem e gravam arquivos locais
11
- em vez de registros de aplicativos baseados em SQL.
8
+ O Content agora tem um único modelo de dados: cada página fica no SQL, pertence
9
+ a um **espaço** e integra o banco de sistema **Files** desse espaço. Uma pasta
10
+ local é uma fonte conectada a Files, não um segundo modo do aplicativo. Não
11
+ mais uma chave `AGENT_NATIVE_MODE`.
12
12
 
13
- A primeira implementação está no modelo Conteúdo: a barra lateral esquerda está
14
- preenchido a partir de arquivos locais `.md` e `.mdx`, selecionar uma página abre o padrão
15
- Editor de conteúdo e gravação de gravação no arquivo selecionado. Os mesmos arquivos podem
16
- também pode ser editado por Codex, Claude Code, agente da barra lateral Agent-Native ou um normal
17
- editor.
13
+ Cada usuário tem um espaço pessoal, cada organização acessível tem seu espaço,
14
+ e o catálogo pessoal **Workspaces** determina quais aparecem. Files é um banco
15
+ normal do Content: propriedades, filtros, ordenação, agrupamento e visualizações
16
+ salvas também podem renderizar a barra lateral.
18
17
 
19
- Para conteúdo, isso faz com que o produto pareça Obsidian de código aberto para MDX:
20
- seus documentos ficam como arquivos, enquanto o aplicativo adiciona um editor visual, o agente actions,
21
- cópias compartilháveis e componentes MDX interativos avançados.
18
+ ## Conectar uma pasta
22
19
 
23
- Use o modo de arquivo local quando desejar um fluxo de trabalho com foco no repositório:
20
+ Escolha uma pasta pelo navegador ou Agent Native Desktop e conecte-a a um espaço
21
+ existente, ou crie um espaço privado baseado nela. O SQL guarda apenas o ID
22
+ opaco da conexão, caminhos relativos, hashes e metadados — nunca o caminho
23
+ absoluto, o identificador do navegador ou o conteúdo bruto do arquivo.
24
24
 
25
- - um repositório de documentos com `docs/*.mdx`
26
- - um blog com `blog/*.mdx`
27
- - recursos como posicionamento, mensagens ou notas da equipe em `resources/*.md`
28
- - uma base de conhecimento pessoal no estilo Obsidian com um editor MDX mais rico
29
- - documentos que precisam de blocos MDX personalizados interativos gerados a partir do código React local
30
- - artefatos de aplicativos que devem ser fáceis de serem inspecionados e corrigidos pelos agentes de codificação
25
+ As políticas são `database_primary`, `source_primary` e
26
+ `reviewed_bidirectional`. A sincronização materializa os arquivos como páginas
27
+ SQL normais. Alterações simultâneas geram uma mudança para revisão, em vez de
28
+ sobrescrever um lado. Desconectar preserva páginas e arquivos.
31
29
 
32
- Use o modo de banco de dados quando desejar a experiência de aplicativo colaborativo hospedado:
33
- compartilhamento multiusuário, permissões baseadas em SQL, comentários, histórico de versões e
34
- hospedagem de produção sem acesso ao sistema de arquivos local.
35
-
36
- ## O modelo mental
37
-
38
- Existem dois modos de fonte da verdade:
39
-
40
- | Modo | Fonte da verdade | Melhor para |
41
- | --------------------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
42
- | Modo banco de dados | Linhas SQL até Drizzle | Aplicativos hospedados, colaboração, compartilhamento, comentários, histórico de versões |
43
- | Modo de arquivo local | Arquivos repositórios declarados por `agent-native.json` | Fluxos de trabalho locais/de desenvolvimento, revisão do Git, edições do agente de codificação, conteúdo nativo de arquivo |
44
-
45
- O UI e o agente actions devem permanecer na mesma forma em ambos os modos. Um conteúdo
46
- editor ainda edita documentos; a diferença é se esses documentos resolvem
47
- para linhas SQL ou arquivos locais.
48
-
49
- <Diagram id="doc-block-va5r5" title={"Mesmas ações, duas fontes de verdade"} summary={"A UI e o agente chamam ações idênticas em ambos os modos. A camada de ação decide se cada chamada é resolvida para SQL linhas ou arquivos repo."}>
50
-
51
- ```html
52
- <div class="diagram-mode">
53
- <div class="diagram-col entry">
54
- <div class="diagram-node">UI de conteúdo</div>
55
- <div class="diagram-node">
56
- Agente + ações<br /><small class="diagram-muted"
57
- >list/get/update-document</small
58
- >
59
- </div>
60
- </div>
61
- <div class="diagram-arrow diagram-muted" aria-hidden="true">&rarr;</div>
62
- <div class="diagram-row resolve">
63
- <div class="diagram-panel" data-rough>
64
- <span class="diagram-pill accent">Modo banco de dados</span
65
- ><small class="diagram-muted">SQL rows via Drizzle</small
66
- ><small class="diagram-muted"
67
- >hospedado · compartilhamento · comentários · histórico</small
68
- >
69
- </div>
70
- <div class="diagram-panel" data-rough>
71
- <span class="diagram-pill ok">Local File Mode</span
72
- ><small class="diagram-muted">repo files via agent-native.json</small
73
- ><small class="diagram-muted"
74
- >revisão Git · edições do agente de código</small
75
- >
76
- </div>
77
- </div>
78
- </div>
79
- ```
80
-
81
- ```css
82
- .diagram-mode {
83
- display: flex;
84
- align-items: center;
85
- gap: 14px;
86
- flex-wrap: wrap;
87
- }
88
- .diagram-mode .diagram-col {
89
- display: flex;
90
- flex-direction: column;
91
- gap: 10px;
92
- }
93
- .diagram-mode .diagram-arrow {
94
- font-size: 22px;
95
- line-height: 1;
96
- }
97
- .diagram-mode .resolve {
98
- display: flex;
99
- gap: 12px;
100
- flex-wrap: wrap;
101
- }
102
- .diagram-mode .diagram-panel {
103
- display: flex;
104
- flex-direction: column;
105
- gap: 4px;
106
- padding: 12px 14px;
107
- }
108
- ```
109
-
110
- </Diagram>
111
-
112
- ## Exemplo de repositório
113
-
114
- Um espaço de trabalho Conteúdo pode ser tão pequeno quanto isto:
115
-
116
- <FileTree
117
- id="doc-block-yt7xi5"
118
- title="Um repo de workspace do Content"
119
- entries={[
120
- {
121
- path: "agent-native.json",
122
- note: "Declara quais pastas são raízes de conteúdo e seus tipos",
123
- },
124
- {
125
- path: "docs/",
126
- note: "Raiz de conteúdo: aparece na sidebar como páginas",
127
- },
128
- {
129
- path: "docs/getting-started.mdx",
130
- },
131
- {
132
- path: "docs/guides/custom-components.mdx",
133
- },
134
- {
135
- path: "blog/",
136
- note: "Raiz de conteúdo",
137
- },
138
- {
139
- path: "blog/launch-post.mdx",
140
- },
141
- {
142
- path: "resources/",
143
- note: "Raiz de conteúdo",
144
- },
145
- {
146
- path: "resources/messaging/positioning.md",
147
- },
148
- {
149
- path: "components/",
150
- note: "NÃO é uma raiz de conteúdo: biblioteca de componentes de preview que MDX pode importar",
151
- },
152
- {
153
- path: "components/FrameworkTabs.tsx",
154
- },
155
- {
156
- path: "components/Callout.tsx",
157
- },
158
- {
159
- path: "extensions/",
160
- note: "NÃO é uma raiz de conteúdo: biblioteca local de extensions (widgets em sandbox)",
161
- },
162
- {
163
- path: "extensions/doc-status/extension.json",
164
- },
165
- {
166
- path: "extensions/doc-status/index.html",
167
- },
168
- ]}
169
- />
170
-
171
- No modo de arquivo local, a barra lateral de conteúdo mostra `docs/`, `blog/` e
172
- Árvores `resources/` como páginas. Selecionar `docs/getting-started.mdx` abre isso
173
- arquivo no editor de conteúdo padrão; a edição no UI grava de volta em
174
- `docs/getting-started.mdx`.
175
-
176
- `components/` não é uma raiz de conteúdo. É uma biblioteca de componentes de visualização que MDX
177
- arquivos podem ser importados ou referenciados. O editor pode renderizar componentes MDX locais simples
178
- sem precisar clonar ou bifurcar todo o aplicativo Content.
179
-
180
- `extensions/` também não é uma raiz de conteúdo. É uma biblioteca de extensão local:
181
- pequenos widgets em sandbox que podem ser renderizados em slots de aplicativos enquanto sua fonte permanece em
182
- o repositório.
183
-
184
- ## Instalar conteúdo em um repositório
185
-
186
- Para documentos, blogs ou espaço de trabalho MDX existentes, instale os arquivos locais de conteúdo
187
- habilidade:
30
+ ## Iniciar em um repositório
188
31
 
189
32
  ```bash
190
- npx @agent-native/core@latest skills add content --mode local-files --scope project
33
+ npx @agent-native/core@latest content .
191
34
  ```
192
35
 
193
- Isso copia a habilidade `content` nas pastas de habilidades do agente do repositório e grava
194
- ou atualiza `agent-native.json` com padrões de conteúdo:
195
-
196
- - `mode: "local-files"` no nível do espaço de trabalho
197
- - `apps.content.mode: "local-files"`
198
- - raízes de conteúdo para `docs/`, `blog/`, `content/` e `resources/`
199
- - `components/` para componentes MDX locais
200
- - `extensions/` para widgets de extensão local
201
-
202
- A habilidade instalada informa aos agentes de codificação para usarem o Conteúdo actions
203
- (`list-documents`, `get-document`, `edit-document`, `update-document`,
204
- `share-local-file-document` e arquivo de componente actions) quando um aplicativo de conteúdo local
205
- ou Agent Native Desktop bridge os expõe. Se nenhuma ponte estiver funcionando, a habilidade
206
- volta para edições de repositório diretas e seguras, preservando o frontmatter, as importações, JSX,
207
- e MDX desconhecido.
36
+ O comando inicia o Content normal com banco de dados, registra a pasta como
37
+ fonte e abre a conexão. Nenhuma variável de modo é definida.
208
38
 
209
39
  ## Configuração
210
40
 
211
- Adicione `agent-native.json` ao repositório ou raiz do espaço de trabalho:
212
-
213
41
  ```json
214
42
  {
215
43
  "version": 1,
216
44
  "apps": {
217
45
  "content": {
218
- "mode": "local-files",
219
46
  "roots": [
220
47
  {
221
48
  "name": "Docs",
222
49
  "path": "docs",
223
50
  "kind": "docs",
224
- "extensions": [".md", ".mdx"]
225
- },
226
- {
227
- "name": "Blog",
228
- "path": "blog",
229
- "kind": "blog",
230
- "extensions": [".md", ".mdx"]
231
- },
232
- {
233
- "name": "Resources",
234
- "path": "resources",
235
- "kind": "resources",
236
- "extensions": [".md", ".mdx"]
51
+ "extensions": [".md", ".mdx"],
52
+ "source": {
53
+ "type": "local-folder",
54
+ "connectionId": "local-folder:<opaque-id>",
55
+ "truthPolicy": "source_primary"
56
+ }
237
57
  }
238
58
  ],
239
59
  "components": "components",
240
- "extensions": "extensions",
241
- "hide": ["**/_*.md", "**/_*.mdx"]
60
+ "extensions": "extensions"
242
61
  }
243
62
  }
244
63
  }
245
64
  ```
246
65
 
247
- Você também pode ativar arquivos locais com `AGENT_NATIVE_MODE=local-files` ou
248
- `AGENT_NATIVE_DATA_MODE=local-files`; o manifesto é preferido porque
249
- documenta o contrato da pasta no próprio repositório.
250
-
251
- ## Formato de arquivo de conteúdo
252
-
253
- O conteúdo diz Markdown e MDX. Frontmatter contém metadados da página e o corpo é
254
- o documento editável:
255
-
256
- ```mdx
257
- ---
258
- title: "Primeiros passos"
259
- icon: "sparkles"
260
- isFavorite: true
261
- updatedAt: "2026-06-12T20:00:00.000Z"
262
- ---
263
-
264
- # Primeiros passos
265
-
266
- Use <FrameworkTabs value="react" /> to show framework-specific code.
267
- ```
268
-
269
- O título vem do frontmatter `title` quando presente, caso contrário, do
270
- nome do arquivo. O editor preserva a fonte MDX que ainda não pode ser editada visualmente, portanto
271
- agentes de codificação e editores de texto normais permanecem como saídas de escape seguras.
272
-
273
- ## Componentes MDX personalizados
274
-
275
- O conteúdo pode visualizar componentes locais da pasta `components` configurada.
276
- Isso se destina a componentes MDX de estilo de documento, como guias, textos explicativos, pacote
277
- instale snippets ou blocos de código específicos da estrutura.
278
-
279
- Por exemplo, adicione um componente interativo próximo ao seu conteúdo:
280
-
281
- ```tsx
282
- // components/ImpactCounter.tsx
283
- import { useState } from "react";
284
-
285
- export function ImpactCounter({
286
- label = "points",
287
- accent = "blue",
288
- featured = false,
289
- }: {
290
- label?: string;
291
- accent?: "blue" | "green" | "purple";
292
- featured?: boolean;
293
- }) {
294
- const [count, setCount] = useState(3);
295
- const accentClass =
296
- accent === "green"
297
- ? "border-green-300 bg-green-50"
298
- : accent === "purple"
299
- ? "border-purple-300 bg-purple-50"
300
- : "border-blue-300 bg-blue-50";
301
-
302
- return (
303
- <div className={`rounded-md border p-4 ${accentClass}`}>
304
- <div className="text-sm text-muted-foreground">Launch impact</div>
305
- <div className="mt-1 text-3xl font-semibold">
306
- {count} {label}
307
- </div>
308
- {featured ? <div className="mt-1 text-sm">Featured metric</div> : null}
309
- <button
310
- type="button"
311
- className="mt-3 rounded border px-3 py-1 text-sm"
312
- onClick={() => setCount((value) => value + 1)}
313
- >
314
- Add point
315
- </button>
316
- </div>
317
- );
318
- }
319
-
320
- export const ImpactCounterInputs = {
321
- label: {
322
- type: "string",
323
- label: "Metric label",
324
- default: "points",
325
- },
326
- accent: {
327
- type: "select",
328
- label: "Accent",
329
- options: ["blue", "green", "purple"],
330
- default: "blue",
331
- },
332
- featured: {
333
- type: "boolean",
334
- label: "Featured",
335
- default: false,
336
- },
337
- };
338
- ```
339
-
340
- Em seguida, use-o em qualquer arquivo MDX local:
341
-
342
- ```mdx
343
- ---
344
- title: "Notas de lançamento"
345
- ---
346
-
347
- # Notas de lançamento
348
-
349
- <ImpactCounter label="wins" />
350
- ```
351
-
352
- O servidor de desenvolvimento de conteúdo descobre exportações nomeadas de PascalCase e padrão de PascalCase
353
- exporta arquivos `.tsx`, `.jsx`, `.ts` e `.js` em `components/`. Aqueles
354
- componentes são renderizados dentro do editor e aparecem no menu de barras em
355
- **Componentes locais**. A inserção de barra cria uma tag mínima como
356
- `<ImpactCounter />`; adicione adereços na fonte MDX quando necessário.
357
-
358
- A execução do componente é intencionalmente um recurso de ponte local-dev/Desktop, não
359
- acesso simples à pasta do navegador hospedado. Se você abrir `content.agent-native.com`,
360
- escolha **Arquivos locais** e escolha uma pasta no Chrome, o app pode ler e gravar
361
- os arquivos `.md` e `.mdx` através do navegador Sistema de Arquivos Acesse API, mas
362
- O Chrome não expõe um caminho de pasta absoluto para Vite compilar
363
- `components/*.tsx`. Para visualizar e recarregar componentes React personalizados, execute
364
- Conteúdo localmente ou use o Agent Native Desktop para que a ponte local confiável possa
365
- registre o espaço de trabalho escolhido no servidor de desenvolvimento de conteúdo local. Nesse modo,
366
- edições em arquivos de componentes existentes, recarregamento a quente por meio de Vite e adição de ou
367
- a remoção de arquivos de componentes recarrega o registro do componente e o menu de barras.
368
-
369
- Os agentes também podem trabalhar com esses arquivos de componentes registrados. Usar
370
- `list-local-component-files` para encontrar o ID do espaço de trabalho registrado e, em seguida,
371
- `write-local-component-file` para criar ou atualizar `.tsx`, `.jsx`, `.ts` ou
372
- Arquivos `.js` na pasta `components/` do espaço de trabalho. Os arquivos MDX permanecem os
373
- fonte de verdade para uso de componentes; os arquivos do componente permanecem no repositório normal
374
- arquivos de origem revisados com Git.
375
-
376
- Se um componente exportar metadados de entrada, selecione o componente no editor
377
- mostra um botão de edição no canto superior direito do componente. Tipos de entrada suportados
378
- são `string`, `textarea`, `number`, `boolean` e `select`. O formulário escreve
379
- volta para a tag MDX, então os arquivos locais permanecem a fonte da verdade. O
380
- metadados podem ser exportados como `ComponentNameInputs`, `ComponentNameConfig.inputs`,
381
- `Component.inputs` ou `agentNative.inputs`.
382
-
383
- Tags de componentes simples com adereços literais podem ser visualizados in-line:
384
-
385
- ```mdx
386
- <FrameworkTabs value="react" />
387
-
388
- <Callout tone="warning">
389
-
390
- This setting affects production deploys.
391
-
392
- </Callout>
393
- ```
394
-
395
- Expressões JSX complexas são preservadas na origem. Se o editor não puder com segurança
396
- visualizar um suporte de componente ainda, ele mostra um espaço reservado de aviso em vez de
397
- descartando dados silenciosamente.
398
-
399
- ## Compartilhando arquivos locais
400
-
401
- Os arquivos locais não são compartilhados diretamente porque outros usuários não conseguem ler um caminho
402
- sua máquina. O botão Compartilhar da barra de ferramentas Conteúdo cria ou atualiza um
403
- cópia do arquivo selecionado com base no banco de dados, navega até essa cópia e abre o
404
- popover de compartilhamento normal. O arquivo local original permanece em Arquivos locais; o
405
- a cópia do banco de dados aparece em Cópias compartilhadas no modo de arquivo local e usa o
406
- modelo padrão de compartilhamento de documentos.
407
-
408
- ## Extensões locais
409
-
410
- O modo de arquivo local também pode carregar extensões apoiadas por repositório a partir do configurado
411
- Pasta `extensions`. Cada extensão é um diretório com um `extension.json`
412
- manifesto e um arquivo de entrada HTML:
413
-
414
- ```text
415
- extensions/
416
- doc-status/
417
- extension.json
418
- index.html
419
- ```
420
-
421
- ```json
422
- {
423
- "id": "doc-status",
424
- "name": "Doc Status",
425
- "description": "Shows metadata for the selected Content file.",
426
- "entry": "index.html",
427
- "slots": ["content.sidebar.bottom"],
428
- "permissions": {
429
- "appActions": ["list-documents"],
430
- "extensionData": true
431
- }
432
- }
433
- ```
434
-
435
- `index.html` é o mesmo formato de corpo de extensão Alpine/Tailwind usado pelo normal
436
- extensões apoiadas por banco de dados. Quando o aplicativo Content vê uma extensão local que
437
- declara `content.sidebar.bottom`, ele renderiza essa extensão na parte inferior de
438
- a barra lateral de Conteúdo. O host passa `window.slotContext` com o selecionado
439
- ID do documento, título, metadados de origem e se o conteúdo está no modo de arquivo local.
440
-
441
- As extensões locais são visualizadas pelo aplicativo, mas editadas como arquivos. As extensões
442
- a lista mostra-os com um selo de arquivo local, e o visualizador de página inteira aponta de volta para
443
- o arquivo de entrada. Extensão actions apoiada por SQL, como atualizar, excluir, compartilhar e
444
- história não se aplica; use seu editor, código Codex, Claude ou histórico do Git para
445
- alterações na origem.
446
-
447
- Para v1, as extensões locais são intencionalmente conservadoras:
448
-
449
- - eles podem usar `extensionData` para seu próprio estado de tempo de execução pequeno
450
- - eles podem ligar apenas para os `appAction`s listados em `extension.json`
451
- - ajudantes SQL brutos e `extensionFetch` externos estão desabilitados
452
- - os destinos dos slots são declarados em `extension.json`, não instalados por meio de SQL
453
-
454
- Isso dá aos espaços de trabalho locais uma superfície de plug-in semelhante ao Obsidian, sem permitir
455
- O arquivo repositório arbitrário herda todos os recursos de uma extensão baseada em banco de dados.
456
-
457
- ## Como os aplicativos usam isso
458
-
459
- O modo de arquivo local é implementado por meio dos auxiliares de artefatos locais da estrutura.
460
- Um aplicativo declara raízes para os tipos de artefatos que possui, depois lê e grava
461
- através da mesma ação, o UI e o agente já usam.
462
-
463
- Para Conteúdo, isso significa:
464
-
465
- - `list-documents` lista os arquivos `.md` e `.mdx` configurados.
466
- - `get-document` lê um arquivo local selecionado.
467
- - `update-document` grava o arquivo local selecionado.
468
- - `create-document` cria um novo arquivo `.mdx` local na pasta selecionada.
469
- - `delete-document` exclui o arquivo local.
470
- - a pesquisa é executada nos arquivos locais configurados.
471
-
472
- Mover, renomear e reordenar páginas de arquivos locais do Conteúdo UI não é
473
- ainda compatível. Faça essas operações no espaço de trabalho ou com um agente de codificação; o
474
- A barra lateral de conteúdo refletirá a árvore de arquivos resultante.
475
-
476
- Isso mantém o contrato do agente simples: o agente pode continuar usando o Conteúdo actions,
477
- e aqueles actions decidem se o alvo é apoiado por SQL ou por arquivo.
478
-
479
- Outros aplicativos podem adotar o mesmo padrão ao longo do tempo. Um aplicativo Apresentações pode mapear
480
- `slides/*.mdx` para decks, um aplicativo de Planos pode mapear `plans/*` para documentos de planejamento e um
481
- O aplicativo Dashboards pode mapear `dashboards/*.mdx` para dashboards. Aqueles específicos do aplicativo
482
- pastas são convenções colocadas em camadas sobre o mesmo contrato de artefato local.
483
-
484
- ## Arquivos locais x exportação/importação
485
-
486
- O conteúdo tem dois fluxos de trabalho de arquivo diferentes:
487
-
488
- | Fluxo de trabalho | O que acontece |
489
- | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
490
- | Exportação/importação `/local-files` | O modo banco de dados continua sendo a fonte da verdade. Os arquivos são uma superfície de sincronização explícita que você exporta, edita, visualiza e importa. |
491
- | Modo de arquivo local | Os arquivos são a fonte da verdade. A barra lateral e o editor de conteúdo operam diretamente em arquivos locais. |
492
-
493
- Use exportar/importar quando quiser revisar arquivos ocasionalmente em um espaço de trabalho hospedado.
494
- Use o modo de arquivo local quando o próprio repositório for o espaço de trabalho.
495
-
496
- ## História e colaboração
497
-
498
- O modo de arquivo local depende do histórico nativo do arquivo:
499
-
500
- - confirmar alterações importantes no Git
501
- - use pull requests para revisão
502
- - permitir que os agentes de codificação editem os mesmos arquivos diretamente
503
- - use diferenças normais de arquivo para entender as alterações
504
-
505
- O modo banco de dados continua sendo o mais adequado para recursos de colaboração hospedados, como
506
- compartilhamento, comentários, histórico de versões apoiado por SQL e edição multiusuário ao vivo.
507
-
508
- A sincronização do provedor pode ser colocada em camadas sobre qualquer um dos modos. Por exemplo, um repositório de documentos pode
509
- adicione actions que extrai conteúdo de um CMS para arquivos MDX locais ou envia por push os selecionados
510
- arquivos locais de volta para esse CMS.
511
-
512
- ## Segurança de produção
513
-
514
- O modo de arquivo local fornece ao aplicativo actions acesso direto de gravação ao espaço de trabalho configurado
515
- arquivos. Isso é apropriado para desenvolvimento local e arquivo confiável de locatário único
516
- pontes, mas não é o modelo de segurança de produção padrão.
517
-
518
- Quando `NODE_ENV=production`, a estrutura recusa o modo `local-files`, a menos que você
519
- definir:
520
-
521
- ```bash
522
- AGENT_NATIVE_ALLOW_LOCAL_FILES_IN_PRODUCTION=true
523
- ```
524
-
525
- Defina isso apenas para uma implantação confiável de locatário único, onde todos que podem usar
526
- o aplicativo tem permissão para ler e gravar os arquivos configurados. Para hospedagem normal,
527
- aplicativos multiusuário, usam modo de banco de dados e compartilhamento apoiado por SQL.
66
+ Para migrar, remova `mode: "local-files"` e
67
+ `AGENT_NATIVE_MODE=local-files`, mantenha as raízes e adicione `source`. IDs no
68
+ frontmatter preservam a identidade ao renomear ou mover uma página. Componentes
69
+ e extensões locais continuam usando a ponte local confiável.
@@ -95,9 +95,8 @@ Ao abrir o aplicativo, você verá uma árvore de páginas ao lado do editor. O
95
95
  - **Organize as páginas em uma árvore** — aninhe infinitamente, arraste para reordenar, páginas favoritas que você usa com frequência.
96
96
  - **Pesquise tudo** com pesquisa de texto completo em títulos e conteúdo.
97
97
  - **Edite arquivos Markdown/MDX locais como Obsidian.** Use a visualização `/local-files`
98
- para exportar seu espaço de trabalho para arquivos, edite-os em suas próprias ferramentas, visualize
99
- alterações e importe-as de volta. No modo de arquivo local, o conteúdo é gravado diretamente em
100
- o arquivo `.md` ou `.mdx` selecionado.
98
+ para conectar uma pasta ao Files, editar com suas ferramentas, sincronizar
99
+ mudanças e revisar conflitos dentro do aplicativo SQL.
101
100
  - **Gere blocos personalizados interativos avançados.** Registre componentes React locais,
102
101
  insira-os como MDX e deixe o agente criar ou atualizar arquivos de componentes para
103
102
  seus documentos.
@@ -140,32 +139,19 @@ como superfície de revisão. O aplicativo hospedado continua sendo a fonte da v
140
139
  comentários, permissões e colaboração ao vivo; a pasta local é explícita
141
140
  superfície de sincronização.
142
141
 
143
- O conteúdo também pode ser executado no **Modo de arquivo local**, onde os arquivos são a origem de
144
- verdade em vez de documentos SQL. Adicione `agent-native.json` a um repositório, defina
145
- `mode: "local-files"` e configure raízes como `docs/`, `blog/`,
146
- `content/` e `resources/`. O editor de conteúdo padrão preenche seu
147
- barra lateral esquerda dos arquivos `.md`/`.mdx` locais e grava as edições de volta no
148
- arquivo selecionado através do documento normal actions. Use isto para documentos repo-first,
149
- blogs, bibliotecas de recursos ou conteúdo pessoal no estilo Obsidian com tecnologia MDX
150
- componentes; volte para o modo de banco de dados quando desejar colaboração hospedada e
151
- Compartilhamento apoiado por SQL. Consulte [Local File Mode](/docs/local-file-mode) para
152
- layout de repositório independente, configuração, componentes MDX personalizados, local
153
- Widgets `extensions/` e guia de segurança de produção.
142
+ Pastas locais agora usam o mesmo modelo SQL que todas as páginas. Cada página
143
+ pertence a um espaço e ao banco Files; a pasta é um adaptador de fonte. Consulte
144
+ [Fontes de pastas locais](/docs/local-file-mode) para políticas, conflitos,
145
+ componentes MDX e a migração do modo antigo.
154
146
 
155
- Para instalar a habilidade Content local-files em um repositório existente:
147
+ Para abrir Content em um repositório existente:
156
148
 
157
149
  ```bash
158
- npx @agent-native/core@latest skills add content --mode local-files --scope project
150
+ npx @agent-native/core@latest content .
159
151
  ```
160
152
 
161
- O instalador copia a habilidade `content` para seu agente de codificação e grava ou
162
- atualiza `agent-native.json` com raízes de conteúdo para `docs/`, `blog/`, `content/`,
163
- e `resources/`. Quando um aplicativo de conteúdo local, Agent Native Desktop ou confiável
164
- a ponte local está em execução, os agentes devem usar o Conteúdo actions como
165
- `list-documents`, `get-document`, `edit-document`, `update-document` e
166
- `share-local-file-document` em vez de gravações brutas no sistema de arquivos. Sem aquele local
167
- bridge, a habilidade instalada ainda dá ao agente o contrato de repoediting para
168
- edições seguras de Markdown/MDX.
153
+ O CLI inicia Content com seu banco normal, registra a pasta como fonte e abre a
154
+ conexão sem definir uma variável de modo.
169
155
 
170
156
  ## Para desenvolvedores
171
157