@udondan/avanti 0.16.0 → 0.17.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 (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 +70 -2
  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 +71 -15
  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 +89 -15
  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
@@ -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('/')) {
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/sources/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/sources/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,wCAMC;AAED,gDA4BC;AAED,4BAsEC;AAlKD,iDAA0C;AAC1C,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAC7B,sCAAoC;AAMpC,SAAS,GAAG,CACV,GAAW,EACX,IAAc,EACd,OAAyB,EAAE;IAE3B,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,WAAW,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,YAAY,CACnB,IAAY,EACZ,GAAW,EACX,KAA0B;IAE1B,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,cAAc,EAAE;YAAE,SAAS;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,CACL,GAAG;QACD,yCAAyC;SACxC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC;QAClC,iFAAiF;SAChF,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAAC,CAAS;IACtC,OAAO,CACL,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;QAC1B,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;QACtB,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CACvB,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAK7C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,kDAAkD,CAChF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnD,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,kKAAkK,CAChM,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,mCAAmC,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAY,EAAE,IAAY,EAAE,GAAY;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACrB,UAAU,KAAK,IAAI;QACnB,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EACtC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,GAAG;gBAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACpC,IAAA,gBAAO,EAAC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC7B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAA,gBAAO,EAAC,aAAa,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,IAAA,gBAAO,EAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACpE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,gBAAgB,GAAG,YAAY,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAC3D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/C,IACE,YAAY,KAAK,WAAW;YAC5B,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAChD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yDAAyD,IAAI,EAAE,CAChE,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/sources/github.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAqPD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CA4BvB"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/sources/github.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AA0SD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CA4BvB"}
@@ -37,6 +37,7 @@ exports.fetchGitHub = fetchGitHub;
37
37
  const child_process_1 = require("child_process");
38
38
  const path = __importStar(require("path"));
39
39
  const fetch_1 = require("../fetch");
