@numa-tech/numa 1.12.11 → 1.13.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 (59) hide show
  1. package/README.md +83 -2
  2. package/dist/application-onboarding/client.d.ts +83 -8
  3. package/dist/application-onboarding/client.js +23 -1
  4. package/dist/application-onboarding/client.js.map +1 -1
  5. package/dist/application-onboarding/commands.js +66 -4
  6. package/dist/application-onboarding/commands.js.map +1 -1
  7. package/dist/application-onboarding/schemas.d.ts +301 -58
  8. package/dist/application-onboarding/schemas.js +134 -8
  9. package/dist/application-onboarding/schemas.js.map +1 -1
  10. package/dist/application-onboarding/tui-model.d.ts +18 -0
  11. package/dist/application-onboarding/tui-model.js +215 -3
  12. package/dist/application-onboarding/tui-model.js.map +1 -1
  13. package/dist/application-onboarding/tui.d.ts +1 -1
  14. package/dist/application-onboarding/tui.js +20 -6
  15. package/dist/application-onboarding/tui.js.map +1 -1
  16. package/dist/cli.js +50 -8
  17. package/dist/cli.js.map +1 -1
  18. package/dist/clusters/client.d.ts +436 -0
  19. package/dist/clusters/client.js +207 -0
  20. package/dist/clusters/client.js.map +1 -0
  21. package/dist/clusters/commands.d.ts +11 -0
  22. package/dist/clusters/commands.js +373 -0
  23. package/dist/clusters/commands.js.map +1 -0
  24. package/dist/clusters/errors.d.ts +10 -0
  25. package/dist/clusters/errors.js +61 -0
  26. package/dist/clusters/errors.js.map +1 -0
  27. package/dist/clusters/kubeconfig-discovery.d.ts +48 -0
  28. package/dist/clusters/kubeconfig-discovery.js +280 -0
  29. package/dist/clusters/kubeconfig-discovery.js.map +1 -0
  30. package/dist/clusters/schemas.d.ts +510 -0
  31. package/dist/clusters/schemas.js +201 -0
  32. package/dist/clusters/schemas.js.map +1 -0
  33. package/dist/command-catalog.js +354 -0
  34. package/dist/command-catalog.js.map +1 -1
  35. package/dist/gitops/client.d.ts +499 -0
  36. package/dist/gitops/client.js +163 -0
  37. package/dist/gitops/client.js.map +1 -0
  38. package/dist/gitops/commands.d.ts +11 -0
  39. package/dist/gitops/commands.js +367 -0
  40. package/dist/gitops/commands.js.map +1 -0
  41. package/dist/gitops/errors.d.ts +10 -0
  42. package/dist/gitops/errors.js +59 -0
  43. package/dist/gitops/errors.js.map +1 -0
  44. package/dist/gitops/schemas.d.ts +1712 -0
  45. package/dist/gitops/schemas.js +360 -0
  46. package/dist/gitops/schemas.js.map +1 -0
  47. package/dist/repositories/client.d.ts +540 -0
  48. package/dist/repositories/client.js +215 -0
  49. package/dist/repositories/client.js.map +1 -0
  50. package/dist/repositories/commands.d.ts +10 -0
  51. package/dist/repositories/commands.js +347 -0
  52. package/dist/repositories/commands.js.map +1 -0
  53. package/dist/repositories/errors.d.ts +10 -0
  54. package/dist/repositories/errors.js +60 -0
  55. package/dist/repositories/errors.js.map +1 -0
  56. package/dist/repositories/schemas.d.ts +1692 -0
  57. package/dist/repositories/schemas.js +255 -0
  58. package/dist/repositories/schemas.js.map +1 -0
  59. package/package.json +4 -4
