pushary 1.9.31 → 1.9.32

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 +7 -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 +32 -32
  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-QCOE42GO.js → chunk-2GYTGLML.js} +4 -4
  42. package/dist/{chunk-IIP4LEO3.js → chunk-5LXIM5LF.js} +7 -7
  43. package/dist/{chunk-GSBOLJZ4.js → chunk-5SMAW6N7.js} +8 -8
  44. package/dist/{chunk-ALSIMOFS.js → chunk-6C57SBLO.js} +4 -4
  45. package/dist/{chunk-H2PQXK26.js → chunk-6ILLZXCS.js} +2 -2
  46. package/dist/{chunk-CJCVPCOB.js → chunk-6R7RZMN5.js} +2 -2
  47. package/dist/{chunk-SYUHM6V3.js → chunk-7ENPTXR4.js} +3 -3
  48. package/dist/{chunk-FGFFUCEL.js → chunk-7HIODNBA.js} +6 -6
  49. package/dist/{chunk-2ROXUEZV.js → chunk-7OMOUQSU.js} +1 -1
  50. package/dist/{chunk-ZYDSHR5P.js → chunk-AGMKXRLQ.js} +3 -3
  51. package/dist/{chunk-4WGKAGIU.js → chunk-ALJEKG2D.js} +3 -3
  52. package/dist/{chunk-X427XA76.js → chunk-BQQQ4NP5.js} +8 -8
  53. package/dist/{chunk-DP2FAIW6.js → chunk-BWPR75C3.js} +1 -1
  54. package/dist/{chunk-EPVY3JU3.js → chunk-BZ3GN2YK.js} +1 -1
  55. package/dist/{chunk-OS6AE2MR.js → chunk-CBRLV3W7.js} +3 -3
  56. package/dist/{chunk-OULHOX5C.js → chunk-DXFMP37X.js} +5 -5
  57. package/dist/{chunk-Q7H2IMJQ.js → chunk-EFQPXGND.js} +2 -2
  58. package/dist/{chunk-GROYT52D.js → chunk-EUUB3NI5.js} +4 -4
  59. package/dist/{chunk-OTDRNEED.js → chunk-F3TI7CYV.js} +1 -1
  60. package/dist/{chunk-77J4RVB2.js → chunk-FAINF4IK.js} +4 -4
  61. package/dist/{chunk-RN3KZDWP.js → chunk-FZ2EGAEA.js} +2 -2
  62. package/dist/{chunk-5FNE6ZVV.js → chunk-GF45OS6U.js} +2 -2
  63. package/dist/{chunk-IKJJB4QG.js → chunk-H7F2IN22.js} +3 -3
  64. package/dist/{chunk-7447DYNW.js → chunk-HFRRSYTG.js} +1 -1
  65. package/dist/{chunk-FXJ5SEQT.js → chunk-I3N5LPFB.js} +5 -5
  66. package/dist/{chunk-IDGESFKZ.js → chunk-I6D5BGFF.js} +1 -1
  67. package/dist/{chunk-X5HK4XUN.js → chunk-IPJRYHDC.js} +4 -4
  68. package/dist/{chunk-QGCEQGH6.js → chunk-IW6MFF5I.js} +4 -4
  69. package/dist/{chunk-5GDNIEL5.js → chunk-J2OVVMBU.js} +1 -1
  70. package/dist/{chunk-TDLEFGAM.js → chunk-JD6HIO7N.js} +113 -96
  71. package/dist/{chunk-N4LLBUU2.js → chunk-JH2TTKC4.js} +2 -2
  72. package/dist/{chunk-OSUAY4SA.js → chunk-K7NUD23S.js} +1 -1
  73. package/dist/{chunk-KBRKQMCI.js → chunk-KTFZKXRE.js} +2 -2
  74. package/dist/{chunk-SJJA2GPD.js → chunk-L5WCPMWZ.js} +2 -2
  75. package/dist/{chunk-464FX6W5.js → chunk-LA6Q2BJF.js} +5 -5
  76. package/dist/{chunk-5F32ZTWD.js → chunk-LBD7QQ2V.js} +2 -2
  77. package/dist/{chunk-SRRJLA24.js → chunk-MKYICE44.js} +4 -4
  78. package/dist/{chunk-3EIJDBVB.js → chunk-NFABDPWT.js} +5 -5
  79. package/dist/{chunk-AXANUGOV.js → chunk-NRM4QJKG.js} +2 -2
  80. package/dist/{chunk-VFNYTVTJ.js → chunk-OT6QTOOR.js} +5 -5
  81. package/dist/{chunk-75UCMLT5.js → chunk-PQ3QV523.js} +1 -1
  82. package/dist/{chunk-SQIZGUAN.js → chunk-QRDTNXP2.js} +5 -5
  83. package/dist/{chunk-7S4Z36H7.js → chunk-S5J2ZFQK.js} +3 -3
  84. package/dist/{chunk-Q2GSTQ3R.js → chunk-SUXSVHCP.js} +2 -2
  85. package/dist/{chunk-FEICGRNI.js → chunk-UOVREWK3.js} +3 -3
  86. package/dist/{chunk-MRR4NQ3H.js → chunk-WAR24VWD.js} +1 -1
  87. package/dist/{chunk-D3TVRNZC.js → chunk-XJEIN2FJ.js} +2 -2
  88. package/dist/{chunk-4JOWKPUF.js → chunk-Y25UXZQT.js} +1 -1
  89. package/dist/{chunk-35RJKPIC.js → chunk-Y53KKEMZ.js} +1 -1
  90. package/dist/{chunk-NTWTU6FA.js → chunk-YTVNKMOA.js} +1 -1
  91. package/dist/{chunk-5EX2SD5N.js → chunk-Z73AKQYU.js} +1 -1
  92. package/dist/{chunk-SAHD5DYW.js → chunk-ZLHBY5BV.js} +4 -4
  93. package/dist/{chunk-MG523AVN.js → chunk-ZVPADGCH.js} +1 -1
  94. package/dist/{chunk-BMUTA66M.js → chunk-ZZ4C47Z2.js} +11 -11
  95. package/dist/{global-upgrade-YMBTZHDP.js → global-upgrade-B6E7DWGC.js} +6 -6
  96. package/dist/{paths-BPFRUWMB.js → paths-H4Q6OES7.js} +2 -2
  97. package/dist/{reapply-ZC2LSUVZ.js → reapply-HXIKYN5E.js} +20 -20
  98. package/dist/src/index.js +19 -19
  99. package/dist/{upgrade-lock-TTZMLZPB.js → upgrade-lock-MLXS6NH2.js} +3 -3
  100. package/package.json +1 -1
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-3EGEA4KH.js";
10
10
  import {
11
11
  getBaseUrl
12
- } from "./chunk-5EX2SD5N.js";
12
+ } from "./chunk-Z73AKQYU.js";
13
13
 
