@vigilbase/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 (120) hide show
  1. package/CLOUDFLARE.md +112 -0
  2. package/COMMANDS.md +147 -0
  3. package/ONE.md +99 -0
  4. package/README.md +188 -54
  5. package/SECURITY.md +134 -0
  6. package/dist/auth/device-auth.d.ts +1 -1
  7. package/dist/auth/device-auth.d.ts.map +1 -1
  8. package/dist/auth/device-auth.js +68 -72
  9. package/dist/auth/device-auth.js.map +1 -1
  10. package/dist/auth/store.d.ts +4 -6
  11. package/dist/auth/store.d.ts.map +1 -1
  12. package/dist/auth/store.js +136 -54
  13. package/dist/auth/store.js.map +1 -1
  14. package/dist/auth/types.d.ts +2 -1
  15. package/dist/auth/types.d.ts.map +1 -1
  16. package/dist/bin.js +2 -0
  17. package/dist/bin.js.map +1 -1
  18. package/dist/cli.d.ts +1 -0
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +89 -8
  21. package/dist/cli.js.map +1 -1
  22. package/dist/commands/account.d.ts.map +1 -1
  23. package/dist/commands/account.js +25 -9
  24. package/dist/commands/account.js.map +1 -1
  25. package/dist/commands/auth.d.ts +1 -0
  26. package/dist/commands/auth.d.ts.map +1 -1
  27. package/dist/commands/auth.js +49 -10
  28. package/dist/commands/auth.js.map +1 -1
  29. package/dist/commands/billing.d.ts.map +1 -1
  30. package/dist/commands/billing.js +5 -1
  31. package/dist/commands/billing.js.map +1 -1
  32. package/dist/commands/cloudflare.d.ts +1 -0
  33. package/dist/commands/cloudflare.d.ts.map +1 -1
  34. package/dist/commands/cloudflare.js +328 -40
  35. package/dist/commands/cloudflare.js.map +1 -1
  36. package/dist/commands/helpers.d.ts +35 -0
  37. package/dist/commands/helpers.d.ts.map +1 -1
  38. package/dist/commands/helpers.js +12 -0
  39. package/dist/commands/helpers.js.map +1 -1
  40. package/dist/commands/index.d.ts.map +1 -1
  41. package/dist/commands/index.js +7 -0
  42. package/dist/commands/index.js.map +1 -1
  43. package/dist/commands/legacy-validation.d.ts +21 -0
  44. package/dist/commands/legacy-validation.d.ts.map +1 -0
  45. package/dist/commands/legacy-validation.js +20 -0
  46. package/dist/commands/legacy-validation.js.map +1 -0
  47. package/dist/commands/one.d.ts +6 -0
  48. package/dist/commands/one.d.ts.map +1 -0
  49. package/dist/commands/one.js +200 -0
  50. package/dist/commands/one.js.map +1 -0
  51. package/dist/commands/public-tools.d.ts.map +1 -1
  52. package/dist/commands/public-tools.js +68 -11
  53. package/dist/commands/public-tools.js.map +1 -1
  54. package/dist/commands/runs.d.ts.map +1 -1
  55. package/dist/commands/runs.js +19 -12
  56. package/dist/commands/runs.js.map +1 -1
  57. package/dist/commands/security.d.ts +6 -0
  58. package/dist/commands/security.d.ts.map +1 -0
  59. package/dist/commands/security.js +391 -0
  60. package/dist/commands/security.js.map +1 -0
  61. package/dist/commands/watchdog.d.ts.map +1 -1
  62. package/dist/commands/watchdog.js +15 -12
  63. package/dist/commands/watchdog.js.map +1 -1
  64. package/dist/index.d.ts +4 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +2 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/lib/client.d.ts +3 -0
  69. package/dist/lib/client.d.ts.map +1 -1
  70. package/dist/lib/client.js +35 -62
  71. package/dist/lib/client.js.map +1 -1
  72. package/dist/lib/cloudflare-client.d.ts +40 -0
  73. package/dist/lib/cloudflare-client.d.ts.map +1 -0
  74. package/dist/lib/cloudflare-client.js +81 -0
  75. package/dist/lib/cloudflare-client.js.map +1 -0
  76. package/dist/lib/config.d.ts +2 -0
  77. package/dist/lib/config.d.ts.map +1 -1
  78. package/dist/lib/config.js +37 -12
  79. package/dist/lib/config.js.map +1 -1
  80. package/dist/lib/format.d.ts +2 -0
  81. package/dist/lib/format.d.ts.map +1 -1
  82. package/dist/lib/format.js +23 -8
  83. package/dist/lib/format.js.map +1 -1
  84. package/dist/lib/help.d.ts +2 -2
  85. package/dist/lib/help.d.ts.map +1 -1
  86. package/dist/lib/help.js +45 -12
  87. package/dist/lib/help.js.map +1 -1
  88. package/dist/lib/network.d.ts +17 -0
  89. package/dist/lib/network.d.ts.map +1 -0
  90. package/dist/lib/network.js +108 -0
  91. package/dist/lib/network.js.map +1 -0
  92. package/dist/lib/one-client.d.ts +10 -1
  93. package/dist/lib/one-client.d.ts.map +1 -1
  94. package/dist/lib/one-client.js +52 -50
  95. package/dist/lib/one-client.js.map +1 -1
  96. package/dist/lib/one-operations.d.ts +11 -0
  97. package/dist/lib/one-operations.d.ts.map +1 -0
  98. package/dist/lib/one-operations.js +67 -0
  99. package/dist/lib/one-operations.js.map +1 -0
  100. package/dist/lib/open-url.d.ts +2 -0
  101. package/dist/lib/open-url.d.ts.map +1 -1
  102. package/dist/lib/open-url.js +23 -22
  103. package/dist/lib/open-url.js.map +1 -1
  104. package/dist/lib/progress.d.ts +1 -1
  105. package/dist/lib/progress.d.ts.map +1 -1
  106. package/dist/lib/progress.js +3 -1
  107. package/dist/lib/progress.js.map +1 -1
  108. package/dist/lib/security-client.d.ts +279 -0
  109. package/dist/lib/security-client.d.ts.map +1 -0
  110. package/dist/lib/security-client.js +111 -0
  111. package/dist/lib/security-client.js.map +1 -0
  112. package/dist/lib/skill-fetch.d.ts +7 -0
  113. package/dist/lib/skill-fetch.d.ts.map +1 -0
  114. package/dist/lib/skill-fetch.js +102 -0
  115. package/dist/lib/skill-fetch.js.map +1 -0
  116. package/dist/lib/system-trust.d.ts +8 -0
  117. package/dist/lib/system-trust.d.ts.map +1 -0
  118. package/dist/lib/system-trust.js +11 -0
  119. package/dist/lib/system-trust.js.map +1 -0
  120. package/package.json +12 -2
