pushary 1.9.25 → 1.9.26

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 (100) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/bin/pushary-bell-hook.js +25 -25
  3. package/dist/bin/pushary-bell.js +9 -9
  4. package/dist/bin/pushary-claude.js +24 -24
  5. package/dist/bin/pushary-clean.js +29 -29
  6. package/dist/bin/pushary-codex-bridge.js +17 -17
  7. package/dist/bin/pushary-codex-hook.js +30 -30
  8. package/dist/bin/pushary-codex.js +12 -12
  9. package/dist/bin/pushary-connect.js +24 -24
  10. package/dist/bin/pushary-cowork.js +5 -5
  11. package/dist/bin/pushary-daemon.js +31 -31
  12. package/dist/bin/pushary-disconnect.js +24 -24
  13. package/dist/bin/pushary-doctor.js +33 -33
  14. package/dist/bin/pushary-elicitation-hook.js +25 -25
  15. package/dist/bin/pushary-gemini-bridge.js +13 -13
  16. package/dist/bin/pushary-gemini-hook.js +27 -27
  17. package/dist/bin/pushary-hook.js +29 -29
  18. package/dist/bin/pushary-login.js +12 -12
  19. package/dist/bin/pushary-logout.js +24 -24
  20. package/dist/bin/pushary-mcp.js +9 -9
  21. package/dist/bin/pushary-mode.js +12 -12
  22. package/dist/bin/pushary-notification-hook.js +24 -24
  23. package/dist/bin/pushary-opencode-hook.js +26 -26
  24. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  25. package/dist/bin/pushary-permission-hook.js +28 -28
  26. package/dist/bin/pushary-post-hook.js +24 -24
  27. package/dist/bin/pushary-prompt-hook.js +24 -24
  28. package/dist/bin/pushary-session-end-hook.js +24 -24
  29. package/dist/bin/pushary-session-start-hook.js +28 -28
  30. package/dist/bin/pushary-setup.js +35 -35
  31. package/dist/bin/pushary-stats.js +5 -5
  32. package/dist/bin/pushary-status.js +26 -26
  33. package/dist/bin/pushary-stop-hook.js +24 -24
  34. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  35. package/dist/bin/pushary-suggestions.js +12 -12
  36. package/dist/bin/pushary-transcript-register.js +17 -17
  37. package/dist/bin/pushary-transcripts.js +7 -7
  38. package/dist/bin/pushary-upgrade.js +30 -30
  39. package/dist/bin/pushary-wait.js +12 -12
  40. package/dist/bin/pushary.js +6 -6
  41. package/dist/{chunk-KM7AEGKF.js → chunk-2YF72RC5.js} +3 -3
  42. package/dist/{chunk-2CUE3XXS.js → chunk-3DLVLVEM.js} +1 -1
  43. package/dist/{chunk-WKEP4JAW.js → chunk-3G4R2FLX.js} +2 -2
  44. package/dist/{chunk-GC5HJE3T.js → chunk-3HBLQXCJ.js} +3 -3
  45. package/dist/{chunk-2VQZC6DW.js → chunk-3TRGUDQ3.js} +4 -4
  46. package/dist/{chunk-OFHSTCXK.js → chunk-3ZDIA6ZC.js} +3 -3
  47. package/dist/{chunk-OOKIWOMK.js → chunk-47RVFUEG.js} +1 -1
  48. package/dist/{chunk-FLC4TVXH.js → chunk-4GKLAQY4.js} +1 -1
  49. package/dist/{chunk-ZLGCNHJG.js → chunk-4YWINUPJ.js} +1 -1
  50. package/dist/{chunk-7UZD2F4Y.js → chunk-5FL4M4YF.js} +8 -8
  51. package/dist/{chunk-5Q2QJ2AL.js → chunk-5UKZXDHV.js} +1 -1
  52. package/dist/{chunk-N3ACK3YA.js → chunk-AF2QZRYH.js} +4 -4
  53. package/dist/{chunk-7V6PJFDF.js → chunk-AG5ATWVT.js} +3 -3
  54. package/dist/{chunk-5WTEKIAS.js → chunk-AXOMDPA7.js} +4 -4
  55. package/dist/{chunk-EJJNZYDS.js → chunk-BIKHLGEL.js} +2 -2
  56. package/dist/{chunk-AXB4ABUD.js → chunk-BIV2LKDK.js} +8 -8
  57. package/dist/{chunk-BGJDOHNF.js → chunk-BWXRLXNE.js} +5 -5
  58. package/dist/{chunk-LDNKGG5G.js → chunk-CA2EOOZG.js} +3 -3
  59. package/dist/{chunk-G446AVR5.js → chunk-CW72FZ2M.js} +2 -2
  60. package/dist/{chunk-ZV3262AA.js → chunk-CXG7XA4E.js} +3 -3
  61. package/dist/{chunk-NFH2H7PD.js → chunk-DDRSG6JL.js} +5 -5
  62. package/dist/{chunk-OWOSNGEQ.js → chunk-F2HVTVQG.js} +2 -2
  63. package/dist/{chunk-BHRMHDOO.js → chunk-FA3YPD4P.js} +2 -2
  64. package/dist/{chunk-5ETE7F45.js → chunk-FDT7KSQY.js} +2 -2
  65. package/dist/{chunk-2XHBYMVN.js → chunk-GEN4YTNR.js} +11 -11
  66. package/dist/{chunk-UJB6HHP4.js → chunk-GPDABKLD.js} +5 -5
  67. package/dist/{chunk-VEGS4NYF.js → chunk-GRL4VVUP.js} +3 -3
  68. package/dist/{chunk-PPGLIWOR.js → chunk-I52A3NLY.js} +1 -1
  69. package/dist/{chunk-RSENVGBQ.js → chunk-IU5PAJDG.js} +4 -4
  70. package/dist/{chunk-WEKXYS2F.js → chunk-JXHJYLFF.js} +4 -4
  71. package/dist/{chunk-HEJMZVJI.js → chunk-K4OV2VLB.js} +2 -2
  72. package/dist/{chunk-EJMXZH5E.js → chunk-KJ2W7ECE.js} +2 -2
  73. package/dist/{chunk-UK7OY3EJ.js → chunk-KTRRDTZN.js} +1 -1
  74. package/dist/{chunk-ZLY7BHN4.js → chunk-L62RNE5F.js} +5 -5
  75. package/dist/{chunk-VN5Q4KOD.js → chunk-LGMSGVDN.js} +2 -2
  76. package/dist/{chunk-PSNF27BC.js → chunk-MPBWPDXQ.js} +6 -6
  77. package/dist/{chunk-FCXYDR62.js → chunk-NCAVDVXP.js} +1 -1
  78. package/dist/{chunk-YD3DIFIU.js → chunk-OGTWSEWN.js} +1 -1
  79. package/dist/{chunk-PAMW5M53.js → chunk-P7WJ2KKO.js} +5 -5
  80. package/dist/{chunk-Q37XFSPO.js → chunk-PPOQG2U6.js} +4 -4
  81. package/dist/{chunk-3UYMOWX6.js → chunk-PTJYAKZX.js} +2 -2
  82. package/dist/{chunk-PM2WJSUH.js → chunk-PUJQFTKF.js} +1 -1
  83. package/dist/{chunk-UUOC7A7M.js → chunk-R5ABJ5H5.js} +7 -7
  84. package/dist/{chunk-KP4BIZLP.js → chunk-RQPJEYLM.js} +2 -2
  85. package/dist/{chunk-TLUSUDRU.js → chunk-RZTIB2TY.js} +1 -1
  86. package/dist/{chunk-2J2WFX7X.js → chunk-SCFKXAHX.js} +4 -4
  87. package/dist/{chunk-FJKV64M7.js → chunk-TEQJNXJH.js} +5 -5
  88. package/dist/{chunk-VFF7ZBIS.js → chunk-TS3CRCI7.js} +2 -2
  89. package/dist/{chunk-KGSN2SOL.js → chunk-TVP5UU33.js} +165 -3
  90. package/dist/{chunk-KZLOVLA6.js → chunk-XDTGYZIT.js} +4 -4
  91. package/dist/{chunk-A3QQWXIE.js → chunk-XUVKAWV3.js} +1 -1
  92. package/dist/{chunk-4KZP4YMV.js → chunk-Y5O4TO7U.js} +1 -1
  93. package/dist/{chunk-ZNT4ZZXJ.js → chunk-ZPLDPPZO.js} +1 -1
  94. package/dist/{chunk-SGGR5MN2.js → chunk-ZXYHVZZZ.js} +1 -1
  95. package/dist/{global-upgrade-4M4TJKQR.js → global-upgrade-3XKMGVAR.js} +6 -6
  96. package/dist/{paths-6JY6J56N.js → paths-UB2IUM57.js} +2 -2
  97. package/dist/{reapply-LFEQ5GF6.js → reapply-B7KMGQH7.js} +20 -20
  98. package/dist/src/index.js +19 -19
  99. package/dist/{upgrade-lock-CZRCHYVU.js → upgrade-lock-6LLAEJTW.js} +3 -3
  100. package/package.json +1 -1
