@pushary/agent-hooks 0.88.0 → 0.89.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.
Files changed (62) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/data/cursor-plugin/scripts/pushary-gate.mjs +63 -7
  3. package/data/vscode-plugin/scripts/pushary-gate.mjs +56 -18
  4. package/dist/bin/pushary-bell-hook.js +4 -4
  5. package/dist/bin/pushary-bell.js +7 -7
  6. package/dist/bin/pushary-claude.js +9 -9
  7. package/dist/bin/pushary-clean.js +11 -13
  8. package/dist/bin/pushary-codex-bridge.js +6 -6
  9. package/dist/bin/pushary-codex-hook.js +5 -5
  10. package/dist/bin/pushary-codex.js +4 -4
  11. package/dist/bin/pushary-connect.js +6 -6
  12. package/dist/bin/pushary-daemon.js +5 -5
  13. package/dist/bin/pushary-disconnect.js +9 -11
  14. package/dist/bin/pushary-doctor.js +15 -15
  15. package/dist/bin/pushary-elicitation-hook.js +7 -120
  16. package/dist/bin/pushary-gemini-bridge.js +6 -6
  17. package/dist/bin/pushary-gemini-hook.js +5 -5
  18. package/dist/bin/pushary-hook.js +6 -6
  19. package/dist/bin/pushary-login.js +4 -4
  20. package/dist/bin/pushary-logout.js +4 -4
  21. package/dist/bin/pushary-mode.js +3 -3
  22. package/dist/bin/pushary-notification-hook.js +4 -4
  23. package/dist/bin/pushary-opencode-hook.js +5 -5
  24. package/dist/bin/pushary-permission-denied-hook.js +6 -6
  25. package/dist/bin/pushary-permission-hook.js +6 -6
  26. package/dist/bin/pushary-post-hook.js +4 -4
  27. package/dist/bin/pushary-prompt-hook.js +4 -4
  28. package/dist/bin/pushary-session-end-hook.js +4 -4
  29. package/dist/bin/pushary-session-start-hook.js +4 -4
  30. package/dist/bin/pushary-setup.js +32 -29
  31. package/dist/bin/pushary-stats.js +2 -2
  32. package/dist/bin/pushary-status.js +5 -5
  33. package/dist/bin/pushary-stop-hook.js +4 -4
  34. package/dist/bin/pushary-stopfailure-hook.js +4 -4
  35. package/dist/bin/pushary-upgrade.js +10 -12
  36. package/dist/bin/pushary-wait.js +3 -3
  37. package/dist/{chunk-OULRSHFB.js → chunk-4FANZF2L.js} +2 -2
  38. package/dist/{chunk-DSTZ2RBU.js → chunk-4KMWTOBK.js} +4 -1
  39. package/dist/{chunk-LEYXXXRN.js → chunk-6GBQDZ7K.js} +1 -1
  40. package/dist/{chunk-B7ZBHWOW.js → chunk-AIGDBRIJ.js} +1 -1
  41. package/dist/{chunk-VSCSZ2LI.js → chunk-AJ4EMW5D.js} +1 -1
  42. package/dist/{chunk-DXBUFXPL.js → chunk-DLI5IXSD.js} +1 -1
  43. package/dist/{chunk-67TNJVJW.js → chunk-EKNFTIKO.js} +1 -1
  44. package/dist/{chunk-MY5A4EPQ.js → chunk-F3ZDPL6O.js} +187 -60
  45. package/dist/{chunk-VHHVGVFQ.js → chunk-FRH2QIMY.js} +1 -1
  46. package/dist/{chunk-XFHMGVMX.js → chunk-LNAQWWBP.js} +1 -1
  47. package/dist/{chunk-F5W3AY6L.js → chunk-LXTX5CT7.js} +1 -1
  48. package/dist/{chunk-T2XZH7D5.js → chunk-O7P7O4VY.js} +2 -2
  49. package/dist/{chunk-MNXG6IIM.js → chunk-OSE7X44J.js} +3 -3
  50. package/dist/{chunk-4VYELDAH.js → chunk-PXEFENML.js} +1 -1
  51. package/dist/{chunk-3JL64GVE.js → chunk-Q6MK2YKV.js} +120 -1
  52. package/dist/{chunk-ESARAYRI.js → chunk-SHVW5KFR.js} +1 -1
  53. package/dist/{chunk-RSUBLTMP.js → chunk-SUZF64M4.js} +2 -2
  54. package/dist/{chunk-3B3PYTKH.js → chunk-U44C3ULB.js} +1 -1
  55. package/dist/{chunk-UTQCV46U.js → chunk-U65EIMUJ.js} +4 -4
  56. package/dist/{chunk-6BOE5NJZ.js → chunk-WFFPWJN6.js} +1 -1
  57. package/dist/{chunk-WXCHB6BO.js → chunk-WPDMGNQR.js} +1 -1
  58. package/dist/{chunk-3PSEZOC4.js → chunk-ZPRF4YLA.js} +1 -1
  59. package/dist/src/index.js +6 -6
  60. package/package.json +1 -1
  61. package/dist/chunk-U6HRYNHC.js +0 -137
  62. /package/dist/{chunk-VT4IVERX.js → chunk-PZA7G4CN.js} +0 -0
