@dotsetlabs/tollgate 0.2.2 → 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.
Files changed (194) hide show
  1. package/README.md +138 -0
  2. package/dist/analyzers/filesystem.d.ts +5 -0
  3. package/dist/analyzers/filesystem.d.ts.map +1 -1
  4. package/dist/analyzers/filesystem.js +61 -7
  5. package/dist/analyzers/filesystem.js.map +1 -1
  6. package/dist/analyzers/loader.d.ts +5 -0
  7. package/dist/analyzers/loader.d.ts.map +1 -1
  8. package/dist/analyzers/loader.js +112 -6
  9. package/dist/analyzers/loader.js.map +1 -1
  10. package/dist/analyzers/prompt-injection.d.ts +1 -0
  11. package/dist/analyzers/prompt-injection.d.ts.map +1 -1
  12. package/dist/analyzers/prompt-injection.js +48 -2
  13. package/dist/analyzers/prompt-injection.js.map +1 -1
  14. package/dist/analyzers/shell.d.ts +8 -0
  15. package/dist/analyzers/shell.d.ts.map +1 -1
  16. package/dist/analyzers/shell.js +109 -8
  17. package/dist/analyzers/shell.js.map +1 -1
  18. package/dist/analyzers/sql.d.ts.map +1 -1
  19. package/dist/analyzers/sql.js +8 -7
  20. package/dist/analyzers/sql.js.map +1 -1
  21. package/dist/approval/interactive.d.ts +1 -1
  22. package/dist/approval/interactive.d.ts.map +1 -1
  23. package/dist/approval/interactive.js +13 -1
  24. package/dist/approval/interactive.js.map +1 -1
  25. package/dist/approval/rate-limiter.d.ts +115 -0
  26. package/dist/approval/rate-limiter.d.ts.map +1 -0
  27. package/dist/approval/rate-limiter.js +200 -0
  28. package/dist/approval/rate-limiter.js.map +1 -0
  29. package/dist/approval/url-validator.d.ts +51 -0
  30. package/dist/approval/url-validator.d.ts.map +1 -0
  31. package/dist/approval/url-validator.js +184 -0
  32. package/dist/approval/url-validator.js.map +1 -0
  33. package/dist/approval/webhook.d.ts +48 -0
  34. package/dist/approval/webhook.d.ts.map +1 -1
  35. package/dist/approval/webhook.js +89 -0
  36. package/dist/approval/webhook.js.map +1 -1
  37. package/dist/audit/integrity.d.ts +107 -0
  38. package/dist/audit/integrity.d.ts.map +1 -0
  39. package/dist/audit/integrity.js +191 -0
  40. package/dist/audit/integrity.js.map +1 -0
  41. package/dist/audit/logger.d.ts.map +1 -1
  42. package/dist/audit/logger.js +6 -5
  43. package/dist/audit/logger.js.map +1 -1
  44. package/dist/audit/redaction.js +6 -4
  45. package/dist/audit/redaction.js.map +1 -1
  46. package/dist/cli/commands/guard.d.ts +97 -0
  47. package/dist/cli/commands/guard.d.ts.map +1 -0
  48. package/dist/cli/commands/guard.js +456 -0
  49. package/dist/cli/commands/guard.js.map +1 -0
  50. package/dist/cli/commands/serve.js +1 -1
  51. package/dist/cli/commands/serve.js.map +1 -1
  52. package/dist/cli/index.js +3 -0
  53. package/dist/cli/index.js.map +1 -1
  54. package/dist/cli/input-validation.d.ts +83 -0
  55. package/dist/cli/input-validation.d.ts.map +1 -0
  56. package/dist/cli/input-validation.js +237 -0
  57. package/dist/cli/input-validation.js.map +1 -0
  58. package/dist/cli/ui.js +2 -2
  59. package/dist/cli/ui.js.map +1 -1
  60. package/dist/guard/alternatives/index.d.ts +68 -0
  61. package/dist/guard/alternatives/index.d.ts.map +1 -0
  62. package/dist/guard/alternatives/index.js +224 -0
  63. package/dist/guard/alternatives/index.js.map +1 -0
  64. package/dist/guard/alternatives/registry.d.ts +16 -0
  65. package/dist/guard/alternatives/registry.d.ts.map +1 -0
  66. package/dist/guard/alternatives/registry.js +518 -0
  67. package/dist/guard/alternatives/registry.js.map +1 -0
  68. package/dist/guard/alternatives/types.d.ts +86 -0
  69. package/dist/guard/alternatives/types.d.ts.map +1 -0
  70. package/dist/guard/alternatives/types.js +5 -0
  71. package/dist/guard/alternatives/types.js.map +1 -0
  72. package/dist/guard/approval/enhanced-terminal.d.ts +110 -0
  73. package/dist/guard/approval/enhanced-terminal.d.ts.map +1 -0
  74. package/dist/guard/approval/enhanced-terminal.js +387 -0
  75. package/dist/guard/approval/enhanced-terminal.js.map +1 -0
  76. package/dist/guard/config.d.ts +80 -0
  77. package/dist/guard/config.d.ts.map +1 -0
  78. package/dist/guard/config.js +260 -0
  79. package/dist/guard/config.js.map +1 -0
  80. package/dist/guard/context/directory.d.ts +35 -0
  81. package/dist/guard/context/directory.d.ts.map +1 -0
  82. package/dist/guard/context/directory.js +243 -0
  83. package/dist/guard/context/directory.js.map +1 -0
  84. package/dist/guard/context/environment.d.ts +31 -0
  85. package/dist/guard/context/environment.d.ts.map +1 -0
  86. package/dist/guard/context/environment.js +204 -0
  87. package/dist/guard/context/environment.js.map +1 -0
  88. package/dist/guard/context/git.d.ts +52 -0
  89. package/dist/guard/context/git.d.ts.map +1 -0
  90. package/dist/guard/context/git.js +278 -0
  91. package/dist/guard/context/git.js.map +1 -0
  92. package/dist/guard/context/index.d.ts +64 -0
  93. package/dist/guard/context/index.d.ts.map +1 -0
  94. package/dist/guard/context/index.js +227 -0
  95. package/dist/guard/context/index.js.map +1 -0
  96. package/dist/guard/context/project.d.ts +47 -0
  97. package/dist/guard/context/project.d.ts.map +1 -0
  98. package/dist/guard/context/project.js +281 -0
  99. package/dist/guard/context/project.js.map +1 -0
  100. package/dist/guard/context/types.d.ts +152 -0
  101. package/dist/guard/context/types.d.ts.map +1 -0
  102. package/dist/guard/context/types.js +7 -0
  103. package/dist/guard/context/types.js.map +1 -0
  104. package/dist/guard/engine.d.ts +107 -0
  105. package/dist/guard/engine.d.ts.map +1 -0
  106. package/dist/guard/engine.js +430 -0
  107. package/dist/guard/engine.js.map +1 -0
  108. package/dist/guard/enhanced-engine.d.ts +151 -0
  109. package/dist/guard/enhanced-engine.d.ts.map +1 -0
  110. package/dist/guard/enhanced-engine.js +622 -0
  111. package/dist/guard/enhanced-engine.js.map +1 -0
  112. package/dist/guard/hooks/index.d.ts +50 -0
  113. package/dist/guard/hooks/index.d.ts.map +1 -0
  114. package/dist/guard/hooks/index.js +325 -0
  115. package/dist/guard/hooks/index.js.map +1 -0
  116. package/dist/guard/index.d.ts +29 -0
  117. package/dist/guard/index.d.ts.map +1 -0
  118. package/dist/guard/index.js +31 -0
  119. package/dist/guard/index.js.map +1 -0
  120. package/dist/guard/learning/index.d.ts +136 -0
  121. package/dist/guard/learning/index.d.ts.map +1 -0
  122. package/dist/guard/learning/index.js +314 -0
  123. package/dist/guard/learning/index.js.map +1 -0
  124. package/dist/guard/learning/pattern-extractor.d.ts +50 -0
  125. package/dist/guard/learning/pattern-extractor.d.ts.map +1 -0
  126. package/dist/guard/learning/pattern-extractor.js +372 -0
  127. package/dist/guard/learning/pattern-extractor.js.map +1 -0
  128. package/dist/guard/learning/rule-suggester.d.ts +67 -0
  129. package/dist/guard/learning/rule-suggester.d.ts.map +1 -0
  130. package/dist/guard/learning/rule-suggester.js +345 -0
  131. package/dist/guard/learning/rule-suggester.js.map +1 -0
  132. package/dist/guard/learning/types.d.ts +211 -0
  133. package/dist/guard/learning/types.d.ts.map +1 -0
  134. package/dist/guard/learning/types.js +18 -0
  135. package/dist/guard/learning/types.js.map +1 -0
  136. package/dist/guard/preview/effects.d.ts +15 -0
  137. package/dist/guard/preview/effects.d.ts.map +1 -0
  138. package/dist/guard/preview/effects.js +413 -0
  139. package/dist/guard/preview/effects.js.map +1 -0
  140. package/dist/guard/preview/index.d.ts +49 -0
  141. package/dist/guard/preview/index.d.ts.map +1 -0
  142. package/dist/guard/preview/index.js +196 -0
  143. package/dist/guard/preview/index.js.map +1 -0
  144. package/dist/guard/preview/parser.d.ts +34 -0
  145. package/dist/guard/preview/parser.d.ts.map +1 -0
  146. package/dist/guard/preview/parser.js +292 -0
  147. package/dist/guard/preview/parser.js.map +1 -0
  148. package/dist/guard/preview/types.d.ts +140 -0
  149. package/dist/guard/preview/types.d.ts.map +1 -0
  150. package/dist/guard/preview/types.js +5 -0
  151. package/dist/guard/preview/types.js.map +1 -0
  152. package/dist/guard/reversibility/index.d.ts +88 -0
  153. package/dist/guard/reversibility/index.d.ts.map +1 -0
  154. package/dist/guard/reversibility/index.js +310 -0
  155. package/dist/guard/reversibility/index.js.map +1 -0
  156. package/dist/guard/types.d.ts +192 -0
  157. package/dist/guard/types.d.ts.map +1 -0
  158. package/dist/guard/types.js +8 -0
  159. package/dist/guard/types.js.map +1 -0
  160. package/dist/index.d.ts +10 -0
  161. package/dist/index.d.ts.map +1 -1
  162. package/dist/index.js +24 -0
  163. package/dist/index.js.map +1 -1
  164. package/dist/orchestrator/manager.d.ts.map +1 -1
  165. package/dist/orchestrator/manager.js +6 -1
  166. package/dist/orchestrator/manager.js.map +1 -1
  167. package/dist/policy/engine.d.ts.map +1 -1
  168. package/dist/policy/engine.js +11 -3
  169. package/dist/policy/engine.js.map +1 -1
  170. package/dist/policy/parser.d.ts.map +1 -1
  171. package/dist/policy/parser.js +3 -0
  172. package/dist/policy/parser.js.map +1 -1
  173. package/dist/proxy/server.d.ts.map +1 -1
  174. package/dist/proxy/server.js +8 -6
  175. package/dist/proxy/server.js.map +1 -1
  176. package/dist/session/manager.d.ts +2 -2
  177. package/dist/session/manager.d.ts.map +1 -1
  178. package/dist/session/manager.js +106 -88
  179. package/dist/session/manager.js.map +1 -1
  180. package/dist/session/signing.d.ts +88 -0
  181. package/dist/session/signing.d.ts.map +1 -0
  182. package/dist/session/signing.js +166 -0
  183. package/dist/session/signing.js.map +1 -0
  184. package/dist/session/types.d.ts +2 -0
  185. package/dist/session/types.d.ts.map +1 -1
  186. package/dist/session/types.js.map +1 -1
  187. package/dist/utils/security-logger.d.ts +146 -0
  188. package/dist/utils/security-logger.d.ts.map +1 -0
  189. package/dist/utils/security-logger.js +222 -0
  190. package/dist/utils/security-logger.js.map +1 -0
  191. package/dist/wizard.d.ts.map +1 -1
  192. package/dist/wizard.js +7 -1
  193. package/dist/wizard.js.map +1 -1
  194. package/package.json +3 -2
