docxmlater 6.2.1 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/core/Document.d.ts +11 -0
  2. package/dist/core/Document.d.ts.map +1 -1
  3. package/dist/core/Document.js +44 -8
  4. package/dist/core/Document.js.map +1 -1
  5. package/dist/core/DocumentContent.d.ts +44 -0
  6. package/dist/core/DocumentContent.d.ts.map +1 -0
  7. package/dist/core/DocumentContent.js +202 -0
  8. package/dist/core/DocumentContent.js.map +1 -0
  9. package/dist/core/DocumentFormatting.d.ts +36 -0
  10. package/dist/core/DocumentFormatting.d.ts.map +1 -0
  11. package/dist/core/DocumentFormatting.js +131 -0
  12. package/dist/core/DocumentFormatting.js.map +1 -0
  13. package/dist/core/DocumentGenerator.d.ts +5 -1
  14. package/dist/core/DocumentGenerator.d.ts.map +1 -1
  15. package/dist/core/DocumentGenerator.js +24 -5
  16. package/dist/core/DocumentGenerator.js.map +1 -1
  17. package/dist/core/DocumentMetadata.d.ts +75 -0
  18. package/dist/core/DocumentMetadata.d.ts.map +1 -0
  19. package/dist/core/DocumentMetadata.js +195 -0
  20. package/dist/core/DocumentMetadata.js.map +1 -0
  21. package/dist/core/DocumentParser.d.ts.map +1 -1
  22. package/dist/core/DocumentParser.js +47 -12
  23. package/dist/core/DocumentParser.js.map +1 -1
  24. package/dist/core/DocumentTracking.d.ts +50 -0
  25. package/dist/core/DocumentTracking.d.ts.map +1 -0
  26. package/dist/core/DocumentTracking.js +151 -0
  27. package/dist/core/DocumentTracking.js.map +1 -0
  28. package/dist/core/Relationship.d.ts +3 -3
  29. package/dist/core/Relationship.d.ts.map +1 -1
  30. package/dist/core/Relationship.js +7 -7
  31. package/dist/core/Relationship.js.map +1 -1
  32. package/dist/elements/CommonTypes.d.ts +56 -0
  33. package/dist/elements/CommonTypes.d.ts.map +1 -0
  34. package/dist/elements/CommonTypes.js +79 -0
  35. package/dist/elements/CommonTypes.js.map +1 -0
  36. package/dist/elements/Field.d.ts +4 -0
  37. package/dist/elements/Field.d.ts.map +1 -1
  38. package/dist/elements/Field.js +18 -0
  39. package/dist/elements/Field.js.map +1 -1
  40. package/dist/elements/Image.d.ts +5 -0
  41. package/dist/elements/Image.d.ts.map +1 -1
  42. package/dist/elements/Image.js +41 -7
  43. package/dist/elements/Image.js.map +1 -1
  44. package/dist/elements/ImageManager.d.ts.map +1 -1
  45. package/dist/elements/ImageManager.js +7 -8
  46. package/dist/elements/ImageManager.js.map +1 -1
  47. package/dist/elements/Paragraph.d.ts +18 -9
  48. package/dist/elements/Paragraph.d.ts.map +1 -1
  49. package/dist/elements/Paragraph.js +36 -0
  50. package/dist/elements/Paragraph.js.map +1 -1
  51. package/dist/elements/PropertyChangeTypes.d.ts +61 -0
  52. package/dist/elements/PropertyChangeTypes.d.ts.map +1 -0
  53. package/dist/elements/PropertyChangeTypes.js +60 -0
  54. package/dist/elements/PropertyChangeTypes.js.map +1 -0
  55. package/dist/elements/Revision.d.ts +6 -1
  56. package/dist/elements/Revision.d.ts.map +1 -1
  57. package/dist/elements/Revision.js +9 -0
  58. package/dist/elements/Revision.js.map +1 -1
  59. package/dist/elements/RevisionManager.d.ts +18 -0
  60. package/dist/elements/RevisionManager.d.ts.map +1 -1
  61. package/dist/elements/RevisionManager.js +150 -5
  62. package/dist/elements/RevisionManager.js.map +1 -1
  63. package/dist/elements/Run.d.ts +9 -2
  64. package/dist/elements/Run.d.ts.map +1 -1
  65. package/dist/elements/Run.js +91 -2
  66. package/dist/elements/Run.js.map +1 -1
  67. package/dist/elements/Table.d.ts +7 -6
  68. package/dist/elements/Table.d.ts.map +1 -1
  69. package/dist/elements/Table.js.map +1 -1
  70. package/dist/elements/TableCell.d.ts +4 -2
  71. package/dist/elements/TableCell.d.ts.map +1 -1
  72. package/dist/elements/TableCell.js +16 -0
  73. package/dist/elements/TableCell.js.map +1 -1
  74. package/dist/elements/TableRow.d.ts +9 -2
  75. package/dist/elements/TableRow.d.ts.map +1 -1
  76. package/dist/elements/TableRow.js +26 -0
  77. package/dist/elements/TableRow.js.map +1 -1
  78. package/dist/formatting/NumberingLevel.d.ts +6 -1
  79. package/dist/formatting/NumberingLevel.d.ts.map +1 -1
  80. package/dist/formatting/NumberingLevel.js +23 -2
  81. package/dist/formatting/NumberingLevel.js.map +1 -1
  82. package/dist/index.d.ts +12 -5
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +45 -3
  85. package/dist/index.js.map +1 -1
  86. package/dist/managers/DrawingManager.d.ts +4 -0
  87. package/dist/managers/DrawingManager.d.ts.map +1 -1
  88. package/dist/managers/DrawingManager.js +33 -28
  89. package/dist/managers/DrawingManager.js.map +1 -1
  90. package/dist/tracking/DocumentTrackingContext.js +1 -1
  91. package/dist/tracking/DocumentTrackingContext.js.map +1 -1
  92. package/dist/utils/ChangelogGenerator.d.ts +26 -1
  93. package/dist/utils/ChangelogGenerator.d.ts.map +1 -1
  94. package/dist/utils/ChangelogGenerator.js +420 -6
  95. package/dist/utils/ChangelogGenerator.js.map +1 -1
  96. package/dist/utils/logger.d.ts +10 -1
  97. package/dist/utils/logger.d.ts.map +1 -1
  98. package/dist/utils/logger.js +86 -8
  99. package/dist/utils/logger.js.map +1 -1
  100. package/dist/validation/RevisionAutoFixer.d.ts +16 -0
  101. package/dist/validation/RevisionAutoFixer.d.ts.map +1 -0
  102. package/dist/validation/RevisionAutoFixer.js +344 -0
  103. package/dist/validation/RevisionAutoFixer.js.map +1 -0
  104. package/dist/validation/RevisionValidator.d.ts +18 -0
  105. package/dist/validation/RevisionValidator.d.ts.map +1 -0
  106. package/dist/validation/RevisionValidator.js +246 -0
  107. package/dist/validation/RevisionValidator.js.map +1 -0
  108. package/dist/validation/ValidationRules.d.ts +139 -0
  109. package/dist/validation/ValidationRules.d.ts.map +1 -0
  110. package/dist/validation/ValidationRules.js +99 -0
  111. package/dist/validation/ValidationRules.js.map +1 -0
  112. package/dist/validation/index.d.ts +4 -0
  113. package/dist/validation/index.d.ts.map +1 -0
  114. package/dist/validation/index.js +14 -0
  115. package/dist/validation/index.js.map +1 -0
  116. package/dist/xml/XMLBuilder.d.ts +1 -0
  117. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  118. package/dist/xml/XMLBuilder.js +25 -23
  119. package/dist/xml/XMLBuilder.js.map +1 -1
  120. package/dist/xml/XMLParser.d.ts.map +1 -1
  121. package/dist/xml/XMLParser.js +7 -0
  122. package/dist/xml/XMLParser.js.map +1 -1
  123. package/dist/zip/ZipHandler.d.ts +2 -0
  124. package/dist/zip/ZipHandler.d.ts.map +1 -1
  125. package/dist/zip/ZipHandler.js +46 -26
  126. package/dist/zip/ZipHandler.js.map +1 -1
  127. package/dist/zip/ZipWriter.d.ts +1 -0
  128. package/dist/zip/ZipWriter.d.ts.map +1 -1
  129. package/dist/zip/ZipWriter.js +19 -0
  130. package/dist/zip/ZipWriter.js.map +1 -1
  131. package/dist/zip/types.d.ts +6 -0
  132. package/dist/zip/types.d.ts.map +1 -1
  133. package/dist/zip/types.js +5 -1
  134. package/dist/zip/types.js.map +1 -1
  135. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAQA,oBAAY,QAAQ;IAElB,KAAK,UAAU;IAEf,IAAI,SAAS;IAEb,IAAI,SAAS;IAEb,KAAK,UAAU;CAChB;AAKD,MAAM,WAAW,QAAQ;IAEvB,SAAS,EAAE,IAAI,CAAC;IAEhB,KAAK,EAAE,QAAQ,CAAC;IAEhB,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,WAAW,OAAO;IAMtB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAO5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAO3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAO3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;CAC7D;AAMD,qBAAa,aAAc,YAAW,OAAO;IAC/B,OAAO,CAAC,QAAQ;gBAAR,QAAQ,GAAE,QAAwB;IAEtD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM1D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM1D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM3D,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,aAAa;CAMtB;AAMD,qBAAa,YAAa,YAAW,OAAO;IAC1C,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;CAGd;AAMD,qBAAa,gBAAiB,YAAW,OAAO;IAC9C,OAAO,CAAC,IAAI,CAAkB;IAE9B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI1D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI1D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAI3D,OAAO,CAAC,MAAM;IAYd,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC;IAOlC,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IAOxD,KAAK,IAAI,IAAI;IAOb,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM;CAMnC;AAMD,eAAO,MAAM,aAAa,eAAmC,CAAC;AAQ9D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAe3E"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defaultLogger = exports.CollectingLogger = exports.SilentLogger = exports.ConsoleLogger = exports.LogLevel = void 0;