@@ -1370,7 +1370,6 @@ var SAFE_SHELL_COMMANDS = /* @__PURE__ */ new Set([
1370
1370
  "whoami",
1371
1371
  "id",
1372
1372
  "uname",
1373
- "arch",
1374
1373
  "printenv",
1375
1374
  "locale",
1376
1375
  "tty",
@@ -1721,6 +1720,7 @@ var COMMAND_RUNNERS = /* @__PURE__ */ new Set([
1721
1720
  "script",
1722
1721
  "su",
1723
1722
  "doas",
1723
+ "arch",
1724
1724
  "npx",
1725
1725
  "bunx",
1726
1726
  "pnpx",
@@ -2178,6 +2178,157 @@ var writesASecretFile = ({ program, args }) => {
2178
2178
  if (WRITES_EVERY_OPERAND.has(name)) return operands.some(namesASecretFile);
2179
2179
  return EDITS_IN_PLACE.has(name) && args.some((arg) => IN_PLACE_FLAG.test(arg.text)) && operands.some(namesASecretFile);
2180
2180
  };
2181
+ var GITHUB_RESOURCE_NOUNS = /* @__PURE__ */ new Set([
2182
+ "pr",
2183
+ "issue",
2184
+ "release",
2185
+ "repo",
2186
+ "gist",
2187
+ "label",
2188
+ "secret",
2189
+ "variable",
2190
+ "workflow",
2191
+ "run",
2192
+ "cache",
2193
+ "project",
2194
+ "ruleset",
2195
+ "codespace",
2196
+ "org",
2197
+ "discussion"
2198
+ ]);
2199
+ var GITHUB_READ_VERBS = /* @__PURE__ */ new Set([
2200
+ "view",
2201
+ "list",
2202
+ "ls",
2203
+ "status",
2204
+ "diff",
2205
+ "checks",
2206
+ "check",
2207
+ "watch",
2208
+ "browse",
2209
+ "download",
2210
+ "clone",
2211
+ "checkout",
2212
+ "get",
2213
+ "field-list",
2214
+ "item-list"
2215
+ ]);
2216
+ var GITHUB_OPTIONS_WITH_VALUES = /* @__PURE__ */ new Set(["-R", "--repo", "--hostname"]);
2217
+ var GITHUB_API_SUBCOMMAND = "api";
2218
+ var GITHUB_GRAPHQL_ENDPOINT = "graphql";
2219
+ var HTTP_METHOD_FLAGS = /* @__PURE__ */ new Set(["-X", "--method"]);
2220
+ var HTTP_METHOD_ATTACHED = /^(?:-X|--method=)(.+)$/;
2221
+ var HTTP_READ_METHODS = /* @__PURE__ */ new Set(["GET", "HEAD"]);
2222
+ var GITHUB_API_BODY_FLAG = /^(?:-[fF]|--(?:field|raw-field|input)(?:=|$))/;
2223
+ var GITHUB_API_FILE_FIELD = /=@|^--input(?:=|$)/;
2224
+ var GRAPHQL_MUTATION = /\bmutation\b/i;
2225
+ var STRIPE_READ_COMMANDS = /* @__PURE__ */ new Set([
2226
+ "get",
2227
+ "listen",
2228
+ "logs",
2229
+ "status",
2230
+ "version",
2231
+ "help",
2232
+ "login",
2233
+ "logout",
2234
+ "config",
2235
+ "completion",
2236
+ "open",
2237
+ "resources"
2238
+ ]);
2239
+ var STRIPE_REQUEST_COMMANDS_THAT_WRITE = /* @__PURE__ */ new Set(["post", "delete", "trigger", "fixtures"]);
2240
+ var STRIPE_READ_OPERATIONS = /* @__PURE__ */ new Set(["list", "retrieve", "search"]);
2241
+ var STRIPE_OPTIONS_WITH_VALUES = /* @__PURE__ */ new Set([
2242
+ "--api-key",
2243
+ "--project-name",
2244
+ "-p",
2245
+ "--color",
2246
+ "--log-level",
2247
+ "--device-name",
2248
+ "--config",
2249
+ "--stripe-account"
2250
+ ]);
2251
+ var AWS_OPTIONS_WITH_VALUES = /* @__PURE__ */ new Set([
2252
+ "--region",
2253
+ "--profile",
2254
+ "--output",
2255
+ "--endpoint-url",
2256
+ "--query",
2257
+ "--color",
2258
+ "--ca-bundle",
2259
+ "--cli-read-timeout",
2260
+ "--cli-connect-timeout",
2261
+ "--cli-binary-format"
2262
+ ]);
2263
+ var AWS_LOCAL_COMMANDS = /* @__PURE__ */ new Set(["configure", "help", "history", "sso", "login", "logout"]);
2264
+ var AWS_READ_OPERATION = /^(?:describe|list|get|head|batch-get|lookup|search|filter|scan|query|select|wait|validate|estimate|simulate|tail|ls|presign|help)(?:-|$)/;
2265
+ var AWS_S3_SERVICE = "s3";
2266
+ var AWS_S3_COPIES = /* @__PURE__ */ new Set(["cp", "sync"]);
2267
+ var S3_URL_PREFIX = "s3://";
2268
+ var TWILIO_TOPIC_SEPARATOR = ":";
2269
+ var TWILIO_READ_ACTIONS = /* @__PURE__ */ new Set(["list", "fetch"]);
2270
+ var positionalWordsOf = (args, optionsWithValues) => {
2271
+ const endOfOptions = args.findIndex((arg) => arg.text === END_OF_OPTIONS);
2272
+ const options = endOfOptions === -1 ? args : args.slice(0, endOfOptions);
2273
+ const operands = endOfOptions === -1 ? [] : args.slice(endOfOptions + 1);
2274
+ const positional = options.filter((arg, index) => !arg.text.startsWith("-") && !optionsWithValues.has(options[index - 1]?.text ?? ""));
2275
+ return [...positional, ...operands];
2276
+ };
2277
+ var httpMethodOf = (args) => {
2278
+ for (const [index, arg] of args.entries()) {
2279
+ const attached = HTTP_METHOD_ATTACHED.exec(arg.text);
2280
+ if (attached) return arg.expands ? null : attached[1];
2281
+ if (HTTP_METHOD_FLAGS.has(arg.text)) {
2282
+ const value = args[index + 1];
2283
+ return value === void 0 || value.expands ? null : value.text;
2284
+ }
2285
+ }
2286
+ return void 0;
2287
+ };
2288
+ var graphqlRequestCanWrite = (args) => args.some((arg) => arg.expands || GRAPHQL_MUTATION.test(arg.text) || GITHUB_API_FILE_FIELD.test(arg.text));
2289
+ var githubApiRequestWrites = (args) => {
2290
+ const method = httpMethodOf(args);
2291
+ if (method !== void 0) return method === null || !HTTP_READ_METHODS.has(method.toUpperCase());
2292
+ if (args.some((arg) => arg.text === GITHUB_GRAPHQL_ENDPOINT)) return graphqlRequestCanWrite(args);
2293
+ return args.some((arg) => GITHUB_API_BODY_FLAG.test(arg.text));
2294
+ };
2295
+ var githubCliWrites = (args) => {
2296
+ const meaningful = argsAfterHarmlessGlobalFlags(args);
2297
+ const [noun, verb] = positionalWordsOf(meaningful, GITHUB_OPTIONS_WITH_VALUES);
2298
+ if (noun?.text === GITHUB_API_SUBCOMMAND) return githubApiRequestWrites(meaningful.slice(meaningful.indexOf(noun) + 1));
2299
+ return noun !== void 0 && GITHUB_RESOURCE_NOUNS.has(noun.text) && verb !== void 0 && !GITHUB_READ_VERBS.has(verb.text);
2300
+ };
2301
+ var stripeCliWrites = (args) => {
2302
+ const [command, operation] = positionalWordsOf(args, STRIPE_OPTIONS_WITH_VALUES);
2303
+ if (command === void 0 || STRIPE_READ_COMMANDS.has(command.text)) return false;
2304
+ if (STRIPE_REQUEST_COMMANDS_THAT_WRITE.has(command.text)) return true;
2305
+ return operation !== void 0 && !STRIPE_READ_OPERATIONS.has(operation.text);
2306
+ };
2307
+ var s3CommandWrites = (operation, operands) => !AWS_S3_COPIES.has(operation) ? !AWS_READ_OPERATION.test(operation) : operands.slice(1).some((operand) => operand.expands || operand.text.startsWith(S3_URL_PREFIX));
2308
+ var awsCliWrites = (args) => {
2309
+ const [service, operation, ...operands] = positionalWordsOf(args, AWS_OPTIONS_WITH_VALUES);
2310
+ if (service === void 0 || operation === void 0 || AWS_LOCAL_COMMANDS.has(service.text)) return false;
2311
+ return service.text === AWS_S3_SERVICE ? s3CommandWrites(operation.text, operands) : !AWS_READ_OPERATION.test(operation.text);
2312
+ };
2313
+ var twilioCliWrites = (args) => {
2314
+ const [topic] = positionalWordsOf(args, /* @__PURE__ */ new Set());
2315
+ if (topic === void 0 || !topic.text.includes(TWILIO_TOPIC_SEPARATOR)) return false;
2316
+ return !TWILIO_READ_ACTIONS.has(topic.text.split(TWILIO_TOPIC_SEPARATOR).at(-1) ?? "");
2317
+ };
2318
+ var REMOTE_API_CLI_WRITES = /* @__PURE__ */ new Map([
2319
+ ["gh", githubCliWrites],
2320
+ ["stripe", stripeCliWrites],
2321
+ ["aws", awsCliWrites],
2322
+ ["twilio", twilioCliWrites]
2323
+ ]);
2324
+ var invocationWritesThroughARemoteApi = ({ program, args }) => {
2325
+ const writes = program === void 0 ? void 0 : REMOTE_API_CLI_WRITES.get(basenameOf(program.text));
2326
+ return writes !== void 0 && writes(args);
2327
+ };
2328
+ var commandWritesThroughARemoteApi = (command) => {
2329
+ const segments = readableCommandSegments(command);
2330
+ return segments !== null && segments.some((segment) => invocationWritesThroughARemoteApi(invocationOf(segment)));
2331
+ };
2181
2332
  var segmentNeedsAPerson = (toolName, segment) => {
2182
2333
  const invocation = invocationOf(segment);
2183
2334
  const normalized = normalizedInvocation(invocation);
@@ -2345,6 +2496,7 @@ var WRAPPER_SYNTAX = /* @__PURE__ */ new Map([
2345
2496
  ["stdbuf", wrapperSyntax(["-i", "-o", "-e", "--input", "--output", "--error"])],
2346
2497
  ["flock", wrapperSyntax(["-w", "--wait", "--timeout", "-E", "--conflict-exit-code"], 1)],
2347
2498
  ["caffeinate", wrapperSyntax(["-t", "-w"])],
2499
+ ["arch", wrapperSyntax(["-arch", "-d", "-e"])],
2348
2500
  ["sudo", wrapperSyntax([
2349
2501
  "-u",
2350
2502
  "--user",
@@ -3398,9 +3550,16 @@ var scopeBreachReasonOf = (verdict) => verdict.kind === "gate" && isScopeReason(
3398
3550
  var onlyCodexPreToolUseCanAsk = (verdict, permissionMode) => verdict.kind === "gate" && (scopeBreachReasonOf(verdict) !== void 0 || !codexRaisesItsOwnPrompts(permissionMode));
3399
3551
  var runsACommandThatNeedsAPerson = ({ toolName, toolInputs }) => toolName === "Bash" && toolInputs.some((toolInput) => {
3400
3552
  const command = extractPolicyArg(toolName, toolInput);
3401
- return command !== void 0 && commandNeedsAPerson(toolName, command);
3553
+ return command !== void 0 && (commandNeedsAPerson(toolName, command) || commandWritesThroughARemoteApi(command));
3554
+ });
3555
+ var CI_WORKFLOW_FILE = /(?:^|\/)\.github\/workflows\/[^/]+$/;
3556
+ var FILE_WRITING_TOOLS = /* @__PURE__ */ new Set(["Edit", "Write", "MultiEdit", "NotebookEdit"]);
3557
+ var namesASecretOrWorkflowFile = (path) => SECRET_FILE_NAME.test(basenameOf(path)) || CI_WORKFLOW_FILE.test(normalizeSeparators(path));
3558
+ var writesASecretOrWorkflowFile = ({ toolName, toolInputs }) => FILE_WRITING_TOOLS.has(toolName) && toolInputs.some((toolInput) => {
3559
+ const path = extractPolicyArg(toolName, toolInput);
3560
+ return path !== void 0 && namesASecretOrWorkflowFile(path);
3402
3561
  });
3403
- var codexCallNeedsAPerson = (input, verdict, call) => onlyCodexPreToolUseCanAsk(verdict, call.permissionMode) || verdict.kind === "gate" && (aChosenRuleGoverns(input) || call.deletesFiles || runsACommandThatNeedsAPerson(input));
3562
+ var codexCallNeedsAPerson = (input, verdict, call) => onlyCodexPreToolUseCanAsk(verdict, call.permissionMode) || verdict.kind === "gate" && (aChosenRuleGoverns(input) || call.deletesFiles || runsACommandThatNeedsAPerson(input) || writesASecretOrWorkflowFile(input));
3404
3563
  var MAX_AGENT_PERMISSION_RULES_PER_KIND = 256;
3405
3564
  var MAX_AGENT_PERMISSION_RULE_LENGTH = 512;
3406
3565
  var isAgentPermissionRule = (value) => typeof value === "string" && value.length > 0 && value.length <= MAX_AGENT_PERMISSION_RULE_LENGTH;
@@ -3640,6 +3799,9 @@ var WITHDRAWN_APPROVAL_REASON = "The phone question was withdrawn. Approve in th
3640
3799
  var PLAN_DECLINED_REASON = "Plan declined from the phone. Ask what to change before coding.";
3641
3800
  var claudeStoppedPreToolUseOutput = (reason) => stoppedOutput(claudePreToolUseOutput("deny", reason), reason);
3642
3801
  var claudeStoppedPermissionRequestOutput = (reason) => stoppedOutput(claudePermissionRequestOutput("deny", reason), reason);
3802
+ var UNHEARD_PUSH_WINDOW_DAYS = 14;
3803
+ var DAY_MS = 24 * 60 * 60 * 1e3;
3804
+ var UNHEARD_PUSH_WINDOW_MS = UNHEARD_PUSH_WINDOW_DAYS * DAY_MS;
3643
3805
  var ELICITATION_ANSWERABLE_MODE = "form";
3644
3806
  var ELICITATION_MIN_OPTIONS = 2;
3645
3807
  var ELICITATION_MAX_MULTI_QUESTIONS = 4;
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  MCP_BRIDGE_BINARY
3
- } from "./chunk-EJJNZYDS.js";
3
+ } from "./chunk-BIKHLGEL.js";
4
4
  import {
5
5
  KEY_FILE_MODE
6
- } from "./chunk-GC5HJE3T.js";
6
+ } from "./chunk-3HBLQXCJ.js";
7
7
  import {
8
8
  NpmMissingError,
9
9
  NpmPermissionError
10
- } from "./chunk-2VQZC6DW.js";
10
+ } from "./chunk-3TRGUDQ3.js";
11
11
  import {
12
12
  readJsonSafe,
13
13
  writeFileAtomic,
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-AQFEP65J.js";
16
16
  import {
17
17
  NPX_LATEST_COMMAND
18
- } from "./chunk-OOKIWOMK.js";
18
+ } from "./chunk-47RVFUEG.js";
19
19
 
20
20
  // src/instruction-file.ts
21
21
  import { existsSync, readFileSync, writeFileSync, mkdirSync, rmSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PRETOOLUSE_GATED_TOOLS
3
- } from "./chunk-KGSN2SOL.js";
3
+ } from "./chunk-TVP5UU33.js";
4
4
 
5
5
  // src/claude-tools.ts
6
6
  var POSTTOOLUSE_MIRROR_ONLY_TOOLS = ["TodoWrite", "Task", "WebFetch", "WebSearch"];
@@ -10,7 +10,7 @@ import {
10
10
  isSetupConnectMode,
11
11
  isValidApiKey,
12
12
  normalizeAgentId
13
- } from "./chunk-KGSN2SOL.js";
13
+ } from "./chunk-TVP5UU33.js";
14
14
 
15
15
  // src/setup/options.ts
16
16
  var AGENT_CHOICES = SETUP_AGENT_CHOICES;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  guardBinary
3
- } from "./chunk-2VQZC6DW.js";
3
+ } from "./chunk-3TRGUDQ3.js";
4
4
 
5
5
  // src/bell/install.ts
6
6
  import { join } from "path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_SESSION
3
- } from "./chunk-AXB4ABUD.js";
3
+ } from "./chunk-BIV2LKDK.js";
4
4
 
5
5
  // src/answer.ts
6
6
  var isDeferAnswer = (value) => value === "defer";
@@ -5,15 +5,15 @@ import {
5
5
  readGlobalUpgradeSubject,
6
6
  upgradeInstalledPackage,
7
7
  withUpgradeLock
8
- } from "./chunk-BGJDOHNF.js";
9
- import "./chunk-PPGLIWOR.js";
10
- import "./chunk-VFF7ZBIS.js";
8
+ } from "./chunk-BWXRLXNE.js";
9
+ import "./chunk-I52A3NLY.js";
10
+ import "./chunk-TS3CRCI7.js";
11
11
  import "./chunk-POFBE6ZY.js";
