@vertebr/admin 0.9.0 → 0.11.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 (144) hide show
  1. package/dist/database/connector.d.ts.map +1 -1
  2. package/dist/database/connector.js +45 -2
  3. package/dist/database/connector.js.map +1 -1
  4. package/dist/database/types.d.ts +5 -0
  5. package/dist/database/types.d.ts.map +1 -1
  6. package/dist/index.d.ts +8 -5
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +10 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/runtime/api/adapters/express.d.ts +10 -0
  11. package/dist/runtime/api/adapters/express.d.ts.map +1 -0
  12. package/dist/runtime/api/adapters/express.js +86 -0
  13. package/dist/runtime/api/adapters/express.js.map +1 -0
  14. package/dist/runtime/api/adapters/fastify.d.ts +31 -0
  15. package/dist/runtime/api/adapters/fastify.d.ts.map +1 -0
  16. package/dist/runtime/api/adapters/fastify.js +85 -0
  17. package/dist/runtime/api/adapters/fastify.js.map +1 -0
  18. package/dist/runtime/api/adapters/hapi.d.ts +6 -0
  19. package/dist/runtime/api/adapters/hapi.d.ts.map +1 -0
  20. package/dist/runtime/api/adapters/hapi.js +45 -0
  21. package/dist/runtime/api/adapters/hapi.js.map +1 -0
  22. package/dist/runtime/api/adapters/shared.d.ts +17 -0
  23. package/dist/runtime/api/adapters/shared.d.ts.map +1 -0
  24. package/dist/runtime/api/adapters/shared.js +37 -0
  25. package/dist/runtime/api/adapters/shared.js.map +1 -0
  26. package/dist/runtime/api/audit.d.ts +8 -0
  27. package/dist/runtime/api/audit.d.ts.map +1 -0
  28. package/dist/runtime/api/audit.js +30 -0
  29. package/dist/runtime/api/audit.js.map +1 -0
  30. package/dist/runtime/api/catalog.d.ts +42 -2
  31. package/dist/runtime/api/catalog.d.ts.map +1 -1
  32. package/dist/runtime/api/catalog.js +142 -83
  33. package/dist/runtime/api/catalog.js.map +1 -1
  34. package/dist/runtime/api/configs.d.ts +16 -0
  35. package/dist/runtime/api/configs.d.ts.map +1 -1
  36. package/dist/runtime/api/configs.js +145 -5
  37. package/dist/runtime/api/configs.js.map +1 -1
  38. package/dist/runtime/api/health.d.ts +7 -0
  39. package/dist/runtime/api/health.d.ts.map +1 -0
  40. package/dist/runtime/api/health.js +21 -0
  41. package/dist/runtime/api/health.js.map +1 -0
  42. package/dist/runtime/api/jobs.d.ts +12 -0
  43. package/dist/runtime/api/jobs.d.ts.map +1 -0
  44. package/dist/runtime/api/jobs.js +34 -0
  45. package/dist/runtime/api/jobs.js.map +1 -0
  46. package/dist/runtime/api/metrics.d.ts.map +1 -1
  47. package/dist/runtime/api/metrics.js +2 -0
  48. package/dist/runtime/api/metrics.js.map +1 -1
  49. package/dist/runtime/api/public.d.ts.map +1 -1
  50. package/dist/runtime/api/public.js +2 -1
  51. package/dist/runtime/api/public.js.map +1 -1
  52. package/dist/runtime/api/resources.d.ts +29 -0
  53. package/dist/runtime/api/resources.d.ts.map +1 -1
  54. package/dist/runtime/api/resources.js +247 -7
  55. package/dist/runtime/api/resources.js.map +1 -1
  56. package/dist/runtime/api/revisions.d.ts +35 -0
  57. package/dist/runtime/api/revisions.d.ts.map +1 -0
  58. package/dist/runtime/api/revisions.js +174 -0
  59. package/dist/runtime/api/revisions.js.map +1 -0
  60. package/dist/runtime/api/routes.d.ts +2 -5
  61. package/dist/runtime/api/routes.d.ts.map +1 -1
  62. package/dist/runtime/api/routes.js +51 -40
  63. package/dist/runtime/api/routes.js.map +1 -1
  64. package/dist/runtime/api/sync.d.ts.map +1 -1
  65. package/dist/runtime/api/sync.js +32 -2
  66. package/dist/runtime/api/sync.js.map +1 -1
  67. package/dist/runtime/createAdmin.d.ts.map +1 -1
  68. package/dist/runtime/createAdmin.js +45 -1
  69. package/dist/runtime/createAdmin.js.map +1 -1
  70. package/dist/runtime/errors.d.ts +8 -0
  71. package/dist/runtime/errors.d.ts.map +1 -1
  72. package/dist/runtime/errors.js +17 -1
  73. package/dist/runtime/errors.js.map +1 -1
  74. package/dist/runtime/services/access.d.ts +14 -0
  75. package/dist/runtime/services/access.d.ts.map +1 -0
  76. package/dist/runtime/services/access.js +49 -0
  77. package/dist/runtime/services/access.js.map +1 -0
  78. package/dist/runtime/services/audit.d.ts +16 -0
  79. package/dist/runtime/services/audit.d.ts.map +1 -0
  80. package/dist/runtime/services/audit.js +43 -0
  81. package/dist/runtime/services/audit.js.map +1 -0
  82. package/dist/runtime/services/environment.d.ts +4 -1
  83. package/dist/runtime/services/environment.d.ts.map +1 -1
  84. package/dist/runtime/services/environment.js +16 -2
  85. package/dist/runtime/services/environment.js.map +1 -1
  86. package/dist/runtime/services/state.d.ts +11 -1
  87. package/dist/runtime/services/state.d.ts.map +1 -1
  88. package/dist/runtime/types/access.d.ts +28 -0
  89. package/dist/runtime/types/access.d.ts.map +1 -0
  90. package/dist/runtime/types/access.js +3 -0
  91. package/dist/runtime/types/access.js.map +1 -0
  92. package/dist/runtime/types/actions.d.ts +2 -0
  93. package/dist/runtime/types/actions.d.ts.map +1 -1
  94. package/dist/runtime/types/addon.d.ts +9 -1
  95. package/dist/runtime/types/addon.d.ts.map +1 -1
  96. package/dist/runtime/types/addon.js.map +1 -1
  97. package/dist/runtime/types/admin.d.ts +29 -0
  98. package/dist/runtime/types/admin.d.ts.map +1 -1
  99. package/dist/runtime/types/audit.d.ts +35 -0
  100. package/dist/runtime/types/audit.d.ts.map +1 -0
  101. package/dist/runtime/types/audit.js +3 -0
  102. package/dist/runtime/types/audit.js.map +1 -0
  103. package/dist/runtime/types/auth.d.ts +6 -0
  104. package/dist/runtime/types/auth.d.ts.map +1 -1
  105. package/dist/runtime/types/config.d.ts +27 -0
  106. package/dist/runtime/types/config.d.ts.map +1 -1
  107. package/dist/runtime/types/events.d.ts +63 -0
  108. package/dist/runtime/types/events.d.ts.map +1 -0
  109. package/dist/runtime/types/events.js +3 -0
  110. package/dist/runtime/types/events.js.map +1 -0
  111. package/dist/runtime/types/health.d.ts +18 -0
  112. package/dist/runtime/types/health.d.ts.map +1 -0
  113. package/dist/runtime/types/health.js +3 -0
  114. package/dist/runtime/types/health.js.map +1 -0
  115. package/dist/runtime/types/index.d.ts +10 -4
  116. package/dist/runtime/types/index.d.ts.map +1 -1
  117. package/dist/runtime/types/jobs.d.ts +21 -0
  118. package/dist/runtime/types/jobs.d.ts.map +1 -0
  119. package/dist/runtime/types/jobs.js +3 -0
  120. package/dist/runtime/types/jobs.js.map +1 -0
  121. package/dist/runtime/types/resource.d.ts +30 -1
  122. package/dist/runtime/types/resource.d.ts.map +1 -1
  123. package/dist/runtime/types/revisions.d.ts +38 -0
  124. package/dist/runtime/types/revisions.d.ts.map +1 -0
  125. package/dist/runtime/types/revisions.js +3 -0
  126. package/dist/runtime/types/revisions.js.map +1 -0
  127. package/dist/runtime/types/sync.d.ts +39 -0
  128. package/dist/runtime/types/sync.d.ts.map +1 -1
  129. package/dist/runtime/utils/resolveSchema.d.ts +11 -0
  130. package/dist/runtime/utils/resolveSchema.d.ts.map +1 -0
  131. package/dist/runtime/utils/resolveSchema.js +35 -0
  132. package/dist/runtime/utils/resolveSchema.js.map +1 -0
  133. package/dist/schema.d.ts +31 -1
  134. package/dist/schema.d.ts.map +1 -1
  135. package/dist/store.d.ts +6 -0
  136. package/dist/store.d.ts.map +1 -1
  137. package/dist/store.js +80 -0
  138. package/dist/store.js.map +1 -1
  139. package/package.json +4 -1
  140. package/static/assets/index-BWs25O1f.js +340 -0
  141. package/static/assets/index-Bmv5_kD9.css +1 -0
  142. package/static/index.html +2 -2
  143. package/static/assets/index-DdklZQ9o.js +0 -338
  144. package/static/assets/index-IVoZ2rM_.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KACtB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,sFAAsF;IACtF,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,8DAA8D;IAC9D,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,cAAc,KAChB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;IAC7D,MAAM,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC;IACzC;;;OAGG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,KAAK,CAAC;IAC3C;;;OAGG;IACH,IAAI,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,KAAK,CAAC;IACrC;;;OAGG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC;IACzC,2CAA2C;IAC3C,OAAO,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,KAAK,CAAC;IAC3C;;;OAGG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,KAAK,CAAC;IAC3C;;;OAGG;IACH,WAAW,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,KAAK,CAAC;IACnD;;;OAGG;IACH,IAAI,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,KAAK,CAAC;IACrC;;;OAGG;IACH,IAAI,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,KAAK,CAAC;IAChD;;;OAGG;IACH,KAAK,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,KAAK,CAAC;IACvC,oEAAoE;IACpE,KAAK,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,KAAK,CAAC;IACvC,sEAAsE;IACtE,IAAI,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,KAAK,CAAC;IACrC,kEAAkE;IAClE,MAAM,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,KAAK,CAAC;IACzC,0EAA0E;IAC1E,UAAU,EAAE,CACV,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,KACR,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,GAAG,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,KAAK,CAAC;IACrC,MAAM,EAAE,MAAM,UAAU,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,mBAAmB,EAAE,CAAC;IACxC,8EAA8E;IAC9E,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,iFAAiF;IACjF,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,kBAAkB,EAAE,CAAC;IACtC,OAAO,EAAE,MAAM,gBAAgB,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,gBAAgB,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;QAEtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACvE,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { HandlerContext } from "../../schema";