@@ -1,8 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- removeClaudeMcpServers,
4
- removePusharySettings
5
- } from "../chunk-U6HRYNHC.js";
6
2
  import {
7
3
  OPENCODE_PLUGIN_SIBLING,
8
4
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
@@ -12,13 +8,15 @@ import {
12
8
  openCodePluginDir,
13
9
  openCodePluginFile,
14
10
  removeOpenCodeMcpServer
15
- } from "../chunk-DSTZ2RBU.js";
11
+ } from "../chunk-4KMWTOBK.js";
16
12
  import {
17
- removeGeminiSettings
18
- } from "../chunk-MY5A4EPQ.js";
13
+ removeClaudeMcpServers,
14
+ removeGeminiSettings,
15
+ removePusharySettings
16
+ } from "../chunk-F3ZDPL6O.js";
19
17
  import "../chunk-ATBKJNWS.js";
20
- import "../chunk-B7ZBHWOW.js";
21
- import "../chunk-VT4IVERX.js";
18
+ import "../chunk-AIGDBRIJ.js";
19
+ import "../chunk-PZA7G4CN.js";
22
20
  import {
23
21
  claudeJson,
24
22
  claudeSettings,
@@ -31,7 +29,7 @@ import {
31
29
  geminiSettings,
32
30
  removeCodexHooks,
33
31
  removeCodexSettings
34
- } from "../chunk-VHHVGVFQ.js";
32
+ } from "../chunk-FRH2QIMY.js";
35
33
  import "../chunk-GIRT7677.js";
36
34
  import {
37
35
  exitOnHelpFlag
@@ -39,7 +37,7 @@ import {
39
37
  import "../chunk-GOEXZ5QJ.js";
40
38
  import "../chunk-DINDL2CF.js";
41
39
  import "../chunk-KZERVKTD.js";
42
- import "../chunk-3JL64GVE.js";
40
+ import "../chunk-Q6MK2YKV.js";
43
41
 
44
42
  // bin/pushary-disconnect.ts
45
43
  import { readdirSync, readFileSync, rmSync, writeFileSync } from "fs";
@@ -6,10 +6,10 @@ import {
6
6
  claudeWired,
7
7
  codexWired,
8
8
  geminiWired
9
- } from "../chunk-RSUBLTMP.js";
9
+ } from "../chunk-SUZF64M4.js";
10
10
  import {
11
11
  readDaemonStatus
12
- } from "../chunk-OULRSHFB.js";
12
+ } from "../chunk-4FANZF2L.js";
13
13
  import {
14
14
  agentProbes,
15
15
  detectAgent,
@@ -18,24 +18,24 @@ import {
18
18
  isDetected,
19
19
  isPluginRegistered,
20
20
  vscodeSettingsTargets
21
- } from "../chunk-T2XZH7D5.js";
21
+ } from "../chunk-O7P7O4VY.js";
22
22
  import {
23
23
  OPENCODE_PLUGIN_PLACEHOLDER,
24
24
  openCodePluginDir,
25
25
  openCodePluginFile,
26
26
  openCodeWired
27
- } from "../chunk-DSTZ2RBU.js";
27
+ } from "../chunk-4KMWTOBK.js";
28
28
  import {
29
29
  GEMINI_HOOK_BINARY,
30
30
  hasGeminiHooks,
31
31
  missingGeminiHookEvents
32
- } from "../chunk-MY5A4EPQ.js";
32
+ } from "../chunk-F3ZDPL6O.js";
33
33
  import "../chunk-ATBKJNWS.js";