12
12
  import "./chunk-KZERVKTD.js";
13
- import "./chunk-2VQZC6DW.js";
13
+ import "./chunk-3TRGUDQ3.js";
14
14
  import "./chunk-AQFEP65J.js";
15
- import "./chunk-OOKIWOMK.js";
16
- import "./chunk-KGSN2SOL.js";
15
+ import "./chunk-47RVFUEG.js";
16
+ import "./chunk-TVP5UU33.js";
17
17
  export {
18
18
  finishGlobalUpgrade,
19
19
  finishUpgradeWithLock,
@@ -32,8 +32,8 @@ import {
32
32
  pusharyDir,
33
33
  vscodePluginDir,
34
34
  vscodePluginMcp
35
- } from "./chunk-2VQZC6DW.js";
36
- import "./chunk-KGSN2SOL.js";
35
+ } from "./chunk-3TRGUDQ3.js";
36
+ import "./chunk-TVP5UU33.js";
37
37
  export {
38
38
  autoUpdateLock,
39
39
  autoUpdateLog,
@@ -10,34 +10,34 @@ import {
10
10
  reapplyOpenCodePlugin,
11
11
  reapplyVsCodePlugin,
12
12
  repairCodexHolds
13
- } from "./chunk-UUOC7A7M.js";
14
- import "./chunk-VN5Q4KOD.js";
13
+ } from "./chunk-R5ABJ5H5.js";
14
+ import "./chunk-LGMSGVDN.js";
15
15
  import "./chunk-RIVNNBEK.js";