2
+ export type AuditTargetType = "config" | "resource" | "sync" | "mail" | "gallery" | "font" | "payment" | "job" | string;
3
+ export type AuditEntry = {
4
+ id: string;
5
+ at: string;
6
+ env: string;
7
+ actor: string | null;
8
+ action: string;
9
+ targetType: AuditTargetType;
10
+ targetId: string;
11
+ summary: string;
12
+ meta?: Record<string, unknown>;
13
+ };
14
+ export type AuditRecordInput = {
15
+ action: string;
16
+ targetType: AuditTargetType;
17
+ targetId: string;
18
+ summary: string;
19
+ meta?: Record<string, unknown>;
20
+ };
21
+ export type AuditListOptions = {
22
+ limit?: number;
23
+ cursor?: string;
24
+ targetType?: string;
25
+ targetId?: string;
26
+ };
27
+ export type AuditListResult = {
28
+ items: AuditEntry[];
29
+ cursor?: string;
30
+ };
31
+ export type AuditDefinition = {
32
+ list: (opts: AuditListOptions, ctx: HandlerContext) => Promise<AuditListResult> | AuditListResult;
33
+ record: (entry: AuditRecordInput, ctx: HandlerContext) => Promise<AuditEntry> | AuditEntry;
34
+ };
35
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,eAAe,GACvB,QAAQ,GACR,UAAU,GACV,MAAM,GACN,MAAM,GACN,SAAS,GACT,MAAM,GACN,SAAS,GACT,KAAK,GACL,MAAM,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,CACJ,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC;IAChD,MAAM,EAAE,CACN,KAAK,EAAE,gBAAgB,EACvB,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;CACvC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/runtime/types/audit.ts"],"names":[],"mappings":""}
@@ -28,6 +28,12 @@ export type EnvironmentAuthConfig = {
28
28
  messagingSenderId?: string;
29
29
  };