34
- import "../chunk-B7ZBHWOW.js";
34
+ import "../chunk-AIGDBRIJ.js";
35
35
  import "../chunk-XHKBHWLX.js";
36
36
  import {
37
37
  execNpm
38
- } from "../chunk-VT4IVERX.js";
38
+ } from "../chunk-PZA7G4CN.js";
39
39
  import {
40
40
  claudeJson,
41
41
  claudeSettings,
@@ -55,12 +55,12 @@ import {
55
55
  readCodexMcpAuth,
56
56
  untrustedCodexHookEvents,
57
57
  vscodePluginDir
58
- } from "../chunk-VHHVGVFQ.js";
58
+ } from "../chunk-FRH2QIMY.js";
59
59
  import {
60
60
  readLedgerSummary
61
- } from "../chunk-4VYELDAH.js";
61
+ } from "../chunk-PXEFENML.js";
62
62
  import "../chunk-GIRT7677.js";
63
- import "../chunk-F5W3AY6L.js";
63
+ import "../chunk-LXTX5CT7.js";
64
64
  import {
65
65
  getMachineId
66
66
  } from "../chunk-RN3NOEJF.js";
@@ -70,19 +70,19 @@ import {
70
70
  fetchChannels,
71
71
  reachVerdict,
72
72
  verifyRoundTrip
73
- } from "../chunk-ESARAYRI.js";
73
+ } from "../chunk-SHVW5KFR.js";
74
74
  import "../chunk-3EGEA4KH.js";
75
75
  import {
76
76
  checkApiKey,
77
77
  describeKeyCheck
78
- } from "../chunk-6BOE5NJZ.js";
78
+ } from "../chunk-WFFPWJN6.js";
79
79
  import {
80
80
  createIo
81
81
  } from "../chunk-5RUIFDTP.js";
82
82
  import {
83
83
  keyPrefix,
84
84
  readKeySource
85
- } from "../chunk-67TNJVJW.js";
85
+ } from "../chunk-EKNFTIKO.js";
86
86
  import {
87
87
  parseFlags
88
88
  } from "../chunk-GMXKITVA.js";
@@ -100,7 +100,7 @@ import {
100
100
  sendMcpRequest
101
101
  } from "../chunk-BSZYIAZL.js";
102
102
  import "../chunk-SAF6HGAA.js";
103
- import "../chunk-VSCSZ2LI.js";
103
+ import "../chunk-AJ4EMW5D.js";
104
104
  import {
105
105
  UsageError
106
106
  } from "../chunk-7QLSKOSU.js";
@@ -112,7 +112,7 @@ import {
112
112
  } from "../chunk-2UMNXADU.js";
113
113
  import {
114
114
  CURSOR_GATE_EVENTS
115
- } from "../chunk-3JL64GVE.js";
115
+ } from "../chunk-Q6MK2YKV.js";
116
116
 
117
117
  // bin/pushary-doctor.ts
118
118
  import { existsSync, readFileSync, writeFileSync } from "fs";
@@ -23,132 +23,19 @@ import {
23
23
  getApiKey
24
24
  } from "../chunk-2UMNXADU.js";
25
25
  import {
26
+ ELICITATION_ANSWERABLE_MODE,
26
27
  effectiveWaitSeconds,
28
+ elicitationContent,
29
+ elicitationContentFromAnswers,
27
30
  hookWaitDeadline,
28
31
  parseAgentQuestionAnswers,
32
+ planElicitationAsk,
33
+ readElicitationFields,
29
34
  renderElicitationOutput
30
- } from "../chunk-3JL64GVE.js";
35
+ } from "../chunk-Q6MK2YKV.js";
31
36
 
32
37
  // bin/pushary-elicitation-hook.ts
33
38
  import { basename } from "path";
