@blogic-cz/agent-tools 1.5.5 → 1.5.7

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;AAM5E,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;AA6nCF,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,CAoPrF;AAQD,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,UA35CD,SAAS,UAAU,UAAU,KAAK,IA25CM,CAAC;AAE5E,oDAAoD;AACpD,eAAO,MAAM,aAAa,YA75CC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IA65CjB,CAAC;AAExD,yEAAyE;AACzE,eAAO,MAAM,aAAa,aA/5CE,MAAM,KAAK,OA+5CgB,CAAC;AAExD,yDAAyD;AACzD,eAAO,MAAM,aAAa,aAj6CE,MAAM,KAAK,OAi6CgB,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,YAn6CC,MAAM,KAAK,OAm6C0B,CAAC;AAE1E,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,YAr6CC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAq6Cf,CAAC;AAEhE,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,YAv6CC,MAAM,KAAK,OAu6CsB,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,YAz6CC,MAAM,KAAK,MAAM,GAAG,IAy6Ca,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;AAM5E,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;AA2qCF,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,CAoPrF;AAQD,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,UAz8CD,SAAS,UAAU,UAAU,KAAK,IAy8CM,CAAC;AAE5E,oDAAoD;AACpD,eAAO,MAAM,aAAa,YA38CC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IA28CjB,CAAC;AAExD,yEAAyE;AACzE,eAAO,MAAM,aAAa,aA78CE,MAAM,KAAK,OA68CgB,CAAC;AAExD,yDAAyD;AACzD,eAAO,MAAM,aAAa,aA/8CE,MAAM,KAAK,OA+8CgB,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,sBAAsB,YAj9CC,MAAM,KAAK,OAi9C0B,CAAC;AAE1E,iDAAiD;AACjD,eAAO,MAAM,iBAAiB,YAn9CC,MAAM,KAAK;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAm9Cf,CAAC;AAEhE,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,YAr9CC,MAAM,KAAK,OAq9CsB,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,YAv9CC,MAAM,KAAK,MAAM,GAAG,IAu9Ca,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blogic-cz/agent-tools",
3
- "version": "1.5.5",
3
+ "version": "1.5.7",
4
4
  "description": "CLI tools for AI coding agent workflows — GitHub, database, Kubernetes, Azure platform, Azure DevOps, logs, sessions, and audit",
5
5
  "keywords": [
6
6
  "agent",
@@ -249,6 +249,26 @@ function getLeadingLiteralAssignments(
249
249
  return assignments;
250
250
  }
251
251
 
252
+ function isSafeHerdrTabCreate(argv: string[]): boolean {
253
+ if (argv[0] !== "herdr" || argv[1] !== "tab" || argv[2] !== "create") return false;
254
+ const seen = new Set<string>();
255
+ for (let index = 3; index < argv.length; index++) {
256
+ const arg = argv[index] ?? "";
257
+ const [option, ...attached] = arg.split("=");
258
+ if (option === "--focus" || option === "--no-focus") {
259
+ if (attached.length || seen.has("focus")) return false;
260
+ seen.add("focus");
261
+ continue;
262
+ }
263
+ if (!["--workspace", "--cwd", "--label"].includes(option ?? "") || seen.has(option ?? ""))
264
+ return false;
265
+ const value = attached.length ? attached.join("=") : argv[++index];
266
+ if (!value || (!attached.length && value.startsWith("--"))) return false;
267
+ seen.add(option ?? "");
268
+ }
269
+ return true;
270
+ }
271
+
252
272
  function hasSafeLocalAssignmentCommands(
253
273
  command: string,
254
274
  assignments: Map<string, { value: string; end: number }>,
@@ -259,9 +279,14 @@ function hasSafeLocalAssignmentCommands(
259
279
  return parsed.pipelines.flat().every((words) => {
260
280
  const assignment = /^([A-Za-z_][A-Za-z0-9_]*)=([A-Za-z0-9_./-]+)$/.exec(words[0] ?? "");
261
281
  if (assignment) {
262
- return words.length === 1 && assignments.get(assignment[1] ?? "")?.value === assignment[2];
282
+ return (
283
+ words.length === 1 &&
284
+ assignment[1] !== "IFS" &&
285
+ assignments.get(assignment[1] ?? "")?.value === assignment[2]
286
+ );
263
287
  }
264
288
  const argv = unwrapStaticCommand(words);
289
+ if (isSafeHerdrTabCreate(argv)) return true;
265
290
  const name = argv[0]?.split("/").at(-1) ?? "";
266
291
  if (name === "cd") return isNavigationOperand(argv, "LOCALVALUE");
267
292
  if (name === "git") {
@@ -522,17 +547,38 @@ function isLiteralTextProducer(argv: string[]): boolean {
522
547
  return isPassiveTextCommand(argv) && argv[0]?.split("/").at(-1) !== "head";
523
548
  }
524
549
 
550
+ function awkProgramIndex(argv: string[]): number | undefined {
551
+ if (argv[0]?.split("/").at(-1) !== "awk") return undefined;
552
+ let index = 1;
553
+ while (index < argv.length) {
554
+ const arg = argv[index] ?? "";
555
+ if (arg === "--") return index + 1 < argv.length ? index + 1 : undefined;
556
+ if (arg === "-F") {
557
+ if (argv[index + 1] === undefined) return undefined;
558
+ index += 2;
559
+ continue;
560
+ }
561
+ if (arg.startsWith("-F") && arg.length > 2) {
562
+ index++;
563
+ continue;
564
+ }
565
+ if (arg.startsWith("-")) return undefined;
566
+ return index;
567
+ }
568
+ return undefined;
569
+ }
570
+
525
571
  function isAwkExecution(argv: string[]): boolean {
526
572
  if (argv[0]?.split("/").at(-1) !== "awk") return false;
527
- // Only a literal inline program establishes passive behavior. File/unknown options do not.
528
- const program = argv[1];
573
+ // Only a literal inline program with known-safe options establishes passive behavior.
574
+ const index = awkProgramIndex(argv);
575
+ const program = index === undefined ? undefined : argv[index];
529
576
  return (
530
577
  !program ||
531
- program.startsWith("-") ||
532
578
  /\b(?:system|getline|ENVIRON)\b|\||\b(?:print|printf)\b[^\n]*>|@(?:include|load)/.test(
533
579
  program,
534
580
  ) ||
535
- argv.slice(2).some((arg) => arg.startsWith("-"))
581
+ argv.slice((index ?? -1) + 1).some((arg) => arg.startsWith("-"))
536
582
  );
537
583
  }
538
584