@elytracms/studio 0.0.52 → 0.0.53

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 (308) hide show
  1. package/dist/components/account/account-settings.js +4 -4
  2. package/dist/components/account/credential-panel.js +1 -1
  3. package/dist/components/account/self-account-view-source.js +3 -3
  4. package/dist/components/ai/ai-chat-panel-lazy.js +1 -1
  5. package/dist/components/ai/ai-chat-panel.js +4 -4
  6. package/dist/components/ai/ai-cms-panel.js +1 -1
  7. package/dist/components/ai/proposal-card.js +4 -4
  8. package/dist/components/ai/translate-document-action.js +1 -1
  9. package/dist/components/ai/translate-document-dialog.d.ts +1 -1
  10. package/dist/components/app-views/default-modules.d.ts +3 -3
  11. package/dist/components/app-views/default-modules.js +20 -20
  12. package/dist/components/app-views/sidebar.d.ts +1 -1
  13. package/dist/components/app-views/sidebar.js +2 -2
  14. package/dist/components/app-views/studio-config.d.ts +1 -1
  15. package/dist/components/assets/asset-detail.js +9 -9
  16. package/dist/components/assets/asset-grid.js +7 -7
  17. package/dist/components/assets/asset-thumb.d.ts +1 -1
  18. package/dist/components/assets/asset-thumb.js +2 -2
  19. package/dist/components/assets/assets-collection-view-source.js +3 -3
  20. package/dist/components/assets/assets-module.js +8 -8
  21. package/dist/components/assets/assets-store.d.ts +1 -1
  22. package/dist/components/assets/assets-store.js +1 -1
  23. package/dist/components/builder/blocks-model.js +1 -1
  24. package/dist/components/builder/blocks-panel.d.ts +1 -1
  25. package/dist/components/builder/blocks-panel.js +6 -6
  26. package/dist/components/builder/canvas.js +11 -11
  27. package/dist/components/builder/clipboard-actions.js +2 -2
  28. package/dist/components/builder/composition-field-editor-lazy.d.ts +1 -1
  29. package/dist/components/builder/composition-field-editor-lazy.js +1 -1
  30. package/dist/components/builder/composition-field-editor.d.ts +1 -1
  31. package/dist/components/builder/composition-field-editor.js +9 -9
  32. package/dist/components/builder/insert-context.d.ts +2 -2
  33. package/dist/components/builder/insert-context.js +2 -2
  34. package/dist/components/builder/insert-menu.d.ts +2 -2
  35. package/dist/components/builder/insert-menu.js +1 -1
  36. package/dist/components/builder/layout-inspector.js +1 -1
  37. package/dist/components/builder/page-tree.js +5 -5
  38. package/dist/components/builder/property-inspector.js +3 -3
  39. package/dist/components/builder/reuse-context.d.ts +1 -1
  40. package/dist/components/builder/reuse-context.js +3 -3
  41. package/dist/components/builder/spacing-handles.js +2 -2
  42. package/dist/components/cms/asset-picker.js +4 -4
  43. package/dist/components/cms/bulk-actions.js +1 -1
  44. package/dist/components/cms/bulk-bar.d.ts +1 -1
  45. package/dist/components/cms/bulk-bar.js +3 -3
  46. package/dist/components/cms/cell-edit.js +1 -1
  47. package/dist/components/cms/cell.js +2 -2
  48. package/dist/components/cms/cms-index.js +1 -1
  49. package/dist/components/cms/cms-store.d.ts +2 -2
  50. package/dist/components/cms/cms-store.js +6 -6
  51. package/dist/components/cms/collection-table.js +17 -17
  52. package/dist/components/cms/detail-editor.js +31 -31
  53. package/dist/components/cms/document-diff-view.js +4 -4
  54. package/dist/components/cms/editable-cell.d.ts +1 -1
  55. package/dist/components/cms/editable-cell.js +6 -6
  56. package/dist/components/cms/field-control.js +15 -15
  57. package/dist/components/cms/field-renderer.d.ts +2 -2
  58. package/dist/components/cms/filter-builder.js +3 -3
  59. package/dist/components/cms/import-export.js +1 -1
  60. package/dist/components/cms/issues-pane.js +1 -1
  61. package/dist/components/cms/prop-fields.js +3 -3
  62. package/dist/components/cms/reference-confirm.js +1 -1
  63. package/dist/components/cms/relation-picker.js +1 -1
  64. package/dist/components/cms/rich-text/block-commands.d.ts +1 -1
  65. package/dist/components/cms/rich-text/component-embed.js +2 -2
  66. package/dist/components/cms/rich-text/editor.js +8 -8
  67. package/dist/components/cms/rich-text/embed-inspector.d.ts +1 -1
  68. package/dist/components/cms/rich-text/embed-inspector.js +2 -2
  69. package/dist/components/cms/rich-text/embed-picker.js +1 -1
  70. package/dist/components/cms/rich-text/embed-props.js +1 -1
  71. package/dist/components/cms/rich-text/extensions.d.ts +1 -1
  72. package/dist/components/cms/rich-text/extensions.js +4 -4
  73. package/dist/components/cms/rich-text/index.d.ts +1 -1
  74. package/dist/components/cms/rich-text/index.js +1 -1
  75. package/dist/components/cms/rich-text/insert.d.ts +1 -1
  76. package/dist/components/cms/rich-text/lazy.d.ts +1 -1
  77. package/dist/components/cms/rich-text/lazy.js +1 -1
  78. package/dist/components/cms/rich-text/slash-command.js +1 -1
  79. package/dist/components/cms/rich-text/toolbar.d.ts +1 -1
  80. package/dist/components/cms/rich-text/toolbar.js +4 -4
  81. package/dist/components/cms/use-cell-edit.d.ts +1 -1
  82. package/dist/components/cms/use-cell-edit.js +2 -2
  83. package/dist/components/cms/use-compare-selection.d.ts +1 -1
  84. package/dist/components/cms/use-discard-controller.d.ts +1 -1
  85. package/dist/components/cms/use-discard-controller.js +2 -2
  86. package/dist/components/cms/use-document-versions.d.ts +1 -1
  87. package/dist/components/cms/use-document-versions.js +1 -1
  88. package/dist/components/cms/use-embed-inspector-host.d.ts +1 -1
  89. package/dist/components/cms/use-published-perspective.d.ts +2 -2
  90. package/dist/components/cms/use-published-perspective.js +2 -2
  91. package/dist/components/cms/use-restore-version.js +1 -1
  92. package/dist/components/cms/version-compare-lazy.js +1 -1
  93. package/dist/components/cms/version-compare.js +6 -6
  94. package/dist/components/cms/versions-model.d.ts +1 -1
  95. package/dist/components/cms/versions-pane.js +5 -5
  96. package/dist/components/cms/view-bar.js +2 -2
  97. package/dist/components/collab/collab-context.js +1 -1
  98. package/dist/components/collection-view/cms-collection-view-source.js +2 -2
  99. package/dist/components/components/component-preview.js +3 -3
  100. package/dist/components/components/components-index.js +2 -2
  101. package/dist/components/components/registry-browser.js +2 -2
  102. package/dist/components/components/transfer-dialog.js +5 -5
  103. package/dist/components/components/transfer.js +4 -4
  104. package/dist/components/current-user-menu.js +2 -2
  105. package/dist/components/delivery-health-banner.js +2 -2
  106. package/dist/components/operation-error.js +1 -1
  107. package/dist/components/project-list.js +5 -5
  108. package/dist/components/project-session.js +1 -1
  109. package/dist/components/project-switcher.js +3 -3
  110. package/dist/components/rail-store-status.js +1 -1
  111. package/dist/components/redirects/redirects-collection-view-source.js +3 -3
  112. package/dist/components/redirects/redirects-module.js +6 -6
  113. package/dist/components/section-nav.js +3 -3
  114. package/dist/components/section-surface.js +1 -1
  115. package/dist/components/studio-project-screen.js +7 -7
  116. package/dist/components/studio-shell.js +9 -9
  117. package/dist/components/use-hydration-phase.js +1 -1
  118. package/dist/components/users/users-collection-view-source.js +4 -4
  119. package/dist/components/users/users-module.js +9 -9
  120. package/dist/components/workspace-projects.js +1 -1
  121. package/dist/customization.d.ts +9 -9
  122. package/dist/customization.js +5 -5
  123. package/dist/lib/ai/anthropic-provider.d.ts +1 -1
  124. package/dist/lib/ai/apply-content.d.ts +1 -1
  125. package/dist/lib/ai/apply-content.js +3 -3
  126. package/dist/lib/ai/chat-state.d.ts +2 -2
  127. package/dist/lib/ai/config.d.ts +1 -1
  128. package/dist/lib/ai/create-flow.d.ts +2 -2
  129. package/dist/lib/ai/create-flow.js +3 -3
  130. package/dist/lib/ai/fake-provider.d.ts +1 -1
  131. package/dist/lib/ai/index.d.ts +15 -15
  132. package/dist/lib/ai/index.js +15 -15
  133. package/dist/lib/ai/knowledge.d.ts +1 -1
  134. package/dist/lib/ai/provenance.d.ts +1 -1
  135. package/dist/lib/ai/route-provider.d.ts +1 -1
  136. package/dist/lib/ai/route.d.ts +1 -1
  137. package/dist/lib/ai/shape.d.ts +1 -1
  138. package/dist/lib/ai/translate-document.d.ts +1 -1
  139. package/dist/lib/ai/translate-document.js +3 -3
  140. package/dist/lib/ai-panel.js +1 -1
  141. package/dist/lib/assets/index.d.ts +4 -4
  142. package/dist/lib/assets/index.js +4 -4
  143. package/dist/lib/assets/upload.d.ts +2 -2
  144. package/dist/lib/assets/upload.js +2 -2
  145. package/dist/lib/auth/convex-auth-adapter.d.ts +2 -2
  146. package/dist/lib/auth/convex-auth-adapter.js +1 -1
  147. package/dist/lib/auth/dev-auto-login-adapter.d.ts +1 -1
  148. package/dist/lib/auth/index.d.ts +9 -9
  149. package/dist/lib/auth/index.js +10 -10
  150. package/dist/lib/auth/local-auth-adapter.d.ts +1 -1
  151. package/dist/lib/auth/route-guard.d.ts +1 -1
  152. package/dist/lib/auth-errors.d.ts +1 -1
  153. package/dist/lib/clipboard/index.d.ts +3 -3
  154. package/dist/lib/clipboard/index.js +3 -3
  155. package/dist/lib/cms/published-documents.d.ts +1 -1
  156. package/dist/lib/cms-views/index.d.ts +2 -2
  157. package/dist/lib/cms-views/index.js +2 -2
  158. package/dist/lib/collection-view/collection-view-source.d.ts +4 -4
  159. package/dist/lib/data/collection-content.js +1 -1
  160. package/dist/lib/data/data-store.js +6 -6
  161. package/dist/lib/data/index.d.ts +4 -4
  162. package/dist/lib/data/index.js +4 -4
  163. package/dist/lib/data/sample-capture.js +4 -4
  164. package/dist/lib/data/sources-store.d.ts +1 -1
  165. package/dist/lib/diff-view-preference.js +1 -1
  166. package/dist/lib/dnd/gap-drag.d.ts +1 -1
  167. package/dist/lib/i18n/i18n.d.ts +1 -1
  168. package/dist/lib/i18n/i18n.js +1 -1
  169. package/dist/lib/i18n/index.d.ts +4 -4
  170. package/dist/lib/i18n/index.js +3 -3
  171. package/dist/lib/i18n/messages.en.d.ts +1 -1
  172. package/dist/lib/i18n/messages.en.js +1 -1
  173. package/dist/lib/locale/binding-fallback.d.ts +1 -1
  174. package/dist/lib/locale/binding-fallback.js +2 -2
  175. package/dist/lib/locale/index.d.ts +6 -6
  176. package/dist/lib/locale/index.js +6 -6
  177. package/dist/lib/locale/locale-switcher.js +3 -3
  178. package/dist/lib/locale/use-studio-locale.js +1 -1
  179. package/dist/lib/operations/asset-repository.d.ts +1 -1
  180. package/dist/lib/operations/cms-persistence.d.ts +1 -1
  181. package/dist/lib/operations/cms-persistence.js +1 -1
  182. package/dist/lib/operations/index.d.ts +6 -6
  183. package/dist/lib/operations/index.js +6 -6
  184. package/dist/lib/operations/session-hydration.d.ts +1 -1
  185. package/dist/lib/operations/session-hydration.js +1 -1
  186. package/dist/lib/operations/studio-operations.d.ts +1 -1
  187. package/dist/lib/operations/studio-operations.js +3 -3
  188. package/dist/lib/persistence/convex-adapter.js +2 -2
  189. package/dist/lib/persistence/convex-blob-storage.d.ts +1 -1
  190. package/dist/lib/persistence/convex-blob-storage.js +1 -1
  191. package/dist/lib/persistence/deployment-readiness.d.ts +2 -2
  192. package/dist/lib/persistence/index.d.ts +6 -6
  193. package/dist/lib/persistence/index.js +7 -7
  194. package/dist/lib/persona/labels.js +1 -1
  195. package/dist/lib/query/index.d.ts +2 -2
  196. package/dist/lib/query/index.js +1 -1
  197. package/dist/lib/rail.js +1 -1
  198. package/dist/lib/references/impact.d.ts +1 -1
  199. package/dist/lib/references/impact.js +1 -1
  200. package/dist/lib/references/index.d.ts +3 -3
  201. package/dist/lib/references/index.js +3 -3
  202. package/dist/lib/references/references-store.d.ts +2 -2
  203. package/dist/lib/references/references-store.js +3 -3
  204. package/dist/lib/registry/index.js +2 -2
  205. package/dist/lib/theme.js +1 -1
  206. package/dist/lib/webhooks/config.d.ts +1 -1
  207. package/dist/lib/webhooks/config.js +2 -2
  208. package/dist/lib/webhooks/dispatcher.js +2 -2
  209. package/dist/lib/webhooks/index.d.ts +6 -6
  210. package/dist/lib/webhooks/index.js +4 -4
  211. package/dist/lib/workspace/index.d.ts +7 -7
  212. package/dist/lib/workspace/index.js +3 -3
  213. package/dist/lib/workspace/switcher-source.d.ts +1 -1
  214. package/dist/router/index.d.ts +1 -1
  215. package/dist/router/index.js +1 -1
  216. package/dist/ui/avatar.js +1 -1
  217. package/dist/ui/badge.js +1 -1
  218. package/dist/ui/button.js +1 -1
  219. package/dist/ui/card.js +1 -1
  220. package/dist/ui/collapsible-section.js +2 -2
  221. package/dist/ui/dialog.js +1 -1
  222. package/dist/ui/dropdown-menu.js +1 -1
  223. package/dist/ui/field.js +1 -1
  224. package/dist/ui/index.d.ts +19 -19
  225. package/dist/ui/index.js +19 -19
  226. package/dist/ui/input.js +1 -1
  227. package/dist/ui/inspector.js +1 -1
  228. package/dist/ui/layout.js +1 -1
  229. package/dist/ui/panel.js +2 -2
  230. package/dist/ui/popover.js +1 -1
  231. package/dist/ui/row-item.js +2 -2
  232. package/dist/ui/segmented-control.js +1 -1
  233. package/dist/ui/separator.js +1 -1
  234. package/dist/ui/toolbar.js +2 -2
  235. package/dist/ui/typography.js +1 -1
  236. package/package.json +3 -3
  237. package/dist/components/assets/asset-library.d.ts +0 -14
  238. package/dist/components/assets/asset-library.js +0 -202
  239. package/dist/components/assets/asset-library.js.map +0 -1
  240. package/dist/components/backend-gate.d.ts +0 -19
  241. package/dist/components/backend-gate.js +0 -64
  242. package/dist/components/backend-gate.js.map +0 -1
  243. package/dist/components/builder/composition-scope.d.ts +0 -16
  244. package/dist/components/builder/composition-scope.js +0 -7
  245. package/dist/components/builder/composition-scope.js.map +0 -1
  246. package/dist/components/cms/alias-selector.d.ts +0 -20
  247. package/dist/components/cms/alias-selector.js +0 -34
  248. package/dist/components/cms/alias-selector.js.map +0 -1
  249. package/dist/components/cms/collections-sidebar.d.ts +0 -18
  250. package/dist/components/cms/collections-sidebar.js +0 -36
  251. package/dist/components/cms/collections-sidebar.js.map +0 -1
  252. package/dist/components/cms/new-page-dialog.d.ts +0 -22
  253. package/dist/components/cms/new-page-dialog.js +0 -42
  254. package/dist/components/cms/new-page-dialog.js.map +0 -1
  255. package/dist/components/cms/rich-text/embed-control.d.ts +0 -17
  256. package/dist/components/cms/rich-text/embed-control.js +0 -62
  257. package/dist/components/cms/rich-text/embed-control.js.map +0 -1
  258. package/dist/components/cms/rich-text/image-control.d.ts +0 -16
  259. package/dist/components/cms/rich-text/image-control.js +0 -36
  260. package/dist/components/cms/rich-text/image-control.js.map +0 -1
  261. package/dist/components/components/fixture-runner.d.ts +0 -10
  262. package/dist/components/components/fixture-runner.js +0 -27
  263. package/dist/components/components/fixture-runner.js.map +0 -1
  264. package/dist/components/references/builder-deep-link.d.ts +0 -12
  265. package/dist/components/references/builder-deep-link.js +0 -53
  266. package/dist/components/references/builder-deep-link.js.map +0 -1
  267. package/dist/components/routes/redirect-chain.d.ts +0 -9
  268. package/dist/components/routes/redirect-chain.js +0 -16
  269. package/dist/components/routes/redirect-chain.js.map +0 -1
  270. package/dist/components/routes/redirect-manager.d.ts +0 -13
  271. package/dist/components/routes/redirect-manager.js +0 -24
  272. package/dist/components/routes/redirect-manager.js.map +0 -1
  273. package/dist/components/routes/route-list.d.ts +0 -35
  274. package/dist/components/routes/route-list.js +0 -69
  275. package/dist/components/routes/route-list.js.map +0 -1
  276. package/dist/components/routes/routes-shell.d.ts +0 -14
  277. package/dist/components/routes/routes-shell.js +0 -68
  278. package/dist/components/routes/routes-shell.js.map +0 -1
  279. package/dist/components/sections.d.ts +0 -37
  280. package/dist/components/sections.js +0 -62
  281. package/dist/components/sections.js.map +0 -1
  282. package/dist/components/users/user-search.d.ts +0 -8
  283. package/dist/components/users/user-search.js +0 -13
  284. package/dist/components/users/user-search.js.map +0 -1
  285. package/dist/components/workspace-gate.d.ts +0 -12
  286. package/dist/components/workspace-gate.js +0 -28
  287. package/dist/components/workspace-gate.js.map +0 -1
  288. package/dist/lib/cms-views/views-store.d.ts +0 -70
  289. package/dist/lib/cms-views/views-store.js +0 -129
  290. package/dist/lib/cms-views/views-store.js.map +0 -1
  291. package/dist/lib/operations/graph-commands.d.ts +0 -136
  292. package/dist/lib/operations/graph-commands.js +0 -85
  293. package/dist/lib/operations/graph-commands.js.map +0 -1
  294. package/dist/lib/operations/graph-persistence.d.ts +0 -27
  295. package/dist/lib/operations/graph-persistence.js +0 -35
  296. package/dist/lib/operations/graph-persistence.js.map +0 -1
  297. package/dist/lib/routing/index.d.ts +0 -10
  298. package/dist/lib/routing/index.js +0 -11
  299. package/dist/lib/routing/index.js.map +0 -1
  300. package/dist/lib/routing/routing-analysis.d.ts +0 -26
  301. package/dist/lib/routing/routing-analysis.js +0 -37
  302. package/dist/lib/routing/routing-analysis.js.map +0 -1
  303. package/dist/lib/routing/routing-store.d.ts +0 -50
  304. package/dist/lib/routing/routing-store.js +0 -72
  305. package/dist/lib/routing/routing-store.js.map +0 -1
  306. package/dist/lib/working-graph.d.ts +0 -82
  307. package/dist/lib/working-graph.js +0 -113
  308. package/dist/lib/working-graph.js.map +0 -1