34
-
35
- // src/elicitation.ts
36
- var ANSWERABLE_MODE = "form";
37
- var MIN_OPTIONS = 2;
38
- var MAX_MULTI_QUESTIONS = 4;
39
- var MAX_MULTI_OPTIONS = 4;
40
- var asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
41
- var labelFor = (name, property) => typeof property.title === "string" && property.title.trim() ? property.title.trim() : name;
42
- var stringEnum = (property) => {
43
- if (!Array.isArray(property.enum)) return null;
44
- const members = property.enum.filter((member) => typeof member === "string");
45
- return members.length === property.enum.length && members.length >= MIN_OPTIONS ? members : null;
46
- };
47
- var readElicitationFields = (schema) => {
48
- const record = asRecord(schema);
49
- const properties = asRecord(record?.properties);
50
- if (!properties) return null;
51
- const entries = Object.entries(properties);
52
- if (entries.length === 0) return null;
53
- const fields = [];
54
- for (const [name, raw] of entries) {
55
- const property = asRecord(raw);
56
- if (!property) return null;
57
- const label = labelFor(name, property);
58
- if ("enum" in property) {
59
- const options = stringEnum(property);
60
- if (!options) return null;
61
- fields.push({ kind: "choice", name, label, options });
62
- continue;
63
- }
64
- switch (property.type) {
65
- case "string":
66
- fields.push({ kind: "text", name, label });
67
- break;
68
- case "number":
69
- fields.push({ kind: "number", name, label, integer: false });
70
- break;
71
- case "integer":
72
- fields.push({ kind: "number", name, label, integer: true });
73
- break;
74
- case "boolean":
75
- fields.push({ kind: "boolean", name, label });
76
- break;
77
- // An enum with one member, a nested object, an array, an absent type: all
78
- // shapes whose value we would be inventing rather than collecting.
79
- default:
80
- return null;
81
- }
82
- }
83
- return fields;
84
- };
85
- var questionText = (message, field, alone) => alone ? message : `${message} \u2014 ${field.label}`;
86
- var planElicitationAsk = (message, fields) => {
87
- if (fields.length === 1) {
88
- const field = fields[0];
89
- const question = questionText(message, field, true);
90
- switch (field.kind) {
91
- case "choice":
92
- return { kind: "select", field, question, options: field.options };
93
- case "boolean":
94
- return { kind: "confirm", field, question };
95
- case "text":
96
- case "number":
97
- return { kind: "input", field, question };
98
- }
99
- }
100
- if (fields.length > MAX_MULTI_QUESTIONS) return null;
101
- if (!fields.every((field) => field.kind === "choice" && field.options.length <= MAX_MULTI_OPTIONS)) return null;
102
- const questions = fields.map((field) => ({
103
- question: questionText(message, field, false),
104
- header: field.label.slice(0, 12),
105
- multiSelect: false,
106
- options: field.options.map((label) => ({ label }))
107
- }));
108
- return new Set(questions.map((question) => question.question)).size === questions.length ? { kind: "questions", fields, questions } : null;
109
- };
110
- var CONFIRMED = /* @__PURE__ */ new Set(["yes", "true", "approve", "approved", "allow"]);
111
- var REFUSED = /* @__PURE__ */ new Set(["no", "false", "deny", "denied", "reject"]);
112
- var numberFrom = (raw, integer) => {
113
- const trimmed = raw.trim();
114
- if (!/^-?\d+(\.\d+)?$/.test(trimmed)) return null;
115
- const value = Number(trimmed);
116
- if (!Number.isFinite(value)) return null;
117
- return integer && !Number.isInteger(value) ? null : value;
118
- };
119
- var elicitationContent = (ask, answer) => {
120
- const value = answer.trim();
121
- if (!value) return null;
122
- if (ask.kind === "input") {
123
- if (ask.field.kind === "number") {
124
- const parsed = numberFrom(value, ask.field.integer);
125
- return parsed === null ? null : { [ask.field.name]: parsed };
126
- }
127
- return { [ask.field.name]: value };
128
- }
129
- if (ask.kind === "confirm") {
130
- const lowered = value.toLowerCase();
131
- if (CONFIRMED.has(lowered)) return { [ask.field.name]: true };
132
- if (REFUSED.has(lowered)) return { [ask.field.name]: false };
133
- return null;
134
- }
135
- if (ask.kind === "select") {
136
- return ask.options.includes(value) ? { [ask.field.name]: value } : null;
137
- }
138
- return null;
139
- };
140
- var elicitationContentFromAnswers = (ask, answers) => {
141
- const content = {};
142
- for (const [index, field] of ask.fields.entries()) {
143
- if (field.kind !== "choice") return null;
144
- const chosen = answers[ask.questions[index].question];
145
- if (typeof chosen !== "string" || !field.options.includes(chosen)) return null;
146
- content[field.name] = chosen;
147
- }
148
- return content;
149
- };
150
-
151
- // bin/pushary-elicitation-hook.ts
152
39
  var START_MS = Date.now();