@@ -0,0 +1,310 @@
1
+ /**
2
+ * Reversibility Analyzer for Shell Guardian
3
+ *
4
+ * Assesses whether the effects of a command can be undone.
5
+ */
6
+ import { isRegenerablePath } from '../context/project.js';
7
+ import { canRecoverFromGit } from '../context/git.js';
8
+ /**
9
+ * Assess reversibility of a command based on its effects.
10
+ *
11
+ * @param command - The original command
12
+ * @param effects - Analyzed command effects
13
+ * @param context - Enhanced guard context
14
+ * @returns Reversibility assessment
15
+ */
16
+ export function assessReversibility(command, effects, context) {
17
+ const factors = [];
18
+ let totalScore = 100; // Start with fully reversible
19
+ const recoverableFiles = [];
20
+ const unrecoverableFiles = [];
21
+ // Analyze each effect
22
+ for (const effect of effects) {
23
+ const effectFactors = analyzeEffectReversibility(effect, context);
24
+ factors.push(...effectFactors);
25
+ // Collect recoverable/unrecoverable files
26
+ if (effect.type === 'delete') {
27
+ const targets = effect.expandedTargets || effect.targets;
28
+ // Check git recoverability
29
+ if (context.git?.isRepo) {
30
+ const { recoverable, unrecoverable } = canRecoverFromGit(targets, context.git);
31
+ recoverableFiles.push(...recoverable);
32
+ unrecoverableFiles.push(...unrecoverable);
33
+ }
34
+ else {
35
+ // Check project recoverability
36
+ if (context.project) {
37
+ for (const target of targets) {
38
+ if (isRegenerablePath(target, context.project)) {
39
+ recoverableFiles.push(target);
40
+ }
41
+ else {
42
+ unrecoverableFiles.push(target);
43
+ }
44
+ }
45
+ }
46
+ else {
47
+ unrecoverableFiles.push(...targets);
48
+ }
49
+ }
50
+ }
51
+ }
52
+ // Calculate total score from factors
53
+ for (const factor of factors) {
54
+ if (factor.impact === 'decreases') {
55
+ totalScore -= factor.weight * 100;
56
+ }
57
+ else {
58
+ totalScore += factor.weight * 25; // Positive factors have less impact
59
+ }
60
+ }
61
+ // Clamp score
62
+ totalScore = Math.max(0, Math.min(100, totalScore));
63
+ // Determine level from score
64
+ const level = scoreToLevel(totalScore);
65
+ // Generate reason and instructions
66
+ const { reason, reverseInstructions, potentialLoss } = generateReversibilityDetails(level, factors, context, recoverableFiles, unrecoverableFiles);
67
+ return {
68
+ level,
69
+ score: Math.round(totalScore),
70
+ reason,
71
+ reverseInstructions,
72
+ potentialLoss,
73
+ factors,
74
+ recoverableFiles: recoverableFiles.length > 0 ? recoverableFiles : undefined,
75
+ unrecoverableFiles: unrecoverableFiles.length > 0 ? unrecoverableFiles : undefined,
76
+ };
77
+ }
78
+ /**
79
+ * Analyze reversibility factors for a single effect.
80
+ */
81
+ function analyzeEffectReversibility(effect, context) {
82
+ const factors = [];
83
+ const targets = effect.expandedTargets || effect.targets;
84
+ switch (effect.type) {
85
+ case 'delete':
86
+ // Base deletion factor
87
+ factors.push({
88
+ factor: 'deletion-operation',
89
+ impact: 'decreases',
90
+ details: 'File deletion is generally irreversible without backups',
91
+ weight: 0.5,
92
+ });
93
+ // Check for git tracking
94
+ if (context.git?.isRepo) {
95
+ const tracked = targets.filter(t => {
96
+ // Simple check - actual implementation uses git ls-files
97
+ return context.git.modifiedFiles.some(m => t.includes(m)) ||
98
+ context.git.stagedFiles.some(s => t.includes(s));
99
+ });
100
+ if (tracked.length > 0) {
101
+ factors.push({
102
+ factor: 'git-tracked',
103
+ impact: 'increases',
104
+ details: `${tracked.length} files are tracked by git and can be recovered`,
105
+ weight: 0.3,
106
+ });
107
+ }
108
+ }
109
+ // Check for regenerable directories
110
+ if (context.project) {
111
+ const regenerable = targets.filter(t => isRegenerablePath(t, context.project));
112
+ if (regenerable.length > 0) {
113
+ factors.push({
114
+ factor: 'regenerable-directory',
115
+ impact: 'increases',
116
+ details: `${regenerable.length} files are in regenerable directories`,
117
+ weight: 0.4,
118
+ });
119
+ }
120
+ }
121
+ // Check for recursive deletion
122
+ if (effect.recursive) {
123
+ factors.push({
124
+ factor: 'recursive-deletion',
125
+ impact: 'decreases',
126
+ details: 'Recursive deletion affects many files',
127
+ weight: 0.2,
128
+ });
129
+ }
130
+ break;
131
+ case 'modify':
132
+ factors.push({
133
+ factor: 'modification-operation',
134
+ impact: 'decreases',
135
+ details: 'File modification may be reversible with version control',
136
+ weight: 0.2,
137
+ });
138
+ if (context.git?.isRepo) {
139
+ factors.push({
140
+ factor: 'git-available',
141
+ impact: 'increases',
142
+ details: 'Git can be used to restore previous versions',
143
+ weight: 0.3,
144
+ });
145
+ }
146
+ break;
147
+ case 'create':
148
+ factors.push({
149
+ factor: 'creation-operation',
150
+ impact: 'increases',
151
+ details: 'File creation is easily reversible by deletion',
152
+ weight: 0.4,
153
+ });
154
+ break;
155
+ case 'permission':
156
+ factors.push({
157
+ factor: 'permission-change',
158
+ impact: 'increases',
159
+ details: 'Permission changes are reversible if original permissions are known',
160
+ weight: 0.3,
161
+ });
162
+ break;
163
+ case 'read':
164
+ factors.push({
165
+ factor: 'read-only',
166
+ impact: 'increases',
167
+ details: 'Read operations have no side effects to reverse',
168
+ weight: 0.5,
169
+ });
170
+ break;
171
+ case 'process':
172
+ factors.push({
173
+ factor: 'process-termination',
174
+ impact: 'decreases',
175
+ details: 'Process termination may cause data loss',
176
+ weight: 0.3,
177
+ });
178
+ break;
179
+ case 'network':
180
+ factors.push({
181
+ factor: 'network-operation',
182
+ impact: 'decreases',
183
+ details: 'Network operations may have external side effects',
184
+ weight: 0.2,
185
+ });
186
+ break;
187
+ }
188
+ return factors;
189
+ }
190
+ /**
191
+ * Convert score to reversibility level.
192
+ */
193
+ function scoreToLevel(score) {
194
+ if (score >= 80)
195
+ return 'fully-reversible';
196
+ if (score >= 50)
197
+ return 'partially-reversible';
198
+ if (score >= 20)
199
+ return 'difficult-to-reverse';
200
+ return 'irreversible';
201
+ }
202
+ /**
203
+ * Generate detailed reversibility information.
204
+ */
205
+ function generateReversibilityDetails(level, factors, context, recoverableFiles, unrecoverableFiles) {
206
+ let reason;
207
+ let reverseInstructions;
208
+ let potentialLoss;
209
+ switch (level) {
210
+ case 'fully-reversible':
211
+ reason = 'This operation can be completely undone';
212
+ if (context.git?.isRepo) {
213
+ reverseInstructions = 'Use git checkout or git restore to recover files';
214
+ }
215
+ else if (context.project) {
216
+ reverseInstructions = 'Regenerate with package manager or restore from backup';
217
+ }
218
+ break;
219
+ case 'partially-reversible':
220
+ reason = 'Some effects of this operation can be undone';
221
+ if (recoverableFiles.length > 0 && unrecoverableFiles.length > 0) {
222
+ reverseInstructions = `${recoverableFiles.length} files can be recovered from git/package manager`;
223
+ potentialLoss = `${unrecoverableFiles.length} files would be permanently lost`;
224
+ }
225
+ break;
226
+ case 'difficult-to-reverse':
227
+ reason = 'Reversing this operation requires significant effort';
228
+ potentialLoss = 'May require manual restoration from backups';
229
+ break;
230
+ case 'irreversible':
231
+ reason = 'This operation cannot be undone';
232
+ if (unrecoverableFiles.length > 0) {
233
+ potentialLoss = `${unrecoverableFiles.length} files would be permanently deleted`;
234
+ }
235
+ else {
236
+ potentialLoss = 'All affected data will be permanently lost';
237
+ }
238
+ break;
239
+ }
240
+ return { reason, reverseInstructions, potentialLoss };
241
+ }
242
+ /**
243
+ * Get icon for reversibility level.
244
+ */
245
+ export function getReversibilityIcon(level) {
246
+ switch (level) {
247
+ case 'fully-reversible': return '↩️';
248
+ case 'partially-reversible': return '⚠️';
249
+ case 'difficult-to-reverse': return '🔶';
250
+ case 'irreversible': return '⛔';
251
+ }
252
+ }
253
+ /**
254
+ * Get color for reversibility level (for terminal display).
255
+ */
256
+ export function getReversibilityColor(level) {
257
+ switch (level) {
258
+ case 'fully-reversible': return 'green';
259
+ case 'partially-reversible': return 'yellow';
260
+ case 'difficult-to-reverse': return 'yellow';
261
+ case 'irreversible': return 'red';
262
+ }
263
+ }
264
+ /**
265
+ * Format reversibility assessment for display.
266
+ */
267
+ export function formatReversibility(assessment) {
268
+ const lines = [];
269
+ const icon = getReversibilityIcon(assessment.level);
270
+ lines.push(`${icon} Reversibility: ${assessment.level.replace(/-/g, ' ')} (${assessment.score}%)`);
271
+ lines.push(` ${assessment.reason}`);
272
+ if (assessment.reverseInstructions) {
273
+ lines.push(` How to reverse: ${assessment.reverseInstructions}`);
274
+ }
275
+ if (assessment.potentialLoss) {
276
+ lines.push(` ⚠ Potential loss: ${assessment.potentialLoss}`);
277
+ }
278
+ return lines.join('\n');
279
+ }
280
+ /**
281
+ * Check if operation requires extra warning based on reversibility.
282
+ */
283
+ export function requiresReversibilityWarning(assessment) {
284
+ return assessment.level === 'irreversible' || assessment.level === 'difficult-to-reverse';
285
+ }
286
+ /**
287
+ * ReversibilityAnalyzer class for stateful analysis.
288
+ */
289
+ export class ReversibilityAnalyzer {
290
+ /**
291
+ * Assess reversibility of a command.
292
+ */
293
+ assess(command, effects, context) {
294
+ return assessReversibility(command, effects, context);
295
+ }
296
+ /**
297
+ * Quick check if operation is reversible.
298
+ */
299
+ isReversible(effects, context) {
300
+ const assessment = assessReversibility('', effects, context);
301
+ return assessment.level === 'fully-reversible' || assessment.level === 'partially-reversible';
302
+ }
303
+ }
304
+ /**
305
+ * Create a reversibility analyzer.
306
+ */
307
+ export function createReversibilityAnalyzer() {
308
+ return new ReversibilityAnalyzer();
309
+ }
310
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/guard/reversibility/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AA+CtD;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,OAAwB,EACxB,OAA6B;IAE7B,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,IAAI,UAAU,GAAG,GAAG,CAAC,CAAC,8BAA8B;IACpD,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,kBAAkB,GAAa,EAAE,CAAC;IAExC,sBAAsB;IACtB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QAE/B,0CAA0C;QAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC;YAEzD,2BAA2B;YAC3B,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;gBACxB,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/E,gBAAgB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;gBACtC,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,+BAA+B;gBAC/B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;wBAC7B,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC/C,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAChC,CAAC;6BAAM,CAAC;4BACN,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,kBAAkB,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,UAAU,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,UAAU,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,oCAAoC;QACxE,CAAC;IACH,CAAC;IAED,cAAc;IACd,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;IAEpD,6BAA6B;IAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAEvC,mCAAmC;IACnC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,4BAA4B,CACjF,KAAK,EACL,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,kBAAkB,CACnB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7B,MAAM;QACN,mBAAmB;QACnB,aAAa;QACb,OAAO;QACP,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;QAC5E,kBAAkB,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;KACnF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CACjC,MAAqB,EACrB,OAA6B;IAE7B,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC;IAEzD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,uBAAuB;YACvB,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,oBAAoB;gBAC5B,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,yDAAyD;gBAClE,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YAEH,yBAAyB;YACzB,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACjC,yDAAyD;oBACzD,OAAO,OAAO,CAAC,GAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACnD,OAAO,CAAC,GAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,CAAC,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM,EAAE,aAAa;wBACrB,MAAM,EAAE,WAAW;wBACnB,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,gDAAgD;wBAC1E,MAAM,EAAE,GAAG;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,OAAQ,CAAC,CAAC,CAAC;gBAChF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM,EAAE,uBAAuB;wBAC/B,MAAM,EAAE,WAAW;wBACnB,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,uCAAuC;wBACrE,MAAM,EAAE,GAAG;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,+BAA+B;YAC/B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,oBAAoB;oBAC5B,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,uCAAuC;oBAChD,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,MAAM;QAER,KAAK,QAAQ;YACX,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,wBAAwB;gBAChC,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,0DAA0D;gBACnE,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,eAAe;oBACvB,MAAM,EAAE,WAAW;oBACnB,OAAO,EAAE,8CAA8C;oBACvD,MAAM,EAAE,GAAG;iBACZ,CAAC,CAAC;YACL,CAAC;YACD,MAAM;QAER,KAAK,QAAQ;YACX,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,oBAAoB;gBAC5B,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,gDAAgD;gBACzD,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,MAAM;QAER,KAAK,YAAY;YACf,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,qEAAqE;gBAC9E,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,MAAM;QAER,KAAK,MAAM;YACT,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,iDAAiD;gBAC1D,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,MAAM;QAER,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,yCAAyC;gBAClD,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,MAAM;QAER,KAAK,SAAS;YACZ,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,mBAAmB;gBAC3B,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,mDAAmD;gBAC5D,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;YACH,MAAM;IACV,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,kBAAkB,CAAC;IAC3C,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,sBAAsB,CAAC;IAC/C,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,sBAAsB,CAAC;IAC/C,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CACnC,KAAyB,EACzB,OAA8B,EAC9B,OAA6B,EAC7B,gBAA0B,EAC1B,kBAA4B;IAM5B,IAAI,MAAc,CAAC;IACnB,IAAI,mBAAuC,CAAC;IAC5C,IAAI,aAAiC,CAAC;IAEtC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,kBAAkB;YACrB,MAAM,GAAG,yCAAyC,CAAC;YACnD,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;gBACxB,mBAAmB,GAAG,kDAAkD,CAAC;YAC3E,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAC3B,mBAAmB,GAAG,wDAAwD,CAAC;YACjF,CAAC;YACD,MAAM;QAER,KAAK,sBAAsB;YACzB,MAAM,GAAG,8CAA8C,CAAC;YACxD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjE,mBAAmB,GAAG,GAAG,gBAAgB,CAAC,MAAM,kDAAkD,CAAC;gBACnG,aAAa,GAAG,GAAG,kBAAkB,CAAC,MAAM,kCAAkC,CAAC;YACjF,CAAC;YACD,MAAM;QAER,KAAK,sBAAsB;YACzB,MAAM,GAAG,sDAAsD,CAAC;YAChE,aAAa,GAAG,6CAA6C,CAAC;YAC9D,MAAM;QAER,KAAK,cAAc;YACjB,MAAM,GAAG,iCAAiC,CAAC;YAC3C,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,aAAa,GAAG,GAAG,kBAAkB,CAAC,MAAM,qCAAqC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,4CAA4C,CAAC;YAC/D,CAAC;YACD,MAAM;IACV,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,kBAAkB,CAAC,CAAC,OAAO,IAAI,CAAC;QACrC,KAAK,sBAAsB,CAAC,CAAC,OAAO,IAAI,CAAC;QACzC,KAAK,sBAAsB,CAAC,CAAC,OAAO,IAAI,CAAC;QACzC,KAAK,cAAc,CAAC,CAAC,OAAO,GAAG,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC7D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,kBAAkB,CAAC,CAAC,OAAO,OAAO,CAAC;QACxC,KAAK,sBAAsB,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC7C,KAAK,sBAAsB,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC7C,KAAK,cAAc,CAAC,CAAC,OAAO,KAAK,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAmC;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAEpD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,mBAAmB,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;IACnG,KAAK,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtC,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,sBAAsB,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,wBAAwB,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,UAAmC;IAC9E,OAAO,UAAU,CAAC,KAAK,KAAK,cAAc,IAAI,UAAU,CAAC,KAAK,KAAK,sBAAsB,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,qBAAqB;IAChC;;OAEG;IACH,MAAM,CACJ,OAAe,EACf,OAAwB,EACxB,OAA6B;QAE7B,OAAO,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,YAAY,CACV,OAAwB,EACxB,OAA6B;QAE7B,MAAM,UAAU,GAAG,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO,UAAU,CAAC,KAAK,KAAK,kBAAkB,IAAI,UAAU,CAAC,KAAK,KAAK,sBAAsB,CAAC;IAChG,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,IAAI,qBAAqB,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * Types for Tollgate Guard - AI Shell Guardian
3
+ *
4
+ * Guard intercepts shell commands before execution, analyzes them for risk,
5
+ * and requires approval for dangerous operations.
6
+ */
7
+ import type { AnalysisResult, RiskLevel } from '../analyzers/types.js';
8
+ import type { SessionScope, SessionDuration } from '../session/types.js';
9
+ /**
10
+ * Action to take for a given risk level.
11
+ */
12
+ export type GuardAction = 'allow' | 'prompt' | 'deny';
13
+ /**
14
+ * Mapping of risk levels to actions.
15
+ */
16
+ export type RiskActionMapping = Record<RiskLevel, GuardAction>;
17
+ /**
18
+ * Custom rule for guard policy evaluation.
19
+ */
20
+ export interface GuardRule {
21
+ /** Regex pattern to match commands */
22
+ pattern: string;
23
+ /** Action to take when pattern matches */
24
+ action: GuardAction;
25
+ /** Human-readable reason for this rule */
26
+ reason: string;
27
+ /** Priority - higher values evaluated first */
28
+ priority?: number;
29
+ }
30
+ /**
31
+ * Deny list entry.
32
+ */
33
+ export interface DenyPattern {
34
+ /** Regex pattern to match */
35
+ pattern: string;
36
+ /** Reason for blocking */
37
+ reason?: string;
38
+ }
39
+ /**
40
+ * Guard session configuration.
41
+ */
42
+ export interface GuardSessionConfig {
43
+ /** Whether to allow session grants */
44
+ allowRemember: boolean;
45
+ /** Default scope for session grants */
46
+ defaultScope: SessionScope;
47
+ /** Allowed durations for session grants */
48
+ allowedDurations: SessionDuration[];
49
+ /** Whether to persist sessions across shell restarts */
50
+ persistSessions: boolean;
51
+ }
52
+ /**
53
+ * Fast path configuration for performance.
54
+ */
55
+ export interface GuardFastPathConfig {
56
+ /** Whether fast path is enabled */
57
+ enabled: boolean;
58
+ /** Command prefixes that skip analysis entirely */
59
+ safePrefixes: string[];
60
+ }
61
+ /**
62
+ * Audit configuration for guard.
63
+ */
64
+ export interface GuardAuditConfig {
65
+ /** Whether audit logging is enabled */
66
+ enabled: boolean;
67
+ /** Whether to log all commands (including allowed) */
68
+ logAllCommands: boolean;
69
+ /** Custom path for audit database */
70
+ dbPath?: string;
71
+ /** Whether to redact secrets in logs */
72
+ redactSecrets: boolean;
73
+ }
74
+ /**
75
+ * UI configuration for terminal prompts.
76
+ */
77
+ export interface GuardUIConfig {
78
+ /** Whether to show risk level in prompts */
79
+ showRiskLevel: boolean;
80
+ /** Whether to show matched pattern in prompts */
81
+ showPattern: boolean;
82
+ /** Whether to show category in prompts */
83
+ showCategory: boolean;
84
+ /** Whether to use colors */
85
+ colors: boolean;
86
+ /** Timeout for approval prompts in seconds */
87
+ timeout: number;
88
+ }
89
+ /**
90
+ * Complete guard configuration.
91
+ */
92
+ export interface GuardConfig {
93
+ /** Whether guard is enabled */
94
+ enabled: boolean;
95
+ /** Risk level to action mapping */
96
+ risks: RiskActionMapping;
97
+ /** Session configuration */
98
+ session: GuardSessionConfig;
99
+ /** Custom rules (evaluated before risk mapping) */
100
+ rules: GuardRule[];
101
+ /** Commands that bypass analysis entirely */
102
+ allowlist: string[];
103
+ /** Commands that are always blocked */
104
+ denylist: DenyPattern[];
105
+ /** Fast path configuration */
106
+ fastPath: GuardFastPathConfig;
107
+ /** Audit configuration */
108
+ audit: GuardAuditConfig;
109
+ /** UI configuration */
110
+ ui: GuardUIConfig;
111
+ }
112
+ /**
113
+ * Result of guard evaluation.
114
+ */
115
+ export interface GuardResult {
116
+ /** Whether the command is allowed to execute */
117
+ allowed: boolean;
118
+ /** Human-readable reason for the decision */
119
+ reason: string;
120
+ /** Risk level from analysis */
121
+ riskLevel: RiskLevel;
122
+ /** Full analysis result */
123
+ analysis: AnalysisResult;
124
+ /** Session grant ID if one was used or created */
125
+ sessionGrantId?: string;
126
+ /** How the decision was made */
127
+ decisionSource: 'allowlist' | 'denylist' | 'rule' | 'risk' | 'session' | 'user';
128
+ /** Time taken to evaluate in ms */
129
+ evaluationTimeMs?: number;
130
+ }
131
+ /**
132
+ * Context for guard evaluation.
133
+ */
134
+ export interface GuardContext {
135
+ /** The command being evaluated */
136
+ command: string;
137
+ /** Current working directory */
138
+ cwd?: string;
139
+ /** Shell type (bash, zsh, fish) */
140
+ shell?: string;
141
+ /** Whether this is a dry-run (analysis only) */
142
+ dryRun?: boolean;
143
+ }
144
+ /**
145
+ * Options for creating a GuardEngine.
146
+ */
147
+ export interface GuardEngineOptions {
148
+ /** Guard configuration */
149
+ config: GuardConfig;
150
+ /** Custom audit database path */
151
+ auditPath?: string;
152
+ /** Custom session database path */
153
+ sessionPath?: string;
154
+ /** Whether to persist sessions */
155
+ persistSessions?: boolean;
156
+ /** Approval timeout in milliseconds */
157
+ timeoutMs?: number;
158
+ }
159
+ /**
160
+ * Guard audit record for logging.
161
+ */
162
+ export interface GuardAuditRecord {
163
+ /** Unique ID */
164
+ id: string;
165
+ /** Timestamp */
166
+ timestamp: Date;
167
+ /** Command that was evaluated */
168
+ command: string;
169
+ /** Redacted command (secrets removed) */
170
+ commandRedacted?: string;
171
+ /** Risk level */
172
+ riskLevel: RiskLevel;
173
+ /** Analysis reason */
174
+ analysisReason: string;
175
+ /** Analysis category */
176
+ analysisCategory?: string;
177
+ /** Matched pattern (if any) */
178
+ analysisPattern?: string;
179
+ /** Final decision */
180
+ decision: 'allowed' | 'denied' | 'prompted';
181
+ /** User response (if prompted) */
182
+ userResponse?: 'approved' | 'denied' | 'timeout';
183
+ /** Session grant ID (if used or created) */
184
+ sessionGrantId?: string;
185
+ /** Shell type */
186
+ shell?: string;
187
+ /** Working directory */
188
+ cwd?: string;
189
+ /** Evaluation duration in ms */
190
+ durationMs?: number;
191
+ }
192
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/guard/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Types for Tollgate Guard - AI Shell Guardian
3
+ *
4
+ * Guard intercepts shell commands before execution, analyzes them for risk,
5
+ * and requires approval for dangerous operations.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/guard/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/dist/index.d.ts CHANGED
@@ -41,6 +41,13 @@ export { InteractiveApprovalHandler } from './approval/interactive.js';
41
41
  export { WebhookApprovalHandler } from './approval/webhook.js';
