@aeolus-fleet/gateway 0.29.1 → 0.30.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 (923) hide show
  1. package/README.md +11 -3
  2. package/dist/adapters/a2a/a2a-agents.d.ts +6 -0
  3. package/dist/adapters/a2a/a2a-agents.js +238 -0
  4. package/dist/adapters/a2a/a2a-agents.js.map +1 -0
  5. package/dist/adapters/a2a/agent-cards.d.ts +4 -0
  6. package/dist/adapters/a2a/agent-cards.js +90 -0
  7. package/dist/adapters/a2a/agent-cards.js.map +1 -0
  8. package/dist/adapters/crypto/agent-keys.d.ts +3 -0
  9. package/dist/adapters/crypto/agent-keys.js +13 -0
  10. package/dist/adapters/crypto/agent-keys.js.map +1 -0
  11. package/dist/adapters/crypto/call-keys.js +2 -0
  12. package/dist/adapters/crypto/call-keys.js.map +1 -1
  13. package/dist/adapters/fleet/console-sessions.js +10 -6
  14. package/dist/adapters/fleet/console-sessions.js.map +1 -1
  15. package/dist/adapters/fleet/core-version.d.ts +1 -1
  16. package/dist/adapters/fleet/core-version.js +1 -1
  17. package/dist/adapters/fleet/fleet-ships.d.ts +3 -1
  18. package/dist/adapters/fleet/fleet-ships.js +19 -10
  19. package/dist/adapters/fleet/fleet-ships.js.map +1 -1
  20. package/dist/adapters/fleet/rest-fleet-door.d.ts +2 -2
  21. package/dist/adapters/fleet/rest-fleet-door.js +29 -5
  22. package/dist/adapters/fleet/rest-fleet-door.js.map +1 -1
  23. package/dist/adapters/http/a2a-cards.d.ts +24 -0
  24. package/dist/adapters/http/a2a-cards.js +62 -0
  25. package/dist/adapters/http/a2a-cards.js.map +1 -0
  26. package/dist/adapters/http/a2a-endpoint.d.ts +28 -0
  27. package/dist/adapters/http/a2a-endpoint.js +424 -0
  28. package/dist/adapters/http/a2a-endpoint.js.map +1 -0
  29. package/dist/adapters/http/a2a-streams.d.ts +28 -0
  30. package/dist/adapters/http/a2a-streams.js +74 -0
  31. package/dist/adapters/http/a2a-streams.js.map +1 -0
  32. package/dist/adapters/http/a2a-tasks.d.ts +18 -0
  33. package/dist/adapters/http/a2a-tasks.js +117 -0
  34. package/dist/adapters/http/a2a-tasks.js.map +1 -0
  35. package/dist/adapters/http/front-door.js +8 -4
  36. package/dist/adapters/http/front-door.js.map +1 -1
  37. package/dist/adapters/http/live.d.ts +3 -1
  38. package/dist/adapters/http/live.js +6 -2
  39. package/dist/adapters/http/live.js.map +1 -1
  40. package/dist/adapters/http/oauth-routes.d.ts +1 -1
  41. package/dist/adapters/http/oauth-routes.js +16 -3
  42. package/dist/adapters/http/oauth-routes.js.map +1 -1
  43. package/dist/adapters/mcp/mcp-servers.js +2 -0
  44. package/dist/adapters/mcp/mcp-servers.js.map +1 -1
  45. package/dist/adapters/pagasae/email-channel.d.ts +8 -0
  46. package/dist/adapters/pagasae/email-channel.js +37 -0
  47. package/dist/adapters/pagasae/email-channel.js.map +1 -0
  48. package/dist/adapters/pagasae/pagasae-client.js +6 -2
  49. package/dist/adapters/pagasae/pagasae-client.js.map +1 -1
  50. package/dist/adapters/prisma/agent-calls.d.ts +3 -0
  51. package/dist/adapters/prisma/agent-calls.js +49 -0
  52. package/dist/adapters/prisma/agent-calls.js.map +1 -0
  53. package/dist/adapters/prisma/changes.d.ts +17 -8
  54. package/dist/adapters/prisma/changes.js +18 -5
  55. package/dist/adapters/prisma/changes.js.map +1 -1
  56. package/dist/adapters/prisma/client-calls.d.ts +1 -1
  57. package/dist/adapters/prisma/client-calls.js +83 -21
  58. package/dist/adapters/prisma/client-calls.js.map +1 -1
  59. package/dist/adapters/prisma/email-channels.d.ts +4 -0
  60. package/dist/adapters/prisma/email-channels.js +14 -0
  61. package/dist/adapters/prisma/email-channels.js.map +1 -0
  62. package/dist/adapters/prisma/fleet-forgetter.d.ts +1 -1
  63. package/dist/adapters/prisma/fleet-forgetter.js +2 -2
  64. package/dist/adapters/prisma/fleet-forgetter.js.map +1 -1
  65. package/dist/adapters/prisma/focused-pages.d.ts +4 -0
  66. package/dist/adapters/prisma/focused-pages.js +13 -0
  67. package/dist/adapters/prisma/focused-pages.js.map +1 -0
  68. package/dist/adapters/prisma/generated/browser.d.ts +45 -0
  69. package/dist/adapters/prisma/generated/client.d.ts +45 -0
  70. package/dist/adapters/prisma/generated/commonInputTypes.d.ts +54 -54
  71. package/dist/adapters/prisma/generated/internal/class.d.ts +99 -0
  72. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  73. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  74. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +783 -1
  75. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +101 -3
  76. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  77. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +107 -0
  78. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +101 -3
  79. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  80. package/dist/adapters/prisma/generated/models/A2aAgentCall.d.ts +1203 -0
  81. package/dist/adapters/prisma/generated/models/A2aAgentCall.js +2 -0
  82. package/dist/adapters/prisma/generated/models/A2aAgentCall.js.map +1 -0
  83. package/dist/adapters/prisma/generated/models/A2aAgentReply.d.ts +1003 -0
  84. package/dist/adapters/prisma/generated/models/A2aAgentReply.js +2 -0
  85. package/dist/adapters/prisma/generated/models/A2aAgentReply.js.map +1 -0
  86. package/dist/adapters/prisma/generated/models/A2aPush.d.ts +1413 -0
  87. package/dist/adapters/prisma/generated/models/A2aPush.js +2 -0
  88. package/dist/adapters/prisma/generated/models/A2aPush.js.map +1 -0
  89. package/dist/adapters/prisma/generated/models/A2aPushConfig.d.ts +1322 -0
  90. package/dist/adapters/prisma/generated/models/A2aPushConfig.js +2 -0
  91. package/dist/adapters/prisma/generated/models/A2aPushConfig.js.map +1 -0
  92. package/dist/adapters/prisma/generated/models/A2aTask.d.ts +1002 -0
  93. package/dist/adapters/prisma/generated/models/A2aTask.js +2 -0
  94. package/dist/adapters/prisma/generated/models/A2aTask.js.map +1 -0
  95. package/dist/adapters/prisma/generated/models/ClientCall.d.ts +136 -15
  96. package/dist/adapters/prisma/generated/models/ClientCallReply.d.ts +0 -7
  97. package/dist/adapters/prisma/generated/models/EmailChannel.d.ts +946 -0
  98. package/dist/adapters/prisma/generated/models/EmailChannel.js +2 -0
  99. package/dist/adapters/prisma/generated/models/EmailChannel.js.map +1 -0
  100. package/dist/adapters/prisma/generated/models/FocusedPage.d.ts +974 -0
  101. package/dist/adapters/prisma/generated/models/FocusedPage.js +2 -0
  102. package/dist/adapters/prisma/generated/models/FocusedPage.js.map +1 -0
  103. package/dist/adapters/prisma/generated/models/IssuedToken.d.ts +47 -41
  104. package/dist/adapters/prisma/generated/models/OAuthClient.d.ts +32 -8
  105. package/dist/adapters/prisma/generated/models/Party.d.ts +90 -3
  106. package/dist/adapters/prisma/generated/models/WakeSent.d.ts +975 -0
  107. package/dist/adapters/prisma/generated/models/WakeSent.js +2 -0
  108. package/dist/adapters/prisma/generated/models/WakeSent.js.map +1 -0
  109. package/dist/adapters/prisma/generated/models/WebPushSubscription.d.ts +1115 -0
  110. package/dist/adapters/prisma/generated/models/WebPushSubscription.js +2 -0
  111. package/dist/adapters/prisma/generated/models/WebPushSubscription.js.map +1 -0
  112. package/dist/adapters/prisma/generated/models.d.ts +9 -0
  113. package/dist/adapters/prisma/oauth-stores.js +3 -2
  114. package/dist/adapters/prisma/oauth-stores.js.map +1 -1
  115. package/dist/adapters/prisma/party-store.js +35 -6
  116. package/dist/adapters/prisma/party-store.js.map +1 -1
  117. package/dist/adapters/prisma/person-crews.js +9 -0
  118. package/dist/adapters/prisma/person-crews.js.map +1 -1
  119. package/dist/adapters/prisma/push-store.d.ts +3 -0
  120. package/dist/adapters/prisma/push-store.js +102 -0
  121. package/dist/adapters/prisma/push-store.js.map +1 -0
  122. package/dist/adapters/prisma/waiter-locks.d.ts +4 -0
  123. package/dist/adapters/prisma/waiter-locks.js +72 -0
  124. package/dist/adapters/prisma/waiter-locks.js.map +1 -0
  125. package/dist/adapters/prisma/wakes-sent.d.ts +4 -0
  126. package/dist/adapters/prisma/wakes-sent.js +10 -0
  127. package/dist/adapters/prisma/wakes-sent.js.map +1 -0
  128. package/dist/adapters/prisma/web-push-subscriptions.d.ts +3 -0
  129. package/dist/adapters/prisma/web-push-subscriptions.js +33 -0
  130. package/dist/adapters/prisma/web-push-subscriptions.js.map +1 -0
  131. package/dist/adapters/trpc/router.d.ts +397 -9
  132. package/dist/adapters/trpc/router.js +247 -16
  133. package/dist/adapters/trpc/router.js.map +1 -1
  134. package/dist/adapters/web-push/web-push.d.ts +9 -0
  135. package/dist/adapters/web-push/web-push.js +70 -0
  136. package/dist/adapters/web-push/web-push.js.map +1 -0
  137. package/dist/adapters/webhooks/allowed-lookup.d.ts +14 -0
  138. package/dist/adapters/webhooks/allowed-lookup.js +28 -0
  139. package/dist/adapters/webhooks/allowed-lookup.js.map +1 -0
  140. package/dist/adapters/webhooks/host-resolver.d.ts +3 -0
  141. package/dist/adapters/webhooks/host-resolver.js +13 -0
  142. package/dist/adapters/webhooks/host-resolver.js.map +1 -0
  143. package/dist/adapters/webhooks/webhook-poster.d.ts +6 -0
  144. package/dist/adapters/webhooks/webhook-poster.js +67 -0
  145. package/dist/adapters/webhooks/webhook-poster.js.map +1 -0
  146. package/dist/app.d.ts +12 -0
  147. package/dist/app.js +273 -14
  148. package/dist/app.js.map +1 -1
  149. package/dist/bin/aeolus-gateway.js +3 -0
  150. package/dist/bin/aeolus-gateway.js.map +1 -1
  151. package/dist/config.d.ts +14 -0
  152. package/dist/config.js +24 -0
  153. package/dist/config.js.map +1 -1
  154. package/dist/core/a2a-in/authenticate-a2a-client.d.ts +23 -0
  155. package/dist/core/a2a-in/authenticate-a2a-client.js +21 -0
  156. package/dist/core/a2a-in/authenticate-a2a-client.js.map +1 -0
  157. package/dist/core/a2a-in/deliver-pushes.d.ts +24 -0
  158. package/dist/core/a2a-in/deliver-pushes.js +48 -0
  159. package/dist/core/a2a-in/deliver-pushes.js.map +1 -0
  160. package/dist/core/a2a-in/find-reached-ship.d.ts +18 -0
  161. package/dist/core/a2a-in/find-reached-ship.js +20 -0
  162. package/dist/core/a2a-in/find-reached-ship.js.map +1 -0
  163. package/dist/core/a2a-in/follow-a2a-task.d.ts +25 -0
  164. package/dist/core/a2a-in/follow-a2a-task.js +23 -0
  165. package/dist/core/a2a-in/follow-a2a-task.js.map +1 -0
  166. package/dist/core/a2a-in/inbound-message.d.ts +30 -0
  167. package/dist/core/a2a-in/inbound-message.js +33 -0
  168. package/dist/core/a2a-in/inbound-message.js.map +1 -0
  169. package/dist/core/a2a-in/list-a2a-tasks.d.ts +18 -0
  170. package/dist/core/a2a-in/list-a2a-tasks.js +14 -0
  171. package/dist/core/a2a-in/list-a2a-tasks.js.map +1 -0
  172. package/dist/core/a2a-in/list-push-configs.d.ts +20 -0
  173. package/dist/core/a2a-in/list-push-configs.js +18 -0
  174. package/dist/core/a2a-in/list-push-configs.js.map +1 -0
  175. package/dist/core/a2a-in/list-reached-ships.d.ts +25 -0
  176. package/dist/core/a2a-in/list-reached-ships.js +22 -0
  177. package/dist/core/a2a-in/list-reached-ships.js.map +1 -0
  178. package/dist/core/a2a-in/notice-task-changes.d.ts +19 -0
  179. package/dist/core/a2a-in/notice-task-changes.js +17 -0
  180. package/dist/core/a2a-in/notice-task-changes.js.map +1 -0
  181. package/dist/core/a2a-in/ports.d.ts +124 -0
  182. package/dist/core/a2a-in/ports.js +2 -0
  183. package/dist/core/a2a-in/ports.js.map +1 -0
  184. package/dist/core/a2a-in/push-config-view.d.ts +8 -0
  185. package/dist/core/a2a-in/push-config-view.js +2 -0
  186. package/dist/core/a2a-in/push-config-view.js.map +1 -0
  187. package/dist/core/a2a-in/push-to-webhooks.d.ts +19 -0
  188. package/dist/core/a2a-in/push-to-webhooks.js +19 -0
  189. package/dist/core/a2a-in/push-to-webhooks.js.map +1 -0
  190. package/dist/core/a2a-in/read-a2a-task.d.ts +12 -0
  191. package/dist/core/a2a-in/read-a2a-task.js +11 -0
  192. package/dist/core/a2a-in/read-a2a-task.js.map +1 -0
  193. package/dist/core/a2a-in/read-push-config.d.ts +16 -0
  194. package/dist/core/a2a-in/read-push-config.js +14 -0
  195. package/dist/core/a2a-in/read-push-config.js.map +1 -0
  196. package/dist/core/a2a-in/remove-push-config.d.ts +15 -0
  197. package/dist/core/a2a-in/remove-push-config.js +13 -0
  198. package/dist/core/a2a-in/remove-push-config.js.map +1 -0
  199. package/dist/core/a2a-in/send-a2a-message.d.ts +34 -0
  200. package/dist/core/a2a-in/send-a2a-message.js +106 -0
  201. package/dist/core/a2a-in/send-a2a-message.js.map +1 -0
  202. package/dist/core/a2a-in/set-push-config.d.ts +30 -0
  203. package/dist/core/a2a-in/set-push-config.js +27 -0
  204. package/dist/core/a2a-in/set-push-config.js.map +1 -0
  205. package/dist/core/a2a-in/subscribe-to-a2a-task.d.ts +18 -0
  206. package/dist/core/a2a-in/subscribe-to-a2a-task.js +17 -0
  207. package/dist/core/a2a-in/subscribe-to-a2a-task.js.map +1 -0
  208. package/dist/core/a2a-in/task-view.d.ts +51 -0
  209. package/dist/core/a2a-in/task-view.js +49 -0
  210. package/dist/core/a2a-in/task-view.js.map +1 -0
  211. package/dist/core/a2a-in/webhook-address.d.ts +7 -0
  212. package/dist/core/a2a-in/webhook-address.js +17 -0
  213. package/dist/core/a2a-in/webhook-address.js.map +1 -0
  214. package/dist/core/a2a-in/webhook.d.ts +6 -0
  215. package/dist/core/a2a-in/webhook.js +80 -0
  216. package/dist/core/a2a-in/webhook.js.map +1 -0
  217. package/dist/core/a2a-out/agent-endpoint.d.ts +10 -0
  218. package/dist/core/a2a-out/agent-endpoint.js +10 -0
  219. package/dist/core/a2a-out/agent-endpoint.js.map +1 -0
  220. package/dist/core/a2a-out/agent-event.d.ts +41 -0
  221. package/dist/core/a2a-out/agent-event.js +64 -0
  222. package/dist/core/a2a-out/agent-event.js.map +1 -0
  223. package/dist/core/a2a-out/agent-message.d.ts +36 -0
  224. package/dist/core/a2a-out/agent-message.js +36 -0
  225. package/dist/core/a2a-out/agent-message.js.map +1 -0
  226. package/dist/core/a2a-out/agent-statement.d.ts +10 -0
  227. package/dist/core/a2a-out/agent-statement.js +45 -0
  228. package/dist/core/a2a-out/agent-statement.js.map +1 -0
  229. package/dist/core/a2a-out/follow-agent-task.d.ts +40 -0
  230. package/dist/core/a2a-out/follow-agent-task.js +125 -0
  231. package/dist/core/a2a-out/follow-agent-task.js.map +1 -0
  232. package/dist/core/a2a-out/hand-a2a-message.d.ts +36 -0
  233. package/dist/core/a2a-out/hand-a2a-message.js +132 -0
  234. package/dist/core/a2a-out/hand-a2a-message.js.map +1 -0
  235. package/dist/core/a2a-out/mark-a2a-agent.d.ts +24 -0
  236. package/dist/core/a2a-out/mark-a2a-agent.js +24 -0
  237. package/dist/core/a2a-out/mark-a2a-agent.js.map +1 -0
  238. package/dist/core/a2a-out/ports.d.ts +200 -0
  239. package/dist/core/a2a-out/ports.js +2 -0
  240. package/dist/core/a2a-out/ports.js.map +1 -0
  241. package/dist/core/a2a-out/read-agent-statement.d.ts +13 -0
  242. package/dist/core/a2a-out/read-agent-statement.js +13 -0
  243. package/dist/core/a2a-out/read-agent-statement.js.map +1 -0
  244. package/dist/core/a2a-out/run-a2a-agent.d.ts +26 -0
  245. package/dist/core/a2a-out/run-a2a-agent.js +46 -0
  246. package/dist/core/a2a-out/run-a2a-agent.js.map +1 -0
  247. package/dist/core/a2a-out/state-a2a-agent.d.ts +26 -0
  248. package/dist/core/a2a-out/state-a2a-agent.js +31 -0
  249. package/dist/core/a2a-out/state-a2a-agent.js.map +1 -0
  250. package/dist/core/actors/authenticate-actor.d.ts +11 -5
  251. package/dist/core/actors/authenticate-actor.js +7 -3
  252. package/dist/core/actors/authenticate-actor.js.map +1 -1
  253. package/dist/core/actors/credential-of.d.ts +3 -2
  254. package/dist/core/actors/credential-of.js +4 -3
  255. package/dist/core/actors/credential-of.js.map +1 -1
  256. package/dist/core/mcp-in/call-tool.js +2 -0
  257. package/dist/core/mcp-in/call-tool.js.map +1 -1
  258. package/dist/core/mcp-in/client-call.d.ts +35 -4
  259. package/dist/core/mcp-in/client-call.js +57 -10
  260. package/dist/core/mcp-in/client-call.js.map +1 -1
  261. package/dist/core/mcp-in/collect-replies.d.ts +4 -3
  262. package/dist/core/mcp-in/collect-replies.js +4 -0
  263. package/dist/core/mcp-in/collect-replies.js.map +1 -1
  264. package/dist/core/mcp-in/ports.d.ts +52 -3
  265. package/dist/core/mcp-out/hand-call.d.ts +5 -1
  266. package/dist/core/mcp-out/hand-call.js +9 -1
  267. package/dist/core/mcp-out/hand-call.js.map +1 -1
  268. package/dist/core/mcp-out/run-party.d.ts +29 -7
  269. package/dist/core/mcp-out/run-party.js +14 -6
  270. package/dist/core/mcp-out/run-party.js.map +1 -1
  271. package/dist/core/mcp-out/state-party.d.ts +4 -2
  272. package/dist/core/mcp-out/state-party.js +10 -3
  273. package/dist/core/mcp-out/state-party.js.map +1 -1
  274. package/dist/core/mcp-out/statement.d.ts +2 -1
  275. package/dist/core/mcp-out/statement.js.map +1 -1
  276. package/dist/core/oauth/exchange-id-jag.d.ts +28 -0
  277. package/dist/core/oauth/exchange-id-jag.js +66 -0
  278. package/dist/core/oauth/exchange-id-jag.js.map +1 -0
  279. package/dist/core/oauth/exchange-token.d.ts +25 -11
  280. package/dist/core/oauth/exchange-token.js +50 -3
  281. package/dist/core/oauth/exchange-token.js.map +1 -1
  282. package/dist/core/oauth/ports.d.ts +17 -6
  283. package/dist/core/oauth/register-client.js +1 -1
  284. package/dist/core/oauth/register-client.js.map +1 -1
  285. package/dist/core/operator/authenticate-operator.d.ts +5 -9
  286. package/dist/core/operator/authenticate-operator.js +4 -4
  287. package/dist/core/operator/authenticate-operator.js.map +1 -1
  288. package/dist/core/operator/ports.d.ts +15 -9
  289. package/dist/core/parties/add-a2a-agent.d.ts +34 -0
  290. package/dist/core/parties/add-a2a-agent.js +45 -0
  291. package/dist/core/parties/add-a2a-agent.js.map +1 -0
  292. package/dist/core/parties/add-a2a-client.d.ts +30 -0
  293. package/dist/core/parties/add-a2a-client.js +47 -0
  294. package/dist/core/parties/add-a2a-client.js.map +1 -0
  295. package/dist/core/parties/add-client-party.d.ts +38 -0
  296. package/dist/core/parties/add-client-party.js +40 -0
  297. package/dist/core/parties/add-client-party.js.map +1 -0
  298. package/dist/core/parties/approve-party.d.ts +43 -2
  299. package/dist/core/parties/approve-party.js +9 -5
  300. package/dist/core/parties/approve-party.js.map +1 -1
  301. package/dist/core/parties/approver.d.ts +7 -0
  302. package/dist/core/parties/approver.js +9 -0
  303. package/dist/core/parties/approver.js.map +1 -0
  304. package/dist/core/parties/check-server.d.ts +2 -1
  305. package/dist/core/parties/check-server.js +1 -1
  306. package/dist/core/parties/check-server.js.map +1 -1
  307. package/dist/core/parties/crew-party.d.ts +18 -4
  308. package/dist/core/parties/crew-party.js +36 -4
  309. package/dist/core/parties/crew-party.js.map +1 -1
  310. package/dist/core/parties/party.d.ts +23 -1
  311. package/dist/core/parties/party.js +17 -4
  312. package/dist/core/parties/party.js.map +1 -1
  313. package/dist/core/parties/ports.d.ts +16 -0
  314. package/dist/core/parties/read-party-tools.d.ts +4 -3
  315. package/dist/core/parties/read-party-tools.js +4 -2
  316. package/dist/core/parties/read-party-tools.js.map +1 -1
  317. package/dist/core/parties/shown-party.d.ts +8 -0
  318. package/dist/core/parties/shown-party.js +4 -0
  319. package/dist/core/parties/shown-party.js.map +1 -1
  320. package/dist/core/parties/switch-tool.d.ts +29 -0
  321. package/dist/core/parties/switch-tool.js +33 -0
  322. package/dist/core/parties/switch-tool.js.map +1 -0
  323. package/dist/core/parties/tool-switches.d.ts +27 -0
  324. package/dist/core/parties/tool-switches.js +17 -0
  325. package/dist/core/parties/tool-switches.js.map +1 -0
  326. package/dist/core/people/answer-delivery.d.ts +2 -1
  327. package/dist/core/people/answer-delivery.js.map +1 -1
  328. package/dist/core/people/done-delivery.d.ts +2 -1
  329. package/dist/core/people/done-delivery.js.map +1 -1
  330. package/dist/core/people/focus-page.d.ts +18 -0
  331. package/dist/core/people/focus-page.js +20 -0
  332. package/dist/core/people/focus-page.js.map +1 -0
  333. package/dist/core/people/open-delivery.d.ts +3 -1
  334. package/dist/core/people/open-delivery.js +2 -0
  335. package/dist/core/people/open-delivery.js.map +1 -1
  336. package/dist/core/people/opened-of.d.ts +7 -2
  337. package/dist/core/people/opened-of.js +6 -1
  338. package/dist/core/people/opened-of.js.map +1 -1
  339. package/dist/core/people/person-crew.d.ts +2 -0
  340. package/dist/core/people/person-crew.js +6 -2
  341. package/dist/core/people/person-crew.js.map +1 -1
  342. package/dist/core/people/ports.d.ts +151 -3
  343. package/dist/core/people/read-wake-channels.d.ts +42 -0
  344. package/dist/core/people/read-wake-channels.js +21 -0
  345. package/dist/core/people/read-wake-channels.js.map +1 -0
  346. package/dist/core/people/turn-email-channel.d.ts +21 -0
  347. package/dist/core/people/turn-email-channel.js +22 -0
  348. package/dist/core/people/turn-email-channel.js.map +1 -0
  349. package/dist/core/people/turn-off-web-push.d.ts +13 -0
  350. package/dist/core/people/turn-off-web-push.js +14 -0
  351. package/dist/core/people/turn-off-web-push.js.map +1 -0
  352. package/dist/core/people/turn-on-web-push.d.ts +35 -0
  353. package/dist/core/people/turn-on-web-push.js +49 -0
  354. package/dist/core/people/turn-on-web-push.js.map +1 -0
  355. package/dist/core/people/wait-on-person-ship.d.ts +44 -0
  356. package/dist/core/people/wait-on-person-ship.js +92 -0
  357. package/dist/core/people/wait-on-person-ship.js.map +1 -0
  358. package/dist/core/people/wake-person.d.ts +40 -0
  359. package/dist/core/people/wake-person.js +74 -0
  360. package/dist/core/people/wake-person.js.map +1 -0
  361. package/dist/core/people/web-push-channel.d.ts +17 -0
  362. package/dist/core/people/web-push-channel.js +35 -0
  363. package/dist/core/people/web-push-channel.js.map +1 -0
  364. package/dist/core/requests/decide-request.d.ts +0 -2
  365. package/dist/core/requests/decide-request.js +3 -6
  366. package/dist/core/requests/decide-request.js.map +1 -1
  367. package/dist/core/requests/list-to-decide.js +1 -1
  368. package/dist/core/requests/list-to-decide.js.map +1 -1
  369. package/dist/core/shared/errors.d.ts +1 -1
  370. package/dist/core/shared/errors.js.map +1 -1
  371. package/dist/core/sign-in/ports.d.ts +13 -0
  372. package/dist/core/vault/credential.d.ts +6 -2
  373. package/dist/party-workers.d.ts +9 -1
  374. package/dist/party-workers.js +37 -5
  375. package/dist/party-workers.js.map +1 -1
  376. package/dist/person-waiters.d.ts +30 -0
  377. package/dist/person-waiters.js +89 -0
  378. package/dist/person-waiters.js.map +1 -0
  379. package/package.json +7 -3
  380. package/src/adapters/prisma/migrations/20261023120000_party_bearer_hash/migration.sql +4 -0
  381. package/src/adapters/prisma/migrations/20261023130000_client_credentials/migration.sql +5 -0
  382. package/src/adapters/prisma/migrations/20261023200000_a2a_tasks/migration.sql +20 -0
  383. package/src/adapters/prisma/migrations/20261023210000_tool_switches/migration.sql +2 -0
  384. package/src/adapters/prisma/migrations/20261024090000_a2a_pushes/migration.sql +37 -0
  385. package/src/adapters/prisma/migrations/20261024100000_party_is_repeatable/migration.sql +2 -0
  386. package/src/adapters/prisma/migrations/20261024110000_a2a_agent_calls/migration.sql +29 -0
  387. package/src/adapters/prisma/migrations/20261024115000_wakes/migration.sql +17 -0
  388. package/src/adapters/prisma/migrations/20261024120000_focused_pages/migration.sql +11 -0
  389. package/src/adapters/prisma/migrations/20261024130000_web_push_subscriptions/migration.sql +14 -0
  390. package/src/adapters/prisma/schema.prisma +159 -5
  391. package/web/.next/BUILD_ID +1 -1
  392. package/web/.next/app-path-routes-manifest.json +14 -11
  393. package/web/.next/build-manifest.json +39 -15
  394. package/web/.next/diagnostics/route-bundle-stats.json +107 -58
  395. package/web/.next/fallback-build-manifest.json +3 -3
  396. package/web/.next/next-minimal-server.js.nft.json +1 -1
  397. package/web/.next/next-server.js.nft.json +1 -1
  398. package/web/.next/prerender-manifest.json +3 -3
  399. package/web/.next/routes-manifest.json +18 -0
  400. package/web/.next/server/app/(console)/outside-parties/[name]/change/page/app-paths-manifest.json +3 -0
  401. package/web/.next/server/app/(console)/outside-parties/[name]/change/page/build-manifest.json +23 -0
  402. package/web/.next/server/app/(console)/outside-parties/[name]/change/page/next-font-manifest.json +11 -0
  403. package/web/.next/server/app/(console)/outside-parties/[name]/change/page/server-reference-manifest.json +55 -0
  404. package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js +25 -0
  405. package/web/.next/server/app/(console)/outside-parties/[name]/change/page.js.nft.json +1 -0
  406. package/web/.next/server/app/(console)/outside-parties/[name]/change/page_client-reference-manifest.js +3 -0
  407. package/web/.next/server/app/(console)/outside-parties/[name]/page/app-paths-manifest.json +3 -0
  408. package/web/.next/server/app/{outside-parties/[name]/retire → (console)/outside-parties/[name]}/page/build-manifest.json +1 -1
  409. package/web/.next/server/app/{outside-parties/[name]/retire → (console)/outside-parties/[name]}/page/next-font-manifest.json +1 -1
  410. package/web/.next/server/app/(console)/outside-parties/[name]/page/server-reference-manifest.json +35 -0
  411. package/web/.next/server/app/(console)/outside-parties/[name]/page.js +24 -0
  412. package/web/.next/server/app/(console)/outside-parties/[name]/page.js.nft.json +1 -0
  413. package/web/.next/server/app/(console)/outside-parties/[name]/page_client-reference-manifest.js +3 -0
  414. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/app-paths-manifest.json +3 -0
  415. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/build-manifest.json +23 -0
  416. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/next-font-manifest.json +11 -0
  417. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page/server-reference-manifest.json +55 -0
  418. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js +25 -0
  419. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page.js.nft.json +1 -0
  420. package/web/.next/server/app/(console)/outside-parties/[name]/retire/page_client-reference-manifest.js +3 -0
  421. package/web/.next/server/app/(console)/outside-parties/add/page/app-paths-manifest.json +3 -0
  422. package/web/.next/server/app/{outside-parties/[name]/change → (console)/outside-parties/add}/page/build-manifest.json +1 -1
  423. package/web/.next/server/app/{outside-parties/[name]/change → (console)/outside-parties/add}/page/next-font-manifest.json +1 -1
  424. package/web/.next/server/app/(console)/outside-parties/add/page/server-reference-manifest.json +55 -0
  425. package/web/.next/server/app/(console)/outside-parties/add/page.js +25 -0
  426. package/web/.next/server/app/(console)/outside-parties/add/page.js.nft.json +1 -0
  427. package/web/.next/server/app/(console)/outside-parties/add/page_client-reference-manifest.js +3 -0
  428. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/app-paths-manifest.json +3 -0
  429. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/build-manifest.json +23 -0
  430. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/next-font-manifest.json +11 -0
  431. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page/server-reference-manifest.json +25 -0
  432. package/web/.next/server/app/{outside-parties/add → (console)/outside-parties/add-a2a-agent}/page.js +14 -13
  433. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page.js.nft.json +1 -0
  434. package/web/.next/server/app/(console)/outside-parties/add-a2a-agent/page_client-reference-manifest.js +3 -0
  435. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/app-paths-manifest.json +3 -0
  436. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/build-manifest.json +23 -0
  437. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/next-font-manifest.json +11 -0
  438. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page/server-reference-manifest.json +25 -0
  439. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js +21 -0
  440. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page.js.nft.json +1 -0
  441. package/web/.next/server/app/(console)/outside-parties/add-a2a-client/page_client-reference-manifest.js +3 -0
  442. package/web/.next/server/app/(console)/outside-parties/page/app-paths-manifest.json +3 -0
  443. package/web/.next/server/app/{outside-parties/[name] → (console)/outside-parties}/page/build-manifest.json +1 -1
  444. package/web/.next/server/app/{outside-parties/add → (console)/outside-parties}/page/next-font-manifest.json +1 -1
  445. package/web/.next/server/app/{outside-parties → (console)/outside-parties}/page/server-reference-manifest.json +6 -6
  446. package/web/.next/server/app/{outside-parties → (console)/outside-parties}/page.js +13 -12
  447. package/web/.next/server/app/(console)/outside-parties/page.js.nft.json +1 -0
  448. package/web/.next/server/app/(console)/outside-parties/page_client-reference-manifest.js +3 -0
  449. package/web/.next/server/app/(console)/overview/changes/route/app-paths-manifest.json +3 -0
  450. package/web/.next/server/app/(console)/overview/changes/route.js +7 -0
  451. package/web/.next/server/app/(console)/overview/changes/route.js.nft.json +1 -0
  452. package/web/.next/server/app/(console)/overview/changes/route_client-reference-manifest.js +3 -0
  453. package/web/.next/server/app/(console)/overview/focus/route/app-paths-manifest.json +3 -0
  454. package/web/.next/server/app/(console)/overview/focus/route/build-manifest.json +12 -0
  455. package/web/.next/server/app/(console)/overview/focus/route/server-reference-manifest.json +4 -0
  456. package/web/.next/server/app/(console)/overview/focus/route.js +7 -0
  457. package/web/.next/server/app/(console)/overview/focus/route.js.nft.json +1 -0
  458. package/web/.next/server/app/(console)/overview/focus/route_client-reference-manifest.js +3 -0
  459. package/web/.next/server/app/(console)/overview/page/app-paths-manifest.json +3 -0
  460. package/web/.next/server/app/{sign-in/failed → (console)/overview}/page/build-manifest.json +1 -1
  461. package/web/.next/server/app/{parties → (console)/overview}/page/next-font-manifest.json +1 -1
  462. package/web/.next/server/app/(console)/overview/page/server-reference-manifest.json +75 -0
  463. package/web/.next/server/app/{overview/requests/[requestId] → (console)/overview}/page.js +15 -14
  464. package/web/.next/server/app/(console)/overview/page.js.nft.json +1 -0
  465. package/web/.next/server/app/(console)/overview/page_client-reference-manifest.js +3 -0
  466. package/web/.next/server/app/(console)/overview/requests/[requestId]/page/app-paths-manifest.json +3 -0
  467. package/web/.next/server/app/(console)/overview/requests/[requestId]/page/build-manifest.json +23 -0
  468. package/web/.next/server/app/(console)/overview/requests/[requestId]/page/next-font-manifest.json +11 -0
  469. package/web/.next/server/app/{overview → (console)/overview}/requests/[requestId]/page/server-reference-manifest.json +6 -6
  470. package/web/.next/server/app/{overview → (console)/overview/requests/[requestId]}/page.js +15 -14
  471. package/web/.next/server/app/(console)/overview/requests/[requestId]/page.js.map +5 -0
  472. package/web/.next/server/app/(console)/overview/requests/[requestId]/page.js.nft.json +1 -0
  473. package/web/.next/server/app/(console)/overview/requests/[requestId]/page_client-reference-manifest.js +3 -0
  474. package/web/.next/server/app/(console)/parties/page/app-paths-manifest.json +3 -0
  475. package/web/.next/server/app/{outside-parties → (console)/parties}/page/build-manifest.json +1 -1
  476. package/web/.next/server/app/{outside-parties → (console)/parties}/page/next-font-manifest.json +1 -1
  477. package/web/.next/server/app/(console)/parties/page/react-loadable-manifest.json +1 -0
  478. package/web/.next/server/app/{parties → (console)/parties}/page/server-reference-manifest.json +18 -18
  479. package/web/.next/server/app/{parties → (console)/parties}/page.js +12 -11
  480. package/web/.next/server/app/(console)/parties/page.js.map +5 -0
  481. package/web/.next/server/app/(console)/parties/page.js.nft.json +1 -0
  482. package/web/.next/server/app/(console)/parties/page_client-reference-manifest.js +3 -0
  483. package/web/.next/server/app/(console)/sign-in/failed/page/app-paths-manifest.json +3 -0
  484. package/web/.next/server/app/{outside-parties/add → (console)/sign-in/failed}/page/build-manifest.json +1 -1
  485. package/web/.next/server/app/{outside-parties/[name] → (console)/sign-in/failed}/page/next-font-manifest.json +1 -1
  486. package/web/.next/server/app/(console)/sign-in/failed/page/react-loadable-manifest.json +1 -0
  487. package/web/.next/server/app/{sign-in → (console)/sign-in}/failed/page/server-reference-manifest.json +3 -3
  488. package/web/.next/server/app/{sign-in → (console)/sign-in}/failed/page.js +13 -12
  489. package/web/.next/server/app/(console)/sign-in/failed/page.js.map +5 -0
  490. package/web/.next/server/app/(console)/sign-in/failed/page.js.nft.json +1 -0
  491. package/web/.next/server/app/(console)/sign-in/failed/page_client-reference-manifest.js +3 -0
  492. package/web/.next/server/app/_global-error/page.js +3 -3
  493. package/web/.next/server/app/_global-error/page.js.nft.json +1 -1
  494. package/web/.next/server/app/_global-error.html +1 -1
  495. package/web/.next/server/app/_global-error.rsc +1 -1
  496. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  497. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  498. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  499. package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  500. package/web/.next/server/app/_not-found/page.js +7 -7
  501. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  502. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  503. package/web/.next/server/app/authorize/failed/page/server-reference-manifest.json +1 -1
  504. package/web/.next/server/app/authorize/failed/page.js +11 -9
  505. package/web/.next/server/app/authorize/failed/page.js.nft.json +1 -1
  506. package/web/.next/server/app/authorize/failed/page_client-reference-manifest.js +1 -1
  507. package/web/.next/server/app/authorize/pick/page/server-reference-manifest.json +1 -1
  508. package/web/.next/server/app/authorize/pick/page.js +12 -10
  509. package/web/.next/server/app/authorize/pick/page.js.nft.json +1 -1
  510. package/web/.next/server/app/authorize/pick/page_client-reference-manifest.js +1 -1
  511. package/web/.next/server/app/authorize/waiting/approval/page/server-reference-manifest.json +1 -1
  512. package/web/.next/server/app/authorize/waiting/approval/page.js +11 -9
  513. package/web/.next/server/app/authorize/waiting/approval/page.js.nft.json +1 -1
  514. package/web/.next/server/app/authorize/waiting/approval/page_client-reference-manifest.js +1 -1
  515. package/web/.next/server/app-paths-manifest.json +14 -11
  516. package/web/.next/server/chunks/0b9d__next-internal_server_app_(console)_overview_focus_route_actions_10hgyjvv-6fus.js +3 -0
  517. package/web/.next/server/chunks/1mb5_next-internal_server_app_(console)_overview_changes_route_actions_0zbq7lqsf5nng.js +3 -0
  518. package/web/.next/server/chunks/[externals]__0fgpzedhhntg9._.js +3 -0
  519. package/web/.next/server/chunks/[externals]__0fgpzedhhntg9._.js.map +1 -0
  520. package/web/.next/server/chunks/{[root-of-the-server]__00bbah0fbuex2._.js → [root-of-the-server]__0ykc8bq_c06a1._.js} +22 -22
  521. package/web/.next/server/chunks/[root-of-the-server]__0ykc8bq_c06a1._.js.map +1 -0
  522. package/web/.next/server/chunks/_04is-uopj3op9._.js +3 -0
  523. package/web/.next/server/chunks/_04is-uopj3op9._.js.map +1 -0
  524. package/web/.next/server/chunks/_1-fw4-pwzazl4._.js +3 -0
  525. package/web/.next/server/chunks/_1-fw4-pwzazl4._.js.map +1 -0
  526. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js +3 -0
  527. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_change_page_actions_04td11fxohsfm.js.map +1 -0
  528. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js +3 -0
  529. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_page_actions_0u-45itza1ls7.js.map +1 -0
  530. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js +3 -0
  531. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_[name]_retire_page_actions_0s7ps6i0ts7v5.js.map +1 -0
  532. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js +3 -0
  533. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add-a2a-client_page_actions_0d_wgiu94c32e.js.map +1 -0
  534. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js +3 -0
  535. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_outside-parties_add_page_actions_0yfz_dfn-8uo7.js.map +1 -0
  536. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js +3 -0
  537. package/web/.next/server/chunks/ssr/0vkm_server_app_(console)_overview_requests_[requestId]_page_actions_0uki9j3mtuz9e.js.map +1 -0
  538. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1qpk1uw97id0a._.js → [root-of-the-server]__0-og0bl8lr2xq._.js} +2 -2
  539. package/web/.next/server/chunks/ssr/[root-of-the-server]__0-og0bl8lr2xq._.js.map +1 -0
  540. package/web/.next/server/chunks/ssr/[root-of-the-server]__07udzu2zwg_74._.js +3 -0
  541. package/web/.next/server/chunks/ssr/[root-of-the-server]__07udzu2zwg_74._.js.map +1 -0
  542. package/web/.next/server/chunks/ssr/{[root-of-the-server]__197il4swfpq1a._.js → [root-of-the-server]__0a68v9ynev4q6._.js} +2 -2
  543. package/web/.next/server/chunks/ssr/[root-of-the-server]__0a68v9ynev4q6._.js.map +1 -0
  544. package/web/.next/server/chunks/ssr/[root-of-the-server]__0grpi5wnl9ppf._.js +10 -0
  545. package/web/.next/server/chunks/ssr/[root-of-the-server]__0grpi5wnl9ppf._.js.map +1 -0
  546. package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js +4 -0
  547. package/web/.next/server/chunks/ssr/[root-of-the-server]__0k3g0p3t9t0c-._.js.map +1 -0
  548. package/web/.next/server/chunks/ssr/[root-of-the-server]__0l2_dk9d4o01n._.js +3 -0
  549. package/web/.next/server/chunks/ssr/{[root-of-the-server]__1vkw2kvzx6fpw._.js.map → [root-of-the-server]__0l2_dk9d4o01n._.js.map} +1 -1
  550. package/web/.next/server/chunks/ssr/[root-of-the-server]__0m57jyae0dn_7._.js +3 -0
  551. package/web/.next/server/chunks/ssr/[root-of-the-server]__0m57jyae0dn_7._.js.map +1 -0
  552. package/web/.next/server/chunks/ssr/[root-of-the-server]__0n2us07jk-78w._.js +4 -0
  553. package/web/.next/server/chunks/ssr/[root-of-the-server]__0n2us07jk-78w._.js.map +1 -0
  554. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rr5u24i9tjyc._.js +3 -0
  555. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rr5u24i9tjyc._.js.map +1 -0
  556. package/web/.next/server/chunks/ssr/[root-of-the-server]__10y66e1xx8xiq._.js +1 -1
  557. package/web/.next/server/chunks/ssr/[root-of-the-server]__10y66e1xx8xiq._.js.map +1 -1
  558. package/web/.next/server/chunks/ssr/[root-of-the-server]__11w36a4le04vy._.js +3 -0
  559. package/web/.next/server/chunks/ssr/[root-of-the-server]__11w36a4le04vy._.js.map +1 -0
  560. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0ntyo9p3x-w6a._.js → [root-of-the-server]__179upda-y7uap._.js} +2 -2
  561. package/web/.next/server/chunks/ssr/[root-of-the-server]__179upda-y7uap._.js.map +1 -0
  562. package/web/.next/server/chunks/ssr/[root-of-the-server]__1dtyycvqa6uht._.js +4 -0
  563. package/web/.next/server/chunks/ssr/[root-of-the-server]__1dtyycvqa6uht._.js.map +1 -0
  564. package/web/.next/server/chunks/ssr/[root-of-the-server]__1gb-3dttuacyz._.js +3 -0
  565. package/web/.next/server/chunks/ssr/[root-of-the-server]__1gb-3dttuacyz._.js.map +1 -0
  566. package/web/.next/server/chunks/ssr/[root-of-the-server]__1k25lo5ka4mgd._.js +3 -0
  567. package/web/.next/server/chunks/ssr/[root-of-the-server]__1k25lo5ka4mgd._.js.map +1 -0
  568. package/web/.next/server/chunks/ssr/[root-of-the-server]__1m9atpy0vkbmj._.js +3 -0
  569. package/web/.next/server/chunks/ssr/{[root-of-the-server]__0dywrno7zb0r_._.js.map → [root-of-the-server]__1m9atpy0vkbmj._.js.map} +1 -1
  570. package/web/.next/server/chunks/ssr/[root-of-the-server]__1n_sq_58wdluh._.js +3 -0
  571. package/web/.next/server/chunks/ssr/[root-of-the-server]__1n_sq_58wdluh._.js.map +1 -0
  572. package/web/.next/server/chunks/ssr/[root-of-the-server]__1w5swo8gmjyx6._.js +3 -0
  573. package/web/.next/server/chunks/ssr/{[root-of-the-server]__216xd8otb96uo._.js.map → [root-of-the-server]__1w5swo8gmjyx6._.js.map} +1 -1
  574. package/web/.next/server/chunks/ssr/[root-of-the-server]__1wl0vw-n8lbkn._.js +1 -1
  575. package/web/.next/server/chunks/ssr/[root-of-the-server]__1yjb00o7x58xv._.js +3 -0
  576. package/web/.next/server/chunks/ssr/[root-of-the-server]__1yjb00o7x58xv._.js.map +1 -0
  577. package/web/.next/server/chunks/ssr/_0-lfpqqlgfhzj._.js +3 -0
  578. package/web/.next/server/chunks/ssr/_0-lfpqqlgfhzj._.js.map +1 -0
  579. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js +1 -1
  580. package/web/.next/server/chunks/ssr/_00hfzlqn1og18._.js.map +1 -1
  581. package/web/.next/server/chunks/ssr/_0bhvvyz0q_0ja._.js +4 -0
  582. package/web/.next/server/chunks/ssr/_0bhvvyz0q_0ja._.js.map +1 -0
  583. package/web/.next/server/chunks/ssr/{_13qzwpag13tvy._.js → _0pyd1_y7w8ngp._.js} +2 -2
  584. package/web/.next/server/chunks/ssr/_0pyd1_y7w8ngp._.js.map +1 -0
  585. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js +1 -1
  586. package/web/.next/server/chunks/ssr/_0xickgbbju_9-._.js.map +1 -1
  587. package/web/.next/server/chunks/ssr/_12fsn_33ga-n0._.js +3 -0
  588. package/web/.next/server/chunks/ssr/_12fsn_33ga-n0._.js.map +1 -0
  589. package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js +4 -0
  590. package/web/.next/server/chunks/ssr/_1_wav28san6dm._.js.map +1 -0
  591. package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js +3 -0
  592. package/web/.next/server/chunks/ssr/_1hmjvjuxx92vo._.js.map +1 -0
  593. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js +1 -1
  594. package/web/.next/server/chunks/ssr/_1pjtire7rqla0._.js.map +1 -1
  595. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js +1 -1
  596. package/web/.next/server/chunks/ssr/_1qbsmlji34yph._.js.map +1 -1
  597. package/web/.next/server/chunks/ssr/node_modules_0cyjln1rocvt5._.js +3 -0
  598. package/web/.next/server/chunks/ssr/node_modules_0cyjln1rocvt5._.js.map +1 -0
  599. package/web/.next/server/chunks/ssr/node_modules_1ins1z8o_qrka._.js +3 -0
  600. package/web/.next/server/chunks/ssr/node_modules_1ins1z8o_qrka._.js.map +1 -0
  601. package/web/.next/server/chunks/ssr/node_modules_1wdusod3fyk3s._.js +3 -0
  602. package/web/.next/server/chunks/ssr/node_modules_1wdusod3fyk3s._.js.map +1 -0
  603. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1id6g-6m2hh0l._.js +3 -0
  604. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1id6g-6m2hh0l._.js.map +1 -0
  605. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js +3 -0
  606. package/web/.next/server/chunks/ssr/node_modules_@aeolus-fleet_common_dist_header_1jvz31plyg2f-._.js.map +1 -0
  607. package/web/.next/server/chunks/ssr/node_modules_next_08hq6z46rczo0._.js +1 -1
  608. package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1datokkgym0.js +3 -0
  609. package/web/.next/server/chunks/ssr/node_modules_next_dist_client_components_server-async-storage_0t1datokkgym0.js.map +1 -0
  610. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06etuymo2azrg.js +3 -0
  611. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06etuymo2azrg.js.map +1 -0
  612. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcy-jnk5o43.js +3 -0
  613. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08lcy-jnk5o43.js.map +1 -0
  614. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0bnypafopxsfl.js +3 -0
  615. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0bnypafopxsfl.js.map +1 -0
  616. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0e8cobt3o_8ur.js +3 -0
  617. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0e8cobt3o_8ur.js.map +1 -0
  618. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0gzed-epom5si.js +3 -0
  619. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0gzed-epom5si.js.map +1 -0
  620. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0k0-b63ptvbl5.js +3 -0
  621. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0k0-b63ptvbl5.js.map +1 -0
  622. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pik0g65vv-wi.js +3 -0
  623. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pik0g65vv-wi.js.map +1 -0
  624. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0xccr6d8xcb1p.js +3 -0
  625. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0xccr6d8xcb1p.js.map +1 -0
  626. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_13agc620bnznv.js +3 -0
  627. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_13agc620bnznv.js.map +1 -0
  628. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_184-gj4lz41i-.js +3 -0
  629. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_184-gj4lz41i-.js.map +1 -0
  630. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1bt2ioufqh6fl.js +3 -0
  631. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1bt2ioufqh6fl.js.map +1 -0
  632. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1d613l6zsee_e.js +3 -0
  633. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1d613l6zsee_e.js.map +1 -0
  634. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o0-ipfysjmro.js +3 -0
  635. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1o0-ipfysjmro.js.map +1 -0
  636. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1x-0vplt44lez.js +3 -0
  637. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1x-0vplt44lez.js.map +1 -0
  638. package/web/.next/server/chunks/ssr/web_0-ufi2al5ubig._.js +3 -0
  639. package/web/.next/server/chunks/ssr/web_0-ufi2al5ubig._.js.map +1 -0
  640. package/web/.next/server/chunks/ssr/web_0_jk9eione6lx._.js +3 -0
  641. package/web/.next/server/chunks/ssr/web_0_jk9eione6lx._.js.map +1 -0
  642. package/web/.next/server/chunks/ssr/web_0v-7sowo0hupw._.js.map +1 -1
  643. package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js +3 -0
  644. package/web/.next/server/chunks/ssr/web_0wys4l6za8umr._.js.map +1 -0
  645. package/web/.next/server/chunks/ssr/web_1ga4pbv72m0ad._.js +3 -0
  646. package/web/.next/server/chunks/ssr/web_1ga4pbv72m0ad._.js.map +1 -0
  647. package/web/.next/server/chunks/ssr/{web_1nqu01kfi0u66._.js → web_1loiet18xbddu._.js} +2 -2
  648. package/web/.next/server/chunks/ssr/web_1loiet18xbddu._.js.map +1 -0
  649. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js +3 -0
  650. package/web/.next/server/chunks/ssr/web__next-internal_server_app_(console)_overview_page_actions_18on1ziyg1nzy.js.map +1 -0
  651. package/web/.next/server/chunks/ssr/web_app_(console)_layout_tsx_1t-5g79yb9xtl._.js +3 -0
  652. package/web/.next/server/chunks/ssr/web_app_(console)_layout_tsx_1t-5g79yb9xtl._.js.map +1 -0
  653. package/web/.next/server/chunks/ssr/{web_app_outside-parties_[name]_change_page_tsx_0kfjh3f55us56._.js → web_app_(console)_outside-parties_[name]_change_page_tsx_00bpg0s2eypj9._.js} +2 -2
  654. package/web/.next/server/chunks/ssr/web_app_(console)_outside-parties_[name]_change_page_tsx_00bpg0s2eypj9._.js.map +1 -0
  655. package/web/.next/server/chunks/ssr/{web_app_outside-parties_[name]_retire_page_tsx_0qhcnjpjipu_2._.js → web_app_(console)_outside-parties_[name]_retire_page_tsx_1zxy74pr5_2kn._.js} +2 -2
  656. package/web/.next/server/chunks/ssr/web_app_(console)_outside-parties_[name]_retire_page_tsx_1zxy74pr5_2kn._.js.map +1 -0
  657. package/web/.next/server/chunks/ssr/{web_app_overview_error_tsx_17_cklg40kzxe._.js → web_app_(console)_overview_error_tsx_087e7ba8loavc._.js} +2 -2
  658. package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_087e7ba8loavc._.js.map +1 -0
  659. package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_1nn1jz5nh77af._.js +3 -0
  660. package/web/.next/server/chunks/ssr/web_app_(console)_overview_error_tsx_1nn1jz5nh77af._.js.map +1 -0
  661. package/web/.next/server/chunks/ssr/web_app_(console)_parties_page_tsx_0pp63ghly3eyp._.js +3 -0
  662. package/web/.next/server/chunks/ssr/web_app_(console)_parties_page_tsx_0pp63ghly3eyp._.js.map +1 -0
  663. package/web/.next/server/chunks/ssr/web_app_authorize_layout_tsx_0gs61_7wzx68y._.js +3 -0
  664. package/web/.next/server/chunks/ssr/web_app_authorize_layout_tsx_0gs61_7wzx68y._.js.map +1 -0
  665. package/web/.next/server/chunks/ssr/web_features_085cv0gogrxxf._.js +1 -1
  666. package/web/.next/server/chunks/ssr/web_features_085cv0gogrxxf._.js.map +1 -1
  667. package/web/.next/server/chunks/ssr/web_features_0ahlkugj7fu3n._.js +3 -0
  668. package/web/.next/server/chunks/ssr/web_features_0ahlkugj7fu3n._.js.map +1 -0
  669. package/web/.next/server/chunks/ssr/web_features_0h0ueu8_-_z5k._.js +1 -1
  670. package/web/.next/server/chunks/ssr/web_features_0h0ueu8_-_z5k._.js.map +1 -1
  671. package/web/.next/server/chunks/ssr/web_features_0i_kwiszuiqcp._.js +3 -0
  672. package/web/.next/server/chunks/ssr/web_features_0i_kwiszuiqcp._.js.map +1 -0
  673. package/web/.next/server/chunks/ssr/web_features_0xnlgtw8bfqaa._.js +3 -0
  674. package/web/.next/server/chunks/ssr/web_features_0xnlgtw8bfqaa._.js.map +1 -0
  675. package/web/.next/server/chunks/ssr/web_features_1--8ungjj--ht._.js +3 -0
  676. package/web/.next/server/chunks/ssr/web_features_1--8ungjj--ht._.js.map +1 -0
  677. package/web/.next/server/chunks/ssr/web_features_19v3mlx8c_h1-._.js +3 -0
  678. package/web/.next/server/chunks/ssr/web_features_19v3mlx8c_h1-._.js.map +1 -0
  679. package/web/.next/server/chunks/ssr/web_features_1_2m6l73qk7qw._.js +3 -0
  680. package/web/.next/server/chunks/ssr/web_features_1_2m6l73qk7qw._.js.map +1 -0
  681. package/web/.next/server/chunks/ssr/web_features_1qq_ruz59ldc9._.js +3 -0
  682. package/web/.next/server/chunks/ssr/web_features_1qq_ruz59ldc9._.js.map +1 -0
  683. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js +3 -0
  684. package/web/.next/server/chunks/ssr/web_features_add-a2a-agent_ui_a2a-agent-form_tsx_0z8t1aalwzyl7._.js.map +1 -0
  685. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js +3 -0
  686. package/web/.next/server/chunks/ssr/web_features_add-a2a-client_ui_a2a-client-form_tsx_1anv88g385nwe._.js.map +1 -0
  687. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js +1 -1
  688. package/web/.next/server/chunks/ssr/web_features_add-server_ui_add-server_tsx_1jnmar5xju49k._.js.map +1 -1
  689. package/web/.next/server/chunks/ssr/web_features_authorize_137wk0n1nu3cn._.js +3 -0
  690. package/web/.next/server/chunks/ssr/web_features_authorize_137wk0n1nu3cn._.js.map +1 -0
  691. package/web/.next/server/chunks/ssr/web_features_forms_1d1jyea2jni9o._.js +3 -0
  692. package/web/.next/server/chunks/ssr/web_features_forms_1d1jyea2jni9o._.js.map +1 -0
  693. package/web/.next/server/chunks/ssr/web_features_forms_form-state_ts_2142hiopykfk1._.js +3 -0
  694. package/web/.next/server/chunks/ssr/web_features_forms_form-state_ts_2142hiopykfk1._.js.map +1 -0
  695. package/web/.next/server/chunks/ssr/web_features_forms_ui_credential-fields_tsx_0l-w19zg-7x4b._.js +3 -0
  696. package/web/.next/server/chunks/ssr/web_features_forms_ui_credential-fields_tsx_0l-w19zg-7x4b._.js.map +1 -0
  697. package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js +3 -0
  698. package/web/.next/server/chunks/ssr/web_features_frame_0pe8cwpxe1egb._.js.map +1 -0
  699. package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js +3 -0
  700. package/web/.next/server/chunks/ssr/web_features_frame_ui_gateway-header_tsx_0e9tekx4jf7ng._.js.map +1 -0
  701. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js +1 -1
  702. package/web/.next/server/chunks/ssr/web_features_outside-parties_ui_switch-card_tsx_1_xnu9bm4tc-_._.js.map +1 -1
  703. package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js +1 -1
  704. package/web/.next/server/chunks/ssr/web_features_outside-party_actions_ts_102ar5pdowf8s._.js.map +1 -1
  705. package/web/.next/server/chunks/ssr/web_features_outside-party_ui_20x5u9bhxeehi._.js +3 -0
  706. package/web/.next/server/chunks/ssr/web_features_outside-party_ui_20x5u9bhxeehi._.js.map +1 -0
  707. package/web/.next/server/chunks/ssr/web_features_overview_16dyz2ngvs14b._.js +1 -1
  708. package/web/.next/server/chunks/ssr/web_features_overview_16dyz2ngvs14b._.js.map +1 -1
  709. package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js +1 -1
  710. package/web/.next/server/chunks/ssr/web_features_overview_hooks_overview-actions_ts_0-wrat07d1y5g._.js.map +1 -1
  711. package/web/.next/server/chunks/ssr/web_features_overview_state_1wuk95dw2_whp._.js +3 -0
  712. package/web/.next/server/chunks/ssr/web_features_overview_state_1wuk95dw2_whp._.js.map +1 -0
  713. package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js +1 -1
  714. package/web/.next/server/chunks/ssr/web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js.map +1 -1
  715. package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js +1 -1
  716. package/web/.next/server/chunks/ssr/web_features_parties_actions_ts_0r-tbfsig2ty-._.js.map +1 -1
  717. package/web/.next/server/middleware-build-manifest.js +39 -15
  718. package/web/.next/server/next-font-manifest.js +1 -1
  719. package/web/.next/server/next-font-manifest.json +21 -13
  720. package/web/.next/server/pages/500.html +1 -1
  721. package/web/.next/server/preview-props.json +3 -3
  722. package/web/.next/server/server-reference-manifest.js +1 -1
  723. package/web/.next/server/server-reference-manifest.json +176 -74
  724. package/web/.next/static/chunks/00njqo86bx2kb.js +1 -0
  725. package/web/.next/static/chunks/047i2x2j--shk.css +3 -0
  726. package/web/.next/static/chunks/07j7jnfe13wx6.js +1 -0
  727. package/web/.next/static/chunks/0g4cpamshfwmn.js +1 -0
  728. package/web/.next/static/chunks/0j84uiid6fsim.js +1 -0
  729. package/web/.next/static/chunks/0p_kl57bddsiy.js +1 -0
  730. package/web/.next/static/chunks/1aa1d23q1vokr.js +1 -0
  731. package/web/.next/static/chunks/1ca21kggixrjz.js +1 -0
  732. package/web/.next/static/chunks/1jvae6c-4jwji.js +1 -0
  733. package/web/.next/static/chunks/23ud2e13dn8f4.js +1 -0
  734. package/web/.next/static/chunks/2_41h3v090ur9.js +1 -0
  735. package/web/.next/static/chunks/2x00o45pdbkok.js +1 -0
  736. package/web/.next/static/chunks/31vy122d9fvme.js +1 -0
  737. package/web/.next/static/chunks/3apnqdh48__yw.js +1 -0
  738. package/web/.next/static/chunks/3okm5g88ig1l3.js +1 -0
  739. package/web/.next/static/chunks/{0a1vw3r93lh06.js → 3v6tr952p9dba.js} +1 -1
  740. package/web/.next/trace +1 -1
  741. package/web/.next/trace-build +1 -1
  742. package/web/.next/types/routes.d.ts +8 -3
  743. package/web/.next/types/validator.ts +128 -50
  744. package/web/public/wake-worker.js +17 -0
  745. package/web/.next/server/app/outside-parties/[name]/change/page/app-paths-manifest.json +0 -3
  746. package/web/.next/server/app/outside-parties/[name]/change/page/server-reference-manifest.json +0 -35
  747. package/web/.next/server/app/outside-parties/[name]/change/page.js +0 -22
  748. package/web/.next/server/app/outside-parties/[name]/change/page.js.nft.json +0 -1
  749. package/web/.next/server/app/outside-parties/[name]/change/page_client-reference-manifest.js +0 -3
  750. package/web/.next/server/app/outside-parties/[name]/page/app-paths-manifest.json +0 -3
  751. package/web/.next/server/app/outside-parties/[name]/page/server-reference-manifest.json +0 -15
  752. package/web/.next/server/app/outside-parties/[name]/page.js +0 -20
  753. package/web/.next/server/app/outside-parties/[name]/page.js.nft.json +0 -1
  754. package/web/.next/server/app/outside-parties/[name]/page_client-reference-manifest.js +0 -3
  755. package/web/.next/server/app/outside-parties/[name]/retire/page/app-paths-manifest.json +0 -3
  756. package/web/.next/server/app/outside-parties/[name]/retire/page/server-reference-manifest.json +0 -35
  757. package/web/.next/server/app/outside-parties/[name]/retire/page.js +0 -21
  758. package/web/.next/server/app/outside-parties/[name]/retire/page.js.nft.json +0 -1
  759. package/web/.next/server/app/outside-parties/[name]/retire/page_client-reference-manifest.js +0 -3
  760. package/web/.next/server/app/outside-parties/add/page/app-paths-manifest.json +0 -3
  761. package/web/.next/server/app/outside-parties/add/page/server-reference-manifest.json +0 -35
  762. package/web/.next/server/app/outside-parties/add/page.js.nft.json +0 -1
  763. package/web/.next/server/app/outside-parties/add/page_client-reference-manifest.js +0 -3
  764. package/web/.next/server/app/outside-parties/page/app-paths-manifest.json +0 -3
  765. package/web/.next/server/app/outside-parties/page.js.nft.json +0 -1
  766. package/web/.next/server/app/outside-parties/page_client-reference-manifest.js +0 -3
  767. package/web/.next/server/app/overview/changes/route/app-paths-manifest.json +0 -3
  768. package/web/.next/server/app/overview/changes/route.js +0 -6
  769. package/web/.next/server/app/overview/changes/route.js.nft.json +0 -1
  770. package/web/.next/server/app/overview/changes/route_client-reference-manifest.js +0 -3
  771. package/web/.next/server/app/overview/page/app-paths-manifest.json +0 -3
  772. package/web/.next/server/app/overview/page/build-manifest.json +0 -23
  773. package/web/.next/server/app/overview/page/next-font-manifest.json +0 -11
  774. package/web/.next/server/app/overview/page/server-reference-manifest.json +0 -45
  775. package/web/.next/server/app/overview/page.js.nft.json +0 -1
  776. package/web/.next/server/app/overview/page_client-reference-manifest.js +0 -3
  777. package/web/.next/server/app/overview/requests/[requestId]/page/app-paths-manifest.json +0 -3
  778. package/web/.next/server/app/overview/requests/[requestId]/page/build-manifest.json +0 -23
  779. package/web/.next/server/app/overview/requests/[requestId]/page/next-font-manifest.json +0 -11
  780. package/web/.next/server/app/overview/requests/[requestId]/page.js.nft.json +0 -1
  781. package/web/.next/server/app/overview/requests/[requestId]/page_client-reference-manifest.js +0 -3
  782. package/web/.next/server/app/parties/page/app-paths-manifest.json +0 -3
  783. package/web/.next/server/app/parties/page/build-manifest.json +0 -23
  784. package/web/.next/server/app/parties/page.js.nft.json +0 -1
  785. package/web/.next/server/app/parties/page_client-reference-manifest.js +0 -3
  786. package/web/.next/server/app/sign-in/failed/page/app-paths-manifest.json +0 -3
  787. package/web/.next/server/app/sign-in/failed/page/next-font-manifest.json +0 -11
  788. package/web/.next/server/app/sign-in/failed/page.js.nft.json +0 -1
  789. package/web/.next/server/app/sign-in/failed/page_client-reference-manifest.js +0 -3
  790. package/web/.next/server/chunks/[externals]__12s2uxrv8n30f._.js +0 -3
  791. package/web/.next/server/chunks/[root-of-the-server]__00bbah0fbuex2._.js.map +0 -1
  792. package/web/.next/server/chunks/ssr/0vkm_server_app_overview_requests_[requestId]_page_actions_08cpboirhdm8t.js +0 -3
  793. package/web/.next/server/chunks/ssr/0vkm_server_app_overview_requests_[requestId]_page_actions_08cpboirhdm8t.js.map +0 -1
  794. package/web/.next/server/chunks/ssr/[root-of-the-server]__0-liudmjwlqmo._.js +0 -4
  795. package/web/.next/server/chunks/ssr/[root-of-the-server]__0-liudmjwlqmo._.js.map +0 -1
  796. package/web/.next/server/chunks/ssr/[root-of-the-server]__0dywrno7zb0r_._.js +0 -3
  797. package/web/.next/server/chunks/ssr/[root-of-the-server]__0hosi33y5xecr._.js +0 -3
  798. package/web/.next/server/chunks/ssr/[root-of-the-server]__0hosi33y5xecr._.js.map +0 -1
  799. package/web/.next/server/chunks/ssr/[root-of-the-server]__0ntyo9p3x-w6a._.js.map +0 -1
  800. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rzvf7wb60m05._.js +0 -3
  801. package/web/.next/server/chunks/ssr/[root-of-the-server]__0rzvf7wb60m05._.js.map +0 -1
  802. package/web/.next/server/chunks/ssr/[root-of-the-server]__10rfwy-punm8_._.js +0 -3
  803. package/web/.next/server/chunks/ssr/[root-of-the-server]__10rfwy-punm8_._.js.map +0 -1
  804. package/web/.next/server/chunks/ssr/[root-of-the-server]__11e7zi5yg_f_4._.js +0 -4
  805. package/web/.next/server/chunks/ssr/[root-of-the-server]__11e7zi5yg_f_4._.js.map +0 -1
  806. package/web/.next/server/chunks/ssr/[root-of-the-server]__197il4swfpq1a._.js.map +0 -1
  807. package/web/.next/server/chunks/ssr/[root-of-the-server]__1afrhvkbp010p._.js +0 -3
  808. package/web/.next/server/chunks/ssr/[root-of-the-server]__1afrhvkbp010p._.js.map +0 -1
  809. package/web/.next/server/chunks/ssr/[root-of-the-server]__1qpk1uw97id0a._.js.map +0 -1
  810. package/web/.next/server/chunks/ssr/[root-of-the-server]__1vkw2kvzx6fpw._.js +0 -3
  811. package/web/.next/server/chunks/ssr/[root-of-the-server]__1yyfc4xf3xa-s._.js +0 -4
  812. package/web/.next/server/chunks/ssr/[root-of-the-server]__1yyfc4xf3xa-s._.js.map +0 -1
  813. package/web/.next/server/chunks/ssr/[root-of-the-server]__216xd8otb96uo._.js +0 -3
  814. package/web/.next/server/chunks/ssr/_03xm-6l-r6ko0._.js +0 -4
  815. package/web/.next/server/chunks/ssr/_03xm-6l-r6ko0._.js.map +0 -1
  816. package/web/.next/server/chunks/ssr/_04iwj3w0divwb._.js +0 -4
  817. package/web/.next/server/chunks/ssr/_04iwj3w0divwb._.js.map +0 -1
  818. package/web/.next/server/chunks/ssr/_13qzwpag13tvy._.js.map +0 -1
  819. package/web/.next/server/chunks/ssr/_1bfq0g9c1iw__._.js +0 -4
  820. package/web/.next/server/chunks/ssr/_1bfq0g9c1iw__._.js.map +0 -1
  821. package/web/.next/server/chunks/ssr/_1jfy4064jcghi._.js +0 -3
  822. package/web/.next/server/chunks/ssr/_1jfy4064jcghi._.js.map +0 -1
  823. package/web/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwhip-98t.js +0 -3
  824. package/web/.next/server/chunks/ssr/node_modules_next_dist_compiled_@opentelemetry_api_index_1oy1nwhip-98t.js.map +0 -1
  825. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_03zgfhccdkaiy.js +0 -3
  826. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_03zgfhccdkaiy.js.map +0 -1
  827. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0fj-1791_p39n.js +0 -3
  828. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0fj-1791_p39n.js.map +0 -1
  829. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pq59x3iko2ai.js +0 -3
  830. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0pq59x3iko2ai.js.map +0 -1
  831. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0svltk31-r84e.js +0 -3
  832. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0svltk31-r84e.js.map +0 -1
  833. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ytc4y16h581t.js +0 -3
  834. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ytc4y16h581t.js.map +0 -1
  835. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_15hcath_cy93j.js +0 -3
  836. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_15hcath_cy93j.js.map +0 -1
  837. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ej-pov8ir4hb.js +0 -3
  838. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ej-pov8ir4hb.js.map +0 -1
  839. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1emdm3ck_2g9k.js +0 -3
  840. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1emdm3ck_2g9k.js.map +0 -1
  841. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mvwdrj8rcdc5.js +0 -3
  842. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1mvwdrj8rcdc5.js.map +0 -1
  843. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uc-ufaepnlh_.js +0 -3
  844. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1uc-ufaepnlh_.js.map +0 -1
  845. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ymh04086158y.js +0 -3
  846. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ymh04086158y.js.map +0 -1
  847. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1z9khw-ht54ev.js +0 -3
  848. package/web/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1z9khw-ht54ev.js.map +0 -1
  849. package/web/.next/server/chunks/ssr/web_0vot73dagfg_x._.js +0 -3
  850. package/web/.next/server/chunks/ssr/web_0vot73dagfg_x._.js.map +0 -1
  851. package/web/.next/server/chunks/ssr/web_17c7_dhsf-sjp._.js +0 -3
  852. package/web/.next/server/chunks/ssr/web_17c7_dhsf-sjp._.js.map +0 -1
  853. package/web/.next/server/chunks/ssr/web_1j5yjwqkgyeve._.js +0 -3
  854. package/web/.next/server/chunks/ssr/web_1j5yjwqkgyeve._.js.map +0 -1
  855. package/web/.next/server/chunks/ssr/web_1nqu01kfi0u66._.js.map +0 -1
  856. package/web/.next/server/chunks/ssr/web_1zd285_dq60z5._.js +0 -3
  857. package/web/.next/server/chunks/ssr/web_1zd285_dq60z5._.js.map +0 -1
  858. package/web/.next/server/chunks/ssr/web_207u8paamz3z-._.js +0 -10
  859. package/web/.next/server/chunks/ssr/web_207u8paamz3z-._.js.map +0 -1
  860. package/web/.next/server/chunks/ssr/web__next-internal_server_app_outside-parties_add_page_actions_0wclx47vjdhe6.js +0 -3
  861. package/web/.next/server/chunks/ssr/web__next-internal_server_app_outside-parties_add_page_actions_0wclx47vjdhe6.js.map +0 -1
  862. package/web/.next/server/chunks/ssr/web__next-internal_server_app_overview_page_actions_0hxu14a57nlf2.js +0 -3
  863. package/web/.next/server/chunks/ssr/web__next-internal_server_app_overview_page_actions_0hxu14a57nlf2.js.map +0 -1
  864. package/web/.next/server/chunks/ssr/web_app_not-found_tsx_1miwllm8xrp2a._.js +0 -3
  865. package/web/.next/server/chunks/ssr/web_app_not-found_tsx_1miwllm8xrp2a._.js.map +0 -1
  866. package/web/.next/server/chunks/ssr/web_app_outside-parties_[name]_change_page_tsx_0kfjh3f55us56._.js.map +0 -1
  867. package/web/.next/server/chunks/ssr/web_app_outside-parties_[name]_retire_page_tsx_0qhcnjpjipu_2._.js.map +0 -1
  868. package/web/.next/server/chunks/ssr/web_app_overview_error_tsx_0qlcwxupzw726._.js +0 -3
  869. package/web/.next/server/chunks/ssr/web_app_overview_error_tsx_0qlcwxupzw726._.js.map +0 -1
  870. package/web/.next/server/chunks/ssr/web_app_overview_error_tsx_17_cklg40kzxe._.js.map +0 -1
  871. package/web/.next/server/chunks/ssr/web_app_parties_page_tsx_1lilxm339jj89._.js +0 -3
  872. package/web/.next/server/chunks/ssr/web_app_parties_page_tsx_1lilxm339jj89._.js.map +0 -1
  873. package/web/.next/server/chunks/ssr/web_features_0k3zd1eymtkgq._.js +0 -3
  874. package/web/.next/server/chunks/ssr/web_features_0k3zd1eymtkgq._.js.map +0 -1
  875. package/web/.next/server/chunks/ssr/web_features_0vq1wjkuh6dmr._.js +0 -3
  876. package/web/.next/server/chunks/ssr/web_features_0vq1wjkuh6dmr._.js.map +0 -1
  877. package/web/.next/server/chunks/ssr/web_features_forms_03k1kg82ux_ee._.js +0 -3
  878. package/web/.next/server/chunks/ssr/web_features_forms_03k1kg82ux_ee._.js.map +0 -1
  879. package/web/.next/server/chunks/ssr/web_features_forms_1-88lvs4ivi73._.js +0 -3
  880. package/web/.next/server/chunks/ssr/web_features_forms_1-88lvs4ivi73._.js.map +0 -1
  881. package/web/.next/server/chunks/ssr/web_features_forms_15gausi3cpweg._.js +0 -3
  882. package/web/.next/server/chunks/ssr/web_features_forms_15gausi3cpweg._.js.map +0 -1
  883. package/web/.next/server/chunks/ssr/web_features_outside-party_ui_outside-party_tsx_06a94oekz1ckq._.js +0 -3
  884. package/web/.next/server/chunks/ssr/web_features_outside-party_ui_outside-party_tsx_06a94oekz1ckq._.js.map +0 -1
  885. package/web/.next/server/chunks/ssr/web_features_overview_state_inbox-panel_tsx_03hlegjsc27sb._.js +0 -3
  886. package/web/.next/server/chunks/ssr/web_features_overview_state_inbox-panel_tsx_03hlegjsc27sb._.js.map +0 -1
  887. package/web/.next/server/chunks/web__next-internal_server_app_overview_changes_route_actions_16jqwsctr1pzg.js +0 -3
  888. package/web/.next/static/chunks/0214opd1iq3ld.js +0 -1
  889. package/web/.next/static/chunks/0hobzrlhklo3e.js +0 -1
  890. package/web/.next/static/chunks/1ma7v1viiz247.js +0 -1
  891. package/web/.next/static/chunks/1sgi4p93eayf4.js +0 -1
  892. package/web/.next/static/chunks/22u81hd6kxqsx.js +0 -1
  893. package/web/.next/static/chunks/2qpupho1jn-iy.js +0 -1
  894. package/web/.next/static/chunks/2rap-vrom5-zw.css +0 -3
  895. package/web/.next/static/chunks/3jr0srcv_-pfa.js +0 -1
  896. package/web/.next/static/chunks/3l_1gcuoe8bfn.js +0 -1
  897. package/web/.next/static/chunks/3sv0_hjr9t4cp.js +0 -1
  898. /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/change/page/react-loadable-manifest.json +0 -0
  899. /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/change/page.js.map +0 -0
  900. /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/page/react-loadable-manifest.json +0 -0
  901. /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/page.js.map +0 -0
  902. /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/retire/page/react-loadable-manifest.json +0 -0
  903. /package/web/.next/server/app/{outside-parties → (console)/outside-parties}/[name]/retire/page.js.map +0 -0
  904. /package/web/.next/server/app/{overview → (console)/outside-parties/add}/page/react-loadable-manifest.json +0 -0
  905. /package/web/.next/server/app/{overview → (console)/outside-parties/add}/page.js.map +0 -0
  906. /package/web/.next/server/app/{outside-parties/add → (console)/outside-parties/add-a2a-agent}/page/react-loadable-manifest.json +0 -0
  907. /package/web/.next/server/app/{outside-parties/add → (console)/outside-parties/add-a2a-agent}/page.js.map +0 -0
  908. /package/web/.next/server/app/{outside-parties → (console)/outside-parties/add-a2a-client}/page/react-loadable-manifest.json +0 -0
  909. /package/web/.next/server/app/{outside-parties → (console)/outside-parties/add-a2a-client}/page.js.map +0 -0
  910. /package/web/.next/server/app/{overview/requests/[requestId] → (console)/outside-parties}/page/react-loadable-manifest.json +0 -0
  911. /package/web/.next/server/app/{overview/requests/[requestId] → (console)/outside-parties}/page.js.map +0 -0
  912. /package/web/.next/server/app/{overview → (console)/overview}/changes/route/build-manifest.json +0 -0
  913. /package/web/.next/server/app/{overview → (console)/overview}/changes/route/server-reference-manifest.json +0 -0
  914. /package/web/.next/server/app/{overview → (console)/overview}/changes/route.js.map +0 -0
  915. /package/web/.next/server/app/{parties/page.js.map → (console)/overview/focus/route.js.map} +0 -0
  916. /package/web/.next/server/app/{parties → (console)/overview}/page/react-loadable-manifest.json +0 -0
  917. /package/web/.next/server/app/{sign-in/failed → (console)/overview}/page.js.map +0 -0
  918. /package/web/.next/server/app/{sign-in/failed → (console)/overview/requests/[requestId]}/page/react-loadable-manifest.json +0 -0
  919. /package/web/.next/server/chunks/{[externals]__12s2uxrv8n30f._.js.map → 0b9d__next-internal_server_app_(console)_overview_focus_route_actions_10hgyjvv-6fus.js.map} +0 -0
  920. /package/web/.next/server/chunks/{web__next-internal_server_app_overview_changes_route_actions_16jqwsctr1pzg.js.map → 1mb5_next-internal_server_app_(console)_overview_changes_route_actions_0zbq7lqsf5nng.js.map} +0 -0
  921. /package/web/.next/static/{MLIzjhz2u5r5gyyuciHvf → Az1CqrzgGHMZVR4nw9717}/_buildManifest.js +0 -0
  922. /package/web/.next/static/{MLIzjhz2u5r5gyyuciHvf → Az1CqrzgGHMZVR4nw9717}/_clientMiddlewareManifest.js +0 -0
  923. /package/web/.next/static/{MLIzjhz2u5r5gyyuciHvf → Az1CqrzgGHMZVR4nw9717}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../web/features/overview/state/inbox-panel.tsx","../../../../../web/features/overview/hooks/data%3A48b0e0%20%3Ctext/javascript%3E","../../../../../web/features/overview/hooks/data%3A2908de%20%3Ctext/javascript%3E","../../../../../web/features/overview/hooks/data%3Aafddb4%20%3Ctext/javascript%3E","../../../../../web/features/overview/ui/delivery-card.tsx","../../../../../web/features/overview/ui/inbox-list.tsx","../../../../../web/features/overview/state/wake-panel.tsx","../../../../../web/features/overview/hooks/data%3Ac16472%20%3Ctext/javascript%3E","../../../../../web/features/overview/hooks/data%3A4321db%20%3Ctext/javascript%3E","../../../../../web/features/overview/hooks/data%3A0ff6e4%20%3Ctext/javascript%3E","../../../../../web/features/overview/services/web-push.ts","../../../../../web/features/overview/state/web-push-panel.tsx"],"sourcesContent":["'use client';\n\nimport { useState, useTransition } from 'react';\n\nimport { answerDelivery, doneDelivery, openDelivery, type ActionOutcome } from '../hooks/overview-actions';\nimport type { FocusedDelivery, Inbox, InboxEntry } from '../services/deliveries';\nimport { DeliveryCard, type DeliveryControl } from '../ui/delivery-card';\nimport { InboxList } from '../ui/inbox-list';\nimport { Notice } from '../ui/notice';\n\n/**\n * The person's inbox with one delivery in focus at a time. Opening is their\n * own act, so it is a press, never a link: the gateway acknowledges the\n * delivery for them, and it is shown whole, once. Answering or being done\n * says so in place, and the inbox reads itself again.\n */\nexport function InboxPanel({ fleetId, inbox }: { fleetId: string; inbox: Inbox }) {\n const [focus, setFocus] = useState<FocusedDelivery | undefined>();\n const [note, setNote] = useState('');\n const [openingId, setOpeningId] = useState<string | undefined>();\n const [working, setWorking] = useState<DeliveryControl | undefined>();\n const [openFailure, setOpenFailure] = useState<{ deliveryId: string; message: string } | undefined>();\n const [failure, setFailure] = useState<string | undefined>();\n const [done, setDone] = useState<string | undefined>();\n const [, startTransition] = useTransition();\n\n const show = (delivery: FocusedDelivery) => {\n setFocus(delivery);\n setNote('');\n setFailure(undefined);\n setDone(undefined);\n };\n\n const open = (entry: InboxEntry) => {\n setOpeningId(entry.deliveryId);\n setOpenFailure(undefined);\n setDone(undefined);\n startTransition(async () => {\n const outcome = await openDelivery(fleetId, entry.deliveryId);\n setOpeningId(undefined);\n if (outcome.isOk) {\n show(outcome.value);\n } else {\n setOpenFailure({ deliveryId: entry.deliveryId, message: outcome.message });\n }\n });\n };\n\n const settle = ({ control, action, said }: { control: DeliveryControl; action: () => Promise<ActionOutcome<undefined>>; said: string }) => {\n setWorking(control);\n setFailure(undefined);\n startTransition(async () => {\n const outcome = await action();\n setWorking(undefined);\n if (outcome.isOk) {\n setFocus(undefined);\n setDone(said);\n } else {\n setFailure(outcome.message);\n }\n });\n };\n\n if (focus !== undefined) {\n return (\n <DeliveryCard\n delivery={focus}\n note={note}\n working={working}\n failure={failure}\n onNoteChange={setNote}\n onAnswer={(option) => { settle({ control: option === undefined ? { kind: 'note' } : { kind: 'option', option }, action: () => answerDelivery({ fleet: fleetId, deliveryId: focus.deliveryId, input: { questionId: focus.question?.id, option, note } }), said: `Your answer went to ${focus.from}.` }); }\n }\n onDone={() => { settle({ control: { kind: 'done' }, action: () => doneDelivery(fleetId, focus.deliveryId), said: `Done with “${focus.title}”.` }); }}\n onBack={() => { setFocus(undefined); }}\n />\n );\n }\n return (\n <div className=\"grid gap-4\">\n {done === undefined ? null : <Notice message={done} isFailure={false} />}\n <InboxList\n waitingCount={inbox.waiting}\n waiting={inbox.deliveries}\n opened={inbox.opened}\n openingId={openingId}\n failure={openFailure}\n onOpen={open}\n onFocus={(entry) => { show({ ...entry, payload: undefined, question: undefined }); }}\n />\n </div>\n );\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"4094bd2603f6cb4c692f8c5bbc35b6dfa0e2cd78a8\":{\"name\":\"answerDelivery\"}},\"web/features/overview/hooks/overview-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_1=/*#__PURE__*/createServerReference(\"4094bd2603f6cb4c692f8c5bbc35b6dfa0e2cd78a8\",callServer,void 0,findSourceMapURL,\"answerDelivery\");export{$$RSC_SERVER_ACTION_1 as answerDelivery};","/* __next_internal_action_entry_do_not_use__ [{\"6014a23e56a6300e1adee24bc60d3989cf9a3ffcaa\":{\"name\":\"doneDelivery\"}},\"web/features/overview/hooks/overview-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_2=/*#__PURE__*/createServerReference(\"6014a23e56a6300e1adee24bc60d3989cf9a3ffcaa\",callServer,void 0,findSourceMapURL,\"doneDelivery\");export{$$RSC_SERVER_ACTION_2 as doneDelivery};","/* __next_internal_action_entry_do_not_use__ [{\"60813b25998f3aa5040c7138940db92bf5b1bba1ae\":{\"name\":\"openDelivery\"}},\"web/features/overview/hooks/overview-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"60813b25998f3aa5040c7138940db92bf5b1bba1ae\",callServer,void 0,findSourceMapURL,\"openDelivery\");export{$$RSC_SERVER_ACTION_0 as openDelivery};","import type { FocusedDelivery } from '../services/deliveries';\nimport { ActionButton } from './action-button';\nimport { Notice } from './notice';\n\n/** Which of the card's controls is working: an option of the question, the note alone, or done. */\nexport type DeliveryControl = { kind: 'option'; option: number } | { kind: 'note' } | { kind: 'done' };\n\n/**\n * One delivery in focus (design B, Signal). A question is answered with one\n * tap on a button that names the option it sends, the asker's pick on a\n * dashed edge; any delivery may get a note as its answer, and a message may\n * be done with. Opened before, it shows by its title alone, as its content\n * was shown once.\n */\nexport function DeliveryCard({\n delivery,\n note,\n working,\n failure,\n onNoteChange,\n onAnswer,\n onDone,\n onBack,\n}: {\n delivery: FocusedDelivery;\n note: string;\n working: DeliveryControl | undefined;\n failure: string | undefined;\n onNoteChange: (note: string) => void;\n onAnswer: (option: number | undefined) => void;\n onDone: () => void;\n onBack: () => void;\n}) {\n const { question } = delivery;\n const isWorking = working !== undefined;\n const picked = question?.options.find((option) => option.key === question.pick.option);\n return (\n <section data-testid=\"overview-delivery\" className=\"grid gap-3 rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm\">\n <span className=\"text-caption text-muted-foreground\">\n {delivery.from} · {new Date(delivery.sentAt).toUTCString()}\n </span>\n <h2 className=\"text-heading font-semibold\">{question?.title ?? delivery.title}</h2>\n {question === undefined ? (\n delivery.payload === undefined ? (\n <p className=\"text-muted-foreground\">You opened this before; its content was shown to you then.</p>\n ) : (\n <pre className=\"whitespace-pre-wrap rounded-md bg-muted p-3 font-mono text-caption\">{delivery.payload}</pre>\n )\n ) : (\n <>\n <p className=\"whitespace-pre-wrap\">{question.context}</p>\n <div className=\"flex flex-wrap gap-2\">\n {question.options.map((option) => (\n <ActionButton\n key={option.key}\n title={option.detail}\n variant={option.key === question.pick.option ? 'primary' : 'secondary'}\n className={option.key === question.pick.option ? 'outline-2 outline-offset-2 outline-dashed outline-ring' : ''}\n isPending={working?.kind === 'option' && working.option === option.key}\n pendingLabel=\"Sending...\"\n disabled={isWorking}\n onClick={() => { onAnswer(option.key); }}\n >\n {option.label}\n </ActionButton>\n ))}\n </div>\n {picked === undefined ? null : (\n <p className=\"text-muted-foreground\">\n {picked.label} is the pick of {delivery.from}: {question.pick.why}\n </p>\n )}\n </>\n )}\n <label className=\"grid gap-1\">\n <span>{question === undefined ? 'Your answer' : 'Note'}</span>\n <textarea\n data-testid=\"overview-note\"\n rows={2}\n value={note}\n onChange={(event) => { onNoteChange(event.target.value); }}\n placeholder={question === undefined ? '' : 'Optional, sent with your answer'}\n className=\"rounded-md border border-input bg-background p-2\"\n />\n </label>\n {failure === undefined ? null : <Notice message={failure} isFailure />}\n <div className=\"flex flex-wrap gap-2\">\n <ActionButton data-testid=\"overview-answer\" variant={question === undefined ? 'primary' : 'secondary'} isPending={working?.kind === 'note'} pendingLabel=\"Sending...\" disabled={isWorking} onClick={() => { onAnswer(undefined); }}>\n {question === undefined ? 'Answer' : 'Send the note alone'}\n </ActionButton>\n {question === undefined ? (\n <ActionButton data-testid=\"overview-done\" isPending={working?.kind === 'done'} pendingLabel=\"Marking done...\" disabled={isWorking} onClick={onDone}>\n Done\n </ActionButton>\n ) : null}\n <button type=\"button\" onClick={onBack} disabled={isWorking} className=\"inline-flex h-9 items-center rounded-md px-4 text-muted-foreground hover:bg-accent disabled:opacity-70\">\n Back to the inbox\n </button>\n </div>\n </section>\n );\n}\n","import type { InboxEntry } from '../services/deliveries';\nimport { ActionButton } from './action-button';\nimport { Notice } from './notice';\n\nfunction EntryText({ entry }: { entry: InboxEntry }) {\n return (\n <span className=\"flex min-w-0 flex-1 flex-col text-left\">\n <span className=\"truncate\">{entry.title}</span>\n <span className=\"text-caption text-muted-foreground\">from {entry.from}</span>\n </span>\n );\n}\n\n/**\n * The person's inbox in two groups (aeolus-fleet #1046): what waits, which\n * they open one at a time, and what they opened and have not answered or\n * been done with yet. A failure to open says why by the delivery.\n */\nexport function InboxList({\n waitingCount,\n waiting,\n opened,\n openingId,\n failure,\n onOpen,\n onFocus,\n}: {\n waitingCount: number;\n waiting: readonly InboxEntry[];\n opened: readonly InboxEntry[];\n openingId: string | undefined;\n failure: { deliveryId: string; message: string } | undefined;\n onOpen: (entry: InboxEntry) => void;\n onFocus: (entry: InboxEntry) => void;\n}) {\n return (\n <div className=\"grid gap-6\">\n {waiting.length === 0 ? null : (\n <section className=\"grid gap-2\">\n <h2 className=\"text-section font-semibold\">Next · {waitingCount}</h2>\n {waiting.map((entry) => (\n <div key={entry.deliveryId} className=\"grid gap-2 rounded-md border border-border bg-card p-3\">\n <div className=\"flex items-center gap-3\">\n <EntryText entry={entry} />\n <ActionButton data-testid=\"overview-open\" isPending={openingId === entry.deliveryId} pendingLabel=\"Opening...\" disabled={openingId !== undefined} onClick={() => { onOpen(entry); }}>\n Open\n </ActionButton>\n </div>\n {failure?.deliveryId === entry.deliveryId ? <Notice message={failure.message} isFailure /> : null}\n </div>\n ))}\n </section>\n )}\n {opened.length === 0 ? null : (\n <section className=\"grid gap-2\">\n <h2 className=\"text-section font-semibold\">Opened, not yet dealt with · {opened.length}</h2>\n {opened.map((entry) => (\n <div key={entry.deliveryId} className=\"flex items-center gap-3 rounded-md border border-border bg-card p-3\">\n <EntryText entry={entry} />\n <button type=\"button\" data-testid=\"overview-deal\" onClick={() => { onFocus(entry); }} className=\"inline-flex h-9 items-center rounded-md border border-border px-4 hover:bg-accent\">\n Answer or be done\n </button>\n </div>\n ))}\n </section>\n )}\n </div>\n );\n}\n","'use client';\n\nimport { useState, useTransition } from 'react';\n\nimport { turnEmail } from '../hooks/overview-actions';\nimport type { WakeChannels } from '../services/deliveries';\nimport { ActionButton } from '../ui/action-button';\nimport { Notice } from '../ui/notice';\nimport { WebPushPanel } from './web-push-panel';\n\n/**\n * Where the person turns on the channels that wake them when something\n * waits for their person ship while they are away (wake a person, W8):\n * email, where the gateway sends it, and web push per browser, where it\n * holds push keys. Nothing is on by default. The wake says only that\n * something waits in the fleet, with a link here. While a page of theirs\n * here is in focus, it shows what arrives and no wake goes out (W6).\n */\nexport function WakePanel({ fleetId, channels }: { fleetId: string; channels: WakeChannels }) {\n const [isTurning, startTransition] = useTransition();\n const [failure, setFailure] = useState<string | undefined>();\n const { email, webPush } = channels;\n if (!email.isOffered && webPush.publicKey === null) {\n return null;\n }\n\n const turn = (isOn: boolean) => {\n setFailure(undefined);\n startTransition(async () => {\n const outcome = await turnEmail(fleetId, isOn);\n if (!outcome.isOk) {\n setFailure(outcome.message);\n }\n });\n };\n\n return (\n <section className=\"grid gap-2\" aria-labelledby=\"overview-wake-heading\">\n <h2 id=\"overview-wake-heading\" className=\"text-section font-semibold\">\n When something waits\n </h2>\n {!email.isOffered ? null : (\n <div className=\"flex items-center gap-3 rounded-md border border-border bg-card p-3\">\n <span className=\"flex min-w-0 flex-1 flex-col\">\n <span>Email</span>\n <span data-testid=\"overview-wake-email-state\" className=\"text-caption text-muted-foreground\">\n {email.isOn ? 'On: you get an email when something waits for you in this fleet, with a link here. Never what waits.' : 'Off: nothing tells you when something waits while you are away.'}\n </span>\n </span>\n <ActionButton data-testid=\"overview-wake-email\" isPending={isTurning} pendingLabel={email.isOn ? 'Turning off...' : 'Turning on...'} onClick={() => { turn(!email.isOn); }}>\n {email.isOn ? 'Turn off' : 'Turn on'}\n </ActionButton>\n </div>\n )}\n {failure === undefined ? null : <Notice message={failure} isFailure />}\n {webPush.publicKey === null ? null : <WebPushPanel fleetId={fleetId} webPushKey={webPush.publicKey} browsers={webPush.browsers} />}\n </section>\n );\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"60b48f9537cbc087081a7c9cb59da4be205bfeabdd\":{\"name\":\"turnEmail\"}},\"web/features/overview/hooks/overview-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_3=/*#__PURE__*/createServerReference(\"60b48f9537cbc087081a7c9cb59da4be205bfeabdd\",callServer,void 0,findSourceMapURL,\"turnEmail\");export{$$RSC_SERVER_ACTION_3 as turnEmail};","/* __next_internal_action_entry_do_not_use__ [{\"60aac98a56e7babd7b75c679560c72a3ef6741a3b7\":{\"name\":\"turnOffWebPush\"}},\"web/features/overview/hooks/overview-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_5=/*#__PURE__*/createServerReference(\"60aac98a56e7babd7b75c679560c72a3ef6741a3b7\",callServer,void 0,findSourceMapURL,\"turnOffWebPush\");export{$$RSC_SERVER_ACTION_5 as turnOffWebPush};","/* __next_internal_action_entry_do_not_use__ [{\"60da3873bc1544318b9ef24fd1e90ef1716e80cdd3\":{\"name\":\"turnOnWebPush\"}},\"web/features/overview/hooks/overview-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_4=/*#__PURE__*/createServerReference(\"60da3873bc1544318b9ef24fd1e90ef1716e80cdd3\",callServer,void 0,findSourceMapURL,\"turnOnWebPush\");export{$$RSC_SERVER_ACTION_4 as turnOnWebPush};","/**\n * What the overview's section of wakes works out in the browser (wake a\n * person, W8): the name a browser it turns web push on in is listed by, the\n * gateway's push key as the browser's push manager takes it, and the\n * subscription the browser sends the gateway.\n */\n\n/** A browser's push subscription as the gateway takes it, with the browser's name. */\nexport interface SubscriptionInput {\n readonly endpoint: string;\n readonly keys: { readonly p256dh: string; readonly auth: string };\n readonly browser: string;\n}\n\n/** The browsers and systems a name is made of, the first that matches counting: Edge and Chrome also say Safari, and Chrome says Chrome. */\nconst BROWSERS: readonly (readonly [RegExp, string])[] = [\n [/Edg\\//, 'Edge'],\n [/Firefox\\//, 'Firefox'],\n [/Chrome\\//, 'Chrome'],\n [/Safari\\//, 'Safari'],\n];\nconst SYSTEMS: readonly (readonly [RegExp, string])[] = [\n [/iPhone|iPad/, 'iOS'],\n [/Android/, 'Android'],\n [/Mac OS X/, 'macOS'],\n [/Windows/, 'Windows'],\n [/Linux/, 'Linux'],\n];\n\nconst firstOf = (userAgent: string, names: readonly (readonly [RegExp, string])[]): string | undefined => names.find(([pattern]) => pattern.test(userAgent))?.[1];\n\n/** The name a browser is listed by, such as Firefox on Linux, from its user agent. */\nexport function browserNameOf(userAgent: string): string {\n const browser = firstOf(userAgent, BROWSERS);\n const system = firstOf(userAgent, SYSTEMS);\n if (browser === undefined) {\n return 'A browser';\n }\n return system === undefined ? browser : `${browser} on ${system}`;\n}\n\n/** The bytes a base64url key stands for, as the browser's push manager takes the gateway's key. */\nexport function applicationServerKeyOf(key: string): Uint8Array<ArrayBuffer> {\n const binary = atob(key.replaceAll('-', '+').replaceAll('_', '/'));\n return Uint8Array.from(binary, (character) => character.charCodeAt(0));\n}\n\n/** The subscription to send, from the push manager's own, or none when it gave no endpoint or keys. */\nexport function subscriptionInputOf(subscription: { endpoint?: string; keys?: Record<string, string> }, browser: string): SubscriptionInput | undefined {\n const { endpoint, keys } = subscription;\n const p256dh = keys?.p256dh;\n const auth = keys?.auth;\n return endpoint === undefined || p256dh === undefined || auth === undefined ? undefined : { endpoint, keys: { p256dh, auth }, browser };\n}\n","'use client';\n\nimport { useEffect, useState, useTransition } from 'react';\n\nimport { turnOffWebPush, turnOnWebPush } from '../hooks/overview-actions';\nimport type { WakeChannels } from '../services/deliveries';\nimport { applicationServerKeyOf, browserNameOf, subscriptionInputOf } from '../services/web-push';\nimport { ActionButton } from '../ui/action-button';\nimport { Notice } from '../ui/notice';\n\n/** The service worker that shows a wake and opens the overview when it is pressed. */\nconst WORKER_PATH = '/wake-worker.js';\n\n/** Whether this browser takes web push at all. */\nfunction isPushTaken(): boolean {\n return 'serviceWorker' in navigator && 'PushManager' in window && 'Notification' in window;\n}\n\n/** This browser's own push subscription with the gateway's worker, if it has one. */\nasync function ownSubscription(): Promise<PushSubscription | null> {\n const registration = await navigator.serviceWorker.getRegistration(WORKER_PATH);\n return (await registration?.pushManager.getSubscription()) ?? null;\n}\n\n/** Asks the browser's permission, then subscribes it with the gateway's key: the subscription to send, or why there is none. */\nasync function subscribed(webPushKey: string): Promise<{ readonly isOk: true; readonly value: PushSubscription } | { readonly isOk: false; readonly message: string }> {\n if ((await Notification.requestPermission()) !== 'granted') {\n return { isOk: false, message: 'Your browser did not allow notifications from this site: allow them, then turn web push on again' };\n }\n const registration = await navigator.serviceWorker.register(WORKER_PATH);\n await navigator.serviceWorker.ready;\n return { isOk: true, value: await registration.pushManager.subscribe({ userVisibleOnly: true, applicationServerKey: applicationServerKeyOf(webPushKey) }) };\n}\n\n/**\n * Web push in the overview's section of wakes (wake a person, W8): the\n * person turns it on for this browser, which asks the browser's permission\n * first, sees the browsers they turned it on in, and removes one. Nothing is\n * on until they turn it on. A browser whose push service ended its\n * subscription is said to be gone.\n */\nexport function WebPushPanel({ fleetId, webPushKey, browsers }: { fleetId: string; webPushKey: string; browsers: WakeChannels['webPush']['browsers'] }) {\n const [isTaken, setIsTaken] = useState(true);\n const [ownEndpoint, setOwnEndpoint] = useState<string | undefined>();\n const [working, setWorking] = useState<string | undefined>();\n const [failure, setFailure] = useState<string | undefined>();\n const [, startTransition] = useTransition();\n\n useEffect(() => {\n if (!isPushTaken()) {\n setIsTaken(false);\n return;\n }\n void ownSubscription().then((own) => {\n setOwnEndpoint(own?.endpoint);\n });\n }, []);\n\n const turnOn = () => {\n setWorking('on');\n setFailure(undefined);\n startTransition(async () => {\n try {\n const subscription = await subscribed(webPushKey);\n if (!subscription.isOk) {\n setFailure(subscription.message);\n return;\n }\n const input = subscriptionInputOf(subscription.value.toJSON(), browserNameOf(navigator.userAgent));\n if (input === undefined) {\n setFailure('Your browser gave no push subscription: try again');\n return;\n }\n const outcome = await turnOnWebPush(fleetId, input);\n if (outcome.isOk) {\n setOwnEndpoint(input.endpoint);\n } else {\n setFailure(outcome.message);\n }\n } catch {\n setFailure('Your browser could not turn web push on: try again');\n } finally {\n setWorking(undefined);\n }\n });\n };\n\n const remove = (endpoint: string) => {\n setWorking(endpoint);\n setFailure(undefined);\n startTransition(async () => {\n if (endpoint === ownEndpoint) {\n await (await ownSubscription())?.unsubscribe();\n setOwnEndpoint(undefined);\n }\n const outcome = await turnOffWebPush(fleetId, endpoint);\n setWorking(undefined);\n if (!outcome.isOk) {\n setFailure(outcome.message);\n }\n });\n };\n\n const isOwnOn = ownEndpoint !== undefined && browsers.some(({ endpoint, isGone }) => endpoint === ownEndpoint && !isGone);\n return (\n <div className=\"grid gap-2\" data-testid=\"overview-wake-web-push\">\n {browsers.map(({ endpoint, browser, addedAt, isGone }) => (\n <div key={endpoint} className=\"flex items-center gap-3 rounded-md border border-border bg-card p-3\">\n <span className=\"flex min-w-0 flex-1 flex-col\">\n <span className=\"truncate\">\n Web push in {browser}\n {endpoint === ownEndpoint ? ' · this browser' : ''}\n </span>\n <span className=\"text-caption text-muted-foreground\">\n {isGone ? 'No longer takes wakes: its push service ended them. Turn web push on again in that browser, or remove it.' : `On since ${new Date(addedAt).toLocaleDateString()}: it tells you when something waits in this fleet, with a link here. Never what waits.`}\n </span>\n </span>\n <ActionButton data-testid=\"overview-web-push-remove\" isPending={working === endpoint} pendingLabel=\"Removing...\" disabled={working !== undefined} onClick={() => { remove(endpoint); }}>\n Remove\n </ActionButton>\n </div>\n ))}\n {!isTaken ? (\n <p className=\"text-caption text-muted-foreground\">This browser takes no web push.</p>\n ) : isOwnOn ? null : (\n <div>\n <ActionButton data-testid=\"overview-web-push-on\" variant=\"primary\" isPending={working === 'on'} pendingLabel=\"Turning on...\" disabled={working !== undefined} onClick={turnOn}>\n Turn on web push in this browser\n </ActionButton>\n </div>\n )}\n {failure === undefined ? null : <Notice message={failure} isFailure />}\n </div>\n );\n}\n"],"names":["$$RSC_SERVER_ACTION_1","$$RSC_SERVER_ACTION_3"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- module.exports=[91445,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(72131),e=a.i(5050);let f=(0,e.createServerReference)("40e3b1ad8f9fb8e176b3525a47087f36b14fbcba6e",e.callServer,void 0,e.findSourceMapURL,"decideRequest");var g=a.i(35149);let h=["messages:send","messages:receive"],i={"messages:send":"Send","messages:receive":"Receive","fleet:read":"Read the fleet"};var j=a.i(1542),k=a.i(24229);let l="rounded-md border border-input bg-background px-2 py-1.5";function m({scope:a,isLocked:c}){return(0,b.jsxs)("label",{className:"flex items-center gap-2",children:[c?(0,b.jsx)("input",{type:"checkbox",checked:!0,disabled:!0,"aria-label":i[a]??a}):(0,b.jsx)("input",{type:"checkbox",name:"scope",value:a,"aria-label":i[a]??a}),(0,b.jsx)("span",{children:i[a]??a}),(0,b.jsx)("span",{className:"font-mono text-caption text-muted-foreground",children:a}),c?(0,b.jsx)("span",{className:"text-caption text-muted-foreground",children:"(always)"}):null]})}function n(a,b){let c=a.get(b);return"string"==typeof c?c:""}function o({request:a,heldScopes:c,owners:e,working:f,failure:i,onDecide:p}){let[q,r]=(0,d.useState)("bearer"),s=function(a){switch(a.subject.kind){case"client":return a.subject.clientName;case"server":return URL.canParse(a.subject.url)?new URL(a.subject.url).host:a.subject.url}}(a),t="server"===a.subject.kind;return(0,b.jsxs)("section",{className:"grid gap-3 rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm",children:[(0,b.jsxs)("h2",{className:"text-heading font-semibold",children:["Approve ",s]}),(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault();let b=new FormData(a.currentTarget),c=b.getAll("scope").filter(a=>"string"==typeof a);p({kind:"approve",name:n(b,"name"),ownerShipId:n(b,"ownerShipId"),scopes:c,server:t?{credentialKind:"clientCredentials"===n(b,"credentialKind")?"clientCredentials":"bearer",token:n(b,"token"),clientId:n(b,"clientId"),clientSecret:n(b,"clientSecret"),issuer:n(b,"issuer"),scope:n(b,"scope-requested"),concurrencyLimit:Number(n(b,"concurrencyLimit"))}:void 0})},className:"grid gap-3",children:[(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Proxy ship's name"}),(0,b.jsx)("input",{name:"name",defaultValue:s.toLowerCase().replaceAll(/[^a-z0-9]+/g,"-").replaceAll(/^-+|-+$/g,""),required:!0,className:l})]}),(0,b.jsx)(g.f,{choices:e.isOk?e.value:[],current:null,help:"A person ship or argo. It answers for this party.",refusal:e.isOk?void 0:e.refusal}),(0,b.jsxs)("fieldset",{className:"grid gap-1",children:[(0,b.jsx)("legend",{children:"Scopes"}),h.map(a=>(0,b.jsx)(m,{scope:a,isLocked:!0},a)),c.filter(a=>!h.includes(a)).map(a=>(0,b.jsx)(m,{scope:a,isLocked:!1},a))]}),t?(0,b.jsxs)("fieldset",{className:"grid gap-2",children:[(0,b.jsx)("legend",{children:"The server's credential"}),(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Credential"}),(0,b.jsxs)("select",{name:"credentialKind",value:q,onChange:a=>{r("clientCredentials"===a.target.value?"clientCredentials":"bearer")},className:l,children:[(0,b.jsx)("option",{value:"bearer",children:"Bearer token"}),(0,b.jsx)("option",{value:"clientCredentials",children:"OAuth client credentials"})]})]}),"bearer"===q?(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Bearer token"}),(0,b.jsx)("input",{type:"password",name:"token",className:l})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Client id"}),(0,b.jsx)("input",{name:"clientId",className:l})]}),(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Client secret"}),(0,b.jsx)("input",{type:"password",name:"clientSecret",className:l})]}),(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Issuer"}),(0,b.jsx)("input",{type:"url",name:"issuer",className:l})]}),(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Scope"}),(0,b.jsx)("input",{name:"scope-requested",className:l})]})]}),(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Calls at once"}),(0,b.jsx)("input",{type:"number",name:"concurrencyLimit",min:1,max:10,defaultValue:4,className:l})]})]}):null,void 0===i?null:(0,b.jsx)(k.f,{message:i,isFailure:!0}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(j.f,{type:"submit",variant:"primary","data-testid":"overview-approve",isPending:"approve"===f,pendingLabel:"Approving...",disabled:void 0!==f,children:"Approve"}),(0,b.jsx)(j.f,{type:"button","data-testid":"overview-deny",isPending:"deny"===f,pendingLabel:"Denying...",disabled:void 0!==f,onClick:()=>{p({kind:"deny"})},children:"Deny"})]})]})]})}a.s(["DecisionPanel",0,function({fleetId:a,request:e,heldScopes:g,owners:h}){let i=(0,c.useRouter)(),[j,k]=(0,d.useState)(),[l,m]=(0,d.useState)(),[,n]=(0,d.useTransition)();return(0,b.jsx)(o,{request:e,heldScopes:g,owners:h,working:j,failure:l,onDecide:b=>{k(b.kind),m(void 0),n(async()=>{let c=await f({fleet:a,requestId:e.requestId,input:b});c.isOk?i.push(`/overview?${new URLSearchParams({fleet:a,decided:b.kind}).toString()}`):(k(void 0),m(c.message))})}})}],91445)}];
