opencode-1password-auth 1.0.15 → 1.0.17

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.
package/README.md CHANGED
@@ -45,6 +45,7 @@ Authenticate LLM providers and inject MCP server secrets from 1Password environm
45
45
  - **.env Access Warning**: Warns when .env files are accessed
46
46
  - **Config File Management**: Automatically update config files to use `{env:VAR}` references (for MCP servers)
47
47
  - **Debug Logging**: Detailed logs at `~/.opencode-1password-debug/debug.log`
48
+ - **Agent Hook Validation**: Validates mounted 1Password FIFOs before shell execution for secure secret access
48
49
 
49
50
  ## Prerequisites
50
51
 
@@ -266,7 +267,109 @@ The plugin writes detailed logs to `~/.opencode-1password-debug/debug.log`. Chec
266
267
  - **1Password Permissions**: Service account needs read access to environments
267
268
  - **Variable Names**: Provider names in 1Password should match auth.json provider IDs (case-insensitive, underscores converted to hyphens)
268
269
 
269
- ## Current Status (v1.0.12)
270
+ ## Agent Hook Validation
271
+
272
+ The Agent Hook Validation feature validates that 1Password's mounted FIFOs (named pipes) are accessible before shell commands execute. This ensures secure secret access when the 1Password desktop app is running.
273
+
274
+ ### How It Works
275
+
276
+ 1. **Command Pattern Matching**: Before executing a bash command, the plugin checks if the command contains patterns indicating secret usage (e.g., `$`, `${`)
277
+ 2. **Desktop App Detection**: Checks if the 1Password desktop app is running by verifying `~/.1password/mounted/envs/` exists
278
+ 3. **FIFO Validation**: If desktop app is detected, validates that all FIFOs in the mounted directory are readable
279
+ 4. **Fallback to Service Account**: If desktop app is not available, the plugin falls back to using the Service Account for authentication
280
+
281
+ **Integration with OpenCode**: The plugin registers a `tool.execute.before` hook for the `bash` tool, intercepting all shell commands executed via OpenCode. Validation only runs for commands that match the configured patterns. The plugin also uses the `shell.env` hook for MCP secret injection (separate from validation).
282
+
283
+ **Fallback Status**: The Service Account fallback is now fully implemented (v1.0.17+). When the 1Password desktop app is unavailable, the plugin will validate that the Service Account can access the required 1Password environments before allowing command execution.
284
+
285
+ ### Configuration Options
286
+
287
+ | Environment Variable | Default | Description |
288
+ |---------------------|---------|-------------|
289
+ | `OP_AGENT_HOOK_VALIDATION_ENABLED` | `false` | Enable/disable FIFO validation before shell execution |
290
+ | `OP_AGENT_HOOK_BLOCK_ON_FAILURE` | `true` | Block command execution if validation fails |
291
+ | `OP_AGENT_HOOK_VALIDATION_TIMEOUT` | `5000` | Timeout in milliseconds for FIFO validation |
292
+ | `OP_AGENT_HOOK_COMMAND_PATTERNS` | `["$", "${"]` | JSON array of patterns that trigger validation |
293
+
294
+ ### Examples
295
+
296
+ **Enable validation with defaults:**
297
+ ```powershell
298
+ # Windows
299
+ setx OP_AGENT_HOOK_VALIDATION_ENABLED true
300
+
301
+ # macOS/Linux
302
+ export OP_AGENT_HOOK_VALIDATION_ENABLED=true
303
+ ```
304
+
305
+ **Enable with custom timeout and patterns:**
306
+ ```powershell
307
+ # Windows
308
+ setx OP_AGENT_HOOK_VALIDATION_TIMEOUT 10000
309
+ setx OP_AGENT_HOOK_COMMAND_PATTERNS '["$", "${", "env:", "OP_"]'
310
+
311
+ # macOS/Linux
312
+ export OP_AGENT_HOOK_VALIDATION_TIMEOUT=10000
313
+ export OP_AGENT_HOOK_COMMAND_PATTERNS='["$", "${", "env:", "OP_"]'
314
+ ```
315
+
316
+ **Disable blocking on validation failure:**
317
+ ```powershell
318
+ setx OP_AGENT_HOOK_BLOCK_ON_FAILURE false
319
+ ```
320
+
321
+ ### Troubleshooting Agent Hook Validation
322
+
323
+ **Commands are blocked even when 1Password is running:**
324
+ - Verify `OP_AGENT_HOOK_VALIDATION_ENABLED=true` is set
325
+ - Check that `~/.1password/mounted/envs/` exists and contains FIFOs
326
+ - Increase `OP_AGENT_HOOK_VALIDATION_TIMEOUT` if validation is timing out
327
+ - Review debug logs at `~/.opencode-1password-debug/debug.log`
328
+
329
+ **Validation passes but secrets aren't available:**
330
+ - The desktop app may be running but not unlocked
331
+ - Check that the correct vaults are linked in 1Password
332
+ - Verify Service Account fallback works by checking logs
333
+
334
+ **"Mount path does not exist" errors:**
335
+ - Ensure 1Password desktop app is running with the CLI integration enabled
336
+ - On macOS, check System Settings > Privacy & Security > Full Disk Access for OpenCode
337
+ - Verify `~/.1password/mounted/envs/` exists (create if missing: `mkdir -p ~/.1password/mounted/envs`)
338
+
339
+ **FIFO validation timeout:**
340
+ - Increase `OP_AGENT_HOOK_VALIDATION_TIMEOUT` (e.g., 10000 for 10 seconds)
341
+ - Check for slow network drives or anti-virus software interfering
342
+ - Consider setting `OP_AGENT_HOOK_BLOCK_ON_FAILURE=false` if validation is unreliable
343
+
344
+ ### Security Considerations
345
+
346
+ **What Agent Hook Validation DOES:**
347
+ - ✅ **FIFO Accessibility Check**: Validates that 1Password FIFOs exist and are readable at `~/.1password/mounted/envs/`
348
+ - ✅ **Desktop App Detection**: Verifies the 1Password desktop app is running by checking mount directory existence
349
+ - ✅ **Service Account Fallback**: When desktop app is unavailable, falls back to validating Service Account access to required 1Password environments
350
+ - ✅ **Configurable Blocking**: Respects `OP_AGENT_HOOK_BLOCK_ON_FAILURE` setting to block commands when validation fails
351
+
352
+ **What Agent Hook Validation DOES NOT do:**
353
+ - ❌ **Command Injection Prevention**: Does NOT prevent command injection or sanitize shell commands
354
+ - ❌ **Input Validation**: Does NOT validate or sanitize command arguments or user input
355
+ - ❌ **SQLite Mount Verification**: Does NOT use sqlite3 or verify active mounts via 1Password's database (only checks FIFO existence/readability)
356
+ - ❌ **Security Boundary**: Is NOT a comprehensive security boundary for command execution
357
+
358
+ **Important Security Notes:**
359
+ - **Limited Scope**: The validation only ensures 1Password secret access mechanisms are available before commands execute
360
+ - **Not a Sandbox**: Commands execute with full shell privileges after validation passes
361
+ - **Pattern Matching Only**: Validation triggers based on simple string patterns (`$`, `${`), not semantic analysis
362
+
363
+ **Recommended Additional Security Measures:**
364
+ 1. **Input Validation**: Implement command validation/sanitization in your application layer
365
+ 2. **Command Whitelisting**: Consider whitelisting allowed commands for sensitive operations
366
+ 3. **Principle of Least Privilege**: Run OpenCode with minimal necessary permissions
367
+ 4. **Audit Logging**: Monitor command execution in production environments
368
+ 5. **Defense in Depth**: Combine this validation with other security controls
369
+
370
+ **Use Case**: This validation is designed for development environments where 1Password desktop integration is used for secret access. For production deployments, consider implementing additional security controls appropriate for your threat model.
371
+
372
+ ## Current Status (v1.0.17)
270
373
 
