@udondan/avanti 0.16.0 → 0.17.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 (44) hide show
  1. package/README.md +42 -1
  2. package/dist/cli.js +7 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +34 -3
  6. package/dist/config.js.map +1 -1
  7. package/dist/fetch.d.ts +1 -0
  8. package/dist/fetch.d.ts.map +1 -1
  9. package/dist/fetch.js +57 -1
  10. package/dist/fetch.js.map +1 -1
  11. package/dist/logger.d.ts +4 -0
  12. package/dist/logger.d.ts.map +1 -0
  13. package/dist/logger.js +17 -0
  14. package/dist/logger.js.map +1 -0
  15. package/dist/sources/bitbucket.d.ts.map +1 -1
  16. package/dist/sources/bitbucket.js +3 -0
  17. package/dist/sources/bitbucket.js.map +1 -1
  18. package/dist/sources/exec.d.ts.map +1 -1
  19. package/dist/sources/exec.js +2 -0
  20. package/dist/sources/exec.js.map +1 -1
  21. package/dist/sources/git.d.ts +6 -0
  22. package/dist/sources/git.d.ts.map +1 -1
  23. package/dist/sources/git.js +51 -0
  24. package/dist/sources/git.js.map +1 -1
  25. package/dist/sources/github.d.ts.map +1 -1
  26. package/dist/sources/github.js +20 -8
  27. package/dist/sources/github.js.map +1 -1
  28. package/dist/sources/gitlab.d.ts.map +1 -1
  29. package/dist/sources/gitlab.js +29 -10
  30. package/dist/sources/gitlab.js.map +1 -1
  31. package/dist/sources/index.d.ts +6 -1
  32. package/dist/sources/index.d.ts.map +1 -1
  33. package/dist/sources/index.js +39 -0
  34. package/dist/sources/index.js.map +1 -1
  35. package/dist/sources/local.d.ts.map +1 -1
  36. package/dist/sources/local.js +2 -0
  37. package/dist/sources/local.js.map +1 -1
  38. package/dist/sources/s3.d.ts.map +1 -1
  39. package/dist/sources/s3.js +6 -0
  40. package/dist/sources/s3.js.map +1 -1
  41. package/dist/sources/vault.d.ts.map +1 -1
  42. package/dist/sources/vault.js +6 -0
  43. package/dist/sources/vault.js.map +1 -1
  44. package/package.json +1 -1
package/README.md CHANGED
@@ -129,6 +129,7 @@ avanti [options] [command]
129
129
  Options:
130
130
  -c, --config <path|url> path or remote spec for config file (default: auto-detected)
131
131
  -w, --working-dir <path> working directory for resolving paths (default: current directory)
132
+ -v, --verbose print verbose debug output to stderr
132
133
 
133
134
  Commands:
134
135
  diff [pullId] Show diff between remote sources and local files, or vs a past pull
@@ -271,6 +272,25 @@ Apply? [y/N]
271
272
 
272
273
  Use `--yes` to skip the prompt. The history log is preserved — you can still run `avanti log` after a reset.
273
274
 
275
+ ### `--verbose` / `-v`
276
+
277
+ Pass `--verbose` (or `-v`) to any command to print internal debug details to stderr. Verbose output does not appear on stdout, so piping diff output is unaffected.
278
+
279
+ ```sh
280
+ avanti diff --verbose
281
+ avanti pull -v
282
+ ```
283
+
284
+ Each line is prefixed with `[verbose]` and includes:
285
+
286
+ - The source being fetched (e.g. `github:org/repo:file@main`)
287
+ - Every HTTP request URL and response status code
288
+ - Retry delays and reasons
289
+ - CLI tool invocations (`gh`, `glab`, `aws`, `vault`, `git`)
290
+ - Cache hits
291
+
292
+ **Credential safety:** tokens are read from environment variables and sent as HTTP headers, which are never logged. Git URLs with embedded credentials are redacted. `exec:` source commands are logged verbatim — if your config embeds secrets in an exec command (e.g. `exec: curl -H "Token: $env:MY_SECRET"`), those secrets will appear in verbose output after variable substitution.
293
+
274
294
  ## Working Directory
275
295
 
276
296
  All relative `src` and `target` paths are resolved relative to the **working directory** — the directory where you invoke `avanti`, or the path given with `-w`.