14
14
  // src/cli/login-ui.ts
15
15
  import { hostname } from "os";
@@ -2,25 +2,25 @@ import {
2
2
  SIGNED_OUT_ON_MAC_MESSAGE,
3
3
  describeSignedOutKey,
4
4
  readSignedOutDiagnosis
5
- } from "./chunk-N4LLBUU2.js";
5
+ } from "./chunk-JH2TTKC4.js";
6
6
  import {
7
7
  createIo
8
8
  } from "./chunk-FO3MDD26.js";
9
9
  import {
10
10
  readKeySource
11
- } from "./chunk-IKJJB4QG.js";
11
+ } from "./chunk-H7F2IN22.js";
12
12
  import {
13
13
  absoluteUrl,
14
14
  checkApiKey,
15
15
  describeKeyCheck,
16
16
  keyCheckFromResponse
17
- } from "./chunk-SYUHM6V3.js";
17
+ } from "./chunk-7ENPTXR4.js";
18
18
  import {
19
19
  EXIT
20
20
  } from "./chunk-KZERVKTD.js";
21
21
  import {
22
22
  getBaseUrl
23
- } from "./chunk-5EX2SD5N.js";
23
+ } from "./chunk-Z73AKQYU.js";
24
24
 
25
25
  // src/cli/report-key.ts
26
26
  var { dim, yellow } = createIo();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-SRRJLA24.js";
3
+ } from "./chunk-MKYICE44.js";
4
4
  import {
5
5
  readJsonSafe,
6
6
  writeFileAtomic
@@ -13,7 +13,7 @@ import {
13
13
  serializeDeclinedAgents,
14
14
  withDeclinedAgent,
15
15
  withoutDeclinedAgent
16
- } from "./chunk-TDLEFGAM.js";
16
+ } from "./chunk-JD6HIO7N.js";
17
17
 
18
18
  // src/declined-agents-file.ts
19
19
  import { join } from "path";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  parseSseMessages
3
- } from "./chunk-FEICGRNI.js";
3
+ } from "./chunk-UOVREWK3.js";
4
4
  import {
5
5
  NPX_LATEST_COMMAND
6
- } from "./chunk-2ROXUEZV.js";
6
+ } from "./chunk-7OMOUQSU.js";
7
7
 
8
8
  // src/mcp-stdio-bridge.ts
9
9
  var MCP_BRIDGE_BINARY = "pushary-mcp";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveInstallSourceFor
3
- } from "./chunk-KBRKQMCI.js";
3
+ } from "./chunk-KTFZKXRE.js";
4
4
  import {
5
5
  backupFile,
6
6
  readJsonSafe,
@@ -9,11 +9,11 @@ import {
9
9
  } from "./chunk-AQFEP65J.js";
10
10
  import {
11
11
  configFilePath
12
- } from "./chunk-5EX2SD5N.js";
12
+ } from "./chunk-Z73AKQYU.js";
13
13
  import {
14
14
  API_KEY_PREFIX_PATTERN,
15
15
  isRecord
16
- } from "./chunk-TDLEFGAM.js";
16
+ } from "./chunk-JD6HIO7N.js";
17
17
 
18
18
  // src/shell-alias.ts
19
19
  import { homedir } from "os";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  redactSecretsFromContent
3
- } from "./chunk-TDLEFGAM.js";
3
+ } from "./chunk-JD6HIO7N.js";
4
4
 
5
5
  // src/crypto.ts
6
6
  import nacl from "tweetnacl";