16
16
  import "./chunk-XHKBHWLX.js";
17
- import "./chunk-FJKV64M7.js";
18
- import "./chunk-5WTEKIAS.js";
19
- import "./chunk-ZLY7BHN4.js";
20
- import "./chunk-KM7AEGKF.js";
21
- import "./chunk-4KZP4YMV.js";
22
- import "./chunk-ZNT4ZZXJ.js";
17
+ import "./chunk-TEQJNXJH.js";
18
+ import "./chunk-AXOMDPA7.js";
19
+ import "./chunk-L62RNE5F.js";
20
+ import "./chunk-2YF72RC5.js";
21
+ import "./chunk-Y5O4TO7U.js";
22
+ import "./chunk-ZPLDPPZO.js";
23
23
  import "./chunk-GMXKITVA.js";
24
24
  import "./chunk-6ICPEJY5.js";
25
- import "./chunk-AXB4ABUD.js";
26
- import "./chunk-A3QQWXIE.js";
27
- import "./chunk-NFH2H7PD.js";
25
+ import "./chunk-BIV2LKDK.js";
26
+ import "./chunk-XUVKAWV3.js";
27
+ import "./chunk-DDRSG6JL.js";
28
28
  import "./chunk-POFBE6ZY.js";
29
- import "./chunk-7V6PJFDF.js";
30
- import "./chunk-VEGS4NYF.js";
31
- import "./chunk-ZV3262AA.js";
32
- import "./chunk-ZLGCNHJG.js";
29
+ import "./chunk-AG5ATWVT.js";
30
+ import "./chunk-GRL4VVUP.js";
31
+ import "./chunk-CXG7XA4E.js";
32
+ import "./chunk-4YWINUPJ.js";
33
33
  import "./chunk-7QLSKOSU.js";
