@leadcms/sdk 3.4.0 → 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 (145) hide show
  1. package/dist/cli/bin/login.js +1 -1
  2. package/dist/cli/bin/login.js.map +1 -1
  3. package/dist/cli/bin/pull-all.js +4 -2
  4. package/dist/cli/bin/pull-all.js.map +1 -1
  5. package/dist/cli/bin/pull-comments.js +3 -1
  6. package/dist/cli/bin/pull-comments.js.map +1 -1
  7. package/dist/cli/bin/pull-content.js +4 -2
  8. package/dist/cli/bin/pull-content.js.map +1 -1
  9. package/dist/cli/bin/pull-email-templates.js +3 -1
  10. package/dist/cli/bin/pull-email-templates.js.map +1 -1
  11. package/dist/cli/bin/pull-media.js +3 -1
  12. package/dist/cli/bin/pull-media.js.map +1 -1
  13. package/dist/cli/bin/pull-settings.js +2 -0
  14. package/dist/cli/bin/pull-settings.js.map +1 -1
  15. package/dist/cli/bin/push-all.js +4 -1
  16. package/dist/cli/bin/push-all.js.map +1 -1
  17. package/dist/cli/bin/push-comments.js +2 -0
  18. package/dist/cli/bin/push-comments.js.map +1 -1
  19. package/dist/cli/bin/push-content.js +5 -3
  20. package/dist/cli/bin/push-content.js.map +1 -1
  21. package/dist/cli/bin/push-email-templates.js +3 -1
  22. package/dist/cli/bin/push-email-templates.js.map +1 -1
  23. package/dist/cli/bin/push-media.js +2 -0
  24. package/dist/cli/bin/push-media.js.map +1 -1
  25. package/dist/cli/bin/push-settings.js +2 -0
  26. package/dist/cli/bin/push-settings.js.map +1 -1
  27. package/dist/cli/bin/push.js +5 -3
  28. package/dist/cli/bin/push.js.map +1 -1
  29. package/dist/cli/bin/remote-flag.d.ts +17 -0
  30. package/dist/cli/bin/remote-flag.d.ts.map +1 -0
  31. package/dist/cli/bin/remote-flag.js +50 -0
  32. package/dist/cli/bin/remote-flag.js.map +1 -0
  33. package/dist/cli/bin/remote.d.ts +14 -0
  34. package/dist/cli/bin/remote.d.ts.map +1 -0
  35. package/dist/cli/bin/remote.js +291 -0
  36. package/dist/cli/bin/remote.js.map +1 -0
  37. package/dist/cli/bin/status-all.js +4 -2
  38. package/dist/cli/bin/status-all.js.map +1 -1
  39. package/dist/cli/bin/status-comments.js +2 -0
  40. package/dist/cli/bin/status-comments.js.map +1 -1
  41. package/dist/cli/bin/status-content.js +4 -2
  42. package/dist/cli/bin/status-content.js.map +1 -1
  43. package/dist/cli/bin/status-email-templates.js +3 -1
  44. package/dist/cli/bin/status-email-templates.js.map +1 -1
  45. package/dist/cli/bin/status-media.js +2 -0
  46. package/dist/cli/bin/status-media.js.map +1 -1
  47. package/dist/cli/bin/status-settings.js +2 -0
  48. package/dist/cli/bin/status-settings.js.map +1 -1
  49. package/dist/cli/bin/status.js +5 -2
  50. package/dist/cli/bin/status.js.map +1 -1
  51. package/dist/cli/bin/watch.js +6 -3
  52. package/dist/cli/bin/watch.js.map +1 -1
  53. package/dist/cli/index.js +47 -10
  54. package/dist/cli/index.js.map +1 -1
  55. package/dist/index.js +0 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/lib/auth.d.ts +1 -1
  58. package/dist/lib/auth.d.ts.map +1 -1
  59. package/dist/lib/auth.js +5 -5
  60. package/dist/lib/auth.js.map +1 -1
  61. package/dist/lib/config.d.ts +6 -1
  62. package/dist/lib/config.d.ts.map +1 -1
  63. package/dist/lib/config.js +37 -4
  64. package/dist/lib/config.js.map +1 -1
  65. package/dist/lib/content-transformation.d.ts +5 -0
  66. package/dist/lib/content-transformation.d.ts.map +1 -1
  67. package/dist/lib/content-transformation.js +49 -2
  68. package/dist/lib/content-transformation.js.map +1 -1
  69. package/dist/lib/data-service.d.ts +6 -0
  70. package/dist/lib/data-service.d.ts.map +1 -1
  71. package/dist/lib/data-service.js +11 -0
  72. package/dist/lib/data-service.js.map +1 -1
  73. package/dist/lib/remote-context.d.ts +98 -0
  74. package/dist/lib/remote-context.d.ts.map +1 -0
  75. package/dist/lib/remote-context.js +297 -0
  76. package/dist/lib/remote-context.js.map +1 -0
  77. package/dist/scripts/init-leadcms.d.ts.map +1 -1
  78. package/dist/scripts/init-leadcms.js +127 -15
  79. package/dist/scripts/init-leadcms.js.map +1 -1
  80. package/dist/scripts/leadcms-helpers.d.ts +16 -5
  81. package/dist/scripts/leadcms-helpers.d.ts.map +1 -1
  82. package/dist/scripts/leadcms-helpers.js +31 -8
  83. package/dist/scripts/leadcms-helpers.js.map +1 -1
  84. package/dist/scripts/login-leadcms.d.ts +4 -1
  85. package/dist/scripts/login-leadcms.d.ts.map +1 -1
  86. package/dist/scripts/login-leadcms.js +45 -6
  87. package/dist/scripts/login-leadcms.js.map +1 -1
  88. package/dist/scripts/pull-all.d.ts +14 -6
  89. package/dist/scripts/pull-all.d.ts.map +1 -1
  90. package/dist/scripts/pull-all.js +86 -33
  91. package/dist/scripts/pull-all.js.map +1 -1
  92. package/dist/scripts/pull-comments.d.ts +3 -0
  93. package/dist/scripts/pull-comments.d.ts.map +1 -1
  94. package/dist/scripts/pull-comments.js +4 -4
  95. package/dist/scripts/pull-comments.js.map +1 -1
  96. package/dist/scripts/pull-content.d.ts +3 -0
  97. package/dist/scripts/pull-content.d.ts.map +1 -1
  98. package/dist/scripts/pull-content.js +7 -6
  99. package/dist/scripts/pull-content.js.map +1 -1
  100. package/dist/scripts/pull-email-templates.d.ts +3 -0
  101. package/dist/scripts/pull-email-templates.d.ts.map +1 -1
  102. package/dist/scripts/pull-email-templates.js +4 -4
  103. package/dist/scripts/pull-email-templates.js.map +1 -1
  104. package/dist/scripts/{fetch-leadcms-comments.d.ts → pull-leadcms-comments.d.ts} +7 -6
  105. package/dist/scripts/pull-leadcms-comments.d.ts.map +1 -0
  106. package/dist/scripts/{fetch-leadcms-comments.js → pull-leadcms-comments.js} +56 -28
  107. package/dist/scripts/pull-leadcms-comments.js.map +1 -0
  108. package/dist/scripts/{fetch-leadcms-content.d.ts → pull-leadcms-content.d.ts} +13 -19
  109. package/dist/scripts/pull-leadcms-content.d.ts.map +1 -0
  110. package/dist/scripts/{fetch-leadcms-content.js → pull-leadcms-content.js} +121 -250
  111. package/dist/scripts/pull-leadcms-content.js.map +1 -0
  112. package/dist/scripts/{fetch-leadcms-email-templates.d.ts → pull-leadcms-email-templates.d.ts} +5 -4
  113. package/dist/scripts/pull-leadcms-email-templates.d.ts.map +1 -0
  114. package/dist/scripts/{fetch-leadcms-email-templates.js → pull-leadcms-email-templates.js} +89 -11
  115. package/dist/scripts/pull-leadcms-email-templates.js.map +1 -0
  116. package/dist/scripts/pull-leadcms-media.d.ts +32 -0
  117. package/dist/scripts/pull-leadcms-media.d.ts.map +1 -0
  118. package/dist/scripts/pull-leadcms-media.js +229 -0
  119. package/dist/scripts/pull-leadcms-media.js.map +1 -0
  120. package/dist/scripts/pull-media.d.ts +4 -1
  121. package/dist/scripts/pull-media.d.ts.map +1 -1
  122. package/dist/scripts/pull-media.js +4 -4
  123. package/dist/scripts/pull-media.js.map +1 -1
  124. package/dist/scripts/push-comments.js +3 -3
  125. package/dist/scripts/push-comments.js.map +1 -1
  126. package/dist/scripts/push-email-templates.d.ts +6 -1
  127. package/dist/scripts/push-email-templates.d.ts.map +1 -1
  128. package/dist/scripts/push-email-templates.js +96 -21
  129. package/dist/scripts/push-email-templates.js.map +1 -1
  130. package/dist/scripts/push-leadcms-content.d.ts +9 -3
  131. package/dist/scripts/push-leadcms-content.d.ts.map +1 -1
  132. package/dist/scripts/push-leadcms-content.js +110 -36
  133. package/dist/scripts/push-leadcms-content.js.map +1 -1
  134. package/dist/scripts/sse-watcher.d.ts +9 -8
  135. package/dist/scripts/sse-watcher.d.ts.map +1 -1
  136. package/dist/scripts/sse-watcher.js +59 -52
  137. package/dist/scripts/sse-watcher.js.map +1 -1
  138. package/leadcms.config.json.sample +12 -1
  139. package/package.json +2 -3
  140. package/dist/scripts/fetch-leadcms-comments.d.ts.map +0 -1
  141. package/dist/scripts/fetch-leadcms-comments.js.map +0 -1
  142. package/dist/scripts/fetch-leadcms-content.d.ts.map +0 -1
  143. package/dist/scripts/fetch-leadcms-content.js.map +0 -1
  144. package/dist/scripts/fetch-leadcms-email-templates.d.ts.map +0 -1
  145. package/dist/scripts/fetch-leadcms-email-templates.js.map +0 -1
