@vertebr/admin 0.8.1 → 0.9.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 (46) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/runtime/api/catalog.d.ts +28 -4
  5. package/dist/runtime/api/catalog.d.ts.map +1 -1
  6. package/dist/runtime/api/catalog.js +41 -2
  7. package/dist/runtime/api/catalog.js.map +1 -1
  8. package/dist/runtime/api/public.d.ts.map +1 -1
  9. package/dist/runtime/api/public.js +10 -3
  10. package/dist/runtime/api/public.js.map +1 -1
  11. package/dist/runtime/api/routes.d.ts.map +1 -1
  12. package/dist/runtime/api/routes.js +11 -0
  13. package/dist/runtime/api/routes.js.map +1 -1
  14. package/dist/runtime/api/sync.d.ts +19 -0
  15. package/dist/runtime/api/sync.d.ts.map +1 -0
  16. package/dist/runtime/api/sync.js +183 -0
  17. package/dist/runtime/api/sync.js.map +1 -0
  18. package/dist/runtime/createAdmin.d.ts.map +1 -1
  19. package/dist/runtime/createAdmin.js +49 -1
  20. package/dist/runtime/createAdmin.js.map +1 -1
  21. package/dist/runtime/services/state.d.ts +7 -0
  22. package/dist/runtime/services/state.d.ts.map +1 -1
  23. package/dist/runtime/types/addon.d.ts +31 -0
  24. package/dist/runtime/types/addon.d.ts.map +1 -0
  25. package/dist/runtime/types/addon.js +9 -0
  26. package/dist/runtime/types/addon.js.map +1 -0
  27. package/dist/runtime/types/admin.d.ts +21 -0
  28. package/dist/runtime/types/admin.d.ts.map +1 -1
  29. package/dist/runtime/types/config.d.ts +1 -1
  30. package/dist/runtime/types/config.d.ts.map +1 -1
  31. package/dist/runtime/types/index.d.ts +3 -1
  32. package/dist/runtime/types/index.d.ts.map +1 -1
  33. package/dist/runtime/types/sync.d.ts +99 -0
  34. package/dist/runtime/types/sync.d.ts.map +1 -0
  35. package/dist/runtime/types/sync.js +3 -0
  36. package/dist/runtime/types/sync.js.map +1 -0
  37. package/dist/runtime/utils/http.d.ts +2 -0
  38. package/dist/runtime/utils/http.d.ts.map +1 -1
  39. package/dist/runtime/utils/http.js +24 -0
  40. package/dist/runtime/utils/http.js.map +1 -1
  41. package/package.json +1 -1
  42. package/static/assets/index-DdklZQ9o.js +338 -0
  43. package/static/assets/index-IVoZ2rM_.css +1 -0
  44. package/static/index.html +2 -2
  45. package/static/assets/index-D5BVgGQP.js +0 -337
  46. package/static/assets/index-DORD_jLa.css +0 -1
@@ -5,6 +5,7 @@ const store_1 = require("../store");
5
5
  const errors_1 = require("./errors");
6
6
  const routes_1 = require("./api/routes");
7
7
  const registry_1 = require("./services/registry");
8
+ const addon_1 = require("./types/addon");
8
9
  const config_1 = require("./utils/config");
9
10
  const staticDir_1 = require("./utils/staticDir");
