@pushary/agent-hooks 0.56.0 → 0.58.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.
@@ -17,7 +17,7 @@ import {
17
17
  reportEvent,
18
18
  resolvePolicy,
19
19
  waitForAnswer
20
- } from "../chunk-3EOK3M44.js";
20
+ } from "../chunk-XG3C4DZA.js";
21
21
  import {
22
22
  getMachineId
23
23
  } from "../chunk-RN3NOEJF.js";
@@ -31,7 +31,7 @@ import {
31
31
  toCodexWire,
32
32
  toPolicyLookup,
33
33
  waitForAnswer
34
- } from "../chunk-3EOK3M44.js";
34
+ } from "../chunk-XG3C4DZA.js";
35
35
  import {
36
36
  getMachineId
37
37
  } from "../chunk-RN3NOEJF.js";
@@ -3,7 +3,7 @@ import {
3
3
  askUser,
4
4
  reportEvent,
5
5
  waitForAnswer
6
- } from "../chunk-3EOK3M44.js";
6
+ } from "../chunk-XG3C4DZA.js";
7
7
  import {
8
8
  getMachineId
9
9
  } from "../chunk-RN3NOEJF.js";
@@ -23,7 +23,7 @@ import {
23
23
  savePendingQuestion,
24
24
  sendNotification,
25
25
  waitForAnswer
26
- } from "../chunk-3EOK3M44.js";
26
+ } from "../chunk-XG3C4DZA.js";
27
27
  import {
28
28
  getMachineId
29
29
  } from "../chunk-RN3NOEJF.js";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-GQPIOJA3.js";
4
+ } from "../chunk-Q7VUYLH4.js";
5
5
  import "../chunk-QYQO6RHJ.js";
6
6
  import "../chunk-YHG74UFF.js";
7
- import "../chunk-3EOK3M44.js";
7
+ import "../chunk-XG3C4DZA.js";
8
8
  import "../chunk-RN3NOEJF.js";
9
9
  import "../chunk-5TECIV6T.js";
10
10
  import "../chunk-DWED7BS3.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleNotification
4
- } from "../chunk-3EOK3M44.js";
4
+ } from "../chunk-XG3C4DZA.js";
5
5
  import "../chunk-RN3NOEJF.js";
6
6
  import "../chunk-DWED7BS3.js";
7
7
  import "../chunk-SYAAGYLZ.js";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionDenied
4
- } from "../chunk-GQPIOJA3.js";
4
+ } from "../chunk-Q7VUYLH4.js";
5
5
  import "../chunk-QYQO6RHJ.js";
6
6
  import "../chunk-YHG74UFF.js";
7
- import "../chunk-3EOK3M44.js";
7
+ import "../chunk-XG3C4DZA.js";
8
8
  import "../chunk-RN3NOEJF.js";
9
9
  import "../chunk-5TECIV6T.js";
10
10
  import "../chunk-DWED7BS3.js";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionRequest
4
- } from "../chunk-GQPIOJA3.js";
4
+ } from "../chunk-Q7VUYLH4.js";
5
5
  import "../chunk-QYQO6RHJ.js";
6
6
  import "../chunk-YHG74UFF.js";
7
- import "../chunk-3EOK3M44.js";
7
+ import "../chunk-XG3C4DZA.js";
8
8
  import "../chunk-RN3NOEJF.js";
9
9
  import "../chunk-5TECIV6T.js";
10
10
  import "../chunk-DWED7BS3.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePostToolUse
4
- } from "../chunk-3EOK3M44.js";
4
+ } from "../chunk-XG3C4DZA.js";
5
5
  import "../chunk-RN3NOEJF.js";
6
6
  import "../chunk-DWED7BS3.js";
7
7
  import "../chunk-SYAAGYLZ.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleUserPrompt
4
- } from "../chunk-3EOK3M44.js";
4
+ } from "../chunk-XG3C4DZA.js";
5
5
  import "../chunk-RN3NOEJF.js";
6
6
  import "../chunk-DWED7BS3.js";
7
7
  import "../chunk-SYAAGYLZ.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleSessionEnd
4
- } from "../chunk-3EOK3M44.js";
4
+ } from "../chunk-XG3C4DZA.js";
5
5
  import "../chunk-RN3NOEJF.js";
6
6
  import "../chunk-DWED7BS3.js";
7
7
  import "../chunk-SYAAGYLZ.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleSessionStart
4
- } from "../chunk-3EOK3M44.js";
4
+ } from "../chunk-XG3C4DZA.js";
5
5
  import "../chunk-RN3NOEJF.js";
6
6
  import "../chunk-DWED7BS3.js";
7
7
  import "../chunk-SYAAGYLZ.js";
@@ -28,7 +28,7 @@ import {
28
28
  } from "../chunk-QYQO6RHJ.js";
29
29
  import {
30
30
  reportEvent
31
- } from "../chunk-3EOK3M44.js";
31
+ } from "../chunk-XG3C4DZA.js";
32
32
  import "../chunk-RN3NOEJF.js";
33
33
  import "../chunk-DWED7BS3.js";
34
34
  import {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleStop
4
- } from "../chunk-3EOK3M44.js";
4
+ } from "../chunk-XG3C4DZA.js";
5
5
  import "../chunk-RN3NOEJF.js";
6
6
  import "../chunk-DWED7BS3.js";
7
7
  import "../chunk-SYAAGYLZ.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleStopFailure
4
- } from "../chunk-3EOK3M44.js";
4
+ } from "../chunk-XG3C4DZA.js";
5
5
  import "../chunk-RN3NOEJF.js";
6
6
  import "../chunk-DWED7BS3.js";
