@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,525 +1,72 @@
1
1
  ---
2
- title: "Mode fichier local"
3
- description: "Exécutez des applications natives d'agent avec Markdown, MDX et d'autres fichiers de dépôt locaux comme source de vérité, y compris des documents MDX de style Obsidian avec des composants personnalisés."
2
+ title: "Sources de dossiers locaux"
3
+ description: "Connectez des dossiers Markdown et MDX aux espaces Content, tous stockés en base de données."
4
4
  ---
5
5
 
6
- # Mode fichier local
6
+ # Sources de dossiers locaux
7
7
 
8
- Le mode Fichier local permet à une application native d'agent d'attacher son UI et sa surface d'action normales
9
- directement vers les fichiers d'un dépôt ou d'un espace de travail. L'application ressemble toujours à une application hébergée
10
- produit, mais ses vues de liste, son éditeur et ses outils d'agent lisent et écrivent des fichiers locaux
11
- au lieu des enregistrements d'application basés sur SQL.
8
+ Content utilise désormais un seul modèle de données : chaque page est stockée
9
+ en SQL, appartient à un **espace** et figure dans la base système **Files** de
10
+ cet espace. Un dossier local est une source connectée à Files, pas un second
11
+ mode d'application. Il n'existe plus de commutateur `AGENT_NATIVE_MODE`.
12
12
 
13
- La première implémentation se trouve dans le modèle de contenu : la barre latérale gauche est
14
- rempli à partir des fichiers `.md` et `.mdx` locaux, la sélection d'une page ouvre la norme
15
- Éditeur de contenu et enregistrement des écritures dans le fichier sélectionné. Les mêmes fichiers peuvent
16
- être également modifié par Codex, Claude Code, l'agent de la barre latérale Agent-Native ou un utilisateur normal
17
- éditeur.
13
+ Chaque utilisateur possède un espace personnel, chaque organisation accessible
14
+ possède son espace, et le catalogue personnel **Workspaces** détermine les
15
+ espaces affichés. Files est une base Content normale : ses propriétés, filtres,
16
+ tris, groupes et vues enregistrées peuvent aussi rendre la barre latérale.
18
17
 
19
- Pour le contenu, cela donne au produit l'impression d'être Obsidian open source pour MDX :
20
- vos documents vivent sous forme de fichiers, tandis que l'application ajoute un éditeur visuel, l'agent actions,
21
- copies partageables et riches composants interactifs MDX.
18
+ ## Connecter un dossier
22
19
 
23
- Utilisez le mode fichier local lorsque vous souhaitez un workflow axé sur le dépôt :
20
+ Choisissez un dossier via le navigateur ou Agent Native Desktop, puis rattachez-
21
+ le à un espace existant ou créez un espace privé associé au dossier. SQL ne
22
+ conserve que l'identifiant opaque de connexion, les chemins relatifs, les
23
+ empreintes et les métadonnées de source — jamais le chemin absolu, le handle du
24
+ navigateur ou le corps brut des fichiers.
24
25
 
25
- - un dépôt de documents avec `docs/*.mdx`
26
- - un blog avec `blog/*.mdx`
27
- - ressources telles que le positionnement, la messagerie ou les notes d'équipe dans `resources/*.md`
28
- - une base de connaissances personnelle de style Obsidian avec un éditeur MDX plus riche
29
- - documents nécessitant des blocs MDX personnalisés interactifs générés à partir du code React local
30
- - Artefacts d'application qui devraient être faciles à inspecter et à corriger pour les agents de codage
26
+ Les stratégies disponibles sont `database_primary`, `source_primary` et
27
+ `reviewed_bidirectional`. La synchronisation matérialise les fichiers comme des
28
+ pages SQL ordinaires. En cas de modifications concurrentes, elle crée un
29
+ changement à examiner au lieu d'écraser un côté. La déconnexion conserve les
30
+ pages et les fichiers locaux.
31
31
 