34
34
  import "./chunk-KZERVKTD.js";
35
- import "./chunk-EJMXZH5E.js";
36
- import "./chunk-2VQZC6DW.js";
35
+ import "./chunk-KJ2W7ECE.js";
36
+ import "./chunk-3TRGUDQ3.js";
37
37
  import "./chunk-AQFEP65J.js";
38
- import "./chunk-5Q2QJ2AL.js";
39
- import "./chunk-OOKIWOMK.js";
40
- import "./chunk-KGSN2SOL.js";
38
+ import "./chunk-5UKZXDHV.js";
39
+ import "./chunk-47RVFUEG.js";
40
+ import "./chunk-TVP5UU33.js";
41
41
  export {
42
42
  ensureCodexTrustAfterReapply,
43
43
  inspectConfiguredManagedProviders,
package/dist/src/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  handlePreToolUse
3
- } from "../chunk-2XHBYMVN.js";
4
- import "../chunk-BHRMHDOO.js";
5
- import "../chunk-2CUE3XXS.js";
6
- import "../chunk-SGGR5MN2.js";
3
+ } from "../chunk-GEN4YTNR.js";
4
+ import "../chunk-FA3YPD4P.js";
5
+ import "../chunk-3DLVLVEM.js";
6
+ import "../chunk-ZXYHVZZZ.js";
7
7
  import {
8
8
  fetchAccountPublicKey
9
- } from "../chunk-FLC4TVXH.js";
10
- import "../chunk-5WTEKIAS.js";
11
- import "../chunk-KM7AEGKF.js";
9
+ } from "../chunk-4GKLAQY4.js";
10
+ import "../chunk-AXOMDPA7.js";
11
+ import "../chunk-2YF72RC5.js";
12
12
  import "../chunk-6ICPEJY5.js";