@@ -430,6 +450,14 @@ src:
430
450
  ref: main # branch, tag, or commit hash (optional)
431
451
  sha: abc123... # optional SHA-256 fingerprint
432
452
 
453
+ # git+ssh:// (and git://, ssh://) also work as plain strings or url: values using
454
+ # double-slash to separate the repo URL from the file path inside the repo:
455
+ src: git+ssh://git@ssh.git.private.de/org/repo.git//path/to/file.txt
456
+ src: git+ssh://git@ssh.git.private.de/org/repo.git//path/to/file.txt@main
457
+
458
+ src:
459
+ url: git+ssh://git@ssh.git.private.de/org/repo.git//path/to/file.txt@main
460
+
433
461
  src:
434
462
  s3: s3://my-bucket/path/to/file.txt # S3 URI; end with / for a prefix sync
435
463
  sha: abc123... # optional SHA-256 fingerprint
@@ -1272,9 +1300,22 @@ avanti pull -c gitlab:myorg/infra/dotfiles:avanti.yml@main
1272
1300
 
1273
1301
  # Or a plain HTTPS URL
1274
1302
  avanti pull -c https://configs.example.com/bootstrap.yml
1303
+
1304
+ # From a private git repo over SSH (double-slash separates repo from file path)
1305
+ avanti pull -c git+ssh://git@ssh.git.private.de/org/repo.git//avanti.yml
1306
+ avanti pull -c git+ssh://git@ssh.git.private.de/org/repo.git//avanti.yml@main
1275
1307
  ```
1276
1308
 
1277
- The config format is `github:owner/repo:path/to/file.yml[@ref]` and `gitlab:group/project:path/to/file.yml[@ref]`. The same token auth and `gh`/`glab` CLI fallback that applies to sources also applies here, so private repos work without any extra setup.
1309
+ The `github:` and `gitlab:` config formats use the `gh`/`glab` CLI (with their
1310
+ token auth and fallback) to fetch the file — no extra setup needed for repos
1311
+ those tools can already access.
1312
+
1313
+ For any other git remote, use
1314
+ `git+ssh://git@host/org/repo.git//path/to/file.yml[@ref]` (or `git://` /
1315
+ `ssh://`). The `//` separator splits the repo URL from the file path inside the
1316
+ repo; `@ref` pins to a branch, tag, or commit. This form runs `git clone`
1317
+ directly, so authentication uses your SSH agent, `~/.ssh/config`, or any
1318
+ credential helper configured for that host.
1278
1319
 
1279
1320
  This scales to any number of machines or containers. Update the central repo once; every client picks up the change on its next pull. No config drift, no manual distribution.
1280
1321
 
package/dist/cli.js CHANGED
@@ -9,13 +9,19 @@ const lock_1 = require("./commands/lock");
9
9
  const revert_1 = require("./commands/revert");
10
10
  const reset_1 = require("./commands/reset");
11
11
  const package_json_1 = require("../package.json");
12
+ const logger_1 = require("./logger");
12
13
  const program = new commander_1.Command();
13
14
  program
14
15
  .name('avanti')
15
16
  .description('Assemble local files from any source via a declarative YAML spec')
16
17
  .version(package_json_1.version)
17
18
  .option('-c, --config <path>', 'path to config file')
18
- .option('-w, --working-dir <path>', 'working directory for resolving relative paths (default: current directory)');
19
+ .option('-w, --working-dir <path>', 'working directory for resolving relative paths (default: current directory)')
20
+ .option('-v, --verbose', 'print verbose debug output to stderr');
21
+ program.hook('preAction', () => {
22
+ if (program.opts().verbose)
23
+ (0, logger_1.setVerbose)(true);
24
+ });
19
25
  program.addCommand((0, diff_1.diffCommand)());
20
26
  program.addCommand((0, pull_1.pullCommand)());
