@adonis-agora/agent 0.76.2 → 0.77.0

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 (287) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/providers/agent_provider.d.ts.map +1 -1
  3. package/dist/providers/agent_provider.js +9 -0
  4. package/dist/providers/agent_provider.js.map +1 -1
  5. package/dist/providers/mcp_provider.d.ts.map +1 -1
  6. package/dist/providers/mcp_provider.js +46 -10
  7. package/dist/providers/mcp_provider.js.map +1 -1
  8. package/dist/providers/poppy_connections_provider.d.ts +17 -0
  9. package/dist/providers/poppy_connections_provider.d.ts.map +1 -0
  10. package/dist/providers/poppy_connections_provider.js +186 -0
  11. package/dist/providers/poppy_connections_provider.js.map +1 -0
  12. package/dist/providers/poppy_provider.d.ts +12 -0
  13. package/dist/providers/poppy_provider.d.ts.map +1 -0
  14. package/dist/providers/poppy_provider.js +159 -0
  15. package/dist/providers/poppy_provider.js.map +1 -0
  16. package/dist/src/a2a/handler.d.ts.map +1 -1
  17. package/dist/src/a2a/handler.js +4 -2
  18. package/dist/src/a2a/handler.js.map +1 -1
  19. package/dist/src/a2a/turn.d.ts +27 -4
  20. package/dist/src/a2a/turn.d.ts.map +1 -1
  21. package/dist/src/a2a/turn.js +66 -12
  22. package/dist/src/a2a/turn.js.map +1 -1
  23. package/dist/src/action-proposal-approval.d.ts.map +1 -1
  24. package/dist/src/action-proposal-approval.js +3 -3
  25. package/dist/src/action-proposal-approval.js.map +1 -1
  26. package/dist/src/action-proposal-listeners.d.ts +12 -0
  27. package/dist/src/action-proposal-listeners.d.ts.map +1 -0
  28. package/dist/src/action-proposal-listeners.js +27 -0
  29. package/dist/src/action-proposal-listeners.js.map +1 -0
  30. package/dist/src/action-proposal-receipt.d.ts +4 -0
  31. package/dist/src/action-proposal-receipt.d.ts.map +1 -1
  32. package/dist/src/action-proposal-receipt.js +3 -1
  33. package/dist/src/action-proposal-receipt.js.map +1 -1
  34. package/dist/src/action-proposal-worker.d.ts +6 -1
  35. package/dist/src/action-proposal-worker.d.ts.map +1 -1
  36. package/dist/src/action-proposal-worker.js +10 -1
  37. package/dist/src/action-proposal-worker.js.map +1 -1
  38. package/dist/src/agent-loop.d.ts.map +1 -1
  39. package/dist/src/agent-loop.js +8 -5
  40. package/dist/src/agent-loop.js.map +1 -1
  41. package/dist/src/channels/handler.d.ts +10 -0
  42. package/dist/src/channels/handler.d.ts.map +1 -1
  43. package/dist/src/channels/handler.js +44 -1
  44. package/dist/src/channels/handler.js.map +1 -1
  45. package/dist/src/channels/texts.d.ts +9 -0
  46. package/dist/src/channels/texts.d.ts.map +1 -1
  47. package/dist/src/channels/texts.js +4 -0
  48. package/dist/src/channels/texts.js.map +1 -1
  49. package/dist/src/client/sse.d.ts.map +1 -1
  50. package/dist/src/client/sse.js +3 -0
  51. package/dist/src/client/sse.js.map +1 -1
  52. package/dist/src/define_config.d.ts +3 -0
  53. package/dist/src/define_config.d.ts.map +1 -1
  54. package/dist/src/define_config.js.map +1 -1
  55. package/dist/src/genui/kit/styles.d.ts.map +1 -1
  56. package/dist/src/genui/kit/styles.js +11 -2
  57. package/dist/src/genui/kit/styles.js.map +1 -1
  58. package/dist/src/genui/sandbox-styles.js +1 -1
  59. package/dist/src/genui/sandbox-styles.js.map +1 -1
  60. package/dist/src/genui/sandbox-theme.d.ts +6 -1
  61. package/dist/src/genui/sandbox-theme.d.ts.map +1 -1
  62. package/dist/src/genui/sandbox-theme.js +9 -5
  63. package/dist/src/genui/sandbox-theme.js.map +1 -1
  64. package/dist/src/genui/sandbox.d.ts.map +1 -1
  65. package/dist/src/genui/sandbox.js +1 -0
  66. package/dist/src/genui/sandbox.js.map +1 -1
  67. package/dist/src/index.d.ts +2 -1
  68. package/dist/src/index.d.ts.map +1 -1
  69. package/dist/src/index.js +2 -1
  70. package/dist/src/index.js.map +1 -1
  71. package/dist/src/mcp/auth.d.ts +17 -0
  72. package/dist/src/mcp/auth.d.ts.map +1 -1
  73. package/dist/src/mcp/auth.js +56 -1
  74. package/dist/src/mcp/auth.js.map +1 -1
  75. package/dist/src/mcp/discovery.d.ts +13 -2
  76. package/dist/src/mcp/discovery.d.ts.map +1 -1
  77. package/dist/src/mcp/discovery.js +17 -2
  78. package/dist/src/mcp/discovery.js.map +1 -1
  79. package/dist/src/mcp/index.d.ts +1 -1
  80. package/dist/src/mcp/index.d.ts.map +1 -1
  81. package/dist/src/mcp/index.js.map +1 -1
  82. package/dist/src/mcp/scope.d.ts +13 -0
  83. package/dist/src/mcp/scope.d.ts.map +1 -0
  84. package/dist/src/mcp/scope.js +24 -0
  85. package/dist/src/mcp/scope.js.map +1 -0
  86. package/dist/src/mcp/server.d.ts +6 -1
  87. package/dist/src/mcp/server.d.ts.map +1 -1
  88. package/dist/src/mcp/server.js +1 -1
  89. package/dist/src/mcp/server.js.map +1 -1
  90. package/dist/src/poppy/auth.d.ts +77 -0
  91. package/dist/src/poppy/auth.d.ts.map +1 -0
  92. package/dist/src/poppy/auth.js +16 -0
  93. package/dist/src/poppy/auth.js.map +1 -0
  94. package/dist/src/poppy/conversations.d.ts +249 -0
  95. package/dist/src/poppy/conversations.d.ts.map +1 -0
  96. package/dist/src/poppy/conversations.js +1017 -0
  97. package/dist/src/poppy/conversations.js.map +1 -0
  98. package/dist/src/poppy/define_config.d.ts +98 -0
  99. package/dist/src/poppy/define_config.d.ts.map +1 -0
  100. package/dist/src/poppy/define_config.js +11 -0
  101. package/dist/src/poppy/define_config.js.map +1 -0
  102. package/dist/src/poppy/endpoints.d.ts +25 -0
  103. package/dist/src/poppy/endpoints.d.ts.map +1 -0
  104. package/dist/src/poppy/endpoints.js +31 -0
  105. package/dist/src/poppy/endpoints.js.map +1 -0
  106. package/dist/src/poppy/handler.d.ts +80 -0
  107. package/dist/src/poppy/handler.d.ts.map +1 -0
  108. package/dist/src/poppy/handler.js +362 -0
  109. package/dist/src/poppy/handler.js.map +1 -0
  110. package/dist/src/poppy/index.d.ts +17 -0
  111. package/dist/src/poppy/index.d.ts.map +1 -0
  112. package/dist/src/poppy/index.js +9 -0
  113. package/dist/src/poppy/index.js.map +1 -0
  114. package/dist/src/poppy/protocol.d.ts +132 -0
  115. package/dist/src/poppy/protocol.d.ts.map +1 -0
  116. package/dist/src/poppy/protocol.js +178 -0
  117. package/dist/src/poppy/protocol.js.map +1 -0
  118. package/dist/src/poppy/redis-store.d.ts +27 -0
  119. package/dist/src/poppy/redis-store.d.ts.map +1 -0
  120. package/dist/src/poppy/redis-store.js +148 -0
  121. package/dist/src/poppy/redis-store.js.map +1 -0
  122. package/dist/src/poppy/runtime.d.ts +6 -0
  123. package/dist/src/poppy/runtime.d.ts.map +1 -0
  124. package/dist/src/poppy/runtime.js +12 -0
  125. package/dist/src/poppy/runtime.js.map +1 -0
  126. package/dist/src/poppy/server_middleware.d.ts +11 -0
  127. package/dist/src/poppy/server_middleware.d.ts.map +1 -0
  128. package/dist/src/poppy/server_middleware.js +16 -0
  129. package/dist/src/poppy/server_middleware.js.map +1 -0
  130. package/dist/src/poppy/store.d.ts +207 -0
  131. package/dist/src/poppy/store.d.ts.map +1 -0
  132. package/dist/src/poppy/store.js +444 -0
  133. package/dist/src/poppy/store.js.map +1 -0
  134. package/dist/src/poppy-client/api.d.ts +36 -0
  135. package/dist/src/poppy-client/api.d.ts.map +1 -0
  136. package/dist/src/poppy-client/api.js +77 -0
  137. package/dist/src/poppy-client/api.js.map +1 -0
  138. package/dist/src/poppy-client/bin/poppy-agent.d.ts +3 -0
  139. package/dist/src/poppy-client/bin/poppy-agent.d.ts.map +1 -0
  140. package/dist/src/poppy-client/bin/poppy-agent.js +9 -0
  141. package/dist/src/poppy-client/bin/poppy-agent.js.map +1 -0
  142. package/dist/src/poppy-client/browser.d.ts +24 -0
  143. package/dist/src/poppy-client/browser.d.ts.map +1 -0
  144. package/dist/src/poppy-client/browser.js +83 -0
  145. package/dist/src/poppy-client/browser.js.map +1 -0
  146. package/dist/src/poppy-client/cli/main.d.ts +2 -0
  147. package/dist/src/poppy-client/cli/main.d.ts.map +1 -0
  148. package/dist/src/poppy-client/cli/main.js +776 -0
  149. package/dist/src/poppy-client/cli/main.js.map +1 -0
  150. package/dist/src/poppy-client/cli/prompt.d.ts +13 -0
  151. package/dist/src/poppy-client/cli/prompt.d.ts.map +1 -0
  152. package/dist/src/poppy-client/cli/prompt.js +50 -0
  153. package/dist/src/poppy-client/cli/prompt.js.map +1 -0
  154. package/dist/src/poppy-client/company.d.ts +87 -0
  155. package/dist/src/poppy-client/company.d.ts.map +1 -0
  156. package/dist/src/poppy-client/company.js +336 -0
  157. package/dist/src/poppy-client/company.js.map +1 -0
  158. package/dist/src/poppy-client/conversations.d.ts +89 -0
  159. package/dist/src/poppy-client/conversations.d.ts.map +1 -0
  160. package/dist/src/poppy-client/conversations.js +332 -0
  161. package/dist/src/poppy-client/conversations.js.map +1 -0
  162. package/dist/src/poppy-client/discovery.d.ts +41 -0
  163. package/dist/src/poppy-client/discovery.d.ts.map +1 -0
  164. package/dist/src/poppy-client/discovery.js +217 -0
  165. package/dist/src/poppy-client/discovery.js.map +1 -0
  166. package/dist/src/poppy-client/dpop.d.ts +19 -0
  167. package/dist/src/poppy-client/dpop.d.ts.map +1 -0
  168. package/dist/src/poppy-client/dpop.js +43 -0
  169. package/dist/src/poppy-client/dpop.js.map +1 -0
  170. package/dist/src/poppy-client/errors.d.ts +50 -0
  171. package/dist/src/poppy-client/errors.d.ts.map +1 -0
  172. package/dist/src/poppy-client/errors.js +55 -0
  173. package/dist/src/poppy-client/errors.js.map +1 -0
  174. package/dist/src/poppy-client/http.d.ts +40 -0
  175. package/dist/src/poppy-client/http.d.ts.map +1 -0
  176. package/dist/src/poppy-client/http.js +95 -0
  177. package/dist/src/poppy-client/http.js.map +1 -0
  178. package/dist/src/poppy-client/identity.d.ts +61 -0
  179. package/dist/src/poppy-client/identity.d.ts.map +1 -0
  180. package/dist/src/poppy-client/identity.js +111 -0
  181. package/dist/src/poppy-client/identity.js.map +1 -0
  182. package/dist/src/poppy-client/identity_server.d.ts +29 -0
  183. package/dist/src/poppy-client/identity_server.d.ts.map +1 -0
  184. package/dist/src/poppy-client/identity_server.js +84 -0
  185. package/dist/src/poppy-client/identity_server.js.map +1 -0
  186. package/dist/src/poppy-client/index.d.ts +19 -0
  187. package/dist/src/poppy-client/index.d.ts.map +1 -0
  188. package/dist/src/poppy-client/index.js +18 -0
  189. package/dist/src/poppy-client/index.js.map +1 -0
  190. package/dist/src/poppy-client/keys.d.ts +13 -0
  191. package/dist/src/poppy-client/keys.d.ts.map +1 -0
  192. package/dist/src/poppy-client/keys.js +31 -0
  193. package/dist/src/poppy-client/keys.js.map +1 -0
  194. package/dist/src/poppy-client/llm.d.ts +31 -0
  195. package/dist/src/poppy-client/llm.d.ts.map +1 -0
  196. package/dist/src/poppy-client/llm.js +230 -0
  197. package/dist/src/poppy-client/llm.js.map +1 -0
  198. package/dist/src/poppy-client/mcp.d.ts +16 -0
  199. package/dist/src/poppy-client/mcp.d.ts.map +1 -0
  200. package/dist/src/poppy-client/mcp.js +57 -0
  201. package/dist/src/poppy-client/mcp.js.map +1 -0
  202. package/dist/src/poppy-client/open_url.d.ts +3 -0
  203. package/dist/src/poppy-client/open_url.d.ts.map +1 -0
  204. package/dist/src/poppy-client/open_url.js +13 -0
  205. package/dist/src/poppy-client/open_url.js.map +1 -0
  206. package/dist/src/poppy-client/signin.d.ts +59 -0
  207. package/dist/src/poppy-client/signin.d.ts.map +1 -0
  208. package/dist/src/poppy-client/signin.js +210 -0
  209. package/dist/src/poppy-client/signin.js.map +1 -0
  210. package/dist/src/poppy-client/sse.d.ts +15 -0
  211. package/dist/src/poppy-client/sse.d.ts.map +1 -0
  212. package/dist/src/poppy-client/sse.js +74 -0
  213. package/dist/src/poppy-client/sse.js.map +1 -0
  214. package/dist/src/poppy-client/store.d.ts +89 -0
  215. package/dist/src/poppy-client/store.d.ts.map +1 -0
  216. package/dist/src/poppy-client/store.js +79 -0
  217. package/dist/src/poppy-client/store.js.map +1 -0
  218. package/dist/src/poppy-client/token_client.d.ts +69 -0
  219. package/dist/src/poppy-client/token_client.d.ts.map +1 -0
  220. package/dist/src/poppy-client/token_client.js +154 -0
  221. package/dist/src/poppy-client/token_client.js.map +1 -0
  222. package/dist/src/poppy-client/types.d.ts +184 -0
  223. package/dist/src/poppy-client/types.d.ts.map +1 -0
  224. package/dist/src/poppy-client/types.js +8 -0
  225. package/dist/src/poppy-client/types.js.map +1 -0
  226. package/dist/src/poppy-client/util.d.ts +42 -0
  227. package/dist/src/poppy-client/util.d.ts.map +1 -0
  228. package/dist/src/poppy-client/util.js +122 -0
  229. package/dist/src/poppy-client/util.js.map +1 -0
  230. package/dist/src/poppy-connections/config.d.ts +134 -0
  231. package/dist/src/poppy-connections/config.d.ts.map +1 -0
  232. package/dist/src/poppy-connections/config.js +44 -0
  233. package/dist/src/poppy-connections/config.js.map +1 -0
  234. package/dist/src/poppy-connections/crypto.d.ts +12 -0
  235. package/dist/src/poppy-connections/crypto.d.ts.map +1 -0
  236. package/dist/src/poppy-connections/crypto.js +36 -0
  237. package/dist/src/poppy-connections/crypto.js.map +1 -0
  238. package/dist/src/poppy-connections/http.d.ts +63 -0
  239. package/dist/src/poppy-connections/http.d.ts.map +1 -0
  240. package/dist/src/poppy-connections/http.js +217 -0
  241. package/dist/src/poppy-connections/http.js.map +1 -0
  242. package/dist/src/poppy-connections/index.d.ts +14 -0
  243. package/dist/src/poppy-connections/index.d.ts.map +1 -0
  244. package/dist/src/poppy-connections/index.js +17 -0
  245. package/dist/src/poppy-connections/index.js.map +1 -0
  246. package/dist/src/poppy-connections/resume.d.ts +46 -0
  247. package/dist/src/poppy-connections/resume.d.ts.map +1 -0
  248. package/dist/src/poppy-connections/resume.js +109 -0
  249. package/dist/src/poppy-connections/resume.js.map +1 -0
  250. package/dist/src/poppy-connections/runtime.d.ts +4 -0
  251. package/dist/src/poppy-connections/runtime.d.ts.map +1 -0
  252. package/dist/src/poppy-connections/runtime.js +9 -0
  253. package/dist/src/poppy-connections/runtime.js.map +1 -0
  254. package/dist/src/poppy-connections/server_middleware.d.ts +10 -0
  255. package/dist/src/poppy-connections/server_middleware.d.ts.map +1 -0
  256. package/dist/src/poppy-connections/server_middleware.js +14 -0
  257. package/dist/src/poppy-connections/server_middleware.js.map +1 -0
  258. package/dist/src/poppy-connections/service.d.ts +179 -0
  259. package/dist/src/poppy-connections/service.d.ts.map +1 -0
  260. package/dist/src/poppy-connections/service.js +648 -0
  261. package/dist/src/poppy-connections/service.js.map +1 -0
  262. package/dist/src/poppy-connections/store.d.ts +139 -0
  263. package/dist/src/poppy-connections/store.d.ts.map +1 -0
  264. package/dist/src/poppy-connections/store.js +260 -0
  265. package/dist/src/poppy-connections/store.js.map +1 -0
  266. package/dist/src/poppy-connections/tools.d.ts +65 -0
  267. package/dist/src/poppy-connections/tools.d.ts.map +1 -0
  268. package/dist/src/poppy-connections/tools.js +574 -0
  269. package/dist/src/poppy-connections/tools.js.map +1 -0
  270. package/dist/src/react/core/approvals/use-action-proposals.d.ts +6 -1
  271. package/dist/src/react/core/approvals/use-action-proposals.d.ts.map +1 -1
  272. package/dist/src/react/core/approvals/use-action-proposals.js +18 -3
  273. package/dist/src/react/core/approvals/use-action-proposals.js.map +1 -1
  274. package/dist/src/react/core/use-agent-chat.d.ts +6 -0
  275. package/dist/src/react/core/use-agent-chat.d.ts.map +1 -1
  276. package/dist/src/react/core/use-agent-chat.js +47 -1
  277. package/dist/src/react/core/use-agent-chat.js.map +1 -1
  278. package/dist/src/tool-presentation.d.ts +6 -0
  279. package/dist/src/tool-presentation.d.ts.map +1 -1
  280. package/dist/src/tool-presentation.js +1 -0
  281. package/dist/src/tool-presentation.js.map +1 -1
  282. package/dist/src/types.d.ts +6 -0
  283. package/dist/src/types.d.ts.map +1 -1
  284. package/package.json +41 -2
  285. package/skills/agent-governance/SKILL.md +13 -2
  286. package/skills/agent-personas-agents/SKILL.md +1 -1
  287. package/skills/agent-tools/SKILL.md +20 -3