32
- Utilisez le mode base de données lorsque vous souhaitez bénéficier de l'expérience d'une application collaborative hébergée :
33
- partage multi-utilisateurs, autorisations basées sur SQL, commentaires, historique des versions et
34
- hébergement de production sans accès au système de fichiers local.
35
-
36
- ## Le modèle mental
37
-
38
- Il existe deux modes de source de vérité :
39
-
40
- | Mode | Source de vérité | Idéal pour |
41
- | -------------------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
42
- | Mode base de données | Lignes SQL jusqu'à Drizzle | Applications hébergées, collaboration, partage, commentaires, historique des versions |
43
- | Mode fichier local | Fichiers Repo déclarés par `agent-native.json` | Workflows locaux/de développement, révision de Git, modifications de l'agent de codage, contenu natif du fichier |
44
-
45
- Le UI et l'agent actions doivent conserver la même forme dans les deux modes. Un contenu
46
- l'éditeur édite toujours les documents ; la différence est de savoir si ces documents résolvent
47
- vers des lignes SQL ou des fichiers locaux.
48
-
49
- <Diagram id="doc-block-121x2yz" title={"Mêmes actions, deux sources de vérité"} summary={"L'interface utilisateur et l'agent appellent des actions identiques dans les deux modes. La couche d'action décide si chaque appel est résolu en lignes SQL ou en fichiers de dépôt."}>
50
-
51
- ```html
52
- <div class="diagram-mode">
53
- <div class="diagram-col entry">
54
- <div class="diagram-node">UI de contenu</div>
55
- <div class="diagram-node">
56
- Agent et actions applicatives<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">Mode base de données</span
65
- ><small class="diagram-muted">SQL rows via Drizzle</small
66
- ><small class="diagram-muted"
67
- >hébergé · partage · commentaires · historique</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">revue Git · éditions agent de code</small>
74
- </div>
75
- </div>
76
- </div>
77
- ```
78
-
79
- ```css
80
- .diagram-mode {
81
- display: flex;
82
- align-items: center;
83
- gap: 14px;
84
- flex-wrap: wrap;
85
- }
86
- .diagram-mode .diagram-col {
87
- display: flex;
88
- flex-direction: column;
89
- gap: 10px;
90
- }
91
- .diagram-mode .diagram-arrow {
92
- font-size: 22px;
93
- line-height: 1;
94
- }
95
- .diagram-mode .resolve {
96
- display: flex;
97
- gap: 12px;
98
- flex-wrap: wrap;
99
- }
100
- .diagram-mode .diagram-panel {
101
- display: flex;
102
- flex-direction: column;
103
- gap: 4px;
104
- padding: 12px 14px;
105
- }
106
- ```
107
-
108
- </Diagram>
109
-
110
- ## Exemple de dépôt
111
-
112
- Un espace de travail de contenu peut être aussi petit que ceci :
113
-
114
- <FileTree
115
- id="doc-block-u2dd2k"
116
- title="Un repo de workspace Content"
117
- entries={[
118
- {
119
- path: "agent-native.json",
120
- note: "Déclare quels dossiers sont des racines de contenu et leurs types",
121
- },
122
- {
123
- path: "docs/",
124
- note: "Racine de contenu : affichée dans la barre latérale comme pages",
125
- },
126
- {
127
- path: "docs/getting-started.mdx",
128
- },
129
- {
130
- path: "docs/guides/custom-components.mdx",
131
- },
132
- {
133
- path: "blog/",
134
- note: "Racine de contenu",
135
- },
136
- {
137
- path: "blog/launch-post.mdx",
138
- },
139
- {
140
- path: "resources/",
141
- note: "Racine de contenu",
142
- },
143
- {
144
- path: "resources/messaging/positioning.md",
145
- },
146
- {
147
- path: "components/",
148
- note: "PAS une racine de contenu : bibliothèque de composants de preview que MDX peut importer",
149
- },
150
- {
151
- path: "components/FrameworkTabs.tsx",
152
- },
153
- {
154
- path: "components/Callout.tsx",
155
- },
156
- {
157
- path: "extensions/",
158
- note: "PAS une racine de contenu : bibliothèque locale d'extensions (widgets sandboxés)",
159
- },
160
- {
161
- path: "extensions/doc-status/extension.json",
162
- },
163
- {
164
- path: "extensions/doc-status/index.html",
165
- },
166
- ]}
167
- />
168
-
169
- En mode fichier local, la barre latérale Contenu affiche les `docs/`, `blog/` et
170
- Arborescences `resources/` sous forme de pages. La sélection de `docs/getting-started.mdx` ouvre cela
171
- fichier dans l'éditeur de contenu standard ; l'édition dans le UI réécrit dans
172
- `docs/getting-started.mdx`.
173
-
174
- `components/` n'est pas une racine de contenu. Il s'agit d'une bibliothèque de composants en avant-première que MDX
175
- les fichiers peuvent être importés ou référencés. L'éditeur peut restituer des composants MDX locaux simples
176
- sans que vous ayez à cloner ou à dupliquer l'intégralité de l'application de contenu.
177
-
178
- `extensions/` n'est pas non plus une racine de contenu. Il s'agit d'une bibliothèque d'extensions locale :
179
- petits widgets en bac à sable qui peuvent s'afficher dans les emplacements d'application tandis que leur source reste dans
180
- le dépôt.
181
-
182
- ## Installer le contenu dans un dépôt
183
-
184
- Pour un espace de travail de documents, de blog ou MDX existant, installez les fichiers locaux de contenu
185
- compétence :
32
+ ## Démarrer depuis un dépôt
186
33
 