@@ -2,23 +2,23 @@ import {
2
2
  CLAUDE_HOOK_EVENTS,
3
3
  GEMINI_HOOK_EVENTS,
4
4
  hasGeminiHooks
5
- } from "./chunk-OS6AE2MR.js";
5
+ } from "./chunk-CBRLV3W7.js";
6
6
  import {
7
7
  AGENT_CHOICES
8
- } from "./chunk-35RJKPIC.js";
8
+ } from "./chunk-Y53KKEMZ.js";
9
9
  import {
10
10
  BELL_HOOK_BINARY
11
- } from "./chunk-IDGESFKZ.js";
11
+ } from "./chunk-I6D5BGFF.js";
12
12
  import {
13
13
  CODEX_HOOK_EVENTS,
14
14
  hasCodexHooks,
15
15
  holdBudgetOf
16
- } from "./chunk-SRRJLA24.js";
16
+ } from "./chunk-MKYICE44.js";
17
17
  import {
18
18
  CURSOR_GATE_EVENTS,
19
19
  HOOK_LOCATOR_BINARY,
20
20
  hookCommandHoldBudget
21
- } from "./chunk-TDLEFGAM.js";
21
+ } from "./chunk-JD6HIO7N.js";
22
22
 
23
23
  // src/diagnostics/bridge.ts
24
24
  import { execFileSync } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  guardBinary
3
- } from "./chunk-SRRJLA24.js";
3
+ } from "./chunk-MKYICE44.js";
4
4
 
5
5
  // src/bell/install.ts
6
6
  import { join } from "path";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  MCP_BRIDGE_BINARY
3
- } from "./chunk-5FNE6ZVV.js";
3
+ } from "./chunk-GF45OS6U.js";
4
4
  import {
5
5
  KEY_FILE_MODE
6
- } from "./chunk-IKJJB4QG.js";
6
+ } from "./chunk-H7F2IN22.js";
7
7
  import {
8
8
  NpmMissingError,
9
9
  NpmPermissionError
10
- } from "./chunk-SRRJLA24.js";
10
+ } from "./chunk-MKYICE44.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-2ROXUEZV.js";
18
+ } from "./chunk-7OMOUQSU.js";
19
19
 
20
20
  // src/instruction-file.ts
21
21
  import { existsSync, readFileSync, writeFileSync, mkdirSync, rmSync } from "fs";
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  macAppBridgeAvailable
3
- } from "./chunk-OULHOX5C.js";
3
+ } from "./chunk-DXFMP37X.js";
4
4
  import {
5
5
  keyPrefix
6
- } from "./chunk-IKJJB4QG.js";
6
+ } from "./chunk-H7F2IN22.js";
7
7
  import {
8
8
  bridgeAgentKey
9
- } from "./chunk-SRRJLA24.js";
9
+ } from "./chunk-MKYICE44.js";
10
10
  import {
11
11
  readJsonSafe
12
12
  } from "./chunk-AQFEP65J.js";
13
13
  import {
14
14
  isValidApiKey
15
- } from "./chunk-TDLEFGAM.js";
15
+ } from "./chunk-JD6HIO7N.js";
16
16
 
17
17
  // src/shared-mcp-key.ts
18
18
  var asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HOOK_HOLD_BUDGET_ENV,
3
3
  hookHoldBudgetProof
4
- } from "./chunk-TDLEFGAM.js";
4
+ } from "./chunk-JD6HIO7N.js";
5
5
 
6
6
  // src/hold-budget.ts