@@ -1,15 +1,23 @@
1
+ import { stripVTControlCharacters } from 'node:util';
2
+ /** Untrusted API data must never become terminal control sequences or bidi overrides. */
3
+ export function sanitizeTerminal(value) {
4
+ return stripVTControlCharacters(value).replace(/[\u0000-\u0008\u000b-\u001f\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/g, '');
5
+ }
1
6
  export function createWriter(stdout = process.stdout, stderr = process.stderr) {
2
7
  return {
3
8
  stdout: (line = '') => {
9
+ line = sanitizeTerminal(line);
4
10
  stdout.write(line.endsWith('\n') ? line : `${line}\n`);
5
11
  },
6
12
  stderr: (line = '') => {
13
+ line = sanitizeTerminal(line);
7
14
  stderr.write(line.endsWith('\n') ? line : `${line}\n`);
8
15
  },
9
16
  };
10
17
  }
11
18
  export function printJson(writer, value) {
12
- writer.stdout(JSON.stringify(value, null, 2));
19
+ // Keep JSON lossless while preventing literal terminal/bidi controls in rendered output.
20
+ writer.stdout(JSON.stringify(value, null, 2).replace(/[\u007f-\u009f\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069]/g, (char) => `\\u${char.charCodeAt(0).toString(16).padStart(4, '0')}`));
13
21
  }
14
22
  function asRecord(value) {
15
23
  if (!value || typeof value !== 'object' || Array.isArray(value))
@@ -257,26 +265,33 @@ export function formatExecuteResult(result, mode, writer) {
257
265
  }
258
266
  }
259
267
  export function formatError(error, mode, writer) {
260
- const message = error instanceof Error ? error.message : String(error);
268
+ let message = error instanceof Error ? error.message : String(error);
269
+ // Server bodies can contain credentials, customer data, or arbitrary error text.
270
+ if (error && typeof error === 'object' && 'body' in error && error.body != null && 'status' in error && typeof error.status === 'number') {
271
+ message = 'code' in error && error.code === 'FLAREHAWK_VIEW_AS_REQUIRED'
272
+ ? 'Select a customer with --customer-id <customer UUID> for security commands.'
273
+ : `Request failed (HTTP ${error.status}).`;
274
+ }
261
275
  const payload = {
262
276
  success: false,
263
277
  error: message,
264
278
  };
265
279
  if (error && typeof error === 'object') {
266
- if ('status' in error && typeof error.status === 'number') {
280
+ if ('status' in error && typeof error.status === 'number' &&
281
+ Number.isInteger(error.status) && error.status >= 0 && error.status <= 599) {
267
282
  payload.status = error.status;
268
283
  }
269
284
  if ('code' in error &&
270
- typeof error.code === 'string') {
285
+ typeof error.code === 'string' &&
286
+ /^[A-Za-z][A-Za-z0-9_]{0,79}$/.test(error.code)) {
271
287
  payload.code = error.code;
272
288
  }
273
289
  if ('retryAfterSec' in error &&
274
- typeof error.retryAfterSec === 'number') {
290
+ typeof error.retryAfterSec === 'number' &&
291
+ Number.isSafeInteger(error.retryAfterSec) &&
292
+ error.retryAfterSec >= 0) {
275
293
  payload.retryAfterSec = error.retryAfterSec;
276
294
  }
277
- if ('body' in error && error.body != null) {
278
- payload.body = error.body;
279
- }
280
295
  }
281
296
  if (mode === 'json') {
282
297
  printJson(writer, payload);
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,YAAY,CAC1B,SAAgC,OAAO,CAAC,MAAM,EAC9C,SAAgC,OAAO,CAAC,MAAM;IAE9C,OAAO;QACL,MAAM,EAAE,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;QACxD,CAAC;QACD,MAAM,EAAE,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;QACxD,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,KAAc;IACtD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC;AAQD,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC5E,OAAO,KAAgC,CAAA;AACzC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IAEtB,MAAM,KAAK,GACT,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC;QAC9C,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC;QAC5C,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;QAChD,CAAC,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QACpD,IAAI,CAAA;IACN,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,cAAc,GAClB,CAAC,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC;QAChE,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC;QACxD,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;YACpC,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,QAAQ;YACzC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC;QACT,SAAS,CAAA;IAEX,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QACvE,cAAc,EAAE,cAAc,IAAI,SAAS;KAC5C,CAAA;AACH,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;AAEnF,SAAS,iBAAiB,CAAC,OAAkB,EAAE,MAAiB;IAC9D,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACzE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAQ;QAE9C,MAAM,KAAK,GACT,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC;YAC5C,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC;YAC9C,IAAI,CAAA;QACN,IAAI,CAAC,KAAK;YAAE,SAAQ;QAEpB,MAAM,cAAc,GAClB,CAAC,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC;YAChE,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC;YAC1D,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC;YAClD,SAAS,CAAA;QAEX,OAAO,CAAC,IAAI,CAAC;YACX,KAAK;YACL,QAAQ,EACN,CAAC,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;gBACpD,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc;SACf,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAA+B;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC1E,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,QAAgB,EAAE,MAAM,GAAG,GAAG,QAAQ,GAAG,EAAE,EAAE,CACrE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;IAEvC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;IAChD,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAA;IAC5E,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACpD,CAAC;AAED,SAAS,eAAe,CAAC,MAA+B;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACxC,MAAM,OAAO,GAAc,EAAE,CAAA;IAE7B,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,CAAU,EAAE,CAAC;QACrE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,GAAI,MAAM,CAAC,GAAG,CAAe,CAAC,CAAA;QAC3E,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,GAAI,OAAO,CAAC,GAAG,CAAe,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAmB,CAAC,CAAA;IACxD,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAmB,CAAC,CAAA;IACzD,CAAC;IAED,mFAAmF;IACnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC9B,IAAI,CAAC,MAAM;oBAAE,SAAQ;gBACrB,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBAC5E,SAAQ;gBACV,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE;oBAClF,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;oBAClD,cAAc,EACZ,CAAC,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,IAAI,MAAM,CAAC,cAAc,CAAC;wBACpE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;iBACzE,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC9B,IAAI,CAAC,MAAM;oBAAE,SAAQ;gBACrB,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;gBACrE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBACnF,SAAQ;gBACV,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI;qBAChB,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;qBAC1B,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;qBACjB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;gBACxC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC;oBAChD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;oBACnF,CAAC,CAAC,EAAE,CAAA;gBACN,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EACH,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;wBACxD,GAAG,MAAM,IAAI,MAAM,IAAI,SAAS,EAAE;oBACpC,QAAQ,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBAC3E,cAAc,EACZ,IAAI,CAAC,CAAC,CAAC;wBACP,CAAC,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;iBAClF,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAc,EAAE,CAAA;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO;YAAE,SAAQ;QACtB,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAA;QAC5F,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACb,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAE5B,kFAAkF;AAClF,SAAS,sBAAsB,CAC7B,MAAkD;IAElD,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IAEtB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1E,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAEhC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACtC,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAE9B,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,KAAK,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;QACrE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,MAAM,GAAG,iBAAiB,oBAAoB,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAkC,EAClC,IAAmB,EACnB,MAAc,EACd,OAKC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1B,OAAM;IACR,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzE,MAAM,CAAC,MAAM,CAAC,cAAc,WAAW,IAAI,QAAQ,EAAE,CAAC,CAAA;IACtD,MAAM,YAAY,GAChB,OAAO,EAAE,iBAAiB,IAAI,OAAO,EAAE,cAAc,IAAI,EAAE,CAAA;IAC7D,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,MAAM,CAAC,cAAc,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,IAAI,OAAO,OAAO,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAA;IAC3F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAAyB,EACzB,IAAmB,EACnB,MAAc,EACd,aAAsB;IAEtB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC,CAAA;QACpE,OAAM;IACR,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAC/C,MAAM,KAAK,GACT,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG;QAC3B,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG;QAC/C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;IACtB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACpB,MAAM,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,QAAQ,WAAW,CAAC,CAAA;IAExD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,MAAM,EAAE,CAAA;QACf,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAA;IACxC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAgC,EAChC,IAAmB,EACnB,MAAc;IAEd,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACzB,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAA;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA;IAClC,MAAM,KAAK,GACT,MAAM,CAAC,KAAK,IAAI,IAAI;QAClB,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9E,CAAC,CAAC,KAAK,CAAA;IAEX,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO;QACzB,CAAC,CAAC,KAAK,IAAI,MAAM,MAAM,MAAM,KAAK,EAAE;QACpC,CAAC,CAAC,KAAK,IAAI,MAAM,MAAM,MAAM,KAAK,EAAE,CAAA;IAEtC,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAExB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,KAAc,EACd,IAAmB,EACnB,MAAc;IAEd,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtE,MAAM,OAAO,GAA4B;QACvC,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,OAAO;KACf,CAAA;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,QAAQ,IAAI,KAAK,IAAI,OAAQ,KAA6B,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACnF,OAAO,CAAC,MAAM,GAAI,KAA4B,CAAC,MAAM,CAAA;QACvD,CAAC;QACD,IACE,MAAM,IAAI,KAAK;YACf,OAAQ,KAA2B,CAAC,IAAI,KAAK,QAAQ,EACrD,CAAC;YACD,OAAO,CAAC,IAAI,GAAI,KAA0B,CAAC,IAAI,CAAA;QACjD,CAAC;QACD,IACE,eAAe,IAAI,KAAK;YACxB,OAAQ,KAAoC,CAAC,aAAa,KAAK,QAAQ,EACvE,CAAC;YACD,OAAO,CAAC,aAAa,GAAI,KAAmC,CAAC,aAAa,CAAA;QAC5E,CAAC;QACD,IAAI,MAAM,IAAI,KAAK,IAAK,KAA2B,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACjE,OAAO,CAAC,IAAI,GAAI,KAA2B,CAAC,IAAI,CAAA;QAClD,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC1B,OAAM;IACR,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IAClC,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,eAAe,OAAO,CAAC,aAAa,GAAG,CAAC,CAAA;IACxD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const HELP_TAGLINE = "one \u00B7 tools";
2
- export declare const HELP_TEXT = "Usage: vigilbase <command>\n\nPublic tools (no login)\n list List available tools\n run <tool> <target> Run a scan\n headers <url> Check security headers\n email <domain> Check email security\n describe <tool> \u00B7 skill Tool details / skill markdown\n badge <domain> \u00B7 doctor Badge URL \u00B7 connectivity\n\nAuth-required tools (after login)\n website-security \u00B7 react2shell \u00B7 fortibleed-check\n\nAccount (login required)\n login \u00B7 logout \u00B7 whoami Session\n account [services|org|\u2026] Account overview\n account endpoints Endpoint inventory\n account sessions Active sessions\n account invites [list|create]\n billing [summary|portal] Billing summary / Stripe portal\n runs [list|get <id>] Tool run history\n cf [zones|checkup] Cloudflare zones / checkup\n watchdog [list|scans] Watchdog targets / scans\n\nOptions\n -j, --json JSON output\n -h, --help \u00B7 -V, --version\n\nExamples\n vigilbase headers https://vigilbase.com\n vigilbase email vigilbase.com --json\n vigilbase login\n vigilbase account --json\n vigilbase runs list --json\n vigilbase cf zones\n";
1
+ export declare const HELP_TAGLINE = "one \u00B7 security \u00B7 tools";
2
+ export declare const HELP_TEXT = "Usage: vigilbase <command>\n\nPublic tools (no login)\n list List available tools\n run <tool> <target> Run a scan\n headers <url> Check security headers\n email <domain> Check email security\n describe <tool> \u00B7 skill Tool details / skill markdown\n badge <domain> \u00B7 doctor Badge URL \u00B7 connectivity\n\nAuth-required tools (after login)\n website-security \u00B7 react2shell \u00B7 fortibleed-check\n\nAccount (login required)\n login \u00B7 logout \u00B7 whoami Session\n account [services|org|\u2026] Account overview\n account endpoints Endpoint inventory\n account sessions Active sessions\n account invites [list|create]\n billing [summary|portal] Billing summary / Stripe portal\n runs [list|get <id>] Tool run history\n cf <command> Cloudflare accounts, zones, DNS, WAF, analytics\n security <command> Incidents, logs, assets, detections, intel, reports\n watchdog [list|scans] Watchdog targets / scans\n customers <command> Customer records, billing, reports, investigations\n orgs <command> Organizations, members, permission roles\n monitoring <command> Health, probes, metrics, customer targets\n support tickets Support ticket history\n\nOptions\n -j, --json JSON output\n -h, --help Help for the current command\n -V, --version Installed version\n --timeout <milliseconds> Request timeout (default: 60000)\n --base-url <origin> Public API origin\n --one-url <origin> Vigilbase One origin\n --client-id <id> Device authorization client ID\n\nUse vigilbase <command> --help for command options.\n\nExamples\n vigilbase headers https://vigilbase.com\n vigilbase email vigilbase.com --json\n vigilbase login\n vigilbase account --json\n vigilbase runs list --json\n vigilbase cf zones\n vigilbase security incidents --severity high\n";
3
3
  export declare function helpForCommand(command: string): string | null;
4
4
  //# sourceMappingURL=help.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/lib/help.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,qBAAgB,CAAA;AAEzC,eAAO,MAAM,SAAS,2vCAmCrB,CAAA;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4C7D"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/lib/help.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,qCAA2B,CAAA;AAEpD,eAAO,MAAM,SAAS,whEAgDrB,CAAA;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA6D7D"}
package/dist/lib/help.js CHANGED
@@ -1,4 +1,7 @@
1
- export const HELP_TAGLINE = 'one · tools';
1
+ import { CLOUDFLARE_HELP } from '../commands/cloudflare.js';
2
+ import { ONE_HELP } from '../commands/one.js';
3
+ import { SECURITY_HELP } from '../commands/security.js';
4
+ export const HELP_TAGLINE = 'one · security · tools';
2
5
  export const HELP_TEXT = `Usage: vigilbase <command>
3
6
 
4
7
  Public tools (no login)
@@ -20,12 +23,24 @@ Account (login required)
20
23
  account invites [list|create]
21
24
  billing [summary|portal] Billing summary / Stripe portal
22
25
  runs [list|get <id>] Tool run history
23
- cf [zones|checkup] Cloudflare zones / checkup
26
+ cf <command> Cloudflare accounts, zones, DNS, WAF, analytics
27
+ security <command> Incidents, logs, assets, detections, intel, reports
24
28
  watchdog [list|scans] Watchdog targets / scans
29
+ customers <command> Customer records, billing, reports, investigations
30
+ orgs <command> Organizations, members, permission roles
31
+ monitoring <command> Health, probes, metrics, customer targets
32
+ support tickets Support ticket history
25
33
 
26
34
  Options
27
35
  -j, --json JSON output
28
- -h, --help · -V, --version
36
+ -h, --help Help for the current command
37
+ -V, --version Installed version
38
+ --timeout <milliseconds> Request timeout (default: 60000)
39
+ --base-url <origin> Public API origin
40
+ --one-url <origin> Vigilbase One origin
41
+ --client-id <id> Device authorization client ID
42
+
43
+ Use vigilbase <command> --help for command options.
29
44
 
30
45
  Examples
31
46
  vigilbase headers https://vigilbase.com
@@ -34,13 +49,15 @@ Examples
34
49
  vigilbase account --json
35
50
  vigilbase runs list --json
36
51
  vigilbase cf zones
52
+ vigilbase security incidents --severity high
37
53
  `;
38
54
  export function helpForCommand(command) {
39
55
  switch (command) {
56
+ case 'tools':
40
57
  case 'list':
41
58
  return `Usage: vigilbase list [--json]`;
42
59
  case 'run':
43
- return `Usage: vigilbase run <tool> <target> [--json]
60
+ return `Usage: vigilbase run <tool> <target> [--json] [--via public|one] [--public]
44
61
 
45
62
  Public: security-headers, email-security
46
63
  Login: website-security, react2shell, fortibleed-check`;
@@ -51,31 +68,47 @@ Login: website-security, react2shell, fortibleed-check`;
51
68
  case 'badge':
52
69
  return `Usage: vigilbase badge <domain> [--style default|compact|mini] [--json]`;
53
70
  case 'doctor':
54
- return `Usage: vigilbase doctor [--json]`;
71
+ return `Usage: vigilbase doctor [--json]
72
+
73
+ Checks the public tools API and Vigilbase One session endpoint independently.
74
+ Login is optional. Exits with status 1 if either check fails.
75
+ Use --base-url, --one-url, and --timeout to check alternate environments.`;
55
76
  case 'account':
56
77
  return `Usage: vigilbase account [services|org|endpoints|sessions|invites|billing] [--json]
57
78
 
58
79
  Requires \`vigilbase login\`.
59
80
  account invites create --email user@example.com [--role member] --confirm`;
81
+ case 'runhistory':
60
82
  case 'runs':
61
- return `Usage: vigilbase runs [list|get <id>] [--tool <name>] [--limit <n>] [--json]`;
83
+ return `Usage: vigilbase runs [list|get <UUID>] [--json]
84
+ List only: --tool <name>, --limit <1..200> (default 50).`;
62
85
  case 'cf':
63
86
  case 'cloudflare':
64
- return `Usage: vigilbase cf [zones|checkup status|checkup start] [--account-id <id>] [--json]`;
87
+ return CLOUDFLARE_HELP;
88
+ case 'security':
89
+ return SECURITY_HELP;
90
+ case 'customers':
91
+ case 'orgs':
92
+ case 'monitoring':
93
+ case 'support':
94
+ return ONE_HELP[command];
65
95
  case 'watchdog':
66
- return `Usage: vigilbase watchdog [list|scans] [--target-id <id>] [--limit <n>] [--json]`;
96
+ return `Usage: vigilbase watchdog [list|scans] [--json]
97
+ Scans only: --target-id <UUID>, --limit <1..100> (default 20).`;
67
98
  case 'billing':
68
- return `Usage: vigilbase billing [summary|portal] [--json] [--no-open]`;
99
+ return `Usage: vigilbase billing [summary|portal] [--json]
100
+ Portal only: --no-open. URLs must use HTTPS on billing.stripe.com.`;
69
101
  case 'login':
70
- return `Usage: vigilbase login [--json] [--no-open] [--token <bearer>]`;
102
+ return `Usage: vigilbase login [--json] [--no-open] [--token-stdin | --token <bearer>]
103
+ Prefer --token-stdin with piped input to keep tokens out of command arguments.`;
71
104
  case 'logout':
72
105
  return `Usage: vigilbase logout [--json]`;
73
106
  case 'whoami':
74
107
  return `Usage: vigilbase whoami [--json]`;
75
108
  case 'headers':
76
- return `Usage: vigilbase headers <url> [--json]`;
109
+ return `Usage: vigilbase headers <url> [--json] [--via public|one] [--public]`;
77
110
  case 'email':
78
- return `Usage: vigilbase email <domain> [--json]`;
111
+ return `Usage: vigilbase email <domain> [--json] [--via public|one] [--public]`;
79
112
  default:
80
113
  return null;
81
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/lib/help.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAA;AAEzC,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCxB,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,gCAAgC,CAAA;QACzC,KAAK,KAAK;YACR,OAAO;;;wDAG2C,CAAA;QACpD,KAAK,UAAU;YACb,OAAO,wDAAwD,CAAA;QACjE,KAAK,OAAO;YACV,OAAO,wCAAwC,CAAA;QACjD,KAAK,OAAO;YACV,OAAO,yEAAyE,CAAA;QAClF,KAAK,QAAQ;YACX,OAAO,kCAAkC,CAAA;QAC3C,KAAK,SAAS;YACZ,OAAO;;;4EAG+D,CAAA;QACxE,KAAK,MAAM;YACT,OAAO,8EAA8E,CAAA;QACvF,KAAK,IAAI,CAAC;QACV,KAAK,YAAY;YACf,OAAO,uFAAuF,CAAA;QAChG,KAAK,UAAU;YACb,OAAO,kFAAkF,CAAA;QAC3F,KAAK,SAAS;YACZ,OAAO,gEAAgE,CAAA;QACzE,KAAK,OAAO;YACV,OAAO,gEAAgE,CAAA;QACzE,KAAK,QAAQ;YACX,OAAO,kCAAkC,CAAA;QAC3C,KAAK,QAAQ;YACX,OAAO,kCAAkC,CAAA;QAC3C,KAAK,SAAS;YACZ,OAAO,yCAAyC,CAAA;QAClD,KAAK,OAAO;YACV,OAAO,0CAA0C,CAAA;QACnD;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/lib/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAA;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDxB,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,gCAAgC,CAAA;QACzC,KAAK,KAAK;YACR,OAAO;;;wDAG2C,CAAA;QACpD,KAAK,UAAU;YACb,OAAO,wDAAwD,CAAA;QACjE,KAAK,OAAO;YACV,OAAO,wCAAwC,CAAA;QACjD,KAAK,OAAO;YACV,OAAO,yEAAyE,CAAA;QAClF,KAAK,QAAQ;YACX,OAAO;;;;0EAI6D,CAAA;QACtE,KAAK,SAAS;YACZ,OAAO;;;4EAG+D,CAAA;QACxE,KAAK,YAAY,CAAC;QAClB,KAAK,MAAM;YACT,OAAO;yDAC4C,CAAA;QACrD,KAAK,IAAI,CAAC;QACV,KAAK,YAAY;YACf,OAAO,eAAe,CAAA;QACxB,KAAK,UAAU;YACb,OAAO,aAAa,CAAA;QACtB,KAAK,WAAW,CAAC;QACjB,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC1B,KAAK,UAAU;YACb,OAAO;+DACkD,CAAA;QAC3D,KAAK,SAAS;YACZ,OAAO;mEACsD,CAAA;QAC/D,KAAK,OAAO;YACV,OAAO;+EACkE,CAAA;QAC3E,KAAK,QAAQ;YACX,OAAO,kCAAkC,CAAA;QAC3C,KAAK,QAAQ;YACX,OAAO,kCAAkC,CAAA;QAC3C,KAAK,SAAS;YACZ,OAAO,uEAAuE,CAAA;QAChF,KAAK,OAAO;YACV,OAAO,wEAAwE,CAAA;QACjF;YACE,OAAO,IAAI,CAAA;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { CliConfig } from './config.js';
2
+ export declare class NetworkError extends Error {
3
+ readonly code: string;
4
+ readonly status = 0;
5
+ constructor(message: string, code: string, cause?: unknown);
6
+ }
7
+ export declare function networkError(error: unknown, url: string, timeoutMs: number, timedOut: boolean): NetworkError;
8
+ export declare const MAX_RESPONSE_BYTES: number;
9
+ /** Bound decoded bytes even when Content-Length is absent, compressed, or dishonest. */
10
+ export declare function readBoundedBody(response: Response, signal: AbortSignal, maxBytes?: number): Promise<string>;
11
+ /** Keep the timeout active until the complete response body has been read. */
12
+ export declare function requestText(config: CliConfig, url: string, init?: RequestInit): Promise<{
13
+ response: Response;
14
+ text: string;
15
+ }>;
16
+ export declare function parseJsonResponse(response: Response, text: string): unknown;
17
+ //# sourceMappingURL=network.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/lib/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,qBAAa,YAAa,SAAQ,KAAK;IAGR,QAAQ,CAAC,IAAI,EAAE,MAAM;IAFlD,QAAQ,CAAC,MAAM,KAAI;gBAEP,OAAO,EAAE,MAAM,EAAW,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAIpE;AAaD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,YAAY,CAe5G;AAED,eAAO,MAAM,kBAAkB,QAAkB,CAAA;AAEjD,wFAAwF;AACxF,wBAAsB,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,SAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B7H;AAED,8EAA8E;AAC9E,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB/C;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ3E"}
@@ -0,0 +1,108 @@
1
+ export class NetworkError extends Error {
2
+ code;
3
+ status = 0;
4
+ constructor(message, code, cause) {
5
+ super(message, { cause });
6
+ this.code = code;
7
+ this.name = 'NetworkError';
8
+ }
9
+ }
10
+ function errorCodes(error, seen = new Set()) {
11
+ if (!error || typeof error !== 'object' || seen.has(error))
12
+ return [];
13
+ seen.add(error);
14
+ const item = error;
15
+ return [
16
+ ...(typeof item.code === 'string' ? [item.code] : []),
17
+ ...errorCodes(item.cause, seen),
18
+ ...(Array.isArray(item.errors) ? item.errors.flatMap((e) => errorCodes(e, seen)) : []),
19
+ ];
20
+ }
21
+ export function networkError(error, url, timeoutMs, timedOut) {
22
+ // Never echo query strings, URL credentials, request bodies, or raw causes.
23
+ const endpoint = new URL(url).origin;
24
+ const codes = errorCodes(error);
25
+ const code = codes[0] ?? 'NETWORK_ERROR';
26
+ if (timedOut || codes.some((c) => /TIMEOUT|ETIMEDOUT/.test(c))) {
27
+ return new NetworkError(`Request to ${endpoint} timed out after ${timeoutMs}ms. Check your connection or increase --timeout.`, 'TIMEOUT', error);
28
+ }
29
+ if (codes.some((c) => /CERT|SELF_SIGNED|UNABLE_TO_VERIFY|UNABLE_TO_GET_ISSUER/.test(c))) {
30
+ return new NetworkError(`TLS certificate verification failed for ${endpoint} (${code}). Use Node 22.19+ or Node 24.5+ for automatic system certificate trust. If your organization uses a private CA, configure NODE_EXTRA_CA_CERTS with its trusted PEM certificate.`, code, error);
31
+ }
32
+ if (codes.some((c) => c === 'ENOTFOUND' || c === 'EAI_AGAIN')) {
33
+ return new NetworkError(`Cannot resolve ${endpoint} (${code}). Check DNS, your VPN, and the configured API URL.`, code, error);
34
+ }
35
+ return new NetworkError(`Cannot connect to ${endpoint} (${code}). Check your connection, VPN, proxy settings, and API URL. Run \`vigilbase doctor\` for connectivity checks.`, code, error);
36
+ }
37
+ export const MAX_RESPONSE_BYTES = 8 * 1024 * 1024;
38
+ /** Bound decoded bytes even when Content-Length is absent, compressed, or dishonest. */
39
+ export async function readBoundedBody(response, signal, maxBytes = MAX_RESPONSE_BYTES) {
40
+ if (Number(response.headers.get('content-length')) > maxBytes) {
41
+ await response.body?.cancel();
42
+ throw new NetworkError('Response body exceeds the size limit.', 'RESPONSE_TOO_LARGE');
43
+ }
44
+ if (!response.body)
45
+ return '';
46
+ const reader = response.body.getReader();
47
+ const abort = () => { void reader.cancel().catch(() => undefined); };
48
+ signal.addEventListener('abort', abort, { once: true });
49
+ let size = 0;
50
+ const chunks = [];
51
+ try {
52
+ while (true) {
53
+ if (signal.aborted)
54
+ throw new Error('Aborted');
55
+ const { done, value } = await reader.read();
56
+ if (signal.aborted)
57
+ throw new Error('Aborted');
58
+ if (done)
59
+ return Buffer.concat(chunks).toString('utf8');
60
+ size += value.byteLength;
61
+ if (size > maxBytes) {
62
+ await reader.cancel();
63
+ throw new NetworkError('Response body exceeds the size limit.', 'RESPONSE_TOO_LARGE');
64
+ }
65
+ chunks.push(value);
66
+ }
67
+ }
68
+ finally {
69
+ signal.removeEventListener('abort', abort);
70
+ reader.releaseLock();
71
+ }
72
+ }
73
+ /** Keep the timeout active until the complete response body has been read. */
74
+ export async function requestText(config, url, init = {}) {
75
+ const controller = new AbortController();
76
+ const timer = setTimeout(() => controller.abort(), config.timeoutMs);
77
+ const signal = init.signal
78
+ ? AbortSignal.any([init.signal, controller.signal])
79
+ : controller.signal;
80
+ try {
81
+ // Never forward token-bearing POST bodies (or credentials) through redirects.
82
+ const response = await fetch(url, { ...init, signal, redirect: 'error' });
83
+ return { response, text: await readBoundedBody(response, signal) };
84
+ }
85
+ catch (error) {
86
+ if (error instanceof NetworkError)
87
+ throw error;
88
+ if (init.signal?.aborted) {
89
+ throw new NetworkError('Request cancelled.', 'CANCELLED', error);
90
+ }
91
+ throw networkError(error, url, config.timeoutMs, controller.signal.aborted);
92
+ }
93
+ finally {
94
+ clearTimeout(timer);
95
+ }
96
+ }
97
+ export function parseJsonResponse(response, text) {
98
+ try {
99
+ // Empty successful responses are valid for some mutation endpoints.
100
+ return text ? JSON.parse(text) : null;
101
+ }
102
+ catch {
103
+ if (!response.ok)
104
+ return null;
105
+ throw new NetworkError(`Expected JSON but received a non-JSON response (HTTP ${response.status}). Check the configured API URL and any proxy or sign-in page.`, 'INVALID_RESPONSE');
106
+ }
107
+ }
108
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/lib/network.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,11 @@ export type OneSessionResponse = {
23
23
  name?: string | null;
24
24
  } | null;
25
25
  };
26
+ type ApiErrorBody = {
27
+ error?: string;
28
+ message?: string;
29
+ success?: boolean;
30
+ };
26
31
  /**
27
32
  * Tools that require Vigilbase One authentication (auth-required scanners).
28
33
  * Keep preference order aligned with `@vigilbase/tools` catalog
@@ -43,7 +48,10 @@ export declare class VigilbaseOneClient {
43
48
  private readonly accessToken;
44
49
  constructor(config: CliConfig, accessToken: string);
45
50
  private request;
46
- private requestJson;
51
+ /** Authenticated JSON transport shared by the One command clients. */
52
+ requestJson<T extends ApiErrorBody = Record<string, unknown>>(path: string, init?: RequestInit, options?: {
53
+ allowStatuses?: number[];
54
+ }): Promise<T>;
47
55
  getSession(): Promise<OneSessionResponse>;
48
56
  getAccount(): Promise<Record<string, unknown>>;
49
57
  getAccountServices(): Promise<Record<string, unknown>>;
@@ -79,4 +87,5 @@ export declare class VigilbaseOneClient {
79
87
  getToolRun(id: string): Promise<Record<string, unknown>>;
80
88
  executeTool(toolName: string, target: string): Promise<OneToolExecuteResponse>;
81
89
  }
90
+ export {};
82
91
  //# sourceMappingURL=one-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"one-client.d.ts","sourceRoot":"","sources":["../../src/lib/one-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAG5C,MAAM,MAAM,sBAAsB,GAAG;IAEnC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KACxC,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACxC,IAAI,CAAC,EAAE;QACL,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACrB,GAAG,IAAI,CAAA;CACT,CAAA;AAQD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,kEAI1B,CAAA;AAEV,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,IAAI,mBAAmB,CAEvF;AAED,2FAA2F;AAC3F,eAAO,MAAM,kCAAkC,EAAE,MAAM,CACrD,mBAAmB,EACnB,mBAAmB,CAgCpB,CAAA;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,mBAAmB,EAAE,EAClC,UAAU,EAAE,MAAM,GACjB,mBAAmB,GAAG,IAAI,CAe5B;AAED,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,wGAMvB,CAAA;AAEV,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,MAAM;YAGxB,OAAO;YAyCP,WAAW;IAiCnB,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAWzC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI9C,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAItD,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI1D,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIvD,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAItD,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIzD,uBAAuB,CAAC,KAAK,EAAE;QACnC,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQ9B,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIrD,mBAAmB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAclE,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAItD,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAU9B,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAItD,qBAAqB,CAAC,OAAO,CAAC,EAAE;QACpC,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAS9B,sBAAsB,CAAC,OAAO,CAAC,EAAE;QACrC,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAU9B,YAAY,CAAC,OAAO,CAAC,EAAE;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQ9B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIxD,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,sBAAsB,CAAC;CAWnC"}
1
+ {"version":3,"file":"one-client.d.ts","sourceRoot":"","sources":["../../src/lib/one-client.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- /**
2
- * Vigilbase One authenticated API client.
3
- * Public (unauthenticated) tools stay on VigilbaseClient / vigilbase.com.
4
- */
5
- import { VigilbaseApiError } from './client.js';
1
+ import { randomUUID } from 'node:crypto';
2
+ import { z } from 'zod';
3
+ import { validateOneOrigin } from './config.js';
4
+ import { validateStripePortalUrl } from './open-url.js';
5
+ import { parseJsonResponse, requestText } from './network.js';
6
+ import { retryAfterSeconds, VigilbaseApiError } from './client.js';
6
7
  /**
7
8
  * Tools that require Vigilbase One authentication (auth-required scanners).
8
9
  * Keep preference order aligned with `@vigilbase/tools` catalog
@@ -84,61 +85,52 @@ export class VigilbaseOneClient {
84
85
  this.accessToken = accessToken;
85
86
  }
86
87
  async request(path, init) {
87
- const url = `${this.config.oneBaseUrl}${path.startsWith('/') ? path : `/${path}`}`;
88
- const controller = new AbortController();
89
- const timer = setTimeout(() => controller.abort(), this.config.timeoutMs);
90
- try {
91
- const response = await fetch(url, {
92
- ...init,
93
- signal: controller.signal,
94
- headers: {
95
- Accept: 'application/json',
96
- Authorization: `Bearer ${this.accessToken}`,
97
- 'User-Agent': this.config.userAgent,
98
- ...(init?.headers ?? {}),
99
- },
100
- });
101
- const text = await response.text();
102
- let body = null;
103
- if (text) {
104
- try {
105
- body = JSON.parse(text);
106
- }
107
- catch {
108
- body = { raw: text };
109
- }
110
- }
111
- return { response, body };
112
- }
113
- catch (error) {
114
- if (error instanceof Error && error.name === 'AbortError') {
115
- throw new VigilbaseApiError(`Request timed out after ${this.config.timeoutMs}ms: ${url}`, { status: 0 });
116
- }
117
- throw error;
118
- }
119
- finally {
120
- clearTimeout(timer);
121
- }
88
+ const url = `${validateOneOrigin(this.config.oneBaseUrl)}${path.startsWith('/') ? path : `/${path}`}`;
89
+ const { response, text } = await requestText(this.config, url, {
90
+ ...init,
91
+ headers: {
92
+ Accept: 'application/json',
93
+ ...(this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}),
94
+ 'User-Agent': this.config.userAgent,
95
+ ...(init?.headers ?? {}),
96
+ },
97
+ });
98
+ return { response, body: parseJsonResponse(response, text) };
122
99
  }
100
+ /** Authenticated JSON transport shared by the One command clients. */
123
101
  async requestJson(path, init, options) {
124
102
  const { response, body } = await this.request(path, init);
125
103
  const parsed = (body ?? {});
104
+ const errorBody = z.object({
105
+ error: z.string().optional(), message: z.string().optional(), code: z.string().optional(),
106
+ }).passthrough().safeParse(body);
107
+ const errorDetails = errorBody.success ? errorBody.data : {};
108
+ let message;
109
+ if (errorDetails.code === 'FLAREHAWK_VIEW_AS_REQUIRED') {
110
+ message = 'Select a customer with --customer-id <customer UUID> for security commands.';
111
+ }
126
112
  if (response.status === 401 || response.status === 403) {
127
- throw new VigilbaseApiError(parsed.message ||
128
- parsed.error ||
129
- 'Authentication required. Run `vigilbase login`.', { status: response.status, body: parsed });
113
+ throw new VigilbaseApiError(message ||
114
+ 'Authentication required. Run `vigilbase login`.', { status: response.status, body: parsed, code: errorDetails.code });
130
115
  }
131
116
  if (response.status === 429) {
132
- throw new VigilbaseApiError(parsed.message || parsed.error || 'Rate limit exceeded.', {
117
+ throw new VigilbaseApiError(message || 'Rate limit exceeded.', {
133
118
  status: 429,
134
119
  body: parsed,
120
+ retryAfterSec: retryAfterSeconds(response, body),
121
+ code: errorDetails.code,
135
122
  });
136
123
  }
137
124
  const allowed = options?.allowStatuses ?? [];
138
125
  if (!response.ok && !allowed.includes(response.status)) {
139
- throw new VigilbaseApiError(parsed.message ||
140
- parsed.error ||
141
- `Request failed (HTTP ${response.status})`, { status: response.status, body: parsed });
126
+ throw new VigilbaseApiError(message ||
127
+ `Request failed (HTTP ${response.status})`, { status: response.status, body: parsed, code: errorDetails.code });
128
+ }
129
+ if (!z.record(z.string(), z.unknown()).safeParse(body).success) {
130
+ throw new VigilbaseApiError('Invalid One API response. Expected a JSON object.', { status: response.status });
131
+ }
132
+ if (parsed.success === false || ('ok' in parsed && parsed.ok === false)) {
133
+ throw new VigilbaseApiError('One API reported an unsuccessful operation.', { status: response.status, body: parsed, code: errorDetails.code });
142
134
  }
143
135
  return parsed;
144
136
  }
@@ -147,7 +139,17 @@ export class VigilbaseOneClient {
147
139
  if (!response.ok) {
148
140
  throw new VigilbaseApiError(`Failed to load One session (HTTP ${response.status})`, { status: response.status, body });
149
141
  }
150
- return (body ?? {});
142
+ const schema = z.object({
143
+ session: z.record(z.string(), z.unknown()).nullable().optional(),
144
+ user: z.object({
145
+ id: z.string().optional(), email: z.string().nullable().optional(), name: z.string().nullable().optional(),
146
+ }).passthrough().nullable().optional(),
147
+ }).refine((value) => 'session' in value || 'user' in value).nullable();
148
+ const result = schema.safeParse(body);
149
+ if (!result.success) {
150
+ throw new VigilbaseApiError('Invalid One session response. Check the One API URL.', { status: response.status });
151
+ }
152
+ return result.data ?? {};
151
153
  }
152
154
  async getAccount() {
153
155
  return this.requestJson('/api/account');
@@ -171,7 +173,7 @@ export class VigilbaseOneClient {
171
173
  return this.requestJson('/api/auth/orgs/invite', {
172
174
  method: 'POST',
173
175
  headers: { 'Content-Type': 'application/json' },
174
- body: JSON.stringify(input),
176
+ body: JSON.stringify({ ...input, operationId: randomUUID() }),
175
177
  });
176
178
  }
177
179
  async getAccountBilling() {
@@ -183,7 +185,7 @@ export class VigilbaseOneClient {
183
185
  });
184
186
  return {
185
187
  success: Boolean(payload.success),
186
- url: payload.data?.url ?? payload.url,
188
+ url: validateStripePortalUrl(payload.data?.url ?? payload.url),
187
189
  };
188
190
  }
189
191
  async getWatchdogTargets() {