@executioncontrolprotocol/policies 0.11.3 → 0.13.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.
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { collectFileRefs, collectOutputFormatHints, fileRefUrlHostname, isSvgHint, } from "@executioncontrolprotocol/core";
|
|
2
|
+
import { FILE_REF_KINDS } from "@executioncontrolprotocol/types";
|
|
3
3
|
/** Evaluate image refs in step input against policy config. @category Policies */
|
|
4
4
|
export function evaluateImageRefsPre(input, config) {
|
|
5
|
-
const refs =
|
|
5
|
+
const refs = collectFileRefs(input);
|
|
6
6
|
if (config.maxImageRefsPerStep !== undefined && refs.length > config.maxImageRefsPerStep) {
|
|
7
7
|
return `Image ref count ${refs.length} exceeds maxImageRefsPerStep (${config.maxImageRefsPerStep})`;
|
|
8
8
|
}
|
|
@@ -10,11 +10,11 @@ export function evaluateImageRefsPre(input, config) {
|
|
|
10
10
|
if (config.allowedInputKinds && !config.allowedInputKinds.includes(ref.kind)) {
|
|
11
11
|
return `Image ref at ${path} has disallowed kind '${ref.kind}'`;
|
|
12
12
|
}
|
|
13
|
-
if (ref.kind ===
|
|
13
|
+
if (ref.kind === FILE_REF_KINDS.URL) {
|
|
14
14
|
if (config.allowRemoteUrls === false) {
|
|
15
15
|
return `Remote URL image ref at ${path} is not allowed`;
|
|
16
16
|
}
|
|
17
|
-
const host =
|
|
17
|
+
const host = fileRefUrlHostname(ref);
|
|
18
18
|
if (config.allowedUrlDomains?.length && host && !config.allowedUrlDomains.includes(host)) {
|
|
19
19
|
return `URL domain '${host}' at ${path} is not in allowedUrlDomains`;
|
|
20
20
|
}
|
|
@@ -40,7 +40,7 @@ export function evaluateImageRefsPre(input, config) {
|
|
|
40
40
|
export function evaluateImageRefsPost(output, config) {
|
|
41
41
|
if (output === null || typeof output !== "object")
|
|
42
42
|
return undefined;
|
|
43
|
-
const refs =
|
|
43
|
+
const refs = collectFileRefs(output);
|
|
44
44
|
for (const { path, ref } of refs) {
|
|
45
45
|
const sizeBytes = "sizeBytes" in ref ? ref.sizeBytes : undefined;
|
|
46
46
|
if (sizeBytes !== undefined && config.maxOutputBytes !== undefined && sizeBytes > config.maxOutputBytes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-policy-eval.js","sourceRoot":"","sources":["../src/image-policy-eval.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"image-policy-eval.js","sourceRoot":"","sources":["../src/image-policy-eval.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@executioncontrolprotocol/policies",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "Standard ECP policies",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
"build": "tsc -b"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@executioncontrolprotocol/core": "^0.
|
|
24
|
-
"@executioncontrolprotocol/types": "^0.
|
|
23
|
+
"@executioncontrolprotocol/core": "^0.13.0",
|
|
24
|
+
"@executioncontrolprotocol/types": "^0.13.0",
|
|
25
25
|
"zod": "^3.24.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@executioncontrolprotocol/core": "0.
|
|
29
|
-
"@executioncontrolprotocol/types": "0.
|
|
28
|
+
"@executioncontrolprotocol/core": "0.13.0",
|
|
29
|
+
"@executioncontrolprotocol/types": "0.13.0",
|
|
30
30
|
"typescript": "^5.7.0",
|
|
31
31
|
"zod": "^3.24.0"
|
|
32
32
|
}
|