21
27
  program.addCommand((0, lock_1.lockCommand)());
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,0CAA8C;AAC9C,0CAA8C;AAC9C,wCAA4C;AAC5C,0CAA8C;AAC9C,8CAAkD;AAClD,4CAAgD;AAChD,kDAA0C;AAE1C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CACV,kEAAkE,CACnE;KACA,OAAO,CAAC,sBAAO,CAAC;KAChB,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;KACpD,MAAM,CACL,0BAA0B,EAC1B,6EAA6E,CAC9E,CAAC;AAEJ,OAAO,CAAC,UAAU,CAAC,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,IAAA,gBAAU,GAAE,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,IAAA,sBAAa,GAAE,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,IAAA,oBAAY,GAAE,CAAC,CAAC;AAEnC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,0CAA8C;AAC9C,0CAA8C;AAC9C,wCAA4C;AAC5C,0CAA8C;AAC9C,8CAAkD;AAClD,4CAAgD;AAChD,kDAA0C;AAC1C,qCAAsC;AAEtC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CACV,kEAAkE,CACnE;KACA,OAAO,CAAC,sBAAO,CAAC;KAChB,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;KACpD,MAAM,CACL,0BAA0B,EAC1B,6EAA6E,CAC9E;KACA,MAAM,CAAC,eAAe,EAAE,sCAAsC,CAAC,CAAC;AAEnE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IAC7B,IAAI,OAAO,CAAC,IAAI,EAAyB,CAAC,OAAO;QAAE,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,UAAU,CAAC,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,IAAA,kBAAW,GAAE,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,IAAA,gBAAU,GAAE,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,IAAA,sBAAa,GAAE,CAAC,CAAC;AACpC,OAAO,CAAC,UAAU,CAAC,IAAA,oBAAY,GAAE,CAAC,CAAC;AAEnC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EAoBb,MAAM,SAAS,CAAC;AAMjB,eAAO,MAAM,QAAQ,UAAU,CAAC;AAShC,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB3D;AAwFD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA4FhE;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAQ1E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EAoBb,MAAM,SAAS,CAAC;AAOjB,eAAO,MAAM,QAAQ,UAAU,CAAC;AAShC,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAQrD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAcvD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB3D;AAmGD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CA4FhE;AAED,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAQ1E"}
package/dist/config.js CHANGED
@@ -46,6 +46,7 @@ const variables_1 = require("./variables");
46
46
  const http_1 = require("./sources/http");
47
47
  const github_1 = require("./sources/github");
48
48
  const gitlab_1 = require("./sources/gitlab");
49
+ const git_1 = require("./sources/git");
49
50
  exports.SELF_KEY = '$self';