10
11
  function createAdmin(options) {
@@ -26,6 +27,7 @@ function createAdmin(options) {
26
27
  galleryDef: null,
27
28
  fontLibraryDef: null,
28
29
  mailDef: null,
30
+ syncDef: null,
29
31
  controlMeta: new Map(),
30
32
  staticDir: options.staticDir ?? (0, staticDir_1.defaultStaticDir)(),
31
33
  environments,
@@ -54,7 +56,11 @@ function createAdmin(options) {
54
56
  id: def.id,
55
57
  label: def.label,
56
58
  schema: def.schema,
57
- section: def.section === "page" ? "page" : "config",
59
+ section: def.section === "page"
60
+ ? "page"
61
+ : def.section === "addon"
62
+ ? "addon"
63
+ : "config",
58
64
  group: def.group,
59
65
  ...(def.previewPath ? { previewPath: def.previewPath } : {}),
60
66
  get: async (ctx) => (0, registry_1.readConfigValue)(state, def.id, ctx.env),
@@ -65,6 +71,44 @@ function createAdmin(options) {
65
71
  });
66
72
  return admin;
67
73
  },
74
+ addon(def) {
75
+ const category = def.category ?? "engagement";
76
+ const enabledField = def.schema.enabled;
77
+ const schema = {
78
+ enabled: enabledField ?? {
79
+ type: "boolean",
80
+ label: "Enable add-on",
81
+ description: "Turn this feature on for the storefront.",
82
+ default: false,
83
+ group: "General",
84
+ },
85
+ ...def.schema,
86
+ };
87
+ state.controlMeta.set(def.id, {
88
+ public: def.public ?? true,
89
+ store: def.store,
90
+ defaults: def.defaults,
91
+ schema,
92
+ addon: true,
93
+ gatePublic: def.gatePublic !== false,
94
+ description: def.description,
95
+ category,
96
+ });
97
+ state.configs.push({
98
+ id: def.id,
99
+ label: def.label,
100
+ schema,
101
+ section: "addon",
102
+ group: def.group ?? addon_1.ADDON_CATEGORY_GROUPS[category],
103
+ ...(def.previewPath ? { previewPath: def.previewPath } : {}),
104
+ get: async (ctx) => (0, registry_1.readConfigValue)(state, def.id, ctx.env),
105
+ set: async (value, ctx) => {
106
+ const next = (0, store_1.mergeConfigValue)((0, config_1.resolveDefaults)(schema, def.defaults, ctx.env), await def.store.get(def.id, ctx.env), value);
107
+ await def.store.set(def.id, ctx.env, next);
108
+ },
109
+ });
110
+ return admin;
111
+ },
68
112
  page(def) {
69
113
  return admin.control({ ...def, section: "page" });
70
114
  },
@@ -127,6 +171,10 @@ function createAdmin(options) {
127
171
  state.mailDef = def;
128
172
  return admin;
129
173
  },
174
+ sync(def) {
175
+ state.syncDef = def;
176
+ return admin;
177
+ },
130
178
  async readConfig(id, env) {
131
179
  if (!state.environments.some((item) => item.id === env)) {
132
180
  throw new errors_1.VertebrEnvError(`Unknown environment "${env}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"createAdmin.js","sourceRoot":"","sources":["../../src/runtime/createAdmin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAdmin.js","sourceRoot":"","sources":["../../src/runtime/createAdmin.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,18 @@
1
1
  import type { ConfigStore } from "../../store";
2
2
  import type { FieldSchema, FontLibraryDefinition, GalleryDefinition } from "../../schema";
3
3
  import type { AdminEnvironment, ConfigDefinition, ControlDefinition, CreateAdminOptions, MetricsDefinition, ResourceDefinition, MailDefinition } from "../types";
4
+ import type { AddonCategory } from "../types/addon";
4
5
  export type ControlMeta = {
5
6
  public: boolean;
6
7
  store: ConfigStore;
7
8
  defaults?: ControlDefinition["defaults"];
8
9
  schema: Record<string, FieldSchema>;
10
+ addon?: boolean;
11
+ gatePublic?: boolean;
12
+ description?: string;
13
+ category?: AddonCategory;
9
14
  };
15
+ import type { EnvironmentSyncDefinition } from "../types/sync";
10
16
  /** Mutable registry used by handlers after `createAdmin()`. */
11
17
  export type AdminState = {
12
18
  options: CreateAdminOptions;
@@ -22,5 +28,6 @@ export type AdminState = {
22
28
  galleryDef: GalleryDefinition | null;
23
29
  fontLibraryDef: FontLibraryDefinition | null;
24
30
  mailDef: MailDefinition | null;
31
+ syncDef: EnvironmentSyncDefinition | null;
25
32
  };
26
33
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/runtime/services/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACf,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACrC,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrC,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/runtime/services/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACf,MAAM,UAAU,CAAC;AAElB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE/D,+DAA+D;AAC/D,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACrC,cAAc,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAC3C,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { ControlDefinition } from "./config";
2
+ /** How an add-on helps the storefront. Drives admin sidebar grouping. */
3
+ export type AddonCategory = "product" | "engagement" | "sales";
4
+ export declare const ADDON_CATEGORY_GROUPS: Record<AddonCategory, string>;
5
+ export type AddonDefinition = Omit<ControlDefinition, "section" | "group"> & {
6
+ /** Short description shown in admin header and search. */
7
+ description?: string;
8
+ /**
9
+ * Primary purpose — maps to sidebar group unless `group` is set.
10
+ * @default "engagement"
11
+ */
12
+ category?: AddonCategory;
13
+ /** Override sidebar group (e.g. host-specific grouping). */
14
+ group?: string;
15
+ /**
16
+ * When true (default), disabled add-ons are omitted from `/public/controls`.
17
+ * Uses the `enabled` boolean field on the stored value.
18
+ */
19
+ gatePublic?: boolean;
20
+ };
21
+ export type AddonMeta = {
22
+ id: string;
23
+ label: string;
24
+ description?: string;
25
+ category?: AddonCategory;
26
+ group: string;
27
+ /** Host route for live admin preview (e.g. `/`, `/shop/tee`). */
28
+ previewPath?: string;
29
+ schema: ControlDefinition["schema"];
30
+ };
31
+ //# sourceMappingURL=addon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addon.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/addon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AAE/D,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAI/D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG;IAC3E,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;CACrC,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ADDON_CATEGORY_GROUPS = void 0;
4
+ exports.ADDON_CATEGORY_GROUPS = {
5
+ product: "Add-ons · Products",
6
+ engagement: "Add-ons · Engagement",
7
+ sales: "Add-ons · Sales",
8
+ };
9
+ //# sourceMappingURL=addon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addon.js","sourceRoot":"","sources":["../../../src/runtime/types/addon.ts"],"names":[],"mappings":";;;AAKa,QAAA,qBAAqB,GAAkC;IAClE,OAAO,EAAE,oBAAoB;IAC7B,UAAU,EAAE,sBAAsB;IAClC,KAAK,EAAE,iBAAiB;CACzB,CAAC"}
@@ -5,10 +5,19 @@ import type { LayoutDefinition } from "./layout";
5
5
  import type { MailDefinition } from "./mail";
6
6
  import type { MetricsDefinition } from "./metrics";
7
7
  import type { ResourceDefinition } from "./resource";
8
+ import type { EnvironmentSyncDefinition } from "./sync";
9
+ import type { AddonDefinition } from "./addon";
8
10
  export type Connector = {
9
11
  id: string;
10
12
  register: (admin: Admin) => void;
11
13
  };
14
+ /** Optional host context shown alongside Vertebr branding in the admin shell. */
15
+ export type AdminAppearance = {
16
+ /** Merchant or project name (e.g. "MaxerMentality"). Does not replace Vertebr. */
17
+ hostName?: string;
18
+ /** Small mark shown next to the host name in the top bar. */
19
+ hostLogoUrl?: string;
20
+ };
12
21
  export type CreateAdminOptions = {
13
22
  auth: AdminAuth;
14
23
  basePath?: string;
@@ -26,6 +35,8 @@ export type CreateAdminOptions = {
26
35
  * (Firestore ALS, tenant context, etc.).
27
36
  */
28
37
  onEnvironment?: <T>(env: string, run: () => Promise<T> | T) => Promise<T> | T;
38
+ /** Host context for sales/enterprise installs. Admin chrome stays Vertebr-branded. */
39
+ appearance?: AdminAppearance;
29
40
  };
30
41
  export type Admin = {
31
42
  resource: <T = unknown>(def: ResourceDefinition<T>) => Admin;
@@ -62,6 +73,16 @@ export type Admin = {
62
73
  * `mail: ["sendEmail", "sendPromo"]` (or a binding object).
63
74
  */
64
75
  mail: (def: MailDefinition) => Admin;
76
+ /**
77
+ * Register environment sync targets (qual → production, etc.).
78
+ * Shown in admin when multiple environments are configured.
79
+ */
80
+ sync: (def: EnvironmentSyncDefinition) => Admin;
81
+ /**
82
+ * Register an optional storefront add-on (countdown, reviews, etc.).
83
+ * Appears under Add-ons in the sidebar; gated on `enabled` for public API.
84
+ */
85
+ addon: (def: AddonDefinition) => Admin;
65
86
  /** Server-side read of a registered config/control (auth not applied). */
66
87
  readConfig: (id: string, env: string) => Promise<Record<string, unknown>>;
67
88
  use: (connector: Connector) => Admin;
@@ -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":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ConfigStore } from "../../store";
2
2
  import type { FieldSchema, HandlerContext } from "../../schema";
3
3
  /** Sidebar group for configs / controls in the dashboard. */
4
- export type ConfigSection = "config" | "page";
4
+ export type ConfigSection = "config" | "page" | "addon";
5
5
  export type ConfigDefinition = {
6
6
  id: string;
7
7
  label: string;
@@ -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,CAAC;AAE9C,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,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"}
@@ -11,5 +11,7 @@ export type { ConfigDefinition, ConfigSection, ControlDefinition, PageDefinition
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
- export type { Admin, AdminRoute, Connector, CreateAdminOptions, HapiCompatibleRoute, } from "./admin";
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
17
  //# 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,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,SAAS,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,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"}
@@ -0,0 +1,99 @@
1
+ import type { FieldSchema } from "../../schema";
2
+ export type SyncTargetRisk = "none" | "overwrite" | "destructive";
3
+ /** Host context for read-only sync planning (diff / dry-run). */
4
+ export type SyncPlanContext = {
5
+ from: string;
6
+ to: string;
7
+ request: unknown;
8
+ };
9
+ /** Host context when applying a sync target to one destination env. */
10
+ export type SyncApplyContext = SyncPlanContext & {
11
+ dryRun: boolean;
12
+ };
13
+ export type SyncTargetPlan = {
14
+ status: "unchanged" | "changed" | "new" | "missing" | "skipped" | "error";
15
+ summary: string;
16
+ warnings?: string[];
17
+ };
18
+ export type SyncTargetApplyResult = {
19
+ ok: boolean;
20
+ message?: string;
21
+ };
22
+ export type EnvironmentSyncTargetDef = {
23
+ id: string;
24
+ label: string;
25
+ description?: string;
26
+ group?: string;
27
+ defaultSelected?: boolean;
28
+ risk?: SyncTargetRisk;
29
+ plan: (ctx: SyncPlanContext) => Promise<SyncTargetPlan> | SyncTargetPlan;
30
+ apply: (ctx: SyncApplyContext) => Promise<SyncTargetApplyResult> | SyncTargetApplyResult;
31
+ };
32
+ export type EnvironmentSyncExcluded = {
33
+ label: string;
34
+ reason: string;
35
+ };
36
+ export type EnvironmentSyncDefinition = {
37
+ /** Default source env in the sync UI. Falls back to admin defaultEnvironment. */
38
+ defaultFrom?: string;
39
+ /** Default destination env id(s) in the sync UI. */
40
+ defaultTo?: string | string[];
41
+ targets: EnvironmentSyncTargetDef[];
42
+ /** Always shown as read-only — never selectable for sync. */
43
+ excluded?: EnvironmentSyncExcluded[];
44
+ };
45
+ export type SyncTargetMeta = {
46
+ id: string;
47
+ label: string;
48
+ description?: string;
49
+ group?: string;
50
+ defaultSelected: boolean;
51
+ risk: SyncTargetRisk;
52
+ };
53
+ export type SyncCatalogMeta = {
54
+ enabled: true;
55
+ defaultFrom: string;
56
+ defaultTo: string[];
57
+ targets: SyncTargetMeta[];
58
+ excluded: EnvironmentSyncExcluded[];
59
+ };
60
+ export type SyncPlanRequest = {
61
+ from: string;
62
+ to: string[];
63
+ targets: string[];
64
+ };
65
+ export type SyncPlanTargetResult = SyncTargetPlan & {
66
+ id: string;
67
+ };
68
+ export type SyncPlanDestinationResult = {
69
+ to: string;
70
+ targets: SyncPlanTargetResult[];
71
+ };
72
+ export type SyncPlanResponse = {
73
+ ok: true;
74
+ from: string;
75
+ destinations: SyncPlanDestinationResult[];
76
+ };
77
+ export type SyncRunRequest = {
78
+ from: string;
79
+ to: string[];
80
+ targets: string[];
81
+ };
82
+ export type SyncRunTargetResult = SyncTargetApplyResult & {
83
+ id: string;
84
+ };
85
+ export type SyncRunDestinationResult = {
86
+ to: string;
87
+ ok: boolean;
88
+ message?: string;
89
+ targets: SyncRunTargetResult[];
90
+ };
91
+ export type SyncRunResponse = {
92
+ ok: boolean;
93
+ from: string;
94
+ destinations: SyncRunDestinationResult[];
95
+ message?: string;
96
+ };
97
+ /** @internal — optional input schema for future target-level options */
98
+ export type SyncTargetInput = Record<string, FieldSchema>;
99
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/runtime/types/sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/runtime/types/sync.ts"],"names":[],"mappings":""}
@@ -2,6 +2,8 @@ type HeaderMap = Record<string, string | string[] | undefined>;
2
2
  export declare function headerValue(headers: HeaderMap | undefined, name: string): string | undefined;
3
3
  /** Flatten Hapi/Express query values to a string map. */
4
4
  export declare function requestQuery(request: unknown): Record<string, string>;
5
+ /** Multi-value query params (e.g. repeated `to=qual&to=production`). */
6
+ export declare function requestQueryAll(request: unknown): Record<string, string[]>;
5
7
  export declare function contentTypeFor(filePath: string): string;
6
8
  export {};
7
9
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/runtime/utils/http.ts"],"names":[],"mappings":"AAEA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE/D,wBAAgB,WAAW,CACzB,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAKpB;AASD,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASrE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA0BvD"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/runtime/utils/http.ts"],"names":[],"mappings":"AAEA,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;AAE/D,wBAAgB,WAAW,CACzB,OAAO,EAAE,SAAS,GAAG,SAAS,EAC9B,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAKpB;AASD,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASrE;AAWD,wEAAwE;AACxE,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAS1E;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA0BvD"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.headerValue = headerValue;
7
7
  exports.requestQuery = requestQuery;
8
+ exports.requestQueryAll = requestQueryAll;
8
9
  exports.contentTypeFor = contentTypeFor;
9
10
  const node_path_1 = __importDefault(require("node:path"));
10
11
  function headerValue(headers, name) {
@@ -37,6 +38,29 @@ function requestQuery(request) {
37
38
  }
38
39
  return query;
39
40
  }
41
+ function queryValues(value) {
42
+ if (typeof value === "string")
43
+ return value.trim() ? [value.trim()] : [];
44
+ if (typeof value === "number" && Number.isFinite(value))
45
+ return [String(value)];
46
+ if (Array.isArray(value)) {
47
+ return value.flatMap((item) => queryValues(item)).filter(Boolean);
48
+ }
49
+ return [];
50
+ }
51
+ /** Multi-value query params (e.g. repeated `to=qual&to=production`). */
52
+ function requestQueryAll(request) {
53
+ const raw = request.query;
54
+ if (!raw || typeof raw !== "object")
55
+ return {};
56
+ const query = {};
57
+ for (const [key, value] of Object.entries(raw)) {
58
+ const parsed = queryValues(value);
59
+ if (parsed.length > 0)
60
+ query[key] = parsed;
61
+ }
62
+ return query;
63
+ }
40
64
  function contentTypeFor(filePath) {
41
65
  const ext = node_path_1.default.extname(filePath).toLowerCase();
42
66
  switch (ext) {
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/runtime/utils/http.ts"],"names":[],"mappings":";;;;;AAIA,kCAQC;AAUD,oCASC;AAED,wCA0BC;AA3DD,0DAA6B;AAI7B,SAAgB,WAAW,CACzB,OAA8B,EAC9B,IAAY;IAEZ,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,yDAAyD;AACzD,SAAgB,YAAY,CAAC,OAAgB;IAC3C,MAAM,GAAG,GAAI,OAA+C,CAAC,KAAK,CAAC;IACnE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,MAAM,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,cAAc,CAAC,QAAgB;IAC7C,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,0BAA0B,CAAC;QACpC,KAAK,KAAK;YACR,OAAO,gCAAgC,CAAC;QAC1C,KAAK,MAAM;YACT,OAAO,yBAAyB,CAAC;QACnC,KAAK,MAAM;YACT,OAAO,eAAe,CAAC;QACzB,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC;QAC5B,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,YAAY,CAAC;QACtB,KAAK,OAAO;YACV,OAAO,WAAW,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,0BAA0B,CAAC;IACtC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/runtime/utils/http.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertebr/admin",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "description": "Schema-driven admin control plane — wire resources once, let owners run the app.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",