@pantheon-systems/puck-css 0.4.2 → 0.4.4

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 (202) hide show
  1. package/dist/core/config.d.ts +3 -0
  2. package/dist/core/config.d.ts.map +1 -1
  3. package/dist/core/config.js +5 -6
  4. package/dist/core/config.js.map +1 -1
  5. package/dist/core/featureConfig.d.ts +2 -0
  6. package/dist/core/featureConfig.d.ts.map +1 -1
  7. package/dist/core/featureConfig.js +4 -0
  8. package/dist/core/featureConfig.js.map +1 -1
  9. package/dist/core/types.d.ts +58 -1
  10. package/dist/core/types.d.ts.map +1 -1
  11. package/dist/data/dal/index.d.ts +5 -1
  12. package/dist/data/dal/index.d.ts.map +1 -1
  13. package/dist/data/dal/index.js +22 -1
  14. package/dist/data/dal/index.js.map +1 -1
  15. package/dist/data/dal/init.d.ts.map +1 -1
  16. package/dist/data/dal/init.js +22 -14
  17. package/dist/data/dal/init.js.map +1 -1
  18. package/dist/data/dal/p1-store.d.ts +15 -1
  19. package/dist/data/dal/p1-store.d.ts.map +1 -1
  20. package/dist/data/dal/p1-store.js +51 -5
  21. package/dist/data/dal/p1-store.js.map +1 -1
  22. package/dist/data/dal/types.d.ts +13 -1
  23. package/dist/data/dal/types.d.ts.map +1 -1
  24. package/dist/data/page-store.d.ts +17 -2
  25. package/dist/data/page-store.d.ts.map +1 -1
  26. package/dist/data/page-store.js +47 -5
  27. package/dist/data/page-store.js.map +1 -1
  28. package/dist/data/route-templates.js +1 -1
  29. package/dist/data/route-templates.js.map +1 -1
  30. package/dist/editor/P1App.d.ts.map +1 -1
  31. package/dist/editor/P1App.js +1 -1
  32. package/dist/editor/P1App.js.map +1 -1
  33. package/dist/editor/P1PuckProvider.d.ts.map +1 -1
  34. package/dist/editor/P1PuckProvider.js +175 -66
  35. package/dist/editor/P1PuckProvider.js.map +1 -1
  36. package/dist/editor/plugin/P1Plugin.d.ts +16 -1
  37. package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
  38. package/dist/editor/plugin/P1Plugin.js +35 -4
  39. package/dist/editor/plugin/P1Plugin.js.map +1 -1
  40. package/dist/editor/plugin/createP1Overrides.d.ts.map +1 -1
  41. package/dist/editor/plugin/createP1Overrides.js +4 -1
  42. package/dist/editor/plugin/createP1Overrides.js.map +1 -1
  43. package/dist/editor/useDocuments.d.ts +4 -1
  44. package/dist/editor/useDocuments.d.ts.map +1 -1
  45. package/dist/editor/useDocuments.js +5 -2
  46. package/dist/editor/useDocuments.js.map +1 -1
  47. package/dist/editor/useP1Editor.d.ts +12 -0
  48. package/dist/editor/useP1Editor.d.ts.map +1 -1
  49. package/dist/editor/useP1Editor.js +40 -5
  50. package/dist/editor/useP1Editor.js.map +1 -1
  51. package/dist/editor/useP1Plugin.d.ts +1 -1
  52. package/dist/editor/useP1Plugin.d.ts.map +1 -1
  53. package/dist/editor/useP1Plugin.js +2 -0
  54. package/dist/editor/useP1Plugin.js.map +1 -1
  55. package/dist/editor/useRealtime.d.ts +9 -4
  56. package/dist/editor/useRealtime.d.ts.map +1 -1
  57. package/dist/editor/useRealtime.js +11 -6
  58. package/dist/editor/useRealtime.js.map +1 -1
  59. package/dist/features/content-type-templates/editor/useTemplateEditor.d.ts +20 -0
  60. package/dist/features/content-type-templates/editor/useTemplateEditor.d.ts.map +1 -0
  61. package/dist/features/content-type-templates/editor/useTemplateEditor.js +62 -0
  62. package/dist/features/content-type-templates/editor/useTemplateEditor.js.map +1 -0
  63. package/dist/features/content-type-templates/editor/useTemplatePermissions.d.ts +7 -0
  64. package/dist/features/content-type-templates/editor/useTemplatePermissions.d.ts.map +1 -0
  65. package/dist/features/content-type-templates/editor/useTemplatePermissions.js +12 -0
  66. package/dist/features/content-type-templates/editor/useTemplatePermissions.js.map +1 -0
  67. package/dist/features/content-type-templates/editor/useTemplateScaffold.d.ts +19 -0
  68. package/dist/features/content-type-templates/editor/useTemplateScaffold.d.ts.map +1 -0
  69. package/dist/features/content-type-templates/editor/useTemplateScaffold.js +37 -0
  70. package/dist/features/content-type-templates/editor/useTemplateScaffold.js.map +1 -0
  71. package/dist/features/content-type-templates/hooks/useTemplateList.d.ts +41 -0
  72. package/dist/features/content-type-templates/hooks/useTemplateList.d.ts.map +1 -0
  73. package/dist/features/content-type-templates/hooks/useTemplateList.js +72 -0
  74. package/dist/features/content-type-templates/hooks/useTemplateList.js.map +1 -0
  75. package/dist/features/content-type-templates/index.d.ts +18 -0
  76. package/dist/features/content-type-templates/index.d.ts.map +1 -0
  77. package/dist/features/content-type-templates/index.js +13 -0
  78. package/dist/features/content-type-templates/index.js.map +1 -0
  79. package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts +68 -0
  80. package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts.map +1 -0
  81. package/dist/features/content-type-templates/permissions/createPuckPermissions.js +90 -0
  82. package/dist/features/content-type-templates/permissions/createPuckPermissions.js.map +1 -0
  83. package/dist/features/content-type-templates/permissions/role-permissions.d.ts +49 -0
  84. package/dist/features/content-type-templates/permissions/role-permissions.d.ts.map +1 -0
  85. package/dist/features/content-type-templates/permissions/role-permissions.js +79 -0
  86. package/dist/features/content-type-templates/permissions/role-permissions.js.map +1 -0
  87. package/dist/features/content-type-templates/permissions/useContentRole.d.ts +37 -0
  88. package/dist/features/content-type-templates/permissions/useContentRole.d.ts.map +1 -0
  89. package/dist/features/content-type-templates/permissions/useContentRole.js +34 -0
  90. package/dist/features/content-type-templates/permissions/useContentRole.js.map +1 -0
  91. package/dist/features/content-type-templates/permissions/useResolveContentRole.d.ts +38 -0
  92. package/dist/features/content-type-templates/permissions/useResolveContentRole.d.ts.map +1 -0
  93. package/dist/features/content-type-templates/permissions/useResolveContentRole.js +83 -0
  94. package/dist/features/content-type-templates/permissions/useResolveContentRole.js.map +1 -0
  95. package/dist/features/content-type-templates/stores/index.d.ts +9 -0
  96. package/dist/features/content-type-templates/stores/index.d.ts.map +1 -0
  97. package/dist/features/content-type-templates/stores/index.js +8 -0
  98. package/dist/features/content-type-templates/stores/index.js.map +1 -0
  99. package/dist/features/content-type-templates/stores/template-store-api.d.ts +17 -0
  100. package/dist/features/content-type-templates/stores/template-store-api.d.ts.map +1 -0
  101. package/dist/features/content-type-templates/stores/template-store-api.js +56 -0
  102. package/dist/features/content-type-templates/stores/template-store-api.js.map +1 -0
  103. package/dist/features/content-type-templates/stores/template-store.d.ts +54 -0
  104. package/dist/features/content-type-templates/stores/template-store.d.ts.map +1 -0
  105. package/dist/features/content-type-templates/stores/template-store.js +80 -0
  106. package/dist/features/content-type-templates/stores/template-store.js.map +1 -0
  107. package/dist/features/content-type-templates/types.d.ts +114 -0
  108. package/dist/features/content-type-templates/types.d.ts.map +1 -0
  109. package/dist/features/content-type-templates/types.js +7 -0
  110. package/dist/features/content-type-templates/types.js.map +1 -0
  111. package/dist/features/content-type-templates/ui/ActionBarPinButton.d.ts +3 -0
  112. package/dist/features/content-type-templates/ui/ActionBarPinButton.d.ts.map +1 -0
  113. package/dist/features/content-type-templates/ui/ActionBarPinButton.js +77 -0
  114. package/dist/features/content-type-templates/ui/ActionBarPinButton.js.map +1 -0
  115. package/dist/features/content-type-templates/ui/TemplateManagerOverlay.d.ts +18 -0
  116. package/dist/features/content-type-templates/ui/TemplateManagerOverlay.d.ts.map +1 -0
  117. package/dist/features/content-type-templates/ui/TemplateManagerOverlay.js +167 -0
  118. package/dist/features/content-type-templates/ui/TemplateManagerOverlay.js.map +1 -0
  119. package/dist/features/content-type-templates/ui/TemplatePinPanel.d.ts +18 -0
  120. package/dist/features/content-type-templates/ui/TemplatePinPanel.d.ts.map +1 -0
  121. package/dist/features/content-type-templates/ui/TemplatePinPanel.js +11 -0
  122. package/dist/features/content-type-templates/ui/TemplatePinPanel.js.map +1 -0
  123. package/dist/features/content-type-templates/ui/TemplateSelector.d.ts +41 -0
  124. package/dist/features/content-type-templates/ui/TemplateSelector.d.ts.map +1 -0
  125. package/dist/features/content-type-templates/ui/TemplateSelector.js +32 -0
  126. package/dist/features/content-type-templates/ui/TemplateSelector.js.map +1 -0
  127. package/dist/features/content-type-templates/ui/dataToTemplate.d.ts +25 -0
  128. package/dist/features/content-type-templates/ui/dataToTemplate.d.ts.map +1 -0
  129. package/dist/features/content-type-templates/ui/dataToTemplate.js +37 -0
  130. package/dist/features/content-type-templates/ui/dataToTemplate.js.map +1 -0
  131. package/dist/features/content-type-templates/validation/structural-validation.d.ts +29 -0
  132. package/dist/features/content-type-templates/validation/structural-validation.d.ts.map +1 -0
  133. package/dist/features/content-type-templates/validation/structural-validation.js +69 -0
  134. package/dist/features/content-type-templates/validation/structural-validation.js.map +1 -0
  135. package/dist/index.d.ts +8 -1
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +6 -1
  138. package/dist/index.js.map +1 -1
  139. package/dist/p1/editor/connect/connect-field-modal.d.ts.map +1 -1
  140. package/dist/p1/editor/connect/connect-field-modal.js +23 -1
  141. package/dist/p1/editor/connect/connect-field-modal.js.map +1 -1
  142. package/dist/p1/editor/connect/field-connect-plugin.d.ts.map +1 -1
  143. package/dist/p1/editor/connect/field-connect-plugin.js +2 -6
  144. package/dist/p1/editor/connect/field-connect-plugin.js.map +1 -1
  145. package/dist/p1/pages/conflict-resolution-panel.d.ts +17 -0
  146. package/dist/p1/pages/conflict-resolution-panel.d.ts.map +1 -0
  147. package/dist/p1/pages/conflict-resolution-panel.js +74 -0
  148. package/dist/p1/pages/conflict-resolution-panel.js.map +1 -0
  149. package/dist/p1/pages/content-type-template-list.d.ts +7 -0
  150. package/dist/p1/pages/content-type-template-list.d.ts.map +1 -0
  151. package/dist/p1/pages/content-type-template-list.js +108 -0
  152. package/dist/p1/pages/content-type-template-list.js.map +1 -0
  153. package/dist/p1/pages/create-content-type-form.d.ts +7 -0
  154. package/dist/p1/pages/create-content-type-form.d.ts.map +1 -0
  155. package/dist/p1/pages/create-content-type-form.js +102 -0
  156. package/dist/p1/pages/create-content-type-form.js.map +1 -0
  157. package/dist/p1/pages/create-page-form.d.ts +8 -1
  158. package/dist/p1/pages/create-page-form.d.ts.map +1 -1
  159. package/dist/p1/pages/create-page-form.js +67 -8
  160. package/dist/p1/pages/create-page-form.js.map +1 -1
  161. package/dist/p1/pages/create-template-form.d.ts +6 -1
  162. package/dist/p1/pages/create-template-form.d.ts.map +1 -1
  163. package/dist/p1/pages/create-template-form.js +61 -15
  164. package/dist/p1/pages/create-template-form.js.map +1 -1
  165. package/dist/p1/pages/hooks.d.ts +6 -1
  166. package/dist/p1/pages/hooks.d.ts.map +1 -1
  167. package/dist/p1/pages/hooks.js +13 -2
  168. package/dist/p1/pages/hooks.js.map +1 -1
  169. package/dist/p1/pages/index.d.ts +5 -0
  170. package/dist/p1/pages/index.d.ts.map +1 -1
  171. package/dist/p1/pages/index.js +5 -0
  172. package/dist/p1/pages/index.js.map +1 -1
  173. package/dist/p1/pages/migration-conflict-queue.d.ts +8 -0
  174. package/dist/p1/pages/migration-conflict-queue.d.ts.map +1 -0
  175. package/dist/p1/pages/migration-conflict-queue.js +62 -0
  176. package/dist/p1/pages/migration-conflict-queue.js.map +1 -0
  177. package/dist/p1/pages/migration-preview-panel.d.ts +12 -0
  178. package/dist/p1/pages/migration-preview-panel.d.ts.map +1 -0
  179. package/dist/p1/pages/migration-preview-panel.js +157 -0
  180. package/dist/p1/pages/migration-preview-panel.js.map +1 -0
  181. package/dist/p1/pages/migration-status-panel.d.ts +7 -0
  182. package/dist/p1/pages/migration-status-panel.d.ts.map +1 -0
  183. package/dist/p1/pages/migration-status-panel.js +198 -0
  184. package/dist/p1/pages/migration-status-panel.js.map +1 -0
  185. package/dist/p1/pages/structure-page.d.ts.map +1 -1
  186. package/dist/p1/pages/structure-page.js +75 -18
  187. package/dist/p1/pages/structure-page.js.map +1 -1
  188. package/dist/p1/pages/structure-tabs.d.ts +11 -0
  189. package/dist/p1/pages/structure-tabs.d.ts.map +1 -0
  190. package/dist/p1/pages/structure-tabs.js +45 -0
  191. package/dist/p1/pages/structure-tabs.js.map +1 -0
  192. package/dist/pds/components/P1EditorHeader.d.ts +6 -2
  193. package/dist/pds/components/P1EditorHeader.d.ts.map +1 -1
  194. package/dist/pds/components/P1EditorHeader.js +6 -3
  195. package/dist/pds/components/P1EditorHeader.js.map +1 -1
  196. package/dist/pds/components/PageNavigator.d.ts +7 -2
  197. package/dist/pds/components/PageNavigator.d.ts.map +1 -1
  198. package/dist/pds/components/PageNavigator.js +28 -7
  199. package/dist/pds/components/PageNavigator.js.map +1 -1
  200. package/dist/pds/components/PageNavigator.module.css +70 -0
  201. package/package.json +3 -3
  202. package/src/styles.css +331 -0
