@leadcms/sdk 3.3.12 → 3.5.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 (165) hide show
  1. package/README.md +2 -1
  2. package/dist/cli/bin/content-status-args.d.ts +7 -0
  3. package/dist/cli/bin/content-status-args.d.ts.map +1 -0
  4. package/dist/cli/bin/content-status-args.js +27 -0
  5. package/dist/cli/bin/content-status-args.js.map +1 -0
  6. package/dist/cli/bin/login.js +1 -1
  7. package/dist/cli/bin/login.js.map +1 -1
  8. package/dist/cli/bin/pull-all.js +4 -2
  9. package/dist/cli/bin/pull-all.js.map +1 -1
  10. package/dist/cli/bin/pull-comments.js +3 -1
  11. package/dist/cli/bin/pull-comments.js.map +1 -1
  12. package/dist/cli/bin/pull-content.js +6 -2
  13. package/dist/cli/bin/pull-content.js.map +1 -1
  14. package/dist/cli/bin/pull-email-templates.js +3 -1
  15. package/dist/cli/bin/pull-email-templates.js.map +1 -1
  16. package/dist/cli/bin/pull-media.js +3 -1
  17. package/dist/cli/bin/pull-media.js.map +1 -1
  18. package/dist/cli/bin/pull-settings.js +2 -0
  19. package/dist/cli/bin/pull-settings.js.map +1 -1
  20. package/dist/cli/bin/push-all.js +12 -1
  21. package/dist/cli/bin/push-all.js.map +1 -1
  22. package/dist/cli/bin/push-comments.d.ts +6 -0
  23. package/dist/cli/bin/push-comments.d.ts.map +1 -0
  24. package/dist/cli/bin/push-comments.js +35 -0
  25. package/dist/cli/bin/push-comments.js.map +1 -0
  26. package/dist/cli/bin/push-content.js +7 -4
  27. package/dist/cli/bin/push-content.js.map +1 -1
  28. package/dist/cli/bin/push-email-templates.js +3 -1
  29. package/dist/cli/bin/push-email-templates.js.map +1 -1
  30. package/dist/cli/bin/push-media.js +2 -0
  31. package/dist/cli/bin/push-media.js.map +1 -1
  32. package/dist/cli/bin/push-settings.js +2 -0
  33. package/dist/cli/bin/push-settings.js.map +1 -1
  34. package/dist/cli/bin/push.js +5 -3
  35. package/dist/cli/bin/push.js.map +1 -1
  36. package/dist/cli/bin/remote-flag.d.ts +17 -0
  37. package/dist/cli/bin/remote-flag.d.ts.map +1 -0
  38. package/dist/cli/bin/remote-flag.js +50 -0
  39. package/dist/cli/bin/remote-flag.js.map +1 -0
  40. package/dist/cli/bin/remote.d.ts +14 -0
  41. package/dist/cli/bin/remote.d.ts.map +1 -0
  42. package/dist/cli/bin/remote.js +291 -0
  43. package/dist/cli/bin/remote.js.map +1 -0
  44. package/dist/cli/bin/status-all.js +67 -4
  45. package/dist/cli/bin/status-all.js.map +1 -1
  46. package/dist/cli/bin/status-comments.d.ts +6 -0
  47. package/dist/cli/bin/status-comments.d.ts.map +1 -0
  48. package/dist/cli/bin/status-comments.js +30 -0
  49. package/dist/cli/bin/status-comments.js.map +1 -0
  50. package/dist/cli/bin/status-content.js +6 -2
  51. package/dist/cli/bin/status-content.js.map +1 -1
  52. package/dist/cli/bin/status-email-templates.js +3 -1
  53. package/dist/cli/bin/status-email-templates.js.map +1 -1
  54. package/dist/cli/bin/status-media.js +2 -0
  55. package/dist/cli/bin/status-media.js.map +1 -1
  56. package/dist/cli/bin/status-settings.js +2 -0
  57. package/dist/cli/bin/status-settings.js.map +1 -1
  58. package/dist/cli/bin/status.js +5 -2
  59. package/dist/cli/bin/status.js.map +1 -1
  60. package/dist/cli/bin/watch.js +6 -3
  61. package/dist/cli/bin/watch.js.map +1 -1
  62. package/dist/cli/index.js +65 -10
  63. package/dist/cli/index.js.map +1 -1
  64. package/dist/index.js +0 -1
  65. package/dist/index.js.map +1 -1
  66. package/dist/lib/auth.d.ts +1 -1
  67. package/dist/lib/auth.d.ts.map +1 -1
  68. package/dist/lib/auth.js +5 -5
  69. package/dist/lib/auth.js.map +1 -1
  70. package/dist/lib/cms.d.ts +7 -7
  71. package/dist/lib/cms.d.ts.map +1 -1
  72. package/dist/lib/cms.js +41 -7
  73. package/dist/lib/cms.js.map +1 -1
  74. package/dist/lib/comment-types.d.ts +4 -0
  75. package/dist/lib/comment-types.d.ts.map +1 -1
  76. package/dist/lib/config.d.ts +6 -1
  77. package/dist/lib/config.d.ts.map +1 -1
  78. package/dist/lib/config.js +37 -8
  79. package/dist/lib/config.js.map +1 -1
  80. package/dist/lib/content-merge.d.ts.map +1 -1
  81. package/dist/lib/content-merge.js +102 -19
  82. package/dist/lib/content-merge.js.map +1 -1
  83. package/dist/lib/content-transformation.d.ts +5 -0
  84. package/dist/lib/content-transformation.d.ts.map +1 -1
  85. package/dist/lib/content-transformation.js +49 -2
  86. package/dist/lib/content-transformation.js.map +1 -1
  87. package/dist/lib/data-service.d.ts +47 -1
  88. package/dist/lib/data-service.d.ts.map +1 -1
  89. package/dist/lib/data-service.js +143 -0
  90. package/dist/lib/data-service.js.map +1 -1
  91. package/dist/lib/remote-context.d.ts +98 -0
  92. package/dist/lib/remote-context.d.ts.map +1 -0
  93. package/dist/lib/remote-context.js +297 -0
  94. package/dist/lib/remote-context.js.map +1 -0
  95. package/dist/scripts/init-leadcms.d.ts.map +1 -1
  96. package/dist/scripts/init-leadcms.js +127 -15
  97. package/dist/scripts/init-leadcms.js.map +1 -1
  98. package/dist/scripts/leadcms-helpers.d.ts +16 -5
  99. package/dist/scripts/leadcms-helpers.d.ts.map +1 -1
  100. package/dist/scripts/leadcms-helpers.js +31 -8
  101. package/dist/scripts/leadcms-helpers.js.map +1 -1
  102. package/dist/scripts/login-leadcms.d.ts +4 -1
  103. package/dist/scripts/login-leadcms.d.ts.map +1 -1
  104. package/dist/scripts/login-leadcms.js +45 -6
  105. package/dist/scripts/login-leadcms.js.map +1 -1
  106. package/dist/scripts/pull-all.d.ts +14 -6
  107. package/dist/scripts/pull-all.d.ts.map +1 -1
  108. package/dist/scripts/pull-all.js +86 -33
  109. package/dist/scripts/pull-all.js.map +1 -1
  110. package/dist/scripts/pull-comments.d.ts +3 -0
  111. package/dist/scripts/pull-comments.d.ts.map +1 -1
  112. package/dist/scripts/pull-comments.js +4 -4
  113. package/dist/scripts/pull-comments.js.map +1 -1
  114. package/dist/scripts/pull-content.d.ts +14 -0
  115. package/dist/scripts/pull-content.d.ts.map +1 -1
  116. package/dist/scripts/pull-content.js +85 -8
  117. package/dist/scripts/pull-content.js.map +1 -1
  118. package/dist/scripts/pull-email-templates.d.ts +3 -0
  119. package/dist/scripts/pull-email-templates.d.ts.map +1 -1
  120. package/dist/scripts/pull-email-templates.js +4 -4
  121. package/dist/scripts/pull-email-templates.js.map +1 -1
  122. package/dist/scripts/{fetch-leadcms-comments.d.ts → pull-leadcms-comments.d.ts} +10 -4
  123. package/dist/scripts/pull-leadcms-comments.d.ts.map +1 -0
  124. package/dist/scripts/{fetch-leadcms-comments.js → pull-leadcms-comments.js} +62 -32
  125. package/dist/scripts/pull-leadcms-comments.js.map +1 -0
  126. package/dist/scripts/{fetch-leadcms-content.d.ts → pull-leadcms-content.d.ts} +13 -19
  127. package/dist/scripts/pull-leadcms-content.d.ts.map +1 -0
  128. package/dist/scripts/{fetch-leadcms-content.js → pull-leadcms-content.js} +121 -250
  129. package/dist/scripts/pull-leadcms-content.js.map +1 -0
  130. package/dist/scripts/{fetch-leadcms-email-templates.d.ts → pull-leadcms-email-templates.d.ts} +5 -4
  131. package/dist/scripts/pull-leadcms-email-templates.d.ts.map +1 -0
  132. package/dist/scripts/{fetch-leadcms-email-templates.js → pull-leadcms-email-templates.js} +89 -11
  133. package/dist/scripts/pull-leadcms-email-templates.js.map +1 -0
  134. package/dist/scripts/pull-leadcms-media.d.ts +32 -0
  135. package/dist/scripts/pull-leadcms-media.d.ts.map +1 -0
  136. package/dist/scripts/pull-leadcms-media.js +229 -0
  137. package/dist/scripts/pull-leadcms-media.js.map +1 -0
  138. package/dist/scripts/pull-media.d.ts +4 -1
  139. package/dist/scripts/pull-media.d.ts.map +1 -1
  140. package/dist/scripts/pull-media.js +4 -4
  141. package/dist/scripts/pull-media.js.map +1 -1
  142. package/dist/scripts/push-comments.d.ts +48 -0
  143. package/dist/scripts/push-comments.d.ts.map +1 -0
  144. package/dist/scripts/push-comments.js +433 -0
  145. package/dist/scripts/push-comments.js.map +1 -0
  146. package/dist/scripts/push-email-templates.d.ts +6 -1
  147. package/dist/scripts/push-email-templates.d.ts.map +1 -1
  148. package/dist/scripts/push-email-templates.js +96 -21
  149. package/dist/scripts/push-email-templates.js.map +1 -1
  150. package/dist/scripts/push-leadcms-content.d.ts +24 -8
  151. package/dist/scripts/push-leadcms-content.d.ts.map +1 -1
  152. package/dist/scripts/push-leadcms-content.js +192 -56
  153. package/dist/scripts/push-leadcms-content.js.map +1 -1
  154. package/dist/scripts/sse-watcher.d.ts +9 -8
  155. package/dist/scripts/sse-watcher.d.ts.map +1 -1
  156. package/dist/scripts/sse-watcher.js +59 -52
  157. package/dist/scripts/sse-watcher.js.map +1 -1
  158. package/leadcms.config.json.sample +12 -1
  159. package/package.json +2 -3
  160. package/dist/scripts/fetch-leadcms-comments.d.ts.map +0 -1
  161. package/dist/scripts/fetch-leadcms-comments.js.map +0 -1
  162. package/dist/scripts/fetch-leadcms-content.d.ts.map +0 -1
  163. package/dist/scripts/fetch-leadcms-content.js.map +0 -1
  164. package/dist/scripts/fetch-leadcms-email-templates.d.ts.map +0 -1
  165. package/dist/scripts/fetch-leadcms-email-templates.js.map +0 -1
