airlock-bot 0.2.16 → 0.2.18

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 (34) hide show
  1. package/dist/audit/db.d.ts +1 -1
  2. package/dist/audit/db.d.ts.map +1 -1
  3. package/dist/configure-cli/cli.d.ts +2 -0
  4. package/dist/configure-cli/cli.d.ts.map +1 -0
  5. package/dist/configure-cli/cli.js +868 -0
  6. package/dist/configure-cli/cli.js.map +1 -0
  7. package/dist/discover/cli.js +1 -1
  8. package/dist/discover/index.d.ts +6 -0
  9. package/dist/discover/index.d.ts.map +1 -1
  10. package/dist/discover/index.js +38 -26
  11. package/dist/discover/index.js.map +1 -1
  12. package/dist/discover/strategies/completion.d.ts +39 -0
  13. package/dist/discover/strategies/completion.d.ts.map +1 -0
  14. package/dist/discover/strategies/completion.js +481 -0
  15. package/dist/discover/strategies/completion.js.map +1 -0
  16. package/dist/hitl/engine.d.ts +3 -1
  17. package/dist/hitl/engine.d.ts.map +1 -1
  18. package/dist/hitl/engine.js +12 -0
  19. package/dist/hitl/engine.js.map +1 -1
  20. package/dist/index.js +9 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/middleware/core/hitl-gate.d.ts.map +1 -1
  23. package/dist/middleware/core/hitl-gate.js +33 -1
  24. package/dist/middleware/core/hitl-gate.js.map +1 -1
  25. package/dist/middleware/types.d.ts +2 -0
  26. package/dist/middleware/types.d.ts.map +1 -1
  27. package/dist/transport/agent-server.d.ts +2 -0
  28. package/dist/transport/agent-server.d.ts.map +1 -1
  29. package/dist/transport/agent-server.js +1 -0
  30. package/dist/transport/agent-server.js.map +1 -1
  31. package/dist/transport/sse-server.d.ts.map +1 -1
  32. package/dist/transport/sse-server.js +14 -1
  33. package/dist/transport/sse-server.js.map +1 -1
  34. package/package.json +1 -1