@@ -1,3 +1,6 @@
1
+ import { scopeRole } from '../a2a/gate.js';
2
+ import { PERSONAL_AGENT_ROLE } from '../a2a/permission-tool.js';
3
+ import { globalPoppyAuthenticate } from '../poppy/auth.js';
1
4
  /**
2
5
  * A typed refusal from an MCP auth strategy: the token was recognized and deliberately refused (a
3
6
  * client that is not allowed on this endpoint, an account that left the tenant, a revoked grant).
@@ -22,10 +25,17 @@
22
25
  export class McpAuthError extends Error {
23
26
  /** HTTP status of the refusal: `401` (the token does not authenticate) or `403` (it does, but may not do this). */
24
27
  status;
28
+ /**
29
+ * The `WWW-Authenticate` error code, when not the status' default (`invalid_token` for 401,
30
+ * `insufficient_scope` for 403) — e.g. Poppy's `sign_in_required` (§4.3).
31
+ */
32
+ error;
25
33
  constructor(message, options = {}) {
26
34
  super(message, options.cause !== undefined ? { cause: options.cause } : undefined);
27
35
  this.name = 'McpAuthError';
28
36
  this.status = options.status ?? 401;
37
+ if (options.error !== undefined)
38
+ this.error = options.error;
29
39
  }
