@guardion/guardion 0.2.0 → 0.4.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 (89) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +202 -0
  3. package/dist/bin/cli.d.ts.map +1 -0
  4. package/dist/bin/cli.js +590 -0
  5. package/dist/bin/cli.js.map +1 -0
  6. package/dist/connectors/claude-code/hooks/enforce.cjs +58 -0
  7. package/dist/connectors/claude-code/hooks/guardion-hook.cjs +355 -0
  8. package/dist/connectors/claude-code/hooks/tool-scanner.cjs +272 -0
  9. package/dist/connectors/claude-code/src/collect.d.ts +5 -0
  10. package/dist/connectors/claude-code/src/collect.d.ts.map +1 -0
  11. package/dist/connectors/claude-code/src/collect.js +17 -0
  12. package/dist/connectors/claude-code/src/collect.js.map +1 -0
  13. package/dist/{installer.d.ts → connectors/claude-code/src/installer.d.ts} +2 -1
  14. package/dist/connectors/claude-code/src/installer.d.ts.map +1 -0
  15. package/dist/connectors/claude-code/src/installer.js +190 -0
  16. package/dist/connectors/claude-code/src/installer.js.map +1 -0
  17. package/dist/connectors/claude-code/src/scanner.d.ts.map +1 -0
  18. package/dist/{scanner.js → connectors/claude-code/src/scanner.js} +1 -1
  19. package/dist/connectors/claude-code/src/scanner.js.map +1 -0
  20. package/dist/core/config.d.ts +239 -0
  21. package/dist/core/config.d.ts.map +1 -0
  22. package/dist/core/config.js +154 -0
  23. package/dist/core/config.js.map +1 -0
  24. package/dist/{constants.d.ts → core/constants.d.ts} +8 -3
  25. package/dist/core/constants.d.ts.map +1 -0
  26. package/dist/core/constants.js +54 -0
  27. package/dist/core/constants.js.map +1 -0
  28. package/dist/core/discover.d.ts +36 -0
  29. package/dist/core/discover.d.ts.map +1 -0
  30. package/dist/core/discover.js +154 -0
  31. package/dist/core/discover.js.map +1 -0
  32. package/dist/core/fingerprint.cjs +84 -0
  33. package/dist/core/inventory.d.ts +35 -0
  34. package/dist/core/inventory.d.ts.map +1 -0
  35. package/dist/core/inventory.js +69 -0
  36. package/dist/core/inventory.js.map +1 -0
  37. package/dist/core/keychain.d.ts.map +1 -0
  38. package/dist/{keychain.js → core/keychain.js} +53 -15
  39. package/dist/core/keychain.js.map +1 -0
  40. package/dist/core/mcp/guard-client.cjs +86 -0
  41. package/dist/core/mcp/interceptor.cjs +238 -0
  42. package/dist/core/mcp/jsonrpc.cjs +194 -0
  43. package/dist/core/mcp/transport/http-server-side.cjs +89 -0
  44. package/dist/core/mcp/transport/http-upstream.cjs +111 -0
  45. package/dist/core/mcp/transport/http_forward.cjs +40 -0
  46. package/dist/core/mcp/transport/http_input.cjs +46 -0
  47. package/dist/core/mcp/transport/http_reverse.cjs +33 -0
  48. package/dist/core/mcp/transport/index.cjs +32 -0
  49. package/dist/core/mcp/transport/sse_bridge.cjs +101 -0
  50. package/dist/core/mcp/transport/stdio.cjs +60 -0
  51. package/dist/core/mcp-interpose.cjs +141 -0
  52. package/dist/core/mcp-protect.d.ts +69 -0
  53. package/dist/core/mcp-protect.d.ts.map +1 -0
  54. package/dist/core/mcp-protect.js +205 -0
  55. package/dist/core/mcp-protect.js.map +1 -0
  56. package/dist/core/mcp-scan.d.ts +40 -0
  57. package/dist/core/mcp-scan.d.ts.map +1 -0
  58. package/dist/core/mcp-scan.js +201 -0
  59. package/dist/core/mcp-scan.js.map +1 -0
  60. package/dist/core/mock-server.d.ts.map +1 -0
  61. package/dist/{mock-server.js → core/mock-server.js} +60 -4
  62. package/dist/core/mock-server.js.map +1 -0
  63. package/package.json +9 -10
  64. package/config.yaml.example +0 -26
  65. package/dist/cli.d.ts.map +0 -1
  66. package/dist/cli.js +0 -289
  67. package/dist/cli.js.map +0 -1
  68. package/dist/config.d.ts +0 -28
  69. package/dist/config.d.ts.map +0 -1
  70. package/dist/config.js +0 -63
  71. package/dist/config.js.map +0 -1
  72. package/dist/constants.d.ts.map +0 -1
  73. package/dist/constants.js +0 -44
  74. package/dist/constants.js.map +0 -1
  75. package/dist/installer.d.ts.map +0 -1
  76. package/dist/installer.js +0 -137
  77. package/dist/installer.js.map +0 -1
  78. package/dist/keychain.d.ts.map +0 -1
  79. package/dist/keychain.js.map +0 -1
  80. package/dist/mock-server.d.ts.map +0 -1
  81. package/dist/mock-server.js.map +0 -1
  82. package/dist/scanner.d.ts.map +0 -1
  83. package/dist/scanner.js.map +0 -1
  84. package/hooks/guardion-hook.cjs +0 -202
  85. /package/dist/{cli.d.ts → bin/cli.d.ts} +0 -0
  86. /package/dist/{scanner.d.ts → connectors/claude-code/src/scanner.d.ts} +0 -0
  87. /package/dist/{keychain.d.ts → core/keychain.d.ts} +0 -0
  88. /package/{hooks → dist/core}/metadata.cjs +0 -0
  89. /package/dist/{mock-server.d.ts → core/mock-server.d.ts} +0 -0
