@blogic-cz/agent-tools 1.6.14 → 1.6.15
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/credential-guard/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAmB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAK5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAQF,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG;IAC5B,uBAAuB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACxD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/credential-guard/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAmB,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAK5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,CAAC;AAQF,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GAAG;IAC5B,uBAAuB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3E,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7C,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjF,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACxD,CAAC;AA0+FF,6CAA6C;AAC7C,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAErE;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEpE;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAEpE;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe,CA+XrF;AAQD,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,UAn5GD,SAAS,UAAU,UAAU,KAAK,IAm5GM,CAAC;AAE5E,oDAAoD;AACpD,eAAO,MAAM,aAAa,YAr5GC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAq5GjB,CAAC;AAExD,yEAAyE;AACzE,eAAO,MAAM,aAAa,aAv5GE,MAAM,KAAK,OAu5GgB,CAAC;AAExD,yDAAyD;AACzD,eAAO,MAAM,aAAa,aAz5GE,MAAM,KAAK,OAy5GgB,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,YA35GC,MAAM,KAAK,OA25G0B,CAAC;AAE1E,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,YA75GC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IA65Gf,CAAC;AAEhE,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,YA/5GC,MAAM,KAAK,OA+5GsB,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,YAj6GC,MAAM,KAAK,MAAM,GAAG,IAi6Ga,CAAC"}
|
package/package.json
CHANGED
|
@@ -1512,6 +1512,20 @@ function isJqObjectConstruction(argv: string[]): boolean {
|
|
|
1512
1512
|
if (argv[index] === "--") index++;
|
|
1513
1513
|
const filter = argv[index] ?? "";
|
|
1514
1514
|
if (argv.slice(index + 1).some((arg) => arg.startsWith("-"))) return false;
|
|
1515
|
+
// ponytail: one object-map level and one literal contains selector; no jq evaluator.
|
|
1516
|
+
const field = String.raw`\.[A-Za-z_][A-Za-z0-9_]*(?:\.[A-Za-z_][A-Za-z0-9_]*)*`;
|
|
1517
|
+
const key = String.raw`[A-Za-z_][A-Za-z0-9_]*`;
|
|
1518
|
+
const flatEntry = String.raw`${key}(?:\s*:\s*${field})?`;
|
|
1519
|
+
const flatObject = String.raw`\{\s*${flatEntry}(?:\s*,\s*${flatEntry})*\s*\}`;
|
|
1520
|
+
const mapped = String.raw`${field}\s*\|\s*map\(\s*${flatObject}\s*\)`;
|
|
1521
|
+
const value = String.raw`(?:${field}|${mapped}|\(\s*${mapped}\s*\))`;
|
|
1522
|
+
const entry = String.raw`${key}(?:\s*:\s*${value})?`;
|
|
1523
|
+
const object = String.raw`\{\s*${entry}(?:\s*,\s*${entry})*\s*\}`;
|
|
1524
|
+
// JSON string escapes exclude jq interpolation, which starts with \(.
|
|
1525
|
+
const string = String.raw`"(?:[^"\\\x00-\x1f]|\\(?:["\\/bfnrt]|u[0-9a-fA-F]{4}))*"`;
|
|
1526
|
+
const selector = String.raw`select\(\s*${field}\s*\|\s*contains\(\s*${string}\s*\)\s*\)`;
|
|
1527
|
+
const traversal = String.raw`${field}(?:\[\])?\s*\|\s*(?:${selector}\s*\|\s*)?`;
|
|
1528
|
+
if (new RegExp(String.raw`^(?:${traversal})?${object}$`).test(filter)) return true;
|
|
1515
1529
|
const expression = filter
|
|
1516
1530
|
.replace(/\.[A-Za-z_][A-Za-z0-9_.-]*/g, "FIELD")
|
|
1517
1531
|
.replace(/\b[A-Za-z_][A-Za-z0-9_-]*\s*:/g, ":");
|
|
@@ -2004,6 +2018,51 @@ function isPassiveTextCommand(argv: string[]): boolean {
|
|
|
2004
2018
|
);
|
|
2005
2019
|
}
|
|
2006
2020
|
|
|
2021
|
+
/** Native data consumers only; ordinary path, expansion and redirect checks still apply. */
|
|
2022
|
+
function isReadonlyJqConsumer(argv: string[]): boolean {
|
|
2023
|
+
if (isPassiveTextCommand(argv)) return true;
|
|
2024
|
+
const name = argv[0]?.split("/").at(-1) ?? "";
|
|
2025
|
+
if (name === "sort")
|
|
2026
|
+
return argv
|
|
2027
|
+
.slice(1)
|
|
2028
|
+
.every(
|
|
2029
|
+
(arg) =>
|
|
2030
|
+
!arg.startsWith("-") || arg === "-" || arg === "--" || /^-[bdfgMhnRruVszcC]+$/.test(arg),
|
|
2031
|
+
);
|
|
2032
|
+
if (name === "uniq") return isReadonlyUniqConsumer(argv);
|
|
2033
|
+
if (["cat", "wc"].includes(name)) return isProvedCwdSubprocessRole(argv);
|
|
2034
|
+
return name === "tr";
|
|
2035
|
+
}
|
|
2036
|
+
|
|
2037
|
+
/** uniq INPUT is a read; uniq INPUT OUTPUT is a write and cannot acquire this proof. */
|
|
2038
|
+
function isReadonlyUniqConsumer(argv: string[]): boolean {
|
|
2039
|
+
let operands = 0;
|
|
2040
|
+
let options = true;
|
|
2041
|
+
for (let index = 1; index < argv.length; index++) {
|
|
2042
|
+
const arg = argv[index] ?? "";
|
|
2043
|
+
if (options && arg === "--") {
|
|
2044
|
+
options = false;
|
|
2045
|
+
continue;
|
|
2046
|
+
}
|
|
2047
|
+
if (options) {
|
|
2048
|
+
if (/^-[cduiz]+$|^--(?:count|repeated|unique|ignore-case|zero-terminated)$/.test(arg))
|
|
2049
|
+
continue;
|
|
2050
|
+
const short = /^-[fsw]([0-9]*)$/.exec(arg);
|
|
2051
|
+
const long = /^--(?:skip-fields|skip-chars|check-chars)(?:=(.*))?$/.exec(arg);
|
|
2052
|
+
if (short || long) {
|
|
2053
|
+
const attached = short ? short[1] || undefined : long?.[1];
|
|
2054
|
+
const value = attached === undefined ? argv[++index] : attached;
|
|
2055
|
+
if (!/^[0-9]+$/.test(value ?? "")) return false;
|
|
2056
|
+
continue;
|
|
2057
|
+
}
|
|
2058
|
+
if (arg.startsWith("-") && arg !== "-") return false;
|
|
2059
|
+
}
|
|
2060
|
+
options = false;
|
|
2061
|
+
if (++operands > 1) return false;
|
|
2062
|
+
}
|
|
2063
|
+
return true;
|
|
2064
|
+
}
|
|
2065
|
+
|
|
2007
2066
|
/** One print program with optional numeric or escaped-regex addresses; no callbacks. */
|
|
2008
2067
|
function isReadonlySedPrint(argv: string[]): boolean {
|
|
2009
2068
|
if (argv[0]?.split("/").at(-1) !== "sed") return false;
|
|
@@ -2178,8 +2237,10 @@ function hasEnvironmentRead(
|
|
|
2178
2237
|
pipelines.some((pipeline) =>
|
|
2179
2238
|
pipeline.some(
|
|
2180
2239
|
(argv, index) =>
|
|
2181
|
-
literalSqlArgumentIndex(argv) !== undefined &&
|
|
2182
|
-
|
|
2240
|
+
(literalSqlArgumentIndex(argv) !== undefined &&
|
|
2241
|
+
pipeline.slice(index + 1).some((consumer) => !isPassiveTextCommand(consumer))) ||
|
|
2242
|
+
(isJqObjectConstruction(argv) &&
|
|
2243
|
+
pipeline.slice(index + 1).some((consumer) => !isReadonlyJqConsumer(consumer))),
|
|
2183
2244
|
),
|
|
2184
2245
|
)
|
|
2185
2246
|
)
|