40
+ const logger_1 = require("../logger");
40
41
  function getApiBase(override) {
41
42
  const host = override?.trim() || process.env.GITHUB_HOST?.trim() || '';
42
43
  return host ? `https://${host}/api/v3` : 'https://api.github.com';
@@ -55,6 +56,9 @@ function apiHeaders() {
55
56
  function shouldFallback(status) {
56
57
  return status === 401 || status === 403 || status === 404;
57
58
  }
59
+ function isNetworkError(e) {
60
+ return e instanceof TypeError && e.message === 'fetch failed';
61
+ }
58
62
  function isGhAvailable() {
59
63
  return !(0, child_process_1.spawnSync)('gh', ['--version'], { encoding: 'utf8' }).error;
60
64
  }
@@ -75,8 +79,22 @@ function hostnameArgs(host) {
75
79
  const resolved = host?.trim() || process.env.GITHUB_HOST?.trim() || '';
76
80
  return resolved ? ['--hostname', resolved] : [];
77
81
  }
82
+ function encodeFilePath(filePath) {
83
+ return filePath.split('/').map(encodeURIComponent).join('/');
84
+ }
78
85
  async function fetchPathInfo(repo, filePath, ref, host) {
79
- const res = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repos/${repo}/contents/${filePath}?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
86
+ (0, logger_1.verbose)(`github: fetching ${repo}:${filePath}@${ref}`);
87
+ let res;
88
+ try {
89
+ res = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repos/${repo}/contents/${encodeFilePath(filePath)}?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
90
+ }
91
+ catch (e) {
92
+ if (isNetworkError(e) && isGhAvailable()) {
93
+ (0, logger_1.verbose)(`github: HTTP fetch failed, falling back to gh`);
94
+ return fetchPathInfoViaCli(repo, filePath, ref, host);
95
+ }
96
+ throw e;
97
+ }
80
98
  if (res.ok) {
81
99
  const data = await res.json();
82
100
  if (Array.isArray(data))
@@ -92,13 +110,15 @@ async function fetchPathInfo(repo, filePath, ref, host) {
92
110
  throw new Error(`Failed to fetch ${filePath} from ${repo}@${ref}: HTTP ${res.status}`);
93
111
  }
94
112
  function fetchPathInfoViaCli(repo, filePath, ref, host) {
95
- const res = ghRun([
113
+ const args = [
96
114
  'api',
97
115
  ...hostnameArgs(host),
98
- `repos/${repo}/contents/${filePath}?ref=${encodeURIComponent(ref)}`,
116
+ `repos/${repo}/contents/${encodeFilePath(filePath)}?ref=${encodeURIComponent(ref)}`,
99
117
  '--jq',
100
118
  'if type == "array" then "directory" else .content end',
101
- ]);
119
+ ];
120
+ (0, logger_1.verbose)(`github: gh fallback: gh ${args.join(' ')}`);
121
+ const res = ghRun(args);
102
122
  if (res.status !== 0) {
103
123
  throw new Error(`Failed to fetch ${filePath} from ${repo}@${ref}: ${res.stderr}`);
104
124
  }
@@ -118,7 +138,18 @@ async function fetchFile(repo, filePath, ref, host) {
118
138
  return info.content;
119
139
  }
120
140
  async function listTree(repo, dirPath, ref, host) {
121
- const res = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repos/${repo}/git/trees/${encodeURIComponent(ref)}?recursive=1`, { headers: apiHeaders() });
141
+ (0, logger_1.verbose)(`github: listing tree ${repo}:${dirPath}@${ref}`);
142
+ let res;
143
+ try {
144
+ res = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repos/${repo}/git/trees/${encodeURIComponent(ref)}?recursive=1`, { headers: apiHeaders() });
145
+ }
146
+ catch (e) {
147
+ if (isNetworkError(e) && isGhAvailable()) {
148
+ (0, logger_1.verbose)(`github: HTTP fetch failed, falling back to gh`);
149
+ return listTreeViaCli(repo, dirPath, ref, host);
150
+ }
151
+ throw e;
152
+ }
122
153
  if (!res.ok) {
123
154
  if (shouldFallback(res.status) && isGhAvailable()) {
124
155
  return listTreeViaCli(repo, dirPath, ref, host);
@@ -135,7 +166,7 @@ async function listTree(repo, dirPath, ref, host) {
135
166
  .map((item) => item.path);
136
167
  }
137
168
  function listTreeViaCli(repo, dirPath, ref, host) {
138
- const res = ghRun([
169
+ const args = [
139
170
  'api',
140
171
  ...hostnameArgs(host),
141
172
  `repos/${repo}/git/trees/${encodeURIComponent(ref)}?recursive=1`,
@@ -144,7 +175,9 @@ function listTreeViaCli(repo, dirPath, ref, host) {
144
175
  dirPath,
145
176
  '--jq',
146
177
  'if .truncated then error("truncated") else .tree[] | select(.type == "blob") | select(.path | startswith($dirPath + "/")) | .path end',
147
- ]);
178
+ ];
179
+ (0, logger_1.verbose)(`github: gh fallback: gh ${args.join(' ')}`);
180
+ const res = ghRun(args);
148
181
  if (res.status !== 0) {
149
182
  if (res.stderr.includes('truncated')) {
150
183
  throw new Error(`Repository ${repo} exceeds the GitHub Trees API limit (100,000 entries). The directory listing for ${dirPath} is incomplete. Use a more specific path to reduce the result set.`);
@@ -156,17 +189,36 @@ function listTreeViaCli(repo, dirPath, ref, host) {
156
189
  async function resolveRef(repo, ref, host) {
157
190
  if (ref !== '$latest')
158
191
  return ref ?? 'HEAD';
192
+ (0, logger_1.verbose)(`github: resolving $latest for ${repo}`);
159
193
  // Try latest release first
160
- const relRes = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repos/${repo}/releases/latest`, {
161
- headers: apiHeaders(),
162
- });
194
+ let relRes;
195
+ try {
196
+ relRes = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repos/${repo}/releases/latest`, { headers: apiHeaders() });
197
+ }
198
+ catch (e) {
199
+ if (isNetworkError(e) && isGhAvailable()) {
200
+ (0, logger_1.verbose)(`github: HTTP fetch failed, falling back to gh`);
201
+ return resolveRefViaCli(repo, host);
202
+ }
203
+ throw e;
204
+ }
163
205
  if (relRes.ok) {
164
206
  const rel = (await relRes.json());
165
207
  return rel.tag_name;
166
208
  }
167
209
  // No releases (404) — fall back to most recent tag
168
210
  if (relRes.status === 404) {
169
- const tagRes = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repos/${repo}/tags?per_page=1`, { headers: apiHeaders() });
211
+ let tagRes;
212
+ try {
213
+ tagRes = await (0, fetch_1.fetchWithRetry)(`${getApiBase(host)}/repos/${repo}/tags?per_page=1`, { headers: apiHeaders() });
214
+ }
215
+ catch (e) {
216
+ if (isNetworkError(e) && isGhAvailable()) {
217
+ (0, logger_1.verbose)(`github: HTTP fetch failed, falling back to gh`);
218
+ return resolveRefViaCli(repo, host);
219
+ }
220
+ throw e;
221
+ }
170
222
  if (tagRes.ok) {
171
223
  const tags = (await tagRes.json());
172
224
  if (tags.length)
@@ -184,23 +236,27 @@ async function resolveRef(repo, ref, host) {
184
236
  throw new Error(`Failed to resolve $latest for ${repo}: HTTP ${relRes.status}`);
185
237
  }
186
238
  function resolveRefViaCli(repo, host) {
187
- const res = ghRun([
239
+ const relArgs = [
188
240
  'api',
189
241
  ...hostnameArgs(host),
190
242
  `repos/${repo}/releases/latest`,
191
243
  '--jq',
192
244
  '.tag_name',
193
- ]);
245
+ ];
246
+ (0, logger_1.verbose)(`github: gh fallback: gh ${relArgs.join(' ')}`);
247
+ const res = ghRun(relArgs);
194
248
  if (res.status === 0 && res.stdout.trim())
195
249
  return res.stdout.trim();
196
250
  // Fall back to most recent tag
197
- const tagRes = ghRun([
251
+ const tagArgs = [
198
252
  'api',
199
253
  ...hostnameArgs(host),
200
254
  `repos/${repo}/tags?per_page=1`,
201
255
  '--jq',
202
256
  '.[0].name',
203
- ]);
257
+ ];
258
+ (0, logger_1.verbose)(`github: gh fallback: gh ${tagArgs.join(' ')}`);
259
+ const tagRes = ghRun(tagArgs);
204
260
  if (tagRes.status !== 0 || !tagRes.stdout.trim()) {
205
261
  throw new Error(`No releases or tags found for ${repo}`);
206
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/sources/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/sources/github.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/sources/gitlab.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAgVD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CAsCvB"}
1
+ {"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../../src/sources/gitlab.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAkZD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,CAAC,CAsCvB"}
@@ -39,6 +39,7 @@ const fs = __importStar(require("fs"));
39
39
  const os = __importStar(require("os"));
40
40
  const path = __importStar(require("path"));
41
41
  const fetch_1 = require("../fetch");
42
+ const logger_1 = require("../logger");
42
43
  function getHost(override) {
43
44
  return override?.trim() || process.env.GITLAB_HOST?.trim() || 'gitlab.com';
44
45
  }
@@ -52,6 +53,9 @@ function apiHeaders() {
52
53
  function shouldFallback(status) {
53
54
  return status === 401 || status === 403 || status === 404;
54
55
  }
56
+ function isNetworkError(e) {
57
+ return e instanceof TypeError && e.message === 'fetch failed';
58
+ }
55
59
  function isGlabAvailable() {
56
60
  return !(0, child_process_1.spawnSync)('glab', ['--version'], { encoding: 'utf8' }).error;
57
61
  }
@@ -86,7 +90,18 @@ async function resolveRef(project, ref, host) {
86
90
  if (ref === undefined || ref === '')
87
91
  return 'HEAD';
88
92
  if (ref === '$latest') {
89
- const res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/tags?order_by=version&sort=desc&per_page=1`, { headers: apiHeaders() });
93
+ (0, logger_1.verbose)(`gitlab: resolving $latest for ${project}`);
94
+ let res;
95
+ try {
96
+ res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/tags?order_by=version&sort=desc&per_page=1`, { headers: apiHeaders() });
97
+ }
98
+ catch (e) {
99
+ if (isNetworkError(e) && isGlabAvailable()) {
100
+ (0, logger_1.verbose)(`gitlab: HTTP fetch failed, falling back to glab`);
101
+ return resolveRefViaCli(project, host);
102
+ }
103
+ throw e;
104
+ }
90
105
  if (!res.ok) {
91
106
  if (shouldFallback(res.status) && isGlabAvailable()) {
92
107
  return resolveRefViaCli(project, host);
@@ -102,11 +117,13 @@ async function resolveRef(project, ref, host) {
102
117
  return ref;
103
118
  }
104
119
  function resolveRefViaCli(project, host) {
105
- const res = glabRun([
120
+ const args = [
106
121
  'api',
107
122
  ...hostnameArgs(host),
108
123
  `projects/${encodeURIComponent(project)}/repository/tags?order_by=version&sort=desc&per_page=1`,
109
- ]);
124
+ ];
125
+ (0, logger_1.verbose)(`gitlab: glab fallback: glab ${args.join(' ')}`);
126
+ const res = glabRun(args);
110
127
  if (res.status !== 0) {
111
128
  throw new Error(`Failed to resolve $latest for ${project}: ${res.stderr}`);
112
129
  }
@@ -117,8 +134,19 @@ function resolveRefViaCli(project, host) {
117
134
  return tags[0].name;
118
135
  }
119
136
  async function detectPathType(project, filePath, ref, host) {
137
+ (0, logger_1.verbose)(`gitlab: detecting path type for ${project}:${filePath}@${ref}`);
120
138
  const encodedPath = encodeURIComponent(filePath);
121
- const res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/files/${encodedPath}?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
139
+ let res;
140
+ try {
141
+ res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/files/${encodedPath}?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
142
+ }
143
+ catch (e) {
144
+ if (isNetworkError(e) && isGlabAvailable()) {
145
+ (0, logger_1.verbose)(`gitlab: HTTP fetch failed, falling back to glab`);
146
+ return detectPathTypeViaCli(project, filePath, ref, host);
147
+ }
148
+ throw e;
149
+ }
122
150
  if (res.ok)
123
151
  return 'file';
124
152
  if (shouldFallback(res.status) && isGlabAvailable()) {
@@ -129,16 +157,29 @@ async function detectPathType(project, filePath, ref, host) {
129
157
  }
130
158
  function detectPathTypeViaCli(project, filePath, ref, host) {
131
159
  const encodedPath = encodeURIComponent(filePath);
132
- const res = glabRun([
160
+ const args = [
133
161
  'api',
134
162
  ...hostnameArgs(host),
135
163
  `projects/${encodeURIComponent(project)}/repository/files/${encodedPath}?ref=${encodeURIComponent(ref)}`,
136
- ]);
164
+ ];
165
+ (0, logger_1.verbose)(`gitlab: glab fallback: glab ${args.join(' ')}`);
166
+ const res = glabRun(args);
137
167
  return res.status === 0 ? 'file' : 'directory';
138
168
  }
139
169
  async function fetchFile(project, filePath, ref, host) {
170
+ (0, logger_1.verbose)(`gitlab: fetching ${project}:${filePath}@${ref}`);
140
171
  const encodedPath = encodeURIComponent(filePath);
141
- const res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/files/${encodedPath}/raw?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
172
+ let res;
173
+ try {
174
+ res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/files/${encodedPath}/raw?ref=${encodeURIComponent(ref)}`, { headers: apiHeaders() });
175
+ }
176
+ catch (e) {
177
+ if (isNetworkError(e) && isGlabAvailable()) {
178
+ (0, logger_1.verbose)(`gitlab: HTTP fetch failed, falling back to glab`);
179
+ return fetchFileViaCli(project, filePath, ref, host);
180
+ }
181
+ throw e;
182
+ }
142
183
  if (!res.ok) {
143
184
  if (shouldFallback(res.status) && isGlabAvailable()) {
144
185
  return fetchFileViaCli(project, filePath, ref, host);
@@ -149,22 +190,35 @@ async function fetchFile(project, filePath, ref, host) {
149
190
  }
150
191
  function fetchFileViaCli(project, filePath, ref, host) {
151
192
  const encodedPath = encodeURIComponent(filePath);
152
- const res = glabRunBinary([
193
+ const args = [
153
194
  'api',
154
195
  ...hostnameArgs(host),
155
196
  `projects/${encodeURIComponent(project)}/repository/files/${encodedPath}/raw?ref=${encodeURIComponent(ref)}`,
156
- ]);
197
+ ];
198
+ (0, logger_1.verbose)(`gitlab: glab fallback: glab ${args.join(' ')}`);
199
+ const res = glabRunBinary(args);
157
200
  if (res.status !== 0) {
158
201
  throw new Error(`Failed to fetch ${filePath} from ${project}@${ref}: ${res.stderr}`);
159
202
  }
160
203
  return res.stdout;
161
204
  }
162
205
  async function listTree(project, dirPath, ref, host) {
206
+ (0, logger_1.verbose)(`gitlab: listing tree ${project}:${dirPath}@${ref}`);
163
207
  const allPaths = [];
164
208
  const perPage = 100;
165
209
  let page = 1;
166
210
  while (true) {
167
- const res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/tree?path=${encodeURIComponent(dirPath)}&ref=${encodeURIComponent(ref)}&recursive=true&per_page=${perPage}&page=${page}`, { headers: apiHeaders() });
211
+ let res;
212
+ try {
213
+ res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodeURIComponent(project)}/repository/tree?path=${encodeURIComponent(dirPath)}&ref=${encodeURIComponent(ref)}&recursive=true&per_page=${perPage}&page=${page}`, { headers: apiHeaders() });
214
+ }
215
+ catch (e) {
216
+ if (isNetworkError(e) && isGlabAvailable()) {
217
+ (0, logger_1.verbose)(`gitlab: HTTP fetch failed, falling back to glab`);
218
+ return listTreeViaCli(project, dirPath, ref, host);
219
+ }
220
+ throw e;
221
+ }
168
222
  if (!res.ok) {
169
223
  if (shouldFallback(res.status) && isGlabAvailable()) {
170
224
  return listTreeViaCli(project, dirPath, ref, host);
@@ -184,11 +238,13 @@ function listTreeViaCli(project, dirPath, ref, host) {
184
238
  const perPage = 100;
185
239
  let page = 1;
186
240
  while (true) {
187
- const res = glabRun([
241
+ const args = [
188
242
  'api',
189
243
  ...hostnameArgs(host),
190
244
  `projects/${encodeURIComponent(project)}/repository/tree?path=${encodeURIComponent(dirPath)}&ref=${encodeURIComponent(ref)}&recursive=true&per_page=${perPage}&page=${page}`,
191
- ]);
245
+ ];
246
+ (0, logger_1.verbose)(`gitlab: glab fallback: glab ${args.join(' ')}`);
247
+ const res = glabRun(args);
192
248
  if (res.status !== 0) {
193
249
  throw new Error(`Failed to list tree ${dirPath} in ${project}@${ref}: ${res.stderr}`);
194
250
  }
@@ -238,8 +294,21 @@ function extractArchive(buf, dirPath) {
238
294
  }
239
295
  }
240
296
  async function fetchDirectoryViaArchive(project, dirPath, ref, host) {
297
+ (0, logger_1.verbose)(`gitlab: fetching directory via archive: ${project}:${dirPath}@${ref}`);
241
298
  const encodedProject = encodeURIComponent(project);
242
- const res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodedProject}/repository/archive.tar.gz?sha=${encodeURIComponent(ref)}&path=${encodeURIComponent(dirPath)}`, { headers: apiHeaders() });
299
+ let res;
300
+ try {
301
+ res = await (0, fetch_1.fetchWithRetry)(`https://${getHost(host)}/api/v4/projects/${encodedProject}/repository/archive.tar.gz?sha=${encodeURIComponent(ref)}&path=${encodeURIComponent(dirPath)}`, { headers: apiHeaders() });
302
+ }
303
+ catch (e) {
304
+ if (isNetworkError(e) && isGlabAvailable()) {
305
+ (0, logger_1.verbose)(`gitlab: HTTP fetch failed, falling back to glab`);
306
+ return fetchDirectoryViaArchiveViaCli(project, dirPath, ref, host);
307
+ }
308
+ if (isNetworkError(e))
309
+ return null;
310
+ throw e;
311
+ }
243
312
  if (!res.ok) {
244
313
  if (shouldFallback(res.status) && isGlabAvailable()) {
245
314
  return fetchDirectoryViaArchiveViaCli(project, dirPath, ref, host);
@@ -253,11 +322,16 @@ async function fetchDirectoryViaArchive(project, dirPath, ref, host) {
253
322
  }
254
323
  function fetchDirectoryViaArchiveViaCli(project, dirPath, ref, host) {
255
324
  const encodedProject = encodeURIComponent(project);
256
- const result = (0, child_process_1.spawnSync)('glab', [
325
+ const cliArgs = [
257
326
  'api',
258
327
  ...hostnameArgs(host),
259
328
  `projects/${encodedProject}/repository/archive.tar.gz?sha=${encodeURIComponent(ref)}&path=${encodeURIComponent(dirPath)}`,
260
- ], { encoding: 'buffer', maxBuffer: 200 * 1024 * 1024 });
329
+ ];
330
+ (0, logger_1.verbose)(`gitlab: glab fallback: glab ${cliArgs.join(' ')}`);
331
+ const result = (0, child_process_1.spawnSync)('glab', cliArgs, {
332
+ encoding: 'buffer',
333
+ maxBuffer: 200 * 1024 * 1024,
334
+ });
261
335
  if (result.error || result.status !== 0 || !result.stdout?.length)
262
336
  return null;
263
337
  return extractArchive(result.stdout, dirPath);
@@ -1 +1 @@
1
- {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/sources/gitlab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../../src/sources/gitlab.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { FileEntry, Variables } from '../types';
1
+ import { FileEntry, FileSrc, Variables } from '../types';
2
+ declare function srcFilename(src: FileSrc): string | null;
2
3
  export interface SourceFetchRecord {
3
4
  sourceLabel: string;
4
5
  observedSha: string;
@@ -13,4 +14,8 @@ export type FetchCache = Map<string, {
13
14
  files: Map<string, Buffer>;
14
15
  }>;
15
16
  export declare function fetchSource(entry: FileEntry, workingDir: string, vars?: Variables, cache?: FetchCache): Promise<FetchResult>;
17
+ export declare const _testable: {
18
+ srcFilename: typeof srcFilename;
19
+ };
20
+ export {};
16
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EAKT,SAAS,EACV,MAAM,UAAU,CAAC;AA+GlB,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC;AAmTrE,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,SAAc,EACpB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CAkKtB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sources/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,SAAS,EACT,OAAO,EAIP,SAAS,EACV,MAAM,UAAU,CAAC;AAoBlB,iBAAS,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA8ChD;AA2DD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC;AAmUrE,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,SAAc,EACpB,KAAK,CAAC,EAAE,UAAU,GACjB,OAAO,CAAC,WAAW,CAAC,CAkKtB;AAED,eAAO,MAAM,SAAS;;CAAkB,CAAC"}