@aexhq/cli 0.22.0 → 0.22.1
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/dist/cli.mjs +15 -1
- package/dist/cli.mjs.sha256 +1 -1
- package/package.json +2 -2
package/dist/cli.mjs
CHANGED
|
@@ -901,7 +901,16 @@ var forbiddenStringPatterns = Object.freeze([
|
|
|
901
901
|
{ reason: "vault_id", regex: /\b(?:vault|vlt|secret)[_:-][A-Za-z0-9][A-Za-z0-9_-]{7,}\b/i },
|
|
902
902
|
{
|
|
903
903
|
reason: "private_resource_handle",
|
|
904
|
-
|
|
904
|
+
// `<keyword><sep><id>` opaque handles (`session_a1B2c3D4e5`, `file_9f8e7d…`).
|
|
905
|
+
// The keyword set overlaps ordinary English (agent/file/skill/resource/…), so
|
|
906
|
+
// the bare shape also matched documentation prose that simply chains those
|
|
907
|
+
// words with `_`/`-` (`agent_decision_failure`, `file_grounded`,
|
|
908
|
+
// `session_handoff_contract`, `agent-judgment` — read straight out of a
|
|
909
|
+
// skill-pack doc in tool-result text). The `accept` predicate keeps the shape
|
|
910
|
+
// but requires the id segment to look minted rather than spelled — i.e. carry
|
|
911
|
+
// a digit — so genuine handles stay flagged while dictionary-word prose does not.
|
|
912
|
+
regex: /\b(?:machine|session|agent|file|skill|env|resource|handle|token_hash|bearer_hash)[_:-][A-Za-z0-9][A-Za-z0-9_-]{7,}\b/i,
|
|
913
|
+
accept: isMintedResourceHandle
|
|
905
914
|
},
|
|
906
915
|
{
|
|
907
916
|
reason: "high_entropy_token",
|
|
@@ -931,6 +940,11 @@ function isHighEntropySecretRun(run) {
|
|
|
931
940
|
}
|
|
932
941
|
return highEntropyShannonBits(run) >= 3;
|
|
933
942
|
}
|
|
943
|
+
function isMintedResourceHandle(match) {
|
|
944
|
+
const separatorIndex = match.search(/[_:-]/);
|
|
945
|
+
const id = match.slice(separatorIndex + 1);
|
|
946
|
+
return /\d/.test(id);
|
|
947
|
+
}
|
|
934
948
|
function highEntropyCharClassCount(value) {
|
|
935
949
|
let count = 0;
|
|
936
950
|
if (/[a-z]/.test(value))
|
package/dist/cli.mjs.sha256
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
84dede6ed017defb49617f6f799912364125363867fa9ca8054150ebc0446286 cli.mjs
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aexhq/cli",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/aexhq/aex.git"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"fflate": "^0.8.2",
|
|
30
|
-
"@aexhq/contracts": "0.22.
|
|
30
|
+
"@aexhq/contracts": "0.22.1"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"esbuild": "^0.28.0"
|