guardrail-core 1.0.0 → 2.0.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 (74) hide show
  1. package/dist/__tests__/autopilot-enterprise.test.d.ts +7 -0
  2. package/dist/__tests__/autopilot-enterprise.test.d.ts.map +1 -0
  3. package/dist/__tests__/autopilot-enterprise.test.js +334 -0
  4. package/dist/autopilot/autopilot-runner.d.ts +9 -0
  5. package/dist/autopilot/autopilot-runner.d.ts.map +1 -1
  6. package/dist/autopilot/autopilot-runner.js +182 -1
  7. package/dist/autopilot/types.d.ts +18 -2
  8. package/dist/autopilot/types.d.ts.map +1 -1
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/smells/index.d.ts +59 -0
  13. package/dist/smells/index.d.ts.map +1 -0
  14. package/dist/smells/index.js +251 -0
  15. package/package.json +19 -2
  16. package/src/__tests__/autopilot.test.ts +0 -196
  17. package/src/__tests__/tier-config.test.ts +0 -289
  18. package/src/__tests__/utils/hash-inline.test.ts +0 -76
  19. package/src/__tests__/utils/hash.test.ts +0 -119
  20. package/src/__tests__/utils/simple.test.ts +0 -10
  21. package/src/__tests__/utils/utils-simple.test.ts +0 -5
  22. package/src/__tests__/utils/utils.test.ts +0 -203
  23. package/src/autopilot/autopilot-runner.ts +0 -503
  24. package/src/autopilot/index.ts +0 -6
  25. package/src/autopilot/types.ts +0 -119
  26. package/src/cache/index.ts +0 -7
  27. package/src/cache/redis-cache.d.ts +0 -155
  28. package/src/cache/redis-cache.d.ts.map +0 -1
  29. package/src/cache/redis-cache.ts +0 -517
  30. package/src/ci/github-actions.ts +0 -335
  31. package/src/ci/index.ts +0 -12
  32. package/src/ci/pre-commit.ts +0 -338
  33. package/src/db/usage-schema.prisma +0 -114
  34. package/src/entitlements.ts +0 -570
  35. package/src/env.d.ts +0 -68
  36. package/src/env.d.ts.map +0 -1
  37. package/src/env.ts +0 -247
  38. package/src/fix-packs/__tests__/generate-fix-packs.test.ts +0 -317
  39. package/src/fix-packs/generate-fix-packs.ts +0 -577
  40. package/src/fix-packs/index.ts +0 -8
  41. package/src/fix-packs/types.ts +0 -206
  42. package/src/index.d.ts +0 -7
  43. package/src/index.d.ts.map +0 -1
  44. package/src/index.ts +0 -12
  45. package/src/metrics/prometheus.d.ts +0 -104
  46. package/src/metrics/prometheus.d.ts.map +0 -1
  47. package/src/metrics/prometheus.ts +0 -446
  48. package/src/quota-ledger.ts +0 -548
  49. package/src/rbac/__tests__/permissions.test.ts +0 -446
  50. package/src/rbac/index.ts +0 -46
  51. package/src/rbac/permissions.ts +0 -301
  52. package/src/rbac/types.ts +0 -298
  53. package/src/tier-config.json +0 -157
  54. package/src/tier-config.ts +0 -815
  55. package/src/types.d.ts +0 -365
  56. package/src/types.d.ts.map +0 -1
  57. package/src/types.ts +0 -441
  58. package/src/utils.d.ts +0 -36
  59. package/src/utils.d.ts.map +0 -1
  60. package/src/utils.ts +0 -140
  61. package/src/verified-autofix/__tests__/format-validator.test.ts +0 -335
  62. package/src/verified-autofix/__tests__/pipeline.test.ts +0 -419
  63. package/src/verified-autofix/__tests__/repo-fingerprint.test.ts +0 -241
  64. package/src/verified-autofix/__tests__/workspace.test.ts +0 -373
  65. package/src/verified-autofix/format-validator.ts +0 -517
  66. package/src/verified-autofix/index.ts +0 -63
  67. package/src/verified-autofix/pipeline.ts +0 -403
  68. package/src/verified-autofix/repo-fingerprint.ts +0 -459
  69. package/src/verified-autofix/workspace.ts +0 -531
  70. package/src/verified-autofix.ts +0 -1187
  71. package/src/visualization/dependency-graph.d.ts +0 -85
  72. package/src/visualization/dependency-graph.d.ts.map +0 -1
  73. package/src/visualization/dependency-graph.ts +0 -495
  74. package/src/visualization/index.ts +0 -5