@@ -6,6 +6,9 @@ import { leadCMSUrl, leadCMSApiKey, defaultLanguage, EMAIL_TEMPLATES_DIR, } from
6
6
  import { parseEmailTemplateFileContent, transformEmailTemplateRemoteToLocalFormat, } from "../lib/email-template-transformation.js";
7
7
  import { threeWayMerge, isLocallyModified } from "../lib/content-merge.js";
8
8
  import { leadCMSDataService } from "../lib/data-service.js";
9
+ import { syncTokenPath } from "../lib/remote-context.js";
10
+ import { getConfig } from "../lib/config.js";
11
+ import { logger } from "../lib/logger.js";
9
12
  const SYNC_TOKEN_PATH = path.join(EMAIL_TEMPLATES_DIR, ".sync-token");
10
13
  async function readFileOrUndefined(filePath) {
11
14
  try {
@@ -15,16 +18,43 @@ async function readFileOrUndefined(filePath) {
15
18
  return undefined;
16
19
  }
17
20
  }
18
- async function writeSyncToken(token) {
21
+ /**
22
+ * Read the email-templates sync token.
23
+ * When remoteCtx is provided, reads from the remote-specific state directory.
24
+ */
25
+ async function readSyncToken(remoteCtx) {
26
+ if (remoteCtx) {
27
+ const tokenPath = syncTokenPath(remoteCtx, "email-templates");
28
+ const token = await readFileOrUndefined(tokenPath);
29
+ if (token)
30
+ return { token, migrated: false };
31
+ // Migration: check old single-remote path
32
+ const legacyToken = await readFileOrUndefined(SYNC_TOKEN_PATH);
33
+ if (legacyToken) {
34
+ logger.verbose(`[SYNC] Migrating email-templates sync token to remote "${remoteCtx.name}"`);
35
+ return { token: legacyToken, migrated: true };
36
+ }
37
+ return { token: undefined, migrated: false };
38
+ }
39
+ const token = await readFileOrUndefined(SYNC_TOKEN_PATH);
40
+ return { token, migrated: false };
41
+ }
42
+ async function writeSyncToken(token, remoteCtx) {
43
+ if (remoteCtx) {
44
+ const tokenPath = syncTokenPath(remoteCtx, "email-templates");
45
+ await fs.mkdir(path.dirname(tokenPath), { recursive: true });
46
+ await fs.writeFile(tokenPath, token, "utf8");
47
+ return;
48
+ }
19
49
  await fs.mkdir(path.dirname(SYNC_TOKEN_PATH), { recursive: true });
20
50
  await fs.writeFile(SYNC_TOKEN_PATH, token, "utf8");
21
51
  }
22
- async function fetchEmailTemplateSync(syncToken) {
52
+ async function pullEmailTemplateSync(syncToken) {
23
53
  if (!leadCMSUrl) {
24
54
  throw new Error("LeadCMS URL is not configured.");
25
55
  }
26
56
  if (!leadCMSApiKey) {
27
- throw new Error("LeadCMS API key is required to fetch email templates.");
57
+ throw new Error("LeadCMS API key is required to pull email templates.");
28
58
  }
29
59
  let allItems = [];
30
60
  let allDeleted = [];
@@ -171,9 +201,25 @@ async function deleteEmailTemplateFilesById(index, id) {
171
201
  }
172
202
  index.delete(id);
173
203
  }
174
- export async function fetchLeadCMSEmailTemplates() {
175
- const lastSyncToken = await readFileOrUndefined(SYNC_TOKEN_PATH);
176
- const { items, deleted, baseItems, nextSyncToken } = await fetchEmailTemplateSync(lastSyncToken);
204
+ export async function pullLeadCMSEmailTemplates(remoteCtx) {
205
+ const { token: lastSyncToken } = await readSyncToken(remoteCtx);
206
+ const { items, deleted, baseItems, nextSyncToken } = await pullEmailTemplateSync(lastSyncToken);
207
+ // Load per-remote metadata for multi-remote support
208
+ let metadataMap;
209
+ const rcModule = remoteCtx ? await import('../lib/remote-context.js') : undefined;
210
+ if (remoteCtx && rcModule) {
211
+ metadataMap = await rcModule.readMetadataMap(remoteCtx);
212
+ }
213
+ // Load defaultRemote's maps so frontmatter always reflects the default
214
+ // remote's ids and timestamps, even when pulling from another remote.
215
+ let defaultMetadataMap;
216
+ if (remoteCtx && !remoteCtx.isDefault && rcModule) {
217
+ const cfg = getConfig();
218
+ if (cfg.defaultRemote) {
219
+ const defaultCtx = rcModule.resolveRemote(cfg.defaultRemote, cfg);
220
+ defaultMetadataMap = await rcModule.readMetadataMap(defaultCtx);
221
+ }
222
+ }
177
223
  // The sync API returns emailGroup: null — resolve from the groups endpoint
178
224
  if (items.length > 0) {
179
225
  const emailGroups = await leadCMSDataService.getAllEmailGroups();
@@ -207,6 +253,33 @@ export async function fetchLeadCMSEmailTemplates() {
207
253
  for (const template of items) {
208
254
  const idStr = template.id != null ? String(template.id) : undefined;
209
255
  const filePath = getEmailTemplateFilePath(template);
256
+ // Update per-remote metadata with this template's data
257
+ if (remoteCtx && rcModule && metadataMap && template.name && template.language) {
258
+ if (template.id != null) {
259
+ rcModule.setEmailTemplateRemoteId(metadataMap, template.language || defaultLanguage, template.name, template.id);
260
+ }
261
+ rcModule.setMetadataForEmailTemplate(metadataMap, template.language || defaultLanguage, template.name, {
262
+ createdAt: template.createdAt,
263
+ updatedAt: template.updatedAt ?? undefined,
264
+ });
265
+ }
266
+ // For non-default remotes, replace server-generated fields with the
267
+ // defaultRemote's values so frontmatter always reflects prod ids/dates.
268
+ // The current remote's values are already stored in its per-remote maps.
269
+ let templateToSave = template;
270
+ if (remoteCtx && !remoteCtx.isDefault) {
271
+ const { id, createdAt, updatedAt, ...rest } = template;
272
+ const lang = template.language || defaultLanguage;
273
+ const name = template.name || '';
274
+ const defaultId = defaultMetadataMap?.emailTemplates?.[lang]?.[name]?.id;
275
+ const defaultMeta = defaultMetadataMap?.emailTemplates?.[lang]?.[name];
276
+ templateToSave = {
277
+ ...(defaultId != null ? { id: defaultId } : {}),
278
+ ...(defaultMeta?.createdAt ? { createdAt: defaultMeta.createdAt } : {}),
279
+ ...(defaultMeta?.updatedAt ? { updatedAt: defaultMeta.updatedAt } : {}),
280
+ ...rest,
281
+ };
282
+ }
210
283
  let localContent = null;
211
284
  try {
212
285
  localContent = await fs.readFile(filePath, "utf8");
@@ -220,7 +293,7 @@ export async function fetchLeadCMSEmailTemplates() {
220
293
  const baseTemplate = idStr ? baseItems[idStr] : undefined;
221
294
  if (localContent && baseTemplate && hasBaseItems) {
222
295
  const baseTransformed = transformEmailTemplateRemoteToLocalFormat(baseTemplate);
223
- const remoteTransformed = transformEmailTemplateRemoteToLocalFormat(template);
296
+ const remoteTransformed = transformEmailTemplateRemoteToLocalFormat(templateToSave);
224
297
  if (!isLocallyModified(baseTransformed, localContent)) {
225
298
  await fs.mkdir(path.dirname(filePath), { recursive: true });
226
299
  await fs.writeFile(filePath, remoteTransformed, "utf8");
@@ -241,7 +314,7 @@ export async function fetchLeadCMSEmailTemplates() {
241
314
  }
242
315
  }
243
316
  else {
244
- await saveEmailTemplateFile(template);
317
+ await saveEmailTemplateFile(templateToSave);
245
318
  if (localContent) {
246
319
  overwrittenCount++;
247
320
  }
@@ -264,9 +337,14 @@ export async function fetchLeadCMSEmailTemplates() {
264
337
  for (const id of deleted) {
265
338
  await deleteEmailTemplateFilesById(idIndex, String(id));
266
339
  }
340
+ // Persist per-remote metadata after processing all templates
341
+ if (remoteCtx && rcModule && metadataMap && items.length > 0) {
342
+ await rcModule.writeMetadataMap(remoteCtx, metadataMap);
343
+ logger.verbose(`[PULL] Updated metadata-map for remote "${remoteCtx.name}"`);
344
+ }
267
345
  if (nextSyncToken) {
268
- await writeSyncToken(nextSyncToken);
346
+ await writeSyncToken(nextSyncToken, remoteCtx);
269
347
  }
270
348
  }
271
- export { buildEmailTemplateIdIndex, deleteEmailTemplateFilesById, saveEmailTemplateFile, fetchEmailTemplateSync };
272
- //# sourceMappingURL=fetch-leadcms-email-templates.js.map
349
+ export { buildEmailTemplateIdIndex, deleteEmailTemplateFilesById, saveEmailTemplateFile, pullEmailTemplateSync };
350
+ //# sourceMappingURL=pull-leadcms-email-templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-leadcms-email-templates.js","sourceRoot":"","sources":["../../src/scripts/pull-leadcms-email-templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import "dotenv/config";
2
+ import type { RemoteContext } from "../lib/remote-context.js";
3
+ /**
4
+ * Options for pullLeadCMSMedia.
5
+ */
6
+ export interface PullMediaOptions {
7
+ /**
8
+ * Remote context for multi-remote support. When provided, sync tokens and
9
+ * API calls use this remote's URL and per-remote state directory.
10
+ * When omitted, falls back to single-remote behavior (backward compat).
11
+ */
12
+ remoteContext?: RemoteContext;
13
+ }
14
+ export interface MediaItem {
15
+ location?: string;
16
+ [key: string]: any;
17
+ }
18
+ export interface MediaDeletedItem {
19
+ scopeUid: string;
20
+ name: string;
21
+ }
22
+ export interface MediaSyncResult {
23
+ items: MediaItem[];
24
+ deleted: MediaDeletedItem[];
25
+ nextSyncToken: string;
26
+ }
27
+ /**
28
+ * Pull and sync media files from LeadCMS.
29
+ */
30
+ declare function main(options?: PullMediaOptions): Promise<void>;
31
+ export { main as pullLeadCMSMedia };
32
+ //# sourceMappingURL=pull-leadcms-media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-leadcms-media.d.ts","sourceRoot":"","sources":["../../src/scripts/pull-leadcms-media.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AAWvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAGD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAQD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;CACvB;AAgJD;;GAEG;AACH,iBAAe,IAAI,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyGjE;AAED,OAAO,EAAE,IAAI,IAAI,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,229 @@
1
+ import "dotenv/config";
2
+ import fs from "fs/promises";
3
+ import path from "path";
4
+ import axios from "axios";
5
+ import { downloadMediaFileDirect, leadCMSUrl, leadCMSApiKey, MEDIA_DIR, } from "./leadcms-helpers.js";
6
+ import { logger } from "../lib/logger.js";
7
+ import { syncTokenPath } from "../lib/remote-context.js";
8
+ const MEDIA_PROGRESS_LOG_INTERVAL = 5;
9
+ // ── Sync token paths ───────────────────────────────────────────────────
10
+ const MEDIA_SYNC_TOKEN_PATH = path.join(MEDIA_DIR, ".sync-token");
11
+ // Legacy location (SDK ≤ 3.2): tokens lived in the parent of mediaDir.
12
+ const LEGACY_MEDIA_SYNC_TOKEN_PATH = path.join(path.dirname(MEDIA_DIR), "media-sync-token.txt");
13
+ /**
14
+ * Read a file and return its trimmed contents, or undefined if it doesn't exist.
15
+ */
16
+ async function readFileOrUndefined(filePath) {
17
+ try {
18
+ return (await fs.readFile(filePath, "utf8")).trim() || undefined;
19
+ }
20
+ catch {
21
+ return undefined;
22
+ }
23
+ }
24
+ /**
25
+ * Silently delete a file (no-op if missing).
26
+ */
27
+ async function unlinkSafe(filePath) {
28
+ try {
29
+ await fs.unlink(filePath);
30
+ }
31
+ catch { /* not found — ok */ }
32
+ }
33
+ /**
34
+ * Read media sync token. Checks new location first, then falls back to legacy.
35
+ * When remoteCtx is provided, reads from the remote-specific state directory.
36
+ */
37
+ async function readMediaSyncToken(remoteCtx) {
38
+ if (remoteCtx) {
39
+ const tokenPath = syncTokenPath(remoteCtx, "media");
40
+ const token = await readFileOrUndefined(tokenPath);
41
+ if (token)
42
+ return { token, migrated: false };
43
+ // Migration: check old single-remote path
44
+ const legacyToken = await readFileOrUndefined(MEDIA_SYNC_TOKEN_PATH);
45
+ if (legacyToken) {
46
+ logger.verbose(`[SYNC] Migrating media sync token to remote "${remoteCtx.name}"`);
47
+ return { token: legacyToken, migrated: true };
48
+ }
49
+ return { token: undefined, migrated: false };
50
+ }
51
+ const token = await readFileOrUndefined(MEDIA_SYNC_TOKEN_PATH);
52
+ if (token)
53
+ return { token, migrated: false };
54
+ const legacy = await readFileOrUndefined(LEGACY_MEDIA_SYNC_TOKEN_PATH);
55
+ if (legacy) {
56
+ logger.verbose(`[SYNC] Migrating media sync token from legacy location`);
57
+ return { token: legacy, migrated: true };
58
+ }
59
+ return { token: undefined, migrated: false };
60
+ }
61
+ async function writeMediaSyncToken(token, remoteCtx) {
62
+ if (remoteCtx) {
63
+ const tokenPath = syncTokenPath(remoteCtx, "media");
64
+ await fs.mkdir(path.dirname(tokenPath), { recursive: true });
65
+ await fs.writeFile(tokenPath, token, "utf8");
66
+ return;
67
+ }
68
+ await fs.mkdir(path.dirname(MEDIA_SYNC_TOKEN_PATH), { recursive: true });
69
+ await fs.writeFile(MEDIA_SYNC_TOKEN_PATH, token, "utf8");
70
+ }
71
+ /**
72
+ * Clean up legacy media sync token after successful migration.
73
+ */
74
+ async function cleanupLegacyMediaSyncToken() {
75
+ await unlinkSafe(LEGACY_MEDIA_SYNC_TOKEN_PATH);
76
+ }
77
+ async function pullMediaSync(syncToken, baseUrl) {
78
+ const effectiveUrl = baseUrl || leadCMSUrl;
79
+ logger.verbose(`[PULL_MEDIA_SYNC] Starting with syncToken: ${syncToken || "NONE"}`);
80
+ logger.verbose(`[PULL_MEDIA_SYNC] Pulling public media (no authentication)`);
81
+ let allItems = [];
82
+ let allDeleted = [];
83
+ let token = syncToken || "";
84
+ let nextSyncToken = undefined;
85
+ let page = 0;
86
+ while (true) {
87
+ const url = new URL("/api/media/sync", effectiveUrl);
88
+ url.searchParams.set("filter[limit]", "100");
89
+ url.searchParams.set("syncToken", token);
90
+ logger.verbose(`[PULL_MEDIA_SYNC] Page ${page}, URL: ${url.toString()}`);
91
+ try {
92
+ // SECURITY: Never send API key for read operations
93
+ // Media sync should only return public files
94
+ const res = await axios.get(url.toString());
95
+ if (res.status === 204) {
96
+ logger.verbose(`[PULL_MEDIA_SYNC] Got 204 No Content - ending sync`);
97
+ break;
98
+ }
99
+ const data = res.data;
100
+ logger.verbose(`[PULL_MEDIA_SYNC] Page ${page} - Got ${data.items?.length || 0} items, ${data.deleted?.length || 0} deleted`);
101
+ if (data.items && Array.isArray(data.items))
102
+ allItems.push(...data.items);
103
+ if (data.deleted && Array.isArray(data.deleted)) {
104
+ allDeleted.push(...data.deleted);
105
+ }
106
+ const newSyncToken = res.headers["x-next-sync-token"] || token;
107
+ logger.verbose(`[PULL_MEDIA_SYNC] Next sync token: ${newSyncToken}`);
108
+ if (!newSyncToken || newSyncToken === token) {
109
+ nextSyncToken = newSyncToken || token;
110
+ logger.verbose(`[PULL_MEDIA_SYNC] No new sync token - ending sync`);
111
+ break;
112
+ }
113
+ nextSyncToken = newSyncToken;
114
+ token = newSyncToken;
115
+ page++;
116
+ }
117
+ catch (error) {
118
+ console.error(`[PULL_MEDIA_SYNC] Failed on page ${page}:`, error.message);
119
+ throw error;
120
+ }
121
+ }
122
+ logger.verbose(`[PULL_MEDIA_SYNC] Completed - Total items: ${allItems.length}, deleted: ${allDeleted.length}`);
123
+ return {
124
+ items: allItems,
125
+ deleted: allDeleted,
126
+ nextSyncToken: nextSyncToken || token,
127
+ };
128
+ }
129
+ /**
130
+ * Pull and sync media files from LeadCMS.
131
+ */
132
+ async function main(options = {}) {
133
+ const { remoteContext: remoteCtx } = options;
134
+ const effectiveUrl = remoteCtx?.url || leadCMSUrl;
135
+ const effectiveApiKey = remoteCtx?.apiKey || leadCMSApiKey;
136
+ logger.verbose(`[PULL_MEDIA] LeadCMS URL: ${effectiveUrl}`);
137
+ logger.verbose(`[PULL_MEDIA] Media Dir: ${MEDIA_DIR}`);
138
+ if (remoteCtx) {
139
+ logger.verbose(`[PULL_MEDIA] Remote: ${remoteCtx.name}`);
140
+ }
141
+ await fs.mkdir(MEDIA_DIR, { recursive: true });
142
+ const { token: lastMediaSyncToken, migrated: mediaTokenMigrated } = await readMediaSyncToken(remoteCtx);
143
+ let mediaItems = [];
144
+ let mediaDeleted = [];
145
+ let nextMediaSyncToken = "";
146
+ try {
147
+ if (lastMediaSyncToken) {
148
+ logger.verbose(`Syncing media from LeadCMS using sync token: ${lastMediaSyncToken}`);
149
+ ({ items: mediaItems, deleted: mediaDeleted, nextSyncToken: nextMediaSyncToken } = await pullMediaSync(lastMediaSyncToken, effectiveUrl));
150
+ }
151
+ else {
152
+ logger.verbose("No media sync token found. Doing full pull from LeadCMS...");
153
+ ({ items: mediaItems, deleted: mediaDeleted, nextSyncToken: nextMediaSyncToken } = await pullMediaSync(undefined, effectiveUrl));
154
+ }
155
+ }
156
+ catch (error) {
157
+ console.error(`[PULL_MEDIA] Failed to pull media:`, error.message);
158
+ if (error.response?.status === 401) {
159
+ console.error(`[PULL_MEDIA] Authentication failed - check your LEADCMS_API_KEY`);
160
+ }
161
+ throw error;
162
+ }
163
+ logger.verbose(`Pulled ${mediaItems.length} media items, ${mediaDeleted.length} deleted.\x1b[0m`);
164
+ // Download new/updated media files
165
+ console.log(`🖼️ Processing media sync (${mediaItems.length} downloads, ${mediaDeleted.length} deletions)...`);
166
+ if (mediaItems.length > 0) {
167
+ logger.verbose(`\nProcessing media changes...`);
168
+ let downloaded = 0;
169
+ let attemptedDownloads = 0;
170
+ for (const mediaItem of mediaItems) {
171
+ if (mediaItem.location) {
172
+ attemptedDownloads++;
173
+ if (attemptedDownloads === 1
174
+ || attemptedDownloads % MEDIA_PROGRESS_LOG_INTERVAL === 0
175
+ || attemptedDownloads === mediaItems.length) {
176
+ console.log(` ⬇️ Media download progress: ${attemptedDownloads}/${mediaItems.length}`);
177
+ }
178
+ const relPath = mediaItem.location.replace(/^\/api\/media\//, "");
179
+ const destPath = path.join(MEDIA_DIR, relPath);
180
+ const didDownload = await downloadMediaFileDirect(mediaItem.location, destPath, effectiveUrl || "", effectiveApiKey || "");
181
+ if (didDownload) {
182
+ logger.verbose(`Downloaded: ${mediaItem.location} -> ${destPath}`);
183
+ downloaded++;
184
+ }
185
+ }
186
+ }
187
+ console.log(`Done. ${downloaded} media files downloaded.`);
188
+ }
189
+ else if (mediaDeleted.length === 0) {
190
+ console.log(`No media changes detected.`);
191
+ }
192
+ // Remove deleted media files from local filesystem
193
+ if (mediaDeleted.length > 0) {
194
+ console.log(`Removing ${mediaDeleted.length} deleted media files...`);
195
+ let removedCount = 0;
196
+ for (const deletedMedia of mediaDeleted) {
197
+ const relPath = deletedMedia.scopeUid
198
+ ? path.join(deletedMedia.scopeUid, deletedMedia.name)
199
+ : deletedMedia.name;
200
+ const fullPath = path.join(MEDIA_DIR, relPath);
201
+ try {
202
+ await fs.unlink(fullPath);
203
+ logger.verbose(`Deleted media: ${fullPath}`);
204
+ removedCount++;
205
+ }
206
+ catch (err) {
207
+ if (err.code !== 'ENOENT') {
208
+ console.warn(`Warning: Could not delete media file ${fullPath}:`, err.message);
209
+ }
210
+ }
211
+ }
212
+ console.log(`Done. ${removedCount} media files removed.`);
213
+ }
214
+ // Save sync token
215
+ if (nextMediaSyncToken) {
216
+ await writeMediaSyncToken(nextMediaSyncToken, remoteCtx);
217
+ logger.verbose(`Media sync token updated: ${nextMediaSyncToken}`);
218
+ }
219
+ // Clean up legacy sync token after successful migration
220
+ if (mediaTokenMigrated) {
221
+ await cleanupLegacyMediaSyncToken();
222
+ logger.verbose(`[SYNC] Removed legacy media sync token`);
223
+ if (remoteCtx) {
224
+ await unlinkSafe(MEDIA_SYNC_TOKEN_PATH);
225
+ }
226
+ }
227
+ }
228
+ export { main as pullLeadCMSMedia };
229
+ //# sourceMappingURL=pull-leadcms-media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull-leadcms-media.js","sourceRoot":"","sources":["../../src/scripts/pull-leadcms-media.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,15 @@
3
3
  * Pull only media from LeadCMS (no content, no comments)
4
4
  */
5
5
  import "dotenv/config";
6
+ import type { RemoteContext } from "../lib/remote-context.js";
6
7
  interface PullMediaOptions {
7
8
  /** When true, delete all local media files and sync tokens before pulling, effectively doing a fresh pull. */
8
9
  reset?: boolean;
10
+ /** Remote context for multi-remote support. */
11
+ remoteContext?: RemoteContext;
9
12
  }
10
13
  /**
11
- * Main function - currently media is fetched as part of content sync
14
+ * Main function - currently media is pulled as part of content sync
12
15
  * This is a placeholder for future dedicated media sync
13
16
  */
14
17
  declare function main(options?: PullMediaOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"pull-media.d.ts","sourceRoot":"","sources":["../../src/scripts/pull-media.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAOvB,UAAU,gBAAgB;IACxB,8GAA8G;IAC9G,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,iBAAe,IAAI,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCjE;AAKD,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"pull-media.d.ts","sourceRoot":"","sources":["../../src/scripts/pull-media.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,UAAU,gBAAgB;IACxB,8GAA8G;IAC9G,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;;GAGG;AACH,iBAAe,IAAI,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCjE;AAKD,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC"}
@@ -9,7 +9,7 @@ import { setCMSConfig, isMediaSupported } from "../lib/cms-config-types.js";
9
9
  import { resetMediaState } from "./pull-all.js";
10
10
  import { logger } from "../lib/logger.js";
11
11
  /**
12
- * Main function - currently media is fetched as part of content sync
12
+ * Main function - currently media is pulled as part of content sync
13
13
  * This is a placeholder for future dedicated media sync
14
14
  */
15
15
  async function main(options = {}) {
@@ -38,9 +38,9 @@ async function main(options = {}) {
38
38
  console.warn(`⚠️ Could not fetch CMS config: ${error.message}`);
39
39
  console.warn(`⚠️ Assuming media is supported (backward compatibility)\n`);
40
40
  }
41
- // Import and run content fetch (which includes media)
42
- const { fetchLeadCMSContent } = await import('./fetch-leadcms-content.js');
43
- await fetchLeadCMSContent();
41
+ // Pull media
42
+ const { pullLeadCMSMedia } = await import('./pull-leadcms-media.js');
43
+ await pullLeadCMSMedia({ remoteContext: options.remoteContext });
44
44
  console.log(`\n✨ Media pull completed!\n`);
45
45
  }
46
46
  // Note: CLI execution moved to src/cli/bin/pull-media.ts
@@ -1 +1 @@
1
- {"version":3,"file":"pull-media.js","sourceRoot":"","sources":["../../src/scripts/pull-media.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAO1C;;;GAGG;AACH,KAAK,UAAU,IAAI,CAAC,UAA4B,EAAE;IAChD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAE1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,kDAAkD;IAClD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhE,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC7E,CAAC;IAED,sDAAsD;IACtD,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC3E,MAAM,mBAAmB,EAAE,CAAC;IAE5B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC7C,CAAC;AAED,yDAAyD;AACzD,+DAA+D;AAE/D,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"pull-media.js","sourceRoot":"","sources":["../../src/scripts/pull-media.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,eAAe,CAAC;AACvB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAW1C;;;GAGG;AACH,KAAK,UAAU,IAAI,CAAC,UAA4B,EAAE;IAChD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAE1B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,kDAAkD;IAClD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhE,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC7E,CAAC;IAED,aAAa;IACb,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACrE,MAAM,gBAAgB,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAEjE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC7C,CAAC;AAED,yDAAyD;AACzD,+DAA+D;AAE/D,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC"}
@@ -7,7 +7,7 @@ import { leadCMSDataService } from '../lib/data-service.js';
7
7
  import { isValidLocaleCode } from '../lib/locale-utils.js';
8
8
  import { colorConsole, diffColors, statusColors } from '../lib/console-colors.js';
9
9
  import { logger } from '../lib/logger.js';
10
- import { fetchCommentSync, fetchLeadCMSComments, saveCommentsForEntity } from './fetch-leadcms-comments.js';
10
+ import { pullCommentSync, pullLeadCMSComments, saveCommentsForEntity } from './pull-leadcms-comments.js';
11
11
  const config = getConfig();
12
12
  const COMMENTS_DIR = path.resolve(config.commentsDir);
13
13
  const DEFAULT_LANGUAGE = config.defaultLanguage;
@@ -160,7 +160,7 @@ function filterUndefinedValues(value) {
160
160
  return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined));
161
161
  }
162
162
  async function fetchRemoteComments() {
163
- const result = await fetchCommentSync(undefined);
163
+ const result = await pullCommentSync(undefined);
164
164
  return result.items;
165
165
  }
166
166
  async function updateLocalFileFromResponse(local, remote) {
@@ -427,7 +427,7 @@ export async function pushComments(options = {}) {
427
427
  }
428
428
  if (!dryRun && didMutate) {
429
429
  console.log('🔄 Refreshing local comments anonymously...');
430
- await fetchLeadCMSComments();
430
+ await pullLeadCMSComments();
431
431
  }
432
432
  }
433
433
  //# sourceMappingURL=push-comments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"push-comments.js","sourceRoot":"","sources":["../../src/scripts/push-comments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-comments.js","sourceRoot":"","sources":["../../src/scripts/push-comments.ts"],"names":[],"mappings":"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"}