@guardion/guardion 0.2.0 → 0.3.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.
@@ -1,26 +1,84 @@
1
1
  # Guardion Claude Code Connector — config file
2
- # Location: ~/.guardion/config.yaml
2
+ # Location: ~/.guardion/config.yaml (individual developer)
3
+ # /etc/guardion/config.yaml (enterprise MDM, system-wide)
3
4
  #
4
- # Generate with: npx guardion init
5
- # Edit manually: any text editor
6
- #
7
- # Token is stored separately in your OS keychain — never in this file.
8
- # Set GUARDION_TOKEN env var to override for CI/testing.
5
+ # Generated with: npx @guardion/guardion init [--tier hooks|full]
6
+ # Edit freely. Token is stored in your OS keychain, NOT here.
7
+ # Docs: https://guardion.ai/docs/claude-code
9
8
 
10
9
  version: 1
11
10
 
12
- # Deployment tier.
13
- # "hooks" — sends all Claude Code hook events to Guard API (monitoring only, MVP).
14
- # Future values: "full" (+ LLM gateway proxy), "otel" (+ OTLP traces), "action" (+ blocking)
15
- tier: hooks
11
+ # ── Deployment tier ───────────────────────────────────────────────────────────
12
+ #
13
+ # hooks — fire-and-forget hook events to Guard API for behavioural monitoring.
14
+ # LLM traffic goes directly to the provider (Anthropic, Bedrock, etc.)
15
+ # No ANTHROPIC_BASE_URL change. Safe for teams that cannot proxy LLM calls.
16
+ #
17
+ # full — all hooks + route LLM traffic through the Guardion gateway.
18
+ # Enables request/response evaluation, PII redaction, and content policy
19
+ # enforcement at the network layer. Requires the gateway container or
20
+ # cloud endpoint to be reachable.
21
+ #
22
+ tier: hooks # hooks | full
16
23
 
17
- # Guard API base URL.
24
+ # ── Guard API ─────────────────────────────────────────────────────────────────
25
+ # The control plane that evaluates events, stores findings, and serves the console.
26
+ #
18
27
  # Production: https://api.guardion.ai
19
- # Local dev: http://localhost:8082
28
+ # Local dev: http://localhost:8082 (guardion-guard Docker container)
29
+ #
20
30
  api_url: https://api.guardion.ai
21
31
 
22
- # Policy slug to evaluate hook events against.
32
+ # Policy slug applied to every event evaluation
23
33
  policy: prompt-defense
24
34
 
25
- # Application label attached to every event (shows in Console).
35
+ # Application label visible in the Guardion console
26
36
  application: claude-code
37
+
38
+ # ── Gateway (full tier only) ──────────────────────────────────────────────────
39
+ # Remove this block entirely when using tier: hooks.
40
+ #
41
+ gateway:
42
+ # Guardion reverse-proxy URL — ANTHROPIC_BASE_URL will be set to this value.
43
+ # Production: https://gateway.guardion.ai
44
+ # Local dev: http://localhost:8788 (guardion-gateway Docker container)
45
+ url: https://gateway.guardion.ai
46
+
47
+ # MCP proxy — existing MCP servers are rewritten to route through this endpoint
48
+ # so that tool calls are also evaluated for policy violations.
49
+ mcp_url: https://mcp.guardion.ai
50
+
51
+ # LLM provider the gateway will forward requests to.
52
+ # anthropic — api.anthropic.com (default; uses Authorization header as-is)
53
+ # vertex-ai — GCP Vertex AI (requires vertex_project_id + vertex_region)
54
+ # bedrock — AWS Bedrock (uses AWS credentials from the environment)
55
+ # openai — api.openai.com
56
+ provider: anthropic
57
+
58
+ # Required only when provider: vertex-ai
59
+ vertex_project_id: ""
60
+ vertex_region: ""
61
+
62
+ # ── Hook events ───────────────────────────────────────────────────────────────
63
+ # Controls which Claude Code hook events Guardion registers and monitors.
64
+ # Remove events to reduce noise or comply with privacy policies.
65
+ # If this block is omitted, all supported events are registered.
66
+ #
67
+ hooks:
68
+ events:
69
+ - SessionStart # session open — captures metadata, git context, model
70
+ - SessionEnd # session close — cleans up session correlation
71
+ - UserPromptSubmit # user sends a prompt — captures prompt text
72
+ - PreToolUse # before any tool executes — captures tool name + input
73
+ - PostToolUse # after tool succeeds — captures tool output
74
+ - PostToolUseFailure # tool threw an error
75
+ - PostToolBatch # all parallel tool calls in one batch resolved
76
+ - SubagentStart # subagent spawned (e.g. Explore, Plan, custom agent)
77
+ - SubagentStop # subagent finished
78
+ - Stop # Claude finished its turn
79
+ - StopFailure # API error ended the turn
80
+ - PermissionDenied # tool call was denied by permission system
81
+
82
+ # Maximum milliseconds to wait for Guard API before giving up.
83
+ # The hook always exits 0 — this only affects how long it waits.
84
+ timeout_ms: 3000
package/dist/cli.js CHANGED
@@ -5,17 +5,19 @@ import readline from 'node:readline';
5
5
  import fs from 'node:fs';