@@ -0,0 +1,481 @@
1
+ import { execFileSync } from 'child_process';
2
+ import { mkdtempSync, rmSync, writeFileSync } from 'fs';
3
+ import { tmpdir } from 'os';
4
+ import { join } from 'path';
5
+ import { inferType } from './help-parser.js';
6
+ function execLines(bin, args, env) {
7
+ try {
8
+ const out = execFileSync(bin, args, {
9
+ timeout: 5000,
10
+ encoding: 'utf-8',
11
+ stdio: ['ignore', 'pipe', 'pipe'],
12
+ env: env ? { ...process.env, ...env } : process.env,
13
+ });
14
+ return out
15
+ .split('\n')
16
+ .map((line) => line.trimEnd())
17
+ .filter((line) => line.length > 0);
18
+ }
19
+ catch (err) {
20
+ if (err && typeof err === 'object' && 'stdout' in err) {
21
+ const stdout = err.stdout ?? '';
22
+ if (stdout.trim()) {
23
+ return stdout
24
+ .split('\n')
25
+ .map((line) => line.trimEnd())
26
+ .filter((line) => line.length > 0);
27
+ }
28
+ }
29
+ return null;
30
+ }
31
+ }
32
+ function getDescription(bin, subcommandPath) {
33
+ const out = execLines(bin, [...subcommandPath, '--help']);
34
+ return out?.[0]?.trim() || undefined;
35
+ }
36
+ function normalizeFlag(flag) {
37
+ return flag.replace(/[=,:]+$/, '');
38
+ }
39
+ function normalizeParamName(flag) {
40
+ return normalizeFlag(flag).replace(/^--?/, '').replace(/-/g, '_');
41
+ }
42
+ function mergeCandidates(...groups) {
43
+ const merged = new Map();
44
+ for (const group of groups) {
45
+ for (const candidate of group) {
46
+ if (!candidate.name)
47
+ continue;
48
+ const existing = merged.get(candidate.name);
49
+ if (!existing) {
50
+ merged.set(candidate.name, candidate);
51
+ continue;
52
+ }
53
+ if (!existing.description && candidate.description) {
54
+ existing.description = candidate.description;
55
+ }
56
+ if (!existing.type && candidate.type) {
57
+ existing.type = candidate.type;
58
+ }
59
+ }
60
+ }
61
+ return [...merged.values()];
62
+ }
63
+ function classifyCandidates(candidates) {
64
+ const subcommands = [];
65
+ const flags = [];
66
+ for (const candidate of candidates) {
67
+ if (!candidate.name)
68
+ continue;
69
+ if (candidate.name.startsWith('-')) {
70
+ flags.push(candidate);
71
+ continue;
72
+ }
73
+ if (candidate.type === 'file' || candidate.type === 'dir')
74
+ continue;
75
+ subcommands.push(candidate);
76
+ }
77
+ return { subcommands, flags };
78
+ }
79
+ function paramsFromFlags(flags) {
80
+ const params = {};
81
+ for (const flag of flags) {
82
+ const longFlag = normalizeFlag(flag.name);
83
+ if (/^-[A-Za-z0-9]$/.test(longFlag))
84
+ continue;
85
+ const paramName = normalizeParamName(longFlag);
86
+ const desc = flag.description ?? '';
87
+ const hasValueHint = /[=<[]/.test(flag.name) ||
88
+ /\b(value|path|file|dir|name|id|url|port|timeout|count)\b/i.test(desc);
89
+ const isBoolean = !hasValueHint &&
90
+ (longFlag.startsWith('--no-') || desc ? inferType(longFlag, desc) === 'boolean' : true);
91
+ params[paramName] = {
92
+ type: isBoolean ? 'boolean' : inferType(longFlag, desc),
93
+ flag: longFlag,
94
+ positional: false,
95
+ required: false,
96
+ description: flag.description,
97
+ };
98
+ }
99
+ return params;
100
+ }
101
+ function discoverFromProvider(tool, provider, options) {
102
+ const maxDepth = options?.maxDepth ?? 2;
103
+ const include = options?.include ? new Set(options.include) : undefined;
104
+ const exclude = options?.exclude ? new Set(options.exclude) : undefined;
105
+ const startPath = options?.startPath ?? [];
106
+ const commands = {};
107
+ const seenPaths = new Set();
108
+ function discover(path, prefix, depth) {
109
+ const neutral = provider.list(path, '') ?? [];
110
+ const dashed = provider.list(path, '-') ?? [];
111
+ const candidates = mergeCandidates(neutral, dashed);
112
+ if (candidates.length === 0)
113
+ return;
114
+ const { subcommands, flags } = classifyCandidates(candidates);
115
+ if (flags.length > 0 || subcommands.length === 0) {
116
+ const cmdName = prefix || tool;
117
+ if (!exclude?.has(cmdName) && (!include || include.has(cmdName))) {
118
+ commands[cmdName] = {
119
+ exec: [tool, ...path].join(' '),
120
+ description: provider.describe?.(path),
121
+ params: paramsFromFlags(flags),
122
+ timeout: 30,
123
+ };
124
+ }
125
+ }
126
+ if (depth >= maxDepth)
127
+ return;
128
+ for (const sub of subcommands) {
129
+ if (exclude?.has(sub.name))
130
+ continue;
131
+ const newPath = [...path, sub.name];
132
+ const key = newPath.join(' ');
133
+ if (seenPaths.has(key))
134
+ continue;
135
+ seenPaths.add(key);
136
+ const newPrefix = prefix ? `${prefix}_${sub.name}` : sub.name;
137
+ discover(newPath, newPrefix, depth + 1);
138
+ }
139
+ }
140
+ discover(startPath, startPath.join('_'), 0);
141
+ return commands;
142
+ }
143
+ function loadCommandFromProvider(tool, provider, path, name) {
144
+ const neutral = provider.list(path, '') ?? [];
145
+ const dashed = provider.list(path, '-') ?? [];
146
+ const candidates = mergeCandidates(neutral, dashed);
147
+ if (candidates.length === 0)
148
+ return null;
149
+ const { subcommands, flags } = classifyCandidates(candidates);
150
+ if (flags.length === 0 && subcommands.length > 0) {
151
+ return null;
152
+ }
153
+ return {
154
+ exec: [tool, ...path].join(' '),
155
+ description: provider.describe?.(path),
156
+ params: paramsFromFlags(flags),
157
+ timeout: 30,
158
+ };
159
+ }
160
+ function parseCobraLine(line) {
161
+ if (!line || line.startsWith(':'))
162
+ return null;
163
+ const tabIdx = line.indexOf('\t');
164
+ if (tabIdx >= 0) {
165
+ return {
166
+ name: line.slice(0, tabIdx).trim(),
167
+ description: line.slice(tabIdx + 1).trim() || undefined,
168
+ };
169
+ }
170
+ return { name: line.trim() };
171
+ }
172
+ function parseClickLine(line) {
173
+ const tabIdx = line.indexOf('\t');
174
+ const raw = tabIdx >= 0 ? line.slice(0, tabIdx) : line;
175
+ const help = tabIdx >= 0 ? line.slice(tabIdx + 1).trim() || undefined : undefined;
176
+ const commaIdx = raw.indexOf(',');
177
+ if (commaIdx < 0)
178
+ return null;
179
+ const type = raw.slice(0, commaIdx).trim();
180
+ const name = raw.slice(commaIdx + 1).trim();
181
+ if (!name)
182
+ return null;
183
+ return { name, description: help, type };
184
+ }
185
+ function parsePlainLine(line) {
186
+ if (!line)
187
+ return null;
188
+ const tabIdx = line.indexOf('\t');
189
+ if (tabIdx >= 0) {
190
+ return {
191
+ name: line.slice(0, tabIdx).trim(),
192
+ description: line.slice(tabIdx + 1).trim() || undefined,
193
+ };
194
+ }
195
+ return { name: line.trim() };
196
+ }
197
+ function toolEnvName(tool) {
198
+ const base = tool.split(/[\\/]/).pop() ?? tool;
199
+ return `_${base.replace(/-/g, '_').toUpperCase()}_COMPLETE`;
200
+ }
201
+ function runCobraComplete(tool, path, incomplete) {
202
+ const out = execLines(tool, ['__complete', ...path, incomplete]);
203
+ if (!out)
204
+ return null;
205
+ return out.map(parseCobraLine).filter((item) => item !== null);
206
+ }
207
+ function runClickComplete(tool, path, incomplete) {
208
+ const words = [tool, ...path];
209
+ let cword = words.length;
210
+ if (incomplete) {
211
+ words.push(incomplete);
212
+ cword = words.length - 1;
213
+ }
214
+ const out = execLines(tool, [], {
215
+ [toolEnvName(tool)]: 'bash_complete',
216
+ COMP_WORDS: words.join(' '),
217
+ COMP_CWORD: String(cword),
218
+ });
219
+ if (!out)
220
+ return null;
221
+ return out.map(parseClickLine).filter((item) => item !== null);
222
+ }
223
+ function runClapComplete(tool, path, incomplete) {
224
+ const words = [tool, ...path, incomplete];
225
+ const out = execLines(tool, ['--', ...words], {
226
+ COMPLETE: 'bash',
227
+ _CLAP_COMPLETE_INDEX: String(words.length - 1),
228
+ _CLAP_COMPLETE_COMP_TYPE: '9',
229
+ _CLAP_COMPLETE_SPACE: 'true',
230
+ _CLAP_IFS: '\n',
231
+ });
232
+ if (!out)
233
+ return null;
234
+ return out.map(parsePlainLine).filter((item) => item !== null);
235
+ }
236
+ function looksLikeScript(lines) {
237
+ if (!lines || lines.length === 0)
238
+ return false;
239
+ const text = lines.join('\n');
240
+ return (text.includes('complete -F') ||
241
+ text.includes('compdef ') ||
242
+ text.includes('COMPREPLY') ||
243
+ text.includes('compgen ') ||
244
+ text.includes('complete -c '));
245
+ }
246
+ const GENERATOR_ARG_CANDIDATES = [
247
+ ['completion', 'bash'],
248
+ ['completions', 'bash'],
249
+ ['completion', '--shell', 'bash'],
250
+ ['completions', '--shell', 'bash'],
251
+ ['generate-completion', 'bash'],
252
+ ['gen-completion', 'bash'],
253
+ ['shell-completion', 'bash'],
254
+ ['completion', 'script', 'bash'],
255
+ ];
256
+ function setupScriptAdapter(tool) {
257
+ for (const args of GENERATOR_ARG_CANDIDATES) {
258
+ const script = execLines(tool, args);
259
+ if (!script || !looksLikeScript(script))
260
+ continue;
261
+ const scriptText = script.join('\n');
262
+ const dir = mkdtempSync(join(tmpdir(), 'airlock-completion-'));
263
+ const scriptPath = join(dir, `${tool.replace(/[^A-Za-z0-9_-]/g, '_')}.bash`);
264
+ writeFileSync(scriptPath, scriptText);
265
+ const completeSpec = execLines('bash', [
266
+ '-lc',
267
+ 'source "$AIRLOCK_SCRIPT" >/dev/null 2>&1 && complete -p "$AIRLOCK_TOOL" 2>/dev/null',
268
+ ], {
269
+ AIRLOCK_SCRIPT: scriptPath,
270
+ AIRLOCK_TOOL: tool,
271
+ });
272
+ const spec = completeSpec?.join('\n') ?? '';
273
+ const fnMatch = spec.match(/-F\s+(\S+)/);
274
+ if (!fnMatch) {
275
+ rmSync(dir, { recursive: true, force: true });
276
+ continue;
277
+ }
278
+ const fnName = fnMatch[1];
279
+ return {
280
+ cleanup() {
281
+ rmSync(dir, { recursive: true, force: true });
282
+ },
283
+ list(path, incomplete) {
284
+ const words = [tool, ...path, incomplete];
285
+ const line = words.filter((word) => word.length > 0).join(' ');
286
+ const prev = path[path.length - 1] ?? tool;
287
+ const out = execLines('bash', [
288
+ '-lc',
289
+ 'source "$AIRLOCK_SCRIPT" >/dev/null 2>&1 && AIRLOCK_WORDS_ARR=() && while IFS= read -r line; do AIRLOCK_WORDS_ARR+=("$line"); done <<< "$AIRLOCK_WORDS" && COMP_WORDS=("${AIRLOCK_WORDS_ARR[@]}") && COMP_CWORD="$AIRLOCK_CWORD" && COMP_LINE="$AIRLOCK_LINE" && COMP_POINT=${#COMP_LINE} && COMP_TYPE=9 && COMPREPLY=() && "$AIRLOCK_FUNC" "$AIRLOCK_TOOL" "$AIRLOCK_CUR" "$AIRLOCK_PREV" && printf "%s\n" "${COMPREPLY[@]}"',
290
+ ], {
291
+ AIRLOCK_SCRIPT: scriptPath,
292
+ AIRLOCK_TOOL: tool,
293
+ AIRLOCK_FUNC: fnName,
294
+ AIRLOCK_CWORD: String(words.length - 1),
295
+ AIRLOCK_LINE: line,
296
+ AIRLOCK_CUR: incomplete,
297
+ AIRLOCK_PREV: incomplete ? prev : (path[path.length - 1] ?? tool),
298
+ AIRLOCK_WORDS: words.join('\n'),
299
+ });
300
+ return (out?.map(parsePlainLine).filter((item) => item !== null) ??
301
+ null);
302
+ },
303
+ };
304
+ }
305
+ return null;
306
+ }
307
+ const cobraAdapter = {
308
+ id: 'cobra',
309
+ detect(tool) {
310
+ const result = runCobraComplete(tool, [], '');
311
+ return result !== null && result.length > 0;
312
+ },
313
+ createProvider(tool) {
314
+ if (!this.detect(tool))
315
+ return null;
316
+ return {
317
+ list(path, incomplete) {
318
+ return runCobraComplete(tool, path, incomplete);
319
+ },
320
+ describe(path) {
321
+ return getDescription(tool, path);
322
+ },
323
+ };
324
+ },
325
+ };
326
+ const clickAdapter = {
327
+ id: 'click',
328
+ detect(tool) {
329
+ const result = runClickComplete(tool, [], '');
330
+ return result !== null && result.length > 0;
331
+ },
332
+ createProvider(tool) {
333
+ if (!this.detect(tool))
334
+ return null;
335
+ return {
336
+ list(path, incomplete) {
337
+ return runClickComplete(tool, path, incomplete);
338
+ },
339
+ describe(path) {
340
+ return getDescription(tool, path);
341
+ },
342
+ };
343
+ },
344
+ };
345
+ const clapAdapter = {
346
+ id: 'clap',
347
+ detect(tool) {
348
+ const result = runClapComplete(tool, [], '');
349
+ return result !== null && result.length > 0;
350
+ },
351
+ createProvider(tool) {
352
+ if (!this.detect(tool))
353
+ return null;
354
+ return {
355
+ list(path, incomplete) {
356
+ return runClapComplete(tool, path, incomplete);
357
+ },
358
+ describe(path) {
359
+ return getDescription(tool, path);
360
+ },
361
+ };
362
+ },
363
+ };
364
+ const scriptAdapter = {
365
+ id: 'shell-script',
366
+ detect(tool) {
367
+ const session = setupScriptAdapter(tool);
368
+ if (!session)
369
+ return false;
370
+ session.cleanup();
371
+ return true;
372
+ },
373
+ createProvider(tool) {
374
+ const session = setupScriptAdapter(tool);
375
+ if (!session)
376
+ return null;
377
+ process.once('exit', () => session.cleanup());
378
+ return {
379
+ list(path, incomplete) {
380
+ return session.list(path, incomplete);
381
+ },
382
+ describe(path) {
383
+ return getDescription(tool, path);
384
+ },
385
+ };
386
+ },
387
+ };
388
+ const COMPLETION_ADAPTERS = [
389
+ cobraAdapter,
390
+ clickAdapter,
391
+ clapAdapter,
392
+ scriptAdapter,
393
+ ];
394
+ function createSessionWithAdapter(tool, adapter) {
395
+ const provider = adapter.createProvider(tool);
396
+ if (!provider)
397
+ return null;
398
+ let topLevelCache = null;
399
+ const pathCache = new Map();
400
+ const commandCache = new Map();
401
+ return {
402
+ adapterId: adapter.id,
403
+ listTopLevelSubcommands() {
404
+ if (topLevelCache)
405
+ return topLevelCache;
406
+ const neutral = provider.list([], '') ?? [];
407
+ const dashed = provider.list([], '-') ?? [];
408
+ const candidates = mergeCandidates(neutral, dashed);
409
+ const { subcommands } = classifyCandidates(candidates);
410
+ topLevelCache = subcommands.map((candidate) => candidate.name);
411
+ return topLevelCache;
412
+ },
413
+ loadPath(path, options) {
414
+ const key = `${path.join(' ')}|${options?.maxDepth ?? 2}`;
415
+ const cached = pathCache.get(key);
416
+ if (cached)
417
+ return cached;
418
+ const commands = discoverFromProvider(tool, provider, {
419
+ maxDepth: options?.maxDepth,
420
+ startPath: path,
421
+ });
422
+ pathCache.set(key, commands);
423
+ return commands;
424
+ },
425
+ loadCommand(path, name) {
426
+ const key = `${path.join(' ')}|${name ?? ''}`;
427
+ if (commandCache.has(key))
428
+ return commandCache.get(key) ?? null;
429
+ const command = loadCommandFromProvider(tool, provider, path, name);
430
+ commandCache.set(key, command);
431
+ return command;
432
+ },
433
+ };
434
+ }
435
+ export function createCompletionSession(tool) {
436
+ for (const adapter of COMPLETION_ADAPTERS) {
437
+ const session = createSessionWithAdapter(tool, adapter);
438
+ if (session)
439
+ return session;
440
+ }
441
+ return null;
442
+ }
443
+ export function detectCompletionSupport(tool) {
444
+ for (const adapter of COMPLETION_ADAPTERS) {
445
+ if (adapter.detect(tool))
446
+ return adapter.id;
447
+ }
448
+ return null;
449
+ }
450
+ export function discoverViaCompletion(tool, options) {
451
+ for (const adapter of COMPLETION_ADAPTERS) {
452
+ const provider = adapter.createProvider(tool);
453
+ if (!provider)
454
+ continue;
455
+ return {
456
+ adapterId: adapter.id,
457
+ commands: discoverFromProvider(tool, provider, options),
458
+ };
459
+ }
460
+ return null;
461
+ }
462
+ /**
463
+ * Dedup aliases: when multiple command names have the same exec, keep only the longest name.
464
+ * e.g. "calendar" and "cal" both exec "gog calendar" — keep "calendar".
465
+ */
466
+ export function deduplicateAliases(commands) {
467
+ const byExec = new Map();
468
+ for (const [name, cmd] of Object.entries(commands)) {
469
+ const exec = cmd.exec;
470
+ if (!byExec.has(exec))
471
+ byExec.set(exec, []);
472
+ byExec.get(exec).push(name);
473
+ }
474
+ const result = {};
475
+ for (const [exec, names] of byExec) {
476
+ const canonical = names.sort((a, b) => b.length - a.length)[0];
477
+ result[canonical] = commands[canonical];
478
+ }
479
+ return result;
480
+ }
481
+ //# sourceMappingURL=completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/discover/strategies/completion.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { AuditLogger } from '../audit/logger.js';
2
2
  import type { HitlProvider, ApprovalApi } from './providers/types.js';
3
- export type HitlResult = 'approved' | 'denied' | 'timeout';
3
+ export type HitlResult = 'approved' | 'denied' | 'timeout' | 'cancelled';
4
4
  export interface HitlTicket {
5
5
  id: string;
6
6
  code: string;
@@ -20,6 +20,8 @@ export declare class HitlEngine implements ApprovalApi {
20
20
  }): HitlTicket;
21
21
  /** Approve by code (used by providers) or by id (used by API) */
22
22
  approve(codeOrId: string): void;
23
+ /** Cancel a pending request (e.g. transport disconnected). */
24
+ cancel(id: string): void;
23
25
  /** Deny by code or id */
24
26
  deny(codeOrId: string, reason?: string): void;
25
27
  getPending(): Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/hitl/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKtE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7B;AAYD,qBAAa,UAAW,YAAW,WAAW;IAK1C,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAN5B,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,MAAM,CAA6B;gBAGjC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM;IAG5B,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,UAAU;IAkC5F,iEAAiE;IACjE,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAc/B,yBAAyB;IACzB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAc7C,UAAU,IAAI,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,CAAC;IAUF,OAAO,CAAC,cAAc;IAStB,kDAAkD;IAE5C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CA8DtC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/hitl/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKtE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7B;AAYD,qBAAa,UAAW,YAAW,WAAW;IAK1C,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAN5B,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,MAAM,CAA6B;gBAGjC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM;IAG5B,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,UAAU;IAkC5F,iEAAiE;IACjE,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAc/B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAWxB,yBAAyB;IACzB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAc7C,UAAU,IAAI,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,CAAC;IAUF,OAAO,CAAC,cAAc;IAStB,kDAAkD;IAE5C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CA8DtC"}
@@ -55,6 +55,18 @@ export class HitlEngine {
55
55
  log.info({ id: req.id, code: req.code }, 'HITL approved');
56
56
  req.resolve('approved');
57
57
  }
58
+ /** Cancel a pending request (e.g. transport disconnected). */
59
+ cancel(id) {
60
+ const req = this.pending.get(id);
61
+ if (!req)
62
+ return;
63
+ clearTimeout(req.timer);
64
+ this.pending.delete(req.id);
65
+ this.byCode.delete(req.code);
66
+ this.auditLogger.updateHitlStatus(req.id, 'cancelled');
67
+ log.info({ id: req.id, code: req.code }, 'HITL cancelled (session disconnected)');
68
+ req.resolve('cancelled');
69
+ }
58
70
  /** Deny by code or id */
59
71
  deny(codeOrId, reason) {
60
72
  const req = this.resolveRequest(codeOrId);
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/hitl/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/hitl/engine.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ import { Gateway } from './gateway.js';
6
6
  import { runStdioMode } from './stdio-mode.js';
7
7
  import { runDiscover } from './discover/cli.js';
8
8
  import { runConfigureAgent } from './configure-agent/cli.js';
9
+ import { runConfigureCli } from './configure-cli/cli.js';
9
10
  import { logger } from './util/logger.js';
10
11
  // Handle subcommands before parseArgs
11
12
  const subcommand = process.argv[2];
@@ -21,6 +22,12 @@ else if (subcommand === 'configure-agent') {
21
22
  process.exit(1);
22
23
  });
23
24
  }
