sfdx-git-delta 7.4.0 → 7.4.1

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 (64) hide show
  1. package/README.md +22 -3
  2. package/lib/adapter/GitAdapter.d.ts +5 -3
  3. package/lib/adapter/GitAdapter.js +71 -32
  4. package/lib/adapter/GitAdapter.js.map +1 -1
  5. package/lib/adapter/pathMatching.d.ts +2 -1
  6. package/lib/adapter/pathMatching.js +35 -3
  7. package/lib/adapter/pathMatching.js.map +1 -1
  8. package/lib/adapter/treeReader.d.ts +1 -0
  9. package/lib/adapter/treeReader.js +10 -0
  10. package/lib/adapter/treeReader.js.map +1 -1
  11. package/lib/adapter/tsgitErrorMap.d.ts +5 -4
  12. package/lib/adapter/tsgitErrorMap.js +12 -5
  13. package/lib/adapter/tsgitErrorMap.js.map +1 -1
  14. package/lib/constant/metadataConstants.d.ts +9 -1
  15. package/lib/constant/metadataConstants.js +17 -3
  16. package/lib/constant/metadataConstants.js.map +1 -1
  17. package/lib/main.js +66 -63
  18. package/lib/main.js.map +1 -1
  19. package/lib/metadata/MetadataRepositoryImpl.d.ts +14 -2
  20. package/lib/metadata/MetadataRepositoryImpl.js +192 -50
  21. package/lib/metadata/MetadataRepositoryImpl.js.map +1 -1
  22. package/lib/post-processor/includeProcessor.js +8 -9
  23. package/lib/post-processor/includeProcessor.js.map +1 -1
  24. package/lib/service/botHandler.js +1 -1
  25. package/lib/service/botHandler.js.map +1 -1
  26. package/lib/service/inBundleHandler.js +10 -23
  27. package/lib/service/inBundleHandler.js.map +1 -1
  28. package/lib/service/inFolderHandler.js +1 -2
  29. package/lib/service/inFolderHandler.js.map +1 -1
  30. package/lib/service/objectTranslationHandler.d.ts +0 -1
  31. package/lib/service/objectTranslationHandler.js +11 -4
  32. package/lib/service/objectTranslationHandler.js.map +1 -1
  33. package/lib/types/runContext.d.ts +16 -5
  34. package/lib/types/runContext.js +17 -5
  35. package/lib/types/runContext.js.map +1 -1
  36. package/lib/utils/__mocks__/LoggingService.d.ts +2 -7
  37. package/lib/utils/__mocks__/LoggingService.js.map +1 -1
  38. package/lib/utils/changeSet.d.ts +1 -0
  39. package/lib/utils/changeSet.js +26 -1
  40. package/lib/utils/changeSet.js.map +1 -1
  41. package/lib/utils/configValidator.d.ts +11 -1
  42. package/lib/utils/configValidator.js +133 -80
  43. package/lib/utils/configValidator.js.map +1 -1
  44. package/lib/utils/errorUtils.d.ts +5 -0
  45. package/lib/utils/errorUtils.js +8 -0
  46. package/lib/utils/errorUtils.js.map +1 -1
  47. package/lib/utils/messageSanitizer.d.ts +1 -0
  48. package/lib/utils/messageSanitizer.js +46 -0
  49. package/lib/utils/messageSanitizer.js.map +1 -1
  50. package/lib/utils/metadataDiff/xmlEventReader.js +1 -1
  51. package/lib/utils/metadataDiff/xmlEventReader.js.map +1 -1
  52. package/lib/utils/repoGitDiff.d.ts +17 -2
  53. package/lib/utils/repoGitDiff.js +93 -12
  54. package/lib/utils/repoGitDiff.js.map +1 -1
  55. package/lib/utils/treeIndexScope.js +5 -14
  56. package/lib/utils/treeIndexScope.js.map +1 -1
  57. package/lib/utils/treeReaderBuilder.d.ts +8 -0
  58. package/lib/utils/treeReaderBuilder.js +34 -0
  59. package/lib/utils/treeReaderBuilder.js.map +1 -0
  60. package/lib/utils/txmlAdapter.js +1 -1
  61. package/lib/utils/txmlAdapter.js.map +1 -1
  62. package/messages/delta.md +16 -5
  63. package/oclif.manifest.json +1 -1
  64. package/package.json +90 -49
@@ -11,13 +11,12 @@ import { SfProject } from '@salesforce/core';
11
11
  import GitAdapter from '../adapter/GitAdapter.js';