@@ -1,4 +1,5 @@
1
1
  import type { AuthMode } from '../auth/P1AuthProvider.js';
2
+ import type { ContentRole } from '../features/content-type-templates/types.js';
2
3
  import { P1ContentClient } from '@pantheon-systems/css-client';
3
4
  export interface P1Config {
4
5
  baseUrl: string;
@@ -11,7 +12,9 @@ export interface P1Config {
11
12
  enablePresence?: boolean;
12
13
  autoSaveDelay?: number;
13
14
  maxRetries?: number;
15
+ userRole?: ContentRole;
14
16
  }
17
+ export declare const PRODUCTION_BASE_URL = "https://ccr.p1.pantheon";
15
18
  export declare function createP1Config(envSource: Record<string, string | undefined>, options?: {
16
19
  prefix?: string;
17
20
  overrides?: Partial<P1Config>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AASD,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC/B,GACA,QAAQ,CA+CV;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAiBxE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,eAAe,GAAG,IAAI,CASzB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,eAAO,MAAM,mBAAmB,4BAA4B,CAAC;AAS7D,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC/B,GACA,QAAQ,CA4CV;AAED,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAiBxE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,CAAC,EAAE;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,eAAe,GAAG,IAAI,CASzB"}
@@ -1,4 +1,5 @@
1
1
  import { P1ContentClient } from '@pantheon-systems/css-client';
2
+ export const PRODUCTION_BASE_URL = 'https://ccr.p1.pantheon';
2
3
  const VALID_AUTH_MODES = ['mock', 'broker'];
3
4
  const DEFAULT_AUTH_MODE = 'broker';
4
5
  function httpToWs(url) {
@@ -23,12 +24,9 @@ export function createP1Config(envSource, options) {
23
24
  const num = parseInt(val, 10);
24
25
  return isNaN(num) ? undefined : num;
25
26
  }
26
- const baseUrl = overrides.baseUrl ?? env('CSS_BASE_URL');
27
+ const baseUrl = overrides.baseUrl ?? env('CSS_BASE_URL') ?? PRODUCTION_BASE_URL;
27
28
  const siteId = overrides.siteId ?? env('CSS_SITE_ID');
28
29
  const authModeRaw = overrides.authMode ?? env('CSS_AUTH_MODE') ?? DEFAULT_AUTH_MODE;
29
- if (!baseUrl) {
30
- throw new Error('Missing required config: CSS_BASE_URL');
31
- }
32
30
  if (!siteId) {
33
31
  throw new Error('Missing required config: CSS_SITE_ID');
34
32
  }
@@ -46,12 +44,13 @@ export function createP1Config(envSource, options) {
46
44
  enablePresence: overrides.enablePresence ?? envBool('CSS_ENABLE_PRESENCE') ?? true,
47
45
  autoSaveDelay: overrides.autoSaveDelay ?? envNum('CSS_AUTO_SAVE_DELAY'),
48
46
  maxRetries: overrides.maxRetries ?? envNum('CSS_MAX_RETRIES'),
47
+ userRole: overrides.userRole,
49
48
  };
50
49
  }
51
50
  export function createNextConfig(overrides) {
52
51
  return createP1Config({}, {
53
52
  overrides: {
54
- baseUrl: process.env.NEXT_PUBLIC_CSS_BASE_URL,
53
+ baseUrl: process.env.NEXT_PUBLIC_CSS_BASE_URL ?? PRODUCTION_BASE_URL,
55
54
  siteId: process.env.NEXT_PUBLIC_CSS_SITE_ID,
56
55
  authMode: process.env.NEXT_PUBLIC_CSS_AUTH_MODE,
57
56
  branchId: process.env.NEXT_PUBLIC_CSS_BRANCH_ID,
@@ -67,7 +66,7 @@ export function createNextConfig(overrides) {
67
66
  });
68
67
  }
69
68
  export function createNextContentClient(overrides) {
70
- const baseUrl = overrides?.baseUrl ?? process.env.NEXT_PUBLIC_CSS_BASE_URL;
69
+ const baseUrl = overrides?.baseUrl ?? process.env.NEXT_PUBLIC_CSS_BASE_URL ?? PRODUCTION_BASE_URL;
71
70
  const apiToken = overrides?.apiToken ?? process.env.CSS_API_KEY;
72
71
  const siteId = overrides?.siteId ?? process.env.NEXT_PUBLIC_CSS_SITE_ID;
73
72
  const branchId = overrides?.branchId ?? process.env.NEXT_PUBLIC_CSS_BRANCH_ID;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAe/D,MAAM,gBAAgB,GAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACxD,MAAM,iBAAiB,GAAa,QAAQ,CAAC;AAE7C,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,SAA6C,EAC7C,OAGC;IAED,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;IAE3C,SAAS,GAAG,CAAC,GAAW;QACtB,OAAO,SAAS,CAAC,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,OAAO,CAAC,GAAW;QAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,GAAG,KAAK,MAAM,CAAC;IACxB,CAAC;IAED,SAAS,MAAM,CAAC,GAAW;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACxC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACtC,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,CAAC,IAAI,iBAAiB,CAAC;IAEpF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAuB,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,sBAAsB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO;QACL,OAAO;QACP,MAAM;QACN,QAAQ,EAAE,WAAuB;QACjC,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,GAAG,CAAC,qBAAqB,CAAC;QACpE,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,GAAG,CAAC,eAAe,CAAC;QACpD,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,OAAO,CAAC,qBAAqB,CAAC,IAAI,IAAI;QAClF,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC;QAC7E,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,OAAO,CAAC,qBAAqB,CAAC,IAAI,IAAI;QAClF,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,MAAM,CAAC,qBAAqB,CAAC;QACvE,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,MAAM,CAAC,iBAAiB,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAA6B;IAC5D,OAAO,cAAc,CAAC,EAAE,EAAE;QACxB,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;YAC7C,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB;YAC3C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAiD;YACvE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;YAC/C,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,SAAS;gBACvE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,MAAM;gBACxD,CAAC,CAAC,SAAS;YACb,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;YAClD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,SAAS;gBACvE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,MAAM;gBACxD,CAAC,CAAC,SAAS;YACb,GAAG,SAAS;SACb;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAKvC;IACC,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;IAC3E,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAChE,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IACxE,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAE9E,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAElD,OAAO,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@ export interface P1FeatureConfig {
36
36
  enableAgentBanner?: boolean;
37
37
  /** Enable focus region highlighting (default: follows presenceEnabled) */
38
38
  enableFocusHighlighting?: boolean;
39
+ /** Enable content type templates (default: true) */
40
+ enableContentTypeTemplates?: boolean;
39
41
  }
40
42
  /**
41
43
  * Preset configurations for common setups.
@@ -1 +1 @@
1
- {"version":3,"file":"featureConfig.d.ts","sourceRoot":"","sources":["../../src/core/featureConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAK9B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,yDAAyD;IACzD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2DAA2D;IAC3D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6EAA6E;IAC7E,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,OAAO,GAAG,eAAe,GAAG,MAAM,EAAE,eAAe,CAyClF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAevF"}
1
+ {"version":3,"file":"featureConfig.d.ts","sourceRoot":"","sources":["../../src/core/featureConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAK9B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAM3B,yDAAyD;IACzD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,2DAA2D;IAC3D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,6EAA6E;IAC7E,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0EAA0E;IAC1E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oDAAoD;IACpD,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,OAAO,GAAG,eAAe,GAAG,MAAM,EAAE,eAAe,CA4ClF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAgBvF"}
@@ -15,6 +15,7 @@ export const P1_PRESETS = {
15
15
  basic: {
16
16
  enableAutoSave: true,
17
17
  enablePublishButton: true,
18
+ enableContentTypeTemplates: true,
18
19
  },
19
20
  /**
20
21
  * Collaborative preset: adds real-time editing, presence, and focus highlighting.
@@ -27,6 +28,7 @@ export const P1_PRESETS = {
27
28
  enablePublishButton: true,
28
29
  enableCollaboratorAvatars: true,
29
30
  enableFocusHighlighting: true,
31
+ enableContentTypeTemplates: true,
30
32
  },
31
33
  /**
32
34
  * Full preset: all features enabled.
@@ -45,6 +47,7 @@ export const P1_PRESETS = {
45
47
  enableCollaboratorAvatars: true,
46
48
  enableAgentBanner: true,
47
49
  enableFocusHighlighting: true,
50
+ enableContentTypeTemplates: true,
48
51
  },
49
52
  };
50
53
  /**
@@ -72,6 +75,7 @@ export function resolveFeatureConfig(config) {
72
75
  enableCollaboratorAvatars: config.enableCollaboratorAvatars ?? config.presenceEnabled ?? false,
73
76
  enableAgentBanner: config.enableAgentBanner ?? config.agentModeEnabled ?? false,
74
77
  enableFocusHighlighting: config.enableFocusHighlighting ?? config.presenceEnabled ?? false,
78
+ enableContentTypeTemplates: config.enableContentTypeTemplates ?? true,
75
79
  };
76
80
  }
77
81
  //# sourceMappingURL=featureConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"featureConfig.js","sourceRoot":"","sources":["../../src/core/featureConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6CH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgE;IACrF;;;OAGG;IACH,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;KAC1B;IAED;;;OAGG;IACH,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,uBAAuB,EAAE,IAAI;KAC9B;IAED;;;OAGG;IACH,IAAI,EAAE;QACJ,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,qBAAqB,EAAE,IAAI;QAC3B,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,IAAI;QAC1B,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,iBAAiB,EAAE,IAAI;QACvB,uBAAuB,EAAE,IAAI;KAC9B;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IAC1D,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,KAAK;QAClD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,IAAI;QAC3D,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;QACrD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI;QACvD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,eAAe,IAAI,KAAK;QAC9F,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,gBAAgB,IAAI,KAAK;QAC/E,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,eAAe,IAAI,KAAK;KAC3F,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"featureConfig.js","sourceRoot":"","sources":["../../src/core/featureConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+CH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgE;IACrF;;;OAGG;IACH,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,0BAA0B,EAAE,IAAI;KACjC;IAED;;;OAGG;IACH,aAAa,EAAE;QACb,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,uBAAuB,EAAE,IAAI;QAC7B,0BAA0B,EAAE,IAAI;KACjC;IAED;;;OAGG;IACH,IAAI,EAAE;QACJ,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,qBAAqB,EAAE,IAAI;QAC3B,oBAAoB,EAAE,IAAI;QAC1B,oBAAoB,EAAE,IAAI;QAC1B,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,IAAI;QACpB,mBAAmB,EAAE,IAAI;QACzB,yBAAyB,EAAE,IAAI;QAC/B,iBAAiB,EAAE,IAAI;QACvB,uBAAuB,EAAE,IAAI;QAC7B,0BAA0B,EAAE,IAAI;KACjC;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IAC1D,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,KAAK;QAClD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,IAAI;QAC3D,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;QACzD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;QACrD,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,IAAI;QACvD,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,eAAe,IAAI,KAAK;QAC9F,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,gBAAgB,IAAI,KAAK;QAC/E,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,eAAe,IAAI,KAAK;QAC1F,0BAA0B,EAAE,MAAM,CAAC,0BAA0B,IAAI,IAAI;KACtE,CAAC;AACJ,CAAC"}
@@ -6,6 +6,7 @@ import type { ConflictNotification } from '../merge/components/conflict-notifica
6
6
  import type { UseAgentEditReturn } from '../agent/useAgentEdit.js';
7
7
  import type { UseAgentTriggerReturn } from '../agent/useAgentTrigger.js';
8
8
  import type { P1FeatureConfig } from './featureConfig.js';
9
+ import type { Template } from '../features/content-type-templates/types.js';
9
10
  /**
10
11
  * Save status for auto-save functionality.
11
12
  */
@@ -122,6 +123,15 @@ export interface P1PuckConfig {
122
123
  * Callback when an agent conflict occurs.
123
124
  */
124
125
  onAgentConflict?: (conflict: ConflictNotification) => void;
126
+ /**
127
+ * User's content role for template permission enforcement.
128
+ * Consumers should resolve this via `useResolveContentRole` or their own auth layer.
129
+ * - admin: Full access, can create/edit templates
130
+ * - editor: Pinned components locked, can add/remove non-pinned
131
+ * - junior-editor: Props only, no structural changes
132
+ * @default 'editor'
133
+ */
134
+ userRole?: 'admin' | 'editor' | 'junior-editor';
125
135
  }
126
136
  /**
127
137
  * Context value provided by P1PuckProvider.
@@ -275,6 +285,14 @@ export interface P1PuckContextValue {
275
285
  * the sync payload for backend version storage.
276
286
  */
277
287
  handleAction: (action: Record<string, unknown>) => void;
288
+ /**
289
+ * Get pending actions buffered since last save.
290
+ * Used for forwarding action metadata to backend for version history.
291
+ */
292
+ getPendingActions: () => Array<{
293
+ type: string;
294
+ [key: string]: unknown;
295
+ }>;
278
296
  /**
279
297
  * Getter for current save status. Referentially stable — always returns
280
298
  * the latest value without causing re-renders.
@@ -322,7 +340,7 @@ export interface P1PuckContextValue {
322
340
  * Create a new document on the current branch.
323
341
  * Creates the document and an initial empty version, then refreshes the document list.
324
342
  */
325
- createDocument: (path: string) => Promise<void>;
343
+ createDocument: (path: string, template?: Template | null) => Promise<void>;
326
344
  /**
327
345
  * Delete a document on the current branch.
328
346
  * Deletes the document and refreshes the document list.
@@ -387,6 +405,45 @@ export interface P1PuckContextValue {
387
405
  * @internal
388
406
  */
389
407
  _onRealtimeDataCapture: ((data: PuckData) => void) | null;
408
+ /**
409
+ * Current user's content role for permission enforcement.
410
+ * Defaults to 'editor' if not specified.
411
+ */
412
+ userRole: 'admin' | 'editor' | 'junior-editor';
413
+ /**
414
+ * Available templates on the current branch.
415
+ */
416
+ templates: Template[];
417
+ /**
418
+ * Whether templates are loading.
419
+ */
420
+ templatesLoading: boolean;
421
+ /**
422
+ * Error from the most recent template list fetch, if any.
423
+ */
424
+ templatesError: Error | null;
425
+ /**
426
+ * Refresh the template list.
427
+ */
428
+ refreshTemplates: () => Promise<void>;
429
+ /**
430
+ * Template that the current document is bound to.
431
+ * Null for blank pages or when no document is loaded.
432
+ */
433
+ currentTemplate: Template | null;
434
+ /**
435
+ * Puck permissions resolver function based on template and user role.
436
+ * Pass this to <Puck resolvePermissions={...} /> to enforce template restrictions.
437
+ */
438
+ resolvePermissions?: (item: {
439
+ type: string;
440
+ }, appState: any) => {
441
+ edit: boolean;
442
+ drag: boolean;
443
+ delete: boolean;
444
+ insert: boolean;
445
+ duplicate: boolean;
446
+ };
390
447
  }
391
448
  /**
392
449
  * Presence state provided by the context when presence is enabled.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,13 @@
5
5
  * Stores must be initialized at startup via initializeStores()
6
6
  * before any route handler or server component accesses them.
7
7
  */
8
- export type { PageStore, EditorMetaStore, RemoteDatasourceDefStore, StoreCapabilities } from "./types";
8
+ export type { PageStore, PageSetOptions, EditorMetaStore, RemoteDatasourceDefStore, StoreCapabilities } from "./types";
9
9
  import type { PageStore, EditorMetaStore, RemoteDatasourceDefStore, StoreCapabilities } from "./types";
10
+ import type { TemplateStore } from "../../features/content-type-templates/stores/template-store.js";
10
11
  export declare function getPageStore(): PageStore;
11
12
  export declare function getEditorMetaStore(): EditorMetaStore;
12
13
  export declare function getRemoteDatasourceDefStore(): RemoteDatasourceDefStore;
14
+ export declare function getTemplateStore(): TemplateStore;
13
15
  /**
14
16
  * Replace the active store instances. Call this at app startup
15
17
  * before any route handlers or server components access the stores.
@@ -21,6 +23,7 @@ export declare function initializeStores(stores: {
21
23
  pageStore?: PageStore;
22
24
  editorMetaStore?: EditorMetaStore;
23
25
  remoteDatasourceDefStore?: RemoteDatasourceDefStore;
26
+ templateStore?: TemplateStore;
24
27
  }): void;
25
28
  /**
26
29
  * Returns the capabilities of the current store backend.
@@ -29,4 +32,5 @@ export declare function getCapabilities(): StoreCapabilities;
29
32
  export declare const pageStore: PageStore;
30
33
  export declare const editorMetaStore: EditorMetaStore;
31
34
  export declare const remoteDatasourceDefStore: RemoteDatasourceDefStore;
35
+ export declare const templateStore: TemplateStore;
32
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/dal/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvG,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQvG,wBAAgB,YAAY,IAAI,SAAS,CAGxC;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAGpD;AAED,wBAAgB,2BAA2B,IAAI,wBAAwB,CAGtE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD,GAAG,IAAI,CAIP;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAOnD;AAMD,eAAO,MAAM,SAAS,EAAE,SAMvB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAI7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,wBAGtC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/data/dal/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEvH,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACvG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gEAAgE,CAAC;AASpG,wBAAgB,YAAY,IAAI,SAAS,CAGxC;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAGpD;AAED,wBAAgB,2BAA2B,IAAI,wBAAwB,CAGtE;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAGhD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,GAAG,IAAI,CAKP;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAOnD;AAMD,eAAO,MAAM,SAAS,EAAE,SAMvB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAI7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,wBAGtC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAY3B,CAAC"}
@@ -9,6 +9,7 @@
9
9
  let _pageStore = null;
10
10
  let _editorMetaStore = null;
11
11
  let _remoteDatasourceDefStore = null;
12
+ let _templateStore = null;
12
13
  export function getPageStore() {
13
14
  if (!_pageStore)
14
15
  throw new Error("Page store not initialized. Call ensureInitialized() first.");
@@ -24,6 +25,11 @@ export function getRemoteDatasourceDefStore() {
24
25
  throw new Error("Remote datasource def store not initialized. Call ensureInitialized() first.");
25
26
  return _remoteDatasourceDefStore;
26
27
  }
28
+ export function getTemplateStore() {
29
+ if (!_templateStore)
30
+ throw new Error("Template store not initialized. Call ensureInitialized() first.");
31
+ return _templateStore;
32
+ }
27
33
  /**
28
34
  * Replace the active store instances. Call this at app startup
29
35
  * before any route handlers or server components access the stores.
@@ -38,6 +44,8 @@ export function initializeStores(stores) {
38
44
  _editorMetaStore = stores.editorMetaStore;
39
45
  if (stores.remoteDatasourceDefStore)
40
46
  _remoteDatasourceDefStore = stores.remoteDatasourceDefStore;
47
+ if (stores.templateStore)
48
+ _templateStore = stores.templateStore;
41
49
  }
42
50
  /**
43
51
  * Returns the capabilities of the current store backend.
@@ -55,7 +63,7 @@ export function getCapabilities() {
55
63
  // store swap made via initializeStores().
56
64
  export const pageStore = {
57
65
  get(path) { return getPageStore().get(path); },
58
- set(path, value) { return getPageStore().set(path, value); },
66
+ set(path, value, options) { return getPageStore().set(path, value, options); },
59
67
  delete(path) { return getPageStore().delete(path); },
60
68
  has(path) { return getPageStore().has(path); },
61
69
  keys() { return getPageStore().keys(); },
@@ -69,4 +77,17 @@ export const remoteDatasourceDefStore = {
69
77
  list() { return getRemoteDatasourceDefStore().list(); },
70
78
  save(remoteDatasources) { getRemoteDatasourceDefStore().save(remoteDatasources); },
71
79
  };
80
+ export const templateStore = {
81
+ create(params) { return getTemplateStore().create(params); },
82
+ get(id) { return getTemplateStore().get(id); },
83
+ list() { return getTemplateStore().list(); },
84
+ update(id, params) { return getTemplateStore().update(id, params); },
85
+ delete(id) { return getTemplateStore().delete(id); },
86
+ getBinding(documentId) { return getTemplateStore().getBinding(documentId); },
87
+ setBinding(documentId, templateId, templateVersion) {
88
+ return getTemplateStore().setBinding(documentId, templateId, templateVersion);
89
+ },
90
+ listBindings(templateId) { return getTemplateStore().listBindings(templateId); },
91
+ removeBinding(documentId) { return getTemplateStore().removeBinding(documentId); },
92
+ };
72
93
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/dal/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,2CAA2C;AAE3C,IAAI,UAAU,GAAqB,IAAI,CAAC;AACxC,IAAI,gBAAgB,GAA2B,IAAI,CAAC;AACpD,IAAI,yBAAyB,GAAoC,IAAI,CAAC;AAEtE,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAChG,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IAC7G,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,IAAI,CAAC,yBAAyB;QAAE,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAChI,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAIhC;IACC,IAAI,MAAM,CAAC,SAAS;QAAE,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;IACpD,IAAI,MAAM,CAAC,eAAe;QAAE,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC;IACtE,IAAI,MAAM,CAAC,wBAAwB;QAAE,yBAAyB,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACnG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,4DAA4D;AAC5D,0CAA0C;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,GAAG,CAAC,IAAY,IAAI,OAAO,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,GAAG,CAAC,IAAY,EAAE,KAAc,IAAI,OAAO,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,CAAC,IAAY,IAAI,OAAO,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,IAAY,IAAI,OAAO,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,KAAK,OAAO,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,GAAG,CAAC,IAAY,IAAI,OAAO,kBAAkB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,IAAY,EAAE,GAA4B,IAAI,kBAAkB,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,CAAC,IAAY,IAAI,kBAAkB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,IAAI,KAAK,OAAO,2BAA2B,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvD,IAAI,CAAC,iBAA4B,IAAI,2BAA2B,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAC9F,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/data/dal/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/data/dal/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzE;AA0ED,yBAAyB;AACzB,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/data/dal/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CASzE;AA4ED,yBAAyB;AACzB,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
@@ -15,7 +15,11 @@ let _initPromise = null;
15
15
  */
16
16
  export function ensureInitialized(dataConfig) {
17
17
  if (!_initPromise) {
18
- _initPromise = doInit(dataConfig);
18
+ _initPromise = doInit(dataConfig).catch((err) => {
19
+ console.error("[puck-css] initialization failed:", err.message);
20
+ _initPromise = null;
21
+ throw err;
22
+ });
19
23
  }
20
24
  return _initPromise;
21
25
  }
@@ -32,29 +36,33 @@ async function doInit(cfg) {
32
36
  baseUrl: p1BaseUrl,
33
37
  apiKey: cfg.p1ApiKey,
34
38
  });
35
- // Auto-detect main branch when no branchId provided.
36
- let branchId = cfg.p1BranchId ?? "";
37
- if (!branchId) {
38
- const branches = await client.branches.list(p1SiteId);
39
- const main = branches.find((b) => b.isMain);
40
- if (!main) {
41
- throw new Error("No main branch found for site " + p1SiteId);
42
- }
43
- branchId = main.id;
44
- }
45
39
  // Content client for published-only reads on public pages.
46
- // Use the resolved branchId (auto-detected main if not explicitly configured).
40
+ // No branchId: the content delivery API defaults to main, and passing
41
+ // ?branch= would cause a 403 for read:published tokens (mainBranchOnly enforcement).
47
42
  const contentClient = new P1ContentClientCtor({
48
43
  baseUrl: p1BaseUrl,
49
44
  apiToken: cfg.p1ApiKey ?? "",
50
45
  siteId: p1SiteId,
51
- branchId,
52
46
  });
53
47
  const pageStore = createP1PageStore({
54
48
  client,
55
49
  contentClient,
56
50
  siteId: p1SiteId,
57
- branchId,
51
+ branchId: cfg.p1BranchId,
52
+ // Branch auto-detection deferred to the first editor request so it runs
53
+ // under the user's bearer token. A read:published sat_ token cannot reach
54
+ // the branches endpoint, so detection must not happen at init time.
55
+ resolveBranchId: async (bearerToken) => {
56
+ const authClient = new P1ClientCtor({
57
+ baseUrl: p1BaseUrl,
58
+ authProvider: async () => `Bearer ${bearerToken}`,
59
+ });
60
+ const branches = await authClient.branches.list(p1SiteId);
61
+ const main = branches.find((b) => b.isMain);
62
+ if (!main)
63
+ throw new Error("No main branch found for site " + p1SiteId);
64
+ return main.id;
65
+ },
58
66
  createAuthClient: (bearerToken) => {
59
67
  return new P1ClientCtor({
60
68
  baseUrl: p1BaseUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/data/dal/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/data/dal/init.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export interface P1StoreClient {
15
15
  list(siteId: string, branchId: string): Promise<{
16
16
  id: string;
17
17
  path: string;
18
+ templateId?: string | null;
18
19
  }[]>;
19
20
  getByPath(siteId: string, path: string): Promise<{
20
21
  id: string;
@@ -24,6 +25,8 @@ export interface P1StoreClient {
24
25
  siteId: string;
25
26
  branchId: string;
26
27
  path: string;
28
+ templateId?: string;
29
+ templateVersion?: number;
27
30
  }): Promise<{
28
31
  id: string;
29
32
  path: string;
@@ -56,7 +59,18 @@ export interface P1StoreConfig {
56
59
  */
57
60
  contentClient?: P1ContentClientInterface;
58
61
  siteId: string;
59
- branchId: string;
62
+ /**
63
+ * Branch ID for authoring operations. When omitted, resolved lazily on the
64
+ * first editor request via resolveBranchId. Not required for public reads —
65
+ * those use contentClient which defaults to the main branch server-side.
66
+ */
67
+ branchId?: string;
68
+ /**
69
+ * Called on the first editor operation when branchId is not pre-configured.
70
+ * Receives the bearer token from the active request context so branch
71
+ * detection runs under the user's credentials, not the sat_ API key.
72
+ */
73
+ resolveBranchId?: (bearerToken: string) => Promise<string>;
60
74
  /** Factory to create a client with a specific bearer token (for user-auth writes). */
61
75
  createAuthClient?: (bearerToken: string) => P1StoreClient;
62
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"p1-store.d.ts","sourceRoot":"","sources":["../../../src/data/dal/p1-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGzC;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC,CAAC;QAChF,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC1G,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7E,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;QAChH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC/H,CAAC;CACH;AAED,uEAAuE;AACvE,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,aAAa,CAAC;CAC3D;AAwCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAoGlE"}
1
+ {"version":3,"file":"p1-store.d.ts","sourceRoot":"","sources":["../../../src/data/dal/p1-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAgC,MAAM,SAAS,CAAC;AAGvE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,EAAE,CAAC,CAAC;QAC5G,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,eAAe,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACzJ,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7E,CAAC;IACF,QAAQ,EAAE;QACR,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;QAChH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC/H,CAAC;CACH;AAED,uEAAuE;AACvE,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,aAAa,CAAC;CAC3D;AAwCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CA0JlE"}
@@ -38,8 +38,27 @@ async function withRetry(fn, retries, delayMs) {
38
38
  throw lastErr;
39
39
  }
40
40
  export function createP1PageStore(config) {
41
- const { client, contentClient, siteId, branchId, createAuthClient } = config;
41
+ const { client, contentClient, siteId, createAuthClient } = config;
42
42
  let _keysCache = null;
43
+ let _resolvedBranchIdPromise = null;
44
+ // Returns the branch ID, resolving it lazily on the first editor request when
45
+ // not pre-configured. Resolution uses the request's bearer token so it never
46
+ // requires sat_ token access to the branches endpoint.
47
+ function getBranchId() {
48
+ if (config.branchId)
49
+ return Promise.resolve(config.branchId);
50
+ if (!_resolvedBranchIdPromise) {
51
+ const token = getRequestAuthToken();
52
+ if (!token || !config.resolveBranchId) {
53
+ return Promise.reject(new Error("Branch ID required for editor operations: set p1BranchId in config or use an authenticated request."));
54
+ }
55
+ _resolvedBranchIdPromise = config.resolveBranchId(token).catch((err) => {
56
+ _resolvedBranchIdPromise = null;
57
+ throw err;
58
+ });
59
+ }
60
+ return _resolvedBranchIdPromise;
61
+ }
43
62
  function writeClient() {
44
63
  const token = getRequestAuthToken();
45
64
  if (token && createAuthClient) {
@@ -66,6 +85,7 @@ export function createP1PageStore(config) {
66
85
  }
67
86
  // Editor context (auth token present) or no content client: return latest version.
68
87
  try {
88
+ const branchId = await getBranchId();
69
89
  const doc = await client.documents.getByPath(siteId, toDocPath(path));
70
90
  const version = await client.versions.getLatest(siteId, branchId, doc.id);
71
91
  return version.snapshot;
@@ -75,16 +95,26 @@ export function createP1PageStore(config) {
75
95
  return undefined;
76
96
  }
77
97
  },
78
- async set(path, value) {
98
+ async set(path, value, options) {
79
99
  const wc = writeClient();
80
100
  const dp = toDocPath(path);
101
+ const branchId = await getBranchId();
81
102
  let docId;
82
103
  try {
83
104
  const existing = await client.documents.getByPath(siteId, dp);
84
105
  docId = existing.id;
85
106
  }
86
107
  catch {
87
- const created = await wc.documents.create({ siteId, branchId, path: dp });
108
+ const createParams = {
109
+ siteId, branchId, path: dp,
110
+ };
111
+ if (options?.templateId) {
112
+ createParams.templateId = options.templateId;
113
+ }
114
+ if (options?.templateVersion != null) {
115
+ createParams.templateVersion = options.templateVersion;
116
+ }
117
+ const created = await wc.documents.create(createParams);
88
118
  docId = created.id;
89
119
  }
90
120
  await wc.versions.create(siteId, {
@@ -96,6 +126,7 @@ export function createP1PageStore(config) {
96
126
  },
97
127
  async delete(path) {
98
128
  try {
129
+ const branchId = await getBranchId();
99
130
  const doc = await client.documents.getByPath(siteId, toDocPath(path));
100
131
  await writeClient().documents.delete(siteId, branchId, doc.id);
101
132
  }
@@ -119,16 +150,31 @@ export function createP1PageStore(config) {
119
150
  if (_keysCache && now - _keysCache.ts < KEYS_CACHE_TTL_MS) {
120
151
  return _keysCache.promise;
121
152
  }
122
- const promise = withRetry(() => client.documents.list(siteId, branchId), KEYS_MAX_RETRIES, KEYS_RETRY_DELAY_MS)
153
+ const promise = getBranchId()
154
+ .then((branchId) => withRetry(() => client.documents.list(siteId, branchId), KEYS_MAX_RETRIES, KEYS_RETRY_DELAY_MS))
123
155
  .then((docs) => docs.map((d) => toStorePath(d.path)))
124
156
  .catch((err) => {
125
- console.error("[css-store] documents.list failed after retries:", err.message);
157
+ console.error("[css-store] keys() failed:", err.message);
126
158
  invalidateKeysCache();
127
159
  return [];
128
160
  });
129
161
  _keysCache = { promise, ts: now };
130
162
  return promise;
131
163
  },
164
+ async listDocuments() {
165
+ try {
166
+ const resolvedBranchId = await getBranchId();
167
+ const docs = await withRetry(() => client.documents.list(siteId, resolvedBranchId), KEYS_MAX_RETRIES, KEYS_RETRY_DELAY_MS);
168
+ return docs.map((d) => ({
169
+ path: toStorePath(d.path),
170
+ templateId: d.templateId ?? undefined,
171
+ }));
172
+ }
173
+ catch (err) {
174
+ console.error("[css-store] listDocuments failed:", err.message);
175
+ return [];
176
+ }
177
+ },
132
178
  };
133
179
  }
134
180
  //# sourceMappingURL=p1-store.js.map