@aeolus-fleet/core 0.27.1 → 0.28.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 (371) hide show
  1. package/dist/adapters/crypto/account-token-signatures.d.ts +12 -0
  2. package/dist/adapters/crypto/account-token-signatures.js +104 -0
  3. package/dist/adapters/crypto/account-token-signatures.js.map +1 -0
  4. package/dist/adapters/http/request-credentials.d.ts +7 -1
  5. package/dist/adapters/http/request-credentials.js +18 -5
  6. package/dist/adapters/http/request-credentials.js.map +1 -1
  7. package/dist/adapters/http/server.js +4 -2
  8. package/dist/adapters/http/server.js.map +1 -1
  9. package/dist/adapters/prisma/event-log.js +13 -1
  10. package/dist/adapters/prisma/event-log.js.map +1 -1
  11. package/dist/adapters/prisma/generated/browser.d.ts +30 -0
  12. package/dist/adapters/prisma/generated/client.d.ts +30 -0
  13. package/dist/adapters/prisma/generated/commonInputTypes.d.ts +120 -0
  14. package/dist/adapters/prisma/generated/enums.d.ts +25 -0
  15. package/dist/adapters/prisma/generated/enums.js +22 -1
  16. package/dist/adapters/prisma/generated/enums.js.map +1 -1
  17. package/dist/adapters/prisma/generated/internal/class.d.ts +44 -0
  18. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  19. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  20. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +372 -9
  21. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +38 -11
  22. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  23. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +39 -8
  24. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +38 -11
  25. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  26. package/dist/adapters/prisma/generated/models/AccountCutOff.d.ts +944 -0
  27. package/dist/adapters/prisma/generated/models/AccountCutOff.js +2 -0
  28. package/dist/adapters/prisma/generated/models/AccountCutOff.js.map +1 -0
  29. package/dist/adapters/prisma/generated/models/ConsoleSession.d.ts +59 -1
  30. package/dist/adapters/prisma/generated/models/Event.d.ts +426 -1
  31. package/dist/adapters/prisma/generated/models/Fleet.d.ts +871 -0
  32. package/dist/adapters/prisma/generated/models/InstallationDeclaredNetworkRules.d.ts +1031 -0
  33. package/dist/adapters/prisma/generated/models/InstallationDeclaredNetworkRules.js +2 -0
  34. package/dist/adapters/prisma/generated/models/InstallationDeclaredNetworkRules.js.map +1 -0
  35. package/dist/adapters/prisma/generated/models/Label.d.ts +113 -39
  36. package/dist/adapters/prisma/generated/models/NetworkRulesDraft.d.ts +1133 -0
  37. package/dist/adapters/prisma/generated/models/NetworkRulesDraft.js +2 -0
  38. package/dist/adapters/prisma/generated/models/NetworkRulesDraft.js.map +1 -0
  39. package/dist/adapters/prisma/generated/models/NetworkSettings.d.ts +24 -255
  40. package/dist/adapters/prisma/generated/models/ReachRefusal.d.ts +1 -40
  41. package/dist/adapters/prisma/generated/models/Ship.d.ts +782 -6
  42. package/dist/adapters/prisma/generated/models/SignInTicket.d.ts +39 -1
  43. package/dist/adapters/prisma/generated/models/VerifiedFacts.d.ts +1325 -0
  44. package/dist/adapters/prisma/generated/models/VerifiedFacts.js +2 -0
  45. package/dist/adapters/prisma/generated/models/VerifiedFacts.js.map +1 -0
  46. package/dist/adapters/prisma/generated/models.d.ts +4 -0
  47. package/dist/adapters/prisma/history.js +1 -0
  48. package/dist/adapters/prisma/history.js.map +1 -1
  49. package/dist/adapters/prisma/identity.d.ts +3 -1
  50. package/dist/adapters/prisma/identity.js +41 -8
  51. package/dist/adapters/prisma/identity.js.map +1 -1
  52. package/dist/adapters/prisma/network.d.ts +7 -2
  53. package/dist/adapters/prisma/network.js +92 -65
  54. package/dist/adapters/prisma/network.js.map +1 -1
  55. package/dist/adapters/prisma/registry.js +19 -14
  56. package/dist/adapters/prisma/registry.js.map +1 -1
  57. package/dist/adapters/prisma/rows.d.ts +9 -4
  58. package/dist/adapters/prisma/rows.js +75 -19
  59. package/dist/adapters/prisma/rows.js.map +1 -1
  60. package/dist/adapters/prisma/unit-of-work.d.ts +4 -2
  61. package/dist/adapters/prisma/unit-of-work.js +5 -2
  62. package/dist/adapters/prisma/unit-of-work.js.map +1 -1
  63. package/dist/adapters/prisma/verified-facts.d.ts +4 -0
  64. package/dist/adapters/prisma/verified-facts.js +65 -0
  65. package/dist/adapters/prisma/verified-facts.js.map +1 -0
  66. package/dist/adapters/rest/rest-api.js +2 -2
  67. package/dist/adapters/rest/rest-api.js.map +1 -1
  68. package/dist/adapters/trpc/console.d.ts +3 -1
  69. package/dist/adapters/trpc/context.d.ts +22 -8
  70. package/dist/adapters/trpc/fleet.d.ts +259 -52
  71. package/dist/adapters/trpc/fleet.js +121 -84
  72. package/dist/adapters/trpc/fleet.js.map +1 -1
  73. package/dist/adapters/trpc/installation-token.d.ts +7 -0
  74. package/dist/adapters/trpc/installation-token.js +10 -0
  75. package/dist/adapters/trpc/installation-token.js.map +1 -0
  76. package/dist/adapters/trpc/installation.d.ts +32 -2
  77. package/dist/adapters/trpc/installation.js +14 -10
  78. package/dist/adapters/trpc/installation.js.map +1 -1
  79. package/dist/adapters/trpc/router.d.ts +307 -43
  80. package/dist/adapters/trpc/ship-contract.js +6 -4
  81. package/dist/adapters/trpc/ship-contract.js.map +1 -1
  82. package/dist/adapters/trpc/ship.d.ts +32 -1
  83. package/dist/adapters/trpc/ship.js +4 -2
  84. package/dist/adapters/trpc/ship.js.map +1 -1
  85. package/dist/adapters/trpc/trpc.d.ts +36 -13
  86. package/dist/adapters/trpc/trpc.js +117 -26
  87. package/dist/adapters/trpc/trpc.js.map +1 -1
  88. package/dist/app.d.ts +2 -0
  89. package/dist/app.js +22 -0
  90. package/dist/app.js.map +1 -1
  91. package/dist/config.d.ts +5 -0
  92. package/dist/config.js +3 -1
  93. package/dist/config.js.map +1 -1
  94. package/dist/domain/identity/authenticate-account.d.ts +35 -0
  95. package/dist/domain/identity/authenticate-account.js +54 -0
  96. package/dist/domain/identity/authenticate-account.js.map +1 -0
  97. package/dist/domain/identity/authenticate-installation.d.ts +23 -0
  98. package/dist/domain/identity/authenticate-installation.js +20 -0
  99. package/dist/domain/identity/authenticate-installation.js.map +1 -0
  100. package/dist/domain/identity/authenticate.d.ts +2 -2
  101. package/dist/domain/identity/console-session.d.ts +6 -3
  102. package/dist/domain/identity/console-session.js.map +1 -1
  103. package/dist/domain/identity/cut-off-account.d.ts +29 -0
  104. package/dist/domain/identity/cut-off-account.js +37 -0
  105. package/dist/domain/identity/cut-off-account.js.map +1 -0
  106. package/dist/domain/identity/dismiss-notice.d.ts +2 -2
  107. package/dist/domain/identity/issue-sign-in-ticket.d.ts +9 -3
  108. package/dist/domain/identity/issue-sign-in-ticket.js +8 -2
  109. package/dist/domain/identity/issue-sign-in-ticket.js.map +1 -1
  110. package/dist/domain/identity/ports.d.ts +52 -5
  111. package/dist/domain/identity/read-account.d.ts +8 -4
  112. package/dist/domain/identity/read-account.js +1 -1
  113. package/dist/domain/identity/read-account.js.map +1 -1
  114. package/dist/domain/identity/read-guide.d.ts +2 -2
  115. package/dist/domain/identity/read-notices.d.ts +2 -2
  116. package/dist/domain/identity/record-guide-progress.d.ts +2 -2
  117. package/dist/domain/identity/redeem-sign-in-ticket.d.ts +2 -1
  118. package/dist/domain/identity/redeem-sign-in-ticket.js +3 -2
  119. package/dist/domain/identity/redeem-sign-in-ticket.js.map +1 -1
  120. package/dist/domain/identity/set-theme.d.ts +2 -2
  121. package/dist/domain/identity/sign-in-ticket.d.ts +3 -1
  122. package/dist/domain/identity/sign-in.d.ts +2 -2
  123. package/dist/domain/identity/sign-in.js +2 -0
  124. package/dist/domain/identity/sign-in.js.map +1 -1
  125. package/dist/domain/identity/sign-out.d.ts +2 -2
  126. package/dist/domain/identity/sign-out.js +1 -1
  127. package/dist/domain/identity/sign-out.js.map +1 -1
  128. package/dist/domain/identity/start-console-session.d.ts +4 -2
  129. package/dist/domain/identity/start-console-session.js +6 -4
  130. package/dist/domain/identity/start-console-session.js.map +1 -1
  131. package/dist/domain/identity/start-viewer-session.js +1 -0
  132. package/dist/domain/identity/start-viewer-session.js.map +1 -1
  133. package/dist/domain/messaging/delivery.d.ts +3 -1
  134. package/dist/domain/messaging/delivery.js +9 -6
  135. package/dist/domain/messaging/delivery.js.map +1 -1
  136. package/dist/domain/messaging/dismiss-delivery.d.ts +2 -2
  137. package/dist/domain/messaging/message.d.ts +3 -1
  138. package/dist/domain/messaging/message.js +1 -1
  139. package/dist/domain/messaging/message.js.map +1 -1
  140. package/dist/domain/messaging/ping-ship.d.ts +2 -2
  141. package/dist/domain/messaging/ping-ship.js +1 -1
  142. package/dist/domain/messaging/ping-ship.js.map +1 -1
  143. package/dist/domain/messaging/resend-delivery.d.ts +2 -2
  144. package/dist/domain/messaging/resend-delivery.js +1 -0
  145. package/dist/domain/messaging/resend-delivery.js.map +1 -1
  146. package/dist/domain/messaging/send-message.d.ts +3 -3
  147. package/dist/domain/messaging/send-message.js +1 -0
  148. package/dist/domain/messaging/send-message.js.map +1 -1
  149. package/dist/domain/registry/apply-network-rules.d.ts +32 -0
  150. package/dist/domain/registry/apply-network-rules.js +33 -0
  151. package/dist/domain/registry/apply-network-rules.js.map +1 -0
  152. package/dist/domain/registry/assign-crew.d.ts +2 -2
  153. package/dist/domain/registry/assign-crew.js +3 -2
  154. package/dist/domain/registry/assign-crew.js.map +1 -1
  155. package/dist/domain/registry/assign-label.d.ts +7 -5
  156. package/dist/domain/registry/assign-label.js +16 -6
  157. package/dist/domain/registry/assign-label.js.map +1 -1
  158. package/dist/domain/registry/change-label-values.d.ts +1 -1
  159. package/dist/domain/registry/change-label-values.js +4 -3
  160. package/dist/domain/registry/change-label-values.js.map +1 -1
  161. package/dist/domain/registry/check-reach.d.ts +45 -24
  162. package/dist/domain/registry/check-reach.js +76 -42
  163. package/dist/domain/registry/check-reach.js.map +1 -1
  164. package/dist/domain/registry/clear-request.d.ts +1 -1
  165. package/dist/domain/registry/clear-request.js +1 -1
  166. package/dist/domain/registry/clear-request.js.map +1 -1
  167. package/dist/domain/registry/commission-ship.d.ts +23 -14
  168. package/dist/domain/registry/commission-ship.js +167 -21
  169. package/dist/domain/registry/commission-ship.js.map +1 -1
  170. package/dist/domain/registry/confirm-crew-release.d.ts +2 -2
  171. package/dist/domain/registry/confirm-crew-release.js +3 -2
  172. package/dist/domain/registry/confirm-crew-release.js.map +1 -1
  173. package/dist/domain/registry/confirm-worktree-cleared.d.ts +2 -2
  174. package/dist/domain/registry/confirm-worktree-cleared.js +3 -2
  175. package/dist/domain/registry/confirm-worktree-cleared.js.map +1 -1
  176. package/dist/domain/registry/connect-plugin.d.ts +5 -4
  177. package/dist/domain/registry/connect-plugin.js +6 -7
  178. package/dist/domain/registry/connect-plugin.js.map +1 -1
  179. package/dist/domain/registry/crew-request.d.ts +2 -2
  180. package/dist/domain/registry/crew-request.js.map +1 -1
  181. package/dist/domain/registry/declare-network-rules.d.ts +9 -6
  182. package/dist/domain/registry/declare-network-rules.js +13 -8
  183. package/dist/domain/registry/declare-network-rules.js.map +1 -1
  184. package/dist/domain/registry/declare-scopes.d.ts +2 -2
  185. package/dist/domain/registry/declared-network-rules.d.ts +30 -21
  186. package/dist/domain/registry/declared-network-rules.js +46 -22
  187. package/dist/domain/registry/declared-network-rules.js.map +1 -1
  188. package/dist/domain/registry/define-label.d.ts +1 -1
  189. package/dist/domain/registry/define-label.js +5 -5
  190. package/dist/domain/registry/define-label.js.map +1 -1
  191. package/dist/domain/registry/delete-label.d.ts +1 -1
  192. package/dist/domain/registry/delete-label.js +4 -3
  193. package/dist/domain/registry/delete-label.js.map +1 -1
  194. package/dist/domain/registry/discard-network-rules-draft.d.ts +23 -0
  195. package/dist/domain/registry/discard-network-rules-draft.js +24 -0
  196. package/dist/domain/registry/discard-network-rules-draft.js.map +1 -0
  197. package/dist/domain/registry/discover.d.ts +11 -10
  198. package/dist/domain/registry/discover.js +11 -5
  199. package/dist/domain/registry/discover.js.map +1 -1
  200. package/dist/domain/registry/explain-crew-request.d.ts +2 -2
  201. package/dist/domain/registry/explain-crew-request.js +3 -2
  202. package/dist/domain/registry/explain-crew-request.js.map +1 -1
  203. package/dist/domain/registry/explain-reach.d.ts +21 -14
  204. package/dist/domain/registry/explain-reach.js +53 -53
  205. package/dist/domain/registry/explain-reach.js.map +1 -1
  206. package/dist/domain/registry/get-ship.d.ts +2 -2
  207. package/dist/domain/registry/get-starting-prompt.d.ts +4 -2
  208. package/dist/domain/registry/get-starting-prompt.js +7 -5
  209. package/dist/domain/registry/get-starting-prompt.js.map +1 -1
  210. package/dist/domain/registry/give-back-crew-request.d.ts +2 -2
  211. package/dist/domain/registry/give-back-crew-request.js +3 -2
  212. package/dist/domain/registry/give-back-crew-request.js.map +1 -1
  213. package/dist/domain/registry/grant-scopes.d.ts +8 -5
  214. package/dist/domain/registry/grant-scopes.js +14 -5
  215. package/dist/domain/registry/grant-scopes.js.map +1 -1
  216. package/dist/domain/registry/label.d.ts +69 -18
  217. package/dist/domain/registry/label.js +79 -28
  218. package/dist/domain/registry/label.js.map +1 -1
  219. package/dist/domain/registry/lease.d.ts +1 -1
  220. package/dist/domain/registry/list-fleet.d.ts +2 -0
  221. package/dist/domain/registry/list-fleet.js +1 -0
  222. package/dist/domain/registry/list-fleet.js.map +1 -1
  223. package/dist/domain/registry/list-scopes.d.ts +2 -1
  224. package/dist/domain/registry/list-scopes.js +2 -1
  225. package/dist/domain/registry/list-scopes.js.map +1 -1
  226. package/dist/domain/registry/managed-or-assigned.d.ts +12 -4
  227. package/dist/domain/registry/managed-or-assigned.js +25 -7
  228. package/dist/domain/registry/managed-or-assigned.js.map +1 -1
  229. package/dist/domain/registry/network-rules-draft.d.ts +45 -0
  230. package/dist/domain/registry/network-rules-draft.js +41 -0
  231. package/dist/domain/registry/network-rules-draft.js.map +1 -0
  232. package/dist/domain/registry/network-settings.d.ts +92 -122
  233. package/dist/domain/registry/network-settings.js +99 -159
  234. package/dist/domain/registry/network-settings.js.map +1 -1
  235. package/dist/domain/registry/ports.d.ts +47 -11
  236. package/dist/domain/registry/reach-refusal.d.ts +18 -4
  237. package/dist/domain/registry/read-assigned-crew-requests.d.ts +2 -2
  238. package/dist/domain/registry/read-built-in-rules.d.ts +4 -3
  239. package/dist/domain/registry/read-built-in-rules.js +7 -6
  240. package/dist/domain/registry/read-built-in-rules.js.map +1 -1
  241. package/dist/domain/registry/read-clear-requests.d.ts +2 -2
  242. package/dist/domain/registry/read-clear-requests.js.map +1 -1
  243. package/dist/domain/registry/read-declared-network-rules.d.ts +5 -5
  244. package/dist/domain/registry/read-declared-network-rules.js +4 -4
  245. package/dist/domain/registry/read-declared-network-rules.js.map +1 -1
  246. package/dist/domain/registry/read-network-rules-draft-changes.d.ts +22 -0
  247. package/dist/domain/registry/read-network-rules-draft-changes.js +53 -0
  248. package/dist/domain/registry/read-network-rules-draft-changes.js.map +1 -0
  249. package/dist/domain/registry/read-network-rules.d.ts +30 -0
  250. package/dist/domain/registry/read-network-rules.js +18 -0
  251. package/dist/domain/registry/read-network-rules.js.map +1 -0
  252. package/dist/domain/registry/read-on-behalf.d.ts +3 -3
  253. package/dist/domain/registry/read-on-behalf.js.map +1 -1
  254. package/dist/domain/registry/read-reach-refusals.d.ts +6 -5
  255. package/dist/domain/registry/read-reach-refusals.js +13 -8
  256. package/dist/domain/registry/read-reach-refusals.js.map +1 -1
  257. package/dist/domain/registry/read-reach.d.ts +6 -8
  258. package/dist/domain/registry/read-reach.js +21 -16
  259. package/dist/domain/registry/read-reach.js.map +1 -1
  260. package/dist/domain/registry/recrew-ship.d.ts +2 -2
  261. package/dist/domain/registry/recrew-ship.js +3 -3
  262. package/dist/domain/registry/recrew-ship.js.map +1 -1
  263. package/dist/domain/registry/release-ship.d.ts +3 -2
  264. package/dist/domain/registry/release-ship.js +4 -3
  265. package/dist/domain/registry/release-ship.js.map +1 -1
  266. package/dist/domain/registry/remove-crew-request.d.ts +2 -2
  267. package/dist/domain/registry/remove-crew-request.js +4 -3
  268. package/dist/domain/registry/remove-crew-request.js.map +1 -1
  269. package/dist/domain/registry/rename-ship.d.ts +1 -1
  270. package/dist/domain/registry/rename-ship.js +4 -3
  271. package/dist/domain/registry/rename-ship.js.map +1 -1
  272. package/dist/domain/registry/report-crew-status.d.ts +2 -2
  273. package/dist/domain/registry/report-crew-status.js +3 -2
  274. package/dist/domain/registry/report-crew-status.js.map +1 -1
  275. package/dist/domain/registry/request-crew.d.ts +3 -3
  276. package/dist/domain/registry/request-crew.js +4 -3
  277. package/dist/domain/registry/request-crew.js.map +1 -1
  278. package/dist/domain/registry/request-worktree-clear.d.ts +2 -2
  279. package/dist/domain/registry/request-worktree-clear.js +4 -3
  280. package/dist/domain/registry/request-worktree-clear.js.map +1 -1
  281. package/dist/domain/registry/retire-ship.d.ts +16 -12
  282. package/dist/domain/registry/retire-ship.js +28 -21
  283. package/dist/domain/registry/retire-ship.js.map +1 -1
  284. package/dist/domain/registry/save-network-rules-draft.d.ts +31 -0
  285. package/dist/domain/registry/save-network-rules-draft.js +27 -0
  286. package/dist/domain/registry/save-network-rules-draft.js.map +1 -0
  287. package/dist/domain/registry/scope-grant.d.ts +19 -19
  288. package/dist/domain/registry/scope-grant.js +8 -9
  289. package/dist/domain/registry/scope-grant.js.map +1 -1
  290. package/dist/domain/registry/set-built-in-rule.d.ts +3 -3
  291. package/dist/domain/registry/set-built-in-rule.js +5 -9
  292. package/dist/domain/registry/set-built-in-rule.js.map +1 -1
  293. package/dist/domain/registry/set-owner.d.ts +9 -6
  294. package/dist/domain/registry/set-owner.js +14 -8
  295. package/dist/domain/registry/set-owner.js.map +1 -1
  296. package/dist/domain/registry/set-verified-facts.d.ts +36 -0
  297. package/dist/domain/registry/set-verified-facts.js +58 -0
  298. package/dist/domain/registry/set-verified-facts.js.map +1 -0
  299. package/dist/domain/registry/ship.d.ts +52 -18
  300. package/dist/domain/registry/ship.js +76 -18
  301. package/dist/domain/registry/ship.js.map +1 -1
  302. package/dist/domain/registry/statement.d.ts +2 -2
  303. package/dist/domain/registry/statement.js +2 -2
  304. package/dist/domain/registry/statement.js.map +1 -1
  305. package/dist/domain/registry/turn.d.ts +2 -2
  306. package/dist/domain/registry/turn.js +2 -2
  307. package/dist/domain/registry/turn.js.map +1 -1
  308. package/dist/domain/registry/unassign-label.d.ts +8 -5
  309. package/dist/domain/registry/unassign-label.js +17 -6
  310. package/dist/domain/registry/unassign-label.js.map +1 -1
  311. package/dist/domain/registry/verified-facts.d.ts +75 -0
  312. package/dist/domain/registry/verified-facts.js +107 -0
  313. package/dist/domain/registry/verified-facts.js.map +1 -0
  314. package/dist/domain/registry/whoami.d.ts +2 -2
  315. package/dist/domain/shared/caller.d.ts +40 -6
  316. package/dist/domain/shared/caller.js +20 -0
  317. package/dist/domain/shared/caller.js.map +1 -1
  318. package/dist/domain/shared/errors.d.ts +1 -1
  319. package/dist/domain/shared/errors.js.map +1 -1
  320. package/dist/domain/shared/events.d.ts +13 -2
  321. package/dist/domain/shared/events.js.map +1 -1
  322. package/dist/domain/shared/history.d.ts +3 -1
  323. package/dist/domain/shared/history.js.map +1 -1
  324. package/dist/domain/shared/read-fleet-limits.d.ts +2 -2
  325. package/dist/domain/shared/read-health.d.ts +2 -2
  326. package/dist/domain/shared/read-inbox.d.ts +2 -2
  327. package/dist/domain/shared/read-message.d.ts +2 -2
  328. package/dist/domain/shared/read-needs-attention.d.ts +2 -2
  329. package/dist/domain/shared/read-sent-message.d.ts +2 -2
  330. package/dist/domain/shared/read-ship-messages.d.ts +2 -2
  331. package/dist/domain/shared/read-ship-timeline.d.ts +2 -2
  332. package/dist/domain/shared/read-ship-way.d.ts +2 -2
  333. package/dist/domain/shared/read-ship-way.js +1 -1
  334. package/dist/domain/shared/read-ship-way.js.map +1 -1
  335. package/dist/start.js +1 -0
  336. package/dist/start.js.map +1 -1
  337. package/dist/testing/account-token-issuer.d.ts +30 -0
  338. package/dist/testing/account-token-issuer.js +48 -0
  339. package/dist/testing/account-token-issuer.js.map +1 -0
  340. package/dist/testing/fleet.d.ts +2 -2
  341. package/dist/testing/index.d.ts +1 -1
  342. package/dist/wiring.d.ts +21 -8
  343. package/dist/wiring.js +32 -13
  344. package/dist/wiring.js.map +1 -1
  345. package/package.json +2 -5
  346. package/src/adapters/prisma/migrations/20261019200000_account_cut_offs/migration.sql +10 -0
  347. package/src/adapters/prisma/migrations/20261019210000_event_actors/migration.sql +32 -0
  348. package/src/adapters/prisma/migrations/20261020090000_argos_jobs_as_scopes/migration.sql +65 -0
  349. package/src/adapters/prisma/migrations/20261020100000_installation_labels/migration.sql +7 -0
  350. package/src/adapters/prisma/migrations/20261020110000_installation_declared_network_rules/migration.sql +10 -0
  351. package/src/adapters/prisma/migrations/20261020120000_commissioning_actors/migration.sql +14 -0
  352. package/src/adapters/prisma/migrations/20261020130000_console_sign_in_accounts/migration.sql +4 -0
  353. package/src/adapters/prisma/migrations/20261020140000_event_signed_in_accounts/migration.sql +4 -0
  354. package/src/adapters/prisma/migrations/20261020150000_account_cut_off_ends_console_sessions/migration.sql +2 -0
  355. package/src/adapters/prisma/migrations/20261020160000_network_in_core/migration.sql +30 -0
  356. package/src/adapters/prisma/migrations/20261020170000_verify_scope/migration.sql +64 -0
  357. package/src/adapters/prisma/migrations/20261020180000_verified_facts/migration.sql +21 -0
  358. package/src/adapters/prisma/migrations/20261020190000_verified_facts_by_writer/migration.sql +3 -0
  359. package/src/adapters/prisma/schema.prisma +132 -23
  360. package/dist/domain/registry/read-network-plugin.d.ts +0 -23
  361. package/dist/domain/registry/read-network-plugin.js +0 -15
  362. package/dist/domain/registry/read-network-plugin.js.map +0 -1
  363. package/dist/domain/registry/register-network-plugin.d.ts +0 -28
  364. package/dist/domain/registry/register-network-plugin.js +0 -26
  365. package/dist/domain/registry/register-network-plugin.js.map +0 -1
  366. package/dist/domain/registry/set-network-rules.d.ts +0 -31
  367. package/dist/domain/registry/set-network-rules.js +0 -27
  368. package/dist/domain/registry/set-network-rules.js.map +0 -1
  369. package/dist/domain/registry/unregister-network-plugin.d.ts +0 -27
  370. package/dist/domain/registry/unregister-network-plugin.js +0 -25
  371. package/dist/domain/registry/unregister-network-plugin.js.map +0 -1