42
42
  export type { WebhookApprovalConfig, WebhookApprovalPayload } from './approval/webhook.js';
43
43
  export type { ApprovalHandler, ApprovalRequest, ApprovalResponse, ApprovalResult, SessionGrantInfo, } from './approval/types.js';
44
+ export { verifyWebhookSignature, verifyWebhookSignatureDetailed, type WebhookVerificationResult, } from './approval/webhook.js';
45
+ export { RateLimiter, getRateLimiter, resetGlobalRateLimiter, type RateLimiterConfig, type RateLimitResult, type RateLimiterStats, } from './approval/rate-limiter.js';
46
+ export { validateWebhookUrl, assertValidWebhookUrl, type UrlValidationOptions, type UrlValidationResult, } from './approval/url-validator.js';
47
+ export { signSessionGrant, verifySessionGrant, SessionSigner, getSessionSigner, configureSessionSigner, resetSessionSigner, type SigningConfig, type VerificationResult, } from './session/signing.js';
48
+ export { computeRecordHash, verifyRecordHash, AuditIntegrityVerifier, verifyAuditLog, type IntegrityRecord, type IntegrityVerificationResult, type TamperingDetail, } from './audit/integrity.js';
49
+ export { validateServerName, validatePath, validateToolName, validateGlobPattern, validateDuration, validatePort, validateTimeout, sanitizeForLogging, } from './cli/input-validation.js';
50
+ export { SecurityLogger, getSecurityLogger, resetSecurityLogger, logSecurityEvent, type SecurityEventType, type SecuritySeverity, type SecurityEvent, type SecurityEventContext, type SecurityLoggerOptions, } from './utils/security-logger.js';
44
51
  export { loadConfig, expandEnvVars, getDataDir } from './utils/config.js';