12
12
  import { GIT_FOLDER } from '../constant/gitConstants.js';
13
13
  import { getLatestSupportedVersion } from '../metadata/metadataManager.js';
14
- import { pushAll } from './arrayUtils.js';
15
- import { ConfigError, getErrorMessage, RepositoryRefusalError, } from './errorUtils.js';
14
+ import { ConfigError, getErrorMessage, NotACommitError, RepositoryRefusalError, } from './errorUtils.js';
16
15
  import { pathExists, sanitizePath } from './fsUtils.js';
17
16
  import { log } from './LoggingDecorator.js';
18
17
  import { Logger, lazy } from './LoggingService.js';
19
18
  import { MessageService } from './MessageService.js';
20
- import { sanitizeForMessage } from './messageSanitizer.js';
19
+ import { redactProxyCredentials, sanitizeForMessage, } from './messageSanitizer.js';
21
20
  const SHA_KEYS = ['from', 'to'];
22
21
  const SOURCE_DIR_REJECTION_MESSAGE_KEYS = {
23
22
  empty: 'error.SourceDirIsEmpty',
@@ -26,6 +25,16 @@ const SOURCE_DIR_REJECTION_MESSAGE_KEYS = {
26
25
  absolute: 'error.SourceDirIsAbsolute',
27
26
  escapes: 'error.SourceDirEscapesRepository',
28
27
  };
28
+ const isPositiveVersion = (version) => version > 0;
29
+ // Two values arrive unparsed: a JavaScript library caller's apiVersion, which
30
+ // the number type does not bind (e.g. '' or '67.0'), and sfdx-project.json's
31
+ // sourceApiVersion string. Parse the way the --api-version flag path does, so
32
+ // a value that does not parse to a positive version means "not provided"
33
+ // rather than rendering <version>.0</version>.
34
+ const toApiVersion = (value) => {
35
+ const parsed = parseInt(String(value), 10);
36
+ return isPositiveVersion(parsed) ? parsed : undefined;
37
+ };
29
38
  export default class ConfigValidator {
30
39
  config;
31
40
  sourceRejections;
@@ -42,12 +51,13 @@ export default class ConfigValidator {
42
51
  await Promise.all(SHA_KEYS.map(async (shaParameter) => {
43
52
  const shaValue = this.config[shaParameter];
44
53
  try {
45
- this.config[shaParameter] = await this.gitAdapter.parseRev(shaValue);
54
+ this.config[shaParameter] =
55
+ await this.gitAdapter.resolveCommit(shaValue);
46
56
  }
47
57
  catch (error) {
48
58
  Logger.debug(
49
59
  // Stryker disable next-line StringLiteral,ArrowFunction -- equivalent: catch log content is observability only
50
- lazy `_validateGitSha: '${shaParameter}' = '${shaValue}' is not a valid git SHA: ${() => getErrorMessage(error)}`);
60
+ lazy `_validateGitSha: '${shaParameter}' = '${shaValue}' does not resolve to a commit: ${() => getErrorMessage(error)}`);
51
61
  errors.push(this._shaFailureMessage(error, shaParameter, shaValue));
52
62
  }
53
63
  }));
@@ -55,10 +65,20 @@ export default class ConfigValidator {
55
65
  }
56
66
  // A refusal is about the repository, not about either ref: reporting it
57
67
  // verbatim replaces two bogus "check the fetch depth" lines with the one
58
- // thing the user can act on.
68
+ // thing the user can act on. A non-commit is about the ref's KIND, not
69
+ // its existence: the fetch-depth hint would send the user to deepen a
70
+ // clone that is already complete, so it gets its own sentence. Both name
71
+ // shaValue — what the user typed — never the oid resolveCommit produced.
59
72
  _shaFailureMessage(error, shaParameter, shaValue) {
60
73
  if (error instanceof RepositoryRefusalError)
61
74
  return error.message;
75
+ if (error instanceof NotACommitError) {
76
+ return this.message.getMessage('error.ParameterIsNotCommit', [
77
+ shaParameter,
78
+ sanitizeForMessage(shaValue),
79
+ error.objectType,
80
+ ]);
81
+ }
62
82
  return this.message.getMessage('error.ParameterIsNotGitSHA', [
63
83
  shaParameter,
64
84
  sanitizeForMessage(shaValue),
@@ -71,45 +91,64 @@ export default class ConfigValidator {
71
91
  const requestedFrom = this.config.from;
72
92
  const requestedTo = this.config.to;
73
93
  this._sanitizeConfig();
74
- // Short-circuits before any git object is read: _validateGitSha below
75
- // calls parseRev, which opens the repository. A bad --source-dir is
76
- // the actionable error and the one that today produces a silent empty
77
- // manifest, so it is reported alone even if the SHAs are also invalid.
94
+ this._assertSourceDirs();
95
+ const warnings = await this._validateInputsAndApiVersion();
96
+ // Runs after the SHA validation above so a typo in either ref surfaces
97
+ // as the precise ParameterIsNotGitSHA message instead of the vaguer
98
+ // MergeBaseNotFound.
99
+ await this._resolveMergeBase(requestedFrom, requestedTo);
100
+ return warnings;
101
+ }
102
+ // Short-circuits before any git object is read: _validateGitSha below
103
+ // calls resolveCommit, which opens the repository. A bad --source-dir is
104
+ // the actionable error and the one that today produces a silent empty
105
+ // manifest, so it is reported alone even if the SHAs are also invalid.
106
+ _assertSourceDirs() {
78
107
  const sourceErrors = this._validateSource();
79
108
  if (sourceErrors.length > 0) {
80
109
  throw new ConfigError(sourceErrors.join(', '));
81
110
  }
82
- const [defaultWarnings, repoExists, gitErrors, changesManifestErrors] = await Promise.all([
83
- this._handleDefault(),
84
- pathExists(join(this.config.repo, GIT_FOLDER)),
111
+ }
112
+ async _validateInputsAndApiVersion() {
113
+ const [apiVersionOutcome, inputErrors] = await Promise.all([
114
+ this._settleApiVersion(),
115
+ this._collectInputErrors(),
116
+ ]);
117
+ // The refusal is about the environment, the input errors about what the
118
+ // user typed: report both in one run, the typing first.
119
+ if ('refusal' in apiVersionOutcome) {
120
+ throw this._configError([...inputErrors, apiVersionOutcome.refusal]);
121
+ }
122
+ if (inputErrors.length > 0) {
123
+ throw this._configError(inputErrors);
124
+ }
125
+ return apiVersionOutcome.warnings;
126
+ }
127
+ async _collectInputErrors() {
128
+ const errorGroups = await Promise.all([
129
+ this._validateRepository(),
85
130
  this._validateGitSha(),
86
131
  this._validateChangesManifest(),
87
132
  ]);
88
- const errors = [];
89
- if (!repoExists) {
90
- // Rendered from the adapter's own absolute repository key not
91
- // this.config.repo, which is only sanitizePath-normalized, never
92
- // resolved to absolute — so this collapses with the identical
93
- // RepositoryRefusalError message a same-repository parseRev failure
94
- // produces below, instead of reporting the missing repository twice
95
- // in two different forms.
96
- errors.push(this.message.getMessage('error.PathIsNotGit', [
97
- sanitizeForMessage(this.gitAdapter.repositoryKey),
98
- ]));
133
+ return errorGroups.flat();
134
+ }
135
+ // Only a ConfigError is a refusal to report alongside the input errors; any
136
+ // other rejection is a defect and propagates untouched.
137
+ async _settleApiVersion() {
138
+ try {
139
+ return { warnings: await this._handleDefault() };
99
140
  }
100
- pushAll(errors, gitErrors);
101
- pushAll(errors, changesManifestErrors);
102
- if (errors.length > 0) {
103
- // Two SHA keys against one repository produce the same refusal twice,
104
- // and a missing .git makes the config check and the engine say the
105
- // same sentence. Identical strings carry no extra information.
106
- throw new ConfigError([...new Set(errors)].join(', '));
141
+ catch (error) {
142
+ if (!(error instanceof ConfigError))
143
+ throw error;
144
+ return { refusal: error.message };
107
145
  }
108
- // Runs after the SHA validation above so a typo in either ref surfaces
109
- // as the precise ParameterIsNotGitSHA message instead of the vaguer
110
- // MergeBaseNotFound.
111
- await this._resolveMergeBase(requestedFrom, requestedTo);
112
- return defaultWarnings;
146
+ }
147
+ // Two SHA keys against one repository produce the same refusal twice, and a
148
+ // missing .git makes the config check and the engine say the same sentence.
149
+ // Identical strings carry no extra information.
150
+ _configError(errors) {
151
+ return new ConfigError([...new Set(errors)].join(', '));
113
152
  }
114
153
  // --merge-base resolves --from to the merge base of --from and --to (git
115
154
  // three-dot semantics) in place. requestedFrom/requestedTo are the
@@ -128,6 +167,20 @@ export default class ConfigValidator {
128
167
  }
129
168
  this.config.from = base;
130
169
  }
170
+ // Rendered from the adapter's own absolute repository key — not
171
+ // this.config.repo, which is only sanitizePath-normalized, never resolved to
172
+ // absolute — so this collapses with the identical RepositoryRefusalError
173
+ // message a same-repository resolveCommit failure produces, instead of
174
+ // reporting the missing repository twice in two different forms.
175
+ async _validateRepository() {
176
+ if (await pathExists(join(this.config.repo, GIT_FOLDER)))
177
+ return [];
178
+ return [
179
+ this.message.getMessage('error.PathIsNotGit', [
180
+ sanitizeForMessage(this.gitAdapter.repositoryKey),
181
+ ]),
182
+ ];
183
+ }
131
184
  // oclif cannot natively validate --changes-manifest (it uses a string flag
132
185
  // to allow the bare form). Replicate meaningful checks: if the path already
133
186
  // exists it must be a regular file; otherwise ENOENT is fine because
@@ -164,19 +217,19 @@ export default class ConfigValidator {
164
217
  }
165
218
  async _handleDefault() {
166
219
  await this._getApiVersion();
220
+ // A version the user pinned is emitted as pinned: capping it would need the
221
+ // network, and a manifest that changes with network reachability is one the
222
+ // user cannot reproduce.
223
+ if (this._isPinned())
224
+ return [];
167
225
  return await this._apiVersionDefault();
168
226
  }
169
227
  async _getApiVersion() {
170
- if (this.config.apiVersion !== undefined)
228
+ if (this._isPinned())
171
229
  return;
172
230
  try {
173
231
  const sfProject = await SfProject.resolve(this.config.repo);
174
- const projectApiVersion = sfProject
175
- .getSfProjectJson()
176
- .getContents().sourceApiVersion;
177
- if (projectApiVersion) {
178
- this.config.apiVersion = parseInt(projectApiVersion, 10);
179
- }
232
+ this.config.apiVersion = toApiVersion(sfProject.getSfProjectJson().getContents().sourceApiVersion);
180
233
  }
181
234
  catch (ex) {
182
235
  Logger.debug(
@@ -186,53 +239,53 @@ export default class ConfigValidator {
186
239
  }
187
240
  async _apiVersionDefault() {
188
241
  const latestVersion = await this._resolveLatestSupportedVersion();
189
- // Stryker disable next-line ConditionalExpression -- equivalent: undefined signals the lookup failed while a usable apiVersion is already set; flipping the guard would fall through to clamp against an undefined ceiling, which the offline test surface forbids
190
- if (latestVersion === undefined)
191
- return [];
192
- const warnings = [];
193
- // Stryker disable ConditionalExpression,LogicalOperator -- equivalent: this triple-AND gate ensures we only override a numeric, defined, above-latest apiVersion; flipping individual conditions to true falls into the override branch when apiVersion is undefined or NaN, but the second `if (apiVersion === undefined || isNaN())` block immediately resets to latestVersion, producing the same observable apiVersion in both arms (only the warning content differs, which the test surface doesn't disambiguate)
194
- if (this.config.apiVersion !== undefined &&
195
- !isNaN(this.config.apiVersion) &&
196
- this.config.apiVersion > latestVersion) {
197
- // Stryker restore ConditionalExpression,LogicalOperator
198
- warnings.push(new Error(this.message.getMessage('warning.ApiVersionOverridden', [
199
- String(this.config.apiVersion),
200
- String(latestVersion),
201
- ])));
202
- this.config.apiVersion = latestVersion;
203
- }
204
- // Stryker disable next-line ConditionalExpression -- equivalent: defaulting fallback when apiVersion is unset/NaN; flipping to false skips the default and the apiVersion stays as-is, but the only test fixtures with apiVersion already set hit the early-return at _getApiVersion start, so the default branch is unreachable for those test cases
205
- if (this.config.apiVersion === undefined || isNaN(this.config.apiVersion)) {
206
- this.config.apiVersion = latestVersion;
207
- warnings.push(new Error(this.message.getMessage('warning.ApiVersionDefaulted', [
242
+ this.config.apiVersion = latestVersion;
243
+ return [
244
+ new Error(this.message.getMessage('warning.ApiVersionDefaulted', [
208
245
  String(latestVersion),
209
- ])));
210
- }
211
- return warnings;
246
+ ])),
247
+ ];
212
248
  }
213
- // Resolves the latest supported API version, falling back gracefully when the
214
- // appexchange lookup is unreachable (offline/firewalled environments).
249
+ // Only an unpinned run looks the version up, so there is nothing to fall back
250
+ // to: a lookup that fails, or that answers with something that is not a
251
+ // positive version, refuses the run. This tool cannot vouch for a <version> it
252
+ // did not resolve, and a wrong one is authoritative at deploy time.
215
253
  async _resolveLatestSupportedVersion() {
254
+ const latestVersion = await this._lookUpLatestVersion();
255
+ if (isPositiveVersion(latestVersion))
256
+ return latestVersion;
257
+ throw this._refusal(this.message.getMessage('error.ApiVersionLookupUnusable', [
258
+ String(latestVersion),
259
+ ]));
260
+ }
261
+ async _lookUpLatestVersion() {
216
262
  try {
217
263
  return await getLatestSupportedVersion();
218
264
  }
219
265
  catch (ex) {
220
- // A usable apiVersion is already set: keep it, we just can't cap it.
221
- // Stryker disable ConditionalExpression -- equivalent: the '!== undefined' clause exists only for TS narrowing (isNaN requires a number); !isNaN already returns false for both undefined and NaN, so replacing the left operand with true preserves behavior for every reachable apiVersion
222
- if (this.config.apiVersion !== undefined &&
223
- !isNaN(this.config.apiVersion)) {
224
- // Stryker restore ConditionalExpression
225
- Logger.debug(
226
- // Stryker disable next-line StringLiteral -- equivalent: lazy log content is observability only
227
- lazy `_resolveLatestSupportedVersion: keeping provided apiVersion, latest version lookup failed: ${ex}`);
228
- return undefined;
229
- }
230
- throw new ConfigError(this.message.getMessage('error.ApiVersionRetrievalFailed', [
231
- getErrorMessage(ex),
232
- ]));
266
+ throw this._refusal(this._describeLookupFailure(ex));
233
267
  }
234
268
  }
269
+ _refusal(detail) {
270
+ return new ConfigError(this.message.getMessage('error.ApiVersionRetrievalFailed', [detail]));
271
+ }
272
+ _isPinned() {
273
+ return this.config.apiVersion !== undefined;
274
+ }
275
+ // SDR wraps got's RequestError as `cause`; its message carries the code
276
+ // (connect ECONNREFUSED …, connect ETIMEDOUT, getaddrinfo ENOTFOUND …), which is
277
+ // the only thing that tells a proxy misconfiguration from a firewall drop from DNS.
278
+ _describeLookupFailure(ex) {
279
+ const message = getErrorMessage(ex);
280
+ const cause = ex instanceof Error ? ex.cause : undefined;
281
+ if (!(cause instanceof Error))
282
+ return message;
283
+ // Redact before sanitising: the length cap could otherwise cut between the
284
+ // credentials and their '@', leaving a fragment the redaction cannot match.
285
+ return `${message} (${sanitizeForMessage(redactProxyCredentials(cause.message))})`;
286
+ }
235
287
  _sanitizeConfig() {
288
+ this.config.apiVersion = toApiVersion(this.config.apiVersion);
236
289
  this.config.repo = sanitizePath(this.config.repo);
237
290
  this.config.output = sanitizePath(this.config.output);
238
291
  this.config.ignore = sanitizePath(this.config.ignore);
@@ -1 +1 @@
1
- {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../src/utils/configValidator.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,10 @@ export declare class MetadataRegistryError extends SgdError {
10
10
  export declare class RepositoryRefusalError extends SgdError {
11
11
  constructor(message: string);
12
12
  }
13
+ export type NonCommitObjectType = 'tree' | 'blob';
14
+ export declare class NotACommitError extends SgdError {
15
+ readonly objectType: NonCommitObjectType;
16
+ constructor(label: string, objectType: NonCommitObjectType);
17
+ }
13
18
  export declare const getErrorMessage: (error: unknown) => string;
14
19
  export declare const wrapError: (message: string, cause: unknown) => SgdError;
@@ -23,6 +23,14 @@ export class RepositoryRefusalError extends SgdError {
23
23
  this.name = 'RepositoryRefusalError';
24
24
  }
25
25
  }
26
+ export class NotACommitError extends SgdError {
27
+ objectType;
28
+ constructor(label, objectType) {
29
+ super(`'${label}' does not resolve to a commit (it is a ${objectType})`);
30
+ this.objectType = objectType;
31
+ this.name = 'NotACommitError';
32
+ }
33
+ }
26
34
  export const getErrorMessage = (error) => {
27
35
  if (error instanceof Error) {
28
36
  return error.message;
@@ -1 +1 @@
1
- {"version":3,"file":"errorUtils.js","sourceRoot":"","sources":["../../src/utils/errorUtils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,QAAQ;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,KAAc,EAAY,EAAE;IACrE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACzC,CAAC,CAAA"}
1
+ {"version":3,"file":"errorUtils.js","sourceRoot":"","sources":["../../src/utils/errorUtils.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,QAAQ;IAClD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACtC,CAAC;CACF;AAOD,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAGhC,UAAU;IAFrB,YACE,KAAa,EACJ,UAA+B;QAExC,KAAK,CAAC,IAAI,KAAK,2CAA2C,UAAU,GAAG,CAAC,CAAA;0BAF/D,UAAU;QAGnB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAU,EAAE;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,KAAc,EAAY,EAAE;IACrE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACzC,CAAC,CAAA"}
@@ -1 +1,2 @@
1
+ export declare const redactProxyCredentials: (value: string) => string;
1
2
  export declare const sanitizeForMessage: (value: string) => string;
@@ -26,6 +26,52 @@ const escapeControlChar = (char) => {
26
26
  const codePoint = char.codePointAt(0);
27
27
  return `\\u{${codePoint.toString(16)}}`;
28
28
  };
29
+ // Some network errors echo the offending proxy verbatim, credentials included:
30
+ // proxy-agent's "Unsupported protocol for proxy URL: <url>" carries a URL's
31
+ // user:password userinfo, and pac-proxy-agent's "Failed to establish a socket
32
+ // connection to proxies: [...]" lists a PAC resolver's entries as written.
33
+ // Redact both before the value reaches a message; both patterns stay linear
34
+ // because they run on network-supplied text before any length cap.
35
+ //
36
+ // The URL userinfo match runs up to the last '@' before an authority terminator
37
+ // ('/', '?', '#') and deliberately crosses whitespace, because a URL parser
38
+ // accepts a password with a space in it; over-redacting a later '@' fails safe.
39
+ // The scheme is capped at 32 characters: an uncapped scheme backtracks
40
+ // quadratically on a long letter run.
41
+ const URL_USERINFO_REGEX = /([a-z][a-z\d+.-]{0,31}:\/{2,})[^/?#]*@/gi;
42
+ // A PAC entry has no scheme to anchor on, so its keyword anchors instead,
43
+ // matched case-insensitively because a mis-cased or unsupported entry (such as
44
+ // SOCKS5H) is rejected yet still echoed. pac-proxy-agent splits an entry on any
45
+ // whitespace but echoes the list through JSON.stringify, so the separator
46
+ // arrives either as whitespace or as a JSON escape (\t, \n, \r, \f, \u000b).
47
+ // The separator is consumed atomically (lookahead then backreference) so the
48
+ // engine can never hand it back to the userinfo run. That run stops at
49
+ // whitespace, at a closing quote and at an escaped separator, and reads any
50
+ // other backslash pair (such as an escaped quote in a password) as one
51
+ // character: a match stays inside its own entry, which keeps every other
52
+ // entry's host visible and the scan linear over a long echoed list. Ordinary
53
+ // text shaped like a keyword followed by "<word>@" is over-redacted, which
54
+ // fails safe.
55
+ const PAC_ENTRY_USERINFO_REGEX = /\b((?:PROXY|HTTPS?|SOCKS(?:4A?|5H?)?)(?=((?:\s|\\[tnrf]|\\u000b)+))\2)(?:[^\s"\\]|\\(?![tnrf]|u000b)\S)*@/gi;
56
+ // Still not covered, and why each stays open. A raw '/', '?' or '#' inside a
57
+ // password is echoed only under a scheme proxy-agent rejects, with nothing but
58
+ // digits before the delimiter; closing it would redact URL paths. A special
59
+ // scheme written with fewer than two slashes ("ftp:user:pass@host") reaches a
60
+ // message only when the value also carries a later "://", because
61
+ // proxy-from-env prefixes a scheme to any value without one; closing it would
62
+ // mean matching any "word:" followed by an '@' in ordinary message text.
63
+ // Entries that never parse as a working proxy are echoed yet may stay
64
+ // unredacted: a literal backslash escape used as the separator
65
+ // ("PROXY\\tuser:pass@host"), a password containing whitespace (the target
66
+ // then has no '@'), or a non-whitespace character before the keyword or as the
67
+ // separator. Letting the userinfo run cross escaped separators would cover a
68
+ // tab, newline, carriage return, form feed or vertical tab inside a password
69
+ // (a space arrives raw and stays uncovered either way), but it backtracks
70
+ // quadratically.
71
+ const REDACTED_USERINFO = '<redacted>';
72
+ export const redactProxyCredentials = (value) => value
73
+ .replace(URL_USERINFO_REGEX, `$1${REDACTED_USERINFO}@`)
74
+ .replace(PAC_ENTRY_USERINFO_REGEX, `$1${REDACTED_USERINFO}@`);
29
75
  export const sanitizeForMessage = (value) => {
30
76
  // Truncate on code points (not UTF-16 code units) before escaping: a
31
77
  // surrogate pair must never be split, and escaping only the already-
@@ -1 +1 @@
1
- {"version":3,"file":"messageSanitizer.js","sourceRoot":"","sources":["../../src/utils/messageSanitizer.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,4EAA4E;AAC5E,0EAA0E;AAC1E,4EAA4E;AAC5E,uEAAuE;AACvE,uEAAuE;AACvE,uEAAuE;AACvE,yEAAyE;AACzE,qEAAqE;AACrE,2EAA2E;AAC3E,WAAW;AACX,MAAM,mBAAmB,GAAG,8BAA8B,CAAA;AAC1D,MAAM,eAAe,GAAG,KAAK,CAAA;AAC7B,MAAM,wBAAwB,GAAG,GAAG,CAAA;AACpC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAE7B,oEAAoE;AACpE,wEAAwE;AACxE,wEAAwE;AACxE,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AACzE,6DAA6D;AAC7D,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,mEAAmE;IACnE,2CAA2C;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,CAAA;IACtC,OAAO,OAAO,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAA;AACzC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAU,EAAE;IAC1D,qEAAqE;IACrE,qEAAqE;IACrE,yEAAyE;IACzE,kEAAkE;IAClE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,wBAAwB,CAAA;IAChE,MAAM,MAAM,GAAG,WAAW;QACxB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC,KAAK,CAAA;IACT,wEAAwE;IACxE,oEAAoE;IACpE,kEAAkE;IAClE,6CAA6C;IAC7C,MAAM,OAAO,GAAG,MAAM;SACnB,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC;SAChC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAA;IAClD,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;AACjE,CAAC,CAAA"}
1
+ {"version":3,"file":"messageSanitizer.js","sourceRoot":"","sources":["../../src/utils/messageSanitizer.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,4EAA4E;AAC5E,0EAA0E;AAC1E,4EAA4E;AAC5E,uEAAuE;AACvE,uEAAuE;AACvE,uEAAuE;AACvE,yEAAyE;AACzE,qEAAqE;AACrE,2EAA2E;AAC3E,WAAW;AACX,MAAM,mBAAmB,GAAG,8BAA8B,CAAA;AAC1D,MAAM,eAAe,GAAG,KAAK,CAAA;AAC7B,MAAM,wBAAwB,GAAG,GAAG,CAAA;AACpC,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAE7B,oEAAoE;AACpE,wEAAwE;AACxE,wEAAwE;AACxE,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AACzE,6DAA6D;AAC7D,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAU,EAAE;IACjD,mEAAmE;IACnE,2CAA2C;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,CAAA;IACtC,OAAO,OAAO,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAA;AACzC,CAAC,CAAA;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,8EAA8E;AAC9E,2EAA2E;AAC3E,4EAA4E;AAC5E,mEAAmE;AACnE,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAChF,uEAAuE;AACvE,sCAAsC;AACtC,MAAM,kBAAkB,GAAG,0CAA0C,CAAA;AACrE,0EAA0E;AAC1E,+EAA+E;AAC/E,gFAAgF;AAChF,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,uEAAuE;AACvE,4EAA4E;AAC5E,uEAAuE;AACvE,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,cAAc;AACd,MAAM,wBAAwB,GAC5B,6GAA6G,CAAA;AAC/G,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAC5E,8EAA8E;AAC9E,kEAAkE;AAClE,8EAA8E;AAC9E,yEAAyE;AACzE,sEAAsE;AACtE,+DAA+D;AAC/D,2EAA2E;AAC3E,+EAA+E;AAC/E,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,iBAAiB;AACjB,MAAM,iBAAiB,GAAG,YAAY,CAAA;AAEtC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAa,EAAU,EAAE,CAC9D,KAAK;KACF,OAAO,CAAC,kBAAkB,EAAE,KAAK,iBAAiB,GAAG,CAAC;KACtD,OAAO,CAAC,wBAAwB,EAAE,KAAK,iBAAiB,GAAG,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAU,EAAE;IAC1D,qEAAqE;IACrE,qEAAqE;IACrE,yEAAyE;IACzE,kEAAkE;IAClE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,wBAAwB,CAAA;IAChE,MAAM,MAAM,GAAG,WAAW;QACxB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC,KAAK,CAAA;IACT,wEAAwE;IACxE,oEAAoE;IACpE,kEAAkE;IAClE,6CAA6C;IAC7C,MAAM,OAAO,GAAG,MAAM;SACnB,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC;SAChC,OAAO,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAA;IAClD,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;AACjE,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
- import { parse as txmlParse } from 'txml';
2
+ import { parse as txmlParse } from 'txml/txml';
3
3
  import { getErrorMessage } from '../errorUtils.js';
4
4
  import { Logger, lazy } from '../LoggingService.js';
5
5
  import { tNodeToXmlContent, } from '../txmlAdapter.js';
@@ -1 +1 @@
1
- {"version":3,"file":"xmlEventReader.js","sourceRoot":"","sources":["../../../src/utils/metadataDiff/xmlEventReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xmlEventReader.js","sourceRoot":"","sources":["../../../src/utils/metadataDiff/xmlEventReader.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,46 @@
1
1
  import GitAdapter from '../adapter/GitAdapter.js';
2
2
  import { MetadataRepository } from '../metadata/MetadataRepository.js';
3
3
  import type { Config } from '../types/config.js';
4
+ import { type IgnoreHelper } from './ignoreHelper.js';
4
5
  export type RenamePathPair = Readonly<{
5
6
  fromPath: string;
6
7
  toPath: string;
7
8
  }>;
9
+ export type HeldAdditionProbeFailure = Readonly<{
10
+ candidateCount: number;
11
+ }>;
12
+ type DeferredDeletion = Readonly<{
13
+ line: string;
14
+ name: string;
15
+ }>;
8
16
  export default class RepoGitDiff {
9
17
  protected readonly config: Config;
10
18
  protected readonly metadata: MetadataRepository;
11
19
  protected readonly gitAdapter: GitAdapter;
12
20
  private renamePairs;
13
21
  private readonly diffScopeVerdict;
22
+ private probeFailure;
14
23
  constructor(config: Config, metadata: MetadataRepository);
15
24
  /**
16
25
  * Streams the filtered, rename-expanded diff lines. Yields A/M lines as
17
26
  * they arrive from git so handlers can start working immediately; D
18
27
  * lines are buffered until upstream EOF because the deleted-renamed
19
- * cancellation rule needs the full A-name set before any D line can
20
- * be classified.
28
+ * cancellation rule needs the full A-name set including ignored
29
+ * additions, which are held and resolved against the `to` tree at EOF —
30
+ * before any D line can be classified.
21
31
  *
22
32
  * Rename pairs are captured along the way and exposed via
23
33
  * getRenamePairs() once iteration completes.
24
34
  */
25
35
  getLines(): AsyncGenerator<string>;
26
36
  getRenamePairs(): readonly RenamePathPair[];
37
+ getHeldAdditionProbeFailure(): HeldAdditionProbeFailure | undefined;
27
38
  getUnmatchedSourceScopes(): readonly string[];
28
39
  protected _expandRename(line: string): Iterable<string>;
29
40
  protected _extractComparisonName(line: string): string;
41
+ protected _vouchingHeldNames(held: ReadonlySet<string>, deferred: readonly DeferredDeletion[], registered: ReadonlySet<string>, ignoreHelper: IgnoreHelper): Promise<ReadonlySet<string>>;
42
+ protected _visibleNamesAtTo(candidates: ReadonlySet<string>, ignoreHelper: IgnoreHelper): Promise<ReadonlySet<string>>;
43
+ protected _listFilesAt(revision: string): Promise<readonly string[] | undefined>;
30
44
  private diffSpec;
31
45
  }
46
+ export {};