271
374
  ### ✅ Implemented
272
375
  - **Provider Authentication**: `client.auth.set()` at runtime
@@ -275,6 +378,7 @@ The plugin writes detailed logs to `~/.opencode-1password-debug/debug.log`. Chec
275
378
  - **Debug Logging**: File-based logging at `~/.opencode-1password-debug/debug.log`
276
379
  - **Variable Normalization**: Multiple naming formats supported
277
380
  - **Immediate Initialization**: Plugin loads early in OpenCode lifecycle
381
+ - **Agent Hook Validation**: FIFO validation before shell execution with desktop app detection and Service Account fallback
278
382
 
279
383
  ### 🔄 Working Around OpenCode Limitations
280
384
  The plugin works around OpenCode's limitation of not resolving `{env:VAR}` in `auth.json` by:
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAqFlD,eAAO,MAAM,qBAAqB,EAAE,MAsgBnC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA8ClD,eAAO,MAAM,qBAAqB,EAAE,MA2kBnC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,9 @@
1
- import * as sdk from "@1password/sdk";
1
+ import { createClient } from "@1password/sdk";
2
2
  import * as fs from 'node:fs';
3
3
  import * as path from 'node:path';
4
+ // Agent hook validation modules
5
+ import config from './src/config.js';
6
+ import { validateCommand } from './src/orchestration.js';
4
7
  // Debug logging to file