30
40
  }
31
41
  /**
@@ -37,6 +47,8 @@ export async function resolveMcpAuth(auth, ctx) {
37
47
  }
38
48
  return auth;
39
49
  }
50
+ /** The `gty` authkit-server gives the access tokens it mints for a Poppy session (§6, MCP). */
51
+ export const POPPY_GRANT_TYPE = 'poppy';
40
52
  /**
41
53
  * Authenticate MCP clients with `@adonis-agora/authkit-server`: verifies the bearer token against the
42
54
  * authkit OIDC provider's stored access tokens (`provider.AccessToken.find`) and advertises OAuth
@@ -73,6 +85,15 @@ export function authKitAuth(options = {}) {
73
85
  const service = await getService();
74
86
  const at = await service.provider.AccessToken.find(token);
75
87
  if (!at) {
88
+ // A signed-out Poppy Session's MCP token lives only in authkit's Poppy store: it is valid,
89
+ // but this server needs an account — Poppy's `sign_in_required` (§4.3), not `invalid_token`
90
+ // (which would only make the agent mint the same kind of token again).
91
+ if (context !== undefined && (await isSignedOutPoppyToken(token, context.resource))) {
92
+ throw new McpAuthError('sign in to use this server', {
93
+ status: 403,
94
+ error: 'sign_in_required',
95
+ });
96
+ }
76
97
  // Not an access token this issuer knows — plain `Error`, so `anyOf` tries the next strategy.
77
98
  throw new Error('invalid or expired access token');
78
99
  }
@@ -93,7 +114,8 @@ export function authKitAuth(options = {}) {
93
114
  }
94
115
  }
95
116
  const tokenScopes = (at.scope ?? '').split(' ').filter(Boolean);
96
- const actor = await toActor({
117
+ const personalAgent = at.gty === POPPY_GRANT_TYPE;
118
+ const resolved = await toActor({
97
119
  accountId: at.accountId,
98
120
  scopes: tokenScopes,
99
121
  clientId: at.clientId,
@@ -101,7 +123,23 @@ export function authKitAuth(options = {}) {
101
123
  grant,
102
124
  activeOrg: readActiveOrg(grant?.activeOrg),
103
125
  extra: at.extra,
126
+ personalAgent,
104
127
  });
128
+ // A personal agent's token carries the user's account but only the scopes they granted: the
129
+ // roles below put it behind `personalAgentGate` (the MCP provider wraps its authorizer in it),
130
+ // as a Poppy conversation or a PACT delegation does.
131
+ const actor = personalAgent
132
+ ? {
133
+ ...resolved,
134
+ roles: [
135
+ ...new Set([
136
+ ...(resolved.roles ?? []),
137
+ PERSONAL_AGENT_ROLE,
138
+ ...tokenScopes.map(scopeRole),
139
+ ]),
140
+ ],
141
+ }
142
+ : resolved;
105
143
  return {
106
144
  token,
107
145
  clientId: at.clientId ?? '',
@@ -113,6 +151,23 @@ export function authKitAuth(options = {}) {
113
151
  };
114
152
  };
115
153
  }
154
+ /** A Bearer token authkit issued for `resource` to a Poppy Session that is not signed in. */
155
+ async function isSignedOutPoppyToken(token, resource) {
156
+ const authenticate = globalPoppyAuthenticate();
157
+ if (authenticate === undefined)
158
+ return false;
159
+ try {
160
+ const result = await authenticate({
161
+ method: 'POST',
162
+ url: resource,
163
+ headers: { authorization: `Bearer ${token}` },
164
+ });
165
+ return result.ok && !result.principal.signedIn;
166
+ }
167
+ catch {
168
+ return false;
169
+ }
170
+ }
116
171
  /** Whether a token's `aud` names `resource` (a trailing slash on either side is tolerated). */
