pushary 1.9.63 → 1.9.65

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 (129) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +1 -1
  3. package/dist/{api-UHUUAONF.js → api-32B3XLJR.js} +10 -11
  4. package/dist/bin/pushary-bell-hook.js +27 -30
  5. package/dist/bin/pushary-bell.js +12 -13
  6. package/dist/bin/pushary-claude.js +28 -31
  7. package/dist/bin/pushary-clean.js +68 -43
  8. package/dist/bin/pushary-codex-bridge.js +22 -24
  9. package/dist/bin/pushary-codex-hook.js +34 -37
  10. package/dist/bin/pushary-codex-session.js +8 -8
  11. package/dist/bin/pushary-codex.js +13 -15
  12. package/dist/bin/pushary-connect.js +26 -29
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon.js +39 -42
  15. package/dist/bin/pushary-disconnect.js +62 -43
  16. package/dist/bin/pushary-doctor.js +109 -44
  17. package/dist/bin/pushary-elicitation-hook.js +27 -30
  18. package/dist/bin/pushary-gemini-bridge.js +16 -18
  19. package/dist/bin/pushary-gemini-hook.js +29 -32
  20. package/dist/bin/pushary-hook.js +31 -34
  21. package/dist/bin/pushary-login.js +19 -20
  22. package/dist/bin/pushary-logout.js +26 -29
  23. package/dist/bin/pushary-mcp.js +11 -12
  24. package/dist/bin/pushary-mode.js +14 -15
  25. package/dist/bin/pushary-notification-hook.js +26 -29
  26. package/dist/bin/pushary-opencode-hook.js +28 -31
  27. package/dist/bin/pushary-permission-denied-hook.js +31 -34
  28. package/dist/bin/pushary-permission-hook.js +30 -33
  29. package/dist/bin/pushary-post-hook.js +26 -29
  30. package/dist/bin/pushary-prompt-hook.js +26 -29
  31. package/dist/bin/pushary-session-end-hook.js +28 -31
  32. package/dist/bin/pushary-session-start-hook.js +35 -38
  33. package/dist/bin/pushary-setup.js +129 -74
  34. package/dist/bin/pushary-stats.js +5 -5
  35. package/dist/bin/pushary-status.js +31 -34
  36. package/dist/bin/pushary-stop-hook.js +26 -29
  37. package/dist/bin/pushary-stopfailure-hook.js +26 -29
  38. package/dist/bin/pushary-suggestions.js +14 -15
  39. package/dist/bin/pushary-transcript-register.js +18 -21
  40. package/dist/bin/pushary-transcripts.js +17 -18
  41. package/dist/bin/pushary-upgrade.js +40 -44
  42. package/dist/bin/pushary-wait.js +14 -15
  43. package/dist/bin/pushary.js +7 -8
  44. package/dist/{chunk-V5W3CK7F.js → chunk-2VADJ6JH.js} +2 -2
  45. package/dist/{chunk-3GVV7XVT.js → chunk-2Z7I7DHT.js} +1 -1
  46. package/dist/{chunk-7GRQGXF4.js → chunk-3KXBRSL3.js} +1 -1
  47. package/dist/{chunk-P6RF4RQN.js → chunk-3LF7T3NW.js} +6 -6
  48. package/dist/{chunk-PXAOEFJZ.js → chunk-3UNAPXED.js} +14 -16
  49. package/dist/{chunk-TMGJAFSD.js → chunk-4LUWNBGD.js} +3 -3
  50. package/dist/{chunk-CLABCSZC.js → chunk-6CZX6YOE.js} +5 -5
  51. package/dist/{chunk-VFJSVPNL.js → chunk-7ILQX47W.js} +3 -3
  52. package/dist/{chunk-4WFAP6QN.js → chunk-ADXHPGBZ.js} +9 -11
  53. package/dist/{chunk-75ODMNOM.js → chunk-AN7C3CHH.js} +1 -1
  54. package/dist/{chunk-BQFL2ECS.js → chunk-ANP3DIST.js} +3 -57
  55. package/dist/chunk-ATPJGHUP.js +1201 -0
  56. package/dist/{chunk-6Z2VR3BA.js → chunk-BAGBCSXA.js} +1 -1
  57. package/dist/{chunk-WUOOZE5S.js → chunk-BEQ3MEE3.js} +2 -2
  58. package/dist/{chunk-ELAK46NR.js → chunk-BKCI53W6.js} +4 -4
  59. package/dist/{chunk-HAIXS4OX.js → chunk-CSKABVSH.js} +3 -3
  60. package/dist/{chunk-GNUARBRZ.js → chunk-CU2PXLZ6.js} +4 -4
  61. package/dist/{chunk-FVERRWDP.js → chunk-CZ65D6Q5.js} +2 -2
  62. package/dist/{chunk-PJ34FOIV.js → chunk-DM24VZOI.js} +5 -5
  63. package/dist/{chunk-TBKHQWIH.js → chunk-DTVHZDYM.js} +5 -5
  64. package/dist/{chunk-PIQ4HHA2.js → chunk-DXMUJTYF.js} +4 -6
  65. package/dist/{chunk-IOH2T3CB.js → chunk-ED2SWTPC.js} +4 -4
  66. package/dist/{chunk-FAF5AW3P.js → chunk-EEVE7H5Z.js} +4 -4
  67. package/dist/{chunk-EHHTQURL.js → chunk-F56GTJFG.js} +5 -5
  68. package/dist/{chunk-GZS72NCF.js → chunk-FFSIYBBU.js} +4 -4
  69. package/dist/{chunk-L5CDGXPO.js → chunk-FWS2KLV2.js} +4 -4
  70. package/dist/{chunk-T3GHXR6N.js → chunk-GA257T2E.js} +5 -5
  71. package/dist/{chunk-SKUSGWFK.js → chunk-GTBWWCCM.js} +6 -6
  72. package/dist/{chunk-YK6GR4GU.js → chunk-HDGB6SQ4.js} +2 -2
  73. package/dist/{chunk-OY6Z4IKB.js → chunk-HIYLAC3C.js} +3 -3
  74. package/dist/{chunk-RAJ3QEIL.js → chunk-HVOQUPSO.js} +1 -1
  75. package/dist/{chunk-KUCL7ETL.js → chunk-I2UBF2SS.js} +1 -1
  76. package/dist/{chunk-VHZAJ6IB.js → chunk-ICFHMJTW.js} +3 -3
  77. package/dist/{chunk-HZ72EMJE.js → chunk-ITYKN2K3.js} +2 -2
  78. package/dist/{chunk-XBTWG2VL.js → chunk-IZVEBBDH.js} +5 -5
  79. package/dist/{chunk-VN7XH6TU.js → chunk-JCWHOB36.js} +2 -2
  80. package/dist/{chunk-5JK3DQGZ.js → chunk-JFKMPLNF.js} +2 -2
  81. package/dist/{chunk-FEAGK25K.js → chunk-LMC5UPL7.js} +1 -1
  82. package/dist/{chunk-7NCLUA65.js → chunk-MNKIR2ZB.js} +11 -0
  83. package/dist/{chunk-SARPHHTT.js → chunk-NOH3EJFH.js} +1 -1
  84. package/dist/{chunk-OP5IBEV7.js → chunk-NUEPJ5W6.js} +2 -2
  85. package/dist/{chunk-OU3BYBJ3.js → chunk-OA6EADFT.js} +3 -3
  86. package/dist/{chunk-LGZ545TA.js → chunk-ONBL2GCU.js} +12 -6
  87. package/dist/{chunk-LTT54NOU.js → chunk-P5HZEGT7.js} +65 -8
  88. package/dist/{chunk-YMZOM6BD.js → chunk-PP7FC3Y7.js} +10 -10
  89. package/dist/{chunk-T6XQNOZV.js → chunk-Q2BD4IBX.js} +12 -12
  90. package/dist/{chunk-DMNLFWGY.js → chunk-QNZ6G3LY.js} +210 -151
  91. package/dist/{chunk-BCVCUDFI.js → chunk-QSW3HAKI.js} +1 -1
  92. package/dist/{chunk-HOIO66DU.js → chunk-R4FL5JHK.js} +4 -4
  93. package/dist/{chunk-VUFHYMSP.js → chunk-RABLE5R6.js} +1 -1
  94. package/dist/{chunk-2MZ6ROWZ.js → chunk-RRHHWYPX.js} +6 -6
  95. package/dist/{chunk-5LOP4AVD.js → chunk-SCMEVDAR.js} +128 -26
  96. package/dist/{chunk-XE5N352V.js → chunk-SROWUG5W.js} +1 -1
  97. package/dist/{chunk-QW3FRUFB.js → chunk-SZBMTOUZ.js} +1 -1
  98. package/dist/{chunk-V7N5NOZV.js → chunk-TJUJAK5L.js} +1 -1
  99. package/dist/{chunk-OJEIS5L2.js → chunk-TK4JU2F7.js} +1 -1
  100. package/dist/{chunk-VDBXSUXP.js → chunk-U2P2LQ5B.js} +7 -7
  101. package/dist/{chunk-AB3VAQ25.js → chunk-UHS5MMAI.js} +3 -3
  102. package/dist/{chunk-OW6VBXXI.js → chunk-UM2X7HL6.js} +63 -36
  103. package/dist/{chunk-KL76XWZ7.js → chunk-UMTMFDL2.js} +1 -1
  104. package/dist/{chunk-MRCVYYPW.js → chunk-VHKK3US3.js} +3 -3
  105. package/dist/{chunk-S2Z6VWHH.js → chunk-W5L2ZLHE.js} +6 -7
  106. package/dist/{chunk-EQ26IKZM.js → chunk-WOHP7EL6.js} +7 -6
  107. package/dist/{chunk-3QLFB2EY.js → chunk-WY6YAMZW.js} +37 -214
  108. package/dist/{chunk-XO3KAH7K.js → chunk-XJIIU36L.js} +1 -1
  109. package/dist/{chunk-QC2W42DE.js → chunk-XZCJC3QO.js} +12 -12
  110. package/dist/{chunk-BUQU3OPX.js → chunk-Y64JGYTB.js} +1 -1
  111. package/dist/{chunk-KLZZI5TU.js → chunk-Z3M627TQ.js} +1 -1
  112. package/dist/{codex-app-cards-switch-LXMAIOFB.js → codex-app-cards-switch-HK4RMOBI.js} +11 -12
  113. package/dist/{codex-desktop-launch-VE5RLFUU.js → codex-desktop-launch-OCO6N7SA.js} +1 -1
  114. package/dist/{codex-session-launch-XZZWXCPK.js → codex-session-launch-ETZQTVFS.js} +19 -21
  115. package/dist/{config-PPX25AV5.js → config-YY54G3CC.js} +3 -3
  116. package/dist/{global-upgrade-NRMHNLNU.js → global-upgrade-5DN5G3ZQ.js} +10 -12
  117. package/dist/{identity-ZFQR7JNW.js → identity-EGL6HAWG.js} +4 -5
  118. package/dist/{live-capabilities-SJRYRKNB.js → live-capabilities-WU3FYJJG.js} +5 -7
  119. package/dist/{paths-7VTVOQXJ.js → paths-ZG6KDM6Y.js} +7 -3
  120. package/dist/reapply-AQLNCCTE.js +63 -0
  121. package/dist/src/index.js +20 -23
  122. package/dist/{upgrade-lock-VAYJZVTB.js → upgrade-lock-BIRXIKHJ.js} +4 -5
  123. package/dist/{usage-C4DIYUR6.js → usage-43C2DHDU.js} +3 -3
  124. package/package.json +1 -1
  125. package/dist/chunk-6ICPEJY5.js +0 -20
  126. package/dist/chunk-MK4USZYQ.js +0 -615
  127. package/dist/chunk-QENTGE75.js +0 -86
  128. package/dist/chunk-VC3HFFMQ.js +0 -41
  129. package/dist/reapply-WOANOIRZ.js +0 -64