1
+ module.exports=[91445,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(72131),e=a.i(5050);let f=(0,e.createServerReference)("4084bf9f28c49a623dd2f7cf9c1254bb378e2b87bf",e.callServer,void 0,e.findSourceMapURL,"decideRequest");var g=a.i(51636),h=a.i(35149);let i=["messages:send","messages:receive"],j={"messages:send":"Send","messages:receive":"Receive","fleet:read":"Read the fleet"};var k=a.i(1542),l=a.i(24229);let m="rounded-md border border-input bg-background px-2 py-1.5";function n({scope:a,isLocked:c}){return(0,b.jsxs)("label",{className:"flex items-center gap-2",children:[c?(0,b.jsx)("input",{type:"checkbox",checked:!0,disabled:!0,"aria-label":j[a]??a}):(0,b.jsx)("input",{type:"checkbox",name:"scope",value:a,"aria-label":j[a]??a}),(0,b.jsx)("span",{children:j[a]??a}),(0,b.jsx)("span",{className:"font-mono text-caption text-muted-foreground",children:a}),c?(0,b.jsx)("span",{className:"text-caption text-muted-foreground",children:"(always)"}):null]})}function o(a,b){let c=a.get(b);return"string"==typeof c?c:""}function p({request:a,heldScopes:c,owners:e,working:f,failure:j,onDecide:q}){let[r,s]=(0,d.useState)("bearer"),t=function(a){switch(a.subject.kind){case"client":return a.subject.clientName;case"server":return URL.canParse(a.subject.url)?new URL(a.subject.url).host:a.subject.url}}(a),u="server"===a.subject.kind;return(0,b.jsxs)("section",{className:"grid gap-3 rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm",children:[(0,b.jsxs)("h2",{className:"text-heading font-semibold",children:["Approve ",t]}),(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault();let b=new FormData(a.currentTarget),c=b.getAll("scope").filter(a=>"string"==typeof a);q({kind:"approve",name:o(b,"name"),ownerShipId:o(b,"ownerShipId"),scopes:c,server:u?{credentialKind:(0,g.C)(o(b,"credentialKind")),token:o(b,"token"),clientId:o(b,"clientId"),clientSecret:o(b,"clientSecret"),issuer:o(b,"issuer"),scope:o(b,"scope-requested"),concurrencyLimit:Number(o(b,"concurrencyLimit"))}:void 0})},className:"grid gap-3",children:[(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Proxy ship's name"}),(0,b.jsx)("input",{name:"name",defaultValue:t.toLowerCase().replaceAll(/[^a-z0-9]+/g,"-").replaceAll(/^-+|-+$/g,""),required:!0,className:m})]}),(0,b.jsx)(h.f,{choices:e.isOk?e.value:[],current:null,help:"A person ship or argo. It answers for this party.",refusal:e.isOk?void 0:e.refusal}),(0,b.jsxs)("fieldset",{className:"grid gap-1",children:[(0,b.jsx)("legend",{children:"Scopes"}),i.map(a=>(0,b.jsx)(n,{scope:a,isLocked:!0},a)),c.filter(a=>!i.includes(a)).map(a=>(0,b.jsx)(n,{scope:a,isLocked:!1},a))]}),u?(0,b.jsxs)("fieldset",{className:"grid gap-2",children:[(0,b.jsx)("legend",{children:"The server's credential"}),(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Credential"}),(0,b.jsx)("select",{name:"credentialKind",value:r,onChange:a=>{s((0,g.C)(a.target.value))},className:m,children:g.x.map(({kind:a,label:c})=>(0,b.jsx)("option",{value:a,children:c},a))})]}),"none"===r?null:"bearer"===r?(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Bearer token"}),(0,b.jsx)("input",{type:"password",name:"token",className:m})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Client id"}),(0,b.jsx)("input",{name:"clientId",className:m})]}),(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Client secret"}),(0,b.jsx)("input",{type:"password",name:"clientSecret",className:m})]}),(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Issuer"}),(0,b.jsx)("input",{type:"url",name:"issuer",className:m})]}),(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Scope"}),(0,b.jsx)("input",{name:"scope-requested",className:m})]})]}),(0,b.jsxs)("label",{className:"grid gap-1",children:[(0,b.jsx)("span",{children:"Calls at once"}),(0,b.jsx)("input",{type:"number",name:"concurrencyLimit",min:1,max:10,defaultValue:4,className:m})]})]}):null,void 0===j?null:(0,b.jsx)(l.f,{message:j,isFailure:!0}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(k.f,{type:"submit",variant:"primary","data-testid":"overview-approve",isPending:"approve"===f,pendingLabel:"Approving...",disabled:void 0!==f,children:"Approve"}),(0,b.jsx)(k.f,{type:"button","data-testid":"overview-deny",isPending:"deny"===f,pendingLabel:"Denying...",disabled:void 0!==f,onClick:()=>{q({kind:"deny"})},children:"Deny"})]})]})]})}a.s(["DecisionPanel",0,function({fleetId:a,request:e,heldScopes:g,owners:h}){let i=(0,c.useRouter)(),[j,k]=(0,d.useState)(),[l,m]=(0,d.useState)(),[,n]=(0,d.useTransition)();return(0,b.jsx)(p,{request:e,heldScopes:g,owners:h,working:j,failure:l,onDecide:b=>{k(b.kind),m(void 0),n(async()=>{let c=await f({fleet:a,requestId:e.requestId,input:b});c.isOk?i.push(`/overview?${new URLSearchParams({fleet:a,decided:b.kind}).toString()}`):(k(void 0),m(c.message))})}})}],91445)}];
2
2
 
3
3
  //# sourceMappingURL=web_features_overview_state_decision-panel_tsx_0kpd26ggtr6h_._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/features/overview/state/decision-panel.tsx","../../../../../web/features/overview/hooks/data%3A20669f%20%3Ctext/javascript%3E","../../../../../web/features/overview/ui/decision-form.tsx","../../../../../web/features/overview/services/requests.ts"],"sourcesContent":["'use client';\n\nimport { useRouter } from 'next/navigation';\nimport { useState, useTransition } from 'react';\n\nimport type { OwnerChoices } from '../../forms/ui/owner-field';\nimport { decideRequest } from '../hooks/overview-actions';\nimport type { DecisionInput, ShownRequest } from '../services/requests';\nimport { DecisionForm } from '../ui/decision-form';\n\n/** Decides one request as the signed-in approver, then goes back to the Overview, which says nothing more waits here. */\nexport function DecisionPanel({ fleetId, request, heldScopes, owners }: { fleetId: string; request: ShownRequest; heldScopes: readonly string[]; owners: OwnerChoices }) {\n const router = useRouter();\n const [working, setWorking] = useState<DecisionInput['kind'] | undefined>();\n const [failure, setFailure] = useState<string | undefined>();\n const [, startTransition] = useTransition();\n const decide = (decision: DecisionInput) => {\n setWorking(decision.kind);\n setFailure(undefined);\n startTransition(async () => {\n const outcome = await decideRequest({ fleet: fleetId, requestId: request.requestId, input: decision });\n if (outcome.isOk) {\n router.push(`/overview?${new URLSearchParams({ fleet: fleetId, decided: decision.kind }).toString()}`);\n return;\n }\n setWorking(undefined);\n setFailure(outcome.message);\n });\n };\n return <DecisionForm request={request} heldScopes={heldScopes} owners={owners} working={working} failure={failure} onDecide={decide} />;\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"40e3b1ad8f9fb8e176b3525a47087f36b14fbcba6e\":{\"name\":\"decideRequest\"}},\"web/features/overview/hooks/overview-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_3=/*#__PURE__*/createServerReference(\"40e3b1ad8f9fb8e176b3525a47087f36b14fbcba6e\",callServer,void 0,findSourceMapURL,\"decideRequest\");export{$$RSC_SERVER_ACTION_3 as decideRequest};","'use client';\n\nimport { useState, type SyntheticEvent } from 'react';\n\nimport { OwnerField, type OwnerChoices } from '../../forms/ui/owner-field';\nimport { EVERY_APP_SHIP_SCOPES, scopeLabel, subjectName, suggestedName, type DecisionInput, type ServerCredentialInput, type ShownRequest } from '../services/requests';\nimport { ActionButton } from './action-button';\nimport { Notice } from './notice';\n\nconst CONCURRENCY_LIMIT_DEFAULT = 4;\n\nconst FIELD = 'rounded-md border border-input bg-background px-2 py-1.5';\n\nfunction ScopeRow({ scope, isLocked }: { scope: string; isLocked: boolean }) {\n return (\n <label className=\"flex items-center gap-2\">\n {isLocked ? <input type=\"checkbox\" checked disabled aria-label={scopeLabel(scope)} /> : <input type=\"checkbox\" name=\"scope\" value={scope} aria-label={scopeLabel(scope)} />}\n <span>{scopeLabel(scope)}</span>\n <span className=\"font-mono text-caption text-muted-foreground\">{scope}</span>\n {isLocked ? <span className=\"text-caption text-muted-foreground\">(always)</span> : null}\n </label>\n );\n}\n\nfunction text(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\nfunction serverOf(form: FormData): ServerCredentialInput {\n return {\n credentialKind: text(form, 'credentialKind') === 'clientCredentials' ? 'clientCredentials' : 'bearer',\n token: text(form, 'token'),\n clientId: text(form, 'clientId'),\n clientSecret: text(form, 'clientSecret'),\n issuer: text(form, 'issuer'),\n scope: text(form, 'scope-requested'),\n concurrencyLimit: Number(text(form, 'concurrencyLimit')),\n };\n}\n\n/**\n * The decision on a request: approving names the proxy ship and its owner,\n * and offers as scope rows only the scopes the approver holds, messages:send\n * and messages:receive locked on (0046, 0053); a server's credential too.\n * What was typed stays when the API refuses.\n */\nexport function DecisionForm({\n request,\n heldScopes,\n owners,\n working,\n failure,\n onDecide,\n}: {\n request: ShownRequest;\n heldScopes: readonly string[];\n owners: OwnerChoices;\n working: DecisionInput['kind'] | undefined;\n failure: string | undefined;\n onDecide: (decision: DecisionInput) => void;\n}) {\n const [credentialKind, setCredentialKind] = useState<ServerCredentialInput['credentialKind']>('bearer');\n const name = subjectName(request);\n const isServer = request.subject.kind === 'server';\n const approve = (event: SyntheticEvent<HTMLFormElement>) => {\n event.preventDefault();\n const form = new FormData(event.currentTarget);\n const scopes = form.getAll('scope').filter((scope) => typeof scope === 'string');\n onDecide({ kind: 'approve', name: text(form, 'name'), ownerShipId: text(form, 'ownerShipId'), scopes, server: isServer ? serverOf(form) : undefined });\n };\n return (\n <section className=\"grid gap-3 rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm\">\n <h2 className=\"text-heading font-semibold\">Approve {name}</h2>\n <form onSubmit={approve} className=\"grid gap-3\">\n <label className=\"grid gap-1\">\n <span>Proxy ship&apos;s name</span>\n <input name=\"name\" defaultValue={suggestedName(name)} required className={FIELD} />\n </label>\n <OwnerField choices={owners.isOk ? owners.value : []} current={null} help=\"A person ship or argo. It answers for this party.\" refusal={owners.isOk ? undefined : owners.refusal} />\n <fieldset className=\"grid gap-1\">\n <legend>Scopes</legend>\n {EVERY_APP_SHIP_SCOPES.map((scope) => (\n <ScopeRow key={scope} scope={scope} isLocked />\n ))}\n {heldScopes\n .filter((scope) => !EVERY_APP_SHIP_SCOPES.includes(scope))\n .map((scope) => (\n <ScopeRow key={scope} scope={scope} isLocked={false} />\n ))}\n </fieldset>\n {isServer ? (\n <fieldset className=\"grid gap-2\">\n <legend>The server&apos;s credential</legend>\n <label className=\"grid gap-1\">\n <span>Credential</span>\n <select name=\"credentialKind\" value={credentialKind} onChange={(event) => { setCredentialKind(event.target.value === 'clientCredentials' ? 'clientCredentials' : 'bearer'); }} className={FIELD}>\n <option value=\"bearer\">Bearer token</option>\n <option value=\"clientCredentials\">OAuth client credentials</option>\n </select>\n </label>\n {credentialKind === 'bearer' ? (\n <label className=\"grid gap-1\">\n <span>Bearer token</span>\n <input type=\"password\" name=\"token\" className={FIELD} />\n </label>\n ) : (\n <>\n <label className=\"grid gap-1\">\n <span>Client id</span>\n <input name=\"clientId\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Client secret</span>\n <input type=\"password\" name=\"clientSecret\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Issuer</span>\n <input type=\"url\" name=\"issuer\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Scope</span>\n <input name=\"scope-requested\" className={FIELD} />\n </label>\n </>\n )}\n <label className=\"grid gap-1\">\n <span>Calls at once</span>\n <input type=\"number\" name=\"concurrencyLimit\" min={1} max={10} defaultValue={CONCURRENCY_LIMIT_DEFAULT} className={FIELD} />\n </label>\n </fieldset>\n ) : null}\n {failure === undefined ? null : <Notice message={failure} isFailure />}\n <div className=\"flex gap-2\">\n <ActionButton type=\"submit\" variant=\"primary\" data-testid=\"overview-approve\" isPending={working === 'approve'} pendingLabel=\"Approving...\" disabled={working !== undefined}>\n Approve\n </ActionButton>\n <ActionButton type=\"button\" data-testid=\"overview-deny\" isPending={working === 'deny'} pendingLabel=\"Denying...\" disabled={working !== undefined} onClick={() => { onDecide({ kind: 'deny' }); }}>\n Deny\n </ActionButton>\n </div>\n </form>\n </section>\n );\n}\n","/**\n * How the Overview names and states a request for an outside party (design\n * B, Signal): pure view logic, no React and no API client.\n */\nimport type { inferRouterOutputs } from '@trpc/server';\n\nimport type { GatewayRouter } from '../../../../src/adapters/trpc/router.js';\n\n/** A request as the API shows it. */\nexport type ShownRequest = inferRouterOutputs<GatewayRouter>['requests']['toDecide'][number];\n\n/** The tones a status shows, from the design tokens; a status always has its words too. */\nexport type Tone = 'waiting' | 'active' | 'ok' | 'attention' | 'ended';\n\nexport interface Status {\n readonly tone: Tone;\n readonly label: string;\n}\n\nconst DAY_MS = 86_400_000;\n\n/** How an outside party is named before it has a proxy ship: a client by its name, a server by its host. */\nexport function subjectName(request: ShownRequest): string {\n switch (request.subject.kind) {\n case 'client':\n return request.subject.clientName;\n case 'server':\n return URL.canParse(request.subject.url) ? new URL(request.subject.url).host : request.subject.url;\n }\n}\n\nexport function subjectKind(request: ShownRequest): string {\n switch (request.subject.kind) {\n case 'client':\n return 'MCP client';\n case 'server':\n return 'MCP server';\n }\n}\n\n/** Days left of the 7 a request is kept, counted up, so its last day reads as such, in the attention tone. */\nexport function daysLeft(request: ShownRequest, now: Date): Status {\n const days = Math.ceil((Date.parse(request.expiresAt) - now.getTime()) / DAY_MS);\n return days <= 1 ? { tone: 'attention', label: 'Last day' } : { tone: 'waiting', label: `${String(days)} d left` };\n}\n\n/** A request's state as the console shows a status; one still pending shows its days left. */\nexport function requestStatus(request: ShownRequest, now: Date): Status {\n switch (request.state) {\n case 'pending':\n return daysLeft(request, now);\n case 'approving':\n return { tone: 'active', label: 'Approving' };\n case 'approved':\n return { tone: 'ok', label: 'Approved' };\n case 'denied':\n return { tone: 'ended', label: 'Denied' };\n case 'expired':\n return { tone: 'ended', label: 'Expired' };\n }\n}\n\n/** A proxy ship's name offered from the party's own: lower case letters, digits and dashes. */\nexport function suggestedName(name: string): string {\n return name\n .toLowerCase()\n .replaceAll(/[^a-z0-9]+/g, '-')\n .replaceAll(/^-+|-+$/g, '');\n}\n\n/** The scopes every app ship gets (0046): shown locked on, and always sent. */\nexport const EVERY_APP_SHIP_SCOPES: readonly string[] = ['messages:send', 'messages:receive'];\n\nconst SCOPE_LABELS: Record<string, string> = {\n 'messages:send': 'Send',\n 'messages:receive': 'Receive',\n 'fleet:read': 'Read the fleet',\n};\n\n/** A scope's plain label, shown beside the scope itself. */\nexport function scopeLabel(scope: string): string {\n return SCOPE_LABELS[scope] ?? scope;\n}\n\n/** The server's credential as the decision form takes it. */\nexport interface ServerCredentialInput {\n readonly credentialKind: 'bearer' | 'clientCredentials';\n readonly token: string;\n readonly clientId: string;\n readonly clientSecret: string;\n readonly issuer: string;\n readonly scope: string;\n readonly concurrencyLimit: number;\n}\n\nexport type DecisionInput = { readonly kind: 'deny' } | { readonly kind: 'approve'; readonly name: string; readonly ownerShipId: string; readonly scopes: readonly string[]; readonly server: ServerCredentialInput | undefined };\n"],"names":["$$RSC_SERVER_ACTION_3"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../web/features/overview/state/decision-panel.tsx","../../../../../web/features/overview/hooks/data%3A7f2b83%20%3Ctext/javascript%3E","../../../../../web/features/overview/ui/decision-form.tsx","../../../../../web/features/overview/services/requests.ts"],"sourcesContent":["'use client';\n\nimport { useRouter } from 'next/navigation';\nimport { useState, useTransition } from 'react';\n\nimport type { OwnerChoices } from '../../forms/ui/owner-field';\nimport { decideRequest } from '../hooks/overview-actions';\nimport type { DecisionInput, ShownRequest } from '../services/requests';\nimport { DecisionForm } from '../ui/decision-form';\n\n/** Decides one request as the signed-in approver, then goes back to the Overview, which says nothing more waits here. */\nexport function DecisionPanel({ fleetId, request, heldScopes, owners }: { fleetId: string; request: ShownRequest; heldScopes: readonly string[]; owners: OwnerChoices }) {\n const router = useRouter();\n const [working, setWorking] = useState<DecisionInput['kind'] | undefined>();\n const [failure, setFailure] = useState<string | undefined>();\n const [, startTransition] = useTransition();\n const decide = (decision: DecisionInput) => {\n setWorking(decision.kind);\n setFailure(undefined);\n startTransition(async () => {\n const outcome = await decideRequest({ fleet: fleetId, requestId: request.requestId, input: decision });\n if (outcome.isOk) {\n router.push(`/overview?${new URLSearchParams({ fleet: fleetId, decided: decision.kind }).toString()}`);\n return;\n }\n setWorking(undefined);\n setFailure(outcome.message);\n });\n };\n return <DecisionForm request={request} heldScopes={heldScopes} owners={owners} working={working} failure={failure} onDecide={decide} />;\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"4084bf9f28c49a623dd2f7cf9c1254bb378e2b87bf\":{\"name\":\"decideRequest\"}},\"web/features/overview/hooks/overview-actions.ts\",\"\"] */\"use turbopack: no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_6=/*#__PURE__*/createServerReference(\"4084bf9f28c49a623dd2f7cf9c1254bb378e2b87bf\",callServer,void 0,findSourceMapURL,\"decideRequest\");export{$$RSC_SERVER_ACTION_6 as decideRequest};","'use client';\n\nimport { useState, type SyntheticEvent } from 'react';\n\nimport { CREDENTIAL_KINDS, credentialKindOf } from '../../forms/server-credential';\nimport { OwnerField, type OwnerChoices } from '../../forms/ui/owner-field';\nimport { EVERY_APP_SHIP_SCOPES, scopeLabel, subjectName, suggestedName, type DecisionInput, type ServerCredentialInput, type ShownRequest } from '../services/requests';\nimport { ActionButton } from './action-button';\nimport { Notice } from './notice';\n\nconst CONCURRENCY_LIMIT_DEFAULT = 4;\n\nconst FIELD = 'rounded-md border border-input bg-background px-2 py-1.5';\n\nfunction ScopeRow({ scope, isLocked }: { scope: string; isLocked: boolean }) {\n return (\n <label className=\"flex items-center gap-2\">\n {isLocked ? <input type=\"checkbox\" checked disabled aria-label={scopeLabel(scope)} /> : <input type=\"checkbox\" name=\"scope\" value={scope} aria-label={scopeLabel(scope)} />}\n <span>{scopeLabel(scope)}</span>\n <span className=\"font-mono text-caption text-muted-foreground\">{scope}</span>\n {isLocked ? <span className=\"text-caption text-muted-foreground\">(always)</span> : null}\n </label>\n );\n}\n\nfunction text(form: FormData, name: string): string {\n const value = form.get(name);\n return typeof value === 'string' ? value : '';\n}\n\nfunction serverOf(form: FormData): ServerCredentialInput {\n return {\n credentialKind: credentialKindOf(text(form, 'credentialKind')),\n token: text(form, 'token'),\n clientId: text(form, 'clientId'),\n clientSecret: text(form, 'clientSecret'),\n issuer: text(form, 'issuer'),\n scope: text(form, 'scope-requested'),\n concurrencyLimit: Number(text(form, 'concurrencyLimit')),\n };\n}\n\n/**\n * The decision on a request: approving names the proxy ship and its owner,\n * and offers as scope rows only the scopes the approver holds, messages:send\n * and messages:receive locked on (0046, 0053); a server's credential too.\n * What was typed stays when the API refuses.\n */\nexport function DecisionForm({\n request,\n heldScopes,\n owners,\n working,\n failure,\n onDecide,\n}: {\n request: ShownRequest;\n heldScopes: readonly string[];\n owners: OwnerChoices;\n working: DecisionInput['kind'] | undefined;\n failure: string | undefined;\n onDecide: (decision: DecisionInput) => void;\n}) {\n const [credentialKind, setCredentialKind] = useState<ServerCredentialInput['credentialKind']>('bearer');\n const name = subjectName(request);\n const isServer = request.subject.kind === 'server';\n const approve = (event: SyntheticEvent<HTMLFormElement>) => {\n event.preventDefault();\n const form = new FormData(event.currentTarget);\n const scopes = form.getAll('scope').filter((scope) => typeof scope === 'string');\n onDecide({ kind: 'approve', name: text(form, 'name'), ownerShipId: text(form, 'ownerShipId'), scopes, server: isServer ? serverOf(form) : undefined });\n };\n return (\n <section className=\"grid gap-3 rounded-lg border border-border bg-card p-6 text-card-foreground shadow-sm\">\n <h2 className=\"text-heading font-semibold\">Approve {name}</h2>\n <form onSubmit={approve} className=\"grid gap-3\">\n <label className=\"grid gap-1\">\n <span>Proxy ship&apos;s name</span>\n <input name=\"name\" defaultValue={suggestedName(name)} required className={FIELD} />\n </label>\n <OwnerField choices={owners.isOk ? owners.value : []} current={null} help=\"A person ship or argo. It answers for this party.\" refusal={owners.isOk ? undefined : owners.refusal} />\n <fieldset className=\"grid gap-1\">\n <legend>Scopes</legend>\n {EVERY_APP_SHIP_SCOPES.map((scope) => (\n <ScopeRow key={scope} scope={scope} isLocked />\n ))}\n {heldScopes\n .filter((scope) => !EVERY_APP_SHIP_SCOPES.includes(scope))\n .map((scope) => (\n <ScopeRow key={scope} scope={scope} isLocked={false} />\n ))}\n </fieldset>\n {isServer ? (\n <fieldset className=\"grid gap-2\">\n <legend>The server&apos;s credential</legend>\n <label className=\"grid gap-1\">\n <span>Credential</span>\n <select name=\"credentialKind\" value={credentialKind} onChange={(event) => { setCredentialKind(credentialKindOf(event.target.value)); }} className={FIELD}>\n {CREDENTIAL_KINDS.map(({ kind, label }) => (\n <option key={kind} value={kind}>\n {label}\n </option>\n ))}\n </select>\n </label>\n {credentialKind === 'none' ? null : credentialKind === 'bearer' ? (\n <label className=\"grid gap-1\">\n <span>Bearer token</span>\n <input type=\"password\" name=\"token\" className={FIELD} />\n </label>\n ) : (\n <>\n <label className=\"grid gap-1\">\n <span>Client id</span>\n <input name=\"clientId\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Client secret</span>\n <input type=\"password\" name=\"clientSecret\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Issuer</span>\n <input type=\"url\" name=\"issuer\" className={FIELD} />\n </label>\n <label className=\"grid gap-1\">\n <span>Scope</span>\n <input name=\"scope-requested\" className={FIELD} />\n </label>\n </>\n )}\n <label className=\"grid gap-1\">\n <span>Calls at once</span>\n <input type=\"number\" name=\"concurrencyLimit\" min={1} max={10} defaultValue={CONCURRENCY_LIMIT_DEFAULT} className={FIELD} />\n </label>\n </fieldset>\n ) : null}\n {failure === undefined ? null : <Notice message={failure} isFailure />}\n <div className=\"flex gap-2\">\n <ActionButton type=\"submit\" variant=\"primary\" data-testid=\"overview-approve\" isPending={working === 'approve'} pendingLabel=\"Approving...\" disabled={working !== undefined}>\n Approve\n </ActionButton>\n <ActionButton type=\"button\" data-testid=\"overview-deny\" isPending={working === 'deny'} pendingLabel=\"Denying...\" disabled={working !== undefined} onClick={() => { onDecide({ kind: 'deny' }); }}>\n Deny\n </ActionButton>\n </div>\n </form>\n </section>\n );\n}\n","/**\n * How the Overview names and states a request for an outside party (design\n * B, Signal): pure view logic, no React and no API client.\n */\nimport type { inferRouterOutputs } from '@trpc/server';\n\nimport type { GatewayRouter } from '../../../../src/adapters/trpc/router.js';\nimport type { CredentialKind } from '../../forms/server-credential';\n\n/** A request as the API shows it. */\nexport type ShownRequest = inferRouterOutputs<GatewayRouter>['requests']['toDecide'][number];\n\n/** The tones a status shows, from the design tokens; a status always has its words too. */\nexport type Tone = 'waiting' | 'active' | 'ok' | 'attention' | 'ended';\n\nexport interface Status {\n readonly tone: Tone;\n readonly label: string;\n}\n\nconst DAY_MS = 86_400_000;\n\n/** How an outside party is named before it has a proxy ship: a client by its name, a server by its host. */\nexport function subjectName(request: ShownRequest): string {\n switch (request.subject.kind) {\n case 'client':\n return request.subject.clientName;\n case 'server':\n return URL.canParse(request.subject.url) ? new URL(request.subject.url).host : request.subject.url;\n }\n}\n\nexport function subjectKind(request: ShownRequest): string {\n switch (request.subject.kind) {\n case 'client':\n return 'MCP client';\n case 'server':\n return 'MCP server';\n }\n}\n\n/** Days left of the 7 a request is kept, counted up, so its last day reads as such, in the attention tone. */\nexport function daysLeft(request: ShownRequest, now: Date): Status {\n const days = Math.ceil((Date.parse(request.expiresAt) - now.getTime()) / DAY_MS);\n return days <= 1 ? { tone: 'attention', label: 'Last day' } : { tone: 'waiting', label: `${String(days)} d left` };\n}\n\n/** A request's state as the console shows a status; one still pending shows its days left. */\nexport function requestStatus(request: ShownRequest, now: Date): Status {\n switch (request.state) {\n case 'pending':\n return daysLeft(request, now);\n case 'approving':\n return { tone: 'active', label: 'Approving' };\n case 'approved':\n return { tone: 'ok', label: 'Approved' };\n case 'denied':\n return { tone: 'ended', label: 'Denied' };\n case 'expired':\n return { tone: 'ended', label: 'Expired' };\n }\n}\n\n/** A proxy ship's name offered from the party's own: lower case letters, digits and dashes. */\nexport function suggestedName(name: string): string {\n return name\n .toLowerCase()\n .replaceAll(/[^a-z0-9]+/g, '-')\n .replaceAll(/^-+|-+$/g, '');\n}\n\n/** The scopes every app ship gets (0046): shown locked on, and always sent. */\nexport const EVERY_APP_SHIP_SCOPES: readonly string[] = ['messages:send', 'messages:receive'];\n\nconst SCOPE_LABELS: Record<string, string> = {\n 'messages:send': 'Send',\n 'messages:receive': 'Receive',\n 'fleet:read': 'Read the fleet',\n};\n\n/** A scope's plain label, shown beside the scope itself. */\nexport function scopeLabel(scope: string): string {\n return SCOPE_LABELS[scope] ?? scope;\n}\n\n/** The server's credential as the decision form takes it. */\nexport interface ServerCredentialInput {\n readonly credentialKind: CredentialKind;\n readonly token: string;\n readonly clientId: string;\n readonly clientSecret: string;\n readonly issuer: string;\n readonly scope: string;\n readonly concurrencyLimit: number;\n}\n\nexport type DecisionInput = { readonly kind: 'deny' } | { readonly kind: 'approve'; readonly name: string; readonly ownerShipId: string; readonly scopes: readonly string[]; readonly server: ServerCredentialInput | undefined };\n"],"names":["$$RSC_SERVER_ACTION_6"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- module.exports=[5901,33621,a=>{"use strict";var b=a.i(37936),c=a.i(29517),d=a.i(18558),e=a.i(66283),f=a.i(1324);let g="/parties";async function h(a,b){let c,h=await (0,e.z)((0,f.v)(a,f.H));try{c=await b(h)}catch(a){return{kind:"refused",message:(0,e.s)(a)}}return(0,d.revalidatePath)(g),{kind:"done",message:c}}async function i(a,b){let d=(0,c.f)("ship").safeParse((0,f.v)(b,"ownerShipId"));if(!d.success)return{kind:"refused",message:"The owner's ship id is not a ship id (shp_...)"};let e=(0,f.v)(b,"scope");return h(b,async a=>{let c=await a.parties.approve.mutate({requestId:(0,f.v)(b,"requestId"),name:(0,f.v)(b,"name"),url:(0,f.v)(b,"url"),credential:"clientCredentials"===(0,f.v)(b,"credentialKind")?{kind:"clientCredentials",clientId:(0,f.v)(b,"clientId"),clientSecret:(0,f.v)(b,"clientSecret"),issuer:(0,f.v)(b,"issuer"),...""===e?{}:{scope:e}}:{kind:"bearer",token:(0,f.v)(b,"token")},ownerShipId:d.data,concurrencyLimit:Number((0,f.v)(b,"concurrencyLimit"))});return`${c.name} is approved`})}async function j(a,b){return h(b,async a=>{let c=await a.parties.crew.mutate({name:(0,f.v)(b,"name"),secret:(0,f.v)(b,"secret")});return`${c.name} is crewed`})}async function k(a,b){let c=(0,f.v)(b,"name");return h(b,async a=>(await a.parties.state.mutate({name:c}),`${c}'s tools are stated`))}async function l(a,b){let c=(0,f.v)(b,"tool");return h(b,async a=>(await a.parties.markTool.mutate({name:(0,f.v)(b,"name"),tool:c,isRepeatable:"on"===(0,f.v)(b,"isRepeatable")}),`${c} is marked`))}a.s(["f",0,g],33621),(0,a.i(13095).ensureServerEntryExports)([i,j,k,l]),(0,b.registerServerReference)(i,"601a4cc96207aaf8bde1c127084aa93e8e55f9a282",null),(0,b.registerServerReference)(j,"60f054b6001e5756bf62f99478917820896f7ea47b",null),(0,b.registerServerReference)(k,"60b1e270ba3d7745702ea0fc9220605847f0aecd33",null),(0,b.registerServerReference)(l,"60bcc4128c9eb4f742b4a8f5a5087b2116bdf505a3",null),a.s(["L",0,i,"P",0,j,"p",0,l,"g",0,k],5901)}];
1
+ module.exports=[5901,33621,a=>{"use strict";var b=a.i(37936),c=a.i(29517),d=a.i(18558),e=a.i(66283),f=a.i(1324),g=a.i(29493);let h="/parties";async function i(a,b){let c,g=await (0,e.z)((0,f.v)(a,f.H));try{c=await b(g)}catch(a){return{kind:"refused",message:(0,e.s)(a)}}return(0,d.revalidatePath)(h),{kind:"done",message:c}}async function j(a,b){let d=(0,c.f)("ship").safeParse((0,f.v)(b,"ownerShipId"));if(!d.success)return{kind:"refused",message:"The owner's ship id is not a ship id (shp_...)"};let e=(0,f.v)(b,"scope");return i(b,async a=>{let c=await a.parties.approve.mutate({requestId:(0,f.v)(b,"requestId"),name:(0,f.v)(b,"name"),url:(0,f.v)(b,"url"),credential:(0,g.y)({credentialKind:(0,f.v)(b,"credentialKind"),token:(0,f.v)(b,"token"),clientId:(0,f.v)(b,"clientId"),clientSecret:(0,f.v)(b,"clientSecret"),issuer:(0,f.v)(b,"issuer"),scope:e}),ownerShipId:d.data,concurrencyLimit:Number((0,f.v)(b,"concurrencyLimit"))});return`${c.name} is approved`})}async function k(a,b){return i(b,async a=>{let c=await a.parties.crew.mutate({name:(0,f.v)(b,"name"),secret:(0,f.v)(b,"secret")});return`${c.name} is crewed`})}async function l(a,b){let c=(0,f.v)(b,"name");return i(b,async a=>(await a.parties.state.mutate({name:c}),`${c}'s tools are stated`))}async function m(a,b){let c=(0,f.v)(b,"tool");return i(b,async a=>(await a.parties.markTool.mutate({name:(0,f.v)(b,"name"),tool:c,isRepeatable:"on"===(0,f.v)(b,"isRepeatable")}),`${c} is marked`))}a.s(["f",0,h],33621),(0,a.i(13095).ensureServerEntryExports)([j,k,l,m]),(0,b.registerServerReference)(j,"60e81a7b1b2cd680f1710af09041d199e9a79ab8bf",null),(0,b.registerServerReference)(k,"60dd1d604cf53ed6f52f9c464309f81ffdd0971376",null),(0,b.registerServerReference)(l,"602f2cefa05ec94f97e9b8f00a1f806044e176ce66",null),(0,b.registerServerReference)(m,"6007d842b0bc2281f78959ca8e2698fc4df0047195",null),a.s(["L",0,j,"P",0,k,"p",0,m,"g",0,l],5901)}];
2
2
 
3
3
  //# sourceMappingURL=web_features_parties_actions_ts_0r-tbfsig2ty-._.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../web/features/parties/actions.ts","../../../../../web/features/parties/paths.ts"],"sourcesContent":["'use server';\n\n/**\n * The Parties page's forms, for an account holding fleet:manage: approving\n * an outside MCP server, handing over a secret, stating a party and marking\n * its tools. Each asks the API as the account, which checks its scopes.\n */\nimport { idSchema } from '@aeolus-fleet/common';\nimport { revalidatePath } from 'next/cache';\n\nimport { refusalMessageOf, requestApi } from '../../lib/gateway-api/page-api';\nimport type { GatewayApi } from '../../lib/gateway-api/gateway-api';\nimport { FLEET_FIELD, fieldOf, type FormState } from '../forms/form-state';\nimport { PARTIES_PATH } from './paths';\n\n/** Calls the API as the account in the form's fleet: done says what changed, a refusal why. */\nasync function asAccount(form: FormData, call: (api: GatewayApi) => Promise<string>): Promise<FormState> {\n const api = await requestApi(fieldOf(form, FLEET_FIELD));\n let message: string;\n try {\n message = await call(api);\n } catch (error) {\n return { kind: 'refused', message: refusalMessageOf(error) };\n }\n revalidatePath(PARTIES_PATH);\n return { kind: 'done', message };\n}\n\nexport async function approveParty(_previous: FormState, form: FormData): Promise<FormState> {\n const ownerShipId = idSchema('ship').safeParse(fieldOf(form, 'ownerShipId'));\n if (!ownerShipId.success) {\n return { kind: 'refused', message: \"The owner's ship id is not a ship id (shp_...)\" };\n }\n const scope = fieldOf(form, 'scope');\n return asAccount(form, async (api) => {\n const approved = await api.parties.approve.mutate({\n requestId: fieldOf(form, 'requestId'),\n name: fieldOf(form, 'name'),\n url: fieldOf(form, 'url'),\n credential:\n fieldOf(form, 'credentialKind') === 'clientCredentials'\n ? { kind: 'clientCredentials', clientId: fieldOf(form, 'clientId'), clientSecret: fieldOf(form, 'clientSecret'), issuer: fieldOf(form, 'issuer'), ...(scope === '' ? {} : { scope }) }\n : { kind: 'bearer', token: fieldOf(form, 'token') },\n ownerShipId: ownerShipId.data,\n concurrencyLimit: Number(fieldOf(form, 'concurrencyLimit')),\n });\n return `${approved.name} is approved`;\n });\n}\n\nexport async function crewParty(_previous: FormState, form: FormData): Promise<FormState> {\n return asAccount(form, async (api) => {\n const crewed = await api.parties.crew.mutate({ name: fieldOf(form, 'name'), secret: fieldOf(form, 'secret') });\n return `${crewed.name} is crewed`;\n });\n}\n\nexport async function stateParty(_previous: FormState, form: FormData): Promise<FormState> {\n const name = fieldOf(form, 'name');\n return asAccount(form, async (api) => {\n await api.parties.state.mutate({ name });\n return `${name}'s tools are stated`;\n });\n}\n\nexport async function markTool(_previous: FormState, form: FormData): Promise<FormState> {\n const tool = fieldOf(form, 'tool');\n return asAccount(form, async (api) => {\n await api.parties.markTool.mutate({ name: fieldOf(form, 'name'), tool, isRepeatable: fieldOf(form, 'isRepeatable') === 'on' });\n return `${tool} is marked`;\n });\n}\n","/** The Parties page. */\nexport const PARTIES_PATH = '/parties';\n"],"names":["PARTIES_PATH"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../web/features/parties/actions.ts","../../../../../web/features/parties/paths.ts"],"sourcesContent":["'use server';\n\n/**\n * The Parties page's forms, for an account holding fleet:manage: approving\n * an outside MCP server, handing over a secret, stating a party and marking\n * its tools. Each asks the API as the account, which checks its scopes.\n */\nimport { idSchema } from '@aeolus-fleet/common';\nimport { revalidatePath } from 'next/cache';\n\nimport { refusalMessageOf, requestApi } from '../../lib/gateway-api/page-api';\nimport type { GatewayApi } from '../../lib/gateway-api/gateway-api';\nimport { FLEET_FIELD, fieldOf, type FormState } from '../forms/form-state';\nimport { serverCredentialOf } from '../forms/server-credential';\nimport { PARTIES_PATH } from './paths';\n\n/** Calls the API as the account in the form's fleet: done says what changed, a refusal why. */\nasync function asAccount(form: FormData, call: (api: GatewayApi) => Promise<string>): Promise<FormState> {\n const api = await requestApi(fieldOf(form, FLEET_FIELD));\n let message: string;\n try {\n message = await call(api);\n } catch (error) {\n return { kind: 'refused', message: refusalMessageOf(error) };\n }\n revalidatePath(PARTIES_PATH);\n return { kind: 'done', message };\n}\n\nexport async function approveParty(_previous: FormState, form: FormData): Promise<FormState> {\n const ownerShipId = idSchema('ship').safeParse(fieldOf(form, 'ownerShipId'));\n if (!ownerShipId.success) {\n return { kind: 'refused', message: \"The owner's ship id is not a ship id (shp_...)\" };\n }\n const scope = fieldOf(form, 'scope');\n return asAccount(form, async (api) => {\n const approved = await api.parties.approve.mutate({\n requestId: fieldOf(form, 'requestId'),\n name: fieldOf(form, 'name'),\n url: fieldOf(form, 'url'),\n credential: serverCredentialOf({ credentialKind: fieldOf(form, 'credentialKind'), token: fieldOf(form, 'token'), clientId: fieldOf(form, 'clientId'), clientSecret: fieldOf(form, 'clientSecret'), issuer: fieldOf(form, 'issuer'), scope }),\n ownerShipId: ownerShipId.data,\n concurrencyLimit: Number(fieldOf(form, 'concurrencyLimit')),\n });\n return `${approved.name} is approved`;\n });\n}\n\nexport async function crewParty(_previous: FormState, form: FormData): Promise<FormState> {\n return asAccount(form, async (api) => {\n const crewed = await api.parties.crew.mutate({ name: fieldOf(form, 'name'), secret: fieldOf(form, 'secret') });\n return `${crewed.name} is crewed`;\n });\n}\n\nexport async function stateParty(_previous: FormState, form: FormData): Promise<FormState> {\n const name = fieldOf(form, 'name');\n return asAccount(form, async (api) => {\n await api.parties.state.mutate({ name });\n return `${name}'s tools are stated`;\n });\n}\n\nexport async function markTool(_previous: FormState, form: FormData): Promise<FormState> {\n const tool = fieldOf(form, 'tool');\n return asAccount(form, async (api) => {\n await api.parties.markTool.mutate({ name: fieldOf(form, 'name'), tool, isRepeatable: fieldOf(form, 'isRepeatable') === 'on' });\n return `${tool} is marked`;\n });\n}\n","/** The Parties page. */\nexport const PARTIES_PATH = '/parties';\n"],"names":["PARTIES_PATH"],"mappings":"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"}
@@ -7,9 +7,9 @@ globalThis.__BUILD_MANIFEST = {
7
7
  "static/chunks/0cz1d0mv5g_q7.js"
8
8
  ],
9
9
  "lowPriorityFiles": [
10
- "static/MLIzjhz2u5r5gyyuciHvf/_buildManifest.js",
11
- "static/MLIzjhz2u5r5gyyuciHvf/_ssgManifest.js",
12
- "static/MLIzjhz2u5r5gyyuciHvf/_clientMiddlewareManifest.js"
10
+ "static/Az1CqrzgGHMZVR4nw9717/_buildManifest.js",
11
+ "static/Az1CqrzgGHMZVR4nw9717/_ssgManifest.js",
12
+ "static/Az1CqrzgGHMZVR4nw9717/_clientMiddlewareManifest.js"
13
13
  ],
14
14
  "rootMainFiles": [
15
15
  "static/chunks/2hz8yws_wswjz.js",
@@ -45,7 +45,7 @@ globalThis.__BUILD_MANIFEST = {
45
45
  94553
46
46
  ]
47
47
  },
48
- "/authorize/failed/page": {
48
+ "/(console)/outside-parties/page": {
49
49
  "otherChunks": [
50
50
  "static/chunks/2hz8yws_wswjz.js",
51
51
  "static/chunks/3knqujtrdi225.js",
@@ -57,7 +57,7 @@ globalThis.__BUILD_MANIFEST = {
57
57
  94553
58
58
  ]
59
59
  },
60
- "/authorize/pick/page": {
60
+ "/(console)/outside-parties/[name]/page": {
61
61
  "otherChunks": [
62
62
  "static/chunks/2hz8yws_wswjz.js",
63
63
  "static/chunks/3knqujtrdi225.js",
@@ -69,7 +69,19 @@ globalThis.__BUILD_MANIFEST = {
69
69
  94553
70
70
  ]
71
71
  },
72
- "/authorize/waiting/approval/page": {
72
+ "/(console)/outside-parties/[name]/change/page": {
73
+ "otherChunks": [
74
+ "static/chunks/2hz8yws_wswjz.js",
75
+ "static/chunks/3knqujtrdi225.js",
76
+ "static/chunks/0lzisjsmhlhjf.js",
77
+ "static/chunks/41rcj9-d-7p_4.js",
78
+ "static/chunks/2ewacyhp73due.js"
79
+ ],
80
+ "runtimeModuleIds": [
81
+ 94553
82
+ ]
83
+ },
84
+ "/(console)/outside-parties/[name]/retire/page": {
73
85
  "otherChunks": [
74
86
  "static/chunks/2hz8yws_wswjz.js",
75
87
  "static/chunks/3knqujtrdi225.js",
@@ -81,7 +93,7 @@ globalThis.__BUILD_MANIFEST = {
81
93
  94553
82
94
  ]
83
95
  },
84
- "/outside-parties/page": {
96
+ "/(console)/outside-parties/add/page": {
85
97
  "otherChunks": [
86
98
  "static/chunks/2hz8yws_wswjz.js",
87
99
  "static/chunks/3knqujtrdi225.js",
@@ -93,7 +105,7 @@ globalThis.__BUILD_MANIFEST = {
93
105
  94553
94
106
  ]
95
107
  },
96
- "/outside-parties/[name]/page": {
108
+ "/(console)/outside-parties/add-a2a-agent/page": {
97
109
  "otherChunks": [
98
110
  "static/chunks/2hz8yws_wswjz.js",
99
111
  "static/chunks/3knqujtrdi225.js",
@@ -105,7 +117,7 @@ globalThis.__BUILD_MANIFEST = {
105
117
  94553
106
118
  ]
107
119
  },
108
- "/outside-parties/[name]/change/page": {
120
+ "/(console)/outside-parties/add-a2a-client/page": {
109
121
  "otherChunks": [
110
122
  "static/chunks/2hz8yws_wswjz.js",
111
123
  "static/chunks/3knqujtrdi225.js",
@@ -117,7 +129,7 @@ globalThis.__BUILD_MANIFEST = {
117
129
  94553
118
130
  ]
119
131
  },
120
- "/outside-parties/[name]/retire/page": {
132
+ "/(console)/overview/page": {
121
133
  "otherChunks": [
122
134
  "static/chunks/2hz8yws_wswjz.js",
123
135
  "static/chunks/3knqujtrdi225.js",
@@ -129,7 +141,7 @@ globalThis.__BUILD_MANIFEST = {
129
141
  94553
130
142
  ]
131
143
  },
132
- "/outside-parties/add/page": {
144
+ "/(console)/overview/requests/[requestId]/page": {
133
145
  "otherChunks": [
134
146
  "static/chunks/2hz8yws_wswjz.js",
135
147
  "static/chunks/3knqujtrdi225.js",
@@ -141,7 +153,7 @@ globalThis.__BUILD_MANIFEST = {
141
153
  94553
142
154
  ]
143
155
  },
144
- "/overview/page": {
156
+ "/(console)/parties/page": {
145
157
  "otherChunks": [
146
158
  "static/chunks/2hz8yws_wswjz.js",
147
159
  "static/chunks/3knqujtrdi225.js",
@@ -153,7 +165,7 @@ globalThis.__BUILD_MANIFEST = {
153
165
  94553
154
166
  ]
155
167
  },
156
- "/overview/requests/[requestId]/page": {
168
+ "/(console)/sign-in/failed/page": {
157
169
  "otherChunks": [
158
170
  "static/chunks/2hz8yws_wswjz.js",
159
171
  "static/chunks/3knqujtrdi225.js",
@@ -165,7 +177,19 @@ globalThis.__BUILD_MANIFEST = {
165
177
  94553
166
178
  ]
167
179
  },
168
- "/parties/page": {
180
+ "/authorize/failed/page": {
181
+ "otherChunks": [
182
+ "static/chunks/2hz8yws_wswjz.js",
183
+ "static/chunks/3knqujtrdi225.js",
184
+ "static/chunks/0lzisjsmhlhjf.js",
185
+ "static/chunks/41rcj9-d-7p_4.js",
186
+ "static/chunks/2ewacyhp73due.js"
187
+ ],
188
+ "runtimeModuleIds": [
189
+ 94553
190
+ ]
191
+ },
192
+ "/authorize/pick/page": {
169
193
  "otherChunks": [
170
194
  "static/chunks/2hz8yws_wswjz.js",
171
195
  "static/chunks/3knqujtrdi225.js",
@@ -177,7 +201,7 @@ globalThis.__BUILD_MANIFEST = {
177
201
  94553
178
202
  ]
179
203
  },
180
- "/sign-in/failed/page": {
204
+ "/authorize/waiting/approval/page": {
181
205
  "otherChunks": [
182
206
  "static/chunks/2hz8yws_wswjz.js",
183
207
  "static/chunks/3knqujtrdi225.js",
@@ -1 +1 @@
1
- self.__NEXT_FONT_MANIFEST="{\n \"app\": {\n \"[project]/web/app/_not-found/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/authorize/failed/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/authorize/pick/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/authorize/waiting/approval/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/outside-parties/[name]/change/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/outside-parties/[name]/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/outside-parties/[name]/retire/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/outside-parties/add/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/outside-parties/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/overview/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/overview/requests/[requestId]/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/parties/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/sign-in/failed/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ]\n },\n \"appUsingSizeAdjust\": true,\n \"pages\": {},\n \"pagesUsingSizeAdjust\": false\n}"
1
+ self.__NEXT_FONT_MANIFEST="{\n \"app\": {\n \"[project]/web/app/(console)/outside-parties/[name]/change/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/(console)/outside-parties/[name]/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/(console)/outside-parties/[name]/retire/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/(console)/outside-parties/add-a2a-agent/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/(console)/outside-parties/add-a2a-client/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/(console)/outside-parties/add/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/(console)/outside-parties/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/(console)/overview/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/(console)/overview/requests/[requestId]/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/(console)/parties/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/(console)/sign-in/failed/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/_not-found/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/authorize/failed/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/authorize/pick/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ],\n \"[project]/web/app/authorize/waiting/approval/page\": [\n \"static/media/geist_variable-s.p.0mrjj4bg00-he.woff2\",\n \"static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2\"\n ]\n },\n \"appUsingSizeAdjust\": true,\n \"pages\": {},\n \"pagesUsingSizeAdjust\": false\n}"
@@ -1,54 +1,62 @@
1
1
  {
2
2
  "app": {
3
- "[project]/web/app/_not-found/page": [
3
+ "[project]/web/app/(console)/outside-parties/[name]/change/page": [
4
4
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
5
5
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
6
6
  ],
7
- "[project]/web/app/authorize/failed/page": [
7
+ "[project]/web/app/(console)/outside-parties/[name]/page": [
8
8
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
9
9
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
10
10
  ],
11
- "[project]/web/app/authorize/pick/page": [
11
+ "[project]/web/app/(console)/outside-parties/[name]/retire/page": [
12
12
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
13
13
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
14
14
  ],
15
- "[project]/web/app/authorize/waiting/approval/page": [
15
+ "[project]/web/app/(console)/outside-parties/add-a2a-agent/page": [
16
+ "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
17
+ "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
18
+ ],
19
+ "[project]/web/app/(console)/outside-parties/add-a2a-client/page": [
16
20
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
17
21
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
18
22
  ],
19
- "[project]/web/app/outside-parties/[name]/change/page": [
23
+ "[project]/web/app/(console)/outside-parties/add/page": [
20
24
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
21
25
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
22
26
  ],
23
- "[project]/web/app/outside-parties/[name]/page": [
27
+ "[project]/web/app/(console)/outside-parties/page": [
24
28
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
25
29
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
26
30
  ],
27
- "[project]/web/app/outside-parties/[name]/retire/page": [
31
+ "[project]/web/app/(console)/overview/page": [
28
32
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
29
33
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
30
34
  ],
31
- "[project]/web/app/outside-parties/add/page": [
35
+ "[project]/web/app/(console)/overview/requests/[requestId]/page": [
32
36
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
33
37
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
34
38
  ],
35
- "[project]/web/app/outside-parties/page": [
39
+ "[project]/web/app/(console)/parties/page": [
36
40
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
37
41
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
38
42
  ],
39
- "[project]/web/app/overview/page": [
43
+ "[project]/web/app/(console)/sign-in/failed/page": [
40
44
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
41
45
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
42
46
  ],
43
- "[project]/web/app/overview/requests/[requestId]/page": [
47
+ "[project]/web/app/_not-found/page": [
44
48
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
45
49
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
46
50
  ],
47
- "[project]/web/app/parties/page": [
51
+ "[project]/web/app/authorize/failed/page": [
48
52
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
49
53
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
50
54
  ],
51
- "[project]/web/app/sign-in/failed/page": [
55
+ "[project]/web/app/authorize/pick/page": [
56
+ "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
57
+ "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
58
+ ],
59
+ "[project]/web/app/authorize/waiting/approval/page": [
52
60
  "static/media/geist_variable-s.p.0mrjj4bg00-he.woff2",
53
61
  "static/media/geist_mono_variable-s.p.3ms9vq719j3f8.woff2"
54
62
  ]
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/2hz8yws_wswjz.js"/><script src="/_next/static/chunks/3knqujtrdi225.js" async=""></script><script src="/_next/static/chunks/0lzisjsmhlhjf.js" async=""></script><script src="/_next/static/chunks/41rcj9-d-7p_4.js" async=""></script><script src="/_next/static/chunks/2ewacyhp73due.js" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js" async=""></script><script src="/_next/static/chunks/0umf92h1sb77c.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/2hz8yws_wswjz.js","static/chunks/3knqujtrdi225.js","static/chunks/0lzisjsmhlhjf.js","static/chunks/41rcj9-d-7p_4.js","static/chunks/2ewacyhp73due.js"],"runtimeModuleIds":[94553]});</script><script src="/_next/static/chunks/2hz8yws_wswjz.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/0umf92h1sb77c.js\"\n3:I[39756,[\"$2\"],\"default\"]\n4:I[37457,[\"$2\"],\"default\"]\n7:I[97367,[\"$2\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\na:\"ViewportBoundary\"\nb:I[97367,[\"$2\"],\"$a\"]\nd:\"MetadataBoundary\"\ne:I[97367,[\"$2\"],\"$d\"]\n10:I[68027,[\"$2\"],\"default\",1]\n5:X\n"])</script><script>self.__next_f.push([1,"6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],\"p\":false,\"v\":null}}]]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$5\"},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"$Le\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"MLIzjhz2u5r5gyyuciHvf\"}\n"])</script><script>self.__next_f.push([1,"5:C\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"9:null\nf:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/2hz8yws_wswjz.js"/><script src="/_next/static/chunks/3knqujtrdi225.js" async=""></script><script src="/_next/static/chunks/0lzisjsmhlhjf.js" async=""></script><script src="/_next/static/chunks/41rcj9-d-7p_4.js" async=""></script><script src="/_next/static/chunks/2ewacyhp73due.js" async=""></script><script src="/_next/static/chunks/turbopack-3-ry682tkyiqk.js" async=""></script><script src="/_next/static/chunks/0umf92h1sb77c.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/2hz8yws_wswjz.js","static/chunks/3knqujtrdi225.js","static/chunks/0lzisjsmhlhjf.js","static/chunks/41rcj9-d-7p_4.js","static/chunks/2ewacyhp73due.js"],"runtimeModuleIds":[94553]});</script><script src="/_next/static/chunks/2hz8yws_wswjz.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/0umf92h1sb77c.js\"\n3:I[39756,[\"$2\"],\"default\"]\n4:I[37457,[\"$2\"],\"default\"]\n7:I[97367,[\"$2\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\na:\"ViewportBoundary\"\nb:I[97367,[\"$2\"],\"$a\"]\nd:\"MetadataBoundary\"\ne:I[97367,[\"$2\"],\"$d\"]\n10:I[68027,[\"$2\"],\"default\",1]\n5:X\n"])</script><script>self.__next_f.push([1,"6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],\"p\":false,\"v\":null}}]]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$5\"},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"$Le\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"Az1CqrzgGHMZVR4nw9717\"}\n"])</script><script>self.__next_f.push([1,"5:C\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"9:null\nf:[]\n"])</script></body></html>
@@ -1,5 +1,5 @@
1
1
  {
2
- "previewModeId": "778219c3042bd55cd48c1d4a2113063c",
3
- "previewModeSigningKey": "9ef46c20611cf13a7432a32ebedd713903b1f50513cd0888e2af538f389636d5",
4
- "previewModeEncryptionKey": "7284c62c98f068d7c422e61ca52d24f98f23d16545f48a1590fd412720d70991"
2
+ "previewModeId": "89c2c0f530bf63fdb0caf5722ef3e8de",
3
+ "previewModeSigningKey": "52e929bb87272bb0a2f76037f2acf3de5c6602b9b1c358ecc3bab3af7ea90f23",
4
+ "previewModeEncryptionKey": "c344fb4c8e78831db0e9f81cc005632ad2ae7305fb16ced4e580225c42bd26cf"
5
5
  }