5
8
  const debugLog = (message) => {
6
9
  const timestamp = new Date().toISOString();
@@ -20,47 +23,6 @@ const debugLog = (message) => {
20
23
  // Ignore file logging errors
21
24
  }
22
25
  };
23
- // Helper to handle both ESM and CommonJS exports
24
- const getCreateClient = () => {
25
- const sdkAny = sdk;
26
- debugLog(`SDK import check: sdk type=${typeof sdk}, keys=${Object.keys(sdkAny).join(',')}`);
27
- // Log all properties with their types for debugging
28
- for (const key of Object.keys(sdkAny)) {
29
- debugLog(` sdk.${key}: type=${typeof sdkAny[key]}, value=${typeof sdkAny[key] === 'function' ? '[Function]' : String(sdkAny[key])?.substring(0, 50)}`);
30
- }
31
- debugLog(`sdk.createClient exists? ${!!sdkAny.createClient}, type=${typeof sdkAny.createClient}`);
32
- debugLog(`sdk.default exists? ${!!sdkAny.default}, type=${typeof sdkAny.default}`);
33
- if (sdkAny.default) {
34
- debugLog(`sdk.default keys: ${Object.keys(sdkAny.default).join(',')}`);
35
- for (const key of Object.keys(sdkAny.default)) {
36
- debugLog(` sdk.default.${key}: type=${typeof sdkAny.default[key]}`);
37
- }
38
- }
39
- // Try sdk.createClient (ESM named export)
40
- if (sdkAny.createClient && typeof sdkAny.createClient === 'function') {
41
- debugLog('Using sdk.createClient (ESM named export)');
42
- return sdkAny.createClient;
43
- }
44
- // Try sdk.default.createClient (CommonJS default export)
45
- if (sdkAny.default && sdkAny.default.createClient && typeof sdkAny.default.createClient === 'function') {
46
- debugLog('Using sdk.default.createClient (CommonJS default export)');
47
- return sdkAny.default.createClient;
48
- }
49
- // Try sdk as default export
50
- if (typeof sdkAny === 'function') {
51
- debugLog('Using sdk as function (default export)');
52
- return sdkAny;
53
- }
54
- // Try dynamic import as last resort
55
- debugLog('Trying dynamic import as fallback...');
56
- throw new Error('Could not find createClient function in @1password/sdk - module structure: ' + JSON.stringify({
57
- sdkType: typeof sdkAny,
58
- sdkKeys: Object.keys(sdkAny),
59
- hasDefault: !!sdkAny.default,
60
- defaultKeys: sdkAny.default ? Object.keys(sdkAny.default) : []
61
- }));
62
- };
63
- const createClient = getCreateClient();
64
26
  export const OnePasswordAuthPlugin = async ({ client, $ }) => {
65
27
  // TEST: This log should appear in OpenCode's terminal output if plugin loads
66
28
  console.log("1Password Plugin: Export function called - starting initialization");
@@ -528,12 +490,75 @@ export const OnePasswordAuthPlugin = async ({ client, $ }) => {
528
490
  }
529
491
  },