153
40
  var answered = (ask, answer) => {
154
41
  if (!answer.answered || isDeferAnswer(answer.value)) return null;
@@ -161,7 +48,7 @@ var answered = (ask, answer) => {
161
48
  var main = async () => {
162
49
  const input = await readHookInput("claude", "Elicitation");
163
50
  if (!input || input.hook_event_name !== "Elicitation") return;
164
- if (input.mode !== ANSWERABLE_MODE) return;
51
+ if (input.mode !== ELICITATION_ANSWERABLE_MODE) return;
165
52
  const message = (input.message ?? "").trim();
166
53
  if (!message) return;
167
54
  const fields = readElicitationFields(input.requested_schema);
@@ -5,19 +5,19 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-XFHMGVMX.js";
9
- import "../chunk-LEYXXXRN.js";
8
+ } from "../chunk-LNAQWWBP.js";
9
+ import "../chunk-6GBQDZ7K.js";
10
10
  import {
11
11
  startProcessOwnership,
12
12
  withSpawnProcessOwnership
13
- } from "../chunk-3B3PYTKH.js";
13
+ } from "../chunk-U44C3ULB.js";
14
14
  import {
15
15
  spawnClaude
16
16
  } from "../chunk-XHKBHWLX.js";
17
17
  import {
18
18
  resolveBinary
19
- } from "../chunk-VT4IVERX.js";
20
- import "../chunk-VHHVGVFQ.js";
19
+ } from "../chunk-PZA7G4CN.js";
20
+ import "../chunk-FRH2QIMY.js";
21
21
  import "../chunk-GIRT7677.js";
22
22
  import {
23
23
  getMachineId
@@ -27,7 +27,7 @@ import {
27
27
  getApiKey,
28
28
  getBaseUrl
29
29
  } from "../chunk-2UMNXADU.js";
30
- import "../chunk-3JL64GVE.js";
30
+ import "../chunk-Q6MK2YKV.js";
31
31
 
32
32
  // bin/pushary-gemini-bridge.ts
33
33
  import { existsSync } from "fs";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  isGatingMoment,
4
4
  recordKeylessMoment
5
- } from "../chunk-4VYELDAH.js";
5
+ } from "../chunk-PXEFENML.js";
6
6
  import {
7
7
  readHookInput
8
8
  } from "../chunk-6CUUA7HO.js";
@@ -21,7 +21,7 @@ import {
21
21
  readLastUserPrompt,
22
22
  repoKeyFor,
23
23
  reportEvent
24
- } from "../chunk-MNXG6IIM.js";
24
+ } from "../chunk-OSE7X44J.js";
25
25
  import {
26
26
  DEFAULT_SESSION,
27
27
  askUser,
@@ -36,13 +36,13 @@ import {
36
36
  deriveToolTarget,
37
37
  describeToolCall,
38
38
  scopePathFor
39
- } from "../chunk-F5W3AY6L.js";
39
+ } from "../chunk-LXTX5CT7.js";
40
40
  import {
41
41
  getMachineId
42
42
  } from "../chunk-RN3NOEJF.js";
43
43
  import "../chunk-BSZYIAZL.js";
44
44
  import "../chunk-SAF6HGAA.js";
45
- import "../chunk-VSCSZ2LI.js";
45
+ import "../chunk-AJ4EMW5D.js";
46
46
  import "../chunk-7QLSKOSU.js";
47
47
  import "../chunk-KZERVKTD.js";
48
48
  import {
@@ -56,7 +56,7 @@ import {
56
56
  hookWaitClamped,
57
57
  hookWaitDeadline,
58
58
  resolveGate
59
- } from "../chunk-3JL64GVE.js";
59
+ } from "../chunk-Q6MK2YKV.js";
60
60
 
61
61
  // bin/pushary-gemini-hook.ts
62
62
  import { basename } from "path";
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-UTQCV46U.js";
4
+ } from "../chunk-U65EIMUJ.js";
5
5
  import "../chunk-ATBKJNWS.js";
6
- import "../chunk-4VYELDAH.js";
6
+ import "../chunk-PXEFENML.js";
7
7
  import {
8
8
  readHookInput
9
9
  } from "../chunk-6CUUA7HO.js";
10
10
  import "../chunk-YHG74UFF.js";
11
- import "../chunk-MNXG6IIM.js";
11
+ import "../chunk-OSE7X44J.js";
12
12
  import "../chunk-J3YDT4HM.js";