7
7
  var takeHookHoldBudget = (args = process.argv.slice(2), env = process.env) => {
@@ -1758,6 +1758,8 @@ var STATEMENT_SEPARATOR2 = ";";
1758
1758
  var SINGLE_QUOTE = "'";
1759
1759
  var DOUBLE_QUOTE = '"';
1760
1760
  var BACKTICK = "`";
1761
+ var BRACKET_IDENTIFIER_OPEN = "[";
1762
+ var BRACKET_IDENTIFIER_CLOSE = "]";
1761
1763
  var BACKSLASH = "\\";
1762
1764
  var DOLLAR = "$";
1763
1765
  var DASH_DASH = "--";
@@ -1877,6 +1879,7 @@ var swallowsABacktick = (source, start, end, lexicon) => {
1877
1879
  return false;
1878
1880
  };
1879
1881
  var unterminatedTextRunsToTheEnd = (reading) => reading.backslashMode === "literal";
1882
+ var visibleQuotedText = (content) => `${TOKEN_GAP}${content}${TOKEN_GAP}`;
1880
1883
  var quotedToken = (source, start, reading, inside) => {
1881
1884
  if (opensAUnicodeEscapedQuote(source, start)) return "uncertain";
1882
1885
  const syntax = syntaxOfQuoteAt(source, start, reading.lexicon);
@@ -1888,7 +1891,7 @@ var quotedToken = (source, start, reading, inside) => {
1888
1891
  }
1889
1892
  if (swallowsABacktick(source, start, end, reading.lexicon)) return "uncertain";
1890
1893
  const quote = source.charAt(start);
1891
- const text = syntax.content === "hidden" ? STRING_PLACEHOLDER : source.slice(start + opener.length, end - opener.length).replaceAll(quote + quote, quote);
1894
+ const text = syntax.content === "hidden" ? STRING_PLACEHOLDER : visibleQuotedText(source.slice(start + opener.length, end - opener.length).replaceAll(quote + quote, quote));
1892
1895
  return { text, end, insideExecutableComment: inside };
1893
1896
  };
1894
1897
  var lineCommentEnd = (source, start, lexicon) => {
@@ -1951,9 +1954,16 @@ var clientCommandToken = (source, start, inside) => {
1951
1954
  const command = source.slice(start, start + CLIENT_COMMAND_LENGTH);
1952
1955
  return STATEMENT_TERMINATOR_CLIENT_COMMAND.test(command) ? { text: STATEMENT_SEPARATOR2, end: start + CLIENT_COMMAND_LENGTH, insideExecutableComment: inside } : "uncertain";
1953
1956
  };
1957
+ var squareBracketToken = (source, start, lexicon, inside) => {
1958
+ if (lexicon.squareBrackets === "uncertain") return "uncertain";
1959
+ if (lexicon.squareBrackets === "text") return { text: BRACKET_IDENTIFIER_OPEN, end: start + 1, insideExecutableComment: inside };
1960
+ const closing = source.indexOf(BRACKET_IDENTIFIER_CLOSE, start + 1);
1961
+ return closing === -1 ? "uncertain" : { text: visibleQuotedText(source.slice(start + 1, closing)), end: closing + 1, insideExecutableComment: inside };
1962
+ };
1954
1963
  var nextSqlToken = (source, start, reading, inside) => {
1955
1964
  const { lexicon } = reading;
1956
1965
  const character = source.charAt(start);
1966
+ if (character === BRACKET_IDENTIFIER_OPEN) return squareBracketToken(source, start, lexicon, inside);
1957
1967
  if (isQuote(character)) return quotedToken(source, start, reading, inside);
1958
1968
  if (source.startsWith(DASH_DASH, start)) return dashDashToken(source, start, lexicon, inside);
1959
1969
  if (character === HASH) return hashToken(source, start, lexicon, inside);
@@ -1993,6 +2003,107 @@ var sqlOutsideLiterals = (source, lexicon) => {
1993
2003
  return { kind: "readable", texts: [...new Set(readings.map((reading) => reading.text))] };
1994
2004
  };
1995
2005
 
2006
+ // ../contracts/src/command-analysis/sql-clients.ts
2007
+ var STRING_WITH_DOUBLED_QUOTES = { backslashes: "uncertain-before-the-quote", content: "hidden" };
2008
+ var IDENTIFIER_WITH_DOUBLED_QUOTES = { backslashes: "uncertain-before-the-quote", content: "shown" };
2009
+ var MYSQL_STRING = { backslashes: "escape-unless-the-sql-mode-disables-it", content: "hidden" };
2010
+ var STRING_WITH_BACKSLASH_ESCAPES = { backslashes: "escape", content: "hidden" };
2011
+ var SHOWN_TEXT_WITH_BACKSLASH_ESCAPES = { backslashes: "escape", content: "shown" };
2012
+ var POSTGRES_LEXICON = {
2013
+ squareBrackets: "text",
2014
+ singleQuotes: STRING_WITH_DOUBLED_QUOTES,
2015
+ doubleQuotes: IDENTIFIER_WITH_DOUBLED_QUOTES,
2016
+ backticks: IDENTIFIER_WITH_DOUBLED_QUOTES,
2017
+ tripleQuotes: "absent",
2018
+ escapeStringPrefix: "backslash-escapes",
2019
+ dollarQuotes: "string",
2020
+ dashDash: "comment",
2021
+ carriageReturnInLineComment: "ends-the-comment",
2022
+ hash: "text",
2023
+ executableComments: "uncertain",
2024
+ nestedBlockComments: "nest",
2025
+ backslashOutsideLiterals: "text",
2026
+ clientCharsets: "may-be-multibyte"
2027
+ };
2028
+ var MYSQL_LEXICON = {
2029
+ squareBrackets: "uncertain",
2030
+ singleQuotes: MYSQL_STRING,
2031
+ doubleQuotes: STRING_WITH_DOUBLED_QUOTES,
2032
+ backticks: IDENTIFIER_WITH_DOUBLED_QUOTES,
2033
+ tripleQuotes: "absent",
2034
+ escapeStringPrefix: "absent",
2035
+ dollarQuotes: "uncertain",
2036
+ dashDash: "comment-before-whitespace",
2037
+ carriageReturnInLineComment: "stays-in-the-comment",
2038
+ hash: "comment",
2039
+ executableComments: "executed",
2040
+ nestedBlockComments: "uncertain",
2041
+ backslashOutsideLiterals: "client-command",
2042
+ clientCharsets: "may-be-multibyte"
2043
+ };
2044
+ var SQLITE_LEXICON = {
2045
+ squareBrackets: "identifier",
2046
+ singleQuotes: STRING_WITH_DOUBLED_QUOTES,
2047
+ doubleQuotes: IDENTIFIER_WITH_DOUBLED_QUOTES,
2048
+ backticks: IDENTIFIER_WITH_DOUBLED_QUOTES,
2049
+ tripleQuotes: "absent",
2050
+ escapeStringPrefix: "absent",
2051
+ dollarQuotes: "uncertain",
2052
+ dashDash: "comment",
2053
+ carriageReturnInLineComment: "stays-in-the-comment",
2054
+ hash: "text",
2055
+ executableComments: "uncertain",
2056
+ nestedBlockComments: "uncertain",
2057
+ backslashOutsideLiterals: "text",
2058
+ clientCharsets: "unicode"
2059
+ };
2060
+ var GOOGLE_SQL_LEXICON = {
2061
+ squareBrackets: "text",
2062
+ singleQuotes: STRING_WITH_BACKSLASH_ESCAPES,
2063
+ doubleQuotes: SHOWN_TEXT_WITH_BACKSLASH_ESCAPES,
2064
+ backticks: SHOWN_TEXT_WITH_BACKSLASH_ESCAPES,
2065
+ tripleQuotes: "quote",
2066
+ escapeStringPrefix: "absent",
2067
+ dollarQuotes: "uncertain",
2068
+ dashDash: "comment",
2069
+ carriageReturnInLineComment: "uncertain",
2070
+ hash: "comment",
2071
+ executableComments: "uncertain",
2072
+ nestedBlockComments: "uncertain",
2073
+ backslashOutsideLiterals: "text",
2074
+ clientCharsets: "unicode"
2075
+ };
2076
+ var UNVERIFIED_SQL_LEXICON = {
2077
+ squareBrackets: "uncertain",
2078
+ singleQuotes: STRING_WITH_DOUBLED_QUOTES,
2079
+ doubleQuotes: IDENTIFIER_WITH_DOUBLED_QUOTES,
2080
+ backticks: IDENTIFIER_WITH_DOUBLED_QUOTES,
2081
+ tripleQuotes: "absent",
2082
+ escapeStringPrefix: "absent",
2083
+ dollarQuotes: "uncertain",
2084
+ dashDash: "uncertain-before-text",
2085
+ carriageReturnInLineComment: "uncertain",
2086
+ hash: "uncertain",
2087
+ executableComments: "uncertain",
2088
+ nestedBlockComments: "uncertain",
2089
+ backslashOutsideLiterals: "text",
2090
+ clientCharsets: "may-be-multibyte"
2091
+ };
2092
+ var MYSQL_SYNTAX = { inlineFlags: /* @__PURE__ */ new Set(["-e", "--execute"]), scriptFlags: /* @__PURE__ */ new Set(), positionalSql: false, lexicon: MYSQL_LEXICON };
2093
+ var SQLITE_SYNTAX = { inlineFlags: /* @__PURE__ */ new Set(["-cmd"]), scriptFlags: /* @__PURE__ */ new Set(["-init"]), positionalSql: true, lexicon: SQLITE_LEXICON };
2094
+ var SQL_CLIENT_SYNTAX = /* @__PURE__ */ new Map([
2095
+ ["psql", { inlineFlags: /* @__PURE__ */ new Set(["-c", "--command"]), scriptFlags: /* @__PURE__ */ new Set(["-f", "--file"]), positionalSql: false, lexicon: POSTGRES_LEXICON }],
2096
+ ["mysql", MYSQL_SYNTAX],
2097
+ ["mariadb", MYSQL_SYNTAX],
2098
+ ["sqlite3", SQLITE_SYNTAX],
2099
+ ["sqlite", SQLITE_SYNTAX],
2100
+ ["duckdb", { inlineFlags: /* @__PURE__ */ new Set(["-c", "-s", "-cmd"]), scriptFlags: /* @__PURE__ */ new Set(["-f", "-init"]), positionalSql: true, lexicon: UNVERIFIED_SQL_LEXICON }],
2101
+ ["clickhouse-client", { inlineFlags: /* @__PURE__ */ new Set(["-q", "--query"]), scriptFlags: /* @__PURE__ */ new Set(["--queries-file"]), positionalSql: false, lexicon: UNVERIFIED_SQL_LEXICON }],
2102
+ ["bq", { inlineFlags: /* @__PURE__ */ new Set(), scriptFlags: /* @__PURE__ */ new Set(), positionalSql: true, lexicon: GOOGLE_SQL_LEXICON }],
2103
+ ["mongosh", { inlineFlags: /* @__PURE__ */ new Set(["--eval"]), scriptFlags: /* @__PURE__ */ new Set(["-f", "--file"]), positionalSql: false, lexicon: UNVERIFIED_SQL_LEXICON }],
2104
+ ["mongo", { inlineFlags: /* @__PURE__ */ new Set(["--eval"]), scriptFlags: /* @__PURE__ */ new Set(), positionalSql: false, lexicon: UNVERIFIED_SQL_LEXICON }]
2105
+ ]);
2106
+
1996
2107
  // ../contracts/src/command-analysis/env-invocation.ts
1997
2108
  var GNU_ENV = {
1998
2109
  shortOptions: { switches: /* @__PURE__ */ new Set(["i", "v", "0"]), withAValue: /* @__PURE__ */ new Set(["a", "C", "S", "u"]) },
@@ -3315,100 +3426,6 @@ var changesProduction = (invocation) => {
3315
3426
  const words = wordsOfInvocation(invocation);
3316
3427
  return words.some((word, index) => wordSelectsProduction(word, words[index - 1])) && (deployCliChangesSomething(words) || SCHEMA_CHANGE_WORD.test(normalizedInvocation(invocation)));
3317
3428
  };
3318
- var STRING_WITH_DOUBLED_QUOTES = { backslashes: "uncertain-before-the-quote", content: "hidden" };
3319
- var IDENTIFIER_WITH_DOUBLED_QUOTES = { backslashes: "uncertain-before-the-quote", content: "shown" };
3320
- var MYSQL_STRING = { backslashes: "escape-unless-the-sql-mode-disables-it", content: "hidden" };
3321
- var STRING_WITH_BACKSLASH_ESCAPES = { backslashes: "escape", content: "hidden" };
3322
- var SHOWN_TEXT_WITH_BACKSLASH_ESCAPES = { backslashes: "escape", content: "shown" };
3323
- var POSTGRES_LEXICON = {
3324
- singleQuotes: STRING_WITH_DOUBLED_QUOTES,
3325
- doubleQuotes: IDENTIFIER_WITH_DOUBLED_QUOTES,
3326
- backticks: IDENTIFIER_WITH_DOUBLED_QUOTES,
3327
- tripleQuotes: "absent",
3328
- escapeStringPrefix: "backslash-escapes",
3329
- dollarQuotes: "string",
3330
- dashDash: "comment",
3331
- carriageReturnInLineComment: "ends-the-comment",
3332
- hash: "text",
3333
- executableComments: "uncertain",
3334
- nestedBlockComments: "nest",
3335
- backslashOutsideLiterals: "text",
3336
- clientCharsets: "may-be-multibyte"
3337
- };
3338
- var MYSQL_LEXICON = {
3339
- singleQuotes: MYSQL_STRING,
3340
- doubleQuotes: STRING_WITH_DOUBLED_QUOTES,
3341
- backticks: IDENTIFIER_WITH_DOUBLED_QUOTES,
3342
- tripleQuotes: "absent",
3343
- escapeStringPrefix: "absent",
3344
- dollarQuotes: "uncertain",
3345
- dashDash: "comment-before-whitespace",
3346
- carriageReturnInLineComment: "stays-in-the-comment",
3347
- hash: "comment",
3348
- executableComments: "executed",
3349
- nestedBlockComments: "uncertain",
3350
- backslashOutsideLiterals: "client-command",
3351
- clientCharsets: "may-be-multibyte"
3352
- };
3353
- var SQLITE_LEXICON = {
3354
- singleQuotes: STRING_WITH_DOUBLED_QUOTES,
3355
- doubleQuotes: IDENTIFIER_WITH_DOUBLED_QUOTES,
3356
- backticks: IDENTIFIER_WITH_DOUBLED_QUOTES,
3357
- tripleQuotes: "absent",
3358
- escapeStringPrefix: "absent",
3359
- dollarQuotes: "uncertain",
3360
- dashDash: "comment",
3361
- carriageReturnInLineComment: "stays-in-the-comment",
3362
- hash: "text",
3363
- executableComments: "uncertain",
3364
- nestedBlockComments: "uncertain",
3365
- backslashOutsideLiterals: "text",
3366
- clientCharsets: "unicode"
3367
- };
3368
- var GOOGLE_SQL_LEXICON = {
3369
- singleQuotes: STRING_WITH_BACKSLASH_ESCAPES,
3370
- doubleQuotes: SHOWN_TEXT_WITH_BACKSLASH_ESCAPES,
3371
- backticks: SHOWN_TEXT_WITH_BACKSLASH_ESCAPES,
3372
- tripleQuotes: "quote",
3373
- escapeStringPrefix: "absent",
3374
- dollarQuotes: "uncertain",
3375
- dashDash: "comment",
3376
- carriageReturnInLineComment: "uncertain",
3377
- hash: "comment",
3378
- executableComments: "uncertain",
3379
- nestedBlockComments: "uncertain",
3380
- backslashOutsideLiterals: "text",
3381
- clientCharsets: "unicode"
3382
- };
3383
- var UNVERIFIED_SQL_LEXICON = {
3384
- singleQuotes: STRING_WITH_DOUBLED_QUOTES,
3385
- doubleQuotes: IDENTIFIER_WITH_DOUBLED_QUOTES,
3386
- backticks: IDENTIFIER_WITH_DOUBLED_QUOTES,
3387
- tripleQuotes: "absent",
3388
- escapeStringPrefix: "absent",
3389
- dollarQuotes: "uncertain",
3390
- dashDash: "uncertain-before-text",
3391
- carriageReturnInLineComment: "uncertain",
3392
- hash: "uncertain",
3393
- executableComments: "uncertain",
3394
- nestedBlockComments: "uncertain",
3395
- backslashOutsideLiterals: "text",
3396
- clientCharsets: "may-be-multibyte"
3397
- };
3398
- var MYSQL_SYNTAX = { inlineFlags: /* @__PURE__ */ new Set(["-e", "--execute"]), scriptFlags: /* @__PURE__ */ new Set(), positionalSql: false, lexicon: MYSQL_LEXICON };
3399
- var SQLITE_SYNTAX = { inlineFlags: /* @__PURE__ */ new Set(["-cmd"]), scriptFlags: /* @__PURE__ */ new Set(["-init"]), positionalSql: true, lexicon: SQLITE_LEXICON };
3400
- var SQL_CLIENT_SYNTAX = /* @__PURE__ */ new Map([
3401
- ["psql", { inlineFlags: /* @__PURE__ */ new Set(["-c", "--command"]), scriptFlags: /* @__PURE__ */ new Set(["-f", "--file"]), positionalSql: false, lexicon: POSTGRES_LEXICON }],
3402
- ["mysql", MYSQL_SYNTAX],
3403
- ["mariadb", MYSQL_SYNTAX],
3404
- ["sqlite3", SQLITE_SYNTAX],
3405
- ["sqlite", SQLITE_SYNTAX],
3406
- ["duckdb", { inlineFlags: /* @__PURE__ */ new Set(["-c", "-s", "-cmd"]), scriptFlags: /* @__PURE__ */ new Set(["-f", "-init"]), positionalSql: true, lexicon: UNVERIFIED_SQL_LEXICON }],
3407
- ["clickhouse-client", { inlineFlags: /* @__PURE__ */ new Set(["-q", "--query"]), scriptFlags: /* @__PURE__ */ new Set(["--queries-file"]), positionalSql: false, lexicon: UNVERIFIED_SQL_LEXICON }],
3408
- ["bq", { inlineFlags: /* @__PURE__ */ new Set(), scriptFlags: /* @__PURE__ */ new Set(), positionalSql: true, lexicon: GOOGLE_SQL_LEXICON }],
3409
- ["mongosh", { inlineFlags: /* @__PURE__ */ new Set(["--eval"]), scriptFlags: /* @__PURE__ */ new Set(["-f", "--file"]), positionalSql: false, lexicon: UNVERIFIED_SQL_LEXICON }],
3410
- ["mongo", { inlineFlags: /* @__PURE__ */ new Set(["--eval"]), scriptFlags: /* @__PURE__ */ new Set(), positionalSql: false, lexicon: UNVERIFIED_SQL_LEXICON }]
3411
- ]);
3412
3429
  var SQL_WRITE_STATEMENT = new RegExp([
3413
3430
  String.raw`\b(?:insert|update|delete|merge|upsert|alter|create|drop|truncate|grant|revoke|copy|vacuum|reindex|rename|attach|detach)\b`,
3414
3431
  String.raw`\breplace\s+into\b`,
@@ -3781,7 +3798,7 @@ var segmentWritesThroughARemoteApi = (segment, depth) => {
3781
3798
  const innermost = innermostInvocation(segment.invocation);
3782
3799
  return invocationWritesThroughARemoteApi(innermost) || commandsNestedIn(innermost, inlineScriptsOf(innermost, segment.heredocs)).some((nested) => commandWritesThroughARemoteApiAt(nested, depth + 1));
3783
3800
  };
3784
- var commandWritesThroughARemoteApiAt = (command, depth) => depth <= MAX_SPELLING_DEPTH && spelledSegmentsOf(command).some((segment) => segmentWritesThroughARemoteApi(segment, depth));
3801
+ var commandWritesThroughARemoteApiAt = (command, depth) => depth > MAX_SPELLING_DEPTH || spelledSegmentsOf(command).some((segment) => segmentWritesThroughARemoteApi(segment, depth));
3785
3802
  var commandWritesThroughARemoteApi = (command) => commandWritesThroughARemoteApiAt(command, 0);
3786
3803
  var segmentNeedsAPerson = (toolName, segment) => {
3787
3804
  const invocation = invocationOf(segment);
@@ -4,10 +4,10 @@ import {
4
4
  keyPrefix,
5
5
  readConfigFileKey,
6
6
  readMacAppKeyPrefix
7
- } from "./chunk-IKJJB4QG.js";
7
+ } from "./chunk-H7F2IN22.js";
8
8
  import {
9
9
  NPX_LATEST_COMMAND
10
- } from "./chunk-2ROXUEZV.js";
10
+ } from "./chunk-7OMOUQSU.js";
11
11
 
12
12
  // src/key-signed-out.ts
13
13
  var VERDICT_BY_CHECK = {
@@ -2,7 +2,7 @@ import {
2
2
  autoUpdateLock,
3
3
  installPackageGlobally,
4
4
  npmErrorMessage
5
- } from "./chunk-SRRJLA24.js";
5
+ } from "./chunk-MKYICE44.js";
6
6
  import {
7
7
  writeJsonAtomic
8
8
  } from "./chunk-AQFEP65J.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  configFilePath
3
- } from "./chunk-5EX2SD5N.js";
3
+ } from "./chunk-Z73AKQYU.js";
4
4
  import {
5
5
  normalizeInstallSource
6
- } from "./chunk-TDLEFGAM.js";
6
+ } from "./chunk-JD6HIO7N.js";
7
7
 
8
8
  // src/install-source.ts
9
9
  import { readFileSync } from "fs";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-SRRJLA24.js";
6
+ } from "./chunk-MKYICE44.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
@@ -15,7 +15,7 @@ import {
15
15
  globalUpgradeEntry,
16
16
  isAutoUpdateResult,
17
17
  ownPackageRoot
18
- } from "./chunk-TDLEFGAM.js";
18
+ } from "./chunk-JD6HIO7N.js";
19
19
 