25
+ else if (subcommand === 'configure-cli') {
26
+ runConfigureCli(process.argv.slice(3)).catch((err) => {
27
+ console.error(err instanceof Error ? err.message : String(err));
28
+ process.exit(1);
29
+ });
30
+ }
24
31
  else {
25
32
  runGateway();
26
33
  }
@@ -41,6 +48,7 @@ airlock — permissions-aware MCP gateway
41
48
  Usage:
42
49
  airlock [options]
43
50
  airlock discover <cli|api> [options]
51
+ airlock configure-cli <tool> [options]
44
52
  airlock configure-agent [options]
45
53
 
46
54
  Options:
@@ -52,6 +60,7 @@ Options:
52
60
  Subcommands:
53
61
  discover cli <tool> Auto-discover CLI commands from --help or Fig specs
54
62
  discover api <spec> Auto-discover API endpoints from an OpenAPI spec
63
+ configure-cli <tool> Interactive TUI to select and configure CLI commands
55
64
  configure-agent Interactive TUI to build allow/ask/deny lists
56
65
 
57
66
  Examples:
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,sCAAsC;AACtC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;IAC9B,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;IAC5C,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACrD,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;IAC1C,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnD,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,UAAU,EAAE,CAAC;AACf,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE;YACjE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;YACrC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;SACtD;QACD,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCf,CAAC,CAAC;QACC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,UAAU,IAAI;QACjB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC;QACrD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,2BAA2B,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE;YACjC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,iCAAiC,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YACxC,IAAI,YAAY;gBAAE,OAAO;YACzB,YAAY,GAAG,IAAI,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,0BAA0B,CAAC,CAAC;YACpD,6DAA6D;YAC7D,gEAAgE;YAChE,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC3B,wDAAwD;YACxD,sDAAsD;YACtD,0DAA0D;YAC1D,+CAA+C;YAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBACzD,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;YACvC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,6BAA6B,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hitl-gate.d.ts","sourceRoot":"","sources":["../../../src/middleware/core/hitl-gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,kBAAkB,IAAI,UAAU,CA0C/C"}
1
+ {"version":3,"file":"hitl-gate.d.ts","sourceRoot":"","sources":["../../../src/middleware/core/hitl-gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAgB,kBAAkB,IAAI,UAAU,CAwE/C"}