13
- import "../chunk-F5W3AY6L.js";
13
+ import "../chunk-LXTX5CT7.js";
14
14
  import "../chunk-RN3NOEJF.js";
15
15
  import {
16
16
  exitOnHelpFlag
@@ -19,11 +19,11 @@ import "../chunk-GOEXZ5QJ.js";
19
19
  import "../chunk-DINDL2CF.js";
20
20
  import "../chunk-BSZYIAZL.js";
21
21
  import "../chunk-SAF6HGAA.js";
22
- import "../chunk-VSCSZ2LI.js";
22
+ import "../chunk-AJ4EMW5D.js";
23
23
  import "../chunk-7QLSKOSU.js";
24
24
  import "../chunk-KZERVKTD.js";
25
25
  import "../chunk-2UMNXADU.js";
26
- import "../chunk-3JL64GVE.js";
26
+ import "../chunk-Q6MK2YKV.js";
27
27
 
28
28
  // bin/pushary-hook.ts
29
29
  exitOnHelpFlag("hook");
@@ -6,14 +6,14 @@ import "../chunk-3EGEA4KH.js";
6
6
  import {
7
7
  checkApiKey,
8
8
  describeKeyCheck
9
- } from "../chunk-6BOE5NJZ.js";
9
+ } from "../chunk-WFFPWJN6.js";
10
10
  import {
11
11
  createIo
12
12
  } from "../chunk-5RUIFDTP.js";
13
13
  import {
14
14
  readKeySource,
15
15
  writeKey
16
- } from "../chunk-67TNJVJW.js";
16
+ } from "../chunk-EKNFTIKO.js";
17
17
  import {
18
18
  parseFlags
19
19
  } from "../chunk-GMXKITVA.js";
@@ -27,7 +27,7 @@ import {
27
27
  } from "../chunk-DINDL2CF.js";
28
28
  import "../chunk-6MTNS63X.js";
29
29
  import "../chunk-SAF6HGAA.js";
30
- import "../chunk-VSCSZ2LI.js";
30
+ import "../chunk-AJ4EMW5D.js";
31
31
  import {
32
32
  UsageError
33
33
  } from "../chunk-7QLSKOSU.js";
@@ -37,7 +37,7 @@ import {
37
37
  import "../chunk-2UMNXADU.js";
38
38
  import {
39
39
  isValidApiKey
40
- } from "../chunk-3JL64GVE.js";
40
+ } from "../chunk-Q6MK2YKV.js";
41
41
 
42
42
  // bin/pushary-login.ts
43
43
  exitOnHelpFlag("login");
@@ -4,7 +4,7 @@ import {
4
4
  codexConfigToml,
5
5
  cursorUserMcp,
6
6
  geminiSettings
7
- } from "../chunk-VHHVGVFQ.js";
7
+ } from "../chunk-FRH2QIMY.js";
8
8
  import "../chunk-GIRT7677.js";
9
9
  import {
10
10
  createIo
@@ -12,7 +12,7 @@ import {
12
12
  import {
13
13
  clearKey,
14
14
  readKeySource
15
- } from "../chunk-67TNJVJW.js";
15
+ } from "../chunk-EKNFTIKO.js";
16
16
  import {
17
17
  parseFlags
18
18
  } from "../chunk-GMXKITVA.js";
@@ -23,7 +23,7 @@ import "../chunk-GOEXZ5QJ.js";
23
23
  import "../chunk-BC3VCZ3E.js";
24
24
  import "../chunk-DINDL2CF.js";
25
25
  import "../chunk-6MTNS63X.js";
26
- import "../chunk-VSCSZ2LI.js";
26
+ import "../chunk-AJ4EMW5D.js";
27
27
  import {
28
28
  UsageError
29
29
  } from "../chunk-7QLSKOSU.js";
@@ -33,7 +33,7 @@ import {
33
33
  import {
34
34
  getBaseUrl
35
35
  } from "../chunk-2UMNXADU.js";
36
- import "../chunk-3JL64GVE.js";
36
+ import "../chunk-Q6MK2YKV.js";
37
37
 
38
38
  // bin/pushary-logout.ts
39
39
  import { existsSync } from "fs";
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exitOnFailedResponse
4
- } from "../chunk-3PSEZOC4.js";
5
- import "../chunk-6BOE5NJZ.js";
4
+ } from "../chunk-ZPRF4YLA.js";
5
+ import "../chunk-WFFPWJN6.js";
6
6
  import {
7
7
  createIo
8
8
  } from "../chunk-5RUIFDTP.js";