@@ -1,11 +1,6 @@
1
- import {
2
- IDLE_PROMPT_NOTIFICATION,
3
- NOTIFICATION_PUSH_TYPES,
4
- POSTTOOLUSE_MIRROR_ONLY_TOOLS
5
- } from "./chunk-VC3HFFMQ.js";
6
1
  import {
7
2
  repoKeyFor
8
- } from "./chunk-7GRQGXF4.js";
3
+ } from "./chunk-3KXBRSL3.js";
9
4
  import {
10
5
  cancelQuestion,
11
6
  clientErrorKindOf,
@@ -13,26 +8,29 @@ import {
13
8
  reportClientError,
14
9
  sendNotification,
15
10
  waitForAnswer
16
- } from "./chunk-TBKHQWIH.js";
11
+ } from "./chunk-DTVHZDYM.js";
17
12
  import {
18
13
  withRetry
19
- } from "./chunk-ELAK46NR.js";
14
+ } from "./chunk-BKCI53W6.js";
20
15
  import {
21
16
  getMachineId
22
- } from "./chunk-L5CDGXPO.js";
17
+ } from "./chunk-FWS2KLV2.js";
23
18
  import {
24
19
  reportedInstallSource
25
- } from "./chunk-V5W3CK7F.js";
26
- import {
27
- writeFileAtomic
28
- } from "./chunk-QENTGE75.js";
20
+ } from "./chunk-2VADJ6JH.js";
29
21
  import {
22
+ IDLE_PROMPT_NOTIFICATION,
23
+ NOTIFICATION_PUSH_TYPES,
24
+ POSTTOOLUSE_MIRROR_ONLY_TOOLS,
30
25
  canonicalJson
31
- } from "./chunk-MK4USZYQ.js";
26
+ } from "./chunk-ATPJGHUP.js";
27
+ import {
28
+ writeFileAtomic
29
+ } from "./chunk-SCMEVDAR.js";
32
30
  import {
33
31
  getApiKey,
34
32
  getBaseUrl
35
- } from "./chunk-BUQU3OPX.js";
33
+ } from "./chunk-Y64JGYTB.js";
36
34
  import {
37
35
  ACTION_BODY_MAX,
38
36
  AGENTS,
@@ -67,7 +65,7 @@ import {
67
65
  toToolLookup,
68
66
  truncateLine,
69
67
  unansweredRefusalReason
70
- } from "./chunk-7NCLUA65.js";
68
+ } from "./chunk-MNKIR2ZB.js";
71
69
 