package/src/types.d.ts DELETED
@@ -1,365 +0,0 @@
1
- export interface FilesystemPermissions {
2
- allowedPaths: string[];
3
- deniedPaths: string[];
4
- operations: ('read' | 'write' | 'delete' | 'execute')[];
5
- maxFileSize: number;
6
- [key: string]: unknown;
7
- }
8
- export interface NetworkPermissions {
9
- allowedDomains: string[];
10
- deniedDomains: string[];
11
- maxRequests: number;
12
- allowedProtocols: ('http' | 'https' | 'ws' | 'wss')[];
13
- [key: string]: unknown;
14
- }
15
- export interface ShellPermissions {
16
- allowedCommands: string[];
17
- deniedCommands: string[];
18
- requireConfirmation: string[];
19
- allowEnvironmentVariables: boolean;
20
- [key: string]: unknown;
21
- }
22
- export interface ResourceLimits {
23
- maxMemoryMB: number;
24
- maxCpuPercent: number;
25
- maxTokens: number;
26
- maxExecutionTimeMs: number;
27
- [key: string]: unknown;
28
- }
29
- export interface AgentPermissionScope {
30
- filesystem: FilesystemPermissions;
31
- network: NetworkPermissions;
32
- shell: ShellPermissions;
33
- resources: ResourceLimits;
34
- }
35
- export interface FilesystemDetails {
36
- operation: 'read' | 'write' | 'delete' | 'execute';
37
- path: string;
38
- content?: string;
39
- size?: number;
40
- }
41
- export interface NetworkDetails {
42
- method: string;
43
- url: string;
44
- headers?: Record<string, string>;
45
- body?: unknown;
46
- }
47
- export interface ShellDetails {
48
- command: string;
49
- args: string[];
50
- cwd?: string;
51
- env?: Record<string, string>;
52
- }
53
- export type ActionDetails = FilesystemDetails | NetworkDetails | ShellDetails;
54
- export interface ActionAttempt {
55
- agentId: string;
56
- taskId: string;
57
- actionType: string;
58
- category: 'code' | 'file' | 'network' | 'shell';
59
- details: ActionDetails;
60
- reasoning?: string;
61
- }
62
- export interface ActionDecision {
63
- allowed: boolean;
64
- reason: string;
65
- alternativeSuggestion?: string;
66
- riskLevel: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
67
- requiresApproval: boolean;
68
- }
69
- export interface Evaluation {
70
- passed: boolean;
71
- reason: string;
72
- violatedRules: string[];
73
- suggestions: string[];
74
- }
75
- export interface SimpleValidationResult {
76
- valid: boolean;
77
- errors: string[];
78
- warnings: string[];
79
- }
80
- export interface FileSnapshot {
81
- path: string;
82
- originalContent: string;
83
- originalHash: string;
84
- [key: string]: unknown;
85
- }
86
- export interface Checkpoint {
87
- id: string;
88
- agentId: string;
89
- taskId: string;
90
- modifiedFiles: FileSnapshot[];
91
- resourcesUsed: ResourceUsage;
92
- createdAt: Date;
93
- }
94
- export interface ResourceUsage {
95
- memoryMB: number;
96
- cpuPercent: number;
97
- tokensUsed: number;
98
- executionTimeMs: number;
99
- apiCalls: number;
100
- [key: string]: unknown;
101
- }
102
- export interface LimitCheck {
103
- withinLimits: boolean;
104
- violations: string[];
105
- current: ResourceUsage;
106
- limits: ResourceLimits;
107
- }
108
- export interface RollbackResult {
109
- success: boolean;
110
- filesRestored: number;
111
- errors: string[];
112
- }
113
- export interface InjectionScanRequest {
114
- content: string;
115
- contentType: 'user_input' | 'code' | 'data_source';
116
- context?: {
117
- source: string;
118
- metadata?: Record<string, unknown>;
119
- };
120
- }
121
- export interface Detection {
122
- type: string;
123
- pattern: string;
124
- location: {
125
- start: number;
126
- end: number;
127
- line?: number;
128
- };
129
- severity: 'low' | 'medium' | 'high' | 'critical';
130
- confidence: number;
131
- description: string;
132
- }
133
- export interface InjectionScanResult {
134
- verdict: 'CLEAN' | 'SUSPICIOUS' | 'MALICIOUS' | 'BLOCKED';
135
- confidence: number;
136
- detections: Detection[];
137
- sanitizedContent?: string;
138
- recommendation: {
139
- action: 'allow' | 'sanitize' | 'block' | 'review';
140
- reason: string;
141
- };
142
- scanDuration: number;
143
- }
144
- export interface ProcessedInput {
145
- original: string;
146
- processed: string;
147
- wasSanitized: boolean;
148
- detections: Detection[];
149
- }
150
- export interface CodeOutput {
151
- code: string;
152
- language: string;
153
- outputType: 'code' | 'config' | 'documentation';
154
- metadata?: Record<string, unknown>;
155
- }
156
- export interface Context {
157
- projectPath?: string;
158
- existingFiles?: string[];
159
- dependencies?: Record<string, string>;
160
- framework?: string;
161
- }
162
- export interface StageResult {
163
- stageName: string;
164
- passed: boolean;
165
- score: number;
166
- issues: ValidationIssue[];
167
- warnings: string[];
168
- duration: number;
169
- }
170
- export interface ValidationIssue {
171
- type: string;
172
- severity: 'error' | 'warning' | 'info';
173
- message: string;
174
- location?: {
175
- line: number;
176
- column: number;
177
- };
178
- suggestion?: string;
179
- }
180
- export interface ValidationRequest {
181
- output: CodeOutput;
182
- context?: Context;
183
- request?: string;
184
- }
185
- export interface DetailedValidationResult {
186
- verdict: 'ACCEPT' | 'MODIFY' | 'REJECT' | 'HUMAN_REVIEW';
187
- confidence: number;
188
- stages: StageResult[];
189
- overallScore: number;
190
- modifiedOutput?: string;
191
- recommendation: string;
192
- }
193
- export interface PackageCheck {
194
- exists: boolean;
195
- name: string;
196
- version?: string;
197
- registry: string;
198
- alternativeSuggestions?: string[];
199
- }
200
- export interface APICheck {
201
- exists: boolean;
202
- package: string;
203
- method: string;
204
- signature?: string;
205
- documentation?: string;
206
- alternativeSuggestions?: string[];
207
- }
208
- export interface CodeIntent {
209
- primary: string;
210
- secondary: string[];
211
- entities: string[];
212
- operations: string[];
213
- }
214
- export interface RequestIntent {
215
- goal: string;
216
- constraints: string[];
217
- expectedEntities: string[];
218
- expectedOperations: string[];
219
- }
220
- export interface IntentComparison {
221
- alignmentScore: number;
222
- matches: string[];
223
- mismatches: string[];
224
- recommendation: string;
225
- }
226
- export interface AuditEvent {
227
- agentId: string;
228
- taskId: string;
229
- correlationId: string;
230
- sequenceNumber: number;
231
- actionType: string;
232
- category: string;
233
- input?: unknown;
234
- output?: unknown;
235
- target?: {
236
- type: string;
237
- path?: string;
238
- url?: string;
239
- };
240
- reasoning: {
241
- summary: string;
242
- considerations: string[];
243
- confidence: number;
244
- };
245
- status: 'SUCCESS' | 'FAILURE' | 'BLOCKED' | 'PENDING_APPROVAL' | 'ROLLED_BACK';
246
- error?: {
247
- message: string;
248
- code: string;
249
- stack?: string;
250
- };
251
- impact?: {
252
- filesModified?: string[];
253
- linesAdded?: number;
254
- linesDeleted?: number;
255
- };
256
- diff?: {
257
- before: string;
258
- after: string;
259
- unified: string;
260
- };
261
- riskLevel: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL';
262
- riskFactors: string[];
263
- sensitiveData: boolean;
264
- piiInvolved: boolean;
265
- duration?: number;
266
- timestamp: Date;
267
- previousHash?: string;
268
- }
269
- export interface Diff {
270
- before: string;
271
- after: string;
272
- unified: string;
273
- }
274
- export interface CodeGenParams {
275
- taskId: string;
276
- agentId: string;
277
- prompt: string;
278
- generatedCode: string;
279
- language: string;
280
- reasoning: string;
281
- }
282
- export interface CodeModParams {
283
- taskId: string;
284
- agentId: string;
285
- filePath: string;
286
- originalCode: string;
287
- modifiedCode: string;
288
- reasoning: string;
289
- }
290
- export interface ShellParams {
291
- taskId: string;
292
- agentId: string;
293
- command: string;
294
- args: string[];
295
- output: string;
296
- exitCode: number;
297
- }
298
- export interface AuditQuery {
299
- agentId?: string;
300
- taskId?: string;
301
- correlationId?: string;
302
- startDate?: Date;
303
- endDate?: Date;
304
- actionType?: string;
305
- status?: string;
306
- riskLevel?: string;
307
- limit?: number;
308
- offset?: number;
309
- }
310
- export interface QueryResult {
311
- events: AuditEvent[];
312
- total: number;
313
- page: number;
314
- pageSize: number;
315
- }
316
- export interface Timeline {
317
- taskId: string;
318
- events: AuditEvent[];
319
- summary: {
320
- totalActions: number;
321
- successfulActions: number;
322
- failedActions: number;
323
- blockedActions: number;
324
- duration: number;
325
- };
326
- }
327
- export interface Changes {
328
- filePath: string;
329
- timestamp: Date;
330
- diff: Diff;
331
- agent: string;
332
- reasoning: string;
333
- }
334
- export interface Attribution {
335
- projectId: string;
336
- period: DateRange;
337
- aiGenerated: {
338
- lines: number;
339
- files: number;
340
- percentage: number;
341
- };
342
- humanWritten: {
343
- lines: number;
344
- files: number;
345
- percentage: number;
346
- };
347
- breakdown: {
348
- agent: string;
349
- lines: number;
350
- files: number;
351
- }[];
352
- }
353
- export interface DateRange {
354
- start: Date;
355
- end: Date;
356
- }
357
- export type ReportType = 'audit' | 'compliance' | 'security' | 'attribution';
358
- export interface Report {
359
- type: ReportType;
360
- period: DateRange;
361
- summary: Record<string, unknown>;
362
- details: unknown[];
363
- generatedAt: Date;
364
- }
365
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"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"}