187
34
  ```bash
188
- npx @agent-native/core@latest skills add content --mode local-files --scope project
35
+ npx @agent-native/core@latest content .
189
36
  ```
190
37
 
191
- Cela copie la compétence `content` dans les dossiers de compétences d'agent du dépôt et écrit
192
- ou met à jour `agent-native.json` avec les valeurs par défaut du contenu :
193
-
194
- - `mode: "local-files"` au niveau de l'espace de travail
195
- - `apps.content.mode: "local-files"`
196
- - racines de contenu pour `docs/`, `blog/`, `content/` et `resources/`
197
- - `components/` pour les composants locaux MDX
198
- - `extensions/` pour les widgets d'extension locale
199
-
200
- La compétence installée indique aux agents de codage d'utiliser le contenu actions
201
- (`list-documents`, `get-document`, `edit-document`, `update-document`,
202
- `share-local-file-document` et fichier de composant actions) lorsqu'une application de contenu locale
203
- ou le pont Agent Native Desktop les expose. Si aucun pont ne fonctionne, la compétence
204
- revient à des modifications de dépôt directes sécurisées tout en préservant le contenu, les importations, JSX,
205
- et MDX inconnu.
38
+ La commande démarre l'application Content normale, enregistre le dossier comme
39
+ source et ouvre l'écran de connexion. Elle ne définit aucune variable de mode.
206
40
 
207
41
  ## Configuration
208
42
 
209
- Ajoutez `agent-native.json` à la racine du dépôt ou de l'espace de travail :
210
-
211
43
  ```json
212
44
  {
213
45
  "version": 1,
214
46
  "apps": {
215
47
  "content": {
216
- "mode": "local-files",
217
48
  "roots": [
218
49
  {
219
50
  "name": "Docs",
220
51
  "path": "docs",
221
52
  "kind": "docs",
222
- "extensions": [".md", ".mdx"]
223
- },
224
- {
225
- "name": "Blog",
226
- "path": "blog",
227
- "kind": "blog",
228
- "extensions": [".md", ".mdx"]
229
- },
230
- {
231
- "name": "Resources",
232
- "path": "resources",
233
- "kind": "resources",
234
- "extensions": [".md", ".mdx"]
53
+ "extensions": [".md", ".mdx"],
54
+ "source": {
55
+ "type": "local-folder",
56
+ "connectionId": "local-folder:<opaque-id>",
57
+ "truthPolicy": "source_primary"
58
+ }
235
59
  }
236
60
  ],
237
61
  "components": "components",
238
- "extensions": "extensions",
239
- "hide": ["**/_*.md", "**/_*.mdx"]
62
+ "extensions": "extensions"
240
63
  }
241
64
  }
242
65
  }
243
66
  ```