72
70
  // ../hook-mapping/src/describe.ts
73
71
  import { isAbsolute, relative, resolve } from "path";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  notificationAnswerStep
3
- } from "./chunk-VHZAJ6IB.js";
3
+ } from "./chunk-ICFHMJTW.js";
4
4
  import {
5
5
  matchMacAccountStep,
6
6
  retryAgentCommand
7
- } from "./chunk-S2Z6VWHH.js";
7
+ } from "./chunk-W5L2ZLHE.js";
8
8
  import {
9
9
  EXIT
10
10
  } from "./chunk-KZERVKTD.js";
11
11
  import {
12
12
  NPX_LATEST_COMMAND
13
- } from "./chunk-6Z2VR3BA.js";
13
+ } from "./chunk-BAGBCSXA.js";
14
14
 
15
15
  // src/setup/closing.ts
16
16
  var ACTIVITY_URL = "pushary.com/dashboard/agent/activity";
@@ -1,12 +1,12 @@
1
- import {
2
- readJsonSafe
3
- } from "./chunk-QENTGE75.js";
4
1
  import {
5
2
  pusharyDir
6
- } from "./chunk-MK4USZYQ.js";
3
+ } from "./chunk-ATPJGHUP.js";
4
+ import {
5
+ readJsonSafe
6
+ } from "./chunk-SCMEVDAR.js";
7
7
  import {
8
8
  isRecord
9
- } from "./chunk-7NCLUA65.js";
9
+ } from "./chunk-MNKIR2ZB.js";
10
10
 
