@inquir/compute-cli 0.1.2 → 0.1.4

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 (121) hide show
  1. package/README.md +117 -19
  2. package/dist/commands/codegen.d.ts.map +1 -1
  3. package/dist/commands/codegen.js +3 -0
  4. package/dist/commands/codegen.js.map +1 -1
  5. package/dist/commands/config.d.ts +2 -0
  6. package/dist/commands/config.d.ts.map +1 -0
  7. package/dist/commands/config.js +99 -0
  8. package/dist/commands/config.js.map +1 -0
  9. package/dist/commands/debug.d.ts.map +1 -1
  10. package/dist/commands/debug.js +2 -10
  11. package/dist/commands/debug.js.map +1 -1
  12. package/dist/commands/delete.d.ts +2 -0
  13. package/dist/commands/delete.d.ts.map +1 -0
  14. package/dist/commands/delete.js +50 -0
  15. package/dist/commands/delete.js.map +1 -0
  16. package/dist/commands/deploy.d.ts.map +1 -1
  17. package/dist/commands/deploy.js +122 -16
  18. package/dist/commands/deploy.js.map +1 -1
  19. package/dist/commands/deploys.d.ts.map +1 -1
  20. package/dist/commands/deploys.js +10 -4
  21. package/dist/commands/deploys.js.map +1 -1
  22. package/dist/commands/doctor.d.ts +2 -0
  23. package/dist/commands/doctor.d.ts.map +1 -0
  24. package/dist/commands/doctor.js +137 -0
  25. package/dist/commands/doctor.js.map +1 -0
  26. package/dist/commands/init.d.ts.map +1 -1
  27. package/dist/commands/init.js +44 -17
  28. package/dist/commands/init.js.map +1 -1
  29. package/dist/commands/invoke.d.ts.map +1 -1
  30. package/dist/commands/invoke.js +13 -6
  31. package/dist/commands/invoke.js.map +1 -1
  32. package/dist/commands/list.d.ts.map +1 -1
  33. package/dist/commands/list.js +32 -1
  34. package/dist/commands/list.js.map +1 -1
  35. package/dist/commands/login.d.ts.map +1 -1
  36. package/dist/commands/login.js +5 -0
  37. package/dist/commands/login.js.map +1 -1
  38. package/dist/commands/logout.d.ts.map +1 -1
  39. package/dist/commands/logout.js +3 -0
  40. package/dist/commands/logout.js.map +1 -1
  41. package/dist/commands/logs.d.ts.map +1 -1
  42. package/dist/commands/logs.js +11 -7
  43. package/dist/commands/logs.js.map +1 -1
  44. package/dist/commands/rollback.d.ts.map +1 -1
  45. package/dist/commands/rollback.js +12 -6
  46. package/dist/commands/rollback.js.map +1 -1
  47. package/dist/commands/run.d.ts.map +1 -1
  48. package/dist/commands/run.js +12 -5
  49. package/dist/commands/run.js.map +1 -1
  50. package/dist/commands/status.d.ts.map +1 -1
  51. package/dist/commands/status.js +11 -4
  52. package/dist/commands/status.js.map +1 -1
  53. package/dist/commands/sync-status.d.ts.map +1 -1
  54. package/dist/commands/sync-status.js +12 -6
  55. package/dist/commands/sync-status.js.map +1 -1
  56. package/dist/commands/use.d.ts.map +1 -1
  57. package/dist/commands/use.js +44 -5
  58. package/dist/commands/use.js.map +1 -1
  59. package/dist/commands/whoami.d.ts.map +1 -1
  60. package/dist/commands/whoami.js +11 -6
  61. package/dist/commands/whoami.js.map +1 -1
  62. package/dist/commands/workspaces.d.ts.map +1 -1
  63. package/dist/commands/workspaces.js +10 -5
  64. package/dist/commands/workspaces.js.map +1 -1
  65. package/dist/index.js +94 -65
  66. package/dist/index.js.map +1 -1
  67. package/dist/utils/api.d.ts +10 -0
  68. package/dist/utils/api.d.ts.map +1 -1
  69. package/dist/utils/api.js +14 -1
  70. package/dist/utils/api.js.map +1 -1
  71. package/dist/utils/args.d.ts +6 -0
  72. package/dist/utils/args.d.ts.map +1 -1
  73. package/dist/utils/args.js +101 -12
  74. package/dist/utils/args.js.map +1 -1
  75. package/dist/utils/assets.d.ts +7 -0
  76. package/dist/utils/assets.d.ts.map +1 -1
  77. package/dist/utils/assets.js +18 -0
  78. package/dist/utils/assets.js.map +1 -1
  79. package/dist/utils/auth.d.ts +3 -0
  80. package/dist/utils/auth.d.ts.map +1 -1
  81. package/dist/utils/auth.js +42 -13
  82. package/dist/utils/auth.js.map +1 -1
  83. package/dist/utils/context.d.ts +29 -0
  84. package/dist/utils/context.d.ts.map +1 -0
  85. package/dist/utils/context.js +76 -0
  86. package/dist/utils/context.js.map +1 -0
  87. package/dist/utils/deploy-follow.d.ts.map +1 -1
  88. package/dist/utils/deploy-follow.js +7 -1
  89. package/dist/utils/deploy-follow.js.map +1 -1
  90. package/dist/utils/ensure-auth.d.ts +8 -0
  91. package/dist/utils/ensure-auth.d.ts.map +1 -0
  92. package/dist/utils/ensure-auth.js +27 -0
  93. package/dist/utils/ensure-auth.js.map +1 -0
  94. package/dist/utils/errors.d.ts +54 -0
  95. package/dist/utils/errors.d.ts.map +1 -0
  96. package/dist/utils/errors.js +221 -0
  97. package/dist/utils/errors.js.map +1 -0
  98. package/dist/utils/output.d.ts +11 -1
  99. package/dist/utils/output.d.ts.map +1 -1
  100. package/dist/utils/output.js +51 -7
  101. package/dist/utils/output.js.map +1 -1
  102. package/dist/utils/package-metadata.d.ts +3 -0
  103. package/dist/utils/package-metadata.d.ts.map +1 -0
  104. package/dist/utils/package-metadata.js +22 -0
  105. package/dist/utils/package-metadata.js.map +1 -0
  106. package/dist/utils/payload.d.ts.map +1 -1
  107. package/dist/utils/payload.js +4 -4
  108. package/dist/utils/payload.js.map +1 -1
  109. package/dist/utils/prompt.d.ts +22 -0
  110. package/dist/utils/prompt.d.ts.map +1 -0
  111. package/dist/utils/prompt.js +67 -0
  112. package/dist/utils/prompt.js.map +1 -0
  113. package/dist/utils/redact.d.ts +14 -0
  114. package/dist/utils/redact.d.ts.map +1 -0
  115. package/dist/utils/redact.js +45 -0
  116. package/dist/utils/redact.js.map +1 -0
  117. package/dist/utils/version.d.ts +8 -0
  118. package/dist/utils/version.d.ts.map +1 -0
  119. package/dist/utils/version.js +21 -0
  120. package/dist/utils/version.js.map +1 -0
  121. package/package.json +5 -3
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Secret redaction. Tokens and API keys must never appear in output, logs, or
3
+ * `--debug` traces. We redact by (a) known patterns and (b) any value explicitly
4
+ * registered at runtime (the resolved credential, env values, etc.).
5
+ */
6
+ const registeredSecrets = new Set();
7
+ /** Token/credential shapes to scrub even if not explicitly registered. */
8
+ const SECRET_PATTERNS = [
9
+ /inq_pat_[A-Za-z0-9._-]+/g, // Personal Access Tokens
10
+ /\bBearer\s+[A-Za-z0-9._-]{8,}/gi, // Authorization: Bearer <token>
11
+ ];
12
+ /** Register a concrete secret value so it is masked wherever it appears. */
13
+ export function registerSecret(value) {
14
+ if (value && value.length >= 6) {
15
+ registeredSecrets.add(value);
16
+ }
17
+ }
18
+ /** For tests / isolation. */
19
+ export function clearRegisteredSecrets() {
20
+ registeredSecrets.clear();
21
+ }
22
+ /** Mask a single token for display: keep a hint of the prefix + last 4 chars. */
23
+ export function maskToken(value) {
24
+ if (!value)
25
+ return '(none)';
26
+ if (value.length <= 8)
27
+ return '****';
28
+ const prefixMatch = /^([a-z]+_[a-z]+_)/i.exec(value);
29
+ const prefix = prefixMatch ? prefixMatch[1] : value.slice(0, 4);
30
+ return `${prefix}…${value.slice(-4)}`;
31
+ }
32
+ /** Redact all known secrets from an arbitrary string. */
33
+ export function redact(input) {
34
+ let output = input;
35
+ for (const secret of registeredSecrets) {
36
+ if (secret) {
37
+ output = output.split(secret).join(maskToken(secret));
38
+ }
39
+ }
40
+ for (const pattern of SECRET_PATTERNS) {
41
+ output = output.replace(pattern, (match) => maskToken(match.replace(/^Bearer\s+/i, '')));
42
+ }
43
+ return output;
44
+ }
45
+ //# sourceMappingURL=redact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/utils/redact.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C,0EAA0E;AAC1E,MAAM,eAAe,GAAa;IAChC,0BAA0B,EAAE,yBAAyB;IACrD,iCAAiC,EAAE,gCAAgC;CACpE,CAAC;AAEF,4EAA4E;AAC5E,MAAM,UAAU,cAAc,CAAC,KAAgC;IAC7D,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC/B,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,MAAM,UAAU,sBAAsB;IACpC,iBAAiB,CAAC,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,SAAS,CAAC,KAAyB;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,OAAO,GAAG,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Read the CLI version from package.json so it never drifts from the published
3
+ * version. Works both from the built `dist/utils/version.js` and from the
4
+ * `src/utils/version.ts` source under Vitest — package.json is two levels up
5
+ * from this file in both cases.
6
+ */
7
+ export declare function getVersion(): string;
8
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CASnC"}
@@ -0,0 +1,21 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ /**
5
+ * Read the CLI version from package.json so it never drifts from the published
6
+ * version. Works both from the built `dist/utils/version.js` and from the
7
+ * `src/utils/version.ts` source under Vitest — package.json is two levels up
8
+ * from this file in both cases.
9
+ */
10
+ export function getVersion() {
11
+ try {
12
+ const here = path.dirname(fileURLToPath(import.meta.url));
13
+ const pkgPath = path.resolve(here, '..', '..', 'package.json');
14
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
15
+ return pkg.version ?? '0.0.0';
16
+ }
17
+ catch {
18
+ return '0.0.0';
19
+ }
20
+ }
21
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAyB,CAAC;QAC9E,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inquir/compute-cli",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "type": "module",
5
5
  "description": "Workspace-first CLI for Inquir Compute.",
6
6
  "bin": {
@@ -10,15 +10,17 @@
10
10
  "dist"
11
11
  ],
12
12
  "scripts": {
13
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
13
14
  "build": "npm --prefix ../.. run build --workspace @inquir/compute && tsc -p tsconfig.json",
14
- "prepublishOnly": "npm run build",
15
+ "build:self": "tsc -p tsconfig.json",
16
+ "prepublishOnly": "npm run clean && npm run build",
15
17
  "test": "npx vitest run -c vitest.config.ts"
16
18
  },
17
19
  "publishConfig": {
18
20
  "access": "public"
19
21
  },
20
22
  "dependencies": {
21
- "@inquir/compute": "^0.1.1",
23
+ "@inquir/compute": "^0.1.2",
22
24
  "tsx": "^4.19.2"
23
25
  },
24
26
  "devDependencies": {