530
492
  async "tool.execute.before"(input) {
531
- if (input.tool !== "read")
493
+ // Existing .env file warning for read tool
494
+ if (input.tool === "read") {
495
+ const fileArgs = input.args;
496
+ if (fileArgs?.filePath && fileArgs.filePath.includes(".env")) {
497
+ debugLog("Warning - .env file access detected. Consider using 1Password for secrets management.");
498
+ }
499
+ return;
500
+ }
501
+ // Agent hook validation for bash tool
502
+ if (input.tool === "bash") {
503
+ // Skip validation if not enabled
504
+ if (!config.validationEnabled) {
505
+ debugLog(`Validation disabled, skipping command validation`);
506
+ return;
507
+ }
508
+ const commandArgs = input.args;
509
+ const command = commandArgs?.command;
510
+ if (!command) {
511
+ debugLog(`No command found in bash tool args`);
512
+ return;
513
+ }
514
+ debugLog(`Processing bash command: ${command.substring(0, 100)}${command.length > 100 ? '...' : ''}`);
515
+ try {
516
+ const validationResult = await validateCommand(command);
517
+ // Log result for debugging
518
+ if (validationResult.skippedReason) {
519
+ debugLog(`Validation skipped: ${validationResult.skippedReason}`);
520
+ // Determine if this skip reason should block execution when blockOnFailure is true
521
+ const blockableSkipReasons = new Set(['fallback_failed', 'no_mounted_path', 'desktop_app_unavailable']);
522
+ if (blockableSkipReasons.has(validationResult.skippedReason)) {
523
+ if (config.blockOnFailure) {
524
+ const errorMessage = `1Password agent hook validation skipped: ${validationResult.skippedReason}`;
525
+ const commandSnippet = command.length > 100 ? command.substring(0, 100) + '...' : command;
526
+ throw new Error(`Command blocked by 1Password agent hook: ${errorMessage} (command: ${commandSnippet})`);
527
+ }
528
+ else {
529
+ debugLog(`Validation skipped (${validationResult.skippedReason}) but blockOnFailure is false, allowing execution with warning`);
530
+ }
531
+ }
532
+ // For non-blockable skip reasons (e.g., command_not_matched) or blockOnFailure=false, allow execution
533
+ return;
534
+ }
535
+ if (!validationResult.isValid) {
536
+ const errorMessage = `1Password agent hook validation failed: ${validationResult.errors.map(e => e.error).join(', ')}`;
537
+ const commandSnippet = command.length > 100 ? command.substring(0, 100) + '...' : command;
538
+ debugLog(errorMessage);
539
+ if (config.blockOnFailure) {
540
+ throw new Error(`Command blocked by 1Password agent hook: ${errorMessage} (command: ${commandSnippet})`);
541
+ }
542
+ else {
543
+ debugLog(`Command would be blocked but blockOnFailure is false, allowing execution with warning`);
544
+ }
545
+ }
546
+ else {
547
+ debugLog(`Validation passed, allowing command execution`);
548
+ }
549
+ }
550
+ catch (error) {
551
+ const errorMessage = error instanceof Error ? error.message : String(error);
552
+ const commandSnippet = command.length > 100 ? command.substring(0, 100) + '...' : command;
553
+ debugLog(`Unexpected error during validation: ${errorMessage}`);
554
+ // Don't block execution on unexpected errors unless blockOnFailure is true
555
+ if (config.blockOnFailure) {
556
+ throw new Error(`Command blocked due to validation error: ${errorMessage} (command: ${commandSnippet})`);
557
+ }
558
+ }
532
559
  return;
533
- const fileArgs = input.args;
534
- if (fileArgs?.filePath && fileArgs.filePath.includes(".env")) {
535
- debugLog("Warning - .env file access detected. Consider using 1Password for secrets management.");
536
560
  }
561
+ // For other tools, do nothing
537
562
  },
538
563
  };
