@pushary/agent-hooks 0.76.0 → 0.76.1

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.
@@ -1047,33 +1047,21 @@ var flagValue = (args2, index) => {
1047
1047
  const next = args2[index + 1];
1048
1048
  return next && !next.startsWith("-") ? next : void 0;
1049
1049
  };
1050
- var VALUE_TAKING_FLAGS = /* @__PURE__ */ new Set(["--model", "-m", "--cwd", "--add-dir", "--settings"]);
1051
- var markValueConsumed = (args2, index, consumed, ownsNextToken) => {
1052
- if (args2[index]?.includes("=")) return;
1053
- const next = args2[index + 1];
1054
- if (next == null) return;
1055
- if (!ownsNextToken && next.startsWith("-")) return;
1056
- consumed.add(index + 1);
1057
- };
1050
+ var PASS_THROUGH_VALUE_FLAGS = /* @__PURE__ */ new Set(["--model", "-m", "--cwd", "--add-dir", "--settings"]);
1058
1051
  var parseRemoteArgs = (args2) => {
1059
1052
  let initialPrompt;
1060
1053
  let resume;
1061
1054
  let permissionMode;
1062
- const consumedAsValue = /* @__PURE__ */ new Set();
1063
1055
  for (let i = 0; i < args2.length; i++) {
1064
1056
  const arg = args2[i];
1065
- if (consumedAsValue.has(i)) continue;
1066
- if (arg === "-p" || arg === "--print" || arg?.startsWith("--print=")) {
1057
+ if (PASS_THROUGH_VALUE_FLAGS.has(arg ?? "")) {
1058
+ i++;
1059
+ } else if (arg === "-p" || arg === "--print" || arg?.startsWith("--print=")) {
1067
1060
  initialPrompt = flagValue(args2, i);
1068
- markValueConsumed(args2, i, consumedAsValue, false);
1069
1061
  } else if (arg === "-r" || arg === "--resume" || arg?.startsWith("--resume=")) {
1070
1062
  resume = flagValue(args2, i);
1071
- markValueConsumed(args2, i, consumedAsValue, false);
1072
1063
  } else if (arg === "--permission-mode" || arg?.startsWith("--permission-mode=")) {
1073
1064
  permissionMode = flagValue(args2, i);
1074
- markValueConsumed(args2, i, consumedAsValue, false);
1075
- } else if (VALUE_TAKING_FLAGS.has(arg ?? "")) {
1076
- markValueConsumed(args2, i, consumedAsValue, true);
1077
1065
  }
1078
1066
  }
1079
1067
  return { initialPrompt, resume, permissionMode };
@@ -51,7 +51,9 @@ var isAuthFailure = (err) => {
51
51
  return candidate.status === 401 || candidate.status === 403;
52
52
  };
53
53
  var NATIVE_AGENT_BINARIES = { codex: "codex", gemini: "gemini" };
54
+ var isFlagShapedPrompt = (prompt) => prompt.trimStart().startsWith("-");
54
55
  var buildSpawnLaunch = (req, opts) => {
56
+ if (isFlagShapedPrompt(req.prompt)) return null;
55
57
  const agent = req.agent === "codex" || req.agent === "gemini" ? req.agent : "claude";
56
58
  const model = typeof req.model === "string" && req.model.length > 0 ? ["--model", req.model] : [];
57
59
  if (agent === "claude") {
@@ -103,6 +105,10 @@ var runSpawnDaemon = async () => {
103
105
  pusharyBin,
104
106
  resolveNative: (name) => resolveGlobalBinary(name) ?? name
105
107
  });
108
+ if (!plan) {
109
+ stderr("[pushary] refused a phone-requested session: the prompt looks like a command-line flag\n");
110
+ return;
111
+ }
106
112
  try {
107
113
  const child = plan.direct ? spawn(plan.command, plan.args, { cwd, detached: true, stdio: "ignore", env }) : spawnClaude(plan.command, plan.args, { cwd, detached: true, stdio: "ignore", env });
108
114
  child.on("error", (err) => stderr(`[pushary] could not launch session: ${err.message}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pushary/agent-hooks",
3
- "version": "0.76.0",
3
+ "version": "0.76.1",
4
4
  "description": "Permission hooks for AI coding agents: route tool approvals through Pushary push notifications",
5
5
  "keywords": [
6
6
  "pushary",