@mdfriday/foundry 26.2.6 → 26.2.7

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.
@@ -47,12 +47,13 @@ function New3(level = "info" /* INFO */) {
47
47
  function NewWithConfig(config2) {
48
48
  return new Logger(config2);
49
49
  }
50
- var util, Logger;
50
+ var util, console2, Logger;
51
51
  var init_logger = __esm({
52
52
  "pkg/log/logger.ts"() {
53
53
  "use strict";
54
54
  util = __toESM2(require("util"));
55
55
  init_types();
56
+ console2 = __toESM2(require("console"));
56
57
  Logger = class _Logger {
57
58
  config;
58
59
  fields;
@@ -116,6 +117,7 @@ var init_logger = __esm({
116
117
  entry.caller = caller;
117
118
  }
118
119
  const output = this.config.jsonFormat ? JSON.stringify(entry) : this.formatPlainText(entry);
120
+ console2.log(output);
119
121
  if (level === "error" /* ERROR */ || level === "fatal" /* FATAL */) {
120
122
  process.stderr.write(output + "\n");
121
123
  } else {
@@ -202,7 +204,7 @@ var init_manager = __esm({
202
204
  loggers;
203
205
  constructor() {
204
206
  this.globalConfig = {
205
- level: "error" /* ERROR */,
207
+ level: "debug" /* DEBUG */,
206
208
  enableCaller: true,
207
209
  jsonFormat: true
208
210
  };
@@ -319,12 +321,12 @@ function clearPageFilter() {
319
321
  function shouldProcessPage(language2, pagePath) {
320
322
  return pageFilter.shouldProcess(language2, pagePath);
321
323
  }
322
- var log, PageFilterManager, pageFilter;
324
+ var log2, PageFilterManager, pageFilter;
323
325
  var init_page_filter = __esm({
324
326
  "pkg/page-filter/index.ts"() {
325
327
  "use strict";
326
328
  init_log();
327
- log = getDomainLogger("pkg", { component: "page-filter" });
329
+ log2 = getDomainLogger("pkg", { component: "page-filter" });
328
330
  PageFilterManager = class {
329
331
  filterSet = null;
330
332
  currentLanguage = null;
@@ -338,7 +340,7 @@ var init_page_filter = __esm({
338
340
  const key3 = `${task.language}:${task.pagePath}`;
339
341
  this.filterSet.add(key3);
340
342
  }
341
- log.debug(`Page filter set: ${tasks2.length} tasks`);
343
+ log2.debug(`Page filter set: ${tasks2.length} tasks`);
342
344
  }
343
345
  /**
344
346
  * 设置当前处理的语言
@@ -352,7 +354,7 @@ var init_page_filter = __esm({
352
354
  clearFilter() {
353
355
  this.filterSet = null;
354
356
  this.currentLanguage = null;
355
- log.debug("Page filter cleared");
357
+ log2.debug("Page filter cleared");
356
358
  }
357
359
  /**
358
360
  * 检查是否应该处理此页面 (O(1) 查找)
@@ -2666,7 +2668,7 @@ function newHttpClient(fs3, timeout, headers, customClient) {
2666
2668
  }
2667
2669
  return new NodeHttpClient(fs3, timeout, headers);
2668
2670
  }
2669
- var path6, http, https, log2, NodeHttpClient;
2671
+ var path6, http, https, log3, NodeHttpClient;
2670
2672
  var init_httpclient = __esm({
2671
2673
  "internal/domain/module/vo/httpclient.ts"() {
2672
2674
  "use strict";
@@ -2675,7 +2677,7 @@ var init_httpclient = __esm({
2675
2677
  http = __toESM2(require("http"));
2676
2678
  https = __toESM2(require("https"));
2677
2679
  init_log();
2678
- log2 = getDomainLogger("module", { component: "httpclient" });
2680
+ log3 = getDomainLogger("module", { component: "httpclient" });
2679
2681
  NodeHttpClient = class {
2680
2682
  constructor(fs3, timeout = 3e4, headers = {}) {
2681
2683
  this.fs = fs3;
@@ -2744,7 +2746,7 @@ var init_httpclient = __esm({
2744
2746
  options.onProgress(progress);
2745
2747
  lastLoggedPercentage = percentage;
2746
2748
  } catch (progressError) {
2747
- log2.error(`Progress callback error: ${progressError}`);
2749
+ log3.error(`Progress callback error: ${progressError}`);
2748
2750
  }
2749
2751
  lastProgressTime = now;
2750
2752
  }
@@ -2766,7 +2768,7 @@ var init_httpclient = __esm({
2766
2768
  try {
2767
2769
  options.onProgress(progress);
2768
2770
  } catch (progressError) {
2769
- log2.warn(`Progress callback error: ${progressError}`);
2771
+ log3.warn(`Progress callback error: ${progressError}`);
2770
2772
  }
2771
2773
  }
2772
2774
  resolve5();
@@ -2776,7 +2778,7 @@ var init_httpclient = __esm({
2776
2778
  }
2777
2779
  });
2778
2780
  response.on("error", (error) => {
2779
- log2.error(`Response error: ${error.message}`);
2781
+ log3.error(`Response error: ${error.message}`);
2780
2782
  reject(new ModuleError(`Download failed: ${error.message}`, "DOWNLOAD_FAILED"));
2781
2783
  });
2782
2784
  } catch (error) {
@@ -2785,12 +2787,12 @@ var init_httpclient = __esm({
2785
2787
  }
2786
2788
  });
2787
2789
  request.on("error", (error) => {
2788
- log2.error(`Request error:`, error);
2790
+ log3.error(`Request error:`, error);
2789
2791
  reject(new ModuleError(`Request failed: ${error.message}`, "REQUEST_FAILED"));
2790
2792
  });
2791
2793
  request.on("timeout", () => {
2792
2794
  request.destroy();
2793
- log2.error(`Request timeout for ${downloadUrl}`);
2795
+ log3.error(`Request timeout for ${downloadUrl}`);
2794
2796
  reject(new ModuleError("Request timeout", "TIMEOUT"));
2795
2797
  });
2796
2798
  request.end();
@@ -12729,7 +12731,7 @@ function newZipExtractor(fs3, environment = "node") {
12729
12731
  throw new Error(`Unsupported environment: ${environment}`);
12730
12732
  }
12731
12733
  }
12732
- var import_jszip, path7, log3, JsZipExtractor, WebZipExtractor;
12734
+ var import_jszip, path7, log4, JsZipExtractor, WebZipExtractor;
12733
12735
  var init_zipextractor = __esm({
12734
12736
  "internal/domain/module/vo/zipextractor.ts"() {
12735
12737
  "use strict";
@@ -12737,7 +12739,7 @@ var init_zipextractor = __esm({
12737
12739
  init_log();
12738
12740
  import_jszip = __toESM2(require_lib3());
12739
12741
  path7 = __toESM2(require("path"));
12740
- log3 = getDomainLogger("module", { component: "zipextractor" });
12742
+ log4 = getDomainLogger("module", { component: "zipextractor" });
12741
12743
  JsZipExtractor = class {
12742
12744
  constructor(fs3) {
12743
12745
  this.fs = fs3;
@@ -12756,7 +12758,7 @@ var init_zipextractor = __esm({
12756
12758
  await this.extractZipData(result.buffer, targetDir);
12757
12759
  } catch (error) {
12758
12760
  const message = error instanceof Error ? error.message : String(error);
12759
- log3.error(`ZIP extraction failed for ${zipPath}: ${message}`);
12761
+ log4.error(`ZIP extraction failed for ${zipPath}: ${message}`);
12760
12762
  throw new ModuleError(`ZIP extraction failed: ${message}`, "EXTRACTION_FAILED");
12761
12763
  }
12762
12764
  }
@@ -12802,7 +12804,7 @@ var init_zipextractor = __esm({
12802
12804
  await Promise.all(promises);
12803
12805
  } catch (error) {
12804
12806
  const message = error instanceof Error ? error.message : String(error);
12805
- log3.error(`Failed to extract ZIP data: ${message}`);
12807
+ log4.error(`Failed to extract ZIP data: ${message}`);
12806
12808
  throw new ModuleError(`Failed to extract ZIP data: ${message}`, "EXTRACTION_FAILED");
12807
12809
  }
12808
12810
  }
@@ -12870,14 +12872,14 @@ var init_zipextractor = __esm({
12870
12872
  function newModuleCache(fs3, cacheDir) {
12871
12873
  return new FsModuleCache(fs3, cacheDir);
12872
12874
  }
12873
- var path8, log4, FsModuleCache;
12875
+ var path8, log5, FsModuleCache;
12874
12876
  var init_cache = __esm({
12875
12877
  "internal/domain/module/vo/cache.ts"() {
12876
12878
  "use strict";
12877
12879
  init_type2();
12878
12880
  init_log();
12879
12881
  path8 = __toESM2(require("path"));
12880
- log4 = getDomainLogger("module", { component: "cache" });
12882
+ log5 = getDomainLogger("module", { component: "cache" });
12881
12883
  FsModuleCache = class {
12882
12884
  constructor(fs3, cacheDir = "./module/cache") {
12883
12885
  this.fs = fs3;
@@ -12899,11 +12901,11 @@ var init_cache = __esm({
12899
12901
  return JSON.parse(content);
12900
12902
  } catch (error) {
12901
12903
  if (error.message?.includes("ENOENT") || error.message?.includes("no such file")) {
12902
- log4.error(`Cache miss: ${modulePath}`, error);
12904
+ log5.error(`Cache miss: ${modulePath}`, error);
12903
12905
  return null;
12904
12906
  }
12905
12907
  const message = error instanceof Error ? error.message : String(error);
12906
- log4.error(`Cache read error for ${modulePath}: ${message}`);
12908
+ log5.error(`Cache read error for ${modulePath}: ${message}`);
12907
12909
  throw new ModuleError(`Failed to read cache: ${message}`, "CACHE_READ_FAILED");
12908
12910
  }
12909
12911
  }
@@ -12922,7 +12924,7 @@ var init_cache = __esm({
12922
12924
  await file.close();
12923
12925
  } catch (error) {
12924
12926
  const message = error instanceof Error ? error.message : String(error);
12925
- log4.error(`Cache write error for ${modulePath}: ${message}`);
12927
+ log5.error(`Cache write error for ${modulePath}: ${message}`);
12926
12928
  throw new ModuleError(`Failed to write cache: ${message}`, "CACHE_WRITE_FAILED");
12927
12929
  }
12928
12930
  }
@@ -12948,7 +12950,7 @@ var init_cache = __esm({
12948
12950
  } catch (error) {
12949
12951
  if (!error.message?.includes("ENOENT") && !error.message?.includes("no such file")) {
12950
12952
  const message = error instanceof Error ? error.message : String(error);
12951
- log4.error(`Cache delete error for ${modulePath}: ${message}`);
12953
+ log5.error(`Cache delete error for ${modulePath}: ${message}`);
12952
12954
  throw new ModuleError(`Failed to delete cache: ${message}`, "CACHE_DELETE_FAILED");
12953
12955
  }
12954
12956
  }
@@ -12962,7 +12964,7 @@ var init_cache = __esm({
12962
12964
  } catch (error) {
12963
12965
  if (!error.message?.includes("ENOENT") && !error.message?.includes("no such file")) {
12964
12966
  const message = error instanceof Error ? error.message : String(error);
12965
- log4.error(`Cache clear error: ${message}`);
12967
+ log5.error(`Cache clear error: ${message}`);
12966
12968
  throw new ModuleError(`Failed to clear cache: ${message}`, "CACHE_CLEAR_FAILED");
12967
12969
  }
12968
12970
  }
@@ -14168,7 +14170,7 @@ var init_dist = __esm({
14168
14170
  function newModules(info, httpClient, zipExtractor, moduleCache) {
14169
14171
  return new Modules(info, httpClient, zipExtractor, moduleCache);
14170
14172
  }
14171
- var path11, log5, Modules;
14173
+ var path11, log6, Modules;
14172
14174
  var init_module4 = __esm({
14173
14175
  "internal/domain/module/entity/module.ts"() {
14174
14176
  "use strict";
@@ -14179,7 +14181,7 @@ var init_module4 = __esm({
14179
14181
  init_log();
14180
14182
  init_dist();
14181
14183
  path11 = __toESM2(require("path"));
14182
- log5 = getDomainLogger("module", { component: "modules" });
14184
+ log6 = getDomainLogger("module", { component: "modules" });
14183
14185
  Modules = class {
14184
14186
  constructor(info, httpClient, zipExtractor, moduleCache) {
14185
14187
  this.info = info;
@@ -14220,7 +14222,7 @@ var init_module4 = __esm({
14220
14222
  async load(onProgress) {
14221
14223
  const importPaths = this.info.importPaths();
14222
14224
  if (importPaths.length === 0) {
14223
- log5.warn("No import paths configured - no modules will be downloaded");
14225
+ log6.warn("No import paths configured - no modules will be downloaded");
14224
14226
  return;
14225
14227
  }
14226
14228
  for (let i = 0; i < importPaths.length; i++) {
@@ -14238,7 +14240,7 @@ var init_module4 = __esm({
14238
14240
  });
14239
14241
  });
14240
14242
  } else {
14241
- log5.info(`Module already downloaded: ${resolvedImportPath}`);
14243
+ log6.info(`Module already downloaded: ${resolvedImportPath}`);
14242
14244
  }
14243
14245
  }
14244
14246
  }
@@ -14255,7 +14257,7 @@ var init_module4 = __esm({
14255
14257
  const cleanUrl = url.toString();
14256
14258
  return { cleanUrl, version };
14257
14259
  } catch (error) {
14258
- log5.warn(`Failed to parse import path ${importPath}:`, error);
14260
+ log6.warn(`Failed to parse import path ${importPath}:`, error);
14259
14261
  return { cleanUrl: importPath, version: "latest" };
14260
14262
  }
14261
14263
  }
@@ -14273,7 +14275,7 @@ var init_module4 = __esm({
14273
14275
  }
14274
14276
  return "https://gohugo.net/themes.json";
14275
14277
  } catch (error) {
14276
- log5.warn(`Failed to parse import path ${importPath}, using default theme registry`);
14278
+ log6.warn(`Failed to parse import path ${importPath}, using default theme registry`);
14277
14279
  return "https://gohugo.net/themes.json";
14278
14280
  }
14279
14281
  }
@@ -14289,7 +14291,7 @@ var init_module4 = __esm({
14289
14291
  }
14290
14292
  try {
14291
14293
  const themeRegistryUrl = this.getThemeRegistryUrl(importPath);
14292
- log5.info(`Fetching latest theme versions from ${themeRegistryUrl}...`);
14294
+ log6.info(`Fetching latest theme versions from ${themeRegistryUrl}...`);
14293
14295
  let themes = this.themesCache.get(themeRegistryUrl);
14294
14296
  if (!themes) {
14295
14297
  const response = await this.httpClient.get(themeRegistryUrl);
@@ -14300,13 +14302,13 @@ var init_module4 = __esm({
14300
14302
  }
14301
14303
  const resolvedPath = themes.resolveLatestVersion(importPath);
14302
14304
  if (resolvedPath !== importPath) {
14303
- log5.info(`Resolved latest version: ${importPath} -> ${resolvedPath}`);
14305
+ log6.info(`Resolved latest version: ${importPath} -> ${resolvedPath}`);
14304
14306
  } else {
14305
- log5.warn(`Could not resolve latest version for ${importPath}, using original path`);
14307
+ log6.warn(`Could not resolve latest version for ${importPath}, using original path`);
14306
14308
  }
14307
14309
  return resolvedPath;
14308
14310
  } catch (error) {
14309
- log5.error(`Failed to resolve latest version for ${importPath}:`, error);
14311
+ log6.error(`Failed to resolve latest version for ${importPath}:`, error);
14310
14312
  return importPath;
14311
14313
  }
14312
14314
  }
@@ -14325,12 +14327,12 @@ var init_module4 = __esm({
14325
14327
  if (cachedMetadata && cachedMetadata.downloadStatus === "completed" /* COMPLETED */ && this.isCacheValidForVersion(cachedMetadata.version, effectiveVersion)) {
14326
14328
  const module2 = await this.createModuleFromCache(moduleImport, cachedMetadata);
14327
14329
  if (await module2.exists()) {
14328
- log5.info(`Using cached module ${moduleImport.path} version ${cachedMetadata.version}`);
14330
+ log6.info(`Using cached module ${moduleImport.path} version ${cachedMetadata.version}`);
14329
14331
  return module2;
14330
14332
  }
14331
14333
  }
14332
14334
  if (cachedMetadata && cachedMetadata.downloadStatus === "completed" /* COMPLETED */ && !this.isCacheValidForVersion(cachedMetadata.version, effectiveVersion)) {
14333
- log5.info(`Cache version mismatch for ${moduleImport.path}: cached=${cachedMetadata.version}, requested=${effectiveVersion || "latest"}`);
14335
+ log6.info(`Cache version mismatch for ${moduleImport.path}: cached=${cachedMetadata.version}, requested=${effectiveVersion || "latest"}`);
14334
14336
  }
14335
14337
  const moduleDir = this.getModuleDir(moduleImport.path);
14336
14338
  const zipPath = path11.join(moduleDir, "module.zip");
@@ -14402,10 +14404,10 @@ var init_module4 = __esm({
14402
14404
  const themeImportPaths = await this.parseThemeToml(module2);
14403
14405
  for (const themeImportPath of themeImportPaths) {
14404
14406
  if (this.downloadedModules.has(themeImportPath)) {
14405
- log5.info(`Module ${themeImportPath} already downloaded, skipping`);
14407
+ log6.info(`Module ${themeImportPath} already downloaded, skipping`);
14406
14408
  continue;
14407
14409
  }
14408
- log5.info(`Recursively downloading module dependency: ${themeImportPath}`);
14410
+ log6.info(`Recursively downloading module dependency: ${themeImportPath}`);
14409
14411
  const originalImportPath = themeImportPath;
14410
14412
  const { cleanUrl: cleanUrl2, version: version2 } = this.parseVersionFromImportPath(originalImportPath);
14411
14413
  let resolvedImportPath = originalImportPath;
@@ -14418,7 +14420,7 @@ var init_module4 = __esm({
14418
14420
  }
14419
14421
  } catch (error) {
14420
14422
  const message = error instanceof Error ? error.message : String(error);
14421
- log5.warn(`Failed to process recursive imports for module ${importPath}: ${message}`);
14423
+ log6.warn(`Failed to process recursive imports for module ${importPath}: ${message}`);
14422
14424
  }
14423
14425
  } catch (error) {
14424
14426
  const message = error instanceof Error ? error.message : String(error);
@@ -14574,18 +14576,18 @@ var init_module4 = __esm({
14574
14576
  }
14575
14577
  } catch (error) {
14576
14578
  const message = error instanceof Error ? error.message : String(error);
14577
- log5.warn(`Failed to read theme.toml for module ${module2.path()}: ${message}`);
14579
+ log6.warn(`Failed to read theme.toml for module ${module2.path()}: ${message}`);
14578
14580
  return [];
14579
14581
  }
14580
14582
  const tomlData = parse2(tomlContent);
14581
14583
  if (tomlData.module?.imports) {
14582
- log5.info(`Found ${tomlData.module.imports.length} module imports in ${module2.path()}/theme.toml`);
14584
+ log6.info(`Found ${tomlData.module.imports.length} module imports in ${module2.path()}/theme.toml`);
14583
14585
  return tomlData.module.imports.map((imp) => imp.path);
14584
14586
  }
14585
14587
  return [];
14586
14588
  } catch (error) {
14587
14589
  const message = error instanceof Error ? error.message : String(error);
14588
- log5.warn(`Failed to parse theme.toml for module ${module2.path()}: ${message}`);
14590
+ log6.warn(`Failed to parse theme.toml for module ${module2.path()}: ${message}`);
14589
14591
  return [];
14590
14592
  }
14591
14593
  }
@@ -14605,7 +14607,7 @@ async function createModules(info) {
14605
14607
  return modules;
14606
14608
  } catch (error) {
14607
14609
  const message = error instanceof Error ? error.message : String(error);
14608
- log6.error(`Failed to create modules: ${message}`);
14610
+ log7.error(`Failed to create modules: ${message}`);
14609
14611
  throw new ModuleError(`Failed to create modules: ${message}`, "FACTORY_FAILED");
14610
14612
  }
14611
14613
  }
@@ -14620,11 +14622,11 @@ async function createModulesWithProgress(info, onProgress) {
14620
14622
  return modules;
14621
14623
  } catch (error) {
14622
14624
  const message = error instanceof Error ? error.message : String(error);
14623
- log6.error(`Failed to create modules: ${message}`);
14625
+ log7.error(`Failed to create modules: ${message}`);
14624
14626
  throw new ModuleError(`Failed to create modules: ${message}`, "FACTORY_FAILED");
14625
14627
  }
14626
14628
  }
14627
- var log6;
14629
+ var log7;
14628
14630
  var init_module5 = __esm({
14629
14631
  "internal/domain/module/factory/module.ts"() {
14630
14632
  "use strict";
@@ -14634,7 +14636,7 @@ var init_module5 = __esm({
14634
14636
  init_zipextractor();
14635
14637
  init_cache();
14636
14638
  init_log();
14637
- log6 = getDomainLogger("module", { component: "factory" });
14639
+ log7 = getDomainLogger("module", { component: "factory" });
14638
14640
  }
14639
14641
  });
14640
14642
 
@@ -14722,12 +14724,12 @@ var init_originfs = __esm({
14722
14724
  function newFileMeta(filename, openFunc) {
14723
14725
  return new FileMeta(filename, openFunc);
14724
14726
  }
14725
- var log7, FileMeta;
14727
+ var log8, FileMeta;
14726
14728
  var init_filemeta = __esm({
14727
14729
  "internal/domain/fs/vo/filemeta.ts"() {
14728
14730
  "use strict";
14729
14731
  init_log();
14730
- log7 = getDomainLogger("fs", { component: "filemeta" });
14732
+ log8 = getDomainLogger("fs", { component: "filemeta" });
14731
14733
  FileMeta = class {
14732
14734
  filename;
14733
14735
  componentRoot;
@@ -15154,7 +15156,7 @@ var init_dir2 = __esm({
15154
15156
  function newBaseFs(fs3, roots) {
15155
15157
  return new BaseFs(fs3, roots);
15156
15158
  }
15157
- var path13, log8, BaseFs;
15159
+ var path13, log9, BaseFs;
15158
15160
  var init_basefs = __esm({
15159
15161
  "internal/domain/fs/entity/basefs.ts"() {
15160
15162
  "use strict";
@@ -15164,7 +15166,7 @@ var init_basefs = __esm({
15164
15166
  init_dir2();
15165
15167
  path13 = __toESM2(require("path"));
15166
15168
  init_log();
15167
- log8 = getDomainLogger("fs", { component: "basefs" });
15169
+ log9 = getDomainLogger("fs", { component: "basefs" });
15168
15170
  BaseFs = class {
15169
15171
  fs;
15170
15172
  // osFs
@@ -15325,7 +15327,7 @@ var init_basefs = __esm({
15325
15327
  function newWalkway(fs3, cb) {
15326
15328
  return new Walkway(fs3, cb);
15327
15329
  }
15328
- var path14, log9, Walkway;
15330
+ var path14, log10, Walkway;
15329
15331
  var init_walkway = __esm({
15330
15332
  "internal/domain/fs/vo/walkway.ts"() {
15331
15333
  "use strict";
@@ -15334,7 +15336,7 @@ var init_walkway = __esm({
15334
15336
  init_fileinfo();
15335
15337
  init_filemeta();
15336
15338
  init_log();
15337
- log9 = getDomainLogger("fs", { component: "walkway" });
15339
+ log10 = getDomainLogger("fs", { component: "walkway" });
15338
15340
  Walkway = class {
15339
15341
  fs;
15340
15342
  root;
@@ -15376,7 +15378,7 @@ var init_walkway = __esm({
15376
15378
  */
15377
15379
  checkErr(filename, err) {
15378
15380
  if (this.isNotExistError(err) && !this.cfg.failOnNotExist) {
15379
- log9.warn(`File "${filename}" not found, skipping.`);
15381
+ log10.warn(`File "${filename}" not found, skipping.`);
15380
15382
  return true;
15381
15383
  }
15382
15384
  return false;
@@ -15481,12 +15483,12 @@ var init_walkway = __esm({
15481
15483
  });
15482
15484
 
15483
15485
  // internal/domain/fs/vo/static-copier.ts
15484
- var log10, StaticCopier;
15486
+ var log11, StaticCopier;
15485
15487
  var init_static_copier = __esm({
15486
15488
  "internal/domain/fs/vo/static-copier.ts"() {
15487
15489
  "use strict";
15488
15490
  init_log();
15489
- log10 = getDomainLogger("fs", { component: "static-copier" });
15491
+ log11 = getDomainLogger("fs", { component: "static-copier" });
15490
15492
  StaticCopier = class {
15491
15493
  fromFss;
15492
15494
  toFs;
@@ -15496,11 +15498,11 @@ var init_static_copier = __esm({
15496
15498
  }
15497
15499
  async copy() {
15498
15500
  if (!this.fromFss || this.fromFss.length === 0) {
15499
- log10.error("No static filesystems found");
15501
+ log11.error("No static filesystems found");
15500
15502
  return;
15501
15503
  }
15502
15504
  if (!this.toFs) {
15503
- log10.error("No publish filesystem found");
15505
+ log11.error("No publish filesystem found");
15504
15506
  return;
15505
15507
  }
15506
15508
  await this.doWithPublishDirs(this.toFs, async (publishDir) => {
@@ -15516,7 +15518,7 @@ var init_static_copier = __esm({
15516
15518
  try {
15517
15519
  await fn("/");
15518
15520
  } catch (error) {
15519
- log10.error("Error in doWithPublishDirs:", error);
15521
+ log11.error("Error in doWithPublishDirs:", error);
15520
15522
  throw error;
15521
15523
  }
15522
15524
  }
@@ -15528,7 +15530,7 @@ var init_static_copier = __esm({
15528
15530
  try {
15529
15531
  return await this.walkSourceFiles(sourceFs, targetDir);
15530
15532
  } catch (error) {
15531
- log10.error(`Error copying static files to ${targetDir}:`, error);
15533
+ log11.error(`Error copying static files to ${targetDir}:`, error);
15532
15534
  throw error;
15533
15535
  }
15534
15536
  }
@@ -15545,7 +15547,7 @@ var init_static_copier = __esm({
15545
15547
  }
15546
15548
  });
15547
15549
  } catch (error) {
15548
- log10.error("Error walking source files:", error);
15550
+ log11.error("Error walking source files:", error);
15549
15551
  throw error;
15550
15552
  }
15551
15553
  return fileCount;
@@ -15574,7 +15576,7 @@ var init_static_copier = __esm({
15574
15576
  }
15575
15577
  }
15576
15578
  } catch (error) {
15577
- log10.error(`Could not read directory ${basePath}:`, error);
15579
+ log11.error(`Could not read directory ${basePath}:`, error);
15578
15580
  }
15579
15581
  }
15580
15582
  /**
@@ -15597,20 +15599,20 @@ var init_static_copier = __esm({
15597
15599
  targetFile = await targetFs.create(targetPath);
15598
15600
  await targetFile.write(buffer);
15599
15601
  } catch (error) {
15600
- log10.warn(`Failed to copy static file ${sourcePath}:`, error);
15602
+ log11.warn(`Failed to copy static file ${sourcePath}:`, error);
15601
15603
  } finally {
15602
15604
  if (targetFile) {
15603
15605
  try {
15604
15606
  await targetFile.close();
15605
15607
  } catch (closeError) {
15606
- log10.warn(`Failed to close target file: ${closeError}`);
15608
+ log11.warn(`Failed to close target file: ${closeError}`);
15607
15609
  }
15608
15610
  }
15609
15611
  if (sourceFile) {
15610
15612
  try {
15611
15613
  await sourceFile.close();
15612
15614
  } catch (closeError) {
15613
- log10.warn(`Failed to close source file: ${closeError}`);
15615
+ log11.warn(`Failed to close source file: ${closeError}`);
15614
15616
  }
15615
15617
  }
15616
15618
  }
@@ -15647,7 +15649,7 @@ async function collectFileMetaInfos(paths, fss) {
15647
15649
  if (found2)
15648
15650
  break;
15649
15651
  } catch (error) {
15650
- log11.error(`Failed to create FileMetaInfo for ${path29} with fs=${fs3}:`, error);
15652
+ log12.error(`Failed to create FileMetaInfo for ${path29} with fs=${fs3}:`, error);
15651
15653
  }
15652
15654
  }
15653
15655
  }
@@ -15663,14 +15665,14 @@ async function createFileMetaInfo(filePath, fs3) {
15663
15665
  throw new Error(`Failed to stat file ${filePath}: ${error.message}`);
15664
15666
  }
15665
15667
  }
15666
- var log11;
15668
+ var log12;
15667
15669
  var init_incremental_file_collector = __esm({
15668
15670
  "internal/domain/fs/vo/incremental-file-collector.ts"() {
15669
15671
  "use strict";
15670
15672
  init_fileinfo();
15671
15673
  init_filemeta();
15672
15674
  init_log();
15673
- log11 = getDomainLogger("fs", { component: "incremental-file-collector" });
15675
+ log12 = getDomainLogger("fs", { component: "incremental-file-collector" });
15674
15676
  }
15675
15677
  });
15676
15678
 
@@ -16134,7 +16136,7 @@ function createOverlayFs(opts) {
16134
16136
  const options = new OverlayOptions(opts);
16135
16137
  return new OverlayFs(options);
16136
16138
  }
16137
- var log12, OverlayFs;
16139
+ var log13, OverlayFs;
16138
16140
  var init_overlayfs = __esm({
16139
16141
  "internal/domain/fs/entity/overlayfs.ts"() {
16140
16142
  "use strict";
@@ -16142,7 +16144,7 @@ var init_overlayfs = __esm({
16142
16144
  init_overlayoptions();
16143
16145
  init_overlaydir();
16144
16146
  init_log();
16145
- log12 = getDomainLogger("fs", { component: "overlayfs" });
16147
+ log13 = getDomainLogger("fs", { component: "overlayfs" });
16146
16148
  OverlayFs = class _OverlayFs {
16147
16149
  fss;
16148
16150
  mergeDirs;
@@ -16623,7 +16625,7 @@ var init_overlayfs_factory = __esm({
16623
16625
  function newFilesystemsCollector(sourceProject) {
16624
16626
  return new FilesystemsCollector(sourceProject);
16625
16627
  }
16626
- var path15, log13, RootMapping, FilesystemsCollector;
16628
+ var path15, log14, RootMapping, FilesystemsCollector;
16627
16629
  var init_filesystemscollector = __esm({
16628
16630
  "internal/domain/fs/vo/filesystemscollector.ts"() {
16629
16631
  "use strict";
@@ -16631,7 +16633,7 @@ var init_filesystemscollector = __esm({
16631
16633
  init_basefs();
16632
16634
  path15 = __toESM2(require("path"));
16633
16635
  init_log();
16634
- log13 = getDomainLogger("fs", { component: "filesystemscollector" });
16636
+ log14 = getDomainLogger("fs", { component: "filesystemscollector" });
16635
16637
  RootMapping = class {
16636
16638
  from;
16637
16639
  // Target path
@@ -16773,14 +16775,14 @@ var init_filesystemscollector = __esm({
16773
16775
  function newOsFs() {
16774
16776
  return new OsFs();
16775
16777
  }
16776
- var fs2, path16, log14, OsFileInfo, OsFile, OsFs;
16778
+ var fs2, path16, log15, OsFileInfo, OsFile, OsFs;
16777
16779
  var init_osfs = __esm({
16778
16780
  "internal/domain/fs/vo/osfs.ts"() {
16779
16781
  "use strict";
16780
16782
  fs2 = __toESM2(require("fs/promises"));
16781
16783
  path16 = __toESM2(require("path"));
16782
16784
  init_log();
16783
- log14 = getDomainLogger("fs", { component: "osfs" });
16785
+ log15 = getDomainLogger("fs", { component: "osfs" });
16784
16786
  OsFileInfo = class {
16785
16787
  constructor(stats, _name) {
16786
16788
  this.stats = stats;
@@ -16823,7 +16825,7 @@ var init_osfs = __esm({
16823
16825
  try {
16824
16826
  await this.handle.close();
16825
16827
  } catch (error) {
16826
- log14.error(`\u274C Error closing file handle for ${this.filePath}:`, error);
16828
+ log15.error(`\u274C Error closing file handle for ${this.filePath}:`, error);
16827
16829
  throw error;
16828
16830
  }
16829
16831
  this.handle = null;
@@ -18917,7 +18919,7 @@ var init_pageparser = __esm({
18917
18919
  function parseBytes2(input, config2 = {}) {
18918
18920
  const [items, err] = ParseBytes(input, config2);
18919
18921
  if (err) {
18920
- log15.error("Error parsing bytes:", err);
18922
+ log16.error("Error parsing bytes:", err);
18921
18923
  throw err;
18922
18924
  }
18923
18925
  return items;
@@ -18952,13 +18954,13 @@ function posFromInput(filename, input, offset) {
18952
18954
  function stringToBytes(str2) {
18953
18955
  return new TextEncoder().encode(str2);
18954
18956
  }
18955
- var log15;
18957
+ var log16;
18956
18958
  var init_pageparser2 = __esm({
18957
18959
  "internal/domain/markdown/vo/pageparser.ts"() {
18958
18960
  "use strict";
18959
18961
  init_log();
18960
18962
  init_pageparser();
18961
- log15 = getDomainLogger("markdown", { component: "pageparser" });
18963
+ log16 = getDomainLogger("markdown", { component: "pageparser" });
18962
18964
  }
18963
18965
  });
18964
18966
 
@@ -18966,7 +18968,7 @@ var init_pageparser2 = __esm({
18966
18968
  function createSourceParseInfo(source, handlers) {
18967
18969
  return new SourceParseInfo(source, handlers);
18968
18970
  }
18969
- var log16, SourceParseInfo;
18971
+ var log17, SourceParseInfo;
18970
18972
  var init_parseinfo = __esm({
18971
18973
  "internal/domain/markdown/vo/parseinfo.ts"() {
18972
18974
  "use strict";
@@ -18974,7 +18976,7 @@ var init_parseinfo = __esm({
18974
18976
  init_item();
18975
18977
  init_pagelexer();
18976
18978
  init_log();
18977
- log16 = getDomainLogger("markdown", { component: "parseinfo" });
18979
+ log17 = getDomainLogger("markdown", { component: "parseinfo" });
18978
18980
  SourceParseInfo = class {
18979
18981
  source;
18980
18982
  posMainContent = -1;
@@ -19027,7 +19029,7 @@ var init_parseinfo = __esm({
19027
19029
  const it = iter.Next();
19028
19030
  try {
19029
19031
  if (it.Type === 7 /* TypeIgnore */) {
19030
- log16.info(`Ignoring item at position ${it.Pos()}: ${it.ValStr(this.source)}`);
19032
+ log17.info(`Ignoring item at position ${it.Pos()}: ${it.ValStr(this.source)}`);
19031
19033
  } else if (it.IsFrontMatter()) {
19032
19034
  await this.handlers.frontMatterHandler()(it);
19033
19035
  const next2 = iter.Peek();
@@ -19043,7 +19045,7 @@ var init_parseinfo = __esm({
19043
19045
  } else if (it.IsEOF()) {
19044
19046
  break;
19045
19047
  } else if (it.IsError()) {
19046
- log16.error(`Error parsing item at position ${it.Pos()}: ${it.Err}`);
19048
+ log17.error(`Error parsing item at position ${it.Pos()}: ${it.Err}`);
19047
19049
  throw this.createError(it.Err || new Error("Unknown parsing error"), it);
19048
19050
  } else {
19049
19051
  await this.handlers.bytesHandler()(it);
@@ -19102,12 +19104,12 @@ function indexNonWhiteSpace2(source, char2) {
19102
19104
  function isSpace3(b) {
19103
19105
  return b === 32 || b === 9 || b === 13 || b === 10;
19104
19106
  }
19105
- var log17, ShortcodeImpl, ShortcodeParser, TOC_SHORTCODE_PLACEHOLDER, SHORTCODE_PLACEHOLDER_PREFIX;
19107
+ var log18, ShortcodeImpl, ShortcodeParser, TOC_SHORTCODE_PLACEHOLDER, SHORTCODE_PLACEHOLDER_PREFIX;
19106
19108
  var init_shortcode = __esm({
19107
19109
  "internal/domain/markdown/vo/shortcode.ts"() {
19108
19110
  "use strict";
19109
19111
  init_log();
19110
- log17 = getDomainLogger("markdown", { component: "vo/shortcode" });
19112
+ log18 = getDomainLogger("markdown", { component: "vo/shortcode" });
19111
19113
  ShortcodeImpl = class {
19112
19114
  name;
19113
19115
  params;
@@ -19272,7 +19274,7 @@ var init_shortcode = __esm({
19272
19274
  }
19273
19275
  } else if (currItem.IsShortcodeParam()) {
19274
19276
  if (!pt.IsValueNext()) {
19275
- log17.warn(`${errorPrefix}: shortcode "${sc.name}" has a parameter without a value`);
19277
+ log18.warn(`${errorPrefix}: shortcode "${sc.name}" has a parameter without a value`);
19276
19278
  continue;
19277
19279
  }
19278
19280
  if (pt.Peek().IsShortcodeParamVal()) {
@@ -19415,13 +19417,13 @@ var init_type6 = __esm({
19415
19417
  });
19416
19418
 
19417
19419
  // internal/domain/markdown/vo/content.ts
19418
- var log18, INTERNAL_SUMMARY_DIVIDER_BASE, INTERNAL_SUMMARY_DIVIDER_PRE, Content;
19420
+ var log19, INTERNAL_SUMMARY_DIVIDER_BASE, INTERNAL_SUMMARY_DIVIDER_PRE, Content;
19419
19421
  var init_content = __esm({
19420
19422
  "internal/domain/markdown/vo/content.ts"() {
19421
19423
  "use strict";
19422
19424
  init_type6();
19423
19425
  init_log();
19424
- log18 = getDomainLogger("markdown", { component: "content" });
19426
+ log19 = getDomainLogger("markdown", { component: "content" });
19425
19427
  INTERNAL_SUMMARY_DIVIDER_BASE = "HUGOMORE42";
19426
19428
  INTERNAL_SUMMARY_DIVIDER_PRE = new TextEncoder().encode(`
19427
19429
 
@@ -22468,7 +22470,7 @@ var init_parserresult = __esm({
22468
22470
  });
22469
22471
 
22470
22472
  // internal/domain/markdown/entity/markdown.ts
22471
- var log19, MarkdownImpl;
22473
+ var log20, MarkdownImpl;
22472
22474
  var init_markdown3 = __esm({
22473
22475
  "internal/domain/markdown/entity/markdown.ts"() {
22474
22476
  "use strict";
@@ -22481,7 +22483,7 @@ var init_markdown3 = __esm({
22481
22483
  init_shortcode();
22482
22484
  init_content();
22483
22485
  init_log();
22484
- log19 = getDomainLogger("markdown", { component: "MarkdownImpl" });
22486
+ log20 = getDomainLogger("markdown", { component: "MarkdownImpl" });
22485
22487
  MarkdownImpl = class {
22486
22488
  constructor(renderer, highlighter) {
22487
22489
  this.renderer = renderer;
@@ -22557,7 +22559,7 @@ var init_markdown3 = __esm({
22557
22559
  if (parseResult.frontMatter) {
22558
22560
  parseResult.frontMatter.params = fm;
22559
22561
  }
22560
- log19.debug(`Merged tags: YAML [${existingTags.join(", ")}] + inline [${inlineTags.join(", ")}] = [${allTags.join(", ")}]`);
22562
+ log20.debug(`Merged tags: YAML [${existingTags.join(", ")}] + inline [${inlineTags.join(", ")}] = [${allTags.join(", ")}]`);
22561
22563
  }
22562
22564
  }
22563
22565
  const summary = parseResult.content.getDividedSummary(htmlContent);
@@ -31098,14 +31100,14 @@ var init_paths = __esm({
31098
31100
  });
31099
31101
 
31100
31102
  // internal/domain/content/entity/translator.ts
31101
- var log20, Translator;
31103
+ var log21, Translator;
31102
31104
  var init_translator = __esm({
31103
31105
  "internal/domain/content/entity/translator.ts"() {
31104
31106
  "use strict";
31105
31107
  init_log();
31106
31108
  init_js_yaml();
31107
31109
  init_paths();
31108
- log20 = getDomainLogger("content", { component: "translator" });
31110
+ log21 = getDomainLogger("content", { component: "translator" });
31109
31111
  Translator = class {
31110
31112
  contentLanguage;
31111
31113
  translateFuncs = /* @__PURE__ */ new Map();
@@ -31127,7 +31129,7 @@ var init_translator = __esm({
31127
31129
  return result;
31128
31130
  }
31129
31131
  }
31130
- log20.info(`Translation func for language ${lang2} not found, use default.`);
31132
+ log21.info(`Translation func for language ${lang2} not found, use default.`);
31131
31133
  const defaultTranslateFunc = this.translateFuncs.get(this.contentLanguage.toLowerCase());
31132
31134
  if (defaultTranslateFunc) {
31133
31135
  const result = defaultTranslateFunc(translationID);
@@ -31135,7 +31137,7 @@ var init_translator = __esm({
31135
31137
  return result;
31136
31138
  }
31137
31139
  }
31138
- log20.info("i18n not initialized; if you need string translations, check that you have a bundle in /i18n that matches the site language or the default language.");
31140
+ log21.info("i18n not initialized; if you need string translations, check that you have a bundle in /i18n that matches the site language or the default language.");
31139
31141
  return `[i18n] ${translationID}`;
31140
31142
  }
31141
31143
  /**
@@ -31164,17 +31166,17 @@ var init_translator = __esm({
31164
31166
  if (translation) {
31165
31167
  return translation;
31166
31168
  }
31167
- log20.warn(`i18n|MISSING_TRANSLATION|${langKey}|${translationID}`);
31169
+ log21.warn(`i18n|MISSING_TRANSLATION|${langKey}|${translationID}`);
31168
31170
  return "";
31169
31171
  };
31170
31172
  this.translateFuncs.set(langKey, translateFunc);
31171
- log20.info(`\u2705 Loaded i18n translations for language: ${langKey} (${translations.length} items)`);
31173
+ log21.info(`\u2705 Loaded i18n translations for language: ${langKey} (${translations.length} items)`);
31172
31174
  } catch (error) {
31173
- log20.error(`\u274C Failed to load i18n file ${path29}:`, error);
31175
+ log21.error(`\u274C Failed to load i18n file ${path29}:`, error);
31174
31176
  }
31175
31177
  }
31176
31178
  }, {});
31177
- log20.info(`\u{1F30D} Translation setup complete. Loaded ${this.translateFuncs.size} languages: [${Array.from(this.translateFuncs.keys()).join(", ")}]`);
31179
+ log21.info(`\u{1F30D} Translation setup complete. Loaded ${this.translateFuncs.size} languages: [${Array.from(this.translateFuncs.keys()).join(", ")}]`);
31178
31180
  } catch (error) {
31179
31181
  throw error;
31180
31182
  }
@@ -31193,14 +31195,14 @@ var init_translator = __esm({
31193
31195
  const cleanContent = content.charCodeAt(0) === 65279 ? content.slice(1) : content;
31194
31196
  return cleanContent;
31195
31197
  } catch (error) {
31196
- log20.error("\u274C Failed to read i18n file:", error);
31198
+ log21.error("\u274C Failed to read i18n file:", error);
31197
31199
  throw error;
31198
31200
  } finally {
31199
31201
  if (file) {
31200
31202
  try {
31201
31203
  await file.close();
31202
31204
  } catch (closeError) {
31203
- log20.warn(`Failed to close i18n file: ${closeError}`);
31205
+ log21.warn(`Failed to close i18n file: ${closeError}`);
31204
31206
  }
31205
31207
  }
31206
31208
  }
@@ -31212,7 +31214,7 @@ var init_translator = __esm({
31212
31214
  try {
31213
31215
  const parsed = load(content);
31214
31216
  if (!Array.isArray(parsed)) {
31215
- log20.warn("i18n YAML content is not an array");
31217
+ log21.warn("i18n YAML content is not an array");
31216
31218
  return [];
31217
31219
  }
31218
31220
  return parsed.filter((item) => item && typeof item === "object" && item.id && item.translation).map((item) => ({
@@ -31220,7 +31222,7 @@ var init_translator = __esm({
31220
31222
  translation: String(item.translation)
31221
31223
  }));
31222
31224
  } catch (error) {
31223
- log20.error("\u274C Failed to parse i18n YAML content:", error);
31225
+ log21.error("\u274C Failed to parse i18n YAML content:", error);
31224
31226
  return [];
31225
31227
  }
31226
31228
  }
@@ -31246,7 +31248,7 @@ async function createTranslator(services) {
31246
31248
  try {
31247
31249
  await translator.setupTranslateFuncs(services);
31248
31250
  } catch (error) {
31249
- log21.warn("Failed to setup translator, continuing without i18n support:", error);
31251
+ log22.warn("Failed to setup translator, continuing without i18n support:", error);
31250
31252
  }
31251
31253
  return translator;
31252
31254
  }
@@ -31283,7 +31285,7 @@ async function createContent(services) {
31283
31285
  pageBuilder.contentHub = contentHub;
31284
31286
  return contentHub;
31285
31287
  }
31286
- var log21;
31288
+ var log22;
31287
31289
  var init_hub = __esm({
31288
31290
  "internal/domain/content/factory/hub.ts"() {
31289
31291
  "use strict";
@@ -31291,7 +31293,7 @@ var init_hub = __esm({
31291
31293
  init_markdown5();
31292
31294
  init_translator();
31293
31295
  init_log();
31294
- log21 = getDomainLogger("content", { component: "content" });
31296
+ log22 = getDomainLogger("content", { component: "content" });
31295
31297
  }
31296
31298
  });
31297
31299
 
@@ -31319,12 +31321,12 @@ var init_kind = __esm({
31319
31321
  });
31320
31322
 
31321
31323
  // internal/domain/content/vo/identity.ts
31322
- var log22, Identity;
31324
+ var log23, Identity;
31323
31325
  var init_identity = __esm({
31324
31326
  "internal/domain/content/vo/identity.ts"() {
31325
31327
  "use strict";
31326
31328
  init_log();
31327
- log22 = getDomainLogger("content", { component: "identity" });
31329
+ log23 = getDomainLogger("content", { component: "identity" });
31328
31330
  Identity = class {
31329
31331
  id;
31330
31332
  lang;
@@ -31376,7 +31378,7 @@ function isContentExt(ext) {
31376
31378
  function newFileInfo2(fi) {
31377
31379
  return FileInfo7.newFileInfo(fi);
31378
31380
  }
31379
- var crypto, path17, log23, contentFileExtensions, contentFileExtensionsSet, FileInfo7;
31381
+ var crypto, path17, log24, contentFileExtensions, contentFileExtensionsSet, FileInfo7;
31380
31382
  var init_fileinfo2 = __esm({
31381
31383
  "internal/domain/content/vo/fileinfo.ts"() {
31382
31384
  "use strict";
@@ -31384,7 +31386,7 @@ var init_fileinfo2 = __esm({
31384
31386
  crypto = __toESM2(require("crypto"));
31385
31387
  path17 = __toESM2(require("path"));
31386
31388
  init_log();
31387
- log23 = getDomainLogger("content", { component: "FileInfo" });
31389
+ log24 = getDomainLogger("content", { component: "FileInfo" });
31388
31390
  contentFileExtensions = [
31389
31391
  ".md"
31390
31392
  ];
@@ -33613,14 +33615,14 @@ function posFromInput2(filename, input, offset) {
33613
33615
  function newPageSource(file) {
33614
33616
  return new Source(file);
33615
33617
  }
33616
- var pageIDCounter, log24, Source;
33618
+ var pageIDCounter, log25, Source;
33617
33619
  var init_pagesource = __esm({
33618
33620
  "internal/domain/content/entity/pagesource.ts"() {
33619
33621
  "use strict";
33620
33622
  init_log();
33621
33623
  init_identity();
33622
33624
  pageIDCounter = 0;
33623
- log24 = getDomainLogger("content", { component: "pagesource" });
33625
+ log25 = getDomainLogger("content", { component: "pagesource" });
33624
33626
  Source = class {
33625
33627
  id;
33626
33628
  identity;
@@ -33752,11 +33754,11 @@ var init_pagesource = __esm({
33752
33754
  */
33753
33755
  async content() {
33754
33756
  try {
33755
- log24.error(`Reading content not implemented from: ${this.file.filename()}`);
33757
+ log25.error(`Reading content not implemented from: ${this.file.filename()}`);
33756
33758
  return new Uint8Array(0);
33757
33759
  } catch (error) {
33758
33760
  const errorMsg = `failed to read content source for "${this.file.filename()}": ${error}`;
33759
- log24.error(errorMsg);
33761
+ log25.error(errorMsg);
33760
33762
  throw new Error(errorMsg);
33761
33763
  }
33762
33764
  }
@@ -33777,7 +33779,7 @@ function addLeadingSlash(path29) {
33777
33779
  }
33778
33780
  return path29;
33779
33781
  }
33780
- var log25, ambiguousContentNode, ContentTreeReverseIndexMap, ContentTreeReverseIndex, pagePredicates, PageMapQueryPagesBelowPathImpl, PageMapQueryPagesInSectionImpl, PageMap;
33782
+ var log26, ambiguousContentNode, ContentTreeReverseIndexMap, ContentTreeReverseIndex, pagePredicates, PageMapQueryPagesBelowPathImpl, PageMapQueryPagesInSectionImpl, PageMap;
33781
33783
  var init_pagemap = __esm({
33782
33784
  "internal/domain/content/entity/pagemap.ts"() {
33783
33785
  "use strict";
@@ -33787,7 +33789,7 @@ var init_pagemap = __esm({
33787
33789
  init_doctree();
33788
33790
  init_sort();
33789
33791
  init_log();
33790
- log25 = getDomainLogger("content", { component: "pagemap" });
33792
+ log26 = getDomainLogger("content", { component: "pagemap" });
33791
33793
  ambiguousContentNode = new PageTreesNode();
33792
33794
  ContentTreeReverseIndexMap = class {
33793
33795
  initOnce = false;
@@ -33890,7 +33892,7 @@ var init_pagemap = __esm({
33890
33892
  try {
33891
33893
  await walker.walk();
33892
33894
  } catch (err) {
33893
- log25.error(`setupReverseIndex error: ${err}`);
33895
+ log26.error(`setupReverseIndex error: ${err}`);
33894
33896
  }
33895
33897
  });
33896
33898
  }
@@ -34045,7 +34047,7 @@ var init_pagemap = __esm({
34045
34047
  try {
34046
34048
  await rw.walk();
34047
34049
  } catch (err) {
34048
- log25.error(`forEachResourceInPage error: ${err}`);
34050
+ log26.error(`forEachResourceInPage error: ${err}`);
34049
34051
  }
34050
34052
  }
34051
34053
  /**
@@ -34099,7 +34101,7 @@ var init_pagemap = __esm({
34099
34101
  sortByWeight(pages);
34100
34102
  return Promise.resolve(pages);
34101
34103
  } catch (err) {
34102
- log25.error(`getPagesInSection error: ${err}`);
34104
+ log26.error(`getPagesInSection error: ${err}`);
34103
34105
  }
34104
34106
  return Promise.resolve(pas);
34105
34107
  });
@@ -34135,7 +34137,7 @@ var init_pagemap = __esm({
34135
34137
  sortByDefault(pages);
34136
34138
  return pages;
34137
34139
  } catch (err) {
34138
- log25.error(`getPagesWithTerm error: ${err}`);
34140
+ log26.error(`getPagesWithTerm error: ${err}`);
34139
34141
  }
34140
34142
  return pas;
34141
34143
  });
@@ -34163,7 +34165,7 @@ var init_pagemap = __esm({
34163
34165
  sortByDefault(pages);
34164
34166
  return pages;
34165
34167
  } catch (err) {
34166
- log25.error(`getTermsForPageInTaxonomy error: ${err}`);
34168
+ log26.error(`getTermsForPageInTaxonomy error: ${err}`);
34167
34169
  }
34168
34170
  return pas;
34169
34171
  });
@@ -34203,7 +34205,7 @@ var init_pagemap = __esm({
34203
34205
  sortByDefault(pages);
34204
34206
  return pages;
34205
34207
  } catch (err) {
34206
- log25.error(`getSections error: ${err}`);
34208
+ log26.error(`getSections error: ${err}`);
34207
34209
  }
34208
34210
  return pagesList;
34209
34211
  }
@@ -34222,13 +34224,13 @@ var init_pagemap = __esm({
34222
34224
  });
34223
34225
 
34224
34226
  // internal/domain/content/entity/pagecollector.ts
34225
- var log26, PagesCollector;
34227
+ var log27, PagesCollector;
34226
34228
  var init_pagecollector = __esm({
34227
34229
  "internal/domain/content/entity/pagecollector.ts"() {
34228
34230
  "use strict";
34229
34231
  init_content3();
34230
34232
  init_log();
34231
- log26 = getDomainLogger("content", { component: "pagecollector" });
34233
+ log27 = getDomainLogger("content", { component: "pagecollector" });
34232
34234
  PagesCollector = class {
34233
34235
  m;
34234
34236
  fs;
@@ -34248,7 +34250,7 @@ var init_pagecollector = __esm({
34248
34250
  await this.collectDir(cfs, dirPath, root2);
34249
34251
  }
34250
34252
  } catch (error) {
34251
- log26.error(`Failed to collect directory: ${error}, continuing...`);
34253
+ log27.error(`Failed to collect directory: ${error}, continuing...`);
34252
34254
  }
34253
34255
  }
34254
34256
  /**
@@ -34260,7 +34262,7 @@ var init_pagecollector = __esm({
34260
34262
  hookPre: async (dir2, path30, readdir2) => {
34261
34263
  const fullPath = path30;
34262
34264
  if (this.processedPaths.has(fullPath)) {
34263
- log26.warn("Path already processed!", {
34265
+ log27.warn("Path already processed!", {
34264
34266
  path: fullPath,
34265
34267
  dirName: dir2.name(),
34266
34268
  dirIsDir: dir2.isDir(),
@@ -34288,7 +34290,7 @@ var init_pagecollector = __esm({
34288
34290
  info: root2
34289
34291
  });
34290
34292
  } catch (error) {
34291
- log26.error(`Failed to collect directory: ${error}`, {
34293
+ log27.error(`Failed to collect directory: ${error}`, {
34292
34294
  path: path29,
34293
34295
  rootName: root2.name(),
34294
34296
  rootIsDir: root2.isDir(),
@@ -34337,7 +34339,7 @@ var init_entity2 = __esm({
34337
34339
  });
34338
34340
 
34339
34341
  // internal/domain/content/entity/content.ts
34340
- var log27, Content2;
34342
+ var log28, Content2;
34341
34343
  var init_content2 = __esm({
34342
34344
  "internal/domain/content/entity/content.ts"() {
34343
34345
  "use strict";
@@ -34346,7 +34348,7 @@ var init_content2 = __esm({
34346
34348
  init_fileinfo2();
34347
34349
  init_log();
34348
34350
  init_paths();
34349
- log27 = getDomainLogger("content", { component: "content" });
34351
+ log28 = getDomainLogger("content", { component: "content" });
34350
34352
  Content2 = class {
34351
34353
  fs;
34352
34354
  converter;
@@ -34384,7 +34386,7 @@ var init_content2 = __esm({
34384
34386
  }
34385
34387
  async collectPages() {
34386
34388
  if (this.pageCollected) {
34387
- log27.info("Pages have already been collected, skipping.");
34389
+ log28.info("Pages have already been collected, skipping.");
34388
34390
  return;
34389
34391
  }
34390
34392
  try {
@@ -34483,7 +34485,7 @@ var init_content2 = __esm({
34483
34485
  try {
34484
34486
  await w.walk();
34485
34487
  } catch (error) {
34486
- log27.error(`WalkPages failed for langIndex ${langIndex}:`, error);
34488
+ log28.error(`WalkPages failed for langIndex ${langIndex}:`, error);
34487
34489
  throw error;
34488
34490
  }
34489
34491
  }
@@ -34528,7 +34530,7 @@ var init_content2 = __esm({
34528
34530
  page: () => sp,
34529
34531
  owner: () => t
34530
34532
  }).catch((err) => {
34531
- log27.error("Error in taxonomy walker:", err);
34533
+ log28.error("Error in taxonomy walker:", err);
34532
34534
  });
34533
34535
  return [false, null];
34534
34536
  }
@@ -34565,7 +34567,7 @@ var init_content2 = __esm({
34565
34567
  }
34566
34568
  return null;
34567
34569
  } catch (error) {
34568
- log27.error(`\u274C Content.getPageFromPath error for path "${path29}":`, error);
34570
+ log28.error(`\u274C Content.getPageFromPath error for path "${path29}":`, error);
34569
34571
  return null;
34570
34572
  }
34571
34573
  }
@@ -34581,7 +34583,7 @@ var init_content2 = __esm({
34581
34583
  }
34582
34584
  return null;
34583
34585
  } catch (error) {
34584
- log27.error(`\u274C Content.getPageFromPath error for path "${file.path()}":`, error);
34586
+ log28.error(`\u274C Content.getPageFromPath error for path "${file.path()}":`, error);
34585
34587
  return null;
34586
34588
  }
34587
34589
  }
@@ -34591,7 +34593,7 @@ var init_content2 = __esm({
34591
34593
  try {
34592
34594
  await this.addOrUpdateFile(fileMetaInfo, affectedPageKeys);
34593
34595
  } catch (error) {
34594
- log27.error(`Failed to process file change for ${filePath}:`, error);
34596
+ log28.error(`Failed to process file change for ${filePath}:`, error);
34595
34597
  }
34596
34598
  }
34597
34599
  return affectedPageKeys;
@@ -34615,7 +34617,7 @@ var init_content2 = __esm({
34615
34617
  page.pageIdentity().markStale();
34616
34618
  }
34617
34619
  } catch (error) {
34618
- log27.error(`Failed to add/update file in PageMap: ${fileMetaInfo.fileName()}`, error);
34620
+ log28.error(`Failed to add/update file in PageMap: ${fileMetaInfo.fileName()}`, error);
34619
34621
  throw error;
34620
34622
  }
34621
34623
  }
@@ -34627,7 +34629,7 @@ var init_content2 = __esm({
34627
34629
  */
34628
34630
  translate(lang2, translationID) {
34629
34631
  if (!this.translator) {
34630
- log27.warn("Translator not initialized, returning fallback translation");
34632
+ log28.warn("Translator not initialized, returning fallback translation");
34631
34633
  return `[i18n] ${translationID}`;
34632
34634
  }
34633
34635
  return this.translator.translate(lang2, translationID);
@@ -34761,7 +34763,7 @@ var init_pagecontent = __esm({
34761
34763
  });
34762
34764
 
34763
34765
  // internal/domain/content/entity/section.ts
34764
- var log28, PAGE_HOME_BASE, Section;
34766
+ var log29, PAGE_HOME_BASE, Section;
34765
34767
  var init_section = __esm({
34766
34768
  "internal/domain/content/entity/section.ts"() {
34767
34769
  "use strict";
@@ -34771,7 +34773,7 @@ var init_section = __esm({
34771
34773
  init_kind();
34772
34774
  init_doctree();
34773
34775
  init_log();
34774
- log28 = getDomainLogger("content", { component: "section" });
34776
+ log29 = getDomainLogger("content", { component: "section" });
34775
34777
  PAGE_HOME_BASE = "/";
34776
34778
  Section = class {
34777
34779
  home;
@@ -34846,7 +34848,7 @@ var init_section = __esm({
34846
34848
  try {
34847
34849
  await walker.walk();
34848
34850
  } catch (error) {
34849
- log28.error("Error walking pages:", error);
34851
+ log29.error("Error walking pages:", error);
34850
34852
  throw error;
34851
34853
  }
34852
34854
  if (!this.home) {
@@ -35035,12 +35037,12 @@ var init_pageoutput = __esm({
35035
35037
  });
35036
35038
 
35037
35039
  // internal/domain/content/entity/paginator.ts
35038
- var log29, PaginatorImpl, PagerImpl, PaginatorManagerImpl;
35040
+ var log30, PaginatorImpl, PagerImpl, PaginatorManagerImpl;
35039
35041
  var init_paginator = __esm({
35040
35042
  "internal/domain/content/entity/paginator.ts"() {
35041
35043
  "use strict";
35042
35044
  init_log();
35043
- log29 = getDomainLogger("content", { component: "paginator" });
35045
+ log30 = getDomainLogger("content", { component: "paginator" });
35044
35046
  PaginatorImpl = class {
35045
35047
  paginatedElements;
35046
35048
  _pagers;
@@ -35409,7 +35411,7 @@ var init_paths2 = __esm({
35409
35411
  });
35410
35412
 
35411
35413
  // internal/domain/content/entity/page.ts
35412
- var import_path10, log30, PageImpl, TaxonomyPageImpl, TermPageImpl;
35414
+ var import_path10, log31, PageImpl, TaxonomyPageImpl, TermPageImpl;
35413
35415
  var init_page = __esm({
35414
35416
  "internal/domain/content/entity/page.ts"() {
35415
35417
  "use strict";
@@ -35423,7 +35425,7 @@ var init_page = __esm({
35423
35425
  init_sort();
35424
35426
  import_path10 = __toESM2(require("path"));
35425
35427
  init_log();
35426
- log30 = getDomainLogger("content", { component: "page" });
35428
+ log31 = getDomainLogger("content", { component: "page" });
35427
35429
  PageImpl = class {
35428
35430
  source;
35429
35431
  content;
@@ -36494,13 +36496,13 @@ function newPartialTemplateNamespace() {
36494
36496
  function newShortcodeTemplateNamespace() {
36495
36497
  return new ShortcodeTemplateNamespace();
36496
36498
  }
36497
- var log31, BaseNamespace, RegularTemplateNamespace, PartialTemplateNamespace, ShortcodeTemplateNamespace;
36499
+ var log32, BaseNamespace, RegularTemplateNamespace, PartialTemplateNamespace, ShortcodeTemplateNamespace;
36498
36500
  var init_namespace = __esm({
36499
36501
  "internal/domain/template/vo/namespace.ts"() {
36500
36502
  "use strict";
36501
36503
  init_type8();
36502
36504
  init_log();
36503
- log31 = getDomainLogger("template", { component: "namespace" });
36505
+ log32 = getDomainLogger("template", { component: "namespace" });
36504
36506
  BaseNamespace = class {
36505
36507
  templates = /* @__PURE__ */ new Map();
36506
36508
  mutex = /* @__PURE__ */ new Set();
@@ -39415,12 +39417,12 @@ var require_dist = __commonJS({
39415
39417
  });
39416
39418
 
39417
39419
  // pkg/cahce/cache.ts
39418
- var log32, ConcurrentCache, globalBuildCache;
39420
+ var log33, ConcurrentCache, globalBuildCache;
39419
39421
  var init_cache2 = __esm({
39420
39422
  "pkg/cahce/cache.ts"() {
39421
39423
  "use strict";
39422
39424
  init_log();
39423
- log32 = getDomainLogger("content", { component: "cache" });
39425
+ log33 = getDomainLogger("content", { component: "cache" });
39424
39426
  ConcurrentCache = class {
39425
39427
  cache = /* @__PURE__ */ new Map();
39426
39428
  pendingPromises = /* @__PURE__ */ new Map();
@@ -39516,7 +39518,7 @@ var init_cache2 = __esm({
39516
39518
  }
39517
39519
  } catch (error) {
39518
39520
  this.pendingPromises.delete(key3);
39519
- log32.error(`Failed to create value for key ${String(key3)} : ${error}`);
39521
+ log33.error(`Failed to create value for key ${String(key3)} : ${error}`);
39520
39522
  throw error;
39521
39523
  }
39522
39524
  }
@@ -39567,7 +39569,7 @@ var init_cache2 = __esm({
39567
39569
  function newParser(funcMap = /* @__PURE__ */ new Map()) {
39568
39570
  return new Parser(funcMap);
39569
39571
  }
39570
- var import_text_template, import_text_template2, log33, Parser;
39572
+ var import_text_template, import_text_template2, log34, Parser;
39571
39573
  var init_parser = __esm({
39572
39574
  "internal/domain/template/entity/parser.ts"() {
39573
39575
  "use strict";
@@ -39577,7 +39579,7 @@ var init_parser = __esm({
39577
39579
  init_info();
39578
39580
  init_log();
39579
39581
  init_cache2();
39580
- log33 = getDomainLogger("template", { component: "parser" });
39582
+ log34 = getDomainLogger("template", { component: "parser" });
39581
39583
  Parser = class {
39582
39584
  prototypeText;
39583
39585
  prototypeTextClone;
@@ -39671,7 +39673,7 @@ var init_parser = __esm({
39671
39673
  return [ts, true, null];
39672
39674
  } catch (error) {
39673
39675
  const templateError = error instanceof TemplateError ? error : new TemplateError(`Parse overlap failed: ${error.message}`, "PARSE_OVERLAP_FAILED");
39674
- log33.error(`Failed to parse template overlap for key: ${cacheKey}: ${templateError.message}`);
39676
+ log34.error(`Failed to parse template overlap for key: ${cacheKey}: ${templateError.message}`);
39675
39677
  return [null, false, templateError];
39676
39678
  }
39677
39679
  });
@@ -39708,12 +39710,12 @@ var init_parser = __esm({
39708
39710
  if (state.template.Tree) {
39709
39711
  const [, addErr] = overlayTmpl.AddParseTree(name, state.template.Tree);
39710
39712
  if (addErr) {
39711
- log33.error(`AddParseTree failed: ${addErr.message} with name ${name}`);
39713
+ log34.error(`AddParseTree failed: ${addErr.message} with name ${name}`);
39712
39714
  throw new TemplateError(`AddParseTree failed: ${addErr.message}`, "ADD_PARSE_TREE_FAILED");
39713
39715
  }
39714
39716
  }
39715
39717
  } catch (error) {
39716
- log33.error(`Error adding dependency ${name} to template ${overlay.name}:`, error);
39718
+ log34.error(`Error adding dependency ${name} to template ${overlay.name}:`, error);
39717
39719
  throw new TemplateError(`Failed to add dependency ${name}: ${error.message}`, "DEPENDENCY_ADD_FAILED");
39718
39720
  }
39719
39721
  }
@@ -39805,7 +39807,7 @@ var init_parser = __esm({
39805
39807
  }
39806
39808
  }
39807
39809
  } catch (error) {
39808
- log33.error(`Error getting dependencies for template ${tmpl.Name()}:`, error);
39810
+ log34.error(`Error getting dependencies for template ${tmpl.Name()}:`, error);
39809
39811
  }
39810
39812
  return resultMap;
39811
39813
  }
@@ -40049,7 +40051,7 @@ var init_lookup = __esm({
40049
40051
  function newTemplateEngine(executor, lookup, parser, templateNamespace, partialNamespace, shortcodeNamespace, fs3) {
40050
40052
  return new TemplateEngine(executor, lookup, parser, templateNamespace, partialNamespace, shortcodeNamespace, fs3);
40051
40053
  }
40052
- var log34, TemplateEngine;
40054
+ var log35, TemplateEngine;
40053
40055
  var init_template = __esm({
40054
40056
  "internal/domain/template/entity/template.ts"() {
40055
40057
  "use strict";
@@ -40058,7 +40060,7 @@ var init_template = __esm({
40058
40060
  init_info();
40059
40061
  init_log();
40060
40062
  init_paths();
40061
- log34 = getDomainLogger("template", { component: "template-engine" });
40063
+ log35 = getDomainLogger("template", { component: "template-engine" });
40062
40064
  TemplateEngine = class {
40063
40065
  executor;
40064
40066
  lookup;
@@ -40164,7 +40166,7 @@ var init_template = __esm({
40164
40166
  return [tmpl, name, true, null];
40165
40167
  }
40166
40168
  } catch (error) {
40167
- log34.error("Error finding template:", error);
40169
+ log35.error("Error finding template:", error);
40168
40170
  }
40169
40171
  }
40170
40172
  return [null, null, false, null];
@@ -40204,7 +40206,7 @@ var init_template = __esm({
40204
40206
  try {
40205
40207
  await this.addTemplateFileInfo(normalizedName, fi);
40206
40208
  } catch (error) {
40207
- log34.error("Error adding template:", new TemplateError(`Failed to add template ${normalizedName}: ${error.message}`, "LOAD_TEMPLATE_FAILED"));
40209
+ log35.error("Error adding template:", new TemplateError(`Failed to add template ${normalizedName}: ${error.message}`, "LOAD_TEMPLATE_FAILED"));
40208
40210
  }
40209
40211
  };
40210
40212
  try {
@@ -40412,17 +40414,17 @@ function updateEngineDependentFunctions(engine) {
40412
40414
  try {
40413
40415
  func.updateEngine(engine);
40414
40416
  } catch (error) {
40415
- log35.error(`\u274C Failed to update function ${func.getFunctionName()}:`, error);
40417
+ log36.error(`\u274C Failed to update function ${func.getFunctionName()}:`, error);
40416
40418
  }
40417
40419
  }
40418
40420
  }
40419
- var crypto2, log35, engineDependentFunctions, PartialFunction, DefaultTemplateRegistry;
40421
+ var crypto2, log36, engineDependentFunctions, PartialFunction, DefaultTemplateRegistry;
40420
40422
  var init_registry = __esm({
40421
40423
  "internal/domain/template/vo/registry.ts"() {
40422
40424
  "use strict";
40423
40425
  init_log();
40424
40426
  crypto2 = __toESM2(require("crypto"));
40425
- log35 = getDomainLogger("template", { component: "registry" });
40427
+ log36 = getDomainLogger("template", { component: "registry" });
40426
40428
  engineDependentFunctions = [];
40427
40429
  PartialFunction = class {
40428
40430
  engine = null;
@@ -40434,14 +40436,14 @@ var init_registry = __esm({
40434
40436
  }
40435
40437
  execute = async (name, context) => {
40436
40438
  if (!this.engine) {
40437
- log35.error(`Partial function called but engine not set: ${name}`);
40439
+ log36.error(`Partial function called but engine not set: ${name}`);
40438
40440
  return `<!-- Partial function called but engine not ready: ${name} -->`;
40439
40441
  }
40440
40442
  try {
40441
40443
  const templateName = name.startsWith("partials/") ? name : `partials/${name}`;
40442
40444
  return await this.executePartial(templateName, context);
40443
40445
  } catch (error) {
40444
- log35.error(`Partial execution failed for "${name}":`, error);
40446
+ log36.error(`Partial execution failed for "${name}":`, error);
40445
40447
  return `<!-- Partial execution failed: ${name} - ${error.message} -->`;
40446
40448
  }
40447
40449
  };
@@ -40455,21 +40457,21 @@ var init_registry = __esm({
40455
40457
  try {
40456
40458
  const [templateObj, found2, err] = await this.engine.getPartial(templateName);
40457
40459
  if (err) {
40458
- log35.error(`Error getting partial template:`, err);
40460
+ log36.error(`Error getting partial template:`, err);
40459
40461
  return `<!-- Error getting partial template: ${templateName} - ${err.message} -->`;
40460
40462
  }
40461
40463
  if (!found2 || !templateObj) {
40462
- log35.warn(`Template not found: ${templateName}`);
40464
+ log36.warn(`Template not found: ${templateName}`);
40463
40465
  return `<!-- Template not found: ${templateName} -->`;
40464
40466
  }
40465
40467
  const [result, execErr] = await templateObj.Execute(context);
40466
40468
  if (execErr) {
40467
- log35.error(`Template execution error:`, execErr);
40469
+ log36.error(`Template execution error:`, execErr);
40468
40470
  return `<!-- Template execution error: ${templateName} - ${execErr.message} -->`;
40469
40471
  }
40470
40472
  return result;
40471
40473
  } catch (error) {
40472
- log35.error(`Sync partial execution failed:`, error);
40474
+ log36.error(`Sync partial execution failed:`, error);
40473
40475
  return `<!-- Partial sync execution failed: ${templateName} - ${error.message} -->`;
40474
40476
  }
40475
40477
  }
@@ -40820,11 +40822,11 @@ var init_registry = __esm({
40820
40822
  });
40821
40823
  funcMap.set("split", (str2, sep3) => {
40822
40824
  if (str2 === null || str2 === void 0) {
40823
- log35.warn("split function: first argument is null or undefined");
40825
+ log36.warn("split function: first argument is null or undefined");
40824
40826
  return [];
40825
40827
  }
40826
40828
  if (typeof str2 !== "string") {
40827
- log35.warn("split function: first argument must be a string, got:", typeof str2, "value:", str2);
40829
+ log36.warn("split function: first argument must be a string, got:", typeof str2, "value:", str2);
40828
40830
  if (Array.isArray(str2)) {
40829
40831
  return str2;
40830
40832
  }
@@ -40835,11 +40837,11 @@ var init_registry = __esm({
40835
40837
  });
40836
40838
  funcMap.set("splitRegex", (str2, regexPattern) => {
40837
40839
  if (str2 === null || str2 === void 0) {
40838
- log35.warn("splitRegex function: first argument is null or undefined");
40840
+ log36.warn("splitRegex function: first argument is null or undefined");
40839
40841
  return [];
40840
40842
  }
40841
40843
  if (typeof str2 !== "string") {
40842
- log35.warn("splitRegex function: first argument must be a string, got:", typeof str2, "value:", str2);
40844
+ log36.warn("splitRegex function: first argument must be a string, got:", typeof str2, "value:", str2);
40843
40845
  if (Array.isArray(str2)) {
40844
40846
  return str2;
40845
40847
  }
@@ -40848,7 +40850,7 @@ var init_registry = __esm({
40848
40850
  const regex2 = new RegExp(regexPattern);
40849
40851
  return stringValue.split(regex2);
40850
40852
  } catch (error) {
40851
- log35.warn("splitRegex function: invalid regex pattern:", regexPattern, "error:", error);
40853
+ log36.warn("splitRegex function: invalid regex pattern:", regexPattern, "error:", error);
40852
40854
  return [stringValue];
40853
40855
  }
40854
40856
  }
@@ -40856,7 +40858,7 @@ var init_registry = __esm({
40856
40858
  const regex2 = new RegExp(regexPattern);
40857
40859
  return str2.split(regex2);
40858
40860
  } catch (error) {
40859
- log35.warn("splitRegex function: invalid regex pattern:", regexPattern, "error:", error);
40861
+ log36.warn("splitRegex function: invalid regex pattern:", regexPattern, "error:", error);
40860
40862
  return [str2];
40861
40863
  }
40862
40864
  });
@@ -41641,7 +41643,7 @@ var init_registry = __esm({
41641
41643
  try {
41642
41644
  return this.doIndex(item, indices);
41643
41645
  } catch (error) {
41644
- log35.error(`Index of type ${typeof item} with args [${indices.join(", ")}] failed:`, error);
41646
+ log36.error(`Index of type ${typeof item} with args [${indices.join(", ")}] failed:`, error);
41645
41647
  return null;
41646
41648
  }
41647
41649
  });
@@ -42219,7 +42221,7 @@ var init_registry = __esm({
42219
42221
  for (let i = 0; i < args.length; i++) {
42220
42222
  message = message.replace(/%[sd%]/, String(args[i]));
42221
42223
  }
42222
- log35.error("Template Error:", message);
42224
+ log36.error("Template Error:", message);
42223
42225
  return "";
42224
42226
  });
42225
42227
  funcMap.set("warnf", (format3, ...args) => {
@@ -42227,7 +42229,7 @@ var init_registry = __esm({
42227
42229
  for (let i = 0; i < args.length; i++) {
42228
42230
  message = message.replace(/%[sd%]/, String(args[i]));
42229
42231
  }
42230
- log35.warn("Template Warning:", message);
42232
+ log36.warn("Template Warning:", message);
42231
42233
  return "";
42232
42234
  });
42233
42235
  funcMap.set("fmt", () => ({
@@ -42254,7 +42256,7 @@ var init_registry = __esm({
42254
42256
  for (let i = 0; i < args.length; i++) {
42255
42257
  message = message.replace(/%[sd%]/, String(args[i]));
42256
42258
  }
42257
- log35.error("Template Error:", message);
42259
+ log36.error("Template Error:", message);
42258
42260
  return "";
42259
42261
  },
42260
42262
  // Erroridf formats args according to a format specifier and logs an ERROR with ID
@@ -42264,7 +42266,7 @@ var init_registry = __esm({
42264
42266
  for (let i = 0; i < args.length; i++) {
42265
42267
  message = message.replace(/%[sd%]/, String(args[i]));
42266
42268
  }
42267
- log35.error("Template Error:", message);
42269
+ log36.error("Template Error:", message);
42268
42270
  return "";
42269
42271
  },
42270
42272
  // Warnf formats args according to a format specifier and logs a WARNING
@@ -42274,7 +42276,7 @@ var init_registry = __esm({
42274
42276
  for (let i = 0; i < args.length; i++) {
42275
42277
  message = message.replace(/%[sd%]/, String(args[i]));
42276
42278
  }
42277
- log35.error("Template Warning:", message);
42279
+ log36.error("Template Warning:", message);
42278
42280
  return "";
42279
42281
  },
42280
42282
  // Warnidf formats args according to a format specifier and logs a WARNING with ID
@@ -42284,7 +42286,7 @@ var init_registry = __esm({
42284
42286
  for (let i = 0; i < args.length; i++) {
42285
42287
  message = message.replace(/%[sd%]/, String(args[i]));
42286
42288
  }
42287
- log35.error("Template Warning:", message);
42289
+ log36.error("Template Warning:", message);
42288
42290
  return "";
42289
42291
  }
42290
42292
  }));
@@ -42932,7 +42934,7 @@ var init_template3 = __esm({
42932
42934
  });
42933
42935
 
42934
42936
  // internal/domain/content/entity/pagebuilder.ts
42935
- var log36, PageBuilder;
42937
+ var log37, PageBuilder;
42936
42938
  var init_pagebuilder = __esm({
42937
42939
  "internal/domain/content/entity/pagebuilder.ts"() {
42938
42940
  "use strict";
@@ -42948,7 +42950,7 @@ var init_pagebuilder = __esm({
42948
42950
  init_paginator();
42949
42951
  init_shortcode2();
42950
42952
  init_template3();
42951
- log36 = getDomainLogger("content", { component: "pagebuilder" });
42953
+ log37 = getDomainLogger("content", { component: "pagebuilder" });
42952
42954
  PageBuilder = class {
42953
42955
  urlSvc;
42954
42956
  langSvc;
@@ -43195,7 +43197,7 @@ var init_pagebuilder = __esm({
43195
43197
  };
43196
43198
  return;
43197
43199
  }
43198
- log36.info(`Lazy rendering not enabled, rendering immediately for page: ${p2.path()}`);
43200
+ log37.info(`Lazy rendering not enabled, rendering immediately for page: ${p2.path()}`);
43199
43201
  const contentResult = await this.renderableDocument?.render({
43200
43202
  maxSummaryLength: 300,
43201
43203
  // Default summary length
@@ -43315,24 +43317,24 @@ var init_pagebuilder = __esm({
43315
43317
  createShortcodeRenderer(p2) {
43316
43318
  return async (shortcode) => {
43317
43319
  if (!this.templateSvc) {
43318
- log36.warn(`Template service not available for shortcode: ${shortcode.name}`);
43320
+ log37.warn(`Template service not available for shortcode: ${shortcode.name}`);
43319
43321
  return "";
43320
43322
  }
43321
43323
  try {
43322
43324
  if (!shortcode.name) {
43323
- log36.warn("Shortcode missing name");
43325
+ log37.warn("Shortcode missing name");
43324
43326
  return "";
43325
43327
  }
43326
43328
  return await this.doRenderShortcode(shortcode, null, 0, p2);
43327
43329
  } catch (error) {
43328
- log36.error(`Error rendering shortcode "${shortcode.name}":`, error);
43330
+ log37.error(`Error rendering shortcode "${shortcode.name}":`, error);
43329
43331
  return "";
43330
43332
  }
43331
43333
  };
43332
43334
  }
43333
43335
  async doRenderShortcode(sc, parent, level, page) {
43334
43336
  if (sc.inline) {
43335
- log36.warn("Inline shortcodes are not supported yet.");
43337
+ log37.warn("Inline shortcodes are not supported yet.");
43336
43338
  return "";
43337
43339
  }
43338
43340
  let data = new ShortcodeWithPage(
@@ -43361,7 +43363,7 @@ var init_pagebuilder = __esm({
43361
43363
  );
43362
43364
  inner += nestedResult;
43363
43365
  } else {
43364
- log36.error(
43366
+ log37.error(
43365
43367
  `Illegal state on shortcode rendering of "${sc.name}". Illegal type in inner data: ${typeof innerData}`
43366
43368
  );
43367
43369
  return "";
@@ -43435,7 +43437,7 @@ var init_pagebuilder = __esm({
43435
43437
  }
43436
43438
  return resStr;
43437
43439
  } catch (error) {
43438
- log36.error(`Error rendering shortcode markdown:`, error);
43440
+ log37.error(`Error rendering shortcode markdown:`, error);
43439
43441
  return "";
43440
43442
  }
43441
43443
  }
@@ -43652,7 +43654,7 @@ function toInt(v) {
43652
43654
  }
43653
43655
  throw new Error(`cannot convert ${typeof v} to int`);
43654
43656
  }
43655
- var log37, Term;
43657
+ var log38, Term;
43656
43658
  var init_term = __esm({
43657
43659
  "internal/domain/content/entity/term.ts"() {
43658
43660
  "use strict";
@@ -43662,7 +43664,7 @@ var init_term = __esm({
43662
43664
  init_frontmatter();
43663
43665
  init_doctree();
43664
43666
  init_log();
43665
- log37 = getDomainLogger("content", { component: "term" });
43667
+ log38 = getDomainLogger("content", { component: "term" });
43666
43668
  Term = class {
43667
43669
  terms;
43668
43670
  fsSvc;
@@ -43696,7 +43698,7 @@ var init_term = __esm({
43696
43698
  try {
43697
43699
  weight2 = toInt(w);
43698
43700
  } catch (err) {
43699
- log37.warn(`Unable to convert taxonomy weight ${w} to int for "${ps.paths().path()}"`);
43701
+ log38.warn(`Unable to convert taxonomy weight ${w} to int for "${ps.paths().path()}"`);
43700
43702
  }
43701
43703
  }
43702
43704
  for (let i = 0; i < vals.length; i++) {
@@ -43787,12 +43789,12 @@ var init_content3 = __esm({
43787
43789
  });
43788
43790
 
43789
43791
  // internal/domain/site/entity/pager.ts
43790
- var log38, SitePager;
43792
+ var log39, SitePager;
43791
43793
  var init_pager = __esm({
43792
43794
  "internal/domain/site/entity/pager.ts"() {
43793
43795
  "use strict";
43794
43796
  init_log();
43795
- log38 = getDomainLogger("site", { component: "pager" });
43797
+ log39 = getDomainLogger("site", { component: "pager" });
43796
43798
  SitePager = class _SitePager {
43797
43799
  page;
43798
43800
  pager;
@@ -43899,14 +43901,14 @@ var init_pager = __esm({
43899
43901
  });
43900
43902
 
43901
43903
  // internal/domain/site/entity/page.ts
43902
- var import_path11, log39, Page2;
43904
+ var import_path11, log40, Page2;
43903
43905
  var init_page2 = __esm({
43904
43906
  "internal/domain/site/entity/page.ts"() {
43905
43907
  "use strict";
43906
43908
  import_path11 = __toESM2(require("path"));
43907
43909
  init_log();
43908
43910
  init_pager();
43909
- log39 = getDomainLogger("site", { component: "page" });
43911
+ log40 = getDomainLogger("site", { component: "page" });
43910
43912
  Page2 = class _Page {
43911
43913
  // Services
43912
43914
  tmplSvc;
@@ -43945,7 +43947,7 @@ var init_page2 = __esm({
43945
43947
  await this.renderResources();
43946
43948
  await this.renderPage();
43947
43949
  } catch (error) {
43948
- log39.error(`Failed to render page ${this.paths().path()}: ${error}`);
43950
+ log40.error(`Failed to render page ${this.paths().path()}: ${error}`);
43949
43951
  }
43950
43952
  }
43951
43953
  getPageOutput() {
@@ -43962,7 +43964,7 @@ var init_page2 = __esm({
43962
43964
  const layouts = this.layouts();
43963
43965
  const { preparer: tmpl, found: found2 } = await this.tmplSvc.lookupLayout(layouts);
43964
43966
  if (!found2) {
43965
- log39.warn(`Failed to find layout: ${layouts.join(",")} for page ${this.paths().path()}`);
43967
+ log40.warn(`Failed to find layout: ${layouts.join(",")} for page ${this.paths().path()}`);
43966
43968
  return;
43967
43969
  }
43968
43970
  const targetFilenames = [];
@@ -44054,7 +44056,7 @@ var init_page2 = __esm({
44054
44056
  try {
44055
44057
  await stream.close();
44056
44058
  } catch (closeError) {
44057
- log39.warn(`Failed to close resource stream: ${closeError}`);
44059
+ log40.warn(`Failed to close resource stream: ${closeError}`);
44058
44060
  }
44059
44061
  }
44060
44062
  }
@@ -44442,7 +44444,7 @@ var init_page2 = __esm({
44442
44444
  }
44443
44445
  return this._paginator;
44444
44446
  } catch (error) {
44445
- log39.error("Error during pagination:", error);
44447
+ log40.error("Error during pagination:", error);
44446
44448
  return null;
44447
44449
  }
44448
44450
  }
@@ -44455,7 +44457,7 @@ var init_page2 = __esm({
44455
44457
  this._paginator = null;
44456
44458
  }
44457
44459
  } catch (error) {
44458
- log39.error("Error initializing Paginator:", error);
44460
+ log40.error("Error initializing Paginator:", error);
44459
44461
  this._paginator = null;
44460
44462
  }
44461
44463
  }
@@ -44491,7 +44493,7 @@ var init_page2 = __esm({
44491
44493
  sitePage(p2) {
44492
44494
  try {
44493
44495
  if (p2 === null) {
44494
- log39.warn(`Invalid content page provided: ${p2}`);
44496
+ log40.warn(`Invalid content page provided: ${p2}`);
44495
44497
  return null;
44496
44498
  }
44497
44499
  return new _Page(
@@ -44502,7 +44504,7 @@ var init_page2 = __esm({
44502
44504
  this.site
44503
44505
  );
44504
44506
  } catch (error) {
44505
- log39.error(`Error creating site page: ${error}`);
44507
+ log40.error(`Error creating site page: ${error}`);
44506
44508
  return null;
44507
44509
  }
44508
44510
  }
@@ -44958,12 +44960,12 @@ __export2(taxonomies_builder_exports, {
44958
44960
  WeightedPage: () => WeightedPage,
44959
44961
  WeightedPages: () => WeightedPages
44960
44962
  });
44961
- var log40, WeightedPage, WeightedPages, Taxonomy3, OrderedTaxonomyEntry, OrderedTaxonomy, TaxonomyList, TaxonomiesBuilder;
44963
+ var log41, WeightedPage, WeightedPages, Taxonomy3, OrderedTaxonomyEntry, OrderedTaxonomy, TaxonomyList, TaxonomiesBuilder;
44962
44964
  var init_taxonomies_builder = __esm({
44963
44965
  "internal/domain/site/entity/taxonomies-builder.ts"() {
44964
44966
  "use strict";
44965
44967
  init_log();
44966
- log40 = getDomainLogger("site", { component: "taxonomies-builder" });
44968
+ log41 = getDomainLogger("site", { component: "taxonomies-builder" });
44967
44969
  WeightedPage = class {
44968
44970
  page;
44969
44971
  // Site Page (wrapped)
@@ -45001,7 +45003,7 @@ var init_taxonomies_builder = __esm({
45001
45003
  // Page returns the first page (equivalent to Go's Page method)
45002
45004
  page() {
45003
45005
  if (this.length === 0) {
45004
- log40.error("Page called on empty WeightedPages");
45006
+ log41.error("Page called on empty WeightedPages");
45005
45007
  return null;
45006
45008
  }
45007
45009
  return this[0];
@@ -45179,7 +45181,7 @@ var init_taxonomies_builder = __esm({
45179
45181
  );
45180
45182
  return taxonomies;
45181
45183
  } catch (error) {
45182
- log40.error(`Failed to create taxonomies: ${error}`);
45184
+ log41.error(`Failed to create taxonomies: ${error}`);
45183
45185
  throw error;
45184
45186
  }
45185
45187
  }
@@ -45191,12 +45193,12 @@ var init_taxonomies_builder = __esm({
45191
45193
  function newEmptyMenus() {
45192
45194
  return new Menus({});
45193
45195
  }
45194
- var log41, Menu2, Menus;
45196
+ var log42, Menu2, Menus;
45195
45197
  var init_menu = __esm({
45196
45198
  "internal/domain/site/valueobject/menu.ts"() {
45197
45199
  "use strict";
45198
45200
  init_log();
45199
- log41 = getDomainLogger("site", { component: "menu" });
45201
+ log42 = getDomainLogger("site", { component: "menu" });
45200
45202
  Menu2 = class _Menu {
45201
45203
  _title;
45202
45204
  _url;
@@ -45508,20 +45510,20 @@ var init_path3 = __esm({
45508
45510
  });
45509
45511
 
45510
45512
  // internal/domain/site/entity/pagegraph.ts
45511
- var log42, PageGraph;
45513
+ var log43, PageGraph;
45512
45514
  var init_pagegraph = __esm({
45513
45515
  "internal/domain/site/entity/pagegraph.ts"() {
45514
45516
  "use strict";
45515
45517
  init_path3();
45516
45518
  init_log();
45517
- log42 = getDomainLogger("site", { component: "PageGraph" });
45519
+ log43 = getDomainLogger("site", { component: "PageGraph" });
45518
45520
  PageGraph = class {
45519
45521
  allSlugs;
45520
45522
  /** Map of page slug → outgoing links (simplified slugs) */
45521
45523
  outgoingLinks = /* @__PURE__ */ new Map();
45522
45524
  constructor(slugs) {
45523
45525
  this.allSlugs = [...slugs];
45524
- log42.info(`PageGraph initialized with ${slugs.length} items (pages + resources)`);
45526
+ log43.info(`PageGraph initialized with ${slugs.length} items (pages + resources)`);
45525
45527
  }
45526
45528
  /**
45527
45529
  * Register outgoing links for a page (called during Pass 2)
@@ -61678,7 +61680,7 @@ var init_is_absolute_url = __esm({
61678
61680
  function createHtmlLinkProcessor(graph, options) {
61679
61681
  return new HtmlLinkProcessor(graph, options);
61680
61682
  }
61681
- var import_path13, log43, defaultOptions2, HtmlLinkProcessor;
61683
+ var import_path13, log44, defaultOptions2, HtmlLinkProcessor;
61682
61684
  var init_html_link_processor = __esm({
61683
61685
  "internal/domain/site/service/html-link-processor.ts"() {
61684
61686
  "use strict";
@@ -61690,7 +61692,7 @@ var init_html_link_processor = __esm({
61690
61692
  import_path13 = __toESM2(require("path"));
61691
61693
  init_path3();
61692
61694
  init_log();
61693
- log43 = getDomainLogger("site", { component: "HtmlLinkProcessor" });
61695
+ log44 = getDomainLogger("site", { component: "HtmlLinkProcessor" });
61694
61696
  defaultOptions2 = {
61695
61697
  markdownLinkResolution: "shortest",
61696
61698
  prettyLinks: true,
@@ -61721,7 +61723,7 @@ var init_html_link_processor = __esm({
61721
61723
  */
61722
61724
  async processLinks(srcSlug, html9) {
61723
61725
  if (!html9 || typeof html9 !== "string") {
61724
- log43.error(`[HtmlLinkProcessor] Invalid HTML input: ${typeof html9}`);
61726
+ log44.error(`[HtmlLinkProcessor] Invalid HTML input: ${typeof html9}`);
61725
61727
  return { html: html9 || "", outgoingLinks: [] };
61726
61728
  }
61727
61729
  const opts = this.options;
@@ -61859,7 +61861,7 @@ var init_html_link_processor = __esm({
61859
61861
  });
61860
61862
 
61861
61863
  // internal/domain/site/entity/site.ts
61862
- var log44, Site;
61864
+ var log45, Site;
61863
61865
  var init_site = __esm({
61864
61866
  "internal/domain/site/entity/site.ts"() {
61865
61867
  "use strict";
@@ -61871,7 +61873,7 @@ var init_site = __esm({
61871
61873
  init_pagegraph();
61872
61874
  init_html_link_processor();
61873
61875
  init_page_filter();
61874
- log44 = getDomainLogger("site", { component: "site" });
61876
+ log45 = getDomainLogger("site", { component: "site" });
61875
61877
  Site = class {
61876
61878
  // Services
61877
61879
  configSvc;
@@ -61980,7 +61982,7 @@ var init_site = __esm({
61980
61982
  }
61981
61983
  } catch (error) {
61982
61984
  const message = error instanceof Error ? error.message : String(error);
61983
- log44.error(`\u274C Site build failed: ${message}`);
61985
+ log45.error(`\u274C Site build failed: ${message}`);
61984
61986
  throw error;
61985
61987
  }
61986
61988
  }
@@ -62009,7 +62011,7 @@ var init_site = __esm({
62009
62011
  }
62010
62012
  } catch (error) {
62011
62013
  const message = error instanceof Error ? error.message : String(error);
62012
- log44.error(`\u274C Site build failed: ${message}`);
62014
+ log45.error(`\u274C Site build failed: ${message}`);
62013
62015
  throw error;
62014
62016
  }
62015
62017
  }
@@ -62022,7 +62024,7 @@ var init_site = __esm({
62022
62024
  await this.buildPageGraph();
62023
62025
  } catch (error) {
62024
62026
  const message = error instanceof Error ? error.message : String(error);
62025
- log44.error(`\u274C Setup failed: ${message}`);
62027
+ log45.error(`\u274C Setup failed: ${message}`);
62026
62028
  throw error;
62027
62029
  }
62028
62030
  }
@@ -62068,16 +62070,16 @@ var init_site = __esm({
62068
62070
  this.home = sitePage;
62069
62071
  }
62070
62072
  });
62071
- log44.info(`\u{1F4CA} Processing wikilinks for ${pages.length} pages...`);
62073
+ log45.info(`\u{1F4CA} Processing wikilinks for ${pages.length} pages...`);
62072
62074
  for (const page of pages) {
62073
62075
  try {
62074
62076
  await page.WikilinkContent();
62075
62077
  } catch (error) {
62076
62078
  const message = error instanceof Error ? error.message : String(error);
62077
- log44.warn(`\u26A0\uFE0F Failed to process wikilinks for ${page.slug()}: ${message}`);
62079
+ log45.warn(`\u26A0\uFE0F Failed to process wikilinks for ${page.slug()}: ${message}`);
62078
62080
  }
62079
62081
  }
62080
- log44.info(`\u2705 Wikilink processing complete`);
62082
+ log45.info(`\u2705 Wikilink processing complete`);
62081
62083
  for (let i = 0; i < pages.length; i++) {
62082
62084
  const page = pages[i];
62083
62085
  const pagePath = page.file().paths().base();
@@ -62108,16 +62110,16 @@ var init_site = __esm({
62108
62110
  this.home = sitePage;
62109
62111
  }
62110
62112
  });
62111
- log44.info(`\u{1F4CA} Processing wikilinks for ${pages.length} pages...`);
62113
+ log45.info(`\u{1F4CA} Processing wikilinks for ${pages.length} pages...`);
62112
62114
  for (const page of pages) {
62113
62115
  try {
62114
62116
  await page.WikilinkContent();
62115
62117
  } catch (error) {
62116
62118
  const message = error instanceof Error ? error.message : String(error);
62117
- log44.warn(`\u26A0\uFE0F Failed to process wikilinks for ${page.slug()}: ${message}`);
62119
+ log45.warn(`\u26A0\uFE0F Failed to process wikilinks for ${page.slug()}: ${message}`);
62118
62120
  }
62119
62121
  }
62120
- log44.info(`\u2705 Wikilink processing complete`);
62122
+ log45.info(`\u2705 Wikilink processing complete`);
62121
62123
  const totalPages = pages.length;
62122
62124
  for (let i = 0; i < pages.length; i++) {
62123
62125
  const page = pages[i];
@@ -62309,7 +62311,7 @@ var init_site = __esm({
62309
62311
  const sitePage = this.sitePageSync(cp);
62310
62312
  pages.push(sitePage);
62311
62313
  } catch (error) {
62312
- log44.error(`\u274C [Site.sitePages] Failed to convert page ${i}:`, error);
62314
+ log45.error(`\u274C [Site.sitePages] Failed to convert page ${i}:`, error);
62313
62315
  }
62314
62316
  }
62315
62317
  return pages;
@@ -62357,12 +62359,12 @@ var init_site = __esm({
62357
62359
  const langIndex = this.languageSvc.getLanguageIndex(this.language.getCurrentLanguage());
62358
62360
  const contentPage = this.contentSvc.getPageFromPathSync(langIndex, key3);
62359
62361
  if (!contentPage) {
62360
- log44.warn(`\u26A0\uFE0F GetPage: No page found for key "${key3}"`);
62362
+ log45.warn(`\u26A0\uFE0F GetPage: No page found for key "${key3}"`);
62361
62363
  return null;
62362
62364
  }
62363
62365
  return this.sitePageSync(contentPage);
62364
62366
  } catch (error) {
62365
- log44.error(`\u274C Error getting page "${key3}": ${error}`);
62367
+ log45.error(`\u274C Error getting page "${key3}": ${error}`);
62366
62368
  return null;
62367
62369
  }
62368
62370
  }
@@ -62374,7 +62376,7 @@ var init_site = __esm({
62374
62376
  try {
62375
62377
  await this.staticCopySvc.copyStaticFiles(this.staticCopySvc.staticFs(), this.staticCopySvc.publishFs());
62376
62378
  } catch (error) {
62377
- log44.error("\u274C Static file copy failed:", error);
62379
+ log45.error("\u274C Static file copy failed:", error);
62378
62380
  throw error;
62379
62381
  }
62380
62382
  }
@@ -62398,7 +62400,7 @@ var init_site = __esm({
62398
62400
  */
62399
62401
  async buildPageGraph() {
62400
62402
  if (this.pageGraph) {
62401
- log44.debug("PageGraph already built, skipping rebuild");
62403
+ log45.debug("PageGraph already built, skipping rebuild");
62402
62404
  return;
62403
62405
  }
62404
62406
  try {
@@ -62411,15 +62413,15 @@ var init_site = __esm({
62411
62413
  });
62412
62414
  }
62413
62415
  const pageSlugs = allPages.map((page) => page.slug());
62414
- log44.info(`\u{1F4C4} Collected ${pageSlugs.length} page slugs`);
62416
+ log45.info(`\u{1F4C4} Collected ${pageSlugs.length} page slugs`);
62415
62417
  const resourceSlugs = await this.collectResourceSlugs(allPages);
62416
- log44.info(`\u{1F5BC}\uFE0F Collected ${resourceSlugs.length} resource slugs`);
62418
+ log45.info(`\u{1F5BC}\uFE0F Collected ${resourceSlugs.length} resource slugs`);
62417
62419
  const allSlugs = [...pageSlugs, ...resourceSlugs];
62418
62420
  this.pageGraph = new PageGraph(allSlugs);
62419
- log44.info(`\u2705 PageGraph built: ${pageSlugs.length} pages + ${resourceSlugs.length} resources = ${allSlugs.length} total`);
62421
+ log45.info(`\u2705 PageGraph built: ${pageSlugs.length} pages + ${resourceSlugs.length} resources = ${allSlugs.length} total`);
62420
62422
  } catch (error) {
62421
62423
  const message = error instanceof Error ? error.message : String(error);
62422
- log44.error(`\u274C Failed to build PageGraph: ${message}`);
62424
+ log45.error(`\u274C Failed to build PageGraph: ${message}`);
62423
62425
  throw error;
62424
62426
  }
62425
62427
  }
@@ -62447,12 +62449,12 @@ var init_site = __esm({
62447
62449
  }
62448
62450
  } catch (error) {
62449
62451
  const message = error instanceof Error ? error.message : String(error);
62450
- log44.debug(`\u26A0\uFE0F Failed to get resources for page ${page.slug()}: ${message}`);
62452
+ log45.debug(`\u26A0\uFE0F Failed to get resources for page ${page.slug()}: ${message}`);
62451
62453
  }
62452
62454
  }
62453
62455
  } catch (error) {
62454
62456
  const message = error instanceof Error ? error.message : String(error);
62455
- log44.warn(`\u26A0\uFE0F Failed to collect resource slugs: ${message}`);
62457
+ log45.warn(`\u26A0\uFE0F Failed to collect resource slugs: ${message}`);
62456
62458
  }
62457
62459
  return resourceSlugs;
62458
62460
  }
@@ -62472,7 +62474,7 @@ var init_site = __esm({
62472
62474
  */
62473
62475
  async ProcessWikilinks(srcSlug, html9) {
62474
62476
  if (!this.pageGraph) {
62475
- log44.warn("\u26A0\uFE0F PageGraph not built yet, returning original HTML");
62477
+ log45.warn("\u26A0\uFE0F PageGraph not built yet, returning original HTML");
62476
62478
  return html9;
62477
62479
  }
62478
62480
  try {
@@ -62485,7 +62487,7 @@ var init_site = __esm({
62485
62487
  const urlObj = new URL2(baseURL);
62486
62488
  baseURL = urlObj.pathname.replace(/\/$/, "");
62487
62489
  } catch (e) {
62488
- log44.warn(`Failed to parse baseURL as URL: ${baseURL}, treating as path`);
62490
+ log45.warn(`Failed to parse baseURL as URL: ${baseURL}, treating as path`);
62489
62491
  }
62490
62492
  }
62491
62493
  if (baseURL === "/") {
@@ -62505,7 +62507,7 @@ var init_site = __esm({
62505
62507
  return result.html;
62506
62508
  } catch (error) {
62507
62509
  const message = error instanceof Error ? error.message : String(error);
62508
- log44.error(`\u274C Failed to process wikilinks for ${srcSlug}: ${message}`);
62510
+ log45.error(`\u274C Failed to process wikilinks for ${srcSlug}: ${message}`);
62509
62511
  return html9;
62510
62512
  }
62511
62513
  }
@@ -62530,7 +62532,7 @@ var init_site = __esm({
62530
62532
  */
62531
62533
  GetBacklinks(targetSlug) {
62532
62534
  if (!this.pageGraph) {
62533
- log44.warn(`\u26A0\uFE0F PageGraph not built yet, cannot get backlinks for ${targetSlug}`);
62535
+ log45.warn(`\u26A0\uFE0F PageGraph not built yet, cannot get backlinks for ${targetSlug}`);
62534
62536
  return [];
62535
62537
  }
62536
62538
  return this.pageGraph.getBacklinks(targetSlug);
@@ -62550,7 +62552,7 @@ var init_site = __esm({
62550
62552
  */
62551
62553
  async GetContentIndex() {
62552
62554
  if (!this.pageGraph) {
62553
- log44.warn(`\u26A0\uFE0F PageGraph not built yet, cannot generate content index`);
62555
+ log45.warn(`\u26A0\uFE0F PageGraph not built yet, cannot generate content index`);
62554
62556
  return /* @__PURE__ */ new Map();
62555
62557
  }
62556
62558
  const contentIndex = /* @__PURE__ */ new Map();
@@ -62568,7 +62570,7 @@ var init_site = __esm({
62568
62570
  content: truncatedContent
62569
62571
  });
62570
62572
  }
62571
- log44.debug(`[Site] Generated contentIndex with ${contentIndex.size} entries`);
62573
+ log45.debug(`[Site] Generated contentIndex with ${contentIndex.size} entries`);
62572
62574
  return contentIndex;
62573
62575
  }
62574
62576
  };
@@ -62592,13 +62594,13 @@ async function openFileForWriting(fs3, filename) {
62592
62594
  function isFileNotFoundError(error) {
62593
62595
  return error && (error.code === "ENOENT" || error.code === "FILE_NOT_FOUND" || error.message?.includes("not found") || error.message?.includes("no such file"));
62594
62596
  }
62595
- var import_path15, log45, Publisher, MultiWriter;
62597
+ var import_path15, log46, Publisher, MultiWriter;
62596
62598
  var init_publisher = __esm({
62597
62599
  "internal/domain/site/entity/publisher.ts"() {
62598
62600
  "use strict";
62599
62601
  import_path15 = __toESM2(require("path"));
62600
62602
  init_log();
62601
- log45 = getDomainLogger("site", { component: "publisher" });
62603
+ log46 = getDomainLogger("site", { component: "publisher" });
62602
62604
  Publisher = class {
62603
62605
  fs;
62604
62606
  constructor(fs3) {
@@ -62689,12 +62691,12 @@ var init_publisher = __esm({
62689
62691
  });
62690
62692
 
62691
62693
  // internal/domain/site/entity/ref.ts
62692
- var log46, Ref;
62694
+ var log47, Ref;
62693
62695
  var init_ref = __esm({
62694
62696
  "internal/domain/site/entity/ref.ts"() {
62695
62697
  "use strict";
62696
62698
  init_log();
62697
- log46 = getDomainLogger("site", { component: "ref" });
62699
+ log47 = getDomainLogger("site", { component: "ref" });
62698
62700
  Ref = class {
62699
62701
  site;
62700
62702
  contentSvc;
@@ -62751,7 +62753,7 @@ var init_ref = __esm({
62751
62753
  try {
62752
62754
  refURL = new globalThis.URL(normalizedRef, "http://example.com");
62753
62755
  } catch (error) {
62754
- log46.error(`Failed to parse ref URL: ${error}`);
62756
+ log47.error(`Failed to parse ref URL: ${error}`);
62755
62757
  return this.notFoundURL;
62756
62758
  }
62757
62759
  let target = null;
@@ -62776,7 +62778,7 @@ var init_ref = __esm({
62776
62778
  link2 = sitePage.permalink();
62777
62779
  }
62778
62780
  } catch (error) {
62779
- log46.error(`[${page.pageIdentity().pageLanguage()}] REF_NOT_FOUND: Ref "${ref}": ${error}`);
62781
+ log47.error(`[${page.pageIdentity().pageLanguage()}] REF_NOT_FOUND: Ref "${ref}": ${error}`);
62780
62782
  return this.notFoundURL;
62781
62783
  }
62782
62784
  }
@@ -62798,11 +62800,11 @@ var init_ref = __esm({
62798
62800
  logNotFound(ref, what, page, position3) {
62799
62801
  const lang2 = page.pageIdentity().pageLanguage();
62800
62802
  if (position3 && position3.isValid()) {
62801
- log46.error(`[${lang2}] REF_NOT_FOUND: Ref "${ref}": ${position3.toString()}: ${what}`);
62803
+ log47.error(`[${lang2}] REF_NOT_FOUND: Ref "${ref}": ${position3.toString()}: ${what}`);
62802
62804
  } else if (!page) {
62803
- log46.error(`[${lang2}] REF_NOT_FOUND: Ref "${ref}": ${what}`);
62805
+ log47.error(`[${lang2}] REF_NOT_FOUND: Ref "${ref}": ${what}`);
62804
62806
  } else {
62805
- log46.error(`[${lang2}] REF_NOT_FOUND: Ref "${ref}" from page "${page.path()}": ${what}`);
62807
+ log47.error(`[${lang2}] REF_NOT_FOUND: Ref "${ref}" from page "${page.path()}": ${what}`);
62806
62808
  }
62807
62809
  }
62808
62810
  };
@@ -62810,12 +62812,12 @@ var init_ref = __esm({
62810
62812
  });
62811
62813
 
62812
62814
  // internal/domain/site/entity/language.ts
62813
- var log47, CollatorWrapper, Language2;
62815
+ var log48, CollatorWrapper, Language2;
62814
62816
  var init_language3 = __esm({
62815
62817
  "internal/domain/site/entity/language.ts"() {
62816
62818
  "use strict";
62817
62819
  init_log();
62818
- log47 = getDomainLogger("site", { component: "language" });
62820
+ log48 = getDomainLogger("site", { component: "language" });
62819
62821
  CollatorWrapper = class {
62820
62822
  collator;
62821
62823
  constructor(collator) {
@@ -63045,12 +63047,12 @@ var init_author = __esm({
63045
63047
  function newOrganization() {
63046
63048
  return new Organization2();
63047
63049
  }
63048
- var log48, Organization2;
63050
+ var log49, Organization2;
63049
63051
  var init_organization = __esm({
63050
63052
  "internal/domain/site/valueobject/organization.ts"() {
63051
63053
  "use strict";
63052
63054
  init_log();
63053
- log48 = getDomainLogger("site", { component: "organization" });
63055
+ log49 = getDomainLogger("site", { component: "organization" });
63054
63056
  Organization2 = class {
63055
63057
  _name;
63056
63058
  _description;
@@ -63194,13 +63196,13 @@ var init_version = __esm({
63194
63196
  function newNavigation(langSvc) {
63195
63197
  return new Navigation(langSvc);
63196
63198
  }
63197
- var log49, Navigation;
63199
+ var log50, Navigation;
63198
63200
  var init_navigation = __esm({
63199
63201
  "internal/domain/site/entity/navigation.ts"() {
63200
63202
  "use strict";
63201
63203
  init_log();
63202
63204
  init_menu();
63203
- log49 = getDomainLogger("site", { component: "navigation" });
63205
+ log50 = getDomainLogger("site", { component: "navigation" });
63204
63206
  Navigation = class {
63205
63207
  taxonomies;
63206
63208
  taxonomiesBuilder = null;
@@ -63226,7 +63228,7 @@ var init_navigation = __esm({
63226
63228
  }
63227
63229
  async generateMenusForLanguage(lang2, langIndex) {
63228
63230
  if (!this.menuBuilder) {
63229
- log49.error("Menu builder not set, cannot generate menus");
63231
+ log50.error("Menu builder not set, cannot generate menus");
63230
63232
  return;
63231
63233
  }
63232
63234
  if (this.menuCache.get(lang2) === true) {
@@ -63237,12 +63239,12 @@ var init_navigation = __esm({
63237
63239
  this.menus.set(lang2, generatedMenus);
63238
63240
  this.menuCache.set(lang2, true);
63239
63241
  } catch (error) {
63240
- log49.error(`Failed to generate menus for language ${lang2}: ${error}`);
63242
+ log50.error(`Failed to generate menus for language ${lang2}: ${error}`);
63241
63243
  }
63242
63244
  }
63243
63245
  async generateTaxonomiesForLanguage(lang2, langIndex, site) {
63244
63246
  if (!this.taxonomiesBuilder) {
63245
- log49.error("Taxonomies builder not set, cannot generate taxonomies");
63247
+ log50.error("Taxonomies builder not set, cannot generate taxonomies");
63246
63248
  return;
63247
63249
  }
63248
63250
  if (this.taxonomiesCache.get(lang2) === true) {
@@ -63253,7 +63255,7 @@ var init_navigation = __esm({
63253
63255
  this.taxonomies.set(lang2, generatedTaxonomies);
63254
63256
  this.taxonomiesCache.set(lang2, true);
63255
63257
  } catch (error) {
63256
- log49.error(`Failed to generate taxonomies for language ${lang2}: ${error}`);
63258
+ log50.error(`Failed to generate taxonomies for language ${lang2}: ${error}`);
63257
63259
  }
63258
63260
  }
63259
63261
  getMenus(lang2) {
@@ -63271,13 +63273,13 @@ var init_navigation = __esm({
63271
63273
  });
63272
63274
 
63273
63275
  // internal/domain/site/entity/menu-builder.ts
63274
- var log50, MenuBuilder;
63276
+ var log51, MenuBuilder;
63275
63277
  var init_menu_builder = __esm({
63276
63278
  "internal/domain/site/entity/menu-builder.ts"() {
63277
63279
  "use strict";
63278
63280
  init_log();
63279
63281
  init_menu();
63280
- log50 = getDomainLogger("site", { component: "menu-builder" });
63282
+ log51 = getDomainLogger("site", { component: "menu-builder" });
63281
63283
  MenuBuilder = class {
63282
63284
  contentService;
63283
63285
  site;
@@ -63313,7 +63315,7 @@ var init_menu_builder = __esm({
63313
63315
  await this.processMenuSection(menuName, menuSection, pageUrl, page, menuMap);
63314
63316
  }
63315
63317
  } catch (error) {
63316
- log50.error(`Error processing page for menu: ${error}`);
63318
+ log51.error(`Error processing page for menu: ${error}`);
63317
63319
  }
63318
63320
  }
63319
63321
  /**
@@ -63439,7 +63441,7 @@ var init_menu_builder = __esm({
63439
63441
  const sitePage = await this.site.sitePage(page);
63440
63442
  return sitePage.RelPermalink;
63441
63443
  } catch (error) {
63442
- log50.error(`Error generating page URL for ${page.path()}: ${error}`);
63444
+ log51.error(`Error generating page URL for ${page.path()}: ${error}`);
63443
63445
  return this.fallbackUrlFromPath(page.path());
63444
63446
  }
63445
63447
  }
@@ -63450,7 +63452,7 @@ var init_menu_builder = __esm({
63450
63452
  try {
63451
63453
  return this.site.getURL().relURL(url);
63452
63454
  } catch (error) {
63453
- log50.error(`Error processing menu item URL ${url}: ${error}`);
63455
+ log51.error(`Error processing menu item URL ${url}: ${error}`);
63454
63456
  return url;
63455
63457
  }
63456
63458
  }
@@ -63576,7 +63578,7 @@ var init_menu_builder = __esm({
63576
63578
  function createNavigationFactory(langService, contentService, site) {
63577
63579
  return new NavigationFactory(langService, contentService, site);
63578
63580
  }
63579
- var log51, NavigationFactory;
63581
+ var log52, NavigationFactory;
63580
63582
  var init_navigation_factory = __esm({
63581
63583
  "internal/domain/site/factory/navigation-factory.ts"() {
63582
63584
  "use strict";
@@ -63584,7 +63586,7 @@ var init_navigation_factory = __esm({
63584
63586
  init_menu_builder();
63585
63587
  init_taxonomies_builder();
63586
63588
  init_log();
63587
- log51 = getDomainLogger("site", { component: "navigation-factory" });
63589
+ log52 = getDomainLogger("site", { component: "navigation-factory" });
63588
63590
  NavigationFactory = class {
63589
63591
  langService;
63590
63592
  contentService;
@@ -63606,7 +63608,7 @@ var init_navigation_factory = __esm({
63606
63608
  navigation.setTaxonomiesBuilder(taxonomiesBuilder);
63607
63609
  return navigation;
63608
63610
  } catch (error) {
63609
- log51.error(`Failed to create Navigation entity: ${error}`);
63611
+ log52.error(`Failed to create Navigation entity: ${error}`);
63610
63612
  throw error;
63611
63613
  }
63612
63614
  }
@@ -63663,7 +63665,7 @@ function newSite(services) {
63663
63665
  );
63664
63666
  return site;
63665
63667
  }
63666
- var log52;
63668
+ var log53;
63667
63669
  var init_site2 = __esm({
63668
63670
  "internal/domain/site/factory/site.ts"() {
63669
63671
  "use strict";
@@ -63677,7 +63679,7 @@ var init_site2 = __esm({
63677
63679
  init_version();
63678
63680
  init_navigation_factory();
63679
63681
  init_log();
63680
- log52 = getDomainLogger("site", { component: "factory" });
63682
+ log53 = getDomainLogger("site", { component: "factory" });
63681
63683
  }
63682
63684
  });
63683
63685
 
@@ -63689,7 +63691,7 @@ var init_type9 = __esm({
63689
63691
  });
63690
63692
 
63691
63693
  // internal/domain/resources/entity/resource.ts
63692
- var import_crypto, import_stream, import_promises, log53, ResourceHash, PublishOnce, ResourceImpl;
63694
+ var import_crypto, import_stream, import_promises, log54, ResourceHash, PublishOnce, ResourceImpl;
63693
63695
  var init_resource = __esm({
63694
63696
  "internal/domain/resources/entity/resource.ts"() {
63695
63697
  "use strict";
@@ -63699,7 +63701,7 @@ var init_resource = __esm({
63699
63701
  init_paths();
63700
63702
  import_promises = require("stream/promises");
63701
63703
  init_log();
63702
- log53 = getDomainLogger("resources", { component: "publisher" });
63704
+ log54 = getDomainLogger("resources", { component: "publisher" });
63703
63705
  ResourceHash = class {
63704
63706
  value = "";
63705
63707
  size = 0;
@@ -63783,7 +63785,7 @@ var init_resource = __esm({
63783
63785
  async publish() {
63784
63786
  const targetPath = this.targetPath();
63785
63787
  if (!this.publisher) {
63786
- log53.error("\u26A0\uFE0F [Resource.publish] No publisher for: %s", targetPath);
63788
+ log54.error("\u26A0\uFE0F [Resource.publish] No publisher for: %s", targetPath);
63787
63789
  return;
63788
63790
  }
63789
63791
  await this.publishOnce.do(async () => {
@@ -63794,21 +63796,21 @@ var init_resource = __esm({
63794
63796
  readSeeker = await this.readSeekCloser();
63795
63797
  await this.copyStreamToFile(readSeeker, publicWriter);
63796
63798
  } catch (error) {
63797
- log53.errorf("\u274C [Resource.publish] Error publishing %s: %s", targetPath, error);
63799
+ log54.errorf("\u274C [Resource.publish] Error publishing %s: %s", targetPath, error);
63798
63800
  throw error;
63799
63801
  } finally {
63800
63802
  if (readSeeker) {
63801
63803
  try {
63802
63804
  await readSeeker.close();
63803
63805
  } catch (closeError) {
63804
- log53.errorf("\u274C [Resource.publish] Failed to close ReadSeekCloser %s: %s", targetPath, closeError);
63806
+ log54.errorf("\u274C [Resource.publish] Failed to close ReadSeekCloser %s: %s", targetPath, closeError);
63805
63807
  }
63806
63808
  }
63807
63809
  if (publicWriter) {
63808
63810
  try {
63809
63811
  await publicWriter.file.close();
63810
63812
  } catch (closeError) {
63811
- log53.errorf("\u274C [Resource.publish] Failed to close public writer %s: %s", targetPath, closeError);
63813
+ log54.errorf("\u274C [Resource.publish] Failed to close public writer %s: %s", targetPath, closeError);
63812
63814
  }
63813
63815
  }
63814
63816
  }
@@ -63823,7 +63825,7 @@ var init_resource = __esm({
63823
63825
  try {
63824
63826
  await (0, import_promises.pipeline)(source, destination);
63825
63827
  } catch (err) {
63826
- log53.errorf("\u274C [copyStreamToFile] Error during pipeline for %s: %s", targetPath, err);
63828
+ log54.errorf("\u274C [copyStreamToFile] Error during pipeline for %s: %s", targetPath, err);
63827
63829
  throw err;
63828
63830
  }
63829
63831
  }
@@ -94482,14 +94484,14 @@ var init_template4 = __esm({
94482
94484
  });
94483
94485
 
94484
94486
  // internal/domain/resources/entity/publisher.ts
94485
- var path25, import_stream2, log54, Publisher2, FileWritable;
94487
+ var path25, import_stream2, log55, Publisher2, FileWritable;
94486
94488
  var init_publisher2 = __esm({
94487
94489
  "internal/domain/resources/entity/publisher.ts"() {
94488
94490
  "use strict";
94489
94491
  path25 = __toESM2(require("path"));
94490
94492
  init_log();
94491
94493
  import_stream2 = require("stream");
94492
- log54 = getDomainLogger("resources", { component: "publisher" });
94494
+ log55 = getDomainLogger("resources", { component: "publisher" });
94493
94495
  Publisher2 = class {
94494
94496
  pubFs;
94495
94497
  urlSvc;
@@ -94529,7 +94531,7 @@ var init_publisher2 = __esm({
94529
94531
  try {
94530
94532
  await originalClose();
94531
94533
  } catch (error2) {
94532
- log54.errorf("\u274C [Publisher.File.close] Error closing publish file (retry) %s, $s", cleanFilename, error2);
94534
+ log55.errorf("\u274C [Publisher.File.close] Error closing publish file (retry) %s, $s", cleanFilename, error2);
94533
94535
  throw error2;
94534
94536
  }
94535
94537
  };
@@ -94591,14 +94593,14 @@ var init_publisher2 = __esm({
94591
94593
  });
94592
94594
 
94593
94595
  // internal/domain/resources/entity/http.ts
94594
- var http2, https2, log55, HttpClient4;
94596
+ var http2, https2, log56, HttpClient4;
94595
94597
  var init_http2 = __esm({
94596
94598
  "internal/domain/resources/entity/http.ts"() {
94597
94599
  "use strict";
94598
94600
  init_log();
94599
94601
  http2 = __toESM2(require("http"));
94600
94602
  https2 = __toESM2(require("https"));
94601
- log55 = getDomainLogger("resources", { component: "http-client" });
94603
+ log56 = getDomainLogger("resources", { component: "http-client" });
94602
94604
  HttpClient4 = class {
94603
94605
  defaultTimeout = 3e4;
94604
94606
  // 30 seconds
@@ -94631,12 +94633,12 @@ var init_http2 = __esm({
94631
94633
  };
94632
94634
  const request = httpModule.request(requestOptions, (response) => {
94633
94635
  if (response.statusCode && response.statusCode >= 300 && response.statusCode < 400 && response.headers.location) {
94634
- log55.infof("\u{1F504} [HttpClient.fromRemote] Redirecting from %s to %s", uri, response.headers.location);
94636
+ log56.infof("\u{1F504} [HttpClient.fromRemote] Redirecting from %s to %s", uri, response.headers.location);
94635
94637
  this.fromRemote(response.headers.location, options).then(resolve5);
94636
94638
  return;
94637
94639
  }
94638
94640
  if (!response.statusCode || response.statusCode < 200 || response.statusCode >= 300) {
94639
- log55.errorf(
94641
+ log56.errorf(
94640
94642
  "\u274C [HttpClient.fromRemote] HTTP error %d when fetching %s: %s",
94641
94643
  response.statusCode || 0,
94642
94644
  uri,
@@ -94653,34 +94655,34 @@ var init_http2 = __esm({
94653
94655
  try {
94654
94656
  const buffer = Buffer.concat(chunks);
94655
94657
  const content = buffer.toString("utf8");
94656
- log55.infof(
94658
+ log56.infof(
94657
94659
  "\u2705 [HttpClient.fromRemote] Successfully fetched %d bytes from %s",
94658
94660
  content.length,
94659
94661
  uri
94660
94662
  );
94661
94663
  resolve5(content);
94662
94664
  } catch (error) {
94663
- log55.errorf("\u274C [HttpClient.fromRemote] Error converting response to string from %s: %s", uri, error);
94665
+ log56.errorf("\u274C [HttpClient.fromRemote] Error converting response to string from %s: %s", uri, error);
94664
94666
  resolve5(null);
94665
94667
  }
94666
94668
  });
94667
94669
  response.on("error", (error) => {
94668
- log55.errorf("\u274C [HttpClient.fromRemote] Response error when fetching %s: %s", uri, error.message);
94670
+ log56.errorf("\u274C [HttpClient.fromRemote] Response error when fetching %s: %s", uri, error.message);
94669
94671
  resolve5(null);
94670
94672
  });
94671
94673
  });
94672
94674
  request.on("error", (error) => {
94673
- log55.errorf("\u274C [HttpClient.fromRemote] Request error when fetching %s: %s", uri, error.message);
94675
+ log56.errorf("\u274C [HttpClient.fromRemote] Request error when fetching %s: %s", uri, error.message);
94674
94676
  resolve5(null);
94675
94677
  });
94676
94678
  request.on("timeout", () => {
94677
94679
  request.destroy();
94678
- log55.errorf("\u274C [HttpClient.fromRemote] Request timeout when fetching %s", uri);
94680
+ log56.errorf("\u274C [HttpClient.fromRemote] Request timeout when fetching %s", uri);
94679
94681
  resolve5(null);
94680
94682
  });
94681
94683
  request.end();
94682
94684
  } catch (error) {
94683
- log55.errorf("\u274C [HttpClient.fromRemote] Error fetching content from %s: %s", uri, error);
94685
+ log56.errorf("\u274C [HttpClient.fromRemote] Error fetching content from %s: %s", uri, error);
94684
94686
  resolve5(null);
94685
94687
  }
94686
94688
  });
@@ -94690,7 +94692,7 @@ var init_http2 = __esm({
94690
94692
  });
94691
94693
 
94692
94694
  // internal/domain/resources/entity/resources.ts
94693
- var path26, import_crypto3, log56, Resources;
94695
+ var path26, import_crypto3, log57, Resources;
94694
94696
  var init_resources = __esm({
94695
94697
  "internal/domain/resources/entity/resources.ts"() {
94696
94698
  "use strict";
@@ -94705,7 +94707,7 @@ var init_resources = __esm({
94705
94707
  path26 = __toESM2(require("path"));
94706
94708
  import_crypto3 = require("crypto");
94707
94709
  init_log();
94708
- log56 = getDomainLogger("resources", { component: "resources" });
94710
+ log57 = getDomainLogger("resources", { component: "resources" });
94709
94711
  Resources = class {
94710
94712
  cache = /* @__PURE__ */ new Map();
94711
94713
  workspace;
@@ -94758,7 +94760,7 @@ var init_resources = __esm({
94758
94760
  }
94759
94761
  return resource;
94760
94762
  } catch (error) {
94761
- log56.errorf("\u274C [Resources.getResource] Error getting resource %s, %s", cleanPath, error);
94763
+ log57.errorf("\u274C [Resources.getResource] Error getting resource %s, %s", cleanPath, error);
94762
94764
  return null;
94763
94765
  }
94764
94766
  }
@@ -94778,7 +94780,7 @@ var init_resources = __esm({
94778
94780
  }
94779
94781
  return resource;
94780
94782
  } catch (error) {
94781
- log56.errorf("\u274C [Resources.getResourceWithOpener] Error getting resource with opener %s, %s", cleanPath, error);
94783
+ log57.errorf("\u274C [Resources.getResourceWithOpener] Error getting resource with opener %s, %s", cleanPath, error);
94782
94784
  return null;
94783
94785
  }
94784
94786
  }
@@ -94800,11 +94802,11 @@ var init_resources = __esm({
94800
94802
  if (result) {
94801
94803
  this.cache.set(cacheKey, result);
94802
94804
  } else {
94803
- log56.warnf("\u26A0\uFE0F [Resources.executeAsTemplate] Template execution returned null for resource %s", resource.key());
94805
+ log57.warnf("\u26A0\uFE0F [Resources.executeAsTemplate] Template execution returned null for resource %s", resource.key());
94804
94806
  }
94805
94807
  return result;
94806
94808
  } catch (error) {
94807
- log56.errorf("\u274C [Resources.executeAsTemplate] Error executing template %s, %s", resource.key(), error);
94809
+ log57.errorf("\u274C [Resources.executeAsTemplate] Error executing template %s, %s", resource.key(), error);
94808
94810
  throw error;
94809
94811
  }
94810
94812
  }
@@ -94826,11 +94828,11 @@ var init_resources = __esm({
94826
94828
  if (result) {
94827
94829
  this.cache.set(cacheKey, result);
94828
94830
  } else {
94829
- log56.warnf("\u26A0\uFE0F [Resources.minify] Minification returned null for resource %s", resource.key());
94831
+ log57.warnf("\u26A0\uFE0F [Resources.minify] Minification returned null for resource %s", resource.key());
94830
94832
  }
94831
94833
  return result;
94832
94834
  } catch (error) {
94833
- log56.errorf("\u274C [Resources.minify] Error minifying resource %s, %s", resource.key(), error);
94835
+ log57.errorf("\u274C [Resources.minify] Error minifying resource %s, %s", resource.key(), error);
94834
94836
  throw error;
94835
94837
  }
94836
94838
  }
@@ -94849,11 +94851,11 @@ var init_resources = __esm({
94849
94851
  if (res) {
94850
94852
  this.cache.set(cacheKey, res);
94851
94853
  } else {
94852
- log56.warnf("\u26A0\uFE0F [Resources.fingerprint] Fingerprint operation returned null for resource %s", resource.key());
94854
+ log57.warnf("\u26A0\uFE0F [Resources.fingerprint] Fingerprint operation returned null for resource %s", resource.key());
94853
94855
  }
94854
94856
  return res;
94855
94857
  } catch (error) {
94856
- log56.errorf("\u274C [Resources.fingerprint] Error fingerprinting resource %s, %s", resource.key(), error);
94858
+ log57.errorf("\u274C [Resources.fingerprint] Error fingerprinting resource %s, %s", resource.key(), error);
94857
94859
  throw error;
94858
94860
  }
94859
94861
  }
@@ -94880,7 +94882,7 @@ var init_resources = __esm({
94880
94882
  }
94881
94883
  return resource;
94882
94884
  } catch (error) {
94883
- log56.errorf("\u274C [Resources.fromRemote] Error getting remote resource %s, %s", uri, error);
94885
+ log57.errorf("\u274C [Resources.fromRemote] Error getting remote resource %s, %s", uri, error);
94884
94886
  return null;
94885
94887
  }
94886
94888
  }
@@ -94916,7 +94918,7 @@ var init_resources = __esm({
94916
94918
  );
94917
94919
  return resource;
94918
94920
  } catch (error) {
94919
- log56.errorf("\u274C [Resources.buildResource] Error building resource for %s, %s", pathname, error);
94921
+ log57.errorf("\u274C [Resources.buildResource] Error building resource for %s, %s", pathname, error);
94920
94922
  return null;
94921
94923
  }
94922
94924
  }
@@ -94975,7 +94977,7 @@ var init_resources = __esm({
94975
94977
  try {
94976
94978
  await file.close();
94977
94979
  } catch (closeError) {
94978
- log56.warnf("\u274C [Resources.createReadSeekCloser] Error closing file after read error %s, %s", file.path, closeError);
94980
+ log57.warnf("\u274C [Resources.createReadSeekCloser] Error closing file after read error %s, %s", file.path, closeError);
94979
94981
  }
94980
94982
  return this.newReadSeekerNoOpCloserFromString("");
94981
94983
  }
@@ -95213,12 +95215,12 @@ var init_resources2 = __esm({
95213
95215
  });
95214
95216
 
95215
95217
  // internal/application/batch-task-queue.ts
95216
- var log57, BatchTaskQueue;
95218
+ var log58, BatchTaskQueue;
95217
95219
  var init_batch_task_queue = __esm({
95218
95220
  "internal/application/batch-task-queue.ts"() {
95219
95221
  "use strict";
95220
95222
  init_log();
95221
- log57 = getDomainLogger("application", { component: "batch-task-queue" });
95223
+ log58 = getDomainLogger("application", { component: "batch-task-queue" });
95222
95224
  BatchTaskQueue = class {
95223
95225
  queue = [];
95224
95226
  currentIndex = 0;
@@ -95226,7 +95228,7 @@ var init_batch_task_queue = __esm({
95226
95228
  constructor(batches) {
95227
95229
  this.queue = batches;
95228
95230
  this.totalBatches = batches.length;
95229
- log57.info(`Task queue initialized with ${this.totalBatches} batches`);
95231
+ log58.info(`Task queue initialized with ${this.totalBatches} batches`);
95230
95232
  }
95231
95233
  /**
95232
95234
  * 获取下一个任务批次(线程安全)
@@ -95279,7 +95281,7 @@ function createTaskBatches(tasks2, batchSize) {
95279
95281
  for (let i = 0; i < tasks2.length; i += batchSize) {
95280
95282
  batches.push(tasks2.slice(i, i + batchSize));
95281
95283
  }
95282
- log58.info(`\u{1F4E6} Created ${batches.length} batches (${batchSize} tasks per batch)`);
95284
+ log59.info(`\u{1F4E6} Created ${batches.length} batches (${batchSize} tasks per batch)`);
95283
95285
  return batches;
95284
95286
  }
95285
95287
  async function runWorkerLoop(poolManager, taskQueue, workerIndex, totalPages, completedPages, onProgress) {
@@ -95287,11 +95289,11 @@ async function runWorkerLoop(poolManager, taskQueue, workerIndex, totalPages, co
95287
95289
  while (true) {
95288
95290
  const batch = taskQueue.nextBatch();
95289
95291
  if (!batch) {
95290
- log58.debug(`Worker ${workerIndex} finished - no more tasks`);
95292
+ log59.debug(`Worker ${workerIndex} finished - no more tasks`);
95291
95293
  break;
95292
95294
  }
95293
95295
  const progress = taskQueue.getProgress();
95294
- log58.info(`\u{1F504} Worker ${workerIndex} processing batch ${progress.completed}/${progress.total} (${batch.length} tasks)`);
95296
+ log59.info(`\u{1F504} Worker ${workerIndex} processing batch ${progress.completed}/${progress.total} (${batch.length} tasks)`);
95295
95297
  const task = {
95296
95298
  type: "process-batch",
95297
95299
  pageTasks: batch
@@ -95312,9 +95314,9 @@ async function runWorkerLoop(poolManager, taskQueue, workerIndex, totalPages, co
95312
95314
  totalPages
95313
95315
  }
95314
95316
  });
95315
- log58.info(`\u2705 Worker ${workerIndex} completed batch: ${result.processedCount} tasks in ${result.duration.toFixed(2)}ms`);
95317
+ log59.info(`\u2705 Worker ${workerIndex} completed batch: ${result.processedCount} tasks in ${result.duration.toFixed(2)}ms`);
95316
95318
  } else {
95317
- log58.error(`\u274C Worker ${workerIndex} failed: ${response.error}`);
95319
+ log59.error(`\u274C Worker ${workerIndex} failed: ${response.error}`);
95318
95320
  results.push({
95319
95321
  success: false,
95320
95322
  processedCount: 0,
@@ -95343,7 +95345,7 @@ async function processSSGParallel(projDir, modulesDir, markdown, onProgress, htt
95343
95345
  });
95344
95346
  const pageTasks = await collectAllPageTasks(projDir, modulesDir);
95345
95347
  if (pageTasks.length === 0) {
95346
- log58.warn("\u26A0\uFE0F No page tasks found to process");
95348
+ log59.warn("\u26A0\uFE0F No page tasks found to process");
95347
95349
  onProgress?.({
95348
95350
  stage: "completion",
95349
95351
  message: "No pages to process",
@@ -95367,7 +95369,7 @@ async function processSSGParallel(projDir, modulesDir, markdown, onProgress, htt
95367
95369
  const cpuCount = os.cpus().length;
95368
95370
  const workerCount = Math.max(2, Math.floor(cpuCount * 0.6));
95369
95371
  const batchSize = calculateOptimalBatchSize(pageTasks.length, workerCount);
95370
- log58.info(`\u2699\uFE0F Using ${workerCount} workers with batch size ${batchSize}`);
95372
+ log59.info(`\u2699\uFE0F Using ${workerCount} workers with batch size ${batchSize}`);
95371
95373
  onProgress?.({
95372
95374
  stage: "config",
95373
95375
  message: `Creating worker pool with ${workerCount} workers...`,
@@ -95380,7 +95382,7 @@ async function processSSGParallel(projDir, modulesDir, markdown, onProgress, htt
95380
95382
  message: "Initializing workers...",
95381
95383
  percentage: 50
95382
95384
  });
95383
- log58.info("\u{1F527} Initializing workers...");
95385
+ log59.info("\u{1F527} Initializing workers...");
95384
95386
  const initStartTime = performance.now();
95385
95387
  const initTasks = [];
95386
95388
  for (let i = 0; i < workerCount; i++) {
@@ -95393,7 +95395,7 @@ async function processSSGParallel(projDir, modulesDir, markdown, onProgress, htt
95393
95395
  }
95394
95396
  await Promise.all(initTasks);
95395
95397
  const initDuration = performance.now() - initStartTime;
95396
- log58.info(`\u2705 All workers initialized in ${initDuration.toFixed(2)}ms`);
95398
+ log59.info(`\u2705 All workers initialized in ${initDuration.toFixed(2)}ms`);
95397
95399
  onProgress?.({
95398
95400
  stage: "build",
95399
95401
  message: `Creating ${Math.ceil(pageTasks.length / batchSize)} task batches...`,
@@ -95406,7 +95408,7 @@ async function processSSGParallel(projDir, modulesDir, markdown, onProgress, htt
95406
95408
  message: "Starting parallel page rendering...",
95407
95409
  percentage: 70
95408
95410
  });
95409
- log58.info("\u{1F3C3} Starting worker loops...");
95411
+ log59.info("\u{1F3C3} Starting worker loops...");
95410
95412
  const processingStartTime = performance.now();
95411
95413
  const completedPages = { count: 0 };
95412
95414
  const workerLoops = [];
@@ -95430,8 +95432,8 @@ async function processSSGParallel(projDir, modulesDir, markdown, onProgress, htt
95430
95432
  message: `Parallel SSG completed! Processed ${totalProcessed} pages with ${workerCount} workers`,
95431
95433
  percentage: 100
95432
95434
  });
95433
- log58.info("\u2728 Parallel SSG completed!");
95434
- log58.info("\u{1F4CA} Statistics:", {
95435
+ log59.info("\u2728 Parallel SSG completed!");
95436
+ log59.info("\u{1F4CA} Statistics:", {
95435
95437
  totalTasks: pageTasks.length,
95436
95438
  processedTasks: totalProcessed,
95437
95439
  successfulBatches: successCount,
@@ -95453,13 +95455,13 @@ async function processSSGParallel(projDir, modulesDir, markdown, onProgress, htt
95453
95455
  };
95454
95456
  } catch (error) {
95455
95457
  const message = error instanceof Error ? error.message : String(error);
95456
- log58.error(`\u274C Parallel SSG failed: ${message}`);
95458
+ log59.error(`\u274C Parallel SSG failed: ${message}`);
95457
95459
  throw error;
95458
95460
  } finally {
95459
95461
  process.chdir(originalCwd);
95460
95462
  }
95461
95463
  }
95462
- var os, log58;
95464
+ var os, log59;
95463
95465
  var init_ssg_parallel = __esm({
95464
95466
  "internal/application/ssg-parallel.ts"() {
95465
95467
  "use strict";
@@ -95468,7 +95470,7 @@ var init_ssg_parallel = __esm({
95468
95470
  init_batch_task_queue();
95469
95471
  init_ssg();
95470
95472
  os = __toESM2(require("os"));
95471
- log58 = getDomainLogger("ssg", { component: "parallel" });
95473
+ log59 = getDomainLogger("ssg", { component: "parallel" });
95472
95474
  }
95473
95475
  });
95474
95476
 
@@ -95630,7 +95632,7 @@ function createCustomizedFunctions(config2, site, resources) {
95630
95632
  try {
95631
95633
  return await resources.getResource(filename);
95632
95634
  } catch (error) {
95633
- log59.warn(`Resource not found: ${filename}`, error);
95635
+ log60.warn(`Resource not found: ${filename}`, error);
95634
95636
  return Promise.resolve(null);
95635
95637
  }
95636
95638
  },
@@ -95681,7 +95683,7 @@ async function createTemplateAdapter(templateEngine, site) {
95681
95683
  execute: async (data) => {
95682
95684
  const [result, execErr] = await tmpl.Execute(data);
95683
95685
  if (execErr) {
95684
- log59.errorf("template exec error: %s", execErr);
95686
+ log60.errorf("template exec error: %s", execErr);
95685
95687
  throw execErr;
95686
95688
  }
95687
95689
  return result;
@@ -95696,7 +95698,7 @@ async function createTemplateAdapter(templateEngine, site) {
95696
95698
  try {
95697
95699
  return await preparer.execute(data);
95698
95700
  } catch (error) {
95699
- log59.error(`\u274C Template execution error: ${error}`);
95701
+ log60.error(`\u274C Template execution error: ${error}`);
95700
95702
  return `<html><body>Template execution error: ${error}</body></html>`;
95701
95703
  }
95702
95704
  }
@@ -95746,11 +95748,11 @@ function createSiteForSSG(config2, fs3, content) {
95746
95748
  try {
95747
95749
  const page = content.getPageFromPath(langIndex, path29);
95748
95750
  if (!page) {
95749
- log59.error(`\u26A0\uFE0F Application.getPageFromPath: content domain returned null for path: "${path29}"`);
95751
+ log60.error(`\u26A0\uFE0F Application.getPageFromPath: content domain returned null for path: "${path29}"`);
95750
95752
  }
95751
95753
  return page;
95752
95754
  } catch (error) {
95753
- log59.error(`\u274C Application.getPageFromPath error delegating to content domain:`, error);
95755
+ log60.error(`\u274C Application.getPageFromPath error delegating to content domain:`, error);
95754
95756
  return null;
95755
95757
  }
95756
95758
  },
@@ -95758,11 +95760,11 @@ function createSiteForSSG(config2, fs3, content) {
95758
95760
  try {
95759
95761
  const page = content.getPageFromPath(langIndex, path29);
95760
95762
  if (!page) {
95761
- log59.warn(`\u26A0\uFE0F Application.getPageFromPathSync: content domain returned null for path: ${path29}`);
95763
+ log60.warn(`\u26A0\uFE0F Application.getPageFromPathSync: content domain returned null for path: ${path29}`);
95762
95764
  }
95763
95765
  return page;
95764
95766
  } catch (error) {
95765
- log59.error(`\u274C Application.getPageFromPathSync error delegating to content domain:`, error);
95767
+ log60.error(`\u274C Application.getPageFromPathSync error delegating to content domain:`, error);
95766
95768
  return null;
95767
95769
  }
95768
95770
  },
@@ -95813,16 +95815,16 @@ async function generateStaticSite(projDir, modulesDir, markdown) {
95813
95815
  let startTime = performance.now();
95814
95816
  const config2 = await loadConfiguration(projDir, modulesDir);
95815
95817
  let endTime = performance.now();
95816
- log59.info(`\u2705 Configuration loaded in ${(endTime - startTime).toFixed(2)} ms`);
95818
+ log60.info(`\u2705 Configuration loaded in ${(endTime - startTime).toFixed(2)} ms`);
95817
95819
  const markdownRenderer = markdown;
95818
95820
  startTime = performance.now();
95819
95821
  const modules = await createModule(config2);
95820
95822
  endTime = performance.now();
95821
- log59.info(`\u2705 Modules created in ${(endTime - startTime).toFixed(2)} ms`);
95823
+ log60.info(`\u2705 Modules created in ${(endTime - startTime).toFixed(2)} ms`);
95822
95824
  startTime = performance.now();
95823
95825
  const filesystem = await createFileSystem(config2, modules);
95824
95826
  endTime = performance.now();
95825
- log59.info(`\u2705 Filesystem created in ${(endTime - startTime).toFixed(2)} ms`);
95827
+ log60.info(`\u2705 Filesystem created in ${(endTime - startTime).toFixed(2)} ms`);
95826
95828
  const content = await createContentEngine(filesystem, config2, modules, markdownRenderer);
95827
95829
  const site = createSiteForSSG(config2, filesystem, content);
95828
95830
  const resources = createResourcesEngine(config2, filesystem);
@@ -95840,16 +95842,16 @@ async function generateStaticSite(projDir, modulesDir, markdown) {
95840
95842
  startTime = performance.now();
95841
95843
  await content.collectPages();
95842
95844
  endTime = performance.now();
95843
- log59.info(`\u2705 Pages collected in ${(endTime - startTime).toFixed(2)} ms`);
95845
+ log60.info(`\u2705 Pages collected in ${(endTime - startTime).toFixed(2)} ms`);
95844
95846
  const templateAdapter = await createTemplateAdapter(templateEngine, site);
95845
95847
  startTime = performance.now();
95846
95848
  await site.build(templateAdapter);
95847
95849
  endTime = performance.now();
95848
95850
  setDomainInstances(site, content, filesystem, config2, modules, resources, templateEngine);
95849
- log59.info(`\u2705 Site built in ${(endTime - startTime).toFixed(2)} ms`);
95851
+ log60.info(`\u2705 Site built in ${(endTime - startTime).toFixed(2)} ms`);
95850
95852
  } catch (error) {
95851
95853
  const message = error instanceof Error ? error.message : String(error);
95852
- log59.error(`\u274C Static site generation failed: ${message}`);
95854
+ log60.error(`\u274C Static site generation failed: ${message}`);
95853
95855
  throw new Error(`Failed to generate static site: ${message}`);
95854
95856
  }
95855
95857
  }
@@ -95864,7 +95866,7 @@ async function processSSG(projDir, modulesDir, markdown) {
95864
95866
  }
95865
95867
  } catch (error) {
95866
95868
  const message = error instanceof Error ? error.message : String(error);
95867
- log59.error(`\u274C SSG processing failed: ${message}`);
95869
+ log60.error(`\u274C SSG processing failed: ${message}`);
95868
95870
  throw new Error(`Failed to process SSG: ${message}`);
95869
95871
  }
95870
95872
  }
@@ -95940,7 +95942,7 @@ async function generateStaticSiteWithProgress(projDir, modulesDir, markdown, onP
95940
95942
  return getDomainInstances();
95941
95943
  } catch (error) {
95942
95944
  const message = error instanceof Error ? error.message : String(error);
95943
- log59.error(`\u274C Static site generation failed: ${message}`);
95945
+ log60.error(`\u274C Static site generation failed: ${message}`);
95944
95946
  throw new Error(`Failed to generate static site: ${message}`);
95945
95947
  }
95946
95948
  }
@@ -95997,7 +95999,7 @@ async function processSSGWithProgress(projDir, modulesDir, markdown, onProgress,
95997
95999
  }
95998
96000
  } catch (error) {
95999
96001
  const message = error instanceof Error ? error.message : String(error);
96000
- log59.error(`\u274C SSG processing failed: ${message}`);
96002
+ log60.error(`\u274C SSG processing failed: ${message}`);
96001
96003
  throw new Error(`Failed to process SSG: ${message}`);
96002
96004
  }
96003
96005
  }
@@ -96012,29 +96014,29 @@ async function serveSSG(projDir, modulesDir, markdown, onProgress, httpClient) {
96012
96014
  return await generateStaticSiteWithProgress(projDir, modulesDir, markdown, onProgress, httpClient);
96013
96015
  } catch (error) {
96014
96016
  const message = error instanceof Error ? error.message : String(error);
96015
- log59.error(`\u274C SSG processing failed: ${message}`);
96017
+ log60.error(`\u274C SSG processing failed: ${message}`);
96016
96018
  throw new Error(`Failed to process SSG: ${message}`);
96017
96019
  }
96018
96020
  }
96019
96021
  async function collectAllPageTasks(projDir, modulesDir, markdown, onProgress, httpClient) {
96020
96022
  if (tasks.length > 0) {
96021
- log59.info("Page tasks already collected, returning cached tasks");
96023
+ log60.info("Page tasks already collected, returning cached tasks");
96022
96024
  return tasks;
96023
96025
  }
96024
96026
  try {
96025
96027
  let startTime = performance.now();
96026
96028
  const config2 = await loadConfiguration(projDir, modulesDir);
96027
96029
  let endTime = performance.now();
96028
- log59.info(`\u2705 Configuration loaded in ${(endTime - startTime).toFixed(2)} ms`);
96030
+ log60.info(`\u2705 Configuration loaded in ${(endTime - startTime).toFixed(2)} ms`);
96029
96031
  const markdownRenderer = markdown;
96030
96032
  startTime = performance.now();
96031
96033
  const modules = await createModuleWithProgress(config2, onProgress, httpClient);
96032
96034
  endTime = performance.now();
96033
- log59.info(`\u2705 Modules created in ${(endTime - startTime).toFixed(2)} ms`);
96035
+ log60.info(`\u2705 Modules created in ${(endTime - startTime).toFixed(2)} ms`);
96034
96036
  startTime = performance.now();
96035
96037
  const filesystem = await createFileSystem(config2, modules);
96036
96038
  endTime = performance.now();
96037
- log59.info(`\u2705 Filesystem created in ${(endTime - startTime).toFixed(2)} ms`);
96039
+ log60.info(`\u2705 Filesystem created in ${(endTime - startTime).toFixed(2)} ms`);
96038
96040
  const content = await createContentEngine(filesystem, config2, modules, markdownRenderer);
96039
96041
  const site = createSiteForSSG(config2, filesystem, content);
96040
96042
  const resources = createResourcesEngine(config2, filesystem);
@@ -96052,7 +96054,7 @@ async function collectAllPageTasks(projDir, modulesDir, markdown, onProgress, ht
96052
96054
  startTime = performance.now();
96053
96055
  await content.collectPages();
96054
96056
  endTime = performance.now();
96055
- log59.info(`\u2705 Pages collected in ${(endTime - startTime).toFixed(2)} ms`);
96057
+ log60.info(`\u2705 Pages collected in ${(endTime - startTime).toFixed(2)} ms`);
96056
96058
  startTime = performance.now();
96057
96059
  const languageKeys = config2.getLanguage().languageKeys();
96058
96060
  for (const langKey of languageKeys) {
@@ -96067,24 +96069,24 @@ async function collectAllPageTasks(projDir, modulesDir, markdown, onProgress, ht
96067
96069
  page.pageIdentity().clearStale();
96068
96070
  }
96069
96071
  });
96070
- log59.debug(`Collected pages for language: ${langKey}`);
96072
+ log60.debug(`Collected pages for language: ${langKey}`);
96071
96073
  }
96072
96074
  endTime = performance.now();
96073
- log59.info(`\u2705 Page tasks collected in ${(endTime - startTime).toFixed(2)} ms`);
96075
+ log60.info(`\u2705 Page tasks collected in ${(endTime - startTime).toFixed(2)} ms`);
96074
96076
  const templateAdapter = await createTemplateAdapter(templateEngine, site);
96075
96077
  startTime = performance.now();
96076
96078
  await site.build(templateAdapter);
96077
96079
  endTime = performance.now();
96078
- log59.info(`\u2705 Site built in ${(endTime - startTime).toFixed(2)} ms`);
96080
+ log60.info(`\u2705 Site built in ${(endTime - startTime).toFixed(2)} ms`);
96079
96081
  setDomainInstances(site, content, filesystem, config2, modules, resources, templateEngine);
96080
96082
  return tasks;
96081
96083
  } catch (error) {
96082
96084
  const message = error instanceof Error ? error.message : String(error);
96083
- log59.error(`\u274C Static site generation failed: ${message}`);
96085
+ log60.error(`\u274C Static site generation failed: ${message}`);
96084
96086
  throw new Error(`Failed to generate static site: ${message}`);
96085
96087
  }
96086
96088
  }
96087
- var import_path16, log59, configCache, modulesCache, fsCache, contentCache, resourcesCache, templateEngineCache, siteCache, createDomainInstances, tasks;
96089
+ var import_path16, log60, configCache, modulesCache, fsCache, contentCache, resourcesCache, templateEngineCache, siteCache, createDomainInstances, tasks;
96088
96090
  var init_ssg = __esm({
96089
96091
  "internal/application/ssg.ts"() {
96090
96092
  "use strict";
@@ -96098,7 +96100,7 @@ var init_ssg = __esm({
96098
96100
  import_path16 = __toESM2(require("path"));
96099
96101
  init_resources2();
96100
96102
  init_ssg_parallel();
96101
- log59 = getDomainLogger("ssg", { component: "application" });
96103
+ log60 = getDomainLogger("ssg", { component: "application" });
96102
96104
  createDomainInstances = (site, content, fs3, config2, modules, resources) => {
96103
96105
  return {
96104
96106
  site,
@@ -96114,13 +96116,13 @@ var init_ssg = __esm({
96114
96116
  });
96115
96117
 
96116
96118
  // internal/application/worker/worker-state.ts
96117
- var log60, WorkerState;
96119
+ var log61, WorkerState;
96118
96120
  var init_worker_state = __esm({
96119
96121
  "internal/application/worker/worker-state.ts"() {
96120
96122
  "use strict";
96121
96123
  init_log();
96122
96124
  init_page_filter();
96123
- log60 = getDomainLogger("application", { component: "worker-state" });
96125
+ log61 = getDomainLogger("application", { component: "worker-state" });
96124
96126
  WorkerState = class {
96125
96127
  constructor(projDir, moduleDir) {
96126
96128
  this.projDir = projDir;
@@ -96132,17 +96134,17 @@ var init_worker_state = __esm({
96132
96134
  */
96133
96135
  async initialize() {
96134
96136
  if (this.initialized) {
96135
- log60.warn("Worker already initialized, skipping...");
96137
+ log61.warn("Worker already initialized, skipping...");
96136
96138
  return;
96137
96139
  }
96138
96140
  const startTime = performance.now();
96139
- log60.info("\u{1F680} Initializing worker environment...", {
96141
+ log61.info("\u{1F680} Initializing worker environment...", {
96140
96142
  projDir: this.projDir,
96141
96143
  moduleDir: this.moduleDir
96142
96144
  });
96143
96145
  this.initialized = true;
96144
96146
  const duration = performance.now() - startTime;
96145
- log60.info(`\u2705 Worker environment initialized in ${duration.toFixed(2)}ms`);
96147
+ log61.info(`\u2705 Worker environment initialized in ${duration.toFixed(2)}ms`);
96146
96148
  }
96147
96149
  /**
96148
96150
  * 处理一个批次的页面任务
@@ -96156,13 +96158,13 @@ var init_worker_state = __esm({
96156
96158
  }
96157
96159
  const startTime = performance.now();
96158
96160
  const errors2 = [];
96159
- log60.info(`\u{1F4E6} Processing batch: ${pageTasks.length} tasks`);
96161
+ log61.info(`\u{1F4E6} Processing batch: ${pageTasks.length} tasks`);
96160
96162
  try {
96161
96163
  setPageFilter(pageTasks);
96162
- log60.debug(`Filter set for ${pageTasks.length} tasks`);
96164
+ log61.debug(`Filter set for ${pageTasks.length} tasks`);
96163
96165
  const { generateStaticSite: generateStaticSite2 } = await Promise.resolve().then(() => (init_ssg(), ssg_exports));
96164
96166
  await generateStaticSite2(this.projDir, this.moduleDir);
96165
- log60.debug("\u2705 Tasks processed (filtered)");
96167
+ log61.debug("\u2705 Tasks processed (filtered)");
96166
96168
  const duration = performance.now() - startTime;
96167
96169
  const result = {
96168
96170
  success: true,
@@ -96171,12 +96173,12 @@ var init_worker_state = __esm({
96171
96173
  duration,
96172
96174
  errors: errors2
96173
96175
  };
96174
- log60.info(`\u2705 Batch processed: ${pageTasks.length} tasks in ${duration.toFixed(2)}ms`);
96176
+ log61.info(`\u2705 Batch processed: ${pageTasks.length} tasks in ${duration.toFixed(2)}ms`);
96175
96177
  return result;
96176
96178
  } catch (error) {
96177
96179
  const message = error instanceof Error ? error.message : String(error);
96178
96180
  const errorMsg = `Batch processing failed: ${message}`;
96179
- log60.error(`\u274C ${errorMsg}`);
96181
+ log61.error(`\u274C ${errorMsg}`);
96180
96182
  errors2.push(errorMsg);
96181
96183
  const duration = performance.now() - startTime;
96182
96184
  return {
@@ -96194,7 +96196,7 @@ var init_worker_state = __esm({
96194
96196
  * 清理资源
96195
96197
  */
96196
96198
  async cleanup() {
96197
- log60.info("\u{1F9F9} Cleaning up worker resources...");
96199
+ log61.info("\u{1F9F9} Cleaning up worker resources...");
96198
96200
  this.initialized = false;
96199
96201
  }
96200
96202
  /**
@@ -96231,7 +96233,7 @@ async function handleWorkerTask(task) {
96231
96233
  }
96232
96234
  } catch (error) {
96233
96235
  const message = error instanceof Error ? error.message : String(error);
96234
- log61.error(`Worker task failed: ${message}`);
96236
+ log62.error(`Worker task failed: ${message}`);
96235
96237
  return {
96236
96238
  success: false,
96237
96239
  error: message
@@ -96245,7 +96247,7 @@ async function handleInit(task) {
96245
96247
  error: "Missing projDir or moduleDir for init task"
96246
96248
  };
96247
96249
  }
96248
- log61.info("\u{1F527} Initializing worker...");
96250
+ log62.info("\u{1F527} Initializing worker...");
96249
96251
  workerState = new WorkerState(task.projDir, task.moduleDir);
96250
96252
  await workerState.initialize();
96251
96253
  return {
@@ -96299,13 +96301,13 @@ async function handleCleanup() {
96299
96301
  data: { message: "Worker cleaned up successfully" }
96300
96302
  };
96301
96303
  }
96302
- var log61, workerState;
96304
+ var log62, workerState;
96303
96305
  var init_worker_main = __esm({
96304
96306
  "internal/application/worker/worker-main.ts"() {
96305
96307
  "use strict";
96306
96308
  init_worker_state();
96307
96309
  init_log();
96308
- log61 = getDomainLogger("application", { component: "worker-main" });
96310
+ log62 = getDomainLogger("application", { component: "worker-main" });
96309
96311
  workerState = null;
96310
96312
  }
96311
96313
  });
@@ -96316,14 +96318,14 @@ __export2(pool_manager_exports, {
96316
96318
  WorkerPoolManager: () => WorkerPoolManager
96317
96319
  });
96318
96320
  module.exports = __toCommonJS2(pool_manager_exports);
96319
- var workerpool, os2, log62, WorkerPoolManager;
96321
+ var workerpool, os2, log63, WorkerPoolManager;
96320
96322
  var init_pool_manager = __esm({
96321
96323
  "internal/application/worker/pool-manager.ts"() {
96322
96324
  init_log();
96323
96325
  workerpool = __toESM2(require("workerpool"));
96324
96326
  init_worker_main();
96325
96327
  os2 = __toESM2(require("os"));
96326
- log62 = getDomainLogger("application", { component: "pool-manager" });
96328
+ log63 = getDomainLogger("application", { component: "pool-manager" });
96327
96329
  WorkerPoolManager = class {
96328
96330
  pool = null;
96329
96331
  environment;
@@ -96331,7 +96333,7 @@ var init_pool_manager = __esm({
96331
96333
  constructor(config2 = {}) {
96332
96334
  this.environment = this.detectEnvironment();
96333
96335
  this.workerCount = config2.workerCount || this.calculateOptimalWorkerCount();
96334
- log62.info("Worker pool manager created", {
96336
+ log63.info("Worker pool manager created", {
96335
96337
  environment: this.environment,
96336
96338
  workerCount: this.workerCount
96337
96339
  });
@@ -96344,20 +96346,20 @@ var init_pool_manager = __esm({
96344
96346
  */
96345
96347
  detectEnvironment() {
96346
96348
  if (typeof Worker !== "undefined" && typeof globalThis.window !== "undefined") {
96347
- log62.debug("Detected Web Worker support (browser/Electron environment)");
96349
+ log63.debug("Detected Web Worker support (browser/Electron environment)");
96348
96350
  return "browser";
96349
96351
  }
96350
96352
  if (typeof process !== "undefined" && process.versions && process.versions.node) {
96351
96353
  try {
96352
96354
  require.resolve("worker_threads");
96353
- log62.debug("Detected Node.js Worker Threads support");
96355
+ log63.debug("Detected Node.js Worker Threads support");
96354
96356
  return "node";
96355
96357
  } catch {
96356
- log62.debug("Node.js detected but worker_threads unavailable, falling back to browser mode");
96358
+ log63.debug("Node.js detected but worker_threads unavailable, falling back to browser mode");
96357
96359
  return "browser";
96358
96360
  }
96359
96361
  }
96360
- log62.debug("Using browser mode as default");
96362
+ log63.debug("Using browser mode as default");
96361
96363
  return "browser";
96362
96364
  }
96363
96365
  /**
@@ -96380,11 +96382,11 @@ var init_pool_manager = __esm({
96380
96382
  */
96381
96383
  async initialize() {
96382
96384
  if (this.pool) {
96383
- log62.warn("Worker pool already initialized");
96385
+ log63.warn("Worker pool already initialized");
96384
96386
  return;
96385
96387
  }
96386
96388
  const startTime = performance.now();
96387
- log62.info(`\u{1F680} Initializing ${this.environment} worker pool with ${this.workerCount} workers...`);
96389
+ log63.info(`\u{1F680} Initializing ${this.environment} worker pool with ${this.workerCount} workers...`);
96388
96390
  try {
96389
96391
  if (this.environment === "node") {
96390
96392
  await this.initializeNodePool();
@@ -96392,25 +96394,25 @@ var init_pool_manager = __esm({
96392
96394
  await this.initializeBrowserPool();
96393
96395
  }
96394
96396
  const duration = performance.now() - startTime;
96395
- log62.info(`\u2705 Worker pool initialized in ${duration.toFixed(2)}ms`);
96397
+ log63.info(`\u2705 Worker pool initialized in ${duration.toFixed(2)}ms`);
96396
96398
  } catch (error) {
96397
96399
  const message = error instanceof Error ? error.message : String(error);
96398
96400
  if (this.environment === "node") {
96399
- log62.warn(`\u274C Node worker pool initialization failed: ${message}`);
96400
- log62.warn("\u{1F504} Attempting fallback to browser workers...");
96401
+ log63.warn(`\u274C Node worker pool initialization failed: ${message}`);
96402
+ log63.warn("\u{1F504} Attempting fallback to browser workers...");
96401
96403
  try {
96402
96404
  this.environment = "browser";
96403
96405
  await this.initializeBrowserPool();
96404
96406
  const duration = performance.now() - startTime;
96405
- log62.info(`\u2705 Successfully initialized browser worker pool as fallback in ${duration.toFixed(2)}ms`);
96407
+ log63.info(`\u2705 Successfully initialized browser worker pool as fallback in ${duration.toFixed(2)}ms`);
96406
96408
  return;
96407
96409
  } catch (fallbackError) {
96408
96410
  const fallbackMessage = fallbackError instanceof Error ? fallbackError.message : String(fallbackError);
96409
- log62.error(`\u274C Fallback to browser workers also failed: ${fallbackMessage}`);
96411
+ log63.error(`\u274C Fallback to browser workers also failed: ${fallbackMessage}`);
96410
96412
  throw new Error(`Worker pool initialization failed. Node: ${message}, Browser: ${fallbackMessage}`);
96411
96413
  }
96412
96414
  }
96413
- log62.error(`\u274C Failed to initialize worker pool: ${message}`);
96415
+ log63.error(`\u274C Failed to initialize worker pool: ${message}`);
96414
96416
  throw error;
96415
96417
  }
96416
96418
  }
@@ -96420,13 +96422,13 @@ var init_pool_manager = __esm({
96420
96422
  async initializeNodePool() {
96421
96423
  const path29 = require("path");
96422
96424
  const workerPath = path29.join(__dirname, "worker", "worker-node.js");
96423
- log62.debug(`Initializing Node.js worker pool with path: ${workerPath}`);
96425
+ log63.debug(`Initializing Node.js worker pool with path: ${workerPath}`);
96424
96426
  this.pool = workerpool.pool(workerPath, {
96425
96427
  minWorkers: this.workerCount,
96426
96428
  maxWorkers: this.workerCount,
96427
96429
  workerType: "thread"
96428
96430
  });
96429
- log62.debug(`Node.js worker pool created with ${this.workerCount} workers`, {
96431
+ log63.debug(`Node.js worker pool created with ${this.workerCount} workers`, {
96430
96432
  workerPath
96431
96433
  });
96432
96434
  }
@@ -96444,7 +96446,7 @@ var init_pool_manager = __esm({
96444
96446
  // 使用 Web Workers
96445
96447
  });
96446
96448
  this.pool.proxy().then((proxy) => {
96447
- log62.debug(`Browser worker pool created with ${this.workerCount} workers`);
96449
+ log63.debug(`Browser worker pool created with ${this.workerCount} workers`);
96448
96450
  });
96449
96451
  }
96450
96452
  /**
@@ -96464,7 +96466,7 @@ var init_pool_manager = __esm({
96464
96466
  }
96465
96467
  } catch (error) {
96466
96468
  const message = error instanceof Error ? error.message : String(error);
96467
- log62.error(`Worker task execution failed: ${message}`);
96469
+ log63.error(`Worker task execution failed: ${message}`);
96468
96470
  return {
96469
96471
  success: false,
96470
96472
  error: message
@@ -96489,13 +96491,13 @@ var init_pool_manager = __esm({
96489
96491
  */
96490
96492
  async terminate() {
96491
96493
  if (!this.pool) {
96492
- log62.warn("Worker pool already terminated");
96494
+ log63.warn("Worker pool already terminated");
96493
96495
  return;
96494
96496
  }
96495
- log62.info("\u{1F9F9} Terminating worker pool...");
96497
+ log63.info("\u{1F9F9} Terminating worker pool...");
96496
96498
  await this.pool.terminate();
96497
96499
  this.pool = null;
96498
- log62.info("\u2705 Worker pool terminated");
96500
+ log63.info("\u2705 Worker pool terminated");
96499
96501
  }
96500
96502
  };
96501
96503
  }