@@ -0,0 +1,10 @@
1
+ export declare function redactRepositoryText(value: string): string;
2
+ export declare function sanitizeRepositoryOutput(value: unknown, key?: string): unknown;
3
+ export declare class RepositoryError extends Error {
4
+ readonly code: string;
5
+ readonly status?: number | undefined;
6
+ readonly requestId?: string | undefined;
7
+ readonly details?: unknown;
8
+ constructor(message: string, code: string, status?: number | undefined, requestId?: string | undefined, details?: unknown);
9
+ }
10
+ export declare function repositoryExitCode(error: RepositoryError): number;
@@ -0,0 +1,60 @@
1
+ const SENSITIVE_KEY_PARTS = [
2
+ "secret", "password", "passphrase", "credential", "token", "privatekey",
3
+ "signingkey", "encryptionkey", "apikey", "accesskey", "baseurl", "cloneurl"
4
+ ];
5
+ function sensitiveKey(key) {
6
+ const normalized = key.replace(/[^A-Za-z0-9]/gu, "").toLowerCase();
7
+ return SENSITIVE_KEY_PARTS.some((part) => normalized.includes(part));
8
+ }
9
+ export function redactRepositoryText(value) {
10
+ return value
11
+ .replace(/\b(Bearer|Basic)\s+[^\s,;]+/giu, "$1 [REDACTED]")
12
+ .replace(/([?&](?:access_token|refresh_token|token|signature|credential|api[_-]?key)=)[^&#\s]+/giu, "$1[REDACTED]")
13
+ .replace(/\b((?:password|passwd|token|api[_-]?key|access[_-]?token|refresh[_-]?token|secret|credential)\s*[=:]\s*)[^\s,;]+/giu, "$1[REDACTED]")
14
+ .replace(/(https?:\/\/)[^\s/@:]+:[^\s/@]+@/giu, "$1[REDACTED]@")
15
+ .replace(/("(?:accessToken|refreshToken|apiToken|clientSecret|password|secret|token|credential)"\s*:\s*")[^"]*(")/giu, "$1[REDACTED]$2")
16
+ .replace(/(?<![A-Za-z0-9_-])eyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}(?![A-Za-z0-9_-])/gu, "[REDACTED_JWT]");
17
+ }
18
+ export function sanitizeRepositoryOutput(value, key = "") {
19
+ if (/configured$/iu.test(key) && typeof value === "boolean")
20
+ return value;
21
+ if (sensitiveKey(key))
22
+ return "[REDACTED]";
23
+ if (typeof value === "string")
24
+ return redactRepositoryText(value);
25
+ if (Array.isArray(value))
26
+ return value.map((item) => sanitizeRepositoryOutput(item));
27
+ if (value && typeof value === "object") {
28
+ return Object.fromEntries(Object.entries(value)
29
+ .map(([name, item]) => [name, sanitizeRepositoryOutput(item, name)]));
30
+ }
31
+ return value;
32
+ }
33
+ export class RepositoryError extends Error {
34
+ code;
35
+ status;
36
+ requestId;
37
+ details;
38
+ constructor(message, code, status, requestId, details) {
39
+ super(redactRepositoryText(message));
40
+ this.code = code;
41
+ this.status = status;
42
+ this.requestId = requestId;
43
+ this.name = "RepositoryError";
44
+ this.details = details == null ? undefined : sanitizeRepositoryOutput(details);
45
+ }
46
+ }
47
+ export function repositoryExitCode(error) {
48
+ if (error.status === 401)
49
+ return 3;
50
+ if (error.status === 403 || /(?:FORBIDDEN|GOVERNANCE_REQUIRED)/u.test(error.code))
51
+ return 4;
52
+ if (error.status === 409 || /(?:STALE|CONFLICT|PLAN_HASH)/u.test(error.code))
53
+ return 5;
54
+ if ((error.status ?? 0) >= 500 || /(?:UNAVAILABLE|RECONCILE_FAILED|RESULT_UNKNOWN)/u.test(error.code))
55
+ return 6;
56
+ if (/(?:CLI_INPUT|IDEMPOTENCY|PLAN_REQUIRED|PLAN_OPERATION)/u.test(error.code))
57
+ return 2;
58
+ return 1;
59
+ }
60
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/repositories/errors.ts"],"names":[],"mappings":"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"}