11
11
  // src/process-ownership.ts
12
12
  import { createHash, randomUUID } from "crypto";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  readExistingMachineId
3
- } from "./chunk-L5CDGXPO.js";
3
+ } from "./chunk-FWS2KLV2.js";
4
4
  import {
5
5
  NetworkError
6
6
  } from "./chunk-PPY5N2E6.js";
7
7
  import {
8
8
  getBaseUrl
9
- } from "./chunk-BUQU3OPX.js";
9
+ } from "./chunk-Y64JGYTB.js";
10
10
  import {
11
11
  getPackageVersion
12
12
  } from "./chunk-QTOLNRET.js";
13
13
  import {
14
14
  clientContextHeaders,
15
15
  redactSecretsFromContent
16
- } from "./chunk-7NCLUA65.js";
16
+ } from "./chunk-MNKIR2ZB.js";
17
17
 
18
18
  // src/cli/net.ts
19
19
  import { createRequire } from "module";
@@ -4,25 +4,23 @@ import {
4
4
  } from "./chunk-XHKBHWLX.js";
5
5
  import {
6
6
  readControlMode
7
- } from "./chunk-IOH2T3CB.js";
7
+ } from "./chunk-ED2SWTPC.js";
8
8
  import {
9
9
  getMachineId
10
- } from "./chunk-L5CDGXPO.js";
10
+ } from "./chunk-FWS2KLV2.js";
11
+ import {
12
+ pusharyDir
13
+ } from "./chunk-ATPJGHUP.js";
11
14
  import {
12
15
  readJsonSafe,
16
+ resolveGlobalBinary,
13
17
  writeFileAtomic,
14
18
  writeJsonAtomic,
15
19
  writeJsonAtomicDurable
16
- } from "./chunk-QENTGE75.js";
17
- import {
18
- pusharyDir
19
- } from "./chunk-MK4USZYQ.js";
20
- import {
21
- resolveGlobalBinary
22
- } from "./chunk-5LOP4AVD.js";
20
+ } from "./chunk-SCMEVDAR.js";
23
21
  import {
24
22
  getApiKey
25
- } from "./chunk-BUQU3OPX.js";
23
+ } from "./chunk-Y64JGYTB.js";
26
24
  import {
27
25
  CLI_PACKAGE_NAMES,
28
26
  cmdShimTarget,
@@ -32,7 +30,7 @@ import {
32
30
  } from "./chunk-QTOLNRET.js";
33
31
  import {
34
32
  isRecord
35
- } from "./chunk-7NCLUA65.js";
33
+ } from "./chunk-MNKIR2ZB.js";
36
34
 