244
67
 
245
- Vous pouvez également activer les fichiers locaux avec `AGENT_NATIVE_MODE=local-files` ou
246
- `AGENT_NATIVE_DATA_MODE=local-files` ; le manifeste est préféré car il
247
- documente le contrat de dossier dans le dépôt lui-même.
248
-
249
- ## Format de fichier de contenu
250
-
251
- Le contenu lit Markdown et MDX. Frontmatter contient les métadonnées de la page et le corps est
252
- le document modifiable :
253
-
254
- ```mdx
255
- ---
256
- title: "Commencer"
257
- icon: "sparkles"
258
- isFavorite: true
259
- updatedAt: "2026-06-12T20:00:00.000Z"
260
- ---
261
-
262
- # Commencer
263
-
264
- Use <FrameworkTabs value="react" /> to show framework-specific code.
265
- ```
266
-
267
- Le titre vient du frontmatter `title` lorsqu'il est présent, sinon du
268
- nom de fichier. L'éditeur conserve la source MDX qu'il ne peut pas encore modifier visuellement, donc
269
- Les agents de codage et les éditeurs de texte normaux restent des issues de secours sûres.
270
-
271
- ## Composants MDX personnalisés
272
-
273
- Le contenu peut prévisualiser les composants locaux du dossier `components` configuré.
274
- Ceci est destiné aux composants MDX de style document tels que les onglets, les légendes, le package
275
- installez des extraits ou des blocs de code spécifiques au framework.
276
-
277
- Par exemple, ajoutez un composant interactif à côté de votre contenu :
278
-
279
- ```tsx
280
- // components/ImpactCounter.tsx
281
- import { useState } from "react";
282
-
283
- export function ImpactCounter({
284
- label = "points",
285
- accent = "blue",
286
- featured = false,
287
- }: {
288
- label?: string;
289
- accent?: "blue" | "green" | "purple";
290
- featured?: boolean;
291
- }) {
292
- const [count, setCount] = useState(3);
293
- const accentClass =
294
- accent === "green"
295
- ? "border-green-300 bg-green-50"
296
- : accent === "purple"
297
- ? "border-purple-300 bg-purple-50"
298
- : "border-blue-300 bg-blue-50";
299
-
300
- return (
301
- <div className={`rounded-md border p-4 ${accentClass}`}>
302
- <div className="text-sm text-muted-foreground">Launch impact</div>
303
- <div className="mt-1 text-3xl font-semibold">
304
- {count} {label}
305
- </div>
306
- {featured ? <div className="mt-1 text-sm">Featured metric</div> : null}
307
- <button
308
- type="button"
309
- className="mt-3 rounded border px-3 py-1 text-sm"
310
- onClick={() => setCount((value) => value + 1)}
311
- >
312
- Add point
313
- </button>
314
- </div>
315
- );
316
- }
317
-
318
- export const ImpactCounterInputs = {
319
- label: {
320
- type: "string",
321
- label: "Metric label",
322
- default: "points",
323
- },
324
- accent: {
325
- type: "select",
326
- label: "Accent",
327
- options: ["blue", "green", "purple"],
328
- default: "blue",
329
- },
330
- featured: {
331
- type: "boolean",
332
- label: "Featured",
333
- default: false,
334
- },
335
- };
336
- ```
337
-
338
- Utilisez-le ensuite à partir de n'importe quel fichier MDX local :
339
-
340
- ```mdx
341
- ---
342
- title: "Notes de lancement"
343
- ---
344
-
345
- # Notes de lancement
346
-
347
- <ImpactCounter label="wins" />
348
- ```
349
-
350
- Le serveur de développement de contenu découvre les exportations nommées PascalCase et PascalCase par défaut
351
- exporte à partir de fichiers `.tsx`, `.jsx`, `.ts` et `.js` sous `components/`. Ceux
352
- les composants s'affichent dans l'éditeur et apparaissent dans le menu barre oblique sous
353
- **Composants locaux**. L'insertion d'une barre oblique crée une balise minimale telle que
354
- `<ImpactCounter />` ; ajoutez des accessoires dans la source MDX si nécessaire.
355
-
356
- L'exécution des composants est intentionnellement une fonctionnalité de pont de développement local/de bureau, et non
357
- accès simple au dossier du navigateur hébergé. Si vous ouvrez `content.agent-native.com`,
358
- choisissez **Fichiers locaux** et choisissez un dossier dans Chrome, l'application peut lire et écrire
359
- les fichiers `.md` et `.mdx` via le système de fichiers du navigateur Accédez à API, mais
360
- Chrome n'expose pas de chemin de dossier absolu à compiler par Vite
361
- `components/*.tsx`. Pour prévisualiser et recharger à chaud les composants React personnalisés, exécutez
362
- Contenu localement ou utilisez Agent Native Desktop pour que le pont local de confiance puisse
363
- enregistrez l'espace de travail sélectionné auprès du serveur de développement de contenu local. Dans ce mode,
364
- modifications des fichiers de composants existants, rechargement à chaud via Vite et ajout de ou
365
- la suppression des fichiers de composants recharge le registre des composants et le menu barre oblique.
366
-
367
- Les agents peuvent également travailler avec ces fichiers de composants enregistrés. Utiliser
368
- `list-local-component-files` pour trouver l'identifiant de l'espace de travail enregistré, puis
369
- `write-local-component-file` pour créer ou mettre à jour `.tsx`, `.jsx`, `.ts` ou
370
- Fichiers `.js` dans le dossier `components/` de l'espace de travail. Les fichiers MDX restent les
371
- source de vérité pour l'utilisation des composants ; les fichiers de composants restent un dépôt normal
372
- fichiers sources examinés avec Git.
373
-
374
- Si un composant exporte des métadonnées d'entrée, sélection du composant dans l'éditeur
375
- affiche un bouton d'édition dans le coin supérieur droit du composant. Types d'entrée pris en charge
376
- sont `string`, `textarea`, `number`, `boolean` et `select`. Le formulaire écrit
377
- revient à la balise MDX, les fichiers locaux restent donc la source de vérité. Le
378
- les métadonnées peuvent être exportées au format `ComponentNameInputs`, `ComponentNameConfig.inputs`,
379
- `Component.inputs` ou `agentNative.inputs`.
380
-
381
- Les balises de composants simples avec des accessoires littéraux peuvent être prévisualisées en ligne :
382
-
383
- ```mdx
384
- <FrameworkTabs value="react" />
385
-
386
- <Callout tone="warning">
387
-
388
- This setting affects production deploys.
389
-
390
- </Callout>
391
- ```
392
-
393
- Les expressions complexes JSX sont conservées dans la source. Si l'éditeur ne peut pas en toute sécurité
394
- prévisualisez encore un accessoire de composant, il affiche un espace réservé d'avertissement plutôt que
395
- supprimer silencieusement des données.
396
-
397
- ## Partage de fichiers locaux
398
-
399
- Les fichiers locaux ne sont pas partagés directement car les autres utilisateurs ne peuvent pas lire de chemin
400
- votre machine. Le bouton Partager de la barre d'outils Contenu crée ou actualise un
401
- copie sauvegardée dans la base de données du fichier sélectionné, accède à cette copie et ouvre le
402
- popover de partage normal. Le fichier local d'origine reste sous Fichiers locaux ; le
403
- la copie de la base de données apparaît sous Copies partagées en mode fichier local et utilise le
404
- modèle standard de partage de documents.
405
-
406
- ## Extensions locales
407
-
408
- Le mode fichier local peut également charger des extensions sauvegardées en dépôt à partir du fichier configuré
409
- Dossier `extensions`. Chaque extension est un répertoire avec un `extension.json`
410
- manifeste et un fichier d'entrée HTML :
411
-
412
- ```text
413
- extensions/
414
- doc-status/
415
- extension.json
416
- index.html
417
- ```
418
-
419
- ```json
420
- {
421
- "id": "doc-status",
422
- "name": "Doc Status",
423
- "description": "Shows metadata for the selected Content file.",
424
- "entry": "index.html",
425
- "slots": ["content.sidebar.bottom"],
426
- "permissions": {
427
- "appActions": ["list-documents"],
428
- "extensionData": true
429
- }
430
- }
431
- ```
432
-
433
- `index.html` est le même format de corps d'extension Alpine/Tailwind utilisé par la normale
434
- extensions basées sur une base de données. Lorsque l'application de contenu détecte une extension locale qui
435
- déclare `content.sidebar.bottom`, il affiche cette extension en bas de
436
- la barre latérale Contenu. L'hôte transmet `window.slotContext` avec le
437
- ID du document, titre, métadonnées sources et si le contenu est en mode fichier local.
438
-
439
- Les extensions locales sont prévisualisées par l'application mais modifiées sous forme de fichiers. Les extensions
440
- la liste les affiche avec un badge de fichier local et la visionneuse pleine page renvoie à
441
- le fichier d'entrée. Extension actions basée sur SQL, telle que la mise à jour, la suppression, le partage et
442
- l'historique ne s'applique pas ; utilisez votre éditeur, le code Codex, le code Claude ou l'historique Git pour
443
- modifications de la source.
444
-
445
- Pour la version v1, les extensions locales sont intentionnellement conservatrices :
446
-
447
- - ils peuvent utiliser `extensionData` pour leur propre petit état d'exécution
448
- - ils ne peuvent appeler que les `appAction` répertoriés dans `extension.json`
449
- - Les assistants SQL bruts et les `extensionFetch` externes sont désactivés
450
- - les emplacements cibles sont déclarés dans `extension.json`, non installés via SQL
451
-
452
- Cela donne aux espaces de travail locaux une surface de plugin de type Obsidian sans laisser passer
453
- un fichier de dépôt arbitraire hérite de toutes les fonctionnalités d'une extension basée sur une base de données.
454
-
455
- ## Comment les applications l'utilisent
456
-
457
- Le mode fichier local est implémenté via les assistants d'artefacts locaux du framework.
458
- Une application déclare les racines des types d'artefacts qu'elle possède, puis lit et écrit
459
- via la même surface d'action, son UI et son agent l'utilisent déjà.
460
-
461
- Pour le contenu, cela signifie :
462
-
463
- - `list-documents` répertorie les fichiers `.md` et `.mdx` configurés.
464
- - `get-document` lit un fichier local sélectionné.
465
- - `update-document` écrit le fichier local sélectionné.
466
- - `create-document` crée un nouveau fichier `.mdx` local dans le dossier sélectionné.
467
- - `delete-document` supprime le fichier local.
468
- - la recherche s'exécute sur les fichiers locaux configurés.
469
-
470
- Le déplacement, le renommage et la réorganisation des pages de fichiers locaux à partir du contenu UI ne sont pas autorisés
471
- pas encore pris en charge. Effectuer ces opérations dans l'espace de travail ou avec un agent de codage ; le
472
- La barre latérale de contenu reflétera l'arborescence de fichiers résultante.
473
-
474
- Le contrat de l'agent reste ainsi simple : l'agent peut continuer à utiliser Content actions,
475
- et ces actions décident si la cible est sauvegardée sur SQL ou sur fichier.
476
-
477
- D'autres applications peuvent adopter le même modèle au fil du temps. Une application Slides peut cartographier
478
- `slides/*.mdx` aux decks, une application Plans peut mapper `plans/*` aux documents de plan, et
479
- L'application Dashboards peut mapper `dashboards/*.mdx` aux tableaux de bord. Ceux spécifiques à l'application
480
- les dossiers sont des conventions superposées au même contrat d'artefact local.
481
-
482
- ## Fichiers locaux vs exportation/importation
483
-
484
- Le contenu comporte deux flux de travail de fichiers différents :
485
-
486
- | Flux de travail | Que se passe-t-il |
487
- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
488
- | Export/importation `/local-files` | Le mode base de données reste la source de vérité. Les fichiers constituent une surface de synchronisation explicite que vous exportez, modifiez, prévisualisez et importez. |
489
- | Mode fichier local | Les fichiers sont la source de la vérité. La barre latérale de contenu et l'éditeur fonctionnent directement sur les fichiers locaux. |
490
-
491
- Utilisez l'exportation/importation lorsque vous souhaitez examiner occasionnellement des fichiers dans un espace de travail hébergé.
492
- Utilisez le mode fichier local lorsque le dépôt lui-même est l'espace de travail.
493
-
494
- ## Historique et collaboration
495
-
496
- Le mode fichier local s'appuie sur l'historique natif des fichiers :
497
-
498
- - valider les modifications importantes dans Git
499
- - utiliser les demandes d'extraction pour examen
500
- - laisser les agents de codage modifier directement les mêmes fichiers
501
- - utiliser les différences de fichiers normales pour comprendre les changements
502
-
503
- Le mode base de données reste le meilleur choix pour les fonctionnalités de collaboration hébergées telles que
504
- partage, commentaires, historique des versions soutenu par SQL et édition multi-utilisateurs en direct.
505
-
506
- La synchronisation du fournisseur peut être superposée à l'un ou l'autre mode. Par exemple, un dépôt de documents peut
507
- ajouter des actions qui extraient le contenu d'un CMS vers des fichiers MDX locaux ou poussent la sélection
508
- fichiers locaux vers ce CMS.
509
-
510
- ## Sécurité de la production
511
-
512
- Le mode fichier local donne à l'application actions un accès direct en écriture à l'espace de travail configuré
513
- fichiers. Cela est approprié pour le développement local et les fichiers à locataire unique de confiance
514
- des ponts, mais ce n'est pas le modèle de sécurité de production par défaut.
515
-
516
- Lorsque `NODE_ENV=production`, le framework refuse le mode `local-files` sauf si vous
517
- définir :
518
-
519
- ```bash
520
- AGENT_NATIVE_ALLOW_LOCAL_FILES_IN_PRODUCTION=true
521
- ```
522
-
523
- Définissez cela uniquement pour un déploiement fiable à locataire unique où tous ceux qui peuvent l'utiliser
524
- l'application est autorisée à lire et à écrire les fichiers configurés. Pour un hébergement normal,
525
- Applications multi-utilisateurs, utilisez le mode base de données et le partage basé sur SQL.
68
+ Pour migrer, supprimez `mode: "local-files"` et
69
+ `AGENT_NATIVE_MODE=local-files`, conservez les racines et ajoutez la section
70
+ `source`. Les identifiants de frontmatter préservent l'identité d'une page lors
71
+ d'un renommage ou déplacement. Les composants et extensions locaux continuent
72
+ de passer par le pont local de confiance.
@@ -95,9 +95,8 @@ Lorsque vous ouvrez l'application, vous verrez une arborescence de pages à côt
95
95
  - **Organisez les pages dans une arborescence** : emboîtez-les à l'infini, faites-les glisser pour réorganiser les pages favorites que vous utilisez souvent.