7
7
  import "../chunk-SYAAGYLZ.js";
@@ -24,7 +24,7 @@ import {
24
24
  sendNotification,
25
25
  throttlePass,
26
26
  waitForAnswer
27
- } from "./chunk-3EOK3M44.js";
27
+ } from "./chunk-XG3C4DZA.js";
28
28
  import {
29
29
  getMachineId
30
30
  } from "./chunk-RN3NOEJF.js";
@@ -284,14 +284,37 @@ var deriveToolTarget = (toolName, toolInput) => {
284
284
  }
285
285
  return void 0;
286
286
  };
287
+ var SCRIPT_RUNNERS = /* @__PURE__ */ new Set(["npm", "pnpm", "yarn", "bun", "npx", "deno", "rake", "make", "just", "task", "turbo"]);
288
+ var RUN_SUBCOMMANDS = /* @__PURE__ */ new Set(["run", "run-script", "exec", "task"]);
289
+ var deriveReceiptCommandHead = (command) => {
290
+ if (typeof command !== "string") return void 0;
291
+ const tokens = command.trim().split(/\s+/);
292
+ const [first, second] = tokens;
293
+ const keep = first && second && SCRIPT_RUNNERS.has(first.toLowerCase()) && RUN_SUBCOMMANDS.has(second.toLowerCase()) ? 3 : 2;
294
+ const head = tokens.slice(0, keep).join(" ");
295
+ return head ? head.slice(0, TOOL_TARGET_MAX_LENGTH) : void 0;
296
+ };
287
297
  var RECEIPT_TARGET_MAX_LENGTH = 256;
298
+ var EXIT_CODE_FAILURE = /^Error: Exit code \d+/;
288
299
  var isToolResultError = (toolResult) => {
289
300
  try {
290
- return Boolean(toolResult && ("error" in toolResult || "is_error" in toolResult));
301
+ if (typeof toolResult === "string") return EXIT_CODE_FAILURE.test(toolResult);
302
+ if (!toolResult || typeof toolResult !== "object") return false;
303
+ return "error" in toolResult || "is_error" in toolResult;
291
304
  } catch {
292
305
  return false;
293
306
  }
294
307
  };
308
+ var toolResultErrorText = (toolResult) => {
309
+ try {
310
+ const raw = typeof toolResult === "string" ? toolResult : toolResult && typeof toolResult === "object" ? String(
311
+ toolResult.error ?? toolResult.stderr ?? ""
312
+ ) : "";
313
+ return redactSecrets(raw);
314
+ } catch {
315
+ return "";
316
+ }
317
+ };
295
318
  var relativizeReceiptPath = (filePath, cwd) => {
296
319
  if (!cwd || !isAbsolute(filePath)) return filePath;
297
320
  return relative(cwd, filePath);
@@ -309,7 +332,7 @@ var deriveReceiptMeta = (toolName, toolInput, toolResult, cwd) => {
309
332
  };
310
333
  }
311
334
  if (toolName === "Bash" || toolName === "PowerShell" || toolName === "Monitor") {
312
- const head = deriveCommandHead(toolInput.command);
335
+ const head = deriveReceiptCommandHead(toolInput.command);
313
336
  if (!head) return void 0;
314
337
  return {
315
338
  kind: head === "git commit" ? "commit" : "bash",
@@ -952,7 +975,7 @@ var handlePostToolUse = async (input, agent = CLAUDE_CODE_AGENT) => {
952
975
  agentName: `${agent.label} - ${projectName}`,
953
976
  action,
954
977
  sessionId: input.session_id,
955
- error: isError ? String(toolResult?.error ?? toolResult?.stderr ?? "").slice(0, 500) : void 0,
978
+ error: isError ? toolResultErrorText(toolResult).slice(0, 500) : void 0,
956
979
  decisionSource,
957
980
  ...beacon ? { decisionOrigin: beacon.decisionOrigin, toolName: beacon.toolName, toolTarget: beacon.toolTarget } : {},
958
981
  meta: receiptsEnabled ? deriveReceiptMeta(lookup.tool, lookup.input, toolResult, input.cwd ?? process.cwd()) : void 0,
@@ -81,8 +81,8 @@ declare const reportEvent: (event: AgentEvent, options?: ReportEventOptions) =>
81
81
  declare const handlePostToolUse: (input: {
82
82
  tool_name: string;
83
83
  tool_input: Record<string, unknown>;
84
- tool_response?: Record<string, unknown>;
85
- tool_result?: Record<string, unknown>;
84
+ tool_response?: unknown;
85
+ tool_result?: unknown;
86
86
  cwd?: string;
87
87
  session_id?: string;
88
88
  transcript_path?: string;
package/dist/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  handlePreToolUse
3
- } from "../chunk-GQPIOJA3.js";
3
+ } from "../chunk-Q7VUYLH4.js";
4
4
  import "../chunk-QYQO6RHJ.js";
5
5
  import "../chunk-YHG74UFF.js";
6
6
  import {
@@ -15,7 +15,7 @@ import {
15
15
  reportEvent,
16
16
  resolvePolicy,
17
17
  waitForAnswer
18
- } from "../chunk-3EOK3M44.js";
18
+ } from "../chunk-XG3C4DZA.js";
19
19
  import "../chunk-RN3NOEJF.js";
20
20
  import "../chunk-5TECIV6T.js";
21
21
  import "../chunk-DWED7BS3.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushary/agent-hooks",
3
- "version": "0.56.0",
3
+ "version": "0.58.0",
4
4
  "description": "Permission hooks for AI coding agents: route tool approvals through Pushary push notifications",
5
5
  "keywords": [
6
6
  "pushary",