20
20
  // src/auto-update.ts
21
21
  import { spawn } from "child_process";
@@ -5,18 +5,18 @@ import {
5
5
  import {
6
6
  SubscriptionRequiredError,
7
7
  callMcpTool
8
- } from "./chunk-FEICGRNI.js";
8
+ } from "./chunk-UOVREWK3.js";
9
9
  import {
10
10
  installNetworkDefaults,
11
11
  isNetworkFailure
12
- } from "./chunk-4WGKAGIU.js";
12
+ } from "./chunk-ALJEKG2D.js";
13
13
  import {
14
14
  clientReportClaims
15
- } from "./chunk-SRRJLA24.js";
15
+ } from "./chunk-MKYICE44.js";
16
16
  import {
17
17
  getApiKey,
18
18
  getBaseUrl
19
- } from "./chunk-5EX2SD5N.js";
19
+ } from "./chunk-Z73AKQYU.js";
20
20
  import {
21
21
  ASK_AGENT_NAME_MAX,
22
22
  ASK_QUESTION_MAX,
@@ -25,7 +25,7 @@ import {
25
25
  GATE_PERMISSION_MODE_MAX_LENGTH,
26
26
  degradedLine,
27
27
  truncateLine
28
- } from "./chunk-TDLEFGAM.js";
28
+ } from "./chunk-JD6HIO7N.js";
29
29
 