117
172
  function audienceNames(aud, resource) {
118
173
  const trim = (value) => value.replace(/\/+$/, '');
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/mcp/auth.ts"],"names":[],"mappings":"AAmEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,mHAAmH;IAC1G,MAAM,CAAY;IAE3B,YAAY,OAAe,EAAE,OAAO,GAA4C,EAAE;QAChF,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;IACtC,CAAC;CACF;AAQD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAA8B,EAC9B,GAAmB;IAEnB,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA+FD;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,OAAO,GAA0B,EAAE;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAyB,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAElG,OAAO,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACvB,IAAI,cAAuD,CAAC;QAE5D,MAAM,UAAU,GAAG,GAAgC,EAAE;YACnD,cAAc,KAAK,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,KAAK,IAA+B,EAAE;YAClD,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YACrC,OAAO;gBACL,MAAM;gBACN,qBAAqB,EAAE,GAAG,MAAM,OAAO;gBACvC,aAAa,EAAE,GAAG,MAAM,QAAQ;gBAChC,eAAe,EAAE,MAAM;gBACvB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,kBAAkB;aACzD,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,KAAK;YACL,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;gBACzB,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;gBACnC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1D,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,6FAA6F;oBAC7F,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;oBACjB,MAAM,IAAI,YAAY,CAAC,iCAAiC,CAAC,CAAC;gBAC5D,CAAC;gBACD,IACE,CAAC,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,UAAU;oBAC/C,OAAO,KAAK,SAAS;oBACrB,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,EACxC,CAAC;oBACD,MAAM,IAAI,YAAY,CAAC,0CAA0C,CAAC,CAAC;gBACrE,CAAC;gBACD,IAAI,KAA+B,CAAC;gBACpC,IAAI,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACrE,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;oBACtD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,qEAAqE;wBACrE,MAAM,IAAI,YAAY,CAAC,uBAAuB,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBACD,MAAM,WAAW,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAChE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;oBAC1B,SAAS,EAAE,EAAE,CAAC,SAAS;oBACvB,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,KAAK;oBACL,SAAS,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;oBAC1C,KAAK,EAAE,EAAE,CAAC,KAAK;iBAChB,CAAC,CAAC;gBACH,OAAO;oBACL,KAAK;oBACL,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE;oBAC3B,MAAM,EAAE,WAAW;oBACnB,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,KAAK,EAAE,EAAE,KAAK,EAAE;iBACjB,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAS,aAAa,CAAC,GAAkC,EAAE,QAAgB;IACzE,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,uHAAuH;AACvH,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,SAAS,GAAG,KAAgC,CAAC;IACnD,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAI,SAAS,CAAC,KAAK,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACpF,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,GAAG,CAAC,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,qBAAqB,CAAC,GAAuB;IAC1D,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,iFAAiF,OAAO,8FAA8F,CACvL,CAAC;IACJ,CAAC;AACH,CAAC;AAeD;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAA6B;IACtD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,OAAO,GAAwB,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACvF,OAAO,KAAK,IAAI,EAAE;QAChB,OAAO;YACL,KAAK,CAAC,MAAM,CAAC,KAAK;gBAChB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC1D,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACrC,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;YAClE,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,8GAA8G;AAC9G,SAAS,eAAe,CAAC,CAAS,EAAE,CAAS;IAC3C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,KAAK,CAAC,GAAG,UAA2C;IAClE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,EAAE,GAAG,EAAE,EAAE;QACnB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,KAAK,CAAC;QAC/E,OAAO;YACL,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO;gBACzB,IAAI,SAAkB,CAAC;gBACvB,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC/C,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,KAAK,YAAY,YAAY;4BAAE,MAAM,KAAK,CAAC;wBAC/C,SAAS,GAAG,KAAK,CAAC;oBACpB,CAAC;gBACH,CAAC;gBACD,MAAM,SAAS,CAAC;YAClB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/mcp/auth.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,16 @@ export interface ProtectedResourceMetadata {
27
27
  bearer_methods_supported: string[];
28
28
  resource_name: string;
29
29
  }
30
- /** Build the RFC 9728 document for the MCP endpoint at `origin` + `path`. */
30
+ /**
31
+ * The Poppy issuer `@adonis-agora/authkit-server` announces in `Symbol.for('@adonis-agora/poppy:issuer')`
32
+ * when Personal Agent Protocol is on — Poppy §6 requires a listed MCP server's `authorization_servers`
33
+ * to include it, so a Poppy Session Token's issuer is one this server names.
34
+ */
35
+ export declare function announcedPoppyIssuer(): string | undefined;
36
+ /**
37
+ * Build the RFC 9728 document for the MCP endpoint at `origin` + `path`. Its `authorization_servers`
38
+ * is the configured issuer, plus the Poppy issuer when one is announced (and different).
39
+ */
31
40
  export declare function protectedResourceMetadata(meta: McpOAuthMetadata, origin: string, path: string): ProtectedResourceMetadata;
32
41
  /** Options for {@link wwwAuthenticateChallenge}. */
33
42
  export interface WwwAuthenticateOptions {
@@ -35,9 +44,11 @@ export interface WwwAuthenticateOptions {
35
44
  * The RFC 6750 error code. `invalid_token` when the request carried a token that was refused,
36
45
  * `insufficient_scope` for a `403`, omitted when no token was sent at all (RFC 6750 §3.1).
37
46
  */
38
- error?: 'invalid_token' | 'insufficient_scope';
47
+ error?: 'invalid_token' | 'insufficient_scope' | 'sign_in_required';
39
48
  /** The metadata URL (RFC 9728 §5.1). Set only when the auth strategy exposes OAuth metadata. */
40
49
  resourceMetadataUrl?: string;
50
+ /** With `insufficient_scope`: the scopes the request needs (RFC 6750 §3), space-separated. */
51
+ scope?: string;
41
52
  }
42
53
  /**
43
54
  * The `WWW-Authenticate` value for a `401`/`403` from the MCP endpoint — e.g.
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/mcp/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAoBtD;AAED,yHAAyH;AACzH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,sHAAsH;AACtH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,yDAAyD;AACzD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,6EAA6E;AAC7E,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,yBAAyB,CAQ3B;AAED,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,GAAG,oBAAoB,CAAC;IAC/C,gGAAgG;IAChG,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,sBAA2B,GAAG,MAAM,CAOrF"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../src/mcp/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAoBtD;AAED,yHAAyH;AACzH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,sHAAsH;AACtH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,yDAAyD;AACzD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAGzD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,yBAAyB,CAS3B;AAED,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,GAAG,oBAAoB,GAAG,kBAAkB,CAAC;IACpE,gGAAgG;IAChG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,sBAA2B,GAAG,MAAM,CAQrF"}
@@ -39,11 +39,24 @@ export function mcpResourceUrl(origin, path) {
39
39
  export function protectedResourceMetadataUrl(origin, path) {
40
40
  return `${origin}/.well-known/oauth-protected-resource/${normalizeMcpPath(path)}`;
41
41
  }
42
- /** Build the RFC 9728 document for the MCP endpoint at `origin` + `path`. */
42
+ /**
43
+ * The Poppy issuer `@adonis-agora/authkit-server` announces in `Symbol.for('@adonis-agora/poppy:issuer')`
44
+ * when Personal Agent Protocol is on — Poppy §6 requires a listed MCP server's `authorization_servers`
45
+ * to include it, so a Poppy Session Token's issuer is one this server names.
46
+ */
47
+ export function announcedPoppyIssuer() {
48
+ const value = globalThis[Symbol.for('@adonis-agora/poppy:issuer')];
49
+ return typeof value === 'string' && value !== '' ? value : undefined;
50
+ }
51
+ /**
52
+ * Build the RFC 9728 document for the MCP endpoint at `origin` + `path`. Its `authorization_servers`
53
+ * is the configured issuer, plus the Poppy issuer when one is announced (and different).
54
+ */
43
55
  export function protectedResourceMetadata(meta, origin, path) {
56
+ const poppyIssuer = announcedPoppyIssuer();
44
57
  return {
45
58
  resource: mcpResourceUrl(origin, path),
46
- authorization_servers: [meta.issuer],
59
+ authorization_servers: [...new Set([meta.issuer, ...(poppyIssuer ? [poppyIssuer] : [])])],
47
60
  scopes_supported: meta.scopesSupported,
48
61
  bearer_methods_supported: ['header'],
49
62
  resource_name: meta.resourceName,
@@ -58,6 +71,8 @@ export function wwwAuthenticateChallenge(options = {}) {
58
71
  const params = [];
59
72
  if (options.error !== undefined)
60
73
  params.push(`error="${options.error}"`);
74
+ if (options.scope !== undefined)
75
+ params.push(`scope="${quote(options.scope)}"`);
61
76
  if (options.resourceMetadataUrl !== undefined) {
62
77
  params.push(`resource_metadata="${quote(options.resourceMetadataUrl)}"`);
63
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/mcp/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,IAAwB;IACvD,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,gFAAgF,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAC5G,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,6EAA6E,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CACzG,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,qHAAqH,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CACjJ,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,yHAAyH;AACzH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,IAAY;IACzD,OAAO,GAAG,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,sHAAsH;AACtH,MAAM,UAAU,4BAA4B,CAAC,MAAc,EAAE,IAAY;IACvE,OAAO,GAAG,MAAM,yCAAyC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;AACpF,CAAC;AAWD,6EAA6E;AAC7E,MAAM,UAAU,yBAAyB,CACvC,IAAsB,EACtB,MAAc,EACd,IAAY;IAEZ,OAAO;QACL,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;QACtC,qBAAqB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,gBAAgB,EAAE,IAAI,CAAC,eAAe;QACtC,wBAAwB,EAAE,CAAC,QAAQ,CAAC;QACpC,aAAa,EAAE,IAAI,CAAC,YAAY;KACjC,CAAC;AACJ,CAAC;AAaD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAO,GAA2B,EAAE;IAC3E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,oDAAoD;AACpD,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../src/mcp/discovery.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { actorFromAuthInfo, isActor } from './actor.js';
2
- export type { ApiKeyActorResolver, ApiKeyMcpAuthOptions, AuthKitActiveOrg, AuthKitActorInfo, AuthKitActorResolver, AuthKitGrant, AuthKitMcpAuthOptions, McpAuth, McpAuthContext, McpAuthFactory, McpAuthInfo, McpOAuthMetadata, } from './auth.js';
2
+ export type { ApiKeyActorResolver, ApiKeyMcpAuthOptions, AuthKitActiveOrg, AuthKitActorInfo, AuthKitActorResolver, AuthKitGrant, AuthKitMcpAuthOptions, McpAuth, McpAuthContext, McpAuthFactory, McpAuthInfo, McpChallengeError, McpOAuthMetadata, } from './auth.js';
3
3
  export { anyOf, apiKeyAuth, authKitAuth, McpAuthError, resolveMcpAuth } from './auth.js';
4
4
  export type { McpConfig, McpEndpointConfig, McpToolDescriber, McpToolDescription, } from './define_config.js';
5
5
  export { defineMcpConfig } from './define_config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACxD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzF,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,YAAY,EACZ,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACxD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,OAAO,EACP,cAAc,EACd,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzF,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,YAAY,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,YAAY,EACZ,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAexD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOzF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,YAAY,EACZ,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAgBxD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOzF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,4BAA4B,EAC5B,YAAY,EACZ,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { RolesPolicy } from '../spi/roles-policy.js';
2
+ import type { Actor, ToolSpec } from '../types.js';
3
+ /**
4
+ * The scopes a personal agent lacks to RUN a tool it is offered (`personalAgentGate`: a tool behind a
5
+ * `scope:` role is offered to every personal agent, run only with that scope). `null` when the actor
6
+ * is not a personal agent, the tool is not offered to it, or it may run it.
7
+ *
8
+ * The MCP provider answers such a `tools/call` with `403` + `WWW-Authenticate: Bearer
9
+ * error="insufficient_scope", scope="…"` (RFC 6750 §3.1, MCP scope step-up), so the client can ask
10
+ * the user for the scope instead of reading a generic tool error.
11
+ */
12
+ export declare function missingScopes(actor: Actor, spec: ToolSpec, policy: RolesPolicy): Promise<string[] | null>;
13
+ //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../src/mcp/scope.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAS1B"}
@@ -0,0 +1,24 @@
1
+ import { SCOPE_ROLE_PREFIX } from '../a2a/gate.js';
2
+ import { PERSONAL_AGENT_ROLE } from '../a2a/permission-tool.js';
3
+ /**
4
+ * The scopes a personal agent lacks to RUN a tool it is offered (`personalAgentGate`: a tool behind a
5
+ * `scope:` role is offered to every personal agent, run only with that scope). `null` when the actor
6
+ * is not a personal agent, the tool is not offered to it, or it may run it.
7
+ *
8
+ * The MCP provider answers such a `tools/call` with `403` + `WWW-Authenticate: Bearer
9
+ * error="insufficient_scope", scope="…"` (RFC 6750 §3.1, MCP scope step-up), so the client can ask
10
+ * the user for the scope instead of reading a generic tool error.
11
+ */
12
+ export async function missingScopes(actor, spec, policy) {
13
+ const roles = actor.roles ?? [];
14
+ if (!roles.includes(PERSONAL_AGENT_ROLE))
15
+ return null;
16
+ const offered = policy.canOffer ? await policy.canOffer(actor, spec) : true;
17
+ if (!offered || (await policy.can(actor, spec)))
18
+ return null;
19
+ const missing = (spec.roles ?? [])
20
+ .filter((role) => role.startsWith(SCOPE_ROLE_PREFIX) && !roles.includes(role))
21
+ .map((role) => role.slice(SCOPE_ROLE_PREFIX.length));
22
+ return missing.length > 0 ? missing : null;
23
+ }
24
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/mcp/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAY,EACZ,IAAc,EACd,MAAmB;IAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;SAC/B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAC7E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC"}
@@ -2,7 +2,7 @@ import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
2
2
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
3
  import type { RolesPolicy } from '../spi/roles-policy.js';
4
4
  import { ToolRegistry } from '../tool-registry.js';
5
- import type { Actor } from '../types.js';
5
+ import type { Actor, ToolSpec } from '../types.js';
6
6
  import type { McpToolDescriber } from './define_config.js';
7
7
  /**
8
8
  * Runtime context a MCP handler synthesizes for {@link ToolRegistry.invoke}: the acting {@link Actor}
@@ -44,6 +44,11 @@ export interface CreateMcpServerOptions extends McpToolContextOptions {
44
44
  */
45
45
  actions?: 'refuse' | 'execute';
46
46
  }
47
+ /** Whether this tool may be reached over MCP at all — the same answer for listing and for calling. */
48
+ export declare function isExposable(spec: {
49
+ kind: string;
50
+ presentation?: ToolSpec['presentation'];
51
+ } | undefined, actions: 'refuse' | 'execute'): boolean;
47
52
  /**
48
53
  * Build a low-level MCP `Server` that exposes the agent's {@link ToolRegistry} over the wire:
49
54
  *
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAqB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,KAAK,EAAY,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,KAAK,KAAK,CAAC;IACzD,yFAAyF;IACzF,cAAc,CAAC,EAAE,CACf,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KACnC;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,2CAA2C;AAC3C,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,yCAAyC;IACzC,QAAQ,EAAE,YAAY,CAAC;IACvB,kFAAkF;IAClF,MAAM,EAAE,WAAW,CAAC;IACpB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAChC;AAmED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAgGvE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAKnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAqB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,KAAK,KAAK,CAAC;IACzD,yFAAyF;IACzF,cAAc,CAAC,EAAE,CACf,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,KACnC;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,2CAA2C;AAC3C,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,yCAAyC;IACzC,QAAQ,EAAE,YAAY,CAAC;IACvB,kFAAkF;IAClF,MAAM,EAAE,WAAW,CAAC;IACpB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAChC;AASD,sGAAsG;AACtG,wBAAgB,WAAW,CACzB,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;CAAE,GAAG,SAAS,EAC3E,OAAO,EAAE,QAAQ,GAAG,SAAS,GAC5B,OAAO,CAUT;AA4CD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAgGvE"}
@@ -11,7 +11,7 @@ import { createNoopEmitUi } from '../tool-ui.js';
11
11
  */
12
12
  const LOOP_SERVED_KINDS = new Set(['agent', 'ask', 'skill', 'memory']);
13
13
  /** Whether this tool may be reached over MCP at all — the same answer for listing and for calling. */
14
- function isExposable(spec, actions) {
14
+ export function isExposable(spec, actions) {
15
15
  if (spec === undefined || LOOP_SERVED_KINDS.has(spec.kind)) {
16
16
  return false;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import type { Actor } from '../types.js';
2
+ /**
3
+ * Who a Poppy request comes from: a Personal Agent (`clientId`) acting for one of its Users
4
+ * (`userId`, the pairwise User ID — not an account) in one Session. `signedIn`, with the app
5
+ * account (`accountId`) and `scopes`, once the User signed in here (§4.4); a signed-out token has
6
+ * neither. The shape `@adonis-agora/authkit-server` answers.
7
+ */
8
+ export interface PoppyPrincipal {
9
+ /** The opaque, stable id the Personal Agent gave this User here. */
10
+ userId: string;
11
+ /** The app account, when the Session is signed in; `null` signed out. */
12
+ accountId: string | null;
13
+ /** The Personal Agent's `client_id` (its metadata document URL). */
14
+ clientId: string;
15
+ /** The token's account scopes (`poppy:read`, `poppy:write`, custom). Empty signed out. */
16
+ scopes: string[];
17
+ sessionId: string;
18
+ signedIn: boolean;
19
+ /** The `resource` the token was issued for (RFC 8707), or `null`. */
20
+ resource?: string | null;
21
+ tokenType?: 'DPoP' | 'Bearer';
22
+ /** What the app's `personalAgents.poppy.toActor` answered, when it has one. */
23
+ actor?: Actor;
24
+ }
25
+ /** The request a resolver verifies — the Session Token and its DPoP proof are in `headers`. */
26
+ export interface PoppyAuthRequest {
27
+ method: string;
28
+ /** The full PUBLIC request URL (the DPoP `htu` is checked against it; the query is ignored). */
29
+ url: string;
30
+ /** The request's headers as received (lower-cased names) — `authorization` and `dpop` included. */
31
+ headers: Record<string, string | string[] | undefined>;
32
+ }
33
+ /**
34
+ * What a resolver may be asked to require besides a valid token. The conversation endpoint asks for
35
+ * none: which scopes a turn needs is decided per tool, and the `resource` a token must carry is
36
+ * derived by the resolver from the URL (the `resource` of the `poppy` protocol entry, if any).
37
+ */
38
+ export interface PoppyAuthOptions {
39
+ scopes?: string[];
40
+ signedIn?: boolean;
41
+ resource?: string | null;
42
+ }
43
+ export type PoppyAuthFailure = {
44
+ ok: false;
45
+ status: 400 | 401 | 403;
46
+ error: 'invalid_token' | 'sign_in_required' | 'insufficient_scope' | 'invalid_dpop_proof' | 'use_dpop_nonce' | (string & {});
47
+ scope?: string;
48
+ /** The challenge to answer with, verbatim. */
49
+ wwwAuthenticate: string;
50
+ /** For logs and the body's `error_description` — never the token. */
51
+ description?: string;
52
+ /** Extra headers to answer with (`DPoP-Nonce`). */
53
+ headers?: Record<string, string>;
54
+ };
55
+ export type PoppyAuthResult = {
56
+ ok: true;
57
+ principal: PoppyPrincipal;
58
+ } | PoppyAuthFailure;
59
+ /**
60
+ * Verifies a request's Session Token. `@adonis-agora/authkit-server` installs one in the global
61
+ * slot {@link POPPY_AUTHENTICATE_SLOT}; an app can pass its own (`definePoppyConfig({ authenticate })`).
62
+ *
63
+ * @experimental Tracks Personal Agent Protocol Draft 0.1 (https://personalagentprotocol.org/docs/spec),
64
+ * a spec still in development: this API WILL change as the spec evolves — possibly in breaking
65
+ * ways, outside semver majors while it is a draft.
66
+ */
67
+ export type PoppyAuthenticate = (request: PoppyAuthRequest, options?: PoppyAuthOptions) => Promise<PoppyAuthResult>;
68
+ /**
69
+ * The contract with the authorization server is this global symbol, not a module: neither package
70
+ * imports the other (like `Symbol.for('@adonis-agora/oauth:resources')` for MCP).
71
+ */
72
+ export declare const POPPY_AUTHENTICATE_SLOT: unique symbol;
73
+ /** The resolver installed in the global slot, if any — read per request, so install order is free. */
74
+ export declare function globalPoppyAuthenticate(): PoppyAuthenticate | undefined;
75
+ /** The Poppy issuer authkit announces (`Symbol.for('@adonis-agora/poppy:issuer')`), if any. */
76
+ export declare function globalPoppyIssuer(): string | undefined;
77
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/poppy/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC9B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,gGAAgG;IAChG,GAAG,EAAE,MAAM,CAAC;IACZ,mGAAmG;IACnG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,KAAK,EACD,eAAe,GACf,kBAAkB,GAClB,oBAAoB,GACpB,oBAAoB,GACpB,gBAAgB,GAChB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,cAAc,CAAA;CAAE,GAAG,gBAAgB,CAAC;AAEzF;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,gBAAgB,KACvB,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,uBAAuB,eAAiD,CAAC;AAEtF,sGAAsG;AACtG,wBAAgB,uBAAuB,IAAI,iBAAiB,GAAG,SAAS,CAGvE;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAGtD"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The contract with the authorization server is this global symbol, not a module: neither package
3
+ * imports the other (like `Symbol.for('@adonis-agora/oauth:resources')` for MCP).
4
+ */
5
+ export const POPPY_AUTHENTICATE_SLOT = Symbol.for('@adonis-agora/poppy:authenticate');
6
+ /** The resolver installed in the global slot, if any — read per request, so install order is free. */
7
+ export function globalPoppyAuthenticate() {
8
+ const value = globalThis[POPPY_AUTHENTICATE_SLOT];
9
+ return typeof value === 'function' ? value : undefined;
10
+ }
11
+ /** The Poppy issuer authkit announces (`Symbol.for('@adonis-agora/poppy:issuer')`), if any. */
12
+ export function globalPoppyIssuer() {
13
+ const value = globalThis[Symbol.for('@adonis-agora/poppy:issuer')];
14
+ return typeof value === 'string' && value !== '' ? value : undefined;
15
+ }
16
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/poppy/auth.ts"],"names":[],"mappings":"AAgFA;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAEtF,sGAAsG;AACtG,MAAM,UAAU,uBAAuB;IACrC,MAAM,KAAK,GAAI,UAAsC,CAAC,uBAAuB,CAAC,CAAC;IAC/E,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAA2B,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB;IAC/B,MAAM,KAAK,GAAI,UAAsC,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAChG,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC"}