@herbertgao/pi-extensions 2026.9.17 → 2026.9.18

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 (266) hide show
  1. package/README.md +14 -15
  2. package/node_modules/@herbertgao/pi-bark/package.json +2 -2
  3. package/node_modules/@herbertgao/pi-cc-extensions/README.en.md +4 -1
  4. package/node_modules/@herbertgao/pi-cc-extensions/README.md +4 -1
  5. package/node_modules/@herbertgao/pi-cc-extensions/package.json +75 -75
  6. package/node_modules/@herbertgao/pi-subagents/CHANGELOG.md +6 -0
  7. package/node_modules/@herbertgao/pi-subagents/package.json +7 -7
  8. package/node_modules/@herbertgao/resume-from/package.json +4 -2
  9. package/node_modules/@herbertgao/sol-pi/package.json +6 -6
  10. package/node_modules/@juicesharp/rpiv-ask-user-question/package.json +99 -99
  11. package/node_modules/@pi-plugins/fast-mode/package.json +1 -1
  12. package/node_modules/@tifan/pi-handoff/package.json +1 -1
  13. package/node_modules/@tifan/pi-handoff/src/index.ts +56 -26
  14. package/node_modules/@tifan/pi-mermaid-open/package.json +1 -1
  15. package/node_modules/@tifan/pi-preferred-thinking/package.json +1 -1
  16. package/node_modules/@tifan/pi-recap/package.json +1 -1
  17. package/node_modules/@tifan/pi-rename/package.json +1 -1
  18. package/node_modules/pi-antigravity/package.json +2 -2
  19. package/node_modules/pi-lens/package.json +158 -158
  20. package/node_modules/pi-multi-account/package.json +2 -2
  21. package/node_modules/pi-typesafe/README.md +1 -1
  22. package/node_modules/pi-typesafe/dist/auth.d.ts +9 -5
  23. package/node_modules/pi-typesafe/dist/auth.js +7 -3
  24. package/node_modules/pi-typesafe/dist/backends.d.ts +33 -3
  25. package/node_modules/pi-typesafe/dist/backends.js +95 -1
  26. package/node_modules/pi-typesafe/dist/client.d.ts +5 -5
  27. package/node_modules/pi-typesafe/dist/client.js +12 -9
  28. package/node_modules/pi-typesafe/dist/credentials.d.ts +14 -8
  29. package/node_modules/pi-typesafe/dist/credentials.js +10 -7
  30. package/node_modules/pi-typesafe/dist/errors.d.ts +2 -2
  31. package/node_modules/pi-typesafe/dist/index.d.ts +2 -2
  32. package/node_modules/pi-typesafe/dist/index.js +1 -1
  33. package/node_modules/pi-typesafe/dist/login.d.ts +2 -2
  34. package/node_modules/pi-typesafe/dist/login.js +2 -2
  35. package/node_modules/pi-typesafe/package.json +5 -5
  36. package/node_modules/pi-web-access/package.json +2 -2
  37. package/node_modules/remote-pi/package.json +5 -1
  38. package/package.json +16 -28
  39. package/node_modules/pi-mcp-adapter/CHANGELOG.md +0 -1013
  40. package/node_modules/pi-mcp-adapter/LICENSE +0 -21
  41. package/node_modules/pi-mcp-adapter/OAUTH.md +0 -369
  42. package/node_modules/pi-mcp-adapter/README.md +0 -1021
  43. package/node_modules/pi-mcp-adapter/abort.ts +0 -34
  44. package/node_modules/pi-mcp-adapter/agent-dir.ts +0 -68
  45. package/node_modules/pi-mcp-adapter/agent-plugin-loader.ts +0 -416
  46. package/node_modules/pi-mcp-adapter/agent-plugin-provenance.ts +0 -36
  47. package/node_modules/pi-mcp-adapter/app-bridge.bundle.js +0 -67
  48. package/node_modules/pi-mcp-adapter/banner.png +0 -0
  49. package/node_modules/pi-mcp-adapter/bearer-command-resolver.ts +0 -193
  50. package/node_modules/pi-mcp-adapter/claude-plugin-loader.ts +0 -365
  51. package/node_modules/pi-mcp-adapter/cli.js +0 -454
  52. package/node_modules/pi-mcp-adapter/commands.ts +0 -861
  53. package/node_modules/pi-mcp-adapter/config.ts +0 -1565
  54. package/node_modules/pi-mcp-adapter/consent-manager.ts +0 -95
  55. package/node_modules/pi-mcp-adapter/direct-tool-surface.ts +0 -244
  56. package/node_modules/pi-mcp-adapter/direct-tools.ts +0 -428
  57. package/node_modules/pi-mcp-adapter/dist/abort.d.ts +0 -2
  58. package/node_modules/pi-mcp-adapter/dist/abort.js +0 -36
  59. package/node_modules/pi-mcp-adapter/dist/abort.js.map +0 -1
  60. package/node_modules/pi-mcp-adapter/dist/agent-dir.d.ts +0 -10
  61. package/node_modules/pi-mcp-adapter/dist/agent-dir.js +0 -63
  62. package/node_modules/pi-mcp-adapter/dist/agent-dir.js.map +0 -1
  63. package/node_modules/pi-mcp-adapter/dist/agent-plugin-loader.d.ts +0 -8
  64. package/node_modules/pi-mcp-adapter/dist/agent-plugin-loader.js +0 -398
  65. package/node_modules/pi-mcp-adapter/dist/agent-plugin-loader.js.map +0 -1
  66. package/node_modules/pi-mcp-adapter/dist/agent-plugin-provenance.d.ts +0 -1
  67. package/node_modules/pi-mcp-adapter/dist/agent-plugin-provenance.js +0 -31
  68. package/node_modules/pi-mcp-adapter/dist/agent-plugin-provenance.js.map +0 -1
  69. package/node_modules/pi-mcp-adapter/dist/bearer-command-resolver.d.ts +0 -6
  70. package/node_modules/pi-mcp-adapter/dist/bearer-command-resolver.js +0 -194
  71. package/node_modules/pi-mcp-adapter/dist/bearer-command-resolver.js.map +0 -1
  72. package/node_modules/pi-mcp-adapter/dist/claude-plugin-loader.d.ts +0 -9
  73. package/node_modules/pi-mcp-adapter/dist/claude-plugin-loader.js +0 -362
  74. package/node_modules/pi-mcp-adapter/dist/claude-plugin-loader.js.map +0 -1
  75. package/node_modules/pi-mcp-adapter/dist/config.d.ts +0 -134
  76. package/node_modules/pi-mcp-adapter/dist/config.js +0 -1361
  77. package/node_modules/pi-mcp-adapter/dist/config.js.map +0 -1
  78. package/node_modules/pi-mcp-adapter/dist/consent-manager.d.ts +0 -18
  79. package/node_modules/pi-mcp-adapter/dist/consent-manager.js +0 -88
  80. package/node_modules/pi-mcp-adapter/dist/consent-manager.js.map +0 -1
  81. package/node_modules/pi-mcp-adapter/dist/elicitation-handler.d.ts +0 -17
  82. package/node_modules/pi-mcp-adapter/dist/elicitation-handler.js +0 -316
  83. package/node_modules/pi-mcp-adapter/dist/elicitation-handler.js.map +0 -1
  84. package/node_modules/pi-mcp-adapter/dist/errors.d.ts +0 -131
  85. package/node_modules/pi-mcp-adapter/dist/errors.js +0 -278
  86. package/node_modules/pi-mcp-adapter/dist/errors.js.map +0 -1
  87. package/node_modules/pi-mcp-adapter/dist/http-ca.d.ts +0 -8
  88. package/node_modules/pi-mcp-adapter/dist/http-ca.js +0 -88
  89. package/node_modules/pi-mcp-adapter/dist/http-ca.js.map +0 -1
  90. package/node_modules/pi-mcp-adapter/dist/jev-client.d.ts +0 -14
  91. package/node_modules/pi-mcp-adapter/dist/jev-client.js +0 -367
  92. package/node_modules/pi-mcp-adapter/dist/jev-client.js.map +0 -1
  93. package/node_modules/pi-mcp-adapter/dist/jev-contracts.d.ts +0 -77
  94. package/node_modules/pi-mcp-adapter/dist/jev-contracts.js +0 -2
  95. package/node_modules/pi-mcp-adapter/dist/jev-contracts.js.map +0 -1
  96. package/node_modules/pi-mcp-adapter/dist/jev-key-store.d.ts +0 -51
  97. package/node_modules/pi-mcp-adapter/dist/jev-key-store.js +0 -205
  98. package/node_modules/pi-mcp-adapter/dist/jev-key-store.js.map +0 -1
  99. package/node_modules/pi-mcp-adapter/dist/json-schema-validator.d.ts +0 -2
  100. package/node_modules/pi-mcp-adapter/dist/json-schema-validator.js +0 -68
  101. package/node_modules/pi-mcp-adapter/dist/json-schema-validator.js.map +0 -1
  102. package/node_modules/pi-mcp-adapter/dist/lifecycle.d.ts +0 -56
  103. package/node_modules/pi-mcp-adapter/dist/lifecycle.js +0 -410
  104. package/node_modules/pi-mcp-adapter/dist/lifecycle.js.map +0 -1
  105. package/node_modules/pi-mcp-adapter/dist/logger.d.ts +0 -51
  106. package/node_modules/pi-mcp-adapter/dist/logger.js +0 -131
  107. package/node_modules/pi-mcp-adapter/dist/logger.js.map +0 -1
  108. package/node_modules/pi-mcp-adapter/dist/mcp-auth-fetch.d.ts +0 -26
  109. package/node_modules/pi-mcp-adapter/dist/mcp-auth-fetch.js +0 -103
  110. package/node_modules/pi-mcp-adapter/dist/mcp-auth-fetch.js.map +0 -1
  111. package/node_modules/pi-mcp-adapter/dist/mcp-auth-flow.d.ts +0 -118
  112. package/node_modules/pi-mcp-adapter/dist/mcp-auth-flow.js +0 -1097
  113. package/node_modules/pi-mcp-adapter/dist/mcp-auth-flow.js.map +0 -1
  114. package/node_modules/pi-mcp-adapter/dist/mcp-auth.d.ts +0 -170
  115. package/node_modules/pi-mcp-adapter/dist/mcp-auth.js +0 -1142
  116. package/node_modules/pi-mcp-adapter/dist/mcp-auth.js.map +0 -1
  117. package/node_modules/pi-mcp-adapter/dist/mcp-bearer-store.d.ts +0 -24
  118. package/node_modules/pi-mcp-adapter/dist/mcp-bearer-store.js +0 -203
  119. package/node_modules/pi-mcp-adapter/dist/mcp-bearer-store.js.map +0 -1
  120. package/node_modules/pi-mcp-adapter/dist/mcp-callback-server.d.ts +0 -53
  121. package/node_modules/pi-mcp-adapter/dist/mcp-callback-server.js +0 -441
  122. package/node_modules/pi-mcp-adapter/dist/mcp-callback-server.js.map +0 -1
  123. package/node_modules/pi-mcp-adapter/dist/mcp-oauth-provider.d.ts +0 -148
  124. package/node_modules/pi-mcp-adapter/dist/mcp-oauth-provider.js +0 -689
  125. package/node_modules/pi-mcp-adapter/dist/mcp-oauth-provider.js.map +0 -1
  126. package/node_modules/pi-mcp-adapter/dist/mcp-probe.d.ts +0 -6
  127. package/node_modules/pi-mcp-adapter/dist/mcp-probe.js +0 -166
  128. package/node_modules/pi-mcp-adapter/dist/mcp-probe.js.map +0 -1
  129. package/node_modules/pi-mcp-adapter/dist/mcp-tasks.d.ts +0 -102
  130. package/node_modules/pi-mcp-adapter/dist/mcp-tasks.js +0 -369
  131. package/node_modules/pi-mcp-adapter/dist/mcp-tasks.js.map +0 -1
  132. package/node_modules/pi-mcp-adapter/dist/mcp-trace.d.ts +0 -95
  133. package/node_modules/pi-mcp-adapter/dist/mcp-trace.js +0 -242
  134. package/node_modules/pi-mcp-adapter/dist/mcp-trace.js.map +0 -1
  135. package/node_modules/pi-mcp-adapter/dist/metadata-cache.d.ts +0 -19
  136. package/node_modules/pi-mcp-adapter/dist/metadata-cache.js +0 -301
  137. package/node_modules/pi-mcp-adapter/dist/metadata-cache.js.map +0 -1
  138. package/node_modules/pi-mcp-adapter/dist/npx-resolver.d.ts +0 -6
  139. package/node_modules/pi-mcp-adapter/dist/npx-resolver.js +0 -505
  140. package/node_modules/pi-mcp-adapter/dist/npx-resolver.js.map +0 -1
  141. package/node_modules/pi-mcp-adapter/dist/package-mcp-loader.d.ts +0 -2
  142. package/node_modules/pi-mcp-adapter/dist/package-mcp-loader.js +0 -144
  143. package/node_modules/pi-mcp-adapter/dist/package-mcp-loader.js.map +0 -1
  144. package/node_modules/pi-mcp-adapter/dist/request-headers-command.d.ts +0 -10
  145. package/node_modules/pi-mcp-adapter/dist/request-headers-command.js +0 -312
  146. package/node_modules/pi-mcp-adapter/dist/request-headers-command.js.map +0 -1
  147. package/node_modules/pi-mcp-adapter/dist/resource-tools.d.ts +0 -1
  148. package/node_modules/pi-mcp-adapter/dist/resource-tools.js +0 -15
  149. package/node_modules/pi-mcp-adapter/dist/resource-tools.js.map +0 -1
  150. package/node_modules/pi-mcp-adapter/dist/runtime-owner.d.ts +0 -13
  151. package/node_modules/pi-mcp-adapter/dist/runtime-owner.js +0 -97
  152. package/node_modules/pi-mcp-adapter/dist/runtime-owner.js.map +0 -1
  153. package/node_modules/pi-mcp-adapter/dist/sampling-handler.d.ts +0 -17
  154. package/node_modules/pi-mcp-adapter/dist/sampling-handler.js +0 -203
  155. package/node_modules/pi-mcp-adapter/dist/sampling-handler.js.map +0 -1
  156. package/node_modules/pi-mcp-adapter/dist/secure-keyring.d.ts +0 -11
  157. package/node_modules/pi-mcp-adapter/dist/secure-keyring.js +0 -172
  158. package/node_modules/pi-mcp-adapter/dist/secure-keyring.js.map +0 -1
  159. package/node_modules/pi-mcp-adapter/dist/server-manager.d.ts +0 -157
  160. package/node_modules/pi-mcp-adapter/dist/server-manager.js +0 -1745
  161. package/node_modules/pi-mcp-adapter/dist/server-manager.js.map +0 -1
  162. package/node_modules/pi-mcp-adapter/dist/session-approvals.d.ts +0 -34
  163. package/node_modules/pi-mcp-adapter/dist/session-approvals.js +0 -140
  164. package/node_modules/pi-mcp-adapter/dist/session-approvals.js.map +0 -1
  165. package/node_modules/pi-mcp-adapter/dist/session-recovery.d.ts +0 -26
  166. package/node_modules/pi-mcp-adapter/dist/session-recovery.js +0 -142
  167. package/node_modules/pi-mcp-adapter/dist/session-recovery.js.map +0 -1
  168. package/node_modules/pi-mcp-adapter/dist/state.d.ts +0 -73
  169. package/node_modules/pi-mcp-adapter/dist/state.js +0 -2
  170. package/node_modules/pi-mcp-adapter/dist/state.js.map +0 -1
  171. package/node_modules/pi-mcp-adapter/dist/types.d.ts +0 -642
  172. package/node_modules/pi-mcp-adapter/dist/types.js +0 -331
  173. package/node_modules/pi-mcp-adapter/dist/types.js.map +0 -1
  174. package/node_modules/pi-mcp-adapter/dist/ui-app-bridge-helpers.d.ts +0 -6
  175. package/node_modules/pi-mcp-adapter/dist/ui-app-bridge-helpers.js +0 -37
  176. package/node_modules/pi-mcp-adapter/dist/ui-app-bridge-helpers.js.map +0 -1
  177. package/node_modules/pi-mcp-adapter/dist/ui-resource-handler.d.ts +0 -17
  178. package/node_modules/pi-mcp-adapter/dist/ui-resource-handler.js +0 -219
  179. package/node_modules/pi-mcp-adapter/dist/ui-resource-handler.js.map +0 -1
  180. package/node_modules/pi-mcp-adapter/dist/ui-stream-types.d.ts +0 -104
  181. package/node_modules/pi-mcp-adapter/dist/ui-stream-types.js +0 -59
  182. package/node_modules/pi-mcp-adapter/dist/ui-stream-types.js.map +0 -1
  183. package/node_modules/pi-mcp-adapter/dist/ui-tool-visibility.d.ts +0 -4
  184. package/node_modules/pi-mcp-adapter/dist/ui-tool-visibility.js +0 -27
  185. package/node_modules/pi-mcp-adapter/dist/ui-tool-visibility.js.map +0 -1
  186. package/node_modules/pi-mcp-adapter/dist/unix-socket-transport.d.ts +0 -15
  187. package/node_modules/pi-mcp-adapter/dist/unix-socket-transport.js +0 -85
  188. package/node_modules/pi-mcp-adapter/dist/unix-socket-transport.js.map +0 -1
  189. package/node_modules/pi-mcp-adapter/dist/utils.d.ts +0 -41
  190. package/node_modules/pi-mcp-adapter/dist/utils.js +0 -417
  191. package/node_modules/pi-mcp-adapter/dist/utils.js.map +0 -1
  192. package/node_modules/pi-mcp-adapter/elicitation-handler.ts +0 -358
  193. package/node_modules/pi-mcp-adapter/error-signal.ts +0 -32
  194. package/node_modules/pi-mcp-adapter/errors.ts +0 -364
  195. package/node_modules/pi-mcp-adapter/examples/jev-accessibility-loop.mjs +0 -85
  196. package/node_modules/pi-mcp-adapter/examples/jev-semantic-filter.mjs +0 -34
  197. package/node_modules/pi-mcp-adapter/failure-backoff.ts +0 -23
  198. package/node_modules/pi-mcp-adapter/glimpse-ui.ts +0 -80
  199. package/node_modules/pi-mcp-adapter/host-html-template.ts +0 -515
  200. package/node_modules/pi-mcp-adapter/http-ca.ts +0 -84
  201. package/node_modules/pi-mcp-adapter/index.ts +0 -2106
  202. package/node_modules/pi-mcp-adapter/init.ts +0 -721
  203. package/node_modules/pi-mcp-adapter/jev-client.ts +0 -300
  204. package/node_modules/pi-mcp-adapter/jev-contracts.ts +0 -53
  205. package/node_modules/pi-mcp-adapter/jev-key-store.ts +0 -192
  206. package/node_modules/pi-mcp-adapter/json-schema-validator.ts +0 -83
  207. package/node_modules/pi-mcp-adapter/lazy-loader.ts +0 -7
  208. package/node_modules/pi-mcp-adapter/lifecycle.ts +0 -457
  209. package/node_modules/pi-mcp-adapter/logger.ts +0 -169
  210. package/node_modules/pi-mcp-adapter/mcp-auth-fetch.ts +0 -113
  211. package/node_modules/pi-mcp-adapter/mcp-auth-flow.ts +0 -1296
  212. package/node_modules/pi-mcp-adapter/mcp-auth.ts +0 -1287
  213. package/node_modules/pi-mcp-adapter/mcp-bearer-store.ts +0 -250
  214. package/node_modules/pi-mcp-adapter/mcp-callback-server.ts +0 -534
  215. package/node_modules/pi-mcp-adapter/mcp-code.ts +0 -495
  216. package/node_modules/pi-mcp-adapter/mcp-install.ts +0 -60
  217. package/node_modules/pi-mcp-adapter/mcp-keyring-helper.cjs +0 -89
  218. package/node_modules/pi-mcp-adapter/mcp-oauth-provider.ts +0 -819
  219. package/node_modules/pi-mcp-adapter/mcp-output-guard.ts +0 -511
  220. package/node_modules/pi-mcp-adapter/mcp-panel-theme.ts +0 -104
  221. package/node_modules/pi-mcp-adapter/mcp-panel.ts +0 -1099
  222. package/node_modules/pi-mcp-adapter/mcp-probe.ts +0 -201
  223. package/node_modules/pi-mcp-adapter/mcp-references.ts +0 -373
  224. package/node_modules/pi-mcp-adapter/mcp-script-worker.mjs +0 -137
  225. package/node_modules/pi-mcp-adapter/mcp-setup-panel.ts +0 -747
  226. package/node_modules/pi-mcp-adapter/mcp-status.ts +0 -105
  227. package/node_modules/pi-mcp-adapter/mcp-tasks.ts +0 -467
  228. package/node_modules/pi-mcp-adapter/mcp-trace.ts +0 -306
  229. package/node_modules/pi-mcp-adapter/metadata-cache.ts +0 -362
  230. package/node_modules/pi-mcp-adapter/namespace-tools.ts +0 -334
  231. package/node_modules/pi-mcp-adapter/npx-resolver.ts +0 -543
  232. package/node_modules/pi-mcp-adapter/oauth-handler.ts +0 -30
  233. package/node_modules/pi-mcp-adapter/oauth.ts +0 -52
  234. package/node_modules/pi-mcp-adapter/onboarding-state.ts +0 -76
  235. package/node_modules/pi-mcp-adapter/package-mcp-loader.ts +0 -156
  236. package/node_modules/pi-mcp-adapter/package.json +0 -219
  237. package/node_modules/pi-mcp-adapter/panel-keys.ts +0 -53
  238. package/node_modules/pi-mcp-adapter/prompts.ts +0 -385
  239. package/node_modules/pi-mcp-adapter/proxy-modes.ts +0 -1735
  240. package/node_modules/pi-mcp-adapter/request-headers-command.ts +0 -333
  241. package/node_modules/pi-mcp-adapter/resource-tools.ts +0 -17
  242. package/node_modules/pi-mcp-adapter/runtime-owner.ts +0 -106
  243. package/node_modules/pi-mcp-adapter/sampling-handler.ts +0 -261
  244. package/node_modules/pi-mcp-adapter/sandbox-proxy-template.ts +0 -144
  245. package/node_modules/pi-mcp-adapter/search-ranking.ts +0 -309
  246. package/node_modules/pi-mcp-adapter/secure-keyring.ts +0 -170
  247. package/node_modules/pi-mcp-adapter/semantic-search.ts +0 -186
  248. package/node_modules/pi-mcp-adapter/server-manager.ts +0 -2088
  249. package/node_modules/pi-mcp-adapter/session-approvals.ts +0 -201
  250. package/node_modules/pi-mcp-adapter/session-recovery.ts +0 -158
  251. package/node_modules/pi-mcp-adapter/skills/mcp-scripting/SKILL.md +0 -49
  252. package/node_modules/pi-mcp-adapter/state.ts +0 -71
  253. package/node_modules/pi-mcp-adapter/tool-approval.ts +0 -205
  254. package/node_modules/pi-mcp-adapter/tool-metadata.ts +0 -302
  255. package/node_modules/pi-mcp-adapter/tool-registrar.ts +0 -255
  256. package/node_modules/pi-mcp-adapter/tool-result-renderer.ts +0 -573
  257. package/node_modules/pi-mcp-adapter/ts-shape.ts +0 -149
  258. package/node_modules/pi-mcp-adapter/types.ts +0 -1120
  259. package/node_modules/pi-mcp-adapter/ui-app-bridge-helpers.ts +0 -40
  260. package/node_modules/pi-mcp-adapter/ui-resource-handler.ts +0 -266
  261. package/node_modules/pi-mcp-adapter/ui-server.ts +0 -993
  262. package/node_modules/pi-mcp-adapter/ui-session.ts +0 -624
  263. package/node_modules/pi-mcp-adapter/ui-stream-types.ts +0 -89
  264. package/node_modules/pi-mcp-adapter/ui-tool-visibility.ts +0 -25
  265. package/node_modules/pi-mcp-adapter/unix-socket-transport.ts +0 -85
  266. package/node_modules/pi-mcp-adapter/utils.ts +0 -464
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-auth.js","sourceRoot":"","sources":["../mcp-auth.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- export declare class BearerCredentialStoreError extends Error {
2
- readonly code = "BEARER_CREDENTIAL_STORE_UNAVAILABLE";
3
- readonly operation: "read" | "write" | "remove";
4
- constructor(message: string, operation: "read" | "write" | "remove", cause: unknown);
5
- }
6
- export type BearerCredentialStatus = {
7
- status: "present";
8
- } | {
9
- status: "missing";
10
- } | {
11
- status: "url-mismatch";
12
- } | {
13
- status: "unavailable";
14
- message: string;
15
- };
16
- export declare function getBearerTokenForUrl(serverName: string, serverUrl: string): string | undefined;
17
- export declare function saveBearerTokenForUrl(serverName: string, token: string, serverUrl: string): void;
18
- export declare function removeBearerToken(serverName: string): void;
19
- export declare function inspectBearerTokenForUrl(serverName: string, serverUrl: string): BearerCredentialStatus;
20
- export declare function resetTestBearerTokenStore(): void;
21
- export declare function getTestBearerTokenStoreEntries(): [string, string][];
22
- export declare function removeTestBearerTokenStoreEntry(account: string): void;
23
- export declare function setTestBearerTokenStoreEntry(account: string, payload: string): void;
24
- export declare function getTestBearerTokenStoreReadCount(): number;
@@ -1,203 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- import { createSecureKeyringStore, getTestSecureKeyringEntries, getTestSecureKeyringReadCount, removeTestSecureKeyringEntry, resetTestSecureKeyring, setTestSecureKeyringEntry } from "./secure-keyring.js";
3
- const BEARER_SECRET_SERVICE = "pi-mcp-adapter.bearer";
4
- const BEARER_SECRET_CHUNK_SIZE = 1000;
5
- export class BearerCredentialStoreError extends Error {
6
- code = "BEARER_CREDENTIAL_STORE_UNAVAILABLE";
7
- operation;
8
- constructor(message, operation, cause) {
9
- super(message, { cause });
10
- this.name = "BearerCredentialStoreError";
11
- this.operation = operation;
12
- }
13
- }
14
- function getBearerSecretStore() {
15
- return createSecureKeyringStore(BEARER_SECRET_SERVICE);
16
- }
17
- function getBearerAccount(serverName) {
18
- if (typeof serverName !== "string") {
19
- throw new Error(`Invalid MCP server name: ${JSON.stringify(serverName)}`);
20
- }
21
- return `sha256-${createHash("sha256").update(serverName, "utf8").digest("hex")}`;
22
- }
23
- function parseBearerPayload(serverName, payload) {
24
- const parsed = parseStoredBearerJson(serverName, payload);
25
- if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
26
- throw new Error(`Stored bearer token record for ${serverName} has invalid shape`);
27
- }
28
- const record = parsed;
29
- if (typeof record.token !== "string" || typeof record.serverUrl !== "string") {
30
- throw new Error(`Stored bearer token record for ${serverName} has invalid shape`);
31
- }
32
- return { token: record.token, serverUrl: record.serverUrl };
33
- }
34
- function parseStoredBearerJson(serverName, payload) {
35
- try {
36
- return JSON.parse(payload);
37
- }
38
- catch {
39
- throw new Error(`Failed to parse stored bearer token record for ${serverName}`);
40
- }
41
- }
42
- function isBearerChunkManifest(value) {
43
- if (typeof value !== "object" || value === null)
44
- return false;
45
- const manifest = value;
46
- return manifest.__piMcpAdapterBearerChunked === 1
47
- && typeof manifest.chunkCount === "number"
48
- && Number.isInteger(manifest.chunkCount)
49
- && manifest.chunkCount > 0
50
- && typeof manifest.chunkDigest === "string"
51
- && /^[a-f0-9]{16}$/.test(manifest.chunkDigest);
52
- }
53
- function readManifest(serverName, payload) {
54
- const parsed = parseStoredBearerJson(serverName, payload);
55
- return isBearerChunkManifest(parsed) ? parsed : undefined;
56
- }
57
- function chunkAccount(account, manifest, index) {
58
- return `${account}.chunk.${manifest.chunkDigest}.${index}`;
59
- }
60
- function chunkAccounts(account, manifest) {
61
- return Array.from({ length: manifest.chunkCount }, (_, index) => chunkAccount(account, manifest, index));
62
- }
63
- function createManifest(payload) {
64
- return {
65
- __piMcpAdapterBearerChunked: 1,
66
- chunkCount: Math.ceil(payload.length / BEARER_SECRET_CHUNK_SIZE),
67
- chunkDigest: createHash("sha256").update(payload, "utf8").digest("hex").slice(0, 16),
68
- };
69
- }
70
- function readExistingManifest(store, serverName, account) {
71
- try {
72
- const payload = store.read(account);
73
- return payload === undefined ? undefined : readManifest(serverName, payload);
74
- }
75
- catch {
76
- return undefined;
77
- }
78
- }
79
- function removeChunks(store, account, manifest) {
80
- if (!manifest)
81
- return;
82
- for (const accountName of chunkAccounts(account, manifest))
83
- store.remove(accountName);
84
- }
85
- function tryRemoveChunks(store, account, manifest) {
86
- try {
87
- removeChunks(store, account, manifest);
88
- }
89
- catch {
90
- // Stale chunk cleanup must not hide a successful credential write.
91
- }
92
- }
93
- function readBearerRecordFromStore(store, serverName) {
94
- const account = getBearerAccount(serverName);
95
- let payload;
96
- try {
97
- payload = store.read(account);
98
- }
99
- catch (error) {
100
- throw new BearerCredentialStoreError(`Failed to read bearer token for ${serverName} from the OS secure credential store`, "read", error);
101
- }
102
- if (payload === undefined)
103
- return undefined;
104
- try {
105
- const manifest = readManifest(serverName, payload);
106
- const recordPayload = manifest
107
- ? chunkAccounts(account, manifest).map((chunkName) => {
108
- const chunk = store.read(chunkName);
109
- if (chunk === undefined)
110
- throw new Error(`Missing bearer token chunk for ${serverName}`);
111
- return chunk;
112
- }).join("")
113
- : payload;
114
- return parseBearerPayload(serverName, recordPayload);
115
- }
116
- catch (error) {
117
- throw new BearerCredentialStoreError(`Failed to read bearer token for ${serverName} from the OS secure credential store`, "read", error);
118
- }
119
- }
120
- function writeBearerRecordToStore(store, serverName, record) {
121
- const account = getBearerAccount(serverName);
122
- const payload = JSON.stringify(record);
123
- const previousManifest = readExistingManifest(store, serverName, account);
124
- const manifest = payload.length > BEARER_SECRET_CHUNK_SIZE ? createManifest(payload) : undefined;
125
- try {
126
- if (manifest) {
127
- for (let index = 0; index < manifest.chunkCount; index++) {
128
- store.write(chunkAccount(account, manifest, index), payload.slice(index * BEARER_SECRET_CHUNK_SIZE, (index + 1) * BEARER_SECRET_CHUNK_SIZE));
129
- }
130
- store.write(account, JSON.stringify(manifest));
131
- }
132
- else {
133
- store.write(account, payload);
134
- }
135
- if (previousManifest?.chunkDigest !== manifest?.chunkDigest) {
136
- tryRemoveChunks(store, account, previousManifest);
137
- }
138
- }
139
- catch (error) {
140
- // An identical payload reuses the previous manifest's digest-keyed chunk
141
- // accounts. Removing them on a failed rewrite would destroy the still
142
- // installed previous credential, so clean up only digest-distinct chunks.
143
- if (previousManifest?.chunkDigest !== manifest?.chunkDigest) {
144
- tryRemoveChunks(store, account, manifest);
145
- }
146
- throw new BearerCredentialStoreError(`Failed to write bearer token for ${serverName} to the OS secure credential store`, "write", error);
147
- }
148
- }
149
- function removeBearerRecordFromStore(store, serverName) {
150
- const account = getBearerAccount(serverName);
151
- try {
152
- const payload = store.read(account);
153
- const manifest = payload === undefined ? undefined : readManifest(serverName, payload);
154
- removeChunks(store, account, manifest);
155
- store.remove(account);
156
- }
157
- catch (error) {
158
- throw new BearerCredentialStoreError(`Failed to remove bearer token for ${serverName} from the OS secure credential store`, "remove", error);
159
- }
160
- }
161
- export function getBearerTokenForUrl(serverName, serverUrl) {
162
- const record = readBearerRecordFromStore(getBearerSecretStore(), serverName);
163
- if (!record)
164
- return undefined;
165
- return record.serverUrl === serverUrl ? record.token : undefined;
166
- }
167
- export function saveBearerTokenForUrl(serverName, token, serverUrl) {
168
- writeBearerRecordToStore(getBearerSecretStore(), serverName, { token, serverUrl });
169
- }
170
- export function removeBearerToken(serverName) {
171
- removeBearerRecordFromStore(getBearerSecretStore(), serverName);
172
- }
173
- export function inspectBearerTokenForUrl(serverName, serverUrl) {
174
- try {
175
- const record = readBearerRecordFromStore(getBearerSecretStore(), serverName);
176
- if (!record)
177
- return { status: "missing" };
178
- if (record.serverUrl !== serverUrl)
179
- return { status: "url-mismatch" };
180
- return { status: "present" };
181
- }
182
- catch (error) {
183
- if (!(error instanceof BearerCredentialStoreError))
184
- throw error;
185
- return { status: "unavailable", message: "Bearer token secure credential store unavailable. Configure or unlock the OS credential store and retry." };
186
- }
187
- }
188
- export function resetTestBearerTokenStore() {
189
- resetTestSecureKeyring();
190
- }
191
- export function getTestBearerTokenStoreEntries() {
192
- return getTestSecureKeyringEntries().filter(([key]) => key.startsWith(`${BEARER_SECRET_SERVICE}\0`)).map(([key, value]) => [key.slice(BEARER_SECRET_SERVICE.length + 1), value]);
193
- }
194
- export function removeTestBearerTokenStoreEntry(account) {
195
- removeTestSecureKeyringEntry(BEARER_SECRET_SERVICE, account);
196
- }
197
- export function setTestBearerTokenStoreEntry(account, payload) {
198
- setTestSecureKeyringEntry(BEARER_SECRET_SERVICE, account, payload);
199
- }
200
- export function getTestBearerTokenStoreReadCount() {
201
- return getTestSecureKeyringReadCount();
202
- }
203
- //# sourceMappingURL=mcp-bearer-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-bearer-store.js","sourceRoot":"","sources":["../mcp-bearer-store.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- /**
2
- * MCP OAuth Callback Server
3
- *
4
- * HTTP server that handles OAuth callbacks from the authorization server.
5
- * Uses Node.js http module for compatibility.
6
- */
7
- /** Result of a successful OAuth callback */
8
- export interface OAuthCallbackResult {
9
- code: string;
10
- /** RFC 9207 `iss` authorization response parameter, when provided */
11
- iss?: string;
12
- }
13
- interface EnsureCallbackServerOptions {
14
- strictPort?: boolean;
15
- port?: number;
16
- callbackHost?: string;
17
- callbackPath?: string;
18
- oauthState?: string;
19
- reserveState?: boolean;
20
- }
21
- /**
22
- * Ensure the callback server is running.
23
- * If strictPort is true, requires binding on the configured callback port.
24
- * If strictPort is false, asks the OS for an available local port.
25
- */
26
- export declare function ensureCallbackServer(options?: EnsureCallbackServerOptions): Promise<void>;
27
- export declare function reserveCallbackServer(oauthState: string): void;
28
- export declare function releaseCallbackServer(oauthState: string): void;
29
- /**
30
- * Wait for a callback with the given OAuth state.
31
- * Returns a promise that resolves with the authorization code and, when the
32
- * authorization server sends one, the RFC 9207 `iss` parameter.
33
- */
34
- export declare function waitForCallback(oauthState: string): Promise<OAuthCallbackResult>;
35
- /**
36
- * Cancel a pending authorization by state.
37
- */
38
- export declare function cancelPendingCallback(oauthState: string): void;
39
- /**
40
- * Stop the callback server and reject all pending authorizations.
41
- */
42
- export declare function stopCallbackServer(): Promise<void>;
43
- /** Stop the callback server only when no bind or authorization owns it. */
44
- export declare function stopCallbackServerIfIdle(): Promise<void>;
45
- /**
46
- * Check if the callback server is running.
47
- */
48
- export declare function isCallbackServerRunning(): boolean;
49
- /**
50
- * Get the number of pending authorizations.
51
- */
52
- export declare function getPendingAuthCount(): number;
53
- export {};