kintone-migrator 0.24.6 → 0.24.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.
package/dist/index.mjs CHANGED
@@ -10,14 +10,13 @@ import { basename, dirname, extname, join, resolve } from "node:path";
10
10
  import { realpathSync } from "node:fs";
11
11
  import * as v from "valibot";
12
12
  import pc from "picocolors";
13
-
14
13
  //#region src/lib/error.ts
15
14
  var AnyError = class extends Error {
16
15
  constructor(message, cause) {
17
16
  super(message, { cause });
17
+ this.name = "AnyError";
18
18
  }
19
19
  };
20
-
21
20
  //#endregion
22
21
  //#region src/core/domain/action/errorCode.ts
23
22
  const ActionErrorCode = {
@@ -29,7 +28,6 @@ const ActionErrorCode = {
29
28
  AcEmptyActionName: "AC_EMPTY_ACTION_NAME",
30
29
  AcDuplicateIndex: "AC_DUPLICATE_INDEX"
31
30
  };
32
-
33
31
  //#endregion
34
32
  //#region src/core/domain/adminNotes/errorCode.ts
35
33
  const AdminNotesErrorCode = {
@@ -37,7 +35,6 @@ const AdminNotesErrorCode = {
37
35
  AnInvalidConfigYaml: "AN_INVALID_CONFIG_YAML",
38
36
  AnInvalidConfigStructure: "AN_INVALID_CONFIG_STRUCTURE"
39
37
  };
40
-
41
38
  //#endregion
42
39
  //#region src/core/domain/appPermission/errorCode.ts
43
40
  const AppPermissionErrorCode = {
@@ -49,7 +46,6 @@ const AppPermissionErrorCode = {
49
46
  ApEmptyEntityCode: "AP_EMPTY_ENTITY_CODE",
50
47
  ApDuplicateEntity: "AP_DUPLICATE_ENTITY"
51
48
  };
52
-
53
49
  //#endregion
54
50
  //#region src/core/domain/customization/errorCode.ts
55
51
  const CustomizationErrorCode = {
@@ -60,7 +56,6 @@ const CustomizationErrorCode = {
60
56
  CzInvalidResourceType: "CZ_INVALID_RESOURCE_TYPE",
61
57
  CzTooManyFiles: "CZ_TOO_MANY_FILES"
62
58
  };
63
-
64
59
  //#endregion
65
60
  //#region src/core/domain/fieldPermission/errorCode.ts
66
61
  const FieldPermissionErrorCode = {
@@ -74,7 +69,6 @@ const FieldPermissionErrorCode = {
74
69
  FpEmptyEntityCode: "FP_EMPTY_ENTITY_CODE",
75
70
  FpDuplicateFieldCode: "FP_DUPLICATE_FIELD_CODE"
76
71
  };
77
-
78
72
  //#endregion
79
73
  //#region src/core/domain/formSchema/errorCode.ts
80
74
  const FormSchemaErrorCode = {
@@ -89,7 +83,6 @@ const FormSchemaErrorCode = {
89
83
  FsInvalidDecorationElement: "FS_INVALID_DECORATION_ELEMENT",
90
84
  FsEmptyFields: "FS_EMPTY_FIELDS"
91
85
  };
92
-
93
86
  //#endregion
94
87
  //#region src/core/domain/generalSettings/errorCode.ts
95
88
  const GeneralSettingsErrorCode = {
@@ -101,7 +94,6 @@ const GeneralSettingsErrorCode = {
101
94
  GsInvalidBooleanField: "GS_INVALID_BOOLEAN_FIELD",
102
95
  GsInvalidNumberPrecision: "GS_INVALID_NUMBER_PRECISION"
103
96
  };
104
-
105
97
  //#endregion
106
98
  //#region src/core/domain/notification/errorCode.ts
107
99
  const NotificationErrorCode = {
@@ -115,7 +107,6 @@ const NotificationErrorCode = {
115
107
  NtInvalidHoursLater: "NT_INVALID_HOURS_LATER",
116
108
  NtInvalidDaysLater: "NT_INVALID_DAYS_LATER"
117
109
  };
118
-
119
110
  //#endregion
120
111
  //#region src/core/domain/plugin/errorCode.ts
121
112
  const PluginErrorCode = {
@@ -125,7 +116,6 @@ const PluginErrorCode = {
125
116
  PlEmptyPluginId: "PL_EMPTY_PLUGIN_ID",
126
117
  PlDuplicatePluginId: "PL_DUPLICATE_PLUGIN_ID"
127
118
  };
128
-
129
119
  //#endregion
130
120
  //#region src/core/domain/processManagement/errorCode.ts
131
121
  const ProcessManagementErrorCode = {
@@ -138,7 +128,6 @@ const ProcessManagementErrorCode = {
138
128
  PmInvalidActionReference: "PM_INVALID_ACTION_REFERENCE",
139
129
  PmDuplicateActionName: "PM_DUPLICATE_ACTION_NAME"
140
130
  };
141
-
142
131
  //#endregion
143
132
  //#region src/core/domain/projectConfig/errorCode.ts
144
133
  const ProjectConfigErrorCode = {
@@ -151,7 +140,6 @@ const ProjectConfigErrorCode = {
151
140
  PcInvalidConfigStructure: "PC_INVALID_CONFIG_STRUCTURE",
152
141
  PcInvalidAuthConfig: "PC_INVALID_AUTH_CONFIG"
153
142
  };
154
-
155
143
  //#endregion
156
144
  //#region src/core/domain/recordPermission/errorCode.ts
157
145
  const RecordPermissionErrorCode = {
@@ -163,7 +151,6 @@ const RecordPermissionErrorCode = {
163
151
  RpInvalidPermissionValue: "RP_INVALID_PERMISSION_VALUE",
164
152
  RpDuplicateEntity: "RP_DUPLICATE_ENTITY"
165
153
  };
166
-
167
154
  //#endregion
168
155
  //#region src/core/domain/report/errorCode.ts
169
156
  const ReportErrorCode = {
@@ -174,7 +161,6 @@ const ReportErrorCode = {
174
161
  RtInvalidChartMode: "RT_INVALID_CHART_MODE",
175
162
  RtEmptyReportName: "RT_EMPTY_REPORT_NAME"
176
163
  };
177
-
178
164
  //#endregion
179
165
  //#region src/core/domain/seedData/errorCode.ts
180
166
  const SeedDataErrorCode = {
@@ -186,11 +172,9 @@ const SeedDataErrorCode = {
186
172
  SdMissingKeyField: "SD_MISSING_KEY_FIELD",
187
173
  SdInvalidKeyFieldValue: "SD_INVALID_KEY_FIELD_VALUE"
188
174
  };
189
-
190
175
  //#endregion
191
176
  //#region src/core/domain/services/errorCode.ts
192
177
  const DomainServiceErrorCode = { YamlSerializationFailed: "DS_YAML_SERIALIZATION_FAILED" };
193
-
194
178
  //#endregion
195
179
  //#region src/core/domain/view/errorCode.ts
196
180
  const ViewErrorCode = {
@@ -202,10 +186,7 @@ const ViewErrorCode = {
202
186
  VwEmptyViewName: "VW_EMPTY_VIEW_NAME",
203
187
  VwInvalidIndex: "VW_INVALID_INDEX"
204
188
  };
205
-
206
- //#endregion
207
- //#region src/core/domain/error.ts
208
- const BusinessRuleErrorCode = {
189
+ ({
209
190
  ...ActionErrorCode,
210
191
  ...AdminNotesErrorCode,
211
192
  ...AppPermissionErrorCode,
@@ -222,7 +203,7 @@ const BusinessRuleErrorCode = {
222
203
  ...SeedDataErrorCode,
223
204
  ...DomainServiceErrorCode,
224
205
  ...ViewErrorCode
225
- };
206
+ });
226
207
  /**
227
208
  * Domain Layer - Business Rule Error
228
209
  *
@@ -239,7 +220,6 @@ var BusinessRuleError = class extends AnyError {
239
220
  function isBusinessRuleError(error) {
240
221
  return error instanceof BusinessRuleError;
241
222
  }
242
-
243
223
  //#endregion
244
224
  //#region src/core/application/error.ts
245
225
  /**
@@ -346,7 +326,6 @@ var SystemError = class extends ApplicationError {
346
326
  function isSystemError(error) {
347
327
  return error instanceof SystemError;
348
328
  }
349
-
350
329
  //#endregion
351
330
  //#region src/core/application/applyFromConfigBase.ts
352
331
  async function applyFromConfig(config) {
@@ -356,19 +335,21 @@ async function applyFromConfig(config) {
356
335
  const remote = await config.fetchRemote();
357
336
  await config.update(parsed, remote);
358
337
  }
359
-
360
338
  //#endregion
361
339
  //#region src/lib/typeGuards.ts
362
340
  /**
363
- * Narrows `unknown` to a plain `Record<string, unknown>`.
364
- * Returns true when the value is a non-null, non-array plain object.
365
- * Excludes built-in types (Date, RegExp, Map, Set) that are technically
366
- * objects but should not be treated as string-keyed records.
341
+ * Narrows `unknown` to `Record<string, unknown>`.
342
+ * Returns true when the value is a non-null, non-array object that is not
343
+ * one of the explicitly excluded built-in types (Date, RegExp, Map, Set).
344
+ *
345
+ * Note: Custom class instances (e.g. `new Foo()`, `new Error()`) and
346
+ * prototype-less objects (`Object.create(null)`) also pass this guard.
347
+ * When combined with `Object.keys()`, only own enumerable string-keyed
348
+ * properties are visible; inherited enumerable properties are not included.
367
349
  */
368
350
  function isRecord(value) {
369
351
  return typeof value === "object" && value !== null && !Array.isArray(value) && !(value instanceof Date) && !(value instanceof RegExp) && !(value instanceof Map) && !(value instanceof Set);
370
352
  }
371
-
372
353
  //#endregion
373
354
  //#region src/core/domain/typeGuards.ts
374
355
  /**
@@ -432,7 +413,6 @@ function parseEntityBase(raw, index, validTypes, errorCodes, options) {
432
413
  code: raw.code
433
414
  };
434
415
  }
435
-
436
416
  //#endregion
437
417
  //#region src/core/domain/services/yamlConfigParser.ts
438
418
  function parseYamlConfig(rawText, errorCodes, domainLabel) {
@@ -446,24 +426,18 @@ function parseYamlConfig(rawText, errorCodes, domainLabel) {
446
426
  if (!isRecord(parsed)) throw new BusinessRuleError(errorCodes.invalidConfigStructure, `${domainLabel} config must be a YAML object`);
447
427
  return parsed;
448
428
  }
449
-
450
- //#endregion
451
- //#region src/core/domain/action/valueObject.ts
452
- const SRC_TYPES = ["FIELD", "RECORD_URL"];
453
- const VALID_SRC_TYPES = new Set(SRC_TYPES);
429
+ const VALID_SRC_TYPES = new Set(["FIELD", "RECORD_URL"]);
454
430
  function isActionMappingSrcType(value) {
455
431
  return VALID_SRC_TYPES.has(value);
456
432
  }
457
- const ENTITY_TYPES$1 = [
433
+ const VALID_ENTITY_TYPES$9 = new Set([
458
434
  "USER",
459
435
  "GROUP",
460
436
  "ORGANIZATION"
461
- ];
462
- const VALID_ENTITY_TYPES$9 = new Set(ENTITY_TYPES$1);
437
+ ]);
463
438
  function isActionEntityType(value) {
464
439
  return VALID_ENTITY_TYPES$9.has(value);
465
440
  }
466
-
467
441
  //#endregion
468
442
  //#region src/core/domain/action/services/configParser.ts
469
443
  function parseDestApp(raw, actionName) {
@@ -532,13 +506,11 @@ const ActionConfigParser = { parse: (rawText) => {
532
506
  }
533
507
  return { actions };
534
508
  } };
535
-
536
509
  //#endregion
537
510
  //#region src/core/application/action/parseConfig.ts
538
511
  function parseActionConfigText(rawText) {
539
512
  return wrapBusinessRuleError(() => ActionConfigParser.parse(rawText));
540
513
  }
541
-
542
514
  //#endregion
543
515
  //#region src/core/application/action/applyAction.ts
544
516
  async function applyAction({ container }) {
@@ -555,7 +527,6 @@ async function applyAction({ container }) {
555
527
  notFoundMessage: "Action config file not found"
556
528
  });
557
529
  }
558
-
559
530
  //#endregion
560
531
  //#region src/core/adapters/kintone/wrapKintoneError.ts
561
532
  const KINTONE_REVISION_CONFLICT_CODE = "GAIA_CO02";
@@ -609,7 +580,6 @@ function wrapKintoneError(error, message) {
609
580
  }
610
581
  throw new SystemError(SystemErrorCode.ExternalApiError, detail, error);
611
582
  }
612
-
613
583
  //#endregion
614
584
  //#region src/core/adapters/kintone/actionConfigurator.ts
615
585
  function fromKintoneDestApp(raw) {
@@ -713,7 +683,6 @@ var KintoneActionConfigurator = class {
713
683
  }
714
684
  }
715
685
  };
716
-
717
686
  //#endregion
718
687
  //#region src/core/adapters/kintone/appDeployer.ts
719
688
  const VALID_DEPLOY_STATUSES = new Set([
@@ -779,13 +748,11 @@ var KintoneAppDeployer = class {
779
748
  return new Promise((resolve) => setTimeout(resolve, ms));
780
749
  }
781
750
  };
782
-
783
751
  //#endregion
784
752
  //#region src/lib/nodeError.ts
785
753
  function isNodeError(error) {
786
- return error instanceof Error && "code" in error;
754
+ return error instanceof Error && "code" in error && typeof error.code === "string";
787
755
  }
788
-
789
756
  //#endregion
790
757
  //#region src/core/adapters/local/storage.ts
791
758
  function createLocalFileStorage(filePath, label = "file") {
@@ -811,31 +778,23 @@ function createLocalFileStorage(filePath, label = "file") {
811
778
  }
812
779
  };
813
780
  }
814
-
815
781
  //#endregion
816
782
  //#region src/core/adapters/local/actionStorage.ts
817
783
  function createLocalFileActionStorage(filePath) {
818
784
  return createLocalFileStorage(filePath, "action file");
819
785
  }
820
-
821
- //#endregion
822
- //#region src/core/domain/customization/valueObject.ts
823
- const SCOPES = [
786
+ const VALID_SCOPES = new Set([
824
787
  "ALL",
825
788
  "ADMIN",
826
789
  "NONE"
827
- ];
828
- const VALID_SCOPES = new Set(SCOPES);
790
+ ]);
829
791
  function isCustomizationScope(value) {
830
792
  return VALID_SCOPES.has(value);
831
793
  }
832
- const RESOURCE_TYPES = ["FILE", "URL"];
833
- const VALID_RESOURCE_TYPES = new Set(RESOURCE_TYPES);
794
+ const VALID_RESOURCE_TYPES = new Set(["FILE", "URL"]);
834
795
  function isResourceType(value) {
835
796
  return VALID_RESOURCE_TYPES.has(value);
836
797
  }
837
- const DEFAULT_CUSTOMIZATION_SCOPE = "ALL";
838
-
839
798
  //#endregion
840
799
  //#region src/core/adapters/kintone/customizationConfigurator.ts
841
800
  function fromKintoneResource(raw) {
@@ -924,7 +883,6 @@ var KintoneCustomizationConfigurator = class {
924
883
  }
925
884
  }
926
885
  };
927
-
928
886
  //#endregion
929
887
  //#region src/core/adapters/kintone/fileDownloader.ts
930
888
  var KintoneFileDownloader = class {
@@ -940,7 +898,6 @@ var KintoneFileDownloader = class {
940
898
  }
941
899
  }
942
900
  };
943
-
944
901
  //#endregion
945
902
  //#region src/lib/safePath.ts
946
903
  /**
@@ -987,7 +944,6 @@ function isSafePath(targetPath, baseDir) {
987
944
  }
988
945
  return resolvedTarget.startsWith(`${resolvedBase}/`) || resolvedTarget === resolvedBase;
989
946
  }
990
-
991
947
  //#endregion
992
948
  //#region src/core/adapters/kintone/fileUploader.ts
993
949
  var KintoneFileUploader = class {
@@ -1006,7 +962,6 @@ var KintoneFileUploader = class {
1006
962
  }
1007
963
  }
1008
964
  };
1009
-
1010
965
  //#endregion
1011
966
  //#region src/lib/charValidation.ts
1012
967
  /** Returns true if the string contains any control characters (0x00–0x1f or 0x7f). */
@@ -1027,7 +982,6 @@ function sanitizeForDisplay$1(s) {
1027
982
  }
1028
983
  return result;
1029
984
  }
1030
-
1031
985
  //#endregion
1032
986
  //#region src/core/domain/formSchema/valueObject.ts
1033
987
  function hasInvalidFieldCodeChars(code) {
@@ -1043,7 +997,6 @@ const FieldCode = { create: (code) => {
1043
997
  if (hasInvalidFieldCodeChars(code)) throw new BusinessRuleError(FormSchemaErrorCode.FsInvalidFieldCode, `Field code "${sanitizeForDisplay$1(code)}" contains invalid characters`);
1044
998
  return code;
1045
999
  } };
1046
-
1047
1000
  //#endregion
1048
1001
  //#region src/core/adapters/kintone/formConfigurator.ts
1049
1002
  const KNOWN_FIELD_TYPES = new Set([
@@ -1453,7 +1406,6 @@ var KintoneFormConfigurator = class {
1453
1406
  }
1454
1407
  }
1455
1408
  };
1456
-
1457
1409
  //#endregion
1458
1410
  //#region src/core/adapters/kintone/recordConverter.ts
1459
1411
  const SYSTEM_FIELDS = new Set([
@@ -1544,7 +1496,6 @@ function fromKintoneRecord(record) {
1544
1496
  }
1545
1497
  return seedRecord;
1546
1498
  }
1547
-
1548
1499
  //#endregion
1549
1500
  //#region src/core/adapters/kintone/recordManager.ts
1550
1501
  function extractId(record) {
@@ -1616,13 +1567,11 @@ var KintoneRecordManager = class {
1616
1567
  }
1617
1568
  }
1618
1569
  };
1619
-
1620
1570
  //#endregion
1621
1571
  //#region src/core/adapters/local/customizationStorage.ts
1622
1572
  function createLocalFileCustomizationStorage(filePath) {
1623
1573
  return createLocalFileStorage(filePath, "customization config file");
1624
1574
  }
1625
-
1626
1575
  //#endregion
1627
1576
  //#region src/core/adapters/local/fileWriter.ts
1628
1577
  var LocalFileWriter = class {
@@ -1640,19 +1589,16 @@ var LocalFileWriter = class {
1640
1589
  }
1641
1590
  }
1642
1591
  };
1643
-
1644
1592
  //#endregion
1645
1593
  //#region src/core/adapters/local/schemaStorage.ts
1646
1594
  function createLocalFileSchemaStorage(filePath) {
1647
1595
  return createLocalFileStorage(filePath, "schema file");
1648
1596
  }
1649
-
1650
1597
  //#endregion
1651
1598
  //#region src/core/adapters/local/seedStorage.ts
1652
1599
  function createLocalFileSeedStorage(filePath) {
1653
1600
  return createLocalFileStorage(filePath, "seed file");
1654
1601
  }
1655
-
1656
1602
  //#endregion
1657
1603
  //#region src/core/application/container/cli.ts
1658
1604
  function buildKintoneAuth(auth) {
@@ -1687,7 +1633,6 @@ function createCustomizationCliContainer(config) {
1687
1633
  appDeployer: new KintoneAppDeployer(client, config.appId)
1688
1634
  };
1689
1635
  }
1690
-
1691
1636
  //#endregion
1692
1637
  //#region src/core/application/container/kintoneClient.ts
1693
1638
  function createKintoneClient(config) {
@@ -1697,7 +1642,6 @@ function createKintoneClient(config) {
1697
1642
  guestSpaceId: config.guestSpaceId
1698
1643
  });
1699
1644
  }
1700
-
1701
1645
  //#endregion
1702
1646
  //#region src/core/application/container/actionCli.ts
1703
1647
  function createActionCliContainer(config) {
@@ -1708,7 +1652,6 @@ function createActionCliContainer(config) {
1708
1652
  appDeployer: new KintoneAppDeployer(client, config.appId)
1709
1653
  };
1710
1654
  }
1711
-
1712
1655
  //#endregion
1713
1656
  //#region src/cli/config.ts
1714
1657
  const CliConfigSchema = v.object({
@@ -1827,14 +1770,12 @@ function resolveAuth(apiToken, username, password) {
1827
1770
  };
1828
1771
  throw new ValidationError(ValidationErrorCode.InvalidInput, "Missing required configuration:\n Either KINTONE_API_TOKEN or KINTONE_USERNAME/KINTONE_PASSWORD is required");
1829
1772
  }
1830
-
1831
1773
  //#endregion
1832
1774
  //#region src/core/domain/projectConfig/entity.ts
1833
1775
  const MultiAppResult = { create: (results) => ({
1834
1776
  results,
1835
1777
  hasFailure: results.some((r) => r.status === "failed")
1836
1778
  }) };
1837
-
1838
1779
  //#endregion
1839
1780
  //#region src/core/application/projectConfig/executeMultiApp.ts
1840
1781
  async function executeMultiApp(plan, executor) {
@@ -1865,7 +1806,6 @@ async function executeMultiApp(plan, executor) {
1865
1806
  }
1866
1807
  return MultiAppResult.create(results);
1867
1808
  }
1868
-
1869
1809
  //#endregion
1870
1810
  //#region src/core/domain/projectConfig/valueObject.ts
1871
1811
  const INVALID_APP_NAME_CHARS = new Set([
@@ -1890,7 +1830,6 @@ const AppName = { create: (name) => {
1890
1830
  if (name === "." || name === "..") throw new BusinessRuleError(ProjectConfigErrorCode.PcInvalidAppName, `App name "${name}" is not allowed (reserved path component)`);
1891
1831
  return name;
1892
1832
  } };
1893
-
1894
1833
  //#endregion
1895
1834
  //#region src/core/domain/projectConfig/services/configParser.ts
1896
1835
  function asOptionalString(value) {
@@ -1987,7 +1926,6 @@ function parseAuth(raw) {
1987
1926
  throw new BusinessRuleError(ProjectConfigErrorCode.PcInvalidAuthConfig, "Auth must have either apiToken or username/password");
1988
1927
  }
1989
1928
  const ConfigParser = { parse: parseProjectConfig };
1990
-
1991
1929
  //#endregion
1992
1930
  //#region src/core/application/projectConfig/loadProjectConfig.ts
1993
1931
  /**
@@ -2004,7 +1942,6 @@ function loadProjectConfig(input) {
2004
1942
  }
2005
1943
  return ConfigParser.parse(raw);
2006
1944
  }
2007
-
2008
1945
  //#endregion
2009
1946
  //#region src/core/domain/projectConfig/services/dependencyResolver.ts
2010
1947
  /**
@@ -2054,7 +1991,6 @@ function validateDependencyReferences(apps) {
2054
1991
  for (const [name, entry] of apps) for (const dep of entry.dependsOn) if (!apps.has(dep)) throw new BusinessRuleError(ProjectConfigErrorCode.PcUnknownDependency, `App "${name}" depends on unknown app "${dep}"`);
2055
1992
  }
2056
1993
  const DependencyResolver = { resolve: resolveExecutionOrder };
2057
-
2058
1994
  //#endregion
2059
1995
  //#region src/core/application/projectConfig/resolveExecutionPlan.ts
2060
1996
  function resolveExecutionPlan(input) {
@@ -2069,7 +2005,6 @@ function resolveSingleApp(config, appName) {
2069
2005
  if (!entry) throw new NotFoundError(NotFoundErrorCode.AppNotFound, `App "${appName}" not found in project config`);
2070
2006
  return { orderedApps: [entry] };
2071
2007
  }
2072
-
2073
2008
  //#endregion
2074
2009
  //#region src/core/domain/projectConfig/appFilePaths.ts
2075
2010
  function buildAppFilePaths(appName, baseDir) {
@@ -2091,7 +2026,6 @@ function buildAppFilePaths(appName, baseDir) {
2091
2026
  plugin: prefix(`${appName}/plugin.yaml`)
2092
2027
  };
2093
2028
  }
2094
-
2095
2029
  //#endregion
2096
2030
  //#region src/cli/handleError.ts
2097
2031
  /**
@@ -2238,7 +2172,6 @@ function hasObjectProperty(obj, key) {
2238
2172
  function isApplicationError(error) {
2239
2173
  return error instanceof ApplicationError;
2240
2174
  }
2241
-
2242
2175
  //#endregion
2243
2176
  //#region src/cli/output.ts
2244
2177
  function formatDiffSummary(summary) {
@@ -2371,7 +2304,6 @@ async function confirmAndDeploy(containers, skipConfirm, successMessage = "Deplo
2371
2304
  }
2372
2305
  p.log.success(successMessage);
2373
2306
  }
2374
-
2375
2307
  //#endregion
2376
2308
  //#region src/cli/projectConfig.ts
2377
2309
  const DEFAULT_CONFIG_PATH = "kintone-migrator.yaml";
@@ -2383,7 +2315,7 @@ function validateExclusiveArgs(values) {
2383
2315
  async function resolveTarget(values) {
2384
2316
  validateExclusiveArgs(values);
2385
2317
  if (values["app-id"]) return { mode: "single-legacy" };
2386
- const configPath = values.config ?? DEFAULT_CONFIG_PATH;
2318
+ const configPath = values.config ?? "kintone-migrator.yaml";
2387
2319
  if (values.app || values.all) {
2388
2320
  const config = loadProjectConfig({ content: await readConfigFile(configPath) });
2389
2321
  const plan = resolveExecutionPlan({
@@ -2517,13 +2449,11 @@ async function readConfigFile(configPath) {
2517
2449
  throw new ValidationError(ValidationErrorCode.InvalidInput, `Config file not found: ${configPath}`, cause);
2518
2450
  }
2519
2451
  }
2520
-
2521
2452
  //#endregion
2522
2453
  //#region src/cli/resolveFilePath.ts
2523
2454
  function resolveFilePath(options) {
2524
2455
  return options.cliValue ?? options.envVar ?? (options.app && options.appFileField?.(options.app)) ?? (options.app ? join(options.defaultDir, `${options.app.name}.yaml`) : options.defaultFileName);
2525
2456
  }
2526
-
2527
2457
  //#endregion
2528
2458
  //#region src/cli/createDomainConfigResolver.ts
2529
2459
  /**
@@ -2572,7 +2502,6 @@ function createDomainConfigResolver(options) {
2572
2502
  resolveAppContainerConfig
2573
2503
  };
2574
2504
  }
2575
-
2576
2505
  //#endregion
2577
2506
  //#region src/cli/actionConfig.ts
2578
2507
  const actionArgs = {
@@ -2594,7 +2523,6 @@ const { resolveFilePath: resolveActionFilePath, resolveContainerConfig: resolveA
2594
2523
  actionFilePath: filePath
2595
2524
  })
2596
2525
  });
2597
-
2598
2526
  //#endregion
2599
2527
  //#region src/cli/commands/action/apply.ts
2600
2528
  async function runAction(config) {
@@ -2641,7 +2569,6 @@ var apply_default$12 = define({
2641
2569
  }
2642
2570
  }
2643
2571
  });
2644
-
2645
2572
  //#endregion
2646
2573
  //#region src/core/domain/services/yamlConfigSerializer.ts
2647
2574
  function serializeToYaml(data) {
@@ -2655,7 +2582,6 @@ function serializeToYaml(data) {
2655
2582
  throw new BusinessRuleError(DomainServiceErrorCode.YamlSerializationFailed, `Failed to serialize config to YAML: ${error instanceof Error ? error.message : String(error)}`, error);
2656
2583
  }
2657
2584
  }
2658
-
2659
2585
  //#endregion
2660
2586
  //#region src/core/domain/action/services/configSerializer.ts
2661
2587
  function serializeDestApp(destApp) {
@@ -2694,7 +2620,6 @@ const ActionConfigSerializer = { serialize: (config) => {
2694
2620
  serialized.actions = actions;
2695
2621
  return serializeToYaml(serialized);
2696
2622
  } };
2697
-
2698
2623
  //#endregion
2699
2624
  //#region src/core/application/captureFromConfigBase.ts
2700
2625
  async function captureFromConfig(config) {
@@ -2704,7 +2629,6 @@ async function captureFromConfig(config) {
2704
2629
  hasExistingConfig: (await config.getStorage()).exists
2705
2630
  };
2706
2631
  }
2707
-
2708
2632
  //#endregion
2709
2633
  //#region src/core/application/action/captureAction.ts
2710
2634
  async function captureAction({ container }) {
@@ -2714,13 +2638,11 @@ async function captureAction({ container }) {
2714
2638
  getStorage: () => container.actionStorage.get()
2715
2639
  });
2716
2640
  }
2717
-
2718
2641
  //#endregion
2719
2642
  //#region src/core/application/action/saveAction.ts
2720
2643
  async function saveAction({ container, input }) {
2721
2644
  await container.actionStorage.update(input.configText);
2722
2645
  }
2723
-
2724
2646
  //#endregion
2725
2647
  //#region src/cli/commands/action/capture.ts
2726
2648
  async function runCaptureAction(config) {
@@ -2763,91 +2685,134 @@ var capture_default$13 = define({
2763
2685
  }
2764
2686
  }
2765
2687
  });
2766
-
2767
2688
  //#endregion
2768
2689
  //#region src/lib/deepEqual.ts
2769
- function isArrayEqual(a, b, seen) {
2690
+ function isArrayEqual(a, b, stack) {
2770
2691
  if (!Array.isArray(b)) return false;
2771
2692
  if (a.length !== b.length) return false;
2772
- for (let i = 0; i < a.length; i++) if (!deepEqualInner(a[i], b[i], seen)) return false;
2693
+ for (let i = 0; i < a.length; i++) if (!deepEqualInner(a[i], b[i], stack)) return false;
2773
2694
  return true;
2774
2695
  }
2775
- function isRecordEqual(a, b, seen) {
2696
+ /**
2697
+ * Compare two objects by own enumerable string keys (via `Object.keys`).
2698
+ *
2699
+ * Note: Custom class instances (e.g. `new Error()`) that pass `isRecord` are
2700
+ * accepted. Because `Error.prototype.message` is non-enumerable, two Error
2701
+ * objects with different messages will compare as equal. Callers should not
2702
+ * rely on this function for types with non-enumerable significant state.
2703
+ */
2704
+ function isRecordEqual(a, b, stack) {
2705
+ if (!isRecord(b)) return false;
2776
2706
  const keysA = Object.keys(a);
2777
2707
  const keysB = Object.keys(b);
2778
2708
  if (keysA.length !== keysB.length) return false;
2779
2709
  for (const key of keysA) {
2780
2710
  if (!Object.hasOwn(b, key)) return false;
2781
- if (!deepEqualInner(a[key], b[key], seen)) return false;
2711
+ if (!deepEqualInner(a[key], b[key], stack)) return false;
2782
2712
  }
2783
2713
  return true;
2784
2714
  }
2785
- function isMapEqual$1(a, b, seen) {
2715
+ /**
2716
+ * Map keys are compared by reference (SameValueZero), not by deep equality.
2717
+ * Two Maps with structurally equal but referentially different object keys
2718
+ * will be considered unequal.
2719
+ */
2720
+ function isMapEqual$1(a, b, stack) {
2786
2721
  if (!(b instanceof Map)) return false;
2787
2722
  if (a.size !== b.size) return false;
2788
2723
  for (const [key, valA] of a) {
2789
2724
  if (!b.has(key)) return false;
2790
- if (!deepEqualInner(valA, b.get(key), seen)) return false;
2725
+ if (!deepEqualInner(valA, b.get(key), stack)) return false;
2791
2726
  }
2792
2727
  return true;
2793
2728
  }
2794
- function isSetEqual(a, b, _seen) {
2729
+ function isPrimitiveSet(s) {
2730
+ for (const val of s) {
2731
+ if (val !== null && typeof val === "object") return false;
2732
+ if (typeof val === "function") return false;
2733
+ }
2734
+ return true;
2735
+ }
2736
+ function isSetEqual(a, b, stack) {
2795
2737
  if (!(b instanceof Set)) return false;
2796
2738
  if (a.size !== b.size) return false;
2739
+ if (isPrimitiveSet(a) && isPrimitiveSet(b)) {
2740
+ for (const val of a) if (!b.has(val)) return false;
2741
+ return true;
2742
+ }
2797
2743
  const remaining = [...b];
2798
2744
  for (const valA of a) {
2799
- const idx = remaining.findIndex((valB) => deepEqualInner(valA, valB, /* @__PURE__ */ new WeakSet()));
2745
+ const stackLen = stack.length;
2746
+ const idx = remaining.findIndex((valB) => {
2747
+ const result = deepEqualInner(valA, valB, stack);
2748
+ if (!result) stack.length = stackLen;
2749
+ return result;
2750
+ });
2800
2751
  if (idx === -1) return false;
2801
2752
  remaining.splice(idx, 1);
2802
2753
  }
2803
2754
  return true;
2804
2755
  }
2805
- function deepEqualInner(a, b, seen) {
2756
+ function deepEqualInner(a, b, stack) {
2806
2757
  if (a === b) return true;
2758
+ if (typeof a === "number" && typeof b === "number" && Number.isNaN(a) && Number.isNaN(b)) return true;
2807
2759
  if (a === null || b === null) return a === b;
2808
2760
  if (typeof a !== typeof b) return false;
2809
2761
  if (typeof a !== "object") return false;
2810
2762
  const objA = a;
2811
2763
  const objB = b;
2812
- if (seen.has(objA) || seen.has(objB)) return false;
2813
- seen.add(objA);
2814
- seen.add(objB);
2815
- if (Array.isArray(objA)) return isArrayEqual(objA, objB, seen);
2816
- if (objA instanceof Date && objB instanceof Date) return objA.getTime() === objB.getTime();
2764
+ if (objA instanceof Date && objB instanceof Date) {
2765
+ const ta = objA.getTime();
2766
+ const tb = objB.getTime();
2767
+ return ta === tb || Number.isNaN(ta) && Number.isNaN(tb);
2768
+ }
2817
2769
  if (objA instanceof Date || objB instanceof Date) return false;
2818
2770
  if (objA instanceof RegExp && objB instanceof RegExp) return String(objA) === String(objB);
2819
2771
  if (objA instanceof RegExp || objB instanceof RegExp) return false;
2820
- if (objA instanceof Map) return isMapEqual$1(objA, objB, seen);
2821
- if (objB instanceof Map) return false;
2822
- if (objA instanceof Set) return isSetEqual(objA, objB, seen);
2823
- if (objB instanceof Set) return false;
2824
- if (isRecord(objA) && isRecord(objB)) return isRecordEqual(objA, objB, seen);
2825
- return false;
2772
+ for (const [sa, sb] of stack) if (sa === objA && sb === objB) return true;
2773
+ stack.push([objA, objB]);
2774
+ try {
2775
+ if (Array.isArray(objA)) return isArrayEqual(objA, objB, stack);
2776
+ if (objA instanceof Map) return isMapEqual$1(objA, objB, stack);
2777
+ if (objB instanceof Map) return false;
2778
+ if (objA instanceof Set) return isSetEqual(objA, objB, stack);
2779
+ if (objB instanceof Set) return false;
2780
+ if (isRecord(objA)) return isRecordEqual(objA, objB, stack);
2781
+ return false;
2782
+ } finally {
2783
+ stack.pop();
2784
+ }
2826
2785
  }
2827
2786
  /**
2828
2787
  * Deep equality comparison for structured data.
2829
2788
  * Supports primitives, plain objects, arrays, Date, RegExp, Map, and Set.
2830
- * Has circular reference protection via a WeakSet-based seen check (tracks both sides).
2831
2789
  *
2832
2790
  * Note: `{ a: undefined }` and `{}` are NOT considered equal. This differs from
2833
2791
  * JSON.stringify behavior but is intentional — explicit undefined properties are
2834
2792
  * semantically distinct from absent properties.
2835
2793
  *
2836
2794
  * Set comparison is order-independent: each element in one set is matched to an
2837
- * element in the other using deep equality (O(n²)).
2795
+ * element in the other using deep equality (O(n²) for non-primitive elements,
2796
+ * O(n) fast path for primitive-only sets).
2838
2797
  *
2839
- * NaN handling: `deepEqual(NaN, NaN)` returns `false` because the comparison
2840
- * uses strict equality (`===`) for primitives, and `NaN !== NaN` in JavaScript.
2798
+ * Map keys are compared by reference (SameValueZero), not by deep equality.
2799
+ * Two Maps with structurally equal but referentially different object keys
2800
+ * will be considered unequal.
2841
2801
  *
2842
- * Circular reference limitation: objects already visited by the traversal are
2843
- * treated as non-equal. This means structurally identical circular references
2844
- * (e.g. `a.self = a` vs `b.self = b`) return `false`. This is a conservative
2845
- * approach that prevents infinite recursion but may produce false negatives.
2802
+ * NaN handling: `deepEqual(NaN, NaN)` returns `true`. Invalid Date objects
2803
+ * (whose `getTime()` returns NaN) are also considered equal to each other.
2804
+ *
2805
+ * Signed zero: `-0` and `0` are considered equal (`-0 === 0` is `true`).
2806
+ *
2807
+ * Circular reference handling: uses a stack-based pair tracker. When the same
2808
+ * `(objA, objB)` pair is encountered again on the current comparison path,
2809
+ * structural equality is assumed to break the cycle. Shared references (DAG
2810
+ * structures) are correctly handled — the same sub-object appearing in multiple
2811
+ * properties does not cause false negatives.
2846
2812
  */
2847
2813
  function deepEqual(a, b) {
2848
- return deepEqualInner(a, b, /* @__PURE__ */ new WeakSet());
2814
+ return deepEqualInner(a, b, []);
2849
2815
  }
2850
-
2851
2816
  //#endregion
2852
2817
  //#region src/core/domain/diff.ts
2853
2818
  const typeOrder = {
@@ -2875,7 +2840,6 @@ function buildDiffResult(entries, warnings = []) {
2875
2840
  warnings
2876
2841
  };
2877
2842
  }
2878
-
2879
2843
  //#endregion
2880
2844
  //#region src/core/domain/services/recordDiffDetector.ts
2881
2845
  function detectRecordDiff(localRecord, remoteRecord, callbacks) {
@@ -2888,7 +2852,6 @@ function detectRecordDiff(localRecord, remoteRecord, callbacks) {
2888
2852
  for (const [key, remoteValue] of Object.entries(remoteRecord)) if (!Object.hasOwn(localRecord, key)) entries.push(callbacks.onDeleted(key, remoteValue));
2889
2853
  return entries;
2890
2854
  }
2891
-
2892
2855
  //#endregion
2893
2856
  //#region src/core/domain/action/services/diffDetector.ts
2894
2857
  function compareActions$1(local, remote) {
@@ -2926,7 +2889,6 @@ const ActionDiffDetector = { detect: (local, remote) => {
2926
2889
  })
2927
2890
  }));
2928
2891
  } };
2929
-
2930
2892
  //#endregion
2931
2893
  //#region src/core/application/detectDiffBase.ts
2932
2894
  async function detectDiffFromConfig(config) {
@@ -2935,7 +2897,6 @@ async function detectDiffFromConfig(config) {
2935
2897
  const local = config.parseConfig(storageResult.content);
2936
2898
  return config.detect(local, remote);
2937
2899
  }
2938
-
2939
2900
  //#endregion
2940
2901
  //#region src/core/application/action/detectActionDiff.ts
2941
2902
  async function detectActionDiff({ container }) {
@@ -2947,7 +2908,6 @@ async function detectActionDiff({ container }) {
2947
2908
  notFoundMessage: "Action config file not found"
2948
2909
  });
2949
2910
  }
2950
-
2951
2911
  //#endregion
2952
2912
  //#region src/cli/commands/diffCommandFactory.ts
2953
2913
  function createDiffCommand(config) {
@@ -2993,21 +2953,6 @@ function createDiffCommand(config) {
2993
2953
  }
2994
2954
  });
2995
2955
  }
2996
-
2997
- //#endregion
2998
- //#region src/cli/commands/action/diff.ts
2999
- var diff_default$12 = createDiffCommand({
3000
- description: "Compare local action config with remote kintone app",
3001
- args: actionArgs,
3002
- spinnerMessage: "Comparing action settings...",
3003
- multiAppSuccessMessage: "All action diffs completed successfully.",
3004
- createContainer: createActionCliContainer,
3005
- detectDiff: detectActionDiff,
3006
- printResult: printActionDiffResult,
3007
- resolveContainerConfig: resolveActionContainerConfig,
3008
- resolveAppContainerConfig: resolveActionAppContainerConfig
3009
- });
3010
-
3011
2956
  //#endregion
3012
2957
  //#region src/cli/commands/action/index.ts
3013
2958
  var action_default = define({
@@ -3016,11 +2961,20 @@ var action_default = define({
3016
2961
  subCommands: {
3017
2962
  apply: apply_default$12,
3018
2963
  capture: capture_default$13,
3019
- diff: diff_default$12
2964
+ diff: createDiffCommand({
2965
+ description: "Compare local action config with remote kintone app",
2966
+ args: actionArgs,
2967
+ spinnerMessage: "Comparing action settings...",
2968
+ multiAppSuccessMessage: "All action diffs completed successfully.",
2969
+ createContainer: createActionCliContainer,
2970
+ detectDiff: detectActionDiff,
2971
+ printResult: printActionDiffResult,
2972
+ resolveContainerConfig: resolveActionContainerConfig,
2973
+ resolveAppContainerConfig: resolveActionAppContainerConfig
2974
+ })
3020
2975
  },
3021
2976
  run: () => {}
3022
2977
  });
3023
-
3024
2978
  //#endregion
3025
2979
  //#region src/core/domain/adminNotes/services/configParser.ts
3026
2980
  const AdminNotesConfigParser = { parse: (rawText) => {
@@ -3036,13 +2990,11 @@ const AdminNotesConfigParser = { parse: (rawText) => {
3036
2990
  includeInTemplateAndDuplicates: parsed.includeInTemplateAndDuplicates
3037
2991
  };
3038
2992
  } };
3039
-
3040
2993
  //#endregion
3041
2994
  //#region src/core/application/adminNotes/parseConfig.ts
3042
2995
  function parseAdminNotesConfigText(rawText) {
3043
2996
  return wrapBusinessRuleError(() => AdminNotesConfigParser.parse(rawText));
3044
2997
  }
3045
-
3046
2998
  //#endregion
3047
2999
  //#region src/core/application/adminNotes/applyAdminNotes.ts
3048
3000
  async function applyAdminNotes({ container }) {
@@ -3059,7 +3011,6 @@ async function applyAdminNotes({ container }) {
3059
3011
  notFoundMessage: "Admin notes config file not found"
3060
3012
  });
3061
3013
  }
3062
-
3063
3014
  //#endregion
3064
3015
  //#region src/core/adapters/kintone/adminNotesConfigurator.ts
3065
3016
  var KintoneAdminNotesConfigurator = class {
@@ -3098,13 +3049,11 @@ var KintoneAdminNotesConfigurator = class {
3098
3049
  }
3099
3050
  }
3100
3051
  };
3101
-
3102
3052
  //#endregion
3103
3053
  //#region src/core/adapters/local/adminNotesStorage.ts
3104
3054
  function createLocalFileAdminNotesStorage(filePath) {
3105
3055
  return createLocalFileStorage(filePath, "admin notes file");
3106
3056
  }
3107
-
3108
3057
  //#endregion
3109
3058
  //#region src/core/application/container/adminNotesCli.ts
3110
3059
  function createAdminNotesCliContainer(config) {
@@ -3115,7 +3064,6 @@ function createAdminNotesCliContainer(config) {
3115
3064
  appDeployer: new KintoneAppDeployer(client, config.appId)
3116
3065
  };
3117
3066
  }
3118
-
3119
3067
  //#endregion
3120
3068
  //#region src/cli/adminNotesConfig.ts
3121
3069
  const adminNotesArgs = {
@@ -3137,7 +3085,6 @@ const { resolveFilePath: resolveAdminNotesFilePath, resolveContainerConfig: reso
3137
3085
  adminNotesFilePath: filePath
3138
3086
  })
3139
3087
  });
3140
-
3141
3088
  //#endregion
3142
3089
  //#region src/cli/commands/admin-notes/apply.ts
3143
3090
  async function runAdminNotes(config) {
@@ -3184,7 +3131,6 @@ var apply_default$11 = define({
3184
3131
  }
3185
3132
  }
3186
3133
  });
3187
-
3188
3134
  //#endregion
3189
3135
  //#region src/core/domain/adminNotes/services/configSerializer.ts
3190
3136
  const AdminNotesConfigSerializer = { serialize: (config) => {
@@ -3193,7 +3139,6 @@ const AdminNotesConfigSerializer = { serialize: (config) => {
3193
3139
  includeInTemplateAndDuplicates: config.includeInTemplateAndDuplicates
3194
3140
  });
3195
3141
  } };
3196
-
3197
3142
  //#endregion
3198
3143
  //#region src/core/application/adminNotes/captureAdminNotes.ts
3199
3144
  async function captureAdminNotes({ container }) {
@@ -3203,13 +3148,11 @@ async function captureAdminNotes({ container }) {
3203
3148
  getStorage: () => container.adminNotesStorage.get()
3204
3149
  });
3205
3150
  }
3206
-
3207
3151
  //#endregion
3208
3152
  //#region src/core/application/adminNotes/saveAdminNotes.ts
3209
3153
  async function saveAdminNotes({ container, input }) {
3210
3154
  await container.adminNotesStorage.update(input.configText);
3211
3155
  }
3212
-
3213
3156
  //#endregion
3214
3157
  //#region src/cli/commands/admin-notes/capture.ts
3215
3158
  async function runCaptureAdminNotes(config) {
@@ -3252,7 +3195,6 @@ var capture_default$12 = define({
3252
3195
  }
3253
3196
  }
3254
3197
  });
3255
-
3256
3198
  //#endregion
3257
3199
  //#region src/core/domain/adminNotes/services/diffDetector.ts
3258
3200
  function compareConfigs$2(local, remote) {
@@ -3272,7 +3214,6 @@ function compareConfigs$2(local, remote) {
3272
3214
  const AdminNotesDiffDetector = { detect: (local, remote) => {
3273
3215
  return buildDiffResult(compareConfigs$2(local, remote));
3274
3216
  } };
3275
-
3276
3217
  //#endregion
3277
3218
  //#region src/core/application/adminNotes/detectAdminNotesDiff.ts
3278
3219
  async function detectAdminNotesDiff({ container }) {
@@ -3284,21 +3225,6 @@ async function detectAdminNotesDiff({ container }) {
3284
3225
  notFoundMessage: "Admin notes config file not found"
3285
3226
  });
3286
3227
  }
3287
-
3288
- //#endregion
3289
- //#region src/cli/commands/admin-notes/diff.ts
3290
- var diff_default$11 = createDiffCommand({
3291
- description: "Compare local admin notes config with remote kintone app",
3292
- args: adminNotesArgs,
3293
- spinnerMessage: "Comparing admin notes...",
3294
- multiAppSuccessMessage: "All admin notes diffs completed successfully.",
3295
- createContainer: createAdminNotesCliContainer,
3296
- detectDiff: detectAdminNotesDiff,
3297
- printResult: printAdminNotesDiffResult,
3298
- resolveContainerConfig: resolveAdminNotesContainerConfig,
3299
- resolveAppContainerConfig: resolveAdminNotesAppContainerConfig
3300
- });
3301
-
3302
3228
  //#endregion
3303
3229
  //#region src/cli/commands/admin-notes/index.ts
3304
3230
  var admin_notes_default = define({
@@ -3307,11 +3233,20 @@ var admin_notes_default = define({
3307
3233
  subCommands: {
3308
3234
  apply: apply_default$11,
3309
3235
  capture: capture_default$12,
3310
- diff: diff_default$11
3236
+ diff: createDiffCommand({
3237
+ description: "Compare local admin notes config with remote kintone app",
3238
+ args: adminNotesArgs,
3239
+ spinnerMessage: "Comparing admin notes...",
3240
+ multiAppSuccessMessage: "All admin notes diffs completed successfully.",
3241
+ createContainer: createAdminNotesCliContainer,
3242
+ detectDiff: detectAdminNotesDiff,
3243
+ printResult: printAdminNotesDiffResult,
3244
+ resolveContainerConfig: resolveAdminNotesContainerConfig,
3245
+ resolveAppContainerConfig: resolveAdminNotesAppContainerConfig
3246
+ })
3311
3247
  },
3312
3248
  run: () => {}
3313
3249
  });
3314
-
3315
3250
  //#endregion
3316
3251
  //#region src/core/domain/appPermission/services/configParser.ts
3317
3252
  const VALID_ENTITY_TYPES$8 = new Set([
@@ -3357,13 +3292,11 @@ const AppPermissionConfigParser = { parse: (rawText) => {
3357
3292
  }
3358
3293
  return { rights };
3359
3294
  } };
3360
-
3361
3295
  //#endregion
3362
3296
  //#region src/core/application/appPermission/parseConfig.ts
3363
3297
  function parseAppPermissionConfigText(rawText) {
3364
3298
  return wrapBusinessRuleError(() => AppPermissionConfigParser.parse(rawText));
3365
3299
  }
3366
-
3367
3300
  //#endregion
3368
3301
  //#region src/core/application/appPermission/applyAppPermission.ts
3369
3302
  async function applyAppPermission({ container }) {
@@ -3380,7 +3313,6 @@ async function applyAppPermission({ container }) {
3380
3313
  notFoundMessage: "App permission config file not found"
3381
3314
  });
3382
3315
  }
3383
-
3384
3316
  //#endregion
3385
3317
  //#region src/core/adapters/kintone/appPermissionConfigurator.ts
3386
3318
  const VALID_ENTITY_TYPES$7 = new Set([
@@ -3461,13 +3393,11 @@ var KintoneAppPermissionConfigurator = class {
3461
3393
  }
3462
3394
  }
3463
3395
  };
3464
-
3465
3396
  //#endregion
3466
3397
  //#region src/core/adapters/local/appPermissionStorage.ts
3467
3398
  function createLocalFileAppPermissionStorage(filePath) {
3468
3399
  return createLocalFileStorage(filePath, "app permission file");
3469
3400
  }
3470
-
3471
3401
  //#endregion
3472
3402
  //#region src/core/application/container/appPermissionCli.ts
3473
3403
  function createAppPermissionCliContainer(config) {
@@ -3478,7 +3408,6 @@ function createAppPermissionCliContainer(config) {
3478
3408
  appDeployer: new KintoneAppDeployer(client, config.appId)
3479
3409
  };
3480
3410
  }
3481
-
3482
3411
  //#endregion
3483
3412
  //#region src/cli/appAclConfig.ts
3484
3413
  const appAclArgs = {
@@ -3500,7 +3429,6 @@ const { resolveFilePath: resolveAppAclFilePath, resolveContainerConfig: resolveA
3500
3429
  appAclFilePath: filePath
3501
3430
  })
3502
3431
  });
3503
-
3504
3432
  //#endregion
3505
3433
  //#region src/cli/commands/app-acl/apply.ts
3506
3434
  async function runAppAcl(config) {
@@ -3547,7 +3475,6 @@ var apply_default$10 = define({
3547
3475
  }
3548
3476
  }
3549
3477
  });
3550
-
3551
3478
  //#endregion
3552
3479
  //#region src/core/domain/appPermission/services/configSerializer.ts
3553
3480
  function serializeAppRight(right) {
@@ -3569,7 +3496,6 @@ function serializeAppRight(right) {
3569
3496
  const AppPermissionConfigSerializer = { serialize: (config) => {
3570
3497
  return serializeToYaml({ rights: config.rights.map(serializeAppRight) });
3571
3498
  } };
3572
-
3573
3499
  //#endregion
3574
3500
  //#region src/core/application/appPermission/captureAppPermission.ts
3575
3501
  async function captureAppPermission({ container }) {
@@ -3579,13 +3505,11 @@ async function captureAppPermission({ container }) {
3579
3505
  getStorage: () => container.appPermissionStorage.get()
3580
3506
  });
3581
3507
  }
3582
-
3583
3508
  //#endregion
3584
3509
  //#region src/core/application/appPermission/saveAppPermission.ts
3585
3510
  async function saveAppPermission({ container, input }) {
3586
3511
  await container.appPermissionStorage.update(input.configText);
3587
3512
  }
3588
-
3589
3513
  //#endregion
3590
3514
  //#region src/cli/commands/app-acl/capture.ts
3591
3515
  async function runCaptureAppAcl(config) {
@@ -3628,7 +3552,6 @@ var capture_default$11 = define({
3628
3552
  }
3629
3553
  }
3630
3554
  });
3631
-
3632
3555
  //#endregion
3633
3556
  //#region src/core/domain/appPermission/services/diffDetector.ts
3634
3557
  const BOOLEAN_FLAGS = [
@@ -3680,7 +3603,6 @@ const AppPermissionDiffDetector = { detect: (local, remote) => {
3680
3603
  });
3681
3604
  return buildDiffResult(entries);
3682
3605
  } };
3683
-
3684
3606
  //#endregion
3685
3607
  //#region src/core/application/appPermission/detectAppPermissionDiff.ts
3686
3608
  async function detectAppPermissionDiff({ container }) {
@@ -3692,21 +3614,6 @@ async function detectAppPermissionDiff({ container }) {
3692
3614
  notFoundMessage: "App permission config file not found"
3693
3615
  });
3694
3616
  }
3695
-
3696
- //#endregion
3697
- //#region src/cli/commands/app-acl/diff.ts
3698
- var diff_default$10 = createDiffCommand({
3699
- description: "Compare local app permission config with remote kintone app",
3700
- args: appAclArgs,
3701
- spinnerMessage: "Comparing app permissions...",
3702
- multiAppSuccessMessage: "All app permission diffs completed successfully.",
3703
- createContainer: createAppPermissionCliContainer,
3704
- detectDiff: detectAppPermissionDiff,
3705
- printResult: printAppPermissionDiffResult,
3706
- resolveContainerConfig: resolveAppAclContainerConfig,
3707
- resolveAppContainerConfig: resolveAppAclAppContainerConfig
3708
- });
3709
-
3710
3617
  //#endregion
3711
3618
  //#region src/cli/commands/app-acl/index.ts
3712
3619
  var app_acl_default = define({
@@ -3715,11 +3622,20 @@ var app_acl_default = define({
3715
3622
  subCommands: {
3716
3623
  apply: apply_default$10,
3717
3624
  capture: capture_default$11,
3718
- diff: diff_default$10
3625
+ diff: createDiffCommand({
3626
+ description: "Compare local app permission config with remote kintone app",
3627
+ args: appAclArgs,
3628
+ spinnerMessage: "Comparing app permissions...",
3629
+ multiAppSuccessMessage: "All app permission diffs completed successfully.",
3630
+ createContainer: createAppPermissionCliContainer,
3631
+ detectDiff: detectAppPermissionDiff,
3632
+ printResult: printAppPermissionDiffResult,
3633
+ resolveContainerConfig: resolveAppAclContainerConfig,
3634
+ resolveAppContainerConfig: resolveAppAclAppContainerConfig
3635
+ })
3719
3636
  },
3720
3637
  run: () => {}
3721
3638
  });
3722
-
3723
3639
  //#endregion
3724
3640
  //#region src/core/domain/customization/services/resourceMerger.ts
3725
3641
  const MAX_RESOURCES_PER_CATEGORY = 30;
@@ -3747,7 +3663,6 @@ const ResourceMerger = {
3747
3663
  return [...kept, ...incoming];
3748
3664
  }
3749
3665
  };
3750
-
3751
3666
  //#endregion
3752
3667
  //#region src/core/domain/customization/services/configParser.ts
3753
3668
  function parseResource(raw, index) {
@@ -3803,13 +3718,11 @@ const CustomizationConfigParser = { parse: (rawText) => {
3803
3718
  mobile
3804
3719
  };
3805
3720
  } };
3806
-
3807
3721
  //#endregion
3808
3722
  //#region src/core/application/customization/parseConfig.ts
3809
3723
  function parseConfigText(rawText) {
3810
3724
  return wrapBusinessRuleError(() => CustomizationConfigParser.parse(rawText));
3811
3725
  }
3812
-
3813
3726
  //#endregion
3814
3727
  //#region src/core/application/customization/applyCustomization.ts
3815
3728
  async function resolveResources(platform, basePath, fileUploader) {
@@ -3862,7 +3775,6 @@ async function applyCustomization({ container, input }) {
3862
3775
  revision: currentCustomization.revision
3863
3776
  });
3864
3777
  }
3865
-
3866
3778
  //#endregion
3867
3779
  //#region src/cli/customizeConfig.ts
3868
3780
  const customizeArgs = {
@@ -3884,7 +3796,6 @@ const { resolveFilePath: resolveCustomizeFilePath, resolveContainerConfig: resol
3884
3796
  customizeFilePath: filePath
3885
3797
  })
3886
3798
  });
3887
-
3888
3799
  //#endregion
3889
3800
  //#region src/core/domain/customization/services/configSerializer.ts
3890
3801
  function serializeResource(resource) {
@@ -3916,7 +3827,6 @@ const CustomizationConfigSerializer = { serialize: (config) => {
3916
3827
  ...hasPlatformResources(config.mobile) ? { mobile: serializePlatform(config.mobile) } : {}
3917
3828
  });
3918
3829
  } };
3919
-
3920
3830
  //#endregion
3921
3831
  //#region src/lib/deduplicateName.ts
3922
3832
  const DEFAULT_MAX_COUNTER = 1e4;
@@ -3925,11 +3835,17 @@ const DEFAULT_MAX_COUNTER = 1e4;
3925
3835
  *
3926
3836
  * NOTE: This function mutates `usedNames` by adding the returned name to the set.
3927
3837
  * This is intentional to allow sequential calls to track used names efficiently.
3838
+ *
3839
+ * Caveat: If `baseName` already ends with `separator + number` (e.g. "app_1" with
3840
+ * separator "_"), the generated suffix may collide with names produced by a different
3841
+ * baseName (e.g. baseName="app" generating "app_1"). Callers should be aware of this
3842
+ * when working with names that may contain the separator.
3928
3843
  */
3929
3844
  function deduplicateName(baseName, usedNames, options) {
3930
3845
  if (baseName === "") throw new Error("baseName must not be empty");
3931
3846
  if (options.separator === "") throw new Error("separator must not be empty");
3932
3847
  if (options.startCounter < 1) throw new Error("startCounter must be >= 1");
3848
+ if (options.maxCounter !== void 0 && options.maxCounter < options.startCounter) throw new Error("maxCounter must be >= startCounter");
3933
3849
  if (!usedNames.has(baseName)) {
3934
3850
  usedNames.add(baseName);
3935
3851
  return baseName;
@@ -3945,7 +3861,6 @@ function deduplicateName(baseName, usedNames, options) {
3945
3861
  usedNames.add(candidate);
3946
3862
  return candidate;
3947
3863
  }
3948
-
3949
3864
  //#endregion
3950
3865
  //#region src/core/application/customization/captureCustomization.ts
3951
3866
  const UNSAFE_FILE_CHARS = /[<>:"|?*\u0000-\u001f]/g;
@@ -4060,13 +3975,11 @@ async function captureCustomization({ container, input }) {
4060
3975
  fileResourceCount: desktopPlan.fileCount + mobilePlan.fileCount
4061
3976
  };
4062
3977
  }
4063
-
4064
3978
  //#endregion
4065
3979
  //#region src/core/application/customization/saveCustomization.ts
4066
3980
  async function saveCustomization({ container, input }) {
4067
3981
  await container.customizationStorage.update(input.configText);
4068
3982
  }
4069
-
4070
3983
  //#endregion
4071
3984
  //#region src/cli/commands/customize/capture.ts
4072
3985
  function deriveFilePrefix(customizeFilePath) {
@@ -4124,7 +4037,6 @@ var capture_default$10 = define({
4124
4037
  }
4125
4038
  }
4126
4039
  });
4127
-
4128
4040
  //#endregion
4129
4041
  //#region src/cli/commands/customize/apply.ts
4130
4042
  async function applyCustomizationForApp(config) {
@@ -4175,7 +4087,6 @@ var apply_default$9 = define({
4175
4087
  }
4176
4088
  }
4177
4089
  });
4178
-
4179
4090
  //#endregion
4180
4091
  //#region src/core/domain/customization/services/diffDetector.ts
4181
4092
  function resourceName(resource) {
@@ -4232,7 +4143,7 @@ function comparePlatform(localJs, localCss, remote, platform, warnings) {
4232
4143
  const CustomizationDiffDetector = { detect: (local, remote) => {
4233
4144
  const entries = [];
4234
4145
  const warnings = [];
4235
- const localScope = local.scope ?? DEFAULT_CUSTOMIZATION_SCOPE;
4146
+ const localScope = local.scope ?? "ALL";
4236
4147
  if (localScope !== remote.scope) entries.push({
4237
4148
  type: "modified",
4238
4149
  platform: "config",
@@ -4244,7 +4155,6 @@ const CustomizationDiffDetector = { detect: (local, remote) => {
4244
4155
  entries.push(...comparePlatform(local.mobile.js, local.mobile.css, remote.mobile, "mobile", warnings));
4245
4156
  return buildDiffResult(entries, warnings);
4246
4157
  } };
4247
-
4248
4158
  //#endregion
4249
4159
  //#region src/core/application/customization/detectCustomizationDiff.ts
4250
4160
  async function detectCustomizationDiff({ container }) {
@@ -4256,21 +4166,6 @@ async function detectCustomizationDiff({ container }) {
4256
4166
  notFoundMessage: "Customization config file not found"
4257
4167
  });
4258
4168
  }
4259
-
4260
- //#endregion
4261
- //#region src/cli/commands/customize/diff.ts
4262
- var diff_default$9 = createDiffCommand({
4263
- description: "Compare local customization config with remote kintone app",
4264
- args: customizeArgs,
4265
- spinnerMessage: "Comparing customization settings...",
4266
- multiAppSuccessMessage: "All customization diffs completed successfully.",
4267
- createContainer: createCustomizationCliContainer,
4268
- detectDiff: detectCustomizationDiff,
4269
- printResult: printCustomizationDiffResult,
4270
- resolveContainerConfig: resolveCustomizeConfig,
4271
- resolveAppContainerConfig: resolveCustomizeAppConfig
4272
- });
4273
-
4274
4169
  //#endregion
4275
4170
  //#region src/cli/commands/customize/index.ts
4276
4171
  var customize_default = define({
@@ -4279,11 +4174,20 @@ var customize_default = define({
4279
4174
  subCommands: {
4280
4175
  apply: apply_default$9,
4281
4176
  capture: capture_default$10,
4282
- diff: diff_default$9
4177
+ diff: createDiffCommand({
4178
+ description: "Compare local customization config with remote kintone app",
4179
+ args: customizeArgs,
4180
+ spinnerMessage: "Comparing customization settings...",
4181
+ multiAppSuccessMessage: "All customization diffs completed successfully.",
4182
+ createContainer: createCustomizationCliContainer,
4183
+ detectDiff: detectCustomizationDiff,
4184
+ printResult: printCustomizationDiffResult,
4185
+ resolveContainerConfig: resolveCustomizeConfig,
4186
+ resolveAppContainerConfig: resolveCustomizeAppConfig
4187
+ })
4283
4188
  },
4284
4189
  run: () => {}
4285
4190
  });
4286
-
4287
4191
  //#endregion
4288
4192
  //#region src/core/adapters/kintone/fieldPermissionConfigurator.ts
4289
4193
  const VALID_ACCESSIBILITIES$1 = new Set([
@@ -4368,13 +4272,11 @@ var KintoneFieldPermissionConfigurator = class {
4368
4272
  }
4369
4273
  }
4370
4274
  };
4371
-
4372
4275
  //#endregion
4373
4276
  //#region src/core/adapters/local/fieldPermissionStorage.ts
4374
4277
  function createLocalFileFieldPermissionStorage(filePath) {
4375
4278
  return createLocalFileStorage(filePath, "field permission file");
4376
4279
  }
4377
-
4378
4280
  //#endregion
4379
4281
  //#region src/core/application/container/fieldPermissionCli.ts
4380
4282
  function createFieldPermissionCliContainer(config) {
@@ -4385,7 +4287,6 @@ function createFieldPermissionCliContainer(config) {
4385
4287
  appDeployer: new KintoneAppDeployer(client, config.appId)
4386
4288
  };
4387
4289
  }
4388
-
4389
4290
  //#endregion
4390
4291
  //#region src/core/domain/fieldPermission/services/configParser.ts
4391
4292
  const VALID_ACCESSIBILITIES = new Set([
@@ -4443,13 +4344,11 @@ const FieldPermissionConfigParser = { parse: (rawText) => {
4443
4344
  }
4444
4345
  return { rights };
4445
4346
  } };
4446
-
4447
4347
  //#endregion
4448
4348
  //#region src/core/application/fieldPermission/parseConfig.ts
4449
4349
  function parseFieldPermissionConfigText(rawText) {
4450
4350
  return wrapBusinessRuleError(() => FieldPermissionConfigParser.parse(rawText));
4451
4351
  }
4452
-
4453
4352
  //#endregion
4454
4353
  //#region src/core/application/fieldPermission/applyFieldPermission.ts
4455
4354
  async function applyFieldPermission({ container }) {
@@ -4466,7 +4365,6 @@ async function applyFieldPermission({ container }) {
4466
4365
  notFoundMessage: "Field permission config file not found"
4467
4366
  });
4468
4367
  }
4469
-
4470
4368
  //#endregion
4471
4369
  //#region src/cli/fieldAclConfig.ts
4472
4370
  const fieldAclArgs = {
@@ -4488,7 +4386,6 @@ const { resolveFilePath: resolveFieldAclFilePath, resolveContainerConfig: resolv
4488
4386
  fieldAclFilePath: filePath
4489
4387
  })
4490
4388
  });
4491
-
4492
4389
  //#endregion
4493
4390
  //#region src/cli/commands/field-acl/apply.ts
4494
4391
  async function runFieldAcl(config) {
@@ -4535,7 +4432,6 @@ var apply_default$8 = define({
4535
4432
  }
4536
4433
  }
4537
4434
  });
4538
-
4539
4435
  //#endregion
4540
4436
  //#region src/core/domain/fieldPermission/services/configSerializer.ts
4541
4437
  function serializeFieldRightEntity(entity) {
@@ -4555,7 +4451,6 @@ const FieldPermissionConfigSerializer = { serialize: (config) => {
4555
4451
  entities: right.entities.map(serializeFieldRightEntity)
4556
4452
  })) });
4557
4453
  } };
4558
-
4559
4454
  //#endregion
4560
4455
  //#region src/core/application/fieldPermission/captureFieldPermission.ts
4561
4456
  async function captureFieldPermission({ container }) {
@@ -4565,13 +4460,11 @@ async function captureFieldPermission({ container }) {
4565
4460
  getStorage: () => container.fieldPermissionStorage.get()
4566
4461
  });
4567
4462
  }
4568
-
4569
4463
  //#endregion
4570
4464
  //#region src/core/application/fieldPermission/saveFieldPermission.ts
4571
4465
  async function saveFieldPermission({ container, input }) {
4572
4466
  await container.fieldPermissionStorage.update(input.configText);
4573
4467
  }
4574
-
4575
4468
  //#endregion
4576
4469
  //#region src/cli/commands/field-acl/capture.ts
4577
4470
  async function runCaptureFieldAcl(config) {
@@ -4614,7 +4507,6 @@ var capture_default$9 = define({
4614
4507
  }
4615
4508
  }
4616
4509
  });
4617
-
4618
4510
  //#endregion
4619
4511
  //#region src/core/domain/fieldPermission/services/diffDetector.ts
4620
4512
  function isEntitiesEqual$1(a, b) {
@@ -4654,7 +4546,6 @@ const FieldPermissionDiffDetector = { detect: (local, remote) => {
4654
4546
  });
4655
4547
  return buildDiffResult(entries);
4656
4548
  } };
4657
-
4658
4549
  //#endregion
4659
4550
  //#region src/core/application/fieldPermission/detectFieldPermissionDiff.ts
4660
4551
  async function detectFieldPermissionDiff({ container }) {
@@ -4666,21 +4557,6 @@ async function detectFieldPermissionDiff({ container }) {
4666
4557
  notFoundMessage: "Field permission config file not found"
4667
4558
  });
4668
4559
  }
4669
-
4670
- //#endregion
4671
- //#region src/cli/commands/field-acl/diff.ts
4672
- var diff_default$8 = createDiffCommand({
4673
- description: "Compare local field permission config with remote kintone app",
4674
- args: fieldAclArgs,
4675
- spinnerMessage: "Comparing field permissions...",
4676
- multiAppSuccessMessage: "All field permission diffs completed successfully.",
4677
- createContainer: createFieldPermissionCliContainer,
4678
- detectDiff: detectFieldPermissionDiff,
4679
- printResult: printFieldPermissionDiffResult,
4680
- resolveContainerConfig: resolveFieldAclContainerConfig,
4681
- resolveAppContainerConfig: resolveFieldAclAppContainerConfig
4682
- });
4683
-
4684
4560
  //#endregion
4685
4561
  //#region src/cli/commands/field-acl/index.ts
4686
4562
  var field_acl_default = define({
@@ -4689,11 +4565,20 @@ var field_acl_default = define({
4689
4565
  subCommands: {
4690
4566
  apply: apply_default$8,
4691
4567
  capture: capture_default$9,
4692
- diff: diff_default$8
4568
+ diff: createDiffCommand({
4569
+ description: "Compare local field permission config with remote kintone app",
4570
+ args: fieldAclArgs,
4571
+ spinnerMessage: "Comparing field permissions...",
4572
+ multiAppSuccessMessage: "All field permission diffs completed successfully.",
4573
+ createContainer: createFieldPermissionCliContainer,
4574
+ detectDiff: detectFieldPermissionDiff,
4575
+ printResult: printFieldPermissionDiffResult,
4576
+ resolveContainerConfig: resolveFieldAclContainerConfig,
4577
+ resolveAppContainerConfig: resolveFieldAclAppContainerConfig
4578
+ })
4693
4579
  },
4694
4580
  run: () => {}
4695
4581
  });
4696
-
4697
4582
  //#endregion
4698
4583
  //#region src/core/adapters/kintone/parseKintoneIntegerField.ts
4699
4584
  function parseKintoneIntegerField(raw, fieldName) {
@@ -4701,7 +4586,6 @@ function parseKintoneIntegerField(raw, fieldName) {
4701
4586
  if (!Number.isFinite(n) || !Number.isInteger(n)) throw new SystemError(SystemErrorCode.ExternalApiError, `Unexpected non-integer ${fieldName} from kintone API: ${raw}`);
4702
4587
  return n;
4703
4588
  }
4704
-
4705
4589
  //#endregion
4706
4590
  //#region src/core/adapters/kintone/generalSettingsConfigurator.ts
4707
4591
  const VALID_THEMES$1 = new Set([
@@ -4834,13 +4718,11 @@ var KintoneGeneralSettingsConfigurator = class {
4834
4718
  }
4835
4719
  }
4836
4720
  };
4837
-
4838
4721
  //#endregion
4839
4722
  //#region src/core/adapters/local/generalSettingsStorage.ts
4840
4723
  function createLocalFileGeneralSettingsStorage(filePath) {
4841
4724
  return createLocalFileStorage(filePath, "general settings file");
4842
4725
  }
4843
-
4844
4726
  //#endregion
4845
4727
  //#region src/core/application/container/generalSettingsCli.ts
4846
4728
  function createGeneralSettingsCliContainer(config) {
@@ -4851,20 +4733,15 @@ function createGeneralSettingsCliContainer(config) {
4851
4733
  appDeployer: new KintoneAppDeployer(client, config.appId)
4852
4734
  };
4853
4735
  }
4854
-
4855
- //#endregion
4856
- //#region src/core/domain/notification/valueObject.ts
4857
- const ENTITY_TYPES = [
4736
+ const VALID_ENTITY_TYPES$4 = new Set([
4858
4737
  "USER",
4859
4738
  "GROUP",
4860
4739
  "ORGANIZATION",
4861
4740
  "FIELD_ENTITY"
4862
- ];
4863
- const VALID_ENTITY_TYPES$4 = new Set(ENTITY_TYPES);
4741
+ ]);
4864
4742
  function isNotificationEntityType(value) {
4865
4743
  return VALID_ENTITY_TYPES$4.has(value);
4866
4744
  }
4867
-
4868
4745
  //#endregion
4869
4746
  //#region src/core/adapters/kintone/notificationConfigurator.ts
4870
4747
  function fromKintoneEntity$2(raw) {
@@ -5061,13 +4938,11 @@ var KintoneNotificationConfigurator = class {
5061
4938
  }
5062
4939
  }
5063
4940
  };
5064
-
5065
4941
  //#endregion
5066
4942
  //#region src/core/adapters/local/notificationStorage.ts
5067
4943
  function createLocalFileNotificationStorage(filePath) {
5068
4944
  return createLocalFileStorage(filePath, "notification file");
5069
4945
  }
5070
-
5071
4946
  //#endregion
5072
4947
  //#region src/core/application/container/notificationCli.ts
5073
4948
  function createNotificationCliContainer(config) {
@@ -5078,7 +4953,6 @@ function createNotificationCliContainer(config) {
5078
4953
  appDeployer: new KintoneAppDeployer(client, config.appId)
5079
4954
  };
5080
4955
  }
5081
-
5082
4956
  //#endregion
5083
4957
  //#region src/core/adapters/kintone/pluginConfigurator.ts
5084
4958
  var KintonePluginConfigurator = class {
@@ -5116,13 +4990,11 @@ var KintonePluginConfigurator = class {
5116
4990
  }
5117
4991
  }
5118
4992
  };
5119
-
5120
4993
  //#endregion
5121
4994
  //#region src/core/adapters/local/pluginStorage.ts
5122
4995
  function createLocalFilePluginStorage(filePath) {
5123
4996
  return createLocalFileStorage(filePath, "plugin file");
5124
4997
  }
5125
-
5126
4998
  //#endregion
5127
4999
  //#region src/core/application/container/pluginCli.ts
5128
5000
  function createPluginCliContainer(config) {
@@ -5133,7 +5005,6 @@ function createPluginCliContainer(config) {
5133
5005
  appDeployer: new KintoneAppDeployer(client, config.appId)
5134
5006
  };
5135
5007
  }
5136
-
5137
5008
  //#endregion
5138
5009
  //#region src/core/adapters/kintone/processManagementConfigurator.ts
5139
5010
  const VALID_ASSIGNEE_TYPES$1 = new Set([
@@ -5265,13 +5136,11 @@ var KintoneProcessManagementConfigurator = class {
5265
5136
  }
5266
5137
  }
5267
5138
  };
5268
-
5269
5139
  //#endregion
5270
5140
  //#region src/core/adapters/local/processManagementStorage.ts
5271
5141
  function createLocalFileProcessManagementStorage(filePath) {
5272
5142
  return createLocalFileStorage(filePath, "process management file");
5273
5143
  }
5274
-
5275
5144
  //#endregion
5276
5145
  //#region src/core/application/container/processManagementCli.ts
5277
5146
  function createProcessManagementCliContainer(config) {
@@ -5282,7 +5151,6 @@ function createProcessManagementCliContainer(config) {
5282
5151
  appDeployer: new KintoneAppDeployer(client, config.appId)
5283
5152
  };
5284
5153
  }
5285
-
5286
5154
  //#endregion
5287
5155
  //#region src/core/adapters/kintone/recordPermissionConfigurator.ts
5288
5156
  const VALID_ENTITY_TYPES$2 = new Set([
@@ -5360,13 +5228,11 @@ var KintoneRecordPermissionConfigurator = class {
5360
5228
  }
5361
5229
  }
5362
5230
  };
5363
-
5364
5231
  //#endregion
5365
5232
  //#region src/core/adapters/local/recordPermissionStorage.ts
5366
5233
  function createLocalFileRecordPermissionStorage(filePath) {
5367
5234
  return createLocalFileStorage(filePath, "record permission file");
5368
5235
  }
5369
-
5370
5236
  //#endregion
5371
5237
  //#region src/core/application/container/recordPermissionCli.ts
5372
5238
  function createRecordPermissionCliContainer(config) {
@@ -5377,10 +5243,7 @@ function createRecordPermissionCliContainer(config) {
5377
5243
  appDeployer: new KintoneAppDeployer(client, config.appId)
5378
5244
  };
5379
5245
  }
5380
-
5381
- //#endregion
5382
- //#region src/core/domain/report/valueObject.ts
5383
- const CHART_TYPES = [
5246
+ const VALID_CHART_TYPES = new Set([
5384
5247
  "BAR",
5385
5248
  "COLUMN",
5386
5249
  "PIE",
@@ -5390,21 +5253,19 @@ const CHART_TYPES = [
5390
5253
  "AREA",
5391
5254
  "SPLINE",
5392
5255
  "SPLINE_AREA"
5393
- ];
5394
- const VALID_CHART_TYPES = new Set(CHART_TYPES);
5256
+ ]);
5395
5257
  function isChartType(value) {
5396
5258
  return VALID_CHART_TYPES.has(value);
5397
5259
  }
5398
- const CHART_MODES = [
5260
+ const VALID_CHART_MODES = new Set([
5399
5261
  "NORMAL",
5400
5262
  "STACKED",
5401
5263
  "PERCENTAGE"
5402
- ];
5403
- const VALID_CHART_MODES = new Set(CHART_MODES);
5264
+ ]);
5404
5265
  function isChartMode(value) {
5405
5266
  return VALID_CHART_MODES.has(value);
5406
5267
  }
5407
- const GROUP_PERS = [
5268
+ const VALID_GROUP_PERS = new Set([
5408
5269
  "YEAR",
5409
5270
  "QUARTER",
5410
5271
  "MONTH",
@@ -5412,59 +5273,53 @@ const GROUP_PERS = [
5412
5273
  "DAY",
5413
5274
  "HOUR",
5414
5275
  "MINUTE"
5415
- ];
5416
- const VALID_GROUP_PERS = new Set(GROUP_PERS);
5276
+ ]);
5417
5277
  function isGroupPer(value) {
5418
5278
  return VALID_GROUP_PERS.has(value);
5419
5279
  }
5420
- const AGGREGATION_TYPES = [
5280
+ const VALID_AGGREGATION_TYPES = new Set([
5421
5281
  "COUNT",
5422
5282
  "SUM",
5423
5283
  "AVERAGE",
5424
5284
  "MAX",
5425
5285
  "MIN"
5426
- ];
5427
- const VALID_AGGREGATION_TYPES = new Set(AGGREGATION_TYPES);
5286
+ ]);
5428
5287
  function isAggregationType(value) {
5429
5288
  return VALID_AGGREGATION_TYPES.has(value);
5430
5289
  }
5431
- const SORT_BYS = [
5290
+ const VALID_SORT_BYS = new Set([
5432
5291
  "TOTAL",
5433
5292
  "GROUP1",
5434
5293
  "GROUP2",
5435
5294
  "GROUP3"
5436
- ];
5437
- const VALID_SORT_BYS = new Set(SORT_BYS);
5295
+ ]);
5438
5296
  function isSortBy(value) {
5439
5297
  return VALID_SORT_BYS.has(value);
5440
5298
  }
5441
- const SORT_ORDERS = ["ASC", "DESC"];
5442
- const VALID_SORT_ORDERS = new Set(SORT_ORDERS);
5299
+ const VALID_SORT_ORDERS = new Set(["ASC", "DESC"]);
5443
5300
  function isSortOrder(value) {
5444
5301
  return VALID_SORT_ORDERS.has(value);
5445
5302
  }
5446
- const PERIODIC_REPORT_EVERYS = [
5303
+ const VALID_PERIODIC_REPORT_EVERYS = new Set([
5447
5304
  "YEAR",
5448
5305
  "QUARTER",
5449
5306
  "MONTH",
5450
5307
  "WEEK",
5451
5308
  "DAY",
5452
5309
  "HOUR"
5453
- ];
5454
- const VALID_PERIODIC_REPORT_EVERYS = new Set(PERIODIC_REPORT_EVERYS);
5310
+ ]);
5455
5311
  function isPeriodicReportEvery(value) {
5456
5312
  return VALID_PERIODIC_REPORT_EVERYS.has(value);
5457
5313
  }
5458
- const PERIODIC_REPORT_PATTERNS = [
5314
+ const VALID_PERIODIC_REPORT_PATTERNS = new Set([
5459
5315
  "JAN_APR_JUL_OCT",
5460
5316
  "FEB_MAY_AUG_NOV",
5461
5317
  "MAR_JUN_SEP_DEC"
5462
- ];
5463
- const VALID_PERIODIC_REPORT_PATTERNS = new Set(PERIODIC_REPORT_PATTERNS);
5318
+ ]);
5464
5319
  function isPeriodicReportPattern(value) {
5465
5320
  return VALID_PERIODIC_REPORT_PATTERNS.has(value);
5466
5321
  }
5467
- const DAYS_OF_WEEK = [
5322
+ const VALID_DAYS_OF_WEEK = new Set([
5468
5323
  "SUNDAY",
5469
5324
  "MONDAY",
5470
5325
  "TUESDAY",
@@ -5472,12 +5327,10 @@ const DAYS_OF_WEEK = [
5472
5327
  "THURSDAY",
5473
5328
  "FRIDAY",
5474
5329
  "SATURDAY"
5475
- ];
5476
- const VALID_DAYS_OF_WEEK = new Set(DAYS_OF_WEEK);
5330
+ ]);
5477
5331
  function isDayOfWeek(value) {
5478
5332
  return VALID_DAYS_OF_WEEK.has(value);
5479
5333
  }
5480
-
5481
5334
  //#endregion
5482
5335
  //#region src/core/adapters/kintone/reportConfigurator.ts
5483
5336
  function fromKintoneGroup(raw) {
@@ -5647,13 +5500,11 @@ var KintoneReportConfigurator = class {
5647
5500
  }
5648
5501
  }
5649
5502
  };
5650
-
5651
5503
  //#endregion
5652
5504
  //#region src/core/adapters/local/reportStorage.ts
5653
5505
  function createLocalFileReportStorage(filePath) {
5654
5506
  return createLocalFileStorage(filePath, "report file");
5655
5507
  }
5656
-
5657
5508
  //#endregion
5658
5509
  //#region src/core/application/container/reportCli.ts
5659
5510
  function createReportCliContainer(config) {
@@ -5664,24 +5515,18 @@ function createReportCliContainer(config) {
5664
5515
  appDeployer: new KintoneAppDeployer(client, config.appId)
5665
5516
  };
5666
5517
  }
5667
-
5668
- //#endregion
5669
- //#region src/core/domain/view/valueObject.ts
5670
- const VIEW_TYPES = [
5518
+ const VALID_VIEW_TYPES = new Set([
5671
5519
  "LIST",
5672
5520
  "CALENDAR",
5673
5521
  "CUSTOM"
5674
- ];
5675
- const VALID_VIEW_TYPES = new Set(VIEW_TYPES);
5522
+ ]);
5676
5523
  function isViewType(value) {
5677
5524
  return VALID_VIEW_TYPES.has(value);
5678
5525
  }
5679
- const DEVICE_TYPES = ["DESKTOP", "ANY"];
5680
- const VALID_DEVICE_TYPES = new Set(DEVICE_TYPES);
5526
+ const VALID_DEVICE_TYPES = new Set(["DESKTOP", "ANY"]);
5681
5527
  function isDeviceType(value) {
5682
5528
  return VALID_DEVICE_TYPES.has(value);
5683
5529
  }
5684
-
5685
5530
  //#endregion
5686
5531
  //#region src/core/adapters/kintone/viewConfigurator.ts
5687
5532
  function fromKintoneView(name, raw) {
@@ -5761,13 +5606,11 @@ var KintoneViewConfigurator = class {
5761
5606
  }
5762
5607
  }
5763
5608
  };
5764
-
5765
5609
  //#endregion
5766
5610
  //#region src/core/adapters/local/viewStorage.ts
5767
5611
  function createLocalFileViewStorage(filePath) {
5768
5612
  return createLocalFileStorage(filePath, "view file");
5769
5613
  }
5770
-
5771
5614
  //#endregion
5772
5615
  //#region src/core/application/container/viewCli.ts
5773
5616
  function createViewCliContainer(config) {
@@ -5778,7 +5621,6 @@ function createViewCliContainer(config) {
5778
5621
  appDeployer: new KintoneAppDeployer(client, config.appId)
5779
5622
  };
5780
5623
  }
5781
-
5782
5624
  //#endregion
5783
5625
  //#region src/core/application/container/captureAllCli.ts
5784
5626
  function createCliCaptureContainers(input) {
@@ -5853,7 +5695,6 @@ function createCliCaptureContainers(input) {
5853
5695
  }
5854
5696
  };
5855
5697
  }
5856
-
5857
5698
  //#endregion
5858
5699
  //#region src/core/adapters/kintone/spaceReader.ts
5859
5700
  /**
@@ -5896,13 +5737,11 @@ var KintoneSpaceReader = class {
5896
5737
  }
5897
5738
  }
5898
5739
  };
5899
-
5900
5740
  //#endregion
5901
5741
  //#region src/core/adapters/local/projectConfigStorage.ts
5902
5742
  function createLocalFileProjectConfigStorage(filePath) {
5903
5743
  return createLocalFileStorage(filePath, "project config file");
5904
5744
  }
5905
-
5906
5745
  //#endregion
5907
5746
  //#region src/core/application/container/initCli.ts
5908
5747
  function createInitCliContainer(config) {
@@ -5911,7 +5750,6 @@ function createInitCliContainer(config) {
5911
5750
  projectConfigStorage: createLocalFileProjectConfigStorage(config.configFilePath)
5912
5751
  };
5913
5752
  }
5914
-
5915
5753
  //#endregion
5916
5754
  //#region src/core/domain/formSchema/services/layoutEnricher.ts
5917
5755
  function enrichLayoutElement(element, fields) {
@@ -5971,7 +5809,6 @@ function collectSubtableInnerFieldCodes(fields) {
5971
5809
  for (const def of fields.values()) if (def.type === "SUBTABLE") for (const subCode of def.properties.fields.keys()) innerCodes.add(subCode);
5972
5810
  return innerCodes;
5973
5811
  }
5974
-
5975
5812
  //#endregion
5976
5813
  //#region src/core/domain/formSchema/services/schemaSerializer.ts
5977
5814
  function serializeSize(size) {
@@ -6073,7 +5910,6 @@ const SchemaSerializer = { serialize: (layout, fields) => {
6073
5910
  defaultStringType: "PLAIN"
6074
5911
  });
6075
5912
  } };
6076
-
6077
5913
  //#endregion
6078
5914
  //#region src/core/application/formSchema/captureSchema.ts
6079
5915
  async function captureSchema({ container }) {
@@ -6084,13 +5920,11 @@ async function captureSchema({ container }) {
6084
5920
  hasExistingSchema: (await container.schemaStorage.get()).exists
6085
5921
  };
6086
5922
  }
6087
-
6088
5923
  //#endregion
6089
5924
  //#region src/core/application/formSchema/saveSchema.ts
6090
5925
  async function saveSchema({ container, input }) {
6091
5926
  await container.schemaStorage.update(input.schemaText);
6092
5927
  }
6093
-
6094
5928
  //#endregion
6095
5929
  //#region src/core/domain/generalSettings/services/configSerializer.ts
6096
5930
  function serializeConfig(config) {
@@ -6123,7 +5957,6 @@ function serializeConfig(config) {
6123
5957
  const GeneralSettingsConfigSerializer = { serialize: (config) => {
6124
5958
  return serializeToYaml(serializeConfig(config));
6125
5959
  } };
6126
-
6127
5960
  //#endregion
6128
5961
  //#region src/core/application/generalSettings/captureGeneralSettings.ts
6129
5962
  async function captureGeneralSettings({ container }) {
@@ -6133,13 +5966,11 @@ async function captureGeneralSettings({ container }) {
6133
5966
  getStorage: () => container.generalSettingsStorage.get()
6134
5967
  });
6135
5968
  }
6136
-
6137
5969
  //#endregion
6138
5970
  //#region src/core/application/generalSettings/saveGeneralSettings.ts
6139
5971
  async function saveGeneralSettings({ container, input }) {
6140
5972
  await container.generalSettingsStorage.update(input.configText);
6141
5973
  }
6142
-
6143
5974
  //#endregion
6144
5975
  //#region src/core/domain/notification/services/configSerializer.ts
6145
5976
  function serializeEntity$1(entity) {
@@ -6197,7 +6028,6 @@ const NotificationConfigSerializer = { serialize: (config) => {
6197
6028
  };
6198
6029
  return serializeToYaml(serialized);
6199
6030
  } };
6200
-
6201
6031
  //#endregion
6202
6032
  //#region src/core/application/notification/captureNotification.ts
6203
6033
  async function captureNotification({ container }) {
@@ -6222,13 +6052,11 @@ async function captureNotification({ container }) {
6222
6052
  hasExistingConfig: (await container.notificationStorage.get()).exists
6223
6053
  };
6224
6054
  }
6225
-
6226
6055
  //#endregion
6227
6056
  //#region src/core/application/notification/saveNotification.ts
6228
6057
  async function saveNotification({ container, input }) {
6229
6058
  await container.notificationStorage.update(input.configText);
6230
6059
  }
6231
-
6232
6060
  //#endregion
6233
6061
  //#region src/core/domain/plugin/services/configSerializer.ts
6234
6062
  const PluginConfigSerializer = { serialize: (config) => {
@@ -6238,7 +6066,6 @@ const PluginConfigSerializer = { serialize: (config) => {
6238
6066
  enabled: plugin.enabled
6239
6067
  })) });
6240
6068
  } };
6241
-
6242
6069
  //#endregion
6243
6070
  //#region src/core/application/plugin/capturePlugin.ts
6244
6071
  async function capturePlugin({ container }) {
@@ -6248,13 +6075,11 @@ async function capturePlugin({ container }) {
6248
6075
  getStorage: () => container.pluginStorage.get()
6249
6076
  });
6250
6077
  }
6251
-
6252
6078
  //#endregion
6253
6079
  //#region src/core/application/plugin/savePlugin.ts
6254
6080
  async function savePlugin({ container, input }) {
6255
6081
  await container.pluginStorage.update(input.configText);
6256
6082
  }
6257
-
6258
6083
  //#endregion
6259
6084
  //#region src/core/domain/processManagement/services/configSerializer.ts
6260
6085
  function serializeProcessEntity(entity) {
@@ -6288,7 +6113,6 @@ const ProcessManagementConfigSerializer = { serialize: (config) => {
6288
6113
  })
6289
6114
  });
6290
6115
  } };
6291
-
6292
6116
  //#endregion
6293
6117
  //#region src/core/application/processManagement/captureProcessManagement.ts
6294
6118
  async function captureProcessManagement({ container }) {
@@ -6298,13 +6122,11 @@ async function captureProcessManagement({ container }) {
6298
6122
  getStorage: () => container.processManagementStorage.get()
6299
6123
  });
6300
6124
  }
6301
-
6302
6125
  //#endregion
6303
6126
  //#region src/core/application/processManagement/saveProcessManagement.ts
6304
6127
  async function saveProcessManagement({ container, input }) {
6305
6128
  await container.processManagementStorage.update(input.configText);
6306
6129
  }
6307
-
6308
6130
  //#endregion
6309
6131
  //#region src/core/domain/recordPermission/services/configSerializer.ts
6310
6132
  function serializeRecordRightEntity(entity) {
@@ -6325,7 +6147,6 @@ const RecordPermissionConfigSerializer = { serialize: (config) => {
6325
6147
  entities: right.entities.map(serializeRecordRightEntity)
6326
6148
  })) });
6327
6149
  } };
6328
-
6329
6150
  //#endregion
6330
6151
  //#region src/core/application/recordPermission/captureRecordPermission.ts
6331
6152
  async function captureRecordPermission({ container }) {
@@ -6335,13 +6156,11 @@ async function captureRecordPermission({ container }) {
6335
6156
  getStorage: () => container.recordPermissionStorage.get()
6336
6157
  });
6337
6158
  }
6338
-
6339
6159
  //#endregion
6340
6160
  //#region src/core/application/recordPermission/saveRecordPermission.ts
6341
6161
  async function saveRecordPermission({ container, input }) {
6342
6162
  await container.recordPermissionStorage.update(input.configText);
6343
6163
  }
6344
-
6345
6164
  //#endregion
6346
6165
  //#region src/core/domain/report/services/configSerializer.ts
6347
6166
  function serializeGroup(group) {
@@ -6396,7 +6215,6 @@ const ReportConfigSerializer = { serialize: (config) => {
6396
6215
  serialized.reports = reports;
6397
6216
  return serializeToYaml(serialized);
6398
6217
  } };
6399
-
6400
6218
  //#endregion
6401
6219
  //#region src/core/application/report/captureReport.ts
6402
6220
  async function captureReport({ container }) {
@@ -6406,13 +6224,11 @@ async function captureReport({ container }) {
6406
6224
  getStorage: () => container.reportStorage.get()
6407
6225
  });
6408
6226
  }
6409
-
6410
6227
  //#endregion
6411
6228
  //#region src/core/application/report/saveReport.ts
6412
6229
  async function saveReport({ container, input }) {
6413
6230
  await container.reportStorage.update(input.configText);
6414
6231
  }
6415
-
6416
6232
  //#endregion
6417
6233
  //#region src/core/domain/seedData/services/seedSerializer.ts
6418
6234
  const SeedSerializer = { serialize: (seedData) => {
@@ -6426,14 +6242,12 @@ const SeedSerializer = { serialize: (seedData) => {
6426
6242
  defaultStringType: "PLAIN"
6427
6243
  });
6428
6244
  } };
6429
-
6430
6245
  //#endregion
6431
6246
  //#region src/core/domain/seedData/valueObject.ts
6432
6247
  const UpsertKey = { create: (key) => {
6433
6248
  if (key.length === 0) throw new BusinessRuleError(SeedDataErrorCode.SdEmptyUpsertKey, "Upsert key cannot be empty");
6434
6249
  return key;
6435
6250
  } };
6436
-
6437
6251
  //#endregion
6438
6252
  //#region src/core/application/seedData/captureSeed.ts
6439
6253
  async function captureSeed({ container, input }) {
@@ -6450,13 +6264,11 @@ async function captureSeed({ container, input }) {
6450
6264
  hasExistingSeed: existing.exists
6451
6265
  };
6452
6266
  }
6453
-
6454
6267
  //#endregion
6455
6268
  //#region src/core/application/seedData/saveSeed.ts
6456
6269
  async function saveSeed({ container, input }) {
6457
6270
  await container.seedStorage.update(input.seedText);
6458
6271
  }
6459
-
6460
6272
  //#endregion
6461
6273
  //#region src/core/domain/view/services/configSerializer.ts
6462
6274
  function serializeViewConfig(config) {
@@ -6480,7 +6292,6 @@ const ViewConfigSerializer = { serialize: (config) => {
6480
6292
  for (const [name, viewConfig] of Object.entries(config.views)) serialized[name] = serializeViewConfig(viewConfig);
6481
6293
  return serializeToYaml({ views: serialized });
6482
6294
  } };
6483
-
6484
6295
  //#endregion
6485
6296
  //#region src/core/application/view/captureView.ts
6486
6297
  async function captureView({ container }) {
@@ -6490,13 +6301,11 @@ async function captureView({ container }) {
6490
6301
  getStorage: () => container.viewStorage.get()
6491
6302
  });
6492
6303
  }
6493
-
6494
6304
  //#endregion
6495
6305
  //#region src/core/application/view/saveView.ts
6496
6306
  async function saveView({ container, input }) {
6497
6307
  await container.viewStorage.update(input.configText);
6498
6308
  }
6499
-
6500
6309
  //#endregion
6501
6310
  //#region src/core/application/init/captureAllForApp.ts
6502
6311
  function buildStandardTask(domain, container, capture, save) {
@@ -6602,8 +6411,6 @@ function isFatalError(error) {
6602
6411
  if (isSystemError(error) && error.code === SystemErrorCode.NetworkError) return true;
6603
6412
  return false;
6604
6413
  }
6605
- /** Number of domains to capture concurrently within each batch. */
6606
- const CAPTURE_BATCH_SIZE = 4;
6607
6414
  /**
6608
6415
  * Capture all domains for a single app, processing tasks in concurrent batches.
6609
6416
  *
@@ -6615,8 +6422,8 @@ const CAPTURE_BATCH_SIZE = 4;
6615
6422
  async function captureAllForApp(args) {
6616
6423
  const tasks = buildCaptureTasks(args);
6617
6424
  const results = [];
6618
- for (let i = 0; i < tasks.length; i += CAPTURE_BATCH_SIZE) {
6619
- const batch = tasks.slice(i, i + CAPTURE_BATCH_SIZE);
6425
+ for (let i = 0; i < tasks.length; i += 4) {
6426
+ const batch = tasks.slice(i, i + 4);
6620
6427
  const settled = await Promise.allSettled(batch.map((task) => task.run()));
6621
6428
  let fatalDomain;
6622
6429
  let fatalReason;
@@ -6638,7 +6445,7 @@ async function captureAllForApp(args) {
6638
6445
  }
6639
6446
  if (fatalDomain !== void 0) {
6640
6447
  const skipError = new SystemError(SystemErrorCode.InternalServerError, `Skipped due to fatal error in "${fatalDomain}"`, fatalReason);
6641
- for (const remaining of tasks.slice(i + CAPTURE_BATCH_SIZE)) results.push({
6448
+ for (const remaining of tasks.slice(i + 4)) results.push({
6642
6449
  domain: remaining.domain,
6643
6450
  success: false,
6644
6451
  error: skipError
@@ -6648,7 +6455,6 @@ async function captureAllForApp(args) {
6648
6455
  }
6649
6456
  return results;
6650
6457
  }
6651
-
6652
6458
  //#endregion
6653
6459
  //#region src/core/application/init/fetchSpaceApps.ts
6654
6460
  async function fetchSpaceApps(args) {
@@ -6656,7 +6462,6 @@ async function fetchSpaceApps(args) {
6656
6462
  if (apps.length === 0) throw new NotFoundError(NotFoundErrorCode.NotFound, `No apps found in space ID: ${args.input.spaceId}`);
6657
6463
  return apps;
6658
6464
  }
6659
-
6660
6465
  //#endregion
6661
6466
  //#region src/core/domain/space/entity.ts
6662
6467
  const UNSAFE_PATH_CHARS = /[<>:"/\\|?*\u0000-\u001f]/g;
@@ -6668,7 +6473,6 @@ function resolveAppName(app) {
6668
6473
  const raw = app.code !== "" ? app.code : app.name !== "" ? app.name : `app-${app.appId}`;
6669
6474
  return AppName.create(sanitizeForFileSystem(raw));
6670
6475
  }
6671
-
6672
6476
  //#endregion
6673
6477
  //#region src/core/application/init/generateProjectConfig.ts
6674
6478
  function deduplicateAppName(baseName, usedNames) {
@@ -6693,7 +6497,6 @@ function generateProjectConfig(input) {
6693
6497
  apps
6694
6498
  }, { lineWidth: 0 });
6695
6499
  }
6696
-
6697
6500
  //#endregion
6698
6501
  //#region src/cli/commands/init.ts
6699
6502
  const initArgs = {
@@ -6831,7 +6634,6 @@ var init_default = define({
6831
6634
  }
6832
6635
  }
6833
6636
  });
6834
-
6835
6637
  //#endregion
6836
6638
  //#region src/core/domain/notification/services/configParser.ts
6837
6639
  function parseEntity$1(raw, context) {
@@ -6942,13 +6744,11 @@ const NotificationConfigParser = { parse: (rawText) => {
6942
6744
  if (obj.reminder !== void 0) config.reminder = parseReminderConfig(obj.reminder);
6943
6745
  return config;
6944
6746
  } };
6945
-
6946
6747
  //#endregion
6947
6748
  //#region src/core/application/notification/parseConfig.ts
6948
6749
  function parseNotificationConfigText(rawText) {
6949
6750
  return wrapBusinessRuleError(() => NotificationConfigParser.parse(rawText));
6950
6751
  }
6951
-
6952
6752
  //#endregion
6953
6753
  //#region src/core/application/notification/applyNotification.ts
6954
6754
  /**
@@ -6988,7 +6788,6 @@ async function applyNotification({ container }) {
6988
6788
  });
6989
6789
  }
6990
6790
  }
6991
-
6992
6791
  //#endregion
6993
6792
  //#region src/cli/notificationConfig.ts
6994
6793
  const notificationArgs = {
@@ -7010,7 +6809,6 @@ const { resolveFilePath: resolveNotificationFilePath, resolveContainerConfig: re
7010
6809
  notificationFilePath: filePath
7011
6810
  })
7012
6811
  });
7013
-
7014
6812
  //#endregion
7015
6813
  //#region src/cli/commands/notification/apply.ts
7016
6814
  async function runNotification(config) {
@@ -7057,7 +6855,6 @@ var apply_default$7 = define({
7057
6855
  }
7058
6856
  }
7059
6857
  });
7060
-
7061
6858
  //#endregion
7062
6859
  //#region src/cli/commands/notification/capture.ts
7063
6860
  async function runCaptureNotification(config) {
@@ -7100,7 +6897,6 @@ var capture_default$8 = define({
7100
6897
  }
7101
6898
  }
7102
6899
  });
7103
-
7104
6900
  //#endregion
7105
6901
  //#region src/lib/groupByKey.ts
7106
6902
  /**
@@ -7117,7 +6913,6 @@ function groupByKey(items, keyFn) {
7117
6913
  }
7118
6914
  return map;
7119
6915
  }
7120
-
7121
6916
  //#endregion
7122
6917
  //#region src/core/domain/notification/services/diffDetector.ts
7123
6918
  function serializeEntity(entity) {
@@ -7307,7 +7102,6 @@ const NotificationDiffDetector = { detect: (local, remote) => {
7307
7102
  });
7308
7103
  return buildDiffResult(entries);
7309
7104
  } };
7310
-
7311
7105
  //#endregion
7312
7106
  //#region src/core/application/notification/detectNotificationDiff.ts
7313
7107
  async function detectNotificationDiff({ container }) {
@@ -7332,21 +7126,6 @@ async function detectNotificationDiff({ container }) {
7332
7126
  };
7333
7127
  return NotificationDiffDetector.detect(localConfig, remoteConfig);
7334
7128
  }
7335
-
7336
- //#endregion
7337
- //#region src/cli/commands/notification/diff.ts
7338
- var diff_default$7 = createDiffCommand({
7339
- description: "Compare local notification config with remote kintone app",
7340
- args: notificationArgs,
7341
- spinnerMessage: "Comparing notification settings...",
7342
- multiAppSuccessMessage: "All notification diffs completed successfully.",
7343
- createContainer: createNotificationCliContainer,
7344
- detectDiff: detectNotificationDiff,
7345
- printResult: printNotificationDiffResult,
7346
- resolveContainerConfig: resolveNotificationContainerConfig,
7347
- resolveAppContainerConfig: resolveNotificationAppContainerConfig
7348
- });
7349
-
7350
7129
  //#endregion
7351
7130
  //#region src/cli/commands/notification/index.ts
7352
7131
  var notification_default = define({
@@ -7355,11 +7134,20 @@ var notification_default = define({
7355
7134
  subCommands: {
7356
7135
  apply: apply_default$7,
7357
7136
  capture: capture_default$8,
7358
- diff: diff_default$7
7137
+ diff: createDiffCommand({
7138
+ description: "Compare local notification config with remote kintone app",
7139
+ args: notificationArgs,
7140
+ spinnerMessage: "Comparing notification settings...",
7141
+ multiAppSuccessMessage: "All notification diffs completed successfully.",
7142
+ createContainer: createNotificationCliContainer,
7143
+ detectDiff: detectNotificationDiff,
7144
+ printResult: printNotificationDiffResult,
7145
+ resolveContainerConfig: resolveNotificationContainerConfig,
7146
+ resolveAppContainerConfig: resolveNotificationAppContainerConfig
7147
+ })
7359
7148
  },
7360
7149
  run: () => {}
7361
7150
  });
7362
-
7363
7151
  //#endregion
7364
7152
  //#region src/core/domain/plugin/services/configParser.ts
7365
7153
  function parsePluginEntry(raw, index) {
@@ -7387,13 +7175,11 @@ const PluginConfigParser = { parse: (rawText) => {
7387
7175
  }
7388
7176
  return { plugins };
7389
7177
  } };
7390
-
7391
7178
  //#endregion
7392
7179
  //#region src/core/application/plugin/parseConfig.ts
7393
7180
  function parsePluginConfigText(rawText) {
7394
7181
  return wrapBusinessRuleError(() => PluginConfigParser.parse(rawText));
7395
7182
  }
7396
-
7397
7183
  //#endregion
7398
7184
  //#region src/core/application/plugin/applyPlugin.ts
7399
7185
  async function applyPlugin({ container }) {
@@ -7408,7 +7194,6 @@ async function applyPlugin({ container }) {
7408
7194
  revision: current.revision
7409
7195
  });
7410
7196
  }
7411
-
7412
7197
  //#endregion
7413
7198
  //#region src/cli/pluginConfig.ts
7414
7199
  const pluginArgs = {
@@ -7430,7 +7215,6 @@ const { resolveFilePath: resolvePluginFilePath, resolveContainerConfig: resolveP
7430
7215
  pluginFilePath: filePath
7431
7216
  })
7432
7217
  });
7433
-
7434
7218
  //#endregion
7435
7219
  //#region src/cli/commands/plugin/apply.ts
7436
7220
  async function runPlugin(config) {
@@ -7477,7 +7261,6 @@ var apply_default$6 = define({
7477
7261
  }
7478
7262
  }
7479
7263
  });
7480
-
7481
7264
  //#endregion
7482
7265
  //#region src/cli/commands/plugin/capture.ts
7483
7266
  async function runCapturePlugin(config) {
@@ -7520,7 +7303,6 @@ var capture_default$7 = define({
7520
7303
  }
7521
7304
  }
7522
7305
  });
7523
-
7524
7306
  //#endregion
7525
7307
  //#region src/core/domain/plugin/services/diffDetector.ts
7526
7308
  const PluginDiffDetector = { detect: (local, remote) => {
@@ -7552,7 +7334,6 @@ const PluginDiffDetector = { detect: (local, remote) => {
7552
7334
  });
7553
7335
  return buildDiffResult(entries);
7554
7336
  } };
7555
-
7556
7337
  //#endregion
7557
7338
  //#region src/core/application/plugin/detectPluginDiff.ts
7558
7339
  async function detectPluginDiff({ container }) {
@@ -7564,21 +7345,6 @@ async function detectPluginDiff({ container }) {
7564
7345
  notFoundMessage: "Plugin config file not found"
7565
7346
  });
7566
7347
  }
7567
-
7568
- //#endregion
7569
- //#region src/cli/commands/plugin/diff.ts
7570
- var diff_default$6 = createDiffCommand({
7571
- description: "Compare local plugin config with remote kintone app",
7572
- args: pluginArgs,
7573
- spinnerMessage: "Comparing plugin settings...",
7574
- multiAppSuccessMessage: "All plugin diffs completed successfully.",
7575
- createContainer: createPluginCliContainer,
7576
- detectDiff: detectPluginDiff,
7577
- printResult: printPluginDiffResult,
7578
- resolveContainerConfig: resolvePluginContainerConfig,
7579
- resolveAppContainerConfig: resolvePluginAppContainerConfig
7580
- });
7581
-
7582
7348
  //#endregion
7583
7349
  //#region src/cli/commands/plugin/index.ts
7584
7350
  var plugin_default = define({
@@ -7587,11 +7353,20 @@ var plugin_default = define({
7587
7353
  subCommands: {
7588
7354
  apply: apply_default$6,
7589
7355
  capture: capture_default$7,
7590
- diff: diff_default$6
7356
+ diff: createDiffCommand({
7357
+ description: "Compare local plugin config with remote kintone app",
7358
+ args: pluginArgs,
7359
+ spinnerMessage: "Comparing plugin settings...",
7360
+ multiAppSuccessMessage: "All plugin diffs completed successfully.",
7361
+ createContainer: createPluginCliContainer,
7362
+ detectDiff: detectPluginDiff,
7363
+ printResult: printPluginDiffResult,
7364
+ resolveContainerConfig: resolvePluginContainerConfig,
7365
+ resolveAppContainerConfig: resolvePluginAppContainerConfig
7366
+ })
7591
7367
  },
7592
7368
  run: () => {}
7593
7369
  });
7594
-
7595
7370
  //#endregion
7596
7371
  //#region src/core/domain/processManagement/services/configParser.ts
7597
7372
  const VALID_ASSIGNEE_TYPES = new Set([
@@ -7692,13 +7467,11 @@ const ProcessManagementConfigParser = { parse: (rawText) => {
7692
7467
  actions
7693
7468
  };
7694
7469
  } };
7695
-
7696
7470
  //#endregion
7697
7471
  //#region src/core/application/processManagement/parseConfig.ts
7698
7472
  function parseProcessManagementConfigText(rawText) {
7699
7473
  return wrapBusinessRuleError(() => ProcessManagementConfigParser.parse(rawText));
7700
7474
  }
7701
-
7702
7475
  //#endregion
7703
7476
  //#region src/core/application/processManagement/applyProcessManagement.ts
7704
7477
  async function applyProcessManagement({ container }) {
@@ -7716,7 +7489,6 @@ async function applyProcessManagement({ container }) {
7716
7489
  newEnable: config.enable
7717
7490
  };
7718
7491
  }
7719
-
7720
7492
  //#endregion
7721
7493
  //#region src/cli/processConfig.ts
7722
7494
  const processArgs = {
@@ -7738,7 +7510,6 @@ const { resolveFilePath: resolveProcessFilePath, resolveContainerConfig: resolve
7738
7510
  processFilePath: filePath
7739
7511
  })
7740
7512
  });
7741
-
7742
7513
  //#endregion
7743
7514
  //#region src/cli/commands/process/apply.ts
7744
7515
  async function runProcessApply(config) {
@@ -7786,7 +7557,6 @@ var apply_default$5 = define({
7786
7557
  }
7787
7558
  }
7788
7559
  });
7789
-
7790
7560
  //#endregion
7791
7561
  //#region src/cli/commands/process/capture.ts
7792
7562
  async function runCaptureProcess(config) {
@@ -7829,7 +7599,6 @@ var capture_default$6 = define({
7829
7599
  }
7830
7600
  }
7831
7601
  });
7832
-
7833
7602
  //#endregion
7834
7603
  //#region src/core/domain/processManagement/services/diffDetector.ts
7835
7604
  function isEntityEqual(a, b) {
@@ -7924,7 +7693,6 @@ function compareConfigs$1(local, remote) {
7924
7693
  const ProcessManagementDiffDetector = { detect: (local, remote) => {
7925
7694
  return buildDiffResult(compareConfigs$1(local, remote));
7926
7695
  } };
7927
-
7928
7696
  //#endregion
7929
7697
  //#region src/core/application/processManagement/detectProcessManagementDiff.ts
7930
7698
  async function detectProcessManagementDiff({ container }) {
@@ -7936,21 +7704,6 @@ async function detectProcessManagementDiff({ container }) {
7936
7704
  notFoundMessage: "Process management config file not found"
7937
7705
  });
7938
7706
  }
7939
-
7940
- //#endregion
7941
- //#region src/cli/commands/process/diff.ts
7942
- var diff_default$5 = createDiffCommand({
7943
- description: "Compare local process management settings with remote kintone app",
7944
- args: processArgs,
7945
- spinnerMessage: "Comparing process management settings...",
7946
- multiAppSuccessMessage: "All process management diffs completed successfully.",
7947
- createContainer: createProcessManagementCliContainer,
7948
- detectDiff: detectProcessManagementDiff,
7949
- printResult: printProcessDiffResult,
7950
- resolveContainerConfig: resolveProcessContainerConfig,
7951
- resolveAppContainerConfig: resolveProcessAppContainerConfig
7952
- });
7953
-
7954
7707
  //#endregion
7955
7708
  //#region src/cli/commands/process/index.ts
7956
7709
  var process_default = define({
@@ -7959,11 +7712,20 @@ var process_default = define({
7959
7712
  subCommands: {
7960
7713
  apply: apply_default$5,
7961
7714
  capture: capture_default$6,
7962
- diff: diff_default$5
7715
+ diff: createDiffCommand({
7716
+ description: "Compare local process management settings with remote kintone app",
7717
+ args: processArgs,
7718
+ spinnerMessage: "Comparing process management settings...",
7719
+ multiAppSuccessMessage: "All process management diffs completed successfully.",
7720
+ createContainer: createProcessManagementCliContainer,
7721
+ detectDiff: detectProcessManagementDiff,
7722
+ printResult: printProcessDiffResult,
7723
+ resolveContainerConfig: resolveProcessContainerConfig,
7724
+ resolveAppContainerConfig: resolveProcessAppContainerConfig
7725
+ })
7963
7726
  },
7964
7727
  run: () => {}
7965
7728
  });
7966
-
7967
7729
  //#endregion
7968
7730
  //#region src/core/domain/recordPermission/services/configParser.ts
7969
7731
  const VALID_ENTITY_TYPES = new Set([
@@ -8018,13 +7780,11 @@ const RecordPermissionConfigParser = { parse: (rawText) => {
8018
7780
  }
8019
7781
  return { rights };
8020
7782
  } };
8021
-
8022
7783
  //#endregion
8023
7784
  //#region src/core/application/recordPermission/parseConfig.ts
8024
7785
  function parseRecordPermissionConfigText(rawText) {
8025
7786
  return wrapBusinessRuleError(() => RecordPermissionConfigParser.parse(rawText));
8026
7787
  }
8027
-
8028
7788
  //#endregion
8029
7789
  //#region src/core/application/recordPermission/applyRecordPermission.ts
8030
7790
  async function applyRecordPermission({ container }) {
@@ -8041,7 +7801,6 @@ async function applyRecordPermission({ container }) {
8041
7801
  notFoundMessage: "Record permission config file not found"
8042
7802
  });
8043
7803
  }
8044
-
8045
7804
  //#endregion
8046
7805
  //#region src/cli/recordAclConfig.ts
8047
7806
  const recordAclArgs = {
@@ -8063,7 +7822,6 @@ const { resolveFilePath: resolveRecordAclFilePath, resolveContainerConfig: resol
8063
7822
  recordAclFilePath: filePath
8064
7823
  })
8065
7824
  });
8066
-
8067
7825
  //#endregion
8068
7826
  //#region src/cli/commands/record-acl/apply.ts
8069
7827
  async function runRecordAcl(config) {
@@ -8110,7 +7868,6 @@ var apply_default$4 = define({
8110
7868
  }
8111
7869
  }
8112
7870
  });
8113
-
8114
7871
  //#endregion
8115
7872
  //#region src/cli/commands/record-acl/capture.ts
8116
7873
  async function runCaptureRecordAcl(config) {
@@ -8153,7 +7910,6 @@ var capture_default$5 = define({
8153
7910
  }
8154
7911
  }
8155
7912
  });
8156
-
8157
7913
  //#endregion
8158
7914
  //#region src/core/domain/recordPermission/services/diffDetector.ts
8159
7915
  function isRightEqual(a, b) {
@@ -8225,7 +7981,6 @@ const RecordPermissionDiffDetector = { detect: (local, remote) => {
8225
7981
  });
8226
7982
  return buildDiffResult(entries);
8227
7983
  } };
8228
-
8229
7984
  //#endregion
8230
7985
  //#region src/core/application/recordPermission/detectRecordPermissionDiff.ts
8231
7986
  async function detectRecordPermissionDiff({ container }) {
@@ -8237,21 +7992,6 @@ async function detectRecordPermissionDiff({ container }) {
8237
7992
  notFoundMessage: "Record permission config file not found"
8238
7993
  });
8239
7994
  }
8240
-
8241
- //#endregion
8242
- //#region src/cli/commands/record-acl/diff.ts
8243
- var diff_default$4 = createDiffCommand({
8244
- description: "Compare local record permission config with remote kintone app",
8245
- args: recordAclArgs,
8246
- spinnerMessage: "Comparing record permissions...",
8247
- multiAppSuccessMessage: "All record permission diffs completed successfully.",
8248
- createContainer: createRecordPermissionCliContainer,
8249
- detectDiff: detectRecordPermissionDiff,
8250
- printResult: printRecordPermissionDiffResult,
8251
- resolveContainerConfig: resolveRecordAclContainerConfig,
8252
- resolveAppContainerConfig: resolveRecordAclAppContainerConfig
8253
- });
8254
-
8255
7995
  //#endregion
8256
7996
  //#region src/cli/commands/record-acl/index.ts
8257
7997
  var record_acl_default = define({
@@ -8260,11 +8000,20 @@ var record_acl_default = define({
8260
8000
  subCommands: {
8261
8001
  apply: apply_default$4,
8262
8002
  capture: capture_default$5,
8263
- diff: diff_default$4
8003
+ diff: createDiffCommand({
8004
+ description: "Compare local record permission config with remote kintone app",
8005
+ args: recordAclArgs,
8006
+ spinnerMessage: "Comparing record permissions...",
8007
+ multiAppSuccessMessage: "All record permission diffs completed successfully.",
8008
+ createContainer: createRecordPermissionCliContainer,
8009
+ detectDiff: detectRecordPermissionDiff,
8010
+ printResult: printRecordPermissionDiffResult,
8011
+ resolveContainerConfig: resolveRecordAclContainerConfig,
8012
+ resolveAppContainerConfig: resolveRecordAclAppContainerConfig
8013
+ })
8264
8014
  },
8265
8015
  run: () => {}
8266
8016
  });
8267
-
8268
8017
  //#endregion
8269
8018
  //#region src/core/domain/report/services/configParser.ts
8270
8019
  function parseGroup(raw, index) {
@@ -8405,13 +8154,11 @@ const ReportConfigParser = { parse: (rawText) => {
8405
8154
  for (const [name, value] of Object.entries(rawReports)) reports[name] = parseReportConfig(value, name);
8406
8155
  return { reports };
8407
8156
  } };
8408
-
8409
8157
  //#endregion
8410
8158
  //#region src/core/application/report/parseConfig.ts
8411
8159
  function parseReportConfigText(rawText) {
8412
8160
  return wrapBusinessRuleError(() => ReportConfigParser.parse(rawText));
8413
8161
  }
8414
-
8415
8162
  //#endregion
8416
8163
  //#region src/core/application/report/applyReport.ts
8417
8164
  async function applyReport({ container }) {
@@ -8428,7 +8175,6 @@ async function applyReport({ container }) {
8428
8175
  notFoundMessage: "Report config file not found"
8429
8176
  });
8430
8177
  }
8431
-
8432
8178
  //#endregion
8433
8179
  //#region src/cli/reportConfig.ts
8434
8180
  const reportArgs = {
@@ -8450,7 +8196,6 @@ const { resolveFilePath: resolveReportFilePath, resolveContainerConfig: resolveR
8450
8196
  reportFilePath: filePath
8451
8197
  })
8452
8198
  });
8453
-
8454
8199
  //#endregion
8455
8200
  //#region src/cli/commands/report/apply.ts
8456
8201
  async function runReport(config) {
@@ -8497,7 +8242,6 @@ var apply_default$3 = define({
8497
8242
  }
8498
8243
  }
8499
8244
  });
8500
-
8501
8245
  //#endregion
8502
8246
  //#region src/cli/commands/report/capture.ts
8503
8247
  async function runCaptureReport(config) {
@@ -8540,7 +8284,6 @@ var capture_default$4 = define({
8540
8284
  }
8541
8285
  }
8542
8286
  });
8543
-
8544
8287
  //#endregion
8545
8288
  //#region src/core/domain/report/services/diffDetector.ts
8546
8289
  function compareReports(local, remote) {
@@ -8578,7 +8321,6 @@ const ReportDiffDetector = { detect: (local, remote) => {
8578
8321
  })
8579
8322
  }));
8580
8323
  } };
8581
-
8582
8324
  //#endregion
8583
8325
  //#region src/core/application/report/detectReportDiff.ts
8584
8326
  async function detectReportDiff({ container }) {
@@ -8590,21 +8332,6 @@ async function detectReportDiff({ container }) {
8590
8332
  notFoundMessage: "Report config file not found"
8591
8333
  });
8592
8334
  }
8593
-
8594
- //#endregion
8595
- //#region src/cli/commands/report/diff.ts
8596
- var diff_default$3 = createDiffCommand({
8597
- description: "Compare local report config with remote kintone app",
8598
- args: reportArgs,
8599
- spinnerMessage: "Comparing report settings...",
8600
- multiAppSuccessMessage: "All report diffs completed successfully.",
8601
- createContainer: createReportCliContainer,
8602
- detectDiff: detectReportDiff,
8603
- printResult: printReportDiffResult,
8604
- resolveContainerConfig: resolveReportContainerConfig,
8605
- resolveAppContainerConfig: resolveReportAppContainerConfig
8606
- });
8607
-
8608
8335
  //#endregion
8609
8336
  //#region src/cli/commands/report/index.ts
8610
8337
  var report_default = define({
@@ -8613,11 +8340,20 @@ var report_default = define({
8613
8340
  subCommands: {
8614
8341
  apply: apply_default$3,
8615
8342
  capture: capture_default$4,
8616
- diff: diff_default$3
8343
+ diff: createDiffCommand({
8344
+ description: "Compare local report config with remote kintone app",
8345
+ args: reportArgs,
8346
+ spinnerMessage: "Comparing report settings...",
8347
+ multiAppSuccessMessage: "All report diffs completed successfully.",
8348
+ createContainer: createReportCliContainer,
8349
+ detectDiff: detectReportDiff,
8350
+ printResult: printReportDiffResult,
8351
+ resolveContainerConfig: resolveReportContainerConfig,
8352
+ resolveAppContainerConfig: resolveReportAppContainerConfig
8353
+ })
8617
8354
  },
8618
8355
  run: () => {}
8619
8356
  });
8620
-
8621
8357
  //#endregion
8622
8358
  //#region src/cli/commands/schema/capture.ts
8623
8359
  async function runCapture(container, schemaFilePath) {
@@ -8664,7 +8400,6 @@ var capture_default$3 = define({
8664
8400
  }
8665
8401
  }
8666
8402
  });
8667
-
8668
8403
  //#endregion
8669
8404
  //#region src/core/domain/formSchema/services/diffDetector.ts
8670
8405
  function isMapEqual(a, b) {
@@ -8733,7 +8468,6 @@ const DiffDetector = {
8733
8468
  return buildDiffResult(entries);
8734
8469
  }
8735
8470
  };
8736
-
8737
8471
  //#endregion
8738
8472
  //#region src/core/domain/formSchema/entity.ts
8739
8473
  const Schema = { create: (fields, layout) => {
@@ -8743,7 +8477,6 @@ const Schema = { create: (fields, layout) => {
8743
8477
  layout
8744
8478
  };
8745
8479
  } };
8746
-
8747
8480
  //#endregion
8748
8481
  //#region src/core/domain/formSchema/services/schemaParser.ts
8749
8482
  const VALID_UNIT_POSITIONS = new Set(["BEFORE", "AFTER"]);
@@ -9211,13 +8944,11 @@ const SchemaParser = { parse: (rawText) => {
9211
8944
  }
9212
8945
  return Schema.create(fieldMap, layout);
9213
8946
  } };
9214
-
9215
8947
  //#endregion
9216
8948
  //#region src/core/application/formSchema/parseSchema.ts
9217
8949
  function parseSchemaText(rawText) {
9218
8950
  return wrapBusinessRuleError(() => SchemaParser.parse(rawText));
9219
8951
  }
9220
-
9221
8952
  //#endregion
9222
8953
  //#region src/core/application/formSchema/detectDiff.ts
9223
8954
  function fieldPropertiesToDto(field) {
@@ -9268,7 +8999,6 @@ async function detectDiff({ container }) {
9268
8999
  hasLayoutChanges
9269
9000
  };
9270
9001
  }
9271
-
9272
9002
  //#endregion
9273
9003
  //#region src/cli/commands/schema/diff.ts
9274
9004
  async function runDiff(container) {
@@ -9313,7 +9043,6 @@ var diff_default$2 = define({
9313
9043
  }
9314
9044
  }
9315
9045
  });
9316
-
9317
9046
  //#endregion
9318
9047
  //#region src/core/adapters/kintone/formDumpReader.ts
9319
9048
  var KintoneFormDumpReader = class {
@@ -9339,7 +9068,6 @@ var KintoneFormDumpReader = class {
9339
9068
  }
9340
9069
  }
9341
9070
  };
9342
-
9343
9071
  //#endregion
9344
9072
  //#region src/core/adapters/local/dumpStorage.ts
9345
9073
  var LocalFileDumpStorage = class {
@@ -9370,7 +9098,6 @@ var LocalFileDumpStorage = class {
9370
9098
  }
9371
9099
  }
9372
9100
  };
9373
-
9374
9101
  //#endregion
9375
9102
  //#region src/core/application/container/dumpCli.ts
9376
9103
  function createDumpCliContainer(config) {
@@ -9379,14 +9106,12 @@ function createDumpCliContainer(config) {
9379
9106
  dumpStorage: new LocalFileDumpStorage(config.filePrefix, process.cwd())
9380
9107
  };
9381
9108
  }
9382
-
9383
9109
  //#endregion
9384
9110
  //#region src/core/application/formSchema/dumpForm.ts
9385
9111
  async function dumpForm({ container }) {
9386
9112
  const rawData = await container.formDumpReader.getRawFormData();
9387
9113
  await Promise.all([container.dumpStorage.saveFields(JSON.stringify(rawData.fields, null, 2)), container.dumpStorage.saveLayout(JSON.stringify(rawData.layout, null, 2))]);
9388
9114
  }
9389
-
9390
9115
  //#endregion
9391
9116
  //#region src/cli/commands/schema/dump.ts
9392
9117
  async function runSingleDump(config) {
@@ -9446,13 +9171,11 @@ var dump_default = define({
9446
9171
  }
9447
9172
  }
9448
9173
  });
9449
-
9450
9174
  //#endregion
9451
9175
  //#region src/core/application/formSchema/deployApp.ts
9452
9176
  async function deployApp({ container }) {
9453
9177
  await container.appDeployer.deploy();
9454
9178
  }
9455
-
9456
9179
  //#endregion
9457
9180
  //#region src/core/domain/formSchema/services/subtableFieldSplitter.ts
9458
9181
  function splitSubtableInnerFields(desired, current) {
@@ -9468,7 +9191,6 @@ function splitSubtableInnerFields(desired, current) {
9468
9191
  deletedInnerFieldCodes
9469
9192
  };
9470
9193
  }
9471
-
9472
9194
  //#endregion
9473
9195
  //#region src/core/domain/formSchema/services/schemaValidator.ts
9474
9196
  const SELECTION_TYPES = new Set([
@@ -9607,7 +9329,6 @@ const SchemaValidator = { validate: (schema) => {
9607
9329
  isValid: issues.every((i) => i.severity !== "error")
9608
9330
  };
9609
9331
  } };
9610
-
9611
9332
  //#endregion
9612
9333
  //#region src/core/application/formSchema/assertSchemaValid.ts
9613
9334
  function assertSchemaValid(schema) {
@@ -9617,7 +9338,6 @@ function assertSchemaValid(schema) {
9617
9338
  throw new ValidationError(ValidationErrorCode.InvalidInput, `Schema validation failed:\n ${messages}`);
9618
9339
  }
9619
9340
  }
9620
-
9621
9341
  //#endregion
9622
9342
  //#region src/core/application/formSchema/executeMigration.ts
9623
9343
  async function executeMigration({ container }) {
@@ -9667,7 +9387,6 @@ async function executeMigration({ container }) {
9667
9387
  }
9668
9388
  if (hasLayoutChanges) await container.formConfigurator.updateLayout(schema.layout);
9669
9389
  }
9670
-
9671
9390
  //#endregion
9672
9391
  //#region src/cli/commands/schema/migrate.ts
9673
9392
  async function runSingleMigrate(container, skipConfirm) {
@@ -9764,7 +9483,6 @@ var migrate_default = define({
9764
9483
  }
9765
9484
  }
9766
9485
  });
9767
-
9768
9486
  //#endregion
9769
9487
  //#region src/core/application/formSchema/forceOverrideForm.ts
9770
9488
  async function forceOverrideForm({ container }) {
@@ -9818,7 +9536,6 @@ async function forceOverrideForm({ container }) {
9818
9536
  if (toUpdate.length > 0) await container.formConfigurator.updateFields(toUpdate);
9819
9537
  await container.formConfigurator.updateLayout(schema.layout);
9820
9538
  }
9821
-
9822
9539
  //#endregion
9823
9540
  //#region src/core/application/formSchema/resetForm.ts
9824
9541
  async function resetForm({ container }) {
@@ -9832,7 +9549,6 @@ async function resetForm({ container }) {
9832
9549
  if (toDelete.length > 0) await container.formConfigurator.deleteFields(toDelete);
9833
9550
  await container.formConfigurator.updateLayout([]);
9834
9551
  }
9835
-
9836
9552
  //#endregion
9837
9553
  //#region src/cli/commands/schema/override.ts
9838
9554
  async function runSingleOverride(container, skipConfirm) {
@@ -9948,13 +9664,11 @@ var override_default = define({
9948
9664
  }
9949
9665
  }
9950
9666
  });
9951
-
9952
9667
  //#endregion
9953
9668
  //#region src/core/application/container/validateCli.ts
9954
9669
  function createValidateCliContainer(config) {
9955
9670
  return { schemaStorage: createLocalFileSchemaStorage(config.schemaFilePath) };
9956
9671
  }
9957
-
9958
9672
  //#endregion
9959
9673
  //#region src/core/application/formSchema/validateSchema.ts
9960
9674
  async function validateSchema({ container }) {
@@ -9975,7 +9689,6 @@ async function validateSchema({ container }) {
9975
9689
  fieldCount: schema.fields.size
9976
9690
  };
9977
9691
  }
9978
-
9979
9692
  //#endregion
9980
9693
  //#region src/cli/commands/schema/validate.ts
9981
9694
  const validateArgs = {
@@ -10021,42 +9734,6 @@ async function runValidate(schemaFilePath) {
10021
9734
  function resolveSchemaFilePath(values, appSchemaFile) {
10022
9735
  return values["schema-file"] ?? process.env.SCHEMA_FILE_PATH ?? appSchemaFile ?? "schema.yaml";
10023
9736
  }
10024
- var validate_default = define({
10025
- name: "validate",
10026
- description: "Validate schema file without connecting to kintone",
10027
- args: validateArgs,
10028
- run: async (ctx) => {
10029
- try {
10030
- const values = ctx.values;
10031
- await routeMultiApp(values, {
10032
- singleLegacy: async () => {
10033
- if (!await runValidate(resolveSchemaFilePath(values))) {
10034
- p.outro("Validation failed.");
10035
- process.exit(1);
10036
- }
10037
- p.outro("Validation passed.");
10038
- },
10039
- singleApp: async (app) => {
10040
- if (!await runValidate(resolveSchemaFilePath(values, app.schemaFile))) {
10041
- p.outro("Validation failed.");
10042
- process.exit(1);
10043
- }
10044
- p.outro("Validation passed.");
10045
- },
10046
- multiApp: async (plan) => {
10047
- await runMultiAppWithFailCheck(plan, async (app) => {
10048
- printAppHeader(app.name, app.appId);
10049
- const schemaFilePath = resolveSchemaFilePath(values, app.schemaFile);
10050
- if (!printValidationResult(await validateSchema({ container: createValidateCliContainer({ schemaFilePath }) }), schemaFilePath)) throw new ValidationError(ValidationErrorCode.InvalidInput, `Validation failed for app "${app.name}"`);
10051
- }, "All validations passed.");
10052
- }
10053
- });
10054
- } catch (error) {
10055
- handleCliError(error);
10056
- }
10057
- }
10058
- });
10059
-
10060
9737
  //#endregion
10061
9738
  //#region src/cli/commands/schema/index.ts
10062
9739
  var schema_default = define({
@@ -10067,12 +9744,45 @@ var schema_default = define({
10067
9744
  migrate: migrate_default,
10068
9745
  override: override_default,
10069
9746
  capture: capture_default$3,
10070
- validate: validate_default,
9747
+ validate: define({
9748
+ name: "validate",
9749
+ description: "Validate schema file without connecting to kintone",
9750
+ args: validateArgs,
9751
+ run: async (ctx) => {
9752
+ try {
9753
+ const values = ctx.values;
9754
+ await routeMultiApp(values, {
9755
+ singleLegacy: async () => {
9756
+ if (!await runValidate(resolveSchemaFilePath(values))) {
9757
+ p.outro("Validation failed.");
9758
+ process.exit(1);
9759
+ }
9760
+ p.outro("Validation passed.");
9761
+ },
9762
+ singleApp: async (app) => {
9763
+ if (!await runValidate(resolveSchemaFilePath(values, app.schemaFile))) {
9764
+ p.outro("Validation failed.");
9765
+ process.exit(1);
9766
+ }
9767
+ p.outro("Validation passed.");
9768
+ },
9769
+ multiApp: async (plan) => {
9770
+ await runMultiAppWithFailCheck(plan, async (app) => {
9771
+ printAppHeader(app.name, app.appId);
9772
+ const schemaFilePath = resolveSchemaFilePath(values, app.schemaFile);
9773
+ if (!printValidationResult(await validateSchema({ container: createValidateCliContainer({ schemaFilePath }) }), schemaFilePath)) throw new ValidationError(ValidationErrorCode.InvalidInput, `Validation failed for app "${app.name}"`);
9774
+ }, "All validations passed.");
9775
+ }
9776
+ });
9777
+ } catch (error) {
9778
+ handleCliError(error);
9779
+ }
9780
+ }
9781
+ }),
10071
9782
  dump: dump_default
10072
9783
  },
10073
9784
  run: () => {}
10074
9785
  });
10075
-
10076
9786
  //#endregion
10077
9787
  //#region src/core/domain/seedData/services/upsertPlanner.ts
10078
9788
  function recordsEqual(seed, existing, keyField) {
@@ -10116,7 +9826,6 @@ const UpsertPlanner = { plan: (key, seedRecords, existingRecords) => {
10116
9826
  unchanged
10117
9827
  };
10118
9828
  } };
10119
-
10120
9829
  //#endregion
10121
9830
  //#region src/core/domain/seedData/services/seedParser.ts
10122
9831
  function normalizeValue(value) {
@@ -10176,13 +9885,11 @@ const SeedParser = { parse: (rawText) => {
10176
9885
  records
10177
9886
  };
10178
9887
  } };
10179
-
10180
9888
  //#endregion
10181
9889
  //#region src/core/application/seedData/parseConfig.ts
10182
9890
  function parseSeedText(rawText) {
10183
9891
  return wrapBusinessRuleError(() => SeedParser.parse(rawText));
10184
9892
  }
10185
-
10186
9893
  //#endregion
10187
9894
  //#region src/core/application/seedData/upsertSeed.ts
10188
9895
  async function upsertSeed({ container, input }) {
@@ -10222,7 +9929,6 @@ async function upsertSeed({ container, input }) {
10222
9929
  total: plan.toAdd.length + plan.toUpdate.length + plan.unchanged
10223
9930
  };
10224
9931
  }
10225
-
10226
9932
  //#endregion
10227
9933
  //#region src/cli/commands/seed/config.ts
10228
9934
  const { resolveFilePath: resolveSeedFilePath, resolveContainerConfig: resolveSeedConfig, resolveAppContainerConfig: resolveSeedAppConfig } = createDomainConfigResolver({
@@ -10236,7 +9942,6 @@ const { resolveFilePath: resolveSeedFilePath, resolveContainerConfig: resolveSee
10236
9942
  seedFilePath: filePath
10237
9943
  })
10238
9944
  });
10239
-
10240
9945
  //#endregion
10241
9946
  //#region src/cli/commands/seed/apply.ts
10242
9947
  const seedApplyArgs = {
@@ -10319,7 +10024,6 @@ var apply_default$2 = define({
10319
10024
  }
10320
10025
  }
10321
10026
  });
10322
-
10323
10027
  //#endregion
10324
10028
  //#region src/cli/commands/seed/capture.ts
10325
10029
  const seedCaptureArgs = {
@@ -10353,35 +10057,6 @@ async function runSeedCapture(config, keyField) {
10353
10057
  if (!keyField) p.log.info("No key field specified. All records will be added on apply.");
10354
10058
  if (result.hasExistingSeed) p.log.warn("Existing seed file was overwritten.");
10355
10059
  }
10356
- var capture_default$2 = define({
10357
- name: "capture",
10358
- description: "Capture records from kintone app to seed file",
10359
- args: seedCaptureArgs,
10360
- run: async (ctx) => {
10361
- try {
10362
- const values = ctx.values;
10363
- const keyField = values["key-field"];
10364
- await routeMultiApp(values, {
10365
- singleLegacy: async () => {
10366
- await runSeedCapture(resolveSeedConfig(values), keyField);
10367
- },
10368
- singleApp: async (app, projectConfig) => {
10369
- await runSeedCapture(resolveSeedAppConfig(app, projectConfig, values), keyField);
10370
- },
10371
- multiApp: async (plan, projectConfig) => {
10372
- await runMultiAppWithFailCheck(plan, async (app) => {
10373
- const config = resolveSeedAppConfig(app, projectConfig, values);
10374
- printAppHeader(app.name, app.appId);
10375
- await runSeedCapture(config, keyField);
10376
- }, "All captures completed successfully.");
10377
- }
10378
- });
10379
- } catch (error) {
10380
- handleCliError(error);
10381
- }
10382
- }
10383
- });
10384
-
10385
10060
  //#endregion
10386
10061
  //#region src/cli/commands/seed/index.ts
10387
10062
  var seed_default = define({
@@ -10389,11 +10064,37 @@ var seed_default = define({
10389
10064
  description: "Manage kintone seed data (records)",
10390
10065
  subCommands: {
10391
10066
  apply: apply_default$2,
10392
- capture: capture_default$2
10067
+ capture: define({
10068
+ name: "capture",
10069
+ description: "Capture records from kintone app to seed file",
10070
+ args: seedCaptureArgs,
10071
+ run: async (ctx) => {
10072
+ try {
10073
+ const values = ctx.values;
10074
+ const keyField = values["key-field"];
10075
+ await routeMultiApp(values, {
10076
+ singleLegacy: async () => {
10077
+ await runSeedCapture(resolveSeedConfig(values), keyField);
10078
+ },
10079
+ singleApp: async (app, projectConfig) => {
10080
+ await runSeedCapture(resolveSeedAppConfig(app, projectConfig, values), keyField);
10081
+ },
10082
+ multiApp: async (plan, projectConfig) => {
10083
+ await runMultiAppWithFailCheck(plan, async (app) => {
10084
+ const config = resolveSeedAppConfig(app, projectConfig, values);
10085
+ printAppHeader(app.name, app.appId);
10086
+ await runSeedCapture(config, keyField);
10087
+ }, "All captures completed successfully.");
10088
+ }
10089
+ });
10090
+ } catch (error) {
10091
+ handleCliError(error);
10092
+ }
10093
+ }
10094
+ })
10393
10095
  },
10394
10096
  run: () => {}
10395
10097
  });
10396
-
10397
10098
  //#endregion
10398
10099
  //#region src/core/domain/generalSettings/services/configParser.ts
10399
10100
  function parseOptionalBoolean(parsed, fieldName) {
@@ -10502,13 +10203,11 @@ const GeneralSettingsConfigParser = { parse: (rawText) => {
10502
10203
  ...firstMonthOfFiscalYear !== void 0 ? { firstMonthOfFiscalYear } : {}
10503
10204
  };
10504
10205
  } };
10505
-
10506
10206
  //#endregion
10507
10207
  //#region src/core/application/generalSettings/parseConfig.ts
10508
10208
  function parseGeneralSettingsConfigText(rawText) {
10509
10209
  return wrapBusinessRuleError(() => GeneralSettingsConfigParser.parse(rawText));
10510
10210
  }
10511
-
10512
10211
  //#endregion
10513
10212
  //#region src/core/application/generalSettings/applyGeneralSettings.ts
10514
10213
  async function applyGeneralSettings({ container }) {
@@ -10525,7 +10224,6 @@ async function applyGeneralSettings({ container }) {
10525
10224
  notFoundMessage: "General settings config file not found"
10526
10225
  });
10527
10226
  }
10528
-
10529
10227
  //#endregion
10530
10228
  //#region src/cli/settingsConfig.ts
10531
10229
  const settingsArgs = {
@@ -10547,7 +10245,6 @@ const { resolveFilePath: resolveSettingsFilePath, resolveContainerConfig: resolv
10547
10245
  settingsFilePath: filePath
10548
10246
  })
10549
10247
  });
10550
-
10551
10248
  //#endregion
10552
10249
  //#region src/cli/commands/settings/apply.ts
10553
10250
  async function runSettings(config) {
@@ -10594,7 +10291,6 @@ var apply_default$1 = define({
10594
10291
  }
10595
10292
  }
10596
10293
  });
10597
-
10598
10294
  //#endregion
10599
10295
  //#region src/cli/commands/settings/capture.ts
10600
10296
  async function runCaptureSettings(config) {
@@ -10637,7 +10333,6 @@ var capture_default$1 = define({
10637
10333
  }
10638
10334
  }
10639
10335
  });
10640
-
10641
10336
  //#endregion
10642
10337
  //#region src/core/domain/generalSettings/services/diffDetector.ts
10643
10338
  const DEFAULT_STRING = "";
@@ -10699,7 +10394,6 @@ function compareConfigs(local, remote) {
10699
10394
  const GeneralSettingsDiffDetector = { detect: (local, remote) => {
10700
10395
  return buildDiffResult(compareConfigs(local, remote));
10701
10396
  } };
10702
-
10703
10397
  //#endregion
10704
10398
  //#region src/core/application/generalSettings/detectGeneralSettingsDiff.ts
10705
10399
  async function detectGeneralSettingsDiff({ container }) {
@@ -10711,21 +10405,6 @@ async function detectGeneralSettingsDiff({ container }) {
10711
10405
  notFoundMessage: "General settings config file not found"
10712
10406
  });
10713
10407
  }
10714
-
10715
- //#endregion
10716
- //#region src/cli/commands/settings/diff.ts
10717
- var diff_default$1 = createDiffCommand({
10718
- description: "Compare local general settings config with remote kintone app",
10719
- args: settingsArgs,
10720
- spinnerMessage: "Comparing general settings...",
10721
- multiAppSuccessMessage: "All general settings diffs completed successfully.",
10722
- createContainer: createGeneralSettingsCliContainer,
10723
- detectDiff: detectGeneralSettingsDiff,
10724
- printResult: printGeneralSettingsDiffResult,
10725
- resolveContainerConfig: resolveSettingsContainerConfig,
10726
- resolveAppContainerConfig: resolveSettingsAppContainerConfig
10727
- });
10728
-
10729
10408
  //#endregion
10730
10409
  //#region src/cli/commands/settings/index.ts
10731
10410
  var settings_default = define({
@@ -10734,11 +10413,20 @@ var settings_default = define({
10734
10413
  subCommands: {
10735
10414
  apply: apply_default$1,
10736
10415
  capture: capture_default$1,
10737
- diff: diff_default$1
10416
+ diff: createDiffCommand({
10417
+ description: "Compare local general settings config with remote kintone app",
10418
+ args: settingsArgs,
10419
+ spinnerMessage: "Comparing general settings...",
10420
+ multiAppSuccessMessage: "All general settings diffs completed successfully.",
10421
+ createContainer: createGeneralSettingsCliContainer,
10422
+ detectDiff: detectGeneralSettingsDiff,
10423
+ printResult: printGeneralSettingsDiffResult,
10424
+ resolveContainerConfig: resolveSettingsContainerConfig,
10425
+ resolveAppContainerConfig: resolveSettingsAppContainerConfig
10426
+ })
10738
10427
  },
10739
10428
  run: () => {}
10740
10429
  });
10741
-
10742
10430
  //#endregion
10743
10431
  //#region src/core/domain/view/services/configParser.ts
10744
10432
  function parseDeviceType(name, raw) {
@@ -10787,13 +10475,11 @@ const ViewConfigParser = { parse: (rawText) => {
10787
10475
  }
10788
10476
  return { views };
10789
10477
  } };
10790
-
10791
10478
  //#endregion
10792
10479
  //#region src/core/application/view/parseConfig.ts
10793
10480
  function parseViewConfigText(rawText) {
10794
10481
  return wrapBusinessRuleError(() => ViewConfigParser.parse(rawText));
10795
10482
  }
10796
-
10797
10483
  //#endregion
10798
10484
  //#region src/core/application/view/applyView.ts
10799
10485
  async function applyView({ container }) {
@@ -10812,7 +10498,6 @@ async function applyView({ container }) {
10812
10498
  });
10813
10499
  return { skippedBuiltinViews };
10814
10500
  }
10815
-
10816
10501
  //#endregion
10817
10502
  //#region src/cli/viewConfig.ts
10818
10503
  const viewArgs = {
@@ -10834,7 +10519,6 @@ const { resolveFilePath: resolveViewFilePath, resolveContainerConfig: resolveVie
10834
10519
  viewFilePath: filePath
10835
10520
  })
10836
10521
  });
10837
-
10838
10522
  //#endregion
10839
10523
  //#region src/cli/commands/view/apply.ts
10840
10524
  async function runView(config) {
@@ -10882,7 +10566,6 @@ var apply_default = define({
10882
10566
  }
10883
10567
  }
10884
10568
  });
10885
-
10886
10569
  //#endregion
10887
10570
  //#region src/cli/commands/view/capture.ts
10888
10571
  async function runCaptureView(config) {
@@ -10925,7 +10608,6 @@ var capture_default = define({
10925
10608
  }
10926
10609
  }
10927
10610
  });
10928
-
10929
10611
  //#endregion
10930
10612
  //#region src/core/domain/view/services/diffDetector.ts
10931
10613
  function describeChanges(local, remote) {
@@ -10965,7 +10647,6 @@ const ViewDiffDetector = { detect: (localViews, remoteViews) => {
10965
10647
  })
10966
10648
  }));
10967
10649
  } };
10968
-
10969
10650
  //#endregion
10970
10651
  //#region src/core/application/view/detectViewDiff.ts
10971
10652
  async function detectViewDiff({ container }) {
@@ -10977,21 +10658,6 @@ async function detectViewDiff({ container }) {
10977
10658
  notFoundMessage: "View config file not found"
10978
10659
  });
10979
10660
  }
10980
-
10981
- //#endregion
10982
- //#region src/cli/commands/view/diff.ts
10983
- var diff_default = createDiffCommand({
10984
- description: "Compare local view config with remote kintone app",
10985
- args: viewArgs,
10986
- spinnerMessage: "Comparing view settings...",
10987
- multiAppSuccessMessage: "All view diffs completed successfully.",
10988
- createContainer: createViewCliContainer,
10989
- detectDiff: detectViewDiff,
10990
- printResult: printViewDiffResult,
10991
- resolveContainerConfig: resolveViewContainerConfig,
10992
- resolveAppContainerConfig: resolveViewAppContainerConfig
10993
- });
10994
-
10995
10661
  //#endregion
10996
10662
  //#region src/cli/commands/view/index.ts
10997
10663
  var view_default = define({
@@ -11000,11 +10666,20 @@ var view_default = define({
11000
10666
  subCommands: {
11001
10667
  apply: apply_default,
11002
10668
  capture: capture_default,
11003
- diff: diff_default
10669
+ diff: createDiffCommand({
10670
+ description: "Compare local view config with remote kintone app",
10671
+ args: viewArgs,
10672
+ spinnerMessage: "Comparing view settings...",
10673
+ multiAppSuccessMessage: "All view diffs completed successfully.",
10674
+ createContainer: createViewCliContainer,
10675
+ detectDiff: detectViewDiff,
10676
+ printResult: printViewDiffResult,
10677
+ resolveContainerConfig: resolveViewContainerConfig,
10678
+ resolveAppContainerConfig: resolveViewAppContainerConfig
10679
+ })
11004
10680
  },
11005
10681
  run: () => {}
11006
10682
  });
11007
-
11008
10683
  //#endregion
11009
10684
  //#region src/cli/index.ts
11010
10685
  function loadVersion() {
@@ -11040,7 +10715,7 @@ await cli(process.argv.slice(2), main, {
11040
10715
  plugin: plugin_default
11041
10716
  }
11042
10717
  });
11043
-
11044
10718
  //#endregion
11045
- export { };
10719
+ export {};
10720
+
11046
10721
  //# sourceMappingURL=index.mjs.map