@@ -25,7 +25,7 @@ import {
25
25
  getApiKey,
26
26
  getBaseUrl
27
27
  } from "../chunk-2UMNXADU.js";
28
- import "../chunk-3JL64GVE.js";
28
+ import "../chunk-Q6MK2YKV.js";
29
29
 
30
30
  // bin/pushary-mode.ts
31
31
  exitOnHelpFlag("mode");
@@ -4,17 +4,17 @@ import {
4
4
  } from "../chunk-6CUUA7HO.js";
5
5
  import {
6
6
  handleNotification
7
- } from "../chunk-MNXG6IIM.js";
7
+ } from "../chunk-OSE7X44J.js";
8
8
  import "../chunk-J3YDT4HM.js";
9
- import "../chunk-F5W3AY6L.js";
9
+ import "../chunk-LXTX5CT7.js";
10
10
  import "../chunk-RN3NOEJF.js";
11
11
  import "../chunk-BSZYIAZL.js";
12
12
  import "../chunk-SAF6HGAA.js";
13
- import "../chunk-VSCSZ2LI.js";
13
+ import "../chunk-AJ4EMW5D.js";
14
14
  import "../chunk-7QLSKOSU.js";
15
15
  import "../chunk-KZERVKTD.js";
16
16
  import "../chunk-2UMNXADU.js";
17
- import "../chunk-3JL64GVE.js";
17
+ import "../chunk-Q6MK2YKV.js";
18
18
 
19
19
  // bin/pushary-notification-hook.ts
20
20
  var main = async () => {
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  isGatingMoment,
4
4
  recordKeylessMoment
5
- } from "../chunk-4VYELDAH.js";
5
+ } from "../chunk-PXEFENML.js";
6
6
  import {
7
7
  readHookInput
8
8
  } from "../chunk-6CUUA7HO.js";
@@ -19,7 +19,7 @@ import {
19
19
  policyRequestFor,
20
20
  readLastPrompt,
21
21
  repoKeyFor
22
- } from "../chunk-MNXG6IIM.js";
22
+ } from "../chunk-OSE7X44J.js";
23
23
  import {
24
24
  DEFAULT_SESSION,
25
25
  askUser,
@@ -35,13 +35,13 @@ import {
35
35
  deriveToolTarget,
36
36
  describeToolCall,
37
37
  scopePathFor
38
- } from "../chunk-F5W3AY6L.js";
38
+ } from "../chunk-LXTX5CT7.js";
39
39
  import {
40
40
  getMachineId
41
41
  } from "../chunk-RN3NOEJF.js";
42
42
  import "../chunk-BSZYIAZL.js";
43
43
  import "../chunk-SAF6HGAA.js";
44
- import "../chunk-VSCSZ2LI.js";
44
+ import "../chunk-AJ4EMW5D.js";
45
45
  import "../chunk-7QLSKOSU.js";
46
46
  import "../chunk-KZERVKTD.js";
47
47
  import {
@@ -56,7 +56,7 @@ import {
56
56
  hookWaitClamped,
57
57
  hookWaitDeadline,
58
58
  resolveGate
59
- } from "../chunk-3JL64GVE.js";
59
+ } from "../chunk-Q6MK2YKV.js";
60
60
 
61
61
  // bin/pushary-opencode-hook.ts
62
62
  import { basename } from "path";
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionDenied
4
- } from "../chunk-UTQCV46U.js";
4
+ } from "../chunk-U65EIMUJ.js";
5
5
  import "../chunk-ATBKJNWS.js";
6
- import "../chunk-4VYELDAH.js";
6
+ import "../chunk-PXEFENML.js";
7
7
  import {
8
8
  readHookInput
9
9
  } from "../chunk-6CUUA7HO.js";
10
10
  import "../chunk-YHG74UFF.js";
11
- import "../chunk-MNXG6IIM.js";
11
+ import "../chunk-OSE7X44J.js";
12
12
  import "../chunk-J3YDT4HM.js";
13
- import "../chunk-F5W3AY6L.js";
13
+ import "../chunk-LXTX5CT7.js";
14
14
  import "../chunk-RN3NOEJF.js";