37
35
  // src/daemon-lifecycle.ts
38
36
  import { dirname, join, win32 as win32Path } from "path";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-KZERVKTD.js";
4
4
  import {
5
5
  renderCommandHelp
6
- } from "./chunk-6Z2VR3BA.js";
6
+ } from "./chunk-BAGBCSXA.js";
7
7
  import {
8
8
  getPackageVersion
9
9
  } from "./chunk-QTOLNRET.js";
@@ -1,20 +1,11 @@
1
- import {
2
- atLeast,
3
- formatVersion
4
- } from "./chunk-6ICPEJY5.js";
5
- import {
6
- NOTIFICATION_MATCHED_TYPES,
7
- POSTTOOLUSE_MIRRORED_TOOLS
8
- } from "./chunk-VC3HFFMQ.js";
9
1
  import {
10
2
  isProtectedByScope,
11
3
  registerHookEntry
12
- } from "./chunk-MK4USZYQ.js";
4
+ } from "./chunk-ATPJGHUP.js";
13
5
  import {
14
- CLAUDE_PRETOOLUSE_MATCHER,
15
6
  HOOK_BUDGETS,
16
7
  HOOK_LOCATOR_BINARY
17
- } from "./chunk-7NCLUA65.js";
8
+ } from "./chunk-MNKIR2ZB.js";
18
9
 
19
10
  // src/gemini-config.ts
20
11
  var GEMINI_HOOK_BINARY = "pushary-gemini-hook";
@@ -115,46 +106,6 @@ var missingGeminiHookEvents = (settings) => {
115
106
  }).map((definition) => definition.event);
116
107
  };
117
108
 