13
13
  import {
14
14
  fetchModeOverride,
@@ -18,31 +18,31 @@ import {
18
18
  handlePostToolUse,
19
19
  handleStop,
20
20
  reportEvent
21
- } from "../chunk-AXB4ABUD.js";
22
- import "../chunk-A3QQWXIE.js";
21
+ } from "../chunk-BIV2LKDK.js";
22
+ import "../chunk-XUVKAWV3.js";
23
23
  import {
24
24
  askUser,
25
25
  cancelQuestion,
26
26
  waitForAnswer
27
- } from "../chunk-NFH2H7PD.js";
27
+ } from "../chunk-DDRSG6JL.js";
28
28
  import "../chunk-POFBE6ZY.js";
29
- import "../chunk-7V6PJFDF.js";
30
- import "../chunk-VEGS4NYF.js";
31
- import "../chunk-ZV3262AA.js";
32
- import "../chunk-ZLGCNHJG.js";
29
+ import "../chunk-AG5ATWVT.js";
30
+ import "../chunk-GRL4VVUP.js";
31
+ import "../chunk-CXG7XA4E.js";
32
+ import "../chunk-4YWINUPJ.js";
33
33
  import "../chunk-7QLSKOSU.js";
34
34
  import "../chunk-KZERVKTD.js";