@@ -5,8 +5,9 @@ import { createPrismaCallerLookup, createPrismaConsoleSessionRepository, createP
5
5
  import { createPrismaInstallationRequestRepository, createPrismaInstallationSettings } from './installation.js';
6
6
  import { createPrismaDeliveryRepository, createPrismaMessageRepository } from './messaging.js';
7
7
  import { createPrismaOverdueDeliveryRepository } from './overdue.js';
8
- import { createPrismaDeclaredNetworkRulesRepository, createPrismaNetworkSettingsRepository, createPrismaReachRefusalRepository } from './network.js';
8
+ import { createPrismaDeclaredNetworkRulesRepository, createPrismaNetworkRulesDraftRepository, createPrismaNetworkSettingsRepository, createPrismaReachRefusalRepository } from './network.js';
9
9
  import { createPrismaPluginConnectionRepository } from './plugin-connections.js';
10
+ import { createPrismaVerifiedFactsRepository } from './verified-facts.js';
10
11
  import { createPrismaScopeNamespaceRepository } from './scope-namespaces.js';
11
12
  import { createPrismaClearRequestRepository, createPrismaCrewRequestRepository, createPrismaFleetRepository, createPrismaInFlightDeliveries, createPrismaLabelRepository, createPrismaLeaseRepository, createPrismaShipRepository, } from './registry.js';
12
13
  export function createPrismaTx(db) {
@@ -19,8 +20,10 @@ export function createPrismaTx(db) {
19
20
  labels: createPrismaLabelRepository(db),
20
21
  networkSettings: createPrismaNetworkSettingsRepository(db),
21
22
  declaredNetworkRules: createPrismaDeclaredNetworkRulesRepository(db),
23
+ networkRulesDrafts: createPrismaNetworkRulesDraftRepository(db),
22
24
  scopeNamespaces: createPrismaScopeNamespaceRepository(db),
23
25
  pluginConnections: createPrismaPluginConnectionRepository(db),
26
+ verifiedFacts: createPrismaVerifiedFactsRepository(db),
24
27
  reachRefusals: createPrismaReachRefusalRepository(db),
25
28
  inFlightDeliveries: createPrismaInFlightDeliveries(db),
26
29
  credentials: createPrismaCredentialRepository(db),
@@ -80,7 +83,7 @@ function createUnitOfWork(prisma, options) {
80
83
  },
81
84
  };
82
85
  }
83
- /** Caller lookups run outside a unit of work: each is one statement. */
86
+ /** ShipCaller lookups run outside a unit of work: each is one statement. */
84
87
  export function createPrismaCallers(prisma) {
85
88
  return createPrismaCallerLookup(prisma);
86
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"unit-of-work.js","sourceRoot":"","sources":["../../../src/adapters/prisma/unit-of-work.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unit-of-work.js","sourceRoot":"","sources":["../../../src/adapters/prisma/unit-of-work.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { VerifiedFactsRepository } from '../../domain/registry/ports.js';
2
+ import type { Db } from './client.js';
3
+ /** Each writer's verified facts about a ship, on Postgres (decision 0059). */
4
+ export declare function createPrismaVerifiedFactsRepository(db: Db): VerifiedFactsRepository;
@@ -0,0 +1,65 @@
1
+ import { accountIdSchema, idSchema, verifiedFactSchema } from '@aeolus-fleet/common';
2
+ import { z } from 'zod';
3
+ /** The columns that name a writer; the installation, which has no id, by its name. */
4
+ function writerColumns(writer) {
5
+ switch (writer.kind) {
6
+ case 'ship':
7
+ return { writerKind: writer.kind, writer: writer.shipId };
8
+ case 'account':
9
+ return { writerKind: writer.kind, writer: writer.accountId };
10
+ case 'installation':
11
+ return { writerKind: writer.kind, writer: 'installation' };
12
+ }
13
+ }
14
+ /** The writer from its two columns. */
15
+ function writerOf(kind, writer) {
16
+ switch (kind) {
17
+ case 'ship':
18
+ return { kind, shipId: idSchema('ship').parse(writer) };
19
+ case 'account':
20
+ return { kind, accountId: accountIdSchema.parse(writer) };
21
+ case 'installation':
22
+ return { kind };
23
+ }
24
+ }
25
+ const factsSchema = z.array(verifiedFactSchema);
26
+ function writtenOf(row) {
27
+ return {
28
+ fleetId: idSchema('fleet').parse(row.fleetId),
29
+ shipId: idSchema('ship').parse(row.shipId),
30
+ writer: writerOf(row.writerKind, row.writer),
31
+ facts: factsSchema.parse(row.facts),
32
+ at: row.writtenAt,
33
+ };
34
+ }
35
+ /** Each writer's verified facts about a ship, on Postgres (decision 0059). */
36
+ export function createPrismaVerifiedFactsRepository(db) {
37
+ return {
38
+ find: async (fleetId, { shipId, writer }) => {
39
+ const row = await db.verifiedFacts.findUnique({ where: { fleetId_shipId_writerKind_writer: { fleetId, shipId, ...writerColumns(writer) } } });
40
+ return row === null ? undefined : writtenOf(row);
41
+ },
42
+ save: async ({ fleetId, shipId, writer, facts, at }) => {
43
+ const key = { fleetId, shipId, ...writerColumns(writer) };
44
+ await db.verifiedFacts.upsert({
45
+ where: { fleetId_shipId_writerKind_writer: key },
46
+ create: { ...key, facts: [...facts], writtenAt: at },
47
+ update: { facts: [...facts], writtenAt: at },
48
+ });
49
+ },
50
+ list: async (fleetId) => (await db.verifiedFacts.findMany({ where: { fleetId } })).map(writtenOf),
51
+ listAbout: async (fleetId, shipId) => (await db.verifiedFacts.findMany({ where: { fleetId, shipId }, orderBy: [{ writtenAt: 'asc' }, { writerKind: 'asc' }, { writer: 'asc' }, { shipId: 'asc' }] })).map(writtenOf),
52
+ listBy: async (fleetId, shipId) => (await db.verifiedFacts.findMany({ where: { fleetId, writerKind: 'ship', writer: shipId }, orderBy: [{ writtenAt: 'asc' }, { writerKind: 'asc' }, { writer: 'asc' }, { shipId: 'asc' }] })).map(writtenOf),
53
+ // A transaction-level advisory lock on the fleet and the writer ship: shared for a set by it, exclusive for its retire.
54
+ holdWriter: async (fleetId, shipId) => {
55
+ await db.$executeRaw `SELECT pg_advisory_xact_lock_shared(hashtext(${fleetId}), hashtext(${`verified-facts-writer:${shipId}`}))`;
56
+ },
57
+ lockWriter: async (fleetId, shipId) => {
58
+ await db.$executeRaw `SELECT pg_advisory_xact_lock(hashtext(${fleetId}), hashtext(${`verified-facts-writer:${shipId}`}))`;
59
+ },
60
+ remove: async (fleetId, { shipId, writer }) => {
61
+ await db.verifiedFacts.deleteMany({ where: { fleetId, shipId, ...writerColumns(writer) } });
62
+ },
63
+ };
64
+ }
65
+ //# sourceMappingURL=verified-facts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verified-facts.js","sourceRoot":"","sources":["../../../src/adapters/prisma/verified-facts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,sFAAsF;AACtF,SAAS,aAAa,CAAC,MAAkB;IACvC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,MAAM;YACT,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5D,KAAK,SAAS;YACZ,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/D,KAAK,cAAc;YACjB,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,SAAS,QAAQ,CAAC,IAAwB,EAAE,MAAc;IACxD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,KAAK,cAAc;YACjB,OAAO,EAAE,IAAI,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAEhD,SAAS,SAAS,CAAC,GAAyH;IAC1I,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QAC7C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1C,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC;QAC5C,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QACnC,EAAE,EAAE,GAAG,CAAC,SAAS;KAClB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mCAAmC,CAAC,EAAM;IACxD,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YAC1C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,gCAAgC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9I,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;YACrD,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC;gBAC5B,KAAK,EAAE,EAAE,gCAAgC,EAAE,GAAG,EAAE;gBAChD,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;gBACpD,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;aAC7C,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;QACjG,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;QACpN,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;QAC7O,wHAAwH;QACxH,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,EAAE,CAAC,WAAW,CAAA,gDAAgD,OAAO,eAAe,yBAAyB,MAAM,EAAE,IAAI,CAAC;QAClI,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,EAAE,CAAC,WAAW,CAAA,yCAAyC,OAAO,eAAe,yBAAyB,MAAM,EAAE,IAAI,CAAC;QAC3H,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5C,MAAM,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9F,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -10,7 +10,7 @@
10
10
  * console session cookie is never read here: REST is a door for ships.
11
11
  */
12
12
  import fastifyApiReference from '@scalar/fastify-api-reference';
13
- import { readBearer, readOnBehalfOf } from '../http/request-credentials.js';
13
+ import { readAccountToken, readBearer, readOnBehalfOf } from '../http/request-credentials.js';
14
14
  import { callShip, refusalBody, SHIP_CALLS, unexpectedFailure } from '../trpc/ship-contract.js';
15
15
  import { API_TITLE, openApiDocument } from './openapi.js';
16
16
  const PREFIX = '/api/v1';
@@ -41,7 +41,7 @@ export function registerRestApi(server, options) {
41
41
  handler: async (request, reply) => {
42
42
  try {
43
43
  const result = await callShip(call, {
44
- ctx: options.contextFor(request, { bearer: readBearer(request.headers.authorization), onBehalfOf: readOnBehalfOf(request.headers) }),
44
+ ctx: options.contextFor(request, { bearer: readBearer(request.headers.authorization), onBehalfOf: readOnBehalfOf(request.headers), accountToken: readAccountToken(request.headers) }),
45
45
  input: request.body,
46
46
  log: request.log,
47
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"rest-api.js","sourceRoot":"","sources":["../../../src/adapters/rest/rest-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,GAAG,SAAS,CAAC;AAEzB,MAAM,YAAY,GAAG,GAAG,MAAM,eAAe,CAAC;AAE9C,MAAM,gBAAgB,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;AAOrD,8GAA8G;AAC9G,MAAM,UAAU,eAAe,CAAC,MAAuB,EAAE,OAAuB;IAC9E,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAEjD,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,gDAAgD;IAChD,KAAK,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE;QACxC,WAAW,EAAE,GAAG,MAAM,OAAO;QAC7B,aAAa,EAAE;YACb,GAAG,EAAE,YAAY;YACjB,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,KAAK;YACvB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzB,kBAAkB,EAAE,OAAO;YAC3B,SAAS,EAAE,KAAK;SACjB;KACF,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE;YAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;gBAChC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;wBAClC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBACpI,KAAK,EAAE,OAAO,CAAC,IAAI;wBACnB,GAAG,EAAE,OAAO,CAAC,GAAG;qBACjB,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,OAAO,MAAM,CAAC,MAAM,CAAC;oBACvB,CAAC;oBACD,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvF,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvF,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"rest-api.js","sourceRoot":"","sources":["../../../src/adapters/rest/rest-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAE9F,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,MAAM,GAAG,SAAS,CAAC;AAEzB,MAAM,YAAY,GAAG,GAAG,MAAM,eAAe,CAAC;AAE9C,MAAM,gBAAgB,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;AAOrD,8GAA8G;AAC9G,MAAM,UAAU,eAAe,CAAC,MAAuB,EAAE,OAAuB;IAC9E,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAEjD,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,gDAAgD;IAChD,KAAK,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE;QACxC,WAAW,EAAE,GAAG,MAAM,OAAO;QAC7B,aAAa,EAAE;YACb,GAAG,EAAE,YAAY;YACjB,SAAS,EAAE,SAAS;YACpB,gBAAgB,EAAE,KAAK;YACvB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YACzB,kBAAkB,EAAE,OAAO;YAC3B,SAAS,EAAE,KAAK;SACjB;KACF,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE;YAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;gBAChC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;wBAClC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBACrL,KAAK,EAAE,OAAO,CAAC,IAAI;wBACnB,GAAG,EAAE,OAAO,CAAC,GAAG;qBACjB,CAAC,CAAC;oBACH,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,OAAO,MAAM,CAAC,MAAM,CAAC;oBACvB,CAAC;oBACD,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvF,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvF,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -53,12 +53,14 @@ export declare const consoleRouter: import("@trpc/server").TRPCBuiltRouter<{
53
53
  session: {
54
54
  device: string;
55
55
  since: string;
56
+ accountId?: (string & import("zod").$brand<"AccountId">) | null | undefined;
56
57
  };
57
58
  } | {
58
59
  kind: "viewer";
59
60
  session: {
60
61
  device: string;
61
62
  since: string;
63
+ accountId?: (string & import("zod").$brand<"AccountId">) | null | undefined;
62
64
  };
63
65
  };
64
66
  meta: import("./trpc.js").ProcedureMeta;
@@ -80,7 +82,7 @@ export declare const consoleRouter: import("@trpc/server").TRPCBuiltRouter<{
80
82
  fleetId: `flt_${string}`;
81
83
  expiresAt: string;
82
84
  kind: "operator" | "viewer";
83
- scopes: ("messages:send" | "messages:receive" | "messages:force" | "messages:resend" | "fleet:read" | "fleet:commission" | "fleet:manage" | "crew:assign" | "crew:run" | "labels:define" | "labels:assign" | "fleet:network" | "fleet:on-behalf" | "scopes:declare" | "scopes:grant")[];
85
+ scopes: ("messages:send" | "messages:receive" | "messages:force" | "messages:resend" | "fleet:read" | "fleet:commission" | "fleet:manage" | "crew:assign" | "crew:run" | "labels:define" | "labels:assign" | "fleet:network" | "fleet:on-behalf" | "fleet:person" | "fleet:owner" | "fleet:explain" | "fleet:connect" | "labels:any" | "fleet:verify" | "scopes:declare" | "scopes:grant")[];
84
86
  };
85
87
  meta: import("./trpc.js").ProcedureMeta;
86
88
  }>;
@@ -1,5 +1,8 @@
1
1
  import type { FleetId, SystemVersionOutput } from '@aeolus-fleet/common';
2
2
  import type { Authenticate } from '../../domain/identity/authenticate.js';
3
+ import type { AuthenticateAccount } from '../../domain/identity/authenticate-account.js';
4
+ import type { AuthenticateInstallation } from '../../domain/identity/authenticate-installation.js';
5
+ import type { CutOffAccount } from '../../domain/identity/cut-off-account.js';
3
6
  import type { ReadAccount } from '../../domain/identity/read-account.js';
4
7
  import type { SetTheme } from '../../domain/identity/set-theme.js';
5
8
  import type { SignIn } from '../../domain/identity/sign-in.js';
@@ -49,6 +52,7 @@ import type { ListFleet } from '../../domain/registry/list-fleet.js';
49
52
  import type { RecrewShip } from '../../domain/registry/recrew-ship.js';
50
53
  import type { ReleaseShip } from '../../domain/registry/release-ship.js';
51
54
  import type { SetOwner } from '../../domain/registry/set-owner.js';
55
+ import type { SetVerifiedFacts } from '../../domain/registry/set-verified-facts.js';
52
56
  import type { ConnectPlugin } from '../../domain/registry/connect-plugin.js';
53
57
  import type { RenameShip } from '../../domain/registry/rename-ship.js';
54
58
  import type { RetireShip } from '../../domain/registry/retire-ship.js';
@@ -80,12 +84,13 @@ import type { DefineLabel } from '../../domain/registry/define-label.js';
80
84
  import type { ExplainReach } from '../../domain/registry/explain-reach.js';
81
85
  import type { ReadDeclaredNetworkRules } from '../../domain/registry/read-declared-network-rules.js';
82
86
  import type { ReadReachRefusals } from '../../domain/registry/read-reach-refusals.js';
83
- import type { RegisterNetworkPlugin } from '../../domain/registry/register-network-plugin.js';
84
- import type { SetNetworkRules } from '../../domain/registry/set-network-rules.js';
87
+ import type { ApplyNetworkRules } from '../../domain/registry/apply-network-rules.js';
88
+ import type { DiscardNetworkRulesDraft } from '../../domain/registry/discard-network-rules-draft.js';
89
+ import type { ReadNetworkRules } from '../../domain/registry/read-network-rules.js';
90
+ import type { ReadNetworkRulesDraftChanges } from '../../domain/registry/read-network-rules-draft-changes.js';
91
+ import type { SaveNetworkRulesDraft } from '../../domain/registry/save-network-rules-draft.js';
85
92
  import type { ReadBuiltInRules } from '../../domain/registry/read-built-in-rules.js';
86
- import type { ReadNetworkPlugin } from '../../domain/registry/read-network-plugin.js';
87
93
  import type { SetBuiltInRule } from '../../domain/registry/set-built-in-rule.js';
88
- import type { UnregisterNetworkPlugin } from '../../domain/registry/unregister-network-plugin.js';
89
94
  import type { DeleteLabel } from '../../domain/registry/delete-label.js';
90
95
  import type { FindLabelValue } from '../../domain/registry/find-label-value.js';
91
96
  import type { ListLabels } from '../../domain/registry/list-labels.js';
@@ -116,12 +121,16 @@ export interface UseCases {
116
121
  readGuide: ReadGuide;
117
122
  recordGuideProgress: RecordGuideProgress;
118
123
  authenticate: Authenticate;
124
+ authenticateAccount: AuthenticateAccount;
125
+ authenticateInstallation: AuthenticateInstallation;
126
+ cutOffAccount: CutOffAccount;
119
127
  commissionShip: CommissionShip;
120
128
  getStartingPrompt: GetStartingPrompt;
121
129
  releaseShip: ReleaseShip;
122
130
  retireShip: RetireShip;
123
131
  renameShip: RenameShip;
124
132
  setOwner: SetOwner;
133
+ setVerifiedFacts: SetVerifiedFacts;
125
134
  connectPlugin: ConnectPlugin;
126
135
  recrewShip: RecrewShip;
127
136
  listFleet: ListFleet;
@@ -149,12 +158,13 @@ export interface UseCases {
149
158
  declareScopes: DeclareScopes;
150
159
  grantScopes: GrantScopes;
151
160
  listScopes: ListScopes;
152
- setNetworkRules: SetNetworkRules;
153
- registerNetworkPlugin: RegisterNetworkPlugin;
154
- unregisterNetworkPlugin: UnregisterNetworkPlugin;
161
+ saveNetworkRulesDraft: SaveNetworkRulesDraft;
162
+ discardNetworkRulesDraft: DiscardNetworkRulesDraft;
163
+ applyNetworkRules: ApplyNetworkRules;
164
+ readNetworkRules: ReadNetworkRules;
165
+ readNetworkRulesDraftChanges: ReadNetworkRulesDraftChanges;
155
166
  setBuiltInRule: SetBuiltInRule;
156
167
  readBuiltInRules: ReadBuiltInRules;
157
- readNetworkPlugin: ReadNetworkPlugin;
158
168
  readReachRefusals: ReadReachRefusals;
159
169
  declareNetworkRules: DeclareNetworkRules;
160
170
  readDeclaredNetworkRules: ReadDeclaredNetworkRules;
@@ -212,6 +222,10 @@ export interface RequestCredentials {
212
222
  sessionToken?: string;
213
223
  /** The ship a plugin reads on behalf of, as the `Aeolus-On-Behalf-Of` header named it (decision 0034). */
214
224
  onBehalfOf?: string;
225
+ /** An account token pagasae signed, from the `Aeolus-Account-Token` header; a bearer crew token beside it names the ship that presented it (decision 0058). */
226
+ accountToken?: string;
227
+ /** The fleet the installation acts in, from the `Aeolus-Fleet` header, beside the installation token (decision 0057); tRPC only. */
228
+ fleet?: string;
215
229
  }
216
230
  /** Writes the console session cookie on the response. */
217
231
  export interface SessionCookie {