@caretcms/core 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +81 -3
  2. package/dist/index.d.ts +13 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +37 -9
  5. package/dist/index.js.map +1 -1
  6. package/dist/loader.d.ts.map +1 -1
  7. package/dist/loader.js +27 -3
  8. package/dist/loader.js.map +1 -1
  9. package/dist/markdown/satteri.d.ts.map +1 -1
  10. package/dist/markdown/satteri.js +32 -8
  11. package/dist/markdown/satteri.js.map +1 -1
  12. package/dist/runtime/auth/session.d.ts +1 -0
  13. package/dist/runtime/auth/session.d.ts.map +1 -1
  14. package/dist/runtime/auth/session.js +16 -0
  15. package/dist/runtime/auth/session.js.map +1 -1
  16. package/dist/runtime/config.d.ts +3 -0
  17. package/dist/runtime/config.d.ts.map +1 -1
  18. package/dist/runtime/config.js +4 -1
  19. package/dist/runtime/config.js.map +1 -1
  20. package/dist/runtime/i18n.d.ts +86 -0
  21. package/dist/runtime/i18n.d.ts.map +1 -0
  22. package/dist/runtime/i18n.js +168 -0
  23. package/dist/runtime/i18n.js.map +1 -0
  24. package/dist/runtime/middleware.d.ts.map +1 -1
  25. package/dist/runtime/middleware.js +40 -2
  26. package/dist/runtime/middleware.js.map +1 -1
  27. package/dist/runtime/mutations/contracts.d.ts +3 -0
  28. package/dist/runtime/mutations/contracts.d.ts.map +1 -1
  29. package/dist/runtime/mutations/contracts.js +9 -0
  30. package/dist/runtime/mutations/contracts.js.map +1 -1
  31. package/dist/runtime/mutations/engine.d.ts.map +1 -1
  32. package/dist/runtime/mutations/engine.js +121 -10
  33. package/dist/runtime/mutations/engine.js.map +1 -1
  34. package/dist/runtime/providers.d.ts +2 -1
  35. package/dist/runtime/providers.d.ts.map +1 -1
  36. package/dist/runtime/providers.js +7 -1
  37. package/dist/runtime/providers.js.map +1 -1
  38. package/dist/runtime/publish.d.ts.map +1 -1
  39. package/dist/runtime/publish.js +5 -0
  40. package/dist/runtime/publish.js.map +1 -1
  41. package/dist/runtime/request-context.d.ts +5 -1
  42. package/dist/runtime/request-context.d.ts.map +1 -1
  43. package/dist/runtime/request-context.js +7 -1
  44. package/dist/runtime/request-context.js.map +1 -1
  45. package/dist/runtime/routes/admin-entry.d.ts.map +1 -1
  46. package/dist/runtime/routes/admin-entry.js +114 -18
  47. package/dist/runtime/routes/admin-entry.js.map +1 -1
  48. package/dist/runtime/routes/admin.d.ts.map +1 -1
  49. package/dist/runtime/routes/admin.js +28 -14
  50. package/dist/runtime/routes/admin.js.map +1 -1
  51. package/dist/runtime/routes/auth-login.d.ts.map +1 -1
  52. package/dist/runtime/routes/auth-login.js +4 -0
  53. package/dist/runtime/routes/auth-login.js.map +1 -1
  54. package/dist/runtime/routes/auth-logout.d.ts.map +1 -1
  55. package/dist/runtime/routes/auth-logout.js +7 -2
  56. package/dist/runtime/routes/auth-logout.js.map +1 -1
  57. package/dist/runtime/routes/auth-session.d.ts.map +1 -1
  58. package/dist/runtime/routes/auth-session.js +4 -2
  59. package/dist/runtime/routes/auth-session.js.map +1 -1
  60. package/dist/runtime/routes/collection-list.d.ts.map +1 -1
  61. package/dist/runtime/routes/collection-list.js +64 -41
  62. package/dist/runtime/routes/collection-list.js.map +1 -1
  63. package/dist/runtime/routes/entries.d.ts.map +1 -1
  64. package/dist/runtime/routes/entries.js +15 -6
  65. package/dist/runtime/routes/entries.js.map +1 -1
  66. package/dist/runtime/routes/history.d.ts.map +1 -1
  67. package/dist/runtime/routes/history.js +4 -1
  68. package/dist/runtime/routes/history.js.map +1 -1
  69. package/dist/runtime/routes/schema.d.ts.map +1 -1
  70. package/dist/runtime/routes/schema.js +7 -2
  71. package/dist/runtime/routes/schema.js.map +1 -1
  72. package/dist/runtime/routes/studio-home.d.ts.map +1 -1
  73. package/dist/runtime/routes/studio-home.js +38 -19
  74. package/dist/runtime/routes/studio-home.js.map +1 -1
  75. package/dist/runtime/schema-registry.d.ts +8 -1
  76. package/dist/runtime/schema-registry.d.ts.map +1 -1
  77. package/dist/runtime/schema-registry.js +47 -3
  78. package/dist/runtime/schema-registry.js.map +1 -1
  79. package/dist/runtime/themes/preset-tokens.js +4 -4
  80. package/dist/runtime/themes/preset-tokens.js.map +1 -1
  81. package/dist/runtime/views/studio-layout.d.ts +3 -0
  82. package/dist/runtime/views/studio-layout.d.ts.map +1 -1
  83. package/dist/runtime/views/studio-layout.js +36 -13
  84. package/dist/runtime/views/studio-layout.js.map +1 -1
  85. package/dist/schema-utils.d.ts +7 -0
  86. package/dist/schema-utils.d.ts.map +1 -1
  87. package/dist/schema-utils.js +143 -0
  88. package/dist/schema-utils.js.map +1 -1
  89. package/dist/types.d.ts +43 -1
  90. package/dist/types.d.ts.map +1 -1
  91. package/package.json +1 -1
  92. package/static/cms/admin-entry.css +135 -13
  93. package/static/cms/admin-entry.js +506 -117
  94. package/static/cms/editor/image-edit.js +1 -0
  95. package/static/cms/editor/panel.js +19 -1
  96. package/static/cms/editor/sync.js +277 -56
  97. package/static/cms/editor/tokens-and-text.css +9 -0
  98. package/static/cms/editor.css +1 -1
  99. package/static/cms/editor.js +1 -1
  100. package/static/cms/studio-tokens.css +4 -4
  101. package/static/cms/studio.css +24 -0
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtime/auth/session.ts"],"names":[],"mappings":"AAoFA,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAgID,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAWhE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAS9E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAE9E;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CAErD;AAED,KAAK,aAAa,GAAG;IACnB,OAAO,CAAC,EAAE;QACR,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;KACtD,CAAC;CACH,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAarE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAIjE"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/runtime/auth/session.ts"],"names":[],"mappings":"AAoFA,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAgID,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAWhE;AAED,wBAAgB,wBAAwB,CAAC,IAAI,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAS9E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,SAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAE9E;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CAErD;AAED,KAAK,aAAa,GAAG;IACnB,OAAO,CAAC,EAAE;QACR,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;KACtD,CAAC;CACH,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAerE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAOjE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,gBAAgB,EAAE,cAAc,GAAG,IAAI,CAKxG"}
@@ -201,6 +201,10 @@ export function isEditorAuthenticated(context) {
201
201
  const ctx = getRequestContext();
202
202
  if (ctx?.demoMode && ctx.sessionId && ctx.overlayActive)
203
203
  return true;
204
+ if (ctx?.identity)
205
+ return true;
206
+ if (ctx?.identityAuthoritative)
207
+ return false;
204
208
  const token = context.cookies?.get(SESSION_COOKIE_NAME)?.value;
205
209
  if (!token)
206
210
  return false;
@@ -212,9 +216,21 @@ export function isEditorAuthenticated(context) {
212
216
  * demo sessions — those are keyed by their own `sessionId`.
213
217
  */
214
218
  export function getEditorId(context) {
219
+ const externalId = getRequestContext()?.identity?.id;
220
+ if (externalId)
221
+ return externalId;
222
+ if (getRequestContext()?.identityAuthoritative)
223
+ return null;
215
224
  const token = context.cookies?.get(SESSION_COOKIE_NAME)?.value;
216
225
  if (!token)
217
226
  return null;
218
227
  return parseToken(token)?.editorId ?? null;
219
228
  }
229
+ export function getEditorIdentity(context) {
230
+ const external = getRequestContext()?.identity;
231
+ if (external)
232
+ return external;
233
+ const editorId = getEditorId(context);
234
+ return editorId ? { id: editorId } : null;
235
+ }
220
236
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtime/auth/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/runtime/auth/session.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { CaretMode } from "../types.js";
2
+ import { type ResolvedStudioDictionary, type StudioLocale } from "./i18n.js";
2
3
  export type CaretBrandConfig = {
3
4
  name: string;
4
5
  logo: string | null;
@@ -15,6 +16,8 @@ export type CaretRuntimeConfig = {
15
16
  mode: CaretMode;
16
17
  theme: CaretThemeConfig;
17
18
  brand: CaretBrandConfig;
19
+ locale: StudioLocale;
20
+ messages: ResolvedStudioDictionary;
18
21
  };
19
22
  export declare function normalizePath(input: string | undefined, fallback: string): string;
20
23
  export declare function getRuntimeConfig(): CaretRuntimeConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CASjF;AAsBD,wBAAgB,gBAAgB,IAAI,kBAAkB,CAerD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAA2B,KAAK,wBAAwB,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAWtG,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,wBAAwB,CAAC;CACpC,CAAC;AAEF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CASjF;AAsBD,wBAAgB,gBAAgB,IAAI,kBAAkB,CAoBrD"}
@@ -1,3 +1,4 @@
1
+ import { resolveStudioDictionary } from "./i18n.js";
1
2
  export function normalizePath(input, fallback) {
2
3
  if (!input)
3
4
  return fallback;
@@ -36,6 +37,8 @@ export function getRuntimeConfig() {
36
37
  const mode = (__ASTRO_CARET_MODE__ ?? "embedded");
37
38
  const theme = safeParse(__ASTRO_CARET_THEME_CONFIG__, DEFAULT_THEME);
38
39
  const brand = safeParse(__ASTRO_CARET_BRAND_CONFIG__, DEFAULT_BRAND);
39
- return { mountPath, apiBasePath, editorHome, mode, theme, brand };
40
+ const locale = (__ASTRO_CARET_LOCALE__ === "es" ? "es" : "en");
41
+ const messages = safeParse(__ASTRO_CARET_DICTIONARY__, resolveStudioDictionary(locale));
42
+ return { mountPath, apiBasePath, editorHome, mode, theme, brand, locale, messages };
40
43
  }
41
44
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,aAAa,CAAC,KAAyB,EAAE,QAAgB;IACvE,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;IAC3E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAI,GAAuB,EAAE,QAAW;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,aAAa,GAAqB;IACtC,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,aAAa,GAAqB;IACtC,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,EAAE;CACnB,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,aAAa,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,aAAa,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,CAAC,oBAAoB,IAAI,UAAU,CAAc,CAAC;IAC/D,MAAM,KAAK,GAAG,SAAS,CACrB,4BAA4B,EAC5B,aAAa,CACd,CAAC;IACF,MAAM,KAAK,GAAG,SAAS,CACrB,4BAA4B,EAC5B,aAAa,CACd,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAoD,MAAM,WAAW,CAAC;AAiCtG,MAAM,UAAU,aAAa,CAAC,KAAyB,EAAE,QAAgB;IACvE,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;IAC3E,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAI,GAAuB,EAAE,QAAW;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,aAAa,GAAqB;IACtC,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,aAAa,GAAqB;IACtC,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,EAAE;CACnB,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,MAAM,SAAS,GAAG,aAAa,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,aAAa,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,aAAa,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,CAAC,oBAAoB,IAAI,UAAU,CAAc,CAAC;IAC/D,MAAM,KAAK,GAAG,SAAS,CACrB,4BAA4B,EAC5B,aAAa,CACd,CAAC;IACF,MAAM,KAAK,GAAG,SAAS,CACrB,4BAA4B,EAC5B,aAAa,CACd,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,sBAAsB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAiB,CAAC;IAC/E,MAAM,QAAQ,GAAG,SAAS,CACxB,0BAA0B,EAC1B,uBAAuB,CAAC,MAAM,CAAC,CAChC,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACtF,CAAC"}
@@ -0,0 +1,86 @@
1
+ export declare const EN_STUDIO_MESSAGES: {
2
+ readonly "nav.studio": "Studio";
3
+ readonly "nav.signOut": "Sign out";
4
+ readonly "home.title": "Content Studio";
5
+ readonly "home.intro": "Manage your collections and entries.";
6
+ readonly "home.empty": "No collections yet. Create one from Studio, edit any data-caret element on your site, or run npx @caretcms/caretize to make existing pages editable.";
7
+ readonly "count.entry": "entry";
8
+ readonly "count.entries": "entries";
9
+ readonly "common.error": "Error";
10
+ readonly "common.loading": "Loading…";
11
+ readonly "common.close": "Close";
12
+ readonly "common.cancel": "Cancel";
13
+ readonly "common.retry": "Retry";
14
+ readonly "common.saving": "Saving…";
15
+ readonly "collection.search": "Search";
16
+ readonly "collection.searchPlaceholder": "Search entries…";
17
+ readonly "collection.reorder": "Reorder";
18
+ readonly "collection.reordering": "Reordering…";
19
+ readonly "collection.new": "+ New";
20
+ readonly "collection.noEntries": "No entries yet.";
21
+ readonly "collection.createFirst": "Create First Entry";
22
+ readonly "collection.failed": "Failed to load entries.";
23
+ readonly "collection.saveOrder": "Save Order";
24
+ readonly "collection.newEntry": "New Entry";
25
+ readonly "collection.entryId": "Entry ID (slug)";
26
+ readonly "collection.entryIdPlaceholder": "e.g. my-first-entry";
27
+ readonly "collection.idHint": "Use a permanent internal address such as quiet-structures. Lowercase letters, numbers, and hyphens only.";
28
+ readonly "collection.publishHint": "You’ll add the content on the next screen. Collections with a Published switch remain hidden until you turn it on and Save.";
29
+ readonly "collection.create": "Create";
30
+ readonly "collection.untitled": "Untitled";
31
+ readonly "collection.published": "Published";
32
+ readonly "collection.unpublished": "Unpublished";
33
+ readonly "collection.invalid": "Invalid stored data — open to repair";
34
+ readonly "collection.invalidId": "Use lowercase letters, numbers, and hyphens only.";
35
+ readonly "collection.duplicateId": "An entry with this ID already exists.";
36
+ readonly "collection.createFailed": "Failed to create entry. Try again.";
37
+ readonly "entry.notFound": "Entry not found.";
38
+ readonly "entry.goBack": "Go back";
39
+ readonly "entry.savingLive": "Saving live";
40
+ readonly "entry.savingPreview": "Saving to private preview";
41
+ readonly "entry.preview": "Preview site ↗";
42
+ readonly "entry.history": "History";
43
+ readonly "entry.delete": "Delete";
44
+ readonly "entry.saveLive": "Save live";
45
+ readonly "entry.saveDraft": "Save draft";
46
+ readonly "entry.guideTitle": "How editing works";
47
+ readonly "entry.guideCopy": "Edit any field, add or remove repeatable rows, then choose Save. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. Click an image preview to replace it, or paste an image URL. The Published switch controls whether signed-out visitors can see an entry.";
48
+ readonly "entry.versionHistory": "Version History";
49
+ readonly "entry.deleteTitle": "Delete Entry";
50
+ readonly "entry.deleteCopy": "Permanently delete this entry? A snapshot will be saved to history for recovery.";
51
+ readonly "entry.allSaved": "All changes saved";
52
+ readonly "entry.unsaved": "Unsaved changes";
53
+ readonly "entry.savingChanges": "Saving changes…";
54
+ readonly "entry.saved": "Saved";
55
+ readonly "entry.liveConfirm": "Save these changes directly to the live site?";
56
+ readonly "entry.validationFailed": "Validation failed";
57
+ readonly "entry.changedElsewhere": "Changed elsewhere — Save again to overwrite";
58
+ readonly "entry.deleteFailed": "Delete failed";
59
+ readonly "entry.deleting": "Deleting…";
60
+ readonly "entry.newGuideTitle": "Entry created with safe defaults";
61
+ readonly "entry.newGuideCopy": "Fill in the fields below. Save becomes available after your first change. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. The Published switch controls whether signed-out visitors can see this entry.";
62
+ readonly "field.add": "Add";
63
+ readonly "field.remove": "Remove";
64
+ readonly "field.moveUp": "Move up";
65
+ readonly "field.moveDown": "Move down";
66
+ readonly "field.drag": "Drag to reorder";
67
+ readonly "field.replaceImage": "Replace image";
68
+ readonly "field.uploadOrReplaceImage": "Upload or replace image";
69
+ readonly "field.chooseImage": "Choose an image";
70
+ readonly "login.title": "Sign in";
71
+ readonly "login.password": "Password";
72
+ readonly "login.placeholder": "Enter editor password";
73
+ readonly "login.submit": "Sign in";
74
+ readonly "login.invalid": "Invalid password.";
75
+ readonly "login.status": "Sign in to manage content.";
76
+ readonly "login.noPassword": "Caret needs an editor password before you can sign in.";
77
+ readonly "login.devPassword": "Temporary dev password active — check your terminal to sign in.";
78
+ readonly "login.back": "← Back to site";
79
+ readonly "login.failed": "Login failed";
80
+ };
81
+ export type StudioMessageKey = keyof typeof EN_STUDIO_MESSAGES;
82
+ export type StudioLocale = "en" | "es";
83
+ export type StudioDictionary = Partial<Record<StudioMessageKey, string>>;
84
+ export type ResolvedStudioDictionary = Record<StudioMessageKey, string>;
85
+ export declare function resolveStudioDictionary(locale?: StudioLocale, overrides?: StudioDictionary): ResolvedStudioDictionary;
86
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/runtime/i18n.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ErB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAmFxE,wBAAgB,uBAAuB,CACrC,MAAM,GAAE,YAAmB,EAC3B,SAAS,GAAE,gBAAqB,GAC/B,wBAAwB,CAM1B"}
@@ -0,0 +1,168 @@
1
+ export const EN_STUDIO_MESSAGES = {
2
+ "nav.studio": "Studio",
3
+ "nav.signOut": "Sign out",
4
+ "home.title": "Content Studio",
5
+ "home.intro": "Manage your collections and entries.",
6
+ "home.empty": "No collections yet. Create one from Studio, edit any data-caret element on your site, or run npx @caretcms/caretize to make existing pages editable.",
7
+ "count.entry": "entry",
8
+ "count.entries": "entries",
9
+ "common.error": "Error",
10
+ "common.loading": "Loading…",
11
+ "common.close": "Close",
12
+ "common.cancel": "Cancel",
13
+ "common.retry": "Retry",
14
+ "common.saving": "Saving…",
15
+ "collection.search": "Search",
16
+ "collection.searchPlaceholder": "Search entries…",
17
+ "collection.reorder": "Reorder",
18
+ "collection.reordering": "Reordering…",
19
+ "collection.new": "+ New",
20
+ "collection.noEntries": "No entries yet.",
21
+ "collection.createFirst": "Create First Entry",
22
+ "collection.failed": "Failed to load entries.",
23
+ "collection.saveOrder": "Save Order",
24
+ "collection.newEntry": "New Entry",
25
+ "collection.entryId": "Entry ID (slug)",
26
+ "collection.entryIdPlaceholder": "e.g. my-first-entry",
27
+ "collection.idHint": "Use a permanent internal address such as quiet-structures. Lowercase letters, numbers, and hyphens only.",
28
+ "collection.publishHint": "You’ll add the content on the next screen. Collections with a Published switch remain hidden until you turn it on and Save.",
29
+ "collection.create": "Create",
30
+ "collection.untitled": "Untitled",
31
+ "collection.published": "Published",
32
+ "collection.unpublished": "Unpublished",
33
+ "collection.invalid": "Invalid stored data — open to repair",
34
+ "collection.invalidId": "Use lowercase letters, numbers, and hyphens only.",
35
+ "collection.duplicateId": "An entry with this ID already exists.",
36
+ "collection.createFailed": "Failed to create entry. Try again.",
37
+ "entry.notFound": "Entry not found.",
38
+ "entry.goBack": "Go back",
39
+ "entry.savingLive": "Saving live",
40
+ "entry.savingPreview": "Saving to private preview",
41
+ "entry.preview": "Preview site ↗",
42
+ "entry.history": "History",
43
+ "entry.delete": "Delete",
44
+ "entry.saveLive": "Save live",
45
+ "entry.saveDraft": "Save draft",
46
+ "entry.guideTitle": "How editing works",
47
+ "entry.guideCopy": "Edit any field, add or remove repeatable rows, then choose Save. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. Click an image preview to replace it, or paste an image URL. The Published switch controls whether signed-out visitors can see an entry.",
48
+ "entry.versionHistory": "Version History",
49
+ "entry.deleteTitle": "Delete Entry",
50
+ "entry.deleteCopy": "Permanently delete this entry? A snapshot will be saved to history for recovery.",
51
+ "entry.allSaved": "All changes saved",
52
+ "entry.unsaved": "Unsaved changes",
53
+ "entry.savingChanges": "Saving changes…",
54
+ "entry.saved": "Saved",
55
+ "entry.liveConfirm": "Save these changes directly to the live site?",
56
+ "entry.validationFailed": "Validation failed",
57
+ "entry.changedElsewhere": "Changed elsewhere — Save again to overwrite",
58
+ "entry.deleteFailed": "Delete failed",
59
+ "entry.deleting": "Deleting…",
60
+ "entry.newGuideTitle": "Entry created with safe defaults",
61
+ "entry.newGuideCopy": "Fill in the fields below. Save becomes available after your first change. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. The Published switch controls whether signed-out visitors can see this entry.",
62
+ "field.add": "Add",
63
+ "field.remove": "Remove",
64
+ "field.moveUp": "Move up",
65
+ "field.moveDown": "Move down",
66
+ "field.drag": "Drag to reorder",
67
+ "field.replaceImage": "Replace image",
68
+ "field.uploadOrReplaceImage": "Upload or replace image",
69
+ "field.chooseImage": "Choose an image",
70
+ "login.title": "Sign in",
71
+ "login.password": "Password",
72
+ "login.placeholder": "Enter editor password",
73
+ "login.submit": "Sign in",
74
+ "login.invalid": "Invalid password.",
75
+ "login.status": "Sign in to manage content.",
76
+ "login.noPassword": "Caret needs an editor password before you can sign in.",
77
+ "login.devPassword": "Temporary dev password active — check your terminal to sign in.",
78
+ "login.back": "← Back to site",
79
+ "login.failed": "Login failed",
80
+ };
81
+ const ES_STUDIO_MESSAGES = {
82
+ "nav.studio": "Estudio",
83
+ "nav.signOut": "Cerrar sesión",
84
+ "home.title": "Estudio de contenido",
85
+ "home.intro": "Administra tus colecciones y entradas.",
86
+ "home.empty": "Todavía no hay colecciones. Crea una desde el Estudio, edita un elemento data-caret del sitio o ejecuta npx @caretcms/caretize para hacer editables las páginas existentes.",
87
+ "count.entry": "entrada",
88
+ "count.entries": "entradas",
89
+ "common.error": "Error",
90
+ "common.loading": "Cargando…",
91
+ "common.close": "Cerrar",
92
+ "common.cancel": "Cancelar",
93
+ "common.retry": "Reintentar",
94
+ "common.saving": "Guardando…",
95
+ "collection.search": "Buscar",
96
+ "collection.searchPlaceholder": "Buscar entradas…",
97
+ "collection.reorder": "Reordenar",
98
+ "collection.reordering": "Reordenando…",
99
+ "collection.new": "+ Nueva",
100
+ "collection.noEntries": "Todavía no hay entradas.",
101
+ "collection.createFirst": "Crear la primera entrada",
102
+ "collection.failed": "No se pudieron cargar las entradas.",
103
+ "collection.saveOrder": "Guardar orden",
104
+ "collection.newEntry": "Nueva entrada",
105
+ "collection.entryId": "ID de la entrada (slug)",
106
+ "collection.entryIdPlaceholder": "p. ej., mi-primera-entrada",
107
+ "collection.idHint": "Usa una dirección interna permanente como estructuras-tranquilas. Solo letras minúsculas, números y guiones.",
108
+ "collection.publishHint": "Agregarás el contenido en la siguiente pantalla. Las entradas con el interruptor Publicado permanecen ocultas hasta que lo actives y guardes.",
109
+ "collection.create": "Crear",
110
+ "collection.untitled": "Sin título",
111
+ "collection.published": "Publicado",
112
+ "collection.unpublished": "Sin publicar",
113
+ "collection.invalid": "Datos guardados no válidos — abre para corregir",
114
+ "collection.invalidId": "Usa solo letras minúsculas, números y guiones.",
115
+ "collection.duplicateId": "Ya existe una entrada con este ID.",
116
+ "collection.createFailed": "No se pudo crear la entrada. Inténtalo de nuevo.",
117
+ "entry.notFound": "No se encontró la entrada.",
118
+ "entry.goBack": "Volver",
119
+ "entry.savingLive": "Guardado directo en el sitio",
120
+ "entry.savingPreview": "Guardado en vista previa privada",
121
+ "entry.preview": "Ver sitio ↗",
122
+ "entry.history": "Historial",
123
+ "entry.delete": "Eliminar",
124
+ "entry.saveLive": "Guardar en vivo",
125
+ "entry.saveDraft": "Guardar borrador",
126
+ "entry.guideTitle": "Cómo funciona la edición",
127
+ "entry.guideCopy": "Edita cualquier campo, agrega o elimina filas repetibles y luego guarda. En el Estudio lateral, los cambios de texto e imagen aparecen mientras trabajas; Guardar los confirma y actualiza la vista para los cambios estructurales. Haz clic en una imagen para reemplazarla o pega una URL. El interruptor Publicado controla si los visitantes pueden ver la entrada.",
128
+ "entry.versionHistory": "Historial de versiones",
129
+ "entry.deleteTitle": "Eliminar entrada",
130
+ "entry.deleteCopy": "¿Eliminar esta entrada permanentemente? Se guardará una copia en el historial para poder recuperarla.",
131
+ "entry.allSaved": "Todos los cambios están guardados",
132
+ "entry.unsaved": "Cambios sin guardar",
133
+ "entry.savingChanges": "Guardando cambios…",
134
+ "entry.saved": "Guardado",
135
+ "entry.liveConfirm": "¿Guardar estos cambios directamente en el sitio público?",
136
+ "entry.validationFailed": "La validación falló",
137
+ "entry.changedElsewhere": "Hubo cambios en otro lugar — vuelve a guardar para sobrescribir",
138
+ "entry.deleteFailed": "No se pudo eliminar",
139
+ "entry.deleting": "Eliminando…",
140
+ "entry.newGuideTitle": "Entrada creada con valores seguros",
141
+ "entry.newGuideCopy": "Completa los campos. Guardar estará disponible después del primer cambio. En el Estudio lateral, los cambios de texto e imagen aparecen mientras trabajas; Guardar los confirma y actualiza la vista para los cambios estructurales. El interruptor Publicado controla si los visitantes pueden ver esta entrada.",
142
+ "field.add": "Agregar",
143
+ "field.remove": "Eliminar",
144
+ "field.moveUp": "Mover arriba",
145
+ "field.moveDown": "Mover abajo",
146
+ "field.drag": "Arrastrar para reordenar",
147
+ "field.replaceImage": "Reemplazar imagen",
148
+ "field.uploadOrReplaceImage": "Subir o reemplazar imagen",
149
+ "field.chooseImage": "Elegir una imagen",
150
+ "login.title": "Iniciar sesión",
151
+ "login.password": "Contraseña",
152
+ "login.placeholder": "Ingresa la contraseña de edición",
153
+ "login.submit": "Iniciar sesión",
154
+ "login.invalid": "Contraseña incorrecta.",
155
+ "login.status": "Inicia sesión para administrar el contenido.",
156
+ "login.noPassword": "Caret necesita una contraseña de edición antes de iniciar sesión.",
157
+ "login.devPassword": "La contraseña temporal de desarrollo está activa — consúltala en la terminal.",
158
+ "login.back": "← Volver al sitio",
159
+ "login.failed": "No se pudo iniciar sesión",
160
+ };
161
+ export function resolveStudioDictionary(locale = "en", overrides = {}) {
162
+ return {
163
+ ...EN_STUDIO_MESSAGES,
164
+ ...(locale === "es" ? ES_STUDIO_MESSAGES : {}),
165
+ ...overrides,
166
+ };
167
+ }
168
+ //# sourceMappingURL=i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/runtime/i18n.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/runtime/middleware.ts"],"names":[],"mappings":"AAUA,OAAO,0BAA0B,CAAC;AAElC,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE;QACR,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;KACtD,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAqFF,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE9C,wBAAsB,SAAS,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,QAAQ,CAAC,CAoJnB"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/runtime/middleware.ts"],"names":[],"mappings":"AAWA,OAAO,0BAA0B,CAAC;AAElC,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE;QACR,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;KACtD,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAqFF,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;AA4B9C,wBAAsB,SAAS,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,QAAQ,CAAC,CA+JnB"}
@@ -5,6 +5,7 @@ import { runWithRequestContext } from "./request-context.js";
5
5
  import { rewriteCaretAttributes } from "./rewrite.js";
6
6
  import { hasStega, stegaClean } from "./stega.js";
7
7
  import { SessionOverlayAdapter } from "./storage/session-overlay-adapter.js";
8
+ import { EDITOR_ID_RE } from "./storage/id-contracts.js";
8
9
  // Side-effect import: registers any user-provided schemas into the schema registry
9
10
  import "virtual:caretcms/schemas";
10
11
  let _cachedRuntimeEnv;
@@ -77,9 +78,35 @@ async function resolveRuntimeEnv() {
77
78
  }
78
79
  return _cachedRuntimeEnv;
79
80
  }
81
+ async function authenticateIdentity(adapter, request) {
82
+ if (!adapter)
83
+ return null;
84
+ try {
85
+ const identity = await adapter.authenticate(request);
86
+ if (!identity)
87
+ return null;
88
+ if (!EDITOR_ID_RE.test(identity.id)) {
89
+ console.error("[caretcms] Identity adapter returned an unsafe editor id; access denied.");
90
+ return null;
91
+ }
92
+ return {
93
+ id: identity.id,
94
+ ...(typeof identity.name === "string" ? { name: identity.name } : {}),
95
+ ...(typeof identity.email === "string" ? { email: identity.email } : {}),
96
+ ...(Array.isArray(identity.roles)
97
+ ? { roles: identity.roles.filter((role) => typeof role === "string") }
98
+ : {}),
99
+ };
100
+ }
101
+ catch (error) {
102
+ console.error("[caretcms] Identity adapter authentication failed; access denied.", error);
103
+ return null;
104
+ }
105
+ }
80
106
  export async function onRequest(context, next) {
81
107
  const services = await getRuntimeServices();
82
108
  const runtimeEnv = await resolveRuntimeEnv();
109
+ const request = context.request ?? new Request("http://localhost/");
83
110
  let adapter = services.adapter;
84
111
  let uploadHandler = services.uploadHandler;
85
112
  let sessionId = null;
@@ -87,8 +114,15 @@ export async function onRequest(context, next) {
87
114
  let setCookieHeader = null;
88
115
  let overlayActive = false;
89
116
  const demoMode = isDemoModeEnabled(runtimeEnv);
117
+ const identity = demoMode
118
+ ? null
119
+ : await authenticateIdentity(services.identityAdapter, request);
120
+ if (identity)
121
+ editorId = identity.id;
122
+ else if (!demoMode && !services.identityAdapter) {
123
+ editorId = getEditorId(context);
124
+ }
90
125
  if (demoMode) {
91
- const request = context.request ?? new Request("http://localhost/");
92
126
  const resolution = resolveDemoSession(context, request);
93
127
  sessionId = resolution.sessionId;
94
128
  setCookieHeader = resolution.setCookieHeader;
@@ -110,7 +144,8 @@ export async function onRequest(context, next) {
110
144
  // base). Keyed by the editor id from the session cookie; absent that (an
111
145
  // unauthenticated preview request), there's no editor session so we leave the
112
146
  // base adapter in place. Publish later flushes the overlay back to the base.
113
- const id = getEditorId(context);
147
+ const id = identity?.id
148
+ ?? (services.identityAdapter ? null : getEditorId(context));
114
149
  if (id) {
115
150
  const overlay = await services.adapter.makeEditorOverlay(id);
116
151
  adapter = new SessionOverlayAdapter(services.adapter, overlay);
@@ -123,6 +158,8 @@ export async function onRequest(context, next) {
123
158
  uploadHandler,
124
159
  sessionId,
125
160
  editorId,
161
+ identity,
162
+ identityAuthoritative: services.identityAdapter !== null,
126
163
  demoMode,
127
164
  overlayActive,
128
165
  runtimeEnv,
@@ -135,6 +172,7 @@ export async function onRequest(context, next) {
135
172
  // Mutate the live context object so the loaders see the gate during render.
136
173
  requestContext.editor = isEditor;
137
174
  context.locals.isEditor = isEditor;
175
+ context.locals.caretIdentity = identity;
138
176
  const inner = await next();
139
177
  const contentType = inner.headers.get("content-type") ?? "";
140
178
  const contentEncoding = inner.headers.get("content-encoding") ?? "";
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/runtime/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/runtime/middleware.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,9 @@ export type CreateCollectionCommand = {
62
62
  icon?: string;
63
63
  creatable?: boolean;
64
64
  orderable?: boolean;
65
+ deletable?: boolean;
66
+ singletonId?: string;
67
+ order?: number;
65
68
  schema: {
66
69
  type: "object";
67
70
  properties: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime/mutations/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime/mutations/contracts.ts"],"names":[],"mappings":"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"}
@@ -343,6 +343,9 @@ async function parseCreateCollectionCommand(_adapter, input) {
343
343
  const icon = typeof input.icon === "string" ? input.icon : undefined;
344
344
  const creatable = typeof input.creatable === "boolean" ? input.creatable : undefined;
345
345
  const orderable = typeof input.orderable === "boolean" ? input.orderable : undefined;
346
+ const deletable = typeof input.deletable === "boolean" ? input.deletable : undefined;
347
+ const singletonId = input.singletonId === undefined ? undefined : parseEntryId(input.singletonId);
348
+ const order = typeof input.order === "number" && Number.isFinite(input.order) ? input.order : undefined;
346
349
  const schema = input.schema;
347
350
  if (!id) {
348
351
  issues.push(issue("id", "invalid_type", "Collection ID must be lowercase alphanumeric with hyphens/underscores"));
@@ -353,6 +356,9 @@ async function parseCreateCollectionCommand(_adapter, input) {
353
356
  if (!isRecord(schema) || schema.type !== "object" || !isRecord(schema.properties)) {
354
357
  issues.push(issue("schema", "invalid_type", "Schema must be a valid JSON Schema object with properties"));
355
358
  }
359
+ if (input.singletonId !== undefined && !singletonId) {
360
+ issues.push(issue("singletonId", "invalid_type", "singletonId must be a valid entry id"));
361
+ }
356
362
  if (issues.length > 0 || !id || !label || !isRecord(schema)) {
357
363
  return { ok: false, issues };
358
364
  }
@@ -366,6 +372,9 @@ async function parseCreateCollectionCommand(_adapter, input) {
366
372
  icon,
367
373
  creatable,
368
374
  orderable,
375
+ deletable,
376
+ singletonId: singletonId ?? undefined,
377
+ order,
369
378
  schema: schema,
370
379
  },
371
380
  };