@highflame/policy 2.0.0 → 2.0.2

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 (50) hide show
  1. package/_schemas/overwatch/context.json +0 -30
  2. package/_schemas/overwatch/schema.cedarschema +0 -5
  3. package/dist/builder.d.ts.map +1 -1
  4. package/dist/builder.js +16 -3
  5. package/dist/builder.js.map +1 -1
  6. package/dist/entity-metadata-types.gen.d.ts +17 -0
  7. package/dist/entity-metadata-types.gen.d.ts.map +1 -0
  8. package/dist/entity-metadata-types.gen.js +3 -0
  9. package/dist/entity-metadata-types.gen.js.map +1 -0
  10. package/dist/index.d.ts +7 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +8 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/overwatch-context.gen.d.ts +0 -2
  15. package/dist/overwatch-context.gen.d.ts.map +1 -1
  16. package/dist/overwatch-context.gen.js +0 -2
  17. package/dist/overwatch-context.gen.js.map +1 -1
  18. package/dist/overwatch-entities.gen.d.ts +12 -0
  19. package/dist/overwatch-entities.gen.d.ts.map +1 -0
  20. package/dist/overwatch-entities.gen.js +38 -0
  21. package/dist/overwatch-entities.gen.js.map +1 -0
  22. package/dist/palisade-entities.gen.d.ts +12 -0
  23. package/dist/palisade-entities.gen.d.ts.map +1 -0
  24. package/dist/palisade-entities.gen.js +46 -0
  25. package/dist/palisade-entities.gen.js.map +1 -0
  26. package/dist/schemas.test.js +0 -4
  27. package/dist/schemas.test.js.map +1 -1
  28. package/dist/service-schemas.gen.d.ts +48 -0
  29. package/dist/service-schemas.gen.d.ts.map +1 -0
  30. package/dist/service-schemas.gen.js +581 -0
  31. package/dist/service-schemas.gen.js.map +1 -0
  32. package/dist/studio-ui.test.d.ts +8 -0
  33. package/dist/studio-ui.test.d.ts.map +1 -0
  34. package/dist/studio-ui.test.js +254 -0
  35. package/dist/studio-ui.test.js.map +1 -0
  36. package/dist/types.d.ts +7 -0
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/types.js +8 -0
  39. package/dist/types.js.map +1 -1
  40. package/package.json +1 -1
  41. package/src/builder.ts +17 -3
  42. package/src/entity-metadata-types.gen.ts +19 -0
  43. package/src/index.ts +28 -0
  44. package/src/overwatch-context.gen.ts +0 -2
  45. package/src/overwatch-entities.gen.ts +41 -0
  46. package/src/palisade-entities.gen.ts +49 -0
  47. package/src/schemas.test.ts +0 -4
  48. package/src/service-schemas.gen.ts +608 -0
  49. package/src/studio-ui.test.ts +314 -0
  50. package/src/types.ts +28 -0