118
- // src/claude-events.ts
119
- var MIRRORED_TOOLS = POSTTOOLUSE_MIRRORED_TOOLS.join("|");
120
- var ESTABLISHED = [1, 0, 0];
121
- var OBSERVED = [2, 0, 0];
122
- var CLAUDE_HOOK_BINARY = "pushary-hook";
123
- var CLAUDE_HOOK_EVENTS = [
124
- { event: "PreToolUse", binary: CLAUDE_HOOK_BINARY, matcher: CLAUDE_PRETOOLUSE_MATCHER, timeout: HOOK_BUDGETS.claude.budgetSeconds, delivery: "approval", since: ESTABLISHED },
125
- { event: "PostToolUse", binary: "pushary-post-hook", matcher: MIRRORED_TOOLS, timeout: 10, delivery: "telemetry", since: ESTABLISHED },
126
- { event: "Stop", binary: "pushary-stop-hook", timeout: 10, delivery: "telemetry", since: ESTABLISHED },
127
- { event: "UserPromptSubmit", binary: "pushary-prompt-hook", timeout: 10, delivery: "telemetry", since: ESTABLISHED },
128
- { event: "Notification", binary: "pushary-notification-hook", matcher: NOTIFICATION_MATCHED_TYPES.join("|"), timeout: 10, delivery: "telemetry", since: ESTABLISHED },
129
- { event: "SessionStart", binary: "pushary-session-start-hook", matcher: "startup|resume|clear", timeout: 10, delivery: "telemetry", since: ESTABLISHED },
130
- { event: "SessionEnd", binary: "pushary-session-end-hook", timeout: 10, delivery: "telemetry", since: ESTABLISHED },
131
- { event: "StopFailure", binary: "pushary-stopfailure-hook", timeout: 10, delivery: "telemetry", since: ESTABLISHED },
132
- { event: "PermissionRequest", binary: "pushary-permission-hook", timeout: HOOK_BUDGETS.claude.budgetSeconds, delivery: "approval", since: ESTABLISHED },
133
- { event: "PermissionDenied", binary: "pushary-permission-denied-hook", timeout: HOOK_BUDGETS.claude.budgetSeconds, delivery: "approval", holds: true, since: ESTABLISHED },
134
- // Observability only. Each carries session shape the island cannot get any other
135
- // way, and none of them decides anything.
136
- { event: "SubagentStart", binary: "pushary-session-start-hook", timeout: 10, delivery: "telemetry", since: OBSERVED },
137
- { event: "SubagentStop", binary: "pushary-stop-hook", timeout: 10, delivery: "telemetry", since: OBSERVED },
138
- { event: "PreCompact", binary: "pushary-post-hook", matcher: "manual|auto", timeout: 10, delivery: "telemetry", since: OBSERVED },
139
- { event: "PostCompact", binary: "pushary-post-hook", matcher: "manual|auto", timeout: 10, delivery: "telemetry", since: OBSERVED },
140
- { event: "TeammateIdle", binary: "pushary-notification-hook", timeout: 10, delivery: "telemetry", since: OBSERVED },
141
- // An MCP server asking the person for a value, answered from the phone rather
142
- // than the terminal. No matcher: Claude Code matches this event on the MCP
143
- // server's name, and we have no business preferring one server over another.
144
- { event: "Elicitation", binary: "pushary-elicitation-hook", timeout: HOOK_BUDGETS.claude.budgetSeconds, delivery: "approval", since: OBSERVED }
145
- ];
146
- var supportedClaudeEvents = (version) => CLAUDE_HOOK_EVENTS.filter((hook) => version ? atLeast(version, hook.since) : hook.since === ESTABLISHED);
147
- var registrationSignatures = (events, version) => Object.fromEntries(
148
- events.map((hook) => [hook.event, `registered|${version ? formatVersion(version) : "unknown"}`])
149
- );
150
- var needsReregistration = (stored, version) => {
151
- const expected = registrationSignatures(supportedClaudeEvents(version), version);
152
- const keys = Object.keys(expected);
153
- if (!stored) return true;
154
- if (keys.length !== Object.keys(stored).length) return true;
155
- return keys.some((event) => stored[event] !== expected[event]);
156
- };
157
-
158
109
  export {
159
110
  GEMINI_HOOK_BINARY,
160
111
  GEMINI_HOOK_EVENTS,
@@ -163,10 +114,5 @@ export {
163
114
  removeGeminiMcpServer,
164
115
  removeGeminiSettings,
165
116
  hasGeminiHooks,
166
- missingGeminiHookEvents,
167
- CLAUDE_HOOK_BINARY,
168
- CLAUDE_HOOK_EVENTS,
169
- supportedClaudeEvents,
170
- registrationSignatures,
171
- needsReregistration
117
+ missingGeminiHookEvents
172
118
  };