15
15
  import "../chunk-BSZYIAZL.js";
16
16
  import "../chunk-SAF6HGAA.js";
17
- import "../chunk-VSCSZ2LI.js";
17
+ import "../chunk-AJ4EMW5D.js";
18
18
  import "../chunk-7QLSKOSU.js";
19
19
  import "../chunk-KZERVKTD.js";
20
20
  import "../chunk-2UMNXADU.js";
21
- import "../chunk-3JL64GVE.js";
21
+ import "../chunk-Q6MK2YKV.js";
22
22
 
23
23
  // bin/pushary-permission-denied-hook.ts
24
24
  var main = async () => {
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePermissionRequest
4
- } from "../chunk-UTQCV46U.js";
4
+ } from "../chunk-U65EIMUJ.js";
5
5
  import "../chunk-ATBKJNWS.js";
6
- import "../chunk-4VYELDAH.js";
6
+ import "../chunk-PXEFENML.js";
7
7
  import {
8
8
  readHookInput
9
9
  } from "../chunk-6CUUA7HO.js";
10
10
  import "../chunk-YHG74UFF.js";
11
- import "../chunk-MNXG6IIM.js";
11
+ import "../chunk-OSE7X44J.js";
12
12
  import "../chunk-J3YDT4HM.js";
13
- import "../chunk-F5W3AY6L.js";
13
+ import "../chunk-LXTX5CT7.js";
14
14
  import "../chunk-RN3NOEJF.js";
15
15
  import "../chunk-BSZYIAZL.js";
16
16
  import "../chunk-SAF6HGAA.js";
17
- import "../chunk-VSCSZ2LI.js";
17
+ import "../chunk-AJ4EMW5D.js";
18
18
  import "../chunk-7QLSKOSU.js";
19
19
  import "../chunk-KZERVKTD.js";
20
20
  import "../chunk-2UMNXADU.js";
21
- import "../chunk-3JL64GVE.js";
21
+ import "../chunk-Q6MK2YKV.js";
22
22
 
23
23
  // bin/pushary-permission-hook.ts
24
24
  var main = async () => {
@@ -4,17 +4,17 @@ import {
4
4
  } from "../chunk-6CUUA7HO.js";
5
5
  import {
6
6
  handlePostToolUse
7
- } from "../chunk-MNXG6IIM.js";
7
+ } from "../chunk-OSE7X44J.js";
8
8
  import "../chunk-J3YDT4HM.js";
9
- import "../chunk-F5W3AY6L.js";
9
+ import "../chunk-LXTX5CT7.js";
10
10
  import "../chunk-RN3NOEJF.js";
11
11
  import "../chunk-BSZYIAZL.js";
12
12
  import "../chunk-SAF6HGAA.js";
13
- import "../chunk-VSCSZ2LI.js";
13
+ import "../chunk-AJ4EMW5D.js";
14
14
  import "../chunk-7QLSKOSU.js";
15
15
  import "../chunk-KZERVKTD.js";
16
16
  import "../chunk-2UMNXADU.js";
17
- import "../chunk-3JL64GVE.js";
17
+ import "../chunk-Q6MK2YKV.js";
18
18
 
19
19
  // bin/pushary-post-hook.ts
20
20
  var main = async () => {
@@ -4,17 +4,17 @@ import {
4
4
  } from "../chunk-6CUUA7HO.js";
5
5
  import {
6
6
  handleUserPrompt
7
- } from "../chunk-MNXG6IIM.js";
7
+ } from "../chunk-OSE7X44J.js";
8
8
  import "../chunk-J3YDT4HM.js";
9
- import "../chunk-F5W3AY6L.js";
9
+ import "../chunk-LXTX5CT7.js";
10
10
  import "../chunk-RN3NOEJF.js";
11
11
  import "../chunk-BSZYIAZL.js";
12
12
  import "../chunk-SAF6HGAA.js";
13
- import "../chunk-VSCSZ2LI.js";
13
+ import "../chunk-AJ4EMW5D.js";
14
14
  import "../chunk-7QLSKOSU.js";
15
15
  import "../chunk-KZERVKTD.js";
16
16
  import "../chunk-2UMNXADU.js";
17
- import "../chunk-3JL64GVE.js";
17
+ import "../chunk-Q6MK2YKV.js";
18
18
 
19
19
  // bin/pushary-prompt-hook.ts
20
20
  var main = async () => {