@@ -0,0 +1,581 @@
1
+ // Code generated by highflame-policy-codegen. DO NOT EDIT.
2
+ // Source: schemas/overwatch/schema.cedarschema, schemas/palisade/schema.cedarschema
3
+ //
4
+ // Service-specific Cedar schemas and context metadata.
5
+ // Works in both browser and Node.js environments.
6
+ //
7
+ // Usage:
8
+ // import { OVERWATCH_SCHEMA, PALISADE_SCHEMA } from '@highflame/policy/types';
9
+ // import { OVERWATCH_CONTEXT, PALISADE_CONTEXT } from '@highflame/policy/types';
10
+ /**
11
+ * Overwatch (Guardian) Cedar schema
12
+ *
13
+ * Full Cedar schema for IDE security, including:
14
+ * - Actions: process_prompt, call_tool, connect_server, read_file, write_file
15
+ * - Entities: User, Agent, LlmPrompt, Tool, Server, FilePath
16
+ * - Context attributes for threat detection and workspace security
17
+ */
18
+ export const OVERWATCH_SCHEMA = `// Overwatch (Guardian) Cedar Schema
19
+ // ===================================
20
+ // IDE Security & Policy Enforcement
21
+ //
22
+ // Overwatch protects IDE operations (prompts, tool calls, file access) by evaluating
23
+ // threats detected by YARA and Javelin scanners against Cedar policies.
24
+ //
25
+ // Architecture:
26
+ // User/Agent → IDE Hook → YARA/Javelin → Cedar Policy → Allow/Deny
27
+ //
28
+ // Supported IDEs:
29
+ // - Cursor (beforeSubmitPrompt, beforeShellExecution, beforeMCPExecution, etc.)
30
+ // - Claude Code (UserPromptSubmit, PreToolUse)
31
+ // - GitHub Copilot (userPromptSubmitted, preToolUse)
32
+
33
+ namespace Overwatch {
34
+
35
+ // =============================================================================
36
+ // ENTITIES
37
+ // =============================================================================
38
+
39
+ // Human user or service account making requests to the IDE
40
+ entity User {
41
+ user_type: String, // "external" or "internal"
42
+ email: String, // User email (optional)
43
+ };
44
+
45
+ // AI agent (Claude, GitHub Copilot, etc.)
46
+ entity Agent {
47
+ agent_type: String, // "claude", "copilot", etc.
48
+ };
49
+
50
+ // LLM prompt or session
51
+ entity LlmPrompt {
52
+ prompt_type: String, // "user_prompt", "session"
53
+ };
54
+
55
+ // MCP tool or native IDE tool
56
+ entity Tool {
57
+ tool_name: String, // "shell", "read_file", "playwright", etc.
58
+ risk_level: String, // "low", "medium", "high"
59
+ };
60
+
61
+ // MCP server
62
+ entity Server {
63
+ server_name: String, // "filesystem", "playwright", etc.
64
+ };
65
+
66
+ // File system path
67
+ entity FilePath {
68
+ path: String,
69
+ is_within_workspace: Bool,
70
+ };
71
+
72
+ // =============================================================================
73
+ // ACTIONS
74
+ // =============================================================================
75
+
76
+ // User submits a prompt or receives AI response
77
+ action process_prompt appliesTo {
78
+ principal: [User, Agent],
79
+ resource: [LlmPrompt],
80
+ context: {
81
+ // Event & Source
82
+ content: String, // Raw content being scanned
83
+ source: String, // IDE source: "cursor", "claudecode", "github_copilot"
84
+ event: String, // Hook event name
85
+ user_email: String, // User identifier
86
+
87
+ // Workspace
88
+ cwd: String, // Current working directory
89
+ workspace_root: String, // Workspace/repository root
90
+
91
+ // Threat Detection
92
+ threat_count: Long, // Total threats detected
93
+ highest_severity: String, // "critical", "high", "medium", "low"
94
+ threat_categories: Set<String>, // Threat category names
95
+ threat_types: Set<String>, // YARA threat categories
96
+ yara_threats: Set<String>, // YARA rule names
97
+ max_threat_severity: Long, // Numeric severity (0-4)
98
+ contains_secrets: Bool, // Whether secrets detected
99
+ prompt_text: String, // Same as content (legacy)
100
+ response_content: String, // Response content (if available)
101
+ },
102
+ };
103
+
104
+ // User calls a tool (native IDE tool or MCP tool)
105
+ action call_tool appliesTo {
106
+ principal: [User, Agent],
107
+ resource: [Tool, FilePath],
108
+ context: {
109
+ // Event & Source
110
+ content: String, // Raw content being scanned (e.g., shell command)
111
+ source: String, // IDE source
112
+ event: String, // Hook event name
113
+ user_email: String, // User identifier
114
+
115
+ // Tool & MCP
116
+ tool_name: String, // Normalized tool name ("shell", "read_file", etc.)
117
+ mcp_server: String, // MCP server name
118
+ mcp_tool: String, // MCP tool name
119
+
120
+ // File & Path
121
+ path: String, // File path (if file operation)
122
+
123
+ // Workspace
124
+ cwd: String,
125
+ workspace_root: String,
126
+
127
+ // Threat Detection
128
+ threat_count: Long,
129
+ highest_severity: String,
130
+ threat_categories: Set<String>,
131
+ threat_types: Set<String>,
132
+ yara_threats: Set<String>,
133
+ max_threat_severity: Long,
134
+ contains_secrets: Bool,
135
+ response_content: String,
136
+ },
137
+ };
138
+
139
+ // Connect to an MCP server
140
+ action connect_server appliesTo {
141
+ principal: [User, Agent],
142
+ resource: [Server],
143
+ context: {
144
+ content: String,
145
+ source: String,
146
+ event: String,
147
+ user_email: String,
148
+ mcp_server: String,
149
+ threat_count: Long,
150
+ highest_severity: String,
151
+ threat_categories: Set<String>,
152
+ max_threat_severity: Long,
153
+ },
154
+ };
155
+
156
+ // Read a file from disk
157
+ action read_file appliesTo {
158
+ principal: [User, Agent],
159
+ resource: [FilePath],
160
+ context: {
161
+ content: String,
162
+ source: String,
163
+ event: String,
164
+ user_email: String,
165
+ path: String,
166
+ cwd: String,
167
+ workspace_root: String,
168
+ threat_count: Long,
169
+ highest_severity: String,
170
+ threat_categories: Set<String>,
171
+ max_threat_severity: Long,
172
+ contains_secrets: Bool,
173
+ },
174
+ };
175
+
176
+ // Write a file to disk
177
+ action write_file appliesTo {
178
+ principal: [User, Agent],
179
+ resource: [FilePath],
180
+ context: {
181
+ content: String,
182
+ source: String,
183
+ event: String,
184
+ user_email: String,
185
+ path: String,
186
+ cwd: String,
187
+ workspace_root: String,
188
+ threat_count: Long,
189
+ highest_severity: String,
190
+ threat_categories: Set<String>,
191
+ max_threat_severity: Long,
192
+ contains_secrets: Bool,
193
+ },
194
+ };
195
+
196
+ }
197
+ `;
198
+ /**
199
+ * Palisade Cedar schema
200
+ *
201
+ * Full Cedar schema for ML supply chain security, including:
202
+ * - Actions: scan_artifact, validate_integrity, validate_provenance, quarantine_artifact, load_model, deploy_model
203
+ * - Entities: Scanner, Artifact, Package
204
+ * - Context attributes for ML security findings
205
+ */
206
+ export const PALISADE_SCHEMA = `// Palisade Cedar Schema
207
+ // =====================
208
+ // ML Supply Chain Security & Artifact Scanning
209
+ //
210
+ // Palisade scans ML model artifacts (safetensors, GGUF, pickle, PyTorch) for
211
+ // security vulnerabilities and enforces policies based on findings.
212
+ //
213
+ // Architecture:
214
+ // Scanner → Validators (Pickle, SafeTensors, GGUF, etc.) → Cedar Policy → Allow/Deny/Quarantine
215
+ //
216
+ // Supported Formats:
217
+ // - SafeTensors (.safetensors)
218
+ // - GGUF (.gguf)
219
+ // - Pickle (.pkl, .pickle, .pt)
220
+ // - PyTorch (.pth, .pt)
221
+ // - ONNX (.onnx)
222
+
223
+ namespace Palisade {
224
+
225
+ // =============================================================================
226
+ // ENTITIES
227
+ // =============================================================================
228
+
229
+ // Security scanner service
230
+ entity Scanner {
231
+ scanner_type: String, // "palisade", "redteam", etc.
232
+ };
233
+
234
+ // ML model artifact
235
+ entity Artifact {
236
+ artifact_format: String, // "safetensors", "gguf", "pickle", "pytorch", "onnx"
237
+ path: String, // File path
238
+ signed: Bool, // Whether digitally signed
239
+ signer: String, // Who signed (if applicable)
240
+ };
241
+
242
+ // Software package (npm, PyPI, etc.)
243
+ entity Package {
244
+ package_name: String,
245
+ package_version: String,
246
+ };
247
+
248
+ // =============================================================================
249
+ // ACTIONS
250
+ // =============================================================================
251
+
252
+ // Scan an ML artifact for security issues
253
+ action scan_artifact appliesTo {
254
+ principal: [Scanner],
255
+ resource: [Artifact],
256
+ context: {
257
+ // Core Finding & Severity
258
+ finding_type: String, // Type of finding (e.g., "backdoor_detected", "safetensors_integrity_violation")
259
+ severity: String, // "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFO"
260
+ environment: String, // "production", "strict_production", "development", "permissive_development", "research"
261
+
262
+ // Artifact Metadata
263
+ artifact_format: String, // "safetensors", "gguf", "pickle", "pytorch", "onnx"
264
+ path: String, // File path to artifact
265
+ artifact_signed: Bool, // Whether artifact is digitally signed
266
+ provenance_signer: String, // "unknown", "unsigned", or signer name
267
+
268
+ // Pickle Security
269
+ pickle_exec_path_detected: Bool, // Pickle RCE execution path detected (CRITICAL)
270
+
271
+ // Tokenizer Security
272
+ tokenizer_added_tokens_count: Long, // Number of added tokens (0-5000+)
273
+
274
+ // LoRA Security
275
+ adapter_base_digest_mismatch: Bool, // LoRA adapter base model digest mismatch
276
+
277
+ // GGUF Security
278
+ gguf_suspicious_metadata: Bool, // GGUF metadata contains suspicious patterns
279
+
280
+ // SafeTensors Security
281
+ safetensors_integrity_violation: Bool, // SafeTensors file integrity violated
282
+
283
+ // General Metadata Security
284
+ metadata_malicious_pattern: Bool, // Metadata contains malicious patterns
285
+
286
+ // CoSAI Maturity
287
+ metadata_cosai_level_numeric: Long, // CoSAI maturity level (0-5, higher = more trustworthy)
288
+
289
+ // Backdoor Detection
290
+ match_count: Long, // Number of behavioral backdoor indicator matches
291
+ },
292
+ };
293
+
294
+ // Validate artifact integrity (checksum, signature)
295
+ action validate_integrity appliesTo {
296
+ principal: [Scanner],
297
+ resource: [Artifact],
298
+ context: {
299
+ artifact_format: String,
300
+ path: String,
301
+ artifact_signed: Bool,
302
+ provenance_signer: String,
303
+ safetensors_integrity_violation: Bool,
304
+ finding_type: String,
305
+ severity: String,
306
+ },
307
+ };
308
+
309
+ // Validate artifact provenance (signer, origin)
310
+ action validate_provenance appliesTo {
311
+ principal: [Scanner],
312
+ resource: [Artifact],
313
+ context: {
314
+ artifact_format: String,
315
+ path: String,
316
+ artifact_signed: Bool,
317
+ provenance_signer: String,
318
+ metadata_cosai_level_numeric: Long,
319
+ finding_type: String,
320
+ severity: String,
321
+ },
322
+ };
323
+
324
+ // Quarantine a malicious artifact
325
+ action quarantine_artifact appliesTo {
326
+ principal: [Scanner],
327
+ resource: [Artifact],
328
+ context: {
329
+ finding_type: String,
330
+ severity: String,
331
+ environment: String,
332
+ artifact_format: String,
333
+ path: String,
334
+ },
335
+ };
336
+
337
+ // Load an ML model into memory
338
+ action load_model appliesTo {
339
+ principal: [Scanner],
340
+ resource: [Artifact],
341
+ context: {
342
+ artifact_format: String,
343
+ environment: String,
344
+ artifact_signed: Bool,
345
+ severity: String,
346
+ },
347
+ };
348
+
349
+ // Deploy an ML model to production
350
+ action deploy_model appliesTo {
351
+ principal: [Scanner],
352
+ resource: [Artifact],
353
+ context: {
354
+ artifact_format: String,
355
+ environment: String,
356
+ artifact_signed: Bool,
357
+ provenance_signer: String,
358
+ severity: String,
359
+ },
360
+ };
361
+
362
+ // Scan a software package
363
+ action scan_package appliesTo {
364
+ principal: [Scanner],
365
+ resource: [Package],
366
+ context: {
367
+ finding_type: String,
368
+ severity: String,
369
+ environment: String,
370
+ },
371
+ };
372
+
373
+ }
374
+ `;
375
+ /**
376
+ * Overwatch context metadata (parsed JSON)
377
+ */
378
+ export const OVERWATCH_CONTEXT = {
379
+ "service": "overwatch",
380
+ "version": "1.0.0",
381
+ "description": "Overwatch (Guardian) IDE security & policy enforcement",
382
+ "actions": [
383
+ {
384
+ "name": "process_prompt",
385
+ "description": "User submits a prompt or receives AI response",
386
+ "context_attributes": [
387
+ { "key": "content", "type": "string", "required": true, "description": "Raw content being scanned (prompt, command, etc.)" },
388
+ { "key": "source", "type": "string", "required": true, "description": "IDE source: cursor, claudecode, github_copilot" },
389
+ { "key": "event", "type": "string", "required": true, "description": "Hook event name (e.g., beforeSubmitPrompt, UserPromptSubmit)" },
390
+ { "key": "user_email", "type": "string", "required": true, "description": "User identifier (OAuth verified or fallback)" },
391
+ { "key": "cwd", "type": "string", "required": false, "description": "Current working directory" },
392
+ { "key": "workspace_root", "type": "string", "required": false, "description": "Workspace/repository root path" },
393
+ { "key": "threat_count", "type": "number", "required": true, "description": "Total number of threats detected by YARA/Javelin" },
394
+ { "key": "highest_severity", "type": "string", "required": true, "description": "Highest severity level: critical, high, medium, low" },
395
+ { "key": "threat_categories", "type": "array", "required": true, "description": "Threat category names from aggregator" },
396
+ { "key": "threat_types", "type": "array", "required": true, "description": "YARA threat category names" },
397
+ { "key": "yara_threats", "type": "array", "required": true, "description": "YARA rule names that matched" },
398
+ { "key": "max_threat_severity", "type": "number", "required": true, "description": "Numeric severity (0-4, where 4=CRITICAL)" },
399
+ { "key": "contains_secrets", "type": "boolean", "required": true, "description": "Whether secrets or credentials were detected" },
400
+ { "key": "prompt_text", "type": "string", "required": false, "description": "Same as content (legacy field)" },
401
+ { "key": "response_content", "type": "string", "required": false, "description": "Response content from AI (if available)" }
402
+ ]
403
+ },
404
+ {
405
+ "name": "call_tool",
406
+ "description": "User calls a tool (native IDE tool or MCP tool)",
407
+ "context_attributes": [
408
+ { "key": "content", "type": "string", "required": true, "description": "Raw content being scanned (e.g., shell command)" },
409
+ { "key": "source", "type": "string", "required": true, "description": "IDE source: cursor, claudecode, github_copilot" },
410
+ { "key": "event", "type": "string", "required": true, "description": "Hook event name (e.g., beforeShellExecution, PreToolUse)" },
411
+ { "key": "user_email", "type": "string", "required": true, "description": "User identifier" },
412
+ { "key": "tool_name", "type": "string", "required": false, "description": "Normalized tool name: shell, read_file, write_file, edit_file, etc." },
413
+ { "key": "mcp_server", "type": "string", "required": false, "description": "MCP server name (e.g., filesystem, playwright)" },
414
+ { "key": "mcp_tool", "type": "string", "required": false, "description": "MCP tool name (e.g., list_directory, navigate)" },
415
+ { "key": "path", "type": "string", "required": false, "description": "File path (if file operation)" },
416
+ { "key": "cwd", "type": "string", "required": false, "description": "Current working directory" },
417
+ { "key": "workspace_root", "type": "string", "required": false, "description": "Workspace/repository root path" },
418
+ { "key": "threat_count", "type": "number", "required": true, "description": "Total threats detected" },
419
+ { "key": "highest_severity", "type": "string", "required": true, "description": "Highest severity: critical, high, medium, low" },
420
+ { "key": "threat_categories", "type": "array", "required": true, "description": "Threat category names" },
421
+ { "key": "threat_types", "type": "array", "required": true, "description": "YARA threat categories" },
422
+ { "key": "yara_threats", "type": "array", "required": true, "description": "YARA rule names" },
423
+ { "key": "max_threat_severity", "type": "number", "required": true, "description": "Numeric severity (0-4)" },
424
+ { "key": "contains_secrets", "type": "boolean", "required": true, "description": "Whether secrets detected" },
425
+ { "key": "response_content", "type": "string", "required": false, "description": "Response content (if available)" }
426
+ ]
427
+ },
428
+ {
429
+ "name": "connect_server",
430
+ "description": "Connect to an MCP server",
431
+ "context_attributes": [
432
+ { "key": "content", "type": "string", "required": true, "description": "Raw content being scanned" },
433
+ { "key": "source", "type": "string", "required": true, "description": "IDE source" },
434
+ { "key": "event", "type": "string", "required": true, "description": "Hook event name" },
435
+ { "key": "user_email", "type": "string", "required": true, "description": "User identifier" },
436
+ { "key": "mcp_server", "type": "string", "required": false, "description": "MCP server name" },
437
+ { "key": "threat_count", "type": "number", "required": true, "description": "Total threats detected" },
438
+ { "key": "highest_severity", "type": "string", "required": true, "description": "Highest severity level" },
439
+ { "key": "threat_categories", "type": "array", "required": true, "description": "Threat category names" },
440
+ { "key": "max_threat_severity", "type": "number", "required": true, "description": "Numeric severity (0-4)" }
441
+ ]
442
+ },
443
+ {
444
+ "name": "read_file",
445
+ "description": "Read a file from disk",
446
+ "context_attributes": [
447
+ { "key": "content", "type": "string", "required": true, "description": "File content or operation details" },
448
+ { "key": "source", "type": "string", "required": true, "description": "IDE source" },
449
+ { "key": "event", "type": "string", "required": true, "description": "Hook event name (e.g., beforeReadFile)" },
450
+ { "key": "user_email", "type": "string", "required": true, "description": "User identifier" },
451
+ { "key": "path", "type": "string", "required": false, "description": "File path being read" },
452
+ { "key": "file_path", "type": "string", "required": false, "description": "Duplicate of path field" },
453
+ { "key": "cwd", "type": "string", "required": false, "description": "Current working directory" },
454
+ { "key": "workspace_root", "type": "string", "required": false, "description": "Workspace root path" },
455
+ { "key": "threat_count", "type": "number", "required": true, "description": "Total threats detected" },
456
+ { "key": "highest_severity", "type": "string", "required": true, "description": "Highest severity level" },
457
+ { "key": "threat_categories", "type": "array", "required": true, "description": "Threat categories" },
458
+ { "key": "max_threat_severity", "type": "number", "required": true, "description": "Numeric severity (0-4)" },
459
+ { "key": "contains_secrets", "type": "boolean", "required": true, "description": "Whether secrets detected" }
460
+ ]
461
+ },
462
+ {
463
+ "name": "write_file",
464
+ "description": "Write a file to disk",
465
+ "context_attributes": [
466
+ { "key": "content", "type": "string", "required": true, "description": "File content being written" },
467
+ { "key": "source", "type": "string", "required": true, "description": "IDE source" },
468
+ { "key": "event", "type": "string", "required": true, "description": "Hook event name" },
469
+ { "key": "user_email", "type": "string", "required": true, "description": "User identifier" },
470
+ { "key": "path", "type": "string", "required": false, "description": "File path being written" },
471
+ { "key": "file_path", "type": "string", "required": false, "description": "Duplicate of path field" },
472
+ { "key": "cwd", "type": "string", "required": false, "description": "Current working directory" },
473
+ { "key": "workspace_root", "type": "string", "required": false, "description": "Workspace root path" },
474
+ { "key": "threat_count", "type": "number", "required": true, "description": "Total threats detected" },
475
+ { "key": "highest_severity", "type": "string", "required": true, "description": "Highest severity level" },
476
+ { "key": "threat_categories", "type": "array", "required": true, "description": "Threat categories" },
477
+ { "key": "max_threat_severity", "type": "number", "required": true, "description": "Numeric severity (0-4)" },
478
+ { "key": "contains_secrets", "type": "boolean", "required": true, "description": "Whether secrets detected" }
479
+ ]
480
+ }
481
+ ]
482
+ };
483
+ /**
484
+ * Palisade context metadata (parsed JSON)
485
+ */
486
+ export const PALISADE_CONTEXT = {
487
+ "service": "palisade",
488
+ "version": "1.0.0",
489
+ "description": "Palisade ML supply chain security & artifact scanning",
490
+ "actions": [
491
+ {
492
+ "name": "scan_artifact",
493
+ "description": "Scan an ML artifact for security issues",
494
+ "context_attributes": [
495
+ { "key": "finding_type", "type": "string", "required": true, "description": "Type of security finding (e.g., backdoor_detected, safetensors_integrity_violation)" },
496
+ { "key": "severity", "type": "string", "required": true, "description": "Severity level: CRITICAL, HIGH, MEDIUM, LOW, INFO" },
497
+ { "key": "environment", "type": "string", "required": true, "description": "Deployment environment: production, strict_production, development, permissive_development, research" },
498
+ { "key": "artifact_format", "type": "string", "required": true, "description": "Model format: safetensors, gguf, pickle, pytorch, onnx" },
499
+ { "key": "path", "type": "string", "required": true, "description": "File path to the ML artifact" },
500
+ { "key": "artifact_signed", "type": "boolean", "required": true, "description": "Whether the artifact is digitally signed" },
501
+ { "key": "provenance_signer", "type": "string", "required": true, "description": "Who signed the artifact: unknown, unsigned, or signer name" },
502
+ { "key": "pickle_exec_path_detected", "type": "boolean", "required": false, "description": "Pickle RCE execution path detected (CRITICAL security issue)" },
503
+ { "key": "tokenizer_added_tokens_count", "type": "number", "required": false, "description": "Number of added tokens in tokenizer (0-5000+, high count suspicious)" },
504
+ { "key": "adapter_base_digest_mismatch", "type": "boolean", "required": false, "description": "LoRA adapter base model digest mismatch (integrity issue)" },
505
+ { "key": "gguf_suspicious_metadata", "type": "boolean", "required": false, "description": "GGUF metadata contains suspicious patterns" },
506
+ { "key": "safetensors_integrity_violation", "type": "boolean", "required": false, "description": "SafeTensors file integrity violated or corrupted" },
507
+ { "key": "metadata_malicious_pattern", "type": "boolean", "required": false, "description": "Metadata contains malicious patterns" },
508
+ { "key": "metadata_cosai_level_numeric", "type": "number", "required": false, "description": "CoSAI maturity level (0-5, where higher = more trustworthy)" },
509
+ { "key": "match_count", "type": "number", "required": false, "description": "Number of behavioral backdoor indicator matches (for confidence scoring)" }
510
+ ]
511
+ },
512
+ {
513
+ "name": "validate_integrity",
514
+ "description": "Validate artifact integrity (checksum, signature)",
515
+ "context_attributes": [
516
+ { "key": "artifact_format", "type": "string", "required": true, "description": "Model format" },
517
+ { "key": "path", "type": "string", "required": true, "description": "File path" },
518
+ { "key": "artifact_signed", "type": "boolean", "required": true, "description": "Whether digitally signed" },
519
+ { "key": "provenance_signer", "type": "string", "required": true, "description": "Signer name" },
520
+ { "key": "safetensors_integrity_violation", "type": "boolean", "required": false, "description": "SafeTensors integrity check result" },
521
+ { "key": "finding_type", "type": "string", "required": false, "description": "Type of integrity finding" },
522
+ { "key": "severity", "type": "string", "required": false, "description": "Severity of integrity issue" }
523
+ ]
524
+ },
525
+ {
526
+ "name": "validate_provenance",
527
+ "description": "Validate artifact provenance (signer, origin)",
528
+ "context_attributes": [
529
+ { "key": "artifact_format", "type": "string", "required": true, "description": "Model format" },
530
+ { "key": "path", "type": "string", "required": true, "description": "File path" },
531
+ { "key": "artifact_signed", "type": "boolean", "required": true, "description": "Whether signed" },
532
+ { "key": "provenance_signer", "type": "string", "required": true, "description": "Signer identity" },
533
+ { "key": "metadata_cosai_level_numeric", "type": "number", "required": false, "description": "CoSAI maturity level" },
534
+ { "key": "finding_type", "type": "string", "required": false, "description": "Type of provenance finding" },
535
+ { "key": "severity", "type": "string", "required": false, "description": "Severity level" }
536
+ ]
537
+ },
538
+ {
539
+ "name": "quarantine_artifact",
540
+ "description": "Quarantine a malicious artifact",
541
+ "context_attributes": [
542
+ { "key": "finding_type", "type": "string", "required": true, "description": "Type of security finding" },
543
+ { "key": "severity", "type": "string", "required": true, "description": "Severity level" },
544
+ { "key": "environment", "type": "string", "required": true, "description": "Deployment environment" },
545
+ { "key": "artifact_format", "type": "string", "required": true, "description": "Model format" },
546
+ { "key": "path", "type": "string", "required": true, "description": "File path" }
547
+ ]
548
+ },
549
+ {
550
+ "name": "load_model",
551
+ "description": "Load an ML model into memory",
552
+ "context_attributes": [
553
+ { "key": "artifact_format", "type": "string", "required": true, "description": "Model format" },
554
+ { "key": "environment", "type": "string", "required": true, "description": "Deployment environment" },
555
+ { "key": "artifact_signed", "type": "boolean", "required": true, "description": "Whether signed" },
556
+ { "key": "severity", "type": "string", "required": false, "description": "Severity of any findings" }
557
+ ]
558
+ },
559
+ {
560
+ "name": "deploy_model",
561
+ "description": "Deploy an ML model to production",
562
+ "context_attributes": [
563
+ { "key": "artifact_format", "type": "string", "required": true, "description": "Model format" },
564
+ { "key": "environment", "type": "string", "required": true, "description": "Deployment environment" },
565
+ { "key": "artifact_signed", "type": "boolean", "required": true, "description": "Whether signed" },
566
+ { "key": "provenance_signer", "type": "string", "required": true, "description": "Signer identity" },
567
+ { "key": "severity", "type": "string", "required": false, "description": "Severity of any findings" }
568
+ ]
569
+ },
570
+ {
571
+ "name": "scan_package",
572
+ "description": "Scan a software package",
573
+ "context_attributes": [
574
+ { "key": "finding_type", "type": "string", "required": false, "description": "Type of finding" },
575
+ { "key": "severity", "type": "string", "required": false, "description": "Severity level" },
576
+ { "key": "environment", "type": "string", "required": true, "description": "Deployment environment" }
577
+ ]
578
+ }
579
+ ]
580
+ };
581
+ //# sourceMappingURL=service-schemas.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-schemas.gen.js","sourceRoot":"","sources":["../src/service-schemas.gen.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,oFAAoF;AACpF,EAAE;AACF,uDAAuD;AACvD,kDAAkD;AAClD,EAAE;AACF,SAAS;AACT,iFAAiF;AACjF,mFAAmF;AAEnF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmL/B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwK9B,CAAC;AA0BF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,OAAO;IAClB,aAAa,EAAE,wDAAwD;IACvE,SAAS,EAAE;QACT;YACE,MAAM,EAAE,gBAAgB;YACxB,aAAa,EAAE,+CAA+C;YAC9D,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,mDAAmD,EAAE;gBAC5H,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,gDAAgD,EAAE;gBACxH,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,8DAA8D,EAAE;gBACrI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,8CAA8C,EAAE;gBAC1H,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,2BAA2B,EAAE;gBACjG,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gCAAgC,EAAE;gBACjH,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,kDAAkD,EAAE;gBAChI,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,qDAAqD,EAAE;gBACvI,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,uCAAuC,EAAE;gBACzH,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,4BAA4B,EAAE;gBACzG,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,8BAA8B,EAAE;gBAC3G,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,0CAA0C,EAAE;gBAC/H,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,8CAA8C,EAAE;gBACjI,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gCAAgC,EAAE;gBAC9G,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,yCAAyC,EAAE;aAC7H;SACF;QACD;YACE,MAAM,EAAE,WAAW;YACnB,aAAa,EAAE,iDAAiD;YAChE,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iDAAiD,EAAE;gBAC1H,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,gDAAgD,EAAE;gBACxH,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,0DAA0D,EAAE;gBACjI,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBAC7F,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,qEAAqE,EAAE;gBACjJ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gDAAgD,EAAE;gBAC7H,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gDAAgD,EAAE;gBAC3H,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,+BAA+B,EAAE;gBACtG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,2BAA2B,EAAE;gBACjG,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gCAAgC,EAAE;gBACjH,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBACtG,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,+CAA+C,EAAE;gBACjI,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,uBAAuB,EAAE;gBACzG,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBACrG,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBAC9F,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBAC7G,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,0BAA0B,EAAE;gBAC7G,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,iCAAiC,EAAE;aACrH;SACF;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,aAAa,EAAE,0BAA0B;YACzC,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,2BAA2B,EAAE;gBACpG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE;gBACpF,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBACxF,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBAC7F,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBAC9F,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBACtG,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBAC1G,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,uBAAuB,EAAE;gBACzG,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;aAC9G;SACF;QACD;YACE,MAAM,EAAE,WAAW;YACnB,aAAa,EAAE,uBAAuB;YACtC,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,mCAAmC,EAAE;gBAC5G,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE;gBACpF,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wCAAwC,EAAE;gBAC/G,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBAC7F,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE;gBAC7F,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE;gBACrG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,2BAA2B,EAAE;gBACjG,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE;gBACtG,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBACtG,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBAC1G,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,mBAAmB,EAAE;gBACrG,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBAC7G,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,0BAA0B,EAAE;aAC9G;SACF;QACD;YACE,MAAM,EAAE,YAAY;YACpB,aAAa,EAAE,sBAAsB;YACrC,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,4BAA4B,EAAE;gBACrG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE;gBACpF,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBACxF,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBAC7F,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE;gBAChG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE;gBACrG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,2BAA2B,EAAE;gBACjG,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE;gBACtG,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBACtG,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBAC1G,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,mBAAmB,EAAE;gBACrG,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBAC7G,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,0BAA0B,EAAE;aAC9G;SACF;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,OAAO;IAClB,aAAa,EAAE,uDAAuD;IACtE,SAAS,EAAE;QACT;YACE,MAAM,EAAE,eAAe;YACvB,aAAa,EAAE,yCAAyC;YACxD,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,qFAAqF,EAAE;gBACnK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,mDAAmD,EAAE;gBAC7H,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,sGAAsG,EAAE;gBACnL,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wDAAwD,EAAE;gBACzI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,8BAA8B,EAAE;gBACpG,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,0CAA0C,EAAE;gBAC5H,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,4DAA4D,EAAE;gBAC/I,EAAE,KAAK,EAAE,2BAA2B,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,8DAA8D,EAAE;gBAC3J,EAAE,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,sEAAsE,EAAE;gBACrK,EAAE,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,2DAA2D,EAAE;gBAC3J,EAAE,KAAK,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,4CAA4C,EAAE;gBACxI,EAAE,KAAK,EAAE,iCAAiC,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,kDAAkD,EAAE;gBACrJ,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,sCAAsC,EAAE;gBACpI,EAAE,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,6DAA6D,EAAE;gBAC5J,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,0EAA0E,EAAE;aACzJ;SACF;QACD;YACE,MAAM,EAAE,oBAAoB;YAC5B,aAAa,EAAE,mDAAmD;YAClE,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE;gBAC/F,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE;gBACjF,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,0BAA0B,EAAE;gBAC5G,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE;gBAChG,EAAE,KAAK,EAAE,iCAAiC,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,oCAAoC,EAAE;gBACvI,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,2BAA2B,EAAE;gBAC1G,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,6BAA6B,EAAE;aACzG;SACF;QACD;YACE,MAAM,EAAE,qBAAqB;YAC7B,aAAa,EAAE,+CAA+C;YAC9D,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE;gBAC/F,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE;gBACjF,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE;gBAClG,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBACpG,EAAE,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE;gBACrH,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,4BAA4B,EAAE;gBAC3G,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE;aAC5F;SACF;QACD;YACE,MAAM,EAAE,qBAAqB;YAC7B,aAAa,EAAE,iCAAiC;YAChD,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,0BAA0B,EAAE;gBACxG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE;gBAC1F,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBACrG,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE;gBAC/F,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE;aAClF;SACF;QACD;YACE,MAAM,EAAE,YAAY;YACpB,aAAa,EAAE,8BAA8B;YAC7C,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE;gBAC/F,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBACrG,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE;gBAClG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE;aACtG;SACF;QACD;YACE,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,kCAAkC;YACjD,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE;gBAC/F,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;gBACrG,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,gBAAgB,EAAE;gBAClG,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBACpG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE;aACtG;SACF;QACD;YACE,MAAM,EAAE,cAAc;YACtB,aAAa,EAAE,yBAAyB;YACxC,oBAAoB,EAAE;gBACpB,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE;gBAChG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE;gBAC3F,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,wBAAwB,EAAE;aACtG;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Studio UI Integration Tests
3
+ *
4
+ * These tests simulate exactly how the Studio UI (Overwatch admin dashboard)
5
+ * will use the @highflame/policy npm package.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=studio-ui.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"studio-ui.test.d.ts","sourceRoot":"","sources":["../src/studio-ui.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}