96
96
  - **Recherchez partout** avec la recherche en texte intégral dans les titres et le contenu.
97
97
  - **Modifiez les fichiers Markdown/MDX locaux comme Obsidian.** Utilisez la vue `/local-files`
98
- pour exporter votre espace de travail vers des fichiers, modifiez-les dans vos propres outils, prévisualisez
99
- modifications et réimportez-les. En mode fichier local, le contenu écrit directement dans
100
- le fichier `.md` ou `.mdx` sélectionné.
98
+ pour connecter un dossier à Files, le modifier avec vos outils, synchroniser
99
+ les changements et examiner les conflits dans l'application SQL.
101
100
  - **Générez des blocs personnalisés interactifs riches.** Enregistrez les composants React locaux,
102
101
  insérez-les en tant que MDX et laissez l'agent créer ou mettre à jour les fichiers de composants pour
103
102
  vos documents.
@@ -140,32 +139,19 @@ comme surface de révision. L'application hébergée reste la source de vérité
140
139
  commentaires, autorisations et collaboration en direct ; le dossier local est un explicite
141
140
  surface de synchronisation.
142
141
 
143
- Le contenu peut également s'exécuter en **mode fichier local**, les fichiers sont la source de
144
- la vérité au lieu des documents SQL. Ajoutez `agent-native.json` à un dépôt, définissez
145
- `mode: "local-files"` et configurez les racines telles que `docs/`, `blog/`,
146
- `content/` et `resources/`. L'éditeur de contenu standard remplit ensuite son
147
- barre latérale gauche de ces fichiers `.md`/`.mdx` locaux et réécrit les modifications dans
148
- fichier sélectionné via le document normal actions. Utilisez-le pour les documents repo-first,
149
- blogs, bibliothèques de ressources ou contenu personnel de style Obsidian avec MDX
150
- composants ; revenez en mode base de données lorsque vous souhaitez une collaboration hébergée et
151
- Partage soutenu par SQL. Voir [Local File Mode](/docs/local-file-mode) pour le
152
- Disposition du dépôt autonome, configuration, composants MDX personnalisés, local
153
- Widgets `extensions/` et guide de sécurité de production.
142
+ Les dossiers locaux utilisent maintenant le même modèle SQL que toutes les
143
+ pages. Chaque page appartient à un espace et à sa base Files ; le dossier est
144
+ un adaptateur de source sur cette base. Voir [Sources de dossiers locaux](/docs/local-file-mode)
145
+ pour les stratégies, conflits, composants MDX et la migration depuis l'ancien mode.
154
146
 
155
- Pour installer la compétence Content local-files dans un dépôt existant :
147
+ Pour ouvrir Content sur un dépôt existant :
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
- Le programme d'installation copie la compétence `content` pour votre agent de codage et écrit ou
162
- met à jour `agent-native.json` avec les racines de contenu pour `docs/`, `blog/`, `content/`,
163
- et `resources/`. Lorsqu'une application de contenu locale, un bureau Agent Native ou une application approuvée
164
- le pont local est en cours d'exécution, les agents doivent utiliser le contenu actions tel que
165
- `list-documents`, `get-document`, `edit-document`, `update-document` et
166
- `share-local-file-document` au lieu d'écritures brutes sur le système de fichiers. Sans ce local
167
- pont, la compétence installée donne toujours à l'agent le contrat de repo-édition pour
168
- Modifications sécurisées de Markdown/MDX.
153
+ La CLI démarre Content avec sa base normale, enregistre la source du dossier et
154
+ ouvre la connexion sans définir de variable d'environnement de mode.
169
155
 
170
156
  ## Pour les développeurs
171
157