@@ -38,15 +38,15 @@
38
38
  * createStudio(config, studioConfig)
39
39
  * ```
40
40
  */
41
- export { defineStudio } from './components/app-views/studio-config';
42
- export { nav } from './components/app-views/default-modules';
43
- export { createStudio } from './lib/workspace';
41
+ export { defineStudio } from './components/app-views/studio-config.js';
42
+ export { nav } from './components/app-views/default-modules.js';
43
+ export { createStudio } from './lib/workspace/index.js';
44
44
  /** A ready-made example renderer; a consuming repo may use it or author its own. */
45
- export { colorFieldRenderer } from './components/cms/field-renderer';
45
+ export { colorFieldRenderer } from './components/cms/field-renderer.js';
46
46
  /**
47
47
  * Studio-UI localization (EC-241): author a translation catalog for `defineStudio({
48
48
  * i18n })`. `msg` is only needed to build an in-repo *source* catalog with translator
49
49
  * hints; a plain `MessageCatalog` (flat key → string) is all a consumer supplies.
50
50
  */
51
- export { msg } from './lib/i18n';
51
+ export { msg } from './lib/i18n/index.js';
52
52
  //# sourceMappingURL=customization.js.map
@@ -10,7 +10,7 @@
10
10
  * dependency, never in `packages/core`. Key custody stays with the host: the key is
11
11
  * read from host env by the mount and passed in (or falls back to `ANTHROPIC_API_KEY`).
12
12
  */
13
- import type { AiProvider } from './types';
13
+ import type { AiProvider } from './types.js';
14
14
  export interface AnthropicProviderOptions {
15
15
  /** Provider key (host-env secret). Falls back to the SDK's `ANTHROPIC_API_KEY` lookup. */
16
16
  apiKey?: string;
@@ -1,4 +1,4 @@
1
- import type { ApplyContentInput, ApplyContentResult } from './types';
1
+ import type { ApplyContentInput, ApplyContentResult } from './types.js';
2
2
  /** Default repair attempts after the first generation. */
3
3
  export declare const DEFAULT_MAX_REPAIR_ATTEMPTS = 2;
4
4
  /**
@@ -19,9 +19,9 @@
19
19
  * whole loop without a key. No data access, no service credentials here.
20
20
  */
21
21
  import { assetNode, referenceNode, resolveLabel, validateDocument } from '@elytracms/core/cms-core';
22
- import { assembleKnowledgeBlock } from './knowledge';
23
- import { aiProvenance } from './provenance';
24
- import { buildTargetShape } from './shape';
22
+ import { assembleKnowledgeBlock } from './knowledge.js';
23
+ import { aiProvenance } from './provenance.js';
24
+ import { buildTargetShape } from './shape.js';
25
25
  /** Default repair attempts after the first generation. */
26
26
  export const DEFAULT_MAX_REPAIR_ATTEMPTS = 2;
27
27
  const SYSTEM_PROMPT = [
@@ -9,8 +9,8 @@
9
9
  * every run (determinism principle).
10
10
  */
11
11
  import type { FieldValues } from '@elytracms/core/cms-core';
12
- import type { AiProvenance, ContentPatch } from './types';
13
- import type { CreateFlowResult, CreateFlowStep, ProposalOrigin } from './create-flow';
12
+ import type { AiProvenance, ContentPatch } from './types.js';
13
+ import type { CreateFlowResult, CreateFlowStep, ProposalOrigin } from './create-flow.js';
14
14
  /** A proposal the editor reviews as a diff and then applies (as a draft) or rejects. */
15
15
  export interface ProposalReview {
16
16
  id: string;
@@ -13,7 +13,7 @@
13
13
  * never pulls the AI SDK. When `enabled: false`, the gate is skipped (nothing loads).
14
14
  */
15
15
  import { z } from 'zod';
16
- import type { AiLimits, AiProvider, KnowledgeSource, StudioAiConfig } from './types';
16
+ import type { AiLimits, AiProvider, KnowledgeSource, StudioAiConfig } from './types.js';
17
17
  export declare const AI_CONFIG_ISSUE_CODES: readonly ["invalid-config-shape", "missing-provider", "provider-missing-capabilities", "provider-not-callable"];
18
18
  export type AiConfigIssueCode = (typeof AI_CONFIG_ISSUE_CODES)[number];
19
19
  /** A structured, path-located `ai`-config issue (never thrown — collected). */
@@ -21,8 +21,8 @@
21
21
  */
22
22
  import type { CmsDocument, CmsValidationIssue, CollectionDef, CollectionRegistry, FieldValues, LocaleConfig, ValidateDocumentOptions } from '@elytracms/core/cms-core';
23
23
  import type { ComponentManifest } from '@elytracms/core/component-registry';
24
- import type { AiProvenance, AiProvider, ContentPatch, ResolvedKnowledge } from './types';
25
- import type { CreateFlowTools } from './tools';
24
+ import type { AiProvenance, AiProvider, ContentPatch, ResolvedKnowledge } from './types.js';
25
+ import type { CreateFlowTools } from './tools.js';
26
26
  /** A progress event the UI renders as a tool-status affordance while the loop runs. */
27
27
  export type CreateFlowStep = {
28
28
  kind: 'search';
@@ -1,6 +1,6 @@
1
- import { applyContentWithShape } from './apply-content';
2
- import { translateDocument } from './translate-document';
3
- import { PLANNER_SCHEMA_NAME, parsePlannerAction, plannerSchema, } from './tools';
1
+ import { applyContentWithShape } from './apply-content.js';
2
+ import { translateDocument } from './translate-document.js';
3
+ import { PLANNER_SCHEMA_NAME, parsePlannerAction, plannerSchema, } from './tools.js';
4
4
  export const DEFAULT_MAX_STEPS = 6;
5
5
  export const DEFAULT_SEARCH_LIMIT = 20;
6
6
  /**
@@ -9,7 +9,7 @@
9
9
  * them in call order (the last is reused once the script is exhausted). Or pass
10
10
  * `respond` to compute the object from the request.
11
11
  */
12
- import type { AiProvider, AiProviderCapabilities, GenerateStructuredRequest, StreamChatRequest } from './types';
12
+ import type { AiProvider, AiProviderCapabilities, GenerateStructuredRequest, StreamChatRequest } from './types.js';
13
13
  export interface FakeProviderOptions {
14
14
  /** Provider id (default `fake`). */
15
15
  id?: string;
@@ -11,18 +11,18 @@
11
11
  * (which only references `StudioAiConfig` as a type) reaches none of it.
12
12
  */
13
13
  export declare const PACKAGE = "@elytracms/studio/lib/ai";
14
- export * from './types';
15
- export * from './config';
16
- export * from './provenance';
17
- export * from './knowledge';
18
- export * from './shape';
19
- export * from './apply-content';
20
- export * from './anthropic-provider';
21
- export * from './fake-provider';
22
- export * from './route';
23
- export * from './route-provider';
24
- export * from './tools';
25
- export * from './create-flow';
26
- export * from './chat-state';
27
- export * from './rich-text-translate';
28
- export * from './translate-document';
14
+ export * from './types.js';
15
+ export * from './config.js';
16
+ export * from './provenance.js';
17
+ export * from './knowledge.js';
18
+ export * from './shape.js';
19
+ export * from './apply-content.js';
20
+ export * from './anthropic-provider.js';
21
+ export * from './fake-provider.js';
22
+ export * from './route.js';
23
+ export * from './route-provider.js';
24
+ export * from './tools.js';
25
+ export * from './create-flow.js';
26
+ export * from './chat-state.js';
27
+ export * from './rich-text-translate.js';
28
+ export * from './translate-document.js';
@@ -11,19 +11,19 @@
11
11
  * (which only references `StudioAiConfig` as a type) reaches none of it.
12
12
  */
13
13
  export const PACKAGE = '@elytracms/studio/lib/ai';
14
- export * from './types';
15
- export * from './config';
16
- export * from './provenance';
17
- export * from './knowledge';
18
- export * from './shape';
19
- export * from './apply-content';
20
- export * from './anthropic-provider';
21
- export * from './fake-provider';
22
- export * from './route';
23
- export * from './route-provider';
24
- export * from './tools';
25
- export * from './create-flow';
26
- export * from './chat-state';
27
- export * from './rich-text-translate';
28
- export * from './translate-document';
14
+ export * from './types.js';
15
+ export * from './config.js';
16
+ export * from './provenance.js';
17
+ export * from './knowledge.js';
18
+ export * from './shape.js';
19
+ export * from './apply-content.js';
20
+ export * from './anthropic-provider.js';
21
+ export * from './fake-provider.js';
22
+ export * from './route.js';
23
+ export * from './route-provider.js';
24
+ export * from './tools.js';
25
+ export * from './create-flow.js';
26
+ export * from './chat-state.js';
27
+ export * from './rich-text-translate.js';
28
+ export * from './translate-document.js';
29
29
  //# sourceMappingURL=index.js.map
@@ -7,7 +7,7 @@
7
7
  * deterministic item list; `assembleKnowledgeBlock` renders the context block the
8
8
  * engine injects. Knowledge is DATA, never instructions (see the engine's stance).
9
9
  */
10
- import type { KnowledgeCollectionReader, KnowledgeCollectionSource, KnowledgeFn, KnowledgeItem, KnowledgeSource, ResolvedKnowledge } from './types';
10
+ import type { KnowledgeCollectionReader, KnowledgeCollectionSource, KnowledgeFn, KnowledgeItem, KnowledgeSource, ResolvedKnowledge } from './types.js';
11
11
  /** `fromCollection('faq')` — sugar for a studio-editable knowledge source. */
12
12
  export declare function fromCollection(collectionId: string, options?: {
13
13
  field?: string;
@@ -10,7 +10,7 @@
10
10
  * this marker to its result; wiring it into `documents.upsert` /
11
11
  * `DocumentVersionRecord` (and any UI) is deferred to EC-199. No behaviour here.
12
12
  */
13
- import type { AiProvenance, AiProvider } from './types';
13
+ import type { AiProvenance, AiProvider } from './types.js';
14
14
  /** The origin discriminator for assistant-authored writes. */
15
15
  export declare const AI_ORIGIN: "assistant";
16
16
  /**
@@ -16,7 +16,7 @@
16
16
  * SDK. The capability gate passes: the route only ever fronts a gate-checked provider
17
17
  * (validated at the server mount), so the proxy declares both required capabilities.
18
18
  */
19
- import type { AiProvider } from './types';
19
+ import type { AiProvider } from './types.js';
20
20
  /** How extra request headers are supplied — a static set or a (possibly async) thunk. */
21
21
  export type RouteHeaders = HeadersInit | (() => HeadersInit | undefined | Promise<HeadersInit | undefined>);
22
22
  export interface RouteProviderOptions {
@@ -24,7 +24,7 @@
24
24
  * execute in the client with the user's own session. A body with `messages` and no
25
25
  * `kind` is still treated as a chat request (back-compat with the phase-1 contract).
26
26
  */
27
- import type { AiRouteHandler, AiRouteHandlerOptions } from './types';
27
+ import type { AiRouteHandler, AiRouteHandlerOptions } from './types.js';
28
28
  /** The wire discriminator selecting which model operation the route proxies. */
29
29
  export type AiRouteKind = 'chat' | 'generate';
30
30
  /**
@@ -1,5 +1,5 @@
1
1
  import type { CollectionDef, JsonSchema } from '@elytracms/core/cms-core';
2
- import type { RelationCandidates } from './types';
2
+ import type { RelationCandidates } from './types.js';
3
3
  /** A relation field's resolved candidate set — how the engine maps ids → reference envelopes. */
4
4
  export interface TargetRelationField {
5
5
  fieldName: string;
@@ -1,5 +1,5 @@
1
1
  import type { CmsDocument, CollectionDef, Locale, LocaleConfig } from '@elytracms/core/cms-core';
2
- import type { AiProvenance, AiProvider, ResolvedKnowledge } from './types';
2
+ import type { AiProvenance, AiProvider, ResolvedKnowledge } from './types.js';
3
3
  /** Default translatable units per `generate` call. */
4
4
  export declare const DEFAULT_TRANSLATE_BATCH_SIZE = 12;
5
5
  /** Default number of `generate` calls in flight at once (mirrors the precedent's limiter of 6). */
@@ -29,9 +29,9 @@
29
29
  */
30
30
  import { autoDeriveSlug, documentDefaultLocale, isFieldLocalized } from '@elytracms/core/cms-core';
31
31
  import { activeLocaleValues, fieldConnection, hasLocaleVariant, setFieldValue, } from '@elytracms/studio/lib/locale';
32
- import { assembleKnowledgeBlock } from './knowledge';
33
- import { aiProvenance } from './provenance';
34
- import { extractRichTextUnits, rebuildRichText } from './rich-text-translate';
32
+ import { assembleKnowledgeBlock } from './knowledge.js';
33
+ import { aiProvenance } from './provenance.js';
34
+ import { extractRichTextUnits, rebuildRichText } from './rich-text-translate.js';
35
35
  /** Default translatable units per `generate` call. */
36
36
  export const DEFAULT_TRANSLATE_BATCH_SIZE = 12;
37
37
  /** Default number of `generate` calls in flight at once (mirrors the precedent's limiter of 6). */
@@ -1,5 +1,5 @@
1
1
  import { useSyncExternalStore } from 'react';
2
- import { createBooleanPreference } from './local-preference';
2
+ import { createBooleanPreference } from './local-preference.js';
3
3
  /**
4
4
  * The AI assistant panel's open/closed state (EC-199) — a framework-free module
5
5
  * store, like the ambient locale (`lib/locale`). Module-level on purpose: the toggle
@@ -3,7 +3,7 @@
3
3
  * the studio UI consumes these; storage is reached only through the
4
4
  * `BlobStorageAdapter` boundary.
5
5
  */
6
- export * from './upload-state';
7
- export * from './image-dimensions';
8
- export * from './upload';
9
- export * from './delete-asset';
6
+ export * from './upload-state.js';
7
+ export * from './image-dimensions.js';
8
+ export * from './upload.js';
9
+ export * from './delete-asset.js';
@@ -3,8 +3,8 @@
3
3
  * the studio UI consumes these; storage is reached only through the
4
4
  * `BlobStorageAdapter` boundary.
5
5
  */
6
- export * from './upload-state';
7
- export * from './image-dimensions';
8
- export * from './upload';
9
- export * from './delete-asset';
6
+ export * from './upload-state.js';
7
+ export * from './image-dimensions.js';
8
+ export * from './upload.js';
9
+ export * from './delete-asset.js';
10
10
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  import type { AssetRecord, AssetRepository, BlobStorageAdapter } from '@elytracms/core/persistence';
2
- import type { ImageDimensions } from './image-dimensions';
3
- import type { UploadFailure, UploadState } from './upload-state';
2
+ import type { ImageDimensions } from './image-dimensions.js';
3
+ import type { UploadFailure, UploadState } from './upload-state.js';
4
4
  /**
5
5
  * Upload orchestration (EC-151): request upload URL → transfer bytes →
6
6
  * confirm by writing the EC-044 metadata record (dimensions, mime, serve URL).
@@ -1,5 +1,5 @@
1
- import { detectImageDimensions } from './image-dimensions';
2
- import { initialUploadState, uploadReducer } from './upload-state';
1
+ import { detectImageDimensions } from './image-dimensions.js';
2
+ import { initialUploadState, uploadReducer } from './upload-state.js';
3
3
  /**
4
4
  * Default browser transport: XMLHttpRequest POST for real byte progress
5
5
  * (fetch has no upload progress without streams support everywhere).
@@ -1,6 +1,6 @@
1
1
  import type { ConvexHttpClient } from 'convex/browser';
2
- import type { AuthAdapter, AuthSession, ChangePasswordInput, ChangePasswordResult, SignInCredentials, SignInResult, UpdateProfileInput, UpdateProfileResult } from './auth-adapter';
3
- import type { SessionStore } from './local-auth-adapter';
2
+ import type { AuthAdapter, AuthSession, ChangePasswordInput, ChangePasswordResult, SignInCredentials, SignInResult, UpdateProfileInput, UpdateProfileResult } from './auth-adapter.js';
3
+ import type { SessionStore } from './local-auth-adapter.js';
4
4
  /**
5
5
  * Classify a thrown sign-in error as a DEPLOYMENT-setup failure rather than a
6
6
  * credential problem (EC-257). Matches the Convex Auth signing-path throws:
@@ -1,4 +1,4 @@
1
- import { actionRef, mutationRef, queryRef } from '../persistence/convex-client';
1
+ import { actionRef, mutationRef, queryRef } from '../persistence/convex-client.js';
2
2
  /**
3
3
  * Convex Auth implementation of the project-owned {@link AuthAdapter}
4
4
  * (EC-150). Decision record (also in `convex/auth.ts`): **Convex Auth** over
@@ -1,4 +1,4 @@
1
- import type { AuthAdapter, AuthSession, ChangePasswordInput, ChangePasswordResult, SignInCredentials, SignInResult, UpdateProfileInput, UpdateProfileResult } from './auth-adapter';
1
+ import type { AuthAdapter, AuthSession, ChangePasswordInput, ChangePasswordResult, SignInCredentials, SignInResult, UpdateProfileInput, UpdateProfileResult } from './auth-adapter.js';
2
2
  /**
3
3
  * Dev-only unattended-auth decorator (testing de-friction). Wraps any
4
4
  * {@link AuthAdapter}: when no session can be restored, it transparently signs
@@ -1,12 +1,12 @@
1
- import type { StudioBackendMode } from '../persistence/backend-mode';
2
- import type { AuthAdapter } from './auth-adapter';
3
- export type { AuthAdapter, AuthSession, AuthUser, ChangePasswordInput, ChangePasswordResult, SignInCredentials, SignInResult, UpdateProfileInput, UpdateProfileResult, } from './auth-adapter';
4
- export { LocalAuthAdapter, LOCAL_DEV_CREDENTIALS } from './local-auth-adapter';
5
- export type { SessionStore } from './local-auth-adapter';
6
- export { ConvexAuthAdapter } from './convex-auth-adapter';
7
- export { DevAutoLoginAdapter } from './dev-auto-login-adapter';
8
- export { SIGN_IN_PATH, isPublicPath, postSignInTarget, resolveRouteGuard, sessionPrincipal, } from './route-guard';
9
- export type { AuthStatus, RouteGuardDecision } from './route-guard';
1
+ import type { StudioBackendMode } from '../persistence/backend-mode.js';
2
+ import type { AuthAdapter } from './auth-adapter.js';
3
+ export type { AuthAdapter, AuthSession, AuthUser, ChangePasswordInput, ChangePasswordResult, SignInCredentials, SignInResult, UpdateProfileInput, UpdateProfileResult, } from './auth-adapter.js';
4
+ export { LocalAuthAdapter, LOCAL_DEV_CREDENTIALS } from './local-auth-adapter.js';
5
+ export type { SessionStore } from './local-auth-adapter.js';
6
+ export { ConvexAuthAdapter } from './convex-auth-adapter.js';
7
+ export { DevAutoLoginAdapter } from './dev-auto-login-adapter.js';
8
+ export { SIGN_IN_PATH, isPublicPath, postSignInTarget, resolveRouteGuard, sessionPrincipal, } from './route-guard.js';
9
+ export type { AuthStatus, RouteGuardDecision } from './route-guard.js';
10
10
  /**
11
11
  * Select the auth backend (EC-150/EC-153), mirroring `selectPersistenceAdapter`
12
12
  * exactly: Convex mode means Convex Auth (over the same shared client the
@@ -1,13 +1,13 @@
1
- import { getConvexClient } from '../persistence/convex-client';
2
- import { resolveBackendConfig, resolveDevAutoLogin } from '../persistence/backend-mode';
3
- import { deploymentUrlForSlug, resolveDeploymentUrl } from '../workspace';
4
- import { ConvexAuthAdapter, hasStoredConvexSession } from './convex-auth-adapter';
5
- import { DevAutoLoginAdapter } from './dev-auto-login-adapter';
6
- import { LocalAuthAdapter } from './local-auth-adapter';
7
- export { LocalAuthAdapter, LOCAL_DEV_CREDENTIALS } from './local-auth-adapter';
8
- export { ConvexAuthAdapter } from './convex-auth-adapter';
9
- export { DevAutoLoginAdapter } from './dev-auto-login-adapter';
10
- export { SIGN_IN_PATH, isPublicPath, postSignInTarget, resolveRouteGuard, sessionPrincipal, } from './route-guard';
1
+ import { getConvexClient } from '../persistence/convex-client.js';
2
+ import { resolveBackendConfig, resolveDevAutoLogin } from '../persistence/backend-mode.js';
3
+ import { deploymentUrlForSlug, resolveDeploymentUrl } from '../workspace/index.js';
4
+ import { ConvexAuthAdapter, hasStoredConvexSession } from './convex-auth-adapter.js';
5
+ import { DevAutoLoginAdapter } from './dev-auto-login-adapter.js';
6
+ import { LocalAuthAdapter } from './local-auth-adapter.js';
7
+ export { LocalAuthAdapter, LOCAL_DEV_CREDENTIALS } from './local-auth-adapter.js';
8
+ export { ConvexAuthAdapter } from './convex-auth-adapter.js';
9
+ export { DevAutoLoginAdapter } from './dev-auto-login-adapter.js';
10
+ export { SIGN_IN_PATH, isPublicPath, postSignInTarget, resolveRouteGuard, sessionPrincipal, } from './route-guard.js';
11
11
  /**
12
12
  * Select the auth backend (EC-150/EC-153), mirroring `selectPersistenceAdapter`
13
13
  * exactly: Convex mode means Convex Auth (over the same shared client the
@@ -1,4 +1,4 @@
1
- import type { AuthAdapter, AuthSession, ChangePasswordResult, SignInCredentials, SignInResult, UpdateProfileResult } from './auth-adapter';
1
+ import type { AuthAdapter, AuthSession, ChangePasswordResult, SignInCredentials, SignInResult, UpdateProfileResult } from './auth-adapter.js';
2
2
  /**
3
3
  * Deterministic local auth (EC-150) for the in-memory persistence mode: the
4
4
  * whole sign-in → role-enforcement → sign-out flow works offline, in tests,
@@ -1,5 +1,5 @@
1
1
  import type { Principal } from '@elytracms/core/operations';
2
- import type { AuthSession } from './auth-adapter';
2
+ import type { AuthSession } from './auth-adapter.js';
3
3
  /**
4
4
  * Pure route-guard + principal-mapping logic (EC-150), kept free of React and
5
5
  * router types so it is unit-testable and deterministic. The `__root` layout
@@ -1,4 +1,4 @@
1
- import type { OperationError } from './operations';
1
+ import type { OperationError } from './operations/index.js';
2
2
  /**
3
3
  * Session-expiry detection + plain-language mapping (EC-177 gap 9).
4
4
  *
@@ -2,6 +2,6 @@
2
2
  * Studio clipboard helpers (EC-175): paste-target resolution, permissive-paste
3
3
  * diffing, and the OS-clipboard transport over the EC-174 fragment format.
4
4
  */
5
- export * from './paste-target';
6
- export * from './paste-issues';
7
- export * from './os-clipboard';
5
+ export * from './paste-target.js';
6
+ export * from './paste-issues.js';
7
+ export * from './os-clipboard.js';
@@ -2,7 +2,7 @@
2
2
  * Studio clipboard helpers (EC-175): paste-target resolution, permissive-paste
3
3
  * diffing, and the OS-clipboard transport over the EC-174 fragment format.
4
4
  */
5
- export * from './paste-target';
6
- export * from './paste-issues';
7
- export * from './os-clipboard';
5
+ export * from './paste-target.js';
6
+ export * from './paste-issues.js';
7
+ export * from './os-clipboard.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import type { CmsDocument } from '@elytracms/core/cms-core';
2
- import type { OperationsClient } from '../operations';
2
+ import type { OperationsClient } from '../operations/index.js';
3
3
  /**
4
4
  * The PUBLISHED-perspective documents of a collection (EC-205, "live = published")
5
5
  * — the pinned published snapshot of each currently-published document, keyed by
@@ -4,5 +4,5 @@
4
4
  * (EC-246b) — the DB saved-view store is retired; `view-model.configViewsFor`
5
5
  * resolves the named views a collection declares in `cms/`.
6
6
  */
7
- export * from './view-model';
8
- export * from './selection';
7
+ export * from './view-model.js';
8
+ export * from './selection.js';
@@ -4,6 +4,6 @@
4
4
  * (EC-246b) — the DB saved-view store is retired; `view-model.configViewsFor`
5
5
  * resolves the named views a collection declares in `cms/`.
6
6
  */
7
- export * from './view-model';
8
- export * from './selection';
7
+ export * from './view-model.js';
8
+ export * from './selection.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1,10 +1,10 @@
1
1
  import type { CmsDocument, CollectionDef, DocumentRef, DocumentUrl, FieldDef, Locale, LocaleConfig, LocalizedString, RestoreScope } from '@elytracms/core/cms-core';
2
2
  import type { CmsValidationIssue } from '@elytracms/core/cms-core';
3
3
  import type { OperationError } from '@elytracms/core/operations';
4
- import type { TableViewState } from '../cms-views/view-model';
5
- import type { CellCommitInput, CellCommitOutcome } from '../../components/cms/cell-edit';
6
- import type { BulkAction, BulkReport, BulkSetField } from '../../components/cms/bulk-actions';
7
- import type { DocumentVersionsView, ImportReport } from '../../components/cms/cms-store';
4
+ import type { TableViewState } from '../cms-views/view-model.js';
5
+ import type { CellCommitInput, CellCommitOutcome } from '../../components/cms/cell-edit.js';
6
+ import type { BulkAction, BulkReport, BulkSetField } from '../../components/cms/bulk-actions.js';
7
+ import type { DocumentVersionsView, ImportReport } from '../../components/cms/cms-store.js';
8
8
  /**
9
9
  * `CollectionViewSource` — the studio's UNIVERSAL interaction seam (EC-240,
10
10
  * vision AD-19).
@@ -1,6 +1,6 @@
1
1
  import { createContentClient, createContentContext, } from '@elytracms/core/content';
2
2
  import { documentKey, resolveDocumentTitle, sampleLocaleConfig } from '@elytracms/core/cms-core';
3
- import { getStudioLocale } from '../locale/locale-store';
3
+ import { getStudioLocale } from '../locale/locale-store.js';
4
4
  /**
5
5
  * Default (no-session) collection schema: EMPTY. The studio ships no demo content
6
6
  * (Oli, 2026-06-19) — with no backend/content session configured, there is nothing
@@ -1,14 +1,14 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useMemo, useReducer, useState } from 'react';
3
3
  import { SourceRegistry, captureSample, inferSchema, resolveBinding, resolveCondition, tokensForSchema, } from '@elytracms/core/data-binding';
4
- import { getStudioOperations } from '../operations';
4
+ import { getStudioOperations } from '../operations/index.js';
5
5
  import { useOperationCache, useOperationQuery } from '@elytracms/studio/lib/query';
6
6
  import { createRequiredContext } from '@elytracms/studio/lib/required-context';
7
- import { STUDIO_SYSTEM_COLLECTION_IDS } from '../operations/session-hydration';
8
- import { resolveDeploymentCollections } from '../workspace';
9
- import { hasContentSession } from './collection-content';
10
- import { captureSourceSample, cmsSourceForCollection } from './sample-capture';
11
- import { deleteDataSource, loadDataSources, saveDataSource } from './sources-store';
7
+ import { STUDIO_SYSTEM_COLLECTION_IDS } from '../operations/session-hydration.js';
8
+ import { resolveDeploymentCollections } from '../workspace/index.js';
9
+ import { hasContentSession } from './collection-content.js';
10
+ import { captureSourceSample, cmsSourceForCollection } from './sample-capture.js';
11
+ import { deleteDataSource, loadDataSources, saveDataSource } from './sources-store.js';
12
12
  function upsert(sources, source) {
13
13
  const exists = sources.some((s) => s.id === source.id);
14
14
  return exists ? sources.map((s) => (s.id === source.id ? source : s)) : [...sources, source];
@@ -1,4 +1,4 @@
1
- export * from './data-store';
2
- export * from './sample-capture';
3
- export * from './sources-store';
4
- export * from './collection-content';
1
+ export * from './data-store.js';
2
+ export * from './sample-capture.js';
3
+ export * from './sources-store.js';
4
+ export * from './collection-content.js';
@@ -1,7 +1,7 @@
1
- export * from './data-store';
2
- export * from './sample-capture';
3
- export * from './sources-store';
4
- export * from './collection-content';
1
+ export * from './data-store.js';
2
+ export * from './sample-capture.js';
3
+ export * from './sources-store.js';
4
+ export * from './collection-content.js';
5
5
  // Data providers (EC-167) are imported from './providers' directly: the module
6
6
  // exports a `DataProvider` domain type that would collide with the store's
7
7
  // `<DataProvider>` React provider in a wildcard barrel.
@@ -1,8 +1,8 @@
1
1
  import { captureSample } from '@elytracms/core/data-binding';
2
- import { humanizeName } from '../utils';
3
- import { listQueryOfConfig } from '../bindings/section-bindings';
4
- import { getCollectionDocument, hasContentSession, playgroundCollection, runCollectionListQuery, } from './collection-content';
5
- import { providerIdOfSource, providerPayload } from './providers';
2
+ import { humanizeName } from '../utils.js';
3
+ import { listQueryOfConfig } from '../bindings/section-bindings.js';
4
+ import { getCollectionDocument, hasContentSession, playgroundCollection, runCollectionListQuery, } from './collection-content.js';
5
+ import { providerIdOfSource, providerPayload } from './providers.js';
6
6
  /**
7
7
  * Data-source sample capture (EC-083/EC-166/EC-167). The hosted builder is
8
8
  * separate from the site it exports: actually performing a REST fetch / external
@@ -1,6 +1,6 @@
1
1
  import type { DataSource } from '@elytracms/core/data-binding';
2
2
  import type { CmsDocument, CollectionDef } from '@elytracms/core/cms-core';
3
- import type { OperationResult, OperationsClient } from '../operations';
3
+ import type { OperationResult, OperationsClient } from '../operations/index.js';
4
4
  /**
5
5
  * Data-source persistence for the Builder's data layer (LIVE-mode gap fix).
6
6
  *
@@ -6,7 +6,7 @@
6
6
  * best-effort instead of a new persistence mechanism. Unavailable storage (SSR,
7
7
  * privacy mode) degrades to the default every session — never a crash.
8
8
  */
9
- import { createEnumPreference } from './local-preference';
9
+ import { createEnumPreference } from './local-preference.js';
10
10
  export const DIFF_VIEW_STORAGE_KEY = 'elytra-version-diff-view';
11
11
  export const DEFAULT_DIFF_VIEW_MODE = 'sideBySide';
12
12
  const preference = createEnumPreference(DIFF_VIEW_STORAGE_KEY, ['sideBySide', 'unified'], DEFAULT_DIFF_VIEW_MODE);
@@ -1,5 +1,5 @@
1
1
  import type { ComponentNode, SpacingTokenName } from '@elytracms/core/project-graph';
2
- import type { FlowAxis } from './drop-rules';
2
+ import type { FlowAxis } from './drop-rules.js';
3
3
  /**
4
4
  * Tokenized gap-drag math (EC-163, vision §3.1 / AD-10) — pure functions with
5
5
  * no DOM dependencies, shared by the canvas spacing handles. The drag model is
@@ -1,5 +1,5 @@
1
1
  import type { LocalizedString } from '@elytracms/core/cms-core';
2
- import type { MessageCatalog, SourceCatalog } from './types';
2
+ import type { MessageCatalog, SourceCatalog } from './types.js';
3
3
  /**
4
4
  * Pick the best available locale for the browser's ordered language preferences
5
5
  * (EC-241): an exact tag match wins, else the base language (`de-DE` → `de`), else
@@ -1,7 +1,7 @@
1
1
  import { useMemo } from 'react';
2
2
  import { resolveLabel } from '@elytracms/core/cms-core';
3
3
  import { resolveDeploymentI18n } from '@elytracms/studio/lib/workspace';
4
- import { EN_MESSAGES } from './messages.en';
4
+ import { EN_MESSAGES } from './messages.en.js';
5
5
  /**
6
6
  * Studio-UI localization runtime (EC-241). Resolves the active UI locale from the
7
7
  * **browser's preferred locale** (no persisted selector in v1 — that rides EC-240's
@@ -6,7 +6,7 @@
6
6
  * - Studio components localize chrome via `translate`/`useT` and schema labels via
7
7
  * `useLabel`.
8
8
  */
9
- export type { SourceMessage, SourceCatalog, MessageCatalog, StudioI18nConfig } from './types';
10
- export { msg } from './types';
11
- export { EN_MESSAGES } from './messages.en';
12
- export { resolveActiveLocale, resolveStudioI18n, translate, localizedLabel, msgLabel, resolveMsgLabel, useT, useUiLocale, useLabel, parseAcceptLanguage, setServerLanguagesResolver, setUiLocaleForTests, resetStudioI18nForTests, } from './i18n';
9
+ export type { SourceMessage, SourceCatalog, MessageCatalog, StudioI18nConfig } from './types.js';
10
+ export { msg } from './types.js';
11
+ export { EN_MESSAGES } from './messages.en.js';
12
+ export { resolveActiveLocale, resolveStudioI18n, translate, localizedLabel, msgLabel, resolveMsgLabel, useT, useUiLocale, useLabel, parseAcceptLanguage, setServerLanguagesResolver, setUiLocaleForTests, resetStudioI18nForTests, } from './i18n.js';