30
30
  // src/client-report-claim.ts
31
31
  import { createHash } from "crypto";
@@ -6,12 +6,12 @@ import {
6
6
  permissionDeniedAction,
7
7
  releaseThrottle,
8
8
  reportEvent
9
- } from "./chunk-X427XA76.js";
9
+ } from "./chunk-BQQQ4NP5.js";
10
10
  import {
11
11
  machineDecisionFor,
12
12
  shouldDeferToNativeMode,
13
13
  wireVerdictFor
14
- } from "./chunk-TDLEFGAM.js";
14
+ } from "./chunk-JD6HIO7N.js";
15
15
 
16
16
  // src/machine-decision-audit.ts
17
17
  import { basename } from "path";
@@ -13,7 +13,7 @@ import {
13
13
  isReleaseVersion,
14
14
  ownPackageName,
15
15
  withHookHoldBudget
16
- } from "./chunk-TDLEFGAM.js";
16
+ } from "./chunk-JD6HIO7N.js";
17
17
 
18
18
  // src/setup/paths.ts
19
19
  import { homedir as homedir2 } from "os";
@@ -395,9 +395,9 @@ var installGlobally = (options) => {
395
395
  }
396
396
  const started = (async () => {
397
397
  if (!npmIsOnPath()) throw new NpmMissingError();
398
- const { withUpgradeLock } = await import("./global-upgrade-YMBTZHDP.js");
399
- const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-TTZMLZPB.js");
400
- const { autoUpdateLock: autoUpdateLock2 } = await import("./paths-BPFRUWMB.js");
398
+ const { withUpgradeLock } = await import("./global-upgrade-B6E7DWGC.js");
399
+ const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-MLXS6NH2.js");
400
+ const { autoUpdateLock: autoUpdateLock2 } = await import("./paths-H4Q6OES7.js");
401
401
  let result = "skipped";
402
402
  const install = async () => {
403
403
  const platform = process.platform;
@@ -4,7 +4,7 @@ import {
4
4
  forkFinishWithUpgradeLock,
5
5
  installWithUpgradeLock,
6
6
  releaseAutoUpdateLock
7
- } from "./chunk-OSUAY4SA.js";
7
+ } from "./chunk-K7NUD23S.js";
8
8
  import {
9
9
  describeAutoUpdateCheck,
10
10
  globalInstallLocation,
@@ -14,7 +14,7 @@ import {
14
14
  readAutoUpdateState,
15
15
  updateAutoUpdateState,
16
16
  upgradeEntryFor
17
- } from "./chunk-SJJA2GPD.js";
17
+ } from "./chunk-L5WCPMWZ.js";
18
18
  import {
19
19
  EXIT
20
20
  } from "./chunk-KZERVKTD.js";
@@ -27,10 +27,10 @@ import {
27
27
  npmErrorMessage,
28
28
  readGlobalCliInstallAt,
29
29
  readGlobalPrefix
30
- } from "./chunk-SRRJLA24.js";
30
+ } from "./chunk-MKYICE44.js";
31
31
  import {
32
32
  NPX_LATEST_COMMAND
33
- } from "./chunk-2ROXUEZV.js";
33
+ } from "./chunk-7OMOUQSU.js";
34
34
  import {
35
35
  commandsPackage,
36
36
  globalUpgradeEntry,
@@ -39,7 +39,7 @@ import {
39
39
  isSameMajorVersion,
40
40
  ownPackageRoot,
41
41
  packageVersionAt
42
- } from "./chunk-TDLEFGAM.js";
42
+ } from "./chunk-JD6HIO7N.js";
43
43
 
44
44
  // src/global-upgrade.ts
45
45
  import { existsSync } from "fs";
@@ -10,10 +10,10 @@ import {
10
10
  resolvePackageVersionFromBinary,
11
11
  resolvePathBinary,
12
12
  resolvePathBinaryAsync
13
- } from "./chunk-SRRJLA24.js";
13
+ } from "./chunk-MKYICE44.js";
14
14
  import {
15
15
  MANAGED_PROVIDERS
16
- } from "./chunk-TDLEFGAM.js";
16
+ } from "./chunk-JD6HIO7N.js";
17
17
 
18
18
  // src/setup/codex-install.ts
19
19
  var NATIVE_BINARY_MIN_BYTES = 20 * 1024 * 1024;