@@ -0,0 +1,297 @@
1
+ /**
2
+ * Multi-remote support for LeadCMS SDK.
3
+ *
4
+ * Provides the concept of named remotes (similar to git remotes), each
5
+ * representing a CMS instance with its own URL, API key, sync tokens,
6
+ * ID mapping, and metadata.
7
+ */
8
+ import path from "path";
9
+ import fs from "fs/promises";
10
+ import { getConfig } from "./config.js";
11
+ // ── Internal constants ─────────────────────────────────────────────────
12
+ const REMOTES_BASE_DIR = ".leadcms/remotes";
13
+ // ── Resolution ─────────────────────────────────────────────────────────
14
+ /**
15
+ * Resolve a RemoteContext from the current configuration.
16
+ *
17
+ * - Single-remote mode (no `remotes` in config): returns a synthetic
18
+ * "default" remote built from the flat `url` / `apiKey` fields.
19
+ * - Multi-remote mode: looks up the named remote (or `defaultRemote`
20
+ * when `remoteName` is undefined).
21
+ *
22
+ * @param remoteName Explicit remote name, e.g. from `--remote` CLI flag.
23
+ * When omitted the default remote is used.
24
+ * @param config Optional config override (for testing). Falls back
25
+ * to `getConfig()`.
26
+ */
27
+ export function resolveRemote(remoteName, config) {
28
+ const cfg = config ?? getConfig();
29
+ // ── Single-remote mode ───────────────────────────────────────────
30
+ if (!cfg.remotes || Object.keys(cfg.remotes).length === 0) {
31
+ if (remoteName && remoteName !== "default") {
32
+ throw new Error(`Remote "${remoteName}" is not configured. ` +
33
+ `Add a "remotes" block to your leadcms config file to use named remotes.`);
34
+ }
35
+ return {
36
+ name: "default",
37
+ url: (cfg.url || "").replace(/\/+$/, ""),
38
+ apiKey: cfg.apiKey ?? resolveApiKeyFromEnv("default", true),
39
+ isDefault: true,
40
+ stateDir: path.resolve(REMOTES_BASE_DIR, "default"),
41
+ };
42
+ }
43
+ // ── Multi-remote mode ────────────────────────────────────────────
44
+ // Resolution priority (when remoteName not explicitly provided):
45
+ // 1. remoteName argument (from --remote CLI flag)
46
+ // 2. LEADCMS_REMOTE env var
47
+ // 3. URL match: LEADCMS_URL / NEXT_PUBLIC_LEADCMS_URL against configured remotes
48
+ // 4. defaultRemote from config
49
+ const name = remoteName
50
+ ?? process.env.LEADCMS_REMOTE
51
+ ?? resolveRemoteByUrl(cfg)
52
+ ?? cfg.defaultRemote;
53
+ if (!name) {
54
+ throw new Error(`No remote specified and no "defaultRemote" configured. ` +
55
+ `Either pass --remote <name> or set "defaultRemote" in your config.`);
56
+ }
57
+ const remote = cfg.remotes[name];
58
+ if (!remote) {
59
+ const available = Object.keys(cfg.remotes).join(", ");
60
+ throw new Error(`Remote "${name}" is not configured. Available remotes: ${available}`);
61
+ }
62
+ const isDefault = name === cfg.defaultRemote;
63
+ return {
64
+ name,
65
+ url: (remote.url || "").replace(/\/+$/, ""),
66
+ apiKey: resolveApiKeyFromEnv(name, isDefault),
67
+ isDefault,
68
+ stateDir: path.resolve(REMOTES_BASE_DIR, name),
69
+ };
70
+ }
71
+ /**
72
+ * List all configured remotes. Returns an empty array in single-remote mode.
73
+ */
74
+ export function listRemotes(config) {
75
+ const cfg = config ?? getConfig();
76
+ if (!cfg.remotes || Object.keys(cfg.remotes).length === 0) {
77
+ // Single-remote mode — return the implicit default
78
+ return [resolveRemote(undefined, cfg)];
79
+ }
80
+ return Object.keys(cfg.remotes).map((name) => resolveRemote(name, cfg));
81
+ }
82
+ // ── API key resolution ────────────────────────────────────────────────
83
+ /**
84
+ * Find a remote whose URL matches LEADCMS_URL or NEXT_PUBLIC_LEADCMS_URL.
85
+ * Returns the matching remote name, or undefined if no match.
86
+ */
87
+ function resolveRemoteByUrl(cfg) {
88
+ const envUrl = (process.env.LEADCMS_URL || process.env.NEXT_PUBLIC_LEADCMS_URL || '').replace(/\/+$/, '');
89
+ if (!envUrl || !cfg.remotes)
90
+ return undefined;
91
+ for (const [name, remote] of Object.entries(cfg.remotes)) {
92
+ if ((remote.url || '').replace(/\/+$/, '') === envUrl) {
93
+ return name;
94
+ }
95
+ }
96
+ return undefined;
97
+ }
98
+ /**
99
+ * Resolve the API key for a remote from environment variables.
100
+ *
101
+ * Resolution order:
102
+ * 1. `LEADCMS_REMOTE_{NAME}_API_KEY` (remote-specific)
103
+ * 2. `LEADCMS_API_KEY` (generic fallback, only for the default remote)
104
+ *
105
+ * NOTE: NEXT_PUBLIC_* prefixed keys are intentionally NOT checked here.
106
+ * API keys must never be exposed to the browser via NEXT_PUBLIC_.
107
+ */
108
+ function resolveApiKeyFromEnv(remoteName, isDefault) {
109
+ const envName = remoteName.toUpperCase().replace(/-/g, "_");
110
+ const remoteSpecific = process.env[`LEADCMS_REMOTE_${envName}_API_KEY`];
111
+ if (remoteSpecific)
112
+ return remoteSpecific;
113
+ if (isDefault) {
114
+ return process.env.LEADCMS_API_KEY;
115
+ }
116
+ return undefined;
117
+ }
118
+ // ── Path helpers ──────────────────────────────────────────────────────
119
+ /** Absolute path to a sync token file for a given remote + entity type. */
120
+ export function syncTokenPath(ctx, entityType) {
121
+ return path.join(ctx.stateDir, `${entityType}-sync-token`);
122
+ }
123
+ /** Absolute path to the metadata.json for a given remote. */
124
+ export function metadataMapPath(ctx) {
125
+ return path.join(ctx.stateDir, "metadata.json");
126
+ }
127
+ /**
128
+ * Build a canonical content key used for display / logging.
129
+ * Format: `{language}/{slug}`
130
+ */
131
+ export function contentKey(language, slug) {
132
+ return `${language}/${slug}`;
133
+ }
134
+ /**
135
+ * Build a canonical email template key used for display / logging.
136
+ * Format: `{language}/{name}`
137
+ */
138
+ export function emailTemplateKey(language, name) {
139
+ return `${language}/${name}`;
140
+ }
141
+ /**
142
+ * Remove other entries in a nested `section` that already claim the given `id`.
143
+ * Called by setRemoteId / setEmailTemplateRemoteId to enforce 1-to-1
144
+ * mapping between keys and IDs.
145
+ */
146
+ function deduplicateSection(section, incomingLang, incomingSlug, id) {
147
+ for (const [lang, slugs] of Object.entries(section)) {
148
+ for (const [slug, entry] of Object.entries(slugs)) {
149
+ if ((lang !== incomingLang || slug !== incomingSlug) && entry.id != null && String(entry.id) === String(id)) {
150
+ delete slugs[slug];
151
+ }
152
+ }
153
+ if (Object.keys(slugs).length === 0) {
154
+ delete section[lang];
155
+ }
156
+ }
157
+ }
158
+ /**
159
+ * Deduplicate a nested section on read: if multiple keys map to the same
160
+ * ID, keep only the last one (file order) and drop earlier duplicates.
161
+ */
162
+ function deduplicateSectionOnRead(section) {
163
+ // id → { lang, slug } (last wins)
164
+ const seen = new Map();
165
+ for (const [lang, slugs] of Object.entries(section)) {
166
+ for (const [slug, entry] of Object.entries(slugs)) {
167
+ if (entry.id != null) {
168
+ seen.set(String(entry.id), { lang, slug });
169
+ }
170
+ }
171
+ }
172
+ // Remove entries that are not the winner for their ID
173
+ for (const [lang, slugs] of Object.entries(section)) {
174
+ for (const [slug, entry] of Object.entries(slugs)) {
175
+ if (entry.id == null)
176
+ continue;
177
+ const winner = seen.get(String(entry.id));
178
+ if (winner && (winner.lang !== lang || winner.slug !== slug)) {
179
+ delete slugs[slug];
180
+ }
181
+ }
182
+ if (Object.keys(slugs).length === 0) {
183
+ delete section[lang];
184
+ }
185
+ }
186
+ }
187
+ /**
188
+ * Sort a nested map: language keys sorted alphabetically,
189
+ * and slugs within each language sorted alphabetically.
190
+ */
191
+ function sortNestedMap(map) {
192
+ const sorted = {};
193
+ for (const lang of Object.keys(map).sort()) {
194
+ sorted[lang] = {};
195
+ for (const slug of Object.keys(map[lang]).sort()) {
196
+ sorted[lang][slug] = map[lang][slug];
197
+ }
198
+ }
199
+ return sorted;
200
+ }
201
+ /** Look up the remote ID for a content item. */
202
+ export function lookupRemoteId(map, language, slug) {
203
+ return map.content[language]?.[slug]?.id;
204
+ }
205
+ /** Set the remote ID for a content item.
206
+ * Enforces uniqueness: if another key already maps to the same ID,
207
+ * that stale mapping is removed so only one key owns each ID.
208
+ */
209
+ export function setRemoteId(map, language, slug, id) {
210
+ deduplicateSection(map.content, language, slug, id);
211
+ if (!map.content[language])
212
+ map.content[language] = {};
213
+ const current = map.content[language][slug] || {};
214
+ map.content[language][slug] = { ...current, id };
215
+ }
216
+ /** Look up the remote ID for an email template. */
217
+ export function lookupEmailTemplateRemoteId(map, language, name) {
218
+ return map.emailTemplates?.[language]?.[name]?.id;
219
+ }
220
+ /** Set the remote ID for an email template.
221
+ * Enforces uniqueness: if another key already maps to the same ID,
222
+ * that stale mapping is removed so only one key owns each ID.
223
+ */
224
+ export function setEmailTemplateRemoteId(map, language, name, id) {
225
+ if (!map.emailTemplates)
226
+ map.emailTemplates = {};
227
+ deduplicateSection(map.emailTemplates, language, name, id);
228
+ if (!map.emailTemplates[language])
229
+ map.emailTemplates[language] = {};
230
+ const current = map.emailTemplates[language][name] || {};
231
+ map.emailTemplates[language][name] = { ...current, id };
232
+ }
233
+ /** Read the metadata-map for a remote. Returns empty map if file doesn't exist. */
234
+ export async function readMetadataMap(ctx) {
235
+ try {
236
+ const data = await fs.readFile(metadataMapPath(ctx), "utf-8");
237
+ const parsed = JSON.parse(data);
238
+ if (!parsed.content)
239
+ parsed.content = {};
240
+ if (!parsed.emailTemplates)
241
+ parsed.emailTemplates = {};
242
+ deduplicateSectionOnRead(parsed.content);
243
+ deduplicateSectionOnRead(parsed.emailTemplates);
244
+ return parsed;
245
+ }
246
+ catch {
247
+ return { content: {}, emailTemplates: {} };
248
+ }
249
+ }
250
+ /** Write the metadata-map for a remote, creating the directory if needed.
251
+ * Keys are sorted alphabetically for consistency across regenerations.
252
+ */
253
+ export async function writeMetadataMap(ctx, map) {
254
+ await fs.mkdir(ctx.stateDir, { recursive: true });
255
+ const sorted = {
256
+ content: sortNestedMap(map.content),
257
+ ...(map.emailTemplates && Object.keys(map.emailTemplates).length > 0
258
+ ? { emailTemplates: sortNestedMap(map.emailTemplates) }
259
+ : {}),
260
+ };
261
+ await fs.writeFile(metadataMapPath(ctx), JSON.stringify(sorted, null, 2), "utf-8");
262
+ }
263
+ /** Get metadata for a content item from the map. */
264
+ export function getMetadataForContent(map, language, slug) {
265
+ return map.content[language]?.[slug];
266
+ }
267
+ function stripNulls(entry) {
268
+ const result = {};
269
+ if (entry.id != null)
270
+ result.id = entry.id;
271
+ if (entry.createdAt != null)
272
+ result.createdAt = entry.createdAt;
273
+ if (entry.updatedAt != null)
274
+ result.updatedAt = entry.updatedAt;
275
+ return result;
276
+ }
277
+ /** Set metadata for a content item in the map. */
278
+ export function setMetadataForContent(map, language, slug, entry) {
279
+ if (!map.content[language])
280
+ map.content[language] = {};
281
+ const current = map.content[language][slug] || {};
282
+ map.content[language][slug] = { ...current, ...stripNulls(entry) };
283
+ }
284
+ /** Get metadata for an email template from the map. */
285
+ export function getMetadataForEmailTemplate(map, language, name) {
286
+ return map.emailTemplates?.[language]?.[name];
287
+ }
288
+ /** Set metadata for an email template in the map. */
289
+ export function setMetadataForEmailTemplate(map, language, name, entry) {
290
+ if (!map.emailTemplates)
291
+ map.emailTemplates = {};
292
+ if (!map.emailTemplates[language])
293
+ map.emailTemplates[language] = {};
294
+ const current = map.emailTemplates[language][name] || {};
295
+ map.emailTemplates[language][name] = { ...current, ...stripNulls(entry) };
296
+ }
297
+ //# sourceMappingURL=remote-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-context.js","sourceRoot":"","sources":["../../src/lib/remote-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init-leadcms.d.ts","sourceRoot":"","sources":["../../src/scripts/init-leadcms.ts"],"names":[],"mappings":";AACA;;;GAGG;AA0DH;;GAEG;AACH,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOxC;AA0KD;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA4PjD;AAGD,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"init-leadcms.d.ts","sourceRoot":"","sources":["../../src/scripts/init-leadcms.ts"],"names":[],"mappings":";AACA;;;GAGG;AA6DH;;GAEG;AACH,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOxC;AAgPD;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA4TjD;AAGD,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -81,13 +81,31 @@ function updateEnvFile(config) {
81
81
  }