package/dist/cli.js DELETED
@@ -1,289 +0,0 @@
1
- #!/usr/bin/env node
2
- import { Command } from 'commander';
3
- import chalk from 'chalk';
4
- import readline from 'node:readline';
5
- import fs from 'node:fs';
6
- import https from 'node:https';
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';
10
- import { getToken, setToken, clearToken } from './keychain.js';
11
- import { scan } from './scanner.js';
12
- import { patch, backup, restore, writeSettings, removeGuardionEntries } from './installer.js';
13
- 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) {
19
- const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
20
- return new Promise(resolve => {
21
- rl.question(chalk.cyan(question), answer => { rl.close(); resolve(answer.trim()); });
22
- });
23
- }
24
- // ── init ──────────────────────────────────────────────────────────────────────
25
- program
26
- .command('init')
27
- .description('Set up Guardion monitoring for Claude Code')
28
- .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')
31
- .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)
34
- .action(async (opts) => {
35
- 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_...): ');
40
- }
41
- if (!token) {
42
- err('Token is required.');
43
- process.exit(1);
44
- }
45
- if (!opts.dev && !token.startsWith(TOKEN_PREFIX)) {
46
- warn(`Token doesn't start with "${TOKEN_PREFIX}" — double-check it's correct.`);
47
- }
48
- // Build config
49
- const apiUrl = opts.dev
50
- ? DEV_API_URL
51
- : (opts.apiUrl || readConfig()?.api_url || DEFAULT_API_URL);
52
- const cfg = {
53
- version: 1,
54
- tier: 'hooks',
55
- api_url: apiUrl,
56
- policy: opts.policy,
57
- application: opts.application,
58
- };
59
- // Scan existing settings
60
- const scanResult = scan();
61
- if (scanResult.hasExistingGuardion) {
62
- warn('Guardion already configured — re-running will overwrite hooks and env.');
63
- }
64
- // Patch
65
- const patched = patch(scanResult, { config: cfg, dev: opts.dev, dryRun: opts.dryRun });
66
- if (opts.dryRun) {
67
- log(chalk.bold('\n Would write to ' + scanResult.settingsPath + ':'));
68
- log(JSON.stringify(patched, null, 2));
69
- log(chalk.bold('\n Would write config to ~/.guardion/config.yaml'));
70
- log(JSON.stringify(cfg, null, 2));
71
- log('');
72
- log(chalk.dim(' (dry-run — no changes made)'));
73
- return;
74
- }
75
- // Store token in keychain
76
- try {
77
- setToken(token);
78
- ok('Token stored in OS keychain');
79
- }
80
- 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 });
84
- }
85
- // Backup + write settings
86
- const backupPath = backup(scanResult.settingsPath);
87
- if (backupPath)
88
- ok(`Backed up settings → ${backupPath}`);
89
- writeSettings(scanResult.settingsPath, patched);
90
- ok(`Patched ${scanResult.settingsPath}`);
91
- // Write config files
92
- writeConfig(cfg);
93
- ok('Wrote ~/.guardion/config.yaml');
94
- // Summary
95
- log('');
96
- 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')}`);
102
- if (opts.dev)
103
- log(`\n ${chalk.yellow('Dev mode')} — pointing at ${chalk.cyan(apiUrl)}`);
104
- log('');
105
- ok('Guardion is ready. Start Claude Code and all activity will be monitored.\n');
106
- });
107
- // ── status ────────────────────────────────────────────────────────────────────
108
- program
109
- .command('status')
110
- .description('Show Guardion installation status')
111
- .action(() => {
112
- log(chalk.bold('\n Guardion Status\n'));
113
- const cfg = readConfig();
114
- const token = getToken();
115
- const result = scan();
116
- if (result.hasExistingGuardion)
117
- ok('Guardion is ' + chalk.green('ACTIVE'));
118
- else
119
- 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')}`);
124
- const hookCount = Object.keys(result.settings?.hooks ?? {}).length;
125
- log(` Hooks ${hookCount > 0 ? chalk.cyan(`${hookCount} events`) : chalk.dim('none')}`);
126
- log('');
127
- });
128
- // ── token ─────────────────────────────────────────────────────────────────────
129
- 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) => {
134
- try {
135
- setToken(token);
136
- ok('Token stored in OS keychain');
137
- }
138
- catch (e) {
139
- err(`Failed to store token: ${e.message}`);
140
- process.exit(1);
141
- }
142
- });
143
- tokenCmd
144
- .command('get')
145
- .description('Print token (masked)')
146
- .action(() => {
147
- const t = getToken();
148
- if (!t) {
149
- warn('No token found.');
150
- return;
151
- }
152
- log(`Token: ${chalk.dim(t.slice(0, 6) + '...' + t.slice(-4))}`);
153
- });
154
- tokenCmd
155
- .command('clear')
156
- .description('Remove token from keychain and files')
157
- .action(() => {
158
- clearToken();
159
- ok('Token cleared');
160
- });
161
- tokenCmd
162
- .command('test')
163
- .description('Verify token by calling Guard API /health')
164
- .option('--dev', 'Test against local Docker stack')
165
- .action(async (opts) => {
166
- const cfg = readConfig();
167
- const token = getToken();
168
- const url = opts.dev ? DEV_API_URL : (cfg?.api_url ?? DEFAULT_API_URL);
169
- if (!token) {
170
- err('No token found. Run: guardion token set <token>');
171
- process.exit(1);
172
- }
173
- log(`Testing ${chalk.cyan(url + '/health')} ...`);
174
- const start = Date.now();
175
- try {
176
- const result = await httpGet(`${url}/health`, token);
177
- ok(`${result.status} OK (${Date.now() - start}ms)`);
178
- }
179
- catch (e) {
180
- err(`Guard API unreachable: ${e.message}`);
181
- process.exit(1);
182
- }
183
- });
184
- // ── uninstall ─────────────────────────────────────────────────────────────────
185
- program
186
- .command('uninstall')
187
- .description('Remove Guardion and restore original settings')
188
- .option('--clear-token', 'Also remove token from keychain', false)
189
- .action((opts) => {
190
- log(chalk.bold('\n Guardion Uninstall\n'));
191
- const result = scan();
192
- const restored = restore(result.settingsPath);
193
- if (restored) {
194
- ok(`Restored settings from ${restored}`);
195
- }
196
- else if (result.settings) {
197
- const cleaned = removeGuardionEntries(result.settings);
198
- writeSettings(result.settingsPath, cleaned);
199
- ok('Removed Guardion entries from settings');
200
- }
201
- else {
202
- warn('No settings file found — nothing to restore');
203
- }
204
- // Remove config files
205
- try {
206
- fs.unlinkSync(require('path').join(require('os').homedir(), '.guardion', 'config.yaml'));
207
- }
208
- catch { }
209
- try {
210
- fs.unlinkSync(require('path').join(require('os').homedir(), '.guardion', 'config.json'));
211
- }
212
- catch { }
213
- ok('Removed ~/.guardion/config.yaml');
214
- if (opts.clearToken) {
215
- clearToken();
216
- ok('Cleared token from keychain');
217
- }
218
- else {
219
- log(chalk.dim(' Token left in keychain. Run: guardion token clear'));
220
- }
221
- log('');
222
- ok('Uninstall complete.\n');
223
- });
224
- // ── mock ──────────────────────────────────────────────────────────────────────
225
- program
226
- .command('mock')
227
- .description('Start local dev mock server (no Docker needed)')
228
- .option('--port <port>', 'Port to listen on', '4100')
229
- .action(async (opts) => {
230
- const { startMockServer } = await import('./mock-server.js');
231
- startMockServer(Number(opts.port));
232
- });
233
- // ── hook (used when `guardion hook` is the hook command) ──────────────────────
234
- program
235
- .command('hook')
236
- .description('Internal: read stdin hook event, post to Guard API (used as hook command)')
237
- .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
- 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');
245
- let input = '';
246
- process.stdin.setEncoding('utf8');
247
- process.stdin.on('data', (c) => { input += c; });
248
- process.stdin.on('end', () => {
249
- try {
250
- execFileSync(process.execPath, [hookPath], {
251
- input,
252
- stdio: ['pipe', 'inherit', 'inherit'],
253
- env: process.env,
254
- timeout: 5000,
255
- });
256
- }
257
- catch { /* always silent */ }
258
- process.exit(0);
259
- });
260
- });
261
- // ── root ──────────────────────────────────────────────────────────────────────
262
- program
263
- .name('guardion')
264
- .version(GUARDION_VERSION)
265
- .description('Guardion — AI security monitoring for Claude Code')
266
- .parse();
267
- // ── HTTP helper ───────────────────────────────────────────────────────────────
268
- function httpGet(url, token) {
269
- return new Promise((resolve, reject) => {
270
- const parsed = new URL(url);
271
- 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
- });
285
- req.on('error', reject);
286
- req.on('timeout', () => { req.destroy(); reject(new Error('timeout')); });
287
- });
288
- }
289
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts DELETED
@@ -1,28 +0,0 @@
1
- import { z } from 'zod';
2
- declare const ConfigSchema: z.ZodObject<{
3
- version: z.ZodLiteral<1>;
4
- tier: z.ZodEnum<["hooks"]>;
5
- api_url: z.ZodString;
6
- policy: z.ZodString;
7
- application: z.ZodString;
8
- }, "strip", z.ZodTypeAny, {
9
- version: 1;
10
- tier: "hooks";
11
- api_url: string;
12
- policy: string;
13
- application: string;
14
- }, {
15
- version: 1;
16
- tier: "hooks";
17
- api_url: string;
18
- policy: string;
19
- application: string;
20
- }>;
21
- export type GuardionConfig = z.infer<typeof ConfigSchema>;
22
- export declare const DEFAULT_CONFIG: GuardionConfig;
23
- export declare function readConfig(): GuardionConfig | null;
24
- export declare function readConfigOrDefault(): GuardionConfig;
25
- export declare function writeConfig(cfg: GuardionConfig): void;
26
- export declare function devConfig(overrides?: Partial<GuardionConfig>): GuardionConfig;
27
- export {};
28
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;EAMhB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAE1D,eAAO,MAAM,cAAc,EAAE,cAM5B,CAAC;AAIF,wBAAgB,UAAU,IAAI,cAAc,GAAG,IAAI,CAQlD;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAEpD;AAID,wBAAgB,WAAW,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAgBrD;AAID,wBAAgB,SAAS,CAAC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,cAAc,CAMjF"}
package/dist/config.js DELETED
@@ -1,63 +0,0 @@
1
- import fs from 'node:fs';
2
- import yaml from 'js-yaml';
3
- import { z } from 'zod';
4
- import { GUARDION_DIR, CONFIG_YAML_PATH, CONFIG_JSON_PATH, DEFAULT_API_URL, } from './constants.js';
5
- // ── Schema ────────────────────────────────────────────────────────────────────
6
- const ConfigSchema = z.object({
7
- version: z.literal(1),
8
- tier: z.enum(['hooks']), // expand union when new tiers land
9
- api_url: z.string().url(),
10
- policy: z.string().min(1),
11
- application: z.string().min(1),
12
- });
13
- export const DEFAULT_CONFIG = {
14
- version: 1,
15
- tier: 'hooks',
16
- api_url: DEFAULT_API_URL,
17
- policy: 'prompt-defense',
18
- application: 'claude-code',
19
- };
20
- // ── Read ──────────────────────────────────────────────────────────────────────
21
- export function readConfig() {
22
- try {
23
- const raw = fs.readFileSync(CONFIG_YAML_PATH, 'utf-8');
24
- const parsed = yaml.load(raw);
25
- return ConfigSchema.parse(parsed);
26
- }
27
- catch {
28
- return null;
29
- }
30
- }
31
- export function readConfigOrDefault() {
32
- return readConfig() ?? DEFAULT_CONFIG;
33
- }
34
- // ── Write ─────────────────────────────────────────────────────────────────────
35
- export function writeConfig(cfg) {
36
- const validated = ConfigSchema.parse(cfg);
37
- fs.mkdirSync(GUARDION_DIR, { recursive: true });
38
- // Write human-editable YAML
39
- const yamlContent = [
40
- '# Guardion config — generated by `npx guardion init`',
41
- `# Edit api_url to switch environments. Token lives in your OS keychain.`,
42
- '',
43
- yaml.dump(validated, { indent: 2 }),
44
- ].join('\n');
45
- writeAtomic(CONFIG_YAML_PATH, yamlContent);
46
- // Write JSON for the CJS hook (no YAML parser dependency)
47
- writeAtomic(CONFIG_JSON_PATH, JSON.stringify(validated, null, 2) + '\n');
48
- }
49
- // ── Dev helper ────────────────────────────────────────────────────────────────
50
- export function devConfig(overrides = {}) {
51
- return {
52
- ...DEFAULT_CONFIG,
53
- api_url: 'http://localhost:8082',
54
- ...overrides,
55
- };
56
- }
57
- // ── Atomic write ──────────────────────────────────────────────────────────────
58
- function writeAtomic(filePath, content) {
59
- const tmp = filePath + '.tmp';
60
- fs.writeFileSync(tmp, content, 'utf-8');
61
- fs.renameSync(tmp, filePath);
62
- }
63
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAQ,SAAS,CAAC;AAG3B,OAAO,IAAI,MAAO,SAAS,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,iFAAiF;AAEjF,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,OAAO,EAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzB,IAAI,EAAS,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,EAAI,mCAAmC;IACrE,OAAO,EAAM,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC7B,MAAM,EAAO,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC/B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,OAAO,EAAM,CAAC;IACd,IAAI,EAAS,OAAO;IACpB,OAAO,EAAM,eAAe;IAC5B,MAAM,EAAO,gBAAgB;IAC7B,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,iFAAiF;AAEjF,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,EAAE,IAAI,cAAc,CAAC;AACxC,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,WAAW,CAAC,GAAmB;IAC7C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1C,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhD,4BAA4B;IAC5B,MAAM,WAAW,GAAG;QAClB,sDAAsD;QACtD,yEAAyE;QACzE,EAAE;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,WAAW,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAE3C,0DAA0D;IAC1D,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,SAAS,CAAC,YAAqC,EAAE;IAC/D,OAAO;QACL,GAAG,cAAc;QACjB,OAAO,EAAE,uBAAuB;QAChC,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,SAAS,WAAW,CAAC,QAAgB,EAAE,OAAe;IACpD,MAAM,GAAG,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9B,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,YAAY,SAAa,CAAC;AACvC,eAAO,MAAM,WAAW,IAAS,CAAC;AAGlC,eAAO,MAAM,eAAe,4BAAgC,CAAC;AAC7D,eAAO,MAAM,mBAAmB,gCAAgC,CAAC;AACjE,eAAO,MAAM,eAAe,4BAAgC,CAAC;AAG7D,eAAO,MAAM,WAAW,0BAA8B,CAAC;AACvD,eAAO,MAAM,eAAe,0BAA0B,CAAC;AACvD,eAAO,MAAM,WAAW,8BAAkC,CAAC;AAE3D,eAAO,MAAM,gBAAgB,qBAAsB,CAAC;AACpD,eAAO,MAAM,WAAW,YAAkB,CAAC;AAG3C,eAAO,MAAM,QAAQ,QAA0B,CAAC;AAChD,eAAO,MAAM,YAAY,QAA0C,CAAC;AACpE,eAAO,MAAM,gBAAgB,QAA4C,CAAC;AAC1E,eAAO,MAAM,gBAAgB,QAA4C,CAAC;AAC1E,eAAO,MAAM,eAAe,QAAuC,CAAC;AACpE,eAAO,MAAM,kBAAkB,8BAA+B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,wBAA0B,CAAC;AAEzD,eAAO,MAAM,UAAU,QAA2C,CAAC;AACnE,eAAO,MAAM,oBAAoB,QAAyC,CAAC;AAC3E,eAAO,MAAM,aAAa,cAAqB,CAAC;AAEhD,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAGxC,eAAO,MAAM,WAAW,6MAad,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC"}
package/dist/constants.js DELETED
@@ -1,44 +0,0 @@
1
- import path from 'node:path';
2
- import os from 'node:os';
3
- export const GUARDION_VERSION = '0.2.0';
4
- export const TOKEN_PREFIX = 'grd_';
5
- export const BACKUP_KEEP = 5;
6
- // Production URLs
7
- export const DEFAULT_API_URL = 'https://api.guardion.ai';
8
- export const DEFAULT_GATEWAY_URL = 'https://gateway.guardion.ai';
9
- export const DEFAULT_MCP_URL = 'https://mcp.guardion.ai';
10
- // Local dev (--dev flag or api_url in config pointing at localhost)
11
- export const DEV_API_URL = 'http://localhost:8082';
12
- export const DEV_GATEWAY_URL = 'http://localhost:8788';
13
- export const DEV_MCP_URL = 'http://localhost:8082/mcp';
14
- export const HOOK_EVENTS_PATH = '/v1/hooks/events';
15
- export const HEALTH_PATH = '/health';
16
- // Filesystem paths
17
- export const HOME_DIR = os.homedir();
18
- export const GUARDION_DIR = path.join(HOME_DIR, '.guardion');
19
- export const CONFIG_YAML_PATH = path.join(GUARDION_DIR, 'config.yaml');
20
- export const CONFIG_JSON_PATH = path.join(GUARDION_DIR, 'config.json');
21
- export const TOKEN_FILE_PATH = path.join(GUARDION_DIR, 'token');
22
- export const SYSTEM_CONFIG_PATH = '/etc/guardion/config.yaml';
23
- export const SYSTEM_TOKEN_PATH = '/etc/guardion/token';
24
- export const CLAUDE_DIR = path.join(HOME_DIR, '.claude');
25
- export const CLAUDE_SETTINGS_PATH = path.join(CLAUDE_DIR, 'settings.json');
26
- export const BACKUP_SUFFIX = '.guardion';
27
- export const KEYCHAIN_SERVICE = 'guardion';
28
- export const KEYCHAIN_ACCOUNT = 'token';
29
- // Hook events captured in MVP (monitoring only)
30
- export const HOOK_EVENTS = [
31
- 'SessionStart',
32
- 'SessionEnd',
33
- 'UserPromptSubmit',
34
- 'PreToolUse',
35
- 'PostToolUse',
36
- 'PostToolUseFailure',
37
- 'PostToolBatch',
38
- 'SubagentStart',
39
- 'SubagentStop',
40
- 'Stop',
41
- 'StopFailure',
42
- 'PermissionDenied',
43
- ];
44
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAQ,SAAS,CAAC;AAE3B,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAO,MAAM,CAAC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAQ,CAAC,CAAC;AAElC,kBAAkB;AAClB,MAAM,CAAC,MAAM,eAAe,GAAO,yBAAyB,CAAC;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AACjE,MAAM,CAAC,MAAM,eAAe,GAAO,yBAAyB,CAAC;AAE7D,oEAAoE;AACpE,MAAM,CAAC,MAAM,WAAW,GAAO,uBAAuB,CAAC;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAC;AACvD,MAAM,CAAC,MAAM,WAAW,GAAO,2BAA2B,CAAC;AAE3D,MAAM,CAAC,MAAM,gBAAgB,GAAI,kBAAkB,CAAC;AACpD,MAAM,CAAC,MAAM,WAAW,GAAS,SAAS,CAAC;AAE3C,mBAAmB;AACnB,MAAM,CAAC,MAAM,QAAQ,GAAc,EAAE,CAAC,OAAO,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,YAAY,GAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAI,2BAA2B,CAAC;AAC/D,MAAM,CAAC,MAAM,iBAAiB,GAAK,qBAAqB,CAAC;AAEzD,MAAM,CAAC,MAAM,UAAU,GAAa,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,aAAa,GAAU,WAAW,CAAC;AAEhD,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAExC,gDAAgD;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc;IACd,YAAY;IACZ,kBAAkB;IAClB,YAAY;IACZ,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,eAAe;IACf,cAAc;IACd,MAAM;IACN,aAAa;IACb,kBAAkB;CACV,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA0DlD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAI,cAAc,CAAC;IACzB,GAAG,CAAC,EAAM,OAAO,CAAC;IAClB,MAAM,CAAC,EAAG,OAAO,CAAC;CACnB;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,cAAc,CAS1E;AAID,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAM9E;AAID,wBAAgB,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS1D;AAqBD,wBAAgB,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoB3D;AAID,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,cAAc,CA0B9E"}
package/dist/installer.js DELETED
@@ -1,137 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- import { fileURLToPath } from 'node:url';
4
- import { BACKUP_SUFFIX, BACKUP_KEEP, HOOK_EVENTS, } from './constants.js';
5
- // Production hook command — uses the published scoped package
6
- const HOOK_COMMAND_NPX = 'npx --yes @guardion/guardion hook';
7
- // Resolve the absolute path to the CJS hook for local dev usage.
8
- // Works from both src/ (tsx) and dist/ (compiled) layouts.
9
- function resolveLocalHookPath() {
10
- const here = path.dirname(fileURLToPath(import.meta.url));
11
- const candidates = [
12
- path.resolve(here, '..', 'hooks', 'guardion-hook.cjs'),
13
- path.resolve(here, '..', '..', 'hooks', 'guardion-hook.cjs'),
14
- ];
15
- for (const c of candidates) {
16
- if (fs.existsSync(c))
17
- return c;
18
- }
19
- return candidates[0];
20
- }
21
- function buildHooks(dev) {
22
- // dev: use absolute path to local CJS hook (no npm registry lookup)
23
- // prod: use npx (once published) or the resolved global binary path
24
- const command = dev
25
- ? `node ${resolveLocalHookPath()}`
26
- : HOOK_COMMAND_NPX;
27
- const hooks = {};
28
- for (const event of HOOK_EVENTS) {
29
- hooks[event] = [{
30
- matcher: '',
31
- hooks: [{ type: 'command', command }],
32
- }];
33
- }
34
- return hooks;
35
- }
36
- // ── Env block (hooks tier — no ANTHROPIC_BASE_URL) ───────────────────────────
37
- function buildEnv(cfg) {
38
- return {
39
- GUARDION_TIER: cfg.tier,
40
- GUARDION_API_URL: cfg.api_url,
41
- GUARDION_POLICY: cfg.policy,
42
- GUARDION_APPLICATION: cfg.application,
43
- };
44
- }
45
- export function patch(scan, opts) {
46
- const base = scan.settings
47
- ? JSON.parse(JSON.stringify(scan.settings)) // deep clone
48
- : {};
49
- base.env = { ...(base.env ?? {}), ...buildEnv(opts.config) };
50
- base.hooks = { ...(base.hooks ?? {}), ...buildHooks(opts.dev ?? false) };
51
- return base;
52
- }
53
- // ── Write ─────────────────────────────────────────────────────────────────────
54
- export function writeSettings(filePath, settings) {
55
- const dir = path.dirname(filePath);
56
- fs.mkdirSync(dir, { recursive: true });
57
- const tmp = filePath + '.tmp';
58
- fs.writeFileSync(tmp, JSON.stringify(settings, null, 2) + '\n', 'utf-8');
59
- fs.renameSync(tmp, filePath);
60
- }
61
- // ── Backup (timestamped, keep last N) ────────────────────────────────────────
62
- export function backup(settingsPath) {
63
- if (!fs.existsSync(settingsPath))
64
- return null;
65
- const ts = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
66
- const backupPath = `${settingsPath}${BACKUP_SUFFIX}-${ts}.bak`;
67
- fs.copyFileSync(settingsPath, backupPath);
68
- pruneBackups(settingsPath);
69
- return backupPath;
70
- }
71
- function pruneBackups(settingsPath) {
72
- const dir = path.dirname(settingsPath);
73
- const base = path.basename(settingsPath);
74
- const prefix = `${base}${BACKUP_SUFFIX}-`;
75
- try {
76
- const backups = fs.readdirSync(dir)
77
- .filter(f => f.startsWith(prefix) && f.endsWith('.bak'))
78
- .map(f => ({ name: f, mtime: fs.statSync(path.join(dir, f)).mtimeMs }))
79
- .sort((a, b) => b.mtime - a.mtime);
80
- for (const old of backups.slice(BACKUP_KEEP)) {
81
- fs.unlinkSync(path.join(dir, old.name));
82
- }
83
- }
84
- catch { /* non-critical */ }
85
- }
86
- // ── Restore ───────────────────────────────────────────────────────────────────
87
- export function restore(settingsPath) {
88
- const dir = path.dirname(settingsPath);
89
- const base = path.basename(settingsPath);
90
- const prefix = `${base}${BACKUP_SUFFIX}-`;
91
- try {
92
- const backups = fs.readdirSync(dir)
93
- .filter(f => f.startsWith(prefix) && f.endsWith('.bak'))
94
- .sort()
95
- .reverse();
96
- if (backups.length === 0)
97
- return null;
98
- const latest = path.join(dir, backups[0]);
99
- fs.copyFileSync(latest, settingsPath);
100
- fs.unlinkSync(latest);
101
- return latest;
102
- }
103
- catch {
104
- return null;
105
- }
106
- }
107
- // ── Remove Guardion entries (uninstall without backup) ────────────────────────
108
- export function removeGuardionEntries(settings) {
109
- const cleaned = JSON.parse(JSON.stringify(settings));
110
- // Remove Guardion env keys
111
- if (cleaned.env) {
112
- for (const key of Object.keys(cleaned.env)) {
113
- if (key.startsWith('GUARDION_'))
114
- delete cleaned.env[key];
115
- }
116
- }
117
- // Remove Guardion hooks — entries whose nested hooks array contains a guardion command
118
- if (cleaned.hooks) {
119
- for (const [event, hookList] of Object.entries(cleaned.hooks)) {
120
- const filtered = hookList.filter(entry => {
121
- // settings.json format: { matcher, hooks: [{ command }] }
122
- if (entry.hooks)
123
- return !entry.hooks.some(h => h.command?.includes('guardion'));
124
- // legacy flat format: { type, command }
125
- return !entry.command?.includes('guardion');
126
- });
127
- if (filtered.length === 0)
128
- delete cleaned.hooks[event];
129
- else
130
- cleaned.hooks[event] = filtered;
131
- }
132
- if (Object.keys(cleaned.hooks).length === 0)
133
- delete cleaned.hooks;
134
- }
135
- return cleaned;
136
- }
137
- //# sourceMappingURL=installer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAQA,wBAAgB,QAAQ,IAAI,MAAM,CA6BjC;AAID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAmB5C;AAED,wBAAgB,UAAU,IAAI,IAAI,CAUjC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-server.d.ts","sourceRoot":"","sources":["../src/mock-server.ts"],"names":[],"mappings":"AAqCA,wBAAgB,eAAe,CAAC,IAAI,SAAe,QA2FlD"}