6
6
  import https from 'node:https';
7
7
  import http from 'node:http';
8
- import { GUARDION_VERSION, TOKEN_PREFIX, DEFAULT_API_URL, DEV_API_URL } from './constants.js';
9
- import { writeConfig, readConfig } from './config.js';
8
+ import path from 'node:path';
9
+ import { fileURLToPath } from 'node:url';
10
+ import { GUARDION_VERSION, TOKEN_PREFIX, DEFAULT_API_URL, DEV_API_URL, DEV_GATEWAY_URL, DEFAULT_GATEWAY_URL, ALL_HOOK_EVENTS, } from './constants.js';
11
+ import { writeConfig, readConfig, DEFAULT_GATEWAY, } from './config.js';
10
12
  import { getToken, setToken, clearToken } from './keychain.js';
11
13
  import { scan } from './scanner.js';
12
- import { patch, backup, restore, writeSettings, removeGuardionEntries } from './installer.js';
14
+ import { patch, backup, restore, writeSettings, removeGuardionEntries, } from './installer.js';
13
15
  const program = new Command();
14
- function ok(msg) { console.log(chalk.green('✓ ') + msg); }
15
- function warn(msg) { console.log(chalk.yellow('⚠ ') + msg); }
16
- function err(msg) { console.error(chalk.red('✗ ') + msg); }
17
- function log(msg) { console.log(msg); }
18
- async function promptInput(question, hidden = false) {
16
+ const ok = (m) => console.log(chalk.green('✓ ') + m);
17
+ const warn = (m) => console.log(chalk.yellow('⚠ ') + m);
18
+ const err = (m) => console.error(chalk.red('✗ ') + m);
19
+ const log = (m) => console.log(m);
20
+ async function promptInput(question) {
19
21
  const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
20
22
  return new Promise(resolve => {
21
23
  rl.question(chalk.cyan(question), answer => { rl.close(); resolve(answer.trim()); });
@@ -24,20 +26,31 @@ async function promptInput(question, hidden = false) {
24
26
  // ── init ──────────────────────────────────────────────────────────────────────
25
27
  program
26
28
  .command('init')
27
- .description('Set up Guardion monitoring for Claude Code')
29
+ .description('Set up Guardion for Claude Code')
30
+ .option('--tier <tier>', 'Deployment tier: hooks | full', 'hooks')
28
31
  .option('--token <token>', 'Guardion API token (stored in OS keychain)')
29
- .option('--policy <policy>', 'Policy slug (default: prompt-defense)', 'prompt-defense')
30
- .option('--application <name>', 'Application label (default: claude-code)', 'claude-code')
32
+ .option('--policy <policy>', 'Policy slug', 'prompt-defense')
33
+ .option('--application <name>', 'Application label', 'claude-code')
31
34
  .option('--api-url <url>', `Guard API URL (default: ${DEFAULT_API_URL})`)
32
- .option('--dev', `Use local Docker stack (${DEV_API_URL})`, false)
33
- .option('--dry-run', 'Print what would be written without making changes', false)
35
+ .option('--gateway-url <url>', `Gateway URL for full tier (default: ${DEFAULT_GATEWAY_URL})`)
36
+ .option('--provider <provider>', 'LLM provider for full tier: anthropic | vertex-ai | bedrock', 'anthropic')
37
+ .option('--vertex-project <id>', 'GCP project ID (vertex-ai only)')
38
+ .option('--vertex-region <region>', 'GCP region (vertex-ai only)')
39
+ .option('--hooks <events>', 'Comma-separated hook events to register (default: all)')
40
+ .option('--dev', 'Use local Docker stack (localhost:8082 / localhost:8788)', false)
41
+ .option('--dry-run', 'Print what would be written, no changes', false)
34
42
  .action(async (opts) => {
35
43
  log(chalk.bold('\n Guardion Init\n'));
36
- // Resolve token
37
- let token = opts.token || process.env.GUARDION_TOKEN || getToken();
38
- if (!token) {
39
- token = await promptInput('Enter your Guardion token (grd_...): ');
44
+ // Validate tier
45
+ const tier = opts.tier;
46
+ if (tier !== 'hooks' && tier !== 'full') {
47
+ err(`Unknown tier "${tier}". Valid values: hooks, full`);
48
+ process.exit(1);
40
49
  }
50
+ // Token
51
+ let token = opts.token || process.env.GUARDION_TOKEN || getToken();
52
+ if (!token)
53
+ token = await promptInput('Enter your Guardion token: ');
41
54
  if (!token) {
42
55
  err('Token is required.');
43
56
  process.exit(1);
@@ -45,62 +58,82 @@ program
45
58
  if (!opts.dev && !token.startsWith(TOKEN_PREFIX)) {
46
59
  warn(`Token doesn't start with "${TOKEN_PREFIX}" — double-check it's correct.`);
47
60
  }
61
+ // Resolve URLs
62
+ const apiUrl = opts.dev ? DEV_API_URL : (opts.apiUrl || readConfig()?.api_url || DEFAULT_API_URL);
63
+ const gatewayUrl = opts.dev ? DEV_GATEWAY_URL : (opts.gatewayUrl || readConfig()?.gateway?.url || DEFAULT_GATEWAY_URL);
64
+ const mcpUrl = opts.dev ? 'http://localhost:8082/mcp' : DEFAULT_GATEWAY.mcp_url;
65
+ // Custom hook events
66
+ const hookEvents = opts.hooks
67
+ ? opts.hooks.split(',').map((e) => e.trim()).filter((e) => ALL_HOOK_EVENTS.includes(e))
68
+ : [...ALL_HOOK_EVENTS];
48
69
  // Build config
49
- const apiUrl = opts.dev
50
- ? DEV_API_URL
51
- : (opts.apiUrl || readConfig()?.api_url || DEFAULT_API_URL);
52
70
  const cfg = {
53
71
  version: 1,
54
- tier: 'hooks',
72
+ tier,
55
73
  api_url: apiUrl,
56
74
  policy: opts.policy,
57
75
  application: opts.application,
76
+ hooks: {
77
+ events: hookEvents,
78
+ timeout_ms: 3000,
79
+ },
80
+ ...(tier === 'full' ? {
81
+ gateway: {
82
+ url: gatewayUrl,
83
+ mcp_url: mcpUrl,
84
+ provider: opts.provider,
85
+ vertex_project_id: opts.vertexProject || '',
86
+ vertex_region: opts.vertexRegion || '',
87
+ },
88
+ } : {}),
58
89
  };
59
- // Scan existing settings
60
90
  const scanResult = scan();
61
91
  if (scanResult.hasExistingGuardion) {
62
- warn('Guardion already configured — re-running will overwrite hooks and env.');
92
+ warn('Guardion already configured — overwriting.');
63
93
  }
64
- // Patch
65
- const patched = patch(scanResult, { config: cfg, dev: opts.dev, dryRun: opts.dryRun });
94
+ const patched = patch(scanResult, { config: cfg, token, dev: opts.dev, dryRun: opts.dryRun });
66
95
  if (opts.dryRun) {
67
- log(chalk.bold('\n Would write to ' + scanResult.settingsPath + ':'));
96
+ log(chalk.bold('\n Would write ~/.claude/settings.json:'));
68
97
  log(JSON.stringify(patched, null, 2));
69
- log(chalk.bold('\n Would write config to ~/.guardion/config.yaml'));
98
+ log(chalk.bold('\n Would write ~/.guardion/config.yaml:'));
70
99
  log(JSON.stringify(cfg, null, 2));
71
- log('');
72
- log(chalk.dim(' (dry-run — no changes made)'));
100
+ log(chalk.dim('\n (dry-run — no changes made)'));
73
101
  return;
74
102
  }
75
- // Store token in keychain
103
+ // Store token
76
104
  try {
77
105
  setToken(token);
78
106
  ok('Token stored in OS keychain');
79
107
  }
80
108
  catch {
81
- warn('Could not store token in keychain — writing to ~/.guardion/token instead');
82
- fs.mkdirSync(require('os').homedir() + '/.guardion', { recursive: true });
83
- fs.writeFileSync(require('os').homedir() + '/.guardion/token', token, { encoding: 'utf-8', mode: 0o600 });
109
+ const tokenFile = path.join(process.env.HOME || '~', '.guardion', 'token');
110
+ fs.mkdirSync(path.dirname(tokenFile), { recursive: true });
111
+ fs.writeFileSync(tokenFile, token, { encoding: 'utf-8', mode: 0o600 });
112
+ ok('Token written to ~/.guardion/token');
84
113
  }
85
- // Backup + write settings
86
114
  const backupPath = backup(scanResult.settingsPath);
87
115
  if (backupPath)
88
116
  ok(`Backed up settings → ${backupPath}`);
89
117
  writeSettings(scanResult.settingsPath, patched);
90
118
  ok(`Patched ${scanResult.settingsPath}`);
91
- // Write config files
92
119
  writeConfig(cfg);
93
120
  ok('Wrote ~/.guardion/config.yaml');
94
- // Summary
121
+ const mcpCount = Object.keys(scanResult.mcpServers).length;
95
122
  log('');
96
123
  log(chalk.bold(' Configuration:'));
97
- log(` Tier ${chalk.cyan('hooks')} (monitoring only)`);
98
- log(` Guard API ${chalk.cyan(apiUrl)}`);
99
- log(` Policy ${chalk.cyan(cfg.policy)}`);
100
- log(` Application ${chalk.cyan(cfg.application)}`);
101
- log(` Hooks ${chalk.cyan(String(Object.keys(patched.hooks ?? {}).length) + ' events')}`);
124
+ log(` Tier ${chalk.cyan(tier)}`);
125
+ log(` Guard API ${chalk.cyan(apiUrl)}`);
126
+ if (tier === 'full') {
127
+ log(` Gateway ${chalk.cyan(gatewayUrl)}`);
128
+ log(` Provider ${chalk.cyan(opts.provider)}`);
129
+ if (mcpCount > 0)
130
+ log(` MCP servers ${chalk.cyan(String(mcpCount) + ' rewritten to MCP proxy')}`);
131
+ }
132
+ log(` Policy ${chalk.cyan(opts.policy)}`);
133
+ log(` Application ${chalk.cyan(opts.application)}`);
134
+ log(` Hooks ${chalk.cyan(hookEvents.length + ' events')}`);
102
135
  if (opts.dev)
103
- log(`\n ${chalk.yellow('Dev mode')} — pointing at ${chalk.cyan(apiUrl)}`);
136
+ log(`\n ${chalk.yellow('Dev mode')} — pointing at local Docker stack`);
104
137
  log('');
105
138
  ok('Guardion is ready. Start Claude Code and all activity will be monitored.\n');
106
139
  });
@@ -117,33 +150,34 @@ program
117
150
  ok('Guardion is ' + chalk.green('ACTIVE'));
118
151
  else
119
152
  log(' Guardion is ' + chalk.dim('NOT CONFIGURED'));
120
- log(` Tier ${cfg?.tier ? chalk.cyan(cfg.tier) : chalk.dim('(not configured)')}`);
121
- log(` Guard API ${cfg?.api_url ? chalk.cyan(cfg.api_url) : chalk.dim('(not configured)')}`);
122
- log(` Policy ${cfg?.policy ? chalk.cyan(cfg.policy) : chalk.dim('(not configured)')}`);
123
- log(` Token ${token ? chalk.green('found in keychain / file') : chalk.red('NOT FOUND')}`);
153
+ log(` Tier ${cfg?.tier ? chalk.cyan(cfg.tier) : chalk.dim('(not set)')}`);
154
+ log(` Guard API ${cfg?.api_url ? chalk.cyan(cfg.api_url) : chalk.dim('(not set)')}`);
155
+ if (cfg?.tier === 'full') {
156
+ log(` Gateway ${chalk.cyan(cfg.gateway?.url || DEFAULT_GATEWAY_URL)}`);
157
+ log(` Provider ${chalk.cyan(cfg.gateway?.provider || 'anthropic')}`);
158
+ }
159
+ log(` Policy ${cfg?.policy ? chalk.cyan(cfg.policy) : chalk.dim('(not set)')}`);
160
+ log(` Token ${token ? chalk.green('found') : chalk.red('NOT FOUND')}`);
124
161
  const hookCount = Object.keys(result.settings?.hooks ?? {}).length;
125
- log(` Hooks ${hookCount > 0 ? chalk.cyan(`${hookCount} events`) : chalk.dim('none')}`);
162
+ log(` Hooks ${hookCount > 0 ? chalk.cyan(hookCount + ' events') : chalk.dim('none')}`);
163
+ const events = cfg?.hooks?.events ?? [];
164
+ if (events.length > 0)
165
+ log(` Events ${chalk.dim(events.slice(0, 6).join(', ') + (events.length > 6 ? '…' : ''))}`);
126
166
  log('');
127
167
  });
128
168
  // ── token ─────────────────────────────────────────────────────────────────────
129
169
  const tokenCmd = program.command('token').description('Manage Guardion API token');
130
- tokenCmd
131
- .command('set <token>')
132
- .description('Store token in OS keychain')
133
- .action((token) => {
170
+ tokenCmd.command('set <token>').description('Store in OS keychain').action((t) => {
134
171
  try {
135
- setToken(token);
172
+ setToken(t);
136
173
  ok('Token stored in OS keychain');
137
174
  }
138
175
  catch (e) {
139
- err(`Failed to store token: ${e.message}`);
176
+ err(`Failed: ${e.message}`);
140
177
  process.exit(1);
141
178
  }
142
179
  });
143
- tokenCmd
144
- .command('get')
145
- .description('Print token (masked)')
146
- .action(() => {
180
+ tokenCmd.command('get').description('Print masked token').action(() => {
147
181
  const t = getToken();
148
182
  if (!t) {
149
183
  warn('No token found.');
@@ -151,33 +185,30 @@ tokenCmd
151
185
  }
152
186
  log(`Token: ${chalk.dim(t.slice(0, 6) + '...' + t.slice(-4))}`);
153
187
  });
154
- tokenCmd
155
- .command('clear')
156
- .description('Remove token from keychain and files')
157
- .action(() => {
188
+ tokenCmd.command('clear').description('Remove from keychain').action(() => {
158
189
  clearToken();
159
190
  ok('Token cleared');
160
191
  });
161
192
  tokenCmd
162
193
  .command('test')
163
- .description('Verify token by calling Guard API /health')
194
+ .description('Verify token against Guard API /health')
164
195
  .option('--dev', 'Test against local Docker stack')
165
196
  .action(async (opts) => {
166
197
  const cfg = readConfig();
167
198
  const token = getToken();
168
199
  const url = opts.dev ? DEV_API_URL : (cfg?.api_url ?? DEFAULT_API_URL);
169
200
  if (!token) {
170
- err('No token found. Run: guardion token set <token>');
201
+ err('No token found.');
171
202
  process.exit(1);
172
203
  }
173
204
  log(`Testing ${chalk.cyan(url + '/health')} ...`);
174
205
  const start = Date.now();
175
206
  try {
176
- const result = await httpGet(`${url}/health`, token);
177
- ok(`${result.status} OK (${Date.now() - start}ms)`);
207
+ const res = await httpGet(`${url}/health`, token);
208
+ ok(`${res.status} OK (${Date.now() - start}ms)`);
178
209
  }
179
210
  catch (e) {
180
- err(`Guard API unreachable: ${e.message}`);
211
+ err(`Unreachable: ${e.message}`);
181
212
  process.exit(1);
182
213
  }
183
214
  });
@@ -194,64 +225,54 @@ program
194
225
  ok(`Restored settings from ${restored}`);
195
226
  }
196
227
  else if (result.settings) {
197
- const cleaned = removeGuardionEntries(result.settings);
198
- writeSettings(result.settingsPath, cleaned);
228
+ writeSettings(result.settingsPath, removeGuardionEntries(result.settings));
199
229
  ok('Removed Guardion entries from settings');
200
230
  }
201
231
  else {
202
- warn('No settings file found — nothing to restore');
232
+ warn('No settings file found');
203
233
  }
204
- // Remove config files
205
234
  try {
206
- fs.unlinkSync(require('path').join(require('os').homedir(), '.guardion', 'config.yaml'));
235
+ fs.unlinkSync(path.join(process.env.HOME || '~', '.guardion', 'config.yaml'));
207
236
  }
208
237
  catch { }
209
238
  try {
210
- fs.unlinkSync(require('path').join(require('os').homedir(), '.guardion', 'config.json'));
239
+ fs.unlinkSync(path.join(process.env.HOME || '~', '.guardion', 'config.json'));
211
240
  }
212
241
  catch { }
213
242
  ok('Removed ~/.guardion/config.yaml');
214
243
  if (opts.clearToken) {
215
244
  clearToken();
216
- ok('Cleared token from keychain');
245
+ ok('Cleared token');
217
246
  }
218
- else {
247
+ else
219
248
  log(chalk.dim(' Token left in keychain. Run: guardion token clear'));
220
- }
221
249
  log('');
222
250
  ok('Uninstall complete.\n');
223
251
  });
224
252
  // ── mock ──────────────────────────────────────────────────────────────────────
225
253
  program
226
254
  .command('mock')
227
- .description('Start local dev mock server (no Docker needed)')
228
- .option('--port <port>', 'Port to listen on', '4100')
255
+ .description('Start local dev mock server')
256
+ .option('--port <port>', 'Port', '4100')
229
257
  .action(async (opts) => {
230
258
  const { startMockServer } = await import('./mock-server.js');
231
259
  startMockServer(Number(opts.port));
232
260
  });
233
- // ── hook (used when `guardion hook` is the hook command) ──────────────────────
261
+ // ── hook (stdin dispatcher when used as hook command) ─────────────────────────
234
262
  program
235
263
  .command('hook')
236
- .description('Internal: read stdin hook event, post to Guard API (used as hook command)')
264
+ .description('Internal: read stdin hook event and post to Guard API')
237
265
  .action(async () => {
238
- // Delegate to the CJS hook logic by spawning it, or re-implement inline.
239
- // For CLI installs (`npm install -g guardion`), this is the hook command.
240
266
  const { execFileSync } = await import('node:child_process');
241
- const { createRequire } = await import('node:module');
242
- const { fileURLToPath } = await import('node:url');
243
- const path = await import('node:path');
244
- const hookPath = path.default.resolve(path.default.dirname(fileURLToPath(import.meta.url)), '..', 'hooks', 'guardion-hook.cjs');
267
+ const hookPath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', 'hooks', 'guardion-hook.cjs');
245
268
  let input = '';
246
269
  process.stdin.setEncoding('utf8');
247
270
  process.stdin.on('data', (c) => { input += c; });
248
271
  process.stdin.on('end', () => {
249
272
  try {
250
273
  execFileSync(process.execPath, [hookPath], {
251
- input,
252
- stdio: ['pipe', 'inherit', 'inherit'],
253
- env: process.env,
254
- timeout: 5000,
274
+ input, stdio: ['pipe', 'inherit', 'inherit'],
275
+ env: process.env, timeout: 5000,
255
276
  });
256
277
  }
257
278
  catch { /* always silent */ }
@@ -264,24 +285,12 @@ program
264
285
  .version(GUARDION_VERSION)
265
286
  .description('Guardion — AI security monitoring for Claude Code')
266
287
  .parse();
267
- // ── HTTP helper ───────────────────────────────────────────────────────────────
268
288
  function httpGet(url, token) {
269
289
  return new Promise((resolve, reject) => {
270
290
  const parsed = new URL(url);
271
291
  const transport = parsed.protocol === 'https:' ? https : http;
272
- const req = transport.get({ hostname: parsed.hostname, port: parsed.port, path: parsed.pathname, timeout: 5000,
273
- headers: { Authorization: `Bearer ${token}` } }, (res) => {
274
- let body = '';
275
- res.on('data', (c) => { body += c; });
276
- res.on('end', () => {
277
- try {
278
- resolve({ status: res.statusCode ?? 0, body: JSON.parse(body) });
279
- }
280
- catch {
281
- resolve({ status: res.statusCode ?? 0, body });
282
- }
283
- });
284
- });
292
+ const req = transport.get({ hostname: parsed.hostname, port: parsed.port, path: parsed.pathname,
293
+ timeout: 5000, headers: { Authorization: `Bearer ${token}` } }, res => { res.resume(); res.on('end', () => resolve({ status: res.statusCode ?? 0 })); });
285
294
  req.on('error', reject);
286
295
  req.on('timeout', () => { req.destroy(); reject(new Error('timeout')); });
287
296
  });
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}