82
82
  });
83
83
  // Update with new values
84
- envVars.set('LEADCMS_URL', config.url);
85
- if (config.apiKey) {
86
- envVars.set('LEADCMS_API_KEY', config.apiKey);
84
+ const remoteEnvName = config.remoteName.toUpperCase().replace(/-/g, '_');
85
+ const remoteApiKey = `LEADCMS_REMOTE_${remoteEnvName}_API_KEY`;
86
+ const remoteUrlKey = `LEADCMS_REMOTE_${remoteEnvName}_URL`;
87
+ if (config.mode === 'multi') {
88
+ envVars.delete('LEADCMS_URL');
89
+ envVars.set(remoteUrlKey, config.url);
90
+ // Keep generic key as fallback for default remote, but prefer remote-specific key.
91
+ if (config.apiKey) {
92
+ envVars.set(remoteApiKey, config.apiKey);
93
+ envVars.set('LEADCMS_API_KEY', config.apiKey);
94
+ }
95
+ else {
96
+ envVars.delete(remoteApiKey);
97
+ envVars.delete('LEADCMS_API_KEY');
98
+ }
87
99
  }
88
100
  else {
89
- // Remove API key if it exists but user wants anonymous mode
90
- envVars.delete('LEADCMS_API_KEY');
101
+ envVars.set('LEADCMS_URL', config.url);
102
+ if (config.apiKey) {
103
+ envVars.set('LEADCMS_API_KEY', config.apiKey);
104
+ }
105
+ else {
106
+ // Remove API key if it exists but user wants anonymous mode
107
+ envVars.delete('LEADCMS_API_KEY');
108
+ }
91
109
  }
92
110
  envVars.set('LEADCMS_DEFAULT_LANGUAGE', config.defaultLanguage);
93
111
  // Build new content
@@ -110,6 +128,36 @@ function updateEnvFile(config) {
110
128
  */
111
129
  function createConfigFile(config) {
112
130
  const configPath = path.join(process.cwd(), 'leadcms.config.json');
131
+ if (config.mode === 'multi') {
132
+ const remotes = {
133
+ [config.remoteName]: { url: config.url },
134
+ };
135
+ for (const remote of config.additionalRemotes) {
136
+ remotes[remote.name] = { url: remote.url };
137
+ }
138
+ const configData = {
139
+ remotes,
140
+ defaultRemote: config.remoteName,
141
+ };
142
+ if (config.contentDir !== DEFAULTS.contentDir) {
143
+ configData.contentDir = config.contentDir;
144
+ }
145
+ if (config.mediaDir !== DEFAULTS.mediaDir) {
146
+ configData.mediaDir = config.mediaDir;
147
+ }
148
+ if (config.commentsDir !== DEFAULTS.commentsDir) {
149
+ configData.commentsDir = config.commentsDir;
150
+ }
151
+ if (config.emailTemplatesDir !== DEFAULTS.emailTemplatesDir) {
152
+ configData.emailTemplatesDir = config.emailTemplatesDir;
153
+ }
154
+ if (config.settingsDir !== DEFAULTS.settingsDir) {
155
+ configData.settingsDir = config.settingsDir;
156
+ }
157
+ fs.writeFileSync(configPath, JSON.stringify(configData, null, 2) + '\n', 'utf-8');
158
+ console.log(`✅ Created leadcms.config.json`);
159
+ return;
160
+ }
113
161
  // Only create config if values differ from defaults
114
162
  const needsConfig = config.contentDir !== DEFAULTS.contentDir ||
115
163
  config.mediaDir !== DEFAULTS.mediaDir ||
@@ -176,6 +224,13 @@ function readExistingConfig() {
176
224
  if (jsonConfig.contentDir) {
177
225
  existingConfig.contentDir = jsonConfig.contentDir;
178
226
  }
227
+ if (jsonConfig.defaultRemote) {
228
+ existingConfig.remoteName = jsonConfig.defaultRemote;
229
+ }
230
+ if (jsonConfig.remotes && jsonConfig.defaultRemote && jsonConfig.remotes[jsonConfig.defaultRemote]?.url) {
231
+ existingConfig.url = jsonConfig.remotes[jsonConfig.defaultRemote].url;
232
+ existingConfig.mode = 'multi';
233
+ }
179
234
  if (jsonConfig.mediaDir) {
180
235
  existingConfig.mediaDir = jsonConfig.mediaDir;
181
236
  }
@@ -228,8 +283,11 @@ export async function initLeadCMS() {
228
283
  console.log('');
229
284
  }
230
285
  const config = {
286
+ mode: existingConfig.mode || 'single',
231
287
  url: '',
232
288
  apiKey: existingConfig.apiKey || '',
289
+ remoteName: existingConfig.remoteName || 'production',
290
+ additionalRemotes: [],
233
291
  defaultLanguage: existingConfig.defaultLanguage || 'en',
234
292
  contentDir: existingConfig.contentDir || DEFAULTS.contentDir,
235
293
  mediaDir: existingConfig.mediaDir || DEFAULTS.mediaDir,
@@ -237,11 +295,30 @@ export async function initLeadCMS() {
237
295
  emailTemplatesDir: existingConfig.emailTemplatesDir || DEFAULTS.emailTemplatesDir,
238
296
  settingsDir: existingConfig.settingsDir || DEFAULTS.settingsDir,
239
297
  };
240
- // Step 1: Get LeadCMS URL
298
+ // Step 1: Choose setup mode
299
+ const setupModeInput = await question('Setup mode - single or multi remote? [single]: ');
300
+ if (setupModeInput.trim().toLowerCase() === 'multi' || setupModeInput.trim().toLowerCase() === 'm') {
301
+ config.mode = 'multi';
302
+ }
303
+ else {
304
+ config.mode = 'single';
305
+ }
306
+ if (config.mode === 'multi') {
307
+ const remoteNameInput = await question(`Default remote name [${config.remoteName}]: `);
308
+ if (remoteNameInput.trim()) {
309
+ config.remoteName = remoteNameInput.trim().toLowerCase();
310
+ }
311
+ if (!/^[a-z0-9][a-z0-9-]*$/.test(config.remoteName)) {
312
+ console.log('❌ Remote name must be lowercase alphanumeric with hyphens.');
313
+ rl.close();
314
+ return;
315
+ }
316
+ }
317
+ // Step 2: Get LeadCMS URL
241
318
  const existingUrlForPrompt = existingConfig.url || '';
242
319
  const urlPrompt = existingUrlForPrompt
243
- ? `Enter your LeadCMS URL [${existingUrlForPrompt}]: `
244
- : 'Enter your LeadCMS URL (e.g., https://your-instance.leadcms.ai): ';
320
+ ? `Enter URL for ${config.mode === 'multi' ? `${config.remoteName} remote` : 'LeadCMS'} [${existingUrlForPrompt}]: `
321
+ : `Enter ${config.mode === 'multi' ? `${config.remoteName} remote ` : ''}LeadCMS URL (e.g., https://your-instance.leadcms.ai): `;
245
322
  while (!config.url) {
246
323
  const urlInput = await question(urlPrompt);
247
324
  const trimmedUrl = urlInput.trim().replace(/\/$/, ''); // Remove trailing slash
@@ -260,10 +337,38 @@ export async function initLeadCMS() {
260
337
  }
261
338
  config.url = trimmedUrl;
262
339
  }
263
- // Step 2: Authentication
340
+ if (config.mode === 'multi') {
341
+ while (true) {
342
+ const addRemote = await question('Add another remote? (y/N): ');
343
+ if (addRemote.toLowerCase() !== 'y' && addRemote.toLowerCase() !== 'yes') {
344
+ break;
345
+ }
346
+ const name = (await question(' Remote name: ')).trim().toLowerCase();
347
+ const url = (await question(' Remote URL: ')).trim().replace(/\/$/, '');
348
+ if (!/^[a-z0-9][a-z0-9-]*$/.test(name)) {
349
+ console.log(' ❌ Invalid remote name. Use lowercase alphanumeric with hyphens.');
350
+ continue;
351
+ }
352
+ if (!isValidUrl(url)) {
353
+ console.log(' ❌ Invalid URL. Must start with http:// or https://');
354
+ continue;
355
+ }
356
+ if (name === config.remoteName || config.additionalRemotes.some(r => r.name === name)) {
357
+ console.log(' ❌ Remote name already exists.');
358
+ continue;
359
+ }
360
+ config.additionalRemotes.push({ name, url });
361
+ console.log(` ✓ Added remote "${name}"`);
362
+ }
363
+ }
364
+ // Step 3: Authentication
264
365
  console.log('');
265
366
  // Check if API key already exists in environment or .env files
266
- const existingApiKey = process.env.LEADCMS_API_KEY;
367
+ const remoteEnvName = config.remoteName.toUpperCase().replace(/-/g, '_');
368
+ const existingRemoteApiKey = process.env[`LEADCMS_REMOTE_${remoteEnvName}_API_KEY`];
369
+ const existingApiKey = config.mode === 'multi'
370
+ ? (existingRemoteApiKey || process.env.LEADCMS_API_KEY)
371
+ : process.env.LEADCMS_API_KEY;
267
372
  const envFilePath = path.join(process.cwd(), '.env');
268
373
  const hasEnvFile = fs.existsSync(envFilePath);
269
374
  if (existingApiKey) {
@@ -286,7 +391,14 @@ export async function initLeadCMS() {
286
391
  console.log('');
287
392
  const { token, user } = await authenticate(config.url, question);
288
393
  // Save to .env
289
- saveTokenToEnv(token);
394
+ if (config.mode === 'multi') {
395
+ const envName = config.remoteName.toUpperCase().replace(/-/g, '_');
396
+ saveTokenToEnv(token, `LEADCMS_REMOTE_${envName}_API_KEY`);
397
+ saveTokenToEnv(token, 'LEADCMS_API_KEY');
398
+ }
399
+ else {
400
+ saveTokenToEnv(token);
401
+ }
290
402
  config.apiKey = token;
291
403
  console.log('✅ Authentication successful!');
292
404
  console.log(` Logged in as: ${user.displayName || user.userName}\n`);
@@ -302,7 +414,7 @@ export async function initLeadCMS() {
302
414
  console.log(' You can run "leadcms login" later to authenticate.\n');
303
415
  }
304
416
  }
305
- // Step 3: Fetch CMS configuration (public endpoint, no authentication required)
417
+ // Step 4: Fetch CMS configuration (public endpoint, no authentication required)
306
418
  console.log('\n🔍 Connecting to LeadCMS...');
307
419
  let cmsConfig = null;
308
420
  cmsConfig = await fetchCMSConfig(config.url);
@@ -373,7 +485,7 @@ export async function initLeadCMS() {
373
485
  console.log(' Configuration will be created without directory prompts.\n');
374
486
  }
375
487
  }
376
- // Step 4: Ask for directories only for supported entity types
488
+ // Step 5: Ask for directories only for supported entity types
377
489
  if (supportsContent) {
378
490
  const contentDirInput = await question(`Content directory [${config.contentDir}]: `);
379
491
  if (contentDirInput.trim()) {
@@ -412,11 +524,11 @@ export async function initLeadCMS() {
412
524
  console.log('Next steps:');
413
525
  if (!config.apiKey) {
414
526
  console.log(' 1. Run: npx leadcms login (for write access and private content)');
415
- console.log(' 2. Run: npx leadcms pull (to download content)');
527
+ console.log(` 2. Run: npx leadcms pull${config.mode === 'multi' ? ` -r ${config.remoteName}` : ''} (to download content)`);
416
528
  console.log(' 3. Start using LeadCMS content in your project\n');
417
529
  }
418
530
  else {
419
- console.log(' 1. Run: npx leadcms pull (to download content)');
531
+ console.log(` 1. Run: npx leadcms pull${config.mode === 'multi' ? ` -r ${config.remoteName}` : ''} (to download content)`);
420
532
  console.log(' 2. Start using LeadCMS content in your project\n');
421
533
  }
422
534
  rl.close();
@@ -1 +1 @@
1
- {"version":3,"file":"init-leadcms.js","sourceRoot":"","sources":["../../src/scripts/init-leadcms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-leadcms.js","sourceRoot":"","sources":["../../src/scripts/init-leadcms.ts"],"names":[],"mappings":"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"}