35
- import "../chunk-EJMXZH5E.js";
36
- import "../chunk-2VQZC6DW.js";
35
+ import "../chunk-KJ2W7ECE.js";
36
+ import "../chunk-3TRGUDQ3.js";
37
37
  import "../chunk-AQFEP65J.js";
38
38
  import {
39
39
  getApiKey,
40
40
  getBaseUrl
41
- } from "../chunk-5Q2QJ2AL.js";
42
- import "../chunk-OOKIWOMK.js";
41
+ } from "../chunk-5UKZXDHV.js";
42
+ import "../chunk-47RVFUEG.js";
43
43
  import {
44
44
  resolvePolicy
45
- } from "../chunk-KGSN2SOL.js";
45
+ } from "../chunk-TVP5UU33.js";
46
46
  export {
47
47
  askUser,
48
48
  cancelQuestion,
@@ -5,10 +5,10 @@ import {
5
5
  installWithUpgradeLock,
6
6
  ownsUpgradeLock,
7
7
  releaseAutoUpdateLock
8
- } from "./chunk-PPGLIWOR.js";
9
- import "./chunk-2VQZC6DW.js";
8
+ } from "./chunk-I52A3NLY.js";
9
+ import "./chunk-3TRGUDQ3.js";
10
10
  import "./chunk-AQFEP65J.js";
11
- import "./chunk-KGSN2SOL.js";
11
+ import "./chunk-TVP5UU33.js";
12
12
  export {
13
13
  claimUpgradeLock,
14
14
  finishWithUpgradeLock,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pushary",
3
- "version": "1.9.25",
3
+ "version": "1.9.26",
4
4
  "description": "Permission hooks for AI coding agents: route tool approvals through Pushary push notifications",
5
5
  "keywords": [
6
6
  "pushary",