@highflame/policy 2.0.7 → 2.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_schemas/overwatch/context.json +163 -1
- package/_schemas/overwatch/schema.cedarschema +45 -0
- package/dist/actions.gen.d.ts +0 -1
- package/dist/actions.gen.js +0 -1
- package/dist/annotations.d.ts +0 -1
- package/dist/annotations.js +0 -1
- package/dist/builder.d.ts +0 -1
- package/dist/builder.js +0 -1
- package/dist/context.gen.d.ts +0 -1
- package/dist/context.gen.js +0 -1
- package/dist/engine.d.ts +0 -1
- package/dist/engine.js +0 -1
- package/dist/entities.gen.d.ts +0 -1
- package/dist/entities.gen.js +0 -1
- package/dist/entity-metadata-types.gen.d.ts +0 -1
- package/dist/entity-metadata-types.gen.js +0 -1
- package/dist/errors.d.ts +0 -1
- package/dist/errors.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/overwatch-context.gen.d.ts +13 -1
- package/dist/overwatch-context.gen.js +13 -1
- package/dist/overwatch-defaults.gen.d.ts +1 -2
- package/dist/overwatch-defaults.gen.js +346 -2
- package/dist/overwatch-entities.gen.d.ts +0 -1
- package/dist/overwatch-entities.gen.js +0 -1
- package/dist/palisade-context.gen.d.ts +0 -1
- package/dist/palisade-context.gen.js +0 -1
- package/dist/palisade-entities.gen.d.ts +0 -1
- package/dist/palisade-entities.gen.js +0 -1
- package/dist/parser.d.ts +0 -1
- package/dist/parser.js +0 -1
- package/dist/schema.gen.d.ts +0 -1
- package/dist/schema.gen.js +0 -1
- package/dist/schemas.d.ts +0 -1
- package/dist/schemas.js +0 -1
- package/dist/service-schemas.gen.d.ts +0 -1
- package/dist/service-schemas.gen.js +0 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -1
- package/package.json +1 -2
- package/dist/actions.gen.d.ts.map +0 -1
- package/dist/actions.gen.js.map +0 -1
- package/dist/annotations.d.ts.map +0 -1
- package/dist/annotations.js.map +0 -1
- package/dist/builder.d.ts.map +0 -1
- package/dist/builder.js.map +0 -1
- package/dist/context.gen.d.ts.map +0 -1
- package/dist/context.gen.js.map +0 -1
- package/dist/engine.d.ts.map +0 -1
- package/dist/engine.js.map +0 -1
- package/dist/engine.test.d.ts +0 -8
- package/dist/engine.test.d.ts.map +0 -1
- package/dist/engine.test.js +0 -190
- package/dist/engine.test.js.map +0 -1
- package/dist/entities.gen.d.ts.map +0 -1
- package/dist/entities.gen.js.map +0 -1
- package/dist/entity-metadata-types.gen.d.ts.map +0 -1
- package/dist/entity-metadata-types.gen.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/overwatch-context.gen.d.ts.map +0 -1
- package/dist/overwatch-context.gen.js.map +0 -1
- package/dist/overwatch-defaults.gen.d.ts.map +0 -1
- package/dist/overwatch-defaults.gen.js.map +0 -1
- package/dist/overwatch-defaults.test.d.ts +0 -8
- package/dist/overwatch-defaults.test.d.ts.map +0 -1
- package/dist/overwatch-defaults.test.js +0 -145
- package/dist/overwatch-defaults.test.js.map +0 -1
- package/dist/overwatch-entities.gen.d.ts.map +0 -1
- package/dist/overwatch-entities.gen.js.map +0 -1
- package/dist/overwatch-rebac.test.d.ts +0 -25
- package/dist/overwatch-rebac.test.d.ts.map +0 -1
- package/dist/overwatch-rebac.test.js +0 -301
- package/dist/overwatch-rebac.test.js.map +0 -1
- package/dist/palisade-context.gen.d.ts.map +0 -1
- package/dist/palisade-context.gen.js.map +0 -1
- package/dist/palisade-entities.gen.d.ts.map +0 -1
- package/dist/palisade-entities.gen.js.map +0 -1
- package/dist/parser.d.ts.map +0 -1
- package/dist/parser.js.map +0 -1
- package/dist/parser.test.d.ts +0 -8
- package/dist/parser.test.d.ts.map +0 -1
- package/dist/parser.test.js +0 -212
- package/dist/parser.test.js.map +0 -1
- package/dist/schema.gen.d.ts.map +0 -1
- package/dist/schema.gen.js.map +0 -1
- package/dist/schemas.d.ts.map +0 -1
- package/dist/schemas.js.map +0 -1
- package/dist/schemas.test.d.ts +0 -8
- package/dist/schemas.test.d.ts.map +0 -1
- package/dist/schemas.test.js +0 -375
- package/dist/schemas.test.js.map +0 -1
- package/dist/service-schemas.gen.d.ts.map +0 -1
- package/dist/service-schemas.gen.js.map +0 -1
- package/dist/studio-ui.test.d.ts +0 -8
- package/dist/studio-ui.test.d.ts.map +0 -1
- package/dist/studio-ui.test.js +0 -687
- package/dist/studio-ui.test.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/src/actions.gen.ts +0 -57
- package/src/annotations.ts +0 -243
- package/src/builder.ts +0 -799
- package/src/context.gen.ts +0 -10
- package/src/engine.test.ts +0 -370
- package/src/engine.ts +0 -497
- package/src/entities.gen.ts +0 -65
- package/src/entity-metadata-types.gen.ts +0 -19
- package/src/errors.ts +0 -195
- package/src/index.ts +0 -62
- package/src/overwatch-context.gen.ts +0 -32
- package/src/overwatch-defaults.gen.ts +0 -907
- package/src/overwatch-defaults.test.ts +0 -176
- package/src/overwatch-entities.gen.ts +0 -41
- package/src/overwatch-rebac.test.ts +0 -346
- package/src/palisade-context.gen.ts +0 -28
- package/src/palisade-entities.gen.ts +0 -49
- package/src/parser.test.ts +0 -251
- package/src/parser.ts +0 -579
- package/src/schema.gen.ts +0 -134
- package/src/schemas.test.ts +0 -445
- package/src/schemas.ts +0 -91
- package/src/service-schemas.gen.ts +0 -608
- package/src/studio-ui.test.ts +0 -813
- package/src/types.ts +0 -66
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"studio-ui.test.js","sourceRoot":"","sources":["../src/studio-ui.test.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAQA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,cAAc,CAAC;AAG7B,cAAc,aAAa,CAAC;AAG5B,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAGlG,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC"}
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,uCAAuC;AACvC,EAAE;AACF,6CAA6C;AAC7C,gDAAgD;AAChD,yEAAyE;AAEzE,gDAAgD;AAChD,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAEhC,wDAAwD;AACxD,cAAc,cAAc,CAAC;AAE7B,sDAAsD;AACtD,cAAc,aAAa,CAAC;AAE5B,sDAAsD;AACtD,cAAc,kBAAkB,CAAC;AAEjC,+DAA+D;AAC/D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAOlC,qCAAqC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,6EAA6E;AAC7E,OAAO,EACL,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAGpC,+DAA+D;AAC/D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,6BAA6B,CAAC"}
|
package/src/actions.gen.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
// Code generated by highflame-policy-codegen. DO NOT EDIT.
|
|
2
|
-
// Source: schema/highflame.cedarschema
|
|
3
|
-
|
|
4
|
-
import { EntityUID } from './entities.gen.js';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Action types defined in the Highflame Cedar schema.
|
|
8
|
-
*/
|
|
9
|
-
export const ActionType = {
|
|
10
|
-
AccessMemory: 'access_memory',
|
|
11
|
-
AccessServerResource: 'access_server_resource',
|
|
12
|
-
CallExternalApi: 'call_external_api',
|
|
13
|
-
CallTool: 'call_tool',
|
|
14
|
-
ConnectServer: 'connect_server',
|
|
15
|
-
DelegateTask: 'delegate_task',
|
|
16
|
-
DeleteFile: 'delete_file',
|
|
17
|
-
DeployModel: 'deploy_model',
|
|
18
|
-
ExecuteCode: 'execute_code',
|
|
19
|
-
ExportData: 'export_data',
|
|
20
|
-
FilterContent: 'filter_content',
|
|
21
|
-
GitCheckout: 'git_checkout',
|
|
22
|
-
GitClone: 'git_clone',
|
|
23
|
-
GitCommit: 'git_commit',
|
|
24
|
-
GitMerge: 'git_merge',
|
|
25
|
-
GitOperation: 'git_operation',
|
|
26
|
-
GitPull: 'git_pull',
|
|
27
|
-
GitPush: 'git_push',
|
|
28
|
-
GitRebase: 'git_rebase',
|
|
29
|
-
GitReset: 'git_reset',
|
|
30
|
-
HttpRequest: 'http_request',
|
|
31
|
-
InvokeModel: 'invoke_model',
|
|
32
|
-
LoadModel: 'load_model',
|
|
33
|
-
ProcessPrompt: 'process_prompt',
|
|
34
|
-
ProcessResponse: 'process_response',
|
|
35
|
-
QuarantineArtifact: 'quarantine_artifact',
|
|
36
|
-
ReadFile: 'read_file',
|
|
37
|
-
RunBuild: 'run_build',
|
|
38
|
-
RunTests: 'run_tests',
|
|
39
|
-
ScanArtifact: 'scan_artifact',
|
|
40
|
-
ScanPackage: 'scan_package',
|
|
41
|
-
ScanTarget: 'scan_target',
|
|
42
|
-
SkipGuardrails: 'skip_guardrails',
|
|
43
|
-
SpawnSubprocess: 'spawn_subprocess',
|
|
44
|
-
TransferData: 'transfer_data',
|
|
45
|
-
ValidateIntegrity: 'validate_integrity',
|
|
46
|
-
ValidateProvenance: 'validate_provenance',
|
|
47
|
-
WriteFile: 'write_file',
|
|
48
|
-
} as const;
|
|
49
|
-
|
|
50
|
-
export type ActionType = (typeof ActionType)[keyof typeof ActionType];
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Create an EntityUID for an action.
|
|
54
|
-
*/
|
|
55
|
-
export function actionUID(action: ActionType): EntityUID {
|
|
56
|
-
return { type: 'Action', id: action };
|
|
57
|
-
}
|
package/src/annotations.ts
DELETED
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cedar Policy Annotations
|
|
3
|
-
*
|
|
4
|
-
* Provides types and utilities for working with Cedar policy annotations.
|
|
5
|
-
* Annotations are key-value pairs attached to Cedar policies that provide
|
|
6
|
-
* metadata without affecting policy evaluation.
|
|
7
|
-
*
|
|
8
|
-
* Cedar annotation syntax:
|
|
9
|
-
* @id("rule-001")
|
|
10
|
-
* @name("Block critical threats")
|
|
11
|
-
* @severity("high")
|
|
12
|
-
* permit(...) when {...};
|
|
13
|
-
*
|
|
14
|
-
* @see https://docs.cedarpolicy.com/policies/syntax-policy.html
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Rule severity levels for UI display and prioritization.
|
|
19
|
-
* Used to indicate the importance/criticality of a rule.
|
|
20
|
-
*/
|
|
21
|
-
export type PolicySeverity = 'critical' | 'high' | 'medium' | 'low';
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Predefined annotation keys with known semantics.
|
|
25
|
-
* These annotations are extracted/embedded with special handling in the parser/builder.
|
|
26
|
-
*/
|
|
27
|
-
export const PREDEFINED_ANNOTATION_KEYS = ['id', 'name', 'description', 'severity', 'tags'] as const;
|
|
28
|
-
export type PredefinedAnnotationKey = (typeof PREDEFINED_ANNOTATION_KEYS)[number];
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Predefined Cedar annotations with known semantics.
|
|
32
|
-
* These are embedded in Cedar policy text using @annotation("value") syntax.
|
|
33
|
-
*
|
|
34
|
-
* id and name are required for all rules created via the UI.
|
|
35
|
-
*/
|
|
36
|
-
export interface PolicyAnnotations {
|
|
37
|
-
/** Unique identifier for this rule (auto-generated UUID if not provided) */
|
|
38
|
-
id: string;
|
|
39
|
-
/** Human-readable rule name (required) */
|
|
40
|
-
name: string;
|
|
41
|
-
/** Longer explanation of what this rule does */
|
|
42
|
-
description?: string;
|
|
43
|
-
/** Severity/priority level for display and filtering */
|
|
44
|
-
severity?: PolicySeverity;
|
|
45
|
-
/** Categorization tags for grouping and filtering */
|
|
46
|
-
tags?: string[];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Custom user-defined annotations.
|
|
51
|
-
* Keys must be valid Cedar identifiers (alphanumeric + underscore, starting with letter/underscore).
|
|
52
|
-
* Values are always strings (Cedar annotation constraint).
|
|
53
|
-
*
|
|
54
|
-
* Common use cases:
|
|
55
|
-
* - @compliance("SOC2"), @compliance("HIPAA")
|
|
56
|
-
* - @ticket("SEC-1234"), @jira("PROJ-123")
|
|
57
|
-
* - @owner("security-team"), @team("platform")
|
|
58
|
-
* - @review_date("2024-06-01")
|
|
59
|
-
*/
|
|
60
|
-
export type CustomAnnotations = Record<string, string>;
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Check if a key is a predefined annotation key.
|
|
64
|
-
*
|
|
65
|
-
* @param key - The annotation key to check
|
|
66
|
-
* @returns true if the key is a predefined annotation key
|
|
67
|
-
*/
|
|
68
|
-
export function isPredefinedAnnotationKey(key: string): boolean {
|
|
69
|
-
return (PREDEFINED_ANNOTATION_KEYS as readonly string[]).includes(key);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Validate a custom annotation key.
|
|
74
|
-
* Cedar annotation keys must be valid identifiers: start with letter or underscore,
|
|
75
|
-
* followed by letters, numbers, or underscores.
|
|
76
|
-
*
|
|
77
|
-
* @param key - The annotation key to validate
|
|
78
|
-
* @returns true if the key is valid for Cedar annotations
|
|
79
|
-
*/
|
|
80
|
-
export function isValidAnnotationKey(key: string): boolean {
|
|
81
|
-
// Must not be a predefined key (those are handled separately)
|
|
82
|
-
if (isPredefinedAnnotationKey(key)) {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
// Must be a valid Cedar identifier
|
|
86
|
-
return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(key);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Escape a string value for use in Cedar annotation.
|
|
91
|
-
* Escapes backslashes and double quotes.
|
|
92
|
-
*
|
|
93
|
-
* @param value - The value to escape
|
|
94
|
-
* @returns Escaped string safe for Cedar annotation value
|
|
95
|
-
*/
|
|
96
|
-
export function escapeAnnotationValue(value: string): string {
|
|
97
|
-
return value.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Unescape a Cedar annotation value.
|
|
102
|
-
* Reverses the escaping done by escapeAnnotationValue.
|
|
103
|
-
*
|
|
104
|
-
* @param value - The escaped value
|
|
105
|
-
* @returns Unescaped string
|
|
106
|
-
*/
|
|
107
|
-
export function unescapeAnnotationValue(value: string): string {
|
|
108
|
-
return value.replace(/\\"/g, '"').replace(/\\\\/g, '\\');
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Generate Cedar annotation syntax for a single annotation.
|
|
113
|
-
*
|
|
114
|
-
* @param key - The annotation key
|
|
115
|
-
* @param value - The annotation value (will be escaped)
|
|
116
|
-
* @returns Cedar annotation string, e.g., '@severity("high")'
|
|
117
|
-
*/
|
|
118
|
-
export function formatAnnotation(key: string, value: string): string {
|
|
119
|
-
return `@${key}("${escapeAnnotationValue(value)}")`;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Generate all Cedar annotations from PolicyAnnotations and optional custom annotations.
|
|
124
|
-
* Returns array of annotation lines to prepend to policy.
|
|
125
|
-
*
|
|
126
|
-
* @param annotations - Predefined annotations
|
|
127
|
-
* @param customAnnotations - Optional custom annotations
|
|
128
|
-
* @returns Array of Cedar annotation strings
|
|
129
|
-
*/
|
|
130
|
-
export function generateAnnotationLines(
|
|
131
|
-
annotations: PolicyAnnotations,
|
|
132
|
-
customAnnotations?: CustomAnnotations
|
|
133
|
-
): string[] {
|
|
134
|
-
const lines: string[] = [];
|
|
135
|
-
|
|
136
|
-
// Predefined annotations in consistent order
|
|
137
|
-
lines.push(formatAnnotation('id', annotations.id));
|
|
138
|
-
lines.push(formatAnnotation('name', annotations.name));
|
|
139
|
-
|
|
140
|
-
if (annotations.description) {
|
|
141
|
-
lines.push(formatAnnotation('description', annotations.description));
|
|
142
|
-
}
|
|
143
|
-
if (annotations.severity) {
|
|
144
|
-
lines.push(formatAnnotation('severity', annotations.severity));
|
|
145
|
-
}
|
|
146
|
-
if (annotations.tags && annotations.tags.length > 0) {
|
|
147
|
-
// Cedar annotations are single string values, so join tags with comma
|
|
148
|
-
lines.push(formatAnnotation('tags', annotations.tags.join(',')));
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// Custom annotations (alphabetical order for consistency)
|
|
152
|
-
if (customAnnotations) {
|
|
153
|
-
const sortedKeys = Object.keys(customAnnotations).sort();
|
|
154
|
-
for (const key of sortedKeys) {
|
|
155
|
-
if (isValidAnnotationKey(key)) {
|
|
156
|
-
lines.push(formatAnnotation(key, customAnnotations[key]));
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
return lines;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/**
|
|
165
|
-
* Result of parsing Cedar annotations.
|
|
166
|
-
* Separates predefined annotations from custom annotations.
|
|
167
|
-
*/
|
|
168
|
-
export interface ParseAnnotationsResult {
|
|
169
|
-
annotations: PolicyAnnotations;
|
|
170
|
-
customAnnotations?: CustomAnnotations;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Parse Cedar annotations from a Record<string, string> (as returned by cedar-wasm).
|
|
175
|
-
* Separates predefined annotations from custom annotations.
|
|
176
|
-
*
|
|
177
|
-
* @param rawAnnotations - Raw annotation map from Cedar JSON
|
|
178
|
-
* @returns Parsed annotations object
|
|
179
|
-
*/
|
|
180
|
-
export function parseAnnotations(rawAnnotations: Record<string, string> | undefined): ParseAnnotationsResult {
|
|
181
|
-
const annotations: PolicyAnnotations = {
|
|
182
|
-
id: '',
|
|
183
|
-
name: '',
|
|
184
|
-
};
|
|
185
|
-
const customAnnotations: CustomAnnotations = {};
|
|
186
|
-
|
|
187
|
-
if (!rawAnnotations) {
|
|
188
|
-
return { annotations };
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
for (const [key, value] of Object.entries(rawAnnotations)) {
|
|
192
|
-
const unescapedValue = unescapeAnnotationValue(value);
|
|
193
|
-
|
|
194
|
-
switch (key) {
|
|
195
|
-
case 'id':
|
|
196
|
-
annotations.id = unescapedValue;
|
|
197
|
-
break;
|
|
198
|
-
case 'name':
|
|
199
|
-
annotations.name = unescapedValue;
|
|
200
|
-
break;
|
|
201
|
-
case 'description':
|
|
202
|
-
annotations.description = unescapedValue;
|
|
203
|
-
break;
|
|
204
|
-
case 'severity':
|
|
205
|
-
if (['critical', 'high', 'medium', 'low'].includes(unescapedValue)) {
|
|
206
|
-
annotations.severity = unescapedValue as PolicySeverity;
|
|
207
|
-
}
|
|
208
|
-
break;
|
|
209
|
-
case 'tags':
|
|
210
|
-
annotations.tags = unescapedValue.split(',').map((t) => t.trim()).filter(Boolean);
|
|
211
|
-
break;
|
|
212
|
-
default:
|
|
213
|
-
// Custom annotation
|
|
214
|
-
customAnnotations[key] = unescapedValue;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
// Use id as name if name not provided
|
|
219
|
-
if (!annotations.name && annotations.id) {
|
|
220
|
-
annotations.name = annotations.id;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
return {
|
|
224
|
-
annotations,
|
|
225
|
-
customAnnotations: Object.keys(customAnnotations).length > 0 ? customAnnotations : undefined,
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
/**
|
|
230
|
-
* Generate a UUID v4 for rule IDs.
|
|
231
|
-
* Uses crypto.randomUUID if available, falls back to manual generation.
|
|
232
|
-
*/
|
|
233
|
-
export function generateRuleId(): string {
|
|
234
|
-
if (typeof crypto !== 'undefined' && crypto.randomUUID) {
|
|
235
|
-
return crypto.randomUUID();
|
|
236
|
-
}
|
|
237
|
-
// Fallback for older environments
|
|
238
|
-
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
239
|
-
const r = (Math.random() * 16) | 0;
|
|
240
|
-
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
241
|
-
return v.toString(16);
|
|
242
|
-
});
|
|
243
|
-
}
|