50
51
  const CONFIG_CANDIDATES = [
51
52
  '.avanti.yml',
@@ -56,6 +57,7 @@ const CONFIG_CANDIDATES = [
56
57
  function isRemoteConfigSpec(s) {
57
58
  return (s.startsWith('http://') ||
58
59
  s.startsWith('https://') ||
60
+ (0, git_1.isGitRemoteUrl)(s) ||
59
61
  s.startsWith('github:') ||
60
62
  s.startsWith('gitlab:'));
61
63
  }
@@ -65,6 +67,16 @@ function normalizeConfigKey(spec) {
65
67
  if (atIdx !== -1)
66
68
  return spec.slice(0, atIdx);
67
69
  }
70
+ if ((0, git_1.isGitRemoteUrl)(spec)) {
71
+ try {
72
+ const { repo, file, ref } = (0, git_1.parseGitRemoteSpec)(spec);
73
+ if (ref !== undefined)
74
+ return `${repo}//${file}`;
75
+ }
76
+ catch {
77
+ // invalid spec — fall through and return as-is
78
+ }
79
+ }
68
80
  return spec;
69
81
  }
70
82
  function resolveConfigPath(explicit) {
@@ -137,6 +149,14 @@ async function fetchConfigContent(spec) {
137
149
  }
138
150
  return result.files.values().next().value.toString('utf8');
139
151
  }
152
+ if ((0, git_1.isGitRemoteUrl)(spec)) {
153
+ const { repo, file, ref } = (0, git_1.parseGitRemoteSpec)(spec);
154
+ const result = (0, git_1.fetchGit)(repo, file, ref);
155
+ if (result.files.size !== 1) {
156
+ throw new Error(`Remote config must be a single file, got ${result.files.size} files from "${spec}"`);
157
+ }
158
+ return result.files.values().next().value.toString('utf8');
159
+ }
140
160
  // Local file
141
161
  if (!fs.existsSync(spec)) {
142
162
  throw new Error(`Config file not found: ${spec}`);
@@ -284,12 +304,23 @@ function parseSingleSrc(raw, target, j) {
284
304
  }
285
305
  if ('url' in obj) {
286
306
  if (typeof obj['url'] !== 'string' || !obj['url']) {
287
- throw new Error(`${loc}.url: must be a non-empty string (http/https URL)`);
307
+ throw new Error(`${loc}.url: must be a non-empty string`);
288
308
  }
289
309
  if (!obj['url'].includes('$') &&
290
310
  !obj['url'].startsWith('http://') &&
291
- !obj['url'].startsWith('https://')) {
292
- throw new Error(`${loc}.url: must start with http:// or https://, got "${obj['url']}"`);
311
+ !obj['url'].startsWith('https://') &&
312
+ !(0, git_1.isGitRemoteUrl)(obj['url'])) {
313
+ throw new Error(`${loc}.url: must start with http://, https://, git+ssh://, git://, or ssh://, got "${obj['url']}"`);
314
+ }
315
+ if (!obj['url'].includes('$') && (0, git_1.isGitRemoteUrl)(obj['url'])) {
316
+ try {
317
+ (0, git_1.parseGitRemoteSpec)(obj['url']);
318
+ }
319
+ catch (err) {
320
+ throw new Error(`${loc}.url: ${err.message}`, {
321
+ cause: err,
322
+ });
323
+ }
293
324
  }
294
325
  const result = { url: obj['url'] };
295
326
  if (obj['optional'] !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/fetch.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export declare const _testable: {
2
2
  sleep: (ms: number) => Promise<void>;
3
3
  };
4
+ export declare function redactUrl(raw: string): string;
4
5
  export declare function fetchWithRetry(url: string, options?: RequestInit): Promise<Response>;
5
6
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS;gBACR,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;CAEnC,CAAC;AAoBF,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAQnB"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,SAAS;gBACR,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;CAEnC,CAAC;AA4CF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmB7C;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,QAAQ,CAAC,CAgBnB"}
package/dist/fetch.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports._testable = void 0;
4
+ exports.redactUrl = redactUrl;
4
5
  exports.fetchWithRetry = fetchWithRetry;
6
+ const logger_1 = require("./logger");
5
7
  const MAX_RETRIES = 5;
6
8
  const BASE_DELAY_MS = 1_000;
7
9
  const MAX_DELAY_MS = 60_000;
@@ -26,13 +28,67 @@ function retryDelayMs(attempt, headers) {
26
28
  }
27
29
  return Math.min(BASE_DELAY_MS * 2 ** attempt, MAX_DELAY_MS);
28
30
  }
31
+ function isSensitiveParam(k) {
32
+ const lower = k.toLowerCase();
33
+ // Generic names
34
+ if ([
35
+ 'token',
36
+ 'access_token',
37
+ 'api_key',
38
+ 'key',
39
+ 'secret',
40
+ 'password',
41
+ 'auth',
42
+ 'sig',
43
+ 'signature',
44
+ ].includes(lower))
45
+ return true;
46
+ // AWS pre-signed URL params (X-Amz-Signature, X-Amz-Credential, X-Amz-Security-Token, …)
47
+ if (lower.startsWith('x-amz-'))
48
+ return true;
49
+ // GCP pre-signed URL params (X-Goog-Signature, X-Goog-Credential, …)
50
+ if (lower.startsWith('x-goog-'))
51
+ return true;
52
+ return false;
53
+ }
54
+ function redactUrl(raw) {
55
+ let result = raw;
56
+ try {
57
+ const u = new URL(raw);
58
+ // Strip basic-auth credentials from the URL authority
59
+ u.username = '';
60
+ u.password = '';
61
+ for (const k of u.searchParams.keys()) {
62
+ if (isSensitiveParam(k))
63
+ u.searchParams.set(k, '***');
64
+ }
65
+ result = u.toString();
66
+ }
67
+ catch {
68
+ // URL parsing failed; result stays as raw
69
+ }
70
+ // Strip any remaining //user:pass@ (handles opaque-path URLs where the nested
71
+ // scheme's userinfo is invisible to the outer URL parser, e.g. git:git+ssh://user:pass@host)
72
+ result = result.replace(/(\/\/)[^@]*@/, '$1***@');
73
+ // Strip scp-style user:pass@ patterns (userinfo contains ':') not already caught above
74
+ return result.replace(/(?<!\/\/)([^/:@\s]+:[^/:@\s]+)@/g, '***@');
75
+ }
29
76
  async function fetchWithRetry(url, options = {}) {
77
+ if ((0, logger_1.isVerbose)()) {
78
+ const method = (options.method ?? 'GET').toUpperCase();
79
+ (0, logger_1.verbose)(`${method} ${redactUrl(url)}`);
80
+ }
30
81
  for (let attempt = 0;; attempt++) {
31
82
  const res = await fetch(url, options);
83
+ if ((0, logger_1.isVerbose)())
84
+ (0, logger_1.verbose)(` -> HTTP ${res.status}`);
32
85
  const shouldRetry = res.status === 429 || (res.status >= 500 && res.status <= 599);
33
86
  if (!shouldRetry || attempt >= MAX_RETRIES)
34
87
  return res;
35
- await exports._testable.sleep(retryDelayMs(attempt, res.headers));
88
+ const delay = retryDelayMs(attempt, res.headers);
89
+ if ((0, logger_1.isVerbose)())
90
+ (0, logger_1.verbose)(` -> retrying in ${delay}ms (status ${res.status})`);
91
+ await exports._testable.sleep(delay);
36
92
  }
37
93
  }
38
94
  //# sourceMappingURL=fetch.js.map
package/dist/fetch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":";;;AA4BA,wCAWC;AAvCD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,YAAY,GAAG,MAAM,CAAC;AAE5B,+DAA+D;AAClD,QAAA,SAAS,GAAG;IACvB,KAAK,EAAE,CAAC,EAAU,EAAiB,EAAE,CACnC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;CACpD,CAAC;AAEF,SAAS,YAAY,CAAC,OAAe,EAAE,OAAgB;IACrD,qEAAqE;IACrE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,YAAY,CAAC,CAAC;IAC5E,CAAC;IAED,sFAAsF;IACtF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1D,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,OAAO,EAAE,YAAY,CAAC,CAAC;AAC9D,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,UAAuB,EAAE;IAEzB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,WAAW,GACf,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,WAAW;YAAE,OAAO,GAAG,CAAC;QACvD,MAAM,iBAAS,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function setVerbose(enabled: boolean): void;
2
+ export declare function isVerbose(): boolean;
3
+ export declare function verbose(msg: string): void;
4
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEjD;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEzC"}
package/dist/logger.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setVerbose = setVerbose;
4
+ exports.isVerbose = isVerbose;
5
+ exports.verbose = verbose;
6
+ let _verbose = false;
7
+ function setVerbose(enabled) {
8
+ _verbose = enabled;
9
+ }
10
+ function isVerbose() {
11
+ return _verbose;
12
+ }
13
+ function verbose(msg) {
14
+ if (_verbose)
15
+ process.stderr.write(`[verbose] ${msg}\n`);
16
+ }
17
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;AAEA,gCAEC;AAED,8BAEC;AAED,0BAEC;AAZD,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,SAAgB,UAAU,CAAC,OAAgB;IACzC,QAAQ,GAAG,OAAO,CAAC;AACrB,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,OAAO,CAAC,GAAW;IACjC,IAAI,QAAQ;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;AAC3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bitbucket.d.ts","sourceRoot":"","sources":["../../src/sources/bitbucket.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AA0ID,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,CAwC1B"}
1
+ {"version":3,"file":"bitbucket.d.ts","sourceRoot":"","sources":["../../src/sources/bitbucket.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AA8ID,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,CAwC1B"}
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.fetchBitbucket = fetchBitbucket;
37
37
  const path = __importStar(require("path"));
38
38
  const fetch_1 = require("../fetch");
39
+ const logger_1 = require("../logger");
39
40
  function getApiBase(override) {
40
41
  const host = override?.trim() ||
41
42
  process.env.BITBUCKET_HOST?.trim() ||
@@ -76,6 +77,7 @@ async function resolveRef(workspace, repo, ref, host) {
76
77
  }
77
78
  // Returns file content, or null if the path is a directory.
78
79
  async function fetchFileOrDetect(workspace, repo, filePath, ref, host) {
80
+ (0, logger_1.verbose)(`bitbucket: fetching ${workspace}/${repo}:${filePath}@${ref}`);
79
81
  const res = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repositories/${workspace}/${repo}/src/${encodeURIComponent(ref)}/${filePath}`, { headers: apiHeaders() });
80
82
  if (!res.ok) {
81
83
  throw new Error(`Failed to fetch ${filePath} from ${workspace}/${repo}@${ref}: HTTP ${res.status}`);
@@ -93,6 +95,7 @@ async function fetchFile(workspace, repo, filePath, ref, host) {
93
95
  return Buffer.from(await res.arrayBuffer());
94
96
  }
95
97
  async function listDir(workspace, repo, dirPath, ref, host) {
98
+ (0, logger_1.verbose)(`bitbucket: listing directory ${workspace}/${repo}:${dirPath}@${ref}`);
96
99
  const files = [];
97
100
  let url = `${getApiBase(host)}/repositories/${workspace}/${repo}/src/${encodeURIComponent(ref)}/${dirPath}/?pagelen=100`;
98
101
  while (url) {
@@ -1 +1 @@
1
- {"version":3,"file":"bitbucket.js","sourceRoot":"","sources":["../../src/sources/bitbucket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitbucket.js","sourceRoot":"","sources":["../../src/sources/bitbucket.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/sources/exec.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgBjD"}
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/sources/exec.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAiBjD"}
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchExec = fetchExec;
4
4
  const child_process_1 = require("child_process");
5
5
  const shell_1 = require("../shell");
6
+ const logger_1 = require("../logger");
6
7
  function fetchExec(command) {
8
+ (0, logger_1.verbose)(`exec: ${command}`);
7
9
  const { shell, args } = (0, shell_1.getShellArgs)(command);
8
10
  const result = (0, child_process_1.spawnSync)(shell, args, {
9
11
  encoding: 'buffer',
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/sources/exec.ts"],"names":[],"mappings":";;AAGA,8BAgBC;AAnBD,iDAA0C;AAC1C,oCAAwC;AAExC,SAAgB,SAAS,CAAC,OAAe;IACvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,IAAI,EAAE;QACpC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;KAC7B,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/sources/exec.ts"],"names":[],"mappings":";;AAIA,8BAiBC;AArBD,iDAA0C;AAC1C,oCAAwC;AACxC,sCAAoC;AAEpC,SAAgB,SAAS,CAAC,OAAe;IACvC,IAAA,gBAAO,EAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IAC5B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,oBAAY,EAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,KAAK,EAAE,IAAI,EAAE;QACpC,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;KAC7B,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,yBAAyB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,5 +1,11 @@
1
1
  export interface GitResult {
2
2
  files: Map<string, Buffer>;
3
3
  }
4
+ export declare function isGitRemoteUrl(s: string): boolean;
5
+ export declare function parseGitRemoteSpec(spec: string): {
6
+ repo: string;
7
+ file: string;
8
+ ref: string | undefined;
9
+ };
4
10
  export declare function fetchGit(repo: string, file: string, ref?: string): GitResult;
5
11
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/sources/git.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAmCD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CA+C5E"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/sources/git.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AA8CD,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAMjD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB,CAwBA;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAsE5E"}
@@ -33,11 +33,14 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.isGitRemoteUrl = isGitRemoteUrl;
37
+ exports.parseGitRemoteSpec = parseGitRemoteSpec;
36
38
  exports.fetchGit = fetchGit;
37
39
  const child_process_1 = require("child_process");
38
40
  const fs = __importStar(require("fs"));
39
41
  const os = __importStar(require("os"));
40
42
  const path = __importStar(require("path"));
43
+ const logger_1 = require("../logger");
41
44
  function run(cmd, args, opts = {}) {
42
45
  const result = (0, child_process_1.spawnSync)(cmd, args, { encoding: 'utf8', cwd: opts.cwd });
43
46
  if (result.error)
@@ -53,6 +56,8 @@ function looksLikeCommitHash(ref) {
53
56
  }
54
57
  function collectFiles(base, dir, files) {
55
58
  for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
59
+ if (entry.isSymbolicLink())
60
+ continue;
56
61
  const full = path.join(dir, entry.name);
57
62
  if (entry.isDirectory()) {
58
63
  collectFiles(base, full, files);
@@ -62,7 +67,44 @@ function collectFiles(base, dir, files) {
62
67
  }
63
68
  }
64
69
  }
70
+ function redactGitUrl(url) {
71
+ return (url
72
+ // URL-style: scheme://user:pass@host/...
73
+ .replace(/(\/\/)[^@]*@/, '$1***@')
74
+ // SCP-style with password: user:pass@host:path (only when userinfo contains ':')
75
+ .replace(/^[^/:@\s]+:[^/:@\s]+@/, '***@'));
76
+ }
77
+ function isGitRemoteUrl(s) {
78
+ return (s.startsWith('git+ssh://') ||
79
+ s.startsWith('git://') ||
80
+ s.startsWith('ssh://'));
81
+ }
82
+ function parseGitRemoteSpec(spec) {
83
+ if (!isGitRemoteUrl(spec)) {
84
+ throw new Error(`Invalid git URL spec "${spec}". Supported schemes: git+ssh://, git://, ssh://`);
85
+ }
86
+ const schemeEnd = spec.indexOf('://') + 3;
87
+ const separatorIdx = spec.indexOf('//', schemeEnd);
88
+ if (separatorIdx === -1 || separatorIdx <= schemeEnd) {
89
+ throw new Error(`Invalid git URL spec "${spec}". Expected format: <remote-url>//<file-path>[@ref], e.g. git+ssh://git@host/org/repo.git//path/to/file.yml@main (supported schemes: git+ssh://, git://, ssh://)`);
90
+ }
91
+ const repo = spec.slice(0, separatorIdx);
92
+ const rest = spec.slice(separatorIdx + 2);
93
+ const atIdx = rest.lastIndexOf('@');
94
+ const file = atIdx === -1 ? rest : rest.slice(0, atIdx);
95
+ const ref = atIdx === -1 ? undefined : rest.slice(atIdx + 1);
96
+ if (!file) {
97
+ throw new Error(`Invalid git URL spec "${spec}". File path is required after //`);
98
+ }
99
+ return { repo, file, ref };
100
+ }
65
101
  function fetchGit(repo, file, ref) {
102
+ const normalized = path.normalize(file);
103
+ if (path.isAbsolute(file) ||
104
+ normalized === '..' ||
105
+ normalized.startsWith('..' + path.sep)) {
106
+ throw new Error(`Unsafe file path escapes repository root: ${file}`);
107
+ }
66
108
  const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'avanti-git-'));
67
109
  try {
68
110
  const repoDir = path.join(tmpDir, 'repo');
@@ -70,6 +112,7 @@ function fetchGit(repo, file, ref) {
70
112
  const args = ['clone', '--depth', '1'];
71
113
  if (ref)
72
114
  args.push('--branch', ref);
115
+ (0, logger_1.verbose)(`git ${args.join(' ')} ${redactGitUrl(repo)} <tmpdir>`);
73
116
  args.push(repo, repoDir);
74
117
  const res = run('git', args);
75
118
  if (res.status !== 0) {
@@ -77,10 +120,12 @@ function fetchGit(repo, file, ref) {
77
120
  }
78
121
  }
79
122
  else {
123
+ (0, logger_1.verbose)(`git clone ${redactGitUrl(repo)} <tmpdir>`);
80
124
  const cloneRes = run('git', ['clone', repo, repoDir]);
81
125
  if (cloneRes.status !== 0) {
82
126
  throw new Error(`git clone failed: ${cloneRes.stderr.trim()}`);
83
127
  }
128
+ (0, logger_1.verbose)(`git checkout ${ref}`);
84
129
  const checkoutRes = run('git', ['checkout', ref], { cwd: repoDir });
85
130
  if (checkoutRes.status !== 0) {
86
131
  throw new Error(`git checkout ${ref} failed: ${checkoutRes.stderr.trim()}`);
@@ -91,6 +136,12 @@ function fetchGit(repo, file, ref) {
91
136
  if (!fs.existsSync(fullPath)) {
92
137
  throw new Error(`Path not found in repository: ${file}`);
93
138
  }
139
+ const realRepoDir = fs.realpathSync(repoDir);
140
+ const realFullPath = fs.realpathSync(fullPath);
141
+ if (realFullPath !== realRepoDir &&
142
+ !realFullPath.startsWith(realRepoDir + path.sep)) {
143
+ throw new Error(`Unsafe file path escapes repository root via symlink: ${file}`);
144
+ }
94
145
  const files = new Map();
95
146
  const stat = fs.statSync(fullPath);
96
147
  if (stat.isDirectory() || file.endsWith('/')) {