45
52
  export { TollgateError, ConfigError, PolicyError, ProxyError, UpstreamError, } from './utils/errors.js';
46
53
  export { Logger, logger, createLogger, proxyLogger, sessionLogger, policyLogger, orchestratorLogger, upstreamLogger, approvalLogger, type LogLevel, type LogEntry, type LoggerConfig, } from './utils/logger.js';
@@ -48,4 +55,7 @@ export { runWizard, generateConfig, SERVER_TEMPLATES, POLICY_PRESETS, type Wizar
48
55
  export { TEMPLATE_LIBRARY, getAllTemplates, getTemplateByName, getTemplatesByCategory, searchTemplates, getCategories, generateTemplateYaml, generateFullConfig, type ExtendedTemplate, type TemplateCategory, } from './templates.js';
49
56
  export { scanServer, analyzeTool, generatePolicy, generateServerConfig, type ScanResult, type AnalyzedTool, type ToolRiskLevel, type RiskIndicator, type ScannerOptions, } from './scanner.js';
50
57
  export { Orchestrator, type ServerStatus, type ManagedServer, type OrchestratorOptions, type OrchestratorEvent, type OrchestratorEventHandler, type CommandResult, type ServerStats, type OrchestratorStats, } from './orchestrator/index.js';
58
+ export { GuardEngine, createGuardEngine, DEFAULT_GUARD_CONFIG, DEFAULT_RISK_ACTIONS, DEFAULT_SESSION_CONFIG as DEFAULT_GUARD_SESSION_CONFIG, DEFAULT_FAST_PATH_CONFIG, DEFAULT_AUDIT_CONFIG, DEFAULT_UI_CONFIG, loadGuardConfig, validateGuardConfig, getConfigPaths, compileRules, compileDenylist, type CompiledRule, type CompiledDenyPattern, } from './guard/index.js';
59
+ export type { GuardConfig, GuardContext, GuardResult, GuardEngineOptions, GuardRule, DenyPattern, GuardAction, RiskActionMapping, GuardSessionConfig, GuardFastPathConfig, GuardAuditConfig, GuardUIConfig, GuardAuditRecord, } from './guard/index.js';
60
+ export { getHookScript, detectShell, getShellConfigPath, getConfigLine, BASH_HOOK, ZSH_HOOK, FISH_HOOK, } from './guard/hooks/index.js';
51
61
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,eAAe,EAEf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,wBAAwB,EACxB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,SAAS,EACT,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAM5D,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EACL,cAAc,EACd,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,cAAc,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElF,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMtG,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE3F,YAAY,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EACL,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,MAAM,EACN,MAAM,EACN,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -58,6 +58,20 @@ export { AUDIT_SCHEMA, SCHEMA_VERSION as AUDIT_VERSION } from './audit/schema.js
58
58
  export { TerminalApprovalHandler } from './approval/terminal.js';
59
59
  export { InteractiveApprovalHandler } from './approval/interactive.js';
60
60
  export { WebhookApprovalHandler } from './approval/webhook.js';
61
+ // Webhook Signature Verification
62
+ export { verifyWebhookSignature, verifyWebhookSignatureDetailed, } from './approval/webhook.js';
63
+ // Rate Limiting
64
+ export { RateLimiter, getRateLimiter, resetGlobalRateLimiter, } from './approval/rate-limiter.js';
65
+ // URL Validation
66
+ export { validateWebhookUrl, assertValidWebhookUrl, } from './approval/url-validator.js';
67
+ // Session Signing
68
+ export { signSessionGrant, verifySessionGrant, SessionSigner, getSessionSigner, configureSessionSigner, resetSessionSigner, } from './session/signing.js';
69
+ // Audit Log Integrity
70
+ export { computeRecordHash, verifyRecordHash, AuditIntegrityVerifier, verifyAuditLog, } from './audit/integrity.js';
71
+ // CLI Input Validation
72
+ export { validateServerName, validatePath, validateToolName, validateGlobPattern, validateDuration, validatePort, validateTimeout, sanitizeForLogging, } from './cli/input-validation.js';
73
+ // Security Event Logging
74
+ export { SecurityLogger, getSecurityLogger, resetSecurityLogger, logSecurityEvent, } from './utils/security-logger.js';
61
75
  // ============================================================================
62
76
  // Utilities
63
77
  // ============================================================================
@@ -80,4 +94,14 @@ export { scanServer, analyzeTool, generatePolicy, generateServerConfig, } from '
80
94
  // Multi-Server Orchestrator
81
95
  // ============================================================================
82
96
  export { Orchestrator, } from './orchestrator/index.js';
97
+ // ============================================================================
98
+ // Guard - AI Shell Guardian
99
+ // ============================================================================
100
+ export {
101
+ // Engine
102
+ GuardEngine, createGuardEngine,
103
+ // Configuration
104
+ DEFAULT_GUARD_CONFIG, DEFAULT_RISK_ACTIONS, DEFAULT_SESSION_CONFIG as DEFAULT_GUARD_SESSION_CONFIG, DEFAULT_FAST_PATH_CONFIG, DEFAULT_AUDIT_CONFIG, DEFAULT_UI_CONFIG, loadGuardConfig, validateGuardConfig, getConfigPaths, compileRules, compileDenylist, } from './guard/index.js';
105
+ // Shell Hooks
106
+ export { getHookScript, detectShell, getShellConfigPath, getConfigLine, BASH_HOOK, ZSH_HOOK, FISH_HOOK, } from './guard/hooks/index.js';
83
107
  //# sourceMappingURL=index.js.map
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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/orchestrator/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAYtD,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAEnB,wBAAwB,EACxB,iBAAiB,EAEjB,aAAa,EACd,MAAM,YAAY,CAAC;AAYpB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IACjC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAkB;gBAE9B,OAAO,EAAE,mBAAmB;IA4CxC;;OAEG;IACH,EAAE,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAI3C;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAI5C;;OAEG;IACH,OAAO,CAAC,IAAI;IAaZ;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB/B;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAI1B;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAM7B;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAM7B;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIlD;;OAEG;IACH,aAAa,IAAI,aAAa,EAAE;IAIhC;;;OAGG;IACH,yBAAyB,CAAC,KAAK,SAAK,GAAG,WAAW,EAAE;IAkBpD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA+FvD;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAoDtD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IASzD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAS1C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IASzC;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IA+C7B;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBrE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAc7B"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/orchestrator/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAYtD,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAEnB,wBAAwB,EACxB,iBAAiB,EAEjB,aAAa,EACd,MAAM,YAAY,CAAC;AAYpB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4C;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAO;IACjC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAC,CAAkB;gBAE9B,OAAO,EAAE,mBAAmB;IA6CxC;;OAEG;IACH,EAAE,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAI3C;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAI5C;;OAEG;IACH,OAAO,CAAC,IAAI;IAaZ;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB/B;;OAEG;IACH,cAAc,IAAI,MAAM,EAAE;IAI1B;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAM7B;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAM7B;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIlD;;OAEG;IACH,aAAa,IAAI,aAAa,EAAE;IAIhC;;;OAGG;IACH,yBAAyB,CAAC,KAAK,SAAK,GAAG,WAAW,EAAE;IAkBpD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkGvD;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAoDtD;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IASzD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAS1C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IASzC;;OAEG;IACH,QAAQ,IAAI,iBAAiB;IA+C7B;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBrE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAc7B"}