30
30
  methods?: Array<"email" | "google">;
31
+ } | {
32
+ /**
33
+ * Host supplies tokens via `getAccessToken` / embed props.
34
+ * Vertebr shell skips built-in Firebase login UI.
35
+ */
36
+ provider: "custom";
31
37
  };
32
38
  };
33
39
  export type AdminEnvironment = {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,UAAU,CAAC;QACrB,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;SAC5B,CAAC;QACF,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC;KACrC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrC,gEAAgE;IAChE,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,gEAAgE;IAChE,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;IACtD;;;OAGG;IACH,KAAK,EAAE,CACL,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,WAAW,KACb,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,MAAM,CAAC,EACH;QACE,QAAQ,EAAE,UAAU,CAAC;QACrB,MAAM,EAAE;YACN,MAAM,EAAE,MAAM,CAAC;YACf,UAAU,EAAE,MAAM,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;SAC5B,CAAC;QACF,OAAO,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC;KACrC,GACD;QACE;;;WAGG;QACH,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrC,gEAAgE;IAChE,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,gEAAgE;IAChE,OAAO,CAAC,EAAE,CACR,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;IACtD;;;OAGG;IACH,KAAK,EAAE,CACL,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,WAAW,KACb,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACjC,CAAC"}
@@ -1,5 +1,15 @@
1
1
  import type { ConfigStore } from "../../store";
2
2
  import type { FieldSchema, HandlerContext } from "../../schema";
3
+ /**
4
+ * Pick a host preview route from live draft values.
5
+ * First matching rule wins; `{field}` tokens are filled from the draft.
6
+ */
7
+ export type PreviewPathRule = {
8
+ /** Match when each draft field equals the given string. Omit to always match. */
9
+ when?: Record<string, string>;
10
+ /** Path template, e.g. `/shop/{productSlug}` or `/`. */
11
+ path: string;
12
+ };
3
13
  /** Sidebar group for configs / controls in the dashboard. */
4
14
  export type ConfigSection = "config" | "page" | "addon";
5
15
  export type ConfigDefinition = {
@@ -15,6 +25,15 @@ export type ConfigDefinition = {
15
25
  * Vertebr iframes this path and posts unsaved draft values; the host renders.
16
26
  */
17
27
  previewPath?: string;
28
+ /** Draft-driven preview routes for add-ons (see `AddonDefinition`). */
29
+ previewPathRules?: PreviewPathRule[];
30
+ /**
31
+ * Add-ons owned by this page — preview iframe also receives their drafts.
32
+ */
33
+ relatedAddons?: Array<{
34
+ id: string;
35
+ label?: string;
36
+ }>;
18
37
  get: (ctx: HandlerContext) => Promise<Record<string, unknown>> | Record<string, unknown>;
19
38
  set: (value: Record<string, unknown>, ctx: HandlerContext) => Promise<void> | void;
20
39
  };
@@ -38,6 +57,14 @@ export type ControlDefinition = {
38
57
  * When set, the Pages editor shows an iframe of this path and posts drafts.
39
58
  */
40
59
  previewPath?: string;
60
+ /**
61
+ * Add-ons that belong on this page (preview + sync ownership).
62
+ * Example: `[{ id: "countdown", label: "Release countdown" }]`.
63
+ */
64
+ relatedAddons?: Array<{
65
+ id: string;
66
+ label?: string;
67
+ } | string>;
41
68
  /**
42
69
  * Defaults merged under stored values.
43
70
  * Schema `default` values are applied first, then this.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhE,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,gFAAgF;IAChF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzF,GAAG,EAAE,CACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,KAAK,EAAE,WAAW,CAAC;IACnB,gFAAgF;IAChF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EACL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,gFAAgF;IAChF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,GAAG,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzF,GAAG,EAAE,CACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,KAAK,EAAE,WAAW,CAAC;IACnB,gFAAgF;IAChF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,CAAC;IAC/D;;;OAGG;IACH,QAAQ,CAAC,EACL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC"}
@@ -0,0 +1,63 @@
1
+ export type VertebrEventActor = {
2
+ uid: string;
3
+ } | null;
4
+ export type VertebrEvent = {
5
+ type: "config.saved";
6
+ controlId: string;
7
+ env: string;
8
+ actor: VertebrEventActor;
9
+ revisionId?: string;
10
+ published?: boolean;
11
+ } | {
12
+ type: "config.published";
13
+ controlId: string;
14
+ env: string;
15
+ actor: VertebrEventActor;
16
+ revisionId: string;
17
+ } | {
18
+ type: "config.restored";
19
+ controlId: string;
20
+ env: string;
21
+ actor: VertebrEventActor;
22
+ revisionId: string;
23
+ } | {
24
+ type: "resource.written";
25
+ resourceId: string;
26
+ rowId: string;
27
+ op: "create" | "update" | "delete";
28
+ env: string;
29
+ actor: VertebrEventActor;
30
+ } | {
31
+ type: "resource.action";
32
+ resourceId: string;
33
+ rowId?: string;
34
+ actionId: string;
35
+ env: string;
36
+ actor: VertebrEventActor;
37
+ jobId?: string;
38
+ } | {
39
+ type: "sync.completed";
40
+ from: string;
41
+ to: string[];
42
+ ok: boolean;
43
+ env: string;
44
+ actor: VertebrEventActor;
45
+ } | {
46
+ type: "mail.sent";
47
+ templateId?: string;
48
+ env: string;
49
+ actor: VertebrEventActor;
50
+ } | {
51
+ type: "gallery.changed";
52
+ op: "upload" | "delete";
53
+ itemId?: string;
54
+ env: string;
55
+ actor: VertebrEventActor;
56
+ } | {
57
+ type: "font.changed";
58
+ op: "upload" | "import" | "delete";
59
+ itemId?: string;
60
+ env: string;
61
+ actor: VertebrEventActor;
62
+ };
63
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/events.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,IAAI,CAAC;AAET,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;CAC1B,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;CAC1B,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;CAC1B,GACD;IACE,IAAI,EAAE,iBAAiB,CAAC;IACxB,EAAE,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;CAC1B,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/runtime/types/events.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { HandlerContext } from "../../schema";
2
+ export type HealthStatus = "ok" | "warn" | "error";
3
+ export type HealthCheck = {
4
+ id: string;
5
+ label: string;
6
+ status: HealthStatus;
7
+ detail?: string;
8
+ checkedAt?: string;
9
+ };
10
+ export type HealthDefinition = {
11
+ load: (ctx: HandlerContext) => Promise<HealthCheck[]> | HealthCheck[];
12
+ };
13
+ export type HealthResponse = {
14
+ ok: boolean;
15
+ checks: HealthCheck[];
16
+ environment: string;
17
+ };
18
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,CACJ,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/runtime/types/health.ts"],"names":[],"mappings":""}
@@ -6,12 +6,18 @@ export type { ActionInputField, CollectionWideAction, ResourceAction, } from "./
6
6
  export type { MailComposeResult, MailMessage, MailSendReceipt, MailSendResult, MailSentHandler, MailTemplate, } from "./mail/message";
7
7
  export type { MailCampaign, MailCampaignAudience, MailCampaignScheduleInput, MailCampaignStatus, MailDiscountOption, MailHistoryEntry, MailHistoryRecordInput, MailLibraryTemplate, MailProductOption, } from "./mail/catalog";
8
8
  export type { MailDefinition, ResourceMailBinding, ResourceMailConfig, } from "./mail/definition";
9
- export type { ResourceDefinition, ResourcePermissions, } from "./resource";
10
- export type { ConfigDefinition, ConfigSection, ControlDefinition, PageDefinition, } from "./config";
9
+ export type { ResourceDefinition, ResourceListQuery, ResourceListResult, ResourcePermissions, } from "./resource";
10
+ export type { ConfigDefinition, ConfigSection, ControlDefinition, PageDefinition, PreviewPathRule, } from "./config";
11
11
  export type { LayoutDefinition, LayoutPreset, LayoutSlot, } from "./layout";
12
12
  export type { MetricCard, MetricChart, MetricChartPoint, MetricsDefinition, MetricsPayload, } from "./metrics";
13
13
  export type { AdminAuth, AdminEnvironment, AuthContext, EnvironmentAuthConfig, EnvironmentAuthPublic, VertebrUser, } from "./auth";
14
14
  export type { Admin, AdminAppearance, AdminRoute, Connector, CreateAdminOptions, HapiCompatibleRoute, } from "./admin";
15
- export type { AddonCategory, AddonDefinition, AddonMeta } from "./addon";
16
- export type { EnvironmentSyncDefinition, EnvironmentSyncExcluded, EnvironmentSyncTargetDef, SyncApplyContext, SyncCatalogMeta, SyncPlanContext, SyncPlanResponse, SyncRunResponse, SyncTargetApplyResult, SyncTargetMeta, SyncTargetPlan, SyncTargetRisk, } from "./sync";
15
+ export type { AddonCategory, AddonDefinition, AddonMeta, } from "./addon";
16
+ export type { AccessCatalogMeta, AccessDefinition, VertebrCapability, } from "./access";
17
+ export type { AuditDefinition, AuditEntry, AuditListOptions, AuditListResult, AuditRecordInput, AuditTargetType, } from "./audit";
18
+ export type { Revision, RevisionMeta, RevisionSaveInput, RevisionStatus, RevisionStore, } from "./revisions";
19
+ export type { HealthCheck, HealthDefinition, HealthResponse, HealthStatus, } from "./health";
20
+ export type { Job, JobActionResult, JobsDefinition, JobStatus, } from "./jobs";
21
+ export type { VertebrEvent, VertebrEventActor } from "./events";
22
+ export type { EnvironmentSyncDefinition, EnvironmentSyncExcluded, EnvironmentSyncTargetDef, SyncApplyContext, SyncCatalogMeta, SyncPlanChange, SyncPlanContext, SyncPlanResponse, SyncRunResponse, SyncTargetApplyResult, SyncTargetMeta, SyncTargetPlan, SyncTargetPreview, SyncPreviewAddon, SyncTargetRisk, } from "./sync";
17
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,GACX,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,GACZ,MAAM,QAAQ,CAAC;AAEhB,YAAY,EACV,KAAK,EACL,eAAe,EACf,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzE,YAAY,EACV,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,GACX,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,GACZ,MAAM,QAAQ,CAAC;AAEhB,YAAY,EACV,KAAK,EACL,eAAe,EACf,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,aAAa,EACb,eAAe,EACf,SAAS,GACV,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,YAAY,GACb,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,GAAG,EACH,eAAe,EACf,cAAc,EACd,SAAS,GACV,MAAM,QAAQ,CAAC;AAEhB,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEhE,YAAY,EACV,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { HandlerContext } from "../../schema";
2
+ export type JobStatus = "queued" | "running" | "succeeded" | "failed";
3
+ export type Job = {
4
+ id: string;
5
+ status: JobStatus;
6
+ label: string;
7
+ progress?: number;
8
+ error?: string;
9
+ createdAt: string;
10
+ updatedAt: string;
11
+ meta?: Record<string, unknown>;
12
+ };
13
+ export type JobsDefinition = {
14
+ list: (ctx: HandlerContext) => Promise<Job[]> | Job[];
15
+ get: (id: string, ctx: HandlerContext) => Promise<Job | null> | Job | null;
16
+ };
17
+ /** Action run may return this to signal an async job. */
18
+ export type JobActionResult = {
19
+ jobId: string;
20
+ };
21
+ //# sourceMappingURL=jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEtE,MAAM,MAAM,GAAG,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,CACJ,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;IAC5B,GAAG,EAAE,CACH,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../src/runtime/types/jobs.ts"],"names":[],"mappings":""}
@@ -6,16 +6,40 @@ export type ResourcePermissions = {
6
6
  update?: boolean;
7
7
  delete?: boolean;
8
8
  };
9
+ /** Query string contract for resource list (server-driven). */
10
+ export type ResourceListQuery = {
11
+ q?: string;
12
+ sort?: string;
13
+ order?: "asc" | "desc";
14
+ limit?: number;
15
+ offset?: number;
16
+ cursor?: string;
17
+ filters?: Record<string, string>;
18
+ };
19
+ export type ResourceListResult<T = unknown> = {
20
+ items: T[];
21
+ total?: number;
22
+ cursor?: string;
23
+ };
9
24
  export type ResourceDefinition<T = unknown> = {
10
25
  id: string;
11
26
  label: string;
12
27
  schema: Record<string, FieldSchema>;
13
- list?: (ctx: HandlerContext) => Promise<T[]> | T[];
28
+ /**
29
+ * List rows. May return a plain array (legacy) or `{ items, total?, cursor? }`.
30
+ * Read filters/sort/paging from `ctx.query`.
31
+ */
32
+ list?: (ctx: HandlerContext) => Promise<T[] | ResourceListResult<T>> | T[] | ResourceListResult<T>;
14
33
  get?: (id: string, ctx: HandlerContext) => Promise<T | undefined> | T | undefined;
15
34
  create?: (input: Partial<T>, ctx: HandlerContext) => Promise<T> | T;
16
35
  update?: (id: string, input: Partial<T>, ctx: HandlerContext) => Promise<T> | T;
17
36
  remove?: (id: string, ctx: HandlerContext) => Promise<void> | void;
18
37
  actions?: Record<string, ResourceAction<T>>;
38
+ /**
39
+ * Bulk row actions (`POST .../bulk-actions/{actionId}` with `{ rowIds, input? }`).
40
+ * Row `actions` with `bulk: true` are also exposed.
41
+ */
42
+ bulkActions?: Record<string, ResourceAction<T>>;
19
43
  /**
20
44
  * Host mail templates to expose as row actions (Email, Promo, …).
21
45
  * Requires `admin.mail({ send, templates })`.
@@ -37,5 +61,10 @@ export type ResourceDefinition<T = unknown> = {
37
61
  public?: boolean;
38
62
  /** Sidebar heading. Defaults to `"Resources"`. */
39
63
  group?: string;
64
+ /**
65
+ * Advertise list query support in the catalog.
66
+ * `true` = search/sort/page enabled; object = filterable field schemas.
67
+ */
68
+ listQuery?: boolean | Record<string, FieldSchema>;
40
69
  };
41
70
  //# sourceMappingURL=resource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,wBAAwB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,OAAO,IAAI;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAClF,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,CAAC,EAAE,CACP,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EACjB,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C;;;OAGG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,iBAAiB,CAAC,EACd,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GACpC,CAAC,CACC,GAAG,EAAE,cAAc,KAEjB,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACvD;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACnD,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,kBAAkB,CAAC,EAAE,CACnB,GAAG,EAAE,cAAc,KAChB,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxD;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/resource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { HandlerContext } from "../../schema";
2
+ export type RevisionStatus = "draft" | "published" | "archived";
3
+ export type RevisionMeta = {
4
+ id: string;
5
+ createdAt: string;
6
+ createdBy?: string | null;
7
+ label?: string;
8
+ status: RevisionStatus;
9
+ /** True when this revision is the current working selection in the editor. */
10
+ active?: boolean;
11
+ };
12
+ export type Revision = RevisionMeta & {
13
+ value: Record<string, unknown>;
14
+ };
15
+ export type RevisionSaveInput = {
16
+ value: Record<string, unknown>;
17
+ label?: string;
18
+ };
19
+ export type RevisionStore = {
20
+ list: (controlId: string, env: string, ctx: HandlerContext) => Promise<RevisionMeta[]> | RevisionMeta[];
21
+ get: (controlId: string, env: string, revId: string, ctx: HandlerContext) => Promise<Revision | null> | Revision | null;
22
+ /** Creates a draft revision (does not change live ConfigStore). */
23
+ save: (controlId: string, env: string, input: RevisionSaveInput, ctx: HandlerContext) => Promise<Revision> | Revision;
24
+ /**
25
+ * Marks revision published and updates live ConfigStore value.
26
+ * Host should call control store.set inside publish, or Vertebr will
27
+ * apply `revision.value` to the control store after publish returns.
28
+ */
29
+ publish: (controlId: string, env: string, revId: string, ctx: HandlerContext) => Promise<Revision> | Revision;
30
+ /**
31
+ * Selects an existing revision as the current working revision.
32
+ * Must not create a copy — return the same revision and mark it active.
33
+ */
34
+ restore: (controlId: string, env: string, revId: string, ctx: HandlerContext) => Promise<Revision> | Revision;
35
+ /** Optional: latest published / live etag for conflict checks. */
36
+ liveEtag?: (controlId: string, env: string, ctx: HandlerContext) => Promise<string | null> | string | null;
37
+ };
38
+ //# sourceMappingURL=revisions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revisions.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/revisions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;IACvB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,CACJ,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC;IAC9C,GAAG,EAAE,CACH,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC;IAChD,mEAAmE;IACnE,IAAI,EAAE,CACJ,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,iBAAiB,EACxB,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAClC;;;;OAIG;IACH,OAAO,EAAE,CACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAClC;;;OAGG;IACH,OAAO,EAAE,CACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAClC,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CACT,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,cAAc,KAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CAC7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=revisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revisions.js","sourceRoot":"","sources":["../../../src/runtime/types/revisions.ts"],"names":[],"mappings":""}
@@ -14,6 +14,45 @@ export type SyncTargetPlan = {
14
14
  status: "unchanged" | "changed" | "new" | "missing" | "skipped" | "error";
15
15
  summary: string;
16
16
  warnings?: string[];
17
+ /**
18
+ * Optional field-level preview. `source` is the from-env value that will be
19
+ * written; `destination` is what the to-env has today.
20
+ */
21
+ changes?: SyncPlanChange[];
22
+ /** Optional live page preview payloads for side-by-side visual compare. */
23
+ preview?: SyncTargetPreview;
24
+ };
25
+ export type SyncPlanChange = {
26
+ path: string;
27
+ source: unknown;
28
+ destination: unknown;
29
+ };
30
+ /** An add-on included in a Sync visual page preview. */
31
+ export type SyncPreviewAddon = {
32
+ id: string;
33
+ label: string;
34
+ /** Enabled in the source (from) environment. */
35
+ sourceEnabled: boolean;
36
+ /** Enabled in the destination (to) environment. */
37
+ destEnabled: boolean;
38
+ };
39
+ /** Drafts + host path so the Sync UI can iframe source vs destination. */
40
+ export type SyncTargetPreview = {
41
+ controlId: string;
42
+ previewPath: string;
43
+ /** Full control payload from the source (from) environment. */
44
+ sourceDraft: Record<string, unknown>;
45
+ /** Full control payload from the destination (to) environment. */
46
+ destDraft: Record<string, unknown>;
47
+ /**
48
+ * Extra control drafts for the source iframe (e.g. countdown when
49
+ * previewing the coming soon page).
50
+ */
51
+ sourceRelatedDrafts?: Record<string, Record<string, unknown>>;
52
+ /** Extra control drafts for the destination iframe. */
53
+ destRelatedDrafts?: Record<string, Record<string, unknown>>;
54
+ /** Add-ons rendered in this visual preview (and enabled state per env). */
55
+ addons?: SyncPreviewAddon[];
17
56
  };
18
57
  export type SyncTargetApplyResult = {
19
58
  ok: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { FieldSchema, HandlerContext } from "../../schema";
2
+ export type ResolvedFieldOptions = {
3
+ options: string[];
4
+ optionLabels?: Record<string, string>;
5
+ };
6
+ /**
7
+ * Resolve server-only `resolveOptions` hooks into concrete enum options.
8
+ * Strips the function so the payload is JSON-safe for the admin client.
9
+ */
10
+ export declare function resolveSchemaFields(schema: Record<string, FieldSchema>, ctx: HandlerContext): Promise<Record<string, FieldSchema>>;
11
+ //# sourceMappingURL=resolveSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSchema.d.ts","sourceRoot":"","sources":["../../../src/runtime/utils/resolveSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CA2BtC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveSchemaFields = resolveSchemaFields;
4
+ /**
5
+ * Resolve server-only `resolveOptions` hooks into concrete enum options.
6
+ * Strips the function so the payload is JSON-safe for the admin client.
7
+ */
8
+ async function resolveSchemaFields(schema, ctx) {
9
+ const entries = await Promise.all(Object.entries(schema).map(async ([key, field]) => {
10
+ if (!field.resolveOptions) {
11
+ const { resolveOptions: _r, ...rest } = field;
12
+ return [key, rest];
13
+ }
14
+ try {
15
+ const resolved = await field.resolveOptions(ctx);
16
+ const { resolveOptions: _r, ...rest } = field;
17
+ return [
18
+ key,
19
+ {
20
+ ...rest,
21
+ options: resolved.options,
22
+ ...(resolved.optionLabels
23
+ ? { optionLabels: resolved.optionLabels }
24
+ : {}),
25
+ },
26
+ ];
27
+ }
28
+ catch {
29
+ const { resolveOptions: _r, ...rest } = field;
30
+ return [key, rest];
31
+ }
32
+ }));
33
+ return Object.fromEntries(entries);
34
+ }
35
+ //# sourceMappingURL=resolveSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveSchema.js","sourceRoot":"","sources":["../../../src/runtime/utils/resolveSchema.ts"],"names":[],"mappings":";;AAWA,kDA8BC;AAlCD;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAmC,EACnC,GAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAChD,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;YAC9C,OAAO,CAAC,GAAG,EAAE,IAAI,CAAU,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACjD,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;YAC9C,OAAO;gBACL,GAAG;gBACH;oBACE,GAAG,IAAI;oBACP,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,GAAG,CAAC,QAAQ,CAAC,YAAY;wBACvB,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE;wBACzC,CAAC,CAAC,EAAE,CAAC;iBACR;aACO,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;YAC9C,OAAO,CAAC,GAAG,EAAE,IAAI,CAAU,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
package/dist/schema.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Shared field schema types (kept separate to avoid circular imports). */
2
- export type FieldType = "string" | "number" | "boolean" | "datetime" | "richtext" | "enum" | "enum[]" | "file[]" | "font";
2
+ export type FieldType = "string" | "number" | "boolean" | "datetime" | "richtext" | "enum" | "enum[]" | "file[]" | "font" | "reference";
3
3
  export type FieldSchema = {
4
4
  type: FieldType;
5
5
  label?: string;
@@ -16,12 +16,42 @@ export type FieldSchema = {
16
16
  options?: string[];
17
17
  /** Display labels for `enum` / `enum[]` option ids. */
18
18
  optionLabels?: Record<string, string>;
19
+ /**
20
+ * Server-only: load enum options per request (products, routes, …).
21
+ * Resolved in catalog/config handlers before sending to the client.
22
+ */
23
+ resolveOptions?: (ctx: HandlerContext) => Promise<{
24
+ options: string[];
25
+ optionLabels?: Record<string, string>;
26
+ }> | {
27
+ options: string[];
28
+ optionLabels?: Record<string, string>;
29
+ };
30
+ /**
31
+ * For `type: "reference"` — pick a row from another resource.
32
+ * Stores `valueField` (default `id`); UI labels via `labelField`.
33
+ */
34
+ reference?: {
35
+ resource: string;
36
+ valueField?: string;
37
+ labelField?: string;
38
+ };
39
+ };
40
+ /** Actor resolved during auth (optional on public/unauthenticated contexts). */
41
+ export type HandlerUser = {
42
+ uid: string;
43
+ claims?: Record<string, unknown>;
44
+ roles?: string[];
19
45
  };
20
46
  export type HandlerContext = {
21
47
  env: string;
22
48
  request: unknown;
23
49
  /** Parsed query string (e.g. metrics `range`). */
24
50
  query?: Record<string, string>;
51
+ /** Signed-in user when auth resolved one (admin routes). */
52
+ user?: HandlerUser | null;
53
+ /** Resolved access capabilities for this request (when access is configured). */
54
+ capabilities?: string[];
25
55
  };
26
56
  /** File handed to a host upload handler (already decoded from the request). */
27
57
  export type ResourceUploadFile = {