539
564
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Command pattern matching utilities for determining which commands
3
+ * should be validated against 1Password secrets.
4
+ *
5
+ * Follows patterns from index.ts:
6
+ * - String manipulation pattern (normalizeProviderId at line 62-75)
7
+ * - Pattern generation with getAlternativeEnvVarNames (line 77-101)
8
+ */
9
+ /**
10
+ * Determines if a command should be validated against 1Password secrets.
11
+ *
12
+ * Uses efficient regex matching with cached compiled patterns.
13
+ * Supports both default patterns (env var references like $VAR, ${VAR})
14
+ * and custom patterns from configuration.
15
+ *
16
+ * @param command - The shell command to check
17
+ * @param patterns - Optional custom patterns. Defaults to env var reference patterns
18
+ * @returns true if the command matches any of the patterns
19
+ *
20
+ * @example
21
+ * shouldValidateCommand('echo $SECRET') // true - contains $VAR pattern
22
+ * shouldValidateCommand('ls -la') // false - no env var reference
23
+ * shouldValidateCommand('npm install', ['npm']) // true - custom pattern matches
24
+ */
25
+ export declare function shouldValidateCommand(command: string, patterns?: string[]): boolean;
26
+ /**
27
+ * Clears the pattern cache. Useful for testing or when patterns change.
28
+ */
29
+ export declare function clearPatternCache(): void;
30
+ /**
31
+ * Gets the current cache size. Useful for debugging.
32
+ */
33
+ export declare function getPatternCacheSize(): number;
34
+ //# sourceMappingURL=command-matcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-matcher.d.ts","sourceRoot":"","sources":["../../src/command-matcher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuHH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CA0CnF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Command pattern matching utilities for determining which commands
3
+ * should be validated against 1Password secrets.
4
+ *
5
+ * Follows patterns from index.ts:
6
+ * - String manipulation pattern (normalizeProviderId at line 62-75)
7
+ * - Pattern generation with getAlternativeEnvVarNames (line 77-101)
8
+ */
9
+ /**
10
+ * Cache for compiled regex patterns for efficient matching.
11
+ * Using Map for O(1) lookups.
12
+ */
13
+ const patternCache = new Map();
14
+ /**
15
+ * Default patterns for detecting environment variable references.
16
+ * These patterns match bash/shell env var syntax like $VAR and ${VAR}.
17
+ */
18
+ const DEFAULT_ENV_VAR_PATTERNS = [
19
+ /\$[a-zA-Z_][a-zA-Z0-9_]*/g, // $VAR
20
+ /\$\{[^}]+\}/g, // ${VAR}
21
+ ];
22
+ /**
23
+ * Compiles a pattern string into a RegExp and caches it.
24
+ * For special patterns like $ and ${, converts them to proper regex.
25
+ */
26
+ function compilePattern(pattern) {
27
+ const cached = patternCache.get(pattern);
28
+ if (cached) {
29
+ return cached;
30
+ }
31
+ let regex;
32
+ // Handle default env var patterns specially
33
+ if (pattern === '$') {
34
+ // Match $ followed by valid identifier
35
+ regex = /\$[a-zA-Z_][a-zA-Z0-9_]*/g;
36
+ }
37
+ else if (pattern === '${') {
38
+ // Match ${...}
39
+ regex = /\$\{[^}]+\}/g;
40
+ }
41
+ else if (pattern.startsWith('${') && pattern.endsWith('}')) {
42
+ // Exact ${VAR} pattern - escape for regex but keep the structure
43
+ const inner = pattern.slice(2, -1);
44
+ regex = new RegExp(`\\$\\{${escapeRegex(inner)}\\}`, 'g');
45
+ }
46
+ else if (pattern.startsWith('$') && !pattern.startsWith('${')) {
47
+ // Exact $VAR pattern - escape for regex
48
+ const inner = pattern.slice(1);
49
+ regex = new RegExp(`\\$${escapeRegex(inner)}`, 'g');
50
+ }
51
+ else {
52
+ // Custom pattern - escape for regex
53
+ regex = new RegExp(escapeRegex(pattern), 'g');
54
+ }
55
+ patternCache.set(pattern, regex);
56
+ return regex;
57
+ }
58
+ /**
59
+ * Escapes special regex characters in a string.
60
+ */
61
+ function escapeRegex(str) {
62
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
63
+ }
64
+ /**
65
+ * Alternative names for pattern matching - follows the same alternative
66
+ * generation pattern as getAlternativeEnvVarNames in index.ts.
67
+ *
68
+ * Generates variations of patterns for flexible matching:
69
+ * - Original (e.g., "$VAR")
70
+ * - Uppercase (e.g., "$VAR")
71
+ * - Underscore variant (e.g., "$VAR_NAME")
72
+ * - Combined variants
73
+ */
74
+ function getAlternativePatternNames(pattern) {
75
+ const names = new Set();
76
+ // Original pattern
77
+ names.add(pattern);
78
+ // Handle ${VAR} style patterns
79
+ if (pattern.startsWith('${') && pattern.endsWith('}')) {
80
+ const inner = pattern.slice(2, -1); // Remove ${ and }
81
+ // Original inner (e.g., "API_KEY")
82
+ names.add(pattern);
83
+ // Uppercase inner (e.g., "${API_KEY}")
84
+ names.add(`\${${inner.toUpperCase()}}`);
85
+ // Lowercase inner (e.g., "${api_key}")
86
+ names.add(`\${${inner.toLowerCase()}}`);
87
+ // With underscores to hyphens (e.g., "${API-KEY}")
88
+ names.add(`\${${inner.replace(/_/g, '-')}}`);
89
+ // Hyphens to underscores (e.g., "${API_KEY}")
90
+ names.add(`\${${inner.replace(/-/g, '_')}}`);
91
+ }
92
+ // Handle $VAR style patterns
93
+ if (pattern.startsWith('$') && !pattern.startsWith('${')) {
94
+ const inner = pattern.slice(1); // Remove $
95
+ // Original (e.g., "$API_KEY")
96
+ names.add(pattern);
97
+ // Uppercase inner (e.g., "$API_KEY")
98
+ names.add(`$${inner.toUpperCase()}`);
99
+ // Lowercase inner (e.g., "$api_key")
100
+ names.add(`$${inner.toLowerCase()}`);
101
+ // With underscores to hyphens (e.g., "$API-KEY")
102
+ names.add(`$${inner.replace(/_/g, '-')}`);
103
+ // Hyphens to underscores (e.g., "$API_KEY")
104
+ names.add(`$${inner.replace(/-/g, '_')}`);
105
+ }
106
+ return Array.from(names);
107
+ }
108
+ /**
109
+ * Determines if a command should be validated against 1Password secrets.
110
+ *
111
+ * Uses efficient regex matching with cached compiled patterns.
112
+ * Supports both default patterns (env var references like $VAR, ${VAR})
113
+ * and custom patterns from configuration.
114
+ *
115
+ * @param command - The shell command to check
116
+ * @param patterns - Optional custom patterns. Defaults to env var reference patterns
117
+ * @returns true if the command matches any of the patterns
118
+ *
119
+ * @example
120
+ * shouldValidateCommand('echo $SECRET') // true - contains $VAR pattern
121
+ * shouldValidateCommand('ls -la') // false - no env var reference
122
+ * shouldValidateCommand('npm install', ['npm']) // true - custom pattern matches
123
+ */
124
+ export function shouldValidateCommand(command, patterns) {
125
+ // Handle empty command
126
+ if (!command || command.trim() === '') {
127
+ return false;
128
+ }
129
+ // Use provided patterns or defaults
130
+ const activePatterns = patterns && patterns.length > 0 ? patterns : ['$', '${'];
131
+ // Collect all patterns to check (including alternatives)
132
+ const patternsToCheck = new Set();
133
+ for (const pattern of activePatterns) {
134
+ // Add the pattern itself
135
+ patternsToCheck.add(pattern);
136
+ // Add alternative variations following index.ts pattern generation
137
+ const alternatives = getAlternativePatternNames(pattern);
138
+ for (const alt of alternatives) {
139
+ patternsToCheck.add(alt);
140
+ }
141
+ }
142
+ // Compile and cache all patterns
143
+ const compiledPatterns = [];
144
+ for (const p of patternsToCheck) {
145
+ compiledPatterns.push(compilePattern(p));
146
+ }
147
+ // Reset lastIndex on all regexes before testing
148
+ for (const regex of compiledPatterns) {
149
+ regex.lastIndex = 0;
150
+ }
151
+ // Test command against all patterns
152
+ for (const regex of compiledPatterns) {
153
+ if (regex.test(command)) {
154
+ return true;
155
+ }
156
+ }
157
+ return false;
158
+ }
159
+ /**
160
+ * Clears the pattern cache. Useful for testing or when patterns change.
161
+ */
162
+ export function clearPatternCache() {
163
+ patternCache.clear();
164
+ }
165
+ /**
166
+ * Gets the current cache size. Useful for debugging.
167
+ */
168
+ export function getPatternCacheSize() {
169
+ return patternCache.size;
170
+ }
171
+ //# sourceMappingURL=command-matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-matcher.js","sourceRoot":"","sources":["../../src/command-matcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface ValidationConfig {
2
+ validationEnabled: boolean;
3
+ blockOnFailure: boolean;
4
+ validationTimeout: number;
5
+ commandPatterns: string[];
6
+ }
7
+ export interface AgentHookConfig {
8
+ validationEnabled: boolean;
9
+ blockOnFailure: boolean;
10
+ validationTimeout: number;
11
+ commandPatterns: string[];
12
+ }
13
+ export declare function parseConfig(): AgentHookConfig;
14
+ declare const config: AgentHookConfig;
15
+ export default config;
16
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAoCA,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AASD,wBAAgB,WAAW,IAAI,eAAe,CA2C7C;AAED,QAAA,MAAM,MAAM,iBAAgB,CAAC;AAC7B,eAAe,MAAM,CAAC"}