4
4
  exports.createScopedLogger = createScopedLogger;
5
+ exports.parseLogLevel = parseLogLevel;
6
+ exports.createLoggerFromEnv = createLoggerFromEnv;
7
+ exports.setGlobalLogger = setGlobalLogger;
8
+ exports.getGlobalLogger = getGlobalLogger;
9
+ exports.resetGlobalLogger = resetGlobalLogger;
5
10
  var LogLevel;
6
11
  (function (LogLevel) {
7
12
  LogLevel["DEBUG"] = "debug";
@@ -11,27 +16,29 @@ var LogLevel;
11
16
  })(LogLevel || (exports.LogLevel = LogLevel = {}));
12
17
  class ConsoleLogger {
13
18
  minLevel;
14
- constructor(minLevel = LogLevel.WARN) {
19
+ showTimestamp;
20
+ constructor(minLevel = LogLevel.WARN, options) {
15
21
  this.minLevel = minLevel;
22
+ this.showTimestamp = options?.showTimestamp ?? true;
16
23
  }
17
24
  debug(message, context) {
18
25
  if (this.shouldLog(LogLevel.DEBUG)) {
19
- console.debug(this.formatMessage(message, context));
26
+ console.debug(this.formatMessage(LogLevel.DEBUG, message, context));
20
27
  }
21
28
  }
22
29
  info(message, context) {
23
30
  if (this.shouldLog(LogLevel.INFO)) {
24
- console.info(this.formatMessage(message, context));
31
+ console.info(this.formatMessage(LogLevel.INFO, message, context));
25
32
  }
26
33
  }
27
34
  warn(message, context) {
28
35
  if (this.shouldLog(LogLevel.WARN)) {
29
- console.warn(this.formatMessage(message, context));
36
+ console.warn(this.formatMessage(LogLevel.WARN, message, context));
30
37
  }
31
38
  }
32
39
  error(message, context) {
33
40
  if (this.shouldLog(LogLevel.ERROR)) {
34
- console.error(this.formatMessage(message, context));
41
+ console.error(this.formatMessage(LogLevel.ERROR, message, context));
35
42
  }
36
43
  }
37
44
  shouldLog(level) {
@@ -40,11 +47,45 @@ class ConsoleLogger {
40
47
  const currentIndex = levels.indexOf(level);
41
48
  return currentIndex >= minIndex;
42
49
  }
43
- formatMessage(message, context) {
50
+ formatMessage(level, message, context) {
51
+ const parts = [];
52
+ if (this.showTimestamp) {
53
+ const timestamp = new Date().toISOString().slice(11, 23);
54
+ parts.push(timestamp);
55
+ }
56
+ parts.push(`[${level.toUpperCase().padEnd(5)}]`);
57
+ if (context?.source) {
58
+ parts.push(`[${context.source}]`);
59
+ }
60
+ parts.push(message);
44
61
  if (context && Object.keys(context).length > 0) {
45
- return `${message} ${JSON.stringify(context)}`;
62
+ const contextWithoutSource = { ...context };
63
+ delete contextWithoutSource.source;
64
+ if (Object.keys(contextWithoutSource).length > 0) {
65
+ const contextStr = this.formatContext(contextWithoutSource);
66
+ if (contextStr) {
67
+ parts.push(contextStr);
68
+ }
69
+ }
70
+ }
71
+ return parts.join(' ');
72
+ }
73
+ formatContext(context) {
74
+ const pairs = [];
75
+ for (const [key, value] of Object.entries(context)) {
76
+ if (value === undefined || value === null)
77
+ continue;
78
+ if (typeof value === 'object' && !Array.isArray(value)) {
79
+ pairs.push(`${key}=${JSON.stringify(value)}`);
80
+ }
81
+ else if (Array.isArray(value)) {
82
+ pairs.push(`${key}=[${value.length}]`);
83
+ }
84
+ else {
85
+ pairs.push(`${key}=${value}`);
86
+ }
46
87
  }
47
- return message;
88
+ return pairs.length > 0 ? pairs.join(' ') : '';
48
89
  }
49
90
  }
50
91
  exports.ConsoleLogger = ConsoleLogger;
@@ -115,4 +156,41 @@ function createScopedLogger(logger, source) {
115
156
  },
116
157
  };
117
158
  }
159
+ function parseLogLevel(level) {
160
+ if (!level)
161
+ return undefined;
162
+ const normalized = level.toLowerCase();
163
+ switch (normalized) {
164
+ case 'debug': return LogLevel.DEBUG;
165
+ case 'info': return LogLevel.INFO;
166
+ case 'warn': return LogLevel.WARN;
167
+ case 'error': return LogLevel.ERROR;
168
+ default: return undefined;
169
+ }
170
+ }
171
+ function createLoggerFromEnv() {
172
+ const debugEnv = process.env.DEBUG || '';
173
+ if (debugEnv.includes('docxmlater')) {
174
+ return new ConsoleLogger(LogLevel.DEBUG);
175
+ }
176
+ const envLevel = process.env.DOCXMLATER_LOG_LEVEL?.toLowerCase();
177
+ if (envLevel === 'silent') {
178
+ return new SilentLogger();
179
+ }
180
+ const parsedLevel = parseLogLevel(envLevel);
181
+ if (parsedLevel) {
182
+ return new ConsoleLogger(parsedLevel);
183
+ }
184
+ return new SilentLogger();
185
+ }
186
+ let globalLogger = createLoggerFromEnv();
187
+ function setGlobalLogger(logger) {
188
+ globalLogger = logger;
189
+ }
190
+ function getGlobalLogger() {
191
+ return globalLogger;
192
+ }
193
+ function resetGlobalLogger() {
194
+ globalLogger = createLoggerFromEnv();
195
+ }
118
196
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Document } from '../core/Document';
2
+ import type { Revision } from '../elements/Revision';
3
+ import { AutoFixOptions, AutoFixResult, FixAction } from './ValidationRules';
4
+ export declare class RevisionAutoFixer {
5
+ static fix(doc: Document, options?: AutoFixOptions): AutoFixResult;
6
+ static fixDuplicateIds(revisions: Revision[], dryRun?: boolean): FixAction[];
7
+ static fixMissingAuthors(revisions: Revision[], defaultAuthor: string, dryRun?: boolean): FixAction[];
8
+ static fixMissingDates(revisions: Revision[], dryRun?: boolean): FixAction[];
9
+ static fixInvalidDates(revisions: Revision[], dryRun?: boolean): FixAction[];
10
+ static fixOrphanedMoveMarkers(revisionManager: any, revisions: Revision[], dryRun?: boolean): FixAction[];
11
+ static fixEmptyRevisions(revisionManager: any, revisions: Revision[], dryRun?: boolean): FixAction[];
12
+ static fixNonSequentialIds(revisions: Revision[], dryRun?: boolean): FixAction[];
13
+ static preview(doc: Document, options?: Omit<AutoFixOptions, 'dryRun'>): AutoFixResult;
14
+ static formatResult(result: AutoFixResult): string;
15
+ }
16
+ //# sourceMappingURL=RevisionAutoFixer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevisionAutoFixer.d.ts","sourceRoot":"","sources":["../../src/validation/RevisionAutoFixer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAEL,cAAc,EACd,aAAa,EACb,SAAS,EAEV,MAAM,mBAAmB,CAAC;AAmB3B,qBAAa,iBAAiB;IAQ5B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa;IA+FlE,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE;IA4C5E,MAAM,CAAC,iBAAiB,CACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,OAAO,GACf,SAAS,EAAE;IAuCd,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE;IAwC5E,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE;IAyC5E,MAAM,CAAC,sBAAsB,CAC3B,eAAe,EAAE,GAAG,EACpB,SAAS,EAAE,QAAQ,EAAE,EACrB,MAAM,CAAC,EAAE,OAAO,GACf,SAAS,EAAE;IA8Ed,MAAM,CAAC,iBAAiB,CACtB,eAAe,EAAE,GAAG,EACpB,SAAS,EAAE,QAAQ,EAAE,EACrB,MAAM,CAAC,EAAE,OAAO,GACf,SAAS,EAAE;IA0Dd,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE;IAyDhF,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,aAAa;IAUtF,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM;CAuBnD"}
@@ -0,0 +1,344 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RevisionAutoFixer = void 0;
4
+ const ValidationRules_1 = require("./ValidationRules");
5
+ const RevisionValidator_1 = require("./RevisionValidator");
6
+ class RevisionAutoFixer {
7
+ static fix(doc, options) {
8
+ const actions = [];
9
+ const errors = [];
10
+ const revisionManager = doc.getRevisionManager();
11
+ if (!revisionManager) {
12
+ return {
13
+ allFixed: true,
14
+ issuesFixed: 0,
15
+ issuesRemaining: 0,
16
+ actions: [],
17
+ errors: [],
18
+ };
19
+ }
20
+ const revisions = revisionManager.getAllRevisions();
21
+ const skipRules = new Set(options?.skipRules || []);
22
+ const onlyRules = options?.onlyRules ? new Set(options.onlyRules) : null;
23
+ const shouldProcess = (ruleCode) => {
24
+ if (skipRules.has(ruleCode))
25
+ return false;
26
+ if (onlyRules && !onlyRules.has(ruleCode))
27
+ return false;
28
+ return true;
29
+ };
30
+ try {
31
+ if (shouldProcess('REV001')) {
32
+ actions.push(...this.fixDuplicateIds(revisions, options?.dryRun));
33
+ }
34
+ if (shouldProcess('REV002')) {
35
+ const defaultAuthor = options?.defaultAuthor || 'Unknown Author';
36
+ actions.push(...this.fixMissingAuthors(revisions, defaultAuthor, options?.dryRun));
37
+ }
38
+ if (shouldProcess('REV003') || shouldProcess('REV004')) {
39
+ actions.push(...this.fixOrphanedMoveMarkers(revisionManager, revisions, options?.dryRun));
40
+ }
41
+ if (shouldProcess('REV101')) {
42
+ actions.push(...this.fixMissingDates(revisions, options?.dryRun));
43
+ }
44
+ if (shouldProcess('REV102')) {
45
+ actions.push(...this.fixInvalidDates(revisions, options?.dryRun));
46
+ }
47
+ if (shouldProcess('REV103')) {
48
+ actions.push(...this.fixEmptyRevisions(revisionManager, revisions, options?.dryRun));
49
+ }
50
+ if (shouldProcess('REV104')) {
51
+ actions.push(...this.fixNonSequentialIds(revisions, options?.dryRun));
52
+ }
53
+ }
54
+ catch (error) {
55
+ errors.push(`Fix error: ${error instanceof Error ? error.message : String(error)}`);
56
+ }
57
+ const postValidation = RevisionValidator_1.RevisionValidator.validate(doc);
58
+ if (options?.verbose) {
59
+ for (const action of actions) {
60
+ console.log(`[AutoFix] ${action.action}: ${action.issue.code}`);
61
+ }
62
+ }
63
+ return {
64
+ allFixed: postValidation.valid,
65
+ issuesFixed: actions.filter(a => a.success).length,
66
+ issuesRemaining: postValidation.summary.errorCount + postValidation.summary.warningCount,
67
+ actions,
68
+ errors,
69
+ };
70
+ }
71
+ static fixDuplicateIds(revisions, dryRun) {
72
+ const actions = [];
73
+ const usedIds = new Set();
74
+ let nextId = Math.max(...revisions.map(r => r.getId()), 0) + 1;
75
+ for (const rev of revisions) {
76
+ const id = rev.getId();
77
+ if (usedIds.has(id)) {
78
+ const newId = nextId++;
79
+ const issue = {
80
+ code: ValidationRules_1.REVISION_RULES.DUPLICATE_ID.code,
81
+ severity: 'error',
82
+ message: `Duplicate ID ${id}`,
83
+ location: { revisionId: id },
84
+ autoFixable: true,
85
+ };
86
+ actions.push({
87
+ issue,
88
+ action: `Reassigned duplicate ID ${id} to ${newId}`,
89
+ before: id,
90
+ after: newId,
91
+ success: true,
92
+ });
93
+ if (!dryRun) {
94
+ rev.setId(newId);
95
+ }
96
+ }
97
+ usedIds.add(rev.getId());
98
+ }
99
+ return actions;
100
+ }
101
+ static fixMissingAuthors(revisions, defaultAuthor, dryRun) {
102
+ const actions = [];
103
+ for (const rev of revisions) {
104
+ const author = rev.getAuthor();
105
+ if (!author || author.trim() === '') {
106
+ const issue = {
107
+ code: ValidationRules_1.REVISION_RULES.MISSING_AUTHOR.code,
108
+ severity: 'error',
109
+ message: `Missing author for revision ${rev.getId()}`,
110
+ location: { revisionId: rev.getId() },
111
+ autoFixable: true,
112
+ };
113
+ actions.push({
114
+ issue,
115
+ action: `Set author to "${defaultAuthor}" for revision ${rev.getId()}`,
116
+ before: author,
117
+ after: defaultAuthor,
118
+ success: true,
119
+ });
120
+ if (!dryRun) {
121
+ rev.setAuthor(defaultAuthor);
122
+ }
123
+ }
124
+ }
125
+ return actions;
126
+ }
127
+ static fixMissingDates(revisions, dryRun) {
128
+ const actions = [];
129
+ const now = new Date();
130
+ for (const rev of revisions) {
131
+ const date = rev.getDate();
132
+ if (!date) {
133
+ const issue = {
134
+ code: ValidationRules_1.REVISION_RULES.MISSING_DATE.code,
135
+ severity: 'warning',
136
+ message: `Missing date for revision ${rev.getId()}`,
137
+ location: { revisionId: rev.getId() },
138
+ autoFixable: true,
139
+ };
140
+ actions.push({
141
+ issue,
142
+ action: `Set date to ${now.toISOString()} for revision ${rev.getId()}`,
143
+ before: null,
144
+ after: now,
145
+ success: true,
146
+ });
147
+ if (!dryRun) {
148
+ rev.setDate(now);
149
+ }
150
+ }
151
+ }
152
+ return actions;
153
+ }
154
+ static fixInvalidDates(revisions, dryRun) {
155
+ const actions = [];
156
+ const now = new Date();
157
+ for (const rev of revisions) {
158
+ const date = rev.getDate();
159
+ if (date && isNaN(date.getTime())) {
160
+ const issue = {
161
+ code: ValidationRules_1.REVISION_RULES.INVALID_DATE_FORMAT.code,
162
+ severity: 'warning',
163
+ message: `Invalid date for revision ${rev.getId()}`,
164
+ location: { revisionId: rev.getId() },
165
+ autoFixable: true,
166
+ };
167
+ actions.push({
168
+ issue,
169
+ action: `Replaced invalid date with ${now.toISOString()} for revision ${rev.getId()}`,
170
+ before: date,
171
+ after: now,
172
+ success: true,
173
+ });
174
+ if (!dryRun) {
175
+ rev.setDate(now);
176
+ }
177
+ }
178
+ }
179
+ return actions;
180
+ }
181
+ static fixOrphanedMoveMarkers(revisionManager, revisions, dryRun) {
182
+ const actions = [];
183
+ const moveFromIds = new Map();
184
+ const moveToIds = new Map();
185
+ for (const rev of revisions) {
186
+ const moveId = rev.getMoveId();
187
+ if (!moveId)
188
+ continue;
189
+ if (rev.getType() === 'moveFrom') {
190
+ moveFromIds.set(moveId, rev);
191
+ }
192
+ else if (rev.getType() === 'moveTo') {
193
+ moveToIds.set(moveId, rev);
194
+ }
195
+ }
196
+ for (const [moveId, rev] of moveFromIds) {
197
+ if (!moveToIds.has(moveId)) {
198
+ const issue = {
199
+ code: ValidationRules_1.REVISION_RULES.ORPHANED_MOVE_FROM.code,
200
+ severity: 'error',
201
+ message: `Orphaned moveFrom with moveId="${moveId}"`,
202
+ location: { revisionId: rev.getId() },
203
+ autoFixable: true,
204
+ };
205
+ actions.push({
206
+ issue,
207
+ action: `Removed orphaned moveFrom (ID: ${rev.getId()}, moveId: ${moveId})`,
208
+ before: { type: 'moveFrom', moveId },
209
+ after: null,
210
+ success: true,
211
+ });
212
+ if (!dryRun) {
213
+ revisionManager.removeById(rev.getId());
214
+ }
215
+ }
216
+ }
217
+ for (const [moveId, rev] of moveToIds) {
218
+ if (!moveFromIds.has(moveId)) {
219
+ const issue = {
220
+ code: ValidationRules_1.REVISION_RULES.ORPHANED_MOVE_TO.code,
221
+ severity: 'error',
222
+ message: `Orphaned moveTo with moveId="${moveId}"`,
223
+ location: { revisionId: rev.getId() },
224
+ autoFixable: true,
225
+ };
226
+ actions.push({
227
+ issue,
228
+ action: `Removed orphaned moveTo (ID: ${rev.getId()}, moveId: ${moveId})`,
229
+ before: { type: 'moveTo', moveId },
230
+ after: null,
231
+ success: true,
232
+ });
233
+ if (!dryRun) {
234
+ revisionManager.removeById(rev.getId());
235
+ }
236
+ }
237
+ }
238
+ return actions;
239
+ }
240
+ static fixEmptyRevisions(revisionManager, revisions, dryRun) {
241
+ const actions = [];
242
+ const propertyChangeTypes = [
243
+ 'runPropertiesChange',
244
+ 'paragraphPropertiesChange',
245
+ 'tablePropertiesChange',
246
+ 'tableExceptionPropertiesChange',
247
+ 'tableRowPropertiesChange',
248
+ 'tableCellPropertiesChange',
249
+ 'sectionPropertiesChange',
250
+ 'numberingChange',
251
+ ];
252
+ for (const rev of revisions) {
253
+ const type = rev.getType();
254
+ if (propertyChangeTypes.includes(type)) {
255
+ continue;
256
+ }
257
+ const runs = rev.getRuns();
258
+ const hasContent = runs.length > 0 && runs.some(r => r.getText().length > 0);
259
+ if (!hasContent) {
260
+ const issue = {
261
+ code: ValidationRules_1.REVISION_RULES.EMPTY_REVISION.code,
262
+ severity: 'warning',
263
+ message: `Empty revision ${rev.getId()} (type: ${type})`,
264
+ location: { revisionId: rev.getId() },
265
+ autoFixable: true,
266
+ };
267
+ actions.push({
268
+ issue,
269
+ action: `Removed empty revision (ID: ${rev.getId()}, type: ${type})`,
270
+ before: { id: rev.getId(), type },
271
+ after: null,
272
+ success: true,
273
+ });
274
+ if (!dryRun) {
275
+ revisionManager.removeById(rev.getId());
276
+ }
277
+ }
278
+ }
279
+ return actions;
280
+ }
281
+ static fixNonSequentialIds(revisions, dryRun) {
282
+ const actions = [];
283
+ if (revisions.length === 0)
284
+ return actions;
285
+ const ids = revisions.map(r => r.getId()).sort((a, b) => a - b);
286
+ let isSequential = true;
287
+ for (let i = 1; i < ids.length; i++) {
288
+ const currentId = ids[i];
289
+ const prevId = ids[i - 1];
290
+ if (currentId !== prevId + 1) {
291
+ isSequential = false;
292
+ break;
293
+ }
294
+ }
295
+ if (!isSequential) {
296
+ const issue = {
297
+ code: ValidationRules_1.REVISION_RULES.NON_SEQUENTIAL_IDS.code,
298
+ severity: 'warning',
299
+ message: 'Revision IDs are not sequential',
300
+ autoFixable: true,
301
+ };
302
+ const oldIds = revisions.map(r => r.getId());
303
+ const newIds = [];
304
+ revisions.forEach((rev, index) => {
305
+ newIds.push(index);
306
+ if (!dryRun) {
307
+ rev.setId(index);
308
+ }
309
+ });
310
+ actions.push({
311
+ issue,
312
+ action: `Reassigned ${revisions.length} revision IDs to be sequential (0 to ${revisions.length - 1})`,
313
+ before: oldIds,
314
+ after: newIds,
315
+ success: true,
316
+ });
317
+ }
318
+ return actions;
319
+ }
320
+ static preview(doc, options) {
321
+ return this.fix(doc, { ...options, dryRun: true });
322
+ }
323
+ static formatResult(result) {
324
+ const lines = [];
325
+ lines.push(`Auto-Fix ${result.allFixed ? 'COMPLETE' : 'PARTIAL'}`);
326
+ lines.push(`Fixed: ${result.issuesFixed}, Remaining: ${result.issuesRemaining}`);
327
+ if (result.actions.length > 0) {
328
+ lines.push('\nActions taken:');
329
+ for (const action of result.actions) {
330
+ const status = action.success ? 'OK' : 'FAILED';
331
+ lines.push(` [${status}] ${action.action}`);
332
+ }
333
+ }
334
+ if (result.errors.length > 0) {
335
+ lines.push('\nErrors:');
336
+ for (const error of result.errors) {
337
+ lines.push(` - ${error}`);
338
+ }
339
+ }
340
+ return lines.join('\n');
341
+ }
342
+ }
343
+ exports.RevisionAutoFixer = RevisionAutoFixer;
344
+ //# sourceMappingURL=RevisionAutoFixer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevisionAutoFixer.js","sourceRoot":"","sources":["../../src/validation/RevisionAutoFixer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Document } from '../core/Document';
2
+ import type { Revision } from '../elements/Revision';
3
+ import { ValidationIssue, ValidationOptions, ValidationResult } from './ValidationRules';
4
+ export declare class RevisionValidator {
5
+ static validate(doc: Document, options?: ValidationOptions): ValidationResult;
6
+ private static createEmptyResult;
7
+ static validateRevisionIds(revisions: Revision[]): ValidationIssue[];
8
+ static validateMovePairs(revisions: Revision[]): ValidationIssue[];
9
+ static validateAuthors(revisions: Revision[]): ValidationIssue[];
10
+ static validateDates(revisions: Revision[]): ValidationIssue[];
11
+ static validateContent(revisions: Revision[]): ValidationIssue[];
12
+ static validateSequentialIds(revisions: Revision[]): ValidationIssue[];
13
+ static validateRevisionCount(revisions: Revision[]): ValidationIssue[];
14
+ static validateRevisionDates(revisions: Revision[]): ValidationIssue[];
15
+ static isValid(doc: Document): boolean;
16
+ static formatSummary(result: ValidationResult): string;
17
+ }
18
+ //# sourceMappingURL=RevisionValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevisionValidator.d.ts","sourceRoot":"","sources":["../../src/validation/RevisionValidator.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAEL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAgB3B,qBAAa,iBAAiB;IAQ5B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB;IA+E7E,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA0BhC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE;IAqCpE,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE;IAkDlE,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE;IAwBhE,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE;IA+B9D,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE;IA6ChE,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE;IAqCtE,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE;IAsBtE,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE;IA8BtE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO;IAWtC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM;CAsBvD"}